@nine-lab/nine-mu 0.1.288 → 0.1.290

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 CHANGED
@@ -17563,7 +17563,7 @@ render_fn = function() {
17563
17563
  const customImport = this.getAttribute("css-path") ? `@import "${this.getAttribute("css-path")}";` : "";
17564
17564
  this.shadowRoot.innerHTML = `
17565
17565
  <style>
17566
- @import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.287"}/dist/css/nine-mu.css";
17566
+ @import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.289"}/dist/css/nine-mu.css";
17567
17567
  ${customImport}
17568
17568
  </style>
17569
17569
  <div class="wrapper">
@@ -43780,7 +43780,7 @@ class NineDiff extends HTMLElement {
43780
43780
  const customImport = this.getAttribute("css-path") ? `@import "${this.getAttribute("css-path")}";` : "";
43781
43781
  this.shadowRoot.innerHTML = `
43782
43782
  <style>
43783
- @import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.287"}/dist/css/nine-mu.css";
43783
+ @import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.289"}/dist/css/nine-mu.css";
43784
43784
  ${customImport}
43785
43785
  </style>
43786
43786
 
@@ -43834,7 +43834,7 @@ class NineDiffPopup extends HTMLElement {
43834
43834
  __privateAdd(this, _dialog, null);
43835
43835
  __privateAdd(this, _tabContainer, null);
43836
43836
  __privateAdd(this, _fileList, []);
43837
- // 최종 [모두 저장]을 위한 차분 명세 데이터 버퍼
43837
+ // 최종 일괄 저장을 위한 데이터 버퍼
43838
43838
  __privateAdd(this, _host);
43839
43839
  this.attachShadow({ mode: "open" });
43840
43840
  }
@@ -43847,14 +43847,12 @@ class NineDiffPopup extends HTMLElement {
43847
43847
  return this;
43848
43848
  }
43849
43849
  /**
43850
- * 💡 [정석 데이터 위임 연동 엔진]
43850
+ * 💡 [기존 정적 매핑 방식]
43851
+ * 동적 생성 없이, 이미 조립되어 들어간 nine-tab 내부의 에디터를 정밀 타격하여 데이터만 꽂습니다.
43851
43852
  */
43852
43853
  async data(fileList) {
43853
43854
  if (!Array.isArray(fileList) || fileList.length === 0) return this;
43854
43855
  __privateSet(this, _fileList, fileList);
43855
- if (__privateGet(this, _tabContainer) && typeof __privateGet(this, _tabContainer).clearTabs === "function") {
43856
- __privateGet(this, _tabContainer).clearTabs();
43857
- }
43858
43856
  const detectLanguage = (path) => {
43859
43857
  const lower = (path || "").toLowerCase();
43860
43858
  if (lower.endsWith(".xml")) return "xml";
@@ -43862,31 +43860,28 @@ class NineDiffPopup extends HTMLElement {
43862
43860
  if (lower.endsWith(".json")) return "json";
43863
43861
  return "javascript";
43864
43862
  };
43865
- fileList.forEach((file) => {
43866
- const { layer: layer2, full_path } = file;
43867
- const fileName = full_path.split("/").pop() || "Unknown";
43868
- const captionName = `${layer2.toUpperCase()} (${fileName})`;
43869
- const targetHtmlContent = `
43870
- <div class="diff-wrapper">
43871
- <nine-diff class="${layer2}"></nine-diff>
43872
- </div>
43873
- `;
43874
- if (__privateGet(this, _tabContainer) && typeof __privateGet(this, _tabContainer).addTabPage === "function") {
43875
- __privateGet(this, _tabContainer).addTabPage(captionName, targetHtmlContent);
43876
- }
43877
- });
43878
43863
  setTimeout(() => {
43879
43864
  fileList.forEach((file) => {
43880
43865
  const { layer: layer2, full_path, asis_source, source } = file;
43881
43866
  const diff = __privateGet(this, _tabContainer).shadowRoot.querySelector(`nine-diff.${layer2}`);
43882
43867
  if (diff) {
43883
43868
  const lang = detectLanguage(full_path);
43869
+ const fileName = full_path.split("/").pop() || "Unknown";
43870
+ const tabButtons = __privateGet(this, _tabContainer).shadowRoot.querySelectorAll(".tab-button");
43871
+ tabButtons.forEach((btn) => {
43872
+ if (btn.textContent.trim() === layer2.toUpperCase()) {
43873
+ btn.textContent = `${layer2.toUpperCase()} (${fileName})`;
43874
+ }
43875
+ });
43884
43876
  diff.initialize(asis_source || "", source || "", lang);
43885
43877
  } else {
43886
- trace.error(`❌ 에디터 탐색 실패: nine-diff.${layer2}`);
43878
+ trace.error(`❌ 에디터 인스턴스를 찾을 수 없습니다: nine-diff.${layer2}`);
43887
43879
  }
43888
43880
  });
43889
- }, 150);
43881
+ if (__privateGet(this, _tabContainer) && typeof __privateGet(this, _tabContainer).initialize === "function") {
43882
+ __privateGet(this, _tabContainer).initialize();
43883
+ }
43884
+ }, 100);
43890
43885
  return this;
43891
43886
  }
