@nine-lab/nine-ux 0.1.161 → 0.1.163

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,69 @@
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
+ nine-side-menu-body {
70
+ display: flex;
71
+ --align-items: flex-start;
72
+ align-items: center; /* 수직 중앙 정렬 */
73
+ padding: 10px; /* 여백 추가 */
74
+ justify-content: center;
75
+ height: 100%;
76
+ overflow: auto;
77
+
78
+ ul.side-menu-body {
79
+ width: 100%;
80
+ padding: 0;
81
+ margin: 0;
82
+ display: flex;
83
+ flex-direction: column;
84
+ --align-items: center;
85
+ }
86
+ }
87
+
88
+ nine-side-menu-foot {
89
+ display: flex;
90
+ --align-items: flex-start;
91
+ align-items: center; /* 수직 중앙 정렬 */
92
+ padding: 10px; /* 여백 추가 */
93
+ height: 40px;
94
+ }
32
95
 
33
96
  }
34
97
 
@@ -67,32 +130,8 @@
67
130
 
68
131
 
69
132
 
70
- :host(nine-side-menu-body) {
71
- display: flex;
72
- --align-items: flex-start;
73
- align-items: center; /* 수직 중앙 정렬 */
74
- padding: 10px; /* 여백 추가 */
75
- justify-content: center;
76
- height: 100%;
77
- overflow: auto;
78
133
 
79
- ul.side-menu-body {
80
- width: 100%;
81
- padding: 0;
82
- margin: 0;
83
- display: flex;
84
- flex-direction: column;
85
- --align-items: center;
86
- }
87
- }
88
134
 
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
135
 
97
136
 
98
137
  :host(nine-side-menu-item) {
@@ -310,89 +349,55 @@
310
349
  }
311
350
 
312
351
 
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; /* 부드러운 전환을 위한 애니메이션 */
352
+ /* 💡 부모 상태(collapse)에 따른 헤더 내부 엘리먼트 제어 명세 */
353
+ :host(nine-side-menu.collapse) {
354
+ nine-side-menu-head {
355
+ .logo-box {
356
+ width: 0;
357
+ transition: width 0.5s ease-out;
358
+ }
359
+ .icon:first-child {
360
+ display: block;
361
+ opacity: 1;
362
+ }
350
363
  }
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
364
  }
377
365
 
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;
366
+ :host(nine-side-menu:not(.collapse)) {
367
+ /* 💡 부모 상태(not collapse)에 따른 헤더 내부 엘리먼트 제어 명세 */
368
+ nine-side-menu-head {
369
+ .logo-box {
370
+ width: 100%;
371
+ }
372
+ .icon:first-child {
373
+ display: none;
374
+ opacity: 0;
375
+ }
376
+ .icon:nth-child(2) {
377
+ display: block;
378
+ opacity: 1;
379
+ }
380
+ .icon:nth-child(3) {
381
+ display: none;
382
+ opacity: 0;
383
+ }
384
+ .icon-box:hover {
385
+ .icon:nth-child(2) {
386
+ display: none;
387
+ }
388
+ .icon:nth-child(3) {
389
+ display: block;
390
+ opacity: 1;
391
+ }
392
+ }
393
+ }
395
394
  }
396
395
 
397
-
398
-
396
+ /* 💡 부모 마우스 오버(.hover) 시 로고 박스 원상 복구 처리 */
397
+ :host(nine-side-menu.hover) {
398
+ nine-side-menu-head {
399
+ .logo-box {
400
+ width: 100%;
401
+ }
402
+ }
403
+ }
@@ -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-CNacP4Gi.js";
2
2
  class l extends p {
3
3
  constructor(e) {
4
4
  if (super(e), Object.defineProperty(this, "lc_serializable", {