@endfield-ui/react 1.0.1 → 1.1.0

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 (31) hide show
  1. package/NOTICE.md +32 -2
  2. package/README.md +37 -2
  3. package/dist/game/LICENSE.lucide +43 -0
  4. package/dist/game/assets/alert_banner_bg_left.png +0 -0
  5. package/dist/game/assets/alert_banner_bg_right.png +0 -0
  6. package/dist/game/assets/alert_bg.png +0 -0
  7. package/dist/game/assets/deco_common_logo_bg.png +0 -0
  8. package/dist/game/assets/detail.png +0 -0
  9. package/dist/game/assets/enemies_background.webp +0 -0
  10. package/dist/game/assets/enemies_background_dark.webp +0 -0
  11. package/dist/game/assets/header.webp +0 -0
  12. package/dist/game/assets/icon_card_rarity_1_bottom_edge.webp +0 -0
  13. package/dist/game/assets/icon_card_rarity_2_bottom_edge.webp +0 -0
  14. package/dist/game/assets/icon_card_rarity_3_bottom_edge.webp +0 -0
  15. package/dist/game/assets/icon_card_rarity_4_bottom_edge.webp +0 -0
  16. package/dist/game/assets/icon_card_rarity_5_bottom_edge.webp +0 -0
  17. package/dist/game/assets/icon_card_rarity_6_bottom_edge.webp +0 -0
  18. package/dist/game/assets/items_background.webp +0 -0
  19. package/dist/game/assets/items_background_dark.webp +0 -0
  20. package/dist/game/assets/link.webp +0 -0
  21. package/dist/game/assets/pag-button-texture.png +0 -0
  22. package/dist/game/assets/weapons_background.webp +0 -0
  23. package/dist/game/assets/weapons_background_dark.webp +0 -0
  24. package/dist/game/resource-provenance.json +384 -0
  25. package/dist/game/styles.css +2 -0
  26. package/dist/game.d.ts +372 -0
  27. package/dist/game.js +2042 -0
  28. package/package.json +9 -2
  29. package/src/components/README.md +2 -0
  30. package/src/styles/README.md +5 -1
  31. package/src/styles/index.css +5 -0
