@alwith/module-auth 0.1.8 → 0.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (205) hide show
  1. package/README.md +1 -1
  2. package/dist/chunk-0gf7vwzk.js +2 -0
  3. package/dist/chunk-0x7ssxpn.js +2 -0
  4. package/dist/chunk-0ze5xzg5.js +2 -0
  5. package/dist/chunk-14dfwbk0.js +2 -0
  6. package/dist/chunk-1hxexf7n.js +6 -0
  7. package/dist/chunk-1mq984ah.js +2 -0
  8. package/dist/chunk-21abksd2.js +2 -0
  9. package/dist/chunk-2aq8zkwb.js +2 -0
  10. package/dist/chunk-2k8my1h9.js +2 -0
  11. package/dist/chunk-2skzpxsk.js +2 -0
  12. package/dist/chunk-2x5tzfgv.js +2 -0
  13. package/dist/chunk-37ctfsy1.js +1 -0
  14. package/dist/chunk-38y9615y.js +2 -0
  15. package/dist/chunk-3vpcfe38.js +2 -0
  16. package/dist/chunk-44at74bw.js +2 -0
  17. package/dist/chunk-4gegjx79.js +2 -0
  18. package/dist/chunk-4h2756zy.js +2 -0
  19. package/dist/chunk-4xk0z8t0.js +2 -0
  20. package/dist/chunk-5jz8vnk5.js +1 -0
  21. package/dist/chunk-5v4zm9s3.js +2 -0
  22. package/dist/chunk-5w675j2g.js +2 -0
  23. package/dist/chunk-70nb6x0r.js +2 -0
  24. package/dist/chunk-74hpp4me.js +2 -0
  25. package/dist/chunk-7xtvv8a7.js +2 -0
  26. package/dist/chunk-8kcmwm3k.js +2 -0
  27. package/dist/chunk-8w0zccsf.js +0 -0
  28. package/dist/chunk-8xd6kn1b.js +2 -0
  29. package/dist/chunk-96emfz6b.js +2 -0
  30. package/dist/chunk-9h4j75af.js +2 -0
  31. package/dist/chunk-9tramdds.js +2 -0
  32. package/dist/chunk-9wqfns8y.js +2 -0
  33. package/dist/chunk-9zhxpvxw.js +2 -0
  34. package/dist/chunk-afy09ajr.js +2 -0
  35. package/dist/chunk-b5zfgr86.js +2 -0
  36. package/dist/chunk-bgc7s9q5.js +2 -0
  37. package/dist/chunk-c9banqkx.js +2 -0
  38. package/dist/chunk-d13j3xks.js +2 -0
  39. package/dist/chunk-ezj6gpm0.js +2 -0
  40. package/dist/chunk-fkj53yw2.js +2 -0
  41. package/dist/chunk-g47n16v3.js +2 -0
  42. package/dist/chunk-hj17ea3j.js +2 -0
  43. package/dist/chunk-hk9j0kvg.js +2 -0
  44. package/dist/chunk-htw56xtp.js +2 -0
  45. package/dist/chunk-j03we9jz.js +2 -0
  46. package/dist/chunk-j3ez3fz2.js +2 -0
  47. package/dist/chunk-jf6z5rh7.js +1 -0
  48. package/dist/chunk-jf77909y.js +2 -0
  49. package/dist/chunk-jjb1befc.js +2 -0
  50. package/dist/chunk-khnyadsg.js +0 -0
  51. package/dist/chunk-kwq26qhs.js +2 -0
  52. package/dist/chunk-m18rjmg2.js +2 -0
  53. package/dist/chunk-m96z2xh6.js +2 -0
  54. package/dist/chunk-mandqn4e.js +2 -0
  55. package/dist/chunk-mdqxdcxh.js +2 -0
  56. package/dist/chunk-mmj02855.js +2 -0
  57. package/dist/chunk-mnrtrr2j.js +2 -0
  58. package/dist/chunk-ms8jh9xz.js +2 -0
  59. package/dist/chunk-my19acdk.js +2 -0
  60. package/dist/chunk-nbzm95mz.js +2 -0
  61. package/dist/chunk-npcgz51c.js +2 -0
  62. package/dist/chunk-p1ywvmqa.js +2 -0
  63. package/dist/chunk-pbwt3qj9.js +0 -0
  64. package/dist/chunk-pha0eyam.js +2 -0
  65. package/dist/chunk-q8ebj5e6.js +2 -0
  66. package/dist/chunk-rerywpwe.js +2 -0
  67. package/dist/chunk-sp65sdp3.js +1 -0
  68. package/dist/chunk-v9czb1e6.js +2 -0
  69. package/dist/chunk-vnnyvrrd.js +3 -0
  70. package/dist/chunk-vr4ye1z4.js +2 -0
  71. package/dist/chunk-vsxgxkg5.js +0 -0
  72. package/dist/chunk-vz0m347h.js +2 -0
  73. package/dist/chunk-w1z1g5c5.js +2 -0
  74. package/dist/chunk-w5yer870.js +2 -0
  75. package/dist/chunk-wbvah1ty.js +2 -0
  76. package/dist/chunk-wcenmfkf.js +2 -0
  77. package/dist/chunk-xrw9s1th.js +2 -0
  78. package/dist/chunk-xs0abxzp.js +2 -0
  79. package/dist/chunk-yjdj2mf9.js +2 -0
  80. package/dist/chunk-z5nmdjb9.js +2 -0
  81. package/dist/chunk-zhbj6cm5.js +2 -0
  82. package/dist/client.d.ts +1 -1
  83. package/dist/client.js +1 -1
  84. package/dist/index.d.ts +6 -6
  85. package/dist/index.js +1 -1
  86. package/dist/oauth.js +1 -1
  87. package/dist/password.js +1 -1
  88. package/dist/pets/assets.d.ts +8 -8
  89. package/dist/pets/assets.js +1 -1
  90. package/dist/pets/client.d.ts +2 -2
  91. package/dist/pets/client.js +1 -1
  92. package/dist/pets/core/engine.d.ts +2 -2
  93. package/dist/pets/core/engine.js +1 -1
  94. package/dist/pets/core/host.d.ts +3 -3
  95. package/dist/pets/core/host.js +1 -1
  96. package/dist/pets/core/index.d.ts +11 -11
  97. package/dist/pets/core/index.js +1 -1
  98. package/dist/pets/core/lib/account-state.d.ts +1 -1
  99. package/dist/pets/core/lib/account-state.js +1 -1
  100. package/dist/pets/core/lib/bubble-outline.js +1 -1
  101. package/dist/pets/core/lib/draw-result.d.ts +1 -1
  102. package/dist/pets/core/lib/draw-result.js +1 -1
  103. package/dist/pets/core/lib/endpoints.d.ts +1 -1
  104. package/dist/pets/core/lib/endpoints.js +1 -1
  105. package/dist/pets/core/lib/gacha-pools.d.ts +1 -1
  106. package/dist/pets/core/lib/gacha-pools.js +1 -1
  107. package/dist/pets/core/lib/loading-progress.js +1 -1
  108. package/dist/pets/core/lib/pet-animation-sync.d.ts +2 -2
  109. package/dist/pets/core/lib/pet-animation-sync.js +1 -1
  110. package/dist/pets/core/lib/pet-bubble-state.d.ts +1 -1
  111. package/dist/pets/core/lib/pet-bubble-state.js +1 -1
  112. package/dist/pets/core/lib/pet-drag.d.ts +2 -2
  113. package/dist/pets/core/lib/pet-drag.js +1 -1
  114. package/dist/pets/core/lib/pet-presentation.d.ts +3 -3
  115. package/dist/pets/core/lib/pet-presentation.js +1 -1
  116. package/dist/pets/core/lib/pet-session-context.js +1 -1
  117. package/dist/pets/core/lib/preload-images.js +1 -1
  118. package/dist/pets/core/lib/presentation-readiness.js +1 -1
  119. package/dist/pets/core/lib/rarity.d.ts +1 -1
  120. package/dist/pets/core/lib/rarity.js +1 -1
  121. package/dist/pets/core/lib/recharge.js +1 -1
  122. package/dist/pets/core/lib/reply-submission.d.ts +1 -1
  123. package/dist/pets/core/lib/reply-submission.js +1 -1
  124. package/dist/pets/core/lib/resource-sync.js +1 -1
  125. package/dist/pets/core/lib/runtime-types.d.ts +1 -1
  126. package/dist/pets/core/lib/settings.js +1 -1
  127. package/dist/pets/core/lib/sprite-config.d.ts +2 -2
  128. package/dist/pets/core/lib/sprite-config.js +1 -1
  129. package/dist/pets/core/lib/vibemon-resources.d.ts +1 -1
  130. package/dist/pets/core/lib/vibemon-resources.js +1 -1
  131. package/dist/pets/core/lib/view-request.js +1 -1
  132. package/dist/pets/core/lib/window-frame.d.ts +1 -1
  133. package/dist/pets/core/lib/window-frame.js +1 -1
  134. package/dist/pets/core/lib/window-manager.d.ts +1 -1
  135. package/dist/pets/core/lib/window-manager.js +1 -1
  136. package/dist/pets/core/session-icon.js +1 -5
  137. package/dist/pets/core/types.js +1 -1
  138. package/dist/pets/host.js +1 -1
  139. package/dist/pets/index.d.ts +6 -6
  140. package/dist/pets/index.js +1 -1
  141. package/dist/pets/react/assets.js +1 -1
  142. package/dist/pets/react/components/album-view.d.ts +1 -1
  143. package/dist/pets/react/components/album-view.js +1 -1
  144. package/dist/pets/react/components/back-to-home.js +1 -1
  145. package/dist/pets/react/components/equip-view.d.ts +1 -1
  146. package/dist/pets/react/components/equip-view.js +1 -1
  147. package/dist/pets/react/components/gem-balance.js +1 -1
  148. package/dist/pets/react/components/home-view.js +1 -1
  149. package/dist/pets/react/components/insufficient-points-dialog.js +1 -1
  150. package/dist/pets/react/components/intro-overlay.js +1 -1
  151. package/dist/pets/react/components/loading-view.js +1 -1
  152. package/dist/pets/react/components/onboarding-guide.js +1 -1
  153. package/dist/pets/react/components/pet-bubble-background.js +1 -1
  154. package/dist/pets/react/components/pet-lounge.css +1 -0
  155. package/dist/pets/react/components/pet-lounge.js +1 -1
  156. package/dist/pets/react/components/pet-mode-button.js +1 -1
  157. package/dist/pets/react/components/pet-window.js +1 -1
  158. package/dist/pets/react/components/pull-overlay.d.ts +1 -1
  159. package/dist/pets/react/components/pull-overlay.js +1 -1
  160. package/dist/pets/react/components/pull-video.js +1 -1
  161. package/dist/pets/react/components/pull-view.d.ts +1 -1
  162. package/dist/pets/react/components/pull-view.js +1 -1
  163. package/dist/pets/react/components/quick-reply.js +1 -2
  164. package/dist/pets/react/components/session-icon.d.ts +2 -2
  165. package/dist/pets/react/components/session-icon.js +1 -1
  166. package/dist/pets/react/components/single-pet-toast.js +1 -1
  167. package/dist/pets/react/components/sprite-renderer.d.ts +1 -1
  168. package/dist/pets/react/components/sprite-renderer.js +1 -1
  169. package/dist/pets/react/components/vibemon-empty-state.js +1 -1
  170. package/dist/pets/react/components/vibemon-header.js +1 -1
  171. package/dist/pets/react/components/vibemon-page.js +1 -1
  172. package/dist/pets/react/components/vibemon-scene.js +1 -1
  173. package/dist/pets/react/components/video-fader.js +1 -1
  174. package/dist/pets/react/components/wish-button.js +1 -1
  175. package/dist/pets/react/index.d.ts +5 -5
  176. package/dist/pets/react/index.js +1 -1
  177. package/dist/pets/react/lib/account-state.d.ts +1 -1
  178. package/dist/pets/react/lib/account-state.js +1 -1
  179. package/dist/pets/react/lib/card-image.js +1 -1
  180. package/dist/pets/react/lib/resource-sync.d.ts +2 -2
  181. package/dist/pets/react/lib/resource-sync.js +1 -1
  182. package/dist/pets/react/lib/season.js +1 -1
  183. package/dist/pets/react/lib/use-season.d.ts +1 -1
  184. package/dist/pets/react/lib/use-season.js +1 -1
  185. package/dist/pets/react/lib/utils.js +1 -1
  186. package/dist/pets/react/ui/button.d.ts +2 -2
  187. package/dist/pets/react/ui/button.js +1 -1
  188. package/dist/pets/react/ui/card.js +1 -1
  189. package/dist/pets/react/ui/input-group.d.ts +3 -3
  190. package/dist/pets/react/ui/input-group.js +1 -1
  191. package/dist/pets/react/ui/textarea.js +1 -1
  192. package/dist/pets/resource-package.d.ts +2 -2
  193. package/dist/pets/resource-package.js +1 -1
  194. package/dist/pets/resources.d.ts +5 -5
  195. package/dist/pets/resources.js +1 -1
  196. package/dist/pets/selection.d.ts +1 -1
  197. package/dist/pets/selection.js +1 -1
  198. package/dist/pets/sheet-layout.js +1 -1
  199. package/dist/pets/types.js +1 -0
  200. package/dist/state.d.ts +2 -2
  201. package/dist/state.js +1 -1
  202. package/dist/token-storage.d.ts +1 -1
  203. package/dist/token-storage.js +1 -1
  204. package/dist/types.js +1 -0
  205. package/package.json +12 -12
