@transcodes/ui-components 0.4.4 → 0.4.6

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 CHANGED
@@ -5,6 +5,21 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.4.6] - 2026-01-13
9
+
10
+ ### Added
11
+
12
+ - **tc-text**: `for` 속성 지원 추가 (label 접근성 개선)
13
+ - `tag="label"`일 때 `for` 속성으로 form control과 연결 가능
14
+ - 스크린 리더 및 키보드 네비게이션 접근성 향상
15
+ - Storybook `LabelWithFor` 스토리 추가
16
+
17
+ ## [0.4.5] - 2025-12-23
18
+
19
+ ### Fixed
20
+
21
+ - **tc-success-screen**: 아이콘 배경색 복구 (`background: var(--alpha-primary10)`)
22
+
8
23
  ## [0.4.4] - 2025-12-23
9
24
 
10
25
  ### Added
@@ -18,6 +18,7 @@ export declare class TcText extends LitElement {
18
18
  weight?: TextWeight;
19
19
  color?: TextColor | string;
20
20
  sx: SxProps;
21
+ for: string;
21
22
  static styles: import('lit').CSSResult[];
22
23
  private getColorClass;
23
24
  private getColorStyle;
@@ -1 +1 @@
1
- {"version":3,"file":"tc-text.d.ts","sourceRoot":"","sources":["../../src/primitives/tc-text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,UAAU,EAAE,MAAM,KAAK,CAAC;AAKtC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,KAAK,OAAO,GACR,GAAG,GACH,MAAM,GACN,KAAK,GACL,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,OAAO,CAAC;AAEZ,KAAK,QAAQ,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;AACpD,KAAK,UAAU,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AAChD,KAAK,SAAS,GACV,SAAS,GACT,WAAW,GACX,UAAU,GACV,OAAO,GACP,QAAQ,GACR,SAAS,GACT,OAAO,GACP,SAAS,GACT,MAAM,CAAC;AAEX;;;;;;;GAOG;AACH,qBACa,MAAO,SAAQ,UAAU;IACR,GAAG,EAAE,OAAO,CAAO;IACnB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAC3B,EAAE,EAAE,OAAO,CAAM;IAE7C,OAAgB,MAAM,4BA2EpB;IAEF,OAAO,CAAC,aAAa;IAmBrB,OAAO,CAAC,aAAa;IAgBZ,MAAM;CAwBhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,SAAS,EAAE,MAAM,CAAC;KACnB;CACF"}
1
+ {"version":3,"file":"tc-text.d.ts","sourceRoot":"","sources":["../../src/primitives/tc-text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,UAAU,EAAW,MAAM,KAAK,CAAC;AAK/C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,KAAK,OAAO,GACR,GAAG,GACH,MAAM,GACN,KAAK,GACL,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,OAAO,CAAC;AAEZ,KAAK,QAAQ,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;AACpD,KAAK,UAAU,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AAChD,KAAK,SAAS,GACV,SAAS,GACT,WAAW,GACX,UAAU,GACV,OAAO,GACP,QAAQ,GACR,SAAS,GACT,OAAO,GACP,SAAS,GACT,MAAM,CAAC;AAEX;;;;;;;GAOG;AACH,qBACa,MAAO,SAAQ,UAAU;IACR,GAAG,EAAE,OAAO,CAAO;IACnB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAC3B,EAAE,EAAE,OAAO,CAAM;IACjB,GAAG,SAAM;IAErC,OAAgB,MAAM,4BA2EpB;IAEF,OAAO,CAAC,aAAa;IAmBrB,OAAO,CAAC,aAAa;IAgBZ,MAAM;CA6BhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,SAAS,EAAE,MAAM,CAAC;KACnB;CACF"}
@@ -1,16 +1,16 @@
1
- import { css as x, LitElement as p } from "lit";
2
- import { property as a, customElement as g } from "lit/decorators.js";
3
- import { styleMap as h } from "lit/directives/style-map.js";
4
- import { unsafeStatic as f, html as m } from "lit/static-html.js";
5
- import { sharedStyles as y } from "../styles/shared.js";
6
- var v = Object.defineProperty, u = Object.getOwnPropertyDescriptor, n = (r, o, s, i) => {
7
- for (var e = i > 1 ? void 0 : i ? u(o, s) : o, c = r.length - 1, l; c >= 0; c--)
8
- (l = r[c]) && (e = (i ? l(o, s, e) : l(e)) || e);
9
- return i && e && v(o, s, e), e;
1
+ import { css as h, LitElement as x, nothing as p } from "lit";
2
+ import { property as a, customElement as f } from "lit/decorators.js";
3
+ import { styleMap as g } from "lit/directives/style-map.js";
4
+ import { unsafeStatic as m, html as y } from "lit/static-html.js";
5
+ import { sharedStyles as v } from "../styles/shared.js";
6
+ var u = Object.defineProperty, d = Object.getOwnPropertyDescriptor, r = (o, s, i, n) => {
7
+ for (var e = n > 1 ? void 0 : n ? d(s, i) : s, c = o.length - 1, l; c >= 0; c--)
8
+ (l = o[c]) && (e = (n ? l(s, i, e) : l(e)) || e);
9
+ return n && e && u(s, i, e), e;
10
10
  };
11
- let t = class extends p {
11
+ let t = class extends x {
12
12
  constructor() {
13
- super(...arguments), this.tag = "p", this.sx = {};
13
+ super(...arguments), this.tag = "p", this.sx = {}, this.for = "";
14
14
  }
15
15
  getColorClass() {
16
16
  return this.color && {
@@ -30,25 +30,30 @@ let t = class extends p {
30
30
  return this.color;
31
31
  }
32
32
  render() {
33
- const r = f(this.tag), o = [
33
+ const o = m(this.tag), s = [
34
34
  "text",
35
35
  this.size ? `text--${this.size}` : "",
36
36
  this.weight ? `text--w${this.weight}` : "",
37
37
  this.getColorClass()
38
- ].filter(Boolean).join(" "), s = this.getColorStyle(), i = {
39
- ...s ? { color: s } : {},
38
+ ].filter(Boolean).join(" "), i = this.getColorStyle(), n = {
39
+ ...i ? { color: i } : {},
40
40
  ...this.sx
41
41
  };
42
- return m`
43
- <${r} part="text" class=${o} style=${h(i)}>
42
+ return y`
43
+ <${o}
44
+ part="text"
45
+ class=${s}
46
+ style=${g(n)}
47
+ for=${this.tag === "label" && this.for ? this.for : p}
48
+ >
44
49
  <slot></slot>
45
- </${r}>
50
+ </${o}>
46
51
  `;
47
52
  }
48
53
  };
49
54
  t.styles = [
50
- y,
51
- x`
55
+ v,
56
+ h`
52
57
  :host {
53
58
  display: contents;
54
59
  }
@@ -122,23 +127,26 @@ t.styles = [
122
127
  }
123
128
  `
124
129
  ];
125
- n([
130
+ r([
126
131
  a({ type: String })
127
132
  ], t.prototype, "tag", 2);
128
- n([
133
+ r([
129
134
  a({ type: String })
130
135
  ], t.prototype, "size", 2);
131
- n([
136
+ r([
132
137
  a({ type: String })
133
138
  ], t.prototype, "weight", 2);
134
- n([
139
+ r([
135
140
  a({ type: String })
136
141
  ], t.prototype, "color", 2);
137
- n([
142
+ r([
138
143
  a({ type: Object })
139
144
  ], t.prototype, "sx", 2);
140
- t = n([
141
- g("tc-text")
145
+ r([
146
+ a({ type: String })
147
+ ], t.prototype, "for", 2);
148
+ t = r([
149
+ f("tc-text")
142
150
  ], t);
143
151
  export {
144
152
  t as TcText
@@ -1 +1 @@
1
- {"version":3,"file":"tc-success-screen.d.ts","sourceRoot":"","sources":["../../src/screens/tc-success-screen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,UAAU,EAAE,MAAM,KAAK,CAAC;AAI5C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,0BAA0B,CAAC;AAClC,OAAO,0BAA0B,CAAC;AAClC,OAAO,4BAA4B,CAAC;AACpC,OAAO,+BAA+B,CAAC;AACvC,OAAO,6BAA6B,CAAC;AAErC;;;;;;;;;;GAUG;AACH,qBACa,eAAgB,SAAQ,UAAU;IACjB,KAAK,SAAc;IACnB,OAAO,SACS;IACW,WAAW,SAAM;IAChB,WAAW,UAAQ;IAC/C,EAAE,EAAE,OAAO,CAAM;IAEpC,OAAO,CAAC,UAAU,CAAS;IAEpC,OAAO,CAAC,SAAS,CAGd;IAEH,OAAgB,MAAM,0BAkGpB;IAEO,iBAAiB;IASpB,aAAa;IAKnB,OAAO,CAAC,YAAY;IASX,MAAM;CA4ChB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,mBAAmB,EAAE,eAAe,CAAC;KACtC;CACF"}
1
+ {"version":3,"file":"tc-success-screen.d.ts","sourceRoot":"","sources":["../../src/screens/tc-success-screen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,UAAU,EAAE,MAAM,KAAK,CAAC;AAI5C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,0BAA0B,CAAC;AAClC,OAAO,0BAA0B,CAAC;AAClC,OAAO,4BAA4B,CAAC;AACpC,OAAO,+BAA+B,CAAC;AACvC,OAAO,6BAA6B,CAAC;AAErC;;;;;;;;;;GAUG;AACH,qBACa,eAAgB,SAAQ,UAAU;IACjB,KAAK,SAAc;IACnB,OAAO,SACS;IACW,WAAW,SAAM;IAChB,WAAW,UAAQ;IAC/C,EAAE,EAAE,OAAO,CAAM;IAEpC,OAAO,CAAC,UAAU,CAAS;IAEpC,OAAO,CAAC,SAAS,CAGd;IAEH,OAAgB,MAAM,0BAmGpB;IAEO,iBAAiB;IASpB,aAAa;IAKnB,OAAO,CAAC,YAAY;IASX,MAAM;CA4ChB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,mBAAmB,EAAE,eAAe,CAAC;KACtC;CACF"}
@@ -7,9 +7,9 @@ import "../primitives/tc-text.js";
7
7
  import "../primitives/tc-button.js";
8
8
  import "../primitives/tc-container.js";
9
9
  import "../primitives/tc-section.js";
10
- var g = Object.defineProperty, v = Object.getOwnPropertyDescriptor, i = (a, n, o, r) => {
11
- for (var e = r > 1 ? void 0 : r ? v(n, o) : n, c = a.length - 1, l; c >= 0; c--)
12
- (l = a[c]) && (e = (r ? l(n, o, e) : l(e)) || e);
10
+ var g = Object.defineProperty, v = Object.getOwnPropertyDescriptor, a = (i, n, o, r) => {
11
+ for (var e = r > 1 ? void 0 : r ? v(n, o) : n, c = i.length - 1, l; c >= 0; c--)
12
+ (l = i[c]) && (e = (r ? l(n, o, e) : l(e)) || e);
13
13
  return r && e && g(n, o, e), e;
14
14
  };
15
15
  let t = class extends d {
@@ -36,12 +36,12 @@ let t = class extends d {
36
36
  );
37
37
  }
38
38
  render() {
39
- const a = this.isAnimated ? "animated" : "";
39
+ const i = this.isAnimated ? "animated" : "";
40
40
  return m`
41
41
  <div part="screen" class="screen" style=${y(this.sx)}>
42
42
  <tc-container>
43
43
  <div part="content" class="content">
44
- <div part="icon" class="icon-container ${a}">
44
+ <div part="icon" class="icon-container ${i}">
45
45
  <svg
46
46
  class="checkmark"
47
47
  viewBox="0 0 24 24"
@@ -54,7 +54,7 @@ let t = class extends d {
54
54
  <polyline points="20 6 9 17 4 12"></polyline>
55
55
  </svg>
56
56
  </div>
57
- <tc-section .sx=${{ gap: "var(--space-sm)" }} class="text-content ${a}">
57
+ <tc-section .sx=${{ gap: "var(--space-sm)" }} class="text-content ${i}">
58
58
  <tc-text part="title" tag="h1" size="xl" weight="600" class="title">
59
59
  ${this.title}
60
60
  </tc-text>
@@ -63,7 +63,7 @@ let t = class extends d {
63
63
  </tc-text>
64
64
  </tc-section>
65
65
  ${this.actionLabel ? m`
66
- <div part="action" class="action ${a}">
66
+ <div part="action" class="action ${i}">
67
67
  <tc-button variant="primary" @tc-click=${this.handleAction}>
68
68
  ${this.actionLabel}
69
69
  </tc-button>
@@ -110,6 +110,7 @@ t.styles = p`
110
110
  align-items: center;
111
111
  justify-content: center;
112
112
  padding: var(--space-md);
113
+ background: var(--alpha-primary10);
113
114
  border-radius: var(--radius-full);
114
115
  color: var(--accent-primary);
115
116
  transform: scale(0);
@@ -174,25 +175,25 @@ t.styles = p`
174
175
  transform: translateY(0);
175
176
  }
176
177
  `;
177
- i([
178
+ a([
178
179
  s({ type: String })
179
180
  ], t.prototype, "title", 2);
180
- i([
181
+ a([
181
182
  s({ type: String })
182
183
  ], t.prototype, "message", 2);
183
- i([
184
+ a([
184
185
  s({ type: String, attribute: "action-label" })
185
186
  ], t.prototype, "actionLabel", 2);
186
- i([
187
+ a([
187
188
  s({ type: Boolean, attribute: "auto-animate" })
188
189
  ], t.prototype, "autoAnimate", 2);
189
- i([
190
+ a([
190
191
  s({ type: Object })
191
192
  ], t.prototype, "sx", 2);
192
- i([
193
+ a([
193
194
  h()
194
195
  ], t.prototype, "isAnimated", 2);
195
- t = i([
196
+ t = a([
196
197
  u("tc-success-screen")
197
198
  ], t);
198
199
  export {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@transcodes/ui-components",
3
- "version": "0.4.4",
3
+ "version": "0.4.6",
4
4
  "private": false,
5
5
  "description": "Lit 3.x component library with Reactive Controllers",
6
6
  "keywords": [
@@ -75,7 +75,7 @@
75
75
  "lit": "^3.0.0"
76
76
  },
77
77
  "dependencies": {
78
- "@transcodes/design-tokens": "^0.4.4"
78
+ "@transcodes/design-tokens": "^0.4.6"
79
79
  },
80
80
  "devDependencies": {
81
81
  "@storybook/addon-a11y": "^10.1.9",