@volr/react-ui 0.1.119 → 0.1.120
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.cjs +54 -7
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +54 -7
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
package/dist/index.d.cts
CHANGED
|
@@ -151,6 +151,7 @@ declare const en: {
|
|
|
151
151
|
readonly titleTouchId: "Set up Touch ID login";
|
|
152
152
|
readonly titleFaceId: "Set up Face ID login";
|
|
153
153
|
readonly titleFingerprint: "Set up fingerprint login";
|
|
154
|
+
readonly titleQrCode: "Set up mobile login";
|
|
154
155
|
readonly description: "Sign in instantly, every time.";
|
|
155
156
|
readonly touchId: "Use Touch ID to create your passkey";
|
|
156
157
|
readonly faceId: "Use Face ID to create your passkey";
|
|
@@ -178,6 +179,7 @@ declare const en: {
|
|
|
178
179
|
readonly outdatedSamsung: "Please update Samsung Internet to the latest version.";
|
|
179
180
|
readonly outdatedIOS: "iOS 17.4 or later is required. Please check for software updates in Settings.";
|
|
180
181
|
readonly firefoxNotSupported: "Secure login is not available in Firefox. Please use Chrome or Safari.";
|
|
182
|
+
readonly whaleNotSupported: "Secure login is not available in Whale browser. Please use Chrome.";
|
|
181
183
|
readonly unknownBrowser: "Secure login may not work properly in this browser.";
|
|
182
184
|
readonly openInExternalBrowser: "Open in external browser";
|
|
183
185
|
readonly updateBrowser: "Update browser";
|
package/dist/index.d.ts
CHANGED
|
@@ -151,6 +151,7 @@ declare const en: {
|
|
|
151
151
|
readonly titleTouchId: "Set up Touch ID login";
|
|
152
152
|
readonly titleFaceId: "Set up Face ID login";
|
|
153
153
|
readonly titleFingerprint: "Set up fingerprint login";
|
|
154
|
+
readonly titleQrCode: "Set up mobile login";
|
|
154
155
|
readonly description: "Sign in instantly, every time.";
|
|
155
156
|
readonly touchId: "Use Touch ID to create your passkey";
|
|
156
157
|
readonly faceId: "Use Face ID to create your passkey";
|
|
@@ -178,6 +179,7 @@ declare const en: {
|
|
|
178
179
|
readonly outdatedSamsung: "Please update Samsung Internet to the latest version.";
|
|
179
180
|
readonly outdatedIOS: "iOS 17.4 or later is required. Please check for software updates in Settings.";
|
|
180
181
|
readonly firefoxNotSupported: "Secure login is not available in Firefox. Please use Chrome or Safari.";
|
|
182
|
+
readonly whaleNotSupported: "Secure login is not available in Whale browser. Please use Chrome.";
|
|
181
183
|
readonly unknownBrowser: "Secure login may not work properly in this browser.";
|
|
182
184
|
readonly openInExternalBrowser: "Open in external browser";
|
|
183
185
|
readonly updateBrowser: "Update browser";
|
package/dist/index.js
CHANGED
|
@@ -526,6 +526,7 @@ var en = {
|
|
|
526
526
|
titleTouchId: "Set up Touch ID login",
|
|
527
527
|
titleFaceId: "Set up Face ID login",
|
|
528
528
|
titleFingerprint: "Set up fingerprint login",
|
|
529
|
+
titleQrCode: "Set up mobile login",
|
|
529
530
|
// Short description
|
|
530
531
|
description: "Sign in instantly, every time.",
|
|
531
532
|
// Legacy keys for backward compatibility
|
|
@@ -555,6 +556,7 @@ var en = {
|
|
|
555
556
|
outdatedSamsung: "Please update Samsung Internet to the latest version.",
|
|
556
557
|
outdatedIOS: "iOS 17.4 or later is required. Please check for software updates in Settings.",
|
|
557
558
|
firefoxNotSupported: "Secure login is not available in Firefox. Please use Chrome or Safari.",
|
|
559
|
+
whaleNotSupported: "Secure login is not available in Whale browser. Please use Chrome.",
|
|
558
560
|
unknownBrowser: "Secure login may not work properly in this browser.",
|
|
559
561
|
openInExternalBrowser: "Open in external browser",
|
|
560
562
|
updateBrowser: "Update browser",
|
|
@@ -753,6 +755,7 @@ var ko = {
|
|
|
753
755
|
titleTouchId: "Touch ID \uB85C\uADF8\uC778 \uC124\uC815",
|
|
754
756
|
titleFaceId: "Face ID \uB85C\uADF8\uC778 \uC124\uC815",
|
|
755
757
|
titleFingerprint: "\uC9C0\uBB38 \uB85C\uADF8\uC778 \uC124\uC815",
|
|
758
|
+
titleQrCode: "\uD734\uB300\uD3F0\uC73C\uB85C \uB85C\uADF8\uC778 \uC124\uC815",
|
|
756
759
|
// Short description
|
|
757
760
|
description: "\uD55C \uBC88 \uB4F1\uB85D\uD558\uBA74, \uB2E4\uC74C\uBD80\uD130 \uBC14\uB85C \uB85C\uADF8\uC778",
|
|
758
761
|
// Legacy keys for backward compatibility
|
|
@@ -782,6 +785,7 @@ var ko = {
|
|
|
782
785
|
outdatedSamsung: "Samsung Internet\uC744 \uCD5C\uC2E0 \uBC84\uC804\uC73C\uB85C \uC5C5\uB370\uC774\uD2B8\uD574\uC8FC\uC138\uC694.",
|
|
783
786
|
outdatedIOS: "iOS 17.4 \uC774\uC0C1 \uBC84\uC804\uC774 \uD544\uC694\uD569\uB2C8\uB2E4. \uC124\uC815\uC5D0\uC11C \uC18C\uD504\uD2B8\uC6E8\uC5B4 \uC5C5\uB370\uC774\uD2B8\uB97C \uD655\uC778\uD574\uC8FC\uC138\uC694.",
|
|
784
787
|
firefoxNotSupported: "Firefox\uC5D0\uC11C\uB294 \uBCF4\uC548 \uB85C\uADF8\uC778\uC744 \uC0AC\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. Chrome \uB610\uB294 Safari\uB97C \uC0AC\uC6A9\uD574\uC8FC\uC138\uC694.",
|
|
788
|
+
whaleNotSupported: "\uC6E8\uC77C \uBE0C\uB77C\uC6B0\uC800\uC5D0\uC11C\uB294 \uBCF4\uC548 \uB85C\uADF8\uC778\uC744 \uC0AC\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. Chrome\uC744 \uC0AC\uC6A9\uD574\uC8FC\uC138\uC694.",
|
|
785
789
|
unknownBrowser: "\uC774 \uBE0C\uB77C\uC6B0\uC800\uC5D0\uC11C\uB294 \uBCF4\uC548 \uB85C\uADF8\uC778\uC774 \uC81C\uB300\uB85C \uC791\uB3D9\uD558\uC9C0 \uC54A\uC744 \uC218 \uC788\uC2B5\uB2C8\uB2E4.",
|
|
786
790
|
openInExternalBrowser: "\uC678\uBD80 \uBE0C\uB77C\uC6B0\uC800\uC5D0\uC11C \uC5F4\uAE30",
|
|
787
791
|
updateBrowser: "\uBE0C\uB77C\uC6B0\uC800 \uC5C5\uB370\uC774\uD2B8",
|
|
@@ -1366,13 +1370,21 @@ var ModalHeader = ({
|
|
|
1366
1370
|
|
|
1367
1371
|
// src/components/features/passkey/utils/biometric.ts
|
|
1368
1372
|
function getBiometricType() {
|
|
1373
|
+
if (typeof navigator === "undefined") return "fingerprint";
|
|
1369
1374
|
const ua = navigator.userAgent;
|
|
1375
|
+
const platform = navigator.platform || "";
|
|
1370
1376
|
if (/iPhone|iPad|iPod/.test(ua)) {
|
|
1371
1377
|
return "faceId";
|
|
1372
1378
|
}
|
|
1373
1379
|
if (/Macintosh|MacIntel/.test(ua)) {
|
|
1380
|
+
if (navigator.maxTouchPoints > 1) {
|
|
1381
|
+
return "faceId";
|
|
1382
|
+
}
|
|
1374
1383
|
return "touchId";
|
|
1375
1384
|
}
|
|
1385
|
+
if (/Win/.test(platform)) {
|
|
1386
|
+
return "qrCode";
|
|
1387
|
+
}
|
|
1376
1388
|
return "fingerprint";
|
|
1377
1389
|
}
|
|
1378
1390
|
function getUserFriendlyError(error, t) {
|
|
@@ -1620,12 +1632,44 @@ function FingerprintIcon({ size }) {
|
|
|
1620
1632
|
}
|
|
1621
1633
|
);
|
|
1622
1634
|
}
|
|
1635
|
+
function QrCodeIcon({ size }) {
|
|
1636
|
+
const fill = "#f87171";
|
|
1637
|
+
return /* @__PURE__ */ jsxs(
|
|
1638
|
+
"svg",
|
|
1639
|
+
{
|
|
1640
|
+
width: size,
|
|
1641
|
+
height: size,
|
|
1642
|
+
viewBox: "0 0 24 24",
|
|
1643
|
+
fill: "none",
|
|
1644
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
1645
|
+
children: [
|
|
1646
|
+
/* @__PURE__ */ jsx("rect", { x: "3", y: "3", width: "7", height: "7", rx: "1", fill }),
|
|
1647
|
+
/* @__PURE__ */ jsx("rect", { x: "14", y: "3", width: "7", height: "7", rx: "1", fill }),
|
|
1648
|
+
/* @__PURE__ */ jsx("rect", { x: "3", y: "14", width: "7", height: "7", rx: "1", fill }),
|
|
1649
|
+
/* @__PURE__ */ jsx("rect", { x: "5", y: "5", width: "3", height: "3", fill: "white" }),
|
|
1650
|
+
/* @__PURE__ */ jsx("rect", { x: "16", y: "5", width: "3", height: "3", fill: "white" }),
|
|
1651
|
+
/* @__PURE__ */ jsx("rect", { x: "5", y: "16", width: "3", height: "3", fill: "white" }),
|
|
1652
|
+
/* @__PURE__ */ jsx("rect", { x: "14", y: "14", width: "2", height: "2", fill }),
|
|
1653
|
+
/* @__PURE__ */ jsx("rect", { x: "17", y: "14", width: "2", height: "2", fill }),
|
|
1654
|
+
/* @__PURE__ */ jsx("rect", { x: "14", y: "17", width: "2", height: "2", fill }),
|
|
1655
|
+
/* @__PURE__ */ jsx("rect", { x: "19", y: "17", width: "2", height: "2", fill }),
|
|
1656
|
+
/* @__PURE__ */ jsx("rect", { x: "17", y: "19", width: "2", height: "2", fill }),
|
|
1657
|
+
/* @__PURE__ */ jsx("rect", { x: "11", y: "3", width: "2", height: "2", fill }),
|
|
1658
|
+
/* @__PURE__ */ jsx("rect", { x: "11", y: "6", width: "2", height: "2", fill }),
|
|
1659
|
+
/* @__PURE__ */ jsx("rect", { x: "11", y: "11", width: "2", height: "2", fill }),
|
|
1660
|
+
/* @__PURE__ */ jsx("rect", { x: "3", y: "11", width: "2", height: "2", fill }),
|
|
1661
|
+
/* @__PURE__ */ jsx("rect", { x: "6", y: "11", width: "2", height: "2", fill })
|
|
1662
|
+
]
|
|
1663
|
+
}
|
|
1664
|
+
);
|
|
1665
|
+
}
|
|
1623
1666
|
function BiometricIcon({ type, size = 80, animate = false }) {
|
|
1624
1667
|
const className = animate ? "volr:animate-pulse" : "";
|
|
1625
1668
|
return /* @__PURE__ */ jsxs("div", { className, children: [
|
|
1626
1669
|
type === "faceId" && /* @__PURE__ */ jsx(FaceIdIcon, { size }),
|
|
1627
1670
|
type === "touchId" && /* @__PURE__ */ jsx(TouchIdIcon, { size }),
|
|
1628
|
-
type === "fingerprint" && /* @__PURE__ */ jsx(FingerprintIcon, { size })
|
|
1671
|
+
type === "fingerprint" && /* @__PURE__ */ jsx(FingerprintIcon, { size }),
|
|
1672
|
+
type === "qrCode" && /* @__PURE__ */ jsx(QrCodeIcon, { size })
|
|
1629
1673
|
] });
|
|
1630
1674
|
}
|
|
1631
1675
|
var sizeMap = {
|
|
@@ -1960,13 +2004,16 @@ function PasskeyEnrollView({
|
|
|
1960
2004
|
}
|
|
1961
2005
|
};
|
|
1962
2006
|
const getBiometricTitle = () => {
|
|
1963
|
-
|
|
1964
|
-
|
|
1965
|
-
|
|
1966
|
-
|
|
1967
|
-
|
|
2007
|
+
switch (biometricType) {
|
|
2008
|
+
case "faceId":
|
|
2009
|
+
return t("passkey.titleFaceId");
|
|
2010
|
+
case "touchId":
|
|
2011
|
+
return t("passkey.titleTouchId");
|
|
2012
|
+
case "qrCode":
|
|
2013
|
+
return t("passkey.titleQrCode");
|
|
2014
|
+
default:
|
|
2015
|
+
return t("passkey.titleFingerprint");
|
|
1968
2016
|
}
|
|
1969
|
-
return t("passkey.titleFingerprint");
|
|
1970
2017
|
};
|
|
1971
2018
|
const getBiometricDescription = () => {
|
|
1972
2019
|
return t("passkey.description");
|