@neofaceid/web-sdk 1.28.1 → 1.29.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +2 -2
- package/dist/neoface-id-sdk.es.js +372 -204
- package/dist/neoface-id-sdk.umd.js +1 -1
- package/package.json +3 -3
|
@@ -5966,6 +5966,182 @@ const api = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty(
|
|
|
5966
5966
|
validateToken,
|
|
5967
5967
|
videoToBase64
|
|
5968
5968
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
5969
|
+
const BLUE = {
|
|
5970
|
+
400: "#00B0F8",
|
|
5971
|
+
500: "#0091F6",
|
|
5972
|
+
700: "#0059C4"
|
|
5973
|
+
};
|
|
5974
|
+
const GOLD = {
|
|
5975
|
+
500: "#F1BE00"
|
|
5976
|
+
};
|
|
5977
|
+
const INK = {
|
|
5978
|
+
25: "#F7F9FC",
|
|
5979
|
+
50: "#F1F5FA",
|
|
5980
|
+
100: "#E6ECF4",
|
|
5981
|
+
300: "#AFBDCE",
|
|
5982
|
+
400: "#8496AD",
|
|
5983
|
+
500: "#617489",
|
|
5984
|
+
600: "#48586B",
|
|
5985
|
+
800: "#1E2B3C",
|
|
5986
|
+
900: "#111C2B",
|
|
5987
|
+
950: "#0A1320"
|
|
5988
|
+
};
|
|
5989
|
+
const LIGHT_TOKENS = {
|
|
5990
|
+
ground: INK[25],
|
|
5991
|
+
surface: "#FFFFFF",
|
|
5992
|
+
surfaceMuted: INK[50],
|
|
5993
|
+
line: INK[100],
|
|
5994
|
+
text: INK[950],
|
|
5995
|
+
textMuted: INK[600],
|
|
5996
|
+
textSubtle: INK[500],
|
|
5997
|
+
action: BLUE[700],
|
|
5998
|
+
actionText: "#FFFFFF",
|
|
5999
|
+
accent: GOLD[500],
|
|
6000
|
+
overlay: "rgba(10,19,32,.55)",
|
|
6001
|
+
focusRing: BLUE[700]
|
|
6002
|
+
};
|
|
6003
|
+
const DARK_TOKENS = {
|
|
6004
|
+
ground: INK[950],
|
|
6005
|
+
surface: INK[900],
|
|
6006
|
+
surfaceMuted: INK[800],
|
|
6007
|
+
line: "#22334D",
|
|
6008
|
+
text: "#EEF3F9",
|
|
6009
|
+
textMuted: INK[300],
|
|
6010
|
+
textSubtle: INK[400],
|
|
6011
|
+
action: BLUE[500],
|
|
6012
|
+
actionText: "#FFFFFF",
|
|
6013
|
+
accent: GOLD[500],
|
|
6014
|
+
overlay: "rgba(10,19,32,.72)",
|
|
6015
|
+
focusRing: BLUE[400]
|
|
6016
|
+
};
|
|
6017
|
+
function contrastRatio(hexA, hexB) {
|
|
6018
|
+
const lumA = luminance(hexA);
|
|
6019
|
+
const lumB = luminance(hexB);
|
|
6020
|
+
const [hi, lo] = lumA > lumB ? [lumA, lumB] : [lumB, lumA];
|
|
6021
|
+
return (hi + 0.05) / (lo + 0.05);
|
|
6022
|
+
}
|
|
6023
|
+
function luminance(hex) {
|
|
6024
|
+
const [r, g, b] = parseHex(hex).map((v) => {
|
|
6025
|
+
const s = v / 255;
|
|
6026
|
+
return s <= 0.03928 ? s / 12.92 : ((s + 0.055) / 1.055) ** 2.4;
|
|
6027
|
+
});
|
|
6028
|
+
return 0.2126 * r + 0.7152 * g + 0.0722 * b;
|
|
6029
|
+
}
|
|
6030
|
+
function parseHex(hex) {
|
|
6031
|
+
let h = hex.trim().replace("#", "");
|
|
6032
|
+
if (h.length === 3) h = h.split("").map((c) => c + c).join("");
|
|
6033
|
+
if (!/^[0-9a-fA-F]{6}$/.test(h)) return [0, 0, 0];
|
|
6034
|
+
return [
|
|
6035
|
+
parseInt(h.slice(0, 2), 16),
|
|
6036
|
+
parseInt(h.slice(2, 4), 16),
|
|
6037
|
+
parseInt(h.slice(4, 6), 16)
|
|
6038
|
+
];
|
|
6039
|
+
}
|
|
6040
|
+
const ALLOWED_RADIUS = [8, 16, 24];
|
|
6041
|
+
function resolveTheme(options = {}) {
|
|
6042
|
+
const mode = resolveMode(options.theme);
|
|
6043
|
+
const tokens = mode === "dark" ? { ...DARK_TOKENS } : { ...LIGHT_TOKENS };
|
|
6044
|
+
let radius = 16;
|
|
6045
|
+
if (options.radius !== void 0) {
|
|
6046
|
+
if (ALLOWED_RADIUS.includes(options.radius)) {
|
|
6047
|
+
radius = options.radius;
|
|
6048
|
+
} else {
|
|
6049
|
+
console.warn(
|
|
6050
|
+
`[NeoFaceID SDK] radius ${options.radius} inválido — permitidos: 8, 16, 24. Usando 16.`
|
|
6051
|
+
);
|
|
6052
|
+
}
|
|
6053
|
+
}
|
|
6054
|
+
let accent = tokens.action;
|
|
6055
|
+
let accentFellBack = false;
|
|
6056
|
+
if (options.accent) {
|
|
6057
|
+
const ratio = contrastRatio(options.accent, "#FFFFFF");
|
|
6058
|
+
if (ratio >= 4.5) {
|
|
6059
|
+
accent = options.accent;
|
|
6060
|
+
} else {
|
|
6061
|
+
accentFellBack = true;
|
|
6062
|
+
console.warn(
|
|
6063
|
+
`[NeoFaceID SDK] accent ${options.accent} reprova AA vs branco (${ratio.toFixed(2)}:1). Usando ${BLUE[700]}.`
|
|
6064
|
+
);
|
|
6065
|
+
accent = BLUE[700];
|
|
6066
|
+
}
|
|
6067
|
+
}
|
|
6068
|
+
return { mode, tokens: { ...tokens, action: accent }, radius, accent, accentFellBack };
|
|
6069
|
+
}
|
|
6070
|
+
function resolveMode(theme) {
|
|
6071
|
+
if (theme === "dark") return "dark";
|
|
6072
|
+
if (theme === "light") return "light";
|
|
6073
|
+
if (typeof window !== "undefined" && typeof window.matchMedia === "function") {
|
|
6074
|
+
if (window.matchMedia("(prefers-color-scheme: dark)").matches) return "dark";
|
|
6075
|
+
}
|
|
6076
|
+
return "light";
|
|
6077
|
+
}
|
|
6078
|
+
const CSS_VAR = {
|
|
6079
|
+
ground: "--nfid-ground",
|
|
6080
|
+
surface: "--nfid-surface",
|
|
6081
|
+
surfaceMuted: "--nfid-surface-muted",
|
|
6082
|
+
line: "--nfid-line",
|
|
6083
|
+
text: "--nfid-text",
|
|
6084
|
+
textMuted: "--nfid-text-muted",
|
|
6085
|
+
textSubtle: "--nfid-text-subtle",
|
|
6086
|
+
action: "--nfid-action",
|
|
6087
|
+
actionText: "--nfid-action-text",
|
|
6088
|
+
accent: "--nfid-accent",
|
|
6089
|
+
overlay: "--nfid-overlay",
|
|
6090
|
+
focusRing: "--nfid-focus-ring",
|
|
6091
|
+
radius: "--nfid-radius"
|
|
6092
|
+
};
|
|
6093
|
+
const INJECTED_STYLE_ID = "neofaceid-focus-frame-tokens";
|
|
6094
|
+
function injectThemeStyles$1(options = {}) {
|
|
6095
|
+
const resolved = resolveTheme(options);
|
|
6096
|
+
if (typeof document === "undefined") return resolved;
|
|
6097
|
+
const css = buildRootCss(resolved);
|
|
6098
|
+
const existing = document.getElementById(INJECTED_STYLE_ID);
|
|
6099
|
+
if (existing) {
|
|
6100
|
+
if (existing.textContent !== css) existing.textContent = css;
|
|
6101
|
+
return resolved;
|
|
6102
|
+
}
|
|
6103
|
+
const style = document.createElement("style");
|
|
6104
|
+
style.id = INJECTED_STYLE_ID;
|
|
6105
|
+
style.textContent = css;
|
|
6106
|
+
document.head.appendChild(style);
|
|
6107
|
+
return resolved;
|
|
6108
|
+
}
|
|
6109
|
+
function buildRootCss(theme) {
|
|
6110
|
+
const t = theme.tokens;
|
|
6111
|
+
return `.neofaceid-root {
|
|
6112
|
+
${CSS_VAR.ground}: ${t.ground};
|
|
6113
|
+
${CSS_VAR.surface}: ${t.surface};
|
|
6114
|
+
${CSS_VAR.surfaceMuted}: ${t.surfaceMuted};
|
|
6115
|
+
${CSS_VAR.line}: ${t.line};
|
|
6116
|
+
${CSS_VAR.text}: ${t.text};
|
|
6117
|
+
${CSS_VAR.textMuted}: ${t.textMuted};
|
|
6118
|
+
${CSS_VAR.textSubtle}: ${t.textSubtle};
|
|
6119
|
+
${CSS_VAR.action}: ${t.action};
|
|
6120
|
+
${CSS_VAR.actionText}: ${t.actionText};
|
|
6121
|
+
${CSS_VAR.accent}: ${t.accent};
|
|
6122
|
+
${CSS_VAR.overlay}: ${t.overlay};
|
|
6123
|
+
${CSS_VAR.focusRing}: ${t.focusRing};
|
|
6124
|
+
${CSS_VAR.radius}: ${theme.radius}px;
|
|
6125
|
+
color: var(${CSS_VAR.text});
|
|
6126
|
+
font-family: inherit;
|
|
6127
|
+
}
|
|
6128
|
+
.neofaceid-root :focus-visible {
|
|
6129
|
+
outline: 2px solid var(${CSS_VAR.focusRing});
|
|
6130
|
+
outline-offset: 2px;
|
|
6131
|
+
}`;
|
|
6132
|
+
}
|
|
6133
|
+
function injectScopedStyles$1(id, css) {
|
|
6134
|
+
if (typeof document === "undefined") return;
|
|
6135
|
+
const existing = document.getElementById(id);
|
|
6136
|
+
if (existing) {
|
|
6137
|
+
if (existing.textContent !== css) existing.textContent = css;
|
|
6138
|
+
return;
|
|
6139
|
+
}
|
|
6140
|
+
const style = document.createElement("style");
|
|
6141
|
+
style.id = id;
|
|
6142
|
+
style.textContent = css;
|
|
6143
|
+
document.head.appendChild(style);
|
|
6144
|
+
}
|
|
5969
6145
|
const modalReducer$1 = (state, action) => {
|
|
5970
6146
|
switch (action.type) {
|
|
5971
6147
|
case "PERMISSION_GRANTED":
|
|
@@ -6042,7 +6218,7 @@ const styles = {
|
|
|
6042
6218
|
padding: "12px 24px",
|
|
6043
6219
|
borderRadius: "24px",
|
|
6044
6220
|
border: "none",
|
|
6045
|
-
backgroundColor: "#
|
|
6221
|
+
backgroundColor: "#0059C4",
|
|
6046
6222
|
color: "white",
|
|
6047
6223
|
fontSize: "16px",
|
|
6048
6224
|
fontWeight: "bold",
|
|
@@ -6156,6 +6332,9 @@ function FaceCaptureModal({
|
|
|
6156
6332
|
};
|
|
6157
6333
|
detectFaces();
|
|
6158
6334
|
};
|
|
6335
|
+
useEffect(() => {
|
|
6336
|
+
injectThemeStyles$1();
|
|
6337
|
+
}, []);
|
|
6159
6338
|
useEffect(() => {
|
|
6160
6339
|
const loadModels = async () => {
|
|
6161
6340
|
try {
|
|
@@ -6243,7 +6422,7 @@ function FaceCaptureModal({
|
|
|
6243
6422
|
dispatch({ type: "RESET" });
|
|
6244
6423
|
setLivenessAttempts(0);
|
|
6245
6424
|
};
|
|
6246
|
-
return /* @__PURE__ */ jsxs("div", { style: styles.overlay, children: [
|
|
6425
|
+
return /* @__PURE__ */ jsxs("div", { className: "neofaceid-root", style: styles.overlay, children: [
|
|
6247
6426
|
/* @__PURE__ */ jsx("style", { children: keyframes }),
|
|
6248
6427
|
/* @__PURE__ */ jsx("style", { children: mediaStyles }),
|
|
6249
6428
|
/* @__PURE__ */ jsxs("div", { style: styles.modal, className: "modal", children: [
|
|
@@ -6308,9 +6487,10 @@ class ForgotPasswordModal {
|
|
|
6308
6487
|
}
|
|
6309
6488
|
open() {
|
|
6310
6489
|
if (this.modalElement) return;
|
|
6490
|
+
injectThemeStyles$1();
|
|
6311
6491
|
this.addStyles();
|
|
6312
6492
|
this.modalElement = document.createElement("div");
|
|
6313
|
-
this.modalElement.className = "neoface-forgot-modal";
|
|
6493
|
+
this.modalElement.className = "neofaceid-root neoface-forgot-modal";
|
|
6314
6494
|
this.renderEmailForm();
|
|
6315
6495
|
document.body.appendChild(this.modalElement);
|
|
6316
6496
|
}
|
|
@@ -6327,10 +6507,10 @@ class ForgotPasswordModal {
|
|
|
6327
6507
|
<div class="neoface-forgot-content">
|
|
6328
6508
|
<div class="neoface-forgot-icon">
|
|
6329
6509
|
<svg viewBox="0 0 64 64" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
6330
|
-
<circle cx="32" cy="32" r="28" stroke="#
|
|
6331
|
-
<rect x="22" y="28" width="20" height="16" rx="3" stroke="#
|
|
6332
|
-
<path d="M26 28v-4a6 6 0 0 1 12 0v4" stroke="#
|
|
6333
|
-
<circle cx="32" cy="36" r="2" fill="#
|
|
6510
|
+
<circle cx="32" cy="32" r="28" stroke="#0059C4" stroke-width="3" fill="none"/>
|
|
6511
|
+
<rect x="22" y="28" width="20" height="16" rx="3" stroke="#0059C4" stroke-width="2.5" fill="none"/>
|
|
6512
|
+
<path d="M26 28v-4a6 6 0 0 1 12 0v4" stroke="#0059C4" stroke-width="2.5" stroke-linecap="round"/>
|
|
6513
|
+
<circle cx="32" cy="36" r="2" fill="#0059C4"/>
|
|
6334
6514
|
</svg>
|
|
6335
6515
|
</div>
|
|
6336
6516
|
|
|
@@ -6376,8 +6556,8 @@ class ForgotPasswordModal {
|
|
|
6376
6556
|
content.innerHTML = `
|
|
6377
6557
|
<div class="neoface-forgot-success-icon">
|
|
6378
6558
|
<svg viewBox="0 0 64 64" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
6379
|
-
<circle cx="32" cy="32" r="28" stroke="#
|
|
6380
|
-
<path d="M20 32 L28 40 L44 24" stroke="#
|
|
6559
|
+
<circle cx="32" cy="32" r="28" stroke="#0E9F6E" stroke-width="3" fill="none"/>
|
|
6560
|
+
<path d="M20 32 L28 40 L44 24" stroke="#0E9F6E" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
|
|
6381
6561
|
</svg>
|
|
6382
6562
|
</div>
|
|
6383
6563
|
|
|
@@ -6429,9 +6609,7 @@ class ForgotPasswordModal {
|
|
|
6429
6609
|
addStyles() {
|
|
6430
6610
|
const styleId = "neoface-forgot-password-modal-styles";
|
|
6431
6611
|
if (document.getElementById(styleId)) return;
|
|
6432
|
-
|
|
6433
|
-
style.id = styleId;
|
|
6434
|
-
style.textContent = `
|
|
6612
|
+
injectScopedStyles$1(styleId, `
|
|
6435
6613
|
.neoface-forgot-modal {
|
|
6436
6614
|
position: fixed;
|
|
6437
6615
|
top: 0;
|
|
@@ -6439,7 +6617,7 @@ class ForgotPasswordModal {
|
|
|
6439
6617
|
width: 100%;
|
|
6440
6618
|
height: 100%;
|
|
6441
6619
|
z-index: 10003;
|
|
6442
|
-
font-family:
|
|
6620
|
+
font-family: inherit;
|
|
6443
6621
|
}
|
|
6444
6622
|
|
|
6445
6623
|
.neoface-forgot-overlay {
|
|
@@ -6465,7 +6643,7 @@ class ForgotPasswordModal {
|
|
|
6465
6643
|
}
|
|
6466
6644
|
|
|
6467
6645
|
.neoface-forgot-content {
|
|
6468
|
-
background: linear-gradient(135deg, #
|
|
6646
|
+
background: linear-gradient(135deg, #0A1320 0%, #111C2B 100%);
|
|
6469
6647
|
border-radius: 20px;
|
|
6470
6648
|
padding: 32px;
|
|
6471
6649
|
max-width: 400px;
|
|
@@ -6545,8 +6723,8 @@ class ForgotPasswordModal {
|
|
|
6545
6723
|
|
|
6546
6724
|
.neoface-forgot-input:focus {
|
|
6547
6725
|
outline: none;
|
|
6548
|
-
border-color: #
|
|
6549
|
-
box-shadow: 0 0 0 3px rgba(
|
|
6726
|
+
border-color: #0059C4;
|
|
6727
|
+
box-shadow: 0 0 0 3px rgba(0, 89, 196, 0.2);
|
|
6550
6728
|
background: rgba(255, 255, 255, 0.12);
|
|
6551
6729
|
}
|
|
6552
6730
|
|
|
@@ -6555,19 +6733,19 @@ class ForgotPasswordModal {
|
|
|
6555
6733
|
padding: 14px 24px;
|
|
6556
6734
|
border-radius: 12px;
|
|
6557
6735
|
border: none;
|
|
6558
|
-
background: linear-gradient(135deg, #
|
|
6736
|
+
background: linear-gradient(135deg, #0059C4 0%, #00449A 100%);
|
|
6559
6737
|
color: white;
|
|
6560
6738
|
font-size: 16px;
|
|
6561
6739
|
font-weight: 600;
|
|
6562
6740
|
cursor: pointer;
|
|
6563
6741
|
transition: all 0.2s;
|
|
6564
|
-
box-shadow: 0 4px 16px rgba(
|
|
6742
|
+
box-shadow: 0 4px 16px rgba(0, 89, 196, 0.3);
|
|
6565
6743
|
font-family: inherit;
|
|
6566
6744
|
}
|
|
6567
6745
|
|
|
6568
6746
|
.neoface-forgot-btn-primary:hover:not(:disabled) {
|
|
6569
6747
|
transform: translateY(-2px);
|
|
6570
|
-
box-shadow: 0 8px 24px rgba(
|
|
6748
|
+
box-shadow: 0 8px 24px rgba(0, 89, 196, 0.4);
|
|
6571
6749
|
}
|
|
6572
6750
|
|
|
6573
6751
|
.neoface-forgot-btn-primary:disabled {
|
|
@@ -6626,8 +6804,7 @@ class ForgotPasswordModal {
|
|
|
6626
6804
|
font-size: 20px;
|
|
6627
6805
|
}
|
|
6628
6806
|
}
|
|
6629
|
-
|
|
6630
|
-
document.head.appendChild(style);
|
|
6807
|
+
`);
|
|
6631
6808
|
}
|
|
6632
6809
|
}
|
|
6633
6810
|
const modalReducer = (state, action) => {
|
|
@@ -6750,6 +6927,9 @@ function BiometricRegistrationModal({
|
|
|
6750
6927
|
"ok"
|
|
6751
6928
|
);
|
|
6752
6929
|
const [cameraReady, setCameraReady] = useState(false);
|
|
6930
|
+
useEffect(() => {
|
|
6931
|
+
injectThemeStyles$1();
|
|
6932
|
+
}, []);
|
|
6753
6933
|
useEffect(() => {
|
|
6754
6934
|
if (state.status === "liveness") {
|
|
6755
6935
|
const newStep = state.step;
|
|
@@ -7546,7 +7726,7 @@ function BiometricRegistrationModal({
|
|
|
7546
7726
|
}
|
|
7547
7727
|
|
|
7548
7728
|
.modal-content {
|
|
7549
|
-
background: linear-gradient(135deg, #
|
|
7729
|
+
background: linear-gradient(135deg, #0A1320 0%, #111C2B 100%);
|
|
7550
7730
|
border-radius: 24px;
|
|
7551
7731
|
width: 100%;
|
|
7552
7732
|
max-width: 420px;
|
|
@@ -7596,7 +7776,7 @@ function BiometricRegistrationModal({
|
|
|
7596
7776
|
|
|
7597
7777
|
.icon-wrapper {
|
|
7598
7778
|
display: inline-block;
|
|
7599
|
-
color: #
|
|
7779
|
+
color: #0059C4;
|
|
7600
7780
|
margin-bottom: 24px;
|
|
7601
7781
|
}
|
|
7602
7782
|
|
|
@@ -7617,7 +7797,7 @@ function BiometricRegistrationModal({
|
|
|
7617
7797
|
font-size: 28px;
|
|
7618
7798
|
font-weight: 700;
|
|
7619
7799
|
margin: 0 0 12px 0;
|
|
7620
|
-
background: linear-gradient(135deg, #
|
|
7800
|
+
background: linear-gradient(135deg, #0059C4 0%, #a78bfa 100%);
|
|
7621
7801
|
-webkit-background-clip: text;
|
|
7622
7802
|
-webkit-text-fill-color: transparent;
|
|
7623
7803
|
background-clip: text;
|
|
@@ -7662,7 +7842,7 @@ function BiometricRegistrationModal({
|
|
|
7662
7842
|
|
|
7663
7843
|
.req-icon.success {
|
|
7664
7844
|
background: rgba(16, 185, 129, 0.15);
|
|
7665
|
-
color: #
|
|
7845
|
+
color: #0E9F6E;
|
|
7666
7846
|
border: 1.5px solid rgba(16, 185, 129, 0.3);
|
|
7667
7847
|
}
|
|
7668
7848
|
|
|
@@ -7671,18 +7851,18 @@ function BiometricRegistrationModal({
|
|
|
7671
7851
|
padding: 16px 32px;
|
|
7672
7852
|
border-radius: 12px;
|
|
7673
7853
|
border: none;
|
|
7674
|
-
background: linear-gradient(135deg, #
|
|
7854
|
+
background: linear-gradient(135deg, #0059C4 0%, #00449A 100%);
|
|
7675
7855
|
color: white;
|
|
7676
7856
|
font-size: 16px;
|
|
7677
7857
|
font-weight: 600;
|
|
7678
7858
|
cursor: pointer;
|
|
7679
7859
|
transition: all 0.3s;
|
|
7680
|
-
box-shadow: 0 4px 16px rgba(
|
|
7860
|
+
box-shadow: 0 4px 16px rgba(0, 89, 196, 0.3);
|
|
7681
7861
|
}
|
|
7682
7862
|
|
|
7683
7863
|
.primary-button:hover {
|
|
7684
7864
|
transform: translateY(-2px);
|
|
7685
|
-
box-shadow: 0 8px 24px rgba(
|
|
7865
|
+
box-shadow: 0 8px 24px rgba(0, 89, 196, 0.4);
|
|
7686
7866
|
}
|
|
7687
7867
|
|
|
7688
7868
|
.primary-button:active {
|
|
@@ -7708,7 +7888,7 @@ function BiometricRegistrationModal({
|
|
|
7708
7888
|
|
|
7709
7889
|
.brand-name {
|
|
7710
7890
|
font-weight: 600;
|
|
7711
|
-
font-family:
|
|
7891
|
+
font-family: inherit;
|
|
7712
7892
|
color: #ffffff;
|
|
7713
7893
|
letter-spacing: 0.3px;
|
|
7714
7894
|
}
|
|
@@ -7757,7 +7937,7 @@ function BiometricRegistrationModal({
|
|
|
7757
7937
|
overflow: hidden;
|
|
7758
7938
|
position: relative;
|
|
7759
7939
|
/* Removida transição 'all' para evitar salto de zoom no início */
|
|
7760
|
-
box-shadow: 0 0 0 4px rgba(
|
|
7940
|
+
box-shadow: 0 0 0 4px rgba(0, 89, 196, 0.3);
|
|
7761
7941
|
background: #000;
|
|
7762
7942
|
}
|
|
7763
7943
|
|
|
@@ -7856,7 +8036,7 @@ function BiometricRegistrationModal({
|
|
|
7856
8036
|
|
|
7857
8037
|
.progress-fill {
|
|
7858
8038
|
height: 100%;
|
|
7859
|
-
background: linear-gradient(90deg, #
|
|
8039
|
+
background: linear-gradient(90deg, #0059C4 0%, #0E9F6E 100%);
|
|
7860
8040
|
border-radius: 2px;
|
|
7861
8041
|
transition: width 0.05s linear;
|
|
7862
8042
|
}
|
|
@@ -7922,8 +8102,8 @@ function BiometricRegistrationModal({
|
|
|
7922
8102
|
.spinner {
|
|
7923
8103
|
position: absolute;
|
|
7924
8104
|
inset: 0;
|
|
7925
|
-
border: 4px solid rgba(
|
|
7926
|
-
border-top-color: #
|
|
8105
|
+
border: 4px solid rgba(0, 89, 196, 0.2);
|
|
8106
|
+
border-top-color: #0059C4;
|
|
7927
8107
|
border-radius: 50%;
|
|
7928
8108
|
animation: spin 1s linear infinite;
|
|
7929
8109
|
}
|
|
@@ -7931,7 +8111,7 @@ function BiometricRegistrationModal({
|
|
|
7931
8111
|
.spinner-ring {
|
|
7932
8112
|
position: absolute;
|
|
7933
8113
|
inset: -10px;
|
|
7934
|
-
border: 2px solid rgba(
|
|
8114
|
+
border: 2px solid rgba(0, 89, 196, 0.1);
|
|
7935
8115
|
border-radius: 50%;
|
|
7936
8116
|
animation: pulseSpinner 2s ease-in-out infinite;
|
|
7937
8117
|
}
|
|
@@ -7967,7 +8147,7 @@ function BiometricRegistrationModal({
|
|
|
7967
8147
|
}
|
|
7968
8148
|
|
|
7969
8149
|
.success-icon {
|
|
7970
|
-
color: #
|
|
8150
|
+
color: #0E9F6E;
|
|
7971
8151
|
animation: scaleIn 0.6s ease-out;
|
|
7972
8152
|
}
|
|
7973
8153
|
|
|
@@ -8049,12 +8229,12 @@ function BiometricRegistrationModal({
|
|
|
8049
8229
|
}
|
|
8050
8230
|
|
|
8051
8231
|
.profile-main-icon {
|
|
8052
|
-
background: rgba(
|
|
8053
|
-
color: #
|
|
8232
|
+
background: rgba(0, 89, 196, 0.1);
|
|
8233
|
+
color: #0059C4;
|
|
8054
8234
|
padding: 20px;
|
|
8055
8235
|
border-radius: 50%;
|
|
8056
|
-
border: 2px solid rgba(
|
|
8057
|
-
box-shadow: 0 0 30px rgba(
|
|
8236
|
+
border: 2px solid rgba(0, 89, 196, 0.2);
|
|
8237
|
+
box-shadow: 0 0 30px rgba(0, 89, 196, 0.2);
|
|
8058
8238
|
}
|
|
8059
8239
|
|
|
8060
8240
|
.profile-main-icon svg {
|
|
@@ -8066,10 +8246,10 @@ function BiometricRegistrationModal({
|
|
|
8066
8246
|
position: absolute;
|
|
8067
8247
|
bottom: -4px;
|
|
8068
8248
|
right: -4px;
|
|
8069
|
-
background: #
|
|
8249
|
+
background: #0E9F6E;
|
|
8070
8250
|
border-radius: 50%;
|
|
8071
8251
|
padding: 4px;
|
|
8072
|
-
border: 3px solid #
|
|
8252
|
+
border: 3px solid #111C2B;
|
|
8073
8253
|
width: 24px;
|
|
8074
8254
|
height: 24px;
|
|
8075
8255
|
display: flex;
|
|
@@ -8127,7 +8307,7 @@ function BiometricRegistrationModal({
|
|
|
8127
8307
|
}
|
|
8128
8308
|
}
|
|
8129
8309
|
` }),
|
|
8130
|
-
/* @__PURE__ */ jsx("div", { className: "modal-overlay", children: /* @__PURE__ */ jsxs("div", { className: "modal-content", children: [
|
|
8310
|
+
/* @__PURE__ */ jsx("div", { className: "neofaceid-root modal-overlay", children: /* @__PURE__ */ jsxs("div", { className: "modal-content", children: [
|
|
8131
8311
|
/* @__PURE__ */ jsx("button", { type: "button", className: "close-button", onClick: onClose, children: "×" }),
|
|
8132
8312
|
state.status === "liveness" && renderLivenessDetection(),
|
|
8133
8313
|
state.status === "camera-loading" && renderCameraLoading(),
|
|
@@ -8238,18 +8418,18 @@ function ConsentModalComponent({
|
|
|
8238
8418
|
}
|
|
8239
8419
|
.neofaceid-consent-overlay {
|
|
8240
8420
|
position: fixed; inset: 0;
|
|
8241
|
-
background:
|
|
8421
|
+
background: var(--nfid-overlay);
|
|
8242
8422
|
backdrop-filter: blur(3px);
|
|
8243
8423
|
-webkit-backdrop-filter: blur(3px);
|
|
8244
8424
|
display: flex; align-items: center; justify-content: center;
|
|
8245
8425
|
z-index: 10001; padding: 20px;
|
|
8246
8426
|
animation: neofaceidConsentFadeIn 200ms ease-out;
|
|
8247
8427
|
font-family: inherit;
|
|
8248
|
-
color:
|
|
8428
|
+
color: var(--nfid-text);
|
|
8249
8429
|
}
|
|
8250
8430
|
.neofaceid-consent-modal {
|
|
8251
|
-
background:
|
|
8252
|
-
border-radius: 16px;
|
|
8431
|
+
background: var(--nfid-surface);
|
|
8432
|
+
border-radius: var(--nfid-radius, 16px);
|
|
8253
8433
|
padding: 28px;
|
|
8254
8434
|
max-width: 440px;
|
|
8255
8435
|
width: 100%;
|
|
@@ -8266,7 +8446,7 @@ function ConsentModalComponent({
|
|
|
8266
8446
|
.neofaceid-consent-appname {
|
|
8267
8447
|
font-size: 17px;
|
|
8268
8448
|
font-weight: 700;
|
|
8269
|
-
color:
|
|
8449
|
+
color: var(--nfid-text);
|
|
8270
8450
|
line-height: 1.2;
|
|
8271
8451
|
}
|
|
8272
8452
|
.neofaceid-consent-brand-caption {
|
|
@@ -8274,19 +8454,19 @@ function ConsentModalComponent({
|
|
|
8274
8454
|
font-weight: 700;
|
|
8275
8455
|
letter-spacing: 0.09em;
|
|
8276
8456
|
text-transform: uppercase;
|
|
8277
|
-
color:
|
|
8457
|
+
color: var(--nfid-text-subtle);
|
|
8278
8458
|
}
|
|
8279
8459
|
.neofaceid-consent-title {
|
|
8280
8460
|
font-size: 22px;
|
|
8281
8461
|
font-weight: 700;
|
|
8282
|
-
color:
|
|
8462
|
+
color: var(--nfid-text);
|
|
8283
8463
|
margin: 0 0 8px;
|
|
8284
8464
|
line-height: 1.25;
|
|
8285
8465
|
letter-spacing: -0.015em;
|
|
8286
8466
|
}
|
|
8287
8467
|
.neofaceid-consent-duration {
|
|
8288
8468
|
font-size: 14px;
|
|
8289
|
-
color:
|
|
8469
|
+
color: var(--nfid-text-muted);
|
|
8290
8470
|
margin: 0 0 20px;
|
|
8291
8471
|
line-height: 1.5;
|
|
8292
8472
|
}
|
|
@@ -8303,30 +8483,30 @@ function ConsentModalComponent({
|
|
|
8303
8483
|
}
|
|
8304
8484
|
.neofaceid-consent-bullet-icon {
|
|
8305
8485
|
flex-shrink: 0;
|
|
8306
|
-
color:
|
|
8486
|
+
color: var(--nfid-action);
|
|
8307
8487
|
margin-top: 2px;
|
|
8308
8488
|
}
|
|
8309
8489
|
.neofaceid-consent-bullet-title {
|
|
8310
8490
|
font-size: 14px;
|
|
8311
8491
|
font-weight: 600;
|
|
8312
|
-
color:
|
|
8492
|
+
color: var(--nfid-text);
|
|
8313
8493
|
margin: 0 0 2px;
|
|
8314
8494
|
line-height: 1.35;
|
|
8315
8495
|
}
|
|
8316
8496
|
.neofaceid-consent-bullet-body {
|
|
8317
8497
|
font-size: 13px;
|
|
8318
|
-
color:
|
|
8498
|
+
color: var(--nfid-text-muted);
|
|
8319
8499
|
margin: 0;
|
|
8320
8500
|
line-height: 1.45;
|
|
8321
8501
|
}
|
|
8322
8502
|
.neofaceid-consent-link {
|
|
8323
8503
|
display: inline-block;
|
|
8324
8504
|
font-size: 13px;
|
|
8325
|
-
color:
|
|
8505
|
+
color: var(--nfid-action);
|
|
8326
8506
|
text-decoration: underline;
|
|
8327
8507
|
margin-bottom: 20px;
|
|
8328
8508
|
}
|
|
8329
|
-
.neofaceid-consent-link:hover {
|
|
8509
|
+
.neofaceid-consent-link:hover { opacity: 0.85; }
|
|
8330
8510
|
.neofaceid-consent-actions {
|
|
8331
8511
|
display: flex;
|
|
8332
8512
|
flex-direction: column;
|
|
@@ -8335,7 +8515,7 @@ function ConsentModalComponent({
|
|
|
8335
8515
|
.neofaceid-consent-button {
|
|
8336
8516
|
min-height: 44px;
|
|
8337
8517
|
padding: 12px 20px;
|
|
8338
|
-
border-radius: 16px;
|
|
8518
|
+
border-radius: var(--nfid-radius, 16px);
|
|
8339
8519
|
border: none;
|
|
8340
8520
|
font-size: 15px;
|
|
8341
8521
|
font-weight: 600;
|
|
@@ -8344,32 +8524,32 @@ function ConsentModalComponent({
|
|
|
8344
8524
|
font-family: inherit;
|
|
8345
8525
|
}
|
|
8346
8526
|
.neofaceid-consent-button-primary {
|
|
8347
|
-
background:
|
|
8348
|
-
color:
|
|
8527
|
+
background: var(--nfid-action);
|
|
8528
|
+
color: var(--nfid-action-text);
|
|
8349
8529
|
}
|
|
8350
|
-
.neofaceid-consent-button-primary:hover {
|
|
8530
|
+
.neofaceid-consent-button-primary:hover { opacity: 0.92; }
|
|
8351
8531
|
.neofaceid-consent-button-primary:focus-visible {
|
|
8352
|
-
outline: 2px solid
|
|
8532
|
+
outline: 2px solid var(--nfid-focus-ring);
|
|
8353
8533
|
outline-offset: 2px;
|
|
8354
8534
|
}
|
|
8355
8535
|
.neofaceid-consent-button-ghost {
|
|
8356
8536
|
background: transparent;
|
|
8357
|
-
color:
|
|
8537
|
+
color: var(--nfid-text-muted);
|
|
8358
8538
|
}
|
|
8359
|
-
.neofaceid-consent-button-ghost:hover { background:
|
|
8539
|
+
.neofaceid-consent-button-ghost:hover { background: var(--nfid-surface-muted); }
|
|
8360
8540
|
.neofaceid-consent-footer {
|
|
8361
8541
|
display: flex;
|
|
8362
8542
|
justify-content: center;
|
|
8363
8543
|
margin-top: 20px;
|
|
8364
8544
|
padding-top: 16px;
|
|
8365
|
-
border-top: 1px solid
|
|
8545
|
+
border-top: 1px solid var(--nfid-line);
|
|
8366
8546
|
}
|
|
8367
8547
|
.neofaceid-consent-seal {
|
|
8368
8548
|
font-size: 11px;
|
|
8369
8549
|
font-weight: 700;
|
|
8370
8550
|
letter-spacing: 0.09em;
|
|
8371
8551
|
text-transform: uppercase;
|
|
8372
|
-
color:
|
|
8552
|
+
color: var(--nfid-text-subtle);
|
|
8373
8553
|
}
|
|
8374
8554
|
@media (max-width: 640px) {
|
|
8375
8555
|
.neofaceid-consent-modal { padding: 22px; border-radius: 16px; }
|
|
@@ -8380,7 +8560,7 @@ function ConsentModalComponent({
|
|
|
8380
8560
|
.neofaceid-consent-modal { animation: none; }
|
|
8381
8561
|
}
|
|
8382
8562
|
` }),
|
|
8383
|
-
/* @__PURE__ */ jsx("div", { className: "neofaceid-consent-overlay", role: "dialog", "aria-modal": "true", "aria-labelledby": "neofaceid-consent-title", children: /* @__PURE__ */ jsxs("div", { className: "neofaceid-consent-modal", children: [
|
|
8563
|
+
/* @__PURE__ */ jsx("div", { className: "neofaceid-root neofaceid-consent-overlay", role: "dialog", "aria-modal": "true", "aria-labelledby": "neofaceid-consent-title", children: /* @__PURE__ */ jsxs("div", { className: "neofaceid-consent-modal", children: [
|
|
8384
8564
|
/* @__PURE__ */ jsxs("div", { className: "neofaceid-consent-header", children: [
|
|
8385
8565
|
/* @__PURE__ */ jsx("span", { className: "neofaceid-consent-appname", children: appName }),
|
|
8386
8566
|
/* @__PURE__ */ jsx("span", { className: "neofaceid-consent-brand-caption", children: "NeoFaceID" })
|
|
@@ -8455,6 +8635,7 @@ class ConsentModal {
|
|
|
8455
8635
|
}
|
|
8456
8636
|
show(props) {
|
|
8457
8637
|
if (this.container) return;
|
|
8638
|
+
injectThemeStyles$1();
|
|
8458
8639
|
this.container = document.createElement("div");
|
|
8459
8640
|
this.container.id = "neofaceid-consent-modal-container";
|
|
8460
8641
|
document.body.appendChild(this.container);
|
|
@@ -8554,7 +8735,7 @@ class BiometricCaptureModal {
|
|
|
8554
8735
|
*/
|
|
8555
8736
|
async createModal() {
|
|
8556
8737
|
this.modal = document.createElement("div");
|
|
8557
|
-
this.modal.className = "neofaceid-biometric-modal";
|
|
8738
|
+
this.modal.className = "neofaceid-root neofaceid-biometric-modal";
|
|
8558
8739
|
const title = this.options.title || this.getDefaultTitle();
|
|
8559
8740
|
const subtitle = this.options.subtitle || this.getDefaultSubtitle();
|
|
8560
8741
|
this.modal.innerHTML = `
|
|
@@ -8587,6 +8768,7 @@ class BiometricCaptureModal {
|
|
|
8587
8768
|
</div>
|
|
8588
8769
|
</div>
|
|
8589
8770
|
`;
|
|
8771
|
+
injectThemeStyles$1();
|
|
8590
8772
|
this.addStyles();
|
|
8591
8773
|
this.addEventListeners();
|
|
8592
8774
|
document.body.appendChild(this.modal);
|
|
@@ -8783,9 +8965,7 @@ class BiometricCaptureModal {
|
|
|
8783
8965
|
if (existingStyles) {
|
|
8784
8966
|
existingStyles.remove();
|
|
8785
8967
|
}
|
|
8786
|
-
|
|
8787
|
-
style.id = styleId;
|
|
8788
|
-
style.textContent = `
|
|
8968
|
+
injectScopedStyles$1(styleId, `
|
|
8789
8969
|
.neofaceid-biometric-modal {
|
|
8790
8970
|
position: fixed;
|
|
8791
8971
|
top: 0;
|
|
@@ -8793,7 +8973,7 @@ class BiometricCaptureModal {
|
|
|
8793
8973
|
width: 100%;
|
|
8794
8974
|
height: 100%;
|
|
8795
8975
|
z-index: 10000;
|
|
8796
|
-
font-family:
|
|
8976
|
+
font-family: inherit;
|
|
8797
8977
|
}
|
|
8798
8978
|
|
|
8799
8979
|
.neofaceid-modal-overlay {
|
|
@@ -8901,7 +9081,7 @@ class BiometricCaptureModal {
|
|
|
8901
9081
|
.neofaceid-frame {
|
|
8902
9082
|
width: 200px;
|
|
8903
9083
|
height: 200px;
|
|
8904
|
-
border: 3px solid #
|
|
9084
|
+
border: 3px solid #0E9F6E;
|
|
8905
9085
|
border-radius: 50%;
|
|
8906
9086
|
box-shadow: 0 0 0 2px rgba(76, 175, 80, 0.3);
|
|
8907
9087
|
animation: pulse 2s infinite;
|
|
@@ -8967,7 +9147,7 @@ class BiometricCaptureModal {
|
|
|
8967
9147
|
}
|
|
8968
9148
|
|
|
8969
9149
|
.neofaceid-capture-btn {
|
|
8970
|
-
background: #
|
|
9150
|
+
background: #0E9F6E;
|
|
8971
9151
|
color: white;
|
|
8972
9152
|
}
|
|
8973
9153
|
|
|
@@ -9002,8 +9182,7 @@ class BiometricCaptureModal {
|
|
|
9002
9182
|
height: 150px;
|
|
9003
9183
|
}
|
|
9004
9184
|
}
|
|
9005
|
-
|
|
9006
|
-
document.head.appendChild(style);
|
|
9185
|
+
`);
|
|
9007
9186
|
}
|
|
9008
9187
|
}
|
|
9009
9188
|
class BiometricStatusOverlay {
|
|
@@ -9058,7 +9237,7 @@ class BiometricStatusOverlay {
|
|
|
9058
9237
|
z-index: 10000;
|
|
9059
9238
|
pointer-events: none;
|
|
9060
9239
|
animation: neofaceid-fadeIn 0.3s ease-out;
|
|
9061
|
-
font-family:
|
|
9240
|
+
font-family: inherit;
|
|
9062
9241
|
}
|
|
9063
9242
|
|
|
9064
9243
|
.neofaceid-overlay-container.fade-out {
|
|
@@ -9088,11 +9267,11 @@ class BiometricStatusOverlay {
|
|
|
9088
9267
|
height: 80px;
|
|
9089
9268
|
object-fit: contain;
|
|
9090
9269
|
transition: all 0.5s ease;
|
|
9091
|
-
filter: drop-shadow(0 4px 12px rgba(
|
|
9270
|
+
filter: drop-shadow(0 4px 12px rgba(0, 89, 196, 0.3));
|
|
9092
9271
|
}
|
|
9093
9272
|
|
|
9094
9273
|
/* Cores por estado */
|
|
9095
|
-
.neofaceid-state-preparing .neofaceid-logo { filter: drop-shadow(0 0 15px rgba(
|
|
9274
|
+
.neofaceid-state-preparing .neofaceid-logo { filter: drop-shadow(0 0 15px rgba(0, 89, 196, 0.4)); }
|
|
9096
9275
|
.neofaceid-state-detecting .neofaceid-logo { filter: hue-rotate(180deg) drop-shadow(0 0 15px rgba(59, 130, 246, 0.6)); }
|
|
9097
9276
|
.neofaceid-state-waiting-for-face .neofaceid-logo { filter: hue-rotate(30deg) drop-shadow(0 0 15px rgba(251, 146, 60, 0.6)); }
|
|
9098
9277
|
.neofaceid-state-capturing .neofaceid-logo { filter: hue-rotate(45deg) drop-shadow(0 0 15px rgba(245, 158, 11, 0.6)); }
|
|
@@ -9150,7 +9329,7 @@ class BiometricStatusOverlay {
|
|
|
9150
9329
|
.neofaceid-success-icon {
|
|
9151
9330
|
width: 80px;
|
|
9152
9331
|
height: 80px;
|
|
9153
|
-
color: #
|
|
9332
|
+
color: #0E9F6E;
|
|
9154
9333
|
animation: neofaceid-scaleIn 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
|
|
9155
9334
|
}
|
|
9156
9335
|
|
|
@@ -9300,142 +9479,132 @@ function FallbackPromptComponent({
|
|
|
9300
9479
|
.neofaceid-fallback-overlay {
|
|
9301
9480
|
position: fixed;
|
|
9302
9481
|
inset: 0;
|
|
9303
|
-
background:
|
|
9304
|
-
backdrop-filter: blur(
|
|
9482
|
+
background: var(--nfid-overlay);
|
|
9483
|
+
backdrop-filter: blur(3px);
|
|
9484
|
+
-webkit-backdrop-filter: blur(3px);
|
|
9305
9485
|
display: flex;
|
|
9306
9486
|
align-items: center;
|
|
9307
9487
|
justify-content: center;
|
|
9308
9488
|
z-index: 10001;
|
|
9309
9489
|
padding: 20px;
|
|
9310
9490
|
animation: fadeIn 0.3s ease-out;
|
|
9491
|
+
font-family: inherit;
|
|
9311
9492
|
}
|
|
9312
9493
|
|
|
9313
9494
|
.neofaceid-fallback-prompt {
|
|
9314
|
-
background:
|
|
9315
|
-
border-radius:
|
|
9316
|
-
padding:
|
|
9495
|
+
background: var(--nfid-surface);
|
|
9496
|
+
border-radius: var(--nfid-radius, 16px);
|
|
9497
|
+
padding: 28px;
|
|
9317
9498
|
max-width: 400px;
|
|
9318
9499
|
width: 100%;
|
|
9319
|
-
box-shadow: 0
|
|
9320
|
-
animation: slideUp 0.
|
|
9500
|
+
box-shadow: 0 1px 3px rgba(10, 19, 32, 0.08);
|
|
9501
|
+
animation: slideUp 0.32s cubic-bezier(.2,0,0,1);
|
|
9321
9502
|
text-align: center;
|
|
9503
|
+
box-sizing: border-box;
|
|
9322
9504
|
}
|
|
9323
9505
|
|
|
9506
|
+
/* Falha de captura é atenção (dourado), nunca crítico (vermelho). */
|
|
9324
9507
|
.neofaceid-fallback-icon {
|
|
9325
|
-
width:
|
|
9326
|
-
height:
|
|
9508
|
+
width: 56px;
|
|
9509
|
+
height: 56px;
|
|
9327
9510
|
margin: 0 auto 20px;
|
|
9328
|
-
color: #
|
|
9329
|
-
animation: scaleIn 0.4s ease-out;
|
|
9330
|
-
}
|
|
9331
|
-
|
|
9332
|
-
@keyframes scaleIn {
|
|
9333
|
-
0% {
|
|
9334
|
-
transform: scale(0);
|
|
9335
|
-
opacity: 0;
|
|
9336
|
-
}
|
|
9337
|
-
50% {
|
|
9338
|
-
transform: scale(1.1);
|
|
9339
|
-
}
|
|
9340
|
-
100% {
|
|
9341
|
-
transform: scale(1);
|
|
9342
|
-
opacity: 1;
|
|
9343
|
-
}
|
|
9511
|
+
color: #F1BE00;
|
|
9344
9512
|
}
|
|
9345
9513
|
|
|
9346
9514
|
.neofaceid-fallback-title {
|
|
9347
|
-
font-size:
|
|
9515
|
+
font-size: 20px;
|
|
9348
9516
|
font-weight: 700;
|
|
9349
|
-
color:
|
|
9350
|
-
margin: 0 0
|
|
9517
|
+
color: var(--nfid-text);
|
|
9518
|
+
margin: 0 0 8px 0;
|
|
9519
|
+
line-height: 1.25;
|
|
9351
9520
|
}
|
|
9352
9521
|
|
|
9353
9522
|
.neofaceid-fallback-message {
|
|
9354
|
-
font-size:
|
|
9355
|
-
color:
|
|
9356
|
-
margin: 0 0
|
|
9523
|
+
font-size: 14px;
|
|
9524
|
+
color: var(--nfid-text-muted);
|
|
9525
|
+
margin: 0 0 24px 0;
|
|
9357
9526
|
line-height: 1.5;
|
|
9358
9527
|
}
|
|
9359
9528
|
|
|
9360
9529
|
.neofaceid-fallback-actions {
|
|
9361
9530
|
display: flex;
|
|
9362
9531
|
flex-direction: column;
|
|
9363
|
-
gap:
|
|
9532
|
+
gap: 10px;
|
|
9364
9533
|
}
|
|
9365
9534
|
|
|
9366
9535
|
.neofaceid-fallback-button {
|
|
9367
|
-
|
|
9368
|
-
|
|
9536
|
+
min-height: 44px;
|
|
9537
|
+
padding: 12px 20px;
|
|
9538
|
+
border-radius: var(--nfid-radius, 16px);
|
|
9369
9539
|
border: none;
|
|
9370
|
-
font-size:
|
|
9540
|
+
font-size: 15px;
|
|
9371
9541
|
font-weight: 600;
|
|
9372
9542
|
cursor: pointer;
|
|
9373
|
-
transition:
|
|
9374
|
-
font-family:
|
|
9543
|
+
transition: background 120ms ease-out;
|
|
9544
|
+
font-family: inherit;
|
|
9375
9545
|
}
|
|
9376
9546
|
|
|
9377
9547
|
.neofaceid-fallback-button-primary {
|
|
9378
|
-
background:
|
|
9379
|
-
color:
|
|
9380
|
-
box-shadow: 0 4px 16px rgba(124, 58, 237, 0.3);
|
|
9548
|
+
background: var(--nfid-action);
|
|
9549
|
+
color: var(--nfid-action-text);
|
|
9381
9550
|
}
|
|
9382
|
-
|
|
9383
|
-
.neofaceid-fallback-button-primary:
|
|
9384
|
-
|
|
9385
|
-
|
|
9386
|
-
}
|
|
9387
|
-
|
|
9388
|
-
.neofaceid-fallback-button-primary:active {
|
|
9389
|
-
transform: translateY(0);
|
|
9551
|
+
.neofaceid-fallback-button-primary:hover { opacity: 0.92; }
|
|
9552
|
+
.neofaceid-fallback-button-primary:focus-visible {
|
|
9553
|
+
outline: 2px solid var(--nfid-focus-ring);
|
|
9554
|
+
outline-offset: 2px;
|
|
9390
9555
|
}
|
|
9391
9556
|
|
|
9392
9557
|
.neofaceid-fallback-button-secondary {
|
|
9393
|
-
background:
|
|
9394
|
-
color:
|
|
9395
|
-
border: 1px solid
|
|
9396
|
-
}
|
|
9397
|
-
|
|
9398
|
-
.neofaceid-fallback-button-secondary:hover {
|
|
9399
|
-
background: rgba(255, 255, 255, 0.15);
|
|
9400
|
-
border-color: rgba(255, 255, 255, 0.3);
|
|
9558
|
+
background: var(--nfid-surface-muted);
|
|
9559
|
+
color: var(--nfid-text);
|
|
9560
|
+
border: 1px solid var(--nfid-line);
|
|
9401
9561
|
}
|
|
9562
|
+
.neofaceid-fallback-button-secondary:hover { opacity: 0.9; }
|
|
9402
9563
|
|
|
9403
9564
|
.neofaceid-fallback-button-ghost {
|
|
9404
9565
|
background: transparent;
|
|
9405
|
-
color:
|
|
9566
|
+
color: var(--nfid-text-muted);
|
|
9567
|
+
min-height: 44px;
|
|
9406
9568
|
padding: 10px;
|
|
9407
9569
|
}
|
|
9408
|
-
|
|
9409
9570
|
.neofaceid-fallback-button-ghost:hover {
|
|
9410
|
-
|
|
9411
|
-
background: rgba(255, 255, 255, 0.05);
|
|
9571
|
+
background: var(--nfid-surface-muted);
|
|
9412
9572
|
}
|
|
9413
9573
|
|
|
9414
9574
|
@media (max-width: 640px) {
|
|
9415
9575
|
.neofaceid-fallback-prompt {
|
|
9416
|
-
padding:
|
|
9417
|
-
border-radius: 16px;
|
|
9576
|
+
padding: 22px;
|
|
9418
9577
|
}
|
|
9419
|
-
|
|
9420
9578
|
.neofaceid-fallback-title {
|
|
9421
|
-
font-size:
|
|
9579
|
+
font-size: 18px;
|
|
9422
9580
|
}
|
|
9423
9581
|
}
|
|
9424
9582
|
` }),
|
|
9425
|
-
/* @__PURE__ */ jsx("div", { className: "neofaceid-fallback-overlay", children: /* @__PURE__ */ jsxs("div", { className: "neofaceid-fallback-prompt", children: [
|
|
9426
|
-
/* @__PURE__ */ jsx("div", { className: "neofaceid-fallback-icon", children: /* @__PURE__ */ jsxs("svg", { viewBox: "0 0 64 64", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [
|
|
9427
|
-
/* @__PURE__ */ jsx(
|
|
9583
|
+
/* @__PURE__ */ jsx("div", { className: "neofaceid-root neofaceid-fallback-overlay", role: "dialog", "aria-modal": "true", children: /* @__PURE__ */ jsxs("div", { className: "neofaceid-fallback-prompt", children: [
|
|
9584
|
+
/* @__PURE__ */ jsx("div", { className: "neofaceid-fallback-icon", "aria-hidden": "true", children: /* @__PURE__ */ jsxs("svg", { viewBox: "0 0 64 64", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [
|
|
9585
|
+
/* @__PURE__ */ jsx(
|
|
9586
|
+
"path",
|
|
9587
|
+
{
|
|
9588
|
+
d: "M32 8 L58 54 H6 Z",
|
|
9589
|
+
stroke: "currentColor",
|
|
9590
|
+
strokeWidth: "3",
|
|
9591
|
+
strokeLinecap: "round",
|
|
9592
|
+
strokeLinejoin: "round",
|
|
9593
|
+
fill: "none"
|
|
9594
|
+
}
|
|
9595
|
+
),
|
|
9428
9596
|
/* @__PURE__ */ jsx(
|
|
9429
9597
|
"path",
|
|
9430
9598
|
{
|
|
9431
|
-
d: "
|
|
9599
|
+
d: "M32 26 V38",
|
|
9432
9600
|
stroke: "currentColor",
|
|
9433
9601
|
strokeWidth: "3",
|
|
9434
9602
|
strokeLinecap: "round"
|
|
9435
9603
|
}
|
|
9436
|
-
)
|
|
9604
|
+
),
|
|
9605
|
+
/* @__PURE__ */ jsx("circle", { cx: "32", cy: "45", r: "2", fill: "currentColor" })
|
|
9437
9606
|
] }) }),
|
|
9438
|
-
/* @__PURE__ */ jsx("h3", { className: "neofaceid-fallback-title", children: "
|
|
9607
|
+
/* @__PURE__ */ jsx("h3", { className: "neofaceid-fallback-title", children: "Vamos tentar de outro jeito" }),
|
|
9439
9608
|
/* @__PURE__ */ jsx("p", { className: "neofaceid-fallback-message", children: (error == null ? void 0 : error.getFriendlyMessage()) || "Não conseguimos reconhecer sua face. Tente novamente ou use email e senha." }),
|
|
9440
9609
|
/* @__PURE__ */ jsxs("div", { className: "neofaceid-fallback-actions", children: [
|
|
9441
9610
|
/* @__PURE__ */ jsx(
|
|
@@ -9490,6 +9659,7 @@ class FallbackPrompt {
|
|
|
9490
9659
|
if (this.container) {
|
|
9491
9660
|
return;
|
|
9492
9661
|
}
|
|
9662
|
+
injectThemeStyles$1();
|
|
9493
9663
|
this.container = document.createElement("div");
|
|
9494
9664
|
this.container.id = "neofaceid-fallback-prompt";
|
|
9495
9665
|
document.body.appendChild(this.container);
|
|
@@ -9563,9 +9733,10 @@ class EmailPasswordModal {
|
|
|
9563
9733
|
}
|
|
9564
9734
|
}
|
|
9565
9735
|
createModal() {
|
|
9736
|
+
injectThemeStyles$1();
|
|
9566
9737
|
this.addStyles();
|
|
9567
9738
|
this.modalElement = document.createElement("div");
|
|
9568
|
-
this.modalElement.className = "neoface-email-password-modal";
|
|
9739
|
+
this.modalElement.className = "neofaceid-root neoface-email-password-modal";
|
|
9569
9740
|
this.modalElement.innerHTML = `
|
|
9570
9741
|
<div class="neoface-email-modal-overlay">
|
|
9571
9742
|
<div class="neoface-email-modal-content">
|
|
@@ -9601,9 +9772,7 @@ class EmailPasswordModal {
|
|
|
9601
9772
|
if (existingStyles) {
|
|
9602
9773
|
return;
|
|
9603
9774
|
}
|
|
9604
|
-
|
|
9605
|
-
style.id = styleId;
|
|
9606
|
-
style.textContent = `
|
|
9775
|
+
injectScopedStyles$1(styleId, `
|
|
9607
9776
|
.neoface-email-password-modal {
|
|
9608
9777
|
position: fixed;
|
|
9609
9778
|
top: 0;
|
|
@@ -9611,7 +9780,7 @@ class EmailPasswordModal {
|
|
|
9611
9780
|
width: 100%;
|
|
9612
9781
|
height: 100%;
|
|
9613
9782
|
z-index: 10002;
|
|
9614
|
-
font-family:
|
|
9783
|
+
font-family: inherit;
|
|
9615
9784
|
}
|
|
9616
9785
|
|
|
9617
9786
|
.neoface-email-modal-overlay {
|
|
@@ -9643,7 +9812,7 @@ class EmailPasswordModal {
|
|
|
9643
9812
|
}
|
|
9644
9813
|
|
|
9645
9814
|
.neoface-email-modal-content {
|
|
9646
|
-
background: linear-gradient(135deg, #
|
|
9815
|
+
background: linear-gradient(135deg, #0A1320 0%, #111C2B 100%);
|
|
9647
9816
|
border-radius: 20px;
|
|
9648
9817
|
padding: 32px;
|
|
9649
9818
|
max-width: 400px;
|
|
@@ -9694,8 +9863,8 @@ class EmailPasswordModal {
|
|
|
9694
9863
|
|
|
9695
9864
|
.neoface-email-modal-content input:focus {
|
|
9696
9865
|
outline: none;
|
|
9697
|
-
border-color: #
|
|
9698
|
-
box-shadow: 0 0 0 3px rgba(
|
|
9866
|
+
border-color: #0059C4;
|
|
9867
|
+
box-shadow: 0 0 0 3px rgba(0, 89, 196, 0.2);
|
|
9699
9868
|
background: rgba(255, 255, 255, 0.15);
|
|
9700
9869
|
}
|
|
9701
9870
|
|
|
@@ -9704,19 +9873,19 @@ class EmailPasswordModal {
|
|
|
9704
9873
|
padding: 14px 24px;
|
|
9705
9874
|
border-radius: 12px;
|
|
9706
9875
|
border: none;
|
|
9707
|
-
background: linear-gradient(135deg, #
|
|
9876
|
+
background: linear-gradient(135deg, #0059C4 0%, #00449A 100%);
|
|
9708
9877
|
color: white;
|
|
9709
9878
|
font-size: 16px;
|
|
9710
9879
|
font-weight: 600;
|
|
9711
9880
|
cursor: pointer;
|
|
9712
9881
|
transition: all 0.2s;
|
|
9713
|
-
box-shadow: 0 4px 16px rgba(
|
|
9882
|
+
box-shadow: 0 4px 16px rgba(0, 89, 196, 0.3);
|
|
9714
9883
|
font-family: inherit;
|
|
9715
9884
|
}
|
|
9716
9885
|
|
|
9717
9886
|
.neoface-email-submit-btn:hover {
|
|
9718
9887
|
transform: translateY(-2px);
|
|
9719
|
-
box-shadow: 0 8px 24px rgba(
|
|
9888
|
+
box-shadow: 0 8px 24px rgba(0, 89, 196, 0.4);
|
|
9720
9889
|
}
|
|
9721
9890
|
|
|
9722
9891
|
.neoface-email-submit-btn:active {
|
|
@@ -9768,7 +9937,7 @@ class EmailPasswordModal {
|
|
|
9768
9937
|
|
|
9769
9938
|
.neoface-email-brand-name {
|
|
9770
9939
|
font-weight: 600;
|
|
9771
|
-
font-family:
|
|
9940
|
+
font-family: inherit;
|
|
9772
9941
|
color: #ffffff;
|
|
9773
9942
|
letter-spacing: 0.3px;
|
|
9774
9943
|
}
|
|
@@ -9795,8 +9964,7 @@ class EmailPasswordModal {
|
|
|
9795
9964
|
font-size: 20px;
|
|
9796
9965
|
}
|
|
9797
9966
|
}
|
|
9798
|
-
|
|
9799
|
-
document.head.appendChild(style);
|
|
9967
|
+
`);
|
|
9800
9968
|
}
|
|
9801
9969
|
async handleSubmit(event) {
|
|
9802
9970
|
event.preventDefault();
|
|
@@ -10640,8 +10808,8 @@ const biometricDetection = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.
|
|
|
10640
10808
|
initializeBiometricDetection,
|
|
10641
10809
|
isAdvancedDetectionAvailable
|
|
10642
10810
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
10643
|
-
const VERSION = "1.
|
|
10644
|
-
const RELEASE_DATE = "2026-09-
|
|
10811
|
+
const VERSION = "1.29.0";
|
|
10812
|
+
const RELEASE_DATE = "2026-09-02";
|
|
10645
10813
|
let cachedSession = null;
|
|
10646
10814
|
function getCachedCaptureSession() {
|
|
10647
10815
|
return cachedSession;
|
|
@@ -10956,27 +11124,30 @@ class OnboardingCaptureModal {
|
|
|
10956
11124
|
</div>
|
|
10957
11125
|
</div>
|
|
10958
11126
|
`;
|
|
10959
|
-
|
|
10960
|
-
|
|
10961
|
-
|
|
10962
|
-
|
|
10963
|
-
.neofaceid-modal-
|
|
10964
|
-
.neofaceid-
|
|
10965
|
-
.neofaceid-
|
|
10966
|
-
.neofaceid-
|
|
10967
|
-
.neofaceid-
|
|
10968
|
-
.neofaceid-
|
|
10969
|
-
.neofaceid-
|
|
10970
|
-
.neofaceid-
|
|
10971
|
-
.neofaceid-
|
|
10972
|
-
.neofaceid-
|
|
10973
|
-
.neofaceid-
|
|
10974
|
-
.neofaceid-
|
|
10975
|
-
.neofaceid-
|
|
10976
|
-
.neofaceid-
|
|
10977
|
-
.neofaceid-
|
|
10978
|
-
|
|
10979
|
-
|
|
11127
|
+
injectThemeStyles();
|
|
11128
|
+
injectScopedStyles(
|
|
11129
|
+
"neofaceid-onboarding-capture-styles",
|
|
11130
|
+
`
|
|
11131
|
+
.neofaceid-root .neofaceid-modal-overlay { position: fixed; inset: 0; background: var(--nfid-overlay); display:flex; align-items:center; justify-content:center; z-index: 9999; }
|
|
11132
|
+
.neofaceid-root .neofaceid-modal { background: var(--nfid-surface); border-radius: var(--nfid-radius, 16px); width: 92%; max-width: 640px; box-shadow: 0 1px 3px rgba(10,19,32,.08); overflow:hidden; }
|
|
11133
|
+
.neofaceid-root .neofaceid-modal-header { padding: 16px 20px; border-bottom: 1px solid var(--nfid-line); display:flex; align-items:center; justify-content:space-between; }
|
|
11134
|
+
.neofaceid-root .neofaceid-title { margin:0; font-size: 20px; color: var(--nfid-text); }
|
|
11135
|
+
.neofaceid-root .neofaceid-close-btn { background:none; border:none; font-size:24px; cursor:pointer; color: var(--nfid-text-muted); min-width: 44px; min-height: 44px; }
|
|
11136
|
+
.neofaceid-root .neofaceid-modal-body { padding: 16px 20px; }
|
|
11137
|
+
.neofaceid-root .neofaceid-subtitle { margin: 0 0 12px 0; color: var(--nfid-text-muted); }
|
|
11138
|
+
.neofaceid-root .neofaceid-camera-container { position: relative; background:#000; border-radius:8px; overflow:hidden; aspect-ratio: 4/3; margin-bottom: 12px; }
|
|
11139
|
+
.neofaceid-root .neofaceid-video { width:100%; height:100%; object-fit: cover; }
|
|
11140
|
+
.neofaceid-root .neofaceid-canvas { position:absolute; top:0; left:0; }
|
|
11141
|
+
.neofaceid-root .neofaceid-overlay { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; }
|
|
11142
|
+
.neofaceid-root .neofaceid-frame { width: 200px; height: 200px; border: 3px solid #0E9F6E; border-radius: 50%; box-shadow: 0 0 0 2px rgba(14,159,110,0.3); }
|
|
11143
|
+
.neofaceid-root .neofaceid-countdown { position:absolute; top:16px; right:16px; background: rgba(0,0,0,0.7); color:#fff; width: 48px; height:48px; display:flex; align-items:center; justify-content:center; border-radius:50%; }
|
|
11144
|
+
.neofaceid-root .neofaceid-modal-footer { padding: 16px 20px; border-top: 1px solid var(--nfid-line); display:flex; gap: 8px; justify-content:flex-end; }
|
|
11145
|
+
.neofaceid-root .neofaceid-cancel-btn { background: var(--nfid-surface-muted); color: var(--nfid-text-muted); border:none; border-radius:8px; padding:10px 18px; cursor:pointer; min-height: 44px; }
|
|
11146
|
+
.neofaceid-root .neofaceid-capture-btn { background: var(--nfid-action); color: var(--nfid-action-text); border:none; border-radius:8px; padding:10px 18px; cursor:pointer; min-height: 44px; }
|
|
11147
|
+
.neofaceid-root .neofaceid-capture-btn:disabled { background: var(--nfid-line); cursor:not-allowed; }
|
|
11148
|
+
`
|
|
11149
|
+
);
|
|
11150
|
+
overlay.classList.add("neofaceid-root");
|
|
10980
11151
|
document.body.appendChild(overlay);
|
|
10981
11152
|
this.overlay = overlay;
|
|
10982
11153
|
this.video = this.overlay.querySelector(".neofaceid-video");
|
|
@@ -11691,12 +11862,9 @@ class DocumentCaptureModal {
|
|
|
11691
11862
|
<div class="neoface-doc-content"></div>
|
|
11692
11863
|
</div>
|
|
11693
11864
|
`;
|
|
11694
|
-
|
|
11695
|
-
|
|
11696
|
-
|
|
11697
|
-
style.textContent = this.getStyles();
|
|
11698
|
-
document.head.appendChild(style);
|
|
11699
|
-
}
|
|
11865
|
+
injectThemeStyles$1();
|
|
11866
|
+
injectScopedStyles$1("neoface-doc-styles-v2", this.getStyles());
|
|
11867
|
+
overlay.classList.add("neofaceid-root");
|
|
11700
11868
|
document.body.appendChild(overlay);
|
|
11701
11869
|
this.overlay = overlay;
|
|
11702
11870
|
}
|
|
@@ -12181,12 +12349,12 @@ class DocumentCaptureModal {
|
|
|
12181
12349
|
align-items: center;
|
|
12182
12350
|
justify-content: center;
|
|
12183
12351
|
z-index: 10000;
|
|
12184
|
-
font-family:
|
|
12352
|
+
font-family: inherit;
|
|
12185
12353
|
padding: 16px;
|
|
12186
12354
|
}
|
|
12187
12355
|
|
|
12188
12356
|
.neoface-doc-modal {
|
|
12189
|
-
background: linear-gradient(145deg, #
|
|
12357
|
+
background: linear-gradient(145deg, #0A1320 0%, #111C2B 100%);
|
|
12190
12358
|
border-radius: 24px;
|
|
12191
12359
|
width: 100%;
|
|
12192
12360
|
max-width: 520px;
|
|
@@ -12228,7 +12396,7 @@ class DocumentCaptureModal {
|
|
|
12228
12396
|
}
|
|
12229
12397
|
|
|
12230
12398
|
.neoface-doc-step-badge {
|
|
12231
|
-
background: linear-gradient(135deg, #
|
|
12399
|
+
background: linear-gradient(135deg, #0091F6, #0099cc);
|
|
12232
12400
|
color: #fff;
|
|
12233
12401
|
font-size: 12px;
|
|
12234
12402
|
font-weight: 600;
|
|
@@ -12293,7 +12461,7 @@ class DocumentCaptureModal {
|
|
|
12293
12461
|
height: 44px;
|
|
12294
12462
|
background: rgba(0, 200, 255, 0.15);
|
|
12295
12463
|
border-radius: 12px;
|
|
12296
|
-
color: #
|
|
12464
|
+
color: #0091F6;
|
|
12297
12465
|
}
|
|
12298
12466
|
|
|
12299
12467
|
.neoface-doc-select-icon svg {
|
|
@@ -12314,7 +12482,7 @@ class DocumentCaptureModal {
|
|
|
12314
12482
|
}
|
|
12315
12483
|
|
|
12316
12484
|
.neoface-doc-select-option:hover .neoface-doc-select-arrow {
|
|
12317
|
-
color: #
|
|
12485
|
+
color: #0091F6;
|
|
12318
12486
|
transform: translateX(4px);
|
|
12319
12487
|
}
|
|
12320
12488
|
|
|
@@ -12341,7 +12509,7 @@ class DocumentCaptureModal {
|
|
|
12341
12509
|
}
|
|
12342
12510
|
|
|
12343
12511
|
.neoface-doc-tip-icon {
|
|
12344
|
-
color: #
|
|
12512
|
+
color: #0091F6;
|
|
12345
12513
|
flex-shrink: 0;
|
|
12346
12514
|
}
|
|
12347
12515
|
|
|
@@ -12386,7 +12554,7 @@ class DocumentCaptureModal {
|
|
|
12386
12554
|
position: absolute;
|
|
12387
12555
|
width: 28px;
|
|
12388
12556
|
height: 28px;
|
|
12389
|
-
border-color: #
|
|
12557
|
+
border-color: #0091F6;
|
|
12390
12558
|
border-style: solid;
|
|
12391
12559
|
}
|
|
12392
12560
|
|
|
@@ -12401,7 +12569,7 @@ class DocumentCaptureModal {
|
|
|
12401
12569
|
left: 50%;
|
|
12402
12570
|
transform: translateX(-50%);
|
|
12403
12571
|
background: rgba(0, 0, 0, 0.7);
|
|
12404
|
-
color: #
|
|
12572
|
+
color: #0091F6;
|
|
12405
12573
|
font-size: 12px;
|
|
12406
12574
|
font-weight: 500;
|
|
12407
12575
|
padding: 6px 14px;
|
|
@@ -12422,7 +12590,7 @@ class DocumentCaptureModal {
|
|
|
12422
12590
|
width: 48px;
|
|
12423
12591
|
height: 48px;
|
|
12424
12592
|
border: 4px solid rgba(255, 255, 255, 0.2);
|
|
12425
|
-
border-top-color: #
|
|
12593
|
+
border-top-color: #0091F6;
|
|
12426
12594
|
border-radius: 50%;
|
|
12427
12595
|
animation: neoface-doc-spin 0.8s linear infinite;
|
|
12428
12596
|
}
|
|
@@ -12493,7 +12661,7 @@ class DocumentCaptureModal {
|
|
|
12493
12661
|
}
|
|
12494
12662
|
|
|
12495
12663
|
.neoface-doc-preview-hint svg {
|
|
12496
|
-
color: #
|
|
12664
|
+
color: #0091F6;
|
|
12497
12665
|
flex-shrink: 0;
|
|
12498
12666
|
}
|
|
12499
12667
|
|
|
@@ -12520,7 +12688,7 @@ class DocumentCaptureModal {
|
|
|
12520
12688
|
}
|
|
12521
12689
|
|
|
12522
12690
|
.neoface-doc-btn-primary {
|
|
12523
|
-
background: linear-gradient(135deg, #
|
|
12691
|
+
background: linear-gradient(135deg, #0091F6 0%, #0099cc 100%);
|
|
12524
12692
|
color: #fff;
|
|
12525
12693
|
}
|
|
12526
12694
|
|
|
@@ -12530,7 +12698,7 @@ class DocumentCaptureModal {
|
|
|
12530
12698
|
}
|
|
12531
12699
|
|
|
12532
12700
|
.neoface-doc-btn-success {
|
|
12533
|
-
background: linear-gradient(135deg, #
|
|
12701
|
+
background: linear-gradient(135deg, #0E9F6E 0%, #059669 100%);
|
|
12534
12702
|
color: #fff;
|
|
12535
12703
|
}
|
|
12536
12704
|
|
|
@@ -12578,7 +12746,7 @@ class DocumentCaptureModal {
|
|
|
12578
12746
|
.neoface-doc-brand-name {
|
|
12579
12747
|
font-size: 13px;
|
|
12580
12748
|
font-weight: 700;
|
|
12581
|
-
color: #
|
|
12749
|
+
color: #0091F6;
|
|
12582
12750
|
letter-spacing: 1px;
|
|
12583
12751
|
}
|
|
12584
12752
|
|