@embarkai/ui-kit 0.3.3 → 0.3.5
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/iframe/index.html +1 -1
- package/dist/iframe/main.js +76 -47
- package/dist/iframe/main.js.map +1 -1
- package/dist/index.cjs +451 -275
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +413 -238
- package/dist/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -24,7 +24,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
24
24
|
var built_default;
|
|
25
25
|
var init_built = __esm({
|
|
26
26
|
"src/styles/built.css"() {
|
|
27
|
-
built_default = `.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}}.embarkai-ui-scope .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.embarkai-ui-scope .pointer-events-none{pointer-events:none}.embarkai-ui-scope .pointer-events-auto{pointer-events:auto}.embarkai-ui-scope .visible{visibility:visible}.embarkai-ui-scope .static{position:static}.embarkai-ui-scope .fixed{position:fixed}.embarkai-ui-scope .absolute{position:absolute}.embarkai-ui-scope .relative{position:relative}.embarkai-ui-scope .sticky{position:sticky}.embarkai-ui-scope .inset-0{inset:0}.embarkai-ui-scope .-right-0\\.5{right:-.125rem}.embarkai-ui-scope .-right-1{right:-.25rem}.embarkai-ui-scope .-right-2{right:-.5rem}.embarkai-ui-scope .-top-0\\.5{top:-.125rem}.embarkai-ui-scope .-top-1{top:-.25rem}.embarkai-ui-scope .-top-2{top:-.5rem}.embarkai-ui-scope .bottom-0{bottom:0}.embarkai-ui-scope .bottom-full{bottom:100%}.embarkai-ui-scope .left-0{left:0}.embarkai-ui-scope .left-1\\/2{left:50%}.embarkai-ui-scope .left-4{left:1rem}.embarkai-ui-scope .right-0{right:0}.embarkai-ui-scope .right-4{right:1rem}.embarkai-ui-scope .right-\\[var\\(--ui-kit-pd\\)\\]{right:var(--ui-kit-pd)}.embarkai-ui-scope .right-full{right:100%}.embarkai-ui-scope .top-0{top:0}.embarkai-ui-scope .top-1\\/2{top:50%}.embarkai-ui-scope .top-4{top:1rem}.embarkai-ui-scope .top-\\[var\\(--ui-kit-pd\\)\\]{top:var(--ui-kit-pd)}.embarkai-ui-scope .z-10{z-index:10}.embarkai-ui-scope .z-50{z-index:50}.embarkai-ui-scope .z-\\[9998\\]{z-index:9998}.embarkai-ui-scope .z-\\[9999\\]{z-index:9999}.embarkai-ui-scope .-m-px{margin:-1px}.embarkai-ui-scope .-mx-1{margin-left:-.25rem;margin-right:-.25rem}.embarkai-ui-scope .mx-auto{margin-left:auto;margin-right:auto}.embarkai-ui-scope .my-1{margin-top:.25rem;margin-bottom:.25rem}.embarkai-ui-scope .mb-1{margin-bottom:.25rem}.embarkai-ui-scope .mb-2{margin-bottom:.5rem}.embarkai-ui-scope .mb-3{margin-bottom:.75rem}.embarkai-ui-scope .mb-4{margin-bottom:1rem}.embarkai-ui-scope .ml-1{margin-left:.25rem}.embarkai-ui-scope .ml-2{margin-left:.5rem}.embarkai-ui-scope .mr-1{margin-right:.25rem}.embarkai-ui-scope .mt-1{margin-top:.25rem}.embarkai-ui-scope .mt-2{margin-top:.5rem}.embarkai-ui-scope .mt-4{margin-top:1rem}.embarkai-ui-scope .block{display:block}.embarkai-ui-scope .inline-block{display:inline-block}.embarkai-ui-scope .inline{display:inline}.embarkai-ui-scope .flex{display:flex}.embarkai-ui-scope .inline-flex{display:inline-flex}.embarkai-ui-scope .grid{display:grid}.embarkai-ui-scope .hidden{display:none}.embarkai-ui-scope .aspect-square{aspect-ratio:1/1}.embarkai-ui-scope .size-4{width:1rem;height:1rem}.embarkai-ui-scope .size-5{width:1.25rem;height:1.25rem}.embarkai-ui-scope .size-auto{width:auto;height:auto}.embarkai-ui-scope .h-1{height:.25rem}.embarkai-ui-scope .h-10{height:2.5rem}.embarkai-ui-scope .h-12{height:3rem}.embarkai-ui-scope .h-16{height:4rem}.embarkai-ui-scope .h-2{height:.5rem}.embarkai-ui-scope .h-3{height:.75rem}.embarkai-ui-scope .h-3\\.5{height:.875rem}.embarkai-ui-scope .h-4{height:1rem}.embarkai-ui-scope .h-48{height:12rem}.embarkai-ui-scope .h-5{height:1.25rem}.embarkai-ui-scope .h-6{height:1.5rem}.embarkai-ui-scope .h-7{height:1.75rem}.embarkai-ui-scope .h-8{height:2rem}.embarkai-ui-scope .h-\\[100dvh\\]{height:100dvh}.embarkai-ui-scope .h-\\[48px\\]{height:48px}.embarkai-ui-scope .h-\\[var\\(--radix-select-trigger-height\\)\\]{height:var(--radix-select-trigger-height)}.embarkai-ui-scope .h-fit{height:-moz-fit-content;height:fit-content}.embarkai-ui-scope .h-full{height:100%}.embarkai-ui-scope .h-px{height:1px}.embarkai-ui-scope .max-h-64{max-height:16rem}.embarkai-ui-scope .max-h-96{max-height:24rem}.embarkai-ui-scope .max-h-\\[95dvh\\]{max-height:95dvh}.embarkai-ui-scope .max-h-full{max-height:100%}.embarkai-ui-scope .min-h-10{min-height:2.5rem}.embarkai-ui-scope .w-1{width:.25rem}.embarkai-ui-scope .w-10{width:2.5rem}.embarkai-ui-scope .w-12{width:3rem}.embarkai-ui-scope .w-16{width:4rem}.embarkai-ui-scope .w-2{width:.5rem}.embarkai-ui-scope .w-3{width:.75rem}.embarkai-ui-scope .w-3\\.5{width:.875rem}.embarkai-ui-scope .w-4{width:1rem}.embarkai-ui-scope .w-48{width:12rem}.embarkai-ui-scope .w-5{width:1.25rem}.embarkai-ui-scope .w-6{width:1.5rem}.embarkai-ui-scope .w-7{width:1.75rem}.embarkai-ui-scope .w-72{width:18rem}.embarkai-ui-scope .w-8{width:2rem}.embarkai-ui-scope .w-\\[100dvw\\]{width:100dvw}.embarkai-ui-scope .w-\\[40px\\]{width:40px}.embarkai-ui-scope .w-\\[var\\(--ui-kit-maw\\)\\]{width:var(--ui-kit-maw)}.embarkai-ui-scope .w-fit{width:-moz-fit-content;width:fit-content}.embarkai-ui-scope .w-full{width:100%}.embarkai-ui-scope .w-px{width:1px}.embarkai-ui-scope .min-w-0{min-width:0}.embarkai-ui-scope .min-w-10{min-width:2.5rem}.embarkai-ui-scope .min-w-16{min-width:4rem}.embarkai-ui-scope .min-w-\\[256px\\]{min-width:256px}.embarkai-ui-scope .min-w-\\[8rem\\]{min-width:8rem}.embarkai-ui-scope .min-w-\\[var\\(--radix-select-trigger-width\\)\\]{min-width:var(--radix-select-trigger-width)}.embarkai-ui-scope .max-w-\\[144px\\]{max-width:144px}.embarkai-ui-scope .max-w-\\[150px\\]{max-width:150px}.embarkai-ui-scope .max-w-\\[160px\\]{max-width:160px}.embarkai-ui-scope .max-w-\\[256px\\]{max-width:256px}.embarkai-ui-scope .max-w-\\[680px\\]{max-width:680px}.embarkai-ui-scope .max-w-\\[80px\\]{max-width:80px}.embarkai-ui-scope .max-w-full{max-width:100%}.embarkai-ui-scope .max-w-sm{max-width:24rem}.embarkai-ui-scope .flex-1{flex:1 1 0%}.embarkai-ui-scope .flex-none{flex:none}.embarkai-ui-scope .flex-shrink-0,.embarkai-ui-scope .shrink-0{flex-shrink:0}.embarkai-ui-scope .-translate-x-1\\/2{--tw-translate-x:-50%}.embarkai-ui-scope .-translate-x-1\\/2,.embarkai-ui-scope .-translate-x-\\[var\\(--ui-kit-gap\\)\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.embarkai-ui-scope .-translate-x-\\[var\\(--ui-kit-gap\\)\\]{--tw-translate-x:calc(var(--ui-kit-gap)*-1)}.embarkai-ui-scope .-translate-y-1\\/2{--tw-translate-y:-50%}.embarkai-ui-scope .-translate-y-1\\/2,.embarkai-ui-scope .rotate-180{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.embarkai-ui-scope .rotate-180{--tw-rotate:180deg}.embarkai-ui-scope .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes glow-warning{0%,to{transform:scale(1);box-shadow:0 0 16px var(--ui-kit-bg-warning)}50%{transform:scale(.97);box-shadow:0 0 4px var(--ui-kit-bg-warning)}}.embarkai-ui-scope .animate-glow-warning{animation:glow-warning 2s ease infinite}@keyframes spin{to{transform:rotate(1turn)}}.embarkai-ui-scope .animate-spin{animation:spin 1s linear infinite}.embarkai-ui-scope .cursor-default{cursor:default}.embarkai-ui-scope .cursor-help{cursor:help}.embarkai-ui-scope .cursor-not-allowed{cursor:not-allowed}.embarkai-ui-scope .cursor-pointer{cursor:pointer}.embarkai-ui-scope .cursor-text{cursor:text}.embarkai-ui-scope .select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.embarkai-ui-scope .select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.embarkai-ui-scope .scroll-my-1{scroll-margin-top:.25rem;scroll-margin-bottom:.25rem}.embarkai-ui-scope .list-inside{list-style-position:inside}.embarkai-ui-scope .list-disc{list-style-type:disc}.embarkai-ui-scope .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.embarkai-ui-scope .flex-col{flex-direction:column}.embarkai-ui-scope .flex-col-reverse{flex-direction:column-reverse}.embarkai-ui-scope .flex-wrap{flex-wrap:wrap}.embarkai-ui-scope .place-content-center{place-content:center}.embarkai-ui-scope .items-start{align-items:flex-start}.embarkai-ui-scope .items-end{align-items:flex-end}.embarkai-ui-scope .items-center{align-items:center}.embarkai-ui-scope .justify-start{justify-content:flex-start}.embarkai-ui-scope .justify-center{justify-content:center}.embarkai-ui-scope .justify-between{justify-content:space-between}.embarkai-ui-scope .justify-evenly{justify-content:space-evenly}.embarkai-ui-scope .gap-0{gap:0}.embarkai-ui-scope .gap-1{gap:.25rem}.embarkai-ui-scope .gap-1\\.5{gap:.375rem}.embarkai-ui-scope .gap-2{gap:.5rem}.embarkai-ui-scope .gap-3{gap:.75rem}.embarkai-ui-scope .gap-4{gap:1rem}.embarkai-ui-scope .gap-\\[10px\\]{gap:10px}.embarkai-ui-scope .gap-\\[var\\(--ui-kit-gap\\)\\]{gap:var(--ui-kit-gap)}.embarkai-ui-scope :is(.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)))}.embarkai-ui-scope :is(.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)))}.embarkai-ui-scope :is(.space-y-0\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.125rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem*var(--tw-space-y-reverse))}.embarkai-ui-scope :is(.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))}.embarkai-ui-scope :is(.space-y-1\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.embarkai-ui-scope :is(.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))}.embarkai-ui-scope .overflow-hidden{overflow:hidden}.embarkai-ui-scope .overflow-y-auto{overflow-y:auto}.embarkai-ui-scope .overflow-x-hidden{overflow-x:hidden}.embarkai-ui-scope .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.embarkai-ui-scope .text-ellipsis{text-overflow:ellipsis}.embarkai-ui-scope .whitespace-nowrap{white-space:nowrap}.embarkai-ui-scope .whitespace-pre-line{white-space:pre-line}.embarkai-ui-scope .whitespace-pre-wrap{white-space:pre-wrap}.embarkai-ui-scope .break-normal{overflow-wrap:normal;word-break:normal}.embarkai-ui-scope .break-words{overflow-wrap:break-word}.embarkai-ui-scope .break-all{word-break:break-all}.embarkai-ui-scope .rounded{border-radius:.25rem}.embarkai-ui-scope .rounded-\\[10px\\]{border-radius:10px}.embarkai-ui-scope .rounded-\\[5px\\]{border-radius:5px}.embarkai-ui-scope .rounded-\\[var\\(--ui-kit-bdrs\\)\\]{border-radius:var(--ui-kit-bdrs)}.embarkai-ui-scope .rounded-\\[var\\(--ui-kit-el-bdrs\\)\\]{border-radius:var(--ui-kit-el-bdrs)}.embarkai-ui-scope .rounded-full{border-radius:9999px}.embarkai-ui-scope .rounded-lg{border-radius:.5rem}.embarkai-ui-scope .rounded-md{border-radius:.375rem}.embarkai-ui-scope .rounded-xl{border-radius:.75rem}.embarkai-ui-scope .border{border-width:1px}.embarkai-ui-scope .border-0{border-width:0}.embarkai-ui-scope .border-2{border-width:2px}.embarkai-ui-scope .border-b{border-bottom-width:1px}.embarkai-ui-scope .border-t{border-top-width:1px}.embarkai-ui-scope .border-dashed{border-style:dashed}.embarkai-ui-scope .border-\\[var\\(--ui-kit-bd\\)\\]{border-color:var(--ui-kit-bd)}.embarkai-ui-scope .border-\\[var\\(--ui-kit-bg-error\\)\\]{border-color:var(--ui-kit-bg-error)}.embarkai-ui-scope .border-\\[var\\(--ui-kit-bg-success\\)\\]{border-color:var(--ui-kit-bg-success)}.embarkai-ui-scope .border-\\[var\\(--ui-kit-bg-warning\\)\\]{border-color:var(--ui-kit-bg-warning)}.embarkai-ui-scope .border-\\[var\\(--ui-kit-error\\)\\]{border-color:var(--ui-kit-error)}.embarkai-ui-scope .border-\\[var\\(--ui-kit-secondary\\)\\]{border-color:var(--ui-kit-secondary)}.embarkai-ui-scope .border-current{border-color:currentColor}.embarkai-ui-scope .border-transparent{border-color:transparent}.embarkai-ui-scope .border-t-transparent{border-top-color:transparent}.embarkai-ui-scope .bg-\\[\\#002c15\\]{--tw-bg-opacity:1;background-color:rgb(0 44 21/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-\\[\\#081f2c\\]{--tw-bg-opacity:1;background-color:rgb(8 31 44/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-\\[\\#f3ba2f\\]{--tw-bg-opacity:1;background-color:rgb(243 186 47/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-accent\\)\\]{background-color:var(--ui-kit-accent)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg\\)\\]{background-color:var(--ui-kit-bg)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg-error\\)\\]{background-color:var(--ui-kit-bg-error)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg-info\\)\\]{background-color:var(--ui-kit-bg-info)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg-secondary\\)\\]{background-color:var(--ui-kit-bg-secondary)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg-success\\)\\]{background-color:var(--ui-kit-bg-success)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg-warning\\)\\]{background-color:var(--ui-kit-bg-warning)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-error\\)\\]{background-color:var(--ui-kit-error)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-fg\\)\\]{background-color:var(--ui-kit-fg)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-overlay\\)\\]{background-color:var(--ui-kit-overlay)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-primary\\)\\]{background-color:var(--ui-kit-primary)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-secondary\\)\\]{background-color:var(--ui-kit-secondary)}.embarkai-ui-scope .bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-black\\/90{background-color:rgba(0,0,0,.9)}.embarkai-ui-scope .bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-transparent{background-color:transparent}.embarkai-ui-scope .fill-\\[var\\(--ui-kit-bg-warning\\)\\]{fill:var(--ui-kit-bg-warning)}.embarkai-ui-scope .object-contain{-o-object-fit:contain;object-fit:contain}.embarkai-ui-scope .object-cover{-o-object-fit:cover;object-fit:cover}.embarkai-ui-scope .p-0{padding:0}.embarkai-ui-scope .p-1{padding:.25rem}.embarkai-ui-scope .p-2{padding:.5rem}.embarkai-ui-scope .p-3{padding:.75rem}.embarkai-ui-scope .p-4{padding:1rem}.embarkai-ui-scope .p-5{padding:1.25rem}.embarkai-ui-scope .p-6{padding:1.5rem}.embarkai-ui-scope .p-8{padding:2rem}.embarkai-ui-scope .p-\\[2px\\]{padding:2px}.embarkai-ui-scope .p-\\[var\\(--ui-kit-gap\\)\\]{padding:var(--ui-kit-gap)}.embarkai-ui-scope .p-\\[var\\(--ui-kit-pd\\)\\]{padding:var(--ui-kit-pd)}.embarkai-ui-scope .px-0{padding-left:0;padding-right:0}.embarkai-ui-scope .px-1{padding-left:.25rem;padding-right:.25rem}.embarkai-ui-scope .px-2{padding-left:.5rem;padding-right:.5rem}.embarkai-ui-scope .px-3{padding-left:.75rem;padding-right:.75rem}.embarkai-ui-scope .px-4{padding-left:1rem;padding-right:1rem}.embarkai-ui-scope .px-5{padding-left:1.25rem;padding-right:1.25rem}.embarkai-ui-scope .px-8{padding-left:2rem;padding-right:2rem}.embarkai-ui-scope .px-\\[var\\(--ui-kit-gap\\)\\]{padding-left:var(--ui-kit-gap);padding-right:var(--ui-kit-gap)}.embarkai-ui-scope .px-\\[var\\(--ui-kit-pd\\)\\]{padding-left:var(--ui-kit-pd);padding-right:var(--ui-kit-pd)}.embarkai-ui-scope .py-0{padding-top:0;padding-bottom:0}.embarkai-ui-scope .py-1{padding-top:.25rem;padding-bottom:.25rem}.embarkai-ui-scope .py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.embarkai-ui-scope .py-2{padding-top:.5rem;padding-bottom:.5rem}.embarkai-ui-scope .py-3{padding-top:.75rem;padding-bottom:.75rem}.embarkai-ui-scope .py-\\[10px\\]{padding-top:10px;padding-bottom:10px}.embarkai-ui-scope .py-\\[var\\(--ui-kit-pd\\)\\]{padding-top:var(--ui-kit-pd);padding-bottom:var(--ui-kit-pd)}.embarkai-ui-scope .pb-2{padding-bottom:.5rem}.embarkai-ui-scope .pb-5{padding-bottom:1.25rem}.embarkai-ui-scope .pb-6{padding-bottom:1.5rem}.embarkai-ui-scope .pl-\\[var\\(--ui-kit-pd\\)\\]{padding-left:var(--ui-kit-pd)}.embarkai-ui-scope .pr-8{padding-right:2rem}.embarkai-ui-scope .pt-3{padding-top:.75rem}.embarkai-ui-scope .pt-4{padding-top:1rem}.embarkai-ui-scope .pt-5{padding-top:1.25rem}.embarkai-ui-scope .text-left{text-align:left}.embarkai-ui-scope .text-center{text-align:center}.embarkai-ui-scope .text-right{text-align:right}.embarkai-ui-scope .font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.embarkai-ui-scope .font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.embarkai-ui-scope .text-2xl{font-size:1.5rem;line-height:2rem}.embarkai-ui-scope .text-\\[10px\\]{font-size:10px}.embarkai-ui-scope .text-\\[14px\\]{font-size:14px}.embarkai-ui-scope .text-\\[16px\\]{font-size:16px}.embarkai-ui-scope .text-\\[8px\\]{font-size:8px}.embarkai-ui-scope .text-lg{font-size:1.125rem;line-height:1.75rem}.embarkai-ui-scope .text-sm{font-size:.875rem;line-height:1.25rem}.embarkai-ui-scope .text-xl{font-size:1.25rem;line-height:1.75rem}.embarkai-ui-scope .text-xs{font-size:.75rem;line-height:1rem}.embarkai-ui-scope .font-bold{font-weight:700}.embarkai-ui-scope .font-medium{font-weight:500}.embarkai-ui-scope .font-normal{font-weight:400}.embarkai-ui-scope .font-semibold{font-weight:600}.embarkai-ui-scope .uppercase{text-transform:uppercase}.embarkai-ui-scope .lowercase{text-transform:lowercase}.embarkai-ui-scope .leading-4{line-height:1rem}.embarkai-ui-scope .leading-5{line-height:1.25rem}.embarkai-ui-scope .leading-6{line-height:1.5rem}.embarkai-ui-scope .leading-8{line-height:2rem}.embarkai-ui-scope .leading-\\[8px\\]{line-height:8px}.embarkai-ui-scope .leading-none{line-height:1}.embarkai-ui-scope .leading-tight{line-height:1.25}.embarkai-ui-scope .tracking-tight{letter-spacing:-.025em}.embarkai-ui-scope .tracking-wider{letter-spacing:.05em}.embarkai-ui-scope .text-\\[\\#c3f53c\\]{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-\\[var\\(--ui-kit-bg-error\\)\\]{color:var(--ui-kit-bg-error)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-bg-success\\)\\]{color:var(--ui-kit-bg-success)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-bg-warning\\)\\]{color:var(--ui-kit-bg-warning)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-error\\)\\]{color:var(--ui-kit-error)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-fg\\)\\]{color:var(--ui-kit-fg)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-fg-inverted\\)\\]{color:var(--ui-kit-fg-inverted)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-fg-muted\\)\\]{color:var(--ui-kit-fg-muted)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-info\\)\\]{color:var(--ui-kit-info)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-success\\)\\]{color:var(--ui-kit-success)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-text-secondary\\)\\]{color:var(--ui-kit-text-secondary)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-warning\\)\\]{color:var(--ui-kit-warning)}.embarkai-ui-scope .text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.embarkai-ui-scope .underline{text-decoration-line:underline}.embarkai-ui-scope .underline-offset-2{text-underline-offset:2px}.embarkai-ui-scope .underline-offset-4{text-underline-offset:4px}.embarkai-ui-scope .antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.embarkai-ui-scope .opacity-0{opacity:0}.embarkai-ui-scope .opacity-100{opacity:1}.embarkai-ui-scope .opacity-50{opacity:.5}.embarkai-ui-scope .opacity-60{opacity:.6}.embarkai-ui-scope .shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.embarkai-ui-scope .outline-none{outline:2px solid transparent;outline-offset:2px}.embarkai-ui-scope .outline{outline-style:solid}.embarkai-ui-scope .blur{--tw-blur:blur(8px)}.embarkai-ui-scope .blur,.embarkai-ui-scope .grayscale{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)}.embarkai-ui-scope .grayscale{--tw-grayscale:grayscale(100%)}.embarkai-ui-scope .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)}.embarkai-ui-scope .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.embarkai-ui-scope .transition-\\[color\\2c box-shadow\\]{transition-property:color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.embarkai-ui-scope .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}.embarkai-ui-scope .transition-none{transition-property:none}.embarkai-ui-scope .transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.embarkai-ui-scope .transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.embarkai-ui-scope .duration-200{transition-duration:.2s}.embarkai-ui-scope .ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.embarkai-ui-scope{--ui-kit-ff:var(--embark-ui-ff,-apple-system,BlinkMacSystemFont,"Inter",system-ui,sans-serif);--ui-kit-maw:var(--embark-ui-maw,384px);--ui-kit-pd:var(--embark-ui-pd,12px);--ui-kit-gap:var(--embark-ui-gap,10px);--ui-kit-bdrs:var(--embark-ui-bdrs,20px);--ui-kit-el-bdrs:var(--embark-ui-element-bdrs,10px);--ui-kit-backdrop-blur:var(--embark-ui-backdrop-blur,10px)}.embarkai-ui-scope[data-current-theme-mode=light]{--ui-kit-overlay:var(--embark-ui-overlay,hsla(0,0%,100%,.8));--ui-kit-bg:var(--embark-ui-bg,#fff);--ui-kit-fg:var(--embark-ui-fg,#000);--ui-kit-fg-h:var(--embark-ui-fg-h,rgba(0,0,0,.6));--ui-kit-fg-a:var(--embark-ui-fg-a,rgba(0,0,0,.4));--ui-kit-fg-inverted:var(--embark-ui-fg-inverted,#fff);--ui-kit-fg-muted:var(--embark-ui-fg-muted,rgba(0,0,0,.6));--ui-kit-primary:var(--embark-ui-primary,#000);--ui-kit-primary-h:var(--embark-ui-primary-h,rgba(0,0,0,.8));--ui-kit-primary-a:var(--embark-ui-primary-a,rgba(0,0,0,.6));--ui-kit-secondary:var(--embark-ui-secondary,#e4e4e4);--ui-kit-secondary-h:var(--embark-ui-secondary-h,hsla(0,0%,89%,.8));--ui-kit-secondary-a:var(--embark-ui-secondary-a,hsla(0,0%,89%,.6));--ui-kit-bd:var(--embark-ui-bd,#ebebeb);--ui-kit-bd-intense:var(--embark-ui-bd-intense,#a9a9a9);--ui-kit-shadow-c:var(--embark-ui-shadow-c,rgba(0,0,0,.1));--ui-kit-info:var(--embark-ui-info,var(--ui-kit-fg));--ui-kit-bg-info:var(--embark-ui-bg-info,var(--ui-kit-secondary));--ui-kit-success:var(--embark-ui-success,#000);--ui-kit-bg-success:var(--embark-ui-bg-success,#21ff51);--ui-kit-warning:var(--embark-ui-warning,#000);--ui-kit-bg-warning:var(--embark-ui-bg-warning,#e9fa00);--ui-kit-error:var(--embark-ui-error,#fff);--ui-kit-bg-error:var(--embark-ui-bg-error,#d6204e)}.embarkai-ui-scope[data-current-theme-mode=dark]{--ui-kit-overlay:var(--embark-ui-overlay,rgba(0,0,0,.8));--ui-kit-bg:var(--embark-ui-bg,#1a1a1a);--ui-kit-fg:var(--embark-ui-fg,#fff);--ui-kit-fg-h:var(--embark-ui-fg-h,hsla(0,0%,100%,.6));--ui-kit-fg-a:var(--embark-ui-fg-a,hsla(0,0%,100%,.4));--ui-kit-fg-inverted:var(--embark-ui-fg-inverted,#000);--ui-kit-fg-muted:var(--embark-ui-fg-muted,hsla(0,0%,100%,.6));--ui-kit-primary:var(--embark-ui-primary,#fff);--ui-kit-primary-h:var(--embark-ui-primary-h,hsla(0,0%,100%,.8));--ui-kit-primary-a:var(--embark-ui-primary-a,hsla(0,0%,100%,.6));--ui-kit-secondary:var(--embark-ui-secondary,#2a2a2a);--ui-kit-secondary-h:var(--embark-ui-secondary-h,rgba(42,42,42,.6));--ui-kit-secondary-a:var(--embark-ui-secondary-a,rgba(42,42,42,.4));--ui-kit-bd:var(--embark-ui-bd,#3a3a3a);--ui-kit-bd-intense:var(--embark-ui-bd-intense,#4a4a4a);--ui-kit-shadow-c:var(--embark-ui-shadow-c,rgba(0,0,0,.1));--ui-kit-info:var(--embark-ui-info,var(--ui-kit-fg));--ui-kit-bg-info:var(--embark-ui-bg-info,var(--ui-kit-secondary));--ui-kit-success:var(--embark-ui-success,#000);--ui-kit-bg-success:var(--embark-ui-bg-success,#21ff51);--ui-kit-warning:var(--embark-ui-warning,#000);--ui-kit-bg-warning:var(--embark-ui-bg-warning,#e9fa00);--ui-kit-error:var(--embark-ui-error,#fff);--ui-kit-bg-error:var(--embark-ui-bg-error,#d6204e)}.embarkai-ui-scope,.embarkai-ui-scope *{margin:0;box-sizing:border-box;font-family:var(--ui-kit-ff);font-optical-sizing:auto;-webkit-tap-highlight-color:transparent;-moz-tap-highlight-color:transparent;-ms-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.embarkai-ui-scope button,.embarkai-ui-scope h1,.embarkai-ui-scope h2,.embarkai-ui-scope h3,.embarkai-ui-scope h4,.embarkai-ui-scope h5,.embarkai-ui-scope h6,.embarkai-ui-scope input,.embarkai-ui-scope p,.embarkai-ui-scope select,.embarkai-ui-scope textarea{font-family:var(--ui-kit-ff)!important;margin:0}.embarkai-ui-scope button,.embarkai-ui-scope input,.embarkai-ui-scope select,.embarkai-ui-scope textarea{border-style:solid;outline:none!important;appearance:none!important;-webkit-appearance:none;-moz-appearance:none}.embarkai-ui-scope input,.embarkai-ui-scope textarea{font-size:16px!important}.embarkai-ui-scope .account-connect-button{box-shadow:0 4px 20px var(--ui-kit-shadow-c),inset 0 0 0 1px var(--ui-kit-bd);transition:transform .25s ease}.embarkai-ui-scope .account-connect-button:hover{transform:scale(1.02)}.embarkai-ui-scope .account-connect-button:active{transform:scale(1)}@keyframes lumia-mobile-dialog-fade-in{0%{opacity:0;transform:translateY(64px)}to{opacity:1;transform:translateY(0)}}@keyframes lumia-mobile-dialog-fade-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(64px)}}.embarkai-ui-scope .animate-mobile-dialog-in{animation:lumia-mobile-dialog-fade-in 375ms ease}.embarkai-ui-scope .animate-mobile-dialog-out{animation:lumia-mobile-dialog-fade-out 375ms ease}@keyframes lumia-dialog-fade-in{0%{opacity:0}to{opacity:1}}@keyframes lumia-dialog-fade-out{0%{opacity:1}to{opacity:0}}.embarkai-ui-scope .animate-dialog-in{animation:lumia-dialog-fade-in 375ms ease}.embarkai-ui-scope .animate-dialog-out{animation:lumia-dialog-fade-out 375ms ease}.embarkai-ui-scope .list-scrollbar-y{width:100%;padding-right:var(--ui-kit-list-scrollbar-pd-r,0);overflow-y:auto;overflow-x:hidden;max-height:var(--ui-kit-scrollbar-mah,300px)}.embarkai-ui-scope .list-scrollbar-y::-webkit-scrollbar{width:4px;height:4px}.embarkai-ui-scope .list-scrollbar-y::-webkit-scrollbar-thumb{cursor:pointer;width:4px;border-radius:2px;background-color:var(--ui-kit-bd)}.embarkai-ui-scope .list-scrollbar-y::-webkit-scrollbar-track{margin-top:10px;margin-bottom:10px;background-color:transparent}.embarkai-ui-scope .noScrollbars::-webkit-scrollbar{display:none}.embarkai-ui-scope div[data-radix-popper-content-wrapper]{z-index:10000!important}.embarkai-ui-scope .file\\:mr-\\[var\\(--ui-kit-gap\\)\\]::file-selector-button{margin-right:var(--ui-kit-gap)}.embarkai-ui-scope .file\\:h-12::file-selector-button{height:3rem}.embarkai-ui-scope .file\\:cursor-pointer::file-selector-button{cursor:pointer}.embarkai-ui-scope .file\\:rounded-\\[var\\(--ui-kit-el-bdrs\\)\\]::file-selector-button{border-radius:var(--ui-kit-el-bdrs)}.embarkai-ui-scope .file\\:border-0::file-selector-button{border-width:0}.embarkai-ui-scope .file\\:bg-\\[var\\(--ui-kit-primary\\)\\]::file-selector-button{background-color:var(--ui-kit-primary)}.embarkai-ui-scope .file\\:bg-transparent::file-selector-button{background-color:transparent}.embarkai-ui-scope .file\\:px-\\[var\\(--ui-kit-pd\\)\\]::file-selector-button{padding-left:var(--ui-kit-pd);padding-right:var(--ui-kit-pd)}.embarkai-ui-scope .file\\:text-\\[16px\\]::file-selector-button{font-size:16px}.embarkai-ui-scope .file\\:text-base::file-selector-button{font-size:1rem;line-height:1.5rem}.embarkai-ui-scope .file\\:font-medium::file-selector-button{font-weight:500}.embarkai-ui-scope .file\\:text-\\[var\\(--ui-kit-fg-inverted\\)\\]::file-selector-button{color:var(--ui-kit-fg-inverted)}.embarkai-ui-scope .placeholder\\:text-\\[var\\(--ui-kit-fg-muted\\)\\]::-moz-placeholder{color:var(--ui-kit-fg-muted)}.embarkai-ui-scope .placeholder\\:text-\\[var\\(--ui-kit-fg-muted\\)\\]::placeholder{color:var(--ui-kit-fg-muted)}.embarkai-ui-scope .focus-within\\:bg-\\[var\\(--ui-kit-secondary-a\\)\\]:focus-within{background-color:var(--ui-kit-secondary-a)}.embarkai-ui-scope .focus-within\\:outline-none:focus-within{outline:2px solid transparent;outline-offset:2px}.embarkai-ui-scope .hover\\:bg-\\[var\\(--ui-kit-bg\\)\\]:hover{background-color:var(--ui-kit-bg)}.embarkai-ui-scope .hover\\:bg-\\[var\\(--ui-kit-bg-secondary\\)\\]:hover{background-color:var(--ui-kit-bg-secondary)}.embarkai-ui-scope .hover\\:bg-\\[var\\(--ui-kit-primary-h\\)\\]:hover{background-color:var(--ui-kit-primary-h)}.embarkai-ui-scope .hover\\:bg-\\[var\\(--ui-kit-secondary\\)\\]:hover{background-color:var(--ui-kit-secondary)}.embarkai-ui-scope .hover\\:bg-\\[var\\(--ui-kit-secondary-h\\)\\]:hover{background-color:var(--ui-kit-secondary-h)}.embarkai-ui-scope .hover\\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.embarkai-ui-scope .hover\\:text-\\[\\#c3f53c\\]:hover{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.embarkai-ui-scope .hover\\:text-\\[var\\(--ui-kit-fg-h\\)\\]:hover{color:var(--ui-kit-fg-h)}.embarkai-ui-scope .hover\\:text-gray-300:hover{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.embarkai-ui-scope .hover\\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.embarkai-ui-scope .hover\\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.embarkai-ui-scope .hover\\:underline:hover{text-decoration-line:underline}.embarkai-ui-scope .file\\:hover\\:opacity-90:hover::file-selector-button{opacity:.9}.embarkai-ui-scope .focus\\:bg-\\[var\\(--ui-kit-secondary-a\\)\\]:focus{background-color:var(--ui-kit-secondary-a)}.embarkai-ui-scope .focus\\:bg-transparent:focus{background-color:transparent}.embarkai-ui-scope .focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.embarkai-ui-scope .focus-visible\\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.embarkai-ui-scope .focus-visible\\:ring-0:focus-visible{--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(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)}.embarkai-ui-scope .focus-visible\\:ring-\\[2px\\]:focus-visible{--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)}.embarkai-ui-scope .focus-visible\\:ring-transparent:focus-visible{--tw-ring-color:transparent}.embarkai-ui-scope .focus-visible\\:ring-offset-0:focus-visible{--tw-ring-offset-width:0px}.embarkai-ui-scope .active\\:bg-\\[var\\(--ui-kit-bg\\)\\]:active{background-color:var(--ui-kit-bg)}.embarkai-ui-scope .active\\:bg-\\[var\\(--ui-kit-primary-a\\)\\]:active{background-color:var(--ui-kit-primary-a)}.embarkai-ui-scope .active\\:bg-\\[var\\(--ui-kit-secondary-a\\)\\]:active{background-color:var(--ui-kit-secondary-a)}.embarkai-ui-scope .active\\:text-\\[\\#c3f53c\\]:active{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.embarkai-ui-scope .active\\:text-\\[var\\(--ui-kit-fg-a\\)\\]:active{color:var(--ui-kit-fg-a)}.embarkai-ui-scope .file\\:active\\:opacity-80:active::file-selector-button{opacity:.8}.embarkai-ui-scope .disabled\\:cursor-default:disabled{cursor:default}.embarkai-ui-scope .disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.embarkai-ui-scope .disabled\\:opacity-50:disabled{opacity:.5}.embarkai-ui-scope .disabled\\:hover\\:bg-\\[var\\(--ui-kit-bg\\)\\]:hover:disabled{background-color:var(--ui-kit-bg)}.embarkai-ui-scope .disabled\\:hover\\:bg-\\[var\\(--ui-kit-primary\\)\\]:hover:disabled{background-color:var(--ui-kit-primary)}.embarkai-ui-scope .disabled\\:hover\\:bg-\\[var\\(--ui-kit-secondary\\)\\]:hover:disabled{background-color:var(--ui-kit-secondary)}.embarkai-ui-scope .disabled\\:hover\\:text-\\[var\\(--ui-kit-fg\\)\\]:hover:disabled{color:var(--ui-kit-fg)}.embarkai-ui-scope .disabled\\:active\\:bg-\\[var\\(--ui-kit-bg\\)\\]:active:disabled{background-color:var(--ui-kit-bg)}.embarkai-ui-scope .disabled\\:active\\:bg-\\[var\\(--ui-kit-primary\\)\\]:active:disabled{background-color:var(--ui-kit-primary)}.embarkai-ui-scope .disabled\\:active\\:text-\\[var\\(--ui-kit-fg\\)\\]:active:disabled{color:var(--ui-kit-fg)}.embarkai-ui-scope :is(.group:hover .group-hover\\:opacity-100){opacity:1}.embarkai-ui-scope :is(.group:hover .group-hover\\:opacity-60){opacity:.6}.embarkai-ui-scope .data-\\[disabled\\]\\:pointer-events-none[data-disabled]{pointer-events:none}.embarkai-ui-scope .data-\\[size\\=default\\]\\:h-12[data-size=default]{height:3rem}.embarkai-ui-scope .data-\\[size\\=sm\\]\\:h-10[data-size=sm]{height:2.5rem}.embarkai-ui-scope .data-\\[side\\=bottom\\]\\:translate-y-1[data-side=bottom]{--tw-translate-y:0.25rem}.embarkai-ui-scope .data-\\[side\\=bottom\\]\\:translate-y-1[data-side=bottom],.embarkai-ui-scope .data-\\[side\\=left\\]\\:-translate-x-1[data-side=left]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.embarkai-ui-scope .data-\\[side\\=left\\]\\:-translate-x-1[data-side=left]{--tw-translate-x:-0.25rem}.embarkai-ui-scope .data-\\[side\\=right\\]\\:translate-x-1[data-side=right]{--tw-translate-x:0.25rem}.embarkai-ui-scope .data-\\[side\\=right\\]\\:translate-x-1[data-side=right],.embarkai-ui-scope .data-\\[side\\=top\\]\\:-translate-y-1[data-side=top]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.embarkai-ui-scope .data-\\[side\\=top\\]\\:-translate-y-1[data-side=top]{--tw-translate-y:-0.25rem}.embarkai-ui-scope .data-\\[state\\=checked\\]\\:border-\\[var\\(--ui-kit-bd-intense\\)\\][data-state=checked]{border-color:var(--ui-kit-bd-intense)}.embarkai-ui-scope .data-\\[state\\=checked\\]\\:bg-\\[var\\(--ui-kit-secondary\\)\\][data-state=checked]{background-color:var(--ui-kit-secondary)}.embarkai-ui-scope .data-\\[state\\=checked\\]\\:text-\\[var\\(--ui-kit-fg\\)\\][data-state=checked]{color:var(--ui-kit-fg)}.embarkai-ui-scope .data-\\[disabled\\]\\:opacity-50[data-disabled]{opacity:.5}.embarkai-ui-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:line-clamp-1[data-slot=select-value]>*){overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.embarkai-ui-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:flex[data-slot=select-value]>*){display:flex}.embarkai-ui-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:items-center[data-slot=select-value]>*){align-items:center}.embarkai-ui-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:gap-\\[var\\(--ui-kit-gap\\)\\][data-slot=select-value]>*){gap:var(--ui-kit-gap)}@media (min-width:640px){.embarkai-ui-scope .sm\\:flex-row{flex-direction:row}.embarkai-ui-scope .sm\\:justify-end{justify-content:flex-end}.embarkai-ui-scope :is(.sm\\: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)))}.embarkai-ui-scope .sm\\:text-left{text-align:left}}@media (min-width:768px){.embarkai-ui-scope .md\\:h-8{height:2rem}.embarkai-ui-scope .md\\:w-8{width:2rem}.embarkai-ui-scope .md\\:gap-\\[var\\(--ui-kit-gap\\)\\]{gap:var(--ui-kit-gap)}.embarkai-ui-scope .md\\:py-1{padding-top:.25rem;padding-bottom:.25rem}.embarkai-ui-scope .md\\:text-sm{font-size:.875rem;line-height:1.25rem}}.embarkai-ui-scope :is(.\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-4 svg:not([class*=size-])){width:1rem;height:1rem}.embarkai-ui-scope :is(.\\[\\&_svg\\]\\:pointer-events-none svg){pointer-events:none}.embarkai-ui-scope :is(.\\[\\&_svg\\]\\:shrink-0 svg){flex-shrink:0}`;
|
|
27
|
+
built_default = `.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}}.embarkai-ui-scope .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.embarkai-ui-scope .pointer-events-none{pointer-events:none}.embarkai-ui-scope .pointer-events-auto{pointer-events:auto}.embarkai-ui-scope .visible{visibility:visible}.embarkai-ui-scope .static{position:static}.embarkai-ui-scope .fixed{position:fixed}.embarkai-ui-scope .absolute{position:absolute}.embarkai-ui-scope .relative{position:relative}.embarkai-ui-scope .sticky{position:sticky}.embarkai-ui-scope .inset-0{inset:0}.embarkai-ui-scope .-right-0\\.5{right:-.125rem}.embarkai-ui-scope .-right-1{right:-.25rem}.embarkai-ui-scope .-right-2{right:-.5rem}.embarkai-ui-scope .-top-0\\.5{top:-.125rem}.embarkai-ui-scope .-top-1{top:-.25rem}.embarkai-ui-scope .-top-2{top:-.5rem}.embarkai-ui-scope .bottom-0{bottom:0}.embarkai-ui-scope .bottom-full{bottom:100%}.embarkai-ui-scope .left-0{left:0}.embarkai-ui-scope .left-1\\/2{left:50%}.embarkai-ui-scope .left-4{left:1rem}.embarkai-ui-scope .right-0{right:0}.embarkai-ui-scope .right-4{right:1rem}.embarkai-ui-scope .right-\\[var\\(--ui-kit-pd\\)\\]{right:var(--ui-kit-pd)}.embarkai-ui-scope .right-full{right:100%}.embarkai-ui-scope .top-0{top:0}.embarkai-ui-scope .top-1\\/2{top:50%}.embarkai-ui-scope .top-4{top:1rem}.embarkai-ui-scope .top-\\[var\\(--ui-kit-pd\\)\\]{top:var(--ui-kit-pd)}.embarkai-ui-scope .z-10{z-index:10}.embarkai-ui-scope .z-50{z-index:50}.embarkai-ui-scope .z-\\[9998\\]{z-index:9998}.embarkai-ui-scope .z-\\[9999\\]{z-index:9999}.embarkai-ui-scope .-m-px{margin:-1px}.embarkai-ui-scope .-mx-1{margin-left:-.25rem;margin-right:-.25rem}.embarkai-ui-scope .mx-auto{margin-left:auto;margin-right:auto}.embarkai-ui-scope .my-1{margin-top:.25rem;margin-bottom:.25rem}.embarkai-ui-scope .mb-1{margin-bottom:.25rem}.embarkai-ui-scope .mb-2{margin-bottom:.5rem}.embarkai-ui-scope .mb-3{margin-bottom:.75rem}.embarkai-ui-scope .mb-4{margin-bottom:1rem}.embarkai-ui-scope .ml-1{margin-left:.25rem}.embarkai-ui-scope .ml-2{margin-left:.5rem}.embarkai-ui-scope .mr-1{margin-right:.25rem}.embarkai-ui-scope .mt-1{margin-top:.25rem}.embarkai-ui-scope .mt-2{margin-top:.5rem}.embarkai-ui-scope .mt-4{margin-top:1rem}.embarkai-ui-scope .block{display:block}.embarkai-ui-scope .inline-block{display:inline-block}.embarkai-ui-scope .inline{display:inline}.embarkai-ui-scope .flex{display:flex}.embarkai-ui-scope .inline-flex{display:inline-flex}.embarkai-ui-scope .grid{display:grid}.embarkai-ui-scope .hidden{display:none}.embarkai-ui-scope .aspect-square{aspect-ratio:1/1}.embarkai-ui-scope .size-4{width:1rem;height:1rem}.embarkai-ui-scope .size-5{width:1.25rem;height:1.25rem}.embarkai-ui-scope .size-auto{width:auto;height:auto}.embarkai-ui-scope .h-1{height:.25rem}.embarkai-ui-scope .h-10{height:2.5rem}.embarkai-ui-scope .h-12{height:3rem}.embarkai-ui-scope .h-16{height:4rem}.embarkai-ui-scope .h-2{height:.5rem}.embarkai-ui-scope .h-3{height:.75rem}.embarkai-ui-scope .h-3\\.5{height:.875rem}.embarkai-ui-scope .h-4{height:1rem}.embarkai-ui-scope .h-48{height:12rem}.embarkai-ui-scope .h-5{height:1.25rem}.embarkai-ui-scope .h-6{height:1.5rem}.embarkai-ui-scope .h-7{height:1.75rem}.embarkai-ui-scope .h-8{height:2rem}.embarkai-ui-scope .h-\\[100dvh\\]{height:100dvh}.embarkai-ui-scope .h-\\[48px\\]{height:48px}.embarkai-ui-scope .h-\\[var\\(--radix-select-trigger-height\\)\\]{height:var(--radix-select-trigger-height)}.embarkai-ui-scope .h-auto{height:auto}.embarkai-ui-scope .h-fit{height:-moz-fit-content;height:fit-content}.embarkai-ui-scope .h-full{height:100%}.embarkai-ui-scope .h-px{height:1px}.embarkai-ui-scope .max-h-64{max-height:16rem}.embarkai-ui-scope .max-h-96{max-height:24rem}.embarkai-ui-scope .max-h-\\[95dvh\\]{max-height:95dvh}.embarkai-ui-scope .max-h-full{max-height:100%}.embarkai-ui-scope .min-h-10{min-height:2.5rem}.embarkai-ui-scope .w-1{width:.25rem}.embarkai-ui-scope .w-10{width:2.5rem}.embarkai-ui-scope .w-12{width:3rem}.embarkai-ui-scope .w-16{width:4rem}.embarkai-ui-scope .w-2{width:.5rem}.embarkai-ui-scope .w-3{width:.75rem}.embarkai-ui-scope .w-3\\.5{width:.875rem}.embarkai-ui-scope .w-4{width:1rem}.embarkai-ui-scope .w-48{width:12rem}.embarkai-ui-scope .w-5{width:1.25rem}.embarkai-ui-scope .w-6{width:1.5rem}.embarkai-ui-scope .w-7{width:1.75rem}.embarkai-ui-scope .w-72{width:18rem}.embarkai-ui-scope .w-8{width:2rem}.embarkai-ui-scope .w-\\[100dvw\\]{width:100dvw}.embarkai-ui-scope .w-\\[40px\\]{width:40px}.embarkai-ui-scope .w-\\[var\\(--ui-kit-maw\\)\\]{width:var(--ui-kit-maw)}.embarkai-ui-scope .w-fit{width:-moz-fit-content;width:fit-content}.embarkai-ui-scope .w-full{width:100%}.embarkai-ui-scope .w-px{width:1px}.embarkai-ui-scope .min-w-0{min-width:0}.embarkai-ui-scope .min-w-10{min-width:2.5rem}.embarkai-ui-scope .min-w-16{min-width:4rem}.embarkai-ui-scope .min-w-\\[256px\\]{min-width:256px}.embarkai-ui-scope .min-w-\\[8rem\\]{min-width:8rem}.embarkai-ui-scope .min-w-\\[var\\(--radix-select-trigger-width\\)\\]{min-width:var(--radix-select-trigger-width)}.embarkai-ui-scope .max-w-\\[144px\\]{max-width:144px}.embarkai-ui-scope .max-w-\\[150px\\]{max-width:150px}.embarkai-ui-scope .max-w-\\[160px\\]{max-width:160px}.embarkai-ui-scope .max-w-\\[256px\\]{max-width:256px}.embarkai-ui-scope .max-w-\\[680px\\]{max-width:680px}.embarkai-ui-scope .max-w-\\[80px\\]{max-width:80px}.embarkai-ui-scope .max-w-full{max-width:100%}.embarkai-ui-scope .max-w-sm{max-width:24rem}.embarkai-ui-scope .flex-1{flex:1 1 0%}.embarkai-ui-scope .flex-none{flex:none}.embarkai-ui-scope .flex-shrink-0,.embarkai-ui-scope .shrink-0{flex-shrink:0}.embarkai-ui-scope .-translate-x-1\\/2{--tw-translate-x:-50%}.embarkai-ui-scope .-translate-x-1\\/2,.embarkai-ui-scope .-translate-x-\\[var\\(--ui-kit-gap\\)\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.embarkai-ui-scope .-translate-x-\\[var\\(--ui-kit-gap\\)\\]{--tw-translate-x:calc(var(--ui-kit-gap)*-1)}.embarkai-ui-scope .-translate-y-1\\/2{--tw-translate-y:-50%}.embarkai-ui-scope .-translate-y-1\\/2,.embarkai-ui-scope .rotate-180{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.embarkai-ui-scope .rotate-180{--tw-rotate:180deg}.embarkai-ui-scope .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes glow-warning{0%,to{transform:scale(1);box-shadow:0 0 16px var(--ui-kit-bg-warning)}50%{transform:scale(.97);box-shadow:0 0 4px var(--ui-kit-bg-warning)}}.embarkai-ui-scope .animate-glow-warning{animation:glow-warning 2s ease infinite}@keyframes spin{to{transform:rotate(1turn)}}.embarkai-ui-scope .animate-spin{animation:spin 1s linear infinite}.embarkai-ui-scope .cursor-default{cursor:default}.embarkai-ui-scope .cursor-help{cursor:help}.embarkai-ui-scope .cursor-not-allowed{cursor:not-allowed}.embarkai-ui-scope .cursor-pointer{cursor:pointer}.embarkai-ui-scope .cursor-text{cursor:text}.embarkai-ui-scope .select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.embarkai-ui-scope .select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.embarkai-ui-scope .scroll-my-1{scroll-margin-top:.25rem;scroll-margin-bottom:.25rem}.embarkai-ui-scope .list-inside{list-style-position:inside}.embarkai-ui-scope .list-disc{list-style-type:disc}.embarkai-ui-scope .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.embarkai-ui-scope .flex-col{flex-direction:column}.embarkai-ui-scope .flex-col-reverse{flex-direction:column-reverse}.embarkai-ui-scope .flex-wrap{flex-wrap:wrap}.embarkai-ui-scope .place-content-center{place-content:center}.embarkai-ui-scope .items-start{align-items:flex-start}.embarkai-ui-scope .items-end{align-items:flex-end}.embarkai-ui-scope .items-center{align-items:center}.embarkai-ui-scope .justify-start{justify-content:flex-start}.embarkai-ui-scope .justify-center{justify-content:center}.embarkai-ui-scope .justify-between{justify-content:space-between}.embarkai-ui-scope .justify-evenly{justify-content:space-evenly}.embarkai-ui-scope .gap-0{gap:0}.embarkai-ui-scope .gap-1{gap:.25rem}.embarkai-ui-scope .gap-1\\.5{gap:.375rem}.embarkai-ui-scope .gap-2{gap:.5rem}.embarkai-ui-scope .gap-3{gap:.75rem}.embarkai-ui-scope .gap-4{gap:1rem}.embarkai-ui-scope .gap-\\[10px\\]{gap:10px}.embarkai-ui-scope .gap-\\[var\\(--ui-kit-gap\\)\\]{gap:var(--ui-kit-gap)}.embarkai-ui-scope :is(.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)))}.embarkai-ui-scope :is(.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)))}.embarkai-ui-scope :is(.space-y-0\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.125rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem*var(--tw-space-y-reverse))}.embarkai-ui-scope :is(.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))}.embarkai-ui-scope :is(.space-y-1\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.embarkai-ui-scope :is(.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))}.embarkai-ui-scope .overflow-hidden{overflow:hidden}.embarkai-ui-scope .overflow-y-auto{overflow-y:auto}.embarkai-ui-scope .overflow-x-hidden{overflow-x:hidden}.embarkai-ui-scope .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.embarkai-ui-scope .text-ellipsis{text-overflow:ellipsis}.embarkai-ui-scope .whitespace-nowrap{white-space:nowrap}.embarkai-ui-scope .whitespace-pre-line{white-space:pre-line}.embarkai-ui-scope .whitespace-pre-wrap{white-space:pre-wrap}.embarkai-ui-scope .break-normal{overflow-wrap:normal;word-break:normal}.embarkai-ui-scope .break-words{overflow-wrap:break-word}.embarkai-ui-scope .break-all{word-break:break-all}.embarkai-ui-scope .rounded{border-radius:.25rem}.embarkai-ui-scope .rounded-\\[10px\\]{border-radius:10px}.embarkai-ui-scope .rounded-\\[5px\\]{border-radius:5px}.embarkai-ui-scope .rounded-\\[var\\(--ui-kit-bdrs\\)\\]{border-radius:var(--ui-kit-bdrs)}.embarkai-ui-scope .rounded-\\[var\\(--ui-kit-el-bdrs\\)\\]{border-radius:var(--ui-kit-el-bdrs)}.embarkai-ui-scope .rounded-full{border-radius:9999px}.embarkai-ui-scope .rounded-lg{border-radius:.5rem}.embarkai-ui-scope .rounded-md{border-radius:.375rem}.embarkai-ui-scope .rounded-xl{border-radius:.75rem}.embarkai-ui-scope .border{border-width:1px}.embarkai-ui-scope .border-0{border-width:0}.embarkai-ui-scope .border-2{border-width:2px}.embarkai-ui-scope .border-b{border-bottom-width:1px}.embarkai-ui-scope .border-t{border-top-width:1px}.embarkai-ui-scope .border-dashed{border-style:dashed}.embarkai-ui-scope .border-\\[var\\(--ui-kit-bd\\)\\]{border-color:var(--ui-kit-bd)}.embarkai-ui-scope .border-\\[var\\(--ui-kit-bg-error\\)\\]{border-color:var(--ui-kit-bg-error)}.embarkai-ui-scope .border-\\[var\\(--ui-kit-bg-success\\)\\]{border-color:var(--ui-kit-bg-success)}.embarkai-ui-scope .border-\\[var\\(--ui-kit-bg-warning\\)\\]{border-color:var(--ui-kit-bg-warning)}.embarkai-ui-scope .border-\\[var\\(--ui-kit-error\\)\\]{border-color:var(--ui-kit-error)}.embarkai-ui-scope .border-\\[var\\(--ui-kit-secondary\\)\\]{border-color:var(--ui-kit-secondary)}.embarkai-ui-scope .border-current{border-color:currentColor}.embarkai-ui-scope .border-transparent{border-color:transparent}.embarkai-ui-scope .border-t-transparent{border-top-color:transparent}.embarkai-ui-scope .bg-\\[\\#002c15\\]{--tw-bg-opacity:1;background-color:rgb(0 44 21/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-\\[\\#081f2c\\]{--tw-bg-opacity:1;background-color:rgb(8 31 44/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-\\[\\#f3ba2f\\]{--tw-bg-opacity:1;background-color:rgb(243 186 47/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-accent\\)\\]{background-color:var(--ui-kit-accent)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg\\)\\]{background-color:var(--ui-kit-bg)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg-error\\)\\]{background-color:var(--ui-kit-bg-error)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg-info\\)\\]{background-color:var(--ui-kit-bg-info)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg-secondary\\)\\]{background-color:var(--ui-kit-bg-secondary)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg-success\\)\\]{background-color:var(--ui-kit-bg-success)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg-warning\\)\\]{background-color:var(--ui-kit-bg-warning)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-error\\)\\]{background-color:var(--ui-kit-error)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-fg\\)\\]{background-color:var(--ui-kit-fg)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-overlay\\)\\]{background-color:var(--ui-kit-overlay)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-primary\\)\\]{background-color:var(--ui-kit-primary)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-secondary\\)\\]{background-color:var(--ui-kit-secondary)}.embarkai-ui-scope .bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-black\\/90{background-color:rgba(0,0,0,.9)}.embarkai-ui-scope .bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-transparent{background-color:transparent}.embarkai-ui-scope .fill-\\[var\\(--ui-kit-bg-warning\\)\\]{fill:var(--ui-kit-bg-warning)}.embarkai-ui-scope .object-contain{-o-object-fit:contain;object-fit:contain}.embarkai-ui-scope .object-cover{-o-object-fit:cover;object-fit:cover}.embarkai-ui-scope .p-0{padding:0}.embarkai-ui-scope .p-1{padding:.25rem}.embarkai-ui-scope .p-2{padding:.5rem}.embarkai-ui-scope .p-3{padding:.75rem}.embarkai-ui-scope .p-4{padding:1rem}.embarkai-ui-scope .p-5{padding:1.25rem}.embarkai-ui-scope .p-6{padding:1.5rem}.embarkai-ui-scope .p-8{padding:2rem}.embarkai-ui-scope .p-\\[2px\\]{padding:2px}.embarkai-ui-scope .p-\\[var\\(--ui-kit-gap\\)\\]{padding:var(--ui-kit-gap)}.embarkai-ui-scope .p-\\[var\\(--ui-kit-pd\\)\\]{padding:var(--ui-kit-pd)}.embarkai-ui-scope .px-0{padding-left:0;padding-right:0}.embarkai-ui-scope .px-1{padding-left:.25rem;padding-right:.25rem}.embarkai-ui-scope .px-2{padding-left:.5rem;padding-right:.5rem}.embarkai-ui-scope .px-3{padding-left:.75rem;padding-right:.75rem}.embarkai-ui-scope .px-4{padding-left:1rem;padding-right:1rem}.embarkai-ui-scope .px-5{padding-left:1.25rem;padding-right:1.25rem}.embarkai-ui-scope .px-8{padding-left:2rem;padding-right:2rem}.embarkai-ui-scope .px-\\[var\\(--ui-kit-gap\\)\\]{padding-left:var(--ui-kit-gap);padding-right:var(--ui-kit-gap)}.embarkai-ui-scope .px-\\[var\\(--ui-kit-pd\\)\\]{padding-left:var(--ui-kit-pd);padding-right:var(--ui-kit-pd)}.embarkai-ui-scope .py-0{padding-top:0;padding-bottom:0}.embarkai-ui-scope .py-1{padding-top:.25rem;padding-bottom:.25rem}.embarkai-ui-scope .py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.embarkai-ui-scope .py-2{padding-top:.5rem;padding-bottom:.5rem}.embarkai-ui-scope .py-3{padding-top:.75rem;padding-bottom:.75rem}.embarkai-ui-scope .py-\\[10px\\]{padding-top:10px;padding-bottom:10px}.embarkai-ui-scope .py-\\[var\\(--ui-kit-pd\\)\\]{padding-top:var(--ui-kit-pd);padding-bottom:var(--ui-kit-pd)}.embarkai-ui-scope .pb-2{padding-bottom:.5rem}.embarkai-ui-scope .pb-5{padding-bottom:1.25rem}.embarkai-ui-scope .pb-6{padding-bottom:1.5rem}.embarkai-ui-scope .pl-\\[var\\(--ui-kit-pd\\)\\]{padding-left:var(--ui-kit-pd)}.embarkai-ui-scope .pr-8{padding-right:2rem}.embarkai-ui-scope .pt-3{padding-top:.75rem}.embarkai-ui-scope .pt-4{padding-top:1rem}.embarkai-ui-scope .pt-5{padding-top:1.25rem}.embarkai-ui-scope .text-left{text-align:left}.embarkai-ui-scope .text-center{text-align:center}.embarkai-ui-scope .text-right{text-align:right}.embarkai-ui-scope .font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.embarkai-ui-scope .font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.embarkai-ui-scope .text-2xl{font-size:1.5rem;line-height:2rem}.embarkai-ui-scope .text-\\[10px\\]{font-size:10px}.embarkai-ui-scope .text-\\[14px\\]{font-size:14px}.embarkai-ui-scope .text-\\[16px\\]{font-size:16px}.embarkai-ui-scope .text-\\[8px\\]{font-size:8px}.embarkai-ui-scope .text-lg{font-size:1.125rem;line-height:1.75rem}.embarkai-ui-scope .text-sm{font-size:.875rem;line-height:1.25rem}.embarkai-ui-scope .text-xl{font-size:1.25rem;line-height:1.75rem}.embarkai-ui-scope .text-xs{font-size:.75rem;line-height:1rem}.embarkai-ui-scope .font-bold{font-weight:700}.embarkai-ui-scope .font-medium{font-weight:500}.embarkai-ui-scope .font-normal{font-weight:400}.embarkai-ui-scope .font-semibold{font-weight:600}.embarkai-ui-scope .uppercase{text-transform:uppercase}.embarkai-ui-scope .lowercase{text-transform:lowercase}.embarkai-ui-scope .leading-4{line-height:1rem}.embarkai-ui-scope .leading-5{line-height:1.25rem}.embarkai-ui-scope .leading-6{line-height:1.5rem}.embarkai-ui-scope .leading-8{line-height:2rem}.embarkai-ui-scope .leading-\\[8px\\]{line-height:8px}.embarkai-ui-scope .leading-none{line-height:1}.embarkai-ui-scope .leading-tight{line-height:1.25}.embarkai-ui-scope .tracking-tight{letter-spacing:-.025em}.embarkai-ui-scope .tracking-wider{letter-spacing:.05em}.embarkai-ui-scope .text-\\[\\#c3f53c\\]{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-\\[var\\(--ui-kit-bg-error\\)\\]{color:var(--ui-kit-bg-error)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-bg-success\\)\\]{color:var(--ui-kit-bg-success)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-bg-warning\\)\\]{color:var(--ui-kit-bg-warning)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-error\\)\\]{color:var(--ui-kit-error)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-fg\\)\\]{color:var(--ui-kit-fg)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-fg-inverted\\)\\]{color:var(--ui-kit-fg-inverted)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-fg-muted\\)\\]{color:var(--ui-kit-fg-muted)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-info\\)\\]{color:var(--ui-kit-info)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-success\\)\\]{color:var(--ui-kit-success)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-text-secondary\\)\\]{color:var(--ui-kit-text-secondary)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-warning\\)\\]{color:var(--ui-kit-warning)}.embarkai-ui-scope .text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.embarkai-ui-scope .underline{text-decoration-line:underline}.embarkai-ui-scope .underline-offset-2{text-underline-offset:2px}.embarkai-ui-scope .underline-offset-4{text-underline-offset:4px}.embarkai-ui-scope .antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.embarkai-ui-scope .opacity-0{opacity:0}.embarkai-ui-scope .opacity-100{opacity:1}.embarkai-ui-scope .opacity-50{opacity:.5}.embarkai-ui-scope .opacity-60{opacity:.6}.embarkai-ui-scope .opacity-70{opacity:.7}.embarkai-ui-scope .opacity-90{opacity:.9}.embarkai-ui-scope .shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.embarkai-ui-scope .outline-none{outline:2px solid transparent;outline-offset:2px}.embarkai-ui-scope .outline{outline-style:solid}.embarkai-ui-scope .blur{--tw-blur:blur(8px)}.embarkai-ui-scope .blur,.embarkai-ui-scope .grayscale{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)}.embarkai-ui-scope .grayscale{--tw-grayscale:grayscale(100%)}.embarkai-ui-scope .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)}.embarkai-ui-scope .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.embarkai-ui-scope .transition-\\[color\\2c box-shadow\\]{transition-property:color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.embarkai-ui-scope .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}.embarkai-ui-scope .transition-none{transition-property:none}.embarkai-ui-scope .transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.embarkai-ui-scope .transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.embarkai-ui-scope .duration-200{transition-duration:.2s}.embarkai-ui-scope .ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.embarkai-ui-scope{--ui-kit-ff:var(--embark-ui-ff,-apple-system,BlinkMacSystemFont,"Inter",system-ui,sans-serif);--ui-kit-maw:var(--embark-ui-maw,384px);--ui-kit-pd:var(--embark-ui-pd,12px);--ui-kit-gap:var(--embark-ui-gap,10px);--ui-kit-bdrs:var(--embark-ui-bdrs,20px);--ui-kit-el-bdrs:var(--embark-ui-element-bdrs,10px);--ui-kit-backdrop-blur:var(--embark-ui-backdrop-blur,10px)}.embarkai-ui-scope[data-current-theme-mode=light]{--ui-kit-overlay:var(--embark-ui-overlay,hsla(0,0%,100%,.8));--ui-kit-bg:var(--embark-ui-bg,#fff);--ui-kit-fg:var(--embark-ui-fg,#000);--ui-kit-fg-h:var(--embark-ui-fg-h,rgba(0,0,0,.6));--ui-kit-fg-a:var(--embark-ui-fg-a,rgba(0,0,0,.4));--ui-kit-fg-inverted:var(--embark-ui-fg-inverted,#fff);--ui-kit-fg-muted:var(--embark-ui-fg-muted,rgba(0,0,0,.6));--ui-kit-primary:var(--embark-ui-primary,#000);--ui-kit-primary-h:var(--embark-ui-primary-h,rgba(0,0,0,.8));--ui-kit-primary-a:var(--embark-ui-primary-a,rgba(0,0,0,.6));--ui-kit-secondary:var(--embark-ui-secondary,#e4e4e4);--ui-kit-secondary-h:var(--embark-ui-secondary-h,hsla(0,0%,89%,.8));--ui-kit-secondary-a:var(--embark-ui-secondary-a,hsla(0,0%,89%,.6));--ui-kit-bd:var(--embark-ui-bd,#ebebeb);--ui-kit-bd-intense:var(--embark-ui-bd-intense,#a9a9a9);--ui-kit-shadow-c:var(--embark-ui-shadow-c,rgba(0,0,0,.1));--ui-kit-info:var(--embark-ui-info,var(--ui-kit-fg));--ui-kit-bg-info:var(--embark-ui-bg-info,var(--ui-kit-secondary));--ui-kit-success:var(--embark-ui-success,#000);--ui-kit-bg-success:var(--embark-ui-bg-success,#21ff51);--ui-kit-warning:var(--embark-ui-warning,#000);--ui-kit-bg-warning:var(--embark-ui-bg-warning,#e9fa00);--ui-kit-error:var(--embark-ui-error,#fff);--ui-kit-bg-error:var(--embark-ui-bg-error,#d6204e)}.embarkai-ui-scope[data-current-theme-mode=dark]{--ui-kit-overlay:var(--embark-ui-overlay,rgba(0,0,0,.8));--ui-kit-bg:var(--embark-ui-bg,#1a1a1a);--ui-kit-fg:var(--embark-ui-fg,#fff);--ui-kit-fg-h:var(--embark-ui-fg-h,hsla(0,0%,100%,.6));--ui-kit-fg-a:var(--embark-ui-fg-a,hsla(0,0%,100%,.4));--ui-kit-fg-inverted:var(--embark-ui-fg-inverted,#000);--ui-kit-fg-muted:var(--embark-ui-fg-muted,hsla(0,0%,100%,.6));--ui-kit-primary:var(--embark-ui-primary,#fff);--ui-kit-primary-h:var(--embark-ui-primary-h,hsla(0,0%,100%,.8));--ui-kit-primary-a:var(--embark-ui-primary-a,hsla(0,0%,100%,.6));--ui-kit-secondary:var(--embark-ui-secondary,#2a2a2a);--ui-kit-secondary-h:var(--embark-ui-secondary-h,rgba(42,42,42,.6));--ui-kit-secondary-a:var(--embark-ui-secondary-a,rgba(42,42,42,.4));--ui-kit-bd:var(--embark-ui-bd,#3a3a3a);--ui-kit-bd-intense:var(--embark-ui-bd-intense,#4a4a4a);--ui-kit-shadow-c:var(--embark-ui-shadow-c,rgba(0,0,0,.1));--ui-kit-info:var(--embark-ui-info,var(--ui-kit-fg));--ui-kit-bg-info:var(--embark-ui-bg-info,var(--ui-kit-secondary));--ui-kit-success:var(--embark-ui-success,#000);--ui-kit-bg-success:var(--embark-ui-bg-success,#21ff51);--ui-kit-warning:var(--embark-ui-warning,#000);--ui-kit-bg-warning:var(--embark-ui-bg-warning,#e9fa00);--ui-kit-error:var(--embark-ui-error,#fff);--ui-kit-bg-error:var(--embark-ui-bg-error,#d6204e)}.embarkai-ui-scope,.embarkai-ui-scope *{margin:0;box-sizing:border-box;font-family:var(--ui-kit-ff);font-optical-sizing:auto;-webkit-tap-highlight-color:transparent;-moz-tap-highlight-color:transparent;-ms-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.embarkai-ui-scope button,.embarkai-ui-scope h1,.embarkai-ui-scope h2,.embarkai-ui-scope h3,.embarkai-ui-scope h4,.embarkai-ui-scope h5,.embarkai-ui-scope h6,.embarkai-ui-scope input,.embarkai-ui-scope p,.embarkai-ui-scope select,.embarkai-ui-scope textarea{font-family:var(--ui-kit-ff)!important;margin:0}.embarkai-ui-scope button,.embarkai-ui-scope input,.embarkai-ui-scope select,.embarkai-ui-scope textarea{border-style:solid;outline:none!important;appearance:none!important;-webkit-appearance:none;-moz-appearance:none}.embarkai-ui-scope input,.embarkai-ui-scope textarea{font-size:16px!important}.embarkai-ui-scope .account-connect-button{box-shadow:0 4px 20px var(--ui-kit-shadow-c),inset 0 0 0 1px var(--ui-kit-bd);transition:transform .25s ease}.embarkai-ui-scope .account-connect-button:hover{transform:scale(1.02)}.embarkai-ui-scope .account-connect-button:active{transform:scale(1)}@keyframes lumia-mobile-dialog-fade-in{0%{opacity:0;transform:translateY(64px)}to{opacity:1;transform:translateY(0)}}@keyframes lumia-mobile-dialog-fade-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(64px)}}.embarkai-ui-scope .animate-mobile-dialog-in{animation:lumia-mobile-dialog-fade-in 375ms ease}.embarkai-ui-scope .animate-mobile-dialog-out{animation:lumia-mobile-dialog-fade-out 375ms ease}@keyframes lumia-dialog-fade-in{0%{opacity:0}to{opacity:1}}@keyframes lumia-dialog-fade-out{0%{opacity:1}to{opacity:0}}.embarkai-ui-scope .animate-dialog-in{animation:lumia-dialog-fade-in 375ms ease}.embarkai-ui-scope .animate-dialog-out{animation:lumia-dialog-fade-out 375ms ease}.embarkai-ui-scope .list-scrollbar-y{width:100%;padding-right:var(--ui-kit-list-scrollbar-pd-r,0);overflow-y:auto;overflow-x:hidden;max-height:var(--ui-kit-scrollbar-mah,300px)}.embarkai-ui-scope .list-scrollbar-y::-webkit-scrollbar{width:4px;height:4px}.embarkai-ui-scope .list-scrollbar-y::-webkit-scrollbar-thumb{cursor:pointer;width:4px;border-radius:2px;background-color:var(--ui-kit-bd)}.embarkai-ui-scope .list-scrollbar-y::-webkit-scrollbar-track{margin-top:10px;margin-bottom:10px;background-color:transparent}.embarkai-ui-scope .noScrollbars::-webkit-scrollbar{display:none}.embarkai-ui-scope div[data-radix-popper-content-wrapper]{z-index:10000!important}.embarkai-ui-scope .file\\:mr-\\[var\\(--ui-kit-gap\\)\\]::file-selector-button{margin-right:var(--ui-kit-gap)}.embarkai-ui-scope .file\\:h-12::file-selector-button{height:3rem}.embarkai-ui-scope .file\\:cursor-pointer::file-selector-button{cursor:pointer}.embarkai-ui-scope .file\\:rounded-\\[var\\(--ui-kit-el-bdrs\\)\\]::file-selector-button{border-radius:var(--ui-kit-el-bdrs)}.embarkai-ui-scope .file\\:border-0::file-selector-button{border-width:0}.embarkai-ui-scope .file\\:bg-\\[var\\(--ui-kit-primary\\)\\]::file-selector-button{background-color:var(--ui-kit-primary)}.embarkai-ui-scope .file\\:bg-transparent::file-selector-button{background-color:transparent}.embarkai-ui-scope .file\\:px-\\[var\\(--ui-kit-pd\\)\\]::file-selector-button{padding-left:var(--ui-kit-pd);padding-right:var(--ui-kit-pd)}.embarkai-ui-scope .file\\:text-\\[16px\\]::file-selector-button{font-size:16px}.embarkai-ui-scope .file\\:text-base::file-selector-button{font-size:1rem;line-height:1.5rem}.embarkai-ui-scope .file\\:font-medium::file-selector-button{font-weight:500}.embarkai-ui-scope .file\\:text-\\[var\\(--ui-kit-fg-inverted\\)\\]::file-selector-button{color:var(--ui-kit-fg-inverted)}.embarkai-ui-scope .placeholder\\:text-\\[var\\(--ui-kit-fg-muted\\)\\]::-moz-placeholder{color:var(--ui-kit-fg-muted)}.embarkai-ui-scope .placeholder\\:text-\\[var\\(--ui-kit-fg-muted\\)\\]::placeholder{color:var(--ui-kit-fg-muted)}.embarkai-ui-scope .focus-within\\:bg-\\[var\\(--ui-kit-secondary-a\\)\\]:focus-within{background-color:var(--ui-kit-secondary-a)}.embarkai-ui-scope .focus-within\\:outline-none:focus-within{outline:2px solid transparent;outline-offset:2px}.embarkai-ui-scope .hover\\:bg-\\[var\\(--ui-kit-bg\\)\\]:hover{background-color:var(--ui-kit-bg)}.embarkai-ui-scope .hover\\:bg-\\[var\\(--ui-kit-bg-secondary\\)\\]:hover{background-color:var(--ui-kit-bg-secondary)}.embarkai-ui-scope .hover\\:bg-\\[var\\(--ui-kit-primary-h\\)\\]:hover{background-color:var(--ui-kit-primary-h)}.embarkai-ui-scope .hover\\:bg-\\[var\\(--ui-kit-secondary\\)\\]:hover{background-color:var(--ui-kit-secondary)}.embarkai-ui-scope .hover\\:bg-\\[var\\(--ui-kit-secondary-h\\)\\]:hover{background-color:var(--ui-kit-secondary-h)}.embarkai-ui-scope .hover\\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.embarkai-ui-scope .hover\\:text-\\[\\#c3f53c\\]:hover{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.embarkai-ui-scope .hover\\:text-\\[var\\(--ui-kit-fg-h\\)\\]:hover{color:var(--ui-kit-fg-h)}.embarkai-ui-scope .hover\\:text-gray-300:hover{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.embarkai-ui-scope .hover\\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.embarkai-ui-scope .hover\\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.embarkai-ui-scope .hover\\:underline:hover{text-decoration-line:underline}.embarkai-ui-scope .hover\\:opacity-100:hover{opacity:1}.embarkai-ui-scope .file\\:hover\\:opacity-90:hover::file-selector-button{opacity:.9}.embarkai-ui-scope .focus\\:bg-\\[var\\(--ui-kit-secondary-a\\)\\]:focus{background-color:var(--ui-kit-secondary-a)}.embarkai-ui-scope .focus\\:bg-transparent:focus{background-color:transparent}.embarkai-ui-scope .focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.embarkai-ui-scope .focus-visible\\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.embarkai-ui-scope .focus-visible\\:ring-0:focus-visible{--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(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)}.embarkai-ui-scope .focus-visible\\:ring-\\[2px\\]:focus-visible{--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)}.embarkai-ui-scope .focus-visible\\:ring-transparent:focus-visible{--tw-ring-color:transparent}.embarkai-ui-scope .focus-visible\\:ring-offset-0:focus-visible{--tw-ring-offset-width:0px}.embarkai-ui-scope .active\\:bg-\\[var\\(--ui-kit-bg\\)\\]:active{background-color:var(--ui-kit-bg)}.embarkai-ui-scope .active\\:bg-\\[var\\(--ui-kit-primary-a\\)\\]:active{background-color:var(--ui-kit-primary-a)}.embarkai-ui-scope .active\\:bg-\\[var\\(--ui-kit-secondary-a\\)\\]:active{background-color:var(--ui-kit-secondary-a)}.embarkai-ui-scope .active\\:text-\\[\\#c3f53c\\]:active{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.embarkai-ui-scope .active\\:text-\\[var\\(--ui-kit-fg-a\\)\\]:active{color:var(--ui-kit-fg-a)}.embarkai-ui-scope .file\\:active\\:opacity-80:active::file-selector-button{opacity:.8}.embarkai-ui-scope .disabled\\:cursor-default:disabled{cursor:default}.embarkai-ui-scope .disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.embarkai-ui-scope .disabled\\:opacity-50:disabled{opacity:.5}.embarkai-ui-scope .disabled\\:hover\\:bg-\\[var\\(--ui-kit-bg\\)\\]:hover:disabled{background-color:var(--ui-kit-bg)}.embarkai-ui-scope .disabled\\:hover\\:bg-\\[var\\(--ui-kit-primary\\)\\]:hover:disabled{background-color:var(--ui-kit-primary)}.embarkai-ui-scope .disabled\\:hover\\:bg-\\[var\\(--ui-kit-secondary\\)\\]:hover:disabled{background-color:var(--ui-kit-secondary)}.embarkai-ui-scope .disabled\\:hover\\:text-\\[var\\(--ui-kit-fg\\)\\]:hover:disabled{color:var(--ui-kit-fg)}.embarkai-ui-scope .disabled\\:active\\:bg-\\[var\\(--ui-kit-bg\\)\\]:active:disabled{background-color:var(--ui-kit-bg)}.embarkai-ui-scope .disabled\\:active\\:bg-\\[var\\(--ui-kit-primary\\)\\]:active:disabled{background-color:var(--ui-kit-primary)}.embarkai-ui-scope .disabled\\:active\\:text-\\[var\\(--ui-kit-fg\\)\\]:active:disabled{color:var(--ui-kit-fg)}.embarkai-ui-scope :is(.group:hover .group-hover\\:opacity-100){opacity:1}.embarkai-ui-scope :is(.group:hover .group-hover\\:opacity-60){opacity:.6}.embarkai-ui-scope .data-\\[disabled\\]\\:pointer-events-none[data-disabled]{pointer-events:none}.embarkai-ui-scope .data-\\[size\\=default\\]\\:h-12[data-size=default]{height:3rem}.embarkai-ui-scope .data-\\[size\\=sm\\]\\:h-10[data-size=sm]{height:2.5rem}.embarkai-ui-scope .data-\\[side\\=bottom\\]\\:translate-y-1[data-side=bottom]{--tw-translate-y:0.25rem}.embarkai-ui-scope .data-\\[side\\=bottom\\]\\:translate-y-1[data-side=bottom],.embarkai-ui-scope .data-\\[side\\=left\\]\\:-translate-x-1[data-side=left]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.embarkai-ui-scope .data-\\[side\\=left\\]\\:-translate-x-1[data-side=left]{--tw-translate-x:-0.25rem}.embarkai-ui-scope .data-\\[side\\=right\\]\\:translate-x-1[data-side=right]{--tw-translate-x:0.25rem}.embarkai-ui-scope .data-\\[side\\=right\\]\\:translate-x-1[data-side=right],.embarkai-ui-scope .data-\\[side\\=top\\]\\:-translate-y-1[data-side=top]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.embarkai-ui-scope .data-\\[side\\=top\\]\\:-translate-y-1[data-side=top]{--tw-translate-y:-0.25rem}.embarkai-ui-scope .data-\\[state\\=checked\\]\\:border-\\[var\\(--ui-kit-bd-intense\\)\\][data-state=checked]{border-color:var(--ui-kit-bd-intense)}.embarkai-ui-scope .data-\\[state\\=checked\\]\\:bg-\\[var\\(--ui-kit-secondary\\)\\][data-state=checked]{background-color:var(--ui-kit-secondary)}.embarkai-ui-scope .data-\\[state\\=checked\\]\\:text-\\[var\\(--ui-kit-fg\\)\\][data-state=checked]{color:var(--ui-kit-fg)}.embarkai-ui-scope .data-\\[disabled\\]\\:opacity-50[data-disabled]{opacity:.5}.embarkai-ui-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:line-clamp-1[data-slot=select-value]>*){overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.embarkai-ui-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:flex[data-slot=select-value]>*){display:flex}.embarkai-ui-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:items-center[data-slot=select-value]>*){align-items:center}.embarkai-ui-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:gap-\\[var\\(--ui-kit-gap\\)\\][data-slot=select-value]>*){gap:var(--ui-kit-gap)}@media (min-width:640px){.embarkai-ui-scope .sm\\:flex-row{flex-direction:row}.embarkai-ui-scope .sm\\:justify-end{justify-content:flex-end}.embarkai-ui-scope :is(.sm\\: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)))}.embarkai-ui-scope .sm\\:text-left{text-align:left}}@media (min-width:768px){.embarkai-ui-scope .md\\:h-8{height:2rem}.embarkai-ui-scope .md\\:w-8{width:2rem}.embarkai-ui-scope .md\\:gap-\\[var\\(--ui-kit-gap\\)\\]{gap:var(--ui-kit-gap)}.embarkai-ui-scope .md\\:py-1{padding-top:.25rem;padding-bottom:.25rem}.embarkai-ui-scope .md\\:text-sm{font-size:.875rem;line-height:1.25rem}.embarkai-ui-scope .md\\:text-xs{font-size:.75rem;line-height:1rem}}.embarkai-ui-scope :is(.\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-4 svg:not([class*=size-])){width:1rem;height:1rem}.embarkai-ui-scope :is(.\\[\\&_svg\\]\\:pointer-events-none svg){pointer-events:none}.embarkai-ui-scope :is(.\\[\\&_svg\\]\\:shrink-0 svg){flex-shrink:0}`;
|
|
28
28
|
}
|
|
29
29
|
});
|
|
30
30
|
|
|
@@ -90,6 +90,7 @@ function getServiceUrls() {
|
|
|
90
90
|
const searchParams = typeof window !== "undefined" ? new URLSearchParams(window.location.search) : void 0;
|
|
91
91
|
const paramTss = searchParams?.get("tssUrl") || void 0;
|
|
92
92
|
const paramVault = searchParams?.get("shareVaultUrl") || void 0;
|
|
93
|
+
const paramDashboard = searchParams?.get("dashboardApiUrl") || void 0;
|
|
93
94
|
const buildTss = "https://api.lumiapassport.com/tss";
|
|
94
95
|
const buildVault = "https://api.lumiapassport.com/vault";
|
|
95
96
|
const buildRequireWasm = false;
|
|
@@ -99,6 +100,7 @@ function getServiceUrls() {
|
|
|
99
100
|
const result = {
|
|
100
101
|
tssUrl: paramTss || globalOverride.tssUrl || buildTss || config.services.tssUrl || defaultTss,
|
|
101
102
|
shareVaultUrl: paramVault || globalOverride.shareVaultUrl || buildVault || config.services.shareVaultUrl || defaultVault,
|
|
103
|
+
dashboardApiUrl: paramDashboard || globalOverride.dashboardApiUrl || config.services.dashboardApiUrl || "https://dashboard.lumiapassport.com/api",
|
|
102
104
|
tssRequireWasm: globalOverride.tssRequireWasm ?? buildRequireWasm ?? config.services.tssRequireWasm ?? false,
|
|
103
105
|
tssWasmDebug: globalOverride.tssWasmDebug ?? buildWasmDebug ?? config.services.tssWasmDebug ?? false
|
|
104
106
|
};
|
|
@@ -252,6 +254,13 @@ function addProjectIdToUrl(url) {
|
|
|
252
254
|
}
|
|
253
255
|
return url;
|
|
254
256
|
}
|
|
257
|
+
function getProjectId() {
|
|
258
|
+
try {
|
|
259
|
+
return typeof window !== "undefined" ? window.__EMBARK_PROJECT_ID__ : void 0;
|
|
260
|
+
} catch {
|
|
261
|
+
return void 0;
|
|
262
|
+
}
|
|
263
|
+
}
|
|
255
264
|
var init_projectId = __esm({
|
|
256
265
|
"src/internal/utils/projectId.ts"() {
|
|
257
266
|
}
|
|
@@ -1289,13 +1298,39 @@ var init_akHelpers = __esm({
|
|
|
1289
1298
|
}
|
|
1290
1299
|
});
|
|
1291
1300
|
|
|
1301
|
+
// src/internal/clients/account/resolve-paymaster.ts
|
|
1302
|
+
import { resolveProjectPaymaster } from "@embarkai/core";
|
|
1303
|
+
import { getChainConfig as getChainConfig2 } from "@embarkai/core/read";
|
|
1304
|
+
async function resolveUiKitPaymaster(chainId, shouldUsePaymaster) {
|
|
1305
|
+
if (!shouldUsePaymaster) {
|
|
1306
|
+
return {
|
|
1307
|
+
address: null,
|
|
1308
|
+
source: "none",
|
|
1309
|
+
chainId
|
|
1310
|
+
};
|
|
1311
|
+
}
|
|
1312
|
+
const chainConfig = getChainConfig2(chainId);
|
|
1313
|
+
return resolveProjectPaymaster({
|
|
1314
|
+
chainId,
|
|
1315
|
+
projectId: getProjectId(),
|
|
1316
|
+
defaultPaymasterAddress: chainConfig?.paymasterAddress,
|
|
1317
|
+
dashboardApiUrl: getDashboardApiUrl()
|
|
1318
|
+
});
|
|
1319
|
+
}
|
|
1320
|
+
var init_resolve_paymaster = __esm({
|
|
1321
|
+
"src/internal/clients/account/resolve-paymaster.ts"() {
|
|
1322
|
+
init_base();
|
|
1323
|
+
init_projectId();
|
|
1324
|
+
}
|
|
1325
|
+
});
|
|
1326
|
+
|
|
1292
1327
|
// src/internal/clients/account/deposit-for-smart-account.ts
|
|
1293
|
-
import { getChainConfig as
|
|
1328
|
+
import { getChainConfig as getChainConfig3, getViemChain } from "@embarkai/core/read";
|
|
1294
1329
|
import { createWalletClient, http, parseEther } from "viem";
|
|
1295
1330
|
import { privateKeyToAccount } from "viem/accounts";
|
|
1296
1331
|
async function depositForSmartAccount(address, amountEth = "0.01") {
|
|
1297
1332
|
const chainId = requireActiveChainId();
|
|
1298
|
-
const chainConfig =
|
|
1333
|
+
const chainConfig = getChainConfig3(chainId);
|
|
1299
1334
|
if (!FUNDER_PK) throw new Error("VITE_FUNDER_PK is not set");
|
|
1300
1335
|
const entryPointAddress = chainConfig.entryPointV07Address;
|
|
1301
1336
|
const funder = privateKeyToAccount(FUNDER_PK);
|
|
@@ -1330,13 +1365,13 @@ import {
|
|
|
1330
1365
|
estimateUserOperationGas,
|
|
1331
1366
|
sendUserOperationWithRetry
|
|
1332
1367
|
} from "@embarkai/core/bundler";
|
|
1333
|
-
import { createPublicClientForChain, getChainConfig as
|
|
1368
|
+
import { createPublicClientForChain, getChainConfig as getChainConfig4 } from "@embarkai/core/read";
|
|
1334
1369
|
import { encodeFunctionData } from "viem";
|
|
1335
1370
|
import { entryPoint07Abi } from "viem/account-abstraction";
|
|
1336
1371
|
import { privateKeyToAccount as privateKeyToAccount2 } from "viem/accounts";
|
|
1337
1372
|
async function sendUserOperation(session, params) {
|
|
1338
1373
|
const chainId = params.chainId ?? requireActiveChainId();
|
|
1339
|
-
const chainConfig =
|
|
1374
|
+
const chainConfig = getChainConfig4(chainId);
|
|
1340
1375
|
if (!chainConfig) {
|
|
1341
1376
|
throw new Error(`Chain ${chainId} is not supported`);
|
|
1342
1377
|
}
|
|
@@ -1403,6 +1438,15 @@ async function sendUserOperation(session, params) {
|
|
|
1403
1438
|
{ client: chainPublicClient, bundlerUrl, chainConfig }
|
|
1404
1439
|
);
|
|
1405
1440
|
}
|
|
1441
|
+
const storeUsePaymaster = useSession.getState().usePaymaster;
|
|
1442
|
+
const shouldUsePaymaster = storeUsePaymaster ?? session.usePaymaster ?? false;
|
|
1443
|
+
const resolvedPaymaster = await resolveUiKitPaymaster(chainId, shouldUsePaymaster);
|
|
1444
|
+
if (resolvedPaymaster.address) {
|
|
1445
|
+
userOp.paymaster = resolvedPaymaster.address;
|
|
1446
|
+
userOp.paymasterData = "0x";
|
|
1447
|
+
userOp.paymasterVerificationGasLimit = PAYMASTER_VERIFICATION_GAS_LIMIT;
|
|
1448
|
+
userOp.paymasterPostOpGasLimit = PAYMASTER_POSTOP_GAS_LIMIT;
|
|
1449
|
+
}
|
|
1406
1450
|
try {
|
|
1407
1451
|
const gasEst = await estimateUserOperationGas(
|
|
1408
1452
|
{ ...userOp, signature: `0x${"00".repeat(65)}` },
|
|
@@ -1420,12 +1464,6 @@ async function sendUserOperation(session, params) {
|
|
|
1420
1464
|
console.log("[Account] Gas estimation failed:", e);
|
|
1421
1465
|
throw new Error(`Gas estimation failed: ${e}`);
|
|
1422
1466
|
}
|
|
1423
|
-
if (session.usePaymaster && chainConfig.paymasterAddress) {
|
|
1424
|
-
userOp.paymaster = chainConfig.paymasterAddress;
|
|
1425
|
-
userOp.paymasterData = "0x";
|
|
1426
|
-
userOp.paymasterVerificationGasLimit = PAYMASTER_VERIFICATION_GAS_LIMIT;
|
|
1427
|
-
userOp.paymasterPostOpGasLimit = PAYMASTER_POSTOP_GAS_LIMIT;
|
|
1428
|
-
}
|
|
1429
1467
|
const signUserOp = async (nonce2) => {
|
|
1430
1468
|
userOp.nonce = nonce2;
|
|
1431
1469
|
const hasFactoryData = !!(userOp.factory && userOp.factoryData);
|
|
@@ -1504,6 +1542,7 @@ var init_user_operations = __esm({
|
|
|
1504
1542
|
init_iframe_mpc_client();
|
|
1505
1543
|
init_constants2();
|
|
1506
1544
|
init_helpers();
|
|
1545
|
+
init_resolve_paymaster();
|
|
1507
1546
|
}
|
|
1508
1547
|
});
|
|
1509
1548
|
|
|
@@ -1661,7 +1700,7 @@ import {
|
|
|
1661
1700
|
estimateUserOperationGas as estimateUserOperationGas2,
|
|
1662
1701
|
sendUserOperationWithRetry as sendUserOperationWithRetry2
|
|
1663
1702
|
} from "@embarkai/core/bundler";
|
|
1664
|
-
import { createPublicClientForChain as createPublicClientForChain3, getChainConfig as
|
|
1703
|
+
import { createPublicClientForChain as createPublicClientForChain3, getChainConfig as getChainConfig5 } from "@embarkai/core/read";
|
|
1665
1704
|
import { encodeFunctionData as encodeFunctionData2, hashTypedData } from "viem";
|
|
1666
1705
|
import { entryPoint07Abi as entryPoint07Abi2 } from "viem/account-abstraction";
|
|
1667
1706
|
import { privateKeyToAccount as privateKeyToAccount3 } from "viem/accounts";
|
|
@@ -1685,7 +1724,7 @@ function normalizeSignature2(signature) {
|
|
|
1685
1724
|
}
|
|
1686
1725
|
async function prepareUserOperation(session, params) {
|
|
1687
1726
|
const chainId = params.chainId ?? requireActiveChainId();
|
|
1688
|
-
const chainConfig =
|
|
1727
|
+
const chainConfig = getChainConfig5(chainId);
|
|
1689
1728
|
const chainPublicClient = createPublicClientForChain3(chainId);
|
|
1690
1729
|
const bundlerUrl = chainConfig.bundlerUrl;
|
|
1691
1730
|
const { to: callTarget, value: amountWei, data: innerData = "0x", feeType = "standard" } = params;
|
|
@@ -1750,9 +1789,10 @@ async function prepareUserOperation(session, params) {
|
|
|
1750
1789
|
);
|
|
1751
1790
|
}
|
|
1752
1791
|
const storeUsePaymaster = useSession.getState().usePaymaster;
|
|
1753
|
-
const shouldUsePaymaster = storeUsePaymaster ?? session.usePaymaster;
|
|
1754
|
-
|
|
1755
|
-
|
|
1792
|
+
const shouldUsePaymaster = storeUsePaymaster ?? session.usePaymaster ?? false;
|
|
1793
|
+
const resolvedPaymaster = await resolveUiKitPaymaster(chainId, shouldUsePaymaster);
|
|
1794
|
+
if (resolvedPaymaster.address) {
|
|
1795
|
+
userOp.paymaster = resolvedPaymaster.address;
|
|
1756
1796
|
userOp.paymasterData = "0x";
|
|
1757
1797
|
userOp.paymasterVerificationGasLimit = PAYMASTER_VERIFICATION_GAS_LIMIT2;
|
|
1758
1798
|
userOp.paymasterPostOpGasLimit = PAYMASTER_POSTOP_GAS_LIMIT2;
|
|
@@ -1837,7 +1877,7 @@ async function prepareUserOperation(session, params) {
|
|
|
1837
1877
|
}
|
|
1838
1878
|
async function sendUserOperation2(session, params) {
|
|
1839
1879
|
const chainId = params.chainId ?? requireActiveChainId();
|
|
1840
|
-
const chainConfig =
|
|
1880
|
+
const chainConfig = getChainConfig5(chainId);
|
|
1841
1881
|
const chainPublicClient = createPublicClientForChain3(chainId);
|
|
1842
1882
|
const bundlerUrl = chainConfig.bundlerUrl;
|
|
1843
1883
|
const { to: callTarget, value: amountWei, data: innerData = "0x", feeType = "standard" } = params;
|
|
@@ -1902,9 +1942,10 @@ async function sendUserOperation2(session, params) {
|
|
|
1902
1942
|
);
|
|
1903
1943
|
}
|
|
1904
1944
|
const storeUsePaymaster = useSession.getState().usePaymaster;
|
|
1905
|
-
const shouldUsePaymaster = storeUsePaymaster ?? session.usePaymaster;
|
|
1906
|
-
|
|
1907
|
-
|
|
1945
|
+
const shouldUsePaymaster = storeUsePaymaster ?? session.usePaymaster ?? false;
|
|
1946
|
+
const resolvedPaymaster = await resolveUiKitPaymaster(chainId, shouldUsePaymaster);
|
|
1947
|
+
if (resolvedPaymaster.address) {
|
|
1948
|
+
userOp.paymaster = resolvedPaymaster.address;
|
|
1908
1949
|
userOp.paymasterData = "0x";
|
|
1909
1950
|
userOp.paymasterVerificationGasLimit = PAYMASTER_VERIFICATION_GAS_LIMIT2;
|
|
1910
1951
|
userOp.paymasterPostOpGasLimit = PAYMASTER_POSTOP_GAS_LIMIT2;
|
|
@@ -2056,6 +2097,7 @@ var init_account = __esm({
|
|
|
2056
2097
|
init_SessionContext();
|
|
2057
2098
|
init_akHelpers();
|
|
2058
2099
|
init_iframe_mpc_client();
|
|
2100
|
+
init_resolve_paymaster();
|
|
2059
2101
|
init_deposit_for_smart_account();
|
|
2060
2102
|
init_deploy_account();
|
|
2061
2103
|
init_register_smart_account_address();
|
|
@@ -2066,12 +2108,12 @@ var init_account = __esm({
|
|
|
2066
2108
|
|
|
2067
2109
|
// src/internal/clients/account/session.ts
|
|
2068
2110
|
import { privateKeyToAccount as privateKeyToAccount4 } from "viem/accounts";
|
|
2069
|
-
import { getChainConfig as
|
|
2111
|
+
import { getChainConfig as getChainConfig6, createPublicClientForChain as createPublicClientForChain4 } from "@embarkai/core/read";
|
|
2070
2112
|
async function createAccountSession(params) {
|
|
2071
2113
|
const { privateKey, mpcUserId, usePaymaster = false, chainId } = params;
|
|
2072
2114
|
if (!privateKey && !mpcUserId) throw new Error("Either privateKey or mpcUserId must be provided");
|
|
2073
2115
|
if (!privateKey && mpcUserId && !mpcUserId.trim()) throw new Error("mpcUserId cannot be empty when using MPC mode");
|
|
2074
|
-
const chainConfig =
|
|
2116
|
+
const chainConfig = getChainConfig6(chainId);
|
|
2075
2117
|
if (!chainConfig) {
|
|
2076
2118
|
throw new Error(`Chain ${chainId} is not supported`);
|
|
2077
2119
|
}
|
|
@@ -2120,10 +2162,10 @@ var init_session = __esm({
|
|
|
2120
2162
|
});
|
|
2121
2163
|
|
|
2122
2164
|
// src/internal/clients/account/get-entry-point-deposit.ts
|
|
2123
|
-
import { createPublicClientForChain as createPublicClientForChain5, getChainConfig as
|
|
2165
|
+
import { createPublicClientForChain as createPublicClientForChain5, getChainConfig as getChainConfig7 } from "@embarkai/core/read";
|
|
2124
2166
|
async function getEntryPointDeposit(address) {
|
|
2125
2167
|
const chainId = requireActiveChainId();
|
|
2126
|
-
const chainConfig =
|
|
2168
|
+
const chainConfig = getChainConfig7(chainId);
|
|
2127
2169
|
const publicClient = createPublicClientForChain5(chainId);
|
|
2128
2170
|
const entryPointAddress = chainConfig.entryPointV07Address;
|
|
2129
2171
|
const depositAbi = [{ type: "function", name: "balanceOf", stateMutability: "view", inputs: [{ name: "account", type: "address" }], outputs: [{ name: "", type: "uint256" }] }];
|
|
@@ -2371,6 +2413,7 @@ __export(clients_exports, {
|
|
|
2371
2413
|
depositForSmartAccount: () => depositForSmartAccount,
|
|
2372
2414
|
getAllSmartAccounts: () => getAllSmartAccounts,
|
|
2373
2415
|
getBundlerClient: () => getBundlerClient,
|
|
2416
|
+
getDashboardApiUrl: () => getDashboardApiUrl,
|
|
2374
2417
|
getEntryPointDeposit: () => getEntryPointDeposit,
|
|
2375
2418
|
getExplorerUrl: () => getExplorerUrl,
|
|
2376
2419
|
getNicknameInfo: () => getNicknameInfo,
|
|
@@ -7121,6 +7164,20 @@ var init_networks = __esm({
|
|
|
7121
7164
|
}
|
|
7122
7165
|
});
|
|
7123
7166
|
|
|
7167
|
+
// src/internal/assets/PositiveIcon.tsx
|
|
7168
|
+
import { jsx as jsx34, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
7169
|
+
function PositiveIcon(props) {
|
|
7170
|
+
const { width = "16", height = "16", ...rest } = props;
|
|
7171
|
+
return /* @__PURE__ */ jsxs28("svg", { ...rest, width, height, viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [
|
|
7172
|
+
/* @__PURE__ */ jsx34("rect", { width: "16", height: "16", rx: "8", fill: "var(--ui-kit-bg-success)" }),
|
|
7173
|
+
/* @__PURE__ */ jsx34("path", { d: "M4.85742 7.71427L7.14311 10L11.1431 6", stroke: "#000000" })
|
|
7174
|
+
] });
|
|
7175
|
+
}
|
|
7176
|
+
var init_PositiveIcon = __esm({
|
|
7177
|
+
"src/internal/assets/PositiveIcon.tsx"() {
|
|
7178
|
+
}
|
|
7179
|
+
});
|
|
7180
|
+
|
|
7124
7181
|
// src/internal/utils/cn.ts
|
|
7125
7182
|
import { clsx as clsx2 } from "clsx";
|
|
7126
7183
|
import { twMerge as twMerge2 } from "tailwind-merge";
|
|
@@ -7132,12 +7189,23 @@ var init_cn = __esm({
|
|
|
7132
7189
|
}
|
|
7133
7190
|
});
|
|
7134
7191
|
|
|
7192
|
+
// src/internal/utils/truncateMiddle.ts
|
|
7193
|
+
function truncateMiddle(value, start = 5, end = 3) {
|
|
7194
|
+
if (!value) return "";
|
|
7195
|
+
if (value.length <= start + end + 3) return value;
|
|
7196
|
+
return `${value.slice(0, start)}...${value.slice(-end)}`;
|
|
7197
|
+
}
|
|
7198
|
+
var init_truncateMiddle = __esm({
|
|
7199
|
+
"src/internal/utils/truncateMiddle.ts"() {
|
|
7200
|
+
}
|
|
7201
|
+
});
|
|
7202
|
+
|
|
7135
7203
|
// src/internal/components/ui/badge.tsx
|
|
7136
7204
|
import { cva as cva2 } from "class-variance-authority";
|
|
7137
|
-
import { jsx as
|
|
7205
|
+
import { jsx as jsx35 } from "react/jsx-runtime";
|
|
7138
7206
|
function Badge(props) {
|
|
7139
7207
|
const { className, variant = "secondary", size = "default", ...rest } = props;
|
|
7140
|
-
return /* @__PURE__ */
|
|
7208
|
+
return /* @__PURE__ */ jsx35("span", { ...rest, className: cn2(badgeVariants({ variant, size }), className) });
|
|
7141
7209
|
}
|
|
7142
7210
|
var badgeVariants;
|
|
7143
7211
|
var init_badge = __esm({
|
|
@@ -7164,18 +7232,85 @@ var init_badge = __esm({
|
|
|
7164
7232
|
});
|
|
7165
7233
|
|
|
7166
7234
|
// src/internal/components/ChainsMenu/ChainsMenu.tsx
|
|
7167
|
-
import {
|
|
7168
|
-
import {
|
|
7169
|
-
import {
|
|
7235
|
+
import { PAYMASTER_CACHE_TTL_MS } from "@embarkai/core";
|
|
7236
|
+
import { getChainConfig as getChainConfig8 } from "@embarkai/core/read";
|
|
7237
|
+
import { useQuery as useQuery5 } from "@tanstack/react-query";
|
|
7238
|
+
import { ArrowLeft as ArrowLeft4, Copy, ExternalLink, Loader as Loader7 } from "lucide-react";
|
|
7239
|
+
import { useEffect as useEffect15, useRef as useRef10, useState as useState5 } from "react";
|
|
7240
|
+
import { jsx as jsx36, jsxs as jsxs29 } from "react/jsx-runtime";
|
|
7241
|
+
function getPaymasterExplorerUrl(chainId, paymasterAddress) {
|
|
7242
|
+
const chainConfig = getChainConfig8(chainId);
|
|
7243
|
+
const explorerUrl = chainConfig?.blockExplorerUrl;
|
|
7244
|
+
if (!explorerUrl) return paymasterAddress;
|
|
7245
|
+
return `${explorerUrl.replace(/\/$/, "")}/address/${paymasterAddress}`;
|
|
7246
|
+
}
|
|
7170
7247
|
function ChainsMenu() {
|
|
7248
|
+
const config = useProviderConfig().config;
|
|
7171
7249
|
const isLoading = useSession((st) => st.isLoading);
|
|
7172
7250
|
const activeChainId = useSession((st) => st.activeChainId);
|
|
7173
7251
|
const setActiveChainId = useSession((st) => st.setActiveChainId);
|
|
7174
7252
|
const [nextChainId, setNextChainId] = useState5(null);
|
|
7253
|
+
const [copiedChainId, setCopiedChainId] = useState5(null);
|
|
7254
|
+
const copiedResetTimerRef = useRef10(null);
|
|
7175
7255
|
const { t } = useT();
|
|
7176
7256
|
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
7177
7257
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
7178
|
-
|
|
7258
|
+
const visibleNetworks = NETWORK_OPTIONS.filter((option) => option.isActive);
|
|
7259
|
+
const activeChainConfig = activeChainId ? getChainConfig8(activeChainId) : null;
|
|
7260
|
+
const activeDefaultPaymasterAddress = activeChainConfig?.paymasterAddress;
|
|
7261
|
+
const activePaymasterQuery = useQuery5({
|
|
7262
|
+
queryKey: ["chain-paymaster", config.current.projectId, activeChainId],
|
|
7263
|
+
queryFn: async () => {
|
|
7264
|
+
if (!activeChainId) {
|
|
7265
|
+
return {
|
|
7266
|
+
address: null,
|
|
7267
|
+
source: "none",
|
|
7268
|
+
chainId: -1
|
|
7269
|
+
};
|
|
7270
|
+
}
|
|
7271
|
+
return resolveUiKitPaymaster(activeChainId, true);
|
|
7272
|
+
},
|
|
7273
|
+
enabled: !!activeChainId,
|
|
7274
|
+
staleTime: PAYMASTER_CACHE_TTL_MS,
|
|
7275
|
+
gcTime: PAYMASTER_CACHE_TTL_MS,
|
|
7276
|
+
placeholderData: activeChainId ? {
|
|
7277
|
+
address: activeDefaultPaymasterAddress ?? null,
|
|
7278
|
+
source: activeDefaultPaymasterAddress ? "default" : "none",
|
|
7279
|
+
chainId: activeChainId
|
|
7280
|
+
} : void 0
|
|
7281
|
+
});
|
|
7282
|
+
useEffect15(() => {
|
|
7283
|
+
return () => {
|
|
7284
|
+
if (copiedResetTimerRef.current) {
|
|
7285
|
+
clearTimeout(copiedResetTimerRef.current);
|
|
7286
|
+
}
|
|
7287
|
+
};
|
|
7288
|
+
}, []);
|
|
7289
|
+
const handleChainSelect = (chainId) => {
|
|
7290
|
+
if (isLoading) return;
|
|
7291
|
+
setNextChainId(chainId);
|
|
7292
|
+
setActiveChainId(chainId);
|
|
7293
|
+
};
|
|
7294
|
+
const handleChainKeyDown = (event, chainId) => {
|
|
7295
|
+
if (event.key !== "Enter" && event.key !== " ") return;
|
|
7296
|
+
event.preventDefault();
|
|
7297
|
+
handleChainSelect(chainId);
|
|
7298
|
+
};
|
|
7299
|
+
const handlePaymasterCopyClick = async (event, chainId, copyValue) => {
|
|
7300
|
+
event.stopPropagation();
|
|
7301
|
+
try {
|
|
7302
|
+
await navigator.clipboard.writeText(copyValue);
|
|
7303
|
+
setCopiedChainId(chainId);
|
|
7304
|
+
if (copiedResetTimerRef.current) {
|
|
7305
|
+
clearTimeout(copiedResetTimerRef.current);
|
|
7306
|
+
}
|
|
7307
|
+
copiedResetTimerRef.current = setTimeout(() => {
|
|
7308
|
+
setCopiedChainId(null);
|
|
7309
|
+
}, 1500);
|
|
7310
|
+
} catch {
|
|
7311
|
+
}
|
|
7312
|
+
};
|
|
7313
|
+
return /* @__PURE__ */ jsx36(
|
|
7179
7314
|
"div",
|
|
7180
7315
|
{
|
|
7181
7316
|
style: {
|
|
@@ -7183,38 +7318,81 @@ function ChainsMenu() {
|
|
|
7183
7318
|
"--ui-kit-list-scrollbar-pd-r": "var(--ui-kit-pd)"
|
|
7184
7319
|
},
|
|
7185
7320
|
className: "list-scrollbar-y w-full p-[var(--ui-kit-pd)]",
|
|
7186
|
-
children: /* @__PURE__ */
|
|
7187
|
-
/* @__PURE__ */
|
|
7188
|
-
/* @__PURE__ */
|
|
7321
|
+
children: /* @__PURE__ */ jsxs29(Expandable, { isExpanded: true, contentClassName: "flex flex-col gap-[var(--ui-kit-gap)]", children: [
|
|
7322
|
+
/* @__PURE__ */ jsxs29("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
|
|
7323
|
+
/* @__PURE__ */ jsx36(
|
|
7189
7324
|
Button,
|
|
7190
7325
|
{
|
|
7191
7326
|
size: "icon",
|
|
7192
7327
|
variant: "ghost",
|
|
7193
7328
|
title: t("passport:common.back"),
|
|
7194
7329
|
onClick: () => setPage("settings" /* SETTINGS */),
|
|
7195
|
-
children: /* @__PURE__ */
|
|
7330
|
+
children: /* @__PURE__ */ jsx36(ArrowLeft4, { className: "h-4 w-4" })
|
|
7196
7331
|
}
|
|
7197
7332
|
),
|
|
7198
|
-
/* @__PURE__ */
|
|
7333
|
+
/* @__PURE__ */ jsx36("span", { className: "text-xl font-semibold", children: t("passport:chainMenu.title") })
|
|
7199
7334
|
] }),
|
|
7200
|
-
/* @__PURE__ */
|
|
7201
|
-
|
|
7202
|
-
|
|
7203
|
-
|
|
7204
|
-
|
|
7205
|
-
|
|
7206
|
-
|
|
7207
|
-
|
|
7208
|
-
|
|
7335
|
+
/* @__PURE__ */ jsx36("div", { className: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: visibleNetworks.map(({ chainId, Icon: Icon2, name, badge }) => {
|
|
7336
|
+
const isActiveChain = activeChainId === chainId;
|
|
7337
|
+
const paymasterAddress = isActiveChain ? activePaymasterQuery.data?.address : null;
|
|
7338
|
+
const paymasterExplorerUrl = paymasterAddress ? getPaymasterExplorerUrl(chainId, paymasterAddress) : null;
|
|
7339
|
+
const paymasterSource = activePaymasterQuery.data.source;
|
|
7340
|
+
return /* @__PURE__ */ jsxs29(
|
|
7341
|
+
"div",
|
|
7342
|
+
{
|
|
7343
|
+
role: "button",
|
|
7344
|
+
tabIndex: isLoading ? -1 : 0,
|
|
7345
|
+
"aria-disabled": isLoading,
|
|
7346
|
+
className: cn2(
|
|
7347
|
+
buttonVariants({ variant: isActiveChain ? "default" : "outline" }),
|
|
7348
|
+
isLoading ? "cursor-default" : "cursor-pointer",
|
|
7349
|
+
isActiveChain && "h-auto items-start justify-start py-3"
|
|
7350
|
+
),
|
|
7351
|
+
onClick: () => handleChainSelect(chainId),
|
|
7352
|
+
onKeyDown: (event) => handleChainKeyDown(event, chainId),
|
|
7353
|
+
children: [
|
|
7354
|
+
isLoading && chainId === nextChainId ? /* @__PURE__ */ jsx36("div", { className: "w-7 h-7 flex items-center justify-center", children: /* @__PURE__ */ jsx36(Loader7, { className: "h-4 w-4 animate-spin" }) }) : /* @__PURE__ */ jsx36(Icon2, { className: "w-7 h-7" }),
|
|
7355
|
+
/* @__PURE__ */ jsxs29("div", { className: "min-w-0 flex-1 flex flex-col gap-1", children: [
|
|
7356
|
+
/* @__PURE__ */ jsxs29("div", { className: "flex items-center gap-2", children: [
|
|
7357
|
+
/* @__PURE__ */ jsx36("span", { className: "block flex-1 uppercase text-left text-[10px] md:text-sm truncate", children: name }),
|
|
7358
|
+
/* @__PURE__ */ jsx36(Badge, { variant: "secondary", children: badge })
|
|
7359
|
+
] }),
|
|
7360
|
+
isActiveChain && paymasterAddress && /* @__PURE__ */ jsxs29("div", { className: "flex items-center gap-1 min-w-0 text-[10px] md:text-xs", children: [
|
|
7361
|
+
/* @__PURE__ */ jsx36("span", { className: "flex-none uppercase opacity-70", children: "Paymaster" }),
|
|
7362
|
+
/* @__PURE__ */ jsxs29(
|
|
7363
|
+
"a",
|
|
7364
|
+
{
|
|
7365
|
+
href: paymasterExplorerUrl || paymasterAddress,
|
|
7366
|
+
target: "_blank",
|
|
7367
|
+
rel: "noreferrer noopener",
|
|
7368
|
+
title: `${paymasterAddress} (SOURCE: ${paymasterSource})`,
|
|
7369
|
+
className: "min-w-0 inline-flex items-center gap-1 font-mono underline underline-offset-2 opacity-90 hover:opacity-100",
|
|
7370
|
+
onClick: (event) => event.stopPropagation(),
|
|
7371
|
+
onKeyDown: (event) => event.stopPropagation(),
|
|
7372
|
+
children: [
|
|
7373
|
+
/* @__PURE__ */ jsx36("span", { className: "truncate", children: truncateMiddle(paymasterAddress) }),
|
|
7374
|
+
/* @__PURE__ */ jsx36(ExternalLink, { className: "w-3 h-3 flex-none" })
|
|
7375
|
+
]
|
|
7376
|
+
}
|
|
7377
|
+
),
|
|
7378
|
+
/* @__PURE__ */ jsx36(
|
|
7379
|
+
"button",
|
|
7380
|
+
{
|
|
7381
|
+
type: "button",
|
|
7382
|
+
title: t("passport:common.copy"),
|
|
7383
|
+
className: "inline-flex h-5 w-5 flex-none items-center justify-center rounded-full opacity-70 transition-opacity hover:opacity-100",
|
|
7384
|
+
onKeyDown: (event) => event.stopPropagation(),
|
|
7385
|
+
onClick: (event) => void handlePaymasterCopyClick(event, chainId, paymasterExplorerUrl || paymasterAddress),
|
|
7386
|
+
children: copiedChainId === chainId ? /* @__PURE__ */ jsx36(PositiveIcon, { className: "w-3.5 h-3.5" }) : /* @__PURE__ */ jsx36(Copy, { className: "w-3.5 h-3.5" })
|
|
7387
|
+
}
|
|
7388
|
+
)
|
|
7389
|
+
] })
|
|
7390
|
+
] })
|
|
7391
|
+
]
|
|
7209
7392
|
},
|
|
7210
|
-
|
|
7211
|
-
|
|
7212
|
-
|
|
7213
|
-
/* @__PURE__ */ jsx35(Badge, { variant: activeChainId === chainId ? "secondary" : "secondary", children: badge })
|
|
7214
|
-
]
|
|
7215
|
-
},
|
|
7216
|
-
`chain-${chainId}`
|
|
7217
|
-
)) })
|
|
7393
|
+
`chain-${chainId}`
|
|
7394
|
+
);
|
|
7395
|
+
}) })
|
|
7218
7396
|
] })
|
|
7219
7397
|
}
|
|
7220
7398
|
);
|
|
@@ -7222,10 +7400,15 @@ function ChainsMenu() {
|
|
|
7222
7400
|
var init_ChainsMenu = __esm({
|
|
7223
7401
|
"src/internal/components/ChainsMenu/ChainsMenu.tsx"() {
|
|
7224
7402
|
init_networks();
|
|
7403
|
+
init_ProviderContext();
|
|
7225
7404
|
init_SessionContext();
|
|
7226
7405
|
init_useT();
|
|
7406
|
+
init_PositiveIcon();
|
|
7407
|
+
init_resolve_paymaster();
|
|
7227
7408
|
init_useLayoutDataStore();
|
|
7228
7409
|
init_useLayoutStore();
|
|
7410
|
+
init_cn();
|
|
7411
|
+
init_truncateMiddle();
|
|
7229
7412
|
init_Expandable2();
|
|
7230
7413
|
init_badge();
|
|
7231
7414
|
init_button();
|
|
@@ -7234,9 +7417,9 @@ var init_ChainsMenu = __esm({
|
|
|
7234
7417
|
|
|
7235
7418
|
// src/internal/components/ChainsMenu/ChainSwitchRequest.tsx
|
|
7236
7419
|
import { ArrowLeft as ArrowLeft5, Info as Info2, Loader as Loader8 } from "lucide-react";
|
|
7237
|
-
import { useEffect as
|
|
7420
|
+
import { useEffect as useEffect16, useRef as useRef11 } from "react";
|
|
7238
7421
|
import { Trans } from "react-i18next";
|
|
7239
|
-
import { jsx as
|
|
7422
|
+
import { jsx as jsx37, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
7240
7423
|
function ChainSwitchRequest() {
|
|
7241
7424
|
const { t } = useT();
|
|
7242
7425
|
const config = useProviderConfig().config;
|
|
@@ -7245,8 +7428,8 @@ function ChainSwitchRequest() {
|
|
|
7245
7428
|
const setActiveChainId = useSession((st) => st.setActiveChainId);
|
|
7246
7429
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
7247
7430
|
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
7248
|
-
const changeTouchedRef =
|
|
7249
|
-
|
|
7431
|
+
const changeTouchedRef = useRef11(false);
|
|
7432
|
+
useEffect16(() => {
|
|
7250
7433
|
if (!changeTouchedRef.current || chainConfig?.id !== config.current?.network?.chainId) return;
|
|
7251
7434
|
setPage(null);
|
|
7252
7435
|
return () => {
|
|
@@ -7255,7 +7438,7 @@ function ChainSwitchRequest() {
|
|
|
7255
7438
|
}, [chainConfig, setPage]);
|
|
7256
7439
|
const prefferedChain = NETWORK_OPTIONS.find((ch) => ch.chainId === config.current?.network?.chainId) || null;
|
|
7257
7440
|
const PrefferedChainIcon = prefferedChain?.Icon || (() => null);
|
|
7258
|
-
return /* @__PURE__ */
|
|
7441
|
+
return /* @__PURE__ */ jsx37(
|
|
7259
7442
|
"div",
|
|
7260
7443
|
{
|
|
7261
7444
|
style: {
|
|
@@ -7263,23 +7446,23 @@ function ChainSwitchRequest() {
|
|
|
7263
7446
|
"--ui-kit-list-scrollbar-pd-r": "var(--ui-kit-pd)"
|
|
7264
7447
|
},
|
|
7265
7448
|
className: "list-scrollbar-y w-full p-[var(--ui-kit-pd)]",
|
|
7266
|
-
children: /* @__PURE__ */
|
|
7267
|
-
/* @__PURE__ */
|
|
7268
|
-
/* @__PURE__ */
|
|
7449
|
+
children: /* @__PURE__ */ jsxs30(Expandable, { isExpanded: true, contentClassName: "flex flex-col gap-[var(--ui-kit-gap)]", children: [
|
|
7450
|
+
/* @__PURE__ */ jsxs30("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
|
|
7451
|
+
/* @__PURE__ */ jsx37(
|
|
7269
7452
|
Button,
|
|
7270
7453
|
{
|
|
7271
7454
|
size: "icon",
|
|
7272
7455
|
variant: "ghost",
|
|
7273
7456
|
title: t("passport:common.back"),
|
|
7274
7457
|
onClick: () => setPage("settings" /* SETTINGS */),
|
|
7275
|
-
children: /* @__PURE__ */
|
|
7458
|
+
children: /* @__PURE__ */ jsx37(ArrowLeft5, { className: "h-4 w-4" })
|
|
7276
7459
|
}
|
|
7277
7460
|
),
|
|
7278
|
-
/* @__PURE__ */
|
|
7461
|
+
/* @__PURE__ */ jsx37("span", { className: "text-xl font-semibold", children: t("passport:chainMenu.chainSwitchRequest.title") })
|
|
7279
7462
|
] }),
|
|
7280
|
-
/* @__PURE__ */
|
|
7281
|
-
/* @__PURE__ */
|
|
7282
|
-
/* @__PURE__ */
|
|
7463
|
+
/* @__PURE__ */ jsxs30(Highlight, { type: "info", className: "flex gap-[var(--ui-kit-gap)]", children: [
|
|
7464
|
+
/* @__PURE__ */ jsx37(Info2, { className: "w-4 h-4 flex-none" }),
|
|
7465
|
+
/* @__PURE__ */ jsx37("span", { className: "block", children: /* @__PURE__ */ jsx37(
|
|
7283
7466
|
Trans,
|
|
7284
7467
|
{
|
|
7285
7468
|
i18nKey: "passport:chainMenu.chainSwitchRequest.description",
|
|
@@ -7288,13 +7471,13 @@ function ChainSwitchRequest() {
|
|
|
7288
7471
|
currentChain: `${chainConfig?.name || "N/A"}`
|
|
7289
7472
|
},
|
|
7290
7473
|
components: {
|
|
7291
|
-
br: /* @__PURE__ */
|
|
7292
|
-
b: /* @__PURE__ */
|
|
7474
|
+
br: /* @__PURE__ */ jsx37("br", {}),
|
|
7475
|
+
b: /* @__PURE__ */ jsx37("span", { className: "font-bold" })
|
|
7293
7476
|
}
|
|
7294
7477
|
}
|
|
7295
7478
|
) })
|
|
7296
7479
|
] }),
|
|
7297
|
-
/* @__PURE__ */
|
|
7480
|
+
/* @__PURE__ */ jsxs30(
|
|
7298
7481
|
Button,
|
|
7299
7482
|
{
|
|
7300
7483
|
size: "large",
|
|
@@ -7307,7 +7490,7 @@ function ChainSwitchRequest() {
|
|
|
7307
7490
|
setActiveChainId(config.current.network.chainId);
|
|
7308
7491
|
},
|
|
7309
7492
|
children: [
|
|
7310
|
-
isLoading ? /* @__PURE__ */
|
|
7493
|
+
isLoading ? /* @__PURE__ */ jsx37(Loader8, { className: "w-6 h-6 animate-spin" }) : /* @__PURE__ */ jsx37(PrefferedChainIcon, { className: "w-6 h-6" }),
|
|
7311
7494
|
t("passport:chainMenu.chainSwitchRequest.confirmButton", {
|
|
7312
7495
|
chain: `${prefferedChain?.name || "N/A"}`
|
|
7313
7496
|
})
|
|
@@ -7342,7 +7525,7 @@ var init_ChainsMenu2 = __esm({
|
|
|
7342
7525
|
|
|
7343
7526
|
// src/internal/components/ui/switch.tsx
|
|
7344
7527
|
import { forwardRef as forwardRef3, useState as useState6 } from "react";
|
|
7345
|
-
import { jsx as
|
|
7528
|
+
import { jsx as jsx38, jsxs as jsxs31 } from "react/jsx-runtime";
|
|
7346
7529
|
var Switch;
|
|
7347
7530
|
var init_switch = __esm({
|
|
7348
7531
|
"src/internal/components/ui/switch.tsx"() {
|
|
@@ -7352,7 +7535,7 @@ var init_switch = __esm({
|
|
|
7352
7535
|
const { className, labels, ...inputProps } = props;
|
|
7353
7536
|
const colorMode = useLayoutStore((st) => st.colorMode);
|
|
7354
7537
|
const [labelW, setLabelW] = useState6(0);
|
|
7355
|
-
return /* @__PURE__ */
|
|
7538
|
+
return /* @__PURE__ */ jsx38(
|
|
7356
7539
|
"div",
|
|
7357
7540
|
{
|
|
7358
7541
|
role: "switch",
|
|
@@ -7362,7 +7545,7 @@ var init_switch = __esm({
|
|
|
7362
7545
|
inputProps.checked ? "bg-[var(--ui-kit-bg-success)]" : "bg-[var(--ui-kit-bg-info)]",
|
|
7363
7546
|
className
|
|
7364
7547
|
),
|
|
7365
|
-
children: /* @__PURE__ */
|
|
7548
|
+
children: /* @__PURE__ */ jsxs31(
|
|
7366
7549
|
"label",
|
|
7367
7550
|
{
|
|
7368
7551
|
className: "relative block h-4 outline-none leading-4",
|
|
@@ -7372,8 +7555,8 @@ var init_switch = __esm({
|
|
|
7372
7555
|
cursor: inputProps.disabled ? "not-allowed" : "pointer"
|
|
7373
7556
|
},
|
|
7374
7557
|
children: [
|
|
7375
|
-
/* @__PURE__ */
|
|
7376
|
-
/* @__PURE__ */
|
|
7558
|
+
/* @__PURE__ */ jsx38("input", { type: "checkbox", className: "hidden sr-only peer outline-none", ref, ...inputProps }),
|
|
7559
|
+
/* @__PURE__ */ jsx38(
|
|
7377
7560
|
"span",
|
|
7378
7561
|
{
|
|
7379
7562
|
ref: (inst) => {
|
|
@@ -7388,7 +7571,7 @@ var init_switch = __esm({
|
|
|
7388
7571
|
children: inputProps.checked ? labels?.checked : labels?.unchecked
|
|
7389
7572
|
}
|
|
7390
7573
|
),
|
|
7391
|
-
/* @__PURE__ */
|
|
7574
|
+
/* @__PURE__ */ jsx38(
|
|
7392
7575
|
"span",
|
|
7393
7576
|
{
|
|
7394
7577
|
style: {
|
|
@@ -7408,20 +7591,6 @@ var init_switch = __esm({
|
|
|
7408
7591
|
}
|
|
7409
7592
|
});
|
|
7410
7593
|
|
|
7411
|
-
// src/internal/assets/PositiveIcon.tsx
|
|
7412
|
-
import { jsx as jsx38, jsxs as jsxs31 } from "react/jsx-runtime";
|
|
7413
|
-
function PositiveIcon(props) {
|
|
7414
|
-
const { width = "16", height = "16", ...rest } = props;
|
|
7415
|
-
return /* @__PURE__ */ jsxs31("svg", { ...rest, width, height, viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [
|
|
7416
|
-
/* @__PURE__ */ jsx38("rect", { width: "16", height: "16", rx: "8", fill: "var(--ui-kit-bg-success)" }),
|
|
7417
|
-
/* @__PURE__ */ jsx38("path", { d: "M4.85742 7.71427L7.14311 10L11.1431 6", stroke: "#000000" })
|
|
7418
|
-
] });
|
|
7419
|
-
}
|
|
7420
|
-
var init_PositiveIcon = __esm({
|
|
7421
|
-
"src/internal/assets/PositiveIcon.tsx"() {
|
|
7422
|
-
}
|
|
7423
|
-
});
|
|
7424
|
-
|
|
7425
7594
|
// src/internal/components/KeyshareRestoreMenu/hooks/useRestoreStore.ts
|
|
7426
7595
|
import { create as create4 } from "zustand";
|
|
7427
7596
|
var useRestoreStore;
|
|
@@ -7972,7 +8141,7 @@ var init_cloudStorage = __esm({
|
|
|
7972
8141
|
|
|
7973
8142
|
// src/internal/components/KeyshareRestoreMenu/hooks/useCreateBackup.ts
|
|
7974
8143
|
import { useMutation as useMutation7, useQueryClient as useQueryClient5 } from "@tanstack/react-query";
|
|
7975
|
-
import { useEffect as
|
|
8144
|
+
import { useEffect as useEffect17 } from "react";
|
|
7976
8145
|
function useCreateBackup() {
|
|
7977
8146
|
const qc = useQueryClient5();
|
|
7978
8147
|
const session = useSession((st) => st.session);
|
|
@@ -7980,7 +8149,7 @@ function useCreateBackup() {
|
|
|
7980
8149
|
const hasServerVault = useSession((st) => st.hasServerVault);
|
|
7981
8150
|
const setIsDialogForced = useLayoutStore((st) => st.setIsDialogForced);
|
|
7982
8151
|
const { usePasskey, restorePassword, selectedCloudProvider, setSuccess, setError, setMethod, setIsCreatingPasskey } = useRestoreStore();
|
|
7983
|
-
|
|
8152
|
+
useEffect17(() => {
|
|
7984
8153
|
if (!hasServerVault) {
|
|
7985
8154
|
setMethod("server");
|
|
7986
8155
|
setIsDialogForced(true);
|
|
@@ -8269,7 +8438,7 @@ var init_useRestoreAccount = __esm({
|
|
|
8269
8438
|
});
|
|
8270
8439
|
|
|
8271
8440
|
// src/internal/components/KeyshareRestoreMenu/hooks/useValidateFileBackup.ts
|
|
8272
|
-
import { useEffect as
|
|
8441
|
+
import { useEffect as useEffect18 } from "react";
|
|
8273
8442
|
function validateRestoreFileFormat(parsedData) {
|
|
8274
8443
|
if (typeof parsedData !== "object" || parsedData === null) return false;
|
|
8275
8444
|
const data = parsedData;
|
|
@@ -8279,7 +8448,7 @@ function useValidateFileBackup() {
|
|
|
8279
8448
|
const restoreFile = useRestoreStore((st) => st.restoreFile);
|
|
8280
8449
|
const setError = useRestoreStore((st) => st.setError);
|
|
8281
8450
|
const setUsePasskey = useRestoreStore((st) => st.setUsePasskey);
|
|
8282
|
-
|
|
8451
|
+
useEffect18(() => {
|
|
8283
8452
|
if (!restoreFile) {
|
|
8284
8453
|
return;
|
|
8285
8454
|
}
|
|
@@ -8398,7 +8567,7 @@ var init_MethodSelector = __esm({
|
|
|
8398
8567
|
|
|
8399
8568
|
// src/internal/components/KeyshareRestoreMenu/components/PasswordPasskey.tsx
|
|
8400
8569
|
import { ChevronRight as ChevronRight2, Eye, EyeOff, Info as Info3, Key as Key4, Loader as Loader9, Plus } from "lucide-react";
|
|
8401
|
-
import { useEffect as
|
|
8570
|
+
import { useEffect as useEffect19, useRef as useRef12 } from "react";
|
|
8402
8571
|
import { Fragment as Fragment16, jsx as jsx40, jsxs as jsxs33 } from "react/jsx-runtime";
|
|
8403
8572
|
function PasswordPasskey(props) {
|
|
8404
8573
|
const { t } = useT();
|
|
@@ -8413,7 +8582,7 @@ function PasswordPasskey(props) {
|
|
|
8413
8582
|
onCreatePasskey
|
|
8414
8583
|
} = props;
|
|
8415
8584
|
const hasServerVault = useSession((st) => st.hasServerVault);
|
|
8416
|
-
const actionRef =
|
|
8585
|
+
const actionRef = useRef12(null);
|
|
8417
8586
|
const {
|
|
8418
8587
|
showPassword,
|
|
8419
8588
|
restorePassword,
|
|
@@ -8427,7 +8596,7 @@ function PasswordPasskey(props) {
|
|
|
8427
8596
|
} = useRestoreStore();
|
|
8428
8597
|
const { config } = useProviderConfig();
|
|
8429
8598
|
const isPasskeyEnabled = config.current.passkey.enabled;
|
|
8430
|
-
|
|
8599
|
+
useEffect19(() => {
|
|
8431
8600
|
if (!isPasskeyEnabled && usePasskey) setUsePasskey(false);
|
|
8432
8601
|
}, [isPasskeyEnabled, usePasskey]);
|
|
8433
8602
|
return /* @__PURE__ */ jsxs33(Fragment16, { children: [
|
|
@@ -8753,7 +8922,7 @@ var init_File = __esm({
|
|
|
8753
8922
|
import { useQueryClient as useQueryClient6 } from "@tanstack/react-query";
|
|
8754
8923
|
import dayjs from "dayjs";
|
|
8755
8924
|
import { Download, Key as Key5, Upload as Upload2 } from "lucide-react";
|
|
8756
|
-
import { useEffect as
|
|
8925
|
+
import { useEffect as useEffect20 } from "react";
|
|
8757
8926
|
import { Fragment as Fragment19, jsx as jsx43, jsxs as jsxs36 } from "react/jsx-runtime";
|
|
8758
8927
|
function Server(props) {
|
|
8759
8928
|
const { isLoading, mode = "restore", serverHandler, createPasskeyHandler } = props;
|
|
@@ -8763,7 +8932,7 @@ function Server(props) {
|
|
|
8763
8932
|
const usePasskey = useRestoreStore((st) => st.usePasskey);
|
|
8764
8933
|
const setUsePasskey = useRestoreStore((st) => st.setUsePasskey);
|
|
8765
8934
|
const serverRecoveryStatus = qc.getQueryData([CHECK_BACKUP_QUERY_KEY, address]);
|
|
8766
|
-
|
|
8935
|
+
useEffect20(() => {
|
|
8767
8936
|
if (mode === "backup" || !serverRecoveryStatus?.created?.encryptionMethod) return;
|
|
8768
8937
|
setUsePasskey(serverRecoveryStatus.created.encryptionMethod === "passkey");
|
|
8769
8938
|
}, [mode, serverRecoveryStatus, setUsePasskey]);
|
|
@@ -8811,9 +8980,9 @@ var init_Server = __esm({
|
|
|
8811
8980
|
});
|
|
8812
8981
|
|
|
8813
8982
|
// src/internal/components/KeyshareRestoreMenu/methods/Cloud.tsx
|
|
8814
|
-
import { useQuery as
|
|
8983
|
+
import { useQuery as useQuery6 } from "@tanstack/react-query";
|
|
8815
8984
|
import { ArrowLeft as ArrowLeft6, CloudDownload, CloudUpload, Loader as Loader10 } from "lucide-react";
|
|
8816
|
-
import { useEffect as
|
|
8985
|
+
import { useEffect as useEffect21 } from "react";
|
|
8817
8986
|
import { Fragment as Fragment20, jsx as jsx44, jsxs as jsxs37 } from "react/jsx-runtime";
|
|
8818
8987
|
function Cloud2(props) {
|
|
8819
8988
|
const { isLoading, mode = "restore", cloudHandler } = props;
|
|
@@ -8824,7 +8993,7 @@ function Cloud2(props) {
|
|
|
8824
8993
|
data: cloudProviders = [],
|
|
8825
8994
|
isLoading: isCloudProvidersLoading,
|
|
8826
8995
|
error: cloudProvidersError
|
|
8827
|
-
} =
|
|
8996
|
+
} = useQuery6({
|
|
8828
8997
|
retry: false,
|
|
8829
8998
|
enabled: !!passportUserId,
|
|
8830
8999
|
queryKey: [AVAILABLE_CLOUD_PROVIDERS_QUERY_KEY, passportUserId],
|
|
@@ -8834,7 +9003,7 @@ function Cloud2(props) {
|
|
|
8834
9003
|
return availableProviders.map((p) => ({ id: p.id, name: p.name, available: p.isAvailable() }));
|
|
8835
9004
|
}
|
|
8836
9005
|
});
|
|
8837
|
-
|
|
9006
|
+
useEffect21(() => {
|
|
8838
9007
|
if (isCloudProvidersLoading) return;
|
|
8839
9008
|
if (!!cloudProvidersError) {
|
|
8840
9009
|
console.error("[KeyshareBackup] Failed to load cloud providers:", cloudProvidersError);
|
|
@@ -8919,9 +9088,9 @@ var init_methods = __esm({
|
|
|
8919
9088
|
});
|
|
8920
9089
|
|
|
8921
9090
|
// src/internal/components/KeyshareRestoreMenu/KeyshareRestoreMenu.tsx
|
|
8922
|
-
import { useMutation as useMutation9, useQuery as
|
|
9091
|
+
import { useMutation as useMutation9, useQuery as useQuery7, useQueryClient as useQueryClient7 } from "@tanstack/react-query";
|
|
8923
9092
|
import { AlertCircle as AlertCircle2, CheckCircle2, CloudDownload as CloudDownload2, Loader as Loader11, UserCircle as UserCircle2 } from "lucide-react";
|
|
8924
|
-
import { useEffect as
|
|
9093
|
+
import { useEffect as useEffect22 } from "react";
|
|
8925
9094
|
import { Fragment as Fragment21, jsx as jsx45, jsxs as jsxs38 } from "react/jsx-runtime";
|
|
8926
9095
|
var RESTORE_COMPONENTS, KeyshareRestoreMenu;
|
|
8927
9096
|
var init_KeyshareRestoreMenu = __esm({
|
|
@@ -8965,7 +9134,7 @@ var init_KeyshareRestoreMenu = __esm({
|
|
|
8965
9134
|
setSuccess,
|
|
8966
9135
|
setMethod
|
|
8967
9136
|
} = useRestoreStore();
|
|
8968
|
-
|
|
9137
|
+
useEffect22(() => {
|
|
8969
9138
|
setIsDialogForced(true);
|
|
8970
9139
|
return () => {
|
|
8971
9140
|
setRestorePassword("");
|
|
@@ -8984,13 +9153,13 @@ var init_KeyshareRestoreMenu = __esm({
|
|
|
8984
9153
|
restoreFromCloud,
|
|
8985
9154
|
isRestoringFromCloud
|
|
8986
9155
|
} = useRestoreAccount();
|
|
8987
|
-
const { data: serverRecoveryStatus, isLoading: isBackupStatusLoading } =
|
|
9156
|
+
const { data: serverRecoveryStatus, isLoading: isBackupStatusLoading } = useQuery7({
|
|
8988
9157
|
retry: false,
|
|
8989
9158
|
queryKey: [CHECK_BACKUP_QUERY_KEY, address],
|
|
8990
9159
|
queryFn: async () => await getShareRecoveryStats()
|
|
8991
9160
|
});
|
|
8992
9161
|
const hasServerBackup = serverRecoveryStatus?.created || serverRecoveryStatus?.devices?.length > 0;
|
|
8993
|
-
|
|
9162
|
+
useEffect22(() => {
|
|
8994
9163
|
if (!!hasServerBackup) setMethod("server");
|
|
8995
9164
|
}, [hasServerBackup]);
|
|
8996
9165
|
const { mutate: disconnect, isPending: isDisconnecting } = useMutation9({
|
|
@@ -9116,9 +9285,9 @@ var init_KeyshareRestoreMenu = __esm({
|
|
|
9116
9285
|
});
|
|
9117
9286
|
|
|
9118
9287
|
// src/internal/components/KeyshareRestoreMenu/KeyshareBackupMenu.tsx
|
|
9119
|
-
import { useQuery as
|
|
9288
|
+
import { useQuery as useQuery8 } from "@tanstack/react-query";
|
|
9120
9289
|
import { AlertCircle as AlertCircle3, ArrowLeft as ArrowLeft7, CheckCircle2 as CheckCircle22, Loader as Loader12, LockIcon } from "lucide-react";
|
|
9121
|
-
import { useEffect as
|
|
9290
|
+
import { useEffect as useEffect23 } from "react";
|
|
9122
9291
|
import { Fragment as Fragment22, jsx as jsx46, jsxs as jsxs39 } from "react/jsx-runtime";
|
|
9123
9292
|
function KeyshareBackupMenu() {
|
|
9124
9293
|
const address = useSession((st) => st.address);
|
|
@@ -9139,7 +9308,7 @@ function KeyshareBackupMenu() {
|
|
|
9139
9308
|
setUsePasskey,
|
|
9140
9309
|
setMethod
|
|
9141
9310
|
} = useRestoreStore();
|
|
9142
|
-
|
|
9311
|
+
useEffect23(() => {
|
|
9143
9312
|
return () => {
|
|
9144
9313
|
setSuccess(null);
|
|
9145
9314
|
setError(null);
|
|
@@ -9150,7 +9319,7 @@ function KeyshareBackupMenu() {
|
|
|
9150
9319
|
setMethod(null);
|
|
9151
9320
|
};
|
|
9152
9321
|
}, []);
|
|
9153
|
-
const { data: serverRecoveryStatus, isLoading: isRecoveryLoading } =
|
|
9322
|
+
const { data: serverRecoveryStatus, isLoading: isRecoveryLoading } = useQuery8({
|
|
9154
9323
|
retry: false,
|
|
9155
9324
|
enabled: !!address,
|
|
9156
9325
|
// Prevent query from running with undefined address
|
|
@@ -9158,7 +9327,7 @@ function KeyshareBackupMenu() {
|
|
|
9158
9327
|
queryFn: async () => await getShareRecoveryStats()
|
|
9159
9328
|
});
|
|
9160
9329
|
const hasRecoveryData = serverRecoveryStatus?.created || serverRecoveryStatus?.devices?.length > 0;
|
|
9161
|
-
|
|
9330
|
+
useEffect23(() => {
|
|
9162
9331
|
if (!!hasRecoveryData) setMethod("server");
|
|
9163
9332
|
}, [hasRecoveryData]);
|
|
9164
9333
|
const {
|
|
@@ -9287,7 +9456,7 @@ var init_KeyshareRestoreMenu2 = __esm({
|
|
|
9287
9456
|
});
|
|
9288
9457
|
|
|
9289
9458
|
// src/hooks/useColorMode.ts
|
|
9290
|
-
import { useCallback as useCallback11, useEffect as
|
|
9459
|
+
import { useCallback as useCallback11, useEffect as useEffect24 } from "react";
|
|
9291
9460
|
function useColorMode() {
|
|
9292
9461
|
const {
|
|
9293
9462
|
config: { current: config }
|
|
@@ -9302,7 +9471,7 @@ function useColorMode() {
|
|
|
9302
9471
|
},
|
|
9303
9472
|
[handleStoreColorMode]
|
|
9304
9473
|
);
|
|
9305
|
-
|
|
9474
|
+
useEffect24(() => {
|
|
9306
9475
|
let targetColorMode = localStorage.getItem(LOCAL_COLOR_MODE_KEY);
|
|
9307
9476
|
if (!targetColorMode && !preferedColorMode) {
|
|
9308
9477
|
const systemMode = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
|
|
@@ -9419,18 +9588,18 @@ var init_SumsubIframeManager = __esm({
|
|
|
9419
9588
|
|
|
9420
9589
|
// src/internal/components/KYC/useSumsubIframe.ts
|
|
9421
9590
|
import { useQueryClient as useQueryClient8 } from "@tanstack/react-query";
|
|
9422
|
-
import { useEffect as
|
|
9591
|
+
import { useEffect as useEffect25, useRef as useRef13, useState as useState8 } from "react";
|
|
9423
9592
|
function useSumsubIframe({ iframeUrl }) {
|
|
9424
9593
|
const config = useProviderConfig().config;
|
|
9425
9594
|
const qc = useQueryClient8();
|
|
9426
9595
|
const { colorMode } = useColorMode();
|
|
9427
|
-
const iframeRef =
|
|
9596
|
+
const iframeRef = useRef13(null);
|
|
9428
9597
|
const [isLoading, setIsLoading] = useState8(true);
|
|
9429
9598
|
const [error, setError] = useState8(null);
|
|
9430
9599
|
const [height, setHeight] = useState8(0);
|
|
9431
9600
|
const [status, setStatus] = useState8("");
|
|
9432
9601
|
const levelName = config.current?.kyc?.options?.levelName;
|
|
9433
|
-
|
|
9602
|
+
useEffect25(() => {
|
|
9434
9603
|
setError(null);
|
|
9435
9604
|
setIsLoading(true);
|
|
9436
9605
|
setStatus("Preparing verification...");
|
|
@@ -9570,12 +9739,12 @@ var init_KycMenu = __esm({
|
|
|
9570
9739
|
});
|
|
9571
9740
|
|
|
9572
9741
|
// src/internal/components/KYC/KYCStatus.tsx
|
|
9573
|
-
import { useQuery as
|
|
9742
|
+
import { useQuery as useQuery9 } from "@tanstack/react-query";
|
|
9574
9743
|
import { Loader as Loader13 } from "lucide-react";
|
|
9575
9744
|
import { jsx as jsx49, jsxs as jsxs42 } from "react/jsx-runtime";
|
|
9576
9745
|
function KYCStatus() {
|
|
9577
9746
|
const address = useSession((st) => st.address);
|
|
9578
|
-
const { data: userProfile = null, isLoading: isUserProfileLoading } =
|
|
9747
|
+
const { data: userProfile = null, isLoading: isUserProfileLoading } = useQuery9({
|
|
9579
9748
|
retry: false,
|
|
9580
9749
|
enabled: !!address,
|
|
9581
9750
|
queryKey: [QUERY_KEYS.userProfile, address],
|
|
@@ -9725,11 +9894,11 @@ var init_common = __esm({
|
|
|
9725
9894
|
});
|
|
9726
9895
|
|
|
9727
9896
|
// src/internal/components/ManageWalletMenu/hooks/useProvidersList.ts
|
|
9728
|
-
import { useQuery as
|
|
9897
|
+
import { useQuery as useQuery10 } from "@tanstack/react-query";
|
|
9729
9898
|
function useProvidersList() {
|
|
9730
9899
|
const address = useSession((st) => st.address);
|
|
9731
9900
|
const page = useLayoutDataStore((st) => st.page);
|
|
9732
|
-
return
|
|
9901
|
+
return useQuery10({
|
|
9733
9902
|
retry: false,
|
|
9734
9903
|
// hook is invoked on multiple pages to preload cache
|
|
9735
9904
|
enabled: !!address && (page === "manage-wallet" /* MANAGE_WALLET */ || page === "settings" /* SETTINGS */ || page === "main-menu" /* MAIN_MENU */),
|
|
@@ -9749,14 +9918,14 @@ var init_useProvidersList = __esm({
|
|
|
9749
9918
|
|
|
9750
9919
|
// src/internal/components/MainMenu/MainMenu.tsx
|
|
9751
9920
|
import { ChevronLeft, ChevronRight as ChevronRight3, DollarSign as DollarSign3, Wallet2 as Wallet23 } from "lucide-react";
|
|
9752
|
-
import { useEffect as
|
|
9921
|
+
import { useEffect as useEffect26 } from "react";
|
|
9753
9922
|
import { jsx as jsx51, jsxs as jsxs44 } from "react/jsx-runtime";
|
|
9754
9923
|
function MainMenu() {
|
|
9755
9924
|
const address = useSession((st) => st.address);
|
|
9756
9925
|
const { t } = useT();
|
|
9757
9926
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
9758
9927
|
const setTransitionPageHeight = useLayoutDataStore((st) => st.setTransitionPageHeight);
|
|
9759
|
-
|
|
9928
|
+
useEffect26(() => setTransitionPageHeight(DEFAULT_MAIN_MENU_HEIGHT), []);
|
|
9760
9929
|
useProvidersList();
|
|
9761
9930
|
return /* @__PURE__ */ jsx51("div", { className: "w-full p-[var(--ui-kit-pd)] flex flex-col gap-[var(--ui-kit-gap)]", children: /* @__PURE__ */ jsx51("div", { className: "w-full grid grid-cols-4 gap-0 md:gap-[var(--ui-kit-gap)] py-[10px] md:py-1", children: MAIN_MENU_BUTTONS.map(({ id, label, icon: Icon2 }) => /* @__PURE__ */ jsxs44(
|
|
9762
9931
|
Button,
|
|
@@ -9800,7 +9969,7 @@ var init_MainMenu2 = __esm({
|
|
|
9800
9969
|
});
|
|
9801
9970
|
|
|
9802
9971
|
// src/modules/linkedProfiles.ts
|
|
9803
|
-
import { useQuery as
|
|
9972
|
+
import { useQuery as useQuery11, useQueryClient as useQueryClient9 } from "@tanstack/react-query";
|
|
9804
9973
|
import { useCallback as useCallback12 } from "react";
|
|
9805
9974
|
async function getLinkProfilesData() {
|
|
9806
9975
|
const list = await getLinkedProviders();
|
|
@@ -9823,7 +9992,7 @@ function useLinkedProfiles() {
|
|
|
9823
9992
|
data,
|
|
9824
9993
|
isFetching: isLoading,
|
|
9825
9994
|
error
|
|
9826
|
-
} =
|
|
9995
|
+
} = useQuery11({
|
|
9827
9996
|
retry: false,
|
|
9828
9997
|
enabled: !!address,
|
|
9829
9998
|
queryKey: [LINKED_PROFILES_QUERY_KEY, address],
|
|
@@ -10294,7 +10463,7 @@ var init_EmailNotConnectedWarning = __esm({
|
|
|
10294
10463
|
|
|
10295
10464
|
// src/internal/components/ManageWalletMenu/hooks/useLinkSocial.ts
|
|
10296
10465
|
import { useQueryClient as useQueryClient12 } from "@tanstack/react-query";
|
|
10297
|
-
import React5, { useEffect as
|
|
10466
|
+
import React5, { useEffect as useEffect27 } from "react";
|
|
10298
10467
|
function useLinkSocial() {
|
|
10299
10468
|
const qc = useQueryClient12();
|
|
10300
10469
|
const address = useSession((st) => st.address);
|
|
@@ -10364,7 +10533,7 @@ function useLinkSocial() {
|
|
|
10364
10533
|
[config.social?.providers]
|
|
10365
10534
|
);
|
|
10366
10535
|
const [socialLinkStarted, setSocialLinkStarted] = React5.useState(false);
|
|
10367
|
-
|
|
10536
|
+
useEffect27(() => {
|
|
10368
10537
|
const key = providerType?.toLowerCase();
|
|
10369
10538
|
console.log("[useLinkSocial] Effect triggered:", { key, linkIsLoading, socialLinkStarted, isWalletLinking });
|
|
10370
10539
|
if (isWalletLinking) {
|
|
@@ -10447,7 +10616,7 @@ var init_telegram2 = __esm({
|
|
|
10447
10616
|
|
|
10448
10617
|
// src/internal/components/ManageWalletMenu/hooks/useLinkTelegram.ts
|
|
10449
10618
|
import { useQueryClient as useQueryClient13 } from "@tanstack/react-query";
|
|
10450
|
-
import { useCallback as useCallback13, useEffect as
|
|
10619
|
+
import { useCallback as useCallback13, useEffect as useEffect28, useState as useState9 } from "react";
|
|
10451
10620
|
function useLinkTelegram() {
|
|
10452
10621
|
const {
|
|
10453
10622
|
config: { current: config },
|
|
@@ -10506,7 +10675,7 @@ function useLinkTelegram() {
|
|
|
10506
10675
|
}
|
|
10507
10676
|
}, [config.social?.providers]);
|
|
10508
10677
|
const [telegramLinkStarted, setTelegramLinkStarted] = useState9(false);
|
|
10509
|
-
|
|
10678
|
+
useEffect28(() => {
|
|
10510
10679
|
console.log("[useLinkTelegram] Effect triggered:", {
|
|
10511
10680
|
providerType,
|
|
10512
10681
|
linkIsLoading,
|
|
@@ -10523,7 +10692,7 @@ function useLinkTelegram() {
|
|
|
10523
10692
|
handleLinkTelegram();
|
|
10524
10693
|
}
|
|
10525
10694
|
}, [providerType, handleLinkTelegram, linkIsLoading, telegramLinkStarted, isWalletLinking]);
|
|
10526
|
-
|
|
10695
|
+
useEffect28(() => {
|
|
10527
10696
|
if (providerType !== "telegram") {
|
|
10528
10697
|
setTelegramLinkStarted(false);
|
|
10529
10698
|
}
|
|
@@ -11042,7 +11211,7 @@ var init_nickname_validation = __esm({
|
|
|
11042
11211
|
|
|
11043
11212
|
// src/internal/components/NicknameMenu/NicknameEditForm.tsx
|
|
11044
11213
|
import { useMutation as useMutation14, useQueryClient as useQueryClient15 } from "@tanstack/react-query";
|
|
11045
|
-
import { AtSign, Check as Check2, ChevronRight as ChevronRight5, Copy, Loader as Loader18 } from "lucide-react";
|
|
11214
|
+
import { AtSign, Check as Check2, ChevronRight as ChevronRight5, Copy as Copy2, Loader as Loader18 } from "lucide-react";
|
|
11046
11215
|
import { useCallback as useCallback14, useState as useState11 } from "react";
|
|
11047
11216
|
import { Fragment as Fragment26, jsx as jsx59, jsxs as jsxs52 } from "react/jsx-runtime";
|
|
11048
11217
|
function NicknameEditForm(props) {
|
|
@@ -11165,7 +11334,7 @@ function NicknameEditForm(props) {
|
|
|
11165
11334
|
setIsNicknameCopied(true);
|
|
11166
11335
|
setTimeout(() => setIsNicknameCopied(false), 2e3);
|
|
11167
11336
|
},
|
|
11168
|
-
children: isNicknameCopied ? /* @__PURE__ */ jsx59(PositiveIcon, { className: "w-4 h-4" }) : /* @__PURE__ */ jsx59(
|
|
11337
|
+
children: isNicknameCopied ? /* @__PURE__ */ jsx59(PositiveIcon, { className: "w-4 h-4" }) : /* @__PURE__ */ jsx59(Copy2, { className: "w-4 h-4" })
|
|
11169
11338
|
}
|
|
11170
11339
|
)
|
|
11171
11340
|
] }),
|
|
@@ -11190,20 +11359,20 @@ var init_NicknameEditForm = __esm({
|
|
|
11190
11359
|
});
|
|
11191
11360
|
|
|
11192
11361
|
// src/internal/components/NicknameMenu/useNickname.ts
|
|
11193
|
-
import { useQuery as
|
|
11194
|
-
import { useEffect as
|
|
11362
|
+
import { useQuery as useQuery12 } from "@tanstack/react-query";
|
|
11363
|
+
import { useEffect as useEffect29, useState as useState12 } from "react";
|
|
11195
11364
|
function useNicknameForm(currentNickname) {
|
|
11196
11365
|
const [inputValue, setInputValue] = useState12("");
|
|
11197
11366
|
const normalizedInputValue = normalizeNickname(inputValue);
|
|
11198
11367
|
const validation = validateNickname(inputValue);
|
|
11199
11368
|
const isValidForCheck = validation.valid && normalizedInputValue.length > 0;
|
|
11200
|
-
|
|
11369
|
+
useEffect29(() => {
|
|
11201
11370
|
setInputValue(currentNickname);
|
|
11202
11371
|
}, [currentNickname]);
|
|
11203
11372
|
const [queryInputValue, setQueryInputValue] = useState12("");
|
|
11204
11373
|
const isSameAsCurrentNickname = normalizedInputValue === currentNickname.toLowerCase();
|
|
11205
11374
|
const shouldCheckAvailability = validation.valid && !isSameAsCurrentNickname && inputValue.length > 0;
|
|
11206
|
-
|
|
11375
|
+
useEffect29(() => {
|
|
11207
11376
|
if (!isValidForCheck || !shouldCheckAvailability) {
|
|
11208
11377
|
setQueryInputValue("");
|
|
11209
11378
|
return;
|
|
@@ -11215,7 +11384,7 @@ function useNicknameForm(currentNickname) {
|
|
|
11215
11384
|
clearTimeout(timer);
|
|
11216
11385
|
};
|
|
11217
11386
|
}, [normalizedInputValue, isValidForCheck, shouldCheckAvailability]);
|
|
11218
|
-
const query =
|
|
11387
|
+
const query = useQuery12({
|
|
11219
11388
|
retry: 1,
|
|
11220
11389
|
enabled: shouldCheckAvailability && isValidForCheck && queryInputValue.length > 0,
|
|
11221
11390
|
queryKey: QUERY_KEYS.nicknameAvailability(queryInputValue),
|
|
@@ -11243,7 +11412,7 @@ var init_useNickname = __esm({
|
|
|
11243
11412
|
});
|
|
11244
11413
|
|
|
11245
11414
|
// src/internal/components/NicknameMenu/NicknameMenu.tsx
|
|
11246
|
-
import { useQuery as
|
|
11415
|
+
import { useQuery as useQuery13 } from "@tanstack/react-query";
|
|
11247
11416
|
import dayjs2 from "dayjs";
|
|
11248
11417
|
import { AlertTriangle as AlertTriangle4, ArrowLeft as ArrowLeft11, Info as Info4, Loader as Loader19 } from "lucide-react";
|
|
11249
11418
|
import { useState as useState13 } from "react";
|
|
@@ -11258,7 +11427,7 @@ function NicknameMenu() {
|
|
|
11258
11427
|
data: nicknameInfo,
|
|
11259
11428
|
isLoading: isNicknameInfoLoading,
|
|
11260
11429
|
error: nicknameInfoError
|
|
11261
|
-
} =
|
|
11430
|
+
} = useQuery13({
|
|
11262
11431
|
retry: 1,
|
|
11263
11432
|
enabled: !!address,
|
|
11264
11433
|
queryKey: [QUERY_KEYS.nicknameInfo, address],
|
|
@@ -11364,7 +11533,7 @@ var init_NicknameMenu2 = __esm({
|
|
|
11364
11533
|
});
|
|
11365
11534
|
|
|
11366
11535
|
// src/internal/hooks/useWatchTokens.ts
|
|
11367
|
-
import { useQuery as
|
|
11536
|
+
import { useQuery as useQuery14 } from "@tanstack/react-query";
|
|
11368
11537
|
import { useMemo as useMemo4 } from "react";
|
|
11369
11538
|
import { erc20Abi, formatUnits as formatUnits2 } from "viem";
|
|
11370
11539
|
function useWatchTokens(options) {
|
|
@@ -11382,7 +11551,7 @@ function useWatchTokens(options) {
|
|
|
11382
11551
|
isLoading,
|
|
11383
11552
|
error,
|
|
11384
11553
|
refetch
|
|
11385
|
-
} =
|
|
11554
|
+
} = useQuery14({
|
|
11386
11555
|
queryKey: [WATCH_TOKENS_QUERY_KEY, activeChainId, address, watchTokens.map((t) => t.address).join(",")],
|
|
11387
11556
|
queryFn: async () => {
|
|
11388
11557
|
if (!publicClient || !address || watchTokens.length === 0) {
|
|
@@ -11464,8 +11633,8 @@ var init_useWatchTokens = __esm({
|
|
|
11464
11633
|
|
|
11465
11634
|
// src/internal/hooks/useBlockscoutAssets.ts
|
|
11466
11635
|
import { createBlockscoutClient } from "@embarkai/core/clients";
|
|
11467
|
-
import { useQuery as
|
|
11468
|
-
import { useCallback as useCallback15, useMemo as useMemo5, useRef as
|
|
11636
|
+
import { useQuery as useQuery15 } from "@tanstack/react-query";
|
|
11637
|
+
import { useCallback as useCallback15, useMemo as useMemo5, useRef as useRef14 } from "react";
|
|
11469
11638
|
import { formatEther, formatUnits as formatUnits3 } from "viem";
|
|
11470
11639
|
function resolveIpfsUri(uri) {
|
|
11471
11640
|
if (!uri) return "";
|
|
@@ -11599,7 +11768,7 @@ function useBlockscoutAssets(options) {
|
|
|
11599
11768
|
() => blockscoutApiUrl ? createBlockscoutClient({ baseUrl: blockscoutApiUrl }) : null,
|
|
11600
11769
|
[blockscoutApiUrl]
|
|
11601
11770
|
);
|
|
11602
|
-
const lastRefreshRef =
|
|
11771
|
+
const lastRefreshRef = useRef14(0);
|
|
11603
11772
|
const {
|
|
11604
11773
|
assets: watchTokenAssets,
|
|
11605
11774
|
isLoading: watchTokensLoading,
|
|
@@ -11609,7 +11778,7 @@ function useBlockscoutAssets(options) {
|
|
|
11609
11778
|
data: nativeBalanceData,
|
|
11610
11779
|
isLoading: nativeLoading,
|
|
11611
11780
|
refetch: refetchNative
|
|
11612
|
-
} =
|
|
11781
|
+
} = useQuery15({
|
|
11613
11782
|
queryKey: ["native-balance", activeChainId, address],
|
|
11614
11783
|
queryFn: async () => {
|
|
11615
11784
|
if (!publicClient || !address) return null;
|
|
@@ -11633,7 +11802,7 @@ function useBlockscoutAssets(options) {
|
|
|
11633
11802
|
error: tokensError,
|
|
11634
11803
|
refetch: refetchTokens,
|
|
11635
11804
|
dataUpdatedAt
|
|
11636
|
-
} =
|
|
11805
|
+
} = useQuery15({
|
|
11637
11806
|
queryKey: [BLOCKSCOUT_QUERY_KEY, address, blockscoutApiUrl],
|
|
11638
11807
|
queryFn: () => blockscoutClient.getTokenBalances(address),
|
|
11639
11808
|
enabled: !!address && enabled && !!blockscoutClient,
|
|
@@ -11646,7 +11815,7 @@ function useBlockscoutAssets(options) {
|
|
|
11646
11815
|
data: nftItems,
|
|
11647
11816
|
isLoading: nftsLoading,
|
|
11648
11817
|
refetch: refetchNfts
|
|
11649
|
-
} =
|
|
11818
|
+
} = useQuery15({
|
|
11650
11819
|
queryKey: [BLOCKSCOUT_QUERY_KEY, "nfts", address, blockscoutApiUrl],
|
|
11651
11820
|
queryFn: () => blockscoutClient.getNfts(address),
|
|
11652
11821
|
enabled: !!address && enabled && !!blockscoutClient,
|
|
@@ -11659,7 +11828,7 @@ function useBlockscoutAssets(options) {
|
|
|
11659
11828
|
if (!tokenBalances) return [];
|
|
11660
11829
|
return tokenBalances.filter((tb) => tb.token.type === "ERC-20").map((tb) => tb.token.address);
|
|
11661
11830
|
}, [tokenBalances]);
|
|
11662
|
-
const { data: erc3643Results } =
|
|
11831
|
+
const { data: erc3643Results } = useQuery15({
|
|
11663
11832
|
queryKey: [ERC3643_DETECTION_QUERY_KEY, address, erc20TokenAddresses],
|
|
11664
11833
|
queryFn: async () => {
|
|
11665
11834
|
if (!publicClient || erc20TokenAddresses.length === 0) {
|
|
@@ -11949,7 +12118,7 @@ var init_BalanceView2 = __esm({
|
|
|
11949
12118
|
});
|
|
11950
12119
|
|
|
11951
12120
|
// src/internal/components/PortfolioMenu/PortfolioItem.tsx
|
|
11952
|
-
import { useQuery as
|
|
12121
|
+
import { useQuery as useQuery16, useQueryClient as useQueryClient16 } from "@tanstack/react-query";
|
|
11953
12122
|
import { Image as ImageIcon, Loader as Loader20, ShieldAlert, Sparkles } from "lucide-react";
|
|
11954
12123
|
import { useState as useState14 } from "react";
|
|
11955
12124
|
import { formatUnits as formatUnits5 } from "viem";
|
|
@@ -12039,7 +12208,7 @@ function PortfolioItem(props) {
|
|
|
12039
12208
|
const projectAssetBalance = !!balanceQueryKey ? qc.getQueryData(balanceQueryKey) : null;
|
|
12040
12209
|
const isNft = isNftAsset(asset);
|
|
12041
12210
|
const isSecurity = isSecurityToken(asset);
|
|
12042
|
-
const { data: assetRate, isLoading: isRateLoading } =
|
|
12211
|
+
const { data: assetRate, isLoading: isRateLoading } = useQuery16({
|
|
12043
12212
|
retry: false,
|
|
12044
12213
|
staleTime: 4 * 60 * 1e3,
|
|
12045
12214
|
enabled: !!address && !!isAssetRateAvailable(asset.symbol) && !isProjectAsset && !isNft && !isSecurity,
|
|
@@ -12542,7 +12711,7 @@ var init_TrustedApps = __esm({
|
|
|
12542
12711
|
});
|
|
12543
12712
|
|
|
12544
12713
|
// src/internal/components/SecurityMenu/SecurityMenu.tsx
|
|
12545
|
-
import { useQuery as
|
|
12714
|
+
import { useQuery as useQuery17, useQueryClient as useQueryClient18 } from "@tanstack/react-query";
|
|
12546
12715
|
import { ArrowLeft as ArrowLeft13, Loader as Loader25 } from "lucide-react";
|
|
12547
12716
|
import { useState as useState15 } from "react";
|
|
12548
12717
|
import { Fragment as Fragment31, jsx as jsx72, jsxs as jsxs65 } from "react/jsx-runtime";
|
|
@@ -12559,7 +12728,7 @@ function SecurityMenu() {
|
|
|
12559
12728
|
data: recoveryData,
|
|
12560
12729
|
isFetching: isRecoveryLoading,
|
|
12561
12730
|
isLoading: isRecoveryLoadingInitial
|
|
12562
|
-
} =
|
|
12731
|
+
} = useQuery17({
|
|
12563
12732
|
enabled: !!userId,
|
|
12564
12733
|
queryKey: [KEYSHARE_RECOVERY_STATS_QUERY, userId],
|
|
12565
12734
|
queryFn: async () => {
|
|
@@ -12822,8 +12991,8 @@ var init_nickname_fingerprint = __esm({
|
|
|
12822
12991
|
});
|
|
12823
12992
|
|
|
12824
12993
|
// src/hooks/useNicknameResolve.ts
|
|
12825
|
-
import { useQuery as
|
|
12826
|
-
import { useState as useState16, useEffect as
|
|
12994
|
+
import { useQuery as useQuery18 } from "@tanstack/react-query";
|
|
12995
|
+
import { useState as useState16, useEffect as useEffect30, useMemo as useMemo6 } from "react";
|
|
12827
12996
|
function looksLikeNickname(input) {
|
|
12828
12997
|
if (!input) return false;
|
|
12829
12998
|
if (input.startsWith("0x")) return false;
|
|
@@ -12837,7 +13006,7 @@ function useNicknameResolve(input, options) {
|
|
|
12837
13006
|
const [isDebouncing, setIsDebouncing] = useState16(false);
|
|
12838
13007
|
const normalized = normalizeNickname(input);
|
|
12839
13008
|
const isNicknameInput = looksLikeNickname(input) && normalized.length >= 3;
|
|
12840
|
-
|
|
13009
|
+
useEffect30(() => {
|
|
12841
13010
|
if (!isNicknameInput || !enabled) {
|
|
12842
13011
|
setDebouncedInput("");
|
|
12843
13012
|
setIsDebouncing(false);
|
|
@@ -12852,7 +13021,7 @@ function useNicknameResolve(input, options) {
|
|
|
12852
13021
|
clearTimeout(timer);
|
|
12853
13022
|
};
|
|
12854
13023
|
}, [normalized, isNicknameInput, enabled]);
|
|
12855
|
-
const query =
|
|
13024
|
+
const query = useQuery18({
|
|
12856
13025
|
queryKey: [...QUERY_KEYS.nicknameResolve(debouncedInput), chainId],
|
|
12857
13026
|
queryFn: () => resolveNickname(debouncedInput, chainId),
|
|
12858
13027
|
enabled: enabled && isNicknameInput && debouncedInput.length > 0,
|
|
@@ -13788,7 +13957,7 @@ var init_sendSteps = __esm({
|
|
|
13788
13957
|
|
|
13789
13958
|
// src/internal/components/SendRecieveMenu/SendLumiaMenu.tsx
|
|
13790
13959
|
import { AlertCircle as AlertCircle7, ArrowLeft as ArrowLeft14, CheckCircle2 as CheckCircle25, Loader as Loader28 } from "lucide-react";
|
|
13791
|
-
import { useEffect as
|
|
13960
|
+
import { useEffect as useEffect31, useMemo as useMemo7 } from "react";
|
|
13792
13961
|
import { parseUnits as parseUnits2 } from "viem";
|
|
13793
13962
|
import { Fragment as Fragment35, jsx as jsx79, jsxs as jsxs72 } from "react/jsx-runtime";
|
|
13794
13963
|
function SendLumiaMenu() {
|
|
@@ -13825,7 +13994,7 @@ function SendLumiaMenu() {
|
|
|
13825
13994
|
} = useSendStore();
|
|
13826
13995
|
const isNft = isNftAsset2(selectedAsset);
|
|
13827
13996
|
const isSecurity = isSecurityToken2(selectedAsset);
|
|
13828
|
-
|
|
13997
|
+
useEffect31(
|
|
13829
13998
|
() => () => {
|
|
13830
13999
|
setSelectedAsset(null);
|
|
13831
14000
|
setSendError(null);
|
|
@@ -13836,7 +14005,7 @@ function SendLumiaMenu() {
|
|
|
13836
14005
|
},
|
|
13837
14006
|
[]
|
|
13838
14007
|
);
|
|
13839
|
-
|
|
14008
|
+
useEffect31(() => {
|
|
13840
14009
|
const shouldSetNativeAsset = assets.length > 0 && !selectedAsset;
|
|
13841
14010
|
if (!shouldSetNativeAsset) return;
|
|
13842
14011
|
const native = assets.find((a) => a.type === "native");
|
|
@@ -13967,9 +14136,9 @@ var init_SendLumiaMenu = __esm({
|
|
|
13967
14136
|
});
|
|
13968
14137
|
|
|
13969
14138
|
// src/internal/components/SendRecieveMenu/ReceiveLumiaMenu.tsx
|
|
13970
|
-
import { ArrowLeft as ArrowLeft15, CheckCircle2 as CheckCircle26, Copy as
|
|
14139
|
+
import { ArrowLeft as ArrowLeft15, CheckCircle2 as CheckCircle26, Copy as Copy3, Info as Info6, Loader as Loader29, Shield as Shield2 } from "lucide-react";
|
|
13971
14140
|
import QRCode from "qrcode";
|
|
13972
|
-
import { useCallback as useCallback18, useEffect as
|
|
14141
|
+
import { useCallback as useCallback18, useEffect as useEffect32, useMemo as useMemo8, useState as useState19 } from "react";
|
|
13973
14142
|
import { Fragment as Fragment36, jsx as jsx80, jsxs as jsxs73 } from "react/jsx-runtime";
|
|
13974
14143
|
function ReceiveLumiaMenu() {
|
|
13975
14144
|
const session = useSession((st) => st.session);
|
|
@@ -13991,7 +14160,7 @@ function ReceiveLumiaMenu() {
|
|
|
13991
14160
|
return null;
|
|
13992
14161
|
}
|
|
13993
14162
|
}, [session?.ownerAddress]);
|
|
13994
|
-
|
|
14163
|
+
useEffect32(() => {
|
|
13995
14164
|
if (open && address) {
|
|
13996
14165
|
QRCode.toDataURL(address, {
|
|
13997
14166
|
width: 200,
|
|
@@ -14056,7 +14225,7 @@ function ReceiveLumiaMenu() {
|
|
|
14056
14225
|
onClick: handleCopyFingerprint,
|
|
14057
14226
|
className: "p-1 rounded hover:bg-[var(--ui-kit-bg)] transition-colors",
|
|
14058
14227
|
title: "Copy fingerprint",
|
|
14059
|
-
children: fingerprintCopied ? /* @__PURE__ */ jsx80(CheckCircle26, { className: "w-3.5 h-3.5 text-[var(--ui-kit-bg-success)]" }) : /* @__PURE__ */ jsx80(
|
|
14228
|
+
children: fingerprintCopied ? /* @__PURE__ */ jsx80(CheckCircle26, { className: "w-3.5 h-3.5 text-[var(--ui-kit-bg-success)]" }) : /* @__PURE__ */ jsx80(Copy3, { className: "w-3.5 h-3.5 text-[var(--ui-kit-fg-muted)]" })
|
|
14060
14229
|
}
|
|
14061
14230
|
)
|
|
14062
14231
|
] }),
|
|
@@ -14066,7 +14235,7 @@ function ReceiveLumiaMenu() {
|
|
|
14066
14235
|
/* @__PURE__ */ jsx80(CheckCircle26, { className: "h-4 w-4" }),
|
|
14067
14236
|
/* @__PURE__ */ jsx80("span", { children: "Copied!" })
|
|
14068
14237
|
] }) : /* @__PURE__ */ jsxs73(Fragment36, { children: [
|
|
14069
|
-
/* @__PURE__ */ jsx80(
|
|
14238
|
+
/* @__PURE__ */ jsx80(Copy3, { className: "h-4 w-4" }),
|
|
14070
14239
|
/* @__PURE__ */ jsx80("span", { children: t("passport:receiveMenu.copyAddress") })
|
|
14071
14240
|
] }) })
|
|
14072
14241
|
] }),
|
|
@@ -14131,9 +14300,9 @@ var init_constants7 = __esm({
|
|
|
14131
14300
|
});
|
|
14132
14301
|
|
|
14133
14302
|
// src/internal/components/SettingsMenu/SettingsMenu.tsx
|
|
14134
|
-
import { useQuery as
|
|
14303
|
+
import { useQuery as useQuery19 } from "@tanstack/react-query";
|
|
14135
14304
|
import { ArrowLeft as ArrowLeft16 } from "lucide-react";
|
|
14136
|
-
import { useEffect as
|
|
14305
|
+
import { useEffect as useEffect33 } from "react";
|
|
14137
14306
|
import { jsx as jsx82, jsxs as jsxs74 } from "react/jsx-runtime";
|
|
14138
14307
|
function useSettingsButtons() {
|
|
14139
14308
|
const config = useProviderConfig().config;
|
|
@@ -14151,7 +14320,7 @@ function useSettingsButtons() {
|
|
|
14151
14320
|
return true;
|
|
14152
14321
|
}
|
|
14153
14322
|
});
|
|
14154
|
-
|
|
14323
|
+
useEffect33(() => {
|
|
14155
14324
|
const cssvEl = document.querySelector(".embarkai-ui-scope");
|
|
14156
14325
|
if (!cssvEl || !window?.getComputedStyle) {
|
|
14157
14326
|
return;
|
|
@@ -14173,7 +14342,7 @@ function SettingsMenu() {
|
|
|
14173
14342
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
14174
14343
|
const settingsButtons = useSettingsButtons();
|
|
14175
14344
|
useProvidersList();
|
|
14176
|
-
|
|
14345
|
+
useQuery19({
|
|
14177
14346
|
retry: 1,
|
|
14178
14347
|
enabled: !!address,
|
|
14179
14348
|
queryKey: [QUERY_KEYS.nicknameInfo, address],
|
|
@@ -15010,7 +15179,7 @@ var init_utils7 = __esm({
|
|
|
15010
15179
|
});
|
|
15011
15180
|
|
|
15012
15181
|
// src/internal/components/TransactionsMenu/TransactionsGroup.tsx
|
|
15013
|
-
import { ChevronDown, ChevronLeft as ChevronLeft2, ChevronRight as ChevronRight6, ChevronUp, Copy as
|
|
15182
|
+
import { ChevronDown, ChevronLeft as ChevronLeft2, ChevronRight as ChevronRight6, ChevronUp, Copy as Copy4 } from "lucide-react";
|
|
15014
15183
|
import { Fragment as Fragment37, jsx as jsx85, jsxs as jsxs77 } from "react/jsx-runtime";
|
|
15015
15184
|
function InternalTransaction({ internal, assetSymbol, assetDecimals }) {
|
|
15016
15185
|
const internalSymbol = internal.assetSymbol || assetSymbol;
|
|
@@ -15083,7 +15252,7 @@ function TransactionsGroup(props) {
|
|
|
15083
15252
|
onClick: (e) => {
|
|
15084
15253
|
e.stopPropagation();
|
|
15085
15254
|
},
|
|
15086
|
-
children: /* @__PURE__ */ jsx85(
|
|
15255
|
+
children: /* @__PURE__ */ jsx85(Copy4, { className: "w-4 h-4" })
|
|
15087
15256
|
}
|
|
15088
15257
|
),
|
|
15089
15258
|
/* @__PURE__ */ jsx85(
|
|
@@ -15156,7 +15325,7 @@ var init_TransactionsGroup = __esm({
|
|
|
15156
15325
|
});
|
|
15157
15326
|
|
|
15158
15327
|
// src/internal/components/TransactionsMenu/TransactionsMenu.tsx
|
|
15159
|
-
import { useQuery as
|
|
15328
|
+
import { useQuery as useQuery20, useQueryClient as useQueryClient19 } from "@tanstack/react-query";
|
|
15160
15329
|
import { ArrowLeft as ArrowLeft18, Loader as Loader30, RefreshCw as RefreshCw3, XCircle } from "lucide-react";
|
|
15161
15330
|
import { useCallback as useCallback19, useState as useState20 } from "react";
|
|
15162
15331
|
import { jsx as jsx86, jsxs as jsxs78 } from "react/jsx-runtime";
|
|
@@ -15174,7 +15343,7 @@ function TransactionsMenu() {
|
|
|
15174
15343
|
isLoading: isTxHistoryLoading,
|
|
15175
15344
|
isFetching: isTxHistoryFetching,
|
|
15176
15345
|
error: txHistoryError
|
|
15177
|
-
} =
|
|
15346
|
+
} = useQuery20({
|
|
15178
15347
|
retry: false,
|
|
15179
15348
|
enabled: !!address && !!chainConfig?.id && historySupported,
|
|
15180
15349
|
queryKey: [TRANSACTIONS_HISTORY_QUERY_KEY, chainConfig.id, address],
|
|
@@ -15390,7 +15559,7 @@ var init_PageMap = __esm({
|
|
|
15390
15559
|
});
|
|
15391
15560
|
|
|
15392
15561
|
// src/internal/hooks/usePageMapper.tsx
|
|
15393
|
-
import { useCallback as useCallback20, useEffect as
|
|
15562
|
+
import { useCallback as useCallback20, useEffect as useEffect34 } from "react";
|
|
15394
15563
|
import { jsx as jsx87 } from "react/jsx-runtime";
|
|
15395
15564
|
function usePageMapper() {
|
|
15396
15565
|
const page = useLayoutDataStore((st) => st.page);
|
|
@@ -15423,7 +15592,7 @@ function usePageMapper() {
|
|
|
15423
15592
|
},
|
|
15424
15593
|
[setDialogContent, setDialogDescription, setDialogTitle, setIsDialogOpen]
|
|
15425
15594
|
);
|
|
15426
|
-
|
|
15595
|
+
useEffect34(() => {
|
|
15427
15596
|
if (page === null) return closeDialog();
|
|
15428
15597
|
const pageItem = PAGE_MAP[page];
|
|
15429
15598
|
if (!pageItem) {
|
|
@@ -15446,27 +15615,27 @@ var init_usePageMapper = __esm({
|
|
|
15446
15615
|
});
|
|
15447
15616
|
|
|
15448
15617
|
// src/internal/hooks/useSettingsNotifications.ts
|
|
15449
|
-
import { useQuery as
|
|
15450
|
-
import { useEffect as
|
|
15618
|
+
import { useQuery as useQuery21 } from "@tanstack/react-query";
|
|
15619
|
+
import { useEffect as useEffect35 } from "react";
|
|
15451
15620
|
function useSettingsNotifications() {
|
|
15452
15621
|
const address = useSession((st) => st.address);
|
|
15453
15622
|
const setSettingsNotifications = useLayoutDataStore((st) => st.setSettingsNotifications);
|
|
15454
15623
|
const providers = jwtTokenManager2.getProviders();
|
|
15455
15624
|
const hasEmail = providers.includes("email");
|
|
15456
|
-
const { data: userProfile = null } =
|
|
15625
|
+
const { data: userProfile = null } = useQuery21({
|
|
15457
15626
|
retry: false,
|
|
15458
15627
|
enabled: !!address,
|
|
15459
15628
|
queryKey: [QUERY_KEYS.userProfile, address],
|
|
15460
15629
|
queryFn: getUserProfile
|
|
15461
15630
|
});
|
|
15462
|
-
|
|
15631
|
+
useEffect35(() => {
|
|
15463
15632
|
const isKYCVerified = userProfile?.kycDetails?.kycStatus === "verified";
|
|
15464
15633
|
setSettingsNotifications({
|
|
15465
15634
|
...COMPLETE_KYC_PROGRESS,
|
|
15466
15635
|
status: isKYCVerified ? "resolved" : "active"
|
|
15467
15636
|
});
|
|
15468
15637
|
}, [userProfile, setSettingsNotifications]);
|
|
15469
|
-
|
|
15638
|
+
useEffect35(() => {
|
|
15470
15639
|
setSettingsNotifications({
|
|
15471
15640
|
...EMAIL_NOT_CONNECTED_NOTIFICATION,
|
|
15472
15641
|
status: hasEmail ? "resolved" : "active"
|
|
@@ -15499,7 +15668,7 @@ var init_package = __esm({
|
|
|
15499
15668
|
"package.json"() {
|
|
15500
15669
|
package_default = {
|
|
15501
15670
|
name: "@embarkai/ui-kit",
|
|
15502
|
-
version: "0.3.
|
|
15671
|
+
version: "0.3.5",
|
|
15503
15672
|
description: "React UI components and hooks for EmbarkAI authentication and Account Abstraction",
|
|
15504
15673
|
type: "module",
|
|
15505
15674
|
main: "./dist/index.cjs",
|
|
@@ -15715,9 +15884,9 @@ var init_Footer2 = __esm({
|
|
|
15715
15884
|
});
|
|
15716
15885
|
|
|
15717
15886
|
// src/internal/components/Header/Header.tsx
|
|
15718
|
-
import { useQuery as
|
|
15719
|
-
import { Copy as
|
|
15720
|
-
import { useCallback as useCallback21, useRef as
|
|
15887
|
+
import { useQuery as useQuery22 } from "@tanstack/react-query";
|
|
15888
|
+
import { Copy as Copy5, Loader as Loader32, X as X2 } from "lucide-react";
|
|
15889
|
+
import { useCallback as useCallback21, useRef as useRef15, useState as useState21 } from "react";
|
|
15721
15890
|
import { Fragment as Fragment38, jsx as jsx89, jsxs as jsxs80 } from "react/jsx-runtime";
|
|
15722
15891
|
function formatAddress2(addr) {
|
|
15723
15892
|
if (!addr) return "";
|
|
@@ -15730,8 +15899,8 @@ function Header() {
|
|
|
15730
15899
|
const { t } = useT();
|
|
15731
15900
|
const [copied, setCopied] = useState21(false);
|
|
15732
15901
|
const [showEasterEgg, setShowEasterEgg] = useState21(false);
|
|
15733
|
-
const clickCountRef =
|
|
15734
|
-
const clickTimerRef =
|
|
15902
|
+
const clickCountRef = useRef15(0);
|
|
15903
|
+
const clickTimerRef = useRef15(null);
|
|
15735
15904
|
const handleAvatarClick = useCallback21(() => {
|
|
15736
15905
|
clickCountRef.current += 1;
|
|
15737
15906
|
if (clickTimerRef.current) {
|
|
@@ -15746,7 +15915,7 @@ function Header() {
|
|
|
15746
15915
|
}, 1e3);
|
|
15747
15916
|
}
|
|
15748
15917
|
}, []);
|
|
15749
|
-
const { data: profile, isLoading: isProfileLoading } =
|
|
15918
|
+
const { data: profile, isLoading: isProfileLoading } = useQuery22({
|
|
15750
15919
|
retry: false,
|
|
15751
15920
|
enabled: !!address,
|
|
15752
15921
|
queryKey: [QUERY_KEYS.userProfile, address],
|
|
@@ -15814,7 +15983,7 @@ function Header() {
|
|
|
15814
15983
|
setTimeout(() => setCopied(false), 1500);
|
|
15815
15984
|
},
|
|
15816
15985
|
children: [
|
|
15817
|
-
copied ? /* @__PURE__ */ jsx89(PositiveIcon, {}) : /* @__PURE__ */ jsx89(
|
|
15986
|
+
copied ? /* @__PURE__ */ jsx89(PositiveIcon, {}) : /* @__PURE__ */ jsx89(Copy5, { className: "w-4 h-4" }),
|
|
15818
15987
|
/* @__PURE__ */ jsx89("span", { className: "uppercase", children: t("passport:common.copy") })
|
|
15819
15988
|
]
|
|
15820
15989
|
}
|
|
@@ -16051,7 +16220,7 @@ var init_visually_hidden = __esm({
|
|
|
16051
16220
|
|
|
16052
16221
|
// src/internal/components/Dialog/Dialog.tsx
|
|
16053
16222
|
import { AnimatePresence, motion } from "framer-motion";
|
|
16054
|
-
import { useEffect as
|
|
16223
|
+
import { useEffect as useEffect36 } from "react";
|
|
16055
16224
|
import { jsx as jsx92, jsxs as jsxs82 } from "react/jsx-runtime";
|
|
16056
16225
|
function Dialog2() {
|
|
16057
16226
|
const config = useProviderConfig().config;
|
|
@@ -16062,7 +16231,7 @@ function Dialog2() {
|
|
|
16062
16231
|
const transitionPageHeight = useLayoutDataStore((st) => st.transitionPageHeight);
|
|
16063
16232
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
16064
16233
|
const { colorMode, isDialogOpen, dialogTitle, dialogDescription, dialogContent, isDialogForced, setIsSettings } = useLayoutStore();
|
|
16065
|
-
|
|
16234
|
+
useEffect36(() => setIsSettings(!!session), [session, setIsSettings]);
|
|
16066
16235
|
usePageMapper();
|
|
16067
16236
|
useAutoConnect();
|
|
16068
16237
|
useBackupStatusChanges();
|
|
@@ -16305,7 +16474,7 @@ var init_useExternalWalletStore = __esm({
|
|
|
16305
16474
|
// src/internal/components/WalletConnectHandler.tsx
|
|
16306
16475
|
import { useConnectModal } from "@rainbow-me/rainbowkit";
|
|
16307
16476
|
import { useMutation as useMutation16, useQueryClient as useQueryClient21 } from "@tanstack/react-query";
|
|
16308
|
-
import React8, { useCallback as useCallback23, useEffect as
|
|
16477
|
+
import React8, { useCallback as useCallback23, useEffect as useEffect37 } from "react";
|
|
16309
16478
|
import { useAccount, useDisconnect, useSignMessage } from "wagmi";
|
|
16310
16479
|
function WalletConnectHandler() {
|
|
16311
16480
|
const qc = useQueryClient21();
|
|
@@ -16360,7 +16529,7 @@ function WalletConnectHandler() {
|
|
|
16360
16529
|
const [hasStartedLinking, setHasStartedLinking] = React8.useState(false);
|
|
16361
16530
|
const [modalWasOpened, setModalWasOpened] = React8.useState(false);
|
|
16362
16531
|
const [pendingModalOpen, setPendingModalOpen] = React8.useState(false);
|
|
16363
|
-
|
|
16532
|
+
useEffect37(() => {
|
|
16364
16533
|
if (isWalletLinking && !hasStartedLinking) {
|
|
16365
16534
|
console.log("[WalletConnectHandler] Starting wallet link flow:", {
|
|
16366
16535
|
isConnected,
|
|
@@ -16398,18 +16567,18 @@ function WalletConnectHandler() {
|
|
|
16398
16567
|
setProviderType,
|
|
16399
16568
|
walletMode
|
|
16400
16569
|
]);
|
|
16401
|
-
|
|
16570
|
+
useEffect37(() => {
|
|
16402
16571
|
if (pendingModalOpen && !isConnected && openConnectModal) {
|
|
16403
16572
|
setPendingModalOpen(false);
|
|
16404
16573
|
openConnectModal();
|
|
16405
16574
|
}
|
|
16406
16575
|
}, [pendingModalOpen, isConnected, openConnectModal]);
|
|
16407
|
-
|
|
16576
|
+
useEffect37(() => {
|
|
16408
16577
|
if (connectModalOpen && hasStartedLinking) {
|
|
16409
16578
|
setModalWasOpened(true);
|
|
16410
16579
|
}
|
|
16411
16580
|
}, [connectModalOpen, hasStartedLinking]);
|
|
16412
|
-
|
|
16581
|
+
useEffect37(() => {
|
|
16413
16582
|
if (modalWasOpened && !connectModalOpen && !isConnected && isWalletLinking) {
|
|
16414
16583
|
console.log("[WalletConnectHandler] Modal closed without connecting");
|
|
16415
16584
|
onLinkingComplete(false);
|
|
@@ -16417,7 +16586,7 @@ function WalletConnectHandler() {
|
|
|
16417
16586
|
setModalWasOpened(false);
|
|
16418
16587
|
}
|
|
16419
16588
|
}, [connectModalOpen, modalWasOpened, isConnected, isWalletLinking]);
|
|
16420
|
-
|
|
16589
|
+
useEffect37(() => {
|
|
16421
16590
|
if (isWalletLinking) {
|
|
16422
16591
|
const timeout = setTimeout(() => {
|
|
16423
16592
|
console.warn("[WalletConnectHandler] Wallet linking timed out, resetting state");
|
|
@@ -16537,7 +16706,7 @@ function WalletConnectHandler() {
|
|
|
16537
16706
|
setPage(passportWalletAddress ? "manage-wallet" /* MANAGE_WALLET */ : "auth" /* AUTH */);
|
|
16538
16707
|
}
|
|
16539
16708
|
});
|
|
16540
|
-
|
|
16709
|
+
useEffect37(() => {
|
|
16541
16710
|
if (!!chain?.id && isConnected && walletAddress && isWalletLinking && hasStartedLinking && modalWasOpened && !pendingModalOpen) {
|
|
16542
16711
|
console.log("[WalletConnectHandler] handleWalletSign triggered");
|
|
16543
16712
|
if (!passportWalletAddress) {
|
|
@@ -16547,7 +16716,7 @@ function WalletConnectHandler() {
|
|
|
16547
16716
|
handleWalletSign({ chainId: chain.id, signingWalletAddress: walletAddress });
|
|
16548
16717
|
}
|
|
16549
16718
|
}, [chain, isConnected, walletAddress, isWalletLinking, hasStartedLinking, modalWasOpened, pendingModalOpen]);
|
|
16550
|
-
|
|
16719
|
+
useEffect37(() => {
|
|
16551
16720
|
if (isConnected && !chain?.id && isWalletLinking && hasStartedLinking && !connectModalOpen && !isWalletSigning) {
|
|
16552
16721
|
const timeout = setTimeout(() => {
|
|
16553
16722
|
console.warn("[WalletConnectHandler] Wallet connected but chain info missing, resetting");
|
|
@@ -16583,7 +16752,7 @@ var init_WalletConnectHandler = __esm({
|
|
|
16583
16752
|
});
|
|
16584
16753
|
|
|
16585
16754
|
// src/internal/components/DirectWalletHandler.tsx
|
|
16586
|
-
import { useEffect as
|
|
16755
|
+
import { useEffect as useEffect38 } from "react";
|
|
16587
16756
|
import { useAccount as useAccount2 } from "wagmi";
|
|
16588
16757
|
function DirectWalletHandler() {
|
|
16589
16758
|
const walletMode = useProviderConfig().config.current?.wallet?.mode || "linked";
|
|
@@ -16595,13 +16764,13 @@ function DirectWalletHandler() {
|
|
|
16595
16764
|
const setExternalChainId = useExternalWalletStore((st) => st.setExternalChainId);
|
|
16596
16765
|
const setConfigMode = useExternalWalletStore((st) => st.setConfigMode);
|
|
16597
16766
|
const setActiveMode = useExternalWalletStore((st) => st.setActiveMode);
|
|
16598
|
-
|
|
16767
|
+
useEffect38(() => {
|
|
16599
16768
|
setConfigMode(walletMode);
|
|
16600
16769
|
if (walletMode !== "both") {
|
|
16601
16770
|
setActiveMode(walletMode);
|
|
16602
16771
|
}
|
|
16603
16772
|
}, [walletMode, setConfigMode, setActiveMode]);
|
|
16604
|
-
|
|
16773
|
+
useEffect38(() => {
|
|
16605
16774
|
if (isConnected && address && !isExternalConnected && connector) {
|
|
16606
16775
|
setExternalWallet({
|
|
16607
16776
|
address,
|
|
@@ -16610,17 +16779,17 @@ function DirectWalletHandler() {
|
|
|
16610
16779
|
});
|
|
16611
16780
|
}
|
|
16612
16781
|
}, [isConnected, address, isExternalConnected, connector, chain?.id, setExternalWallet]);
|
|
16613
|
-
|
|
16782
|
+
useEffect38(() => {
|
|
16614
16783
|
if (isExternalConnected && !isConnected) {
|
|
16615
16784
|
clearExternalWallet();
|
|
16616
16785
|
}
|
|
16617
16786
|
}, [isConnected, isExternalConnected, clearExternalWallet]);
|
|
16618
|
-
|
|
16787
|
+
useEffect38(() => {
|
|
16619
16788
|
if (isExternalConnected && isConnected && chain?.id) {
|
|
16620
16789
|
setExternalChainId(chain.id);
|
|
16621
16790
|
}
|
|
16622
16791
|
}, [chain?.id, isConnected, isExternalConnected, setExternalChainId]);
|
|
16623
|
-
|
|
16792
|
+
useEffect38(() => {
|
|
16624
16793
|
if (isExternalConnected && isConnected && address && address !== externalAddress && connector) {
|
|
16625
16794
|
setExternalWallet({
|
|
16626
16795
|
address,
|
|
@@ -16643,7 +16812,7 @@ import {
|
|
|
16643
16812
|
createBundlerClientForChain,
|
|
16644
16813
|
createPublicClientForChain as createPublicClientForChain6,
|
|
16645
16814
|
DEFAULT_CHAIN_ID as DEFAULT_CHAIN_ID2,
|
|
16646
|
-
getChainConfig as
|
|
16815
|
+
getChainConfig as getChainConfig9,
|
|
16647
16816
|
getViemChain as getViemChain2
|
|
16648
16817
|
} from "@embarkai/core/read";
|
|
16649
16818
|
import { Fragment as Fragment39 } from "react";
|
|
@@ -16752,7 +16921,7 @@ var init_SessionContext = __esm({
|
|
|
16752
16921
|
// Set default chainId after hydration if not persisted
|
|
16753
16922
|
onRehydrateStorage: () => (state) => {
|
|
16754
16923
|
if (!state) return;
|
|
16755
|
-
const hydartedChain = getChainParams(
|
|
16924
|
+
const hydartedChain = getChainParams(getChainConfig9(state.activeChainId || DEFAULT_CHAIN_ID2));
|
|
16756
16925
|
state.activeChainId = hydartedChain.activeChainId;
|
|
16757
16926
|
state.publicClient = hydartedChain.publicClient;
|
|
16758
16927
|
state.bundlerClient = hydartedChain.bundlerClient;
|
|
@@ -16799,7 +16968,7 @@ var init_env = __esm({
|
|
|
16799
16968
|
});
|
|
16800
16969
|
|
|
16801
16970
|
// src/internal/clients/base.ts
|
|
16802
|
-
import { getChainConfig as
|
|
16971
|
+
import { getChainConfig as getChainConfig10, getViemChain as getViemChain3, lumiaMainnetChain, lumiaTestnetChain } from "@embarkai/core/read";
|
|
16803
16972
|
import { http as http3 } from "viem";
|
|
16804
16973
|
import { createBundlerClient } from "viem/account-abstraction";
|
|
16805
16974
|
function getTssUrl2() {
|
|
@@ -16814,6 +16983,12 @@ function getShareVaultUrl() {
|
|
|
16814
16983
|
const envUrl = getEnvVar("VITE_LUMIA_SHARE_VAULT_URL") || getEnvVar("LUMIA_SHARE_VAULT_URL");
|
|
16815
16984
|
return paramUrl || serviceUrls.shareVaultUrl || envUrl || "http://localhost:9090";
|
|
16816
16985
|
}
|
|
16986
|
+
function getDashboardApiUrl() {
|
|
16987
|
+
const serviceUrls = getServiceUrls();
|
|
16988
|
+
const paramUrl = typeof window !== "undefined" ? new URLSearchParams(window.location.search).get("dashboardApiUrl") || void 0 : void 0;
|
|
16989
|
+
const envUrl = getEnvVar("VITE_LUMIA_DASHBOARD_API_URL") || getEnvVar("LUMIA_DASHBOARD_API_URL");
|
|
16990
|
+
return paramUrl || serviceUrls.dashboardApiUrl || envUrl || "https://dashboard.lumiapassport.com/api";
|
|
16991
|
+
}
|
|
16817
16992
|
function getSelectedNetwork() {
|
|
16818
16993
|
const paramNet = typeof window !== "undefined" ? (new URLSearchParams(window.location.search).get("network") || "").toLowerCase() : "";
|
|
16819
16994
|
const envNet = (getEnvVar("VITE_LUMIA_NETWORK") || getEnvVar("LUMIA_NETWORK") || BUILD_NETWORK || "").toLowerCase();
|
|
@@ -16824,13 +16999,13 @@ function getExplorerUrl() {
|
|
|
16824
16999
|
const paramUrl = typeof window !== "undefined" ? new URLSearchParams(window.location.search).get("explorerUrl") || void 0 : void 0;
|
|
16825
17000
|
const net = getSelectedNetwork();
|
|
16826
17001
|
const chainId = requireActiveChainId();
|
|
16827
|
-
const chainConfig =
|
|
17002
|
+
const chainConfig = getChainConfig10(chainId);
|
|
16828
17003
|
console.log("[getExplorerUrl] ", paramUrl, chainConfig.blockExplorerUrl);
|
|
16829
17004
|
return paramUrl || chainConfig.blockExplorerUrl;
|
|
16830
17005
|
}
|
|
16831
17006
|
function getBundlerClient() {
|
|
16832
17007
|
const chainId = requireActiveChainId();
|
|
16833
|
-
const chainConfig =
|
|
17008
|
+
const chainConfig = getChainConfig10(chainId);
|
|
16834
17009
|
const viemChain = getViemChain3(chainId);
|
|
16835
17010
|
return createBundlerClient({
|
|
16836
17011
|
chain: viemChain,
|
|
@@ -19064,10 +19239,10 @@ import {
|
|
|
19064
19239
|
walletConnectWallet
|
|
19065
19240
|
} from "@rainbow-me/rainbowkit/wallets";
|
|
19066
19241
|
import { arbitrum, avalanche, base, bsc, mainnet, optimism, polygon, zora } from "wagmi/chains";
|
|
19067
|
-
var
|
|
19242
|
+
var getProjectId2, WALLET_MAP, createRainbowConfig, rainbowTheme;
|
|
19068
19243
|
var init_rainbowkit = __esm({
|
|
19069
19244
|
"src/config/rainbowkit.ts"() {
|
|
19070
|
-
|
|
19245
|
+
getProjectId2 = (configProjectId) => {
|
|
19071
19246
|
if (configProjectId) return configProjectId;
|
|
19072
19247
|
if (typeof window !== "undefined") {
|
|
19073
19248
|
return window.NEXT_PUBLIC_WALLET_CONNECT_PROJECT_ID || window.VITE_WALLET_CONNECT_PROJECT_ID || window.__WALLET_CONNECT_PROJECT_ID__ || "YOUR_PROJECT_ID";
|
|
@@ -19084,7 +19259,7 @@ var init_rainbowkit = __esm({
|
|
|
19084
19259
|
const opts = typeof options === "string" ? { projectId: options } : options || {};
|
|
19085
19260
|
const config = {
|
|
19086
19261
|
appName: "EmbarkAI Wallet",
|
|
19087
|
-
projectId:
|
|
19262
|
+
projectId: getProjectId2(opts.projectId),
|
|
19088
19263
|
chains: [mainnet, polygon, bsc, arbitrum, optimism, avalanche, base, zora],
|
|
19089
19264
|
ssr: false
|
|
19090
19265
|
};
|
|
@@ -19399,16 +19574,16 @@ import {
|
|
|
19399
19574
|
createContext,
|
|
19400
19575
|
useCallback as useCallback24,
|
|
19401
19576
|
useContext,
|
|
19402
|
-
useEffect as
|
|
19577
|
+
useEffect as useEffect39,
|
|
19403
19578
|
useMemo as useMemo10,
|
|
19404
|
-
useRef as
|
|
19579
|
+
useRef as useRef16
|
|
19405
19580
|
} from "react";
|
|
19406
19581
|
import { jsx as jsx96 } from "react/jsx-runtime";
|
|
19407
19582
|
function Provider(props) {
|
|
19408
19583
|
const { children, projectId, initialConfig = {}, callbacks } = props;
|
|
19409
|
-
const callbacksRef =
|
|
19410
|
-
|
|
19411
|
-
const config =
|
|
19584
|
+
const callbacksRef = useRef16(callbacks);
|
|
19585
|
+
useEffect39(() => notifyNoProjetctId(projectId), [projectId]);
|
|
19586
|
+
const config = useRef16(merge3({}, DEFAULT_PROVIDER_CONFIG, { projectId }, initialConfig));
|
|
19412
19587
|
const updateConfig = useCallback24((updates) => {
|
|
19413
19588
|
const prev = config.current;
|
|
19414
19589
|
const next = { ...prev };
|
|
@@ -19447,7 +19622,7 @@ function Provider(props) {
|
|
|
19447
19622
|
const next = updates ? { ...prev, ...updates } : void 0;
|
|
19448
19623
|
callbacksRef.current = next;
|
|
19449
19624
|
}, []);
|
|
19450
|
-
|
|
19625
|
+
useEffect39(() => {
|
|
19451
19626
|
if (typeof window === "undefined" || !projectId) return;
|
|
19452
19627
|
const mergedConfig = merge3(DEFAULT_PROVIDER_CONFIG, initialConfig);
|
|
19453
19628
|
updateConfig(mergedConfig);
|
|
@@ -19465,7 +19640,7 @@ function Provider(props) {
|
|
|
19465
19640
|
useSession.getState().setActiveChainId(mergedConfig.network.chainId);
|
|
19466
19641
|
}
|
|
19467
19642
|
}, [projectId, initialConfig]);
|
|
19468
|
-
|
|
19643
|
+
useEffect39(() => {
|
|
19469
19644
|
if (typeof window === "undefined" || !projectId) return;
|
|
19470
19645
|
try {
|
|
19471
19646
|
initSdkErrorTracking();
|
|
@@ -19528,9 +19703,9 @@ var init_ProviderContext = __esm({
|
|
|
19528
19703
|
});
|
|
19529
19704
|
|
|
19530
19705
|
// src/components/ConnectWalletButton.tsx
|
|
19531
|
-
import { useQuery as
|
|
19706
|
+
import { useQuery as useQuery23 } from "@tanstack/react-query";
|
|
19532
19707
|
import { Cloud as Cloud4, Laptop as Laptop2, Loader as Loader33, Shield as Shield3 } from "lucide-react";
|
|
19533
|
-
import { useEffect as
|
|
19708
|
+
import { useEffect as useEffect40, useMemo as useMemo11 } from "react";
|
|
19534
19709
|
import { Fragment as Fragment41, jsx as jsx97, jsxs as jsxs84 } from "react/jsx-runtime";
|
|
19535
19710
|
function getFormattedStatus(label, status, showStatus) {
|
|
19536
19711
|
const isStatus = showStatus && status && status !== "idle" && status !== "ready";
|
|
@@ -19550,8 +19725,8 @@ function ConnectWalletButton(props) {
|
|
|
19550
19725
|
const colorMode = useLayoutStore((st) => st.colorMode);
|
|
19551
19726
|
const { session, address, hasServerVault, isLoading, isIframeReady, status, setUsePaymaster } = useSession();
|
|
19552
19727
|
const connectButtonLabel = getFormattedStatus(label || "Connect", status, isIframeReady);
|
|
19553
|
-
|
|
19554
|
-
const { data: profile, isLoading: isProfileLoading } =
|
|
19728
|
+
useEffect40(() => setUsePaymaster(usePaymaster), [setUsePaymaster, usePaymaster]);
|
|
19729
|
+
const { data: profile, isLoading: isProfileLoading } = useQuery23({
|
|
19555
19730
|
retry: false,
|
|
19556
19731
|
enabled: !!address,
|
|
19557
19732
|
queryKey: [QUERY_KEYS.userProfile, address],
|
|
@@ -19849,10 +20024,10 @@ var init_LangToggle = __esm({
|
|
|
19849
20024
|
|
|
19850
20025
|
// src/clients/bundler/getUserOperationByHash.ts
|
|
19851
20026
|
import { bundlerRpc } from "@embarkai/core";
|
|
19852
|
-
import { getChainConfig as
|
|
20027
|
+
import { getChainConfig as getChainConfig11 } from "@embarkai/core/read";
|
|
19853
20028
|
async function getUserOperationByHash(userOpHash, chainId) {
|
|
19854
20029
|
const targetChainId = chainId ?? requireActiveChainId();
|
|
19855
|
-
const chainConfig =
|
|
20030
|
+
const chainConfig = getChainConfig11(targetChainId);
|
|
19856
20031
|
if (!chainConfig) {
|
|
19857
20032
|
throw new Error(`Chain ${targetChainId} is not supported`);
|
|
19858
20033
|
}
|
|
@@ -19888,10 +20063,10 @@ var init_getUserOperationByHash = __esm({
|
|
|
19888
20063
|
|
|
19889
20064
|
// src/clients/bundler/getUserOperationReceipt.ts
|
|
19890
20065
|
import { bundlerRpc as bundlerRpc2 } from "@embarkai/core";
|
|
19891
|
-
import { getChainConfig as
|
|
20066
|
+
import { getChainConfig as getChainConfig12 } from "@embarkai/core/read";
|
|
19892
20067
|
async function getUserOperationReceipt(userOpHash, chainId) {
|
|
19893
20068
|
const targetChainId = chainId ?? requireActiveChainId();
|
|
19894
|
-
const chainConfig =
|
|
20069
|
+
const chainConfig = getChainConfig12(targetChainId);
|
|
19895
20070
|
if (!chainConfig) {
|
|
19896
20071
|
throw new Error(`Chain ${targetChainId} is not supported`);
|
|
19897
20072
|
}
|
|
@@ -19932,7 +20107,7 @@ var init_getUserOperationReceipt = __esm({
|
|
|
19932
20107
|
});
|
|
19933
20108
|
|
|
19934
20109
|
// src/internal/components/Address.tsx
|
|
19935
|
-
import { Copy as
|
|
20110
|
+
import { Copy as Copy6, ExternalLink as ExternalLink2 } from "lucide-react";
|
|
19936
20111
|
import * as React9 from "react";
|
|
19937
20112
|
import { jsx as jsx100, jsxs as jsxs85 } from "react/jsx-runtime";
|
|
19938
20113
|
function toExplorerAddressUrl(address, chain) {
|
|
@@ -19979,7 +20154,7 @@ var init_Address = __esm({
|
|
|
19979
20154
|
} catch {
|
|
19980
20155
|
}
|
|
19981
20156
|
},
|
|
19982
|
-
children: /* @__PURE__ */ jsx100(
|
|
20157
|
+
children: /* @__PURE__ */ jsx100(Copy6, { className: "h-4 w-4" })
|
|
19983
20158
|
}
|
|
19984
20159
|
),
|
|
19985
20160
|
showExplorer && explorer && /* @__PURE__ */ jsx100(
|
|
@@ -19990,7 +20165,7 @@ var init_Address = __esm({
|
|
|
19990
20165
|
rel: "noreferrer noopener",
|
|
19991
20166
|
className: "inline-flex items-center justify-center h-10 w-10 rounded-md hover:bg-accent text-foreground",
|
|
19992
20167
|
title: "Open in explorer",
|
|
19993
|
-
children: /* @__PURE__ */ jsx100(
|
|
20168
|
+
children: /* @__PURE__ */ jsx100(ExternalLink2, { className: "h-4 w-4" })
|
|
19994
20169
|
}
|
|
19995
20170
|
)
|
|
19996
20171
|
] });
|
|
@@ -19999,7 +20174,7 @@ var init_Address = __esm({
|
|
|
19999
20174
|
});
|
|
20000
20175
|
|
|
20001
20176
|
// src/internal/components/UserOpStatus.tsx
|
|
20002
|
-
import { AlertCircle as AlertCircle8, CheckCircle2 as CheckCircle27, Clock as Clock2, Copy as
|
|
20177
|
+
import { AlertCircle as AlertCircle8, CheckCircle2 as CheckCircle27, Clock as Clock2, Copy as Copy7, ExternalLink as ExternalLink3, RefreshCw as RefreshCw4 } from "lucide-react";
|
|
20003
20178
|
import * as React10 from "react";
|
|
20004
20179
|
import { jsx as jsx101, jsxs as jsxs86 } from "react/jsx-runtime";
|
|
20005
20180
|
var UserOpStatus;
|
|
@@ -20187,7 +20362,7 @@ var init_UserOpStatus = __esm({
|
|
|
20187
20362
|
} catch {
|
|
20188
20363
|
}
|
|
20189
20364
|
},
|
|
20190
|
-
children: /* @__PURE__ */ jsx101(
|
|
20365
|
+
children: /* @__PURE__ */ jsx101(Copy7, { className: "h-3.5 w-3.5" })
|
|
20191
20366
|
}
|
|
20192
20367
|
)
|
|
20193
20368
|
] }),
|
|
@@ -20206,7 +20381,7 @@ var init_UserOpStatus = __esm({
|
|
|
20206
20381
|
} catch {
|
|
20207
20382
|
}
|
|
20208
20383
|
},
|
|
20209
|
-
children: /* @__PURE__ */ jsx101(
|
|
20384
|
+
children: /* @__PURE__ */ jsx101(Copy7, { className: "h-3.5 w-3.5" })
|
|
20210
20385
|
}
|
|
20211
20386
|
),
|
|
20212
20387
|
chain?.blockExplorers?.default?.url && /* @__PURE__ */ jsx101(
|
|
@@ -20217,7 +20392,7 @@ var init_UserOpStatus = __esm({
|
|
|
20217
20392
|
rel: "noreferrer noopener",
|
|
20218
20393
|
className: "inline-flex items-center justify-center h-8 w-8 rounded-md hover:bg-accent text-foreground",
|
|
20219
20394
|
title: "Open in explorer",
|
|
20220
|
-
children: /* @__PURE__ */ jsx101(
|
|
20395
|
+
children: /* @__PURE__ */ jsx101(ExternalLink3, { className: "h-3.5 w-3.5" })
|
|
20221
20396
|
}
|
|
20222
20397
|
)
|
|
20223
20398
|
] }),
|
|
@@ -20268,7 +20443,7 @@ var init_UserOpStatus = __esm({
|
|
|
20268
20443
|
});
|
|
20269
20444
|
|
|
20270
20445
|
// src/internal/components/Hash.tsx
|
|
20271
|
-
import { Copy as
|
|
20446
|
+
import { Copy as Copy8, ExternalLink as ExternalLink4 } from "lucide-react";
|
|
20272
20447
|
import * as React11 from "react";
|
|
20273
20448
|
import { jsx as jsx102, jsxs as jsxs87 } from "react/jsx-runtime";
|
|
20274
20449
|
function toExplorerUrl(kind, value, chain) {
|
|
@@ -20317,7 +20492,7 @@ var init_Hash = __esm({
|
|
|
20317
20492
|
} catch {
|
|
20318
20493
|
}
|
|
20319
20494
|
},
|
|
20320
|
-
children: /* @__PURE__ */ jsx102(
|
|
20495
|
+
children: /* @__PURE__ */ jsx102(Copy8, { className: "h-4 w-4" })
|
|
20321
20496
|
}
|
|
20322
20497
|
),
|
|
20323
20498
|
showExplorer && explorer && /* @__PURE__ */ jsx102(
|
|
@@ -20328,7 +20503,7 @@ var init_Hash = __esm({
|
|
|
20328
20503
|
rel: "noreferrer noopener",
|
|
20329
20504
|
className: "inline-flex items-center justify-center h-10 w-10 rounded-md hover:bg-accent text-foreground",
|
|
20330
20505
|
title: "Open in explorer",
|
|
20331
|
-
children: /* @__PURE__ */ jsx102(
|
|
20506
|
+
children: /* @__PURE__ */ jsx102(ExternalLink4, { className: "h-4 w-4" })
|
|
20332
20507
|
}
|
|
20333
20508
|
)
|
|
20334
20509
|
] });
|
|
@@ -20337,7 +20512,7 @@ var init_Hash = __esm({
|
|
|
20337
20512
|
});
|
|
20338
20513
|
|
|
20339
20514
|
// src/internal/components/TransactionsMenu/TransactionsList.tsx
|
|
20340
|
-
import { useEffect as
|
|
20515
|
+
import { useEffect as useEffect42, useState as useState25 } from "react";
|
|
20341
20516
|
import { jsx as jsx103, jsxs as jsxs88 } from "react/jsx-runtime";
|
|
20342
20517
|
var TransactionsList;
|
|
20343
20518
|
var init_TransactionsList = __esm({
|
|
@@ -20347,7 +20522,7 @@ var init_TransactionsList = __esm({
|
|
|
20347
20522
|
const [transactions, setTransactions] = useState25([]);
|
|
20348
20523
|
const [loading, setLoading] = useState25(true);
|
|
20349
20524
|
const [error, setError] = useState25(null);
|
|
20350
|
-
|
|
20525
|
+
useEffect42(() => {
|
|
20351
20526
|
const fetchTransactions2 = async () => {
|
|
20352
20527
|
try {
|
|
20353
20528
|
setLoading(true);
|