@transcodes/ui-components 0.1.0 → 0.3.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.
@@ -1,17 +1,16 @@
1
- import "@transcodes/design-tokens";
2
- import { css as c, LitElement as d, html as l, unsafeCSS as kt } from "lit";
3
- import { property as n, customElement as p, state as S } from "lit/decorators.js";
4
- import { styleMap as m } from "lit/directives/style-map.js";
5
- import { classMap as B } from "lit/directives/class-map.js";
6
- import { unsafeStatic as $t, html as _t } from "lit/static-html.js";
7
- class P {
1
+ import { css as c, LitElement as d, html as l, unsafeCSS as Ot } from "lit";
2
+ import { property as n, customElement as p, state as k } from "lit/decorators.js";
3
+ import { styleMap as f } from "lit/directives/style-map.js";
4
+ import { classMap as b } from "lit/directives/class-map.js";
5
+ import { unsafeStatic as St, html as Pt } from "lit/static-html.js";
6
+ class L {
8
7
  constructor(e) {
9
8
  this.host = e, this.host.addController(this);
10
9
  }
11
10
  }
12
- class j extends P {
13
- constructor(e, s = 300) {
14
- super(e), this._state = "hidden", typeof s == "number" ? (this.showDuration = s, this.hideDuration = s) : (this.showDuration = s.showDuration ?? 300, this.hideDuration = s.hideDuration ?? 300);
11
+ class M extends L {
12
+ constructor(e, a = 300) {
13
+ super(e), this._state = "hidden", typeof a == "number" ? (this.showDuration = a, this.hideDuration = a) : (this.showDuration = a.showDuration ?? 300, this.hideDuration = a.hideDuration ?? 300);
15
14
  }
16
15
  get state() {
17
16
  return this._state;
@@ -32,12 +31,12 @@ class j extends P {
32
31
  return this.isVisible ? this.hide() : this.show();
33
32
  }
34
33
  waitForTransition(e) {
35
- return new Promise((s) => {
36
- setTimeout(s, e);
34
+ return new Promise((a) => {
35
+ setTimeout(a, e);
37
36
  });
38
37
  }
39
38
  }
40
- class Fe extends P {
39
+ class Ge extends L {
41
40
  constructor() {
42
41
  super(...arguments), this.errors = /* @__PURE__ */ new Map();
43
42
  }
@@ -50,10 +49,10 @@ class Fe extends P {
50
49
  getAllErrors() {
51
50
  return new Map(this.errors);
52
51
  }
53
- validate(e, s, i) {
52
+ validate(e, a, i) {
54
53
  this.clearError(e);
55
54
  for (const t of i)
56
- if (!this.runRule(s, t))
55
+ if (!this.runRule(a, t))
57
56
  return this.errors.set(e, t.message), this.host.requestUpdate(), !1;
58
57
  return !0;
59
58
  }
@@ -63,26 +62,26 @@ class Fe extends P {
63
62
  reset() {
64
63
  this.errors.clear(), this.host.requestUpdate();
65
64
  }
66
- runRule(e, s) {
67
- switch (s.type) {
65
+ runRule(e, a) {
66
+ switch (a.type) {
68
67
  case "required":
69
68
  return e.trim().length > 0;
70
69
  case "email":
71
70
  return /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e);
72
71
  case "minLength":
73
- return e.length >= s.value;
72
+ return e.length >= a.value;
74
73
  case "maxLength":
75
- return e.length <= s.value;
74
+ return e.length <= a.value;
76
75
  case "pattern":
77
- return s.value.test(e);
76
+ return a.value.test(e);
78
77
  case "custom":
79
- return s.validator ? s.validator(e) : !0;
78
+ return a.validator ? a.validator(e) : !0;
80
79
  default:
81
80
  return !0;
82
81
  }
83
82
  }
84
83
  }
85
- class Ct extends P {
84
+ class jt extends L {
86
85
  constructor() {
87
86
  super(...arguments), this.hasAddedEntry = !1, this.handlePopState = () => {
88
87
  this.hasAddedEntry && (this.hasAddedEntry = !1, this.onPopCallback?.());
@@ -104,7 +103,7 @@ class Ct extends P {
104
103
  window.removeEventListener("popstate", this.handlePopState), this.onPopCallback = void 0;
105
104
  }
106
105
  }
107
- class zt extends P {
106
+ class Et extends L {
108
107
  constructor() {
109
108
  super(...arguments), this._isLoading = !1, this._progress = 0;
110
109
  }
@@ -127,11 +126,11 @@ class zt extends P {
127
126
  this._isLoading = !1, this._progress = 0, this.host.requestUpdate();
128
127
  }
129
128
  }
130
- class Dt extends P {
131
- constructor(e, s) {
129
+ class Bt extends L {
130
+ constructor(e, a) {
132
131
  super(e), this._matches = !1, this.handleChange = (i) => {
133
132
  this._matches = i.matches, this.host.requestUpdate();
134
- }, this.mediaQuery = window.matchMedia(s), this._matches = this.mediaQuery.matches;
133
+ }, this.mediaQuery = window.matchMedia(a), this._matches = this.mediaQuery.matches;
135
134
  }
136
135
  get matches() {
137
136
  return this._matches;
@@ -143,38 +142,38 @@ class Dt extends P {
143
142
  this.mediaQuery.removeEventListener("change", this.handleChange);
144
143
  }
145
144
  }
146
- class Ot extends P {
145
+ class Lt extends L {
147
146
  /**
148
147
  * @param host - The reactive controller host
149
148
  * @param targetOrigin - The origin to accept messages from and send messages to.
150
149
  * SECURITY NOTE: Using '*' accepts messages from any origin which can be dangerous.
151
150
  * Always specify an explicit origin in production environments.
152
151
  */
153
- constructor(e, s = "*") {
152
+ constructor(e, a = "*") {
154
153
  super(e), this.handlers = /* @__PURE__ */ new Map(), this.wildcardHandlers = /* @__PURE__ */ new Set(), this.handleMessage = (i) => {
155
154
  if (!(this.targetOrigin !== "*" && i.origin !== this.targetOrigin) && i.data && typeof i.data == "object" && typeof i.data.type == "string") {
156
- const { type: t, payload: a } = i.data;
157
- this.handlers.get(t)?.forEach((ct) => {
158
- ct(a);
159
- }), this.wildcardHandlers.forEach((ct) => {
160
- ct(t, a);
155
+ const { type: t, payload: s } = i.data;
156
+ this.handlers.get(t)?.forEach((mt) => {
157
+ mt(s);
158
+ }), this.wildcardHandlers.forEach((mt) => {
159
+ mt(t, s);
161
160
  });
162
161
  }
163
- }, this.targetOrigin = s, s === "*" && typeof window < "u" && window.location.protocol !== "file:" && console.warn(
162
+ }, this.targetOrigin = a, a === "*" && typeof window < "u" && window.location.protocol !== "file:" && console.warn(
164
163
  '[MessageBusController] Using targetOrigin="*" accepts messages from any origin. For security, specify an explicit origin in production.'
165
164
  );
166
165
  }
167
- send(e, s, i = window) {
168
- i.postMessage({ type: e, payload: s }, this.targetOrigin);
166
+ send(e, a, i = window) {
167
+ i.postMessage({ type: e, payload: a }, this.targetOrigin);
169
168
  }
170
- sendToFrame(e, s, i) {
171
- e.contentWindow?.postMessage({ type: s, payload: i }, this.targetOrigin);
169
+ sendToFrame(e, a, i) {
170
+ e.contentWindow?.postMessage({ type: a, payload: i }, this.targetOrigin);
172
171
  }
173
- onMessage(e, s) {
174
- return e === "*" ? (this.wildcardHandlers.add(s), () => {
175
- this.wildcardHandlers.delete(s);
176
- }) : (this.handlers.has(e) || this.handlers.set(e, /* @__PURE__ */ new Set()), this.handlers.get(e)?.add(s), () => {
177
- this.handlers.get(e)?.delete(s);
172
+ onMessage(e, a) {
173
+ return e === "*" ? (this.wildcardHandlers.add(a), () => {
174
+ this.wildcardHandlers.delete(a);
175
+ }) : (this.handlers.has(e) || this.handlers.set(e, /* @__PURE__ */ new Set()), this.handlers.get(e)?.add(a), () => {
176
+ this.handlers.get(e)?.delete(a);
178
177
  });
179
178
  }
180
179
  hostConnected() {
@@ -184,11 +183,11 @@ class Ot extends P {
184
183
  window.removeEventListener("message", this.handleMessage), this.handlers.clear();
185
184
  }
186
185
  }
187
- class bt extends P {
188
- constructor(e, s, i = localStorage) {
186
+ class zt extends L {
187
+ constructor(e, a, i = localStorage) {
189
188
  super(e), this._value = null, this.handleStorageChange = (t) => {
190
189
  t.key === this.key && t.storageArea === this.storage && (this.load(), this.host.requestUpdate());
191
- }, this.key = s, this.storage = i, this.load();
190
+ }, this.key = a, this.storage = i, this.load();
192
191
  }
193
192
  get value() {
194
193
  return this._value;
@@ -220,24 +219,24 @@ class bt extends P {
220
219
  window.removeEventListener("storage", this.handleStorageChange);
221
220
  }
222
221
  }
223
- var St = Object.defineProperty, Pt = Object.getOwnPropertyDescriptor, yt = (r, e, s, i) => {
224
- for (var t = i > 1 ? void 0 : i ? Pt(e, s) : e, a = r.length - 1, o; a >= 0; a--)
225
- (o = r[a]) && (t = (i ? o(e, s, t) : o(t)) || t);
226
- return i && t && St(e, s, t), t;
222
+ var Mt = Object.defineProperty, It = Object.getOwnPropertyDescriptor, Ct = (r, e, a, i) => {
223
+ for (var t = i > 1 ? void 0 : i ? It(e, a) : e, s = r.length - 1, o; s >= 0; s--)
224
+ (o = r[s]) && (t = (i ? o(e, a, t) : o(t)) || t);
225
+ return i && t && Mt(e, a, t), t;
227
226
  };
228
- let it = class extends d {
227
+ let lt = class extends d {
229
228
  constructor() {
230
229
  super(...arguments), this.sx = {};
231
230
  }
232
231
  render() {
233
232
  return l`
234
- <div part="box" class="box" style=${m(this.sx)}>
233
+ <div part="box" class="box" style=${f(this.sx)}>
235
234
  <slot></slot>
236
235
  </div>
237
236
  `;
238
237
  }
239
238
  };
240
- it.styles = c`
239
+ lt.styles = c`
241
240
  :host {
242
241
  display: contents;
243
242
  }
@@ -246,13 +245,13 @@ it.styles = c`
246
245
  display: block;
247
246
  }
248
247
  `;
249
- yt([
248
+ Ct([
250
249
  n({ type: Object })
251
- ], it.prototype, "sx", 2);
252
- it = yt([
250
+ ], lt.prototype, "sx", 2);
251
+ lt = Ct([
253
252
  p("tc-box")
254
- ], it);
255
- const jt = `/**
253
+ ], lt);
254
+ const Tt = `/**
256
255
  * Do not edit directly, this file was auto-generated.
257
256
  */
258
257
 
@@ -753,13 +752,13 @@ const jt = `/**
753
752
  border: var(--space-fixed-2xs) solid rgba(3, 105, 161, 0.2);
754
753
  color: var(--semantic-info);
755
754
  }
756
- `, u = kt(jt);
757
- var Et = Object.defineProperty, Lt = Object.getOwnPropertyDescriptor, Z = (r, e, s, i) => {
758
- for (var t = i > 1 ? void 0 : i ? Lt(e, s) : e, a = r.length - 1, o; a >= 0; a--)
759
- (o = r[a]) && (t = (i ? o(e, s, t) : o(t)) || t);
760
- return i && t && Et(e, s, t), t;
755
+ `, h = Ot(Tt);
756
+ var At = Object.defineProperty, Ft = Object.getOwnPropertyDescriptor, at = (r, e, a, i) => {
757
+ for (var t = i > 1 ? void 0 : i ? Ft(e, a) : e, s = r.length - 1, o; s >= 0; s--)
758
+ (o = r[s]) && (t = (i ? o(e, a, t) : o(t)) || t);
759
+ return i && t && At(e, a, t), t;
761
760
  };
762
- let C = class extends d {
761
+ let P = class extends d {
763
762
  constructor() {
764
763
  super(...arguments), this.disabled = !1, this.loading = !1, this.variant = "primary", this.sx = {};
765
764
  }
@@ -775,8 +774,8 @@ let C = class extends d {
775
774
  return l`
776
775
  <button
777
776
  part="button"
778
- class=${B(r)}
779
- style=${m(this.sx)}
777
+ class=${b(r)}
778
+ style=${f(this.sx)}
780
779
  ?disabled=${this.disabled || this.loading}
781
780
  type="button"
782
781
  @click=${this.handleClick}
@@ -798,8 +797,8 @@ let C = class extends d {
798
797
  );
799
798
  }
800
799
  };
801
- C.styles = [
802
- u,
800
+ P.styles = [
801
+ h,
803
802
  c`
804
803
  :host {
805
804
  display: block;
@@ -898,27 +897,27 @@ C.styles = [
898
897
  }
899
898
  `
900
899
  ];
901
- Z([
900
+ at([
902
901
  n({ type: Boolean })
903
- ], C.prototype, "disabled", 2);
904
- Z([
902
+ ], P.prototype, "disabled", 2);
903
+ at([
905
904
  n({ type: Boolean })
906
- ], C.prototype, "loading", 2);
907
- Z([
905
+ ], P.prototype, "loading", 2);
906
+ at([
908
907
  n({ type: String })
909
- ], C.prototype, "variant", 2);
910
- Z([
908
+ ], P.prototype, "variant", 2);
909
+ at([
911
910
  n({ type: Object })
912
- ], C.prototype, "sx", 2);
913
- C = Z([
911
+ ], P.prototype, "sx", 2);
912
+ P = at([
914
913
  p("tc-button")
915
- ], C);
916
- var Bt = Object.defineProperty, Tt = Object.getOwnPropertyDescriptor, wt = (r, e, s, i) => {
917
- for (var t = i > 1 ? void 0 : i ? Tt(e, s) : e, a = r.length - 1, o; a >= 0; a--)
918
- (o = r[a]) && (t = (i ? o(e, s, t) : o(t)) || t);
919
- return i && t && Bt(e, s, t), t;
914
+ ], P);
915
+ var Ht = Object.defineProperty, Vt = Object.getOwnPropertyDescriptor, _t = (r, e, a, i) => {
916
+ for (var t = i > 1 ? void 0 : i ? Vt(e, a) : e, s = r.length - 1, o; s >= 0; s--)
917
+ (o = r[s]) && (t = (i ? o(e, a, t) : o(t)) || t);
918
+ return i && t && Ht(e, a, t), t;
920
919
  };
921
- let st = class extends d {
920
+ let ct = class extends d {
922
921
  constructor() {
923
922
  super(...arguments), this.variant = "info";
924
923
  }
@@ -931,14 +930,21 @@ let st = class extends d {
931
930
  "error-message": r
932
931
  };
933
932
  return l`
934
- <div part="callout" class=${B(e)} role="alert">
935
- <slot></slot>
933
+ <div part="callout" class=${b(e)} role="alert">
934
+ <div class="callout-inner">
935
+ <div part="icon" class="callout-icon">
936
+ <slot name="icon"></slot>
937
+ </div>
938
+ <div part="content" class="callout-content">
939
+ <slot></slot>
940
+ </div>
941
+ </div>
936
942
  </div>
937
943
  `;
938
944
  }
939
945
  };
940
- st.styles = [
941
- u,
946
+ ct.styles = [
947
+ h,
942
948
  c`
943
949
  :host {
944
950
  display: block;
@@ -954,20 +960,43 @@ st.styles = [
954
960
  .error-message {
955
961
  animation: none;
956
962
  }
963
+
964
+ /* Icon + content layout */
965
+ .callout-inner {
966
+ display: flex;
967
+ align-items: flex-start;
968
+ gap: var(--space-sm);
969
+ }
970
+
971
+ .callout-icon {
972
+ flex-shrink: 0;
973
+ display: flex;
974
+ align-items: center;
975
+ }
976
+
977
+ /* Hide icon container when empty */
978
+ .callout-icon:empty {
979
+ display: none;
980
+ }
981
+
982
+ .callout-content {
983
+ flex: 1;
984
+ min-width: 0;
985
+ }
957
986
  `
958
987
  ];
959
- wt([
988
+ _t([
960
989
  n({ type: String })
961
- ], st.prototype, "variant", 2);
962
- st = wt([
990
+ ], ct.prototype, "variant", 2);
991
+ ct = _t([
963
992
  p("tc-callout")
964
- ], st);
965
- var At = Object.defineProperty, Mt = Object.getOwnPropertyDescriptor, dt = (r, e, s, i) => {
966
- for (var t = i > 1 ? void 0 : i ? Mt(e, s) : e, a = r.length - 1, o; a >= 0; a--)
967
- (o = r[a]) && (t = (i ? o(e, s, t) : o(t)) || t);
968
- return i && t && At(e, s, t), t;
993
+ ], ct);
994
+ var qt = Object.defineProperty, Yt = Object.getOwnPropertyDescriptor, gt = (r, e, a, i) => {
995
+ for (var t = i > 1 ? void 0 : i ? Yt(e, a) : e, s = r.length - 1, o; s >= 0; s--)
996
+ (o = r[s]) && (t = (i ? o(e, a, t) : o(t)) || t);
997
+ return i && t && qt(e, a, t), t;
969
998
  };
970
- let N = class extends d {
999
+ let G = class extends d {
971
1000
  constructor() {
972
1001
  super(...arguments), this.noBorder = !1, this.sx = {};
973
1002
  }
@@ -977,7 +1006,7 @@ let N = class extends d {
977
1006
  "card--no-border": this.noBorder
978
1007
  };
979
1008
  return l`
980
- <div part="card" class=${B(r)} style=${m(this.sx)}>
1009
+ <div part="card" class=${b(r)} style=${f(this.sx)}>
981
1010
  <div class="card-content">
982
1011
  <slot></slot>
983
1012
  </div>
@@ -985,8 +1014,8 @@ let N = class extends d {
985
1014
  `;
986
1015
  }
987
1016
  };
988
- N.styles = [
989
- u,
1017
+ G.styles = [
1018
+ h,
990
1019
  c`
991
1020
  :host {
992
1021
  display: block;
@@ -1021,21 +1050,21 @@ N.styles = [
1021
1050
  }
1022
1051
  `
1023
1052
  ];
1024
- dt([
1053
+ gt([
1025
1054
  n({ type: Boolean, attribute: "no-border" })
1026
- ], N.prototype, "noBorder", 2);
1027
- dt([
1055
+ ], G.prototype, "noBorder", 2);
1056
+ gt([
1028
1057
  n({ type: Object })
1029
- ], N.prototype, "sx", 2);
1030
- N = dt([
1058
+ ], G.prototype, "sx", 2);
1059
+ G = gt([
1031
1060
  p("tc-card")
1032
- ], N);
1033
- var It = Object.defineProperty, Ft = Object.getOwnPropertyDescriptor, pt = (r, e, s, i) => {
1034
- for (var t = i > 1 ? void 0 : i ? Ft(e, s) : e, a = r.length - 1, o; a >= 0; a--)
1035
- (o = r[a]) && (t = (i ? o(e, s, t) : o(t)) || t);
1036
- return i && t && It(e, s, t), t;
1061
+ ], G);
1062
+ var Ut = Object.defineProperty, Rt = Object.getOwnPropertyDescriptor, ft = (r, e, a, i) => {
1063
+ for (var t = i > 1 ? void 0 : i ? Rt(e, a) : e, s = r.length - 1, o; s >= 0; s--)
1064
+ (o = r[s]) && (t = (i ? o(e, a, t) : o(t)) || t);
1065
+ return i && t && Ut(e, a, t), t;
1037
1066
  };
1038
- let K = class extends d {
1067
+ let Q = class extends d {
1039
1068
  constructor() {
1040
1069
  super(...arguments), this.variant = "default", this.size = "md";
1041
1070
  }
@@ -1047,8 +1076,8 @@ let K = class extends d {
1047
1076
  `;
1048
1077
  }
1049
1078
  };
1050
- K.styles = [
1051
- u,
1079
+ Q.styles = [
1080
+ h,
1052
1081
  c`
1053
1082
  :host {
1054
1083
  display: inline-flex;
@@ -1094,21 +1123,21 @@ K.styles = [
1094
1123
  }
1095
1124
  `
1096
1125
  ];
1097
- pt([
1126
+ ft([
1098
1127
  n({ type: String })
1099
- ], K.prototype, "variant", 2);
1100
- pt([
1128
+ ], Q.prototype, "variant", 2);
1129
+ ft([
1101
1130
  n({ type: String })
1102
- ], K.prototype, "size", 2);
1103
- K = pt([
1131
+ ], Q.prototype, "size", 2);
1132
+ Q = ft([
1104
1133
  p("tc-chip")
1105
- ], K);
1106
- var qt = Object.defineProperty, Yt = Object.getOwnPropertyDescriptor, ht = (r, e, s, i) => {
1107
- for (var t = i > 1 ? void 0 : i ? Yt(e, s) : e, a = r.length - 1, o; a >= 0; a--)
1108
- (o = r[a]) && (t = (i ? o(e, s, t) : o(t)) || t);
1109
- return i && t && qt(e, s, t), t;
1134
+ ], Q);
1135
+ var Nt = Object.defineProperty, Kt = Object.getOwnPropertyDescriptor, bt = (r, e, a, i) => {
1136
+ for (var t = i > 1 ? void 0 : i ? Kt(e, a) : e, s = r.length - 1, o; s >= 0; s--)
1137
+ (o = r[s]) && (t = (i ? o(e, a, t) : o(t)) || t);
1138
+ return i && t && Nt(e, a, t), t;
1110
1139
  };
1111
- let V = class extends d {
1140
+ let J = class extends d {
1112
1141
  constructor() {
1113
1142
  super(...arguments), this.wide = !1, this.sx = {}, this.defaultStyles = {
1114
1143
  display: "flex",
@@ -1126,14 +1155,14 @@ let V = class extends d {
1126
1155
  <div
1127
1156
  part="container"
1128
1157
  class="container ${this.wide ? "container--wide" : ""}"
1129
- style=${m(r)}
1158
+ style=${f(r)}
1130
1159
  >
1131
1160
  <slot></slot>
1132
1161
  </div>
1133
1162
  `;
1134
1163
  }
1135
1164
  };
1136
- V.styles = c`
1165
+ J.styles = c`
1137
1166
  :host {
1138
1167
  display: block;
1139
1168
  width: 100%;
@@ -1150,175 +1179,92 @@ V.styles = c`
1150
1179
  max-width: var(--container-max-width-wide);
1151
1180
  }
1152
1181
  `;
1153
- ht([
1182
+ bt([
1154
1183
  n({ type: Boolean })
1155
- ], V.prototype, "wide", 2);
1156
- ht([
1184
+ ], J.prototype, "wide", 2);
1185
+ bt([
1157
1186
  n({ type: Object })
1158
- ], V.prototype, "sx", 2);
1159
- V = ht([
1187
+ ], J.prototype, "sx", 2);
1188
+ J = bt([
1160
1189
  p("tc-container")
1161
- ], V);
1162
- var Ut = Object.defineProperty, Ht = Object.getOwnPropertyDescriptor, ut = (r, e, s, i) => {
1163
- for (var t = i > 1 ? void 0 : i ? Ht(e, s) : e, a = r.length - 1, o; a >= 0; a--)
1164
- (o = r[a]) && (t = (i ? o(e, s, t) : o(t)) || t);
1165
- return i && t && Ut(e, s, t), t;
1190
+ ], J);
1191
+ var Wt = Object.defineProperty, Xt = Object.getOwnPropertyDescriptor, pt = (r, e, a, i) => {
1192
+ for (var t = i > 1 ? void 0 : i ? Xt(e, a) : e, s = r.length - 1, o; s >= 0; s--)
1193
+ (o = r[s]) && (t = (i ? o(e, a, t) : o(t)) || t);
1194
+ return i && t && Wt(e, a, t), t;
1166
1195
  };
1167
- let W = class extends d {
1196
+ let F = class extends d {
1168
1197
  constructor() {
1169
- super(...arguments), this.color = "var(--ink-faint)", this.spacing = "var(--space-md)";
1198
+ super(...arguments), this.color = "var(--ink-faint)", this.spacing = "var(--space-md)", this.text = "";
1170
1199
  }
1171
1200
  render() {
1172
- return l`
1173
- <hr
1174
- part="divider"
1175
- class="divider"
1176
- style="--divider-color: ${this.color}; --divider-spacing: ${this.spacing};"
1177
- />
1201
+ const r = `--divider-color: ${this.color}; --divider-spacing: ${this.spacing};`;
1202
+ return this.text ? l`
1203
+ <div part="container" class="divider-container" style=${r}>
1204
+ <hr part="line" class="divider-line" />
1205
+ <span part="text" class="divider-text">${this.text}</span>
1206
+ <hr part="line" class="divider-line" />
1207
+ </div>
1208
+ ` : l`
1209
+ <hr part="divider" class="divider" style=${r} />
1178
1210
  `;
1179
1211
  }
1180
1212
  };
1181
- W.styles = c`
1213
+ F.styles = c`
1182
1214
  :host {
1183
1215
  display: block;
1184
1216
  width: 100%;
1185
1217
  }
1186
1218
 
1219
+ /* Simple divider (no text) */
1187
1220
  .divider {
1188
1221
  border: none;
1189
1222
  height: 1px;
1190
1223
  background-color: var(--divider-color);
1191
1224
  margin: var(--divider-spacing) 0;
1192
1225
  }
1193
- `;
1194
- ut([
1195
- n({ type: String })
1196
- ], W.prototype, "color", 2);
1197
- ut([
1198
- n({ type: String })
1199
- ], W.prototype, "spacing", 2);
1200
- W = ut([
1201
- p("tc-divider")
1202
- ], W);
1203
- var Rt = Object.defineProperty, Nt = Object.getOwnPropertyDescriptor, I = (r, e, s, i) => {
1204
- for (var t = i > 1 ? void 0 : i ? Nt(e, s) : e, a = r.length - 1, o; a >= 0; a--)
1205
- (o = r[a]) && (t = (i ? o(e, s, t) : o(t)) || t);
1206
- return i && t && Rt(e, s, t), t;
1207
- };
1208
- let b = class extends d {
1209
- constructor() {
1210
- super(...arguments), this.title = "", this.subtitle = "", this.notice = "", this.noAnimation = !1, this.sx = {};
1211
- }
1212
- render() {
1213
- const r = !this.noAnimation;
1214
- return l`
1215
- <header part="header" class="header" style=${m(this.sx)}>
1216
- ${this.title ? l`<h1 part="title" class="form-title ${r ? "form-title--animated" : ""}">
1217
- ${this.title}
1218
- </h1>` : ""}
1219
- ${this.subtitle ? l`<p part="subtitle" class="form-subtitle ${r ? "form-subtitle--animated" : ""}">
1220
- ${this.subtitle}
1221
- </p>` : ""}
1222
- ${this.notice ? l`<div part="notice" class="notice ${r ? "notice--animated" : ""}">
1223
- ${this.notice}
1224
- </div>` : ""}
1225
- </header>
1226
- `;
1227
- }
1228
- };
1229
- b.styles = [
1230
- u,
1231
- c`
1232
- :host {
1233
- display: block;
1234
- text-align: center;
1235
- }
1236
-
1237
- .header {
1238
- display: flex;
1239
- flex-direction: column;
1240
- align-items: center;
1241
- gap: var(--space-sm);
1242
- }
1243
-
1244
- /* Extend design-tokens .form-title */
1245
- .form-title {
1246
- margin: 0;
1247
- line-height: 1.2;
1248
- }
1249
-
1250
- .form-title--animated {
1251
- animation: slideDown var(--duration-fast) var(--easing-ease-in-out) backwards;
1252
- }
1253
-
1254
- /* Extend design-tokens .form-subtitle */
1255
- .form-subtitle {
1256
- margin: 0;
1257
- max-width: 28ch;
1258
- }
1259
-
1260
- .form-subtitle--animated {
1261
- animation: slideUp var(--duration-smooth) var(--easing-ease-in-out) 100ms backwards;
1262
- }
1263
-
1264
- .notice {
1265
- margin-top: var(--space-sm);
1266
- padding: var(--space-sm) var(--space-md);
1267
- background: var(--paper-warm);
1268
- border-radius: var(--radius-md);
1269
- font-size: var(--font-size-sm);
1270
- color: var(--ink-medium);
1271
- }
1272
1226
 
1273
- .notice--animated {
1274
- animation: noticeReveal 500ms var(--easing-ease-in-out) 200ms backwards;
1275
- }
1227
+ /* Divider with text */
1228
+ .divider-container {
1229
+ display: flex;
1230
+ align-items: center;
1231
+ gap: var(--space-md);
1232
+ margin: var(--divider-spacing) 0;
1233
+ }
1276
1234
 
1277
- @keyframes noticeReveal {
1278
- from {
1279
- opacity: 0;
1280
- transform: scale(0.95);
1281
- }
1282
- to {
1283
- opacity: 1;
1284
- transform: scale(1);
1285
- }
1286
- }
1235
+ .divider-line {
1236
+ flex: 1;
1237
+ border: none;
1238
+ height: 1px;
1239
+ background-color: var(--divider-color);
1240
+ margin: 0;
1241
+ }
1287
1242
 
1288
- /* Reduced motion */
1289
- @media (prefers-reduced-motion: reduce) {
1290
- .form-title--animated,
1291
- .form-subtitle--animated,
1292
- .notice--animated {
1293
- animation: none;
1294
- }
1295
- }
1296
- `
1297
- ];
1298
- I([
1243
+ .divider-text {
1244
+ flex-shrink: 0;
1245
+ font-size: var(--font-size-sm);
1246
+ color: var(--ink-light);
1247
+ font-family: var(--font-body);
1248
+ }
1249
+ `;
1250
+ pt([
1299
1251
  n({ type: String })
1300
- ], b.prototype, "title", 2);
1301
- I([
1252
+ ], F.prototype, "color", 2);
1253
+ pt([
1302
1254
  n({ type: String })
1303
- ], b.prototype, "subtitle", 2);
1304
- I([
1255
+ ], F.prototype, "spacing", 2);
1256
+ pt([
1305
1257
  n({ type: String })
1306
- ], b.prototype, "notice", 2);
1307
- I([
1308
- n({ type: Boolean, attribute: "no-animation" })
1309
- ], b.prototype, "noAnimation", 2);
1310
- I([
1311
- n({ type: Object })
1312
- ], b.prototype, "sx", 2);
1313
- b = I([
1314
- p("tc-form-header")
1315
- ], b);
1316
- var Kt = Object.defineProperty, Vt = Object.getOwnPropertyDescriptor, ot = (r, e, s, i) => {
1317
- for (var t = i > 1 ? void 0 : i ? Vt(e, s) : e, a = r.length - 1, o; a >= 0; a--)
1318
- (o = r[a]) && (t = (i ? o(e, s, t) : o(t)) || t);
1319
- return i && t && Kt(e, s, t), t;
1258
+ ], F.prototype, "text", 2);
1259
+ F = pt([
1260
+ p("tc-divider")
1261
+ ], F);
1262
+ var Gt = Object.defineProperty, Qt = Object.getOwnPropertyDescriptor, ht = (r, e, a, i) => {
1263
+ for (var t = i > 1 ? void 0 : i ? Qt(e, a) : e, s = r.length - 1, o; s >= 0; s--)
1264
+ (o = r[s]) && (t = (i ? o(e, a, t) : o(t)) || t);
1265
+ return i && t && Gt(e, a, t), t;
1320
1266
  };
1321
- const Wt = {
1267
+ const Jt = {
1322
1268
  "arrow-left": l`<svg viewBox="0 0 24 24" fill="currentColor"><path d="M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z"/></svg>`,
1323
1269
  "arrow-right": l`<svg viewBox="0 0 24 24" fill="currentColor"><path d="M12 4l-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z"/></svg>`,
1324
1270
  check: l`<svg viewBox="0 0 24 24" fill="currentColor"><path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"/></svg>`,
@@ -1337,14 +1283,30 @@ const Wt = {
1337
1283
  passkey: l`<svg viewBox="0 0 24 24" fill="currentColor"><path d="M21 10h-8.35C11.83 7.67 9.61 6 7 6c-3.31 0-6 2.69-6 6s2.69 6 6 6c2.61 0 4.83-1.67 5.65-4H13l2 2 2-2 2 2 2-2.93-2-2.07zm-14 2c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z"/></svg>`,
1338
1284
  bell: l`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9"></path><path d="M13.73 21a2 2 0 0 1-3.46 0"></path></svg>`,
1339
1285
  download: l`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line></svg>`,
1340
- "wifi-off": l`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="1" y1="1" x2="23" y2="23"></line><path d="M16.72 11.06A10.94 10.94 0 0 1 19 12.55"></path><path d="M5 12.55a10.94 10.94 0 0 1 5.17-2.39"></path><path d="M10.71 5.05A16 16 0 0 1 22.58 9"></path><path d="M1.42 9a15.91 15.91 0 0 1 4.7-2.88"></path><path d="M8.53 16.11a6 6 0 0 1 6.95 0"></path><line x1="12" y1="20" x2="12.01" y2="20"></line></svg>`
1286
+ "wifi-off": l`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="1" y1="1" x2="23" y2="23"></line><path d="M16.72 11.06A10.94 10.94 0 0 1 19 12.55"></path><path d="M5 12.55a10.94 10.94 0 0 1 5.17-2.39"></path><path d="M10.71 5.05A16 16 0 0 1 22.58 9"></path><path d="M1.42 9a15.91 15.91 0 0 1 4.7-2.88"></path><path d="M8.53 16.11a6 6 0 0 1 6.95 0"></path><line x1="12" y1="20" x2="12.01" y2="20"></line></svg>`,
1287
+ // Brand icons
1288
+ apple: l`<svg viewBox="0 0 24 24" fill="currentColor"><path d="M17.05 20.28c-.98.95-2.05.8-3.08.35-1.09-.46-2.09-.48-3.24 0-1.44.62-2.2.44-3.06-.35C2.79 15.25 3.51 7.59 9.05 7.31c1.35.07 2.29.74 3.08.8 1.18-.24 2.31-.93 3.57-.84 1.51.12 2.65.72 3.4 1.8-3.12 1.87-2.38 5.98.48 7.13-.57 1.5-1.31 2.99-2.54 4.09l.01-.01zM12.03 7.25c-.15-2.23 1.66-4.07 3.74-4.25.29 2.58-2.34 4.5-3.74 4.25z"/></svg>`,
1289
+ google: l`<svg viewBox="0 0 24 24" fill="currentColor"><path d="M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z"/><path d="M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z"/><path d="M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z"/><path d="M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z"/></svg>`,
1290
+ windows: l`<svg viewBox="0 0 24 24" fill="currentColor"><path d="M3 12V6.75l6-1.32v6.48L3 12zm17-9v8.75l-10 .15V5.21L20 3zM3 13l6 .09v6.81l-6-1.15V13zm17 .25V22l-10-1.91V13.1l10 .15z"/></svg>`,
1291
+ samsung: l`<svg viewBox="0 0 24 24"><text x="12" y="17" font-size="18" font-weight="700" font-family="-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif" text-anchor="middle" fill="currentColor">S</text></svg>`,
1292
+ // General icons
1293
+ phone: l`<svg viewBox="0 0 24 24" fill="currentColor"><path d="M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z"/></svg>`,
1294
+ success: l`<svg viewBox="0 0 24 24" fill="currentColor"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"/></svg>`,
1295
+ lock: l`<svg viewBox="0 0 24 24" fill="currentColor"><path d="M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm-6 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zm3.1-9H8.9V6c0-1.71 1.39-3.1 3.1-3.1 1.71 0 3.1 1.39 3.1 3.1v2z"/></svg>`,
1296
+ person: l`<svg viewBox="0 0 24 24" fill="currentColor"><path d="M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"/></svg>`,
1297
+ device: l`<svg viewBox="0 0 24 24" fill="currentColor"><path d="M15 7v4h1v2h-3V5h2l-3-4-3 4h2v8H8v-2.07c.7-.37 1.2-1.08 1.2-1.93 0-1.21-.99-2.2-2.2-2.2-1.21 0-2.2.99-2.2 2.2 0 .85.5 1.56 1.2 1.93V13c0 1.11.89 2 2 2h3v3.05c-.71.37-1.2 1.1-1.2 1.95 0 1.22.99 2.2 2.2 2.2 1.21 0 2.2-.98 2.2-2.2 0-.85-.49-1.58-1.2-1.95V15h3c1.11 0 2-.89 2-2v-2h1V7h-4z"/></svg>`,
1298
+ // Auth icons
1299
+ totp: l`<svg viewBox="0 0 24 24" fill="currentColor"><path d="M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm.5-13H11v6l5.25 3.15.75-1.23-4.5-2.67z"/></svg>`,
1300
+ "email-otp": l`<svg viewBox="0 0 24 24" fill="currentColor"><path d="M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z"/></svg>`,
1301
+ qrcode: l`<svg viewBox="0 0 24 24" fill="currentColor"><path d="M3 11h8V3H3v8zm2-6h4v4H5V5zM3 21h8v-8H3v8zm2-6h4v4H5v-4zM13 3v8h8V3h-8zm6 6h-4V5h4v4zM13 13h2v2h-2zM15 15h2v2h-2zM13 17h2v2h-2zM15 19h2v2h-2zM17 17h2v2h-2zM17 13h2v2h-2zM19 15h2v2h-2zM19 19h2v2h-2z"/><path d="M6 6h2v2H6zM6 16h2v2H6zM16 6h2v2h-2z"/></svg>`,
1302
+ key: l`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M15.75 5.25a3 3 0 0 1 3 3m3 0a6 6 0 0 1-7.029 5.912c-.563-.097-1.159.026-1.563.43L10.5 17.25H8.25v2.25H6v2.25H2.25v-2.818c0-.597.237-1.17.659-1.591l6.499-6.499c.404-.404.527-1 .43-1.563A6 6 0 1 1 21.75 8.25Z"/></svg>`
1341
1303
  };
1342
- let T = class extends d {
1304
+ let H = class extends d {
1343
1305
  constructor() {
1344
1306
  super(...arguments), this.name = "info", this.size = "1.5rem", this.color = "currentColor";
1345
1307
  }
1346
1308
  render() {
1347
- const r = Wt[this.name];
1309
+ const r = Jt[this.name];
1348
1310
  return r ? l`
1349
1311
  <span
1350
1312
  part="icon"
@@ -1356,7 +1318,7 @@ let T = class extends d {
1356
1318
  ` : (console.warn(`Icon "${this.name}" not found`), l``);
1357
1319
  }
1358
1320
  };
1359
- T.styles = c`
1321
+ H.styles = c`
1360
1322
  :host {
1361
1323
  display: inline-flex;
1362
1324
  align-items: center;
@@ -1375,101 +1337,440 @@ T.styles = c`
1375
1337
  color: var(--icon-color);
1376
1338
  }
1377
1339
  `;
1378
- ot([
1340
+ ht([
1379
1341
  n({ type: String })
1380
- ], T.prototype, "name", 2);
1381
- ot([
1342
+ ], H.prototype, "name", 2);
1343
+ ht([
1382
1344
  n({ type: String })
1383
- ], T.prototype, "size", 2);
1384
- ot([
1345
+ ], H.prototype, "size", 2);
1346
+ ht([
1385
1347
  n({ type: String })
1386
- ], T.prototype, "color", 2);
1387
- T = ot([
1348
+ ], H.prototype, "color", 2);
1349
+ H = ht([
1388
1350
  p("tc-icon")
1389
- ], T);
1390
- var Xt = Object.defineProperty, Gt = Object.getOwnPropertyDescriptor, v = (r, e, s, i) => {
1391
- for (var t = i > 1 ? void 0 : i ? Gt(e, s) : e, a = r.length - 1, o; a >= 0; a--)
1392
- (o = r[a]) && (t = (i ? o(e, s, t) : o(t)) || t);
1393
- return i && t && Xt(e, s, t), t;
1351
+ ], H);
1352
+ var Zt = Object.defineProperty, te = Object.getOwnPropertyDescriptor, Y = (r, e, a, i) => {
1353
+ for (var t = i > 1 ? void 0 : i ? te(e, a) : e, s = r.length - 1, o; s >= 0; s--)
1354
+ (o = r[s]) && (t = (i ? o(e, a, t) : o(t)) || t);
1355
+ return i && t && Zt(e, a, t), t;
1394
1356
  };
1395
- let h = class extends d {
1357
+ let $ = class extends d {
1396
1358
  constructor() {
1397
- super(...arguments), this.label = "", this.type = "text", this.placeholder = "", this.value = "", this.error = "", this.disabled = !1, this.required = !1, this.name = "", this.autocomplete = "", this.inputmode = "", this.maxlength = 0, this.sx = {}, this.inputId = `tc-input-${Math.random().toString(36).slice(2)}`, this.isFocused = !1;
1359
+ super(...arguments), this.tag = "p", this.sx = {};
1360
+ }
1361
+ getColorClass() {
1362
+ return this.color && {
1363
+ primary: "text--primary",
1364
+ secondary: "text--secondary",
1365
+ tertiary: "text--tertiary",
1366
+ muted: "text--muted",
1367
+ accent: "text--accent",
1368
+ success: "text--success",
1369
+ error: "text--error",
1370
+ warning: "text--warning",
1371
+ info: "text--info"
1372
+ }[this.color] || "";
1373
+ }
1374
+ getColorStyle() {
1375
+ if (this.color && (this.color.startsWith("var(") || this.color.startsWith("#") || this.color.startsWith("rgb")))
1376
+ return this.color;
1398
1377
  }
1399
1378
  render() {
1400
- const r = this.error.length > 0, e = {
1401
- "field-group": !0,
1402
- focused: this.isFocused,
1403
- "has-error": r
1404
- }, s = {
1405
- "input-wrapper": !0,
1406
- focused: this.isFocused,
1407
- "has-error": r
1408
- }, i = {
1409
- input: !0,
1410
- "has-error": r
1379
+ const r = St(this.tag), e = [
1380
+ "text",
1381
+ this.size ? `text--${this.size}` : "",
1382
+ this.weight ? `text--w${this.weight}` : "",
1383
+ this.getColorClass()
1384
+ ].filter(Boolean).join(" "), a = this.getColorStyle(), i = {
1385
+ ...a ? { color: a } : {},
1386
+ ...this.sx
1411
1387
  };
1412
- return l`
1413
- <div class=${B(e)}>
1414
- ${this.label ? l`<label part="label" class="field-label" for=${this.inputId}>${this.label}</label>` : ""}
1415
- <div part="wrapper" class=${B(s)}>
1416
- <input
1417
- part="input"
1418
- id=${this.inputId}
1419
- class=${B(i)}
1420
- type=${this.type}
1421
- name=${this.name}
1422
- placeholder=${this.placeholder}
1423
- .value=${this.value}
1424
- ?disabled=${this.disabled}
1425
- ?required=${this.required}
1426
- autocomplete=${this.autocomplete || "off"}
1427
- inputmode=${this.inputmode || ""}
1428
- maxlength=${this.maxlength || ""}
1429
- aria-invalid=${r ? "true" : "false"}
1430
- aria-describedby=${r ? `${this.inputId}-error` : ""}
1431
- style=${m(this.sx)}
1432
- @input=${this.handleInput}
1433
- @focus=${this.handleFocus}
1434
- @blur=${this.handleBlur}
1435
- />
1436
- <div part="ink-line" class="ink-line"></div>
1437
- </div>
1438
- ${r ? l`<p part="error" id="${this.inputId}-error" class="input-error-text" role="alert">
1439
- ${this.error}
1440
- </p>` : ""}
1441
- </div>
1388
+ return Pt`
1389
+ <${r} part="text" class=${e} style=${f(i)}>
1390
+ <slot></slot>
1391
+ </${r}>
1442
1392
  `;
1443
1393
  }
1444
- handleInput(r) {
1445
- const e = r.target;
1446
- this.value = e.value, this.dispatchEvent(
1447
- new CustomEvent("tc-input", {
1448
- bubbles: !0,
1449
- composed: !0,
1450
- detail: { value: e.value }
1451
- })
1452
- );
1453
- }
1454
- handleFocus() {
1455
- this.isFocused = !0;
1456
- }
1457
- handleBlur(r) {
1458
- const e = r.target;
1459
- this.isFocused = !1, this.dispatchEvent(
1460
- new CustomEvent("tc-blur", {
1461
- bubbles: !0,
1462
- composed: !0,
1463
- detail: { value: e.value }
1464
- })
1465
- );
1394
+ };
1395
+ $.styles = [
1396
+ h,
1397
+ c`
1398
+ :host {
1399
+ display: contents;
1400
+ }
1401
+
1402
+ .text {
1403
+ margin: 0;
1404
+ padding: 0;
1405
+ font-family: var(--font-body);
1406
+ line-height: 1.4;
1407
+ color: var(--ink-black);
1408
+ }
1409
+
1410
+ /* Size variants using design-tokens */
1411
+ .text--sm {
1412
+ font-size: var(--font-size-sm);
1413
+ }
1414
+ .text--base {
1415
+ font-size: var(--font-size-base);
1416
+ }
1417
+ .text--lg {
1418
+ font-size: var(--font-size-lg);
1419
+ }
1420
+ .text--xl {
1421
+ font-size: var(--font-size-xl);
1422
+ }
1423
+ .text--2xl {
1424
+ font-size: var(--font-size-2xl);
1425
+ }
1426
+
1427
+ /* Weight variants */
1428
+ .text--w400 {
1429
+ font-weight: 400;
1430
+ }
1431
+ .text--w500 {
1432
+ font-weight: 500;
1433
+ }
1434
+ .text--w600 {
1435
+ font-weight: 600;
1436
+ }
1437
+ .text--w700 {
1438
+ font-weight: 700;
1439
+ }
1440
+
1441
+ /* Color variants using design-tokens - these will respond to theme changes */
1442
+ .text--primary {
1443
+ color: var(--ink-black);
1444
+ }
1445
+ .text--secondary {
1446
+ color: var(--ink-dark);
1447
+ }
1448
+ .text--tertiary {
1449
+ color: var(--ink-medium);
1450
+ }
1451
+ .text--muted {
1452
+ color: var(--ink-light);
1453
+ }
1454
+ .text--accent {
1455
+ color: var(--accent-primary);
1456
+ }
1457
+ .text--success {
1458
+ color: var(--accent-success);
1459
+ }
1460
+ .text--error {
1461
+ color: var(--error-base);
1462
+ }
1463
+ .text--warning {
1464
+ color: var(--semantic-warning);
1465
+ }
1466
+ .text--info {
1467
+ color: var(--semantic-info);
1468
+ }
1469
+ `
1470
+ ];
1471
+ Y([
1472
+ n({ type: String })
1473
+ ], $.prototype, "tag", 2);
1474
+ Y([
1475
+ n({ type: String })
1476
+ ], $.prototype, "size", 2);
1477
+ Y([
1478
+ n({ type: String })
1479
+ ], $.prototype, "weight", 2);
1480
+ Y([
1481
+ n({ type: String })
1482
+ ], $.prototype, "color", 2);
1483
+ Y([
1484
+ n({ type: Object })
1485
+ ], $.prototype, "sx", 2);
1486
+ $ = Y([
1487
+ p("tc-text")
1488
+ ], $);
1489
+ var ee = Object.defineProperty, re = Object.getOwnPropertyDescriptor, yt = (r, e, a, i) => {
1490
+ for (var t = i > 1 ? void 0 : i ? re(e, a) : e, s = r.length - 1, o; s >= 0; s--)
1491
+ (o = r[s]) && (t = (i ? o(e, a, t) : o(t)) || t);
1492
+ return i && t && ee(e, a, t), t;
1493
+ };
1494
+ let Z = class extends d {
1495
+ constructor() {
1496
+ super(...arguments), this.variant = "error", this.message = "";
1497
+ }
1498
+ getIconName() {
1499
+ switch (this.variant) {
1500
+ case "warning":
1501
+ return "alert-triangle";
1502
+ case "info":
1503
+ return "info";
1504
+ default:
1505
+ return "alert-circle";
1506
+ }
1507
+ }
1508
+ getIconColor() {
1509
+ switch (this.variant) {
1510
+ case "warning":
1511
+ return "var(--semantic-warning)";
1512
+ case "info":
1513
+ return "var(--semantic-info)";
1514
+ default:
1515
+ return "var(--error-base)";
1516
+ }
1517
+ }
1518
+ render() {
1519
+ return this.message ? l`
1520
+ <tc-callout part="callout" variant=${this.variant}>
1521
+ <tc-icon
1522
+ slot="icon"
1523
+ part="icon"
1524
+ name=${this.getIconName()}
1525
+ size="1.25rem"
1526
+ color=${this.getIconColor()}
1527
+ ></tc-icon>
1528
+ <tc-text part="message" class="message-text" size="sm">
1529
+ ${this.message}
1530
+ </tc-text>
1531
+ </tc-callout>
1532
+ ` : null;
1533
+ }
1534
+ };
1535
+ Z.styles = c`
1536
+ :host {
1537
+ display: block;
1538
+ width: 100%;
1539
+ }
1540
+
1541
+ tc-callout::part(callout) {
1542
+ padding: var(--space-sm) var(--space-md);
1543
+ }
1544
+
1545
+ .message-text {
1546
+ line-height: 1.4;
1547
+ }
1548
+ `;
1549
+ yt([
1550
+ n({ type: String })
1551
+ ], Z.prototype, "variant", 2);
1552
+ yt([
1553
+ n({ type: String })
1554
+ ], Z.prototype, "message", 2);
1555
+ Z = yt([
1556
+ p("tc-error-message")
1557
+ ], Z);
1558
+ var ie = Object.defineProperty, ae = Object.getOwnPropertyDescriptor, U = (r, e, a, i) => {
1559
+ for (var t = i > 1 ? void 0 : i ? ae(e, a) : e, s = r.length - 1, o; s >= 0; s--)
1560
+ (o = r[s]) && (t = (i ? o(e, a, t) : o(t)) || t);
1561
+ return i && t && ie(e, a, t), t;
1562
+ };
1563
+ let z = class extends d {
1564
+ constructor() {
1565
+ super(...arguments), this.title = "", this.subtitle = "", this.notice = "", this.noAnimation = !1, this.sx = {};
1566
+ }
1567
+ render() {
1568
+ const r = !this.noAnimation;
1569
+ return l`
1570
+ <header part="header" class="header" style=${f(this.sx)}>
1571
+ ${this.title ? l`<h1 part="title" class="form-title ${r ? "form-title--animated" : ""}">
1572
+ ${this.title}
1573
+ </h1>` : ""}
1574
+ ${this.subtitle ? l`<p part="subtitle" class="form-subtitle ${r ? "form-subtitle--animated" : ""}">
1575
+ ${this.subtitle}
1576
+ </p>` : ""}
1577
+ ${this.notice ? l`<div part="notice" class="notice ${r ? "notice--animated" : ""}">
1578
+ ${this.notice}
1579
+ </div>` : ""}
1580
+ </header>
1581
+ `;
1582
+ }
1583
+ };
1584
+ z.styles = [
1585
+ h,
1586
+ c`
1587
+ :host {
1588
+ display: block;
1589
+ text-align: center;
1590
+ }
1591
+
1592
+ .header {
1593
+ display: flex;
1594
+ flex-direction: column;
1595
+ align-items: center;
1596
+ gap: var(--space-sm);
1597
+ }
1598
+
1599
+ /* Extend design-tokens .form-title */
1600
+ .form-title {
1601
+ margin: 0;
1602
+ line-height: 1.2;
1603
+ }
1604
+
1605
+ .form-title--animated {
1606
+ animation: slideDown var(--duration-fast) var(--easing-ease-in-out) backwards;
1607
+ }
1608
+
1609
+ /* Extend design-tokens .form-subtitle */
1610
+ .form-subtitle {
1611
+ margin: 0;
1612
+ max-width: 28ch;
1613
+ }
1614
+
1615
+ .form-subtitle--animated {
1616
+ animation: slideUp var(--duration-smooth) var(--easing-ease-in-out) 100ms backwards;
1617
+ }
1618
+
1619
+ .notice {
1620
+ margin-top: var(--space-sm);
1621
+ padding: var(--space-sm) var(--space-md);
1622
+ background: var(--paper-warm);
1623
+ border-radius: var(--radius-md);
1624
+ font-size: var(--font-size-sm);
1625
+ color: var(--ink-medium);
1626
+ }
1627
+
1628
+ .notice--animated {
1629
+ animation: noticeReveal 500ms var(--easing-ease-in-out) 200ms backwards;
1630
+ }
1631
+
1632
+ @keyframes noticeReveal {
1633
+ from {
1634
+ opacity: 0;
1635
+ transform: scale(0.95);
1636
+ }
1637
+ to {
1638
+ opacity: 1;
1639
+ transform: scale(1);
1640
+ }
1641
+ }
1642
+
1643
+ /* Reduced motion */
1644
+ @media (prefers-reduced-motion: reduce) {
1645
+ .form-title--animated,
1646
+ .form-subtitle--animated,
1647
+ .notice--animated {
1648
+ animation: none;
1649
+ }
1650
+ }
1651
+ `
1652
+ ];
1653
+ U([
1654
+ n({ type: String })
1655
+ ], z.prototype, "title", 2);
1656
+ U([
1657
+ n({ type: String })
1658
+ ], z.prototype, "subtitle", 2);
1659
+ U([
1660
+ n({ type: String })
1661
+ ], z.prototype, "notice", 2);
1662
+ U([
1663
+ n({ type: Boolean, attribute: "no-animation" })
1664
+ ], z.prototype, "noAnimation", 2);
1665
+ U([
1666
+ n({ type: Object })
1667
+ ], z.prototype, "sx", 2);
1668
+ z = U([
1669
+ p("tc-form-header")
1670
+ ], z);
1671
+ var se = Object.defineProperty, oe = Object.getOwnPropertyDescriptor, v = (r, e, a, i) => {
1672
+ for (var t = i > 1 ? void 0 : i ? oe(e, a) : e, s = r.length - 1, o; s >= 0; s--)
1673
+ (o = r[s]) && (t = (i ? o(e, a, t) : o(t)) || t);
1674
+ return i && t && se(e, a, t), t;
1675
+ };
1676
+ let u = class extends d {
1677
+ constructor() {
1678
+ super(...arguments), this.label = "", this.type = "text", this.placeholder = "", this.value = "", this.error = "", this.disabled = !1, this.required = !1, this.name = "", this.autocomplete = "", this.inputmode = "", this.maxlength = 0, this.sx = {}, this.inputId = `tc-input-${Math.random().toString(36).slice(2)}`, this.isFocused = !1;
1679
+ }
1680
+ render() {
1681
+ const r = this.error.length > 0, e = {
1682
+ "field-group": !0,
1683
+ focused: this.isFocused,
1684
+ "has-error": r
1685
+ }, a = {
1686
+ "input-wrapper": !0,
1687
+ focused: this.isFocused,
1688
+ "has-error": r
1689
+ }, i = {
1690
+ input: !0,
1691
+ "has-error": r
1692
+ };
1693
+ return l`
1694
+ <div class=${b(e)}>
1695
+ ${this.label ? l`<label part="label" class="field-label" for=${this.inputId}>${this.label}</label>` : ""}
1696
+ <div part="wrapper" class=${b(a)}>
1697
+ <input
1698
+ part="input"
1699
+ id=${this.inputId}
1700
+ class=${b(i)}
1701
+ type=${this.type}
1702
+ name=${this.name}
1703
+ placeholder=${this.placeholder}
1704
+ .value=${this.value}
1705
+ ?disabled=${this.disabled}
1706
+ ?required=${this.required}
1707
+ autocomplete=${this.autocomplete || "off"}
1708
+ inputmode=${this.inputmode || ""}
1709
+ maxlength=${this.maxlength || ""}
1710
+ aria-invalid=${r ? "true" : "false"}
1711
+ aria-describedby=${r ? `${this.inputId}-error` : ""}
1712
+ style=${f(this.sx)}
1713
+ @input=${this.handleInput}
1714
+ @focus=${this.handleFocus}
1715
+ @blur=${this.handleBlur}
1716
+ @keydown=${this.handleKeydown}
1717
+ @paste=${this.handlePaste}
1718
+ />
1719
+ <div part="ink-line" class="ink-line"></div>
1720
+ </div>
1721
+ ${r ? l`<p part="error" id="${this.inputId}-error" class="input-error-text" role="alert">
1722
+ ${this.error}
1723
+ </p>` : ""}
1724
+ </div>
1725
+ `;
1726
+ }
1727
+ handleInput(r) {
1728
+ const e = r.target;
1729
+ this.value = e.value, this.dispatchEvent(
1730
+ new CustomEvent("tc-input", {
1731
+ bubbles: !0,
1732
+ composed: !0,
1733
+ detail: { value: e.value }
1734
+ })
1735
+ );
1736
+ }
1737
+ handleFocus() {
1738
+ this.isFocused = !0;
1739
+ }
1740
+ handleBlur(r) {
1741
+ const e = r.target;
1742
+ this.isFocused = !1, this.dispatchEvent(
1743
+ new CustomEvent("tc-blur", {
1744
+ bubbles: !0,
1745
+ composed: !0,
1746
+ detail: { value: e.value }
1747
+ })
1748
+ );
1749
+ }
1750
+ handleKeydown(r) {
1751
+ this.dispatchEvent(
1752
+ new CustomEvent("tc-keydown", {
1753
+ bubbles: !0,
1754
+ composed: !0,
1755
+ detail: { key: r.key, value: this.value, originalEvent: r }
1756
+ })
1757
+ );
1758
+ }
1759
+ handlePaste(r) {
1760
+ this.dispatchEvent(
1761
+ new CustomEvent("tc-paste", {
1762
+ bubbles: !0,
1763
+ composed: !0,
1764
+ detail: { data: r.clipboardData?.getData("text"), originalEvent: r }
1765
+ })
1766
+ );
1466
1767
  }
1467
1768
  focus() {
1468
1769
  this.shadowRoot?.querySelector("input")?.focus();
1469
1770
  }
1470
1771
  };
1471
- h.styles = [
1472
- u,
1772
+ u.styles = [
1773
+ h,
1473
1774
  c`
1474
1775
  :host {
1475
1776
  display: block;
@@ -1505,51 +1806,298 @@ h.styles = [
1505
1806
  cursor: not-allowed;
1506
1807
  }
1507
1808
 
1508
- /* Ink line animation */
1509
- .ink-line {
1510
- position: absolute;
1511
- bottom: 0;
1512
- left: 50%;
1513
- transform: translateX(-50%);
1514
- width: 0;
1515
- height: 0.125rem;
1516
- background: linear-gradient(
1517
- 90deg,
1518
- var(--accent-primary) 0%,
1519
- var(--accent-primary-hover) 100%
1520
- );
1521
- border-radius: 0.0625rem;
1522
- transition: width 300ms cubic-bezier(0.4, 0, 0.2, 1);
1523
- pointer-events: none;
1524
- }
1525
-
1526
- .input-wrapper.focused .ink-line {
1527
- width: 60%;
1528
- }
1529
-
1530
- /* Error states */
1531
- .input.has-error {
1532
- border-color: var(--error-base);
1533
- background: var(--error-bg);
1809
+ /* Ink line animation */
1810
+ .ink-line {
1811
+ position: absolute;
1812
+ bottom: 0;
1813
+ left: 50%;
1814
+ transform: translateX(-50%);
1815
+ width: 0;
1816
+ height: 0.125rem;
1817
+ background: linear-gradient(
1818
+ 90deg,
1819
+ var(--accent-primary) 0%,
1820
+ var(--accent-primary-hover) 100%
1821
+ );
1822
+ border-radius: 0.0625rem;
1823
+ transition: width 300ms cubic-bezier(0.4, 0, 0.2, 1);
1824
+ pointer-events: none;
1825
+ }
1826
+
1827
+ .input-wrapper.focused .ink-line {
1828
+ width: 60%;
1829
+ }
1830
+
1831
+ /* Error states */
1832
+ .input.has-error {
1833
+ border-color: var(--error-base);
1834
+ background: var(--error-bg);
1835
+ }
1836
+
1837
+ .input.has-error:focus {
1838
+ border-color: var(--error-base);
1839
+ box-shadow: 0 0 0 0.1875rem var(--error-border);
1840
+ }
1841
+
1842
+ .input-wrapper.has-error .ink-line {
1843
+ background: linear-gradient(
1844
+ 90deg,
1845
+ var(--error-base) 0%,
1846
+ var(--error-base) 100%
1847
+ );
1848
+ }
1849
+
1850
+ .input-error-text {
1851
+ font-size: var(--font-size-sm);
1852
+ color: var(--error-base);
1853
+ margin: 0;
1854
+ animation: slideDown 300ms ease backwards;
1855
+ }
1856
+
1857
+ @keyframes slideDown {
1858
+ from {
1859
+ opacity: 0;
1860
+ transform: translateY(-0.25rem);
1861
+ }
1862
+ to {
1863
+ opacity: 1;
1864
+ transform: translateY(0);
1865
+ }
1866
+ }
1867
+
1868
+ /* Reduced motion */
1869
+ @media (prefers-reduced-motion: reduce) {
1870
+ .field-label,
1871
+ .input,
1872
+ .ink-line,
1873
+ .input-error-text {
1874
+ transition-duration: 0.01ms !important;
1875
+ animation-duration: 0.01ms !important;
1876
+ }
1877
+ }
1878
+ `
1879
+ ];
1880
+ v([
1881
+ n({ type: String })
1882
+ ], u.prototype, "label", 2);
1883
+ v([
1884
+ n({ type: String })
1885
+ ], u.prototype, "type", 2);
1886
+ v([
1887
+ n({ type: String })
1888
+ ], u.prototype, "placeholder", 2);
1889
+ v([
1890
+ n({ type: String })
1891
+ ], u.prototype, "value", 2);
1892
+ v([
1893
+ n({ type: String })
1894
+ ], u.prototype, "error", 2);
1895
+ v([
1896
+ n({ type: Boolean })
1897
+ ], u.prototype, "disabled", 2);
1898
+ v([
1899
+ n({ type: Boolean })
1900
+ ], u.prototype, "required", 2);
1901
+ v([
1902
+ n({ type: String })
1903
+ ], u.prototype, "name", 2);
1904
+ v([
1905
+ n({ type: String })
1906
+ ], u.prototype, "autocomplete", 2);
1907
+ v([
1908
+ n({ type: String })
1909
+ ], u.prototype, "inputmode", 2);
1910
+ v([
1911
+ n({ type: Number })
1912
+ ], u.prototype, "maxlength", 2);
1913
+ v([
1914
+ n({ type: Object })
1915
+ ], u.prototype, "sx", 2);
1916
+ v([
1917
+ k()
1918
+ ], u.prototype, "inputId", 2);
1919
+ v([
1920
+ k()
1921
+ ], u.prototype, "isFocused", 2);
1922
+ u = v([
1923
+ p("tc-input")
1924
+ ], u);
1925
+ var ne = Object.defineProperty, le = Object.getOwnPropertyDescriptor, g = (r, e, a, i) => {
1926
+ for (var t = i > 1 ? void 0 : i ? le(e, a) : e, s = r.length - 1, o; s >= 0; s--)
1927
+ (o = r[s]) && (t = (i ? o(e, a, t) : o(t)) || t);
1928
+ return i && t && ne(e, a, t), t;
1929
+ };
1930
+ let m = class extends d {
1931
+ constructor() {
1932
+ super(...arguments), this.label = "", this.placeholder = "", this.value = "", this.error = "", this.disabled = !1, this.readonly = !1, this.chipLabel = "", this.chipIcon = "", this.chipVariant = "default", this.inputId = `tc-input-chip-${Math.random().toString(36).slice(2)}`, this.isFocused = !1;
1933
+ }
1934
+ render() {
1935
+ const r = this.error.length > 0, e = {
1936
+ "field-group": !0,
1937
+ focused: this.isFocused,
1938
+ "has-error": r
1939
+ }, a = {
1940
+ "input-container": !0,
1941
+ "has-error": r
1942
+ };
1943
+ return l`
1944
+ <div class=${b(e)}>
1945
+ ${this.label ? l`<label part="label" class="field-label" for=${this.inputId}>${this.label}</label>` : ""}
1946
+ <div part="wrapper" class=${b(a)}>
1947
+ <input
1948
+ part="input"
1949
+ id=${this.inputId}
1950
+ class="input"
1951
+ type="text"
1952
+ placeholder=${this.placeholder}
1953
+ .value=${this.value}
1954
+ ?disabled=${this.disabled}
1955
+ ?readonly=${this.readonly}
1956
+ aria-invalid=${r ? "true" : "false"}
1957
+ aria-describedby=${r ? `${this.inputId}-error` : ""}
1958
+ @input=${this.handleInput}
1959
+ @focus=${this.handleFocus}
1960
+ @blur=${this.handleBlur}
1961
+ @keydown=${this.handleKeydown}
1962
+ />
1963
+ ${this.chipLabel ? l`
1964
+ <div class="chip-container">
1965
+ <tc-chip part="chip" variant=${this.chipVariant} size="sm">
1966
+ <span class="chip-content">
1967
+ ${this.chipIcon ? l`<tc-icon name=${this.chipIcon} size="0.875rem"></tc-icon>` : ""}
1968
+ ${this.chipLabel}
1969
+ </span>
1970
+ </tc-chip>
1971
+ </div>
1972
+ ` : ""}
1973
+ </div>
1974
+ ${r ? l`<p part="error" id="${this.inputId}-error" class="error-text" role="alert">
1975
+ ${this.error}
1976
+ </p>` : ""}
1977
+ </div>
1978
+ `;
1979
+ }
1980
+ handleInput(r) {
1981
+ const e = r.target;
1982
+ this.value = e.value, this.dispatchEvent(
1983
+ new CustomEvent("tc-input", {
1984
+ bubbles: !0,
1985
+ composed: !0,
1986
+ detail: { value: e.value }
1987
+ })
1988
+ );
1989
+ }
1990
+ handleFocus() {
1991
+ this.isFocused = !0;
1992
+ }
1993
+ handleBlur(r) {
1994
+ const e = r.target;
1995
+ this.isFocused = !1, this.dispatchEvent(
1996
+ new CustomEvent("tc-blur", {
1997
+ bubbles: !0,
1998
+ composed: !0,
1999
+ detail: { value: e.value }
2000
+ })
2001
+ );
2002
+ }
2003
+ handleKeydown(r) {
2004
+ this.dispatchEvent(
2005
+ new CustomEvent("tc-keydown", {
2006
+ bubbles: !0,
2007
+ composed: !0,
2008
+ detail: { key: r.key, value: this.value, originalEvent: r }
2009
+ })
2010
+ );
2011
+ }
2012
+ focus() {
2013
+ this.shadowRoot?.querySelector("input")?.focus();
2014
+ }
2015
+ };
2016
+ m.styles = [
2017
+ h,
2018
+ c`
2019
+ :host {
2020
+ display: block;
2021
+ }
2022
+
2023
+ .field-group {
2024
+ width: 100%;
2025
+ }
2026
+
2027
+ .field-group.focused .field-label {
2028
+ color: var(--accent-primary);
2029
+ }
2030
+
2031
+ .field-group.has-error .field-label {
2032
+ color: var(--error-base);
2033
+ }
2034
+
2035
+ .input-container {
2036
+ position: relative;
2037
+ display: flex;
2038
+ align-items: center;
2039
+ width: 100%;
2040
+ background: var(--paper-white);
2041
+ border: 1px solid var(--ink-faint);
2042
+ border-radius: var(--form-input-radius);
2043
+ transition: var(--transition-fast);
2044
+ }
2045
+
2046
+ .input-container:focus-within {
2047
+ border-color: var(--accent-primary);
2048
+ box-shadow: 0 0 0 3px var(--alpha-primary10);
2049
+ }
2050
+
2051
+ .input-container.has-error {
2052
+ border-color: var(--error-base);
2053
+ background: var(--error-bg);
2054
+ }
2055
+
2056
+ .input-container.has-error:focus-within {
2057
+ box-shadow: 0 0 0 3px var(--error-border);
2058
+ }
2059
+
2060
+ .input {
2061
+ flex: 1;
2062
+ min-width: 0;
2063
+ padding: var(--form-input-padding-y) var(--form-input-padding-x);
2064
+ font-family: var(--font-body);
2065
+ font-size: var(--form-input-font-size);
2066
+ color: var(--ink-black);
2067
+ background: transparent;
2068
+ border: none;
2069
+ outline: none;
2070
+ }
2071
+
2072
+ .input::placeholder {
2073
+ color: var(--ink-light);
2074
+ }
2075
+
2076
+ .input:disabled {
2077
+ opacity: var(--opacity-disabled);
2078
+ cursor: not-allowed;
2079
+ }
2080
+
2081
+ .input:read-only {
2082
+ cursor: default;
1534
2083
  }
1535
2084
 
1536
- .input.has-error:focus {
1537
- border-color: var(--error-base);
1538
- box-shadow: 0 0 0 0.1875rem var(--error-border);
2085
+ .chip-container {
2086
+ display: flex;
2087
+ align-items: center;
2088
+ padding-right: var(--space-sm);
1539
2089
  }
1540
2090
 
1541
- .input-wrapper.has-error .ink-line {
1542
- background: linear-gradient(
1543
- 90deg,
1544
- var(--error-base) 0%,
1545
- var(--error-base) 100%
1546
- );
2091
+ .chip-content {
2092
+ display: flex;
2093
+ align-items: center;
2094
+ gap: var(--space-xs);
1547
2095
  }
1548
2096
 
1549
- .input-error-text {
2097
+ .error-text {
1550
2098
  font-size: var(--font-size-sm);
1551
2099
  color: var(--error-base);
1552
- margin: 0;
2100
+ margin: var(--space-xs) 0 0;
1553
2101
  animation: slideDown 300ms ease backwards;
1554
2102
  }
1555
2103
 
@@ -1564,69 +2112,57 @@ h.styles = [
1564
2112
  }
1565
2113
  }
1566
2114
 
1567
- /* Reduced motion */
1568
2115
  @media (prefers-reduced-motion: reduce) {
1569
- .field-label,
1570
- .input,
1571
- .ink-line,
1572
- .input-error-text {
2116
+ .input-container,
2117
+ .error-text {
1573
2118
  transition-duration: 0.01ms !important;
1574
2119
  animation-duration: 0.01ms !important;
1575
2120
  }
1576
2121
  }
1577
2122
  `
1578
2123
  ];
1579
- v([
2124
+ g([
1580
2125
  n({ type: String })
1581
- ], h.prototype, "label", 2);
1582
- v([
1583
- n({ type: String })
1584
- ], h.prototype, "type", 2);
1585
- v([
2126
+ ], m.prototype, "label", 2);
2127
+ g([
1586
2128
  n({ type: String })
1587
- ], h.prototype, "placeholder", 2);
1588
- v([
2129
+ ], m.prototype, "placeholder", 2);
2130
+ g([
1589
2131
  n({ type: String })
1590
- ], h.prototype, "value", 2);
1591
- v([
2132
+ ], m.prototype, "value", 2);
2133
+ g([
1592
2134
  n({ type: String })
1593
- ], h.prototype, "error", 2);
1594
- v([
2135
+ ], m.prototype, "error", 2);
2136
+ g([
1595
2137
  n({ type: Boolean })
1596
- ], h.prototype, "disabled", 2);
1597
- v([
2138
+ ], m.prototype, "disabled", 2);
2139
+ g([
1598
2140
  n({ type: Boolean })
1599
- ], h.prototype, "required", 2);
1600
- v([
1601
- n({ type: String })
1602
- ], h.prototype, "name", 2);
1603
- v([
1604
- n({ type: String })
1605
- ], h.prototype, "autocomplete", 2);
1606
- v([
1607
- n({ type: String })
1608
- ], h.prototype, "inputmode", 2);
1609
- v([
1610
- n({ type: Number })
1611
- ], h.prototype, "maxlength", 2);
1612
- v([
1613
- n({ type: Object })
1614
- ], h.prototype, "sx", 2);
1615
- v([
1616
- S()
1617
- ], h.prototype, "inputId", 2);
1618
- v([
1619
- S()
1620
- ], h.prototype, "isFocused", 2);
1621
- h = v([
1622
- p("tc-input")
1623
- ], h);
1624
- var Qt = Object.defineProperty, Jt = Object.getOwnPropertyDescriptor, nt = (r, e, s, i) => {
1625
- for (var t = i > 1 ? void 0 : i ? Jt(e, s) : e, a = r.length - 1, o; a >= 0; a--)
1626
- (o = r[a]) && (t = (i ? o(e, s, t) : o(t)) || t);
1627
- return i && t && Qt(e, s, t), t;
2141
+ ], m.prototype, "readonly", 2);
2142
+ g([
2143
+ n({ type: String, attribute: "chip-label" })
2144
+ ], m.prototype, "chipLabel", 2);
2145
+ g([
2146
+ n({ type: String, attribute: "chip-icon" })
2147
+ ], m.prototype, "chipIcon", 2);
2148
+ g([
2149
+ n({ type: String, attribute: "chip-variant" })
2150
+ ], m.prototype, "chipVariant", 2);
2151
+ g([
2152
+ k()
2153
+ ], m.prototype, "inputId", 2);
2154
+ g([
2155
+ k()
2156
+ ], m.prototype, "isFocused", 2);
2157
+ m = g([
2158
+ p("tc-input-with-chip")
2159
+ ], m);
2160
+ var ce = Object.defineProperty, de = Object.getOwnPropertyDescriptor, ut = (r, e, a, i) => {
2161
+ for (var t = i > 1 ? void 0 : i ? de(e, a) : e, s = r.length - 1, o; s >= 0; s--)
2162
+ (o = r[s]) && (t = (i ? o(e, a, t) : o(t)) || t);
2163
+ return i && t && ce(e, a, t), t;
1628
2164
  };
1629
- let A = class extends d {
2165
+ let V = class extends d {
1630
2166
  constructor() {
1631
2167
  super(...arguments), this.gap = "var(--space-md)", this.padding = "var(--space-md)", this.sx = {};
1632
2168
  }
@@ -1637,7 +2173,7 @@ let A = class extends d {
1637
2173
  ...this.sx
1638
2174
  };
1639
2175
  return l`
1640
- <div part="item" class="item" style=${m(r)}>
2176
+ <div part="item" class="item" style=${f(r)}>
1641
2177
  <div part="prefix" class="prefix">
1642
2178
  <slot name="prefix"></slot>
1643
2179
  </div>
@@ -1651,7 +2187,7 @@ let A = class extends d {
1651
2187
  `;
1652
2188
  }
1653
2189
  };
1654
- A.styles = c`
2190
+ V.styles = c`
1655
2191
  :host {
1656
2192
  display: block;
1657
2193
  width: 100%;
@@ -1696,24 +2232,24 @@ A.styles = c`
1696
2232
  display: none;
1697
2233
  }
1698
2234
  `;
1699
- nt([
2235
+ ut([
1700
2236
  n({ type: String })
1701
- ], A.prototype, "gap", 2);
1702
- nt([
2237
+ ], V.prototype, "gap", 2);
2238
+ ut([
1703
2239
  n({ type: String })
1704
- ], A.prototype, "padding", 2);
1705
- nt([
2240
+ ], V.prototype, "padding", 2);
2241
+ ut([
1706
2242
  n({ type: Object })
1707
- ], A.prototype, "sx", 2);
1708
- A = nt([
2243
+ ], V.prototype, "sx", 2);
2244
+ V = ut([
1709
2245
  p("tc-item")
1710
- ], A);
1711
- var Zt = Object.defineProperty, te = Object.getOwnPropertyDescriptor, F = (r, e, s, i) => {
1712
- for (var t = i > 1 ? void 0 : i ? te(e, s) : e, a = r.length - 1, o; a >= 0; a--)
1713
- (o = r[a]) && (t = (i ? o(e, s, t) : o(t)) || t);
1714
- return i && t && Zt(e, s, t), t;
2246
+ ], V);
2247
+ var pe = Object.defineProperty, he = Object.getOwnPropertyDescriptor, R = (r, e, a, i) => {
2248
+ for (var t = i > 1 ? void 0 : i ? he(e, a) : e, s = r.length - 1, o; s >= 0; s--)
2249
+ (o = r[s]) && (t = (i ? o(e, a, t) : o(t)) || t);
2250
+ return i && t && pe(e, a, t), t;
1715
2251
  };
1716
- let y = class extends d {
2252
+ let C = class extends d {
1717
2253
  constructor() {
1718
2254
  super(...arguments), this.gap = "var(--space-md)", this.padding = "var(--space-md)", this.disabled = !1, this.showArrow = !0, this.sx = {};
1719
2255
  }
@@ -1736,7 +2272,7 @@ let y = class extends d {
1736
2272
  part="button"
1737
2273
  class="button"
1738
2274
  ?disabled=${this.disabled}
1739
- style=${m(r)}
2275
+ style=${f(r)}
1740
2276
  @click=${this.handleClick}
1741
2277
  >
1742
2278
  <div part="prefix" class="prefix">
@@ -1766,7 +2302,7 @@ let y = class extends d {
1766
2302
  `;
1767
2303
  }
1768
2304
  };
1769
- y.styles = c`
2305
+ C.styles = c`
1770
2306
  :host {
1771
2307
  display: block;
1772
2308
  width: 100%;
@@ -1852,30 +2388,30 @@ y.styles = c`
1852
2388
  display: none;
1853
2389
  }
1854
2390
  `;
1855
- F([
2391
+ R([
1856
2392
  n({ type: String })
1857
- ], y.prototype, "gap", 2);
1858
- F([
2393
+ ], C.prototype, "gap", 2);
2394
+ R([
1859
2395
  n({ type: String })
1860
- ], y.prototype, "padding", 2);
1861
- F([
2396
+ ], C.prototype, "padding", 2);
2397
+ R([
1862
2398
  n({ type: Boolean })
1863
- ], y.prototype, "disabled", 2);
1864
- F([
2399
+ ], C.prototype, "disabled", 2);
2400
+ R([
1865
2401
  n({ type: Boolean, attribute: "show-arrow" })
1866
- ], y.prototype, "showArrow", 2);
1867
- F([
2402
+ ], C.prototype, "showArrow", 2);
2403
+ R([
1868
2404
  n({ type: Object })
1869
- ], y.prototype, "sx", 2);
1870
- y = F([
2405
+ ], C.prototype, "sx", 2);
2406
+ C = R([
1871
2407
  p("tc-item-button")
1872
- ], y);
1873
- var ee = Object.defineProperty, re = Object.getOwnPropertyDescriptor, q = (r, e, s, i) => {
1874
- for (var t = i > 1 ? void 0 : i ? re(e, s) : e, a = r.length - 1, o; a >= 0; a--)
1875
- (o = r[a]) && (t = (i ? o(e, s, t) : o(t)) || t);
1876
- return i && t && ee(e, s, t), t;
2408
+ ], C);
2409
+ var ue = Object.defineProperty, ve = Object.getOwnPropertyDescriptor, N = (r, e, a, i) => {
2410
+ for (var t = i > 1 ? void 0 : i ? ve(e, a) : e, s = r.length - 1, o; s >= 0; s--)
2411
+ (o = r[s]) && (t = (i ? o(e, a, t) : o(t)) || t);
2412
+ return i && t && ue(e, a, t), t;
1877
2413
  };
1878
- let w = class extends d {
2414
+ let _ = class extends d {
1879
2415
  constructor() {
1880
2416
  super(...arguments), this.length = 6, this.error = !1, this.disabled = !1, this.showProgress = !0, this.values = [];
1881
2417
  }
@@ -1883,25 +2419,25 @@ let w = class extends d {
1883
2419
  super.connectedCallback(), this.values = new Array(this.length).fill("");
1884
2420
  }
1885
2421
  render() {
1886
- const e = this.values.filter((s) => s.length > 0).length / this.length * 100;
2422
+ const e = this.values.filter((a) => a.length > 0).length / this.length * 100;
1887
2423
  return l`
1888
2424
  <div class="container">
1889
2425
  <div part="cells" class="cells" role="group" aria-label="OTP input">
1890
- ${this.values.map((s, i) => {
1891
- const a = [
2426
+ ${this.values.map((a, i) => {
2427
+ const s = [
1892
2428
  "cell",
1893
- s.length > 0 ? "cell--filled" : "",
2429
+ a.length > 0 ? "cell--filled" : "",
1894
2430
  this.error ? "cell--error" : ""
1895
2431
  ].filter(Boolean).join(" ");
1896
2432
  return l`
1897
2433
  <input
1898
2434
  part="cell"
1899
- class=${a}
2435
+ class=${s}
1900
2436
  type="text"
1901
2437
  inputmode="numeric"
1902
2438
  maxlength="1"
1903
2439
  pattern="[0-9]"
1904
- .value=${s}
2440
+ .value=${a}
1905
2441
  ?disabled=${this.disabled}
1906
2442
  aria-label="Digit ${i + 1}"
1907
2443
  @input=${(o) => this.handleInput(o, i)}
@@ -1944,19 +2480,19 @@ let w = class extends d {
1944
2480
  }
1945
2481
  handlePaste(r) {
1946
2482
  r.preventDefault();
1947
- const s = (r.clipboardData?.getData("text") || "").replace(/\D/g, "").slice(0, this.length);
1948
- if (s) {
1949
- this.values = new Array(this.length).fill(""), s.split("").forEach((t, a) => {
1950
- this.values[a] = t;
2483
+ const a = (r.clipboardData?.getData("text") || "").replace(/\D/g, "").slice(0, this.length);
2484
+ if (a) {
2485
+ this.values = new Array(this.length).fill(""), a.split("").forEach((t, s) => {
2486
+ this.values[s] = t;
1951
2487
  }), this.values = [...this.values];
1952
- const i = Math.min(s.length, this.length - 1);
2488
+ const i = Math.min(a.length, this.length - 1);
1953
2489
  this.focusCell(i), this.dispatchEvent(
1954
2490
  new CustomEvent("tc-change", {
1955
2491
  bubbles: !0,
1956
2492
  composed: !0,
1957
2493
  detail: { value: this.values.join(""), values: [...this.values] }
1958
2494
  })
1959
- ), s.length >= this.length && this.dispatchEvent(
2495
+ ), a.length >= this.length && this.dispatchEvent(
1960
2496
  new CustomEvent("tc-complete", {
1961
2497
  bubbles: !0,
1962
2498
  composed: !0,
@@ -1974,7 +2510,7 @@ let w = class extends d {
1974
2510
  }
1975
2511
  /** Focus the first empty cell or the last cell */
1976
2512
  focus() {
1977
- const r = this.values.findIndex((s) => !s), e = r >= 0 ? r : this.length - 1;
2513
+ const r = this.values.findIndex((a) => !a), e = r >= 0 ? r : this.length - 1;
1978
2514
  this.focusCell(e);
1979
2515
  }
1980
2516
  /** Clear all values */
@@ -1986,8 +2522,8 @@ let w = class extends d {
1986
2522
  return this.values.join("");
1987
2523
  }
1988
2524
  };
1989
- w.styles = [
1990
- u,
2525
+ _.styles = [
2526
+ h,
1991
2527
  c`
1992
2528
  :host {
1993
2529
  display: block;
@@ -2076,30 +2612,30 @@ w.styles = [
2076
2612
  }
2077
2613
  `
2078
2614
  ];
2079
- q([
2615
+ N([
2080
2616
  n({ type: Number })
2081
- ], w.prototype, "length", 2);
2082
- q([
2617
+ ], _.prototype, "length", 2);
2618
+ N([
2083
2619
  n({ type: Boolean })
2084
- ], w.prototype, "error", 2);
2085
- q([
2620
+ ], _.prototype, "error", 2);
2621
+ N([
2086
2622
  n({ type: Boolean })
2087
- ], w.prototype, "disabled", 2);
2088
- q([
2623
+ ], _.prototype, "disabled", 2);
2624
+ N([
2089
2625
  n({ type: Boolean, attribute: "show-progress" })
2090
- ], w.prototype, "showProgress", 2);
2091
- q([
2092
- S()
2093
- ], w.prototype, "values", 2);
2094
- w = q([
2626
+ ], _.prototype, "showProgress", 2);
2627
+ N([
2628
+ k()
2629
+ ], _.prototype, "values", 2);
2630
+ _ = N([
2095
2631
  p("tc-otp-input")
2096
- ], w);
2097
- var ie = Object.defineProperty, se = Object.getOwnPropertyDescriptor, vt = (r, e, s, i) => {
2098
- for (var t = i > 1 ? void 0 : i ? se(e, s) : e, a = r.length - 1, o; a >= 0; a--)
2099
- (o = r[a]) && (t = (i ? o(e, s, t) : o(t)) || t);
2100
- return i && t && ie(e, s, t), t;
2632
+ ], _);
2633
+ var me = Object.defineProperty, ge = Object.getOwnPropertyDescriptor, wt = (r, e, a, i) => {
2634
+ for (var t = i > 1 ? void 0 : i ? ge(e, a) : e, s = r.length - 1, o; s >= 0; s--)
2635
+ (o = r[s]) && (t = (i ? o(e, a, t) : o(t)) || t);
2636
+ return i && t && me(e, a, t), t;
2101
2637
  };
2102
- let X = class extends d {
2638
+ let tt = class extends d {
2103
2639
  constructor() {
2104
2640
  super(...arguments), this.gap = "var(--space-md)", this.sx = {};
2105
2641
  }
@@ -2109,13 +2645,13 @@ let X = class extends d {
2109
2645
  ...this.sx
2110
2646
  };
2111
2647
  return l`
2112
- <section part="section" class="section" style=${m(r)}>
2648
+ <section part="section" class="section" style=${f(r)}>
2113
2649
  <slot></slot>
2114
2650
  </section>
2115
2651
  `;
2116
2652
  }
2117
2653
  };
2118
- X.styles = c`
2654
+ tt.styles = c`
2119
2655
  :host {
2120
2656
  display: block;
2121
2657
  width: 100%;
@@ -2127,23 +2663,23 @@ X.styles = c`
2127
2663
  width: 100%;
2128
2664
  }
2129
2665
  `;
2130
- vt([
2666
+ wt([
2131
2667
  n({ type: String })
2132
- ], X.prototype, "gap", 2);
2133
- vt([
2668
+ ], tt.prototype, "gap", 2);
2669
+ wt([
2134
2670
  n({ type: Object })
2135
- ], X.prototype, "sx", 2);
2136
- X = vt([
2671
+ ], tt.prototype, "sx", 2);
2672
+ tt = wt([
2137
2673
  p("tc-section")
2138
- ], X);
2139
- var ae = Object.defineProperty, oe = Object.getOwnPropertyDescriptor, mt = (r, e, s, i) => {
2140
- for (var t = i > 1 ? void 0 : i ? oe(e, s) : e, a = r.length - 1, o; a >= 0; a--)
2141
- (o = r[a]) && (t = (i ? o(e, s, t) : o(t)) || t);
2142
- return i && t && ae(e, s, t), t;
2674
+ ], tt);
2675
+ var fe = Object.defineProperty, be = Object.getOwnPropertyDescriptor, xt = (r, e, a, i) => {
2676
+ for (var t = i > 1 ? void 0 : i ? be(e, a) : e, s = r.length - 1, o; s >= 0; s--)
2677
+ (o = r[s]) && (t = (i ? o(e, a, t) : o(t)) || t);
2678
+ return i && t && fe(e, a, t), t;
2143
2679
  };
2144
- let G = class extends d {
2680
+ let et = class extends d {
2145
2681
  constructor() {
2146
- super(...arguments), this.mobile = new Dt(this, "(max-width: 768px)"), this.size = "auto", this.color = "var(--accent-primary)";
2682
+ super(...arguments), this.mobile = new Bt(this, "(max-width: 768px)"), this.size = "auto", this.color = "var(--accent-primary)";
2147
2683
  }
2148
2684
  render() {
2149
2685
  let r;
@@ -2158,8 +2694,8 @@ let G = class extends d {
2158
2694
  `;
2159
2695
  }
2160
2696
  };
2161
- G.styles = [
2162
- u,
2697
+ et.styles = [
2698
+ h,
2163
2699
  c`
2164
2700
  :host {
2165
2701
  display: inline-flex;
@@ -2200,218 +2736,81 @@ G.styles = [
2200
2736
  border-width: var(--size-border-width-heavy);
2201
2737
  }
2202
2738
 
2203
- .spinner--auto-desktop {
2204
- width: 5rem;
2205
- height: 5rem;
2206
- border-width: var(--size-border-width-bold);
2207
- }
2208
- `
2209
- ];
2210
- mt([
2211
- n({ type: String })
2212
- ], G.prototype, "size", 2);
2213
- mt([
2214
- n({ type: String })
2215
- ], G.prototype, "color", 2);
2216
- G = mt([
2217
- p("tc-spinner")
2218
- ], G);
2219
- var ne = Object.defineProperty, le = Object.getOwnPropertyDescriptor, lt = (r, e, s, i) => {
2220
- for (var t = i > 1 ? void 0 : i ? le(e, s) : e, a = r.length - 1, o; a >= 0; a--)
2221
- (o = r[a]) && (t = (i ? o(e, s, t) : o(t)) || t);
2222
- return i && t && ne(e, s, t), t;
2223
- };
2224
- let M = class extends d {
2225
- constructor() {
2226
- super(...arguments), this.size = "3rem", this.background = "var(--paper-cream)", this.color = "var(--ink-dark)";
2227
- }
2228
- render() {
2229
- return l`
2230
- <div
2231
- part="symbol"
2232
- class="symbol"
2233
- style="--symbol-size: ${this.size}; --symbol-bg: ${this.background}; --symbol-color: ${this.color};"
2234
- >
2235
- <slot></slot>
2236
- </div>
2237
- `;
2238
- }
2239
- };
2240
- M.styles = c`
2241
- :host {
2242
- display: inline-flex;
2243
- }
2244
-
2245
- .symbol {
2246
- display: flex;
2247
- align-items: center;
2248
- justify-content: center;
2249
- border-radius: var(--radius-full);
2250
- background: var(--symbol-bg);
2251
- color: var(--symbol-color);
2252
- width: var(--symbol-size);
2253
- height: var(--symbol-size);
2254
- font-family: var(--font-body);
2255
- font-weight: 600;
2256
- }
2257
- `;
2258
- lt([
2259
- n({ type: String })
2260
- ], M.prototype, "size", 2);
2261
- lt([
2262
- n({ type: String })
2263
- ], M.prototype, "background", 2);
2264
- lt([
2265
- n({ type: String })
2266
- ], M.prototype, "color", 2);
2267
- M = lt([
2268
- p("tc-symbol")
2269
- ], M);
2270
- var ce = Object.defineProperty, de = Object.getOwnPropertyDescriptor, Y = (r, e, s, i) => {
2271
- for (var t = i > 1 ? void 0 : i ? de(e, s) : e, a = r.length - 1, o; a >= 0; a--)
2272
- (o = r[a]) && (t = (i ? o(e, s, t) : o(t)) || t);
2273
- return i && t && ce(e, s, t), t;
2274
- };
2275
- let x = class extends d {
2276
- constructor() {
2277
- super(...arguments), this.tag = "p", this.sx = {};
2278
- }
2279
- getColorClass() {
2280
- return this.color && {
2281
- primary: "text--primary",
2282
- secondary: "text--secondary",
2283
- tertiary: "text--tertiary",
2284
- muted: "text--muted",
2285
- accent: "text--accent",
2286
- success: "text--success",
2287
- error: "text--error",
2288
- warning: "text--warning",
2289
- info: "text--info"
2290
- }[this.color] || "";
2291
- }
2292
- getColorStyle() {
2293
- if (this.color && (this.color.startsWith("var(") || this.color.startsWith("#") || this.color.startsWith("rgb")))
2294
- return this.color;
2295
- }
2296
- render() {
2297
- const r = $t(this.tag), e = [
2298
- "text",
2299
- this.size ? `text--${this.size}` : "",
2300
- this.weight ? `text--w${this.weight}` : "",
2301
- this.getColorClass()
2302
- ].filter(Boolean).join(" "), s = this.getColorStyle(), i = {
2303
- ...s ? { color: s } : {},
2304
- ...this.sx
2305
- };
2306
- return _t`
2307
- <${r} part="text" class=${e} style=${m(i)}>
2308
- <slot></slot>
2309
- </${r}>
2310
- `;
2311
- }
2312
- };
2313
- x.styles = [
2314
- u,
2315
- c`
2316
- :host {
2317
- display: contents;
2318
- }
2319
-
2320
- .text {
2321
- margin: 0;
2322
- padding: 0;
2323
- font-family: var(--font-body);
2324
- line-height: 1.4;
2325
- color: var(--ink-black);
2326
- }
2327
-
2328
- /* Size variants using design-tokens */
2329
- .text--sm {
2330
- font-size: var(--font-size-sm);
2331
- }
2332
- .text--base {
2333
- font-size: var(--font-size-base);
2334
- }
2335
- .text--lg {
2336
- font-size: var(--font-size-lg);
2337
- }
2338
- .text--xl {
2339
- font-size: var(--font-size-xl);
2340
- }
2341
- .text--2xl {
2342
- font-size: var(--font-size-2xl);
2343
- }
2344
-
2345
- /* Weight variants */
2346
- .text--w400 {
2347
- font-weight: 400;
2348
- }
2349
- .text--w500 {
2350
- font-weight: 500;
2351
- }
2352
- .text--w600 {
2353
- font-weight: 600;
2354
- }
2355
- .text--w700 {
2356
- font-weight: 700;
2357
- }
2358
-
2359
- /* Color variants using design-tokens - these will respond to theme changes */
2360
- .text--primary {
2361
- color: var(--ink-black);
2362
- }
2363
- .text--secondary {
2364
- color: var(--ink-dark);
2365
- }
2366
- .text--tertiary {
2367
- color: var(--ink-medium);
2368
- }
2369
- .text--muted {
2370
- color: var(--ink-light);
2371
- }
2372
- .text--accent {
2373
- color: var(--accent-primary);
2374
- }
2375
- .text--success {
2376
- color: var(--accent-success);
2377
- }
2378
- .text--error {
2379
- color: var(--error-base);
2380
- }
2381
- .text--warning {
2382
- color: var(--semantic-warning);
2383
- }
2384
- .text--info {
2385
- color: var(--semantic-info);
2739
+ .spinner--auto-desktop {
2740
+ width: 5rem;
2741
+ height: 5rem;
2742
+ border-width: var(--size-border-width-bold);
2386
2743
  }
2387
2744
  `
2388
2745
  ];
2389
- Y([
2746
+ xt([
2390
2747
  n({ type: String })
2391
- ], x.prototype, "tag", 2);
2392
- Y([
2748
+ ], et.prototype, "size", 2);
2749
+ xt([
2393
2750
  n({ type: String })
2394
- ], x.prototype, "size", 2);
2395
- Y([
2751
+ ], et.prototype, "color", 2);
2752
+ et = xt([
2753
+ p("tc-spinner")
2754
+ ], et);
2755
+ var ye = Object.defineProperty, we = Object.getOwnPropertyDescriptor, vt = (r, e, a, i) => {
2756
+ for (var t = i > 1 ? void 0 : i ? we(e, a) : e, s = r.length - 1, o; s >= 0; s--)
2757
+ (o = r[s]) && (t = (i ? o(e, a, t) : o(t)) || t);
2758
+ return i && t && ye(e, a, t), t;
2759
+ };
2760
+ let q = class extends d {
2761
+ constructor() {
2762
+ super(...arguments), this.size = "3rem", this.background = "var(--paper-cream)", this.color = "var(--ink-dark)";
2763
+ }
2764
+ render() {
2765
+ return l`
2766
+ <div
2767
+ part="symbol"
2768
+ class="symbol"
2769
+ style="--symbol-size: ${this.size}; --symbol-bg: ${this.background}; --symbol-color: ${this.color};"
2770
+ >
2771
+ <slot></slot>
2772
+ </div>
2773
+ `;
2774
+ }
2775
+ };
2776
+ q.styles = c`
2777
+ :host {
2778
+ display: inline-flex;
2779
+ }
2780
+
2781
+ .symbol {
2782
+ display: flex;
2783
+ align-items: center;
2784
+ justify-content: center;
2785
+ border-radius: var(--radius-full);
2786
+ background: var(--symbol-bg);
2787
+ color: var(--symbol-color);
2788
+ width: var(--symbol-size);
2789
+ height: var(--symbol-size);
2790
+ font-family: var(--font-body);
2791
+ font-weight: 600;
2792
+ }
2793
+ `;
2794
+ vt([
2396
2795
  n({ type: String })
2397
- ], x.prototype, "weight", 2);
2398
- Y([
2796
+ ], q.prototype, "size", 2);
2797
+ vt([
2399
2798
  n({ type: String })
2400
- ], x.prototype, "color", 2);
2401
- Y([
2402
- n({ type: Object })
2403
- ], x.prototype, "sx", 2);
2404
- x = Y([
2405
- p("tc-text")
2406
- ], x);
2407
- var pe = Object.defineProperty, he = Object.getOwnPropertyDescriptor, tt = (r, e, s, i) => {
2408
- for (var t = i > 1 ? void 0 : i ? he(e, s) : e, a = r.length - 1, o; a >= 0; a--)
2409
- (o = r[a]) && (t = (i ? o(e, s, t) : o(t)) || t);
2410
- return i && t && pe(e, s, t), t;
2799
+ ], q.prototype, "background", 2);
2800
+ vt([
2801
+ n({ type: String })
2802
+ ], q.prototype, "color", 2);
2803
+ q = vt([
2804
+ p("tc-symbol")
2805
+ ], q);
2806
+ var xe = Object.defineProperty, ke = Object.getOwnPropertyDescriptor, st = (r, e, a, i) => {
2807
+ for (var t = i > 1 ? void 0 : i ? ke(e, a) : e, s = r.length - 1, o; s >= 0; s--)
2808
+ (o = r[s]) && (t = (i ? o(e, a, t) : o(t)) || t);
2809
+ return i && t && xe(e, a, t), t;
2411
2810
  };
2412
- let z = class extends d {
2811
+ let j = class extends d {
2413
2812
  constructor() {
2414
- super(...arguments), this.variant = "info", this.duration = 5e3, this.autoDismiss = !0, this.dismissible = !0, this.animation = new j(this, {
2813
+ super(...arguments), this.variant = "info", this.duration = 5e3, this.autoDismiss = !0, this.dismissible = !0, this.animation = new M(this, {
2415
2814
  showDuration: 300,
2416
2815
  hideDuration: 200
2417
2816
  });
@@ -2477,8 +2876,8 @@ let z = class extends d {
2477
2876
  `;
2478
2877
  }
2479
2878
  };
2480
- z.styles = [
2481
- u,
2879
+ j.styles = [
2880
+ h,
2482
2881
  c`
2483
2882
  :host {
2484
2883
  display: block;
@@ -2571,27 +2970,27 @@ z.styles = [
2571
2970
  }
2572
2971
  `
2573
2972
  ];
2574
- tt([
2973
+ st([
2575
2974
  n({ type: String })
2576
- ], z.prototype, "variant", 2);
2577
- tt([
2975
+ ], j.prototype, "variant", 2);
2976
+ st([
2578
2977
  n({ type: Number })
2579
- ], z.prototype, "duration", 2);
2580
- tt([
2978
+ ], j.prototype, "duration", 2);
2979
+ st([
2581
2980
  n({ type: Boolean, attribute: "auto-dismiss" })
2582
- ], z.prototype, "autoDismiss", 2);
2583
- tt([
2981
+ ], j.prototype, "autoDismiss", 2);
2982
+ st([
2584
2983
  n({ type: Boolean })
2585
- ], z.prototype, "dismissible", 2);
2586
- z = tt([
2984
+ ], j.prototype, "dismissible", 2);
2985
+ j = st([
2587
2986
  p("tc-toast")
2588
- ], z);
2589
- var ue = Object.defineProperty, ve = Object.getOwnPropertyDescriptor, et = (r, e, s, i) => {
2590
- for (var t = i > 1 ? void 0 : i ? ve(e, s) : e, a = r.length - 1, o; a >= 0; a--)
2591
- (o = r[a]) && (t = (i ? o(e, s, t) : o(t)) || t);
2592
- return i && t && ue(e, s, t), t;
2987
+ ], j);
2988
+ var $e = Object.defineProperty, ze = Object.getOwnPropertyDescriptor, ot = (r, e, a, i) => {
2989
+ for (var t = i > 1 ? void 0 : i ? ze(e, a) : e, s = r.length - 1, o; s >= 0; s--)
2990
+ (o = r[s]) && (t = (i ? o(e, a, t) : o(t)) || t);
2991
+ return i && t && $e(e, a, t), t;
2593
2992
  };
2594
- let D = class extends d {
2993
+ let E = class extends d {
2595
2994
  constructor() {
2596
2995
  super(...arguments), this.title = "Something went wrong", this.message = "An unexpected error occurred. Please try again.", this.retryLabel = "Try Again", this.showRetry = !0;
2597
2996
  }
@@ -2632,12 +3031,13 @@ let D = class extends d {
2632
3031
  `;
2633
3032
  }
2634
3033
  };
2635
- D.styles = c`
3034
+ E.styles = c`
2636
3035
  :host {
2637
- display: block;
3036
+ display: flex;
3037
+ align-items: center;
3038
+ justify-content: center;
2638
3039
  width: 100%;
2639
- min-height: 100vh;
2640
- min-height: 100dvh;
3040
+ min-height: inherit;
2641
3041
  }
2642
3042
 
2643
3043
  .screen {
@@ -2645,8 +3045,7 @@ D.styles = c`
2645
3045
  align-items: center;
2646
3046
  justify-content: center;
2647
3047
  width: 100%;
2648
- min-height: 100vh;
2649
- min-height: 100dvh;
3048
+ min-height: inherit;
2650
3049
  padding: var(--space-lg);
2651
3050
  box-sizing: border-box;
2652
3051
  background: var(--paper-white);
@@ -2685,29 +3084,29 @@ D.styles = c`
2685
3084
  margin-top: var(--space-md);
2686
3085
  }
2687
3086
  `;
2688
- et([
3087
+ ot([
2689
3088
  n({ type: String })
2690
- ], D.prototype, "title", 2);
2691
- et([
3089
+ ], E.prototype, "title", 2);
3090
+ ot([
2692
3091
  n({ type: String })
2693
- ], D.prototype, "message", 2);
2694
- et([
3092
+ ], E.prototype, "message", 2);
3093
+ ot([
2695
3094
  n({ type: String, attribute: "retry-label" })
2696
- ], D.prototype, "retryLabel", 2);
2697
- et([
3095
+ ], E.prototype, "retryLabel", 2);
3096
+ ot([
2698
3097
  n({ type: Boolean, attribute: "show-retry" })
2699
- ], D.prototype, "showRetry", 2);
2700
- D = et([
3098
+ ], E.prototype, "showRetry", 2);
3099
+ E = ot([
2701
3100
  p("tc-error-screen")
2702
- ], D);
2703
- var me = Object.defineProperty, ge = Object.getOwnPropertyDescriptor, gt = (r, e, s, i) => {
2704
- for (var t = i > 1 ? void 0 : i ? ge(e, s) : e, a = r.length - 1, o; a >= 0; a--)
2705
- (o = r[a]) && (t = (i ? o(e, s, t) : o(t)) || t);
2706
- return i && t && me(e, s, t), t;
3101
+ ], E);
3102
+ var Ce = Object.defineProperty, _e = Object.getOwnPropertyDescriptor, kt = (r, e, a, i) => {
3103
+ for (var t = i > 1 ? void 0 : i ? _e(e, a) : e, s = r.length - 1, o; s >= 0; s--)
3104
+ (o = r[s]) && (t = (i ? o(e, a, t) : o(t)) || t);
3105
+ return i && t && Ce(e, a, t), t;
2707
3106
  };
2708
- let Q = class extends d {
3107
+ let rt = class extends d {
2709
3108
  constructor() {
2710
- super(...arguments), this.message = "", this.spinnerSize = "3rem", this.loading = new zt(this);
3109
+ super(...arguments), this.message = "", this.spinnerSize = "3rem", this.loading = new Et(this);
2711
3110
  }
2712
3111
  connectedCallback() {
2713
3112
  super.connectedCallback(), this.loading.start();
@@ -2729,12 +3128,13 @@ let Q = class extends d {
2729
3128
  `;
2730
3129
  }
2731
3130
  };
2732
- Q.styles = c`
3131
+ rt.styles = c`
2733
3132
  :host {
2734
- display: block;
3133
+ display: flex;
3134
+ align-items: center;
3135
+ justify-content: center;
2735
3136
  width: 100%;
2736
- min-height: 100vh;
2737
- min-height: 100dvh;
3137
+ min-height: inherit;
2738
3138
  }
2739
3139
 
2740
3140
  .screen {
@@ -2742,8 +3142,7 @@ Q.styles = c`
2742
3142
  align-items: center;
2743
3143
  justify-content: center;
2744
3144
  width: 100%;
2745
- min-height: 100vh;
2746
- min-height: 100dvh;
3145
+ min-height: inherit;
2747
3146
  padding: var(--space-lg);
2748
3147
  box-sizing: border-box;
2749
3148
  background: var(--paper-white);
@@ -2762,23 +3161,23 @@ Q.styles = c`
2762
3161
  max-width: 20rem;
2763
3162
  }
2764
3163
  `;
2765
- gt([
3164
+ kt([
2766
3165
  n({ type: String })
2767
- ], Q.prototype, "message", 2);
2768
- gt([
3166
+ ], rt.prototype, "message", 2);
3167
+ kt([
2769
3168
  n({ type: String, attribute: "spinner-size" })
2770
- ], Q.prototype, "spinnerSize", 2);
2771
- Q = gt([
3169
+ ], rt.prototype, "spinnerSize", 2);
3170
+ rt = kt([
2772
3171
  p("tc-loading-screen")
2773
- ], Q);
2774
- var fe = Object.defineProperty, be = Object.getOwnPropertyDescriptor, U = (r, e, s, i) => {
2775
- for (var t = i > 1 ? void 0 : i ? be(e, s) : e, a = r.length - 1, o; a >= 0; a--)
2776
- (o = r[a]) && (t = (i ? o(e, s, t) : o(t)) || t);
2777
- return i && t && fe(e, s, t), t;
3172
+ ], rt);
3173
+ var De = Object.defineProperty, Oe = Object.getOwnPropertyDescriptor, K = (r, e, a, i) => {
3174
+ for (var t = i > 1 ? void 0 : i ? Oe(e, a) : e, s = r.length - 1, o; s >= 0; s--)
3175
+ (o = r[s]) && (t = (i ? o(e, a, t) : o(t)) || t);
3176
+ return i && t && De(e, a, t), t;
2778
3177
  };
2779
- let k = class extends d {
3178
+ let D = class extends d {
2780
3179
  constructor() {
2781
- super(...arguments), this.title = "Success!", this.message = "Your action was completed successfully.", this.actionLabel = "", this.autoAnimate = !0, this.isAnimated = !1, this.animation = new j(this, {
3180
+ super(...arguments), this.title = "Success!", this.message = "Your action was completed successfully.", this.actionLabel = "", this.autoAnimate = !0, this.isAnimated = !1, this.animation = new M(this, {
2782
3181
  showDuration: 600,
2783
3182
  hideDuration: 300
2784
3183
  });
@@ -2839,12 +3238,13 @@ let k = class extends d {
2839
3238
  `;
2840
3239
  }
2841
3240
  };
2842
- k.styles = c`
3241
+ D.styles = c`
2843
3242
  :host {
2844
- display: block;
3243
+ display: flex;
3244
+ align-items: center;
3245
+ justify-content: center;
2845
3246
  width: 100%;
2846
- min-height: 100vh;
2847
- min-height: 100dvh;
3247
+ min-height: inherit;
2848
3248
  }
2849
3249
 
2850
3250
  .screen {
@@ -2852,8 +3252,7 @@ k.styles = c`
2852
3252
  align-items: center;
2853
3253
  justify-content: center;
2854
3254
  width: 100%;
2855
- min-height: 100vh;
2856
- min-height: 100dvh;
3255
+ min-height: inherit;
2857
3256
  padding: var(--space-lg);
2858
3257
  box-sizing: border-box;
2859
3258
  background: var(--paper-white);
@@ -2939,30 +3338,237 @@ k.styles = c`
2939
3338
  transform: translateY(0);
2940
3339
  }
2941
3340
  `;
2942
- U([
3341
+ K([
2943
3342
  n({ type: String })
2944
- ], k.prototype, "title", 2);
2945
- U([
3343
+ ], D.prototype, "title", 2);
3344
+ K([
2946
3345
  n({ type: String })
2947
- ], k.prototype, "message", 2);
2948
- U([
3346
+ ], D.prototype, "message", 2);
3347
+ K([
2949
3348
  n({ type: String, attribute: "action-label" })
2950
- ], k.prototype, "actionLabel", 2);
2951
- U([
3349
+ ], D.prototype, "actionLabel", 2);
3350
+ K([
2952
3351
  n({ type: Boolean, attribute: "auto-animate" })
2953
- ], k.prototype, "autoAnimate", 2);
2954
- U([
2955
- S()
2956
- ], k.prototype, "isAnimated", 2);
2957
- k = U([
3352
+ ], D.prototype, "autoAnimate", 2);
3353
+ K([
3354
+ k()
3355
+ ], D.prototype, "isAnimated", 2);
3356
+ D = K([
2958
3357
  p("tc-success-screen")
2959
- ], k);
2960
- var ye = Object.defineProperty, we = Object.getOwnPropertyDescriptor, rt = (r, e, s, i) => {
2961
- for (var t = i > 1 ? void 0 : i ? we(e, s) : e, a = r.length - 1, o; a >= 0; a--)
2962
- (o = r[a]) && (t = (i ? o(e, s, t) : o(t)) || t);
2963
- return i && t && ye(e, s, t), t;
3358
+ ], D);
3359
+ var Se = Object.defineProperty, Pe = Object.getOwnPropertyDescriptor, I = (r, e, a, i) => {
3360
+ for (var t = i > 1 ? void 0 : i ? Pe(e, a) : e, s = r.length - 1, o; s >= 0; s--)
3361
+ (o = r[s]) && (t = (i ? o(e, a, t) : o(t)) || t);
3362
+ return i && t && Se(e, a, t), t;
2964
3363
  };
2965
- let O = class extends d {
3364
+ let y = class extends d {
3365
+ constructor() {
3366
+ super(...arguments), this.name = "", this.type = "passkey", this.lastUsed = "", this.enabled = !0, this.deletable = !0, this.clickable = !1;
3367
+ }
3368
+ getIconName() {
3369
+ switch (this.type) {
3370
+ case "passkey":
3371
+ return "key";
3372
+ case "totp":
3373
+ return "totp";
3374
+ case "usb":
3375
+ return "device";
3376
+ case "phone":
3377
+ return "phone";
3378
+ case "email":
3379
+ return "email";
3380
+ default:
3381
+ return "key";
3382
+ }
3383
+ }
3384
+ handleCardClick() {
3385
+ this.clickable && this.enabled && this.dispatchEvent(
3386
+ new CustomEvent("tc-click", {
3387
+ bubbles: !0,
3388
+ composed: !0
3389
+ })
3390
+ );
3391
+ }
3392
+ handleDelete(r) {
3393
+ r.stopPropagation(), this.dispatchEvent(
3394
+ new CustomEvent("tc-delete", {
3395
+ bubbles: !0,
3396
+ composed: !0,
3397
+ detail: { name: this.name, type: this.type }
3398
+ })
3399
+ );
3400
+ }
3401
+ render() {
3402
+ const r = {
3403
+ card: !0,
3404
+ clickable: this.clickable && this.enabled,
3405
+ disabled: !this.enabled
3406
+ };
3407
+ return l`
3408
+ <div
3409
+ part="card"
3410
+ class=${b(r)}
3411
+ @click=${this.handleCardClick}
3412
+ role=${this.clickable ? "button" : "article"}
3413
+ tabindex=${this.clickable && this.enabled ? "0" : "-1"}
3414
+ >
3415
+ <div part="icon" class="icon-container">
3416
+ <tc-icon name=${this.getIconName()} size="1.25rem" color="var(--ink-dark)"></tc-icon>
3417
+ </div>
3418
+ <div part="content" class="content">
3419
+ <div part="name" class="name">${this.name}</div>
3420
+ ${this.lastUsed ? l`
3421
+ <div part="meta" class="meta">
3422
+ <span class="last-used">${this.lastUsed}</span>
3423
+ </div>
3424
+ ` : ""}
3425
+ </div>
3426
+ <div part="actions" class="actions">
3427
+ ${this.enabled ? "" : l`
3428
+ <tc-chip class="status-chip" variant="default" size="sm">Disabled</tc-chip>
3429
+ `}
3430
+ ${this.deletable ? l`
3431
+ <button
3432
+ part="delete"
3433
+ class="delete-btn"
3434
+ @click=${this.handleDelete}
3435
+ aria-label="Delete ${this.name}"
3436
+ >
3437
+ <tc-icon name="x" size="1rem"></tc-icon>
3438
+ </button>
3439
+ ` : ""}
3440
+ </div>
3441
+ </div>
3442
+ `;
3443
+ }
3444
+ };
3445
+ y.styles = c`
3446
+ :host {
3447
+ display: block;
3448
+ width: 100%;
3449
+ }
3450
+
3451
+ .card {
3452
+ display: flex;
3453
+ align-items: center;
3454
+ gap: var(--space-md);
3455
+ padding: var(--space-md);
3456
+ background: var(--paper-cream);
3457
+ border-radius: var(--radius-md);
3458
+ transition: var(--transition-fast);
3459
+ }
3460
+
3461
+ .card.clickable {
3462
+ cursor: pointer;
3463
+ }
3464
+
3465
+ .card.clickable:hover {
3466
+ background: var(--paper-warm);
3467
+ }
3468
+
3469
+ .card.disabled {
3470
+ opacity: var(--opacity-disabled);
3471
+ }
3472
+
3473
+ .icon-container {
3474
+ display: flex;
3475
+ align-items: center;
3476
+ justify-content: center;
3477
+ width: 2.5rem;
3478
+ height: 2.5rem;
3479
+ background: var(--paper-white);
3480
+ border-radius: var(--radius-md);
3481
+ flex-shrink: 0;
3482
+ }
3483
+
3484
+ .content {
3485
+ flex: 1;
3486
+ min-width: 0;
3487
+ }
3488
+
3489
+ .name {
3490
+ font-weight: 500;
3491
+ color: var(--ink-black);
3492
+ white-space: nowrap;
3493
+ overflow: hidden;
3494
+ text-overflow: ellipsis;
3495
+ }
3496
+
3497
+ .meta {
3498
+ display: flex;
3499
+ align-items: center;
3500
+ gap: var(--space-sm);
3501
+ margin-top: var(--space-xs);
3502
+ }
3503
+
3504
+ .last-used {
3505
+ font-size: var(--font-size-sm);
3506
+ color: var(--ink-light);
3507
+ }
3508
+
3509
+ .actions {
3510
+ display: flex;
3511
+ align-items: center;
3512
+ gap: var(--space-sm);
3513
+ flex-shrink: 0;
3514
+ }
3515
+
3516
+ .delete-btn {
3517
+ display: flex;
3518
+ align-items: center;
3519
+ justify-content: center;
3520
+ width: 2rem;
3521
+ height: 2rem;
3522
+ padding: 0;
3523
+ background: transparent;
3524
+ border: none;
3525
+ border-radius: var(--radius-sm);
3526
+ color: var(--ink-light);
3527
+ cursor: pointer;
3528
+ transition: var(--transition-fast);
3529
+ }
3530
+
3531
+ .delete-btn:hover {
3532
+ background: var(--alpha-ink04);
3533
+ color: var(--error-base);
3534
+ }
3535
+
3536
+ .delete-btn:focus-visible {
3537
+ outline: 2px solid var(--accent-primary);
3538
+ outline-offset: 2px;
3539
+ }
3540
+
3541
+ .status-chip {
3542
+ flex-shrink: 0;
3543
+ }
3544
+ `;
3545
+ I([
3546
+ n({ type: String })
3547
+ ], y.prototype, "name", 2);
3548
+ I([
3549
+ n({ type: String })
3550
+ ], y.prototype, "type", 2);
3551
+ I([
3552
+ n({ type: String, attribute: "last-used" })
3553
+ ], y.prototype, "lastUsed", 2);
3554
+ I([
3555
+ n({ type: Boolean })
3556
+ ], y.prototype, "enabled", 2);
3557
+ I([
3558
+ n({ type: Boolean })
3559
+ ], y.prototype, "deletable", 2);
3560
+ I([
3561
+ n({ type: Boolean })
3562
+ ], y.prototype, "clickable", 2);
3563
+ y = I([
3564
+ p("tc-authenticator-card")
3565
+ ], y);
3566
+ var je = Object.defineProperty, Ee = Object.getOwnPropertyDescriptor, nt = (r, e, a, i) => {
3567
+ for (var t = i > 1 ? void 0 : i ? Ee(e, a) : e, s = r.length - 1, o; s >= 0; s--)
3568
+ (o = r[s]) && (t = (i ? o(e, a, t) : o(t)) || t);
3569
+ return i && t && je(e, a, t), t;
3570
+ };
3571
+ let B = class extends d {
2966
3572
  constructor() {
2967
3573
  super(...arguments), this.position = "bottom-right", this.size = "3.5rem", this.disabled = !1, this.sx = {};
2968
3574
  }
@@ -2990,7 +3596,7 @@ let O = class extends d {
2990
3596
  part="button"
2991
3597
  class="button"
2992
3598
  ?disabled=${this.disabled}
2993
- style=${m(r)}
3599
+ style=${f(r)}
2994
3600
  @click=${this.handleClick}
2995
3601
  aria-label="Floating action"
2996
3602
  >
@@ -2999,8 +3605,8 @@ let O = class extends d {
2999
3605
  `;
3000
3606
  }
3001
3607
  };
3002
- O.styles = [
3003
- u,
3608
+ B.styles = [
3609
+ h,
3004
3610
  c`
3005
3611
  :host {
3006
3612
  display: block;
@@ -3067,32 +3673,32 @@ O.styles = [
3067
3673
  }
3068
3674
  `
3069
3675
  ];
3070
- rt([
3676
+ nt([
3071
3677
  n({ type: String })
3072
- ], O.prototype, "position", 2);
3073
- rt([
3678
+ ], B.prototype, "position", 2);
3679
+ nt([
3074
3680
  n({ type: String })
3075
- ], O.prototype, "size", 2);
3076
- rt([
3681
+ ], B.prototype, "size", 2);
3682
+ nt([
3077
3683
  n({ type: Boolean })
3078
- ], O.prototype, "disabled", 2);
3079
- rt([
3684
+ ], B.prototype, "disabled", 2);
3685
+ nt([
3080
3686
  n({ type: Object })
3081
- ], O.prototype, "sx", 2);
3082
- O = rt([
3687
+ ], B.prototype, "sx", 2);
3688
+ B = nt([
3083
3689
  p("tc-floating-button")
3084
- ], O);
3085
- var xe = Object.defineProperty, ke = Object.getOwnPropertyDescriptor, E = (r, e, s, i) => {
3086
- for (var t = i > 1 ? void 0 : i ? ke(e, s) : e, a = r.length - 1, o; a >= 0; a--)
3087
- (o = r[a]) && (t = (i ? o(e, s, t) : o(t)) || t);
3088
- return i && t && xe(e, s, t), t;
3690
+ ], B);
3691
+ var Be = Object.defineProperty, Le = Object.getOwnPropertyDescriptor, T = (r, e, a, i) => {
3692
+ for (var t = i > 1 ? void 0 : i ? Le(e, a) : e, s = r.length - 1, o; s >= 0; s--)
3693
+ (o = r[s]) && (t = (i ? o(e, a, t) : o(t)) || t);
3694
+ return i && t && Be(e, a, t), t;
3089
3695
  };
3090
- let g = class extends d {
3696
+ let w = class extends d {
3091
3697
  constructor() {
3092
- super(...arguments), this.src = "", this.title = "", this.closeOnEscape = !0, this.closeOnOverlay = !0, this.useHistory = !0, this.isLoading = !0, this.animation = new j(this, {
3698
+ super(...arguments), this.src = "", this.title = "", this.closeOnEscape = !0, this.closeOnOverlay = !0, this.useHistory = !0, this.isLoading = !0, this.animation = new M(this, {
3093
3699
  showDuration: 300,
3094
3700
  hideDuration: 200
3095
- }), this.history = new Ct(this), this.messageBus = new Ot(this), this.handleKeyDown = (r) => {
3701
+ }), this.history = new jt(this), this.messageBus = new Lt(this), this.handleKeyDown = (r) => {
3096
3702
  r.key === "Escape" && this.animation.state === "visible" && this.close();
3097
3703
  };
3098
3704
  }
@@ -3138,8 +3744,8 @@ let g = class extends d {
3138
3744
  );
3139
3745
  }
3140
3746
  sendMessage(r, e) {
3141
- const s = this.shadowRoot?.querySelector("iframe");
3142
- s?.contentWindow && this.messageBus.send(r, e, s.contentWindow);
3747
+ const a = this.shadowRoot?.querySelector("iframe");
3748
+ a?.contentWindow && this.messageBus.send(r, e, a.contentWindow);
3143
3749
  }
3144
3750
  render() {
3145
3751
  return l`
@@ -3185,8 +3791,8 @@ let g = class extends d {
3185
3791
  `;
3186
3792
  }
3187
3793
  };
3188
- g.styles = [
3189
- u,
3794
+ w.styles = [
3795
+ h,
3190
3796
  c`
3191
3797
  :host {
3192
3798
  display: contents;
@@ -3315,38 +3921,38 @@ g.styles = [
3315
3921
  }
3316
3922
  `
3317
3923
  ];
3318
- E([
3924
+ T([
3319
3925
  n({ type: String })
3320
- ], g.prototype, "src", 2);
3321
- E([
3926
+ ], w.prototype, "src", 2);
3927
+ T([
3322
3928
  n({ type: String })
3323
- ], g.prototype, "title", 2);
3324
- E([
3929
+ ], w.prototype, "title", 2);
3930
+ T([
3325
3931
  n({ type: Boolean, attribute: "close-on-escape" })
3326
- ], g.prototype, "closeOnEscape", 2);
3327
- E([
3932
+ ], w.prototype, "closeOnEscape", 2);
3933
+ T([
3328
3934
  n({ type: Boolean, attribute: "close-on-overlay" })
3329
- ], g.prototype, "closeOnOverlay", 2);
3330
- E([
3935
+ ], w.prototype, "closeOnOverlay", 2);
3936
+ T([
3331
3937
  n({ type: Boolean, attribute: "use-history" })
3332
- ], g.prototype, "useHistory", 2);
3333
- E([
3334
- S()
3335
- ], g.prototype, "isLoading", 2);
3336
- g = E([
3938
+ ], w.prototype, "useHistory", 2);
3939
+ T([
3940
+ k()
3941
+ ], w.prototype, "isLoading", 2);
3942
+ w = T([
3337
3943
  p("tc-iframe-modal")
3338
- ], g);
3339
- var $e = Object.defineProperty, _e = Object.getOwnPropertyDescriptor, L = (r, e, s, i) => {
3340
- for (var t = i > 1 ? void 0 : i ? _e(e, s) : e, a = r.length - 1, o; a >= 0; a--)
3341
- (o = r[a]) && (t = (i ? o(e, s, t) : o(t)) || t);
3342
- return i && t && $e(e, s, t), t;
3944
+ ], w);
3945
+ var Me = Object.defineProperty, Ie = Object.getOwnPropertyDescriptor, A = (r, e, a, i) => {
3946
+ for (var t = i > 1 ? void 0 : i ? Ie(e, a) : e, s = r.length - 1, o; s >= 0; s--)
3947
+ (o = r[s]) && (t = (i ? o(e, a, t) : o(t)) || t);
3948
+ return i && t && Me(e, a, t), t;
3343
3949
  };
3344
- let f = class extends d {
3950
+ let x = class extends d {
3345
3951
  constructor() {
3346
- super(...arguments), this.title = "Install App", this.description = "Add to your home screen for quick access", this.installLabel = "Install", this.storageKey = "tc-install-banner-dismissed", this.dismissDays = 7, this.isDismissed = !1, this.animation = new j(this, {
3952
+ super(...arguments), this.title = "Install App", this.description = "Add to your home screen for quick access", this.installLabel = "Install", this.storageKey = "tc-install-banner-dismissed", this.dismissDays = 7, this.isDismissed = !1, this.animation = new M(this, {
3347
3953
  showDuration: 400,
3348
3954
  hideDuration: 300
3349
- }), this.storage = new bt(
3955
+ }), this.storage = new zt(
3350
3956
  this,
3351
3957
  this.storageKey
3352
3958
  );
@@ -3424,8 +4030,8 @@ let f = class extends d {
3424
4030
  `;
3425
4031
  }
3426
4032
  };
3427
- f.styles = [
3428
- u,
4033
+ x.styles = [
4034
+ h,
3429
4035
  c`
3430
4036
  :host {
3431
4037
  display: block;
@@ -3541,39 +4147,39 @@ f.styles = [
3541
4147
  }
3542
4148
  `
3543
4149
  ];
3544
- L([
4150
+ A([
3545
4151
  n({ type: String })
3546
- ], f.prototype, "title", 2);
3547
- L([
4152
+ ], x.prototype, "title", 2);
4153
+ A([
3548
4154
  n({ type: String })
3549
- ], f.prototype, "description", 2);
3550
- L([
4155
+ ], x.prototype, "description", 2);
4156
+ A([
3551
4157
  n({ type: String, attribute: "install-label" })
3552
- ], f.prototype, "installLabel", 2);
3553
- L([
4158
+ ], x.prototype, "installLabel", 2);
4159
+ A([
3554
4160
  n({ type: String, attribute: "storage-key" })
3555
- ], f.prototype, "storageKey", 2);
3556
- L([
4161
+ ], x.prototype, "storageKey", 2);
4162
+ A([
3557
4163
  n({ type: Number, attribute: "dismiss-days" })
3558
- ], f.prototype, "dismissDays", 2);
3559
- L([
3560
- S()
3561
- ], f.prototype, "isDismissed", 2);
3562
- f = L([
4164
+ ], x.prototype, "dismissDays", 2);
4165
+ A([
4166
+ k()
4167
+ ], x.prototype, "isDismissed", 2);
4168
+ x = A([
3563
4169
  p("tc-installation-banner")
3564
- ], f);
3565
- var Ce = Object.defineProperty, ze = Object.getOwnPropertyDescriptor, ft = (r, e, s, i) => {
3566
- for (var t = i > 1 ? void 0 : i ? ze(e, s) : e, a = r.length - 1, o; a >= 0; a--)
3567
- (o = r[a]) && (t = (i ? o(e, s, t) : o(t)) || t);
3568
- return i && t && Ce(e, s, t), t;
4170
+ ], x);
4171
+ var Te = Object.defineProperty, Ae = Object.getOwnPropertyDescriptor, $t = (r, e, a, i) => {
4172
+ for (var t = i > 1 ? void 0 : i ? Ae(e, a) : e, s = r.length - 1, o; s >= 0; s--)
4173
+ (o = r[s]) && (t = (i ? o(e, a, t) : o(t)) || t);
4174
+ return i && t && Te(e, a, t), t;
3569
4175
  };
3570
- let J = class extends d {
4176
+ let it = class extends d {
3571
4177
  constructor() {
3572
4178
  super(...arguments), this.title = "Install on iOS", this.steps = [
3573
4179
  "Tap the Share button in Safari",
3574
4180
  'Scroll down and tap "Add to Home Screen"',
3575
4181
  'Tap "Add" in the top right corner'
3576
- ], this.animation = new j(this, {
4182
+ ], this.animation = new M(this, {
3577
4183
  showDuration: 300,
3578
4184
  hideDuration: 200
3579
4185
  });
@@ -3599,11 +4205,11 @@ let J = class extends d {
3599
4205
  r.target === r.currentTarget && this.close();
3600
4206
  }
3601
4207
  renderStep(r, e) {
3602
- const s = r.split("[share]"), i = s.length > 1 ? l`${s[0]}<svg class="share-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
4208
+ const a = r.split("[share]"), i = a.length > 1 ? l`${a[0]}<svg class="share-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
3603
4209
  <path d="M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8"></path>
3604
4210
  <polyline points="16 6 12 2 8 6"></polyline>
3605
4211
  <line x1="12" y1="2" x2="12" y2="15"></line>
3606
- </svg>${s[1]}` : r;
4212
+ </svg>${a[1]}` : r;
3607
4213
  return l`
3608
4214
  <div part="step" class="step">
3609
4215
  <span part="step-number" class="step-number">${e + 1}</span>
@@ -3644,8 +4250,8 @@ let J = class extends d {
3644
4250
  `;
3645
4251
  }
3646
4252
  };
3647
- J.styles = [
3648
- u,
4253
+ it.styles = [
4254
+ h,
3649
4255
  c`
3650
4256
  :host {
3651
4257
  display: contents;
@@ -3786,26 +4392,26 @@ J.styles = [
3786
4392
  }
3787
4393
  `
3788
4394
  ];
3789
- ft([
4395
+ $t([
3790
4396
  n({ type: String })
3791
- ], J.prototype, "title", 2);
3792
- ft([
4397
+ ], it.prototype, "title", 2);
4398
+ $t([
3793
4399
  n({ type: Array })
3794
- ], J.prototype, "steps", 2);
3795
- J = ft([
4400
+ ], it.prototype, "steps", 2);
4401
+ it = $t([
3796
4402
  p("tc-ios-installation-guide")
3797
- ], J);
3798
- var De = Object.defineProperty, Oe = Object.getOwnPropertyDescriptor, H = (r, e, s, i) => {
3799
- for (var t = i > 1 ? void 0 : i ? Oe(e, s) : e, a = r.length - 1, o; a >= 0; a--)
3800
- (o = r[a]) && (t = (i ? o(e, s, t) : o(t)) || t);
3801
- return i && t && De(e, s, t), t;
4403
+ ], it);
4404
+ var Fe = Object.defineProperty, He = Object.getOwnPropertyDescriptor, W = (r, e, a, i) => {
4405
+ for (var t = i > 1 ? void 0 : i ? He(e, a) : e, s = r.length - 1, o; s >= 0; s--)
4406
+ (o = r[s]) && (t = (i ? o(e, a, t) : o(t)) || t);
4407
+ return i && t && Fe(e, a, t), t;
3802
4408
  };
3803
- let $ = class extends d {
4409
+ let O = class extends d {
3804
4410
  constructor() {
3805
- super(...arguments), this.title = "Enable Notifications", this.description = "Stay updated with important alerts and messages.", this.allowLabel = "Allow", this.denyLabel = "Not Now", this.storageKey = "tc-notification-modal-state", this.animation = new j(this, {
4411
+ super(...arguments), this.title = "Enable Notifications", this.description = "Stay updated with important alerts and messages.", this.allowLabel = "Allow", this.denyLabel = "Not Now", this.storageKey = "tc-notification-modal-state", this.animation = new M(this, {
3806
4412
  showDuration: 300,
3807
4413
  hideDuration: 200
3808
- }), this.storage = new bt(this, this.storageKey);
4414
+ }), this.storage = new zt(this, this.storageKey);
3809
4415
  }
3810
4416
  connectedCallback() {
3811
4417
  super.connectedCallback(), this.updateDataState();
@@ -3897,8 +4503,8 @@ let $ = class extends d {
3897
4503
  `;
3898
4504
  }
3899
4505
  };
3900
- $.styles = [
3901
- u,
4506
+ O.styles = [
4507
+ h,
3902
4508
  c`
3903
4509
  :host {
3904
4510
  display: contents;
@@ -3999,32 +4605,32 @@ $.styles = [
3999
4605
  }
4000
4606
  `
4001
4607
  ];
4002
- H([
4608
+ W([
4003
4609
  n({ type: String })
4004
- ], $.prototype, "title", 2);
4005
- H([
4610
+ ], O.prototype, "title", 2);
4611
+ W([
4006
4612
  n({ type: String })
4007
- ], $.prototype, "description", 2);
4008
- H([
4613
+ ], O.prototype, "description", 2);
4614
+ W([
4009
4615
  n({ type: String, attribute: "allow-label" })
4010
- ], $.prototype, "allowLabel", 2);
4011
- H([
4616
+ ], O.prototype, "allowLabel", 2);
4617
+ W([
4012
4618
  n({ type: String, attribute: "deny-label" })
4013
- ], $.prototype, "denyLabel", 2);
4014
- H([
4619
+ ], O.prototype, "denyLabel", 2);
4620
+ W([
4015
4621
  n({ type: String, attribute: "storage-key" })
4016
- ], $.prototype, "storageKey", 2);
4017
- $ = H([
4622
+ ], O.prototype, "storageKey", 2);
4623
+ O = W([
4018
4624
  p("tc-notification-modal")
4019
- ], $);
4020
- var Se = Object.defineProperty, Pe = Object.getOwnPropertyDescriptor, R = (r, e, s, i) => {
4021
- for (var t = i > 1 ? void 0 : i ? Pe(e, s) : e, a = r.length - 1, o; a >= 0; a--)
4022
- (o = r[a]) && (t = (i ? o(e, s, t) : o(t)) || t);
4023
- return i && t && Se(e, s, t), t;
4625
+ ], O);
4626
+ var Ve = Object.defineProperty, qe = Object.getOwnPropertyDescriptor, X = (r, e, a, i) => {
4627
+ for (var t = i > 1 ? void 0 : i ? qe(e, a) : e, s = r.length - 1, o; s >= 0; s--)
4628
+ (o = r[s]) && (t = (i ? o(e, a, t) : o(t)) || t);
4629
+ return i && t && Ve(e, a, t), t;
4024
4630
  };
4025
- let _ = class extends d {
4631
+ let S = class extends d {
4026
4632
  constructor() {
4027
- super(...arguments), this.title = "No Connection", this.description = "Please check your internet connection and try again.", this.retryLabel = "Try Again", this.autoDetect = !0, this.isOffline = !1, this.animation = new j(this, {
4633
+ super(...arguments), this.title = "No Connection", this.description = "Please check your internet connection and try again.", this.retryLabel = "Try Again", this.autoDetect = !0, this.isOffline = !1, this.animation = new M(this, {
4028
4634
  showDuration: 300,
4029
4635
  hideDuration: 200
4030
4636
  }), this.handleOnline = () => {
@@ -4110,8 +4716,8 @@ let _ = class extends d {
4110
4716
  `;
4111
4717
  }
4112
4718
  };
4113
- _.styles = [
4114
- u,
4719
+ S.styles = [
4720
+ h,
4115
4721
  c`
4116
4722
  :host {
4117
4723
  display: contents;
@@ -4194,30 +4800,30 @@ _.styles = [
4194
4800
  }
4195
4801
  `
4196
4802
  ];
4197
- R([
4803
+ X([
4198
4804
  n({ type: String })
4199
- ], _.prototype, "title", 2);
4200
- R([
4805
+ ], S.prototype, "title", 2);
4806
+ X([
4201
4807
  n({ type: String })
4202
- ], _.prototype, "description", 2);
4203
- R([
4808
+ ], S.prototype, "description", 2);
4809
+ X([
4204
4810
  n({ type: String, attribute: "retry-label" })
4205
- ], _.prototype, "retryLabel", 2);
4206
- R([
4811
+ ], S.prototype, "retryLabel", 2);
4812
+ X([
4207
4813
  n({ type: Boolean, attribute: "auto-detect" })
4208
- ], _.prototype, "autoDetect", 2);
4209
- R([
4210
- S()
4211
- ], _.prototype, "isOffline", 2);
4212
- _ = R([
4814
+ ], S.prototype, "autoDetect", 2);
4815
+ X([
4816
+ k()
4817
+ ], S.prototype, "isOffline", 2);
4818
+ S = X([
4213
4819
  p("tc-offline-modal")
4214
- ], _);
4215
- var je = Object.defineProperty, Ee = Object.getOwnPropertyDescriptor, xt = (r, e, s, i) => {
4216
- for (var t = i > 1 ? void 0 : i ? Ee(e, s) : e, a = r.length - 1, o; a >= 0; a--)
4217
- (o = r[a]) && (t = (i ? o(e, s, t) : o(t)) || t);
4218
- return i && t && je(e, s, t), t;
4820
+ ], S);
4821
+ var Ye = Object.defineProperty, Ue = Object.getOwnPropertyDescriptor, Dt = (r, e, a, i) => {
4822
+ for (var t = i > 1 ? void 0 : i ? Ue(e, a) : e, s = r.length - 1, o; s >= 0; s--)
4823
+ (o = r[s]) && (t = (i ? o(e, a, t) : o(t)) || t);
4824
+ return i && t && Ye(e, a, t), t;
4219
4825
  };
4220
- let at = class extends d {
4826
+ let dt = class extends d {
4221
4827
  constructor() {
4222
4828
  super(...arguments), this.variant = "primary";
4223
4829
  }
@@ -4231,8 +4837,8 @@ let at = class extends d {
4231
4837
  `;
4232
4838
  }
4233
4839
  };
4234
- at.styles = [
4235
- u,
4840
+ dt.styles = [
4841
+ h,
4236
4842
  c`
4237
4843
  :host {
4238
4844
  position: fixed;
@@ -4326,47 +4932,50 @@ at.styles = [
4326
4932
  }
4327
4933
  `
4328
4934
  ];
4329
- xt([
4935
+ Dt([
4330
4936
  n({ type: String })
4331
- ], at.prototype, "variant", 2);
4332
- at = xt([
4937
+ ], dt.prototype, "variant", 2);
4938
+ dt = Dt([
4333
4939
  p("tc-page-decoration")
4334
- ], at);
4940
+ ], dt);
4335
4941
  export {
4336
- j as AnimationController,
4337
- P as BaseController,
4338
- Fe as FormValidationController,
4339
- Ct as HistoryController,
4340
- zt as LoadingController,
4341
- Dt as MatchMediaController,
4342
- Ot as MessageBusController,
4343
- bt as StorageController,
4344
- it as TcBox,
4345
- C as TcButton,
4346
- st as TcCallout,
4347
- N as TcCard,
4348
- K as TcChip,
4349
- V as TcContainer,
4350
- W as TcDivider,
4351
- D as TcErrorScreen,
4352
- O as TcFloatingButton,
4353
- b as TcFormHeader,
4354
- T as TcIcon,
4355
- g as TcIframeModal,
4356
- h as TcInput,
4357
- f as TcInstallationBanner,
4358
- J as TcIosInstallationGuide,
4359
- A as TcItem,
4360
- y as TcItemButton,
4361
- Q as TcLoadingScreen,
4362
- $ as TcNotificationModal,
4363
- _ as TcOfflineModal,
4364
- w as TcOtpInput,
4365
- at as TcPageDecoration,
4366
- X as TcSection,
4367
- G as TcSpinner,
4368
- k as TcSuccessScreen,
4369
- M as TcSymbol,
4370
- x as TcText,
4371
- z as TcToast
4942
+ M as AnimationController,
4943
+ L as BaseController,
4944
+ Ge as FormValidationController,
4945
+ jt as HistoryController,
4946
+ Et as LoadingController,
4947
+ Bt as MatchMediaController,
4948
+ Lt as MessageBusController,
4949
+ zt as StorageController,
4950
+ y as TcAuthenticatorCard,
4951
+ lt as TcBox,
4952
+ P as TcButton,
4953
+ ct as TcCallout,
4954
+ G as TcCard,
4955
+ Q as TcChip,
4956
+ J as TcContainer,
4957
+ F as TcDivider,
4958
+ Z as TcErrorMessage,
4959
+ E as TcErrorScreen,
4960
+ B as TcFloatingButton,
4961
+ z as TcFormHeader,
4962
+ H as TcIcon,
4963
+ w as TcIframeModal,
4964
+ u as TcInput,
4965
+ m as TcInputWithChip,
4966
+ x as TcInstallationBanner,
4967
+ it as TcIosInstallationGuide,
4968
+ V as TcItem,
4969
+ C as TcItemButton,
4970
+ rt as TcLoadingScreen,
4971
+ O as TcNotificationModal,
4972
+ S as TcOfflineModal,
4973
+ _ as TcOtpInput,
4974
+ dt as TcPageDecoration,
4975
+ tt as TcSection,
4976
+ et as TcSpinner,
4977
+ D as TcSuccessScreen,
4978
+ q as TcSymbol,
4979
+ $ as TcText,
4980
+ j as TcToast
4372
4981
  };