@vechain/vechain-kit 1.8.0 → 1.8.2

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 CHANGED
@@ -79,6 +79,7 @@ var en_default = {
79
79
  AVAILABLE: "AVAILABLE",
80
80
  Accept: "Accept",
81
81
  "Accept all": "Accept all",
82
+ "Accept selected": "Accept selected",
82
83
  "Access and security": "Access and security",
83
84
  Account: "Account",
84
85
  "Account Upgrade Required": "Account Upgrade Required",
@@ -647,6 +648,7 @@ var de_default = {
647
648
  AVAILABLE: "VERF\xDCGBAR",
648
649
  Accept: "Akzeptieren",
649
650
  "Accept all": "Alle akzeptieren",
651
+ "Accept selected": "Auswahl akzeptieren",
650
652
  "Access and security": "Zugang und Sicherheit",
651
653
  Account: "Konto",
652
654
  "Account Upgrade Required": "Kontoupdate erforderlich",
@@ -1215,6 +1217,7 @@ var it_default = {
1215
1217
  AVAILABLE: "DISPONIBILE",
1216
1218
  Accept: "Accetta",
1217
1219
  "Accept all": "Accetta tutto",
1220
+ "Accept selected": "Accetta selezionati",
1218
1221
  "Access and security": "Accesso e sicurezza",
1219
1222
  Account: "Account",
1220
1223
  "Account Upgrade Required": "Aggiornamento dell'account richiesto",
@@ -1783,6 +1786,7 @@ var fr_default = {
1783
1786
  AVAILABLE: "DISPONIBLE",
1784
1787
  Accept: "Accepter",
1785
1788
  "Accept all": "Tout accepter",
1789
+ "Accept selected": "Accepter la s\xE9lection",
1786
1790
  "Access and security": "Acc\xE8s et s\xE9curit\xE9",
1787
1791
  Account: "Compte",
1788
1792
  "Account Upgrade Required": "Mise \xE0 niveau du compte requise",
@@ -2351,6 +2355,7 @@ var es_default = {
2351
2355
  AVAILABLE: "DISPONIBLE",
2352
2356
  Accept: "Aceptar",
2353
2357
  "Accept all": "Aceptar todo",
2358
+ "Accept selected": "Aceptar seleccionado",
2354
2359
  "Access and security": "Acceso y seguridad",
2355
2360
  Account: "Cuenta",
2356
2361
  "Account Upgrade Required": "Actualizaci\xF3n de cuenta necesaria",
@@ -2919,6 +2924,7 @@ var zh_default = {
2919
2924
  AVAILABLE: "\u53EF\u7528",
2920
2925
  Accept: "\u63A5\u53D7",
2921
2926
  "Accept all": "\u5168\u90E8\u63A5\u53D7",
2927
+ "Accept selected": "\u63A5\u53D7\u5DF2\u9009\u62E9",
2922
2928
  "Access and security": "\u8BBF\u95EE\u548C\u5B89\u5168",
2923
2929
  Account: "\u8D26\u6237",
2924
2930
  "Account Upgrade Required": "\u9700\u8981\u8D26\u6237\u5347\u7EA7",
@@ -3487,6 +3493,7 @@ var ja_default = {
3487
3493
  AVAILABLE: "\u5229\u7528\u53EF\u80FD",
3488
3494
  Accept: "\u627F\u8AFE",
3489
3495
  "Accept all": "\u3059\u3079\u3066\u627F\u8AFE",
3496
+ "Accept selected": "\u9078\u629E\u3092\u53D7\u3051\u5165\u308C\u308B",
3490
3497
  "Access and security": "\u30A2\u30AF\u30BB\u30B9\u3068\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3",
3491
3498
  Account: "\u30A2\u30AB\u30A6\u30F3\u30C8",
3492
3499
  "Account Upgrade Required": "\u30A2\u30AB\u30A6\u30F3\u30C8\u306E\u30A2\u30C3\u30D7\u30B0\u30EC\u30FC\u30C9\u304C\u5FC5\u8981\u3067\u3059",
@@ -4805,7 +4812,7 @@ var AddressDisplay = ({
4805
4812
  // package.json
4806
4813
  var package_default = {
4807
4814
  name: "@vechain/vechain-kit",
4808
- version: "1.8.0",
4815
+ version: "1.8.2",
4809
4816
  private: false,
4810
4817
  homepage: "https://github.com/vechain/vechain-kit",
4811
4818
  repository: "github:vechain/vechain-kit",
@@ -21146,17 +21153,18 @@ var LegalDocumentsContent = ({
21146
21153
  return documentsNotAgreed.filter((document2) => formValues[document2.id]);
21147
21154
  }, [documentsNotAgreed, formValues]);
21148
21155
  const allSelected = documentsNotAgreed?.length === selectedDocuments.length;
21149
- const onSubmit = (data) => {
21150
- const agreedDocumentIds = new Set(
21151
- Object.entries(data).filter(([_, checked]) => checked).map(([docId]) => docId)
21152
- );
21153
- const agreedDocuments = documentsNotAgreed.filter(
21154
- (document2) => agreedDocumentIds.has(document2.id)
21155
- );
21156
- if (agreedDocuments.length > 0 || onlyOptionalDocuments) {
21156
+ const onSubmit = React10.useCallback(
21157
+ (data) => {
21158
+ const agreedDocumentIds = new Set(
21159
+ Object.entries(data).filter(([_, checked]) => checked).map(([docId]) => docId)
21160
+ );
21161
+ const agreedDocuments = documentsNotAgreed.filter(
21162
+ (document2) => agreedDocumentIds.has(document2.id)
21163
+ );
21157
21164
  return onAgree(agreedDocuments);
21158
- }
21159
- };
21165
+ },
21166
+ [documentsNotAgreed, onAgree]
21167
+ );
21160
21168
  const borderColor = isDark ? "#3a3a3a" : "#eaeaea";
21161
21169
  const sectionBgColor = isDark ? "#2a2a2a" : "#f5f5f5";
21162
21170
  const headingColor = isDark ? "gray.300" : "gray.600";
@@ -21168,13 +21176,22 @@ var LegalDocumentsContent = ({
21168
21176
  (doc) => formValues[doc.id]
21169
21177
  ).length;
21170
21178
  if (allSelected) {
21171
- return "Accept all";
21179
+ return t("Accept all");
21172
21180
  }
21173
21181
  if (onlyOptionalDocuments && selectedOptionalCount === 0) {
21174
- return "Ignore and continue";
21182
+ return t("Ignore and continue");
21183
+ }
21184
+ if (hasRequiredDocuments && !hasOptionalDocuments || hasRequiredDocuments && selectedOptionalCount === 0) {
21185
+ return t("Accept");
21175
21186
  }
21176
- return "Accept selected";
21187
+ return t("Accept selected");
21177
21188
  }, [onlyOptionalDocuments, allSelected, optionalDocuments, formValues]);
21189
+ const requiredTextDivider = (index) => {
21190
+ if (index === requiredDocuments.length - 2 && requiredDocuments.length > 1) {
21191
+ return t(" and ");
21192
+ }
21193
+ return ", ";
21194
+ };
21178
21195
  return /* @__PURE__ */ jsxRuntime.jsx(react.Stack, { width: "full", children: /* @__PURE__ */ jsxRuntime.jsxs("form", { onSubmit: handleSubmit(onSubmit), children: [
21179
21196
  /* @__PURE__ */ jsxRuntime.jsx(StickyHeaderContainer, { children: /* @__PURE__ */ jsxRuntime.jsx(react.ModalHeader, { children: t("Terms and Policies") }) }),
21180
21197
  /* @__PURE__ */ jsxRuntime.jsx(react.ModalBody, { children: /* @__PURE__ */ jsxRuntime.jsxs(react.VStack, { align: "stretch", spacing: 5, width: "full", children: [
@@ -21191,7 +21208,7 @@ var LegalDocumentsContent = ({
21191
21208
  },
21192
21209
  document2.id
21193
21210
  ),
21194
- index < requiredDocuments.length - 1 ? index === requiredDocuments.length - 2 && requiredDocuments.length > 1 ? t(" and ") : ", " : null
21211
+ index < requiredDocuments.length - 1 ? requiredTextDivider(index) : null
21195
21212
  ] }, document2.id)),
21196
21213
  ".",
21197
21214
  " ",
@@ -21199,7 +21216,7 @@ var LegalDocumentsContent = ({
21199
21216
  "Please take a moment to review all the policies, with acceptance being mandatory to continue."
21200
21217
  )
21201
21218
  ] }),
21202
- onlyOptionalDocuments && /* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontSize: "sm", color: "gray.300", mb: 3, children: /* @__PURE__ */ jsxRuntime.jsx(
21219
+ onlyOptionalDocuments && /* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontSize: "sm", color: headingColor, mb: 3, children: /* @__PURE__ */ jsxRuntime.jsx(
21203
21220
  reactI18next.Trans,
21204
21221
  {
21205
21222
  i18nKey: "<bold>Your privacy matters.</bold> You\u2019re in control, accept to enable optional features like cookies and analytics that help us enhance your experience.",
@@ -21209,7 +21226,7 @@ var LegalDocumentsContent = ({
21209
21226
  {
21210
21227
  as: "span",
21211
21228
  fontWeight: "semibold",
21212
- color: "white"
21229
+ color: headingColor
21213
21230
  }
21214
21231
  )
21215
21232
  }
@@ -21367,54 +21384,6 @@ var formatDocuments = (documents) => {
21367
21384
  var getOptionalDocuments = (documents) => {
21368
21385
  return documents.filter((document2) => !document2.required);
21369
21386
  };
21370
- var getStoredAgreements = () => {
21371
- try {
21372
- const storedData = localStorage.getItem(LEGAL_DOCS_LOCAL_STORAGE_KEY);
21373
- if (storedData) {
21374
- return JSON.parse(storedData);
21375
- }
21376
- return [];
21377
- } catch (e) {
21378
- console.warn(
21379
- "Error reading legal document agreements from localStorage",
21380
- e
21381
- );
21382
- return [];
21383
- }
21384
- };
21385
- var getStoredRejectedDocuments = () => {
21386
- try {
21387
- const storedData = localStorage.getItem(
21388
- LEGAL_DOCS_OPTIONAL_REJECT_LOCAL_STORAGE_KEY
21389
- );
21390
- if (storedData) {
21391
- return JSON.parse(storedData);
21392
- }
21393
- return [];
21394
- } catch (e) {
21395
- console.warn(
21396
- "Error reading rejected legal document agreements from localStorage",
21397
- e
21398
- );
21399
- return [];
21400
- }
21401
- };
21402
- var getDocumentsNotAgreed = (walletAddress, documents) => {
21403
- if (!walletAddress) return [];
21404
- const agreements = getStoredAgreements();
21405
- const rejections = getStoredRejectedDocuments();
21406
- return documents.filter((document2) => {
21407
- const isAgreed = agreements.some(
21408
- (agreement) => chunkZZOAVX47_cjs.compareAddresses(agreement.walletAddress, walletAddress) && agreement.id === document2.id
21409
- );
21410
- if (isAgreed) return false;
21411
- const isRejected = rejections.some(
21412
- (rejection) => chunkZZOAVX47_cjs.compareAddresses(rejection.walletAddress, walletAddress) && rejection.id === document2.id
21413
- );
21414
- if (isRejected) return false;
21415
- return true;
21416
- });
21417
- };
21418
21387
  var createDocumentRecords = (docs, walletAddress) => {
21419
21388
  const timestamp = Date.now();
21420
21389
  return docs.map((doc) => ({
@@ -21487,8 +21456,24 @@ var LegalDocumentsProvider = ({ children }) => {
21487
21456
  return [formattedDocs, required];
21488
21457
  }, [legalDocuments, isAnalyticsAllowed]);
21489
21458
  const documentsNotAgreed = React10.useMemo(() => {
21490
- return getDocumentsNotAgreed(account?.address, documents);
21491
- }, [documents, account?.address]);
21459
+ if (!account?.address) return [];
21460
+ return documents.filter((document2) => {
21461
+ const isAgreed = storedAgreements.some(
21462
+ (agreement) => chunkZZOAVX47_cjs.compareAddresses(
21463
+ agreement.walletAddress,
21464
+ account.address
21465
+ ) && agreement.id === document2.id
21466
+ );
21467
+ if (isAgreed) return false;
21468
+ const isRejected = optionalRejected.some(
21469
+ (rejection) => chunkZZOAVX47_cjs.compareAddresses(
21470
+ rejection.walletAddress,
21471
+ account.address
21472
+ ) && rejection.id === document2.id
21473
+ );
21474
+ return !isRejected;
21475
+ });
21476
+ }, [documents, account?.address, storedAgreements, optionalRejected]);
21492
21477
  const hasAgreedToRequiredDocuments = React10.useMemo(() => {
21493
21478
  if (!requiredDocuments.length || !account?.address) return true;
21494
21479
  return requiredDocuments.every(