@@ -1 +1 @@
1
- import{imageInfo as f}from"../../resource-package.js";import{vibemonHost as c}from"../host.js";import{createSpriteConfig as m,spriteConfig as p}from"./sprite-config.js";async function U(e){return await c().assets.resources.inspect(e)!==null}async function g(e){let r=c().assets,t=await r.resources.cached(e)??await r.ensureResource(e);if(t.sheet===null){let o=await r.resources.preview(t),n=o?URL.createObjectURL(new Blob([new Uint8Array(o).buffer],{type:f(o).mime})):"";return{config:m(t.name??e,"",{frameWidth:256,frameHeight:256,states:[{id:"static",row:0,frames:1}]}),spriteUrl:n,staticImage:!0,dispose:()=>{if(n)URL.revokeObjectURL(n)}}}let s=t.sheet,a=s[0]===137&&s[1]===80,i=URL.createObjectURL(new Blob([new Uint8Array(s).buffer],{type:a?"image/png":"image/webp"}));return{config:p(e,t),spriteUrl:i,dispose:()=>URL.revokeObjectURL(i)}}export{g as loadVibemonResource,U as verifyVibemonResource};
1
+ import{Lt,v}from"../../../chunk-44at74bw.js";import"../../../chunk-htw56xtp.js";import"../../../chunk-v9czb1e6.js";import"../../../chunk-mmj02855.js";import"../../../chunk-4gegjx79.js";export{v as loadVibemonResource,Lt as verifyVibemonResource};
@@ -1 +1 @@
1
- var n=null,t=new Set;function i(e){n=e;for(let o of t)o(e)}function r(){let e=n;return n=null,e}function u(e){return t.add(e),()=>{t.delete(e)}}export{r as consumePendingVibemonView,u as onVibemonViewRequest,i as requestVibemonView};
1
+ import{jt,ft,gt}from"../../../chunk-70nb6x0r.js";export{ft as consumePendingVibemonView,gt as onVibemonViewRequest,jt as requestVibemonView};
@@ -1,4 +1,4 @@
1
- import { type Monitor } from "../host.js";
1
+ import { type Monitor } from "../host";
2
2
  export declare const availableMonitors: () => Promise<Monitor[]>;
