@lumiapassport/ui-kit 1.17.9 → 1.17.11

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/README.md CHANGED
@@ -305,6 +305,7 @@ This ensures returning users keep their preferred chain while new users start on
305
305
  requestDeduplication: true,
306
306
  kycNeeded: false,
307
307
  displayNameNeeded: false,
308
+ showActiveBalanceAsFiat: false,
308
309
  },
309
310
 
310
311
  // KYC configuration (if needed)
@@ -328,6 +329,7 @@ This ensures returning users keep their preferred chain while new users start on
328
329
  rpcUrl: 'https\:\/\/beam-rpc.lumia.org',
329
330
  explorerUrl: 'https\:\/\/beam-explorer.lumia.org',
330
331
  testnet: true,
332
+ forceChain: false, // if true, passport is immediatly forced to switch itto provided chainId, chain selector via SeetingsMenu becomes anavailable
331
333
  },
332
334
  }}
333
335
  callbacks={{
@@ -352,6 +354,9 @@ This ensures returning users keep their preferred chain while new users start on
352
354
  onWalletReady: (status) => {
353
355
  console.log('Wallet ready:', status.ready);
354
356
  },
357
+ onLumiaPassportChainChange: ({ chainId, previousChainId }) => {
358
+ console.log('Chain Changed:', { previousChainId, chainId })
359
+ },
355
360
  }}
356
361
  >
357
362
  ```
@@ -387,6 +392,7 @@ function MyComponent() {
387
392
 
388
393
  ### Lumia Passport shared store values hooks
389
394
 
395
+ - **useLumiaPassportActiveChainId** - Returns current ChainID
390
396
  - **useLumiaPassportIsMobileView** - Returns boolean indicating if UI is in mobile view mode
391
397
  - **useLumiaPassportAccountSession** - Returns current user session object with userId, addresses, and auth info
392
398
  - **useLumiaPassportLoadingStatus** - Returns `{ isSessionLoading, sessionStatus }` for tracking authentication state
@@ -755,26 +761,6 @@ function CustomAuthButton() {
755
761
  }
756
762
  ```
757
763
 
758
- ### useLumiaPassportColorMode - Theme Control
759
-
760
- Control light/dark mode for Lumia Passport UI. Use hook to sync colorMode inside your App instead of any local colorMode states
761
-
762
- ```tsx
763
- import { useLumiaPassportColorMode } from '@lumiapassport/ui-kit'
764
-
765
- function ThemeSelector() {
766
- const { colorMode, setColorMode } = useLumiaPassportColorMode()
767
-
768
- return (
769
- <div>
770
- <p>Current theme: {colorMode}</p>
771
- <button onClick={() => setColorMode('light')}>Light</button>
772
- <button onClick={() => setColorMode('dark')}>Dark</button>
773
- </div>
774
- )
775
- }
776
- ```
777
-
778
764
  ### ThemeToggle - Quick Theme Switcher
779
765
 
780
766
  Pre-built theme toggle button component to use in combo with useLumiaPassportColorMode.
@@ -838,7 +824,117 @@ Connect existing wallets (MetaMask, WalletConnect, etc.).
838
824
 
839
825
  ## Styling
840
826
 
