@iyulab/modern-app 0.3.1 → 0.3.3
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/CHANGELOG.md +38 -8
- package/dist/App.d.ts +0 -2
- package/dist/App.js +77 -108
- package/dist/_virtual/_@oxc-project_runtime@0.122.0/helpers/decorate.js +9 -0
- package/dist/_virtual/_@oxc-project_runtime@0.122.0/helpers/decorateMetadata.js +6 -0
- package/dist/components/SidebarButton.d.ts +0 -2
- package/dist/components/SidebarButton.js +23 -37
- package/dist/components/SidebarButton.styles.js +5 -5
- package/dist/components/SidebarGroup.d.ts +0 -2
- package/dist/components/SidebarGroup.js +32 -46
- package/dist/components/SidebarGroup.styles.js +5 -5
- package/dist/components/SidebarLink.d.ts +0 -2
- package/dist/components/SidebarLink.js +24 -46
- package/dist/components/SidebarLink.styles.js +5 -5
- package/dist/components/SidebarSection.d.ts +0 -2
- package/dist/components/SidebarSection.js +19 -34
- package/dist/components/SidebarSection.styles.js +4 -4
- package/dist/index.js +5 -5
- package/dist/internals/ScreenObserver.js +22 -36
- package/dist/internals/StyledElement.d.ts +0 -1
- package/dist/internals/StyledElement.js +43 -57
- package/dist/layouts/SidebarLayout.d.ts +5 -25
- package/dist/layouts/SidebarLayout.js +80 -127
- package/dist/layouts/SidebarLayout.styles.js +4 -4
- package/dist/types/AppOptions.d.ts +2 -2
- package/package.json +5 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,14 +1,48 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.3.3 (2026-04-01)
|
|
4
|
+
|
|
5
|
+
### Fixes
|
|
6
|
+
- **Sidebar 컴포넌트 customElement 등록명 수정**: `sidebar-*` → `u-sidebar-*` 접두사 추가
|
|
7
|
+
- `SidebarButton`, `SidebarGroup`, `SidebarLink`, `SidebarSection` 4개 컴포넌트
|
|
8
|
+
- `SidebarLayout` 템플릿에서 `u-sidebar-*`로 참조하지만 등록은 `sidebar-*`로 되어 있어 렌더링 안 되던 버그 수정
|
|
9
|
+
|
|
10
|
+
## 0.3.2 (2026-04-01)
|
|
11
|
+
|
|
12
|
+
### Breaking Changes
|
|
13
|
+
- **`@iyulab/components` major upgrade**: `^0.4.0` → `^1.0.0`
|
|
14
|
+
- `Notifier` → `Toast` API migration
|
|
15
|
+
- `AlertType` → `AlertStatus`, `ScreenPosition` → `ToastPosition` type rename
|
|
16
|
+
- `IconRegistry` import path: `utilities/IconRegistry.js` → `utilities/icons.js`
|
|
17
|
+
- Component import style: `.component.js` → side-effect import (`UIcon.js`, `UButton.js`, etc.)
|
|
18
|
+
|
|
19
|
+
### Refactor
|
|
20
|
+
- **Component registration migration**: Removed `static dependencies` pattern → `@customElement` decorator + side-effect import
|
|
21
|
+
- **Simplified Toast API**: Removed `private notify()` method from `App` class, each notification method now calls `Toast.notice()`, etc. directly
|
|
22
|
+
|
|
23
|
+
### Fixes
|
|
24
|
+
- Changed `updated()` → `willUpdate()` in `SidebarLayout` to resolve update-in-update anti-pattern
|
|
25
|
+
- Switched `SidebarLayout` icon library from inline `sidebar-app` to `bootstrap`, removed inline SVG registration code
|
|
26
|
+
|
|
27
|
+
### Dependencies
|
|
28
|
+
- `@iyulab/components` ^0.4.0 → ^1.0.0
|
|
29
|
+
- `i18next` ^25.8.13 → ^25.10.10
|
|
30
|
+
- `vite` ^7.3.1 → ^8.0.3
|
|
31
|
+
- `@types/node` ^25.3.2 → ^25.5.0
|
|
32
|
+
|
|
3
33
|
## 0.3.1 (2026-03-05)
|
|
4
34
|
|
|
5
35
|
### Breaking Changes
|
|
6
|
-
- **Slot
|
|
36
|
+
- **Slot-based Outlet structure**: Replaced `<u-outlet>` inside `SidebarLayout` with `<slot>`, and moved `<u-outlet>` to Light DOM in `App`. This allows external CSS to apply correctly during React routing
|
|
7
37
|
|
|
8
38
|
### Changes
|
|
9
|
-
- **BaseElement → UElement
|
|
10
|
-
- **SidebarLinkConfig**: `type`
|
|
11
|
-
- **import
|
|
39
|
+
- **BaseElement → UElement migration**: Changed base class of all components from `BaseElement` to `UElement`
|
|
40
|
+
- **SidebarLinkConfig**: Changed `type` property from optional to required
|
|
41
|
+
- **Fixed import paths**: Corrected casing for `Theme.js`, `Notifier.js`, etc.
|
|
42
|
+
|
|
43
|
+
### Fixes
|
|
44
|
+
- Removed duplicate `color` property in `SidebarButton.styles.ts`
|
|
45
|
+
- Cleaned up unused callback parameters in `repeat` directive
|
|
12
46
|
|
|
13
47
|
### Dependencies
|
|
14
48
|
- `@iyulab/components` ^0.2.0 → ^0.4.0
|
|
@@ -16,10 +50,6 @@
|
|
|
16
50
|
- `i18next` ^25.8.0 → ^25.8.13
|
|
17
51
|
- `@types/node` ^25.0.9 → ^25.3.2
|
|
18
52
|
|
|
19
|
-
### Fixes
|
|
20
|
-
- `SidebarButton.styles.ts`에서 중복된 `color` 속성 제거
|
|
21
|
-
- `repeat` 디렉티브의 미사용 콜백 파라미터 정리
|
|
22
|
-
|
|
23
53
|
## 0.3.0 (2026-01-21)
|
|
24
54
|
|
|
25
55
|
### Breaking Changes
|
package/dist/App.d.ts
CHANGED
|
@@ -41,8 +41,6 @@ declare class App {
|
|
|
41
41
|
success(message: string, options?: NotificationOptions): Promise<void>;
|
|
42
42
|
/** 에러 메시지 */
|
|
43
43
|
error(message: string, options?: NotificationOptions): Promise<void>;
|
|
44
|
-
/** 알림 표시 */
|
|
45
|
-
private notify;
|
|
46
44
|
/** 레이아웃 생성 */
|
|
47
45
|
private createLayout;
|
|
48
46
|
}
|
package/dist/App.js
CHANGED
|
@@ -1,108 +1,77 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
class o {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
}
|
|
79
|
-
/** 에러 메시지 */
|
|
80
|
-
async error(t, e) {
|
|
81
|
-
await this.notify("error", t, e);
|
|
82
|
-
}
|
|
83
|
-
/** 알림 표시 */
|
|
84
|
-
async notify(t, e, i) {
|
|
85
|
-
await c.toast({
|
|
86
|
-
type: t,
|
|
87
|
-
content: e,
|
|
88
|
-
heading: i?.title,
|
|
89
|
-
duration: i?.duration || 3e3,
|
|
90
|
-
position: i?.position || "top-right"
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
/** 레이아웃 생성 */
|
|
94
|
-
async createLayout(t, e) {
|
|
95
|
-
t === document.body && (document.body.style.margin = "0", document.body.style.width = "100vw", document.body.style.height = "100vh");
|
|
96
|
-
let i;
|
|
97
|
-
if (e.type === "sidebar") {
|
|
98
|
-
const { SidebarLayout: a } = await import("./layouts/SidebarLayout.js"), s = new a();
|
|
99
|
-
s.config = e, i = s;
|
|
100
|
-
} else
|
|
101
|
-
throw new Error(`Unsupported layout type: ${e.type}`);
|
|
102
|
-
return t.appendChild(i), "updateComplete" in i && await i.updateComplete, i;
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
const _ = o.instance;
|
|
106
|
-
export {
|
|
107
|
-
_ as app
|
|
108
|
-
};
|
|
1
|
+
import { ScreenObserver as e } from "./internals/ScreenObserver.js";
|
|
2
|
+
import t from "i18next";
|
|
3
|
+
import { Router as n } from "@iyulab/router";
|
|
4
|
+
import { setDefaultBaseUrl as r } from "@iyulab/components/dist/utilities/icons.js";
|
|
5
|
+
import { Theme as i } from "@iyulab/components/dist/utilities/Theme.js";
|
|
6
|
+
import { Toast as a } from "@iyulab/components/dist/utilities/Toast.js";
|
|
7
|
+
var o = class o {
|
|
8
|
+
constructor() {}
|
|
9
|
+
static get instance() {
|
|
10
|
+
return o._instance ||= new o(), o._instance;
|
|
11
|
+
}
|
|
12
|
+
get config() {
|
|
13
|
+
return this._config;
|
|
14
|
+
}
|
|
15
|
+
get router() {
|
|
16
|
+
return this._router;
|
|
17
|
+
}
|
|
18
|
+
get screen() {
|
|
19
|
+
return this._screen?.get();
|
|
20
|
+
}
|
|
21
|
+
get theme() {
|
|
22
|
+
return i;
|
|
23
|
+
}
|
|
24
|
+
get i18n() {
|
|
25
|
+
return t;
|
|
26
|
+
}
|
|
27
|
+
async load(a) {
|
|
28
|
+
if (this.unload(), this._config = a, await i.init(a.theme), a.iconBasepath && r(a.iconBasepath), a.i18n) {
|
|
29
|
+
for (let e of a.i18n.plugins || []) t.use(e);
|
|
30
|
+
await t.init(a.i18n);
|
|
31
|
+
}
|
|
32
|
+
let o = a.root || document.body;
|
|
33
|
+
this._layout = await this.createLayout(o, a.layout), this._screen = new e({
|
|
34
|
+
element: o,
|
|
35
|
+
breakpoints: a.layout.breakpoints || [768, 1024]
|
|
36
|
+
});
|
|
37
|
+
let s = document.createElement("u-outlet");
|
|
38
|
+
this._layout.appendChild(s), this._router = new n({
|
|
39
|
+
root: this._layout,
|
|
40
|
+
basepath: a.basepath,
|
|
41
|
+
routes: a.routes,
|
|
42
|
+
fallback: a.fallback
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
unload() {
|
|
46
|
+
this._screen &&= (this._screen.destroy(), void 0), this._layout &&= (this._layout.remove(), void 0), this._router &&= (this._router.destroy(), void 0), this._config &&= void 0;
|
|
47
|
+
}
|
|
48
|
+
navigate(e) {
|
|
49
|
+
this._router?.go(e);
|
|
50
|
+
}
|
|
51
|
+
async notice(e, t) {
|
|
52
|
+
await a.notice(e, { ...t });
|
|
53
|
+
}
|
|
54
|
+
async info(e, t) {
|
|
55
|
+
await a.info(e, { ...t });
|
|
56
|
+
}
|
|
57
|
+
async warning(e, t) {
|
|
58
|
+
await a.warning(e, { ...t });
|
|
59
|
+
}
|
|
60
|
+
async success(e, t) {
|
|
61
|
+
await a.success(e, { ...t });
|
|
62
|
+
}
|
|
63
|
+
async error(e, t) {
|
|
64
|
+
await a.error(e, { ...t });
|
|
65
|
+
}
|
|
66
|
+
async createLayout(e, t) {
|
|
67
|
+
e === document.body && (document.body.style.margin = "0", document.body.style.width = "100vw", document.body.style.height = "100vh");
|
|
68
|
+
let n;
|
|
69
|
+
if (t.type === "sidebar") {
|
|
70
|
+
let { SidebarLayout: e } = await import("./layouts/SidebarLayout.js"), r = new e();
|
|
71
|
+
r.config = t, n = r;
|
|
72
|
+
} else throw Error(`Unsupported layout type: ${t.type}`);
|
|
73
|
+
return e.appendChild(n), "updateComplete" in n && await n.updateComplete, n;
|
|
74
|
+
}
|
|
75
|
+
}.instance;
|
|
76
|
+
//#endregion
|
|
77
|
+
export { o as app };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
//#region \0@oxc-project+runtime@0.122.0/helpers/decorate.js
|
|
2
|
+
function e(e, t, n, r) {
|
|
3
|
+
var i = arguments.length, a = i < 3 ? t : r === null ? r = Object.getOwnPropertyDescriptor(t, n) : r, o;
|
|
4
|
+
if (typeof Reflect == "object" && typeof Reflect.decorate == "function") a = Reflect.decorate(e, t, n, r);
|
|
5
|
+
else for (var s = e.length - 1; s >= 0; s--) (o = e[s]) && (a = (i < 3 ? o(a) : i > 3 ? o(t, n, a) : o(t, n)) || a);
|
|
6
|
+
return i > 3 && a && Object.defineProperty(t, n, a), a;
|
|
7
|
+
}
|
|
8
|
+
//#endregion
|
|
9
|
+
export { e as __decorate };
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { DirectiveResult } from 'lit/directive.js';
|
|
2
|
-
import { UElement } from '@iyulab/components/dist/components/UElement.js';
|
|
3
2
|
import { StyledElement, StyleMap } from '../internals/StyledElement.js';
|
|
4
3
|
/** 버튼 항목 부분 */
|
|
5
4
|
type ElementParts = 'host' | 'base' | 'icon' | 'label';
|
|
@@ -16,7 +15,6 @@ export interface SidebarButtonConfig {
|
|
|
16
15
|
*/
|
|
17
16
|
export declare class SidebarButton extends StyledElement<ElementParts> {
|
|
18
17
|
static styles: import('lit').CSSResultGroup[];
|
|
19
|
-
static dependencies: Record<string, typeof UElement>;
|
|
20
18
|
/** 콤팩트 모드 여부 */
|
|
21
19
|
compact: boolean;
|
|
22
20
|
/** 기본 u-icon 경로의 아이콘 이름 */
|
|
@@ -1,27 +1,20 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
static {
|
|
19
|
-
this.dependencies = {
|
|
20
|
-
"u-icon": l
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
render() {
|
|
24
|
-
return c`
|
|
1
|
+
import { __decorateMetadata as e } from "../_virtual/_@oxc-project_runtime@0.122.0/helpers/decorateMetadata.js";
|
|
2
|
+
import { __decorate as t } from "../_virtual/_@oxc-project_runtime@0.122.0/helpers/decorate.js";
|
|
3
|
+
import { StyledElement as n } from "../internals/StyledElement.js";
|
|
4
|
+
import { styles as r } from "./SidebarButton.styles.js";
|
|
5
|
+
import { html as i } from "lit";
|
|
6
|
+
import { customElement as a, property as o } from "lit/decorators.js";
|
|
7
|
+
import "@iyulab/components/dist/components/icon/UIcon.js";
|
|
8
|
+
//#region src/components/SidebarButton.ts
|
|
9
|
+
var s = class extends n {
|
|
10
|
+
constructor(...e) {
|
|
11
|
+
super(...e), this.compact = !1;
|
|
12
|
+
}
|
|
13
|
+
static {
|
|
14
|
+
this.styles = [super.styles, r];
|
|
15
|
+
}
|
|
16
|
+
render() {
|
|
17
|
+
return i`
|
|
25
18
|
<button part="base" ?compact=${this.compact}>
|
|
26
19
|
<u-icon part="icon" ?hidden=${!this.icon}
|
|
27
20
|
.name=${this.icon}
|
|
@@ -31,17 +24,10 @@ class i extends m {
|
|
|
31
24
|
</span>
|
|
32
25
|
</button>
|
|
33
26
|
`;
|
|
34
|
-
|
|
35
|
-
}
|
|
36
|
-
p([
|
|
37
|
-
o({ type: Boolean, reflect: !0 })
|
|
38
|
-
], i.prototype, "compact");
|
|
39
|
-
p([
|
|
40
|
-
o({ type: String })
|
|
41
|
-
], i.prototype, "icon");
|
|
42
|
-
p([
|
|
43
|
-
o({ type: String })
|
|
44
|
-
], i.prototype, "label");
|
|
45
|
-
export {
|
|
46
|
-
i as SidebarButton
|
|
27
|
+
}
|
|
47
28
|
};
|
|
29
|
+
t([o({
|
|
30
|
+
type: Boolean,
|
|
31
|
+
reflect: !0
|
|
32
|
+
}), e("design:type", Object)], s.prototype, "compact", void 0), t([o({ type: String }), e("design:type", String)], s.prototype, "icon", void 0), t([o({ type: String }), e("design:type", Object)], s.prototype, "label", void 0), s = t([a("u-sidebar-button")], s);
|
|
33
|
+
//#endregion
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { css as
|
|
2
|
-
|
|
1
|
+
import { css as e } from "lit";
|
|
2
|
+
//#region src/components/SidebarButton.styles.ts
|
|
3
|
+
var t = e`
|
|
3
4
|
:host {
|
|
4
5
|
display: block;
|
|
5
6
|
width: 100%;
|
|
@@ -54,6 +55,5 @@ const e = o`
|
|
|
54
55
|
text-overflow: ellipsis;
|
|
55
56
|
}
|
|
56
57
|
`;
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
};
|
|
58
|
+
//#endregion
|
|
59
|
+
export { t as styles };
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { DirectiveResult } from 'lit/directive.js';
|
|
2
|
-
import { UElement } from '@iyulab/components/dist/components/UElement.js';
|
|
3
2
|
import { StyledElement, StyleMap } from '../internals/StyledElement.js';
|
|
4
3
|
import { SidebarLinkConfig } from './SidebarLink.js';
|
|
5
4
|
type ElementParts = 'host' | 'header' | 'icon' | 'label' | 'caret' | 'items';
|
|
@@ -18,7 +17,6 @@ export interface SidebarGroupConfig {
|
|
|
18
17
|
*/
|
|
19
18
|
export declare class SidebarGroup extends StyledElement<ElementParts> {
|
|
20
19
|
static styles: import('lit').CSSResultGroup[];
|
|
21
|
-
static dependencies: Record<string, typeof UElement>;
|
|
22
20
|
/** 콤팩트 모드 여부 */
|
|
23
21
|
compact: boolean;
|
|
24
22
|
/** 선택된 상태 */
|
|
@@ -1,30 +1,23 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
static {
|
|
22
|
-
this.dependencies = {
|
|
23
|
-
"u-icon": d
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
render() {
|
|
27
|
-
return p`
|
|
1
|
+
import { __decorateMetadata as e } from "../_virtual/_@oxc-project_runtime@0.122.0/helpers/decorateMetadata.js";
|
|
2
|
+
import { __decorate as t } from "../_virtual/_@oxc-project_runtime@0.122.0/helpers/decorate.js";
|
|
3
|
+
import { StyledElement as n } from "../internals/StyledElement.js";
|
|
4
|
+
import { SidebarLink as r } from "./SidebarLink.js";
|
|
5
|
+
import { styles as i } from "./SidebarGroup.styles.js";
|
|
6
|
+
import { html as a } from "lit";
|
|
7
|
+
import { customElement as o, property as s } from "lit/decorators.js";
|
|
8
|
+
import "@iyulab/components/dist/components/icon/UIcon.js";
|
|
9
|
+
//#region src/components/SidebarGroup.ts
|
|
10
|
+
var c = class extends n {
|
|
11
|
+
constructor(...e) {
|
|
12
|
+
super(...e), this.compact = !1, this.selected = !1, this.collapsed = !0, this.handleButtonClick = (e) => {
|
|
13
|
+
this.compact ? ((this.shadowRoot?.querySelector("slot")?.assignedElements({ flatten: !0 }).find((e) => e instanceof r))?.renderRoot.querySelector("u-link"))?.click() : this.collapsed = !this.collapsed;
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
static {
|
|
17
|
+
this.styles = [super.styles, i];
|
|
18
|
+
}
|
|
19
|
+
render() {
|
|
20
|
+
return a`
|
|
28
21
|
<button part="header"
|
|
29
22
|
?compact=${this.compact}
|
|
30
23
|
?selected=${this.selected}
|
|
@@ -47,23 +40,16 @@ class s extends h {
|
|
|
47
40
|
<slot></slot>
|
|
48
41
|
</div>
|
|
49
42
|
`;
|
|
50
|
-
|
|
51
|
-
}
|
|
52
|
-
o([
|
|
53
|
-
e({ type: Boolean, reflect: !0 })
|
|
54
|
-
], s.prototype, "compact");
|
|
55
|
-
o([
|
|
56
|
-
e({ type: Boolean, reflect: !0 })
|
|
57
|
-
], s.prototype, "selected");
|
|
58
|
-
o([
|
|
59
|
-
e({ type: Boolean, reflect: !0 })
|
|
60
|
-
], s.prototype, "collapsed");
|
|
61
|
-
o([
|
|
62
|
-
e({ type: String })
|
|
63
|
-
], s.prototype, "icon");
|
|
64
|
-
o([
|
|
65
|
-
e({ type: String })
|
|
66
|
-
], s.prototype, "label");
|
|
67
|
-
export {
|
|
68
|
-
s as SidebarGroup
|
|
43
|
+
}
|
|
69
44
|
};
|
|
45
|
+
t([s({
|
|
46
|
+
type: Boolean,
|
|
47
|
+
reflect: !0
|
|
48
|
+
}), e("design:type", Boolean)], c.prototype, "compact", void 0), t([s({
|
|
49
|
+
type: Boolean,
|
|
50
|
+
reflect: !0
|
|
51
|
+
}), e("design:type", Boolean)], c.prototype, "selected", void 0), t([s({
|
|
52
|
+
type: Boolean,
|
|
53
|
+
reflect: !0
|
|
54
|
+
}), e("design:type", Boolean)], c.prototype, "collapsed", void 0), t([s({ type: String }), e("design:type", String)], c.prototype, "icon", void 0), t([s({ type: String }), e("design:type", Object)], c.prototype, "label", void 0), c = t([o("u-sidebar-group")], c);
|
|
55
|
+
//#endregion
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { css as
|
|
2
|
-
|
|
1
|
+
import { css as e } from "lit";
|
|
2
|
+
//#region src/components/SidebarGroup.styles.ts
|
|
3
|
+
var t = e`
|
|
3
4
|
:host {
|
|
4
5
|
display: flex;
|
|
5
6
|
flex-direction: column;
|
|
@@ -83,6 +84,5 @@ const t = o`
|
|
|
83
84
|
opacity: 0;
|
|
84
85
|
}
|
|
85
86
|
`;
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
};
|
|
87
|
+
//#endregion
|
|
88
|
+
export { t as styles };
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { DirectiveResult } from 'lit/directive.js';
|
|
2
|
-
import { UElement } from '@iyulab/components/dist/components/UElement.js';
|
|
3
2
|
import { StyledElement, StyleMap } from '../internals/StyledElement.js';
|
|
4
3
|
type ElementParts = 'host' | 'base' | 'icon' | 'label';
|
|
5
4
|
/** 링크 항목 디폴트 타입 */
|
|
@@ -17,7 +16,6 @@ export interface SidebarLinkConfig {
|
|
|
17
16
|
*/
|
|
18
17
|
export declare class SidebarLink extends StyledElement<ElementParts> {
|
|
19
18
|
static styles: import('lit').CSSResultGroup[];
|
|
20
|
-
static dependencies: Record<string, typeof UElement>;
|
|
21
19
|
/** selected 상태 */
|
|
22
20
|
selected: boolean;
|
|
23
21
|
/** 콤팩트 모드 여부 */
|
|
@@ -1,27 +1,20 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
static {
|
|
19
|
-
this.dependencies = {
|
|
20
|
-
"u-icon": l
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
render() {
|
|
24
|
-
return c`
|
|
1
|
+
import { __decorateMetadata as e } from "../_virtual/_@oxc-project_runtime@0.122.0/helpers/decorateMetadata.js";
|
|
2
|
+
import { __decorate as t } from "../_virtual/_@oxc-project_runtime@0.122.0/helpers/decorate.js";
|
|
3
|
+
import { StyledElement as n } from "../internals/StyledElement.js";
|
|
4
|
+
import { styles as r } from "./SidebarLink.styles.js";
|
|
5
|
+
import { html as i } from "lit";
|
|
6
|
+
import { customElement as a, property as o } from "lit/decorators.js";
|
|
7
|
+
import "@iyulab/components/dist/components/icon/UIcon.js";
|
|
8
|
+
//#region src/components/SidebarLink.ts
|
|
9
|
+
var s = class extends n {
|
|
10
|
+
constructor(...e) {
|
|
11
|
+
super(...e), this.selected = !1, this.compact = !1;
|
|
12
|
+
}
|
|
13
|
+
static {
|
|
14
|
+
this.styles = [super.styles, r];
|
|
15
|
+
}
|
|
16
|
+
render() {
|
|
17
|
+
return i`
|
|
25
18
|
<u-link .href=${this.href || "#"}>
|
|
26
19
|
<div class="container" part="base" ?compact=${this.compact}>
|
|
27
20
|
<u-icon part="icon" ?hidden=${!this.icon}
|
|
@@ -33,26 +26,11 @@ class o extends m {
|
|
|
33
26
|
</div>
|
|
34
27
|
</u-link>
|
|
35
28
|
`;
|
|
36
|
-
|
|
37
|
-
}
|
|
38
|
-
r([
|
|
39
|
-
e({ type: Boolean, reflect: !0 })
|
|
40
|
-
], o.prototype, "selected");
|
|
41
|
-
r([
|
|
42
|
-
e({ type: Boolean })
|
|
43
|
-
], o.prototype, "compact");
|
|
44
|
-
r([
|
|
45
|
-
e({ type: String })
|
|
46
|
-
], o.prototype, "icon");
|
|
47
|
-
r([
|
|
48
|
-
e({ type: String })
|
|
49
|
-
], o.prototype, "label");
|
|
50
|
-
r([
|
|
51
|
-
e({ type: String })
|
|
52
|
-
], o.prototype, "href");
|
|
53
|
-
r([
|
|
54
|
-
e({ type: String })
|
|
55
|
-
], o.prototype, "pattern");
|
|
56
|
-
export {
|
|
57
|
-
o as SidebarLink
|
|
29
|
+
}
|
|
58
30
|
};
|
|
31
|
+
t([o({
|
|
32
|
+
type: Boolean,
|
|
33
|
+
reflect: !0
|
|
34
|
+
}), e("design:type", Object)], s.prototype, "selected", void 0), t([o({ type: Boolean }), e("design:type", Object)], s.prototype, "compact", void 0), t([o({ type: String }), e("design:type", String)], s.prototype, "icon", void 0), t([o({ type: String }), e("design:type", Object)], s.prototype, "label", void 0), t([o({ type: String }), e("design:type", String)], s.prototype, "href", void 0), t([o({ type: String }), e("design:type", Object)], s.prototype, "pattern", void 0), s = t([a("u-sidebar-link")], s);
|
|
35
|
+
//#endregion
|
|
36
|
+
export { s as SidebarLink };
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { css as
|
|
2
|
-
|
|
1
|
+
import { css as e } from "lit";
|
|
2
|
+
//#region src/components/SidebarLink.styles.ts
|
|
3
|
+
var t = e`
|
|
3
4
|
:host {
|
|
4
5
|
display: block;
|
|
5
6
|
color: var(--u-neutral-800);
|
|
@@ -53,6 +54,5 @@ const e = o`
|
|
|
53
54
|
text-overflow: ellipsis;
|
|
54
55
|
}
|
|
55
56
|
`;
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
};
|
|
57
|
+
//#endregion
|
|
58
|
+
export { t as styles };
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { DirectiveResult } from 'lit/directive.js';
|
|
2
|
-
import { UElement } from '@iyulab/components/dist/components/UElement.js';
|
|
3
2
|
import { StyledElement, StyleMap } from '../internals/StyledElement.js';
|
|
4
3
|
import { SidebarLinkConfig } from './SidebarLink.js';
|
|
5
4
|
import { SidebarGroupConfig } from './SidebarGroup.js';
|
|
@@ -17,7 +16,6 @@ export interface SidebarSectionConfig {
|
|
|
17
16
|
*/
|
|
18
17
|
export declare class SidebarSection extends StyledElement<ElementParts> {
|
|
19
18
|
static styles: import('lit').CSSResultGroup[];
|
|
20
|
-
static dependencies: Record<string, typeof UElement>;
|
|
21
19
|
/** 콤팩트 모드 여부 */
|
|
22
20
|
compact: boolean;
|
|
23
21
|
/** 네비게이션 아이템 데이터 */
|