@incodetech/web 0.0.0-dev-20260318-7381409 → 0.0.0-dev-20260318-7837fc0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/base.css CHANGED
@@ -586,6 +586,60 @@
586
586
  .IncodeInput[type="date"][data-has-value="true"] {
587
587
  color: var(--color-input-text-field-default, var(--input-text-field-default));
588
588
  }
589
+ .IncodeTextArea {
590
+ width: 100%;
591
+ max-width: 420px;
592
+ min-height: 56px;
593
+ font-family: var(--typography-input-dropdown-family);
594
+ font-size: var(--typography-input-dropdown-m-size);
595
+ font-weight: var(--typography-input-dropdown-m-weight);
596
+ line-height: var(--typography-input-dropdown-m-line-height);
597
+ letter-spacing: var(--typography-input-dropdown-m-letter-spacing);
598
+ background-color: var(--color-input-surface-default, var(--input-surface-default));
599
+ color: var(--color-input-text-field-default, var(--input-text-field-default));
600
+ border-radius: var(--radius-input, var(--input-border-radius));
601
+ border-style: var(--tw-border-style);
602
+ border-width: 1px;
603
+ border-color: var(--color-input-border-default, var(--input-border-default));
604
+ padding: var(--spacing-16, var(--spacing-16, 16px));
605
+ transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
606
+ transition-timing-function: var(--tw-ease, var(--default-transition-timing-function, cubic-bezier(.4, 0, .2, 1)));
607
+ transition-duration: var(--tw-duration, var(--default-transition-duration, .15s));
608
+ --tw-duration: .2s;
609
+ --tw-outline-style: none;
610
+ resize: vertical;
611
+ outline-style: none;
612
+ transition-duration: .2s;
613
+ }
614
+ .IncodeTextArea::placeholder {
615
+ color: var(--color-input-text-field-placeholder, var(--input-text-field-placeholder));
616
+ }
617
+ .IncodeTextArea:disabled {
618
+ border-color: var(--color-input-border-disabled, var(--input-border-disabled));
619
+ background-color: var(--color-input-surface-disabled, var(--input-surface-disabled));
620
+ cursor: not-allowed;
621
+ color: var(--color-input-text-field-disabled, var(--input-text-field-disabled));
622
+ resize: none;
623
+ opacity: 1;
624
+ }
625
+ .IncodeTextArea:focus {
626
+ border-style: var(--tw-border-style);
627
+ border-width: 2px;
628
+ border-color: var(--color-input-border-focus, var(--input-border-focus));
629
+ background-color: var(--color-input-surface-active, var(--input-surface-active));
630
+ }
631
+ .IncodeTextArea:active:not(:disabled) {
632
+ border-color: var(--color-input-border-active, var(--input-border-active));
633
+ background-color: var(--color-input-surface-active, var(--input-surface-active));
634
+ }
635
+ .IncodeTextArea[aria-invalid="true"] {
636
+ border-color: var(--color-input-border-negative, var(--input-border-negative));
637
+ }
638
+ .IncodeTextArea[aria-invalid="true"]:focus {
639
+ border-style: var(--tw-border-style);
640
+ border-width: 2px;
641
+ border-color: var(--color-input-border-negative, var(--input-border-negative));
642
+ }
589
643
  .IncodeInputComposed {
590
644
  width: 100%;
591
645
  max-width: 420px;
@@ -659,6 +713,57 @@
659
713
  font-family: inherit;
660
714
  display: inline-block;
661
715
  }