841
- ...to be updated
827
+ ### Passport Dialog Window
828
+
829
+ Global Passport window view can be redefined via config prop by providing specific dialogClassName.
830
+
831
+ > **Note** Providing "dialogClassName" will disable default dialog window styles
832
+
833
+ ```css
834
+ .passport-dialog-classname {
835
+ background-color: rgba(14, 14, 14, 0.7);
836
+ backdrop-filter: blur(10px);
837
+
838
+ box-shadow:
839
+ 0 0 8px rgba(14, 14, 14, 0.1),
840
+ inset 0 0 0 1px var(--lumia-passport-bd);
841
+ }
842
+ ```
843
+
844
+ ```tsx
845
+ import 'index.css'
846
+
847
+ <LumiaPassportProvider
848
+ ...
849
+ initialConfig={{
850
+ ...
851
+ ui: {
852
+ ...
853
+ dialogClassName: 'passport-dialog-classname',
854
+ ...
855
+ },
856
+ ...
857
+ }}/>
858
+ ```
859
+
860
+ ### Passport styles
861
+
862
+ Passport provides global hook for Light/Dark modes - useLumiaPassportColorMode - use it within yor application instead of any local mode declaration.
863
+
864
+ ```tsx
865
+ import { useLumiaPassportColorMode } from '@lumiapassport/ui-kit'
866
+
867
+ function YourAnyComponent() {
868
+ const { colorMode, setColorMode } = useLumiaPassportColorMode()
869
+
870
+ return (
871
+ <div>
872
+ <p>Current theme: {colorMode}</p>
873
+ <button onClick={() => setColorMode('light')}>Light</button>
874
+ <button onClick={() => setColorMode('dark')}>Dark</button>
875
+ </div>
876
+ )
877
+ }
878
+ ```
879
+
880
+ Passport styles are possible to match with your project via css-variables set (use separate for dark & light).
881
+ Values will be automatically applied according to selected colorMode.
882
+ The simpliest way to customize cssv is via app index.css file:
883
+
884
+ ```css
885
+ .lumia-scope[data-lumia-passport-mode='light'],
886
+ .lumia-scope[data-lumia-passport-mode='dark'] {
887
+ /* fixed cssv */
888
+ --lumia-passport-maw: 384px;
889
+ --lumia-passport-pd: 12px;
890
+ --lumia-passport-gap: 10px;
891
+ --lumia-passport-bdrs: 20px;
892
+ --lumia-passport-element-bdrs: 10px;
893
+
894
+ /** overlay */
895
+ --lumia-passport-overlay: rgba(255, 255, 255, 0.8);
896
+ --lumia-passport-backdrop-blur: 10px;
897
+
898
+ /** surface backgrounds */
899
+ --lumia-passport-bg: #ffffff;
900
+
901
+ /** text */
902
+ --lumia-passport-fg: #000000;
903
+ --lumia-passport-fg-h: rgba(0, 0, 0, 0.6);
904
+ --lumia-passport-fg-a: rgba(0, 0, 0, 0.4);
905
+ --lumia-passport-fg-inverted: #ffffff;
906
+ --lumia-passport-fg-muted: rgba(0, 0, 0, 0.6);
907
+
908
+ /** backgrounds i.e. buttons bg etc */
909
+ --lumia-passport-primary: #000000;
910
+ --lumia-passport-primary-h: rgba(0, 0, 0, 0.8);
911
+ --lumia-passport-primary-a: rgba(0, 0, 0, 0.6);
912
+
913
+ --lumia-passport-secondary: #e4e4e4;
914
+ --lumia-passport-secondary-h: rgba(228, 228, 228, 0.8);
915
+ --lumia-passport-secondary-a: rgba(228, 228, 228, 0.6);
916
+
917
+ /** borders */
918
+ --lumia-passport-bd: #ebebeb;
919
+ --lumia-passport-bd-intense: rgb(169, 169, 169);
920
+
921
+ /** shadows */
922
+ --lumia-passport-shadow-c: rgba(0, 0, 0, 0.1);
923
+
924
+ /** highlight colors */
925
+ --lumia-passport-info: #000000;
926
+ --lumia-passport-bg-info: #e4e4e4;
927
+
928
+ --lumia-passport-success: #000000;
929
+ --lumia-passport-bg-success: #21ff51;
930
+
931
+ --lumia-passport-warning: #000000;
932
+ --lumia-passport-bg-warning: #e9fa00;
933
+
934
+ --lumia-passport-error: #ffffff;
935
+ --lumia-passport-bg-error: #d6204e;
936
+ }
937
+ ```
842
938
 
843
939
  ## TypeScript Support
844
940
 
@@ -15,7 +15,7 @@
15
15
  <meta http-equiv="X-Content-Type-Options" content="nosniff" />
