@nine-lab/nine-mu 0.1.382 → 0.1.384
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/dist/nine-mu.js +33 -18
- package/dist/nine-mu.js.map +1 -1
- package/dist/nine-mu.umd.js +1 -1
- package/dist/nine-mu.umd.js.map +1 -1
- package/package.json +1 -1
- package/src/components/hook/NineHook.js +30 -18
package/dist/nine-mu.js
CHANGED
|
@@ -17539,7 +17539,7 @@ render_fn = function() {
|
|
|
17539
17539
|
const customImport = nine$1.cssPath ? `@import "${nine$1.cssPath}/nine-mu.css";` : "";
|
|
17540
17540
|
this.shadowRoot.innerHTML = `
|
|
17541
17541
|
<style>
|
|
17542
|
-
@import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.
|
|
17542
|
+
@import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.383"}/dist/css/nine-mu.css";
|
|
17543
17543
|
${customImport}
|
|
17544
17544
|
</style>
|
|
17545
17545
|
<div class="wrapper">
|
|
@@ -43789,7 +43789,7 @@ class NineDiff extends HTMLElement {
|
|
|
43789
43789
|
const customImport = nine.cssPath ? `@import "${nine.cssPath}/nine-mu.css";` : "";
|
|
43790
43790
|
this.shadowRoot.innerHTML = `
|
|
43791
43791
|
<style>
|
|
43792
|
-
@import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.
|
|
43792
|
+
@import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.383"}/dist/css/nine-mu.css";
|
|
43793
43793
|
${customImport}
|
|
43794
43794
|
</style>
|
|
43795
43795
|
|
|
@@ -43929,7 +43929,7 @@ renderScaffolding_fn = function() {
|
|
|
43929
43929
|
const customImport = nine$1.cssPath ? `@import "${nine$1.cssPath}/nine-mu.css";` : "";
|
|
43930
43930
|
this.shadowRoot.innerHTML = `
|
|
43931
43931
|
<style>
|
|
43932
|
-
@import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.
|
|
43932
|
+
@import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.383"}/dist/css/nine-mu.css";
|
|
43933
43933
|
${customImport}
|
|
43934
43934
|
</style>
|
|
43935
43935
|
|
|
@@ -44038,7 +44038,7 @@ render_fn2 = function() {
|
|
|
44038
44038
|
const customImport = nine$1.cssPath ? `@import "${nine$1.cssPath}/nine-mu.css";` : "";
|
|
44039
44039
|
this.shadowRoot.innerHTML = `
|
|
44040
44040
|
<style>
|
|
44041
|
-
@import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.
|
|
44041
|
+
@import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.383"}/dist/css/nine-mu.css";
|
|
44042
44042
|
${customImport}
|
|
44043
44043
|
</style>
|
|
44044
44044
|
|
|
@@ -44368,7 +44368,7 @@ class ChatMessageBody extends HTMLElement {
|
|
|
44368
44368
|
const customImport = nine.cssPath ? `@import "${nine.cssPath}/nine-mu.css";` : "";
|
|
44369
44369
|
this.shadowRoot.innerHTML = `
|
|
44370
44370
|
<style>
|
|
44371
|
-
@import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.
|
|
44371
|
+
@import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.383"}/dist/css/nine-mu.css";
|
|
44372
44372
|
${customImport}
|
|
44373
44373
|
</style>
|
|
44374
44374
|
|
|
@@ -44652,30 +44652,45 @@ class NineExceptionHook extends React.Component {
|
|
|
44652
44652
|
return this.props.children;
|
|
44653
44653
|
}
|
|
44654
44654
|
}
|
|
44655
|
-
function NineHook({ menuUrl, views, error404, onCatch, fallback, styles, containerStyle }) {
|
|
44655
|
+
function NineHook({ children, menuUrl, views, error404, onCatch, fallback, styles, containerStyle }) {
|
|
44656
44656
|
const [menuData, setMenuData] = useState([]);
|
|
44657
|
-
|
|
44657
|
+
const fetchRoutes = async () => {
|
|
44658
44658
|
if (!menuUrl) return;
|
|
44659
|
-
|
|
44660
|
-
|
|
44661
|
-
|
|
44662
|
-
|
|
44663
|
-
|
|
44664
|
-
|
|
44665
|
-
|
|
44666
|
-
|
|
44667
|
-
|
|
44659
|
+
try {
|
|
44660
|
+
const response = await fetch(`${menuUrl}?t=${Date.now()}`);
|
|
44661
|
+
if (response.ok) {
|
|
44662
|
+
const data = await response.json();
|
|
44663
|
+
setMenuData((prev) => {
|
|
44664
|
+
if (JSON.stringify(prev) === JSON.stringify(data)) return prev;
|
|
44665
|
+
console.log("🔥 [Nine-Library] routes.json 변경 감지 -> 전체 시스템 동기화");
|
|
44666
|
+
return data;
|
|
44667
|
+
});
|
|
44668
44668
|
}
|
|
44669
|
-
}
|
|
44669
|
+
} catch (e) {
|
|
44670
|
+
console.error("[Nine-Library] 런타임 메뉴 동기화 실패:", e);
|
|
44671
|
+
}
|
|
44672
|
+
};
|
|
44673
|
+
useEffect(() => {
|
|
44670
44674
|
fetchRoutes();
|
|
44675
|
+
window.addEventListener("popstate", fetchRoutes);
|
|
44676
|
+
document.addEventListener("click", fetchRoutes, true);
|
|
44677
|
+
const intervalId = setInterval(fetchRoutes, 3e3);
|
|
44678
|
+
return () => {
|
|
44679
|
+
window.removeEventListener("popstate", fetchRoutes);
|
|
44680
|
+
document.removeEventListener("click", fetchRoutes, true);
|
|
44681
|
+
clearInterval(intervalId);
|
|
44682
|
+
};
|
|
44671
44683
|
}, [menuUrl]);
|
|
44672
44684
|
const dynamicRoutes = createDynamicRoutes(menuData, views, error404);
|
|
44673
44685
|
return React.createElement(
|
|
44674
44686
|
ScreenProvider,
|
|
44675
44687
|
{ menuData },
|
|
44688
|
+
// 🎯 이 전역 컨텍스트 공급자가 감싸는 범위를 대폭 넓힙니다.
|
|
44676
44689
|
React.createElement(
|
|
44677
44690
|
NineExceptionHook,
|
|
44678
44691
|
{ onCatch, fallback, styles, containerStyle },
|
|
44692
|
+
// 💡 [레이아웃 유연성 확보]: Routes 바깥의 컴포넌트(예: LeftMenu)가 있다면 여기에 먼저 뿌려줍니다.
|
|
44693
|
+
children,
|
|
44679
44694
|
React.createElement(
|
|
44680
44695
|
Suspense,
|
|
44681
44696
|
{ fallback: React.createElement("div", { style: { padding: "25px", color: "#666", fontFamily: "monospace" } }, ">> Loading component matrix...") },
|
|
@@ -44695,7 +44710,7 @@ function NineHook({ menuUrl, views, error404, onCatch, fallback, styles, contain
|
|
|
44695
44710
|
);
|
|
44696
44711
|
}
|
|
44697
44712
|
const NineMu = {
|
|
44698
|
-
version: "0.1.
|
|
44713
|
+
version: "0.1.383",
|
|
44699
44714
|
init: (config2) => {
|
|
44700
44715
|
trace$1.log("🛠️ Nine-Mu Engine initialized", config2);
|
|
44701
44716
|
}
|