@@ -0,0 +1,2 @@
1
+ /*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
2
+ @layer theme,base;@layer components{.ef-animated-dialog-backdrop{z-index:var(--z-overlay,300);background:#0003;position:fixed;inset:0}.ef-animated-dialog-viewport{z-index:var(--z-overlay,300);justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.ef-animated-dialog{color:#191919;width:768px;min-width:0;max-width:100%;min-height:0;max-height:100%;font-family:var(--font-sans,inherit);isolation:isolate;outline:none;flex-direction:column;display:flex;position:relative}.ef-animated-dialog[hidden],.ef-animated-dialog-viewport[hidden],.ef-animated-dialog-backdrop[hidden]{display:none}.ef-animated-dialog__header{flex-shrink:0;position:relative}.ef-animated-dialog__top-strip{transform-origin:0;align-items:stretch;width:348px;max-width:100%;height:15px;display:flex}.ef-animated-dialog__yellow-block{background:#ffff21;flex:0 0 51px}.ef-animated-dialog__top-deco{color:#363636;background:#999;flex:1;justify-content:space-between;align-items:center;min-width:0;padding-inline:4px;display:flex}.ef-animated-dialog__top-deco>svg{fill:currentColor;width:auto;height:10px;font-family:Outfit;font-weight:700}.ef-animated-dialog__top-deco>.ef-animated-dialog__plus{fill:none;flex-shrink:0;width:10px;height:10px}.ef-animated-dialog__title-band{background:#363636;gap:24px;height:63px;display:flex;position:relative;overflow:hidden}.ef-animated-dialog__icon-slot{color:#d3d3d3;background:#484848;flex:0 0 79px;justify-content:center;align-items:center;font-size:24px;display:flex}.ef-animated-dialog__icon{justify-content:center;align-items:center;display:flex}.ef-animated-dialog__title{z-index:1;color:#fff;flex:1;align-items:center;min-width:0;margin:0;padding-right:40px;font-size:32px;font-weight:700;line-height:1;display:flex;position:relative;overflow:hidden}.ef-animated-dialog__title-deco{color:#ffffff0d;letter-spacing:-14px;pointer-events:none;font-family:Outfit;font-size:144px;font-weight:700;position:absolute;top:50%;right:0;transform:translateY(-50%)}.ef-animated-dialog__title>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ef-animated-dialog__close-motion{z-index:2;position:absolute;top:0;right:0}.ef-animated-dialog__close{color:#363636;cursor:pointer;background:#ffff21;border:0;place-items:center;width:36px;height:36px;padding:0;display:grid}.ef-animated-dialog__close>svg{width:24px;height:24px}.ef-animated-dialog__close:hover{background:#eeea00}.ef-animated-dialog__close:active{background:#e6de01}.ef-animated-dialog__close[aria-disabled=true]{cursor:progress}.ef-animated-dialog__close:focus-visible{outline-offset:3px;outline:2px solid #fff;box-shadow:0 0 0 3px #191919}.ef-animated-dialog__separator{z-index:1;transform-origin:0;filter:drop-shadow(0 0 3px #00000080);background:linear-gradient(90deg,#ffff1b 50%,#d3d3d3 50%);height:6px;position:relative}.ef-animated-dialog__separator:after{box-sizing:content-box;content:"";border-top:12px solid #ffff1b;border-inline:12px solid #0000;display:block;position:absolute;bottom:-8px;left:52px}.ef-animated-dialog__content{background-color:#fff;background-image:repeating-linear-gradient(-45deg,#0000,#0000 2px,#ccc2 2px 3px);flex-direction:column;flex:auto;min-height:0;display:flex;position:relative;overflow:hidden}.ef-animated-dialog__body{overscroll-behavior:contain;min-height:0;overflow-y:auto}.ef-animated-dialog__description{color:#626262;margin:24px 24px 16px}.ef-animated-dialog__registration{transform-origin:100%;background:linear-gradient(90deg,#00ffa2 42.5%,#ffff21 42.5% 79.2%,#ff00f0 79.2%);width:min(240px,100% - 40.8px);height:4px;position:absolute;bottom:0;right:20.4px}.ef-animated-dialog__footer{transform-origin:0;background:#ababab;flex-shrink:0;align-items:center;height:15px;margin-right:36px;padding-inline:16px;display:flex}.ef-animated-dialog__footer-square{background:#838383;width:8px;height:8px}.ef-animated-dialog__footer-outline{border:1px solid #838383;width:8px;height:8px;margin-left:2px;-webkit-mask-image:linear-gradient(#fff 2px,#0000 2px 6px,#fff 6px);mask-image:linear-gradient(#fff 2px,#0000 2px 6px,#fff 6px)}.ef-animated-dialog__footer-hatch{background:repeating-linear-gradient(-45deg,#0000,#0000 1px,#838383 1px 2px);width:48px;height:8px;margin-left:4px}.ef-animated-dialog[data-open]{animation:.15s ease-out both ef-animated-dialog-enter}.ef-animated-dialog[data-open] .ef-animated-dialog__top-strip{animation:.12s ease-out both ef-animated-dialog-strip-enter}.ef-animated-dialog[data-open] .ef-animated-dialog__footer{animation:.12s ease-out 50ms both ef-animated-dialog-strip-enter}.ef-animated-dialog[data-open] .ef-animated-dialog__icon{animation:.2s cubic-bezier(.33,1.53,.69,.99) .1s both ef-animated-dialog-scale-enter}.ef-animated-dialog[data-open] .ef-animated-dialog__close-motion{animation:.2s cubic-bezier(.33,1.53,.69,.99) .2s both ef-animated-dialog-scale-enter}.ef-animated-dialog[data-open] .ef-animated-dialog__registration{animation:.15s ease-out .1s both ef-animated-dialog-strip-enter}.ef-animated-dialog[data-open] .ef-animated-dialog__separator{animation:.12s ease-out .2s both ef-animated-dialog-strip-enter}.ef-animated-dialog[data-ending-style]{animation:.1s ease-out .2s both ef-animated-dialog-exit}.ef-animated-dialog[data-ending-style] .ef-animated-dialog__top-strip{animation:.1s ease-in .15s both ef-animated-dialog-strip-exit}.ef-animated-dialog[data-ending-style] .ef-animated-dialog__footer{animation:.1s ease-in 50ms both ef-animated-dialog-strip-exit}.ef-animated-dialog[data-ending-style] .ef-animated-dialog__icon{animation:.1s ease-in both ef-animated-dialog-scale-exit}.ef-animated-dialog[data-ending-style] .ef-animated-dialog__close-motion{animation:.15s ease-in both ef-animated-dialog-scale-exit}.ef-animated-dialog[data-ending-style] .ef-animated-dialog__registration{animation:80ms ease-in both ef-animated-dialog-strip-exit}.ef-animated-dialog[data-ending-style] .ef-animated-dialog__separator{animation:.1s ease-in .1s both ef-animated-dialog-strip-exit}@keyframes ef-animated-dialog-enter{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes ef-animated-dialog-exit{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}@keyframes ef-animated-dialog-strip-enter{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes ef-animated-dialog-strip-exit{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes ef-animated-dialog-scale-enter{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes ef-animated-dialog-scale-exit{0%{transform:scale(1)}to{transform:scale(0)}}@media (prefers-reduced-motion:reduce){.ef-animated-dialog,.ef-animated-dialog :is(.ef-animated-dialog__top-strip,.ef-animated-dialog__footer,.ef-animated-dialog__icon,.ef-animated-dialog__close-motion,.ef-animated-dialog__registration,.ef-animated-dialog__separator){animation-duration:.01ms!important;animation-delay:0s!important}}@media (forced-colors:active){.ef-animated-dialog{background:canvas;border:1px solid canvastext}.ef-animated-dialog__top-strip,.ef-animated-dialog__title-deco,.ef-animated-dialog__separator,.ef-animated-dialog__registration,.ef-animated-dialog__footer{display:none}.ef-animated-dialog__content{color:canvastext;background:canvas}.ef-animated-dialog__title-band{background:canvas;border:1px solid canvastext}.ef-animated-dialog__title{color:canvastext}.ef-animated-dialog__close{color:buttontext;background:buttonface;border:1px solid buttontext}}.ef-rounded-select{color:#373537;width:100%;min-width:0;position:relative}.ef-rounded-select-trigger{z-index:1;box-sizing:border-box;width:100%;min-height:32px;color:inherit;font:inherit;text-align:left;cursor:default;background:#edebec;border:0;border-radius:9999px;align-items:center;gap:8px;padding:4px 10px 4px 14px;line-height:24px;display:flex;position:relative;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.ef-rounded-select-trigger:hover:not(:disabled){background:#e0e0e0}.ef-rounded-select-trigger:active:not(:disabled){background:#edebec}.ef-rounded-select-trigger:disabled{color:#6e6d6e;cursor:not-allowed;box-shadow:none;background:#edebec66}.ef-rounded-select-trigger:focus-visible{outline:2px solid var(--ef-focus,#373537);outline-offset:2px}.ef-rounded-select[data-invalid] .ef-rounded-select-trigger,.ef-rounded-select-mirror[data-invalid]{outline:2px solid var(--ef-danger,#bd3636);outline-offset:1px}.ef-rounded-select-value{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.ef-rounded-select-chevron{flex-shrink:0;align-items:center;transition:transform .3s;display:flex}.ef-rounded-select-chevron[data-popup-open]{transform:rotate(180deg)}.ef-rounded-select-positioner{z-index:var(--z-overlay,300);min-width:var(--anchor-width);color:#373537;pointer-events:none;outline:none;max-width:calc(100vw - 16px)}.ef-rounded-select-mirror{width:var(--anchor-width);height:var(--anchor-height);pointer-events:none;position:absolute;top:-16px;left:0}.ef-rounded-select-mirror[data-hovered]{background:#e0e0e0}.ef-rounded-select-mirror[data-pressed]{background:#edebec}.ef-rounded-select-positioner[data-side=top] .ef-rounded-select-mirror{top:auto;bottom:-16px}.ef-rounded-select-popup{box-sizing:border-box;width:max-content;min-width:var(--anchor-width);max-width:min(var(--available-width), calc(100vw - 16px));max-height:min(var(--available-height), 256px);color:#373537;opacity:1;transform-origin:top;pointer-events:none;background:#d4d2d3;border-radius:0 0 6px 6px;flex-direction:column;padding-top:22px;transition:transform .15s ease-out,opacity .15s ease-out;display:flex;overflow:hidden;transform:scaleY(1);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.ef-rounded-select-popup[data-side=top]{transform-origin:bottom;border-radius:6px 6px 0 0;padding-top:0;padding-bottom:22px}.ef-rounded-select-popup[data-starting-style],.ef-rounded-select-popup[data-ending-style]{opacity:0;transform:scaleY(0)}.ef-rounded-select-scroll-area{pointer-events:auto;flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.ef-rounded-select-viewport{overscroll-behavior:contain;outline:none;flex:1;min-height:0}.ef-rounded-select-option{box-sizing:border-box;width:100%;min-width:0;font:inherit;text-align:left;cursor:default;-webkit-user-select:none;user-select:none;outline:none;align-items:center;padding:6px 4px;line-height:24px;display:flex;position:relative}.ef-rounded-select-option[data-highlighted]:not([data-selected]):not([data-disabled]){background:#e0e0e0}.ef-rounded-select-option[data-selected]:not([data-disabled]){color:#fff;background:#5f5f5f}.ef-rounded-select-option[data-selected]:before{content:"";background:#fff;border-radius:9999px;width:2.5px;height:18px;position:absolute;top:50%;left:1.5px;transform:translateY(-50%)}.ef-rounded-select-option[data-disabled]{color:#6e6d6e;cursor:not-allowed}.ef-rounded-select-option:focus-visible{outline-offset:-2px;outline:2px solid}.ef-rounded-select-option-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin-inline:8px;overflow:hidden}.ef-rounded-select-left,.ef-rounded-select-right{flex-shrink:0;align-items:center;display:flex}.ef-rounded-select-left{margin-left:4px}.ef-rounded-select-right{margin-right:4px}.ef-rounded-select-check{flex-shrink:0;justify-content:center;align-items:center;width:16px;display:flex}.ef-rounded-select-scrollbar{opacity:0;justify-content:center;width:12px;transition:opacity .3s;display:flex;position:relative}.ef-rounded-select-scrollbar[data-hovering],.ef-rounded-select-scrollbar[data-scrolling],.ef-rounded-select-scroll-area:focus-within .ef-rounded-select-scrollbar{opacity:1}.ef-rounded-select-scrollbar:before{content:"";inset-block:0;background:#0003;border-radius:9999px;width:3px;position:absolute;left:50%;transform:translate(-50%)}.ef-rounded-select-thumb{z-index:1;cursor:grab;background:#fcfefe;border-radius:9999px;width:5px;box-shadow:0 0 2px #0003}.ef-rounded-select-thumb:active{cursor:grabbing}@media (prefers-reduced-motion:reduce){.ef-rounded-select-chevron,.ef-rounded-select-popup,.ef-rounded-select-scrollbar{transition:none}}@media (forced-colors:active){.ef-rounded-select-trigger,.ef-rounded-select-popup{color:buttontext;box-shadow:none;background:canvas;border:1px solid buttontext}.ef-rounded-select-trigger:disabled,.ef-rounded-select-option[data-disabled]{color:graytext}.ef-rounded-select-option[data-selected]:not([data-disabled]){color:highlighttext;forced-color-adjust:none;background:highlight}.ef-rounded-select-option[data-selected]:before{background:currentColor}.ef-rounded-select-scrollbar:before{background:canvas;border:1px solid buttontext}.ef-rounded-select-thumb{background:buttontext}}.ef-rounded-button{box-sizing:border-box;color:#fefcfc;cursor:default;background:#2a2728;border:0;border-radius:9999px;justify-content:center;align-items:center;min-width:112px;padding:.3em .35em;font-family:inherit;font-size:16px;line-height:1.5;display:inline-flex;box-shadow:0 0 0 .1em #2a2728,inset 0 0 0 .1em #81807f}.ef-rounded-button[data-variant=default]{color:#4d4d4d;background:#f2f1ef;box-shadow:0 0 0 .1em #f2f1ef,inset 0 0 0 .1em #a0a2a3}.ef-rounded-button[data-icon-position=left]{padding-left:.3em}.ef-rounded-button:disabled{opacity:.7;cursor:not-allowed}.ef-rounded-button[data-loading]{cursor:progress}.ef-rounded-button:focus-visible,.ef-rounded-icon-button:focus-visible{outline:2px solid var(--ef-focus,#373537);outline-offset:3px}.ef-rounded-button-text{text-align:center;flex:1}.ef-rounded-button-icon{color:#2a2728;pointer-events:none;background:#fefcfc;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;width:1.3em;height:1.3em;transition:background-color .3s,color .3s;display:flex}.ef-rounded-button-icon svg{font-size:1.3em}.ef-rounded-button[data-variant=default] .ef-rounded-button-icon{color:#f2f1ef;background:#4d4d4d}.ef-rounded-button[data-variant=default] .ef-rounded-button-icon svg{font-size:1em}.ef-rounded-button-spinner{box-sizing:border-box;border:2px solid #fb0;border-top-color:#fff;border-radius:9999px;width:1em;height:1em;animation:1s linear infinite ef-rounded-button-spin}@keyframes ef-rounded-button-spin{to{transform:rotate(360deg)}}.ef-rounded-icon-button{box-sizing:border-box;color:#3c3c3c;width:24px;height:24px;font:inherit;cursor:default;background:#fafafa;border:0;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background-color .15s;display:inline-flex;position:relative;box-shadow:0 0 10px #0202024d}.ef-rounded-icon-button:disabled{opacity:.5;cursor:not-allowed}.ef-rounded-icon-button-texture,.ef-rounded-icon-button-border{pointer-events:none;border-radius:9999px;position:absolute;inset:0}.ef-rounded-icon-button-texture{background:var(--ef-game-button-texture,url(./assets/pag-button-texture.png)) center / cover no-repeat;opacity:.4}.ef-rounded-icon-button-border{z-index:1}.ef-rounded-icon-button-border:before,.ef-rounded-icon-button-border:after{content:"";border-radius:9999px;position:absolute;inset:0}.ef-rounded-icon-button-border:before{border:1.5px solid #e6e6e6}.ef-rounded-icon-button-border:after{border:1px solid #fff}.ef-rounded-icon-button-content{pointer-events:none;justify-content:center;align-items:center;display:flex;position:relative}@media (hover:hover) and (pointer:fine){.ef-rounded-button:not(:disabled):not([data-loading]):hover{background:#2a2728b5;box-shadow:0 0 0 .1em #2a2728b5,inset 0 0 0 .1em #81807f}.ef-rounded-button[data-variant=default]:not(:disabled):not([data-loading]):hover{background:#e8e8e8b5;box-shadow:0 0 0 .1em #e8e8e8b5,inset 0 0 0 .1em #a5a5a5}}@media (min-width:768px) and (hover:hover) and (pointer:fine){.ef-rounded-icon-button:not(:disabled):hover{background:#fffa00}.ef-rounded-icon-button:not(:disabled):active{background:#eeea00}}@media (prefers-reduced-motion:reduce){.ef-rounded-button-icon,.ef-rounded-icon-button{transition:none}.ef-rounded-button-spinner{animation:none}}@media (forced-colors:active){.ef-rounded-button,.ef-rounded-icon-button{color:buttontext;box-shadow:none;background:buttonface;border:1px solid buttontext}.ef-rounded-button:disabled,.ef-rounded-icon-button:disabled{color:graytext;border-color:graytext}.ef-rounded-button-icon{color:buttontext;background:buttonface;border:1px solid buttontext}.ef-rounded-icon-button-texture,.ef-rounded-icon-button-border{display:none}.ef-rounded-button-spinner{border-color:highlight buttontext buttontext}}.ef-rounded-icon-button-texture:is([data-ef-game-images=off],[data-ef-game-images=off] *){background:0 0;display:none}.ef-rounded-toggle{isolation:isolate;background:#5c5a5d;border-radius:9999px;align-items:center;width:100%;min-width:0;max-width:100%;min-height:32px;font-size:16px;line-height:24px;display:flex;position:relative;box-shadow:0 0 3px #0004}.ef-rounded-toggle__highlight{z-index:1;pointer-events:none;background:#edebec;border-radius:9999px;height:100%;transition-property:none;position:absolute;inset:0 auto 0 0;box-shadow:0 0 3px #0006}.ef-rounded-toggle__highlight[hidden]{display:none}.ef-rounded-toggle__option{z-index:2;color:#b3b1b4;min-width:0;min-height:32px;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:9999px;flex:1 1 0;justify-content:center;align-items:center;gap:8px;padding:4px 16px;display:flex;position:relative}.ef-rounded-toggle__option[data-checked]{color:#373537}.ef-rounded-toggle__option:is([disabled],[aria-disabled=true]){cursor:not-allowed}.ef-rounded-toggle__option:focus-visible{outline:2px solid var(--ef-focus,#191919);outline-offset:2px;z-index:3}.ef-rounded-toggle__label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ef-rounded-toggle__icon{background:#373537;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:flex}@media (forced-colors:active){.ef-rounded-toggle{box-shadow:none;background:canvas;border:1px solid buttontext}.ef-rounded-toggle__highlight{box-shadow:none;forced-color-adjust:none;background:highlight}.ef-rounded-toggle__option{color:buttontext}.ef-rounded-toggle__option[data-checked]{color:highlighttext;forced-color-adjust:none}.ef-rounded-toggle__option:is([disabled],[aria-disabled=true]){color:graytext}.ef-rounded-toggle__option:focus-visible{outline-color:highlight}}.ef-rounded-switch{isolation:isolate;background:#5c5a5d;border-radius:9999px;align-items:center;width:100%;min-width:0;max-width:100%;min-height:32px;font-size:16px;line-height:24px;display:flex;position:relative;box-shadow:0 0 3px #0004}.ef-rounded-switch__highlight{z-index:1;pointer-events:none;background:#edebec;border-radius:9999px;width:calc(50% + .5em);height:100%;transition-property:none;position:absolute;inset:0 auto 0 0;box-shadow:0 0 3px #0006}.ef-rounded-switch__option{z-index:2;color:#b3b1b4;min-width:0;min-height:32px;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:9999px;flex:1 1 0;justify-content:center;align-items:center;padding:4px 16px;display:flex;position:relative}.ef-rounded-switch__option[data-checked]{color:#373537}.ef-rounded-switch__option:is([disabled],[aria-disabled=true]){cursor:not-allowed}.ef-rounded-switch__option:focus-visible{outline:2px solid var(--ef-focus,#191919);outline-offset:2px;z-index:3}.ef-rounded-switch__option>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}@media (forced-colors:active){.ef-rounded-switch{box-shadow:none;background:canvas;border:1px solid buttontext}.ef-rounded-switch__highlight{box-shadow:none;forced-color-adjust:none;background:highlight}.ef-rounded-switch__option{color:buttontext}.ef-rounded-switch__option[data-checked]{color:highlighttext;forced-color-adjust:none}.ef-rounded-switch__option:is([disabled],[aria-disabled=true]){color:graytext}.ef-rounded-switch__option:focus-visible{outline-color:highlight}}.ef-alert-modal-viewport{--ef-game-alert-background-default:url(./assets/alert_bg.png);--ef-game-alert-banner-left-default:url(./assets/alert_banner_bg_left.png);--ef-game-alert-banner-right-default:url(./assets/alert_banner_bg_right.png);--ef-game-alert-logo-default:url(./assets/deco_common_logo_bg.png);z-index:var(--z-overlay,300);justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.ef-alert-modal-viewport[hidden],.ef-banner-alert[hidden],.ef-banner-alert-backdrop[hidden]{display:none}.ef-alert-modal-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ef-banner-alert-backdrop{z-index:var(--z-overlay,300);background:#0003;position:fixed;inset:0}.ef-banner-alert{background-color:#fefefe;background-image:var(--ef-game-alert-background,var(--ef-game-alert-background-default));color:#2a2728;transform-origin:top;background-position:100% 100%;background-repeat:no-repeat;background-size:90%;border-radius:.2em;outline:none;flex-direction:column;max-width:calc(100vw - 2em);min-height:10em;max-height:calc(100dvh - 4em);margin:1em;padding:1.7em 0 16px;display:flex;position:relative;box-shadow:0 0 .4em #0000004d}.ef-banner-alert__banner{z-index:0;pointer-events:none;align-items:stretch;width:100%;height:4.5em;display:flex;position:absolute;top:0;left:0}.ef-banner-alert__banner>:first-child{background:var(--ef-game-alert-banner-left,var(--ef-game-alert-banner-left-default)) top left / contain repeat-x;flex:1;height:100%;padding-right:30%;display:block}.ef-banner-alert__banner>:last-child{background:var(--ef-game-alert-banner-right,var(--ef-game-alert-banner-right-default)) top right / 100% 100% no-repeat;flex-shrink:0;width:6.96711em;height:4.5em;display:block}.ef-banner-alert__content{z-index:1;overscroll-behavior:contain;flex-direction:column;flex:1;min-height:0;margin-inline:16px;transition-property:none;display:flex;position:relative;overflow-y:auto}.ef-banner-alert__body{color:#2a2728;flex:1;padding-block:16px}.ef-banner-alert__actions{z-index:1;flex-shrink:0;justify-content:space-between;gap:16px;padding:16px 16px 0;transition-property:none;display:flex;position:relative}.ef-banner-alert__actions[data-hide-cancel]{justify-content:center}.ef-banner-alert__button{width:50%}.ef-banner-alert[data-open]{animation:.15s ease-out both ef-banner-alert-enter}.ef-banner-alert[data-ending-style]{animation:.15s ease-out both ef-banner-alert-scale-exit,30ms ease-out 70ms both ef-banner-alert-opacity-exit}.ef-banner-alert[data-ending-style] :is(.ef-banner-alert__content,.ef-banner-alert__actions){animation:.15s ease-out both ef-banner-alert-content-exit}@keyframes ef-banner-alert-enter{0%{opacity:0;transform:scaleY(0)}to{opacity:1;transform:scaleY(1)}}@keyframes ef-banner-alert-scale-exit{0%{transform:scaleY(1)}to{transform:scaleY(0)}}@keyframes ef-banner-alert-opacity-exit{0%{opacity:1}to{opacity:0}}@keyframes ef-banner-alert-content-exit{0%{opacity:var(--ef-game-alert-exit-opacity,1)}to{opacity:0}}@media (min-width:768px){.ef-banner-alert{max-width:calc(100vw - .2em);margin:.5em}}@media (prefers-reduced-motion:reduce){.ef-banner-alert,.ef-banner-alert :is(.ef-banner-alert__content,.ef-banner-alert__actions){animation-duration:.01ms!important;animation-delay:0s!important}}@media (forced-colors:active){.ef-banner-alert{color:canvastext;box-shadow:none;background:canvas;border:1px solid canvastext}.ef-banner-alert__body{color:canvastext}.ef-banner-alert__banner{display:none}}.ef-banner-alert:is([data-ef-game-images=off],[data-ef-game-images=off] *){background-image:none}.ef-banner-alert__banner:is([data-ef-game-images=off],[data-ef-game-images=off] *){display:none}.ef-banner-alert__banner:is([data-ef-game-images=off],[data-ef-game-images=off] *)>*{background:0 0}.ef-full-width-alert-backdrop{z-index:var(--z-overlay,300);opacity:1;background:#00000080;transition:opacity 50ms ease-out;position:fixed;inset:0}.ef-full-width-alert-backdrop[data-starting-style],.ef-full-width-alert-backdrop[data-ending-style]{opacity:0}.ef-full-width-alert-viewport{z-index:var(--z-overlay,300);justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.ef-full-width-alert{box-sizing:border-box;color:#2a2728;filter:drop-shadow(0 0 .4em #0000004d);opacity:1;transform-origin:100%;background:#fefefe;outline:none;flex-direction:column;width:100%;min-width:0;min-height:10em;max-height:calc(100dvh - 4em);padding-top:1.7em;padding-bottom:16px;font-size:16px;line-height:1.5;transition:transform .1s ease-out,opacity .1s ease-out;display:flex;position:relative;transform:scaleX(1)}.ef-full-width-alert[data-starting-style],.ef-full-width-alert[data-ending-style]{opacity:0;transform:scaleX(0)}.ef-full-width-alert[hidden],.ef-full-width-alert-backdrop[hidden]{display:none}.ef-full-width-alert-decoration{pointer-events:none;position:absolute;inset:0;overflow:hidden}.ef-full-width-alert-logo{background:var(--ef-game-alert-logo,var(--ef-game-alert-logo-default)) bottom left / contain no-repeat;width:100%;height:calc(100% - 1em);position:absolute;bottom:0;left:-2em}.ef-full-width-alert-color-bar{background:linear-gradient(90deg,#f0f48a 0% 50%,#57a2b5 50% 75%,#b96bbc 75% 100%);width:15em;max-width:100%;height:.2em;position:absolute;top:0;left:0}.ef-full-width-alert-banner{width:40em;height:3em;display:flex;position:absolute;top:0;right:0;transform:scaleX(-1)}.ef-full-width-alert-banner-left{box-sizing:border-box;background:var(--ef-game-alert-banner-left,var(--ef-game-alert-banner-left-default)) top left / contain repeat-x;flex:1;height:100%;padding-right:30%}.ef-full-width-alert-banner-right{background:var(--ef-game-alert-banner-right,var(--ef-game-alert-banner-right-default)) center / contain no-repeat;flex-shrink:0;width:4.64474em;height:3em}.ef-full-width-alert-content{z-index:1;flex-direction:column;flex:1;min-width:0;min-height:0;margin-inline:16px;display:flex;position:relative}.ef-full-width-alert-scroll-area{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.ef-full-width-alert-viewport-content{overscroll-behavior:contain;flex:1;min-width:0;min-height:0}.ef-full-width-alert-viewport-content:focus-visible{outline:2px solid var(--ef-focus,#373537);outline-offset:-2px}.ef-full-width-alert-body{color:#2a2728;flex-direction:column;align-items:center;min-width:0;padding-block:16px;display:flex}.ef-full-width-alert-scrollbar{opacity:0;justify-content:center;width:12px;transition:opacity .3s;display:flex;position:relative}.ef-full-width-alert-scrollbar[data-hovering],.ef-full-width-alert-scrollbar[data-scrolling],.ef-full-width-alert-scroll-area:focus-within .ef-full-width-alert-scrollbar{opacity:1}.ef-full-width-alert-scrollbar:before{content:"";inset-block:0;background:#0003;border-radius:9999px;width:3px;position:absolute;left:50%;transform:translate(-50%)}.ef-full-width-alert-thumb{z-index:1;cursor:grab;background:#fcfefe;border-radius:9999px;width:5px;box-shadow:0 0 2px #0003}.ef-full-width-alert-thumb:active{cursor:grabbing}.ef-full-width-alert-actions{z-index:1;box-sizing:border-box;margin-inline:auto;flex-shrink:0;gap:32px;width:26em;max-width:calc(100% - 2em);margin-bottom:-2em;padding:16px 16px 0;display:flex;position:relative}.ef-full-width-alert-action{flex:1;min-width:0;display:flex;position:relative}.ef-full-width-alert-action-backing{pointer-events:none;background:#fefefe;border-radius:0 0 9999px 9999px;position:absolute;inset:50% -.24em -.24em}.ef-full-width-alert-button{flex:1;position:relative}@media (min-width:768px){.ef-full-width-alert-actions{gap:16px;width:25em}}@media (prefers-reduced-motion:reduce){.ef-full-width-alert-backdrop,.ef-full-width-alert,.ef-full-width-alert-scrollbar{transition:none}}@media (forced-colors:active){.ef-full-width-alert{color:canvastext;filter:none;background:canvas;border:1px solid canvastext}.ef-full-width-alert-decoration{display:none}.ef-full-width-alert-body,.ef-full-width-alert-action-backing{color:canvastext;background:canvas}.ef-full-width-alert-scrollbar:before{background:canvas;border:1px solid canvastext}.ef-full-width-alert-thumb{background:canvastext}}.ef-full-width-alert-logo:is([data-ef-game-images=off],[data-ef-game-images=off] *),.ef-full-width-alert-banner:is([data-ef-game-images=off],[data-ef-game-images=off] *){background:0 0;display:none}.ef-full-width-alert-banner-left:is([data-ef-game-images=off],[data-ef-game-images=off] *),.ef-full-width-alert-banner-right:is([data-ef-game-images=off],[data-ef-game-images=off] *){background:0 0}.ef-composite-item-icon{isolation:isolate;display:block;position:relative;overflow:hidden}.ef-composite-item-icon__layer{pointer-events:none;object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.ef-composite-item-icon__art{pointer-events:auto}.ef-composite-item-icon__overlay{mix-blend-mode:screen}:root,[data-theme=light]{--ef-game-itemcard-bg-item-default:url(./assets/items_background.webp);--ef-game-itemcard-bg-weapon-default:url(./assets/weapons_background.webp);--ef-game-itemcard-bg-enemy-default:url(./assets/enemies_background.webp);--ef-game-itemcard-x-bg-item-default:url(./assets/items_background_dark.webp);--ef-game-itemcard-x-bg-weapon-default:url(./assets/weapons_background_dark.webp);--ef-game-itemcard-x-bg-enemy-default:url(./assets/enemies_background_dark.webp)}[data-theme=dark]{--ef-game-itemcard-bg-item-default:url(./assets/items_background_dark.webp);--ef-game-itemcard-bg-weapon-default:url(./assets/weapons_background_dark.webp);--ef-game-itemcard-bg-enemy-default:url(./assets/enemies_background_dark.webp);--ef-game-itemcard-x-bg-item-default:url(./assets/items_background.webp);--ef-game-itemcard-x-bg-weapon-default:url(./assets/weapons_background.webp);--ef-game-itemcard-x-bg-enemy-default:url(./assets/enemies_background.webp)}[data-theme=inverse]{--ef-game-itemcard-bg-item-default:var(--ef-game-itemcard-x-bg-item-default);--ef-game-itemcard-bg-weapon-default:var(--ef-game-itemcard-x-bg-weapon-default);--ef-game-itemcard-bg-enemy-default:var(--ef-game-itemcard-x-bg-enemy-default)}.ef-item-card{box-sizing:border-box;width:112px;max-width:100%;margin-inline:auto}.ef-item-card[data-variant=inventory]{flex-direction:column;gap:4px;width:96px;display:flex}.ef-item-card-tile{isolation:isolate;border-radius:6px;position:relative;overflow:hidden}.ef-item-card-background,.ef-item-card-edge{pointer-events:none;position:absolute;inset:0}.ef-item-card-background{background-color:var(--ef-surface-muted,#e6e6e6);background-position:50%;background-size:cover}.ef-item-card[data-kind=item] .ef-item-card-background{background-image:var(--ef-game-itemcard-bg-item,var(--ef-game-itemcard-bg-item-default))}.ef-item-card[data-kind=weapon] .ef-item-card-background{background-image:var(--ef-game-itemcard-bg-weapon,var(--ef-game-itemcard-bg-weapon-default))}.ef-item-card[data-kind=enemy] .ef-item-card-background{background-image:var(--ef-game-itemcard-bg-enemy,var(--ef-game-itemcard-bg-enemy-default))}.ef-item-card-art{z-index:10;box-sizing:border-box;aspect-ratio:1;padding:4px 4px 12px;position:relative}.ef-item-card-icon{width:100%;height:100%}.ef-item-card-fallback{color:#ffffffb3;text-transform:uppercase;letter-spacing:.08em;place-items:center;font-family:monospace;font-size:12px;display:grid;position:absolute;inset:0}.ef-item-card-badges{z-index:30;pointer-events:none;flex-direction:column;align-items:flex-end;gap:2px;display:flex;position:absolute;top:4px;right:4px}.ef-item-card-strip{z-index:20;padding:12px 6px 6px;position:absolute;bottom:0;left:0;right:0;overflow:hidden;container-type:inline-size}.ef-item-card-edge{background-image:linear-gradient(to top, var(--ef-surface,#fff), transparent)}@supports (color:color-mix(in lab, red, red)){.ef-item-card-edge{background-image:linear-gradient(to top, color-mix(in srgb, var(--ef-surface,#fff) 62%, transparent), transparent)}}.ef-item-card-edge{background-position:bottom;background-repeat:no-repeat;background-size:100% 100%}.ef-item-card[data-rarity="1"] .ef-item-card-edge{background-image:var(--ef-game-itemcard-edge-1,url(./assets/icon_card_rarity_1_bottom_edge.webp))}.ef-item-card[data-rarity="2"] .ef-item-card-edge{background-image:var(--ef-game-itemcard-edge-2,url(./assets/icon_card_rarity_2_bottom_edge.webp))}.ef-item-card[data-rarity="3"] .ef-item-card-edge{background-image:var(--ef-game-itemcard-edge-3,url(./assets/icon_card_rarity_3_bottom_edge.webp))}.ef-item-card[data-rarity="4"] .ef-item-card-edge{background-image:var(--ef-game-itemcard-edge-4,url(./assets/icon_card_rarity_4_bottom_edge.webp))}.ef-item-card[data-rarity="5"] .ef-item-card-edge{background-image:var(--ef-game-itemcard-edge-5,url(./assets/icon_card_rarity_5_bottom_edge.webp))}.ef-item-card[data-rarity="6"] .ef-item-card-edge{background-image:var(--ef-game-itemcard-edge-6,url(./assets/icon_card_rarity_6_bottom_edge.webp))}.ef-item-card-strip-content{justify-content:center;display:flex;position:relative}.ef-item-card-name,.ef-item-card-count{color:var(--ef-game-itemcard-ink,var(--ef-ink,#191919));text-align:center;font-size:14px;font-weight:700}.ef-item-card-name{text-overflow:ellipsis;white-space:nowrap;width:100%;line-height:17.5px;overflow:hidden}.ef-item-card-count{color:var(--ef-game-itemcard-count-color,var(--ef-game-itemcard-ink,var(--ef-ink,#191919)));font-size:var(--ef-game-itemcard-count-size,14px);font-variant-numeric:tabular-nums;line-height:1.25;transform:translateY(2px)}.ef-item-card-caption{-webkit-line-clamp:2;color:var(--ef-game-itemcard-ink,var(--ef-ink,#191919));text-align:center;-webkit-box-orient:vertical;font-size:12px;line-height:15px;display:-webkit-box;overflow:hidden}.ef-item-card-action{box-sizing:border-box;width:fit-content;max-width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0;display:block}.ef-item-card-action[data-selected]{outline:2px solid var(--ef-game-itemcard-accent,var(--ef-accent-ink,#d4bd00));outline-offset:2px}.ef-item-card-action:disabled{opacity:.45;cursor:not-allowed}.ef-item-card-disabled-reason{color:var(--ef-game-itemcard-muted,var(--ef-ink-secondary,#737373));margin-top:4px;font-size:12px;line-height:1.625;display:block}.ef-item-card-link{width:fit-content;max-width:100%;text-decoration:none;transition:filter .15s;display:block}.ef-item-card-action:focus-visible,.ef-item-card-link:focus-visible{outline:2px solid var(--ef-game-itemcard-accent,var(--ef-focus,#373537));outline-offset:2px;border-radius:6px}@media (hover:hover){.ef-item-card-link:hover,.ef-item-card-action:enabled:hover{filter:brightness(1.1)}}@media (prefers-reduced-motion:reduce){.ef-item-card-link{transition:none}}@media (forced-colors:active){.ef-item-card-tile{border:1px solid canvastext}.ef-item-card-background,.ef-item-card-edge{display:none}.ef-item-card-name,.ef-item-card-count{color:canvastext}.ef-item-card-action:disabled{color:graytext}.ef-item-card-action[data-selected]{outline-color:highlight}.ef-item-card-action:focus-visible,.ef-item-card-link:focus-visible{outline-color:buttontext}}.ef-item-card[data-kind] .ef-item-card-background:is([data-ef-game-images=off],[data-ef-game-images=off] *){background-image:none}.ef-item-card[data-rarity="1"] .ef-item-card-edge:is([data-ef-game-images=off],[data-ef-game-images=off] *){background-image:linear-gradient(to top, #9b9b9b 0 3px, transparent 3px), linear-gradient(to top, var(--ef-surface,#fff), transparent)}@supports (color:color-mix(in lab, red, red)){.ef-item-card[data-rarity="1"] .ef-item-card-edge:is([data-ef-game-images=off],[data-ef-game-images=off] *){background-image:linear-gradient(to top, #9b9b9b 0 3px, transparent 3px), linear-gradient(to top, color-mix(in srgb, var(--ef-surface,#fff) 62%, transparent), transparent)}}.ef-item-card[data-rarity="2"] .ef-item-card-edge:is([data-ef-game-images=off],[data-ef-game-images=off] *){background-image:linear-gradient(to top, #abce42 0 3px, transparent 3px), linear-gradient(to top, var(--ef-surface,#fff), transparent)}@supports (color:color-mix(in lab, red, red)){.ef-item-card[data-rarity="2"] .ef-item-card-edge:is([data-ef-game-images=off],[data-ef-game-images=off] *){background-image:linear-gradient(to top, #abce42 0 3px, transparent 3px), linear-gradient(to top, color-mix(in srgb, var(--ef-surface,#fff) 62%, transparent), transparent)}}.ef-item-card[data-rarity="3"] .ef-item-card-edge:is([data-ef-game-images=off],[data-ef-game-images=off] *){background-image:linear-gradient(to top, #26bbfd 0 3px, transparent 3px), linear-gradient(to top, var(--ef-surface,#fff), transparent)}@supports (color:color-mix(in lab, red, red)){.ef-item-card[data-rarity="3"] .ef-item-card-edge:is([data-ef-game-images=off],[data-ef-game-images=off] *){background-image:linear-gradient(to top, #26bbfd 0 3px, transparent 3px), linear-gradient(to top, color-mix(in srgb, var(--ef-surface,#fff) 62%, transparent), transparent)}}.ef-item-card[data-rarity="4"] .ef-item-card-edge:is([data-ef-game-images=off],[data-ef-game-images=off] *){background-image:linear-gradient(to top, #9452fa 0 3px, transparent 3px), linear-gradient(to top, var(--ef-surface,#fff), transparent)}@supports (color:color-mix(in lab, red, red)){.ef-item-card[data-rarity="4"] .ef-item-card-edge:is([data-ef-game-images=off],[data-ef-game-images=off] *){background-image:linear-gradient(to top, #9452fa 0 3px, transparent 3px), linear-gradient(to top, color-mix(in srgb, var(--ef-surface,#fff) 62%, transparent), transparent)}}.ef-item-card[data-rarity="5"] .ef-item-card-edge:is([data-ef-game-images=off],[data-ef-game-images=off] *){background-image:linear-gradient(to top, #ffbb03 0 3px, transparent 3px), linear-gradient(to top, var(--ef-surface,#fff), transparent)}@supports (color:color-mix(in lab, red, red)){.ef-item-card[data-rarity="5"] .ef-item-card-edge:is([data-ef-game-images=off],[data-ef-game-images=off] *){background-image:linear-gradient(to top, #ffbb03 0 3px, transparent 3px), linear-gradient(to top, color-mix(in srgb, var(--ef-surface,#fff) 62%, transparent), transparent)}}.ef-item-card[data-rarity="6"] .ef-item-card-edge:is([data-ef-game-images=off],[data-ef-game-images=off] *){background-image:linear-gradient(to top, #ff7100 0 3px, transparent 3px), linear-gradient(to top, var(--ef-surface,#fff), transparent)}@supports (color:color-mix(in lab, red, red)){.ef-item-card[data-rarity="6"] .ef-item-card-edge:is([data-ef-game-images=off],[data-ef-game-images=off] *){background-image:linear-gradient(to top, #ff7100 0 3px, transparent 3px), linear-gradient(to top, color-mix(in srgb, var(--ef-surface,#fff) 62%, transparent), transparent)}}.ef-item-tooltip-card{--ef-game-item-tooltip-rarity:#9b9b9b;isolation:isolate;color:#555651;font-synthesis:none;text-align:left;color-scheme:light;background:#cdcdcb;border-radius:2px;font-family:HarmonyOS Sans SC,HarmonyOS Sans,sans-serif;font-weight:500;overflow:hidden;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;container-type:inline-size}.ef-item-tooltip-card[data-rarity="2"]{--ef-game-item-tooltip-rarity:#abce42}.ef-item-tooltip-card[data-rarity="3"]{--ef-game-item-tooltip-rarity:#26bbfd}.ef-item-tooltip-card[data-rarity="4"]{--ef-game-item-tooltip-rarity:#9452fa}.ef-item-tooltip-card[data-rarity="5"]{--ef-game-item-tooltip-rarity:#ffbb03}.ef-item-tooltip-card[data-rarity="6"]{--ef-game-item-tooltip-rarity:#ff7100}.ef-item-tooltip-card *,.ef-item-tooltip-card :before,.ef-item-tooltip-card :after{box-sizing:border-box}.ef-item-tooltip-card p,.ef-item-tooltip-card h2,.ef-item-tooltip-card h3{overflow-wrap:anywhere;margin:0}.ef-item-tooltip-card a{color:inherit;text-decoration:none}.ef-item-tooltip-card__header{background:linear-gradient(90deg, var(--ef-game-item-tooltip-rarity) 0%, var(--ef-game-item-tooltip-rarity) 45%, var(--ef-game-item-tooltip-rarity) 100%);align-items:center;gap:12px;min-height:48px;padding:8px 20px;display:flex;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.ef-item-tooltip-card__header{background:linear-gradient(90deg, color-mix(in srgb, var(--ef-game-item-tooltip-rarity) 78%, #303234) 0%, color-mix(in srgb, var(--ef-game-item-tooltip-rarity) 78%, #4b415a) 45%, color-mix(in srgb, var(--ef-game-item-tooltip-rarity) 78%, #8e8b85) 100%)}}.ef-item-tooltip-card__header{color:#fff}.ef-item-tooltip-card__header h2{flex:1;min-width:0;font-size:20px;font-weight:500;line-height:1.25;position:relative}.ef-item-tooltip-card__header-texture{background:var(--ef-game-item-tooltip-header,url(./assets/header.webp)) center / 100% 100% no-repeat;opacity:.78;pointer-events:none;position:absolute;inset:0}.ef-item-tooltip-card__detail-link{border-radius:2px;flex-shrink:0;transition:opacity .15s;position:relative}.ef-item-tooltip-card__detail-link-icon{background:var(--ef-game-item-tooltip-link-icon,url(./assets/link.webp)) center / contain no-repeat;pointer-events:none;width:32px;height:32px;display:block}.ef-item-tooltip-card__detail-link:hover{opacity:.75}.ef-item-tooltip-card__detail-link:focus-visible{outline-offset:2px;outline:2px solid #fff}.ef-item-tooltip-card__body{background:#2e3234;flex-direction:column;min-height:256px;display:flex;position:relative}.ef-item-tooltip-card__detail-texture{border:5px solid #0000;border-width:126px 5px 0;border-image-source:var(--ef-game-item-tooltip-detail,url(./assets/detail.png));filter:brightness(1.1);pointer-events:none;border-image-slice:222 8 14 fill;border-image-repeat:stretch;position:absolute;inset:60px 0 0}.ef-item-tooltip-card__hero{min-height:160px;padding:8px 20px 0;position:relative}.ef-item-tooltip-card__category{z-index:1;color:#aeb1aa;max-width:58%;font-size:16px;font-weight:500;line-height:1.5;position:relative}.ef-item-tooltip-card__marker{opacity:.35;border-left:2px solid #72756e;width:80px;height:40px;margin-top:12px;display:block}.ef-item-tooltip-card__barcode{opacity:.35;background:repeating-linear-gradient(90deg,#aeb1aa 0 5px,#0000 5px 7px);width:96px;height:6px;margin-top:4px;display:block}.ef-item-tooltip-card .ef-item-tooltip-card__icon{filter:drop-shadow(0 4px 4px #00000026);pointer-events:none;width:176px;height:176px;position:absolute;top:-36px;right:8px}.ef-item-tooltip-card__icon img{pointer-events:none}.ef-item-tooltip-card__color-strip{pointer-events:none;background:linear-gradient(#00ffa2 0 33.333%,#ff00f0 33.333% 66.667%,#fffa00 66.667% 100%);width:4px;height:48px;position:absolute;top:8px;right:0}.ef-item-tooltip-card__text{white-space:pre-wrap;flex-direction:column;gap:6px;padding:8px 20px 12px;font-size:14px;line-height:1.375;display:flex;position:relative}.ef-item-tooltip-card__description{color:#70716d}.ef-item-tooltip-card__obtain-title{text-align:center;background:#bdbebb;border-top:2px solid #a4a5a1;padding:6px 20px;font-size:18px;font-weight:500;line-height:24px}.ef-item-tooltip-card__obtain-list{margin:0;padding:0;list-style:none}.ef-item-tooltip-card__obtain-row{background:#f6f5f3;border-top:1px solid #a4a5a1;align-items:center;gap:8px;min-height:36px;padding:8px 20px;font-size:16px;font-weight:500;line-height:20px;display:flex}a.ef-item-tooltip-card__obtain-row{transition:background-color .15s}a.ef-item-tooltip-card__obtain-row:hover{background:#e3e4df}a.ef-item-tooltip-card__obtain-row:focus-visible{outline-offset:-2px;outline:2px solid #525350}.ef-item-tooltip-card__obtain-icon{flex-shrink:0;width:20px;height:20px}.ef-item-tooltip-card__obtain-icon img{filter:brightness(0);opacity:.65}.ef-item-tooltip-card__obtain-icon svg{width:20px;height:20px;display:block}.ef-item-tooltip-card__obtain-name{overflow-wrap:anywhere;flex:1;min-width:0}.ef-item-tooltip-card__chevrons{color:#a1a39d;flex-shrink:0;width:20px;height:20px}.ef-item-tooltip-card__obtain-hint{border-top:1px solid #a4a5a1;padding:8px 20px;font-size:14px}@container (max-width:319px){.ef-item-tooltip-card .ef-item-tooltip-card__icon{width:min(176px,55cqw);height:min(176px,55cqw)}.ef-item-tooltip-card__category{max-width:max(48px,100cqw - min(176px,55cqw) - 28px)}}@media (prefers-reduced-motion:reduce){.ef-item-tooltip-card a{transition:none}}@media (forced-colors:active){.ef-item-tooltip-card{color:canvastext;box-shadow:none;background:canvas;border:1px solid canvastext}.ef-item-tooltip-card__header,.ef-item-tooltip-card__body,.ef-item-tooltip-card__obtain-title,.ef-item-tooltip-card__obtain-row{color:canvastext;background:canvas}.ef-item-tooltip-card__header-texture,.ef-item-tooltip-card__detail-texture,.ef-item-tooltip-card__marker,.ef-item-tooltip-card__barcode,.ef-item-tooltip-card__color-strip{display:none}.ef-item-tooltip-card__category,.ef-item-tooltip-card__description,.ef-item-tooltip-card__chevrons{color:canvastext}.ef-item-tooltip-card__detail-link-icon{-webkit-mask:var(--ef-game-item-tooltip-link-icon,url(./assets/link.webp)) center / contain no-repeat;-webkit-mask:var(--ef-game-item-tooltip-link-icon,url(./assets/link.webp)) center / contain no-repeat;mask:var(--ef-game-item-tooltip-link-icon,url(./assets/link.webp)) center / contain no-repeat;background:buttontext}}.ef-item-tooltip-card__header-texture:is([data-ef-game-images=off],[data-ef-game-images=off] *){background:0 0;display:none}.ef-item-tooltip-card__detail-texture:is([data-ef-game-images=off],[data-ef-game-images=off] *){border:0;border-image:;background:linear-gradient(#0000,#cdcdcb 126px);border-radius:0 0 4px 4px}.ef-item-tooltip-card__detail-link-icon:is([data-ef-game-images=off],[data-ef-game-images=off] *){background:0 0;border:2px solid;border-radius:2px}.ef-item-tooltip-card__detail-link-icon:is([data-ef-game-images=off],[data-ef-game-images=off] *):before{content:"";border:2px solid;border-width:2px 2px 0 0;width:10px;height:10px;margin:9px 0 0 6px;display:block;transform:rotate(45deg)}@media (forced-colors:active){.ef-item-tooltip-card__detail-link-icon:is([data-ef-game-images=off],[data-ef-game-images=off] *){background:0 0;-webkit-mask:none;mask:none}}.ef-item-hover-trigger{vertical-align:top;max-width:100%;display:inline-block}.ef-item-hover-positioner{z-index:var(--z-overlay,300);max-width:calc(100vw - 16px)}.ef-item-hover-panel{overscroll-behavior:contain;scrollbar-width:thin;text-align:left;background:0 0;border:0;width:100%;max-height:calc(100dvh - 16px);margin:0;padding:0;overflow-y:auto}.ef-item-hover-panel:focus-visible{outline:2px solid var(--ef-accent-ink,#fffa00);outline-offset:2px}}@layer utilities;
package/dist/game.d.ts ADDED
@@ -0,0 +1,372 @@
1
+
2
+ import { Dialog } from "@base-ui/react/dialog";
3
+ import { CSSProperties, ComponentProps, HTMLAttributes, ReactElement, ReactNode, Ref, RefObject } from "react";
4
+ //#region src/game/animated-dialog/AnimatedDialog.d.ts
5
+ type PopupProps$1 = ComponentProps<typeof Dialog.Popup>;
6
+ type PortalProps$1 = ComponentProps<typeof Dialog.Portal>;
7
+ type CloseAction = () => boolean | void | PromiseLike<boolean | void>;
8
+ type SlotClassName = string | ((open: boolean) => string);
9
+ type AnimatedDialogClassNames = {
10
+ backdrop?: SlotClassName;
11
+ alert?: SlotClassName;
12
+ contentContainer?: SlotClassName;
13
+ header?: SlotClassName;
14
+ title?: SlotClassName;
15
+ footer?: SlotClassName;
16
+ close?: SlotClassName;
17
+ };
18
+ type AnimatedDialogProps = Omit<ComponentProps<"div">, "title" | "children" | "onClose" | "className" | "style"> & {
19
+ trigger?: ReactElement<Record<string, unknown>>;
20
+ open?: boolean;
21
+ defaultOpen?: boolean;
22
+ onOpenChange?: (open: boolean) => void;
23
+ title: ReactNode;
24
+ description?: ReactNode;
25
+ icon?: ReactNode;
26
+ width?: CSSProperties["width"];
27
+ height?: CSSProperties["height"];
28
+ className?: string;
29
+ classNames?: AnimatedDialogClassNames;
30
+ /** 点遮罩是否请求关闭。默认允许。 */
31
+ dismissible?: boolean;
32
+ /** Esc 是否请求关闭。未传时跟随 dismissible。 */
33
+ keyboardCloseable?: boolean;
34
+ /** 所有内部关闭请求都会执行;返回 false 或失败时保持打开。 */
35
+ onClose?: CloseAction;
36
+ /** 遮罩与 Esc 请求先执行此回调,再执行 onClose。 */
37
+ onDismiss?: CloseAction;
38
+ closeLabel?: string;
39
+ initialFocus?: PopupProps$1["initialFocus"];
40
+ finalFocus?: PopupProps$1["finalFocus"];
41
+ keepMounted?: boolean;
42
+ /**
43
+ * 是不是模态。默认是。传 `false` 时不锁焦点、不锁页面滚动,页面的其余部分照常能用——
44
+ * 配上 `container` 可以把弹窗嵌在页面的一块区域里展示。
45
+ */
46
+ modal?: boolean;
47
+ /** 弹层挂到哪个元素里。默认挂在 `<body>` 下 */
48
+ container?: PortalProps$1["container"];
49
+ children?: ReactNode;
50
+ };
51
+ export declare function AnimatedDialog({ trigger, open: controlledOpen, defaultOpen, onOpenChange, title, description, icon, width, height, className, classNames, dismissible, keyboardCloseable, onClose, onDismiss, closeLabel, initialFocus, finalFocus, keepMounted, modal, container, children, ...popupProps }: AnimatedDialogProps): import("react").JSX.Element;
52
+ //#endregion
53
+ //#region src/game/banner-alert/types.d.ts
54
+ type PopupProps = ComponentProps<typeof Dialog.Popup>;
55
+ type PortalProps = ComponentProps<typeof Dialog.Portal>;
56
+ type AlertAction = () => boolean | void | PromiseLike<boolean | void>;
57
+ type AlertClassName = string | ((open: boolean) => string);
58
+ type AlertClassNames = {
59
+ backdrop?: AlertClassName;
60
+ alert?: AlertClassName;
61
+ content?: AlertClassName;
62
+ };
63
+ type AlertModalProps = Omit<ComponentProps<"div">, "title" | "children" | "onClose" | "onCancel" | "style"> & {
64
+ trigger?: ReactElement<Record<string, unknown>>;
65
+ open?: boolean;
66
+ defaultOpen?: boolean;
67
+ onOpenChange?: (open: boolean) => void;
68
+ title: ReactNode;
69
+ description?: ReactNode;
70
+ dismissible?: boolean;
71
+ keyboardCloseable?: boolean;
72
+ hideCancel?: boolean;
73
+ cancelText?: string;
74
+ confirmText?: string;
75
+ loading?: boolean;
76
+ showIcon?: boolean;
77
+ width?: CSSProperties["width"];
78
+ height?: CSSProperties["height"];
79
+ classNames?: AlertClassNames;
80
+ onConfirm?: AlertAction;
81
+ onCancel?: AlertAction;
82
+ onDismiss?: AlertAction;
83
+ onClose?: AlertAction;
84
+ initialFocus?: PopupProps["initialFocus"];
85
+ finalFocus?: PopupProps["finalFocus"];
86
+ keepMounted?: boolean;
87
+ /**
88
+ * 是不是模态。默认是。传 `false` 时不锁焦点、不锁页面滚动,页面的其余部分照常能用——
89
+ * 配上 `container` 可以把弹窗嵌在页面的一块区域里展示。
90
+ */
91
+ modal?: boolean;
92
+ /** 弹层挂到哪个元素里。默认挂在 `<body>` 下 */
93
+ container?: PortalProps["container"];
94
+ children?: ReactNode;
95
+ };
96
+ //#endregion
97
+ //#region src/game/banner-alert/BannerAlert.d.ts
98
+ type BannerAlertProps = AlertModalProps;
99
+ export declare function BannerAlert({ children, width, hideCancel, cancelText, confirmText, showIcon, classNames, ...props }: BannerAlertProps): import("react").JSX.Element;
100
+ //#endregion
101
+ //#region src/game/full-width-alert/FullWidthAlert.d.ts
102
+ type FullWidthAlertProps = Omit<AlertModalProps, "width">;
103
+ /** 横贯视口的确认面板,底部按钮突出于面板下沿。 */
104
+ export declare function FullWidthAlert({ hideCancel, cancelText, confirmText, showIcon, height, classNames, children, ...props }: FullWidthAlertProps): import("react").JSX.Element;
105
+ //#endregion
106
+ //#region src/game/item-icon/types.d.ts
107
+ type ItemIconTrans = "" | "formula" | "bigGem";
108
+ interface ItemIconLayers {
109
+ iconUrl: string;
110
+ iconBgUrl?: string;
111
+ iconMarkUrl?: string;
112
+ iconOverlayUrl?: string;
113
+ iconContentUrl?: string;
114
+ iconTrans?: ItemIconTrans;
115
+ iconShowRarity?: boolean;
116
+ }
117
+ interface ItemIconImageProps {
118
+ src: string;
119
+ alt: string;
120
+ className?: string;
121
+ style?: CSSProperties;
122
+ fallback?: ReactNode;
123
+ loading?: "lazy" | "eager";
124
+ }
125
+ type ItemIconImageRenderer = (props: ItemIconImageProps) => ReactNode;
126
+ interface ItemIconProps {
127
+ layers: ItemIconLayers;
128
+ alt: string;
129
+ className?: string;
130
+ style?: CSSProperties;
131
+ fallback?: ReactNode;
132
+ loading?: "lazy" | "eager";
133
+ renderImage?: ItemIconImageRenderer;
134
+ }
135
+ //#endregion
136
+ //#region src/game/item-icon/ItemIcon.d.ts
137
+ export declare function ItemIcon({ layers, alt, className, style, fallback, loading, renderImage }: ItemIconProps): import("react").JSX.Element;
138
+ //#endregion
139
+ //#region src/game/item-icon/helpers.d.ts
140
+ export declare const EMPTY_ITEM_ICON_LAYERS: Readonly<Required<ItemIconLayers>>;
141
+ export declare const ITEM_ICON_TRANSFORMS: {
142
+ readonly formula: {
143
+ readonly scale: 0.72;
144
+ readonly pivotX: 1;
145
+ readonly pivotY: 0.5;
146
+ };
147
+ readonly bigGem: {
148
+ readonly scale: 1;
149
+ readonly offsetX: 3;
150
+ readonly offsetY: 4;
151
+ };
152
+ };
153
+ type ItemIconTransformKey = keyof typeof ITEM_ICON_TRANSFORMS;
154
+ export declare function itemIconTransformStyle(key: ItemIconTransformKey): CSSProperties;
155
+ export declare function coerceItemIconTrans(value: unknown): ItemIconTrans;
156
+ export declare function pickItemIconLayers(source: object | null | undefined, prefix?: string): Required<ItemIconLayers>;
157
+ //#endregion
158
+ //#region src/game/item-card/ItemCard.d.ts
159
+ type ItemCardKind = "weapon" | "item" | "enemy" | "";
160
+ type ItemCardVariant = "banner" | "inventory";
161
+ type ItemCardSelectionAction = {
162
+ onSelect: () => void;
163
+ ariaLabel?: string;
164
+ selected?: boolean;
165
+ disabled?: boolean;
166
+ disabledReason?: string;
167
+ };
168
+ type ItemCardLinkProps = {
169
+ href: string;
170
+ children: ReactNode;
171
+ className: string;
172
+ "aria-label": string;
173
+ "data-item-tooltip-id"?: string;
174
+ };
175
+ type ItemCardLinkRenderer = (props: ItemCardLinkProps) => ReactNode;
176
+ type ItemCardProps = {
177
+ kind: ItemCardKind;
178
+ name: string;
179
+ imageUrl: string;
180
+ rarity: number;
181
+ itemId?: string;
182
+ /** 实际链接地址;组件不转换 Wiki 文章标题。 */
183
+ href?: string;
184
+ variant?: ItemCardVariant;
185
+ count?: number;
186
+ showName?: boolean;
187
+ className?: string;
188
+ style?: CSSProperties;
189
+ icon?: ItemIconLayers;
190
+ action?: ItemCardSelectionAction;
191
+ badges?: ReactNode;
192
+ ariaLabel?: string;
193
+ fallback?: ReactNode;
194
+ renderImage?: ItemIconImageRenderer;
195
+ renderLink?: ItemCardLinkRenderer;
196
+ renderName?: (name: string) => ReactNode;
197
+ renderCount?: (count: number) => ReactNode;
198
+ };
199
+ /** Wiki 物品卡片:名称横条或库存数量横条,共用完整图层图标。 */
200
+ export declare const ItemCard: import("react").MemoExoticComponent<({ kind, name, imageUrl, rarity, itemId, href, variant, count, showName, className, style, icon, action, badges, ariaLabel, fallback, renderImage, renderLink, renderName, renderCount }: ItemCardProps) => string | number | bigint | boolean | import("react").JSX.Element | Iterable<ReactNode> | Promise<string | number | bigint | boolean | Iterable<ReactNode> | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | import("react").ReactPortal | null | undefined> | null | undefined>;
201
+ //#endregion
202
+ //#region src/game/item-tooltip-card/types.d.ts
203
+ type ItemTooltipObtainWay = {
204
+ id?: string;
205
+ name: string;
206
+ iconUrl?: string;
207
+ href?: string;
208
+ };
209
+ type ItemTooltipItem = ItemIconLayers & {
210
+ name: string;
211
+ rarity: number;
212
+ category?: string;
213
+ usage?: string;
214
+ description?: string;
215
+ /** 实际 URL,由使用方转换自己的文章或路由地址。 */
216
+ href?: string;
217
+ obtainWays?: readonly ItemTooltipObtainWay[];
218
+ noObtainWayHint?: string;
219
+ };
220
+ type ItemTooltipLinkProps = {
221
+ href: string;
222
+ className: string;
223
+ children: ReactNode;
224
+ "aria-label"?: string;
225
+ };
226
+ type ItemTooltipLinkRenderer = (props: ItemTooltipLinkProps) => ReactNode;
227
+ type ItemTooltipCardProps = {
228
+ item: ItemTooltipItem;
229
+ className?: string;
230
+ style?: CSSProperties;
231
+ fontFamily?: string;
232
+ obtainLabel?: string;
233
+ renderText?: (text: string) => ReactNode;
234
+ renderImage?: ItemIconImageRenderer;
235
+ renderLink?: ItemTooltipLinkRenderer;
236
+ };
237
+ //#endregion
238
+ //#region src/game/item-tooltip-card/ItemTooltipCard.d.ts
239
+ /** 固定灰色游戏皮肤的物品详情;文章路由与富文本由使用方接入。 */
240
+ export declare function ItemTooltipCard({ item, className, style, fontFamily, obtainLabel, renderText, renderImage, renderLink }: ItemTooltipCardProps): import("react").JSX.Element;
241
+ //#endregion
242
+ //#region src/game/item-hover-card/ItemHoverCard.d.ts
243
+ type ItemHoverCardLayerProps = {
244
+ /** 由使用方的本地数据或缓存解析;组件不发请求。 */
245
+ resolveItem: (itemId: string, host: HTMLElement) => ItemTooltipItem | null | undefined;
246
+ root?: HTMLElement | Document;
247
+ rootRef?: RefObject<HTMLElement | null>;
248
+ disabled?: boolean;
249
+ /** 默认只在 768px 以上、支持精细指针悬停的设备启用。 */
250
+ disableOnMobile?: boolean;
251
+ openDelay?: number;
252
+ closeDelay?: number;
253
+ gap?: number;
254
+ width?: CSSProperties["width"];
255
+ className?: string;
256
+ style?: CSSProperties;
257
+ cardProps?: Omit<ItemTooltipCardProps, "item">;
258
+ onOpenChange?: (open: boolean, itemId: string | null) => void;
259
+ };
260
+ /** 一个监听层为网格内所有 data-item-tooltip-id 提供物品预览。 */
261
+ export declare function ItemHoverCardLayer({ resolveItem, root, rootRef, disabled, disableOnMobile, openDelay, closeDelay, gap, width, className, style, cardProps, onOpenChange }: ItemHoverCardLayerProps): import("react").JSX.Element | null;
262
+ type ItemHoverCardProps = Omit<ItemHoverCardLayerProps, "resolveItem" | "root" | "rootRef"> & {
263
+ item: ItemTooltipItem;
264
+ children: ReactNode;
265
+ triggerProps?: Omit<HTMLAttributes<HTMLSpanElement>, "children">;
266
+ };
267
+ export declare function ItemHoverCard({ item, children, triggerProps, ...layerProps }: ItemHoverCardProps): import("react").JSX.Element;
268
+ //#endregion
269
+ //#region src/game/rounded-button/RoundedButton.d.ts
270
+ type RoundedButtonVariant = "primary" | "default";
271
+ type RoundedButtonSlotClass = string | ((isPrimary: boolean) => string);
272
+ type RoundedButtonProps = ComponentProps<"button"> & {
273
+ variant?: RoundedButtonVariant;
274
+ text?: string;
275
+ icon?: ReactNode;
276
+ showIcon?: boolean;
277
+ iconPosition?: "left" | "right";
278
+ loading?: boolean;
279
+ classNames?: {
280
+ button?: RoundedButtonSlotClass;
281
+ text?: RoundedButtonSlotClass;
282
+ icon?: RoundedButtonSlotClass;
283
+ };
284
+ };
285
+ /** 原灰色圆角按钮;悬停闪动由浏览器动画执行。 */
286
+ export declare function RoundedButton({ variant, type, text, children, icon, showIcon, iconPosition, loading, disabled, className, classNames, onClick, onPointerEnter, onPointerLeave, ...props }: RoundedButtonProps): import("react").JSX.Element;
287
+ //#endregion
288
+ //#region src/game/rounded-button/RoundedIconButton.d.ts
289
+ type RoundedIconButtonProps = ComponentProps<"button"> & {
290
+ "aria-label": string;
291
+ children: ReactNode;
292
+ };
293
+ /** 24px 圆形图标按钮;纹理与双边线只作装饰。 */
294
+ export declare function RoundedIconButton({ type, disabled, children, className, ...props }: RoundedIconButtonProps): import("react").JSX.Element;
295
+ //#endregion
296
+ //#region src/game/rounded-select/RoundedSelect.d.ts
297
+ type RoundedSelectOption<T extends string = string> = {
298
+ value: T;
299
+ label: ReactNode;
300
+ disabled?: boolean;
301
+ hidden?: boolean;
302
+ left?: ReactNode | ((selected: boolean) => ReactNode);
303
+ right?: ReactNode | ((selected: boolean) => ReactNode);
304
+ /** 自定义标签的键盘文字匹配名称。 */
305
+ textValue?: string;
306
+ };
307
+ type RoundedSelectProps<T extends string = string> = {
308
+ options: readonly RoundedSelectOption<T>[];
309
+ value?: T | null;
310
+ defaultValue?: T | null;
311
+ onValueChange?: (value: T) => void;
312
+ placeholder?: ReactNode;
313
+ name?: string;
314
+ form?: string;
315
+ required?: boolean;
316
+ disabled?: boolean;
317
+ invalid?: boolean;
318
+ open?: boolean;
319
+ defaultOpen?: boolean;
320
+ onOpenChange?: (open: boolean) => void;
321
+ id?: string;
322
+ "aria-label"?: string;
323
+ "aria-describedby"?: string;
324
+ className?: string;
325
+ classNames?: {
326
+ container?: string;
327
+ trigger?: string;
328
+ option?: string;
329
+ optionContainer?: string;
330
+ optionScrollArea?: string;
331
+ };
332
+ ref?: Ref<HTMLButtonElement>;
333
+ };
334
+ /** 圆角触发器与半覆盖面板;隐藏项不进入列表,禁用项不能选择。 */
335
+ export declare function RoundedSelect<T extends string = string>({ options, value, defaultValue, onValueChange, placeholder, name, form, required: requiredProp, disabled: disabledProp, invalid: invalidProp, open, defaultOpen, onOpenChange, id: idProp, "aria-label": ariaLabel, "aria-describedby": describedByProp, className, classNames, ref }: RoundedSelectProps<T>): import("react").JSX.Element;
336
+ //#endregion
337
+ //#region src/game/rounded-switch/RoundedSwitch.d.ts
338
+ type RoundedSwitchProps = Omit<ComponentProps<"div">, "defaultChecked" | "defaultValue" | "onChange" | "children"> & {
339
+ checked?: boolean;
340
+ defaultChecked?: boolean;
341
+ onCheckedChange?: (checked: boolean) => void;
342
+ onText?: ReactNode;
343
+ offText?: ReactNode;
344
+ name?: string;
345
+ form?: string;
346
+ disabled?: boolean;
347
+ required?: boolean;
348
+ };
349
+ export declare function RoundedSwitch({ checked, defaultChecked, onCheckedChange, onText, offText, name, form, disabled: disabledProp, required: requiredProp, className, onKeyDown, ...props }: RoundedSwitchProps): import("react").JSX.Element;
350
+ //#endregion
351
+ //#region src/game/rounded-toggle/RoundedToggle.d.ts
352
+ type RoundedToggleOption = {
353
+ value: string;
354
+ label: ReactNode;
355
+ icon?: ReactNode;
356
+ disabled?: boolean;
357
+ "aria-label"?: string;
358
+ };
359
+ type RoundedToggleProps = Omit<ComponentProps<"div">, "defaultValue" | "onChange" | "children"> & {
360
+ options: readonly RoundedToggleOption[];
361
+ value?: string;
362
+ defaultValue?: string;
363
+ onValueChange?: (value: string) => void;
364
+ label?: string;
365
+ name?: string;
366
+ form?: string;
367
+ required?: boolean;
368
+ disabled?: boolean;
369
+ };
370
+ export declare function RoundedToggle({ options, value, defaultValue, onValueChange, label, name, form, required: requiredProp, disabled: disabledProp, className, onKeyDown, "aria-label": ariaLabel, ...props }: RoundedToggleProps): import("react").JSX.Element;
371
+ //#endregion
372
+ export type { AnimatedDialogClassNames, AnimatedDialogProps, BannerAlertProps, FullWidthAlertProps, ItemCardKind, ItemCardLinkProps, ItemCardLinkRenderer, ItemCardProps, ItemCardSelectionAction, ItemCardVariant, ItemHoverCardLayerProps, ItemHoverCardProps, ItemIconImageProps, ItemIconImageRenderer, ItemIconLayers, ItemIconProps, ItemIconTrans, ItemIconTransformKey, ItemTooltipCardProps, ItemTooltipItem, ItemTooltipLinkProps, ItemTooltipLinkRenderer, ItemTooltipObtainWay, RoundedButtonProps, RoundedButtonVariant, RoundedIconButtonProps, RoundedSelectOption, RoundedSelectProps, RoundedSwitchProps, RoundedToggleOption, RoundedToggleProps };