3
3
  export declare const getCurrentWindow: () => {
4
4
  outerPosition: () => Promise<{
@@ -1 +1 @@
1
- import{vibemonHost as o}from"../host.js";var e=()=>o().windows.call("monitors"),s=()=>({outerPosition:()=>o().windows.call("position"),outerSize:()=>o().windows.call("size"),scaleFactor:()=>o().windows.call("scale")}),l=(i,n)=>o().windows.call("move",{x:i,y:n});export{e as availableMonitors,s as getCurrentWindow,l as moveVibemonWindow};
1
+ import{fe,b,K}from"../../../chunk-hk9j0kvg.js";import"../../../chunk-htw56xtp.js";export{fe as availableMonitors,b as getCurrentWindow,K as moveVibemonWindow};
@@ -1,3 +1,3 @@
1
1
  export declare const openVibemonWindow: (options?: {
2
2
  trusted?: boolean;
3
- }) => Promise<"unavailable" | "shown">;
3
+ }) => Promise<"shown" | "unavailable">;
@@ -1 +1 @@
1
- import{vibemonHost as n}from"../host.js";var i=(o={})=>n().windows.openPet(o);export{i as openVibemonWindow};
1
+ import{ht}from"../../../chunk-j03we9jz.js";import"../../../chunk-htw56xtp.js";export{ht as openVibemonWindow};
@@ -1,5 +1 @@
1
- var t={"app-window":`
2
- <svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" viewBox="0 0 256 256"><path d="M224,56V200a8,8,0,0,1-8,8H40a8,8,0,0,1-8-8V56a8,8,0,0,1,8-8H216A8,8,0,0,1,224,56Z" opacity="0.2"/><path d="M216,40H40A16,16,0,0,0,24,56V200a16,16,0,0,0,16,16H216a16,16,0,0,0,16-16V56A16,16,0,0,0,216,40Zm0,160H40V56H216V200ZM80,84A12,12,0,1,1,68,72,12,12,0,0,1,80,84Zm40,0a12,12,0,1,1-12-12A12,12,0,0,1,120,84Z"/></svg>
3
- `,"number-square-one":`
4
- <svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" viewBox="0 0 256 256"><path d="M216,48V208a8,8,0,0,1-8,8H48a8,8,0,0,1-8-8V48a8,8,0,0,1,8-8H208A8,8,0,0,1,216,48Z" opacity="0.2"/><path d="M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32Zm0,176H48V48H208V208ZM140,80v96a8,8,0,0,1-16,0V95l-11.56,7.71a8,8,0,1,1-8.88-13.32l24-16A8,8,0,0,1,140,80Z"/></svg>
5
- `};function o(a,n){return n?n[a]:t[a==="main"?"number-square-one":"app-window"]}export{o as sessionIconSvg};
1
+ import{S}from"../../chunk-1hxexf7n.js";export{S as sessionIconSvg};
@@ -1 +1 @@
1
- var E=200,_=320;export{_ as DEFAULT_VIBEMON_BUBBLE_HEIGHT,E as DEFAULT_VIBEMON_WINDOW_SIZE};
1
+ import{ce,_n}from"../../chunk-nbzm95mz.js";export{_n as DEFAULT_VIBEMON_BUBBLE_HEIGHT,ce as DEFAULT_VIBEMON_WINDOW_SIZE};
package/dist/pets/host.js CHANGED
@@ -1 +1 @@
1
- function t(n){return`${n.apiHost}/${n.userId}`}function c(n,r){let o=n.account();if(o===null||t(o)!==t(r)||o.revision!==r.revision)throw Error("Vibemon account changed")}export{t as accountKey,c as assertAccount};
1
+ import{r,n}from"../chunk-rerywpwe.js";export{r as accountKey,n as assertAccount};
@@ -1,6 +1,6 @@
1
- export * from "./types.js";
2
- export * from "./host.js";
3
- export * from "./client.js";
4
- export * from "./selection.js";
5
- export * from "./resources.js";
6
- export * from "./assets.js";
1
+ export * from "./types";
2
+ export * from "./host";
3
+ export * from "./client";
4
+ export * from "./selection";
5
+ export * from "./resources";
6
+ export * from "./assets";
@@ -1 +1 @@
1
- export*from"./types.js";export*from"./host.js";export*from"./client.js";export*from"./selection.js";export*from"./resources.js";export*from"./assets.js";
1
+ import"../chunk-khnyadsg.js";import"../chunk-pbwt3qj9.js";import{gn}from"../chunk-xs0abxzp.js";import{ye}from"../chunk-afy09ajr.js";import{re,xe}from"../chunk-21abksd2.js";import"../chunk-mmj02855.js";import{Ae}from"../chunk-9tramdds.js";import{r,n}from"../chunk-rerywpwe.js";import{m}from"../chunk-4gegjx79.js";export{r as accountKey,n as assertAccount,gn as createPetAssets,ye as createPetClient,xe as createPetResources,Ae as createPetSelection,re as matchesResource,m as parseSheetLayout};
@@ -1 +1 @@
1
- import o from"../../../assets/pets/card-draw/album-icon.png?url";import r from"../../../assets/pets/card-draw/dialog-close.png?url";import t from"../../../assets/pets/card-draw/empty-pet.png?url";import e from"../../../assets/pets/card-draw/gem-plus.svg?url";import m from"../../../assets/pets/card-draw/gem.svg?url";import p from"../../../assets/pets/card-draw/new-tag.svg?url";import i from"../../../assets/pets/card-draw/not-enough-dialog.png?url";import l from"../../../assets/pets/card-draw/placeholder-card.png?url";import n from"../../../assets/pets/card-draw/proceed-active.png?url";import u from"../../../assets/pets/card-draw/proceed-default.png?url";import c from"../../../assets/pets/card-draw/proceed-hover.png?url";import s from"../../../assets/pets/card-draw/pull-album-icon-transparent.png?url";import a from"../../../assets/pets/card-draw/pull-back-transparent.png?url";import f from"../../../assets/pets/card-draw/pull-gem.svg?url";import d from"../../../assets/pets/card-draw/pull-page-background.png?url";import g from"../../../assets/pets/card-draw/pull-texture.png?url";import x from"../../../assets/pets/card-draw/pull-vibemon-icon-transparent.png?url";import U from"../../../assets/pets/card-draw/result-aura.webp?url";import h from"../../../assets/pets/card-draw/wish-default.png?url";import b from"../../../assets/pets/card-draw/wish.webp?url";import B from"../../../assets/pets/vibemon/album/arrow.svg?url";import k from"../../../assets/pets/vibemon/album/book.webp?url";import P from"../../../assets/pets/vibemon/album/page-bg.webp?url";import w from"../../../assets/pets/vibemon/equip/page-bg.webp?url";import H from"../../../assets/pets/vibemon/equip/single-pet-toast.png?url";import A from"../../../assets/pets/vibemon/guide/arrow.svg?url";import v from"../../../assets/pets/vibemon/guide/bubble-texture-home.png?url";import T from"../../../assets/pets/vibemon/guide/bubble-texture-pull.png?url";import I from"../../../assets/pets/vibemon/guide/hand-shape.svg?url";import V from"../../../assets/pets/vibemon/guide/hand-sheen.png?url";import D from"../../../assets/pets/vibemon/guide/hand.svg?url";import S from"../../../assets/pets/vibemon/guide/mascot.png?url";import W from"../../../assets/pets/vibemon/guide/ring.svg?url";import C from"../../../assets/pets/vibemon/home/album-icon-hover.png?url";import M from"../../../assets/pets/vibemon/home/album-icon.png?url";import q from"../../../assets/pets/vibemon/home/album-text.png?url";import y from"../../../assets/pets/vibemon/home/home-bg.webp?url";import G from"../../../assets/pets/vibemon/home/intro.mp4?url&no-inline";import L from"../../../assets/pets/vibemon/home/pull.mp4?url&no-inline";import R from"../../../assets/pets/vibemon/home/pull.webm?url&no-inline";import j from"../../../assets/pets/vibemon/home/vibemon-icon-hover.png?url";import z from"../../../assets/pets/vibemon/home/vibemon-icon.png?url";import E from"../../../assets/pets/vibemon/home/vibemon-text.png?url";import F from"../../../assets/pets/vibemon/home/wish-icon-hover.png?url";import J from"../../../assets/pets/vibemon/home/wish-icon.png?url";import K from"../../../assets/pets/vibemon/home/wish-text.png?url";import N from"../../../assets/pets/vibemon/loading/background.webp?url";import O from"../../../assets/pets/vibemon/loading/logo.webp?url";import Q from"../../../assets/pets/vibemon/multi-draw/bg-sr.png?url";import X from"../../../assets/pets/vibemon/multi-draw/bg-ssr.png?url";var Qo={vibemon:{icon:z,hover:j,text:E},wish:{icon:J,hover:F,text:K},album:{icon:M,hover:C,text:q}},Xo={default:u,hover:c,active:n},Yo=y,Zo=G,_o=L,$o=R,or=A,rr=v,tr=T,er=S,mr=D,pr=I,ir=V,lr=W,nr=B,ur=k,cr=P,sr=w,ar=H,fr=N,dr=O,gr=Q,xr=X,Ur=b,hr=h,br=p,Br=i,kr=r,Pr=t,wr=m,Hr=e,Ar=g,vr=f,Tr=d,Ir=a,Vr=x,Dr=s,Sr=o,Wr=l,Cr=U;export{nr as albumArrow,ur as albumBook,Sr as albumIcon,cr as albumPageBackground,kr as dialogClose,Pr as emptyPet,sr as equipPageBackground,wr as gem,Hr as gemPlus,or as guideArrow,mr as guideHand,pr as guideHandShape,ir as guideHandSheen,rr as guideHomeTexture,er as guideMascot,tr as guidePullTexture,lr as guideRing,Yo as homeBackground,Qo as homeHotspotAssets,Br as insufficientPointsDialog,Zo as introVideo,fr as loadingBackground,dr as loadingLogo,gr as multiDrawSrBackground,xr as multiDrawSsrBackground,br as newTag,Wr as placeholderCard,Xo as proceedButtonAssets,Dr as pullAlbumIcon,Ir as pullBack,vr as pullGem,Tr as pullPageBackground,Ar as pullTexture,Vr as pullVibemonIcon,_o as pullVideoMp4,$o as pullVideoWebm,Cr as resultAura,ar as singlePetToast,hr as wishDefault,Ur as wishHover};
1
+ import{s,Ze,M,Ye,Qe,Xe,q,D,L,x,z,_,O,H,Ke,Je,et,tt,nt,ot,rt,it,st,at,lt,P,ct,ut,dt,G,F,c,j,W,f,g,Z,mt,l,pt}from"../../chunk-2k8my1h9.js";export{Ke as albumArrow,Je as albumBook,mt as albumIcon,et as albumPageBackground,ut as dialogClose,dt as emptyPet,tt as equipPageBackground,G as gem,F as gemPlus,q as guideArrow,z as guideHand,_ as guideHandShape,O as guideHandSheen,D as guideHomeTexture,x as guideMascot,L as guidePullTexture,H as guideRing,M as homeBackground,s as homeHotspotAssets,ct as insufficientPointsDialog,Ye as introVideo,ot as loadingBackground,rt as loadingLogo,it as multiDrawSrBackground,st as multiDrawSsrBackground,P as newTag,l as placeholderCard,Ze as proceedButtonAssets,Z as pullAlbumIcon,f as pullBack,j as pullGem,W as pullPageBackground,c as pullTexture,g as pullVibemonIcon,Qe as pullVideoMp4,Xe as pullVideoWebm,pt as resultAura,nt as singlePetToast,lt as wishDefault,at as wishHover};
@@ -1,4 +1,4 @@
1
- import type { MyVibemonItem } from "../../core/lib/endpoints.js";
1
+ import type { MyVibemonItem } from "../../core/lib/endpoints";
2
2
  export declare function AlbumView({ onBack, onWish, onEquip, ownedCards, ownedLoaded, availablePoints, pointsLoaded }: {
3
3
  onBack: () => void;
4
4
  onWish: () => void;
@@ -1 +1 @@
1
- import{jsx as e,jsxs as i,Fragment as c}from"react/jsx-runtime";import{Loader2 as C}from"lucide-react";import{useMemo as x,useState as k}from"react";import{sortByRarityDesc as y}from"../../core/lib/rarity.js";import{albumArrow as N,albumBook as V,albumPageBackground as _}from"../assets.js";import{cardThumb as A}from"../lib/card-image.js";import{cn as f}from"../lib/utils.js";import{Button as P}from"../ui/button.js";import{VibemonEmptyState as B}from"./vibemon-empty-state.js";import{VibemonHeader as M}from"./vibemon-header.js";import{VibemonScene as j}from"./vibemon-scene.js";var l=8;function h({direction:r,disabled:t,onClick:a}){let o=r==="previous";return e(P,{"aria-label":o?"Previous album page":"Next album page",disabled:t,onClick:a,className:f("absolute top-[55.870%] z-20 size-[2.917cqw] bg-transparent p-0 shadow-none transition-none hover:bg-transparent disabled:opacity-100",o?"left-[20.521%]":"left-[76.563%]"),children:e("img",{src:N,alt:"",className:f("h-[63.9%] w-[46.2%] max-w-none select-none",o&&"-scale-x-100",t&&"opacity-50")})})}function E(){return i("div",{className:"relative h-full w-full",children:[e("svg",{viewBox:"0 0 200 288",preserveAspectRatio:"none","aria-hidden":!0,className:"absolute inset-0 h-full w-full opacity-25",children:e("rect",{x:"6.16",y:"7.76",width:"187.69",height:"272.47",rx:"14",fill:"none",stroke:"#8687CE",strokeWidth:"5",strokeDasharray:"25 25"})}),e("svg",{xmlns:"http://www.w3.org/2000/svg",width:"67",height:"80",viewBox:"0 0 67 80",fill:"none",className:"absolute top-[50%] left-[50%] h-[27.5%] w-[33.1%] max-w-none translate-x-[-50%] translate-y-[-50%] select-none",children:e("path",{d:"M46.2449 32.0803V22.6882C46.2449 15.4054 40.3462 9.50669 33.0634 9.50669C25.7807 9.50669 19.882 15.415 19.882 22.6977V32.0899H46.2449V32.0803ZM9.69759 32.1853L9.68804 31.8894V21.5714C9.68804 15.854 11.9597 10.3657 16.0067 6.3187C20.0538 2.27168 25.5325 0 31.2595 0H34.877C46.789 0 56.4388 9.65941 56.4388 21.5619V32.1853C61.9939 32.9584 66.1269 37.7118 66.1269 43.3242V67.9786C66.1269 74.1923 61.0967 79.2224 54.883 79.2224H11.2439C5.03015 79.2224 0 74.1923 0 67.9786V43.3337C0 37.7213 4.13293 32.968 9.69759 32.1853ZM30.4672 57.5747V64.9242C30.4672 66.3559 31.6317 67.5204 33.0634 67.5204C34.4952 67.5204 35.6596 66.3559 35.6596 64.9242V57.5747C38.8572 56.3243 40.7184 52.974 40.0789 49.6047C39.4394 46.2258 36.4996 43.7823 33.0634 43.7823C29.6273 43.7823 26.6779 46.2258 26.048 49.6047C25.4084 52.974 27.2697 56.3243 30.4672 57.5747Z",fill:"#8687CE",fillOpacity:"0.25"})})]})}function S({cards:r}){return i(c,{children:[e("img",{src:V,alt:"","aria-hidden":!0,className:"pointer-events-none absolute top-[14.158%] left-[14.583%] h-[79.313%] w-[74.067%] max-w-none select-none",style:{maskImage:"linear-gradient(to bottom, rgba(255,255,255,0.8) 0%, #fff 25.66%, #fff 93.71%, rgba(255,255,255,0.2) 100%)",WebkitMaskImage:"linear-gradient(to bottom, rgba(255,255,255,0.8) 0%, #fff 25.66%, #fff 93.71%, rgba(255,255,255,0.2) 100%)"}}),e("div",{"data-testid":"album-book",className:"absolute top-[32.917%] left-[25.729%] grid h-[50.574%] w-[48.542%] grid-cols-4 grid-rows-2 gap-x-[4.721%] gap-y-[4.943%]",children:r.map((t,a)=>e("div",{className:"relative",children:t?e("img",{src:A(t.gacha_url??t.cover_url),alt:`${t.name} ${t.rarity_name} card`,className:"h-full w-full object-contain drop-shadow-[0_8px_9px_rgba(15,8,64,0.24)] select-none"}):e(E,{})},t?`${t.vibemon_uuid}-${a}`:`locked-${a}`))})]})}function T({onBack:r,onWish:t,onEquip:a,ownedCards:o,ownedLoaded:g,availablePoints:b,pointsLoaded:w}){let[v,u]=k(0),m=x(()=>y(o).flatMap((p)=>Array.from({length:p.duplicate_count},()=>p)),[o]),s=Math.ceil(m.length/l),n=s===0?0:Math.min(v,s-1),d=[...m.slice(n*l,(n+1)*l)];while(d.length<l)d.push(null);return i(j,{backdrop:i(c,{children:[e("img",{src:_,alt:"","aria-hidden":!0,className:"pointer-events-none absolute inset-0 h-full w-full object-cover select-none"}),e("div",{"aria-hidden":!0,className:"pointer-events-none absolute inset-0 bg-[#422053]/20"})]}),children:[e(M,{onBack:r,onWish:t,sectionAction:{kind:"equip",onClick:a},availablePoints:b,pointsLoaded:w}),!g?e("div",{"data-testid":"vibemon-owned-loading",className:"absolute inset-0 flex items-center justify-center text-[#DCC9FF]",children:e(C,{className:"size-8 animate-spin"})}):m.length===0?e(B,{onWish:t}):i(c,{children:[e(S,{cards:d}),s>1&&i(c,{children:[e(h,{direction:"previous",disabled:n===0,onClick:()=>u(n-1)}),e(h,{direction:"next",disabled:n>=s-1,onClick:()=>u(n+1)})]})]})]})}export{T as AlbumView};
1
+ import{$e}from"../../../chunk-wbvah1ty.js";import"../../../chunk-2skzpxsk.js";import"../../../chunk-zhbj6cm5.js";import"../../../chunk-p1ywvmqa.js";import"../../../chunk-mandqn4e.js";import"../../../chunk-37ctfsy1.js";import"../../../chunk-0gf7vwzk.js";import"../../../chunk-xrw9s1th.js";import"../../../chunk-0x7ssxpn.js";import"../../../chunk-w5yer870.js";import"../../../chunk-5jz8vnk5.js";import"../../../chunk-2k8my1h9.js";import"../../../chunk-2x5tzfgv.js";import"../../../chunk-14dfwbk0.js";import"../../../chunk-htw56xtp.js";export{$e as AlbumView};
@@ -1 +1 @@
1
- import{jsx as e,jsxs as r}from"react/jsx-runtime";import{cn as i}from"../lib/utils.js";import{Button as l}from"../ui/button.js";function d({onClick:n,className:a,disabled:t=!1,label:o="Home",iconSrc:s}){return r(l,{variant:"ghost",className:i("h-auto gap-2 p-0 text-[#8A55C5]/80 hover:bg-transparent hover:text-[#8A55C5]/80",a),disabled:t,onClick:n,children:[s===void 0?e("svg",{viewBox:"0 0 28 28",fill:"none","aria-hidden":"true",className:"size-7 shrink-0",children:e("path",{d:"M12.5709 8.57642V3.93455C12.5867 3.8165 12.5756 3.69641 12.5382 3.5833C12.5009 3.4702 12.4384 3.36704 12.3555 3.28158C12.2055 3.1325 12.0026 3.04883 11.7911 3.04883C11.5796 3.04883 11.3767 3.1325 11.2267 3.28158L3.36348 11.9028C3.21724 12.0686 3.13655 12.2821 3.13655 12.5031C3.13655 12.7242 3.21724 12.9377 3.36348 13.1035L11.1838 21.6749C11.4769 21.9248 12.0112 22.0656 12.3557 21.7208C12.534 21.5431 12.6114 21.3927 12.5857 21.1608V16.4383C17.0974 16.4383 21.2356 19.2604 22.8549 23.2291C23.0887 23.8033 23.9213 23.7437 24.066 23.1416C24.2809 22.2415 24.3892 21.3193 24.3886 20.3938C24.3908 13.8674 19.1001 8.57642 12.5709 8.57642Z",fill:"currentColor"})}):e("img",{src:s,alt:"",className:"size-7 shrink-0"}),e("span",{className:"text-[20px] leading-none font-semibold select-none",children:o})]})}export{d as BackToHome};
1
+ import{C}from"../../../chunk-0gf7vwzk.js";import"../../../chunk-xrw9s1th.js";import"../../../chunk-5jz8vnk5.js";export{C as BackToHome};
@@ -1,4 +1,4 @@
1
- import type { MyVibemonItem } from "../../core/lib/endpoints.js";
1
+ import type { MyVibemonItem } from "../../core/lib/endpoints";
2
2
  export declare function EquipList({ items, currentId, downloaded, onSelectedClick, onEquip }: {
3
3
  items: MyVibemonItem[];
4
4
  currentId: string;
@@ -1 +1 @@
1
- import{jsx as e,jsxs as l,Fragment as V}from"react/jsx-runtime";import{Loader2 as w}from"lucide-react";import{useCallback as P,useEffect as T,useState as g}from"react";import{useTranslation as C}from"react-i18next";import{toast as y}from"sonner";import{sortByRarityDesc as R}from"../../core/lib/rarity.js";import{verifyVibemonResource as B}from"../../core/lib/vibemon-resources.js";import{openVibemonWindow as D}from"../../core/lib/window-manager.js";import{equipPageBackground as I,placeholderCard as _,pullTexture as z}from"../assets.js";import{getVibemonState as L,updateVibemonState as m,useVibemonState as O}from"../lib/account-state.js";import{cardThumb as U}from"../lib/card-image.js";import{useVibemonSyncStore as W}from"../lib/resource-sync.js";import{Button as A}from"../ui/button.js";import{SinglePetToast as G}from"./single-pet-toast.js";import{VibemonEmptyState as H}from"./vibemon-empty-state.js";import{VibemonHeader as Y}from"./vibemon-header.js";import{VibemonScene as J}from"./vibemon-scene.js";async function K(t,i){let{pet:s}=await L();if(!s){if(t.length!==1)return;let n=t.find((a)=>i[a.vibemon_uuid]);if(n)await m({pet:n.vibemon_uuid});return}if(i[s])return;let r=t.find((n)=>i[n.vibemon_uuid]);if(r)await m({pet:r.vibemon_uuid})}function M(t){if(t.icon_url===null)return _;return t.icon_url}function Q(t){if(t.background_url===null)return _;return t.background_url}function X({item:t,isCurrent:i,isDownloaded:s,onSelectedClick:r,onEquip:n}){return l("div",{"data-testid":"equip-list-item",className:"relative h-[10.673cqw] w-full shrink-0",children:[l("div",{className:"absolute top-[10.302%] left-[4.878%] h-[78.079%] w-[94.309%]",children:[e("img",{src:Q(t),alt:"","aria-hidden":!0,className:"absolute inset-0 h-full w-full max-w-none rounded-[1.667cqw] object-cover select-none"}),l("div",{className:"absolute top-[29.638%] left-[9.914%] w-[65.259%]",children:[e("div",{className:"truncate text-[1.875cqw] leading-[1.278] text-white",style:{fontFamily:"Outfit, system-ui, sans-serif",fontWeight:900},children:t.name}),e("div",{className:"mt-[0.104cqw] truncate text-[1.042cqw] leading-[1.25] font-medium text-white",style:{fontFamily:"Outfit, system-ui, sans-serif"},children:t.description??t.rarity_name})]}),l(A,{"aria-label":i?"selected":"select",disabled:!s,onClick:i?r:n,style:{backgroundColor:"#5536CC"},className:"absolute top-[31.756%] left-[70.690%] h-[41.25%] w-[17.241%] overflow-hidden rounded-full border-0 p-0 shadow-none drop-shadow-[0_0.25cqh_0_rgba(0,0,0,0.5)] transition-none hover:brightness-105 active:translate-y-0 disabled:opacity-100",children:[e("img",{src:z,alt:"",className:"pointer-events-none absolute inset-0 size-full max-w-none rounded-[inherit] object-bottom opacity-5 mix-blend-difference select-none"}),i&&e("span",{"aria-hidden":!0,className:"pointer-events-none absolute inset-0 bg-[#5D508B]"}),e("span",{"aria-hidden":!0,className:"absolute inset-0 shadow-[inset_0_0.2cqh_0.07cqh_0_white]"}),e("span",{className:"relative text-[1.458cqw] leading-normal font-normal text-white",style:{fontFamily:'"Grow Year", system-ui, sans-serif'},children:i?"selected":"select"})]})]}),e("div",{className:"absolute top-0 left-0 size-[7.917cqw] overflow-hidden rounded-full",children:e("img",{src:U(M(t)),alt:`${t.name} portrait`,className:"h-full w-full object-cover select-none"})})]})}function Z({items:t,currentId:i,downloaded:s,onSelectedClick:r,onEquip:n}){return e("div",{className:"flex flex-col gap-[0.833cqw]",children:R(t).map((a)=>e(X,{item:a,isCurrent:a.vibemon_uuid===i,isDownloaded:s[a.vibemon_uuid],onSelectedClick:r,onEquip:()=>n(a.vibemon_uuid)},a.vibemon_uuid))})}function ve({onBack:t,onWish:i,onAlbum:s,albumHasUnseen:r,ownedCards:n,ownedLoaded:a,availablePoints:x,pointsLoaded:q}){let{i18n:N}=C("common"),u=N.getFixedT("en","common"),{pet:k}=O(),d=W((o)=>o.status==="checking"||o.status==="updating"),[f,S]=g({}),[F,b]=g(0),p=P(()=>b(0),[]);T(()=>{let o=!1;return(async()=>{let c=await Promise.all(n.map(async(v)=>[v.vibemon_uuid,await B(v.vibemon_uuid)]));if(o)return;let h=Object.fromEntries(c);if(S(h),!d)await K(n,h)})(),()=>{o=!0}},[n,d]);let j=async(o)=>{p();try{if(await m({pet:o}),await D({trusted:!0})==="unavailable")y.error(u("vibemon.actionFailed"))}catch(c){console.warn("[vibemon] equip failed",c),y.error(u("vibemon.actionFailed"))}},E=n.some((o)=>f[o.vibemon_uuid]);return l(J,{backdrop:l(V,{children:[e("img",{src:I,alt:"","aria-hidden":!0,className:"pointer-events-none absolute inset-0 h-full w-full object-cover opacity-10 select-none"}),e("div",{"aria-hidden":!0,className:"pointer-events-none absolute inset-0",style:{background:"linear-gradient(180deg, rgba(0,0,0,0.3) 0%, rgba(102,102,102,0) 100%)"}})]}),children:[e(Y,{onBack:t,onWish:i,sectionAction:{kind:"album",onClick:s,hasUnseen:r},availablePoints:x,pointsLoaded:q}),!a?e("div",{"data-testid":"vibemon-owned-loading",className:"absolute inset-0 flex items-center justify-center text-[#DCC9FF]",children:e(w,{className:"size-8 animate-spin"})}):n.length===0?e(H,{onWish:i}):d&&!E?l("div",{className:"absolute inset-0 flex flex-col items-center justify-center gap-3 text-[#DCC9FF]",children:[e(w,{className:"size-8 animate-spin"}),e("div",{className:"text-sm",children:u("vibemon.syncPreparing")})]}):e("div",{className:"absolute top-[17.167%] left-[17.969%] h-[77.833%] w-[64.063%] [scrollbar-width:none] overflow-y-auto overscroll-y-contain [&::-webkit-scrollbar]:hidden",children:e(Z,{items:n,currentId:k,downloaded:f,onSelectedClick:()=>b((o)=>o+1),onEquip:(o)=>void j(o)})}),e(G,{requestId:F,onClose:p})]})}export{Z as EquipList,ve as EquipView};
1
+ import{Qt,Be}from"../../../chunk-my19acdk.js";import"../../../chunk-fkj53yw2.js";import"../../../chunk-mnrtrr2j.js";import"../../../chunk-vr4ye1z4.js";import"../../../chunk-2skzpxsk.js";import"../../../chunk-zhbj6cm5.js";import"../../../chunk-p1ywvmqa.js";import"../../../chunk-mandqn4e.js";import"../../../chunk-37ctfsy1.js";import"../../../chunk-0gf7vwzk.js";import"../../../chunk-xrw9s1th.js";import"../../../chunk-0x7ssxpn.js";import"../../../chunk-w5yer870.js";import"../../../chunk-5jz8vnk5.js";import"../../../chunk-2k8my1h9.js";import"../../../chunk-j03we9jz.js";import"../../../chunk-yjdj2mf9.js";import"../../../chunk-2x5tzfgv.js";import"../../../chunk-4h2756zy.js";import"../../../chunk-w1z1g5c5.js";import"../../../chunk-14dfwbk0.js";import"../../../chunk-khnyadsg.js";import"../../../chunk-pbwt3qj9.js";import"../../../chunk-44at74bw.js";import"../../../chunk-htw56xtp.js";import"../../../chunk-v9czb1e6.js";import"../../../chunk-xs0abxzp.js";import"../../../chunk-afy09ajr.js";import"../../../chunk-21abksd2.js";import"../../../chunk-mmj02855.js";import"../../../chunk-9tramdds.js";import"../../../chunk-rerywpwe.js";import"../../../chunk-4gegjx79.js";export{Qt as EquipList,Be as EquipView};
@@ -1 +1 @@
1
- import{jsx as a,jsxs as m}from"react/jsx-runtime";import{Loader2 as n}from"lucide-react";import{gem as o,gemPlus as i}from"../assets.js";import{cn as d}from"../lib/utils.js";import{Button as c}from"../ui/button.js";import{Card as p}from"../ui/card.js";function N({amount:e,onAdd:s,loaded:t=!0,disabled:r=!1,className:l}){return m(p,{className:d("flex h-11 w-fit min-w-[137px] flex-row items-center gap-0 rounded-full border-0 bg-[#F4EFFF] px-1.5 py-0 ring-0",l),children:[a("img",{"data-slot":"gem-balance-icon",src:o,alt:"",className:"me-0.5 size-8 shrink-0"}),a("span",{"data-slot":"gem-balance-amount",className:"flex-1 text-start text-xl leading-none font-bold text-[#2A3472] tabular-nums",children:t?e:a(n,{className:"size-4 animate-spin text-[#2A3472]/50"})}),a(c,{"data-slot":"gem-balance-add",variant:"ghost",className:"ms-[14px] size-8 shrink-0 rounded-full p-0 hover:bg-transparent","aria-label":"Add gems",disabled:r,onClick:s,children:a("img",{"data-slot":"gem-balance-add-icon",src:i,alt:"",className:"size-8"})})]})}export{N as GemBalance};
1
+ import{U}from"../../../chunk-mandqn4e.js";import"../../../chunk-37ctfsy1.js";import"../../../chunk-xrw9s1th.js";import"../../../chunk-5jz8vnk5.js";import"../../../chunk-2k8my1h9.js";export{U as GemBalance};
@@ -1 +1 @@
1
- import{jsx as l,jsxs as c}from"react/jsx-runtime";import{useLayoutEffect as b,useRef as p,useState as f}from"react";import{homeBackground as g,homeHotspotAssets as m}from"../assets.js";import{Button as x}from"../ui/button.js";import{HomeWishGuide as w,OnboardingScrim as v}from"./onboarding-guide.js";var d=1.778723404255319,y="#120E18",r={x1:0.3,x2:0.8,y1:0.56,y2:1},N=r.x2-r.x1,S=r.y2-r.y1,E=(r.x1+r.x2)/2,k=0.8;function M(t,n){let a=Math.max(t,n*d),s=Math.min(t/N,n/S*d),e=Math.max(Math.min(a,s),k*a),o=e/d,i=e<=t?(t-e)/2:Math.min(0,Math.max(t-e,t/2-E*e)),h=o<=n?(n-o)/2:n-o;return{width:e,height:o,left:i,top:h}}function C(t){let[n,a]=f({width:0,height:0,left:0,top:0});return b(()=>{let s=t.current;if(!s)return;let e=new ResizeObserver(([o])=>{let{width:i,height:h}=o.contentRect;a(M(i,h))});return e.observe(s),()=>e.disconnect()},[t]),n}var _={vibemon:{box:{left:"15.75%",top:"68.40%",width:"16.60%"},label:{left:"30.80%",top:"88.00%",width:"9.2%"}},wish:{box:{left:"50.40%",top:"58.40%",width:"14.50%"},label:{left:"54.00%",top:"84.50%",width:"6.8%"}},album:{box:{left:"75.80%",top:"64.65%",width:"20.20%"},label:{left:"74.60%",top:"73.20%",width:"7.2%"}}};function u({assetKey:t,onClick:n,highlighted:a,disabled:s}){let[e,o]=f(!1),i=_[t];return c("div",{className:`pointer-events-none absolute inset-0 ${a?"z-30":""}`,children:[c(x,{variant:"ghost",className:"pointer-events-auto absolute h-auto p-0 hover:bg-transparent dark:hover:bg-transparent",style:i.box,"aria-label":t==="vibemon"?"Vibémon":t==="wish"?"Wish":"Album",disabled:s,onClick:n,onMouseEnter:()=>o(!0),onMouseLeave:()=>o(!1),children:[l("img",{src:m[t].icon,alt:"",className:"block w-full select-none",style:{opacity:e?0:1}}),l("img",{src:m[t].hover,alt:"","aria-hidden":!0,className:"absolute inset-0 h-full w-full select-none",style:{opacity:e?1:0}})]}),l("img",{src:m[t].text,alt:"","aria-hidden":!0,className:"pointer-events-none absolute transition-opacity duration-200 select-none",style:{...i.label}})]})}function L({onDraw:t,onBackpack:n,onEquip:a,guideActive:s}){let e=p(null),o=C(e);return c("div",{ref:e,className:"relative h-full w-full overflow-hidden",children:[l("div",{className:"absolute inset-0",style:{background:y}}),c("div",{"data-testid":"vibemon-home-stage",className:"[container-type:size] absolute",style:{width:o.width,height:o.height,left:o.left,top:o.top},children:[l("img",{src:g,alt:"",className:"block h-full w-full select-none"}),c("div",{className:"pointer-events-none absolute inset-0",children:[l(u,{assetKey:"vibemon",onClick:a,highlighted:!1,disabled:s}),l(u,{assetKey:"wish",onClick:t,highlighted:s,disabled:!1}),l(u,{assetKey:"album",onClick:n,highlighted:!1,disabled:s})]}),s&&l(v,{}),s&&l(w,{})]})]})}export{L as HomeView};
1
+ import{Re}from"../../../chunk-2aq8zkwb.js";import"../../../chunk-m18rjmg2.js";import"../../../chunk-xrw9s1th.js";import"../../../chunk-5jz8vnk5.js";import"../../../chunk-2k8my1h9.js";export{Re as HomeView};
@@ -1 +1 @@
1
- import{jsx as t,jsxs as a}from"react/jsx-runtime";import{useState as i}from"react";import{dialogClose as r,insufficientPointsDialog as l,proceedButtonAssets as c}from"../assets.js";import{Button as n}from"../ui/button.js";function d({onClose:s,onProceed:o}){return t("div",{className:"absolute inset-0 z-50 flex cursor-default items-center justify-center bg-black/80 p-0",onClick:(e)=>{if(e.target===e.currentTarget)s()},onKeyDown:(e)=>{if(e.key==="Escape")s()},children:a("div",{className:"relative",children:[t("img",{src:l,alt:"",className:"pointer-events-none max-w-none select-none",style:{width:326.24,height:201.03}}),t(n,{variant:"ghost",className:"absolute h-auto p-0 hover:bg-transparent",style:{top:-7.07,right:-11.3},onClick:s,children:t("img",{src:r,alt:"",className:"max-w-none select-none",style:{width:26,height:26}})}),t(u,{onClick:o})]})})}function u({onClick:s}){let[o,e]=i("default");return t(n,{variant:"ghost",className:"absolute h-auto -translate-x-1/2 p-0 hover:bg-transparent",style:{bottom:30,left:"50%"},title:"",onClick:s,onMouseEnter:()=>e("hover"),onMouseLeave:()=>e("default"),onMouseDown:()=>e("active"),onMouseUp:()=>e("hover"),children:t("img",{src:c[o],alt:"",className:"max-w-none select-none",style:{width:144,height:36}})})}export{d as InsufficientPointsDialog};
1
+ import{Fe}from"../../../chunk-z5nmdjb9.js";import"../../../chunk-5jz8vnk5.js";import"../../../chunk-2k8my1h9.js";export{Fe as InsufficientPointsDialog};
@@ -1 +1 @@
1
- import{jsx as o}from"react/jsx-runtime";import{introVideo as t}from"../assets.js";import{VideoFader as i}from"./video-fader.js";var n=t;function d({onVideoStart:e,onDone:r}){return o("div",{className:"absolute inset-0 z-50 overflow-hidden",children:o(i,{src:n,onFirstFrame:e,onComplete:r,onError:r})})}export{n as INTRO_VIDEO_URL,d as IntroOverlay};
1
+ import{ae,ke}from"../../../chunk-hj17ea3j.js";import"../../../chunk-q8ebj5e6.js";import"../../../chunk-2k8my1h9.js";export{ae as INTRO_VIDEO_URL,ke as IntroOverlay};
@@ -1 +1 @@
1
- import{jsx as e,jsxs as a}from"react/jsx-runtime";import{useEffect as w,useRef as f,useState as h}from"react";import{advanceLoadingProgress as x}from"../../core/lib/loading-progress.js";import{loadingBackground as b,loadingLogo as v}from"../assets.js";import{VibemonScene as _}from"./vibemon-scene.js";var q=98.902;function j({progress:s,onFinished:i}){let[o,g]=h(0),l=f(s);l.current=s;let c=f(i);c.current=i,w(()=>{let r=0,m=performance.now(),t=0,d=(u)=>{let p=Math.min((u-m)/1000,0.1);if(m=u,t=x(t,l.current,p),g(t),t>=1){c.current();return}r=requestAnimationFrame(d)};return r=requestAnimationFrame(d),()=>cancelAnimationFrame(r)},[]);let n=Math.round(o*100);return a(_,{backdrop:e("img",{src:b,alt:"","aria-hidden":!0,className:"pointer-events-none absolute inset-0 h-full w-full object-cover select-none"}),children:[e("img",{src:v,alt:"Vibémon",className:"pointer-events-none absolute top-[17.140%] left-[22.049%] h-[56.559%] w-[55.903%] max-w-none select-none"}),a("div",{"data-testid":"vibemon-loading-progress",role:"progressbar","aria-label":`Loading ${n}%`,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":n,className:"absolute top-[83.050%] left-1/2 flex w-[52.083%] -translate-x-1/2 flex-col gap-[0.625cqw]",children:[e("p",{className:"text-right text-[1.458cqw] leading-normal tracking-[0.08em] text-white",style:{fontFamily:'"Grow Year", system-ui, sans-serif'},children:"LOADING..."}),a("div",{className:"flex flex-col items-center gap-[0.625cqw]",children:[e("div",{className:"relative h-[2.292cqw] w-full rounded-full bg-[#3B138F] shadow-[inset_0_0.052cqw_0.365cqw_0_rgba(0,0,0,0.25)]",children:e("div",{"data-testid":"vibemon-loading-progress-fill",className:"absolute top-[9.091%] left-[0.549%] h-[81.818%] min-w-[3.6%] rounded-full bg-[linear-gradient(180deg,#FFE16C_0%,#FFB638_100%)] shadow-[inset_0_0.208cqw_0.156cqw_0_rgba(255,255,255,0.87)]",style:{width:`${o*q}%`}})}),a("p",{className:"text-center text-[1.458cqw] leading-normal text-white",style:{fontFamily:'"Grow Year", system-ui, sans-serif'},children:[n,"%"]})]})]})]})}export{j as VibemonLoadingView};
1
+ import{Ge}from"../../../chunk-8xd6kn1b.js";import"../../../chunk-w5yer870.js";import"../../../chunk-2k8my1h9.js";import"../../../chunk-b5zfgr86.js";export{Ge as VibemonLoadingView};
@@ -1 +1 @@
1
- import{jsx as e,jsxs as o}from"react/jsx-runtime";import{motion as g,useReducedMotion as b}from"motion/react";import{guideArrow as p,guideHand as w,guideHandShape as c,guideHandSheen as N,guideHomeTexture as y,guideMascot as x,guidePullTexture as v,guideRing as _}from"../assets.js";import{cn as L}from"../lib/utils.js";var k=2128.456,I=1920,d=(t)=>`${t/k*100}cqw`,a=(t)=>`${t/I*100}cqw`;function R(){return e("div",{"data-testid":"vibemon-onboarding-scrim","aria-hidden":!0,className:"absolute inset-0 z-20 bg-black/50",style:{boxShadow:"0 0 0 100vmax rgba(0,0,0,0.5)"}})}var S=8,B=32,u=160,H={width:687,height:94,textLeft:184.457,mascotLeft:20.273,mascotTop:-70.384,texture:y,length:d},z={width:712,height:94,textLeft:185.29,mascotLeft:20.96,mascotTop:-70.46,texture:v,length:a};function f({design:t,className:i,children:n}){let s=t.length;return o("div",{className:L("absolute -translate-x-1/2 -translate-y-1/2",i),style:{width:s(t.width),height:s(t.height)},children:[e("div",{className:"absolute inset-0 rounded-full border-white bg-[#8546DD] bg-[length:100%_100%] [background-origin:border-box]",style:{borderWidth:s(S),backgroundImage:`url("${t.texture}")`}}),e("p",{className:"absolute top-1/2 -translate-y-1/2 leading-normal whitespace-nowrap text-white",style:{left:s(t.textLeft),fontFamily:'"Lilita One", system-ui, sans-serif',fontSize:s(B)},children:n}),e("img",{src:x,alt:"",className:"absolute max-w-none select-none",style:{left:s(t.mascotLeft),top:s(t.mascotTop),width:s(u),height:s(u)}})]})}var m=42;function E(){let t=b(),i="absolute top-[56.381%] left-[57.735%] -translate-x-1/2 -translate-y-1/2",n={width:d(m),height:d(m)},s=e("span",{className:"absolute inset-0 rotate-180",children:e("span",{className:"absolute inset-[6.35%_-0.84%_-3.12%_-0.84%]",children:e("img",{src:p,alt:"",className:"block h-full w-full max-w-none select-none"})})});if(t)return e("div",{"data-node-id":"1566:3898","data-testid":"vibemon-home-guide-arrow",className:"absolute top-[56.381%] left-[57.735%] -translate-x-1/2 -translate-y-1/2",style:n,children:s});return e(g.div,{"data-node-id":"1566:3898","data-testid":"vibemon-home-guide-arrow",className:"absolute top-[56.381%] left-[57.735%] -translate-x-1/2 -translate-y-1/2",style:n,initial:{y:0},animate:{y:["0%","21.1%"]},transition:{y:{duration:0.401,times:[0,1],ease:"easeInOut",repeat:1/0}},children:s})}function G(){return o("div",{"data-testid":"vibemon-home-wish-guide",className:"pointer-events-none absolute inset-0 z-40",children:[e(f,{design:H,className:"top-[18.400%] left-[54.614%]",children:"Your first card is waiting inside!"}),e(E,{})]})}var h=109.551,l={left:20.179,top:18.317,width:69.1953,height:70.918},r={left:25.672,top:2.065,size:43.219};function O(){let t=b(),i={left:a(r.left),top:a(r.top),width:a(r.size),height:a(r.size)},n=e("span",{className:"absolute inset-[-578.45%]",children:e("img",{src:_,alt:"",className:"block h-full w-full max-w-none select-none"})});return o("div",{className:"relative",style:{width:a(h),height:a(h)},children:[t?e("span",{"data-node-id":"1550:4234","data-testid":"vibemon-pool-guide-ring",className:"absolute",style:i,children:n}):e(g.span,{"data-node-id":"1550:4234","data-testid":"vibemon-pool-guide-ring",className:"absolute",style:i,initial:{scaleX:1.6,scaleY:1.6},animate:{scaleX:[1.6,1.014,1],scaleY:[1.6,1.014,1]},transition:{scaleX:{duration:0.61,times:[0,0.82,1],ease:"linear",repeat:1/0},scaleY:{duration:0.61,times:[0,0.82,1],ease:"linear",repeat:1/0}},children:n}),o("span",{"data-node-id":"1550:4236",className:"absolute",style:{left:a(l.left),top:a(l.top),width:a(l.width),height:a(l.height)},children:[e("img",{src:w,alt:"",className:"absolute inset-0 block h-full w-full max-w-none select-none"}),e("span",{className:"absolute inset-0",style:{backgroundImage:`url("${N}")`,backgroundSize:"100% 100%",WebkitMaskImage:`url("${c}")`,WebkitMaskSize:"100% 100%",maskImage:`url("${c}")`,maskSize:"100% 100%"}})]})]})}function U(){let t=(i)=>({width:a(i),height:a(i)});return o("div",{"data-testid":"vibemon-free-draw-guide",className:"pointer-events-none absolute inset-0 z-40",children:[e(f,{design:z,className:"top-[79.004%] left-[57.240%] z-2",children:"Draw a card, find your companion!"}),e("span",{className:"absolute top-[82.184%] left-[68.358%] z-1 -translate-x-1/2 -translate-y-1/2 rounded-full bg-white",style:t(34.461)}),e("span",{className:"absolute top-[85.459%] left-[67.288%] z-1 -translate-x-1/2 -translate-y-1/2 rounded-full bg-white",style:t(15.354)}),e("div",{className:"absolute top-[95.437%] left-[64.490%] -translate-x-1/2 -translate-y-1/2",children:e(O,{})})]})}export{U as FreeDrawGuide,G as HomeWishGuide,R as OnboardingScrim};
1
+ import{k,Te,Ne}from"../../../chunk-m18rjmg2.js";import"../../../chunk-xrw9s1th.js";import"../../../chunk-2k8my1h9.js";export{Ne as FreeDrawGuide,Te as HomeWishGuide,k as OnboardingScrim};
@@ -1 +1 @@
1
- import{jsx as P}from"react/jsx-runtime";import{useEffect as k,useEffectEvent as q,useState as R}from"react";import{vibemonHost as C}from"../../core/host.js";import{backdropSvgPath as L,bubbleOutline as j,scaleBackdropPath as A}from"../../core/lib/bubble-outline.js";var F=Promise.resolve();function d(a){let c=F,t;F=new Promise((r)=>{t=r}),(async()=>{await c;try{await a()}finally{t()}})()}function T({cardRef:a,opacity:c=0.65,radius:t=20,enabled:r=!0}){let e=C(),[x,O]=R([]),B=q(()=>{d(async()=>{await e.windows.call("bubble-blur",{enabled:!1,radius:1,path:null}).catch(e.onError)})});return k(()=>()=>B(),[]),k(()=>{let n=a.current;if(n===null)throw Error("Pet bubble background requires its card");let N={scaleFactor:()=>e.windows.call("scale")},u=!1,i=null,b=null,m=async()=>{if(u)return;let l=await N.scaleFactor();if(u)return;let o=n.getBoundingClientRect();if(o.width<=1||o.height<=1)return;let S=getComputedStyle(n),p=Number.parseFloat(S.borderTopLeftRadius);if(!Number.isFinite(p))throw Error("Pet bubble corner radius must resolve to pixels");let h=n.parentElement;if(h===null)throw Error("Pet bubble card requires its container");let v=Number.parseFloat(getComputedStyle(h).paddingBottom);if(!Number.isFinite(v))throw Error("Pet bubble tail spacing must resolve to pixels");let g=j(o.left+0.5,o.top+0.5,o.width-1,o.height-1,p-0.5,v);O(g);let y=r?A(g,window.devicePixelRatio/l):null,E=JSON.stringify([r,t,y]);if(E===b)return;await e.windows.call("bubble-blur",{enabled:r,radius:t,path:y}),b=E},s=()=>{if(u||i!==null)return;i=requestAnimationFrame(()=>{i=null,d(()=>m().catch(e.onError))})};d(()=>m().catch(e.onError));let w=new ResizeObserver(s);w.observe(n);let f=new MutationObserver(s);for(let l of[document.documentElement,document.body,n])f.observe(l,{attributes:!0,attributeFilter:["class","style"]});window.addEventListener("resize",s);let z=e.windows.geometry(s);return()=>{if(u=!0,i!==null)cancelAnimationFrame(i);w.disconnect(),f.disconnect(),window.removeEventListener("resize",s),z.then((l)=>l()).catch(e.onError)}},[a,r,t,e]),P("svg",{"aria-hidden":!0,"data-pet-bubble-background":!0,className:"pointer-events-none fixed inset-0 size-full overflow-visible",children:P("path",{d:L(x),fill:"var(--popover)",fillOpacity:c,stroke:"var(--border)",strokeOpacity:c,strokeWidth:1})})}export{T as PetBubbleBackground};
1
+ import{Oe}from"../../../chunk-npcgz51c.js";import"../../../chunk-38y9615y.js";import"../../../chunk-htw56xtp.js";export{Oe as PetBubbleBackground};
@@ -0,0 +1 @@
1
+ @keyframes alwith-vibemon-burst{0%{background-position-x:0}22.22%{background-position-x:-280px}33.33%{background-position-x:-560px}44.44%{background-position-x:-840px}55.56%{background-position-x:-1120px}66.67%{background-position-x:-1400px}77.78%{background-position-x:-1680px}88.89%{background-position-x:-1960px}to{background-position-x:-1960px}}.alwith-vibemon-burst{animation:.45s step-end forwards alwith-vibemon-burst;background-image:url(data:image/png;base64,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);background-repeat:no-repeat;background-size:2240px 280px}
@@ -1 +1 @@
1
- import{jsx as i,jsxs as v,Fragment as A}from"react/jsx-runtime";import{PlusIcon as G}from"lucide-react";import{useEffect as W,useRef as E,useState as f}from"react";import{createPortal as T}from"react-dom";import{useTranslation as J}from"react-i18next";import K from"../../../../assets/pets/lounge/autumn.png?url";import O from"../../../../assets/pets/lounge/spring.png?url";import Q from"../../../../assets/pets/lounge/summer.png?url";import Z from"../../../../assets/pets/lounge/winter.png?url";import{vibemonHost as tt}from"../../core/host.js";import{loadVibemonResource as et}from"../../core/lib/vibemon-resources.js";import{getVibemonScopeSync as rt,useVibemonState as ot}from"../lib/account-state.js";import{useSeason as nt}from"../lib/use-season.js";import{Button as B}from"../ui/button.js";import{SpriteRenderer as st}from"./sprite-renderer.js";import"./lounge-burst.css";var it={spring:O,summer:Q,autumn:K,winter:Z};function Et({active:Y,nest:s,onOpenCenter:j,onSend:_,dropTarget:k=!1}){let C=tt(),o=ot(),h=rt(),{t:F}=J("common"),L=nt(),[y,P]=f(null),[S,g]=f(null),[U,D]=f(0),[x,I]=f(!1),[u,d]=f(null),[w,N]=f(null),m=E(null),z=E(!1),b=E(!1),a=y?.pet===o.pet&&y.scope===h?y.resource:null;W(()=>{let t=!1,e=null;if(g(null),P(null),d(null),h!==null&&o.pet)(async()=>{if(!(await C.assets.getMyVibemons()).some((n)=>n.vibemon_uuid===o.pet))throw Error("This account does not own the selected Vibemon");if(t)return;if(e=await et(o.pet),t)e.dispose();else P({pet:o.pet,scope:h,resource:e})})().catch((r)=>{if(!t)g(r instanceof Error?r.message:String(r))});return()=>{t=!0,e?.dispose()}},[C,h,o.pet,U]);let R=async(t)=>{if(z.current)return;if(z.current=!0,I(!0),g(null),t)d({center:t,scale:2}),N(t);try{await _(o.pet,t)}catch(e){g(e instanceof Error?e.message:String(e))}finally{z.current=!1,I(!1),d(null)}},V=(t)=>a&&i(st,{config:a.config,spriteUrl:a.spriteUrl,staticImage:a.staticImage,stateId:a.config.behaviorMap.sleep,flipped:!1,active:Y||t,onMouseDown:()=>{},onClick:()=>{},onRenderError:(e)=>g(e.message)}),M={insetInlineEnd:s.inlineEnd,bottom:s.bottom,width:s.size,height:s.size};return v(A,{children:[i("img",{src:it[L],alt:"",draggable:!1,className:"pointer-events-none absolute inset-x-0 bottom-0 z-10 w-full"}),(k||u!==null&&!x)&&i("div",{"data-testid":"pet-lounge-drop",className:"border-primary bg-primary/10 pointer-events-none absolute z-30 rounded-xl border-4 border-dashed",style:M}),!o.enabled&&!o.pet&&i(B,{"aria-label":"Vibémon",onClick:j,className:"border-primary bg-primary/10 text-primary absolute z-20 rounded-xl border-4 border-dashed p-0",style:M,children:i(G,{className:"size-16"})}),!o.enabled&&a&&i("button",{type:"button","aria-label":"Vibémon",disabled:x,className:"vibemon-lounge-pet absolute z-20 cursor-grab touch-none border-0 bg-transparent p-0 disabled:cursor-wait",style:{...M,opacity:u?0:1},onPointerDown:(t)=>{if(t.button!==0||x)return;let e=t.currentTarget.getBoundingClientRect(),r=t.currentTarget.parentElement;if(!r)throw Error("Lounge requires its station");let n=getComputedStyle(r).direction==="rtl",c=r.getBoundingClientRect();b.current=!1,m.current={start:{x:t.clientX,y:t.clientY},origin:{x:e.left+e.width/2,y:e.top+e.height/2},rect:e,edge:n?c.right:c.left,rtl:n,pointer:t.pointerId},t.currentTarget.setPointerCapture(t.pointerId)},onPointerMove:(t)=>{let e=m.current;if(!e)return;let r=t.clientX-e.start.x,n=t.clientY-e.start.y,c=Math.hypot(r,n);if(c<=4&&!b.current)return;b.current=!0;let l={x:e.origin.x+r,y:e.origin.y+n},X=1+Math.min(c/200,1);d({center:l,scale:X});let p=s.size*X/2,H=Math.max(0,Math.min(l.x+p,innerWidth)-Math.max(l.x-p,0)),q=Math.max(0,Math.min(l.y+p,innerHeight)-Math.max(l.y-p,0));if(H*q<p*p*2)m.current=null,t.currentTarget.releasePointerCapture(t.pointerId),R(l)},onPointerUp:(t)=>{let e=m.current;if(m.current=null,!e||!b.current)return;let r=t.clientX-e.start.x,n=t.clientY-e.start.y,c=t.clientX>=e.rect.left&&t.clientX<=e.rect.right&&t.clientY>=e.rect.top&&t.clientY<=e.rect.bottom,l=e.rtl?t.clientX>e.edge:t.clientX<e.edge;if(!c&&l&&Math.hypot(r,n)>=200)R({x:e.origin.x+r,y:e.origin.y+n});else d(null)},onPointerCancel:()=>{m.current=null,d(null),b.current=!0},children:V(!1)}),u&&a&&T(i("div",{className:"pointer-events-none fixed z-[9999]",style:{left:u.center.x-s.size/2,top:u.center.y-s.size/2,width:s.size,height:s.size,transform:`scale(${u.scale})`},children:V(!0)}),document.body),w&&T(i("div",{className:"alwith-vibemon-burst pointer-events-none fixed z-[10000]",style:{left:w.x,top:w.y,width:280,height:280,transform:"translate(-50%, -50%) scale(0.7142857)"},onAnimationEnd:()=>N(null)}),document.body),S&&v("div",{role:"alert",className:"bg-popover text-popover-foreground absolute inset-x-2 bottom-36 z-30 rounded-lg p-2 text-xs",children:[S,i(B,{size:"sm",variant:"outline",onClick:()=>D((t)=>t+1),children:F("vibemon.updateResources")})]})]})}export{Et as PetLounge};
1
+ import{Ot}from"../../../chunk-bgc7s9q5.js";import"../../../chunk-5w675j2g.js";import"../../../chunk-7xtvv8a7.js";import"../../../chunk-j3ez3fz2.js";import"../../../chunk-mnrtrr2j.js";import"../../../chunk-5jz8vnk5.js";import"../../../chunk-yjdj2mf9.js";import"../../../chunk-w1z1g5c5.js";import"../../../chunk-khnyadsg.js";import"../../../chunk-pbwt3qj9.js";import"../../../chunk-44at74bw.js";import"../../../chunk-htw56xtp.js";import"../../../chunk-v9czb1e6.js";import"../../../chunk-xs0abxzp.js";import"../../../chunk-afy09ajr.js";import"../../../chunk-21abksd2.js";import"../../../chunk-mmj02855.js";import"../../../chunk-9tramdds.js";import"../../../chunk-rerywpwe.js";import"../../../chunk-4gegjx79.js";export{Ot as PetLounge};
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import{LoaderCircleIcon as n,Minimize2Icon as a}from"lucide-react";import{useTranslation as i}from"react-i18next";import{Button as s}from"../ui/button.js";function p({busy:t,onClick:r}){let{t:o}=i("common");return e(s,{variant:"ghost",size:"icon-xs",title:o("petMode.enter"),"aria-label":o("petMode.enter"),disabled:t,onClick:r,className:"group text-muted-foreground hover:text-muted-foreground shrink-0 hover:bg-transparent dark:hover:bg-transparent",children:t?e(n,{className:"size-4 animate-spin"}):e(a,{className:"size-4"})})}export{p as PetModeButton};
1
+ import{$t}from"../../../chunk-4xk0z8t0.js";import"../../../chunk-5jz8vnk5.js";export{$t as PetModeButton};
@@ -1 +1 @@
1
- import{jsx as E,jsxs as A}from"react/jsx-runtime";import{useEffect as x,useEffectEvent as N,useRef as m,useState as l}from"react";import{VibemonEngine as U}from"../../core/engine.js";import{vibemonHost as X}from"../../core/host.js";import{PetAnimationSync as O}from"../../core/lib/pet-animation-sync.js";import{PetBubbleState as W}from"../../core/lib/pet-bubble-state.js";import{dragPet as B}from"../../core/lib/pet-drag.js";import{presentVibemon as F}from"../../core/lib/pet-presentation.js";import{PresentationReadiness as Y}from"../../core/lib/presentation-readiness.js";import{loadVibemonResource as H}from"../../core/lib/vibemon-resources.js";import{DEFAULT_VIBEMON_WINDOW_SIZE as S}from"../../core/types.js";import{placeholderCard as L}from"../assets.js";import{useVibemonState as Z}from"../lib/account-state.js";import{SpriteRenderer as q}from"./sprite-renderer.js";import"./lounge-burst.css";function ue(){let t=X(),u=Z(),[a,P]=l(null),f=a?.resource??null,[g,v]=l({state:"idle",flipped:!1,tick:0}),[D,h]=l(!0),[R,k]=l(!1),[z,V]=l(0),s=m(null),y=m(0),[r]=l(()=>new Y),[c]=l(()=>new O),[i]=l(()=>new W((e)=>{t.windows.call("bubble",{visible:e}).catch(t.onError)})),_=N(()=>u.position);x(()=>{if(!u.pet)return;let e=u.pet,n=++y.current;r.begin(e,n),P(null);let d=!1,p=null;return(async()=>{if(p=await H(e),d){p.dispose();return}if(await t.windows.call("resize",{size:p.config.windowSize??S}),d)return;let o=new U(p.config,(j,C,M)=>{if(d)return;v((T)=>({state:j,flipped:C,tick:T.tick+(M?1:0)}))},()=>{});if(s.current=o,c.attach(o),await o.start(_()),d){o.destroy();return}if(r.positioned(e,n,o),P({resource:p,petId:e,generation:n}),await r.wait(e,Date.now()+15000),!d)await t.windows.call("ready",{petId:e})})().catch((o)=>{if(d||y.current!==n)return;r.fail(e,n,o instanceof Error?o:Error(String(o))),t.onError(o)}),()=>{d=!0,r.invalidate(),c.attach(null),s.current?.destroy(),s.current=null,p?.dispose()}},[u.pet,t,r,c,z]),x(()=>{let e=(n)=>{if(n===null){c.bind(null,!1),i.bind(null,-1);return}c.bind(n.binding.sessionId,n.error!==null,n.binding.bindingRevision),c.update([{sessionId:n.binding.sessionId,state:n.state}],n.source),c.prompt(n.binding.sessionId,n.binding.bindingRevision,n.prompt!==null),i.bind(n.binding.sessionId,n.binding.bindingRevision),i.owner(n.owner),i.update(n.state,n.prompt?.token??null,n.surfaceVisible)};return e(t.sessions.snapshot()),t.sessions.subscribe(e)},[t,c,i]),x(()=>t.windows.commands(async(e)=>{if(e.type==="reload"){if(e.petId!==u.pet)throw Error("The selected pet changed");y.current++,r.reset(),V((n)=>n+1);return}if(e.type==="bubble-open"){i.open();return}if(e.type==="bubble-interact"){i.interact();return}if(e.type==="close"){s.current?.suspend(),h(!1),i.close(),k(!0);try{await t.windows.call("sound"),await new Promise((n)=>setTimeout(n,470)),await t.windows.call("hide")}finally{k(!1)}return}if(e.type==="bubble-close"){i.close();return}if(e.type==="suspend"){s.current?.suspend(),h(!1),i.close(),await t.windows.call("hide");return}h(!0),await F(r,t.windows,e.petId)}),[t,i,r,u.pet]);let w=m(0),b=m(null);if(f===null)return null;let I=f.config.windowSize??S;return A("div",{className:"relative flex h-full w-full items-end justify-center select-none",onPointerDown:(e)=>{if(e.button!==0)return;b.current={x:e.screenX,y:e.screenY}},onPointerMove:(e)=>{let n=b.current;if(n===null||Math.hypot(e.screenX-n.x,e.screenY-n.y)<4)return;if(b.current=null,s.current===null)throw Error("The pet engine is unavailable");B(t.windows,s.current,e.screenX<n.x).catch(t.onError)},onPointerUp:()=>{b.current=null},onContextMenu:(e)=>{e.preventDefault(),t.windows.call("menu").catch(t.onError)},children:[E("div",{style:{width:I,height:I,visibility:R?"hidden":"visible"},children:E(q,{config:f.config,spriteUrl:f.spriteUrl||L,staticImage:f.staticImage,stateId:g.state,flipped:g.flipped,animTick:g.tick,active:D&&!f.staticImage,onDrawFrame:()=>{if(a!==null)r.drawn(a.petId,a.generation)},onRenderError:(e)=>{if(a!==null)r.fail(a.petId,a.generation,e);t.onError(e)},onMouseDown:()=>{},onClick:()=>{s.current?.handleClick();let e=Date.now();if(e-w.current<350&&e-w.current>50)i.close(),t.sessions.activate().catch(t.onError),w.current=0;else w.current=e}})}),R&&E("div",{className:"alwith-vibemon-burst pointer-events-none",style:{position:"fixed",left:"50%",bottom:0,width:280,height:280,transform:`translateX(-50%) scale(${I/280})`,transformOrigin:"center bottom",zIndex:20}})]})}export{ue as PetWindow};
1
+ import{Ht}from"../../../chunk-ms8jh9xz.js";import"../../../chunk-j3ez3fz2.js";import"../../../chunk-mnrtrr2j.js";import"../../../chunk-2k8my1h9.js";import"../../../chunk-96emfz6b.js";import"../../../chunk-jjb1befc.js";import"../../../chunk-nbzm95mz.js";import"../../../chunk-kwq26qhs.js";import"../../../chunk-yjdj2mf9.js";import"../../../chunk-hk9j0kvg.js";import"../../../chunk-3vpcfe38.js";import"../../../chunk-mdqxdcxh.js";import"../../../chunk-w1z1g5c5.js";import"../../../chunk-9zhxpvxw.js";import"../../../chunk-khnyadsg.js";import"../../../chunk-pbwt3qj9.js";import"../../../chunk-44at74bw.js";import"../../../chunk-htw56xtp.js";import"../../../chunk-v9czb1e6.js";import"../../../chunk-xs0abxzp.js";import"../../../chunk-afy09ajr.js";import"../../../chunk-21abksd2.js";import"../../../chunk-mmj02855.js";import"../../../chunk-9tramdds.js";import"../../../chunk-rerywpwe.js";import"../../../chunk-4gegjx79.js";export{Ht as PetWindow};
@@ -1,4 +1,4 @@
1
- import type { DrawRewardViewModel } from "../../core/lib/draw-result.js";
1
+ import type { DrawRewardViewModel } from "../../core/lib/draw-result";
2
2
  export declare function PullOverlay({ phase, drawnRewards, onVideoStarted, onPullDone, onPullFailed, onResultConfirmed }: {
3
3
  phase: "idle" | "video-waiting" | "video-playing" | "result";
4
4
  drawnRewards: DrawRewardViewModel[];
@@ -1 +1 @@
1
- import{jsx as n,jsxs as d,Fragment as F}from"react/jsx-runtime";import{motion as y,useInView as H}from"motion/react";import{useEffect as L,useRef as U,useState as p}from"react";import{multiDrawSrBackground as J,multiDrawSsrBackground as Q,newTag as A,pullTexture as O,resultAura as X}from"../assets.js";import{cardThumb as w}from"../lib/card-image.js";import{cn as Z}from"../lib/utils.js";import{Button as D}from"../ui/button.js";import{PULL_VIDEO_SOURCES as ee}from"./pull-video.js";import{VideoFader as te}from"./video-fader.js";var u=300,l=500,C=400,ne=1920,I=10,P=1474,G=[0.6,0.7,0.8,0.9,1,1,0.9,0.8,0.7,0.6],ae=1.1269,k=[12,14,16,18,20,18,16,14,12].map((e)=>e*ae),q=(P-k.reduce((e,t)=>e+t,0))/G.reduce((e,t)=>e+t,0),ie=(()=>{let e=0;return G.map((t,i)=>{let s=q*t,a=e+s/2-P/2;if(e+=s,i<k.length)e+=k[i];return{scale:t,x:a}})})(),M={R:null,SR:J,SSR:Q},N=(e)=>`${e/ne*100}cqw`,B={R:"r",SR:"sr",SSR:"ssr"},z={"white-card":{scrim:"linear-gradient(0deg, rgba(0,0,0,0.20) 0%, rgba(0,0,0,0.20) 100%), linear-gradient(180.83deg, rgba(1,24,30,0.90) 58.198%, rgba(86,209,251,0.90) 153.35%)",button:"#82D6EB",textureOpacity:"opacity-68"},r:{scrim:"linear-gradient(0deg, rgba(0,0,0,0.20) 0%, rgba(0,0,0,0.20) 100%), linear-gradient(180.83deg, rgba(1,24,30,0.90) 58.198%, rgba(86,209,251,0.90) 153.35%)",button:"#82D6EB",textureOpacity:"opacity-68"},sr:{scrim:"linear-gradient(0deg, rgba(0,0,0,0.20) 0%, rgba(0,0,0,0.20) 100%), linear-gradient(180.83deg, rgba(22,1,30,0.90) 59.16%, rgba(192,106,255,0.90) 153.35%)",button:"#C16AFF",textureOpacity:"opacity-68"},ssr:{scrim:"linear-gradient(0deg, rgba(0,0,0,0.20) 0%, rgba(0,0,0,0.20) 100%), linear-gradient(180.83deg, rgba(33,15,0,0.90) 65.36%, rgba(255,172,47,0.90) 153.35%)",button:"#FFAF32",textureOpacity:"opacity-100"}},re={r:"linear-gradient(0deg, rgba(0, 0, 0, 0.20) 0%, rgba(0, 0, 0, 0.20) 100%), linear-gradient(181deg, rgba(0, 17, 35, 0.90) 65.37%, rgba(21, 166, 226, 0.90) 153.35%)",sr:"linear-gradient(0deg, rgba(0, 0, 0, 0.20) 0%, rgba(0, 0, 0, 0.20) 100%), linear-gradient(181deg, rgba(24, 7, 45, 0.90) 65.37%, rgba(156, 63, 224, 0.90) 153.35%)",ssr:"linear-gradient(0deg, rgba(0, 0, 0, 0.20) 0%, rgba(0, 0, 0, 0.20) 100%), linear-gradient(181deg, rgba(33, 15, 0, 0.90) 65.37%, rgba(255, 172, 47, 0.90) 153.35%)"},W=(e)=>{if(e.some((t)=>t.kind==="card"&&t.rarity==="SSR"))return"ssr";if(e.some((t)=>t.kind==="card"&&t.rarity==="SR"))return"sr";return"r"};function xe({phase:e,drawnRewards:t,onVideoStarted:i,onPullDone:s,onPullFailed:a,onResultConfirmed:o}){let r=U(null),g=H(r),[_,x]=p(document.visibilityState==="visible");L(()=>{let f=()=>x(document.visibilityState==="visible");return document.addEventListener("visibilitychange",f),()=>document.removeEventListener("visibilitychange",f)},[]);let[h,T]=p(!1),[S,v]=p("flat"),b=U(!1);L(()=>{if(e!=="idle")return;b.current=!1,T(!1),v("flat")},[e]);let m=t.length>1,c=m?null:t[0],R=m?W(t):null,V=m&&t.some((f)=>f.kind==="card"),E=c?c.kind==="white-card"?"white-card":B[c.rarity]:null,K=()=>{if(!m||S!=="flat"||b.current)return;if(b.current=!0,!V){v("fly"),setTimeout(()=>o(!1),u);return}v("gather"),setTimeout(()=>v("fly"),C),setTimeout(()=>o(!0),C+l)},j=()=>{if(!c||h||b.current)return;b.current=!0,T(!0);let f=c.kind==="card"?l:u;setTimeout(()=>o(c.kind==="card"),f)},Y=m?S!=="fly":!h;return d("div",{ref:r,"data-presentation-state":e,className:"[container-type:size] absolute inset-0 z-50 overflow-hidden bg-transparent transition-colors duration-300",style:{pointerEvents:e==="idle"?"none":"auto"},children:[n("div",{"aria-hidden":!0,className:"pointer-events-none absolute inset-0 transition-opacity duration-300",style:{background:e!=="result"?"rgba(1,10,21,1)":R?re[R]:E?z[E].scrim:"rgba(1,10,21,0.82)",opacity:e==="result"&&Y?1:0}}),e==="result"&&(m?n(me,{rewards:t,stage:S,onConfirm:K}):c?n(ue,{reward:c,onConfirm:j,closing:h}):null),n(te,{sources:ee,playing:e==="video-waiting"||e==="video-playing",active:g&&_,background:"rgba(1,10,21,1)",onFirstFrame:i,onComplete:s,onError:a})]})}var se={default:"#FFAF32",hover:"#FFC15F",press:"#ECA029"};function oe({onConfirm:e}){let[t,i]=p(!1),[s,a]=p(!1),o=s?"press":t?"hover":"default";return d(D,{"aria-label":"Confirm",onClick:e,"data-visual-state":o,onPointerEnter:()=>i(!0),onPointerLeave:()=>{i(!1),a(!1)},onPointerDown:()=>a(!0),onPointerUp:()=>a(!1),onPointerCancel:()=>a(!1),onKeyDown:(r)=>{if(r.key===" "||r.key==="Enter")a(!0)},onKeyUp:(r)=>{if(r.key===" "||r.key==="Enter")a(!1)},onBlur:()=>{i(!1),a(!1)},style:{backgroundColor:se[o]},className:"relative h-full w-full overflow-hidden rounded-full border-0 p-0 shadow-none drop-shadow-[0_0.417cqh_0_rgba(0,0,0,0.51)] transition-none active:translate-y-0",children:[n("img",{src:O,alt:"",className:"pointer-events-none absolute top-[-560.71%] left-[-20.34%] h-[741.76%] w-[160.31%] max-w-none mix-blend-soft-light select-none"}),n("span",{"aria-hidden":!0,className:"absolute inset-0 shadow-[inset_0_0.2cqh_0.07cqh_0_white]"}),n("span",{className:"relative text-[1.458cqw] leading-normal font-normal text-[#403C80]",style:{fontFamily:'"Grow Year", system-ui, sans-serif',WebkitTextStroke:"0.25cqw white",paintOrder:"stroke fill"},children:"Confirm"})]})}function le({tone:e,onConfirm:t}){let i=z[e];return d(D,{"aria-label":"Confirm",onClick:t,style:{backgroundColor:i.button},className:"relative h-full w-full overflow-hidden rounded-full border-0 p-0 shadow-none drop-shadow-[0_0.417cqh_0_rgba(0,0,0,0.51)] transition-none hover:brightness-105 active:translate-y-0",children:[n("img",{src:O,alt:"",className:Z("pointer-events-none absolute top-[-560.71%] left-[-20.34%] h-[741.76%] w-[160.31%] max-w-none mix-blend-soft-light select-none",i.textureOpacity)}),n("span",{"aria-hidden":!0,className:"absolute inset-0 shadow-[inset_0_0.2cqh_0.07cqh_0_white]"}),n("span",{className:"relative text-[1.458cqw] leading-normal font-normal text-[#403C80]",style:{fontFamily:'"Grow Year", system-ui, sans-serif',WebkitTextStroke:"0.25cqw white",paintOrder:"stroke fill"},children:"Confirm"})]})}function ce({reward:e}){return n("img",{src:w(e.singleImageUrl),alt:`Gacha Gem ×${e.exchangePoints}`,className:"block h-auto w-full max-w-none select-none"})}function ue({reward:e,onConfirm:t,closing:i}){let s=e.kind==="white-card"?"white-card":B[e.rarity];return n("div",{"data-testid":"single-draw-result","data-result-tone":s,className:"absolute inset-0 z-10",children:d("div",{className:"[container-type:size] absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2",style:{width:"min(100cqw, 160cqh)",aspectRatio:"8 / 5"},children:[n(y.div,{"aria-hidden":!0,className:"pointer-events-none absolute top-[43.810%] left-[52.655%] aspect-square w-[31.656%] -translate-x-1/2 -translate-y-1/2",animate:{opacity:i?0:0.62},transition:{duration:u/1000},children:n("img",{src:X,alt:"",className:"h-full w-full max-w-none [animation:spin_2s_linear_infinite] select-none"})}),n("div",{className:`absolute -translate-x-1/2 ${e.kind==="card"?"top-[20.396%] left-[52.551%]":"top-[43.810%] left-[52.656%] -translate-y-1/2"}`,children:n(y.div,{className:"relative",style:{width:e.kind==="card"?"20.833cqw":"13.75cqw"},initial:!1,animate:i?e.kind==="card"?{x:["0cqw","14cqw","29cqw"],y:["0cqh","-34cqh","-37cqh"],scale:[1,0.14],opacity:[1,1,0]}:{x:0,y:0,scale:0.94,opacity:0}:{x:0,y:0,scale:1,opacity:1},transition:i&&e.kind==="card"?{x:{duration:l/1000,ease:"linear",times:[0,0.5,1]},y:{duration:l/1000,ease:"linear",times:[0,0.5,1]},scale:{duration:l/1000,ease:"linear"},opacity:{duration:l/1000,ease:"linear",times:[0,0.7,1]}}:{duration:i?u/1000:0},children:e.kind==="card"?d(F,{children:[n("img",{src:w(e.singleImageUrl),alt:`${e.vibemonName} ${e.rarity} card`,className:"h-auto w-full max-w-none select-none"}),e.isNew&&n("img",{src:A,alt:"New",className:"pointer-events-none absolute top-[0.202%] right-[2.504%] z-10 h-auto w-[22.5%] max-w-none select-none"})]}):n(ce,{reward:e})})}),n(y.div,{className:"absolute top-[71.667%] left-[52.656%] h-[6.5%] w-[18.542%] -translate-x-1/2",animate:{opacity:i?0:1},transition:{duration:u/1000},style:{pointerEvents:i?"none":"auto"},children:n(le,{tone:s,onConfirm:t})})]})})}function de({reward:e}){return n("img",{src:w(e.multiImageUrl),alt:`Gacha Gem ×${e.exchangePoints}`,className:"pointer-events-none block h-auto w-full max-w-none select-none"})}function me({rewards:e,stage:t,onConfirm:i}){if(e.length!==I)throw Error(`[vibemon] ten-draw result must contain ${I} rewards, received ${e.length}`);let s=W(e);return n("div",{"data-testid":"multi-draw-result","data-result-tone":s,className:"absolute inset-0 z-10 overflow-hidden",children:d("div",{"data-testid":"multi-result-stage",className:"[container-type:size] absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2",style:{width:"min(100cqw, 160cqh)",aspectRatio:"8 / 5"},children:[n("div",{"data-testid":"multi-result-group",className:"absolute top-[17.833%] left-[11.615%] h-[55%] w-[76.77%]",children:e.map((a,o)=>{let r=ie[o],g={x:N(r.x),y:"0cqh",scale:r.scale,opacity:1},_=a.kind==="card"?`${a.drawIndex}-${a.vibemonUuid}`:`${a.drawIndex}-white-card`,x=a.kind==="card"?{x:"0cqw",y:"0cqh",scale:1,opacity:1}:{...g,opacity:0},h=a.kind==="card"?{x:["0cqw","17cqw","34cqw"],y:["0cqh","-40cqh","-38cqh"],scale:[1,0.08],opacity:[1,1,0]}:{...g,opacity:0};return n("div",{className:"absolute inset-y-0 left-1/2 flex items-center",style:{width:N(q),marginLeft:N(-q/2),zIndex:t==="flat"?10-Math.abs(o-4.5):e.length-o},children:n(y.div,{"data-result-index":o,"data-result-scale":r.scale,className:"relative w-full",initial:!1,animate:t==="flat"?g:t==="gather"?x:h,transition:t==="gather"?{duration:a.kind==="card"?C/1000:u/1000,ease:"easeIn"}:t==="fly"?a.kind==="card"?{x:{duration:l/1000,ease:"linear",times:[0,0.5,1]},y:{duration:l/1000,ease:"linear",times:[0,0.5,1]},scale:{duration:l/1000,ease:"linear"},opacity:{duration:l/1000,ease:"linear",times:[0,0.7,1]}}:{duration:u/1000}:{duration:0},children:a.kind==="card"?d(F,{children:[M[a.rarity]!==null&&n("img",{src:M[a.rarity]??void 0,alt:"","aria-hidden":!0,"data-testid":`multi-card-band-${a.rarity}`,className:"pointer-events-none absolute top-1/2 left-0 h-auto w-full max-w-none -translate-y-1/2 select-none"}),n("img",{src:w(a.multiImageUrl),alt:`${a.vibemonName} ${a.rarity} card`,className:"pointer-events-none relative block h-auto w-full max-w-none select-none"}),a.isNew&&n("img",{src:A,alt:"New",className:"pointer-events-none absolute top-0 right-[-5.85%] z-10 h-auto w-[44.21%] max-w-none -translate-y-1/2 select-none"})]}):n(de,{reward:a})})},_)})}),n(y.div,{className:"absolute top-[78%] left-[40.729%] h-[6.5%] w-[18.542%]",style:{pointerEvents:t==="flat"?"auto":"none"},animate:{opacity:t==="flat"?1:0},transition:{duration:u/1000},children:n(oe,{onConfirm:i})})]})})}export{xe as PullOverlay};
1
+ import{Ue}from"../../../chunk-0ze5xzg5.js";import"../../../chunk-8kcmwm3k.js";import"../../../chunk-q8ebj5e6.js";import"../../../chunk-2skzpxsk.js";import"../../../chunk-xrw9s1th.js";import"../../../chunk-5jz8vnk5.js";import"../../../chunk-2k8my1h9.js";export{Ue as PullOverlay};
@@ -1 +1 @@
1
- import{pullVideoMp4 as e,pullVideoWebm as o}from"../assets.js";var i=[{src:e,type:"video/mp4"},{src:o,type:"video/webm"}];export{i as PULL_VIDEO_SOURCES};
1
+ import{Ce}from"../../../chunk-8kcmwm3k.js";import"../../../chunk-2k8my1h9.js";export{Ce as PULL_VIDEO_SOURCES};
@@ -1,4 +1,4 @@
1
- import { type GachaPoolCatalogViewModel } from "../../core/lib/gacha-pools.js";
1
+ import { type GachaPoolCatalogViewModel } from "../../core/lib/gacha-pools";
2
2
  export type PullButtonVisualState = "default" | "hover" | "press";
3
3
  export declare function PullView({ onBack, onAlbum, onEquip, isFirstDraw, onSingleDraw, onMultiDraw, drawDisabled, albumHasUnseen, availablePoints, pointsLoaded, guideActive, poolCatalog }: {
4
4
  onBack: () => void;
@@ -1 +1 @@
1
- import{jsx as e,jsxs as s}from"react/jsx-runtime";import{motion as j}from"motion/react";import{useEffect as G,useMemo as O,useState as w}from"react";import{getDefaultGachaPool as M,getVisibleGachaPools as L,resolveGachaPoolStatus as V}from"../../core/lib/gacha-pools.js";import{openAccountUrl as E}from"../../core/lib/recharge.js";import{placeholderCard as B,pullAlbumIcon as H,pullBack as R,pullGem as K,pullPageBackground as X,pullTexture as W,pullVibemonIcon as Y}from"../assets.js";import{cn as v}from"../lib/utils.js";import{Button as P}from"../ui/button.js";import{BackToHome as J}from"./back-to-home.js";import{GemBalance as Q}from"./gem-balance.js";import{InsufficientPointsDialog as Z}from"./insufficient-points-dialog.js";import{FreeDrawGuide as ee,OnboardingScrim as te}from"./onboarding-guide.js";var ae="linear-gradient(180deg, #0C0C77 1.7234%, #171B6A 25.125%, #A67FFB 97.583%, #957FFB 116.28%)",le=250,oe={1:{default:"bg-[#82D6EB]",hover:"bg-[#A3E1F0]",press:"bg-[#5AC8E3]"},10:{default:"bg-[#FFD932]",hover:"bg-[#FFE46B]",press:"bg-[#FACE0B]"}};function _({drawCount:t,price:a,onClick:c,disabled:r,label:d}){let p=t===1,[b,u]=w(!1),[m,l]=w(!1),o=m?"press":b?"hover":"default",f=p?`X ${a}`:`X ${a}`;return s(P,{className:"relative h-[8.5cqh] w-full overflow-visible rounded-none border-0 bg-transparent p-0 shadow-none transition-none hover:bg-transparent active:translate-y-0 disabled:opacity-45","aria-label":d,disabled:r,"data-visual-state":o,onPointerEnter:()=>u(!0),onPointerLeave:()=>{u(!1),l(!1)},onPointerDown:()=>l(!0),onPointerUp:()=>l(!1),onPointerCancel:()=>l(!1),onKeyDown:(h)=>{if(h.key===" "||h.key==="Enter")l(!0)},onKeyUp:(h)=>{if(h.key===" "||h.key==="Enter")l(!1)},onBlur:()=>{u(!1),l(!1)},onClick:c,children:[s("span",{className:"absolute top-[2.092cqh] left-0 h-[6.408cqh] w-full overflow-hidden rounded-[6.25cqw] drop-shadow-[0_0.417cqh_0_rgba(0,0,0,0.51)]",children:[e("span",{"data-slot":"pull-button-surface",className:v("absolute inset-0",oe[t][o])}),e("img",{src:W,alt:"",className:v("pointer-events-none absolute top-[-560.71%] left-[-20.34%] h-[741.76%] w-[160.31%] max-w-none select-none",p?"opacity-68 mix-blend-soft-light":"opacity-18 mix-blend-color-burn")}),e("span",{className:"absolute inset-0 shadow-[inset_0_0.2cqh_0.07cqh_0_white]"}),s("span",{"data-slot":"pull-button-label",className:"absolute inset-0 flex items-center justify-center text-[1.458cqw] leading-normal font-normal text-[#403C80]",style:{fontFamily:'"Grow Year", system-ui, sans-serif',WebkitTextStroke:"0.25cqw white",paintOrder:"stroke fill"},children:["PULL X",t]})]}),s("span",{className:"absolute top-0 left-1/2 flex h-[4.422cqh] -translate-x-1/2 items-center whitespace-nowrap",children:[e("span",{className:"me-[-0.375cqw] flex size-[2.763cqw] shrink-0 items-center justify-center",children:e("img",{"data-testid":"pull-button-gem",src:K,alt:"",className:"size-[1.682cqw] max-w-none -scale-y-100 rotate-[21.86deg] select-none"})}),e("span",{"data-slot":"pull-button-price","data-text":f,className:"relative scale-y-98 -skew-x-10 text-[1cqw] leading-normal font-semibold tracking-[0.1cqw] text-transparent before:absolute before:inset-0 before:text-white before:content-[attr(data-text)] before:[-webkit-text-stroke:0.25cqw_#FFFFFF] after:absolute after:inset-0 after:bg-gradient-to-b after:from-[#9645CF] after:to-[#878FFF] after:bg-clip-text after:text-transparent after:content-[attr(data-text)]",style:{fontFamily:'"PingFang SC", sans-serif'},children:f})]})]})}var ne=["unselected","hover","selected"],se=(t,a)=>a==="selected"?t.sidebarSelectedImageUrl:a==="hover"?t.sidebarHoverImageUrl:t.sidebarUnselectedImageUrl;function re({pool:t,selected:a,disabled:c,onSelect:r}){let[d,p]=w(!1),[b,u]=w(!1),m=a?"selected":d||b?"hover":"unselected";return e(P,{id:`pool-tab-${t.poolUuid}`,role:"tab","aria-selected":a,"aria-controls":"gacha-pool-banner","aria-label":t.name,disabled:c,onClick:r,onPointerEnter:()=>p(!0),onPointerLeave:()=>p(!1),onFocus:()=>u(!0),onBlur:()=>u(!1),"data-visual-state":m,className:v("relative h-[14.167cqh] w-full shrink-0 justify-start overflow-visible rounded-none border-0 bg-transparent p-0 shadow-none transition-none hover:bg-transparent active:translate-y-0 disabled:opacity-100",a?"z-20":"z-0"),children:ne.map((l)=>e("img",{src:se(t,l)||B,alt:"","aria-hidden":!0,className:v("pointer-events-none absolute bottom-0 left-0 h-auto w-full max-w-none select-none",m===l?"opacity-100":"opacity-0")},l))})}function ie(t,a){if(a==="UPCOMING"){if(t.startsAt===null)throw Error(`Upcoming gacha pool ${t.poolUuid} is missing startsAt`);return{label:"Starts in",at:t.startsAt}}if(a==="ACTIVE"&&t.endsAt!==null)return{label:"Time remaining",at:t.endsAt};return null}function ce({pool:t,status:a,nowMs:c}){let r=ie(t,a);if(r===null)return null;let d=Math.floor((Date.parse(r.at)-c)/1000),p=Math.floor(d/86400),b=Math.floor(d%86400/3600),u=Math.floor(d%3600/60),m=d%60,l=[{value:p,unit:"d"},{value:b,unit:"h"},{value:u,unit:"m"},{value:m,unit:"s"}];return e("div",{role:"timer","aria-label":r.label,className:"absolute bottom-[6.8%] left-[4.4%] flex min-w-[28%] items-center gap-[1.5%] rounded-lg bg-black/24 px-[1.2%] py-[0.8%] text-white backdrop-blur-sm",children:l.map(({value:o,unit:f})=>s("span",{className:"flex items-center gap-[0.35em]",children:[e("span",{className:"min-w-[2.1em] rounded-md bg-black/28 px-[0.35em] py-[0.25em] text-center text-[clamp(9px,0.82cqw,16px)] leading-none font-bold tabular-nums",children:String(o).padStart(2,"0")}),e("span",{className:"text-[clamp(8px,0.58cqw,12px)] font-medium text-white/75",children:f})]},f))})}function de(t,a){let c=t.find((r)=>r.poolUuid===a);if(c!==void 0)return c;return S(t)}function S(t){let a=t[0];if(a===void 0)throw Error("Gacha pool catalog has no visible pools");return a}function Pe({onBack:t,onAlbum:a,onEquip:c,isFirstDraw:r,onSingleDraw:d,onMultiDraw:p,drawDisabled:b,albumHasUnseen:u,availablePoints:m,pointsLoaded:l,guideActive:o,poolCatalog:f}){let[h,x]=w(!1),[z,D]=w(S(f.pools).poolUuid),[N,I]=w(Date.now);G(()=>{let i=window.setInterval(()=>I(Date.now()),1000);return()=>window.clearInterval(i)},[]);let q=O(()=>L(f.pools,N),[f.pools,N]),y=M(q),n=o?y:de(q,z),U=V(n,N),k=r&&n.poolUuid===y.poolUuid,C=n.singlePrice,F=b||!n.canDraw||U!=="ACTIVE",T=()=>{if(!k&&l&&m<C){x(!0);return}d(n.poolUuid)},A=()=>{if(l&&m<n.multiPrice){x(!0);return}p(n.poolUuid)};return s("div",{className:"[container-type:size] relative h-full w-full overflow-hidden",style:{background:ae},children:[e("div",{className:"absolute inset-0 flex items-center justify-center",children:s("div",{"data-testid":"vibemon-pull-stage",className:"[container-type:size] relative",style:{width:"min(100cqw, 160cqh)",aspectRatio:"8 / 5"},children:[s("div",{"aria-hidden":!0,className:"pointer-events-none absolute top-[-51.213%] left-[48.958%] h-[172.145%] w-[143.454%] -translate-x-1/2",children:[e("img",{"data-testid":"vibemon-pool-page-background",src:X,alt:"",className:"absolute inset-0 h-full w-full max-w-none object-cover opacity-60 mix-blend-color-burn select-none"}),e("div",{className:"absolute inset-0 bg-black/40"})]}),e(J,{onClick:t,disabled:o,label:"Back",iconSrc:R,className:"absolute top-[5%] left-[6.25%] z-10 gap-[0.729cqw] text-[#BCACE0] hover:text-[#BCACE0] [&_img]:size-[3.021cqw] [&_span]:text-[1.667cqw]"}),s("div",{className:"absolute top-[5%] right-[6.25%] z-10 flex h-[5.5cqh] items-center gap-[2.292cqw]",children:[e(P,{"aria-label":"Vibémon",disabled:o,onClick:c,className:"size-[3.333cqw] bg-transparent p-0 hover:bg-transparent",children:e("img",{src:Y,alt:"",className:"size-full object-contain"})}),s(P,{"aria-label":"Album",disabled:o,onClick:a,className:"relative size-[3.333cqw] bg-transparent p-0 hover:bg-transparent",children:[e("img",{src:H,alt:"",className:"size-full object-contain"}),u&&e("span",{className:"absolute top-0 right-0 size-2 rounded-full bg-[#F74640]"})]}),e(Q,{amount:m,onAdd:E,loaded:l,disabled:o,className:"h-[5.5cqh] min-w-0 rounded-[7.813cqw] py-0 pr-[0.417cqw] pl-[0.729cqw] [&_[data-slot=gem-balance-add-icon]]:size-[2.5cqw] [&>[data-slot=gem-balance-add]]:ms-[1.094cqw] [&>[data-slot=gem-balance-add]]:size-[2.5cqw] [&>[data-slot=gem-balance-amount]]:text-[1.563cqw] [&>[data-slot=gem-balance-icon]]:me-[0.156cqw] [&>[data-slot=gem-balance-icon]]:size-[2.5cqw]"})]}),e("div",{role:"tablist","aria-label":"Card pools",className:"absolute top-[19.816%] left-[6.25%] flex w-[12.5%] flex-col",children:q.map((i)=>e(re,{pool:i,selected:i.poolUuid===n.poolUuid,disabled:o||b,onSelect:()=>D(i.poolUuid)},i.poolUuid))}),s("div",{id:"gacha-pool-banner",role:"tabpanel","aria-labelledby":`pool-tab-${n.poolUuid}`,className:"absolute top-[16.667%] left-[14.583%] z-10 h-[66.667%] w-[79.167%] overflow-hidden rounded-[1.042cqw]",children:[q.map((i)=>{let g=i.poolUuid===n.poolUuid;return e(j.img,{src:i.poolCardImageUrl||B,alt:g?`${i.name} pool`:"","aria-hidden":!g,className:"absolute inset-0 h-full w-full object-cover select-none",style:{zIndex:g?1:0},initial:!1,animate:{opacity:g?1:0},transition:{duration:le/1000,ease:g?"easeOut":"easeIn"}},i.poolUuid)}),e(ce,{pool:n,status:U,nowMs:N})]}),s("div",{className:"absolute top-[86.098%] left-[54.427%] flex gap-[2.24cqw]",children:[e("div",{className:v("w-[18.542cqw]",o&&"relative z-30"),children:e(_,{drawCount:1,price:C,label:"Pull once",disabled:F,onClick:T})}),e("div",{className:"w-[18.542cqw]",children:e(_,{drawCount:10,price:n.multiPrice,label:"Pull ten times",disabled:o||k||F,onClick:A})})]}),o&&e(te,{}),o&&e(ee,{})]})}),h&&e(Z,{onClose:()=>x(!1),onProceed:()=>{E(),x(!1)}})]})}export{Pe as PullView};
1
+ import{Ve}from"../../../chunk-wcenmfkf.js";import"../../../chunk-m18rjmg2.js";import"../../../chunk-z5nmdjb9.js";import"../../../chunk-mandqn4e.js";import"../../../chunk-37ctfsy1.js";import"../../../chunk-0gf7vwzk.js";import"../../../chunk-xrw9s1th.js";import"../../../chunk-5jz8vnk5.js";import"../../../chunk-2k8my1h9.js";import"../../../chunk-1mq984ah.js";import"../../../chunk-9wqfns8y.js";import"../../../chunk-14dfwbk0.js";import"../../../chunk-htw56xtp.js";export{Ve as PullView};