@cubit-ui/core 1.0.1 → 2.0.0

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/LICENSE CHANGED
@@ -1,21 +1,60 @@
1
- MIT License
2
-
3
- Copyright (c) 2026 Cubit UI
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ Cubit UI — Tsuel Liberty License (TLL-BY-NC-ND)
2
+ Copyright (c) 2026 Tsuel (tsuel-dev)
3
+
4
+ [한국어 — 기준 문구 / Korean — authoritative text]
5
+
6
+ 이 소프트웨어(Cubit UI)와 관련 문서는 아래 조건에 따라서만 이용이 허락됩니다.
7
+ 아래 조건을 모두 지키는 경우에 한해, 이용자는 이 저작물을 복제하고 그대로(수정 없이) 이용할 수 있습니다.
8
+
9
+ === TLL-BY-NC-ND (Tsuel Liberty License) ===
10
+
11
+ 이 문서는 법적 효력에 대해 전문가(변호사) 검토가 필요하며, 자동 생성된 문구는 법률 자문이 아닙니다.
12
+
13
+ 저작자 표시 의무
14
+ 이용자는 저작물을 이용할 때 원저작자 'Tsuel (tsuel-dev)'을(를) 이름 + 링크(웹사이트) 방식으로 명시해야 합니다.
15
+ 비영리 이용 제한
16
+ 이 저작물은 어떠한 형태의 영리적 목적이나 상업적 이익을 위한 용도로 이용될 수 없습니다.
17
+ 변경 및 2차 저작물 제작 금지
18
+ 이 저작물을 수정, 변형하거나 이를 바탕으로 한 새로운 2차적 저작물을 작성하여 배포할 수 없습니다.
19
+ 지역적 효력 범위
20
+ 명시된 지역(북한(KP), 중국(CN), 러시아(RU))에서는 본 저작물의 이용이 제한되며, 그 외 지역에서만 유효합니다.
21
+ 인공지능 모델 학습 권한
22
+ 본 저작물을 인공지능 또는 기계학습 모델의 데이터셋으로 수집하거나 학습시키는 행위를 엄격히 금지합니다.
23
+
24
+ 한국어 문구가 기준이며 다른 언어와 다르면 한국어가 우선합니다.
25
+ 라이선스 상세 링크: https://tll.mataku.org/?lang=ko#/detail?by=1&attr=Tsuel+%28tsuel-dev%29&cm=nameLink&sa=0&nc=1&nd=1&reg_e=1&reg_m=forbid&reg_l=%EB%B6%81%ED%95%9C%28KP%29%2C+%EC%A4%91%EA%B5%AD%28CN%29%2C+%EB%9F%AC%EC%8B%9C%EC%95%84%28RU%29&ad=none&ai=deny
26
+
27
+ 보증 없음: 이 저작물은 "있는 그대로" 제공되며, 상품성·특정 목적 적합성·권리 비침해를 포함하여 명시적이든 묵시적이든 어떠한 보증도 하지 않습니다. 저작자는 이 저작물의 이용과 관련하여 발생하는 어떠한 손해에 대해서도 책임지지 않습니다.
28
+
29
+ 이전 버전: 이 라이선스가 적용되기 전에 MIT 라이선스로 배포된 버전(npm @cubit-ui/* 1.0.0, 1.1.0 및 그 이전 커밋)에는 계속해서 MIT 라이선스가 적용됩니다. 전문은 LICENSE-MIT 파일을 참고하세요. 이미 부여된 MIT 이용 허락은 취소되지 않습니다.
30
+
31
+ ------------------------------------------------------------------------
32
+
33
+ [English — translation / 번역]
34
+
35
+ This software (Cubit UI) and its documentation are licensed only under the conditions below.
36
+ Provided you comply with all of them, you may copy and use this work unmodified.
37
+
38
+ === TLL-BY-NC-ND (Tsuel Liberty License) ===
39
+
40
+ This document needs review by a legal professional (lawyer) to confirm its legal effect. Automatically generated text is not legal advice.
41
+
42
+ Attribution Requirement
43
+ Users must credit the original author 'Tsuel (tsuel-dev)' using the Name + Link (Website) method.
44
+ Non-Commercial Restriction
45
+ This work cannot be used for any commercial purpose or monetary gain.
46
+ Prohibition on Modifications and Derivatives
47
+ You may not modify, transform, or build upon this work to distribute new derivative works.
48
+ Geographical Scope
49
+ Use of this work is prohibited in the specified regions (North Korea (KP), China (CN), Russia (RU)). It is valid in all other regions.
50
+ AI Training Permissions
51
+ Collecting or using this work to train AI or machine learning models is strictly prohibited.
52
+
53
+ Korean text is the reference. If another language differs, the Korean text applies.
54
+ License details link: https://tll.mataku.org/?lang=en#/detail?by=1&attr=Tsuel+%28tsuel-dev%29&cm=nameLink&sa=0&nc=1&nd=1&reg_e=1&reg_m=forbid&reg_l=North+Korea+%28KP%29%2C+China+%28CN%29%2C+Russia+%28RU%29&ad=none&ai=deny&lang=en
55
+
56
+ NO WARRANTY: This work is provided "as is", without warranty of any kind, express or implied, including but not limited to merchantability, fitness for a particular purpose, and non-infringement. The author is not liable for any damages arising from the use of this work.
57
+
58
+ Earlier versions: Versions released under the MIT License before this license took effect (npm @cubit-ui/* 1.0.0, 1.1.0 and earlier commits) remain under the MIT License. See the LICENSE-MIT file. MIT permissions that were already granted are not revoked.
59
+
60
+ TLL (Tsuel Liberty License) is a custom license and is not a Creative Commons license.
package/README.md CHANGED
@@ -1,30 +1,30 @@
1
- # @cubit-ui/core
2
-
3
- Cubit UI core: 25 framework-agnostic Web Components (Custom Elements + Shadow DOM). Load the token CSS from `@cubit-ui/tokens` as well.
4
-
5
- > **Language notice:** The Korean README ([README.md](https://github.com/tsuel-dev/Cubit/blob/main/README.md)) in the repository root always takes precedence. If this document differs from it or is inaccurate, the Korean README prevails.
6
-
7
- ## Install
8
-
9
- ```bash
10
- npm install @cubit-ui/core
11
- ```
12
-
13
- ## Usage
14
-
15
- ```ts
16
- import '@cubit-ui/core';
17
- ```
18
-
19
- ```html
20
- <ui-button variant="primary">Save</ui-button>
21
- <ui-input placeholder="Name"></ui-input>
22
- ```
23
-
24
- ## Links
25
-
26
- - Repository & full documentation: <https://github.com/tsuel-dev/Cubit>
27
- - Issues: <https://github.com/tsuel-dev/Cubit/issues>
28
- - Contact (legal, licensing, security): github@mataku.org
29
-
30
- License: MIT
1
+ # @cubit-ui/core
2
+
3
+ Cubit UI core: 25 framework-agnostic Web Components (Custom Elements + Shadow DOM). Load the token CSS from `@cubit-ui/tokens` as well.
4
+
5
+ > **Language notice:** The Korean README ([README.md](https://github.com/tsuel-dev/Cubit/blob/main/README.md)) in the repository root always takes precedence. If this document differs from it or is inaccurate, the Korean README prevails.
6
+
7
+ ## Install
8
+
9
+ ```bash
10
+ npm install @cubit-ui/core
11
+ ```
12
+
13
+ ## Usage
14
+
15
+ ```ts
16
+ import '@cubit-ui/core';
17
+ ```
18
+
19
+ ```html
20
+ <ui-button variant="primary">Save</ui-button>
21
+ <ui-input placeholder="Name"></ui-input>
22
+ ```
23
+
24
+ ## Links
25
+
26
+ - Repository & full documentation: <https://github.com/tsuel-dev/Cubit>
27
+ - Issues: <https://github.com/tsuel-dev/Cubit/issues>
28
+ - Contact (legal, licensing, security): github@mataku.org
29
+
30
+ License: TLL-BY-NC-ND (Tsuel Liberty License) — see [LICENSE](./LICENSE). Versions up to 1.1.0 remain under MIT.
@@ -3,9 +3,18 @@
3
3
  * Shadow DOM 생성, 속성 감시, 렌더링 라이프사이클 및 커스텀 이벤트 헬퍼
4
4
  */
5
5
  export declare abstract class UIElement extends HTMLElement {
6
+ /** 폼 참여(name/value 제출, reset, fieldset disabled)가 필요한 컴포넌트는 true 로 오버라이드 */
7
+ static formAssociated: boolean;
6
8
  protected root: ShadowRoot;
9
+ protected internals: ElementInternals | null;
10
+ /** 상위 <fieldset disabled> 등 폼이 부여한 비활성 상태 (속성 disabled 와 별개) */
11
+ protected formDisabled: boolean;
7
12
  private lifecycleAbort;
8
13
  constructor();
14
+ /** 폼 제출 값 설정. null 이면 제출에서 제외된다. */
15
+ protected setFormValue(value: string | null): void;
16
+ /** <fieldset disabled> 등으로 폼이 비활성/활성 상태를 바꿀 때 브라우저가 호출한다. */
17
+ formDisabledCallback(disabled: boolean): void;
9
18
  connectedCallback(): void;
10
19
  disconnectedCallback(): void;
11
20
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ui-element.d.ts","sourceRoot":"","sources":["../../src/base/ui-element.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,8BAAsB,SAAU,SAAQ,WAAW;IACjD,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC;IAC3B,OAAO,CAAC,cAAc,CAAgC;;IAOtD,iBAAiB,IAAI,IAAI;IAOzB,oBAAoB,IAAI,IAAI;IAM5B;;;OAGG;IACH,SAAS,CAAC,MAAM,CAAC,CAAC,SAAS,MAAM,mBAAmB,EAClD,IAAI,EAAE,CAAC,EACP,OAAO,EAAE,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC,KAAK,IAAI,GAC/C,IAAI;IACP,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI;IAK5D;;OAEG;IACH,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM;IAS5C;;OAEG;IACH,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAQxC,wBAAwB,CACtB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,GACtB,IAAI;IAMP;;;OAGG;IACH,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,WAAW;IAQnD;;OAEG;IACH,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,GAAG,OAAO;IAU9D;;OAEG;IACH,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI/C,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAQ5D;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,MAAM,IAAI,IAAI;CAClC"}
1
+ {"version":3,"file":"ui-element.d.ts","sourceRoot":"","sources":["../../src/base/ui-element.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,8BAAsB,SAAU,SAAQ,WAAW;IACjD,4EAA4E;IAC5E,MAAM,CAAC,cAAc,UAAS;IAE9B,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC;IAC3B,SAAS,CAAC,SAAS,EAAE,gBAAgB,GAAG,IAAI,CAAQ;IACpD,gEAAgE;IAChE,SAAS,CAAC,YAAY,UAAS;IAC/B,OAAO,CAAC,cAAc,CAAgC;;IActD,oCAAoC;IACpC,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAIlD,6DAA6D;IAC7D,oBAAoB,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAK7C,iBAAiB,IAAI,IAAI;IAOzB,oBAAoB,IAAI,IAAI;IAM5B;;;OAGG;IACH,SAAS,CAAC,MAAM,CAAC,CAAC,SAAS,MAAM,mBAAmB,EAClD,IAAI,EAAE,CAAC,EACP,OAAO,EAAE,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC,KAAK,IAAI,GAC/C,IAAI;IACP,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI;IAK5D;;OAEG;IACH,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM;IAS5C;;OAEG;IACH,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAQxC,wBAAwB,CACtB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,GACtB,IAAI;IAMP;;;OAGG;IACH,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,WAAW;IAQnD;;OAEG;IACH,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,GAAG,OAAO;IAU9D;;OAEG;IACH,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI/C,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAQ5D;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,MAAM,IAAI,IAAI;CAClC"}
@@ -1,5 +1,7 @@
1
1
  import { UIElement } from '../../base/ui-element';
2
2
  export declare class UICheckbox extends UIElement {
3
+ static formAssociated: boolean;
4
+ private defaultChecked;
3
5
  static get observedAttributes(): string[];
4
6
  get checked(): boolean;
5
7
  set checked(val: boolean);
@@ -10,6 +12,8 @@ export declare class UICheckbox extends UIElement {
10
12
  connectedCallback(): void;
11
13
  private handleKeyDown;
12
14
  private handleClick;
15
+ /** <form>.reset() 시 초기 상태로 복원 */
16
+ formResetCallback(): void;
13
17
  toggle(): void;
14
18
  protected render(): void;
15
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["../../../src/components/checkbox/checkbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,qBAAa,UAAW,SAAQ,SAAS;IACvC,MAAM,KAAK,kBAAkB,IAAI,MAAM,EAAE,CAExC;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,OAAO,CAAC,GAAG,EAAE,OAAO,EAEvB;IAED,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED,IAAI,aAAa,CAAC,GAAG,EAAE,OAAO,EAE7B;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,QAAQ,CAAC,GAAG,EAAE,OAAO,EAExB;IAEQ,iBAAiB,IAAI,IAAI;IAQlC,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,WAAW;IAQZ,MAAM,IAAI,IAAI;IAUrB,SAAS,CAAC,MAAM,IAAI,IAAI;CAyEzB"}
1
+ {"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["../../../src/components/checkbox/checkbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,qBAAa,UAAW,SAAQ,SAAS;IACvC,OAAgB,cAAc,UAAQ;IACtC,OAAO,CAAC,cAAc,CAAS;IAE/B,MAAM,KAAK,kBAAkB,IAAI,MAAM,EAAE,CAExC;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,OAAO,CAAC,GAAG,EAAE,OAAO,EAEvB;IAED,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED,IAAI,aAAa,CAAC,GAAG,EAAE,OAAO,EAE7B;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,QAAQ,CAAC,GAAG,EAAE,OAAO,EAExB;IAEQ,iBAAiB,IAAI,IAAI;IASlC,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,WAAW;IAQnB,iCAAiC;IACjC,iBAAiB,IAAI,IAAI;IAIlB,MAAM,IAAI,IAAI;IAUrB,SAAS,CAAC,MAAM,IAAI,IAAI;CA0EzB"}
@@ -0,0 +1,19 @@
1
+ import { UIElement } from '../../base/ui-element';
2
+ /**
3
+ * ui-chip — 라벨/태그. removable 이면 × 버튼과 Delete/Backspace 로 `remove` 이벤트를 발화한다.
4
+ * 칩 자체는 DOM 에서 지우지 않는다(프레임워크가 목록을 소유하므로 앱이 상태를 갱신해야 함).
5
+ *
6
+ * <ui-chip variant="primary" removable>작업</ui-chip>
7
+ */
8
+ export declare class UIChip extends UIElement {
9
+ static get observedAttributes(): string[];
10
+ get removable(): boolean;
11
+ set removable(val: boolean);
12
+ get disabled(): boolean;
13
+ set disabled(val: boolean);
14
+ connectedCallback(): void;
15
+ private requestRemove;
16
+ private handleKeyDown;
17
+ protected render(): void;
18
+ }
19
+ //# sourceMappingURL=chip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chip.d.ts","sourceRoot":"","sources":["../../../src/components/chip/chip.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD;;;;;GAKG;AACH,qBAAa,MAAO,SAAQ,SAAS;IACnC,MAAM,KAAK,kBAAkB,IAAI,MAAM,EAAE,CAExC;IAED,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,SAAS,CAAC,GAAG,EAAE,OAAO,EAEzB;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,QAAQ,CAAC,GAAG,EAAE,OAAO,EAExB;IAEQ,iBAAiB,IAAI,IAAI;IAKlC,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,aAAa;IAQrB,SAAS,CAAC,MAAM,IAAI,IAAI;CAuEzB"}
@@ -0,0 +1,13 @@
1
+ import { UIElement } from '../../base/ui-element';
2
+ /**
3
+ * ui-empty-state — 빈 목록·검색 결과 없음·오류 안내.
4
+ * <ui-empty-state heading="결과가 없습니다" description="다른 검색어로 다시 시도하세요">
5
+ * <svg slot="icon">…</svg>
6
+ * <ui-button>다시 검색</ui-button> <!-- 기본 슬롯 = 다음 행동 -->
7
+ * </ui-empty-state>
8
+ */
9
+ export declare class UIEmptyState extends UIElement {
10
+ static get observedAttributes(): string[];
11
+ protected render(): void;
12
+ }
13
+ //# sourceMappingURL=empty-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"empty-state.d.ts","sourceRoot":"","sources":["../../../src/components/empty-state/empty-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD;;;;;;GAMG;AACH,qBAAa,YAAa,SAAQ,SAAS;IACzC,MAAM,KAAK,kBAAkB,IAAI,MAAM,EAAE,CAExC;IAED,SAAS,CAAC,MAAM,IAAI,IAAI;CA2DzB"}
@@ -1,5 +1,7 @@
1
1
  import { UIElement } from '../../base/ui-element';
2
2
  export declare class UIInput extends UIElement {
3
+ static formAssociated: boolean;
4
+ private defaultValue;
3
5
  static get observedAttributes(): string[];
4
6
  get value(): string;
5
7
  set value(val: string);
@@ -12,6 +14,9 @@ export declare class UIInput extends UIElement {
12
14
  * 전체 재렌더를 하면 input 요소가 교체되어 포커스·캐릿이 사라진다.
13
15
  */
14
16
  attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void;
17
+ connectedCallback(): void;
18
+ /** <form>.reset() 시 초기값으로 복원 */
19
+ formResetCallback(): void;
15
20
  protected render(): void;
16
21
  }
17
22
  //# sourceMappingURL=input.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../../src/components/input/input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,qBAAa,OAAQ,SAAQ,SAAS;IACpC,MAAM,KAAK,kBAAkB,IAAI,MAAM,EAAE,CAExC;IAED,IAAI,KAAK,IAAI,MAAM,CAGlB;IAED,IAAI,KAAK,CAAC,GAAG,EAAE,MAAM,EAIpB;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,QAAQ,CAAC,GAAG,EAAE,OAAO,EAExB;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,OAAO,CAAC,GAAG,EAAE,OAAO,EAEvB;IAED;;;OAGG;IACM,wBAAwB,CAC/B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,GACtB,IAAI;IAmBP,SAAS,CAAC,MAAM,IAAI,IAAI;CA8GzB"}
1
+ {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../../src/components/input/input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,qBAAa,OAAQ,SAAQ,SAAS;IACpC,OAAgB,cAAc,UAAQ;IACtC,OAAO,CAAC,YAAY,CAAM;IAE1B,MAAM,KAAK,kBAAkB,IAAI,MAAM,EAAE,CAExC;IAED,IAAI,KAAK,IAAI,MAAM,CAGlB;IAED,IAAI,KAAK,CAAC,GAAG,EAAE,MAAM,EAIpB;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,QAAQ,CAAC,GAAG,EAAE,OAAO,EAExB;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,OAAO,CAAC,GAAG,EAAE,OAAO,EAEvB;IAED;;;OAGG;IACM,wBAAwB,CAC/B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,GACtB,IAAI;IAoBE,iBAAiB,IAAI,IAAI;IAKlC,gCAAgC;IAChC,iBAAiB,IAAI,IAAI;IAIzB,SAAS,CAAC,MAAM,IAAI,IAAI;CA+GzB"}
@@ -1,5 +1,7 @@
1
1
  import { UIElement } from '../../base/ui-element';
2
2
  export declare class UIRadio extends UIElement {
3
+ static formAssociated: boolean;
4
+ private defaultChecked;
3
5
  static get observedAttributes(): string[];
4
6
  get checked(): boolean;
5
7
  set checked(val: boolean);
@@ -10,6 +12,8 @@ export declare class UIRadio extends UIElement {
10
12
  connectedCallback(): void;
11
13
  private handleClick;
12
14
  private handleKeyDown;
15
+ /** <form>.reset() 시 초기 상태로 복원 */
16
+ formResetCallback(): void;
13
17
  select(): void;
14
18
  protected render(): void;
15
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"radio.d.ts","sourceRoot":"","sources":["../../../src/components/radio/radio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,qBAAa,OAAQ,SAAQ,SAAS;IACpC,MAAM,KAAK,kBAAkB,IAAI,MAAM,EAAE,CAExC;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,OAAO,CAAC,GAAG,EAAE,OAAO,EAEvB;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,QAAQ,CAAC,GAAG,EAAE,OAAO,EAExB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,KAAK,IAAI,MAAM,CAElB;IAEQ,iBAAiB,IAAI,IAAI;IAQlC,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,aAAa;IAQd,MAAM,IAAI,IAAI;IAsBrB,SAAS,CAAC,MAAM,IAAI,IAAI;CA+DzB"}
1
+ {"version":3,"file":"radio.d.ts","sourceRoot":"","sources":["../../../src/components/radio/radio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,qBAAa,OAAQ,SAAQ,SAAS;IACpC,OAAgB,cAAc,UAAQ;IACtC,OAAO,CAAC,cAAc,CAAS;IAE/B,MAAM,KAAK,kBAAkB,IAAI,MAAM,EAAE,CAExC;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,OAAO,CAAC,GAAG,EAAE,OAAO,EAEvB;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,QAAQ,CAAC,GAAG,EAAE,OAAO,EAExB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,KAAK,IAAI,MAAM,CAElB;IAEQ,iBAAiB,IAAI,IAAI;IASlC,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,aAAa;IAQrB,iCAAiC;IACjC,iBAAiB,IAAI,IAAI;IAIlB,MAAM,IAAI,IAAI;IAsBrB,SAAS,CAAC,MAAM,IAAI,IAAI;CAgEzB"}
@@ -0,0 +1,34 @@
1
+ import { UIElement } from '../../base/ui-element';
2
+ /**
3
+ * ui-segmented / ui-segment — 상호 배타적 선택 버튼 그룹(보기 전환, 필터 등).
4
+ *
5
+ * <ui-segmented value="list" aria-label="보기 방식">
6
+ * <ui-segment value="list">목록</ui-segment>
7
+ * <ui-segment value="grid">격자</ui-segment>
8
+ * </ui-segmented>
9
+ *
10
+ * ARIA radiogroup/radio 패턴: 화살표·Home/End 로 이동하면 즉시 선택(change 이벤트).
11
+ */
12
+ export declare class UISegmented extends UIElement {
13
+ static get observedAttributes(): string[];
14
+ get value(): string;
15
+ set value(val: string);
16
+ get disabled(): boolean;
17
+ set disabled(val: boolean);
18
+ connectedCallback(): void;
19
+ attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void;
20
+ private segments;
21
+ private enabledSegments;
22
+ private select;
23
+ private handleClick;
24
+ private handleKeyDown;
25
+ /** aria-checked / tabindex(roving) 를 자식 ui-segment 에 반영 (자식이 속성 변경 시에도 호출) */
26
+ refresh(): void;
27
+ protected render(): void;
28
+ }
29
+ export declare class UISegment extends HTMLElement {
30
+ connectedCallback(): void;
31
+ static get observedAttributes(): string[];
32
+ attributeChangedCallback(): void;
33
+ }
34
+ //# sourceMappingURL=segmented.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"segmented.d.ts","sourceRoot":"","sources":["../../../src/components/segmented/segmented.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD;;;;;;;;;GASG;AACH,qBAAa,WAAY,SAAQ,SAAS;IACxC,MAAM,KAAK,kBAAkB,IAAI,MAAM,EAAE,CAExC;IAED,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,KAAK,CAAC,GAAG,EAAE,MAAM,EAEpB;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,QAAQ,CAAC,GAAG,EAAE,OAAO,EAExB;IAEQ,iBAAiB,IAAI,IAAI;IAQzB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAKvG,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,MAAM;IAOd,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,aAAa;IAsBrB,8EAA8E;IAC9E,OAAO,IAAI,IAAI;IAkBf,SAAS,CAAC,MAAM,IAAI,IAAI;CA6CzB;AAED,qBAAa,SAAU,SAAQ,WAAW;IACxC,iBAAiB,IAAI,IAAI;IAOzB,MAAM,KAAK,kBAAkB,IAAI,MAAM,EAAE,CAExC;IAED,wBAAwB,IAAI,IAAI;CAGjC"}
@@ -0,0 +1,30 @@
1
+ import { UIElement } from '../../base/ui-element';
2
+ /**
3
+ * ui-stepper / ui-step — 단계 진행 표시(설정 마법사, 체크아웃 등).
4
+ *
5
+ * <ui-stepper current="1">
6
+ * <ui-step label="계정" description="이메일 입력"></ui-step>
7
+ * <ui-step label="서버" description="IMAP/SMTP"></ui-step>
8
+ * <ui-step label="완료"></ui-step>
9
+ * </ui-stepper>
10
+ *
11
+ * current(0부터) 앞의 단계는 done, current 는 active, 뒤는 pending.
12
+ * 개별 단계에 status="error" 를 주면 오류 표시(done/active 보다 우선).
13
+ */
14
+ export declare class UIStepper extends UIElement {
15
+ static get observedAttributes(): string[];
16
+ get current(): number;
17
+ set current(val: number);
18
+ connectedCallback(): void;
19
+ attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void;
20
+ /** 자식 ui-step 의 상태·번호·마지막 여부를 갱신 (자식이 속성 변경 시에도 호출) */
21
+ refresh(): void;
22
+ protected render(): void;
23
+ }
24
+ export declare class UIStep extends UIElement {
25
+ static get observedAttributes(): string[];
26
+ connectedCallback(): void;
27
+ attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void;
28
+ protected render(): void;
29
+ }
30
+ //# sourceMappingURL=stepper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stepper.d.ts","sourceRoot":"","sources":["../../../src/components/stepper/stepper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD;;;;;;;;;;;GAWG;AACH,qBAAa,SAAU,SAAQ,SAAS;IACtC,MAAM,KAAK,kBAAkB,IAAI,MAAM,EAAE,CAExC;IAED,IAAI,OAAO,IAAI,MAAM,CAGpB;IAED,IAAI,OAAO,CAAC,GAAG,EAAE,MAAM,EAEtB;IAEQ,iBAAiB,IAAI,IAAI;IAMzB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAKvG,uDAAuD;IACvD,OAAO,IAAI,IAAI;IAef,SAAS,CAAC,MAAM,IAAI,IAAI;CAgBzB;AAED,qBAAa,MAAO,SAAQ,SAAS;IACnC,MAAM,KAAK,kBAAkB,IAAI,MAAM,EAAE,CAExC;IAEQ,iBAAiB,IAAI,IAAI;IAMzB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAMvG,SAAS,CAAC,MAAM,IAAI,IAAI;CAqEzB"}
@@ -1,5 +1,7 @@
1
1
  import { UIElement } from '../../base/ui-element';
2
2
  export declare class UISwitch extends UIElement {
3
+ static formAssociated: boolean;
4
+ private defaultChecked;
3
5
  static get observedAttributes(): string[];
4
6
  get checked(): boolean;
5
7
  set checked(val: boolean);
@@ -8,6 +10,8 @@ export declare class UISwitch extends UIElement {
8
10
  connectedCallback(): void;
9
11
  private handleClick;
10
12
  private handleKeyDown;
13
+ /** <form>.reset() 시 초기 상태로 복원 */
14
+ formResetCallback(): void;
11
15
  toggle(): void;
12
16
  protected render(): void;
13
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"switch.d.ts","sourceRoot":"","sources":["../../../src/components/switch/switch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,qBAAa,QAAS,SAAQ,SAAS;IACrC,MAAM,KAAK,kBAAkB,IAAI,MAAM,EAAE,CAExC;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,OAAO,CAAC,GAAG,EAAE,OAAO,EAEvB;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,QAAQ,CAAC,GAAG,EAAE,OAAO,EAExB;IAEQ,iBAAiB,IAAI,IAAI;IAQlC,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,aAAa;IAQd,MAAM,IAAI,IAAI;IAOrB,SAAS,CAAC,MAAM,IAAI,IAAI;CAoEzB"}
1
+ {"version":3,"file":"switch.d.ts","sourceRoot":"","sources":["../../../src/components/switch/switch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,qBAAa,QAAS,SAAQ,SAAS;IACrC,OAAgB,cAAc,UAAQ;IACtC,OAAO,CAAC,cAAc,CAAS;IAE/B,MAAM,KAAK,kBAAkB,IAAI,MAAM,EAAE,CAExC;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,OAAO,CAAC,GAAG,EAAE,OAAO,EAEvB;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,QAAQ,CAAC,GAAG,EAAE,OAAO,EAExB;IAEQ,iBAAiB,IAAI,IAAI;IASlC,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,aAAa;IAQrB,iCAAiC;IACjC,iBAAiB,IAAI,IAAI;IAIlB,MAAM,IAAI,IAAI;IAOrB,SAAS,CAAC,MAAM,IAAI,IAAI;CAqEzB"}
@@ -0,0 +1,24 @@
1
+ import { UIElement } from '../../base/ui-element';
2
+ /**
3
+ * ui-textarea — 여러 줄 입력. ui-input 과 같은 value/disabled/invalid 계약을 따르며
4
+ * <form> 에 참여한다(name 속성으로 제출, reset·fieldset disabled 지원).
5
+ */
6
+ export declare class UITextarea extends UIElement {
7
+ static formAssociated: boolean;
8
+ private defaultValue;
9
+ static get observedAttributes(): string[];
10
+ get value(): string;
11
+ set value(val: string);
12
+ get disabled(): boolean;
13
+ set disabled(val: boolean);
14
+ get invalid(): boolean;
15
+ set invalid(val: boolean);
16
+ connectedCallback(): void;
17
+ /** <form>.reset() 시 초기값으로 복원 */
18
+ formResetCallback(): void;
19
+ /** value 속성 변경은 내부 textarea 를 제자리 갱신해 포커스·캐럿을 보존한다. */
20
+ attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void;
21
+ private updateCounter;
22
+ protected render(): void;
23
+ }
24
+ //# sourceMappingURL=textarea.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"textarea.d.ts","sourceRoot":"","sources":["../../../src/components/textarea/textarea.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD;;;GAGG;AACH,qBAAa,UAAW,SAAQ,SAAS;IACvC,OAAgB,cAAc,UAAQ;IACtC,OAAO,CAAC,YAAY,CAAM;IAE1B,MAAM,KAAK,kBAAkB,IAAI,MAAM,EAAE,CAKxC;IAED,IAAI,KAAK,IAAI,MAAM,CAGlB;IAED,IAAI,KAAK,CAAC,GAAG,EAAE,MAAM,EAIpB;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,QAAQ,CAAC,GAAG,EAAE,OAAO,EAExB;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,OAAO,CAAC,GAAG,EAAE,OAAO,EAEvB;IAEQ,iBAAiB,IAAI,IAAI;IAKlC,gCAAgC;IAChC,iBAAiB,IAAI,IAAI;IAIzB,uDAAuD;IAC9C,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAoBvG,OAAO,CAAC,aAAa;IAOrB,SAAS,CAAC,MAAM,IAAI,IAAI;CA2FzB"}