43892
43887
  }
@@ -43896,64 +43891,31 @@ _fileList = new WeakMap();
43896
43891
  _host = new WeakMap();
43897
43892
  _NineDiffPopup_instances = new WeakSet();
43898
43893
  /**
43899
- * 💡 기본 다이얼로그 외곽 프레임 및 스타일 스케폴딩 렌더링
43894
+ * 💡 [기존 방식 복구] 스타일 전량 제거하고,
43895
+ * 기존 소스처럼 nine-tab 내부에 nine-tab-page 2개를 정적으로 미리 박아 놓습니다.
43900
43896
  */
43901
43897
  renderScaffolding_fn = function() {
43902
43898
  const customImport = this.getAttribute("css-path") ? `@import "${this.getAttribute("css-path")}";` : "";
43903
- const appVersion = "0.1.287";
43899
+ const appVersion = "0.1.289";
43904
43900
  this.shadowRoot.innerHTML = `
43905
43901
  <style>
43906
43902
  @import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${appVersion}/dist/css/nine-mu.css";
43907
43903
  ${customImport}
43908
-
43909
- .main-layout {
43910
- display: flex;
43911
- flex-direction: column;
43912
- height: 80vh;
43913
- width: 85vw;
43914
- min-width: 800px;
43915
- }
43916
- .tab-area {
43917
- flex: 1;
43918
- overflow: hidden;
43919
- display: flex;
43920
- flex-direction: column;
43921
- }
43922
- nine-tab {
43923
- flex: 1;
43924
- display: flex;
43925
- flex-direction: column;
43926
- height: 100%;
43927
- }
43928
- /* 💡 에디터 영역의 가시성 및 너비/높이 한계선 고정 */
43929
- .diff-wrapper {
43930
- height: calc(80vh - 160px);
43931
- width: 100%;
43932
- display: block;
43933
- }
43934
- nine-diff {
43935
- display: block;
43936
- width: 100%;
43937
- height: 100%;
43938
- }
43939
- .footer {
43940
- display: flex;
43941
- justify-content: flex-end;
43942
- gap: 10px;
43943
- padding: 15px 0 0 0;
43944
- border-top: 1px solid #e5e7eb;
43945
- }
43946
43904
  </style>
43947
43905
 
43948
43906
  <nine-dialog>
43949
- <div class="main-layout">
43950
- <div class="tab-area">
43951
- <nine-tab theme="theme-3"></nine-tab>
43952
- </div>
43953
- <div class="footer">
43954
- <button class="btn btn-cancel">취소</button>
43955
- <button class="btn btn-confirm">모두 저장</button>
43956
- </div>
43907
+ <nine-tab theme="theme-3">
43908
+ <nine-tab-page caption="MYBATIS">
43909
+ <nine-diff class="MyBatis"></nine-diff>
43910
+ </nine-tab-page>
43911
+ <nine-tab-page caption="JAVASCRIPT">
43912
+ <nine-diff class="JavaScript"></nine-diff>
43913
+ </nine-tab-page>
43914
+ </nine-tab>
43915
+
43916
+ <div class="footer">
43917
+ <button class="btn btn-cancel">취소</button>
43918
+ <button class="btn btn-confirm">모두 저장</button>
43957
43919
  </div>
43958
43920
  </nine-dialog>
43959
43921
  `;
@@ -44280,7 +44242,7 @@ class ChatMessageBody extends HTMLElement {
44280
44242
  const customImport = this.getAttribute("css-path") ? `@import "${this.getAttribute("css-path")}";` : "";
44281
44243
  this.shadowRoot.innerHTML = `
44282
44244
  <style>
44283
- @import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.287"}/dist/css/nine-mu.css";
44245
+ @import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-mu@${"0.1.289"}/dist/css/nine-mu.css";
44284
44246
  ${customImport}
44285
44247
  </style>
44286
44248
 
@@ -44374,7 +44336,7 @@ if (!customElements.get("nine-chat-progress")) {
44374
44336
  customElements.define("nine-chat-progress", ProgressMessage);
44375
44337
  }
44376
44338
  const NineMu = {
44377
- version: "0.1.287",
44339
+ version: "0.1.289",
44378
44340
  init: (config2) => {
44379
44341
  trace$1.log("🛠️ Nine-Mu Engine initialized", config2);
44380
44342
  }