@mantle-rwa/react 0.1.1 → 0.1.3

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.
Files changed (73) hide show
  1. package/dist/cjs/components/ConnectWalletPrompt.js +13 -0
  2. package/dist/cjs/components/ConnectWalletPrompt.js.map +1 -0
  3. package/dist/cjs/components/ErrorDisplay.js +42 -0
  4. package/dist/cjs/components/ErrorDisplay.js.map +1 -0
  5. package/dist/cjs/components/InvestorDashboard.js +156 -0
  6. package/dist/cjs/components/InvestorDashboard.js.map +1 -0
  7. package/dist/cjs/components/KYCFlow.js +146 -0
  8. package/dist/cjs/components/KYCFlow.js.map +1 -0
  9. package/dist/cjs/components/LoadingSpinner.js +18 -0
  10. package/dist/cjs/components/LoadingSpinner.js.map +1 -0
  11. package/dist/cjs/components/TokenMintForm.js +163 -0
  12. package/dist/cjs/components/TokenMintForm.js.map +1 -0
  13. package/dist/cjs/components/YieldCalculator.js +97 -0
  14. package/dist/cjs/components/YieldCalculator.js.map +1 -0
  15. package/dist/cjs/hooks/useRWA.js +87 -40
  16. package/dist/cjs/hooks/useRWA.js.map +1 -1
  17. package/dist/cjs/index.js +11 -1
  18. package/dist/cjs/index.js.map +1 -1
  19. package/dist/cjs/types/index.js +2 -2
  20. package/dist/cjs/types/index.js.map +1 -1
  21. package/dist/esm/components/ConnectWalletPrompt.js +10 -0
  22. package/dist/esm/components/ConnectWalletPrompt.js.map +1 -0
  23. package/dist/esm/components/ErrorDisplay.js +38 -0
  24. package/dist/esm/components/ErrorDisplay.js.map +1 -0
  25. package/dist/esm/components/InvestorDashboard.js +153 -0
  26. package/dist/esm/components/InvestorDashboard.js.map +1 -0
  27. package/dist/esm/components/KYCFlow.js +143 -0
  28. package/dist/esm/components/KYCFlow.js.map +1 -0
  29. package/dist/esm/components/LoadingSpinner.js +15 -0
  30. package/dist/esm/components/LoadingSpinner.js.map +1 -0
  31. package/dist/esm/components/TokenMintForm.js +158 -0
  32. package/dist/esm/components/TokenMintForm.js.map +1 -0
  33. package/dist/esm/components/YieldCalculator.js +94 -0
  34. package/dist/esm/components/YieldCalculator.js.map +1 -0
  35. package/dist/esm/hooks/useRWA.js +86 -39
  36. package/dist/esm/hooks/useRWA.js.map +1 -1
  37. package/dist/esm/index.js +4 -0
  38. package/dist/esm/index.js.map +1 -1
  39. package/dist/esm/types/index.js +3 -3
  40. package/dist/esm/types/index.js.map +1 -1
  41. package/dist/styles.css +3 -1
  42. package/dist/types/components/ConnectWalletPrompt.d.ts +15 -0
  43. package/dist/types/components/ConnectWalletPrompt.d.ts.map +1 -0
  44. package/dist/types/components/ErrorDisplay.d.ts +16 -0
  45. package/dist/types/components/ErrorDisplay.d.ts.map +1 -0
  46. package/dist/types/components/InvestorDashboard.d.ts +7 -0
  47. package/dist/types/components/InvestorDashboard.d.ts.map +1 -0
  48. package/dist/types/components/KYCFlow.d.ts +7 -0
  49. package/dist/types/components/KYCFlow.d.ts.map +1 -0
  50. package/dist/types/components/LoadingSpinner.d.ts +10 -0
  51. package/dist/types/components/LoadingSpinner.d.ts.map +1 -0
  52. package/dist/types/components/TokenMintForm.d.ts +15 -0
  53. package/dist/types/components/TokenMintForm.d.ts.map +1 -0
  54. package/dist/types/components/YieldCalculator.d.ts +7 -0
  55. package/dist/types/components/YieldCalculator.d.ts.map +1 -0
  56. package/dist/types/hooks/useRWA.d.ts +7 -19
  57. package/dist/types/hooks/useRWA.d.ts.map +1 -1
  58. package/dist/types/index.d.ts +5 -1
  59. package/dist/types/index.d.ts.map +1 -1
  60. package/dist/types/types/index.d.ts +113 -131
  61. package/dist/types/types/index.d.ts.map +1 -1
  62. package/package.json +5 -3
  63. package/src/components/ConnectWalletPrompt.tsx +47 -0
  64. package/src/components/ErrorDisplay.tsx +90 -0
  65. package/src/components/InvestorDashboard.tsx +315 -0
  66. package/src/components/KYCFlow.tsx +267 -0
  67. package/src/components/LoadingSpinner.tsx +33 -0
  68. package/src/components/TokenMintForm.tsx +291 -0
  69. package/src/components/YieldCalculator.tsx +250 -0
  70. package/src/hooks/useRWA.ts +110 -0
  71. package/src/index.ts +4 -0
  72. package/src/styles/index.css +68 -14
  73. package/src/types/index.ts +200 -0
