@j2inn/fin5-ui-utils 6.0.5-beta.0 → 6.1.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.
- package/README.md +5 -5
- package/dist/fantomProps/createFin5Props/index.d.ts +12 -12
- package/dist/fantomProps/createFin5Props/index.js +146 -146
- package/dist/fantomProps/createFin5Props/runCreateFin5Props.d.ts +2 -2
- package/dist/fantomProps/createFin5Props/runCreateFin5Props.js +16 -16
- package/dist/fantomProps/fantomPropsToObject.d.ts +8 -8
- package/dist/fantomProps/fantomPropsToObject.js +183 -183
- package/dist/fantomProps/generateJsonFromFantomPropsFile.d.ts +4 -4
- package/dist/fantomProps/generateJsonFromFantomPropsFile.js +41 -41
- package/dist/fantomProps/localePropsToJson.d.ts +1 -1
- package/dist/fantomProps/localePropsToJson.js +50 -50
- package/dist/fantomProps/readFantomPropsFile.d.ts +5 -5
- package/dist/fantomProps/readFantomPropsFile.js +65 -66
- package/dist/fantomProps/readFantomPropsFile.js.map +1 -1
- package/dist/fin5Top/fin5FileUpload.d.ts +24 -24
- package/dist/fin5Top/fin5FileUpload.js +51 -51
- package/dist/fin5Top/fin5Top.d.ts +124 -124
- package/dist/fin5Top/fin5Top.js +53 -53
- package/dist/fin5Top/finEdge2Cloud.d.ts +6 -6
- package/dist/fin5Top/finEdge2Cloud.js +15 -15
- package/dist/fin5Top/getFin5BinUrl.d.ts +2 -2
- package/dist/fin5Top/getFin5BinUrl.js +9 -9
- package/dist/fin5Top/openFin5Alarm.d.ts +22 -22
- package/dist/fin5Top/openFin5Alarm.js +23 -23
- package/dist/fin5Top/openFin5Historian.d.ts +3 -3
- package/dist/fin5Top/openFin5Historian.js +19 -19
- package/dist/fin5Top/useFin5AppURLHashParameter.d.ts +18 -18
- package/dist/fin5Top/useFin5AppURLHashParameter.js +133 -133
- package/dist/index.d.ts +35 -35
- package/dist/index.js +69 -69
- package/dist/jobs/jobUtils.d.ts +14 -14
- package/dist/jobs/jobUtils.js +15 -15
- package/dist/react/app/Fin5AppContainer.d.ts +36 -36
- package/dist/react/app/Fin5AppContainer.js +145 -102
- package/dist/react/app/Fin5AppContainer.js.map +1 -1
- package/dist/react/app/Fin5AppRootStore.d.ts +40 -40
- package/dist/react/app/Fin5AppRootStore.js +90 -69
- package/dist/react/app/Fin5AppRootStore.js.map +1 -1
- package/dist/react/components/ErrorBoundary.d.ts +57 -57
- package/dist/react/components/ErrorBoundary.js +150 -150
- package/dist/react/components/ErrorDisplayer.d.ts +19 -19
- package/dist/react/components/ErrorDisplayer.js +36 -36
- package/dist/react/components/Loader.d.ts +9 -9
- package/dist/react/components/Loader.js +17 -17
- package/dist/react/components/LoadingSpinner.d.ts +2 -2
- package/dist/react/components/LoadingSpinner.js +27 -27
- package/dist/react/components/RecordImage.d.ts +20 -20
- package/dist/react/components/RecordImage.js +51 -51
- package/dist/react/components/charts/QRCode.d.ts +25 -25
- package/dist/react/components/charts/QRCode.js +82 -82
- package/dist/react/components/charts/line-bar/Chart.d.ts +166 -166
- package/dist/react/components/charts/line-bar/Chart.js +442 -442
- package/dist/react/components/charts/line-bar/HGridChart.d.ts +58 -58
- package/dist/react/components/charts/line-bar/HGridChart.js +285 -285
- package/dist/react/components/charts/pie/PieChart.d.ts +94 -94
- package/dist/react/components/charts/pie/PieChart.js +204 -204
- package/dist/react/components/charts/pie/SimplePieChart.d.ts +21 -21
- package/dist/react/components/charts/pie/SimplePieChart.js +55 -55
- package/dist/react/components/graphics/GraphicViewer.d.ts +10 -10
- package/dist/react/components/graphics/GraphicViewer.js +29 -29
- package/dist/react/components/graphics/GraphicsTabViewer.d.ts +17 -17
- package/dist/react/components/graphics/GraphicsTabViewer.js +90 -90
- package/dist/react/components/makeCustomElement.d.ts +16 -16
- package/dist/react/components/makeCustomElement.js +150 -150
- package/dist/react/components/navigation/BasicLayout.d.ts +41 -41
- package/dist/react/components/navigation/BasicLayout.js +155 -155
- package/dist/react/components/navigation/HeaderSiderLayout.d.ts +13 -13
- package/dist/react/components/navigation/HeaderSiderLayout.js +110 -110
- package/dist/react/components/navigation/MenuPage.d.ts +37 -37
- package/dist/react/components/navigation/MenuPage.js +36 -36
- package/dist/react/components/navigation/MenuTrigger.d.ts +9 -9
- package/dist/react/components/navigation/MenuTrigger.js +33 -33
- package/dist/react/components/navigation/ReactRouterHeaderSiderLayout.d.ts +11 -11
- package/dist/react/components/navigation/ReactRouterHeaderSiderLayout.js +25 -25
- package/dist/react/components/navigation/ReactRouterLayout.d.ts +46 -46
- package/dist/react/components/navigation/ReactRouterLayout.js +132 -132
- package/dist/react/components/navigation/customRouting/Router.d.ts +12 -12
- package/dist/react/components/navigation/customRouting/Router.js +45 -45
- package/dist/react/components/navigation/customRouting/RouterLayout.d.ts +11 -11
- package/dist/react/components/navigation/customRouting/RouterLayout.js +61 -61
- package/dist/react/components/resolvable/configurationForm/ConfigurationForm.d.ts +27 -27
- package/dist/react/components/resolvable/configurationForm/ConfigurationForm.js +95 -95
- package/dist/react/components/resolvable/configurationForm/ConfigurationFormEntry.d.ts +16 -16
- package/dist/react/components/resolvable/configurationForm/ConfigurationFormEntry.js +88 -88
- package/dist/react/components/resolvable/configurationForm/getSectionDefault.d.ts +16 -16
- package/dist/react/components/resolvable/configurationForm/getSectionDefault.js +99 -99
- package/dist/react/hooks/useFin5BinUrl.d.ts +6 -6
- package/dist/react/hooks/useFin5BinUrl.js +15 -15
- package/dist/react/hooks/useFin5ColorScheme.d.ts +2 -2
- package/dist/react/hooks/useFin5ColorScheme.js +49 -49
- package/dist/react/hooks/useScreenSize.d.ts +7 -7
- package/dist/react/hooks/useScreenSize.js +31 -31
- package/dist_es/fantomProps/createFin5Props/index.d.ts +12 -12
- package/dist_es/fantomProps/createFin5Props/index.js +140 -140
- package/dist_es/fantomProps/createFin5Props/runCreateFin5Props.d.ts +2 -2
- package/dist_es/fantomProps/createFin5Props/runCreateFin5Props.js +11 -11
- package/dist_es/fantomProps/fantomPropsToObject.d.ts +8 -8
- package/dist_es/fantomProps/fantomPropsToObject.js +178 -178
- package/dist_es/fantomProps/generateJsonFromFantomPropsFile.d.ts +4 -4
- package/dist_es/fantomProps/generateJsonFromFantomPropsFile.js +12 -12
- package/dist_es/fantomProps/localePropsToJson.d.ts +1 -1
- package/dist_es/fantomProps/localePropsToJson.js +21 -21
- package/dist_es/fantomProps/readFantomPropsFile.d.ts +5 -5
- package/dist_es/fantomProps/readFantomPropsFile.js +39 -40
- package/dist_es/fantomProps/readFantomPropsFile.js.map +1 -1
- package/dist_es/fin5Top/fin5FileUpload.d.ts +24 -24
- package/dist_es/fin5Top/fin5FileUpload.js +47 -47
- package/dist_es/fin5Top/fin5Top.d.ts +124 -124
- package/dist_es/fin5Top/fin5Top.js +49 -49
- package/dist_es/fin5Top/finEdge2Cloud.d.ts +6 -6
- package/dist_es/fin5Top/finEdge2Cloud.js +11 -11
- package/dist_es/fin5Top/getFin5BinUrl.d.ts +2 -2
- package/dist_es/fin5Top/getFin5BinUrl.js +5 -5
- package/dist_es/fin5Top/openFin5Alarm.d.ts +22 -22
- package/dist_es/fin5Top/openFin5Alarm.js +19 -19
- package/dist_es/fin5Top/openFin5Historian.d.ts +3 -3
- package/dist_es/fin5Top/openFin5Historian.js +15 -15
- package/dist_es/fin5Top/useFin5AppURLHashParameter.d.ts +18 -18
- package/dist_es/fin5Top/useFin5AppURLHashParameter.js +124 -124
- package/dist_es/index.d.ts +35 -35
- package/dist_es/index.js +53 -53
- package/dist_es/jobs/jobUtils.d.ts +14 -14
- package/dist_es/jobs/jobUtils.js +9 -9
- package/dist_es/react/app/Fin5AppContainer.d.ts +36 -36
- package/dist_es/react/app/Fin5AppContainer.js +116 -73
- package/dist_es/react/app/Fin5AppContainer.js.map +1 -1
- package/dist_es/react/app/Fin5AppRootStore.d.ts +40 -40
- package/dist_es/react/app/Fin5AppRootStore.js +86 -65
- package/dist_es/react/app/Fin5AppRootStore.js.map +1 -1
- package/dist_es/react/components/ErrorBoundary.d.ts +57 -57
- package/dist_es/react/components/ErrorBoundary.js +123 -123
- package/dist_es/react/components/ErrorDisplayer.d.ts +19 -19
- package/dist_es/react/components/ErrorDisplayer.js +28 -28
- package/dist_es/react/components/Loader.d.ts +9 -9
- package/dist_es/react/components/Loader.js +12 -12
- package/dist_es/react/components/LoadingSpinner.d.ts +2 -2
- package/dist_es/react/components/LoadingSpinner.js +20 -20
- package/dist_es/react/components/RecordImage.d.ts +20 -20
- package/dist_es/react/components/RecordImage.js +24 -24
- package/dist_es/react/components/charts/QRCode.d.ts +25 -25
- package/dist_es/react/components/charts/QRCode.js +52 -52
- package/dist_es/react/components/charts/line-bar/Chart.d.ts +166 -166
- package/dist_es/react/components/charts/line-bar/Chart.js +415 -415
- package/dist_es/react/components/charts/line-bar/HGridChart.d.ts +58 -58
- package/dist_es/react/components/charts/line-bar/HGridChart.js +250 -250
- package/dist_es/react/components/charts/pie/PieChart.d.ts +94 -94
- package/dist_es/react/components/charts/pie/PieChart.js +177 -177
- package/dist_es/react/components/charts/pie/SimplePieChart.d.ts +21 -21
- package/dist_es/react/components/charts/pie/SimplePieChart.js +25 -25
- package/dist_es/react/components/graphics/GraphicViewer.d.ts +10 -10
- package/dist_es/react/components/graphics/GraphicViewer.js +22 -22
- package/dist_es/react/components/graphics/GraphicsTabViewer.d.ts +17 -17
- package/dist_es/react/components/graphics/GraphicsTabViewer.js +60 -60
- package/dist_es/react/components/makeCustomElement.d.ts +16 -16
- package/dist_es/react/components/makeCustomElement.js +142 -142
- package/dist_es/react/components/navigation/BasicLayout.d.ts +41 -41
- package/dist_es/react/components/navigation/BasicLayout.js +124 -124
- package/dist_es/react/components/navigation/HeaderSiderLayout.d.ts +13 -13
- package/dist_es/react/components/navigation/HeaderSiderLayout.js +80 -80
- package/dist_es/react/components/navigation/MenuPage.d.ts +37 -37
- package/dist_es/react/components/navigation/MenuPage.js +30 -30
- package/dist_es/react/components/navigation/MenuTrigger.d.ts +9 -9
- package/dist_es/react/components/navigation/MenuTrigger.js +28 -28
- package/dist_es/react/components/navigation/ReactRouterHeaderSiderLayout.d.ts +11 -11
- package/dist_es/react/components/navigation/ReactRouterHeaderSiderLayout.js +18 -18
- package/dist_es/react/components/navigation/ReactRouterLayout.d.ts +46 -46
- package/dist_es/react/components/navigation/ReactRouterLayout.js +99 -99
- package/dist_es/react/components/navigation/customRouting/Router.d.ts +12 -12
- package/dist_es/react/components/navigation/customRouting/Router.js +18 -18
- package/dist_es/react/components/navigation/customRouting/RouterLayout.d.ts +11 -11
- package/dist_es/react/components/navigation/customRouting/RouterLayout.js +34 -34
- package/dist_es/react/components/resolvable/configurationForm/ConfigurationForm.d.ts +27 -27
- package/dist_es/react/components/resolvable/configurationForm/ConfigurationForm.js +64 -64
- package/dist_es/react/components/resolvable/configurationForm/ConfigurationFormEntry.d.ts +16 -16
- package/dist_es/react/components/resolvable/configurationForm/ConfigurationFormEntry.js +58 -58
- package/dist_es/react/components/resolvable/configurationForm/getSectionDefault.d.ts +16 -16
- package/dist_es/react/components/resolvable/configurationForm/getSectionDefault.js +94 -94
- package/dist_es/react/hooks/useFin5BinUrl.d.ts +6 -6
- package/dist_es/react/hooks/useFin5BinUrl.js +11 -11
- package/dist_es/react/hooks/useFin5ColorScheme.d.ts +2 -2
- package/dist_es/react/hooks/useFin5ColorScheme.js +45 -45
- package/dist_es/react/hooks/useScreenSize.d.ts +7 -7
- package/dist_es/react/hooks/useScreenSize.js +27 -27
- package/package.json +1 -1
- package/dist_es/react/app/Fin5AppContainer.jsx +0 -82
- package/dist_es/react/app/Fin5AppContainer.jsx.map +0 -1
- package/dist_es/react/components/ErrorBoundary.jsx +0 -150
- package/dist_es/react/components/ErrorBoundary.jsx.map +0 -1
- package/dist_es/react/components/ErrorDisplayer.jsx +0 -36
- package/dist_es/react/components/ErrorDisplayer.jsx.map +0 -1
- package/dist_es/react/components/Loader.jsx +0 -13
- package/dist_es/react/components/Loader.jsx.map +0 -1
- package/dist_es/react/components/LoadingSpinner.jsx +0 -22
- package/dist_es/react/components/LoadingSpinner.jsx.map +0 -1
- package/dist_es/react/components/charts/line-bar/ZincGridChart.d.ts +0 -12
- package/dist_es/react/components/charts/line-bar/ZincGridChart.js +0 -17
- package/dist_es/react/components/charts/line-bar/ZincGridChart.js.map +0 -1
- package/dist_es/react/components/graphics/GraphicViewer.jsx +0 -23
- package/dist_es/react/components/graphics/GraphicViewer.jsx.map +0 -1
- package/dist_es/react/components/graphics/GraphicsTabViewer.jsx +0 -63
- package/dist_es/react/components/graphics/GraphicsTabViewer.jsx.map +0 -1
- package/dist_es/react/components/navigation/BasicLayout.jsx +0 -133
- package/dist_es/react/components/navigation/BasicLayout.jsx.map +0 -1
- package/dist_es/react/components/navigation/MenuPage.jsx +0 -31
- package/dist_es/react/components/navigation/MenuPage.jsx.map +0 -1
- package/dist_es/react/components/navigation/Router.d.ts +0 -12
- package/dist_es/react/components/navigation/Router.js +0 -19
- package/dist_es/react/components/navigation/Router.js.map +0 -1
- package/dist_es/react/components/navigation/Router.jsx +0 -19
- package/dist_es/react/components/navigation/Router.jsx.map +0 -1
- package/dist_es/react/components/navigation/react-router/BasicLayout.d.ts +0 -23
- package/dist_es/react/components/navigation/react-router/BasicLayout.js +0 -82
- package/dist_es/react/components/navigation/react-router/BasicLayout.js.map +0 -1
- package/dist_es/react/components/navigation/react-router/ReactRouterBasicLayout.d.ts +0 -24
- package/dist_es/react/components/navigation/react-router/ReactRouterBasicLayout.js +0 -82
- package/dist_es/react/components/navigation/react-router/ReactRouterBasicLayout.js.map +0 -1
|
@@ -1,151 +1,151 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*
|
|
3
|
-
* Copyright (c) 2025, 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.registerReactWebComponent = exports.makeCustomElement = void 0;
|
|
10
|
-
const app_react_1 = require("@j2inn/app-react");
|
|
11
|
-
const ui_1 = require("@j2inn/ui");
|
|
12
|
-
const utils_1 = require("@j2inn/utils");
|
|
13
|
-
const haystack_react_1 = require("haystack-react");
|
|
14
|
-
const jss_1 = require("jss");
|
|
15
|
-
const react_1 = __importDefault(require("react"));
|
|
16
|
-
const client_1 = require("react-dom/client");
|
|
17
|
-
const react_jss_1 = require("react-jss");
|
|
18
|
-
const defaultTheme = (0, ui_1.GenerateTheme)().light;
|
|
19
|
-
/**
|
|
20
|
-
* Generate a custom element constructor that wraps the given react component.
|
|
21
|
-
*/
|
|
22
|
-
const makeCustomElement = (Component, options = {
|
|
23
|
-
useShadowDom: true,
|
|
24
|
-
}) => {
|
|
25
|
-
return class extends HTMLElement {
|
|
26
|
-
static get observedAttributes() {
|
|
27
|
-
return ['props'];
|
|
28
|
-
}
|
|
29
|
-
_locale;
|
|
30
|
-
get locale() {
|
|
31
|
-
return this._locale;
|
|
32
|
-
}
|
|
33
|
-
set locale(value) {
|
|
34
|
-
this._locale = value;
|
|
35
|
-
this.render();
|
|
36
|
-
}
|
|
37
|
-
_appRootStore;
|
|
38
|
-
get appRootStore() {
|
|
39
|
-
return this._appRootStore ?? {};
|
|
40
|
-
}
|
|
41
|
-
set appRootStore(value) {
|
|
42
|
-
this._appRootStore = value;
|
|
43
|
-
this.render();
|
|
44
|
-
}
|
|
45
|
-
_appStore;
|
|
46
|
-
get appStore() {
|
|
47
|
-
return this._appStore ?? {};
|
|
48
|
-
}
|
|
49
|
-
set appStore(value) {
|
|
50
|
-
this._appStore = value;
|
|
51
|
-
this.render();
|
|
52
|
-
}
|
|
53
|
-
_client;
|
|
54
|
-
get client() {
|
|
55
|
-
return this._client;
|
|
56
|
-
}
|
|
57
|
-
set client(value) {
|
|
58
|
-
this._client = value;
|
|
59
|
-
this.render();
|
|
60
|
-
}
|
|
61
|
-
_i18n;
|
|
62
|
-
get i18n() {
|
|
63
|
-
return this._i18n;
|
|
64
|
-
}
|
|
65
|
-
set i18n(value) {
|
|
66
|
-
this._i18n = value;
|
|
67
|
-
this.render();
|
|
68
|
-
}
|
|
69
|
-
_props;
|
|
70
|
-
get props() {
|
|
71
|
-
return this._props;
|
|
72
|
-
}
|
|
73
|
-
set props(value) {
|
|
74
|
-
this._props = value;
|
|
75
|
-
this.render();
|
|
76
|
-
}
|
|
77
|
-
_theme;
|
|
78
|
-
get theme() {
|
|
79
|
-
return this._theme ?? defaultTheme;
|
|
80
|
-
}
|
|
81
|
-
set theme(value) {
|
|
82
|
-
this._theme = value;
|
|
83
|
-
this.render();
|
|
84
|
-
}
|
|
85
|
-
root;
|
|
86
|
-
jss;
|
|
87
|
-
base;
|
|
88
|
-
initialized = false;
|
|
89
|
-
constructor() {
|
|
90
|
-
super();
|
|
91
|
-
this.base = options?.useShadowDom
|
|
92
|
-
? this.attachShadow({ mode: 'open' })
|
|
93
|
-
: this;
|
|
94
|
-
}
|
|
95
|
-
initialize() {
|
|
96
|
-
if (!this.initialized) {
|
|
97
|
-
const mountPoint = document.createElement('div');
|
|
98
|
-
mountPoint.setAttribute('style', 'display: contents;');
|
|
99
|
-
this.base.appendChild(mountPoint);
|
|
100
|
-
this.root = (0, client_1.createRoot)(mountPoint);
|
|
101
|
-
this.jss = (0, jss_1.create)({
|
|
102
|
-
insertionPoint: mountPoint,
|
|
103
|
-
});
|
|
104
|
-
this.initialized = true;
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
connectedCallback() {
|
|
108
|
-
this.render();
|
|
109
|
-
}
|
|
110
|
-
attributeChangedCallback() {
|
|
111
|
-
this.render();
|
|
112
|
-
}
|
|
113
|
-
disconnectedCallback() {
|
|
114
|
-
this.root?.unmount();
|
|
115
|
-
this.initialized = false;
|
|
116
|
-
}
|
|
117
|
-
render() {
|
|
118
|
-
this.initialize();
|
|
119
|
-
const ThemedComponent = (react_1.default.createElement(react_jss_1.ThemeProvider, { theme: this.theme },
|
|
120
|
-
react_1.default.createElement(utils_1.I18NContext.Provider, { value: this.i18n },
|
|
121
|
-
react_1.default.createElement(react_jss_1.JssProvider, { jss: this.jss },
|
|
122
|
-
react_1.default.createElement(Component, { ...this.props })))));
|
|
123
|
-
this.root?.render(react_1.default.createElement(app_react_1.AppRootStoreContext.Provider, { value: this.appRootStore ?? null },
|
|
124
|
-
react_1.default.createElement(app_react_1.AppStoreContext.Provider, { value: this.appStore }, this.client ? (react_1.default.createElement(haystack_react_1.ClientContext.Provider, { value: this.client }, ThemedComponent)) : (ThemedComponent))));
|
|
125
|
-
}
|
|
126
|
-
};
|
|
127
|
-
};
|
|
128
|
-
exports.makeCustomElement = makeCustomElement;
|
|
129
|
-
/**
|
|
130
|
-
* Create a custom element wrapping a React component and register it.
|
|
131
|
-
* @param webComponentName the name of the Web component (tag name)
|
|
132
|
-
* @param ReactComponent the React component to wrap
|
|
133
|
-
* @returns
|
|
134
|
-
*/
|
|
135
|
-
const registerReactWebComponent = (webComponentName, ReactComponent, options) => {
|
|
136
|
-
// Bail if web component is already defined
|
|
137
|
-
if (customElements.get(webComponentName)) {
|
|
138
|
-
return;
|
|
139
|
-
}
|
|
140
|
-
// Make web component that wraps the react component
|
|
141
|
-
const Element = (0, exports.makeCustomElement)(ReactComponent, options);
|
|
142
|
-
try {
|
|
143
|
-
// Define web component
|
|
144
|
-
customElements.define(webComponentName, Element);
|
|
145
|
-
}
|
|
146
|
-
catch (e) {
|
|
147
|
-
console.error(e);
|
|
148
|
-
}
|
|
149
|
-
};
|
|
150
|
-
exports.registerReactWebComponent = registerReactWebComponent;
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2025, 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.registerReactWebComponent = exports.makeCustomElement = void 0;
|
|
10
|
+
const app_react_1 = require("@j2inn/app-react");
|
|
11
|
+
const ui_1 = require("@j2inn/ui");
|
|
12
|
+
const utils_1 = require("@j2inn/utils");
|
|
13
|
+
const haystack_react_1 = require("haystack-react");
|
|
14
|
+
const jss_1 = require("jss");
|
|
15
|
+
const react_1 = __importDefault(require("react"));
|
|
16
|
+
const client_1 = require("react-dom/client");
|
|
17
|
+
const react_jss_1 = require("react-jss");
|
|
18
|
+
const defaultTheme = (0, ui_1.GenerateTheme)().light;
|
|
19
|
+
/**
|
|
20
|
+
* Generate a custom element constructor that wraps the given react component.
|
|
21
|
+
*/
|
|
22
|
+
const makeCustomElement = (Component, options = {
|
|
23
|
+
useShadowDom: true,
|
|
24
|
+
}) => {
|
|
25
|
+
return class extends HTMLElement {
|
|
26
|
+
static get observedAttributes() {
|
|
27
|
+
return ['props'];
|
|
28
|
+
}
|
|
29
|
+
_locale;
|
|
30
|
+
get locale() {
|
|
31
|
+
return this._locale;
|
|
32
|
+
}
|
|
33
|
+
set locale(value) {
|
|
34
|
+
this._locale = value;
|
|
35
|
+
this.render();
|
|
36
|
+
}
|
|
37
|
+
_appRootStore;
|
|
38
|
+
get appRootStore() {
|
|
39
|
+
return this._appRootStore ?? {};
|
|
40
|
+
}
|
|
41
|
+
set appRootStore(value) {
|
|
42
|
+
this._appRootStore = value;
|
|
43
|
+
this.render();
|
|
44
|
+
}
|
|
45
|
+
_appStore;
|
|
46
|
+
get appStore() {
|
|
47
|
+
return this._appStore ?? {};
|
|
48
|
+
}
|
|
49
|
+
set appStore(value) {
|
|
50
|
+
this._appStore = value;
|
|
51
|
+
this.render();
|
|
52
|
+
}
|
|
53
|
+
_client;
|
|
54
|
+
get client() {
|
|
55
|
+
return this._client;
|
|
56
|
+
}
|
|
57
|
+
set client(value) {
|
|
58
|
+
this._client = value;
|
|
59
|
+
this.render();
|
|
60
|
+
}
|
|
61
|
+
_i18n;
|
|
62
|
+
get i18n() {
|
|
63
|
+
return this._i18n;
|
|
64
|
+
}
|
|
65
|
+
set i18n(value) {
|
|
66
|
+
this._i18n = value;
|
|
67
|
+
this.render();
|
|
68
|
+
}
|
|
69
|
+
_props;
|
|
70
|
+
get props() {
|
|
71
|
+
return this._props;
|
|
72
|
+
}
|
|
73
|
+
set props(value) {
|
|
74
|
+
this._props = value;
|
|
75
|
+
this.render();
|
|
76
|
+
}
|
|
77
|
+
_theme;
|
|
78
|
+
get theme() {
|
|
79
|
+
return this._theme ?? defaultTheme;
|
|
80
|
+
}
|
|
81
|
+
set theme(value) {
|
|
82
|
+
this._theme = value;
|
|
83
|
+
this.render();
|
|
84
|
+
}
|
|
85
|
+
root;
|
|
86
|
+
jss;
|
|
87
|
+
base;
|
|
88
|
+
initialized = false;
|
|
89
|
+
constructor() {
|
|
90
|
+
super();
|
|
91
|
+
this.base = options?.useShadowDom
|
|
92
|
+
? this.attachShadow({ mode: 'open' })
|
|
93
|
+
: this;
|
|
94
|
+
}
|
|
95
|
+
initialize() {
|
|
96
|
+
if (!this.initialized) {
|
|
97
|
+
const mountPoint = document.createElement('div');
|
|
98
|
+
mountPoint.setAttribute('style', 'display: contents;');
|
|
99
|
+
this.base.appendChild(mountPoint);
|
|
100
|
+
this.root = (0, client_1.createRoot)(mountPoint);
|
|
101
|
+
this.jss = (0, jss_1.create)({
|
|
102
|
+
insertionPoint: mountPoint,
|
|
103
|
+
});
|
|
104
|
+
this.initialized = true;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
connectedCallback() {
|
|
108
|
+
this.render();
|
|
109
|
+
}
|
|
110
|
+
attributeChangedCallback() {
|
|
111
|
+
this.render();
|
|
112
|
+
}
|
|
113
|
+
disconnectedCallback() {
|
|
114
|
+
this.root?.unmount();
|
|
115
|
+
this.initialized = false;
|
|
116
|
+
}
|
|
117
|
+
render() {
|
|
118
|
+
this.initialize();
|
|
119
|
+
const ThemedComponent = (react_1.default.createElement(react_jss_1.ThemeProvider, { theme: this.theme },
|
|
120
|
+
react_1.default.createElement(utils_1.I18NContext.Provider, { value: this.i18n },
|
|
121
|
+
react_1.default.createElement(react_jss_1.JssProvider, { jss: this.jss },
|
|
122
|
+
react_1.default.createElement(Component, { ...this.props })))));
|
|
123
|
+
this.root?.render(react_1.default.createElement(app_react_1.AppRootStoreContext.Provider, { value: this.appRootStore ?? null },
|
|
124
|
+
react_1.default.createElement(app_react_1.AppStoreContext.Provider, { value: this.appStore }, this.client ? (react_1.default.createElement(haystack_react_1.ClientContext.Provider, { value: this.client }, ThemedComponent)) : (ThemedComponent))));
|
|
125
|
+
}
|
|
126
|
+
};
|
|
127
|
+
};
|
|
128
|
+
exports.makeCustomElement = makeCustomElement;
|
|
129
|
+
/**
|
|
130
|
+
* Create a custom element wrapping a React component and register it.
|
|
131
|
+
* @param webComponentName the name of the Web component (tag name)
|
|
132
|
+
* @param ReactComponent the React component to wrap
|
|
133
|
+
* @returns
|
|
134
|
+
*/
|
|
135
|
+
const registerReactWebComponent = (webComponentName, ReactComponent, options) => {
|
|
136
|
+
// Bail if web component is already defined
|
|
137
|
+
if (customElements.get(webComponentName)) {
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
// Make web component that wraps the react component
|
|
141
|
+
const Element = (0, exports.makeCustomElement)(ReactComponent, options);
|
|
142
|
+
try {
|
|
143
|
+
// Define web component
|
|
144
|
+
customElements.define(webComponentName, Element);
|
|
145
|
+
}
|
|
146
|
+
catch (e) {
|
|
147
|
+
console.error(e);
|
|
148
|
+
}
|
|
149
|
+
};
|
|
150
|
+
exports.registerReactWebComponent = registerReactWebComponent;
|
|
151
151
|
//# sourceMappingURL=makeCustomElement.js.map
|
|
@@ -1,41 +1,41 @@
|
|
|
1
|
-
import { LayoutProps, MenuProps, SiderProps } from 'antd';
|
|
2
|
-
import React, { PropsWithChildren, ReactElement } from 'react';
|
|
3
|
-
import { MenuPage } from './MenuPage';
|
|
4
|
-
export interface BasicLayoutStyleVariables {
|
|
5
|
-
isMobile?: boolean;
|
|
6
|
-
compactSider?: boolean;
|
|
7
|
-
siderWidth?: number | string;
|
|
8
|
-
headerHeight: number;
|
|
9
|
-
}
|
|
10
|
-
export interface BasicLayoutProps<T extends MenuPage> extends PropsWithChildren {
|
|
11
|
-
pages?: T[];
|
|
12
|
-
defaultPage?: string;
|
|
13
|
-
selectedPages?: string[];
|
|
14
|
-
onSelect?: (key: string) => void;
|
|
15
|
-
compactSider?: {
|
|
16
|
-
isCompact?: boolean;
|
|
17
|
-
showButton?: boolean;
|
|
18
|
-
buttonClassName?: string;
|
|
19
|
-
};
|
|
20
|
-
layoutProps?: LayoutProps;
|
|
21
|
-
mobileHeaderProps?: LayoutProps;
|
|
22
|
-
siderProps?: SiderProps;
|
|
23
|
-
contentProps?: LayoutProps;
|
|
24
|
-
menuProps?: Omit<MenuProps, 'items' | 'selectedKeys' | 'onSelect'>;
|
|
25
|
-
menuBefore?: React.ReactNode;
|
|
26
|
-
menuAfter?: React.ReactNode;
|
|
27
|
-
menuTriggerClassName?: string;
|
|
28
|
-
headerHeight?: number;
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Copy the array and recursively remove pages having the `showInMenu` flag set to false.
|
|
32
|
-
* @param pages
|
|
33
|
-
* @returns
|
|
34
|
-
*/
|
|
35
|
-
export declare const getMenuPages: (pages: MenuPage[]) => MenuPage<Record<string, unknown>>[];
|
|
36
|
-
export declare const DEFAULT_HEADER_HEIGHT = 45;
|
|
37
|
-
/**
|
|
38
|
-
* Basic layout with sider and mobile navigation management.
|
|
39
|
-
* Routing management can be plugged in, for examples @see ReactRouterLayout @see RouterLayout
|
|
40
|
-
*/
|
|
41
|
-
export declare function BasicLayout<T extends MenuPage>({ pages, defaultPage, selectedPages, onSelect, compactSider, layoutProps, mobileHeaderProps, siderProps, contentProps, menuProps, menuBefore, menuAfter, menuTriggerClassName, headerHeight, children, }: BasicLayoutProps<T>): ReactElement;
|
|
1
|
+
import { LayoutProps, MenuProps, SiderProps } from 'antd';
|
|
2
|
+
import React, { PropsWithChildren, ReactElement } from 'react';
|
|
3
|
+
import { MenuPage } from './MenuPage';
|
|
4
|
+
export interface BasicLayoutStyleVariables {
|
|
5
|
+
isMobile?: boolean;
|
|
6
|
+
compactSider?: boolean;
|
|
7
|
+
siderWidth?: number | string;
|
|
8
|
+
headerHeight: number;
|
|
9
|
+
}
|
|
10
|
+
export interface BasicLayoutProps<T extends MenuPage> extends PropsWithChildren {
|
|
11
|
+
pages?: T[];
|
|
12
|
+
defaultPage?: string;
|
|
13
|
+
selectedPages?: string[];
|
|
14
|
+
onSelect?: (key: string) => void;
|
|
15
|
+
compactSider?: {
|
|
16
|
+
isCompact?: boolean;
|
|
17
|
+
showButton?: boolean;
|
|
18
|
+
buttonClassName?: string;
|
|
19
|
+
};
|
|
20
|
+
layoutProps?: LayoutProps;
|
|
21
|
+
mobileHeaderProps?: LayoutProps;
|
|
22
|
+
siderProps?: SiderProps;
|
|
23
|
+
contentProps?: LayoutProps;
|
|
24
|
+
menuProps?: Omit<MenuProps, 'items' | 'selectedKeys' | 'onSelect'>;
|
|
25
|
+
menuBefore?: React.ReactNode;
|
|
26
|
+
menuAfter?: React.ReactNode;
|
|
27
|
+
menuTriggerClassName?: string;
|
|
28
|
+
headerHeight?: number;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Copy the array and recursively remove pages having the `showInMenu` flag set to false.
|
|
32
|
+
* @param pages
|
|
33
|
+
* @returns
|
|
34
|
+
*/
|
|
35
|
+
export declare const getMenuPages: (pages: MenuPage[]) => MenuPage<Record<string, unknown>>[];
|
|
36
|
+
export declare const DEFAULT_HEADER_HEIGHT = 45;
|
|
37
|
+
/**
|
|
38
|
+
* Basic layout with sider and mobile navigation management.
|
|
39
|
+
* Routing management can be plugged in, for examples @see ReactRouterLayout @see RouterLayout
|
|
40
|
+
*/
|
|
41
|
+
export declare function BasicLayout<T extends MenuPage>({ pages, defaultPage, selectedPages, onSelect, compactSider, layoutProps, mobileHeaderProps, siderProps, contentProps, menuProps, menuBefore, menuAfter, menuTriggerClassName, headerHeight, children, }: BasicLayoutProps<T>): ReactElement;
|