@nine-lab/nine-ux 0.1.161 → 0.1.162

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.
@@ -29,6 +29,51 @@
29
29
  }
30
30
 
31
31
 
32
+ nine-side-menu-head {
33
+ display: flex;
34
+ --align-items: flex-start;
35
+ align-items: center; /* 수직 중앙 정렬 */
36
+ padding: 10px; /* 여백 추가 */
37
+ height: 40px;
38
+ justify-content: center;
39
+ --border: 2px solid red;
40
+
41
+ .logo-box {
42
+ color: #f0f0f0;
43
+ white-space: nowrap;
44
+ overflow: hidden;
45
+ text-overflow: ellipsis;
46
+ text-align: center;
47
+ width: 100%;
48
+ }
49
+
50
+ .icon-box {
51
+ display: flex;
52
+ align-items: center;
53
+ overflow: hidden;
54
+
55
+ svg {
56
+ display: none;
57
+ opacity: 0;
58
+ transition: opacity 0.3s ease-in-out; /* 부드러운 전환을 위한 애니메이션 */
59
+ }
60
+ }
61
+
62
+ .icon {
63
+ fill: var(--icon-color); /* 아이콘 색상 */
64
+ cursor: pointer;
65
+ transition: opacity 0.3s ease-in-out; /* 부드러운 전환을 위한 애니메이션 */
66
+ }
67
+ }
68
+
69
+
70
+ nine-side-menu-foot {
71
+ display: flex;
72
+ --align-items: flex-start;
73
+ align-items: center; /* 수직 중앙 정렬 */
74
+ padding: 10px; /* 여백 추가 */
75
+ height: 40px;
76
+ }
32
77
 
33
78
  }
34
79
 
@@ -86,13 +131,6 @@
86
131
  }
87
132
  }
88
133
 
89
- :host(nine-side-menu-foot) {
90
- display: flex;
91
- --align-items: flex-start;
92
- align-items: center; /* 수직 중앙 정렬 */
93
- padding: 10px; /* 여백 추가 */
94
- height: 40px;
95
- }
96
134
 
97
135
 
98
136
  :host(nine-side-menu-item) {
@@ -310,89 +348,55 @@
310
348
  }
311
349
 
312
350
 
313
-
314
- :host(nine-side-menu-head) {
315
- display: flex;
316
- --align-items: flex-start;
317
- align-items: center; /* 수직 중앙 정렬 */
318
- padding: 10px; /* 여백 추가 */
319
- height: 40px;
320
- justify-content: center;
321
- --border: 2px solid red;
322
-
323
-
324
- .logo-box
325
- {
326
- color: #f0f0f0;
327
- white-space: nowrap;
328
- overflow: hidden;
329
- text-overflow: ellipsis;
330
- text-align: center;
331
- width: 100%;
332
- }
333
-
334
- .icon-box {
335
- display: flex;
336
- align-items: center;
337
- overflow: hidden;
338
- }
339
-
340
- .icon {
341
- fill: var(--icon-color); /* 아이콘 색상 */
342
- cursor: pointer;
343
- transition: opacity 0.3s ease-in-out; /* 부드러운 전환을 위한 애니메이션 */
344
- }
345
-
346
- .icon-box svg {
347
- display: none;
348
- opacity: 0;
349
- transition: opacity 0.3s ease-in-out; /* 부드러운 전환을 위한 애니메이션 */
351
+ /* 💡 부모 상태(collapse)에 따른 헤더 내부 엘리먼트 제어 명세 */
352
+ :host(nine-side-menu.collapse) {
353
+ nine-side-menu-head {
354
+ .logo-box {
355
+ width: 0;
356
+ transition: width 0.5s ease-out;
357
+ }
358
+ .icon:first-child {
359
+ display: block;
360
+ opacity: 1;
361
+ }
350
362
  }
351
-
352
- }
353
-
354
- /**
355
- :host(.collapse) .logo-box { justify-content: center; }
356
- :host(.collapse:hover) .logo-box, .logo-box { justify-content: space-between; }
357
- */
358
-
359
-
360
- :host(nine-side-menu-head.collapse) .logo-box {
361
- width: 0;
362
- transition: width 0.5s ease-out;
363
- }
364
- :host(nine-side-menu-head:not(.collapse)) .logo-box, :host(.hover) .logo-box {
365
- width: 100%;
366
- }
367
-
368
- :host(nine-side-menu-head.collapse) .icon:first-child {
369
- display: block;
370
- opacity: 1;
371
- }
372
-
373
- :host(nine-side-menu-head:not(.collapse)) .icon:first-child {
374
- display: none;
375
- opacity: 0;
376
363
  }
377
364
 
378
- :host(nine-side-menu-head:not(.collapse)) .icon:nth-child(2) {
379
- display: block;
380
- opacity: 1;
381
- }
382
-
383
- :host(nine-side-menu-head:not(.collapse)) .icon:nth-child(3) {
384
- display: none;
385
- opacity: 0;
386
- }
387
-
388
- :host(nine-side-menu-head:not(.collapse)) .icon-box:hover .icon:nth-child(2) {
389
- display: none;
390
- }
391
-
392
- :host(nine-side-menu-head:not(.collapse)) .icon-box:hover .icon:nth-child(3) {
393
- display: block;
394
- opacity: 1;
365
+ :host(nine-side-menu:not(.collapse)) {
366
+ /* 💡 부모 상태(not collapse)에 따른 헤더 내부 엘리먼트 제어 명세 */
367
+ nine-side-menu-head {
368
+ .logo-box {
369
+ width: 100%;
370
+ }
371
+ .icon:first-child {
372
+ display: none;
373
+ opacity: 0;
374
+ }
375
+ .icon:nth-child(2) {
376
+ display: block;
377
+ opacity: 1;
378
+ }
379
+ .icon:nth-child(3) {
380
+ display: none;
381
+ opacity: 0;
382
+ }
383
+ .icon-box:hover {
384
+ .icon:nth-child(2) {
385
+ display: none;
386
+ }
387
+ .icon:nth-child(3) {
388
+ display: block;
389
+ opacity: 1;
390
+ }
391
+ }
392
+ }
395
393
  }
396
394
 
397
-
398
-
395
+ /* 💡 부모 마우스 오버(.hover) 시 로고 박스 원상 복구 처리 */
396
+ :host(nine-side-menu.hover) {
397
+ nine-side-menu-head {
398
+ .logo-box {
399
+ width: 100%;
400
+ }
401
+ }
402
+ }
@@ -1,4 +1,4 @@
1
- import { B as p, c as n, r as o, P as u } from "./index-XSm_3Q4u.js";
1
+ import { B as p, c as n, r as o, P as u } from "./index-DHiXlXvA.js";
2
2
  class l extends p {
3
3
  constructor(e) {
4
4
  if (super(e), Object.defineProperty(this, "lc_serializable", {