package/dist/esm/index.js CHANGED
@@ -6,7 +6,11 @@
6
6
  export { KYCFlow } from './components/KYCFlow';
7
7
  export { InvestorDashboard } from './components/InvestorDashboard';
8
8
  export { TokenMintForm } from './components/TokenMintForm';
9
+ export { isValidAddress, isValidAmount } from './components/TokenMintForm';
9
10
  export { YieldCalculator } from './components/YieldCalculator';
11
+ export { ErrorDisplay, formatErrorMessage } from './components/ErrorDisplay';
12
+ export { LoadingSpinner } from './components/LoadingSpinner';
13
+ export { ConnectWalletPrompt } from './components/ConnectWalletPrompt';
10
14
  // Hooks
11
15
  export { useRWA } from './hooks/useRWA';
12
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,aAAa;AACb,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,QAAQ;AACR,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,aAAa;AACb,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAEvE,QAAQ;AACR,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  /**
2
- * Type definitions for @mantle-rwa/react components
2
+ * Type definitions for @mantle-rwa/react
3
3
  */
4
- // Re-export SDK types that are commonly used
5
- export { AccreditationTier } from '@mantle-rwa/sdk';
4
+ // Re-export relevant types from SDK
5
+ export { AccreditationTier, } from '@mantle-rwa/sdk';
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,6CAA6C;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,oCAAoC;AACpC,OAAO,EACH,iBAAiB,GAUpB,MAAM,iBAAiB,CAAC"}
package/dist/styles.css CHANGED
@@ -1 +1,3 @@
1
- *,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.mr-2{margin-right:.5rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.table{display:table}.grid{display:grid}.h-3{height:.75rem}.h-4{height:1rem}.h-48{height:12rem}.h-8{height:2rem}.h-full{height:100%}.max-h-40{max-height:10rem}.w-16{width:4rem}.w-24{width:6rem}.w-3{width:.75rem}.w-4{width:1rem}.w-48{width:12rem}.w-8{width:2rem}.w-full{width:100%}.max-w-\[100px\]{max-width:100px}.flex-1{flex:1 1 0%}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-4{gap:1rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity,1))}.border-mantle-600{--tw-border-opacity:1;border-color:rgb(22 163 74/var(--tw-border-opacity,1))}.border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.border-t-transparent{border-top-color:transparent}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.bg-mantle-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity,1))}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-1{padding-bottom:.25rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-2xl{font-size:1.5rem;line-height:2rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.text-mantle-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-yellow-700{--tw-text-opacity:1;color:rgb(161 98 7/var(--tw-text-opacity,1))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300{transition-duration:.3s}.rwa-card{border-radius:.5rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:1rem;--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.rwa-card:is(.dark *){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.rwa-button{display:inline-flex;align-items:center;justify-content:center;border-radius:.375rem;padding:.5rem 1rem;font-size:.875rem;line-height:1.25rem;font-weight:500;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.rwa-button:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-offset-width:2px}.rwa-button:disabled{cursor:not-allowed;opacity:.5}.rwa-button-primary{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));display:inline-flex;align-items:center;justify-content:center;border-radius:.375rem;padding:.5rem 1rem;font-size:.875rem;line-height:1.25rem;font-weight:500;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.rwa-button-primary:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-offset-width:2px}.rwa-button-primary:disabled{cursor:not-allowed;opacity:.5}.rwa-button-primary:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.rwa-button-primary:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(34 197 94/var(--tw-ring-opacity,1))}.rwa-button-secondary{border-width:1px;--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1));display:inline-flex;align-items:center;justify-content:center;border-radius:.375rem;padding:.5rem 1rem;font-size:.875rem;line-height:1.25rem;font-weight:500;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.rwa-button-secondary:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-offset-width:2px}.rwa-button-secondary:disabled{cursor:not-allowed;opacity:.5}.rwa-button-secondary:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.rwa-button-secondary:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(34 197 94/var(--tw-ring-opacity,1))}.rwa-button-secondary:is(.dark *){--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.rwa-button-secondary:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.rwa-input{display:block;width:100%;border-radius:.375rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1));padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem}.rwa-input::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity,1))}.rwa-input::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity,1))}.rwa-input:focus{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity,1));outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1;--tw-ring-color:rgb(34 197 94/var(--tw-ring-opacity,1))}.rwa-input:is(.dark *){--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.rwa-input:is(.dark *)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(107 114 128/var(--tw-placeholder-opacity,1))}.rwa-input:is(.dark *)::placeholder{--tw-placeholder-opacity:1;color:rgb(107 114 128/var(--tw-placeholder-opacity,1))}.rwa-label{display:block;font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.rwa-label:is(.dark *){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.rwa-kyc-flow{border-radius:.5rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:1.5rem;--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.rwa-kyc-flow.dark{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.rwa-kyc-header{margin-bottom:1rem;font-size:1.125rem;line-height:1.75rem;font-weight:600;--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.rwa-kyc-flow.dark .rwa-kyc-header{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.rwa-kyc-error{margin-bottom:1rem;display:flex;align-items:center;gap:.5rem;border-radius:.375rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1));padding:.75rem;--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.rwa-kyc-flow.dark .rwa-kyc-error{--tw-border-opacity:1;border-color:rgb(153 27 27/var(--tw-border-opacity,1));background-color:rgba(127,29,29,.2);--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.rwa-kyc-error-icon{flex-shrink:0}.rwa-kyc-provider{margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem;border-radius:.375rem;--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1));padding:.75rem}.rwa-kyc-flow.dark .rwa-kyc-provider{background-color:rgba(55,65,81,.5)}.rwa-kyc-provider-logo{font-size:1.5rem;line-height:2rem}.rwa-kyc-provider-details{display:flex;flex-direction:column}.rwa-kyc-provider-name{font-weight:500;--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.rwa-kyc-flow.dark .rwa-kyc-provider-name{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.rwa-kyc-provider-description{font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.rwa-kyc-flow.dark .rwa-kyc-provider-description{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.rwa-kyc-steps{margin-bottom:1.5rem}.rwa-kyc-steps>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.rwa-kyc-step{display:flex;align-items:flex-start;gap:.75rem;border-radius:.375rem;padding:.75rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.rwa-kyc-step.pending{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.rwa-kyc-flow.dark .rwa-kyc-step.pending{background-color:rgba(55,65,81,.3)}.rwa-kyc-step.in_progress{border-width:1px;--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.rwa-kyc-flow.dark .rwa-kyc-step.in_progress{--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity,1));background-color:rgba(30,58,138,.2)}.rwa-kyc-step.completed{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.rwa-kyc-flow.dark .rwa-kyc-step.completed{background-color:rgba(20,83,45,.2)}.rwa-kyc-step.failed{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.rwa-kyc-flow.dark .rwa-kyc-step.failed{background-color:rgba(127,29,29,.2)}.rwa-kyc-step-indicator{display:flex;height:2rem;width:2rem;flex-shrink:0;align-items:center;justify-content:center;border-radius:9999px;font-size:.875rem;line-height:1.25rem;font-weight:500}.rwa-kyc-step.pending .rwa-kyc-step-indicator{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.rwa-kyc-flow.dark .rwa-kyc-step.pending .rwa-kyc-step-indicator{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.rwa-kyc-step.in_progress .rwa-kyc-step-indicator{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.rwa-kyc-step.completed .rwa-kyc-step-indicator{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.rwa-kyc-step.failed .rwa-kyc-step-indicator{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.rwa-kyc-step-content{display:flex;flex-direction:column}.rwa-kyc-step-label{font-weight:500;--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.rwa-kyc-flow.dark .rwa-kyc-step-label{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.rwa-kyc-step-description{margin-top:.125rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.rwa-kyc-flow.dark .rwa-kyc-step-description{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.rwa-kyc-actions{margin-top:1.5rem}.rwa-kyc-actions button{width:100%}.rwa-kyc-success{display:flex;align-items:center;justify-content:center;gap:.5rem;border-radius:.375rem;--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1));padding:.75rem;font-weight:500;--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.rwa-kyc-flow.dark .rwa-kyc-success{background-color:rgba(20,83,45,.2);--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.rwa-kyc-success-icon{font-size:1.125rem;line-height:1.75rem}.rwa-kyc-session{margin-top:1rem;text-align:center}.file\:mr-4::file-selector-button{margin-right:1rem}.file\:rounded-md::file-selector-button{border-radius:.375rem}.file\:border-0::file-selector-button{border-width:0}.file\:bg-mantle-50::file-selector-button{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.file\:px-4::file-selector-button{padding-left:1rem;padding-right:1rem}.file\:py-2::file-selector-button{padding-top:.5rem;padding-bottom:.5rem}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-mantle-700::file-selector-button{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.hover\:text-mantle-700:hover{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.hover\:file\:bg-mantle-100::file-selector-button:hover{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.dark\:border-gray-600:is(.dark *){--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.dark\:border-gray-700:is(.dark *){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.dark\:border-red-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(153 27 27/var(--tw-border-opacity,1))}.dark\:bg-blue-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.dark\:bg-gray-700:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\:bg-green-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(20 83 45/var(--tw-bg-opacity,1))}.dark\:bg-green-900\/20:is(.dark *){background-color:rgba(20,83,45,.2)}.dark\:bg-red-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.dark\:bg-red-900\/20:is(.dark *){background-color:rgba(127,29,29,.2)}.dark\:bg-yellow-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(113 63 18/var(--tw-bg-opacity,1))}.dark\:text-blue-200:is(.dark *){--tw-text-opacity:1;color:rgb(191 219 254/var(--tw-text-opacity,1))}.dark\:text-gray-300:is(.dark *){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.dark\:text-gray-400:is(.dark *){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.dark\:text-green-200:is(.dark *){--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity,1))}.dark\:text-green-300:is(.dark *){--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.dark\:text-red-200:is(.dark *){--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.dark\:text-red-300:is(.dark *){--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.dark\:text-white:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dark\:text-yellow-200:is(.dark *){--tw-text-opacity:1;color:rgb(254 240 138/var(--tw-text-opacity,1))}@media (min-width:640px){.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}
1
+ *,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }
2
+
3
+ /*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.rwa-investor-dashboard,.rwa-kyc-flow{width:100%}.rwa-token-mint-form{width:100%;max-width:28rem}.rwa-error-display,.rwa-yield-calculator{width:100%}.rwa-loading-spinner{display:inline-flex;align-items:center;justify-content:center}.rwa-connect-wallet-prompt{width:100%}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.block{display:block}.flex{display:flex}.table{display:table}.grid{display:grid}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.w-32{width:8rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-full{width:100%}.min-w-full{min-width:100%}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-not-allowed{cursor:not-allowed}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-4{gap:1rem}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity,1))}.overflow-hidden{overflow:hidden}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-l-md{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.rounded-r-md{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.border{border-width:1px}.border-b-2{border-bottom-width:2px}.border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.border-yellow-200{--tw-border-opacity:1;border-color:rgb(254 240 138/var(--tw-border-opacity,1))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-yellow-50{--tw-bg-opacity:1;background-color:rgb(254 252 232/var(--tw-bg-opacity,1))}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.tracking-wider{letter-spacing:.05em}.text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-yellow-600{--tw-text-opacity:1;color:rgb(202 138 4/var(--tw-text-opacity,1))}.text-yellow-700{--tw-text-opacity:1;color:rgb(161 98 7/var(--tw-text-opacity,1))}.text-yellow-800{--tw-text-opacity:1;color:rgb(133 77 14/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.dark .rwa-investor-dashboard,.dark .rwa-kyc-flow,.dark .rwa-token-mint-form,.dark .rwa-yield-calculator{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}@keyframes rwa-spin{to{transform:rotate(1turn)}}.rwa-animate-spin{animation:rwa-spin 1s linear infinite}.hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.hover\:text-red-500:hover{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.hover\:no-underline:hover{text-decoration-line:none}.focus\:border-blue-500:focus{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.focus\:border-red-500:focus{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.disabled\:bg-gray-400:disabled{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.dark\:divide-gray-700:is(.dark *)>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(55 65 81/var(--tw-divide-opacity,1))}.dark\:border-blue-400:is(.dark *){--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.dark\:border-blue-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity,1))}.dark\:border-gray-600:is(.dark *){--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.dark\:border-gray-700:is(.dark *){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.dark\:border-green-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(22 101 52/var(--tw-border-opacity,1))}.dark\:border-red-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(153 27 27/var(--tw-border-opacity,1))}.dark\:border-yellow-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(133 77 14/var(--tw-border-opacity,1))}.dark\:bg-blue-900\/20:is(.dark *){background-color:rgba(30,58,138,.2)}.dark\:bg-gray-700:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\:bg-gray-800:is(.dark *){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.dark\:bg-gray-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.dark\:bg-green-900\/20:is(.dark *){background-color:rgba(20,83,45,.2)}.dark\:bg-red-900\/20:is(.dark *){background-color:rgba(127,29,29,.2)}.dark\:bg-yellow-900\/20:is(.dark *){background-color:rgba(113,63,18,.2)}.dark\:text-blue-200:is(.dark *){--tw-text-opacity:1;color:rgb(191 219 254/var(--tw-text-opacity,1))}.dark\:text-blue-300:is(.dark *){--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.dark\:text-gray-200:is(.dark *){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.dark\:text-gray-300:is(.dark *){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.dark\:text-gray-400:is(.dark *){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.dark\:text-green-200:is(.dark *){--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity,1))}.dark\:text-green-300:is(.dark *){--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.dark\:text-green-400:is(.dark *){--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.dark\:text-red-200:is(.dark *){--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.dark\:text-red-300:is(.dark *){--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.dark\:text-red-400:is(.dark *){--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.dark\:text-white:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dark\:text-yellow-200:is(.dark *){--tw-text-opacity:1;color:rgb(254 240 138/var(--tw-text-opacity,1))}.dark\:text-yellow-300:is(.dark *){--tw-text-opacity:1;color:rgb(253 224 71/var(--tw-text-opacity,1))}.dark\:text-yellow-400:is(.dark *){--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity,1))}.dark\:hover\:text-red-300:hover:is(.dark *){--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * ConnectWalletPrompt - Prompt for wallet connection
3
+ */
4
+ interface ConnectWalletPromptProps {
5
+ /** Message to display */
6
+ message?: string;
7
+ /** Custom CSS class */
8
+ className?: string;
9
+ }
10
+ /**
11
+ * ConnectWalletPrompt component
12
+ */
13
+ export declare function ConnectWalletPrompt({ message, className, }: ConnectWalletPromptProps): JSX.Element;
14
+ export default ConnectWalletPrompt;
15
+ //# sourceMappingURL=ConnectWalletPrompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConnectWalletPrompt.d.ts","sourceRoot":"","sources":["../../../src/components/ConnectWalletPrompt.tsx"],"names":[],"mappings":"AAEA;;GAEG;AAEH,UAAU,wBAAwB;IAC9B,yBAAyB;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,EAChC,OAAmD,EACnD,SAAc,GACjB,EAAE,wBAAwB,GAAG,GAAG,CAAC,OAAO,CAyBxC;AAED,eAAe,mBAAmB,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * ErrorDisplay - Shared error display component
3
+ *
4
+ * Provides consistent error UI across all components with retry functionality.
5
+ */
6
+ import type { ErrorDisplayProps } from '../types';
7
+ /**
8
+ * Format error message for display
9
+ */
10
+ export declare function formatErrorMessage(error: Error): string;
11
+ /**
12
+ * ErrorDisplay component for consistent error UI
13
+ */
14
+ export declare function ErrorDisplay({ error, onRetry, className, }: ErrorDisplayProps): JSX.Element;
15
+ export default ErrorDisplay;
16
+ //# sourceMappingURL=ErrorDisplay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ErrorDisplay.d.ts","sourceRoot":"","sources":["../../../src/components/ErrorDisplay.tsx"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAElD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAyBvD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,EACzB,KAAK,EACL,OAAO,EACP,SAAc,GACjB,EAAE,iBAAiB,GAAG,GAAG,CAAC,OAAO,CAwCjC;AAED,eAAe,YAAY,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { InvestorDashboardProps } from '../types';
2
+ /**
3
+ * InvestorDashboard component
4
+ */
5
+ export declare function InvestorDashboard({ tokenAddress, kycRegistryAddress, yieldDistributorAddress, investorAddress, onClaimSuccess, onError, className, }: InvestorDashboardProps): JSX.Element;
6
+ export default InvestorDashboard;
7
+ //# sourceMappingURL=InvestorDashboard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InvestorDashboard.d.ts","sourceRoot":"","sources":["../../../src/components/InvestorDashboard.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AA8BvD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,EAC9B,YAAY,EACZ,kBAAkB,EAClB,uBAAuB,EACvB,eAAe,EACf,cAAc,EACd,OAAO,EACP,SAAc,GACjB,EAAE,sBAAsB,GAAG,GAAG,CAAC,OAAO,CAmQtC;AAED,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { KYCFlowProps } from '../types';
2
+ /**
3
+ * KYCFlow component for guiding users through KYC verification
4
+ */
5
+ export declare function KYCFlow({ registryAddress, investorAddress, onStatusChange, onComplete, onError, className, }: KYCFlowProps): JSX.Element;
6
+ export default KYCFlow;
7
+ //# sourceMappingURL=KYCFlow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KYCFlow.d.ts","sourceRoot":"","sources":["../../../src/components/KYCFlow.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,YAAY,EAAsB,MAAM,UAAU,CAAC;AAgCjE;;GAEG;AACH,wBAAgB,OAAO,CAAC,EACpB,eAAe,EACf,eAAe,EACf,cAAc,EACd,UAAU,EACV,OAAO,EACP,SAAc,GACjB,EAAE,YAAY,GAAG,GAAG,CAAC,OAAO,CAkN5B;AAED,eAAe,OAAO,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * LoadingSpinner - Shared loading indicator component
3
+ */
4
+ import type { LoadingSpinnerProps } from '../types';
5
+ /**
6
+ * LoadingSpinner component
7
+ */
8
+ export declare function LoadingSpinner({ size, className, }: LoadingSpinnerProps): JSX.Element;
9
+ export default LoadingSpinner;
10
+ //# sourceMappingURL=LoadingSpinner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoadingSpinner.d.ts","sourceRoot":"","sources":["../../../src/components/LoadingSpinner.tsx"],"names":[],"mappings":"AAEA;;GAEG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAQpD;;GAEG;AACH,wBAAgB,cAAc,CAAC,EAC3B,IAAW,EACX,SAAc,GACjB,EAAE,mBAAmB,GAAG,GAAG,CAAC,OAAO,CAUnC;AAED,eAAe,cAAc,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { TokenMintFormProps } from '../types';
2
+ /**
3
+ * Validate Ethereum address format
4
+ */
5
+ export declare function isValidAddress(address: string): boolean;
6
+ /**
7
+ * Validate amount is positive
8
+ */
9
+ export declare function isValidAmount(amount: string): boolean;
10
+ /**
11
+ * TokenMintForm component
12
+ */
13
+ export declare function TokenMintForm({ tokenAddress, kycRegistryAddress, onSuccess, onError, className, }: TokenMintFormProps): JSX.Element;
14
+ export default TokenMintForm;
15
+ //# sourceMappingURL=TokenMintForm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TokenMintForm.d.ts","sourceRoot":"","sources":["../../../src/components/TokenMintForm.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAGnD;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAGrD;AAoCD;;GAEG;AACH,wBAAgB,aAAa,CAAC,EAC1B,YAAY,EACZ,kBAAkB,EAClB,SAAS,EACT,OAAO,EACP,SAAc,GACjB,EAAE,kBAAkB,GAAG,GAAG,CAAC,OAAO,CAyNlC;AAED,eAAe,aAAa,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { YieldCalculatorProps } from '../types';
2
+ /**
3
+ * YieldCalculator component
4
+ */
5
+ export declare function YieldCalculator({ tokenAddress, yieldDistributorAddress: _yieldDistributorAddress, holderAddresses, onCalculate, onError, className, }: YieldCalculatorProps): JSX.Element;
6
+ export default YieldCalculator;
7
+ //# sourceMappingURL=YieldCalculator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"YieldCalculator.d.ts","sourceRoot":"","sources":["../../../src/components/YieldCalculator.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAmBrD;;GAEG;AACH,wBAAgB,eAAe,CAAC,EAC5B,YAAY,EACZ,uBAAuB,EAAE,wBAAwB,EACjD,eAAe,EACf,WAAW,EACX,OAAO,EACP,SAAc,GACjB,EAAE,oBAAoB,GAAG,GAAG,CAAC,OAAO,CA+MpC;AAED,eAAe,eAAe,CAAC"}
@@ -1,22 +1,10 @@
1
+ import type { UseRWAConfig, UseRWAReturn } from '../types';
1
2
  /**
2
- * useRWA hook for accessing RWA SDK functionality in React components
3
+ * Hook for initializing and managing the RWA SDK client
4
+ *
5
+ * @param config - Optional configuration for network and contract addresses
6
+ * @returns UseRWAReturn object with client, state, and utilities
3
7
  */
4
- import type { UseRWAReturn } from '../types';
5
- /**
6
- * Hook for accessing RWA SDK functionality
7
- * Provides connection status and SDK client access
8
- */
9
- export declare function useRWA(): UseRWAReturn;
10
- declare global {
11
- interface Window {
12
- ethereum?: {
13
- request?: (args: {
14
- method: string;
15
- params?: unknown[];
16
- }) => Promise<unknown>;
17
- on?: (event: string, callback: (...args: unknown[]) => void) => void;
18
- removeListener?: (event: string, callback: (...args: unknown[]) => void) => void;
19
- };
20
- }
21
- }
8
+ export declare function useRWA(config?: UseRWAConfig): UseRWAReturn;
9
+ export default useRWA;
22
10
  //# sourceMappingURL=useRWA.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useRWA.d.ts","sourceRoot":"","sources":["../../../src/hooks/useRWA.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C;;;GAGG;AACH,wBAAgB,MAAM,IAAI,YAAY,CA+CrC;AAGD,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,MAAM;QACZ,QAAQ,CAAC,EAAE;YACP,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE;gBAAE,MAAM,EAAE,MAAM,CAAC;gBAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAA;aAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;YAC7E,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,KAAK,IAAI,CAAC;YACrE,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,KAAK,IAAI,CAAC;SACpF,CAAC;KACL;CACJ"}
1
+ {"version":3,"file":"useRWA.d.ts","sourceRoot":"","sources":["../../../src/hooks/useRWA.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAqB,MAAM,UAAU,CAAC;AAW9E;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,YAAY,CAgE1D;AAED,eAAe,MAAM,CAAC"}
@@ -5,7 +5,11 @@
5
5
  export { KYCFlow } from './components/KYCFlow';
6
6
  export { InvestorDashboard } from './components/InvestorDashboard';
7
7
  export { TokenMintForm } from './components/TokenMintForm';
8
+ export { isValidAddress, isValidAmount } from './components/TokenMintForm';
8
9
  export { YieldCalculator } from './components/YieldCalculator';
10
+ export { ErrorDisplay, formatErrorMessage } from './components/ErrorDisplay';
11
+ export { LoadingSpinner } from './components/LoadingSpinner';
12
+ export { ConnectWalletPrompt } from './components/ConnectWalletPrompt';
9
13
  export { useRWA } from './hooks/useRWA';
10
- export type { Theme, KYCProviderType, KYCRequiredField, KYCResult, KYCFlowProps, KYCFlowStyles, InvestorDashboardProps, YieldHistoryEntry, TokenMintFormProps, BatchMintEntry, YieldCalculatorProps, PaymentToken, DistributionConfig, DistributionPreviewEntry, UseRWAReturn, } from './types';
14
+ export type * from './types';
11
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAG/D,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAGxC,YAAY,EACR,KAAK,EACL,eAAe,EACf,gBAAgB,EAChB,SAAS,EACT,YAAY,EACZ,aAAa,EACb,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,oBAAoB,EACpB,YAAY,EACZ,kBAAkB,EAClB,wBAAwB,EACxB,YAAY,GACf,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAGvE,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAGxC,mBAAmB,SAAS,CAAC"}
@@ -1,177 +1,159 @@
1
1
  /**
2
- * Type definitions for @mantle-rwa/react components
3
- */
4
- export { AccreditationTier } from '@mantle-rwa/sdk';
5
- /**
6
- * Theme options for components
7
- */
8
- export type Theme = 'light' | 'dark';
2
+ * Type definitions for @mantle-rwa/react
3
+ */
4
+ export { AccreditationTier, type TokenInfo, type InvestorData, type TransactionResult, type Distribution, type DistributionPreview, type HolderDistribution, type PendingClaim, type VerificationSession, type NetworkConfig, } from '@mantle-rwa/sdk';
5
+ import type { RWAClient, TransactionResult, AccreditationTier, DistributionPreview } from '@mantle-rwa/sdk';
6
+ /**
7
+ * Contract addresses configuration
8
+ */
9
+ export interface ContractAddresses {
10
+ /** RWA token contract address */
11
+ token?: string;
12
+ /** KYC registry contract address */
13
+ kycRegistry?: string;
14
+ /** Yield distributor contract address */
15
+ yieldDistributor?: string;
16
+ /** Asset vault contract address */
17
+ assetVault?: string;
18
+ /** RWA factory contract address */
19
+ factory?: string;
20
+ }
9
21
  /**
10
- * KYC Provider options
22
+ * Configuration for useRWA hook
11
23
  */
12
- export type KYCProviderType = 'persona' | 'synaps' | 'jumio';
24
+ export interface UseRWAConfig {
25
+ /** Network to connect to (default: 'mantle-sepolia') */
26
+ network?: 'mantle' | 'mantle-sepolia';
27
+ /** Contract addresses configuration */
28
+ contracts?: ContractAddresses;
29
+ }
13
30
  /**
14
- * Required fields for KYC verification
31
+ * Return type for useRWA hook
15
32
  */
16
- export type KYCRequiredField = 'identity' | 'accreditation' | 'address' | 'tax';
33
+ export interface UseRWAReturn {
34
+ /** The RWAClient instance (null if not initialized) */
35
+ client: RWAClient | null;
36
+ /** Whether the client is initialized and ready */
37
+ isInitialized: boolean;
38
+ /** Whether the client is currently initializing */
39
+ isLoading: boolean;
40
+ /** Error that occurred during initialization */
41
+ error: Error | null;
42
+ /** Whether a signer is available (wallet connected) */
43
+ hasSigner: boolean;
44
+ /** Contract addresses */
45
+ contracts: ContractAddresses;
46
+ /** Reinitialize the client */
47
+ reinitialize: () => Promise<void>;
48
+ }
17
49
  /**
18
- * KYC verification result
50
+ * Verification status for KYC flow
19
51
  */
20
- export interface KYCResult {
21
- verified: boolean;
22
- tier: number;
23
- identityHash: string;
24
- sessionId: string;
25
- }
52
+ export type VerificationStatus = 'idle' | 'pending' | 'in_progress' | 'completed' | 'failed';
26
53
  /**
27
- * KYCFlow component props
28
- * @see Requirements 10.1, 10.2, 10.3, 10.4, 10.5
54
+ * Props for KYCFlow component
29
55
  */
30
56
  export interface KYCFlowProps {
31
- /** KYC provider to use */
32
- provider: KYCProviderType;
33
- /** Callback when KYC verification completes */
34
- onComplete: (kycData: KYCResult) => void;
57
+ /** KYC registry contract address */
58
+ registryAddress: string;
59
+ /** Investor address to verify (defaults to connected wallet) */
60
+ investorAddress?: string;
61
+ /** Callback when verification status changes */
62
+ onStatusChange?: (status: VerificationStatus) => void;
63
+ /** Callback when verification completes successfully */
64
+ onComplete?: (tier: AccreditationTier) => void;
35
65
  /** Callback when an error occurs */
36
66
  onError?: (error: Error) => void;
37
- /** Required verification fields */
38
- requiredFields: KYCRequiredField[];
39
- /** Theme mode */
40
- theme?: Theme;
41
- /** Custom styles override */
42
- customStyles?: Partial<KYCFlowStyles>;
43
- /** KYC Registry contract address for auto-update */
44
- registryAddress?: string;
45
- /** Whether to automatically update the on-chain registry */
46
- autoUpdateRegistry?: boolean;
67
+ /** Custom CSS class */
68
+ className?: string;
47
69
  }
48
70
  /**
49
- * Custom styles for KYCFlow component
50
- */
51
- export interface KYCFlowStyles {
52
- container?: string;
53
- header?: string;
54
- content?: string;
55
- button?: string;
56
- input?: string;
57
- error?: string;
58
- }
59
- /**
60
- * InvestorDashboard component props
61
- * @see Requirements 11.1, 11.2, 11.3, 11.4, 11.5
71
+ * Props for InvestorDashboard component
62
72
  */
63
73
  export interface InvestorDashboardProps {
64
- /** RWA Token contract address */
74
+ /** RWA token contract address */
65
75
  tokenAddress: string;
66
- /** Yield Distributor contract address */
67
- yieldDistributorAddress: string;
68
- /** KYC Registry contract address */
76
+ /** KYC registry contract address */
69
77
  kycRegistryAddress: string;
70
- /** Theme mode */
71
- theme?: Theme;
72
- /** Callback when yield is claimed */
73
- onClaimYield?: (distributionId: number) => void;
74
- /** Whether to show portfolio value */
75
- showPortfolioValue?: boolean;
76
- /** Price oracle address for portfolio value calculation */
77
- priceOracle?: string;
78
- }
79
- /**
80
- * Yield history entry
81
- */
82
- export interface YieldHistoryEntry {
83
- distributionId: number;
84
- amount: bigint;
85
- paymentToken: string;
86
- claimedAt: Date;
78
+ /** Yield distributor contract address */
79
+ yieldDistributorAddress: string;
80
+ /** Investor address (defaults to connected wallet) */
81
+ investorAddress?: string;
82
+ /** Callback when yield claim succeeds */
83
+ onClaimSuccess?: (result: TransactionResult) => void;
84
+ /** Callback when an error occurs */
85
+ onError?: (error: Error) => void;
86
+ /** Custom CSS class */
87
+ className?: string;
87
88
  }
88
89
  /**
89
- * TokenMintForm component props
90
- * @see Requirements 12.1, 12.2, 12.3, 12.4
90
+ * Props for TokenMintForm component
91
91
  */
92
92
  export interface TokenMintFormProps {
93
- /** RWA Token contract address */
93
+ /** RWA token contract address */
94
94
  tokenAddress: string;
95
- /** KYC Registry contract address */
95
+ /** KYC registry contract address */
96
96
  kycRegistryAddress: string;
97
- /** Callback when minting completes */
98
- onMintComplete?: (txHash: string, recipient: string, amount: string) => void;
97
+ /** Callback when mint succeeds */
98
+ onSuccess?: (result: TransactionResult) => void;
99
99
  /** Callback when an error occurs */
100
100
  onError?: (error: Error) => void;
101
- /** Whether to allow batch minting via CSV */
102
- allowBatchMint?: boolean;
103
- /** Maximum batch size for CSV uploads */
104
- maxBatchSize?: number;
105
- /** Theme mode */
106
- theme?: Theme;
107
- }
108
- /**
109
- * Batch mint entry from CSV
110
- */
111
- export interface BatchMintEntry {
112
- recipient: string;
113
- amount: string;
101
+ /** Custom CSS class */
102
+ className?: string;
114
103
  }
115
104
  /**
116
- * YieldCalculator component props
117
- * @see Requirements 13.1, 13.2, 13.3, 13.4
105
+ * Props for YieldCalculator component
118
106
  */
119
107
  export interface YieldCalculatorProps {
120
- /** RWA Token contract address */
108
+ /** RWA token contract address */
121
109
  tokenAddress: string;
122
- /** Yield Distributor contract address */
110
+ /** Yield distributor contract address */
123
111
  yieldDistributorAddress: string;
124
- /** Supported payment tokens */
125
- supportedPaymentTokens: PaymentToken[];
126
- /** Callback when distribution is initiated */
127
- onDistribute?: (config: DistributionConfig) => void;
128
- /** Whether to show distribution chart */
129
- showChart?: boolean;
130
- /** Whether to allow export functionality */
131
- allowExport?: boolean;
132
- /** Theme mode */
133
- theme?: Theme;
112
+ /** Optional list of holder addresses to include in preview */
113
+ holderAddresses?: string[];
114
+ /** Callback when calculation completes */
115
+ onCalculate?: (preview: DistributionPreview) => void;
116
+ /** Callback when an error occurs */
117
+ onError?: (error: Error) => void;
118
+ /** Custom CSS class */
119
+ className?: string;
134
120
  }
135
121
  /**
136
- * Payment token configuration
122
+ * Common loading state interface
137
123
  */
138
- export interface PaymentToken {
139
- address: string;
140
- symbol: string;
141
- decimals: number;
124
+ export interface LoadingState {
125
+ /** Whether data is loading */
126
+ isLoading: boolean;
127
+ /** Error that occurred */
128
+ error: Error | null;
142
129
  }
143
130
  /**
144
- * Distribution configuration
131
+ * Transaction state interface
145
132
  */
146
- export interface DistributionConfig {
147
- tokenAddress: string;
148
- paymentToken: string;
149
- totalAmount: string;
150
- snapshotDate?: Date;
151
- claimWindowDays?: number;
133
+ export interface TransactionState extends LoadingState {
134
+ /** Whether a transaction is pending */
135
+ isPending: boolean;
136
+ /** Transaction hash if available */
137
+ txHash: string | null;
152
138
  }
153
139
  /**
154
- * Distribution preview entry
140
+ * Props for ErrorDisplay component
155
141
  */
156
- export interface DistributionPreviewEntry {
157
- address: string;
158
- balance: bigint;
159
- yieldAmount: bigint;
160
- percentage: number;
142
+ export interface ErrorDisplayProps {
143
+ /** Error to display */
144
+ error: Error;
145
+ /** Callback for retry action */
146
+ onRetry?: () => void;
147
+ /** Custom CSS class */
148
+ className?: string;
161
149
  }
162
150
  /**
163
- * useRWA hook return type
151
+ * Props for LoadingSpinner component
164
152
  */
165
- export interface UseRWAReturn {
166
- /** Whether the SDK client is initialized */
167
- isInitialized: boolean;
168
- /** Current network chain ID */
169
- chainId: number | undefined;
170
- /** Connected wallet address */
171
- address: string | undefined;
172
- /** Whether wallet is connected */
173
- isConnected: boolean;
174
- /** Error if initialization failed */
175
- error: Error | null;
153
+ export interface LoadingSpinnerProps {
154
+ /** Size of the spinner */
155
+ size?: 'sm' | 'md' | 'lg';
156
+ /** Custom CSS class */
157
+ className?: string;
176
158
  }
177
159
  //# sourceMappingURL=index.d.ts.map