16
16
  <meta http-equiv="Referrer-Policy" content="strict-origin-when-cross-origin" />
17
17
 
18
- <title>Lumia Passport Secure Wallet - iframe version 1.17.9</title>
18
+ <title>Lumia Passport Secure Wallet - iframe version 1.17.11</title>
19
19
 
20
20
  <!-- Styles will be injected by build process -->
21
21
  <style>
@@ -548,7 +548,7 @@ var init_local_backup = __esm({
548
548
  }
549
549
  });
550
550
 
551
- // ../../node_modules/.pnpm/viem@2.38.0_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@3.22.4/node_modules/viem/_esm/utils/data/isHex.js
551
+ // ../../node_modules/.pnpm/viem@2.38.0_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/utils/data/isHex.js
552
552
  function isHex(value, { strict = true } = {}) {
553
553
  if (!value)
554
554
  return false;
@@ -557,31 +557,31 @@ function isHex(value, { strict = true } = {}) {
557
557
  return strict ? /^0x[0-9a-fA-F]*$/.test(value) : value.startsWith("0x");
558
558
  }
559
559
  var init_isHex = __esm({
560
- "../../node_modules/.pnpm/viem@2.38.0_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@3.22.4/node_modules/viem/_esm/utils/data/isHex.js"() {
560
+ "../../node_modules/.pnpm/viem@2.38.0_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/utils/data/isHex.js"() {
561
561
  }
562
562
  });
563
563
 
564
- // ../../node_modules/.pnpm/viem@2.38.0_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@3.22.4/node_modules/viem/_esm/utils/data/size.js
564
+ // ../../node_modules/.pnpm/viem@2.38.0_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/utils/data/size.js
565
565
  function size(value) {
566
566
  if (isHex(value, { strict: false }))
567
567
  return Math.ceil((value.length - 2) / 2);
568
568
  return value.length;
569
569
  }
570
570
  var init_size = __esm({
571
- "../../node_modules/.pnpm/viem@2.38.0_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@3.22.4/node_modules/viem/_esm/utils/data/size.js"() {
571
+ "../../node_modules/.pnpm/viem@2.38.0_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/utils/data/size.js"() {
572
572
  init_isHex();
573
573
  }
574
574
  });
575
575
 
576
- // ../../node_modules/.pnpm/viem@2.38.0_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@3.22.4/node_modules/viem/_esm/errors/version.js
576
+ // ../../node_modules/.pnpm/viem@2.38.0_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/errors/version.js
577
577
  var version;
578
578
  var init_version = __esm({
579
- "../../node_modules/.pnpm/viem@2.38.0_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@3.22.4/node_modules/viem/_esm/errors/version.js"() {
579
+ "../../node_modules/.pnpm/viem@2.38.0_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/errors/version.js"() {
580
580
  version = "2.38.0";
581
581
  }
582
582
  });
583
583
 
584
- // ../../node_modules/.pnpm/viem@2.38.0_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@3.22.4/node_modules/viem/_esm/errors/base.js
584
+ // ../../node_modules/.pnpm/viem@2.38.0_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/errors/base.js
585
585
  function walk(err, fn) {
586
586
  if (fn?.(err))
587
587
  return err;
@@ -591,7 +591,7 @@ function walk(err, fn) {
591
591
  }
592
592
  var errorConfig, BaseError;
593
593
  var init_base = __esm({
594
- "../../node_modules/.pnpm/viem@2.38.0_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@3.22.4/node_modules/viem/_esm/errors/base.js"() {
594
+ "../../node_modules/.pnpm/viem@2.38.0_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/errors/base.js"() {
595
595
  init_version();
596
596
  errorConfig = {
597
597
  getDocsUrl: ({ docsBaseUrl, docsPath = "", docsSlug }) => docsPath ? `${docsBaseUrl ?? "https://viem.sh"}${docsPath}${docsSlug ? `#${docsSlug}` : ""}` : void 0,
@@ -671,10 +671,10 @@ var init_base = __esm({
671
671
  }
672
672
  });
673
673
 
674
- // ../../node_modules/.pnpm/viem@2.38.0_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@3.22.4/node_modules/viem/_esm/errors/data.js
674
+ // ../../node_modules/.pnpm/viem@2.38.0_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/errors/data.js
675
675
  var SizeExceedsPaddingSizeError;
676
676
  var init_data = __esm({
677
- "../../node_modules/.pnpm/viem@2.38.0_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@3.22.4/node_modules/viem/_esm/errors/data.js"() {
677
+ "../../node_modules/.pnpm/viem@2.38.0_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/errors/data.js"() {
678
678
  init_base();
679
679
  SizeExceedsPaddingSizeError = class extends BaseError {
680
680
  constructor({ size: size2, targetSize, type }) {
@@ -684,7 +684,7 @@ var init_data = __esm({
684
684
  }
685
685
  });
686
686
 
687
- // ../../node_modules/.pnpm/viem@2.38.0_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@3.22.4/node_modules/viem/_esm/utils/data/pad.js
687
+ // ../../node_modules/.pnpm/viem@2.38.0_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/utils/data/pad.js
688
688
  function pad(hexOrBytes, { dir, size: size2 = 32 } = {}) {
689
689
  if (typeof hexOrBytes === "string")
690
690
  return padHex(hexOrBytes, { dir, size: size2 });
@@ -719,15 +719,15 @@ function padBytes(bytes, { dir, size: size2 = 32 } = {}) {
719
719
  return paddedBytes;
720
720
  }
721
721
  var init_pad = __esm({
722
- "../../node_modules/.pnpm/viem@2.38.0_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@3.22.4/node_modules/viem/_esm/utils/data/pad.js"() {
722
+ "../../node_modules/.pnpm/viem@2.38.0_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/utils/data/pad.js"() {
723
723
  init_data();
724
724
  }
725
725
  });
726
726
 
727
- // ../../node_modules/.pnpm/viem@2.38.0_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@3.22.4/node_modules/viem/_esm/errors/encoding.js
727
+ // ../../node_modules/.pnpm/viem@2.38.0_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/errors/encoding.js
728
728
  var IntegerOutOfRangeError, SizeOverflowError;
729
729
  var init_encoding = __esm({
730
- "../../node_modules/.pnpm/viem@2.38.0_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@3.22.4/node_modules/viem/_esm/errors/encoding.js"() {
730
+ "../../node_modules/.pnpm/viem@2.38.0_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/errors/encoding.js"() {
731
731
  init_base();
732
732
  IntegerOutOfRangeError = class extends BaseError {
733
733
  constructor({ max, min, signed, size: size2, value }) {
@@ -742,7 +742,7 @@ var init_encoding = __esm({
742
742
  }
743
743
  });
744
744
 
745
- // ../../node_modules/.pnpm/viem@2.38.0_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@3.22.4/node_modules/viem/_esm/utils/encoding/fromHex.js
745
+ // ../../node_modules/.pnpm/viem@2.38.0_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/utils/encoding/fromHex.js
746
746
  function assertSize(hexOrBytes, { size: size2 }) {
747
747
  if (size(hexOrBytes) > size2)
748
748
  throw new SizeOverflowError({
@@ -751,13 +751,13 @@ function assertSize(hexOrBytes, { size: size2 }) {
751
751
  });
752
752
  }
753
753
  var init_fromHex = __esm({
754
- "../../node_modules/.pnpm/viem@2.38.0_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@3.22.4/node_modules/viem/_esm/utils/encoding/fromHex.js"() {
754
+ "../../node_modules/.pnpm/viem@2.38.0_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/utils/encoding/fromHex.js"() {
755
755
  init_encoding();
756
756
  init_size();
757
757
  }
758
758
  });
759
759
 
760
- // ../../node_modules/.pnpm/viem@2.38.0_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@3.22.4/node_modules/viem/_esm/utils/encoding/toHex.js
760
+ // ../../node_modules/.pnpm/viem@2.38.0_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/utils/encoding/toHex.js
761
761
  function toHex(value, opts = {}) {
762
762
  if (typeof value === "number" || typeof value === "bigint")
763
763
  return numberToHex(value, opts);
@@ -822,7 +822,7 @@ function stringToHex(value_, opts = {}) {
822
822
  }
823
823
  var hexes, encoder;
824
824
  var init_toHex = __esm({
825
- "../../node_modules/.pnpm/viem@2.38.0_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@3.22.4/node_modules/viem/_esm/utils/encoding/toHex.js"() {
825
+ "../../node_modules/.pnpm/viem@2.38.0_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/utils/encoding/toHex.js"() {
826
826
  init_encoding();
827
827
  init_pad();
828
828
  init_fromHex();
@@ -831,7 +831,7 @@ var init_toHex = __esm({
831
831
  }
832
832
  });
833
833
 
834
- // ../../node_modules/.pnpm/viem@2.38.0_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@3.22.4/node_modules/viem/_esm/utils/encoding/toBytes.js
834
+ // ../../node_modules/.pnpm/viem@2.38.0_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/utils/encoding/toBytes.js
835
835
  function toBytes(value, opts = {}) {
836
836
  if (typeof value === "number" || typeof value === "bigint")
837
837
  return numberToBytes(value, opts);
@@ -894,7 +894,7 @@ function stringToBytes(value, opts = {}) {
894
894
  }
895
895
  var encoder2, charCodeMap;
896
896
  var init_toBytes = __esm({
897
- "../../node_modules/.pnpm/viem@2.38.0_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@3.22.4/node_modules/viem/_esm/utils/encoding/toBytes.js"() {
897
+ "../../node_modules/.pnpm/viem@2.38.0_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/utils/encoding/toBytes.js"() {
898
898
  init_base();
899
899
  init_isHex();
900
900
  init_pad();
@@ -1201,7 +1201,7 @@ var init_sha3 = __esm({
1201
1201
  }
1202
1202
  });
1203
1203
 
1204
- // ../../node_modules/.pnpm/viem@2.38.0_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@3.22.4/node_modules/viem/_esm/utils/hash/keccak256.js
1204
+ // ../../node_modules/.pnpm/viem@2.38.0_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/utils/hash/keccak256.js
1205
1205
  function keccak256(value, to_) {
1206
1206
  const to = to_ || "hex";
1207
1207
  const bytes = keccak_256(isHex(value, { strict: false }) ? toBytes(value) : value);
@@ -1210,7 +1210,7 @@ function keccak256(value, to_) {
1210
1210
  return toHex(bytes);
1211
1211
  }
1212
1212
  var init_keccak256 = __esm({
1213
- "../../node_modules/.pnpm/viem@2.38.0_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@3.22.4/node_modules/viem/_esm/utils/hash/keccak256.js"() {
1213
+ "../../node_modules/.pnpm/viem@2.38.0_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/utils/hash/keccak256.js"() {
1214
1214
  init_sha3();
1215
1215
  init_isHex();
1216
1216
  init_toBytes();
@@ -2835,7 +2835,7 @@ async function __wbg_init(module_or_path) {
2835
2835
  }
2836
2836
  var dkls23_wasm_default = __wbg_init;
2837
2837
 
2838
- // ../../node_modules/.pnpm/viem@2.38.0_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@3.22.4/node_modules/viem/_esm/index.js
2838
+ // ../../node_modules/.pnpm/viem@2.38.0_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/index.js
2839
2839
  init_keccak256();
2840
2840
 
2841
2841
  // src/iframe/lib/dkg-manager.ts
@@ -4411,7 +4411,7 @@ var SigningManager = class extends TokenRefreshApiClient {
4411
4411
  };
4412
4412
 
4413
4413
  // src/iframe/main.ts
4414
- var IFRAME_VERSION = "1.17.9";
4414
+ var IFRAME_VERSION = "1.17.11";
4415
4415
  var IframeWallet = class {
4416
4416
  constructor() {
4417
4417
  console.log("=".repeat(60));