716
+ .IncodeTextAreaComposed {
717
+ width: 100%;
718
+ max-width: 420px;
719
+ }
720
+ .IncodeTextAreaComposedLabel {
721
+ font-family: var(--typography-label-family);
722
+ font-size: var(--typography-label-m-size);
723
+ font-weight: var(--typography-label-m-weight);
724
+ line-height: var(--typography-label-m-line-height);
725
+ letter-spacing: var(--typography-label-m-letter-spacing);
726
+ color: var(--color-input-text-label-default, var(--input-text-label-default));
727
+ margin: var(--spacing-0, var(--spacing-none, 0px));
728
+ margin-bottom: var(--spacing-8, var(--spacing-8, 8px));
729
+ padding: var(--spacing-0, var(--spacing-none, 0px));
730
+ display: inline-block;
731
+ }
732
+ .IncodeTextAreaComposedRequired {
733
+ color: var(--color-input-text-helper-negative, var(--input-text-helper-negative));
734
+ }
735
+ .IncodeTextAreaComposedWrapper {
736
+ position: relative;
737
+ }
738
+ .IncodeTextAreaComposedErrorWrapper, .IncodeTextAreaComposedHelperWrapper {
739
+ margin-top: var(--spacing-8, var(--spacing-8, 8px));
740
+ align-items: center;
741
+ display: flex;
742
+ }
743
+ .IncodeTextAreaComposedIconWrapper {
744
+ margin-right: var(--spacing-4, var(--spacing-4, 4px));
745
+ display: inline-block;
746
+ }
747
+ .IncodeTextAreaComposedError {
748
+ margin: var(--spacing-0, var(--spacing-none, 0px));
749
+ color: var(--color-input-text-helper-negative, var(--input-text-helper-negative));
750
+ font-family: var(--typography-body-family);
751
+ font-size: var(--typography-body-m-regular-size);
752
+ font-weight: var(--typography-body-m-regular-weight);
753
+ line-height: var(--typography-body-m-regular-line-height);
754
+ letter-spacing: var(--typography-body-m-regular-letter-spacing);
755
+ display: inline-block;
756
+ }
757
+ .IncodeTextAreaComposedHelper {
758
+ margin: var(--spacing-0, var(--spacing-none, 0px));
759
+ color: var(--color-input-text-helper-default, var(--input-text-helper-default));
760
+ font-family: var(--typography-body-family);
761
+ font-size: var(--typography-body-m-regular-size);
762
+ font-weight: var(--typography-body-m-regular-weight);
763
+ line-height: var(--typography-body-m-regular-line-height);
764
+ letter-spacing: var(--typography-body-m-regular-letter-spacing);
765
+ display: inline-block;
766
+ }
662
767
  .IncodeDropdownComposed {
663
768
  width: 100%;
664
769
  max-width: 420px;
@@ -2047,6 +2152,66 @@
2047
2152
  height: 840px;
2048
2153
  }
2049
2154
  }
2155
+ @media (min-width: 40rem) {
2156
+ .IncodePageContainer .IncodePageInner {
2157
+ max-width: 40rem;
2158
+ }
2159
+ }
2160
+ @media (min-width: 48rem) {
2161
+ .IncodePageContainer .IncodePageInner {
2162
+ max-width: 48rem;
2163
+ }
2164
+ }
2165
+ @media (min-width: 64rem) {
2166
+ .IncodePageContainer .IncodePageInner {
2167
+ max-width: 64rem;
2168
+ }
2169
+ }
2170
+ @media (min-width: 80rem) {
2171
+ .IncodePageContainer .IncodePageInner {
2172
+ max-width: 80rem;
2173
+ }
2174
+ }
2175
+ @media (min-width: 96rem) {
2176
+ .IncodePageContainer .IncodePageInner {
2177
+ max-width: 96rem;
2178
+ }
2179
+ }
2180
+ @media (min-width: 48rem) {
2181
+ .IncodePageContainer .IncodePageInner {
2182
+ height: 840px;
2183
+ }
2184
+ }
2185
+ @media (min-width: 40rem) {
2186
+ .IncodePageContainer .IncodePageInner {
2187
+ max-width: 40rem;
2188
+ }
2189
+ }
2190
+ @media (min-width: 48rem) {
2191
+ .IncodePageContainer .IncodePageInner {
2192
+ max-width: 48rem;
2193
+ }
2194
+ }
2195
+ @media (min-width: 64rem) {
2196
+ .IncodePageContainer .IncodePageInner {
2197
+ max-width: 64rem;
2198
+ }
2199
+ }
2200
+ @media (min-width: 80rem) {
2201
+ .IncodePageContainer .IncodePageInner {
2202
+ max-width: 80rem;
2203
+ }
2204
+ }
2205
+ @media (min-width: 96rem) {
2206
+ .IncodePageContainer .IncodePageInner {
2207
+ max-width: 96rem;
2208
+ }
2209
+ }
2210
+ @media (min-width: 48rem) {
2211
+ .IncodePageContainer .IncodePageInner {
2212
+ height: 840px;
2213
+ }
2214
+ }
2050
2215
  .IncodePageContainer .IncodePageInner {
2051
2216
  width: 100%;
2052
2217
  }
@@ -1,28 +1,28 @@
1
- import { u as e, d as l, B as V } from "./button-Ca1tRSTI.js";
2
- import { I as Y, e as _, S as N, a as ee, b as ae } from "./button-Ca1tRSTI.js";
3
- import { s as re, u as te } from "./uiConfig-Z6RT23Sl.js";
4
- import { P as se } from "./page-BVHG3h0V.js";
5
- import { C as ie, F as le, M as de } from "./fileIcon-DOyMcRWU.js";
6
- import { S as ue, T as he, a as Ce, b as xe, c as me, d as Ie } from "./spinner-Cx3FPUCD.js";
7
- import { P as be } from "./processing-CDgOueI3.js";
8
- import { E as ve } from "./errorContent-yUAdbZ5o.js";
9
- import { F as ye, V as we } from "./formField-FeX9N4c8.js";
10
- import { a as Be, C as Le, c as Me, b as Se, e as Fe, d as De, H as He, L as Pe, P as Ve } from "./captureFooter-X2qN1773.js";
11
- import { a as Oe, I as Re } from "./inputComposed-BHi-MSpP.js";
12
- import { O as je } from "./otpInput-DdkvlvCS.js";
13
- import { D as E, d as O, A as R, y as W, q as j } from "./vendor-preact-BXf0bkEs.js";
14
- import { E as U } from "./errorIcon-BL647nVh.js";
15
- import { P as $e } from "./phoneInputComposed-CwtJKvGh.js";
16
- import { D as Ae, S as Ze } from "./dropdownComposed-B5ZuQS8C.js";
17
- import { C as Ge, D as Je } from "./dateInputComposed-CvFmQpJ0.js";
18
- import { B as Qe, L as Xe, P as Ye } from "./permissions-DwF2Ez1N.js";
19
- import { C as Ne } from "./chevronDown-BUaOuf9J.js";
20
- import { C as aa } from "./closeIcon-BM7WLbKp.js";
21
- import { S as ra } from "./successIcon-BybULRRU.js";
22
- import { c as na, a as sa, g as ca } from "./countries-C9bhJe4u.js";
23
- import { C as la, T as da } from "./tutorial-Dagmccxh.js";
24
- import { a as ua, C as ha, b as Ca, I as xa, F as ma, T as Ia } from "./flipAnimation-DoMQoFPb.js";
25
- const $ = ({ size: a = 28 }) => /* @__PURE__ */ e(
1
+ import { u as e, d as i, B as V } from "./button-Ca1tRSTI.js";
2
+ import { I as ae, e as re, S as oe, a as se, b as te } from "./button-Ca1tRSTI.js";
3
+ import { s as ce, u as de } from "./uiConfig-Z6RT23Sl.js";
4
+ import { P as le } from "./page-BVHG3h0V.js";
5
+ import { C as he, F as Ce, M as ue } from "./fileIcon-DOyMcRWU.js";
6
+ import { S as xe, T as Ie, a as be, b as fe, c as ve, d as ge } from "./spinner-Cx3FPUCD.js";
7
+ import { P as Te } from "./processing-CDgOueI3.js";
8
+ import { E as we } from "./errorContent-yUAdbZ5o.js";
9
+ import { F as Be, V as Le } from "./formField-FeX9N4c8.js";
10
+ import { a as Se, C as Fe, c as He, b as De, e as Ee, d as Pe, H as Ve, L as We, P as $e } from "./captureFooter-X2qN1773.js";
11
+ import { a as Oe, I as je } from "./inputComposed-BHi-MSpP.js";
12
+ import { O as qe } from "./otpInput-DdkvlvCS.js";
13
+ import { D as f, d as W, A as $, y as R, q as O } from "./vendor-preact-BXf0bkEs.js";
14
+ import { E as w } from "./errorIcon-BL647nVh.js";
15
+ import { P as Ne } from "./phoneInputComposed-CwtJKvGh.js";
16
+ import { D as Ge, S as Je } from "./dropdownComposed-B5ZuQS8C.js";
17
+ import { C as Qe, D as Xe } from "./dateInputComposed-CvFmQpJ0.js";
18
+ import { S as j } from "./successIcon-BybULRRU.js";
19
+ import { B as _e, L as ea, P as aa } from "./permissions-DwF2Ez1N.js";
20
+ import { C as oa } from "./chevronDown-BUaOuf9J.js";
21
+ import { C as ta } from "./closeIcon-BM7WLbKp.js";
22
+ import { c as ca, a as da, g as ia } from "./countries-C9bhJe4u.js";
23
+ import { C as pa, T as ha } from "./tutorial-Dagmccxh.js";
24
+ import { a as ua, C as ma, b as xa, I as Ia, F as ba, T as fa } from "./flipAnimation-DoMQoFPb.js";
25
+ const U = ({ size: a = 28 }) => /* @__PURE__ */ e(
26
26
  "svg",
27
27
  {
28
28
  width: a,
@@ -44,9 +44,9 @@ const $ = ({ size: a = 28 }) => /* @__PURE__ */ e(
44
44
  )
45
45
  ]
46
46
  }
47
- ), G = ({
47
+ ), Q = ({
48
48
  size: a = 14,
49
- class: o
49
+ class: r
50
50
  }) => /* @__PURE__ */ e(
51
51
  "svg",
52
52
  {
@@ -55,7 +55,7 @@ const $ = ({ size: a = 28 }) => /* @__PURE__ */ e(
55
55
  viewBox: "0 0 14 14",
56
56
  fill: "none",
57
57
  xmlns: "http://www.w3.org/2000/svg",
58
- class: o,
58
+ class: r,
59
59
  "aria-hidden": "true",
60
60
  children: /* @__PURE__ */ e(
61
61
  "path",
@@ -68,37 +68,37 @@ const $ = ({ size: a = 28 }) => /* @__PURE__ */ e(
68
68
  }
69
69
  )
70
70
  }
71
- ), J = E(
71
+ ), X = f(
72
72
  ({
73
73
  id: a,
74
- label: o,
75
- size: t = "m",
76
- checked: r,
77
- defaultChecked: c,
78
- disabled: i = !1,
79
- required: n = !1,
80
- name: b,
81
- value: g,
82
- onChange: v,
83
- error: s,
84
- helper: d,
85
- showErrorIcon: k = !0,
74
+ label: r,
75
+ size: s = "m",
76
+ checked: o,
77
+ defaultChecked: t,
78
+ disabled: n = !1,
79
+ required: c = !1,
80
+ name: l,
81
+ value: u,
82
+ onChange: m,
83
+ error: d,
84
+ helper: p,
85
+ showErrorIcon: C = !0,
86
86
  class: h,
87
- "aria-label": y,
88
- "aria-labelledby": C,
89
- "aria-describedby": w,
90
- "aria-invalid": T,
91
- ...B
92
- }, L) => {
93
- const [M, S] = O(!!c), p = r !== void 0, x = p ? !!r : M, u = !!i, F = !!n, D = typeof h == "string" ? h : void 0, H = (f) => {
94
- p || S(f.target.checked), v?.(f);
95
- }, m = d ? `${a}-helper` : void 0, I = s ? `${a}-error` : void 0, P = [w, I, m].filter(Boolean).join(" ") || void 0;
96
- return /* @__PURE__ */ e("div", { class: l("IncodeCheckbox", D), children: [
87
+ "aria-label": x,
88
+ "aria-labelledby": v,
89
+ "aria-describedby": A,
90
+ "aria-invalid": B,
91
+ ...L
92
+ }, M) => {
93
+ const [S, F] = W(!!t), I = o !== void 0, g = I ? !!o : S, b = !!n, H = !!c, D = typeof h == "string" ? h : void 0, E = (y) => {
94
+ I || F(y.target.checked), m?.(y);
95
+ }, k = p ? `${a}-helper` : void 0, T = d ? `${a}-error` : void 0, P = [A, T, k].filter(Boolean).join(" ") || void 0;
96
+ return /* @__PURE__ */ e("div", { class: i("IncodeCheckbox", D), children: [
97
97
  /* @__PURE__ */ e(
98
98
  "label",
99
99
  {
100
- class: l("IncodeCheckboxLabel", {
101
- IncodeCheckboxLabelDisabled: u
100
+ class: i("IncodeCheckboxLabel", {
101
+ IncodeCheckboxLabelDisabled: b
102
102
  }),
103
103
  htmlFor: a,
104
104
  children: [
@@ -106,105 +106,185 @@ const $ = ({ size: a = 28 }) => /* @__PURE__ */ e(
106
106
  /* @__PURE__ */ e(
107
107
  "input",
108
108
  {
109
- ref: L,
109
+ ref: M,
110
110
  type: "checkbox",
111
111
  class: "IncodeCheckboxInput",
112
112
  id: a,
113
- name: b,
114
- value: g,
115
- ...p ? { checked: r } : { defaultChecked: c },
116
- disabled: i,
117
- required: n,
118
- onChange: H,
119
- "aria-label": y,
120
- "aria-labelledby": C,
113
+ name: l,
114
+ value: u,
115
+ ...I ? { checked: o } : { defaultChecked: t },
116
+ disabled: n,
117
+ required: c,
118
+ onChange: E,
119
+ "aria-label": x,
120
+ "aria-labelledby": v,
121
121
  "aria-describedby": P,
122
- "aria-invalid": T || !!s,
123
- "aria-required": F,
124
- ...B
122
+ "aria-invalid": B || !!d,
123
+ "aria-required": H,
124
+ ...L
125
125
  }
126
126
  ),
127
127
  /* @__PURE__ */ e(
128
128
  "div",
129
129
  {
130
- class: l("IncodeCheckboxVisual", {
131
- IncodeCheckboxVisualChecked: x,
132
- IncodeCheckboxVisualDisabled: u,
133
- IncodeCheckboxVisualError: !!s
130
+ class: i("IncodeCheckboxVisual", {
131
+ IncodeCheckboxVisualChecked: g,
132
+ IncodeCheckboxVisualDisabled: b,
133
+ IncodeCheckboxVisualError: !!d
134
134
  }),
135
- children: x && /* @__PURE__ */ e($, { size: 28 })
135
+ children: g && /* @__PURE__ */ e(U, { size: 28 })
136
136
  }
137
137
  )
138
138
  ] }),
139
- o && /* @__PURE__ */ e(
139
+ r && /* @__PURE__ */ e(
140
140
  "span",
141
141
  {
142
- class: l("IncodeCheckboxText", {
143
- IncodeCheckboxTextS: t === "s",
144
- IncodeCheckboxTextM: t === "m",
145
- IncodeCheckboxTextDisabled: u
142
+ class: i("IncodeCheckboxText", {
143
+ IncodeCheckboxTextS: s === "s",
144
+ IncodeCheckboxTextM: s === "m",
145
+ IncodeCheckboxTextDisabled: b
146
146
  }),
147
- "aria-hidden": C ? "true" : void 0,
147
+ "aria-hidden": v ? "true" : void 0,
148
148
  children: [
149
- o,
150
- n && /* @__PURE__ */ e("span", { class: "IncodeCheckboxRequired", "aria-hidden": "true", children: "*" })
149
+ r,
150
+ c && /* @__PURE__ */ e("span", { class: "IncodeCheckboxRequired", "aria-hidden": "true", children: "*" })
151
151
  ]
152
152
  }
153
153
  )
154
154
  ]
155
155
  }
156
156
  ),
157
- s && /* @__PURE__ */ e(
157
+ d && /* @__PURE__ */ e(
158
158
  "div",
159
159
  {
160
160
  class: "IncodeCheckboxMessageWrapper",
161
161
  "data-testid": `${a}-error-wrapper`,
162
162
  children: [
163
- k && /* @__PURE__ */ e("div", { class: "IncodeCheckboxIconWrapper", children: /* @__PURE__ */ e(U, { size: 17 }) }),
164
- /* @__PURE__ */ e("p", { id: I, class: "IncodeCheckboxErrorText", children: s })
163
+ C && /* @__PURE__ */ e("div", { class: "IncodeCheckboxIconWrapper", children: /* @__PURE__ */ e(w, { size: 17 }) }),
164
+ /* @__PURE__ */ e("p", { id: T, class: "IncodeCheckboxErrorText", children: d })
165
165
  ]
166
166
  }
167
167
  ),
168
- d && !s && /* @__PURE__ */ e(
168
+ p && !d && /* @__PURE__ */ e(
169
169
  "div",
170
170
  {
171
171
  class: "IncodeCheckboxMessageWrapper",
172
172
  "data-testid": `${a}-helper-wrapper`,
173
- children: /* @__PURE__ */ e("p", { id: m, class: "IncodeCheckboxHelperText", children: d })
173
+ children: /* @__PURE__ */ e("p", { id: k, class: "IncodeCheckboxHelperText", children: p })
174
+ }
175
+ )
176
+ ] });
177
+ }
178
+ ), q = f(
179
+ (a, r) => {
180
+ const { class: s, rows: o = 4, ...t } = a;
181
+ return /* @__PURE__ */ e(
182
+ "textarea",
183
+ {
184
+ ...t,
185
+ ref: r,
186
+ rows: o,
187
+ class: i("IncodeTextArea", s)
188
+ }
189
+ );
190
+ }
191
+ ), z = f(
192
+ ({
193
+ id: a,
194
+ label: r,
195
+ "aria-label": s,
196
+ error: o,
197
+ showErrorIcon: t,
198
+ helper: n,
199
+ showHelperIcon: c,
200
+ required: l,
201
+ rows: u = 4,
202
+ class: m,
203
+ ...d
204
+ }, p) => {
205
+ const C = `${a}-helper`, h = `${a}-error`, x = [n ? C : null, o ? h : null].filter(Boolean).join(" ");
206
+ return /* @__PURE__ */ e("div", { class: i("IncodeTextAreaComposed", m), children: [
207
+ r && /* @__PURE__ */ e(
208
+ "label",
209
+ {
210
+ class: "IncodeTextAreaComposedLabel",
211
+ htmlFor: a,
212
+ "data-testid": `${a}-label`,
213
+ children: [
214
+ r,
215
+ l && /* @__PURE__ */ e("span", { class: "IncodeTextAreaComposedRequired", children: " *" })
216
+ ]
217
+ }
218
+ ),
219
+ /* @__PURE__ */ e("div", { class: "IncodeTextAreaComposedWrapper", children: /* @__PURE__ */ e(
220
+ q,
221
+ {
222
+ id: a,
223
+ rows: u,
224
+ ...d,
225
+ ref: p,
226
+ required: l,
227
+ ...!r && s ? { "aria-label": s } : {},
228
+ "aria-describedby": x || void 0,
229
+ "aria-required": l ? "true" : void 0,
230
+ "aria-invalid": o ? "true" : void 0
231
+ }
232
+ ) }),
233
+ o && /* @__PURE__ */ e(
234
+ "div",
235
+ {
236
+ class: "IncodeTextAreaComposedErrorWrapper",
237
+ "data-testid": `${a}-error-wrapper`,
238
+ children: [
239
+ t && /* @__PURE__ */ e("div", { class: "IncodeTextAreaComposedIconWrapper", children: /* @__PURE__ */ e(w, { size: 17 }) }),
240
+ /* @__PURE__ */ e("p", { id: h, class: "IncodeTextAreaComposedError", children: o })
241
+ ]
242
+ }
243
+ ),
244
+ n && !o && /* @__PURE__ */ e(
245
+ "div",
246
+ {
247
+ class: "IncodeTextAreaComposedHelperWrapper",
248
+ "data-testid": `${a}-helper-wrapper`,
249
+ children: [
250
+ c && /* @__PURE__ */ e("div", { class: "IncodeTextAreaComposedIconWrapper", children: /* @__PURE__ */ e(j, { size: 17 }) }),
251
+ /* @__PURE__ */ e("p", { id: C, class: "IncodeTextAreaComposedHelper", children: n })
252
+ ]
174
253
  }
175
254
  )
176
255
  ] });
177
256
  }
178
257
  );
179
- function q(a) {
258
+ z.displayName = "TextAreaComposed";
259
+ function N(a) {
180
260
  if (a.readyState < 2 || a.videoWidth === 0 || a.videoHeight === 0)
181
261
  return null;
182
- const o = document.createElement("canvas");
183
- o.width = a.videoWidth, o.height = a.videoHeight;
184
- const t = o.getContext("2d");
185
- return t ? (t.drawImage(a, 0, 0), o.toDataURL("image/jpeg", 0.92).split(",")[1] ?? null) : null;
262
+ const r = document.createElement("canvas");
263
+ r.width = a.videoWidth, r.height = a.videoHeight;
264
+ const s = r.getContext("2d");
265
+ return s ? (s.drawImage(a, 0, 0), r.toDataURL("image/jpeg", 0.92).split(",")[1] ?? null) : null;
186
266
  }
187
- const K = ({
267
+ const Y = ({
188
268
  stream: a,
189
- onCapture: o,
190
- disabled: t
269
+ onCapture: r,
270
+ disabled: s
191
271
  }) => {
192
- const r = R(null);
193
- W(() => {
194
- r.current && a && (r.current.srcObject = a, r.current.play().catch(() => {
272
+ const o = $(null);
273
+ R(() => {
274
+ o.current && a && (o.current.srcObject = a, o.current.play().catch(() => {
195
275
  }));
196
276
  }, [a]);
197
- const c = j(() => {
198
- const i = r.current;
199
- if (!i || t) return;
200
- const n = q(i);
201
- n && o(n);
202
- }, [o, t]);
277
+ const t = O(() => {
278
+ const n = o.current;
279
+ if (!n || s) return;
280
+ const c = N(n);
281
+ c && r(c);
282
+ }, [r, s]);
203
283
  return /* @__PURE__ */ e("div", { class: "IncodeManualCapture", children: [
204
284
  /* @__PURE__ */ e("div", { class: "IncodeManualCaptureVideoContainer", children: /* @__PURE__ */ e(
205
285
  "video",
206
286
  {
207
- ref: r,
287
+ ref: o,
208
288
  autoplay: !0,
209
289
  playsInline: !0,
210
290
  muted: !0,
@@ -217,8 +297,8 @@ const K = ({
217
297
  {
218
298
  variant: "primary",
219
299
  size: "L",
220
- onClick: c,
221
- disabled: t,
300
+ onClick: t,
301
+ disabled: s,
222
302
  class: "IncodeManualCaptureButton",
223
303
  "aria-label": "Capture document",
224
304
  children: "Capture"
@@ -227,65 +307,67 @@ const K = ({
227
307
  ] });
228
308
  };
229
309
  export {
230
- Qe as BaseTutorial,
310
+ _e as BaseTutorial,
231
311
  V as Button,
232
- Ge as CalendarIcon,
233
- Be as CameraFrame,
234
- ie as CameraIcon,
235
- Le as CameraOverlay,
236
- Me as CameraOverlayHeader,
237
- Se as CameraView,
238
- Fe as CaptureButtonIcon,
239
- De as CaptureFooter,
240
- J as Checkbox,
241
- $ as CheckmarkIcon,
242
- Ne as ChevronDown,
243
- G as ChevronRightIcon,
244
- aa as CloseIcon,
245
- Je as DateInputComposed,
246
- Ae as DropdownComposed,
247
- ve as ErrorContent,
248
- U as ErrorIcon,
249
- le as FileIcon,
250
- ye as FormField,
251
- He as HelpIcon,
312
+ Qe as CalendarIcon,
313
+ Se as CameraFrame,
314
+ he as CameraIcon,
315
+ Fe as CameraOverlay,
316
+ He as CameraOverlayHeader,
317
+ De as CameraView,
318
+ Ee as CaptureButtonIcon,
319
+ Pe as CaptureFooter,
320
+ X as Checkbox,
321
+ U as CheckmarkIcon,
322
+ oa as ChevronDown,
323
+ Q as ChevronRightIcon,
324
+ ta as CloseIcon,
325
+ Xe as DateInputComposed,
326
+ Ge as DropdownComposed,
327
+ we as ErrorContent,
328
+ w as ErrorIcon,
329
+ Ce as FileIcon,
330
+ Be as FormField,
331
+ Ve as HelpIcon,
252
332
  ua as IdCapture,
253
- ha as IdChooser,
254
- Ca as IdError,
255
- xa as IdExpired,
256
- ma as IdFlipAnimation,
257
- Ia as IdTutorial,
258
- Y as IncodeComponent,
333
+ ma as IdChooser,
334
+ xa as IdError,
335
+ Ia as IdExpired,
336
+ ba as IdFlipAnimation,
337
+ fa as IdTutorial,
338
+ ae as IncodeComponent,
259
339
  Oe as Input,
260
- Re as InputComposed,
261
- _ as LandscapeBlocker,
262
- Pe as LockIcon,
263
- Xe as Lottie,
264
- K as ManualCapture,
265
- de as Modal,
266
- je as OtpInput,
267
- se as Page,
268
- Ye as Permissions,
269
- $e as PhoneInputComposed,
270
- be as Processing,
271
- Ve as ProgressBar,
272
- Ze as SearchIcon,
273
- la as SelfieCapture,
274
- da as SelfieTutorial,
275
- N as Spacer,
276
- ue as Spinner,
277
- ra as SuccessIcon,
278
- he as Title,
279
- Ce as TypographyH1,
280
- xe as TypographyH3,
281
- me as TypographyH4,
282
- Ie as TypographyH5,
283
- we as VerificationResult,
284
- na as countries,
285
- sa as getCountryByCallingCode,
286
- ca as getCountryByCode,
287
- re as setUiConfig,
288
- ee as useManager,
289
- te as useScreenOrientation,
290
- ae as useTranslation
340
+ je as InputComposed,
341
+ re as LandscapeBlocker,
342
+ We as LockIcon,
343
+ ea as Lottie,
344
+ Y as ManualCapture,
345
+ ue as Modal,
346
+ qe as OtpInput,
347
+ le as Page,
348
+ aa as Permissions,
349
+ Ne as PhoneInputComposed,
350
+ Te as Processing,
351
+ $e as ProgressBar,
352
+ Je as SearchIcon,
353
+ pa as SelfieCapture,
354
+ ha as SelfieTutorial,
355
+ oe as Spacer,
356
+ xe as Spinner,
357
+ j as SuccessIcon,
358
+ q as TextArea,
359
+ z as TextAreaComposed,
360
+ Ie as Title,
361
+ be as TypographyH1,
362
+ fe as TypographyH3,
363
+ ve as TypographyH4,
364
+ ge as TypographyH5,
365
+ Le as VerificationResult,
366
+ ca as countries,
367
+ da as getCountryByCallingCode,
368
+ ia as getCountryByCode,
369
+ ce as setUiConfig,
370
+ se as useManager,
371
+ de as useScreenOrientation,
372
+ te as useTranslation
291
373
  };
@@ -594,6 +594,29 @@ declare type SuccessIconProps = {
594
594
  size?: number | string;
595
595
  };
596
596
 
597
+ export declare const TextArea: FunctionalComponent<PropsWithoutRef<TextAreaProps> & {
598
+ ref?: Ref<HTMLTextAreaElement> | undefined;
599
+ }>;
600
+
601
+ export declare const TextAreaComposed: FunctionalComponent<PropsWithoutRef<TextAreaComposedProps> & {
602
+ ref?: Ref<HTMLTextAreaElement> | undefined;
603
+ }>;
604
+
605
+ declare type TextAreaComposedProps = Omit<JSX.IntrinsicElements['textarea'], 'id' | 'class'> & {
606
+ id: string;
607
+ label?: string;
608
+ error?: string;
609
+ helper?: string;
610
+ showErrorIcon?: boolean;
611
+ showHelperIcon?: boolean;
612
+ rows?: number;
613
+ class?: string;
614
+ };
615
+
616
+ declare type TextAreaProps = Omit<JSX.IntrinsicElements['textarea'], 'class'> & {
617
+ class?: string;
618
+ };
619
+
597
620
  export declare const Title: FunctionalComponent<PropsWithoutRef<TitleProps> & {
598
621
  ref?: Ref<HTMLHeadingElement> | undefined;
599
622
  }>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@incodetech/web",
3
- "version": "0.0.0-dev-20260318-7381409",
3
+ "version": "0.0.0-dev-20260318-7837fc0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.es.js",
6
6
  "types": "./dist/types/index.d.ts",
@@ -119,7 +119,7 @@
119
119
  "preact-custom-element": "^4.6.0",
120
120
  "qrcode": "^1.5.4",
121
121
  "tailwindcss": "^4.1.17",
122
- "@incodetech/core": "0.0.0-dev-20260318-7381409"
122
+ "@incodetech/core": "0.0.0-dev-20260318-7837fc0"
123
123
  },
124
124
  "devDependencies": {
125
125
  "@microsoft/api-extractor": "^7.53.3",