@ihabdevteam/core 0.12.1 → 0.12.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -963,7 +963,7 @@ ${f.badge}`:f.badge:void 0;if(_&&s(f.code))return null;if(!f.badge&&!c)return u(
963
963
  \uC544\uC774\uCF58 + \uD3F4\uBC31)\uC5D0 \uB3D9\uC77C\uD558\uAC8C \uC801\uC6A9\uD558\uB824\uBA74 !important\uAC00 \uBD88\uAC00\uD53C\uD568. */.ihabdevteam-core-scope .icon-grid-menu__button-icon-svg svg,.ihabdevteam-core-scope .icon-grid-menu__button-icon-svg svg *{stroke:currentColor!important;stroke-width:2px!important;stroke-width:var(--icon-grid-menu-button-stroke-width,2px)!important;vector-effect:non-scaling-stroke}.ihabdevteam-core-scope .icon-grid-menu__button-icon-svg{height:24px;width:24px}.ihabdevteam-core-scope .icon-grid-menu__button-icon-svg svg{display:block;height:28px;width:28px}.ihabdevteam-core-scope .icon-grid-menu__button-icon-mask{background-color:currentColor;display:inline-block;height:28px;-webkit-mask-image:var(--icon-url);mask-image:var(--icon-url);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:28px}.ihabdevteam-core-scope .icon-grid-menu__button-icon-image{display:block;height:28px;-o-object-fit:contain;object-fit:contain;width:28px}.ihabdevteam-core-scope .icon-grid-menu__button-wrapper{align-items:center;display:inline-flex;flex-direction:column;gap:6px}.ihabdevteam-core-scope .icon-grid-menu__button-label{color:var(--color-darkGray);overflow-wrap:break-word;word-break:keep-all}.ihabdevteam-core-scope .icon-grid-menu__button.icon-grid-menu__button--selected{animation:sub-to-main .36s cubic-bezier(.4,0,.2,1) forwards;background-color:var(--color-main);border-color:transparent;box-shadow:var(--shadow-button);color:#fff}.ihabdevteam-core-scope .icon-grid-menu__button.icon-grid-menu__button--selected .icon-grid-menu__button-icon{color:#fff}.ihabdevteam-core-scope .icon-grid-menu--small .icon-grid-menu__button-wrapper{gap:4px;margin:4px 8px;width:56px}.ihabdevteam-core-scope .icon-grid-menu--medium .icon-grid-menu__button-wrapper{margin-left:6px;margin-right:6px}.ihabdevteam-core-scope .icon-grid-menu--small .icon-grid-menu__button{border-radius:20px;height:48px;width:48px}.ihabdevteam-core-scope .icon-grid-menu--small .icon-grid-menu__button-icon{font-size:20px;height:24px;width:24px}.ihabdevteam-core-scope .icon-grid-menu--small .icon-grid-menu__button-icon-image,.ihabdevteam-core-scope .icon-grid-menu--small .icon-grid-menu__button-icon-mask,.ihabdevteam-core-scope .icon-grid-menu--small .icon-grid-menu__button-icon-svg,.ihabdevteam-core-scope .icon-grid-menu--small .icon-grid-menu__button-icon-svg svg{height:20px;width:20px}.ihabdevteam-core-scope .icon-grid-menu--small .icon-grid-menu__button-label{font-size:12px;line-height:1.3}@media (min-width:1024px){.ihabdevteam-core-scope .icon-grid-menu__button-wrapper{margin:8px 12px;width:80px}.ihabdevteam-core-scope .icon-grid-menu__button{border-radius:28px;height:68px;width:68px}.ihabdevteam-core-scope .icon-grid-menu__button-icon-mask{height:28px;width:28px}}@media (min-width:768px) and (max-width:1023px){.ihabdevteam-core-scope .icon-grid-menu__button-wrapper{margin:8px 10px;width:64px}.ihabdevteam-core-scope .icon-grid-menu__button{border-radius:24px;height:58px;width:58px}.ihabdevteam-core-scope .icon-grid-menu__button-icon-mask{height:24px;width:24px}}@media (max-width:767px){.ihabdevteam-core-scope .icon-grid-menu__button-wrapper{margin:var(--spacing-xs);width:50px}.ihabdevteam-core-scope .icon-grid-menu__button{border-radius:20px;height:48px;width:48px}.ihabdevteam-core-scope .icon-grid-menu__button-icon-mask{height:20px;width:20px}}`;Q(hk);function mk(e){const{category:t={},isSelected:a=!1,onClick:r}=e||{},n=t?.key?` icon-grid-menu__button--${t.key}`:"",i=l.useId();return o.jsxs("div",{className:`icon-grid-menu__button-wrapper${n}`,children:[o.jsx("button",{className:`icon-grid-menu__button${a?" icon-grid-menu__button--selected":""}`,"data-key":t?.key,onClick:a?void 0:r,"aria-pressed":a,"aria-labelledby":i,disabled:a,children:o.jsx(Pe,{icon:t.icon,label:t.label,className:"icon-grid-menu__button-icon",imgClassName:"icon-grid-menu__button-icon-image",maskClassName:"icon-grid-menu__button-icon-mask",svgClassName:"icon-grid-menu__button-icon-svg"})}),o.jsx("span",{id:i,className:"icon-grid-menu__button-label button-1",children:t.label})]})}function cb(e){const{categories:t=[],selected:a,onSelect:r,size:n="medium"}=e||{},i=a??(t&&t[0]?.key)??null,[s,c]=l.useState(i??null);l.useEffect(()=>{a!=null&&c(a)},[a]);const u=l.useRef(r),d=l.useRef(s),m=l.useRef(a!==void 0);l.useEffect(()=>{!m.current&&d.current&&typeof u.current=="function"&&u.current(d.current)},[]);const h=l.useCallback(p=>{const g=s===p?null:p;c(g),r?.(g)},[s,r]);return o.jsx("div",{className:`icon-grid-menu icon-grid-menu--${n}`,children:(t||[]).map(p=>o.jsx(mk,{category:p,isSelected:s===p.key,onClick:()=>h(p.key)},p.key))})}var bk=".ihabdevteam-core-scope .choice-chips{display:block;width:100%}.ihabdevteam-core-scope .choice-chips--medium{margin-bottom:60px}.ihabdevteam-core-scope .choice-chips--small{margin-bottom:var(--spacing-l)}.ihabdevteam-core-scope .choice-chips__list{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-s);justify-content:center;padding-bottom:6px}.ihabdevteam-core-scope .choice-chips__list::-webkit-scrollbar{height:8px}.ihabdevteam-core-scope .choice-chips__list::-webkit-scrollbar-thumb{background:rgba(0,0,0,.08);border-radius:var(--radius-sm)}.ihabdevteam-core-scope .choice-chips__button{background:var(--color-deepWhite)!important;border:1px solid var(--color-whiteLine)!important;border-radius:var(--radius-s)!important;color:var(--color-darkGray)!important;height:40px!important;padding:0 24px!important;transition:all .12s!important;white-space:nowrap}.ihabdevteam-core-scope .choice-chips__button:hover{border-color:var(--color-main)!important}.ihabdevteam-core-scope .choice-chips--small .choice-chips__button{height:32px!important;padding:0 16px!important}.ihabdevteam-core-scope .choice-chips--small .choice-chips__list{gap:var(--spacing-xs)}.ihabdevteam-core-scope .choice-chips__button.is-selected{animation:chip-sub-to-main .36s cubic-bezier(.4,0,.2,1) forwards;background:var(--color-main)!important;border:1px solid var(--color-main)!important;box-shadow:var(--shadow-dropdown);color:#fff!important}@keyframes chip-sub-to-main{0%{background-color:var(--color-sub)}to{background-color:var(--color-main)}}";Q(bk);function db({subs:e=[],selected:t,onSelect:a,size:r="medium"}){const n=r==="small"?32:40;return o.jsx("div",{className:`choice-chips choice-chips--${r}`,children:o.jsx("div",{className:"choice-chips__list",children:e.map(i=>o.jsx(le,{size:n,type:"bar",label:i.label,selected:t===i.key,className:"choice-chips__button",onClick:()=>a?.(i.key)},i.key))})})}var gk=".ihabdevteam-core-scope .site-footer{background:var(--color-deepWhite);border-top:1px solid var(--color-whiteLine);box-sizing:border-box;color:var(--color-gray);padding:var(--spacing-page)}.ihabdevteam-core-scope .site-footer__top{align-items:flex-start;display:flex;gap:40px;justify-content:space-between}.ihabdevteam-core-scope .site-footer__brand{flex:0 0 220px;width:220px}.ihabdevteam-core-scope .site-footer__lead{color:var(--color-gray);text-align:left}.ihabdevteam-core-scope .site-footer__links{align-items:flex-start;display:flex;flex:1 1 auto;flex-wrap:wrap;gap:100px 10px;min-width:320px}.ihabdevteam-core-scope .site-footer__column{flex:0 0 160px;min-width:160px;text-align:left}.ihabdevteam-core-scope .site-footer__column-title{color:var(--color-lightGray)}.ihabdevteam-core-scope .footer-title{color:var(--color-lightGray);display:inline-block;font-size:13px;font-weight:600;line-height:20px;width:80px}.ihabdevteam-core-scope .site-footer__column ul{list-style:none;margin:10px 0 0;padding:0}.ihabdevteam-core-scope .site-footer__column li{margin-bottom:6px}.ihabdevteam-core-scope .footer-link,.ihabdevteam-core-scope .site-footer__column a{color:var(--color-lightGray);text-decoration:none}.ihabdevteam-core-scope .footer-link{align-items:center;display:inline-flex;font-size:13px;line-height:20px;min-height:24px;min-width:24px;transition:color .12s ease}.ihabdevteam-core-scope .footer-copyright,.ihabdevteam-core-scope .footer-meta{line-height:18px}.ihabdevteam-core-scope .footer-link:focus,.ihabdevteam-core-scope .footer-link:hover{color:var(--color-main);text-decoration:none}.ihabdevteam-core-scope .site-footer__rule{border:none;border-top:1px solid var(--color-darkWhite);margin:40px 0}.ihabdevteam-core-scope .site-footer__bottom{align-items:center;display:flex;gap:40px;justify-content:flex-start}.ihabdevteam-core-scope .site-footer__brand-compact{align-items:center;display:flex;gap:18px}.ihabdevteam-core-scope .site-footer__logo{height:52px}.ihabdevteam-core-scope .site-footer__bottom .site-footer__brand{align-items:center;display:flex;justify-content:center}.ihabdevteam-core-scope .site-footer__meta{color:var(--color-lightGray);text-align:left}.ihabdevteam-core-scope .site-footer__copyright{align-items:center;box-sizing:border-box;color:var(--color-lightGray);display:flex;justify-content:center;margin:var(--spacing-page) 0 0 0;text-align:center;width:100%}@media (max-width:1024px){.ihabdevteam-core-scope .site-footer__top{flex-direction:column;gap:var(--spacing-page)}.ihabdevteam-core-scope .site-footer__brand{flex:0 0 auto;width:100%}.ihabdevteam-core-scope .site-footer__links{gap:20px 10px;margin:0;min-width:0;width:100%}.ihabdevteam-core-scope .site-footer__bottom{align-items:flex-start;flex-direction:column;gap:var(--spacing-page)}.ihabdevteam-core-scope .site-footer__meta{width:100%}.ihabdevteam-core-scope .site-footer__logo{height:50px}}@media (max-width:767px){.ihabdevteam-core-scope .site-footer__logo{height:48px}}";Q(gk);function ub({onTermsClick:e,onPrivacyClick:t,contact:a}={}){const r=a?.email??"support@ihab.co.kr",n=a?.tel??"031-380-3724",{t:i}=me.useTranslation();return o.jsx("footer",{className:"site-footer",children:o.jsxs("div",{className:"safearea",children:[o.jsxs("div",{className:"site-footer__top",children:[o.jsx("div",{className:"site-footer__brand",children:o.jsx("div",{className:"site-footer__lead h3",children:i("footer.lead",`\uC544\uC774\uD574\uBE0C\uB294 \uC18C\uB9AC\uB97C \uD1B5\uD574
964
964
  \uC2E0\uB8B0\uB97C \uC313\uACE0
965
965
  \uD68C\uBCF5\uC744 \uB3D5\uC2B5\uB2C8\uB2E4.`).split(`
966
- `).map((s,c,u)=>o.jsxs(l.Fragment,{children:[s,c<u.length-1&&o.jsx("br",{})]},c))})}),o.jsxs("div",{className:"site-footer__links",children:[o.jsxs("div",{className:"site-footer__column",children:[o.jsx("div",{className:"site-footer__column-title footer-title",children:i("footer.site.title","\uC0AC\uC774\uD2B8")}),o.jsxs("ul",{children:[o.jsx("li",{children:o.jsx("a",{className:"footer-link",href:"https://www.ihab.co.kr/",target:"_blank",rel:"noopener noreferrer",children:"IHAB"})}),o.jsx("li",{children:o.jsx("a",{className:"footer-link",href:"https://speechear.ihab.co.kr/",target:"_blank",rel:"noopener noreferrer",children:i("footer.site.malgwi","\uB9D0\uADC0")})}),o.jsx("li",{children:o.jsx("a",{className:"footer-link",href:"https://ihab-offcial-web.vercel.app/product/sound-localization",target:"_blank",rel:"noopener noreferrer",children:i("footer.site.soundDirection","\uC18C\uB9AC\uBC29\uD5A5\uC131\uC2DC\uC2A4\uD15C")})}),o.jsx("li",{children:o.jsx("a",{className:"footer-link",href:"https://ihab-offcial-web.vercel.app/product/vr-sound-localization",target:"_blank",rel:"noopener noreferrer",children:i("footer.site.vrSoundDirection","VR\uC18C\uB9AC\uBC29\uD5A5\uC131\uC2DC\uC2A4\uD15C")})}),o.jsx("li",{children:o.jsx("a",{className:"footer-link",href:"https://ihab-offcial-web.vercel.app/product/hearing-test-pro",target:"_blank",rel:"noopener noreferrer",children:i("footer.site.hearingTest","\uCCAD\uB825\uD14C\uC2A4\uD2B8 \uD504\uB85C")})})]})]}),o.jsxs("div",{className:"site-footer__column",children:[o.jsx("div",{className:"site-footer__column-title footer-title",children:i("footer.sns.title","SNS")}),o.jsxs("ul",{children:[o.jsx("li",{children:o.jsx("a",{className:"footer-link",href:"https://blog.naver.com/ihab_official",target:"_blank",rel:"noopener noreferrer",children:i("footer.sns.naverBlog","\uB124\uC774\uBC84 \uBE14\uB85C\uADF8")})}),o.jsx("li",{children:o.jsx("a",{className:"footer-link",href:"https://www.instagram.com/ihab.official.yt/",target:"_blank",rel:"noopener noreferrer",children:"Instagram"})}),o.jsx("li",{children:o.jsx("a",{className:"footer-link",href:"https://www.youtube.com/@%EC%95%84%EC%9D%B4%ED%95%B4%EB%B8%8C-%EA%B3%B5%EC%8B%9D%EC%B1%84%EB%84%90",target:"_blank",rel:"noopener noreferrer",children:"Youtube"})})]})]}),o.jsxs("div",{className:"site-footer__column",children:[o.jsx("div",{className:"site-footer__column-title footer-title",children:i("footer.policy.title","\uC815\uCC45")}),o.jsxs("ul",{children:[o.jsx("li",{children:o.jsx("a",{className:"footer-link",href:"#",onClick:s=>{e&&(s.preventDefault(),e())},children:i("footer.policy.terms","\uC774\uC6A9\uC57D\uAD00")})}),o.jsx("li",{children:o.jsx("a",{className:"footer-link",href:"#",onClick:s=>{t&&(s.preventDefault(),t())},children:i("footer.policy.privacy","\uAC1C\uC778\uC815\uBCF4 \uCC98\uB9AC\uBC29\uCE68")})})]})]})]})]}),o.jsx("hr",{className:"site-footer__rule"}),o.jsxs("div",{className:"site-footer__bottom",children:[o.jsx("div",{className:"site-footer__brand",children:o.jsx("img",{src:Nl,alt:"IHAB",className:"site-footer__logo"})}),o.jsxs("div",{className:"site-footer__meta",children:[o.jsxs("div",{children:[o.jsx("span",{className:"footer-title",children:i("footer.ceo","\uB300\uD45C")}),o.jsx("span",{className:"footer-meta caption-1",children:i("footer.ceoName","\uD55C\uC9C0\uD61C")})]}),o.jsxs("div",{children:[o.jsx("span",{className:"footer-title",children:i("footer.address","\uC8FC\uC18C")}),o.jsx("span",{className:"footer-meta caption-1",children:i("footer.addressValue","\uAC15\uC6D0\uB3C4 \uCD98\uCC9C\uC2DC \uC2DC\uCCAD\uAE38 32 \uD574\uCC2C\uBE4C\uB529 3\uCE35 302\uD638")})]}),o.jsxs("div",{children:[o.jsx("span",{className:"footer-title",children:i("footer.support","\uACE0\uAC1D\uC13C\uD130")}),o.jsxs("span",{className:"footer-meta caption-1",children:[r," \xA0 ",n]})]})]})]}),o.jsx("div",{className:"site-footer__copyright footer-copyright caption-1",children:"\xA9 IHAB, Inc. All rights reserved."})]})})}var fk='.ihabdevteam-core-scope .landing-header{background:var(--landing-header-bg,var(--color-deepWhite));border-bottom:1px solid rgba(15,18,60,.05);border-bottom:1px solid var(--landing-header-border,rgba(15,18,60,.05));position:sticky;top:0;transform:translateZ(0);will-change:transform;z-index:500;z-index:var(--z-sticky,500)}.ihabdevteam-core-scope .landing-header__inner{align-items:center;display:flex;height:72px;height:var(--landing-header-height,72px);justify-content:space-between;position:relative}.ihabdevteam-core-scope .landing-header__brand{align-items:center;display:flex;flex:0 0 auto;margin-right:auto;text-decoration:none}.ihabdevteam-core-scope .landing-header__logo{display:block;height:40px;height:var(--landing-header-logo-height,40px);max-width:none;transform-origin:left center;transition:transform .3s cubic-bezier(.2,.9,.2,1.2),filter .3s;width:auto}.ihabdevteam-core-scope .landing-header__brand:hover .landing-header__logo{filter:brightness(1.08);transform:scale(1.05)}.ihabdevteam-core-scope .landing-header__links{align-items:center;color:var(--landing-header-link-color,var(--color-deepGray));display:flex;font-size:15px;font-weight:500;gap:36px;left:50%;position:absolute;transform:translateX(-50%)}.ihabdevteam-core-scope .landing-header__links a{color:inherit;padding:6px 0;position:relative;text-decoration:none;transition:color .2s}.ihabdevteam-core-scope .landing-header__links a:hover{color:var(--landing-header-link-hover,var(--color-main))}.ihabdevteam-core-scope .landing-header__links a:after{background:linear-gradient(90deg,var(--color-main),var(--color-sub));border-radius:1px;bottom:0;content:"";height:2px;left:0;position:absolute;right:100%;transition:right .35s cubic-bezier(.2,.7,.2,1)}.ihabdevteam-core-scope .landing-header__links a:hover:after{right:0}.ihabdevteam-core-scope .landing-header__actions{align-items:center;display:flex;gap:8px;gap:var(--spacing-xs,8px)}.ihabdevteam-core-scope .landing-header__toggle{align-items:center;background:none;border:0;color:var(--landing-header-link-color,var(--color-deepGray));cursor:pointer;display:none;height:44px;justify-content:center;margin-right:-10px;width:44px}.ihabdevteam-core-scope .landing-header__burger{display:block;height:14px;position:relative;width:22px}.ihabdevteam-core-scope .landing-header__burger>span{background:currentColor;border-radius:1px;height:2px;inset-inline:0;position:absolute;transition:transform .2s cubic-bezier(.2,.7,.2,1),opacity .2s cubic-bezier(.2,.7,.2,1)}.ihabdevteam-core-scope .landing-header__burger>span:first-child{top:0}.ihabdevteam-core-scope .landing-header__burger>span:nth-child(2){top:6px}.ihabdevteam-core-scope .landing-header__burger>span:nth-child(3){top:12px}.ihabdevteam-core-scope .landing-header__toggle--open .landing-header__burger>span:first-child{transform:translateY(6px) rotate(45deg)}.ihabdevteam-core-scope .landing-header__toggle--open .landing-header__burger>span:nth-child(2){opacity:0}.ihabdevteam-core-scope .landing-header__toggle--open .landing-header__burger>span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.ihabdevteam-core-scope .landing-header__drawer{background:var(--landing-header-bg,var(--color-deepWhite));border-top:1px solid rgba(15,18,60,.05)}.ihabdevteam-core-scope .landing-header__drawer-item{display:block}.ihabdevteam-core-scope .landing-header__drawer-item a{align-items:center;color:var(--landing-header-link-color,var(--color-deepGray));display:flex;font-size:15px;font-weight:500;min-height:48px;text-decoration:none;transition:color .2s}.ihabdevteam-core-scope .landing-header__drawer-item a:hover,.ihabdevteam-core-scope .landing-header__drawer-item a[aria-current=page]{color:var(--landing-header-link-hover,var(--color-main))}@media (max-width:960px){.ihabdevteam-core-scope .landing-header__links{display:none}.ihabdevteam-core-scope .landing-header__toggle{display:flex}}@media (min-width:961px){.ihabdevteam-core-scope .landing-header__drawer{display:none}}';Q(fk);function pb({logo:e,logoAlt:t="",logoHref:a,links:r=[],actions:n,className:i,containerClassName:s,renderLink:c,menuLabel:u={open:"\uBA54\uB274 \uC5F4\uAE30",close:"\uBA54\uB274 \uB2EB\uAE30"}}){const[d,m]=l.useState(!1),h=s?`${s} landing-header__inner`:"landing-header__inner",p=(g,v)=>c?c(g,{onClick:v}):o.jsx("a",{href:g.href,onClick:v,"aria-current":g.current?"page":void 0,children:g.label});return o.jsxs("header",{className:i?`landing-header ${i}`:"landing-header",children:[o.jsxs("div",{className:h,children:[e!=null&&(()=>{const g=typeof e=="string"?o.jsx("img",{src:e,alt:t,className:"landing-header__logo"}):e;return a?o.jsx("a",{href:a,className:"landing-header__brand",children:g}):o.jsx("div",{className:"landing-header__brand",children:g})})(),r.length>0&&o.jsx("nav",{className:"landing-header__links",children:r.map(g=>o.jsx("span",{children:p(g)},g.href))}),o.jsxs("div",{className:"landing-header__actions",children:[n,r.length>0&&o.jsx("button",{type:"button",onClick:()=>m(g=>!g),"aria-expanded":d,"aria-controls":"landing-header-drawer","aria-label":d?u.close:u.open,className:d?"landing-header__toggle landing-header__toggle--open":"landing-header__toggle",children:o.jsxs("span",{className:"landing-header__burger",children:[o.jsx("span",{}),o.jsx("span",{}),o.jsx("span",{})]})})]})]}),r.length>0&&o.jsx("nav",{id:"landing-header-drawer",hidden:!d,className:"landing-header__drawer",children:o.jsx("div",{className:s??void 0,children:r.map(g=>o.jsx("span",{className:"landing-header__drawer-item",children:p(g,()=>m(!1))},g.href))})})]})}var vk=".ihabdevteam-core-scope .bottom-sticky{animation:bottom-sticky-in .4s cubic-bezier(.2,.9,.2,1) both;bottom:24px;bottom:var(--bottom-sticky-offset,24px);left:50%;max-width:680px;max-width:var(--bottom-sticky-max-width,680px);position:fixed;transform:translateX(-50%);width:calc(100% - 48px);z-index:500;z-index:var(--z-sticky,500)}@keyframes bottom-sticky-in{0%{opacity:0;transform:translateX(-50%) translateY(16px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.ihabdevteam-core-scope .bottom-sticky__inner{align-items:center;background:var(--bottom-sticky-bg,var(--color-pureWhite));border-radius:20px;border-radius:var(--radius-m,20px);box-shadow:0 8px 40px rgba(15,18,60,.18),0 2px 8px rgba(15,18,60,.06);display:flex;gap:16px;gap:var(--spacing-m,16px);justify-content:space-between;padding:12px 12px 12px 24px;transition:box-shadow .2s,transform .2s}.ihabdevteam-core-scope .bottom-sticky__inner--clickable{cursor:pointer}.ihabdevteam-core-scope .bottom-sticky__inner--clickable:hover{border:1px solid var(--color-main);box-shadow:0 16px 56px color-mix(in srgb,var(--color-main) 30%,transparent),0 4px 12px color-mix(in srgb,var(--color-main) 15%,transparent);transform:translateY(-4px)}.ihabdevteam-core-scope .bottom-sticky__content{align-items:center;display:flex;flex:1;gap:12px;gap:var(--spacing-s,12px);justify-content:center}.ihabdevteam-core-scope .bottom-sticky__tagline{align-items:center;color:var(--color-black);display:flex;gap:0;margin:0;white-space:nowrap}.ihabdevteam-core-scope .bottom-sticky__tagline-highlight{background:linear-gradient(90deg,var(--color-main),var(--color-sub),var(--color-infoLink));-webkit-background-clip:text;background-clip:text;color:transparent;display:inline}.ihabdevteam-core-scope .bottom-sticky__tagline-part{align-items:center;display:flex;white-space:nowrap}.ihabdevteam-core-scope .bottom-sticky__tagline-logo{display:block;height:32px;width:auto}@media (max-width:600px){.ihabdevteam-core-scope .bottom-sticky{bottom:16px;bottom:var(--bottom-sticky-offset,16px);width:calc(100% - 32px)}.ihabdevteam-core-scope .bottom-sticky__inner{align-items:stretch;flex-direction:column;gap:12px;gap:var(--spacing-s,12px);padding:16px;padding:var(--spacing-m,16px)}.ihabdevteam-core-scope .bottom-sticky__content{flex:none;gap:6px;justify-content:center}.ihabdevteam-core-scope .bottom-sticky__tagline{flex-wrap:wrap;justify-content:center;text-align:center;white-space:normal}.ihabdevteam-core-scope .bottom-sticky__tagline-logo{height:26px}}";Q(vk);function hb({children:e,action:t,onClick:a,className:r}){const n=a?"bottom-sticky__inner bottom-sticky__inner--clickable":"bottom-sticky__inner";return o.jsx("div",{className:r?`bottom-sticky ${r}`:"bottom-sticky",children:o.jsxs("div",{className:n,onClick:a,children:[o.jsx("div",{className:"bottom-sticky__content",children:e}),t]})})}const rc=9,yk=e=>Math.round(Math.min(rc,Math.max(0,e))/rc*100),xk=e=>e/100*rc,mb={enabled:!0,type:"defaultNoise",level:4.5,speed:1,mainVolume:1,mainSpeed:1},bb=l.createContext(null);function nc(){return l.useContext(bb)}const ic=e=>`${Xn()}/${e}`,gb=e=>Array.from({length:10},(t,a)=>ic(`${e}-${String(a+1).padStart(2,"0")}.mp3`)),Bn={get defaultNoise(){return ic("noise1.mp3")},get street(){return gb("noise2")},get restaurant(){return gb("noise3")},get buzz(){return ic("noise4.mp3")}};function Ck(e){const t=Math.floor(Math.random()*10);switch(e){case"defaultNoise":return Bn.defaultNoise;case"street":return Bn.street[t];case"restaurant":return Bn.restaurant[t];case"buzz":return Bn.buzz;default:return null}}function _k({noisePlayer:e,audioRef:t,playbackStateRef:a}){const r=l.useRef(e?.registerAnalyser);r.current=e?.registerAnalyser;const n=l.useRef(null),[i,s]=l.useState(null),c=l.useRef(null),u=l.useRef(null),d=l.useRef(null),m=l.useRef(0),h=l.useRef(null),p=l.useCallback(()=>{d.current!==null&&(cancelAnimationFrame(d.current),d.current=null),h.current!==null&&(clearTimeout(h.current),h.current=null)},[]),g=l.useCallback((y,f=250)=>{const x=n.current;if(!x||!x.src)return;m.current+=1,p();try{Wo(),r.current?.("noise",Ho(x))}catch{}const _=x.paused?0:x.volume;x.paused&&(x.volume=0),x.play().catch(()=>{});const C=performance.now(),A=()=>{const w=Math.min(1,(performance.now()-C)/f);try{x.volume=Math.max(0,Math.min(1,_+(y-_)*w))}catch{}w<1?d.current=requestAnimationFrame(A):d.current=null};d.current=requestAnimationFrame(A)},[p]),v=l.useCallback((y=250,f)=>{const x=n.current;if(!x||x.paused){f?.();return}const _=++m.current;p();const C=performance.now(),A=x.volume,w=()=>{const S=Math.min(1,(performance.now()-C)/y);try{x.volume=Math.max(0,A*(1-S))}catch{}if(S<1)d.current=requestAnimationFrame(w);else{d.current=null,h.current!==null&&(clearTimeout(h.current),h.current=null);try{x.pause()}catch{}f?.()}};d.current=requestAnimationFrame(w),h.current=setTimeout(()=>{if(h.current=null,m.current===_){d.current!==null&&(cancelAnimationFrame(d.current),d.current=null);try{x.paused||(x.volume=0,x.pause(),f?.())}catch{}}},y+150)},[p]);l.useEffect(()=>{const y=document.createElement("audio");return y.loop=!0,y.crossOrigin="anonymous",n.current=y,()=>{p();try{y.pause(),y.src=""}catch{}n.current=null}},[p]);const b=!!e?.settings.enabled&&(e?.settings.level??0)>0;return l.useEffect(()=>{if(!b)return;let y=0;const f=setInterval(()=>{const x=n.current;if(!x||x.paused){y=0;return}const _=t.current;if(_&&!_.paused&&!_.ended||a.current==="playing"){y=0;return}y+=1,y>=2&&(y=0,v())},400);return()=>clearInterval(f)},[v,b,t,a]),l.useEffect(()=>{const y=()=>{if(!document.hidden)return;const f=n.current;if(f&&!f.paused){p();try{f.pause()}catch{}}};return document.addEventListener("visibilitychange",y),()=>document.removeEventListener("visibilitychange",y)},[p]),l.useEffect(()=>{u.current=e?{enabled:e.settings.enabled,level:e.settings.level,type:e.settings.type}:null},[e,e?.settings.enabled,e?.settings.level,e?.settings.type]),l.useEffect(()=>{const y=e?.settings,f=n.current;if(!f)return;if(!y||!y.enabled||y.level===0){v();return}const x=Math.min(1,y.level/9);if(c.current!==y.type){const _=Ck(y.type);_&&(c.current=y.type,s(_),v(150,()=>{f.src=_,f.load();const C=t.current;C&&!C.paused&&f.addEventListener("canplay",function A(){f.removeEventListener("canplay",A);const w=t.current;w&&!w.paused&&!w.ended&&g(x)})}))}else{const _=t.current,C=!!_&&!_.paused&&!_.ended;if(C&&f.paused&&f.src)g(x);else if(!f.paused)if(!C)v();else{p();const A=f.volume,w=performance.now(),S=()=>{const D=Math.min(1,(performance.now()-w)/150);try{f.volume=A+(x-A)*D}catch{}D<1?d.current=requestAnimationFrame(S):d.current=null};d.current=requestAnimationFrame(S)}}},[e?.settings,e?.settings.enabled,e?.settings.level,e?.settings.type,p,g,v,t]),l.useEffect(()=>{const y=n.current;if(y)try{y.playbackRate=Math.min(1.25,Math.max(.75,e?.settings.speed??1))}catch{}},[e?.settings.speed]),{noiseAudioRef:n,activeNoiseUrl:i,noiseSettingsRef:u,cancelNoiseFade:p,fadeInNoise:g,fadeOutNoise:v}}function wk({ttsText:e,playbackRate:t,mainVolume:a,fillRef:r,waveProgressRef:n,setProgress:i,setPlaybackState:s,setStateLocal:c,fadeInNoise:u,fadeOutNoise:d,noiseSettingsRef:m,onDoneRef:h,handleEndRef:p}){const g=l.useRef(null),v=l.useRef(0),b=l.useRef(null);l.useEffect(()=>()=>{try{if(b.current&&(cancelAnimationFrame(b.current),b.current=null),window.speechSynthesis)try{window.speechSynthesis.cancel()}catch{}}catch{}},[]);const y=(_,C=1)=>{try{const A=(_||"").trim().split(/\s+/).filter(Boolean).length||Math.max(1,(_||"").length);return Math.max(700,Math.round(A*300/Math.max(.25,C)))}catch{return 1200}},f=l.useCallback(_=>{if(typeof window>"u"||!window.speechSynthesis){try{typeof h.current=="function"&&h.current(!0)}catch{}return}const C=window.speechSynthesis;try{try{C.cancel()}catch{}const A=_??e,w=(Array.isArray(A)?A[0]??"":A)||"",S=new SpeechSynthesisUtterance(w);try{S.rate=Math.max(.3,Math.min(3,t))}catch{}try{S.volume=Math.max(0,Math.min(1,a))}catch{}v.current=y(w,S.rate||1),g.current=performance.now(),i(0),s("playing"),c("playMode");const D=m.current;D?.enabled&&(D?.level??0)>0&&u(D.level/9);const T=()=>{try{const E=g.current||performance.now(),W=performance.now()-E,M=v.current||1200,k=Math.min(1,W/M);i(k);try{r.current&&(r.current.style.left=`${k*100}%`),n.current&&n.current.style.setProperty("--progress",String(k))}catch{}k<1&&(b.current=requestAnimationFrame(T))}catch{}};S.onend=()=>{try{b.current&&(cancelAnimationFrame(b.current),b.current=null),i(1),s("stopped");try{p.current?.()}catch{try{typeof h.current=="function"&&h.current(!0)}catch{}}}catch{}},S.onstart=()=>{try{b.current&&(cancelAnimationFrame(b.current),b.current=null),b.current=requestAnimationFrame(T)}catch{}};try{C.speak(S)}catch{try{typeof h.current=="function"&&h.current(!0)}catch{}}}catch{try{typeof h.current=="function"&&h.current(!0)}catch{}}},[e,t,a,u,r,n,i,s,c,m,h,p]),x=l.useCallback(()=>{try{if(window.speechSynthesis)try{window.speechSynthesis.cancel()}catch{}b.current&&(cancelAnimationFrame(b.current),b.current=null),d(),g.current=null}catch{}s("stopped"),c("active"),i(0)},[d,s,c,i]);return{startTTS:f,stopTTS:x}}var kk='.ihabdevteam-core-scope .audio-player{align-items:center;display:flex;flex-direction:column;width:100%}.ihabdevteam-core-scope .audio-player__no-waveform{align-items:center;align-self:flex-start;color:var(--color-lightGray);display:flex;gap:4px;margin:6px 0 0}.ihabdevteam-core-scope .audio-player__no-waveform .iconRenderer-icon{align-items:center;display:inline-flex}.ihabdevteam-core-scope .audio-player__panel{align-items:center;background:linear-gradient(90deg,var(--color-main),var(--color-sub));background:linear-gradient(var(--angle,90deg),var(--color-main),var(--color-sub));border-radius:var(--radius-m);display:flex;height:120px;position:relative;width:100%}.ihabdevteam-core-scope .audio-player.is-disabled .audio-player__panel{background:var(--color-darkWhite);border:1px solid var(--color-darkWhite)}.ihabdevteam-core-scope .audio-player.is-disabled .audio-player__buttons,.ihabdevteam-core-scope .audio-player.is-disabled .audio-player__play,.ihabdevteam-core-scope .audio-player.is-disabled .audio-player__wave{pointer-events:none}.ihabdevteam-core-scope .audio-player.is-disabled .audio-player__buttons .button,.ihabdevteam-core-scope .audio-player.is-disabled .audio-player__play .button{opacity:.7}.ihabdevteam-core-scope .audio-player__play{align-items:center;bottom:0;display:flex;height:100%;justify-content:center;left:0;opacity:0;pointer-events:none;position:relative;right:0;top:0;transition:opacity .16s ease,transform .16s ease;width:100%;z-index:10}.ihabdevteam-core-scope .audio-player__play.is-visible{opacity:1;pointer-events:auto}.ihabdevteam-core-scope .audio-player__panel>.button{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:opacity .16s ease,transform .16s ease;will-change:opacity,transform;z-index:35}.ihabdevteam-core-scope .audio-player__button{align-items:center;background:transparent;border:0;cursor:pointer;display:flex;inset:0;justify-content:center;padding:0;position:absolute;z-index:35}.ihabdevteam-core-scope .audio-player__button-triangle-wrap{align-items:center;display:flex;height:90px;justify-content:center;transition:transform .32s cubic-bezier(.2,.7,.2,1);width:90px}.ihabdevteam-core-scope .audio-player__button:hover .audio-player__button-triangle-wrap{transform:scale(1.18)}.ihabdevteam-core-scope .audio-player__button:active .audio-player__button-triangle-wrap{transform:scale(1.06)}.ihabdevteam-core-scope .audio-player__button-triangle{height:100%;width:100%}.ihabdevteam-core-scope .audio-player__button-triangle path{fill:none;stroke:#fff;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.6}.ihabdevteam-core-scope .audio-player.is-disabled .audio-player__button{cursor:default;opacity:.5;pointer-events:none}.ihabdevteam-core-scope .audio-player__slider{align-items:center;bottom:50px;box-sizing:border-box;display:flex;left:20px;pointer-events:none;position:absolute;right:20px;top:20px}.ihabdevteam-core-scope .audio-player__buttons{align-items:center;border-radius:999px;bottom:10px;box-sizing:border-box;display:flex;gap:0;height:28px;justify-content:center;left:0;pointer-events:auto;position:absolute;right:0;z-index:40}.ihabdevteam-core-scope .audio-player__source-buttons{align-items:center;border:1px solid var(--color-white-a30);border-radius:var(--radius-m);display:inline-flex;justify-content:center;overflow:visible}.ihabdevteam-core-scope .audio-player__source-buttons .button{flex:0 0 auto;max-width:60px}.ihabdevteam-core-scope .audio-player__buttons .button[aria-label=\\B2E4\\C74C],.ihabdevteam-core-scope .audio-player__buttons .button[aria-label=\\C774\\C804],.ihabdevteam-core-scope .audio-player__buttons .button[aria-label=\\C815\\C9C0]{display:none}.ihabdevteam-core-scope .audio-player__buttons>.button{align-items:center;display:inline-flex;justify-content:center;margin:0;width:auto}.ihabdevteam-core-scope .audio-player__fill{backface-visibility:hidden;background:var(--color-pureWhite);border-radius:var(--radius-sm);height:100%;left:0;opacity:0;pointer-events:none;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%) scaleY(0);transform-origin:center center;transition:transform .28s cubic-bezier(.2,.8,.2,1),opacity .16s ease;width:8px;will-change:transform,opacity;z-index:70}.ihabdevteam-core-scope .audio-player__fill.is-visible{opacity:1}.ihabdevteam-core-scope .audio-player__fill.is-expanded{transform:translateX(-50%) translateY(-50%) scaleY(1)}.ihabdevteam-core-scope .audio-player__fill.is-paused{transition:opacity .16s ease}.ihabdevteam-core-scope .audio-player__fill.is-out{animation:audio-player-fill-out .28s cubic-bezier(.2,.8,.2,1) forwards}@keyframes audio-player-fill-out{0%{opacity:1;transform:translateX(-50%) translateY(-50%) scaleY(1)}to{opacity:0;transform:translateX(-50%) translateY(-50%) scaleY(0)}}.ihabdevteam-core-scope .audio-player__loading{align-items:center;background:transparent;border-radius:var(--radius-sm);color:rgba(0,0,0,.85);color:var(--audio-loading-foreground,rgba(0,0,0,.85));display:inline-flex;font-size:13px;gap:var(--spacing-xs);left:50%;padding:0;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:999}.ihabdevteam-core-scope .audio-player__debug{align-items:center;background:hsla(0,0%,100%,.06);border-radius:18px;color:#fff;display:flex;font-size:12px;gap:8px;padding:6px 10px;pointer-events:none;position:absolute;right:12px;top:12px}.ihabdevteam-core-scope .audio-player__debug-dot{border-radius:10px;box-shadow:0 0 6px rgba(0,0,0,.4);display:inline-block;height:10px;width:10px}.ihabdevteam-core-scope .audio-player__loading .audio-player__loading-text,.ihabdevteam-core-scope .audio-player__panel.is-loading .audio-player__loading-text{display:none}.ihabdevteam-core-scope .audio-player__loading-spinner{animation:audio-player-spinner .9s linear infinite;border:4px solid hsla(0,0%,100%,.2);border-radius:50%;border-top-color:#fff;filter:drop-shadow(0 2px 6px rgba(0,0,0,.25));height:40px;width:40px}@keyframes audio-player-spinner{to{transform:rotate(1turn)}}.ihabdevteam-core-scope .audio-player__wave{height:90%;position:absolute}.ihabdevteam-core-scope .audio-player__wave,.ihabdevteam-core-scope .audio-player__wave-inner{align-items:center;display:flex;justify-content:center;pointer-events:none;width:100%;z-index:60}.ihabdevteam-core-scope .audio-player__wave-inner{cursor:default;gap:3px;gap:var(--bar-gap,3px);height:100%;margin:0 auto;padding:0}.ihabdevteam-core-scope .audio-player__wave-inner:not(.is-ready) .audio-player__bar:after{opacity:0}.ihabdevteam-core-scope .audio-player__wave-inner.is-ready .audio-player__bar:after{animation:wave-bar-in .35s cubic-bezier(.22,.9,.3,1) both;animation-delay:0ms;animation-delay:calc(var(--i, 0)*2ms)}@keyframes wave-bar-in{0%{opacity:0;transform:translateY(-50%) scaleY(.05)}to{opacity:1;transform:translateY(-50%) scaleY(.15);transform:translateY(-50%) scaleY(var(--val,.15))}}.ihabdevteam-core-scope .audio-player__wave-inner.is-ready .audio-player__bar--hidden:after,.ihabdevteam-core-scope .audio-player__wave-noise.is-ready .audio-player__bar--hidden:after{animation:none;opacity:0}.ihabdevteam-core-scope .audio-player__wave-played{bottom:0;clip-path:inset(0 100% 0 0);clip-path:inset(0 calc((1 - var(--progress, 0))*100%) 0 0);left:0;pointer-events:none;position:absolute;right:0;top:0}.ihabdevteam-core-scope .audio-player__bar{box-sizing:border-box;flex:0 0 3px;flex:0 0 var(--bar-w,3px);height:100%;position:relative}.ihabdevteam-core-scope .audio-player__wave-unplayed .audio-player__bar:after{background:color-mix(in srgb,var(--color-lightMain),var(--color-lightSub) 0);border-radius:999px;content:"";height:100%;left:0;opacity:1;position:absolute;right:0;top:50%;transform:translateY(-50%) scaleY(.15);transform:translateY(-50%) scaleY(var(--val,.15));transform-origin:center center;z-index:61}@supports (color:color-mix(in lch,red,blue)) and (top:var(--f )){.ihabdevteam-core-scope .audio-player__wave-unplayed .audio-player__bar:after{background:color-mix(in srgb,var(--color-lightMain),var(--color-lightSub) calc(var(--mix, 0)*100%))}}.ihabdevteam-core-scope .audio-player__wave-played .audio-player__bar:after{background:color-mix(in srgb,var(--color-lightMain),var(--color-lightSub) 0);border-radius:999px;content:"";height:100%;left:0;opacity:1;position:absolute;right:0;top:50%;transform:translateY(-50%) scaleY(.15);transform:translateY(-50%) scaleY(var(--val,.15));transform-origin:center center;z-index:62}@supports (color:color-mix(in lch,red,blue)) and (top:var(--f )){.ihabdevteam-core-scope .audio-player__wave-played .audio-player__bar:after{background:color-mix(in srgb,var(--color-lightMain),var(--color-lightSub) calc(var(--mix, 0)*100%))}}.ihabdevteam-core-scope .audio-player__wave-noise{align-items:center;bottom:0;display:flex;gap:3px;gap:var(--bar-gap,3px);justify-content:center;left:0;margin:0 auto;pointer-events:none;position:absolute;right:0;top:0;width:100%;z-index:58}.ihabdevteam-core-scope .audio-player__wave-noise .audio-player__bar:after{background:color-mix(in srgb,var(--color-deepMain),var(--color-deepSub) 0);border-radius:999px;content:"";height:100%;left:0;opacity:1;position:absolute;right:0;top:50%;transform:translateY(-50%) scaleY(.1);transform:translateY(-50%) scaleY(var(--val,.1));transform-origin:center center;z-index:58}@supports (color:color-mix(in lch,red,blue)) and (top:var(--f )){.ihabdevteam-core-scope .audio-player__wave-noise .audio-player__bar:after{background:color-mix(in srgb,var(--color-deepMain),var(--color-deepSub) calc(var(--mix, 0)*100%))}}.ihabdevteam-core-scope .audio-player__wave-noise:not(.is-ready) .audio-player__bar:after{opacity:0}.ihabdevteam-core-scope .audio-player__wave-noise.is-ready .audio-player__bar:after{animation:wave-bar-in .35s cubic-bezier(.22,.9,.3,1) both;animation-delay:0ms;animation-delay:calc(var(--i, 0)*2ms)}.ihabdevteam-core-scope .audio-player__segments{align-items:center;display:flex;gap:3px;gap:var(--bar-gap,3px);height:100%;position:relative;width:100%}.ihabdevteam-core-scope .audio-player__segment{align-items:center;cursor:pointer;display:flex;height:100%;justify-content:center;padding:10px 0;pointer-events:auto;position:relative}.ihabdevteam-core-scope .audio-player__segment-inner{align-items:center;display:flex;gap:3px;gap:var(--bar-gap,3px);height:100%;justify-content:center;width:100%}';Q(kk);const fb=4;async function Sk(e,t,a){try{const r=window.AudioContext||window.webkitAudioContext,n=new r,i=await n.decodeAudioData(e.slice(0)),s=i.numberOfChannels>0?i.getChannelData(0):null;if(!s)return null;const c=a&&a>0?Math.min(s.length,Math.floor(a*i.sampleRate)):s.length,u=Math.max(t,c),d=Math.floor(u/t)||1,m=new Array(t).fill(0).map((h,p)=>{const g=p*d,v=Math.min(g+d,u);let b=0;for(let y=g;y<v;y++){const f=Math.abs(s[y]);f>b&&(b=f)}return b});try{n.close&&n.close()}catch{}return m}catch{return null}}async function vb(e,t,a){try{const r=await(await fetch(e)).arrayBuffer();return await Sk(r,t,a)}catch(r){try{const n=Vr(r)}catch{}return null}}function Ak(e){const{src:t,segments:a,progress:r=0,waveProgressRef:n,noiseSrc:i,noiseLevel:s=0,noiseSpeed:c=1,totalDuration:u=0,mainVolume:d=1,onReadyChange:m,showSoundWaveForm:h=!0}=e,p=l.useRef(null),g=l.useRef(null),[v,b]=l.useState(null),[y,f]=l.useState(!1),[x,_]=l.useState(null),[C,A]=l.useState(2),[w,S]=l.useState(0),[D,T]=l.useState(null),[E,W]=l.useState(!1),M=3,k=3,N=1,j=300,F=l.useRef(0),te=l.useCallback(async(Y,J)=>{const ue=++F.current,pe=()=>F.current===ue;try{if(f(!1),!Y){pe()&&b(null);return}let ae=J;if(!ae)try{for(let De=0;De<4&&!(p.current||g.current);De++)await new Promise(Ie=>requestAnimationFrame(Ie));await new Promise(De=>requestAnimationFrame(De));const ce=p.current,xe=g&&g.current?g.current:ce?ce.closest(".audio-player__wave"):null,Se=xe?xe.getBoundingClientRect():ce?ce.getBoundingClientRect():null,Ae=Se?Math.max(100,Se.width):320,P=Se?Se.height:0;P>0&&S(P),ae=Math.max(N,Math.min(j,Math.floor((Ae+k)/(M+k))));const oe=ae*M,re=Math.max(0,ae-1),Ce=re>0?(Ae-oe)/re:k;A(Math.max(0,Ce))}catch{ae=120}const X=await vb(Y,ae);if(!pe())return;if(!X){b(null),f(!1);return}b(X),_(ae),f(!0)}catch{if(!pe())return;b(null),f(!1)}},[f,b,S,A,_]);l.useEffect(()=>{const Y=a&&a[0]&&a[0].src||t||a&&a.length===1&&a[0]&&a[0].src;te(typeof Y=="string"?Y:void 0).catch(()=>{}),W(!1)},[t,a,te]),l.useEffect(()=>{let Y=!1;if(!i||!x){T(null);return}const J=u>0?u*(c||1):void 0;return vb(i,x,J).then(ue=>{Y||T(ue)}).catch(()=>{Y||T(null)}),()=>{Y=!0}},[i,x,u,c]);const Z=Math.max(0,Math.min(1,d)),ee=l.useMemo(()=>v&&v.length&&Math.max(...v)||1,[v]),L=x||40,R=l.useMemo(()=>Array.from({length:L}).map((Y,J)=>{const ue=v&&v[J]!=null?v[J]:null,pe=ue==null?null:Math.min(1,ue/ee*Z),ae=pe!=null&&w>0&&pe*w<=fb,X=pe==null?.15:ae?0:pe,ce=L>1?J/(L-1):0;return o.jsx("div",{className:ae?"audio-player__bar audio-player__bar--hidden":"audio-player__bar",style:{"--val":X,"--i":J,"--mix":ce}},J)}),[L,v,ee,Z,w]),O={"--progress":String(Math.max(0,Math.min(1,r)))},H={"--bar-gap":`${C}px`},$=Math.max(0,Math.min(9,s))/9,q=y&&(i?!!D:!0);l.useEffect(()=>{q&&W(!0)},[q]);const I=E?y:q;l.useEffect(()=>{m?.(I)},[I,m]);const G=x||40,z=l.useMemo(()=>Array.from({length:G}).map((Y,J)=>{const ue=D&&D[J]!=null?D[J]:null,pe=ue==null?0:Math.min(1,ue/ee*$),ae=w>0&&pe*w<=fb,X=ae?0:pe,ce=G>1?J/(G-1):0;return o.jsx("div",{className:ae?"audio-player__bar audio-player__bar--hidden":"audio-player__bar",style:{"--val":X,"--i":J,"--mix":ce}},J)}),[G,D,ee,$,w]);return o.jsxs("div",{className:"audio-player__wave",ref:g,style:H,children:[i&&o.jsx("div",{className:`audio-player__wave-noise ${q?"is-ready":""}`,"aria-hidden":"true",children:z}),h&&o.jsxs(o.Fragment,{children:[o.jsx("div",{className:`audio-player__wave-inner audio-player__wave-unplayed ${I?"is-ready":""}`,ref:p,children:R}),o.jsx("div",{className:`audio-player__wave-inner audio-player__wave-played ${I?"is-ready":""}`,ref:n,style:O,children:R})]})]})}const Tk={idle:"\uB300\uAE30",resolving:"\uB9AC\uC18C\uC2A4 \uB9E4\uD551 \uC911\u2026",checking_exists:"\uD30C\uC77C \uC874\uC7AC \uD655\uC778\u2026",getting_signed_url:"\uC11C\uBA85 URL \uC870\uD68C\u2026",downloading:"\uB2E4\uC6B4\uB85C\uB4DC \uC911\u2026",measuring_duration:"\uC624\uB514\uC624 \uAE38\uC774 \uCE21\uC815\u2026",ready:"\uC900\uBE44 \uC644\uB8CC",error:"\uC624\uB958 \uBC1C\uC0DD"};function sc(e,t){return new Promise((a,r)=>{const n=document.createElement("audio");let i=!1;const s=()=>{try{n.src=""}catch{}},c=()=>{if(i)return;i=!0;const d=isFinite(n.duration)&&n.duration||0;s(),a(d)},u=d=>{i||(i=!0,s(),t.rejectOnError?r(new Error(d)):a(0))};n.addEventListener("loadedmetadata",c),n.addEventListener("error",()=>u("audio load failed")),setTimeout(()=>u("audio load timeout"),t.timeoutMs),n.src=e})}const Bk=2e3;function yb(e,t=Bk){return new Promise(a=>{let r=!1;const n=()=>{r||(r=!0,a())};e.addEventListener("canplay",n,{once:!0}),e.addEventListener("error",n,{once:!0}),setTimeout(n,t)})}function Nk({showSoundWaveForm:e,showNoiseWaveForm:t,timeoutMs:a=2500}){const r=l.useRef(!1),n=l.useRef([]),i=l.useCallback(u=>{if(r.current=u,!u||!n.current.length)return;const d=n.current;n.current=[];for(const m of d)m()},[]),s=l.useCallback(()=>{r.current=!1},[]),c=l.useCallback(()=>!e&&!t||r.current?Promise.resolve():new Promise(u=>{const d=setTimeout(u,a);n.current.push(()=>{clearTimeout(d),u()})}),[e,t,a]);return l.useEffect(()=>()=>{const u=n.current;n.current=[];for(const d of u)d()},[]),{onReadyChange:i,waitForReady:c,markNotReady:s}}function Dk(){const e=l.useRef([]),t=l.useCallback(n=>(e.current.push(n),n),[]),a=l.useCallback(n=>{const i=new Set([...n].filter(Boolean));e.current=e.current.filter(s=>{if(i.has(s))return!0;try{URL.revokeObjectURL(s)}catch{}return!1})},[]),r=l.useCallback(()=>{a([])},[a]);return l.useEffect(()=>()=>{for(const n of e.current)try{URL.revokeObjectURL(n)}catch{}e.current=[]},[]),{track:t,keepOnly:a,revokeAll:r}}function Ek({offsetY:e=8}={}){const t=l.useRef(null),[a,r]=l.useState(null),n=l.useCallback(()=>r(null),[]),i=l.useCallback(()=>{try{const s=t.current?.getBoundingClientRect();if(!s)return;r({left:s.left,right:s.right,width:s.width,height:s.height,x:s.x,top:s.top+e,bottom:s.bottom+e,y:s.y+e,toJSON:s.toJSON.bind(s)})}catch{}},[e]);return l.useEffect(()=>{if(a)return document.addEventListener("mousedown",n),()=>document.removeEventListener("mousedown",n)},[a,n]),{ref:t,rect:a,show:i,hide:n}}function jk({currentTime:e,sources:t,index:a,audioDuration:r}){const n=a||0,i=Array.isArray(t)&&t.length>0?t[n]:void 0,s=i?i.duration||r||0:r||0;if(!(s>0))return 0;const c=Number.isFinite(e)?e:0;return Math.max(0,Math.min(1,c/s))}function Lk(e,t){if(!Array.isArray(e))return null;const a=t||0;return a<e.length-1?a+1:null}function Mk({ended:e,completedByEnd:t}){return!!e||!!t}function Pk(e){return e.map((t,a)=>({src:t.src,label:String(a+1),color:void 0,duration:t.duration||0}))}function Rk(e){return e.reduce((t,a)=>t+(a.duration||0),0)}function $k(e,t,a){const r=Array.isArray(e)?e:e?[e]:[],n=[];for(const i of r)if(i){if(typeof i=="object"&&i!==null&&"src"in i&&i.src){const s=i;n.push({code:s.code??null,src:s.src});continue}if(typeof i=="string"&&(i.startsWith("http")||i.includes("/"))){n.push({code:null,src:i});continue}if(typeof i=="string"||typeof i=="number"){const s=String(i),c=a(s,t);c&&n.push({code:s,resolvedPath:c})}}return n}function zk({audioRef:e,fillRef:t,waveProgressRef:a,sourcesRef:r,currentIndexRef:n}){const i=l.useRef(null),s=l.useCallback(()=>{i.current!==null&&(cancelAnimationFrame(i.current),i.current=null)},[]),c=l.useCallback(()=>{if(i.current!==null)return;const d=()=>{try{const m=e.current,h=jk({currentTime:m&&typeof m.currentTime=="number"?m.currentTime:0,sources:r.current,index:n.current,audioDuration:m&&m.duration?m.duration:0});try{t.current&&(t.current.style.left=`${h*100}%`)}catch{}try{a.current?.style.setProperty("--progress",String(h))}catch{}}catch{}i.current=requestAnimationFrame(d)};i.current=requestAnimationFrame(d)},[e,t,a,r,n]),u=l.useCallback(d=>{s();try{t.current&&(t.current.style.left=`${d*100}%`)}catch{}try{a.current?.style.setProperty("--progress",String(d))}catch{}},[s,t,a]);return l.useEffect(()=>s,[s]),{start:c,stop:s,settleTo:u}}function xr({btnLabel:e,soundSrc:t,bucketPath:a,onDone:r,disabled:n=!1,ttsText:i=null,className:s,showSoundWaveForm:c=!0,showNoiseWaveForm:u=!0}){const{t:d}=me.useTranslation(),m=e,h=nc(),p=l.useRef(h?.registerAnalyser);l.useEffect(()=>{p.current=h?.registerAnalyser});const g=l.useRef(null),v=l.useRef(null),b=l.useRef(null),y=Dk(),f=l.useRef(null),x=l.useRef(!1),_=l.useRef(0),C=l.useRef(null),{ref:A,rect:w,show:S,hide:D}=Ek();l.useEffect(()=>()=>{p.current?.("main",null),p.current?.("noise",null)},[]);const[T,E]=l.useState(!1),[W,M]=l.useState("idle"),[k,N]=l.useState("stopped"),j=l.useRef("stopped");l.useEffect(()=>{j.current=k},[k]);const[F,te]=l.useState(0),[Z,ee]=l.useState("active"),[L,R]=l.useState(null),[O,H]=l.useState(null),[$,q]=l.useState(0),[I,G]=l.useState(!1),[z,Y]=l.useState(0),J=h?.playbackRate??1,ue=h?.mainVolume??1,[pe,ae]=l.useState("idle"),[X,ce]=l.useState(""),[xe]=l.useState("top"),Se=l.useRef(null),Ae=l.useRef(0),P=l.useRef(null),{start:oe,stop:re,settleTo:Ce}=zk({audioRef:g,fillRef:v,waveProgressRef:P,sourcesRef:Se,currentIndexRef:Ae}),{onReadyChange:De,waitForReady:Ie,markNotReady:Oe}=Nk({showSoundWaveForm:c,showNoiseWaveForm:u}),Fe=l.useRef(null),Qe=l.useRef(n),Re=l.useRef(r),Ge=l.useRef(null),We=l.useRef(!1),[be,at]=l.useState(!1),He=l.useCallback(U=>{We.current=U,at(U)},[]),Le=l.useRef(null),{activeNoiseUrl:Ue,noiseSettingsRef:Dt,fadeInNoise:Ke,fadeOutNoise:Ye}=_k({noisePlayer:h,audioRef:g,playbackStateRef:j}),{startTTS:ut,stopTTS:je}=wk({ttsText:i,playbackRate:J,mainVolume:ue,fillRef:v,waveProgressRef:P,setProgress:te,setPlaybackState:N,setStateLocal:ee,fadeInNoise:Ke,fadeOutNoise:Ye,noiseSettingsRef:Dt,onDoneRef:Re,handleEndRef:Le}),rt=Array.isArray(t)?t.filter(Boolean):t?[t]:[],Je=(!rt||rt.length===0)&&!!i,$e=Array.isArray(L)&&L.length>0?L:Array.isArray(O)&&O.length>0?O:null,Ze=Math.max(Array.isArray($e)?$e.length:0,rt.length),et=l.useCallback(async(U,ie=3,ve=50)=>{for(let we=0;we<ie;we++)try{return await U.play(),!0}catch(ke){if((ke instanceof Error||typeof ke=="object"&&ke&&"name"in ke?ke.name:void 0)==="AbortError"){await new Promise(Me=>setTimeout(Me,ve));continue}try{ce(d("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}return!1}try{ce(d("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}return!1},[d]),yt=l.useCallback(()=>{const U=g.current;if(!U)return;const ie=()=>{N("playing"),ee("playMode"),G(!0),oe();try{Wo(),p.current?.("main",Ho(U))}catch{}const ke=Dt.current;ke?.enabled&&(ke?.level??0)>0&&Ke(ke.level/9)},ve=()=>{Mk({ended:!!U?.ended,completedByEnd:We.current})||(N("paused"),re(),Ye())},we=()=>{try{const ke=Se.current,Me=Lk(ke,Ae.current);if(Me!==null){Ae.current=Me,q(Me),G(!0);const nt=ke?.[Me]&&ke[Me].src;if(nt&&U){U.src=nt,U.load(),et(U).catch(()=>{});return}}}catch{}N("stopped"),te(1);try{if(U)try{U.currentTime=0}catch{}}catch{}re(),G(!1),Ye();try{!Qe.current&&Le.current&&Le.current()}catch{}};return U.addEventListener("play",ie),U.addEventListener("pause",ve),U.addEventListener("ended",we),()=>{try{U.removeEventListener("play",ie),U.removeEventListener("pause",ve),U.removeEventListener("ended",we),re()}catch{}}},[Ke,Ye,et,Dt,oe,re]);l.useEffect(()=>yt(),[yt]),l.useEffect(()=>{Qe.current=n},[n]),l.useEffect(()=>{Re.current=r},[r]),l.useEffect(()=>{if(n||Z!=="active")return;const U=C.current;if(!U)return;let ie=null;const ve=requestAnimationFrame(()=>{try{const we=U.getTotalLength();if(!we)return;const ke=we*.2;U.style.strokeDasharray=`${we-ke} ${ke}`;const Me="triFlow_"+Math.random().toString(36).slice(2);ie=document.createElement("style"),ie.textContent=`@keyframes ${Me}{from{stroke-dashoffset:0}to{stroke-dashoffset:-${we}}}`,document.head.appendChild(ie),U.style.animation=`${Me} 2.4s linear infinite`}catch{}});return()=>{cancelAnimationFrame(ve),ie?.remove()}},[Z,n]),l.useEffect(()=>{Se.current=L},[L]),l.useEffect(()=>{Ae.current=$},[$]),l.useEffect(()=>{const U=b.current,ie=f.current;if(!U||!ie)return;let ve=null;const we=32,ke=60,Me=()=>{try{const ct=Array.from(U.querySelectorAll(":scope > .button"));let de=0;ct.forEach(Zt=>{if(Zt===ie)return;const Do=Zt.getBoundingClientRect();de+=Do.width});const Te=U.getBoundingClientRect().width,tt=Math.max(0,Math.floor(Te-de-8)),xt=Ze;if(!xt||tt<=0){Array.from(ie.children).forEach(Zt=>{try{Zt.style.width=""}catch{}});return}let Ct=Math.floor(tt/xt);Ct>ke&&(Ct=ke),Ct<we&&(Ct=Math.max(we,Math.floor(tt/xt))),Array.from(ie.querySelectorAll(".button")).forEach(Zt=>{try{Zt.style.width=`${Ct}px`}catch{}})}catch{}},nt=requestAnimationFrame(Me);try{ve=new ResizeObserver(()=>{requestAnimationFrame(Me)}),ve.observe(U),ve.observe(ie),window.addEventListener("resize",Me)}catch{}return()=>{try{cancelAnimationFrame(nt)}catch{}try{ve&&(ve.disconnect(),ve=null)}catch{}try{window.removeEventListener("resize",Me)}catch{}}},[L,O,Ze]),l.useEffect(()=>()=>{try{Fe.current&&(clearTimeout(Fe.current),Fe.current=null),Ge.current&&(clearTimeout(Ge.current),Ge.current=null)}catch{}},[]);const Et=(U,ie)=>{R(U),Y(ie),Oe(),H(Pk(U)),Se.current=U},it=async(U,ie)=>{He(!1),x.current=!1,U.src=ie,U.load(),await yb(U),await Ie(),E(!1),await et(U),ee("playMode"),q(0),G(!0)},Ht=async(U,ie=!1)=>{const ve=g.current;E(!0),M("measuring_duration");try{const we=await sc(U,{timeoutMs:1e4,rejectOnError:!0});Et([{src:U,objectUrl:null,duration:we}],we),M("ready"),ie&&ve&&await it(ve,U)}finally{x.current=!1,E(!1)}},mt=async(U,ie=!1)=>{const ve=g.current;E(!0),M("measuring_duration");try{const we=await Promise.all(U.map(Me=>sc(Me,{timeoutMs:1e4}))),ke=U.map((Me,nt)=>({src:Me,objectUrl:null,duration:we[nt]||0}));Et(ke,Rk(ke)),M("ready"),ie&&ve&&ke.length>0&&await it(ve,ke[0].src)}finally{x.current=!1,E(!1)}},Vt=async(U=!1,ie=!0)=>{const ve=g.current,we=t?Array.isArray(t)?t:[t]:[];if(!(!we||we.length===0||!we.some(Boolean))&&!x.current){x.current=!0,ie&&E(!0),M("resolving");try{const ke=$k(t,a,Tr),Me=[];let nt=0;for(const ct of ke){let de=ct.src??null,Te=null;if(!de&&ct.resolvedPath){try{M("getting_signed_url"),de=await Io(ct.resolvedPath)}catch{de=null}if(!de)try{M("downloading");const xt=await Br(ct.resolvedPath);if(xt){const Ct=xt instanceof Blob?xt:new Blob([xt]);Te=y.track(URL.createObjectURL(Ct)),de=Te}}catch{M("error");try{ce(d("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.")),ee("active")}catch{}}}if(!de)continue;let tt=0;try{M("measuring_duration"),tt=await sc(de,{timeoutMs:3e3})}catch{tt=0}nt+=tt||0,Me.push({...ct,src:de,objectUrl:Te,duration:tt})}if(Et(Me,nt),Me.length>0&&U&&ve){const ct=Me[0];He(!1);try{y.keepOnly(Me.map(de=>de.objectUrl))}catch{}if(M("ready"),x.current=!1,ct.src&&ve)try{ve.src=ct.src,ve.load(),await yb(ve),await Ie(),ie&&E(!1),ve&&await et(ve)}catch{ie&&E(!1)}else ie&&E(!1);ee("playMode"),q(0),G(!0)}}finally{x.current=!1,ie&&E(!1),M(ke=>ke==="ready"?"ready":"idle")}}},ia=async()=>{const U=g.current;if(!(!U&&!Je)){if(Je){const ie=window.speechSynthesis;if(Z==="active"){const ve=Oo(),we=Array.isArray(i)?i.filter(Boolean):i?[i]:[];if(ve&&we.length>0){ee("load"),E(!0),M("resolving"),x.current=!0;try{const ke=await Promise.all(we.map(Me=>Promise.resolve(ve(Me))));ke.length>1?await mt(ke,!0):await Ht(ke[0],!0)}catch{x.current=!1,E(!1),ee("active"),ut(we[0]||void 0)}return}ut(we[0]||void 0);return}if(Z==="playMode"){if(U){if(U.paused){if(We.current){await Gt();return}await et(U),N("playing")}else U.pause(),N("paused");return}try{if(ie&&ie.paused)try{ie.resume(),N("playing")}catch{}else try{ie.pause(),N("paused")}catch{}}catch{}}return}if(Z==="active"){if(n&&Array.isArray(Se.current)&&Se.current.length>0){const ie=Se.current[0];try{if(ie.src&&U)try{U.src=ie.src,U.load(),U&&await et(U)}catch{}ee("playMode"),q(0),G(!0);return}catch{}}ee("load"),await Vt(!0);return}if(Z!=="load"&&(Z==="playMode"||Z==="active"))try{if(U&&U.paused){if(We.current){await Gt();return}U&&await et(U),N("playing")}else U&&(U.pause(),N("paused"))}catch(ie){(ie instanceof Error||typeof ie=="object"&&ie&&"name"in ie)&&ie.name}}},Gt=async()=>{const U=g.current;if(U)try{const ie=Se.current;if(Array.isArray(ie)&&ie.length>1){await $t(0);return}He(!1);try{U.currentTime=0}catch{}U&&await et(U),N("playing"),ee("playMode")}catch{}},Ea=()=>{if(Je){je();return}const U=g.current;try{if(U){try{U.pause()}catch{}try{U.currentTime=0}catch{}}}catch{}Ye(),N("stopped"),ee("active"),te(0),G(!1)},sa=async(U,{sameSegment:ie=!1}={})=>{const ve=++_.current,we=g.current,ke=Se.current?.[U]?.src;try{if(He(!1),q(U),G(!0),Ae.current=U,!ke||!we||(ie||Oe(),we.src=ke,we.load(),ie||await Ie(),ve!==_.current)||(await et(we),ve!==_.current))return;N("playing"),ee("playMode")}catch{}},Kt=async()=>{const U=Se.current,ie=Ae.current||0;if(!U||ie<=0){await Gt();return}await sa(ie-1)},ja=async()=>{const U=Se.current,ie=Ae.current||0;if(!U||ie>=U.length-1){Ea();return}await sa(ie+1)},jt=()=>{if(We.current)return;const U=200,ie=340;He(!0);try{te(1)}catch{}Ce(1);try{ae("hold")}catch{}try{const ve=g.current,we=Je&&!!ve?.src;if(!Je||we){if(ve){ve.pause();try{ve.currentTime=0}catch{}}}else je();Ye()}catch{}try{N("stopped")}catch{}if(G(!1),!Qe.current)try{Ge.current&&(clearTimeout(Ge.current),Ge.current=null),Ge.current=setTimeout(()=>{try{ae("out")}catch{}Ge.current=setTimeout(()=>{try{typeof Re.current=="function"&&Re.current(!0)}catch{}try{ae("idle")}catch{}Ge.current=null},ie)},U)}catch{}};l.useEffect(()=>{Le.current=jt});const Ga=l.useCallback(()=>ce(""),[]),$t=async U=>{(Se.current||[])[U]&&await sa(U,{sameSegment:U===Ae.current})},ya=k==="playing",qa=l.useMemo(()=>{if(!O||O.length<=1)return O;const U=O[$];return U?[U]:O},[O,$]),Xe=n===!0;l.useEffect(()=>{try{const U=g.current;U&&typeof U.playbackRate=="number"&&(U.playbackRate=J||1)}catch{}},[J]),l.useEffect(()=>{try{const U=g.current;U&&(U.volume=Math.max(0,Math.min(1,ue)))}catch{}},[ue]);const zt=pe==="hold",wt=pe==="out",xa=Z==="playMode"&&!T&&!be||zt||wt,la=k!=="stopped"||zt||wt,ne=k==="paused",ge=Math.max(0,Math.min(100,(F||0)*100)),fe=ye("audio-player__fill",xa?"is-visible":"",la?"is-expanded":"",ne?"is-paused":"",wt?"is-out":"");return o.jsxs("div",{className:`audio-player ${Xe?"is-disabled":""}${s?` ${s}`:""}`,role:"group","aria-label":typeof m=="string"?m:void 0,children:[o.jsxs("div",{className:`audio-player__panel ${ya?"is-playing":""} ${T?"is-loading":""} ${Z!=="default"?"is-revealed":""}`,children:[T?o.jsxs("div",{className:"audio-player__loading",role:"status","aria-live":"polite",children:[o.jsx("span",{className:"audio-player__loading-spinner","aria-hidden":"true"}),o.jsx("span",{className:"audio-player__loading-text",children:Tk[W]})]}):null,Z==="active"?o.jsx("button",{className:"audio-player__button",type:"button",onClick:()=>{D(),ia()},"aria-label":typeof m=="string"?m:d("training.listen","\uB4E3\uAE30"),onMouseEnter:S,onMouseLeave:D,onFocus:S,onBlur:D,children:o.jsx("span",{ref:A,className:"audio-player__button-triangle-wrap",children:o.jsx("svg",{className:"audio-player__button-triangle",viewBox:"0 0 24 24","aria-hidden":"true",children:o.jsx("path",{ref:C,d:"M13.2 7.7 L16.5 9.85 Q20.2 12 16.5 14.15 L10 18.3 Q7 19.7 7 16.3 L7 7.7 Q7 4.3 10 5.7 L13.2 7.7"})})})}):null,w&&o.jsx(aa,{anchorRect:w,text:typeof m=="string"&&m?m:d("training.listenLabel","\uBB38\uC7A5 \uB4E3\uAE30"),offset:8}),o.jsxs("div",{className:`audio-player__play ${Z==="playMode"||ya?"is-visible":""}`,children:[o.jsxs("div",{ref:b,className:"audio-player__buttons",children:[o.jsx(le,{size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"skip-back",onClick:Kt,ariaLabel:d("training.prev","\uC774\uC804"),width:"60px",variant:"transparent-white","aria-hidden":"true",tabIndex:-1,disabled:Z!=="playMode"}),o.jsx(le,{size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:ya?"pause":"play",onClick:ia,ariaLabel:d("common.playPause","\uC7AC\uC0DD / \uBA48\uCDA4"),width:"60px",variant:"transparent-white",disabled:Z!=="playMode"}),o.jsx(le,{size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"square",onClick:Ea,ariaLabel:d("training.stop","\uC815\uC9C0"),width:"60px",variant:"transparent-white","aria-hidden":"true",tabIndex:-1,disabled:Z!=="playMode"}),Ze>1?o.jsx("div",{ref:f,className:"audio-player__source-buttons",children:Array.from({length:Ze}).map((U,ie)=>o.jsx(le,{size:32,type:"dot",shape:"pill",useBorder:!1,label:String(ie+1),onClick:()=>{try{$t(ie)}catch{}},ariaLabel:d("training.sourcePlay",{n:ie+1}),variant:"transparent-white",selected:I&&$===ie,disabled:Z!=="playMode"||!(Array.isArray(L)&&L[ie]),showTooltipInfo:!0},ie))}):null,!Array.isArray(L)||L.length<=1?o.jsx(le,{size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"repeat",onClick:Gt,ariaLabel:d("common.replay","\uB2E4\uC2DC\uB4E3\uAE30"),width:"60px",variant:"transparent-white",disabled:Z!=="playMode"}):null,o.jsx(le,{size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"skip-forward",onClick:ja,ariaLabel:d("training.next","\uB2E4\uC74C"),width:"60px",variant:"transparent-white","aria-hidden":!0,tabIndex:-1,disabled:Z!=="playMode"}),o.jsx(le,{size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"check",onClick:jt,ariaLabel:d("common.done","\uC644\uB8CC"),width:"60px",variant:"transparent-white",disabled:Z!=="playMode"})]}),o.jsxs("div",{className:"audio-player__slider",children:[o.jsx("div",{className:fe,ref:v,style:{left:`${ge}%`},"aria-hidden":"true"}),(c||u)&&o.jsx(Ak,{segments:qa,progress:F,totalDuration:z,onSegmentClick:$t,waveProgressRef:P,showSoundWaveForm:c,noiseSrc:u&&h?.settings.enabled&&(h?.settings.level??0)>0?Ue:null,noiseLevel:h?.settings.level??0,noiseSpeed:h?.settings.speed??1,mainVolume:ue,onReadyChange:De})]})]}),o.jsx("audio",{ref:g,crossOrigin:"anonymous",preload:"auto"})]}),!c&&o.jsxs("p",{className:"audio-player__no-waveform caption-1",children:[o.jsx(Pe,{icon:"triangle-alert",size:14}),d("training.noSoundWaveform","\uC18C\uB9AC \uBE44\uAD50 \uBB38\uC81C\uB294 \uC6E8\uC774\uBE0C\uD3FC\uC744 \uD45C\uD604\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.")]}),o.jsx(oo,{message:X,position:xe,onClose:Ga})]})}var Ik=".ihabdevteam-core-scope .tooltip-textbox{background:var(--color-deepWhite);border:1px solid var(--color-whiteLine);border-radius:var(--radius-m);box-sizing:border-box;max-width:520px;padding:var(--spacing-content)}.ihabdevteam-core-scope .tooltip-textbox__root{display:flex;flex-direction:column;gap:var(--spacing-xs)}.ihabdevteam-core-scope .tooltip-textbox__box{background:transparent}.ihabdevteam-core-scope .tooltip-textbox__label{color:var(--color-darkGray)}.ihabdevteam-core-scope .tooltip-textbox__text{color:var(--color-darkGray);overflow-wrap:anywhere;white-space:normal;word-break:keep-all}.ihabdevteam-core-scope .tooltip-textbox__line{align-items:center;display:flex;gap:var(--spacing-s);margin-bottom:0;min-height:60px;padding:10px 0}.ihabdevteam-core-scope .tooltip-textbox__line:last-child{margin-bottom:0}.ihabdevteam-core-scope .tooltip-textbox__line:not(:last-child){border-bottom:1px solid var(--color-darkWhite)}.ihabdevteam-core-scope .tooltip-textbox.is-dark .tooltip-textbox__line:not(:last-child){border-bottom-color:hsla(0,0%,100%,.06)}.ihabdevteam-core-scope .tooltip-textbox__marker{--marker-pos:50%;align-items:center;background-color:var(--color-main);background:color-mix(in srgb,var(--color-main) 50%,var(--color-sub) 50%);border:2px solid var(--color-pureWhite);border-radius:var(--radius-sm);box-sizing:border-box;color:#fff;display:inline-flex;height:24px;justify-content:center;min-width:24px}@supports (color:color-mix(in lch,red,blue)) and (top:var(--f )){.ihabdevteam-core-scope .tooltip-textbox__marker{background:color-mix(in srgb,var(--color-main) calc(100% - var(--marker-pos)),var(--color-sub) var(--marker-pos))}}.ihabdevteam-core-scope .tooltip-textbox__line-number{color:#fff;min-width:auto;text-align:center}.ihabdevteam-core-scope .tooltip-textbox__line-text{flex:1 1 auto}.ihabdevteam-core-scope .tooltip-textbox__buttons{align-items:center;display:flex;gap:var(--spacing-xs);justify-content:center;margin-top:10px;position:relative}.ihabdevteam-core-scope .tooltip-textbox.is-dark{background:var(--color-darkGray);border-color:var(--color-gray)}.ihabdevteam-core-scope .tooltip-textbox.is-dark .tooltip-textbox__text{color:var(--color-deepWhite)}";Q(Ik);function Bo(e){const{t}=me.useTranslation(),{text:a,label:r,anchorRect:n=null,onClose:i,closeOnOutsideClick:s=!0,isMobilePopup:c=!1}=e||{},[u,d]=l.useState(()=>{try{return localStorage.getItem("tooltip-theme")||"light"}catch{return"light"}});l.useEffect(()=>{try{localStorage.setItem("tooltip-theme",u)}catch{}},[u]);const{increase:m,decrease:h,canIncrease:p,canDecrease:g,fontSize:v,lineHeight:b}=an({storageKey:"tooltip-fontScale"}),y=l.useCallback(()=>d(A=>A==="dark"?"light":"dark"),[]),f=l.useCallback(A=>{try{A.stopPropagation()}catch{}try{typeof i=="function"&&i()}catch{}},[i]),x=Array.isArray(a)?a:typeof a>"u"||a===null?[]:[a],_={fontSize:`${v}px`,lineHeight:`${b}px`,"--tt-line-height":`${b}px`,"--tt-marker-size":"28px"},C=o.jsxs("div",{className:`tooltip-textbox__root ${u==="dark"?"is-dark":""}`,children:[o.jsxs("div",{className:"tooltip-textbox__box",children:[r&&o.jsx("div",{className:"tooltip-textbox__label body-2b",children:r}),o.jsx("div",{className:"tooltip-textbox__text body-1",style:_,children:x.map((A,w)=>o.jsxs("div",{className:"tooltip-textbox__line",children:[x.length>1?o.jsx("div",{className:"tooltip-textbox__marker",children:o.jsx("span",{className:"tooltip-textbox__line-number button-1",children:w+1})}):null,o.jsx("span",{className:"tooltip-textbox__line-text",children:A})]},w))})]}),o.jsxs("div",{className:"tooltip-textbox__buttons",children:[o.jsx(le,{size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:"minus",onClick:h,ariaLabel:t("training.fontSizeDecrease","\uAE00\uC790 \uD06C\uAE30 \uAC10\uC18C"),variant:u==="dark"?"transparent-white":"transparent-gray",disabled:!g}),o.jsx(le,{size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:"plus",onClick:m,ariaLabel:t("training.fontSizeIncrease","\uAE00\uC790 \uD06C\uAE30 \uC99D\uAC00"),variant:u==="dark"?"transparent-white":"transparent-gray",disabled:!p}),o.jsx(le,{size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:u==="dark"?"moon":"sun-medium",onClick:y,ariaLabel:t("training.toggleBackground","\uBC30\uACBD \uC804\uD658"),variant:u==="dark"?"transparent-white":"transparent-gray"}),o.jsx(le,{size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:"x",onClick:f,ariaLabel:t("common.close","\uB2EB\uAE30"),variant:u==="dark"?"transparent-white":"transparent-gray"})]})]});return n?o.jsx(Sa,{anchorRect:n,className:`tooltip-textbox ${u==="dark"?"is-dark":""}`,onClose:i,closeOnOutsideClick:s,isMobilePopup:c,children:C}):o.jsx("div",{className:`tooltip-textbox ${u==="dark"?"is-dark":""}`,children:C})}var Ok=".ihabdevteam-core-scope .training-page-bottom{box-sizing:border-box;width:100%}.ihabdevteam-core-scope .pp-bottom{align-items:center;background:var(--color-deepWhite);border-top:1px solid var(--color-whiteLine);box-sizing:border-box;display:flex;flex:0 0 auto;gap:var(--spacing-s);justify-content:space-between;padding:12px 18px calc(12px + env(safe-area-inset-bottom));width:100%;z-index:5}.ihabdevteam-core-scope .pp-bottom__left{align-items:center;display:flex;gap:var(--spacing-m)}.ihabdevteam-core-scope .pp-bottom__right{align-items:center;display:flex;gap:8px}.ihabdevteam-core-scope .pp-bottom__meters{border:1px solid var(--color-whiteLine);border-radius:14px;display:flex;flex-direction:column;gap:2px;justify-content:center;padding:8px 12px}.ihabdevteam-core-scope .pp-bottom__meter{align-items:center;display:flex;flex-direction:row;gap:var(--spacing-xs)}.ihabdevteam-core-scope .pp-bottom__meter-label{color:var(--color-gray);min-width:28px}.ihabdevteam-core-scope .pp-bottom__settings--desktop{display:none}.ihabdevteam-core-scope .pp-bottom__settings--mobile{display:flex}@media (min-width:768px){.ihabdevteam-core-scope .pp-bottom__settings--desktop{display:block}.ihabdevteam-core-scope .pp-bottom__settings--mobile{display:none}}.ihabdevteam-core-scope .pp-bottom__tooltip-trigger{display:inline-block}.ihabdevteam-core-scope .training-steps{box-sizing:border-box;display:flex;flex-direction:column;overflow:visible;width:100%}.ihabdevteam-core-scope .training-step{align-items:stretch;box-sizing:border-box;display:flex;flex-direction:row;flex-wrap:nowrap;gap:var(--spacing-m);overflow:visible;width:100%}.ihabdevteam-core-scope .training-step__body,.ihabdevteam-core-scope .training-step__content{box-sizing:border-box;display:flex;flex:1 1 auto;flex-direction:column;gap:var(--spacing-s);overflow:visible;width:100%}.ihabdevteam-core-scope .training-step__content{gap:var(--spacing-m);min-width:0}.ihabdevteam-core-scope .training-step__controls{box-sizing:border-box;display:flex;flex-direction:column;gap:10px;width:100%}.ihabdevteam-core-scope .training-step__title{color:#0b2b35;color:var(--text,#0b2b35);margin:0;text-align:left}.ihabdevteam-core-scope .training-step__body .audio-player{display:flex;justify-content:center;width:100%}.ihabdevteam-core-scope .training-step__body .audio-player__panel{border-radius:var(--radius-card);padding:18px 20px;width:100%}.ihabdevteam-core-scope .training-step__controls.compact{align-items:center;display:flex;justify-content:center;width:72px}.ihabdevteam-core-scope .training-step__confirm-sentence{align-items:center;background:var(--color-white);border:1px solid rgba(0,0,0,.04);border-radius:var(--radius-card);box-shadow:var(--shadow-card);color:#0b2b35;color:var(--text,#0b2b35);display:flex;height:200px;justify-content:center;max-width:100%;overflow-wrap:anywhere;padding:var(--spacing-m);text-align:center;word-break:keep-all}.ihabdevteam-core-scope .training-step__controls.expanded{-ms-overflow-style:none;align-items:stretch;max-height:420px;overflow-y:auto;padding-bottom:6px;scrollbar-width:none;width:100%}.ihabdevteam-core-scope .training-step__controls.expanded::-webkit-scrollbar{display:none}.ihabdevteam-core-scope .training-step__controls .training-step__title{color:#70858a;color:var(--muted,#70858a)}.ihabdevteam-core-scope .training-step__answer-button{background:var(--color-white);border:1px solid rgba(0,0,0,.06);border-radius:var(--radius-s);cursor:pointer;flex:0 0 auto;padding:10px 14px}.ihabdevteam-core-scope .training-step__buttons{-ms-overflow-style:none;align-items:stretch;display:flex;flex-direction:row;gap:var(--spacing-content);overflow-x:auto;scrollbar-width:none;width:100%}.ihabdevteam-core-scope .training-step__buttons::-webkit-scrollbar{display:none}.ihabdevteam-core-scope .training-step__buttons>*{align-self:stretch;flex:1 1 0;margin:0;min-width:0}.ihabdevteam-core-scope .training-step__buttons.training-step__buttons--wrap-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow-x:visible}.ihabdevteam-core-scope .training-step__buttons.training-step__buttons--wrap-3>*{width:100%}.ihabdevteam-core-scope .training-step__buttons .button{align-items:center;align-self:stretch;display:flex}.ihabdevteam-core-scope .training-step__answer-button+.training-step__answer-button{margin-top:0}.ihabdevteam-core-scope .training-step__multi-confirm{display:flex;justify-content:flex-end;margin-top:12px;margin-top:var(--margin-content,12px);width:100%}.ihabdevteam-core-scope .training-step__controls::-webkit-scrollbar{display:none}.ihabdevteam-core-scope .training-step__controls{-ms-overflow-style:none;scrollbar-width:none}@media (max-width:640px){.ihabdevteam-core-scope .training-step__body .audio-player__panel{border-radius:var(--radius-card);padding:14px}.ihabdevteam-core-scope .training-step__controls.compact{width:48px}.ihabdevteam-core-scope .training-step{flex-direction:row;gap:10px}}@media (max-width:720px){.ihabdevteam-core-scope .training-step__controls.expanded{gap:8px}.ihabdevteam-core-scope .training-step__answer-button{padding:9px 12px}.ihabdevteam-core-scope .training-step__confirm-sentence{padding:var(--spacing-s)}}.ihabdevteam-core-scope .training-step__cards{box-sizing:border-box;display:flex;gap:var(--spacing-s);width:100%}@media (max-width:767px){.ihabdevteam-core-scope .training-step__cards{grid-gap:var(--spacing-s);display:grid;gap:var(--spacing-s);grid-template-columns:repeat(3,1fr)}}.ihabdevteam-core-scope .training-step__block{display:flex;flex-direction:column;gap:var(--spacing-s);width:100%}.ihabdevteam-core-scope .training-step__block--row{align-items:center;display:flex;flex-direction:row;gap:var(--spacing-s)}.ihabdevteam-core-scope .training-step__listen-sticky{width:100%}.ihabdevteam-core-scope .training-step.training-step--has-nested .training-step__content{margin-bottom:100px}.ihabdevteam-core-scope .training-steps>.training-step:last-child .training-step__content{margin-bottom:0}.ihabdevteam-core-scope .training-step:not(.training-step--last) .training-step__content{margin-bottom:var( --margin-page)}.ihabdevteam-core-scope .training-step.training-step--last .training-step__content{margin-bottom:0}";Q(Ok);var Fk='.ihabdevteam-core-scope .ts-bullet{--dot-size:28px;--dot-gap:10px;align-items:center;align-self:stretch;display:flex;flex-direction:column;justify-content:flex-start;position:relative;width:28px;width:var(--dot-size)}.ihabdevteam-core-scope .bullet__dot{align-items:center;border:2px solid rgba(43,138,125,.12);border-radius:50%;display:flex;height:var(--dot-size);justify-content:center;width:var(--dot-size);z-index:2}.ihabdevteam-core-scope .bullet__icon{align-items:center;color:var(--color-darkGray);display:inline-flex;height:20px;justify-content:center;position:relative;width:20px;z-index:1}.ihabdevteam-core-scope .bullet__icon-img{display:block;height:100%;-o-object-fit:contain;object-fit:contain;width:100%}.ihabdevteam-core-scope .bullet__icon-mask{background-color:currentColor;height:100%;-webkit-mask-image:var(--icon-url);mask-image:var(--icon-url);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:100%}.ihabdevteam-core-scope .bullet__icon-svg svg{fill:currentColor;height:100%;width:100%}.ihabdevteam-core-scope .ts-bullet__line{background:var(--color-whiteLine);border-radius:var(--radius-xs);bottom:20px;left:50%;position:absolute;top:calc(var(--dot-size) + var(--dot-gap));transform:translateX(-50%);width:2px;z-index:1}.ihabdevteam-core-scope .ts-bullet--done .bullet__icon{color:transparent}.ihabdevteam-core-scope .ts-bullet--active .bullet__icon{color:#fff}.ihabdevteam-core-scope .ts-bullet--disabled .bullet__icon{color:transparent}.ihabdevteam-core-scope .ts-bullet--done .bullet__dot{border:2px solid var(--color-main)}.ihabdevteam-core-scope .ts-bullet--active .bullet__dot{background-color:var(--color-main);position:relative}.ihabdevteam-core-scope .ts-bullet--active .bullet__dot:after,.ihabdevteam-core-scope .ts-bullet--active .bullet__dot:before{animation:bullet-ripple 3s cubic-bezier(.2,.6,.2,1) infinite;background:var(--color-main);border-radius:50%;content:"";inset:0;opacity:.5;pointer-events:none;position:absolute}.ihabdevteam-core-scope .ts-bullet--active .bullet__dot:after{animation-delay:1.5s;opacity:.3}@keyframes bullet-ripple{0%{opacity:.5;transform:scale(1)}to{opacity:0;transform:scale(2.2)}}.ihabdevteam-core-scope .ts-bullet--disabled .bullet__dot{border:2px solid var(--color-whiteLine)}.ihabdevteam-core-scope .ts-bullet--done .bullet__line{background-color:var(--color-main)}.ihabdevteam-core-scope .ts-bullet--active .bullet__line,.ihabdevteam-core-scope .ts-bullet--disabled .bullet__line{background-color:var(--color-whiteLine)}.ihabdevteam-core-scope .training-step--last .ts-bullet__line,.ihabdevteam-core-scope .training-step.training-step--last .ts-bullet__line{display:none}@media (max-width:1024px){.ihabdevteam-core-scope .ts-bullet{--dot-size:26px}}@media (max-width:768px){.ihabdevteam-core-scope .ts-bullet{--dot-size:24px}}';Q(Fk);function lc({state:e="disabled"}){const{t}=me.useTranslation();return o.jsxs("div",{className:`ts-bullet ts-bullet--${e}`,"aria-hidden":!0,children:[o.jsx("div",{className:"bullet__dot",children:o.jsx(Pe,{icon:"chevron-right",label:t("training.next","\uB2E4\uC74C"),className:"bullet__icon",imgClassName:"bullet__icon-img",maskClassName:"bullet__icon-mask",svgClassName:"bullet__icon-svg",wrapperStyle:{},size:20})}),o.jsx("div",{className:"ts-bullet__line"})]})}var Wk=".ihabdevteam-core-scope .training-step__title-row{align-items:center;display:flex;gap:var(--spacing-xs);padding-right:72px;position:relative;width:100%}.ihabdevteam-core-scope .training-step__title-row .training-step__title{color:var(--color-black);margin:0;padding:0}.ihabdevteam-core-scope .training-step__title--faded .training-step__title-text{background-color:var(--color-darkWhite);border-radius:var(--radius-xs);color:transparent;opacity:1;transition:color .14s ease,opacity .14s ease}.ihabdevteam-core-scope .training-step__title-row .training-step__title .title-extra{margin-left:var(--spacing-xs)}.ihabdevteam-core-scope .training-step__title-row .title-controls{align-items:center;display:flex;gap:6px;margin-left:auto}.ihabdevteam-core-scope .training-step__title-row .title-controls .title-buttons{align-items:center;display:inline-flex;gap:6px;justify-content:center;overflow:visible;position:absolute;right:0;top:50%;transform:translateY(-50%)}.ihabdevteam-core-scope .training-step__title-row .title-controls .title-buttons .button28{align-items:center;display:inline-flex;justify-content:center}.ihabdevteam-core-scope .training-step__title-row--disabled .training-step__title,.ihabdevteam-core-scope .training-step__title-row--done .training-step__title{pointer-events:none}.ihabdevteam-core-scope .training-step__title-row--disabled .title-controls{opacity:.6;pointer-events:none}.ihabdevteam-core-scope .training-step__title-row--active .title-controls,.ihabdevteam-core-scope .training-step__title-row--done .title-controls{opacity:1;pointer-events:auto}.ihabdevteam-core-scope .training-step__title-row--disabled .training-step__title,.ihabdevteam-core-scope .training-step__title-row--done .training-step__title{color:var(--color-disabled)}.ihabdevteam-core-scope .training-step__title-row--active .training-step__title{color:var(--color-black)}";Q(Wk);function cc({title:e,children:t,className:a="",state:r="disabled",usePreviewTextBtn:n=!1,onPreviewTextBtn:i,previewText:s=null,useFaded:c,usePlayAllBtn:u=!1,onPlayAll:d,playAllActive:m=!1}){const{t:h}=me.useTranslation(),p=oa("(max-width: 767px)"),g=`training-step__title h4 ${c&&r==="disabled"?"training-step__title--faded":""} ${a}`.trim(),v=`training-step__title-row training-step__title-row--${r}`.trim(),b=l.useRef(null),[y,f]=l.useState(!1),[x,_]=l.useState(null),[C,A]=l.useState(null),w=l.useRef(i);l.useEffect(()=>{w.current=i});const S=l.useMemo(()=>s==null?"":typeof s=="string"||typeof s=="number"?String(s):Array.isArray(s)&&s.every(E=>typeof E=="string"||typeof E=="number")?s.join(""):"",[s]),D=l.useCallback(()=>{f(!1),_(null),A(null)},[]);l.useEffect(()=>{if(!y)return;let E;try{typeof w.current=="function"&&(E=w.current())}catch{}if(E===!1){D();return}A(typeof E<"u"&&E!==null?E:null)},[S]);const T=l.useCallback(()=>{let E;try{typeof i=="function"&&(E=i())}catch{}if(E!==!1){if(A(typeof E<"u"&&E!==null?E:s),!b.current){f(W=>!W);return}if(y)f(!1),_(null),A(null);else{const W=b.current.getBoundingClientRect();_(W),f(!0)}}},[i,s,y]);return o.jsxs("div",{className:v,children:[o.jsx("p",{className:g,children:o.jsx("span",{className:"training-step__title-text",children:e??t})}),n||u?o.jsxs("div",{className:"title-controls",children:[o.jsxs("div",{className:"title-buttons",children:[u&&o.jsx(le,{size:32,type:p?"dot":"bar",icon:"play-circle",label:p?void 0:h("training.playAll","\uBAA8\uB450 \uB4E3\uAE30"),ariaLabel:h("training.playAll","\uBAA8\uB450 \uB4E3\uAE30"),selected:m,onClick:d,variant:r==="disabled"?"disabled":"default",disabled:r==="disabled"||m}),n&&o.jsx("div",{ref:b,children:o.jsx(le,{size:32,type:p?"dot":"bar",icon:"eye",label:p?void 0:h("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),ariaLabel:h("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),selected:y,onClick:T,variant:r==="disabled"?"disabled":"default",disabled:!s&&typeof i!="function"})})]}),y&&o.jsx(Bo,{text:C??s,label:h("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),anchorRect:x,onClose:D,closeOnOutsideClick:!1,isMobilePopup:!0})]}):null]})}function dc(e,t){return typeof t!="number"||typeof e!="number"?"disabled":e<t?"done":e===t?"active":"disabled"}function Va({index:e,stepIndex:t,isLast:a=!1,title:r="",titleProps:n={},children:i,className:s="",onDone:c=void 0,useTitleFaded:u=void 0}){const[d,m]=l.useState(()=>dc(e,t));l.useEffect(()=>{const C=dc(e,t);if(C!==d){const A=setTimeout(()=>m(C),0);return()=>clearTimeout(A)}},[e,t,d]);const h=l.useCallback((...C)=>{dc(e,t)==="done"||d==="done"||typeof c=="function"&&c(...C)},[e,t,d,c]),[p,g]=l.useState(!1),[v,b]=l.useState({text:"",label:"\uBB38\uC7A5 \uB4E3\uAE30",anchorRect:null,backdrop:!1,alignX:null,alignY:null}),y=l.useCallback(C=>{if(!C)return null;try{const A=C;if(typeof C=="object"&&(A.currentTarget||A.target)&&(A.nativeEvent||A.type)){const D=A.currentTarget??A.target;if(D&&typeof D.getBoundingClientRect=="function")return D.getBoundingClientRect()}if(C instanceof DOMRect)return C;const w=C;if(w&&typeof w.getBoundingClientRect=="function")return w.getBoundingClientRect();const S=C?.current;return S&&typeof S.getBoundingClientRect=="function"?S.getBoundingClientRect():null}catch{return null}},[]),f=l.useCallback((C,{text:A="",label:w="\uBB38\uC7A5 \uB4E3\uAE30",backdrop:S=!1,alignX:D="center",alignY:T="top"}={})=>{const E=y(C);b({text:A,label:w,anchorRect:E,backdrop:S,alignX:D,alignY:T}),g(!0)},[y]),x=l.useCallback(()=>{g(!1),b(C=>({...C,anchorRect:null}))},[]),_=l.Children.map(i,C=>{if(l.isValidElement(C)){const A=C;if(typeof A.type=="string")return A;const w=A.props??{},S=typeof w.onDone=="function"?w.onDone:h,D=typeof w.disabled=="boolean";let T=d==="disabled";return D&&(T=!!w.disabled),l.cloneElement(A,{onDone:S,disabled:T,showTooltip:f,hideTooltip:x})}return C});return o.jsxs("div",{className:`training-step training-step--${d} ${a?"training-step--last":""} ${s}`,"aria-current":d==="active",children:[o.jsx(lc,{state:d}),o.jsxs("div",{className:"training-step__content",children:[o.jsx(cc,{state:d,title:r,...n,useFaded:u}),_]}),p?o.jsx(Sa,{anchorRect:v.anchorRect,backdrop:v.backdrop,onClose:x,children:o.jsx(Bo,{text:v.text,onClose:x})}):null]})}var Hk='.ihabdevteam-core-scope .training-text-box{background:var(--color-darkWhite);border:1px solid var(--color-deepWhite);border-radius:var(--radius-m);color:var(--color-black);display:flex;flex-direction:column;max-width:100%;min-height:160px;overflow:visible;overflow-wrap:anywhere;padding:var(--spacing-content);position:relative;text-align:center;word-break:keep-all}.ihabdevteam-core-scope .training-text-box--disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ihabdevteam-core-scope .training-text-box--disabled .training-text-box__inner{visibility:hidden}.ihabdevteam-core-scope .training-text-box--disabled:after{content:"";pointer-events:none;position:absolute;z-index:5}.ihabdevteam-core-scope .training-text-box__preview{align-items:center;display:flex;justify-content:center;left:50%;pointer-events:auto;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:60}.ihabdevteam-core-scope .training-text-box__buttons{border-radius:999px;gap:4px;height:28px;left:0;right:0}.ihabdevteam-core-scope .training-text-box__area,.ihabdevteam-core-scope .training-text-box__buttons{align-items:center;box-sizing:border-box;display:flex;justify-content:center;pointer-events:auto;position:relative;z-index:40}.ihabdevteam-core-scope .training-text-box__area{flex:1 1 auto;margin:0 auto;min-height:0;text-align:center;width:100%}.ihabdevteam-core-scope .training-text-box--active,.ihabdevteam-core-scope .training-text-box--done{background-color:var(--color-white);border-color:var(--color-main);pointer-events:auto;transition:box-shadow .18s ease,transform .18s ease,opacity .16s ease;-webkit-user-select:auto;-moz-user-select:auto;user-select:auto}.ihabdevteam-core-scope .training-text-box.is-dark{background:var(--color-darkGray);border:1px solid var(--color-black);color:var(--color-deepWhite)}.ihabdevteam-core-scope .training-text-box .training-text-box__inner{display:block;overflow-wrap:anywhere;text-align:center;white-space:normal;width:100%;word-break:keep-all}.ihabdevteam-core-scope .training-text-box.is-dark .tooltip-textbox__text,.ihabdevteam-core-scope .training-text-box.is-dark .training-text-box__inner{color:var(--color-deepWhite)}';Q(Hk);function uc({context:e,state:t="disabled",theme:a="light"}){const{t:r}=me.useTranslation(),[n,i]=l.useState("disabled"),[s,c]=l.useState(()=>{try{return localStorage.getItem("tooltip-theme")||a}catch{return a}});l.useEffect(()=>{try{localStorage.setItem("tooltip-theme",s)}catch{}},[s]);const u=()=>c(T=>T==="dark"?"light":"dark"),{increase:d,decrease:m,canIncrease:h,canDecrease:p,fontSize:g,lineHeight:v}=an({storageKey:"textbox_fontScale"}),[b,y]=l.useState(""),f=l.useCallback(()=>i("active"),[]),x=l.useCallback(()=>y(""),[]),_=T=>{try{y(T)}catch{}},C=typeof navigator<"u"&&/Mobi|Android/i.test(navigator.userAgent||"");l.useEffect(()=>{if(t!=="disabled"){const T=setTimeout(()=>i(t),0);return()=>clearTimeout(T)}},[t]);const A=l.useMemo(()=>e&&typeof e=="object"?String(e.sentence??e.text??""):typeof e=="string"?e:"",[e]);l.useEffect(()=>{const T=setTimeout(()=>i("disabled"),0);return()=>clearTimeout(T)},[A]);const w=t==="disabled"?n:t,S=w==="disabled"?"training-text-box--disabled":w==="active"?"training-text-box--active":w==="done"?"training-text-box--done":"",D=l.useMemo(()=>({fontSize:`${g}px`,lineHeight:`${v}px`}),[g,v]);return o.jsxs("div",{className:`training-text-box ${S} ${w!=="disabled"&&s==="dark"?"is-dark":""}`,children:[w==="disabled"&&o.jsx("div",{className:"training-text-box__preview",children:o.jsx(le,{size:48,type:"bar",onClick:f,icon:"eye",ariaLabel:r("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),label:r("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),useBorder:!1})}),o.jsx("div",{className:"training-text-box__area","aria-hidden":w==="disabled",children:o.jsx("span",{className:"training-text-box__inner h3",style:D,children:A})}),w!=="disabled"&&o.jsxs("div",{className:"training-text-box__buttons","aria-hidden":w==="disabled",children:[o.jsx(le,{size:32,type:"dot",onClick:m,onDisabledClick:()=>_(r("training.fontSizeMin","\uAE00\uC528 \uD06C\uAE30\uAC00 \uCD5C\uC18C\uC785\uB2C8\uB2E4.")),ariaLabel:r("training.fontSizeDecrease","\uAE00\uC790 \uD06C\uAE30 \uAC10\uC18C"),icon:"minus",variant:s==="dark"?"transparent-white":"transparent-gray",disabled:!p,useBorder:!1,showTooltipInfo:!0,...!C&&{width:"60px"}}),o.jsx(le,{size:32,type:"dot",onClick:d,onDisabledClick:()=>_(r("training.fontSizeMax","\uAE00\uC528 \uD06C\uAE30\uAC00 \uCD5C\uB300\uC785\uB2C8\uB2E4.")),ariaLabel:r("training.fontSizeIncrease","\uAE00\uC790 \uD06C\uAE30 \uC99D\uAC00"),icon:"plus",variant:s==="dark"?"transparent-white":"transparent-gray",disabled:!h,useBorder:!1,showTooltipInfo:!0,...!C&&{width:"60px"}}),o.jsx(le,{size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:s==="dark"?"moon":"sun-medium",onClick:u,ariaLabel:r("training.toggleBackground","\uBC30\uACBD \uC804\uD658"),variant:s==="dark"?"transparent-white":"transparent-gray"})]}),o.jsx(oo,{message:b,position:"top",onClose:x})]})}function Nn({index:e,stepIndex:t,isLast:a=!1,title:r,useTitleFaded:n,onDone:i,onChange:s,answer:c,wrongAnswers:u,choices:d,multiSelect:m=!1,correctCount:h=0,useDisabledCovered:p=!1,choiceIcons:g,shuffleChoices:v=!0}){const{t:b}=me.useTranslation(),y=r??b("training.selectConfirm","\uBB38\uC81C\uB97C \uBCF4\uACE0 \uD574\uB2F9\uD558\uB294 \uB0B4\uC6A9\uC744 \uC120\uD0DD\uD558\uC138\uC694."),f=typeof e=="number"?e:-1,x=typeof t!="number"?"disabled":f<t?"done":f===t?"active":"disabled",_=Array.isArray(d)&&d.length?d:typeof c<"u"?[c].concat(Array.isArray(u)?u:[]):void 0,C=u?u.join("||"):"",A=d?d.join("||"):"",[w,S]=l.useState(()=>Array.isArray(_)?v?ze(_):_.slice():void 0);l.useEffect(()=>{Array.isArray(_)&&_.length?S(v?ze(_):_.slice()):S(void 0)},[c,C,A,v]);const[D,T]=l.useState(null),[E,W]=l.useState(()=>new Set);l.useEffect(()=>{T(null),W(new Set)},[A]);const M=l.useRef(void 0);l.useEffect(()=>{const j=M.current;typeof j=="number"&&typeof t=="number"&&typeof e=="number"&&j>=e&&t<e&&(T(null),W(new Set)),M.current=t},[t,e]);const k=l.useCallback(j=>{if(x!=="active")return;const F=w?.[j];if(F==null)return;const te=F,Z=x==="active"||x==="done";if(m){const ee=new Set(E),L=ee.has(te);L?ee.delete(te):ee.add(te),W(ee),typeof s=="function"&&s({selectedValues:[...ee],__ts:Date.now()}),Z&&(typeof h=="number"&&h>0?ee.size>=h:!L)&&typeof i=="function"&&x==="active"&&i({selectedValues:[...ee],__ts:Date.now()})}else T(te),typeof s=="function"&&s({selectedIndex:j,selectedValue:te,__ts:Date.now()}),Z&&typeof i=="function"&&x==="active"&&i({selectedIndex:j,selectedValue:te,__ts:Date.now()})},[w,x,m,s,i,h,E]),N=`training-step__buttons${Array.isArray(w)&&w.length>3?" training-step__buttons--wrap-3":""}`;return o.jsx(Va,{index:e,stepIndex:t,isLast:a,title:y,useTitleFaded:n,children:o.jsx("div",{className:N,children:Array.isArray(w)&&w.length>0?w.map((j,F)=>o.jsx(le,{size:56,type:"bar",onClick:()=>k(F),ariaLabel:String(j),label:j,useLabel:!0,icon:g?g[String(j)]:void 0,variant:"default",disabled:x==="disabled",selected:m?E.has(j):D===j,useDisabledCovered:p,minWidth:0},String(j))):null})})}function Dn({index:e,stepIndex:t,isLast:a=!1,title:r,onDone:n,onChange:i,context:s,demoSelected:c}){const{t:u}=me.useTranslation(),d=r??u("training.confirmTitle","\uBB38\uC7A5\uC744 \uD655\uC778\uD558\uACE0 \uC798 \uB4E4\uB838\uB294\uC9C0 \uC120\uD0DD\uD558\uC138\uC694."),m=typeof e=="number"?e:-1,h=typeof t!="number"?"disabled":m<t?"done":m===t?"active":"disabled",p=s&&typeof s=="object"?s.sentence||"":typeof s=="string"?s:"",g=s&&typeof s=="object"?s.choices:void 0,[v,b]=l.useState(c??null);l.useEffect(()=>{if(c==null&&v!==null){const _=setTimeout(()=>b(null),0);return()=>clearTimeout(_)}},[p,c,v]);const y=l.useCallback(_=>{const C=typeof _=="object"&&_!==null?Object.assign({},_,{__ts:Date.now()}):{value:_,__ts:Date.now()};typeof i=="function"&&i(C),h==="active"&&typeof n=="function"&&n(C)},[i,h,n]),f=l.useCallback(()=>{h==="active"&&(b(!1),y(!1))},[y,h]),x=l.useCallback(()=>{h==="active"&&(b(!0),y(!0))},[y,h]);return o.jsxs(Va,{index:e,stepIndex:t,isLast:a,title:d,onDone:n,useTitleFaded:!1,children:[o.jsx(uc,{context:s,state:h}),o.jsx("div",{className:"training-step__buttons",children:Array.isArray(g)&&g.length>0?g.slice(0,6).map((_,C)=>o.jsx(le,{size:56,type:"bar",onClick:()=>{h==="active"&&(b(C),y&&y(C))},disabled:h==="disabled",ariaLabel:String(_),label:_,variant:h,selected:v===C},C)):o.jsxs(o.Fragment,{children:[o.jsx(le,{size:56,type:"bar",onClick:f,disabled:h==="disabled",icon:"x",ariaLabel:u("training.notHeard","\uC548 \uB4E4\uB838\uC5B4\uC694."),label:u("training.notHeard","\uC548 \uB4E4\uB838\uC5B4\uC694."),variant:"default",selected:v===!1}),o.jsx(le,{size:56,type:"bar",onClick:x,disabled:h==="disabled",icon:"circle",ariaLabel:u("training.heardWell","\uC798 \uB4E4\uB838\uC5B4\uC694."),label:u("training.heardWell","\uC798 \uB4E4\uB838\uC5B4\uC694."),variant:"default",selected:v===!0})]})})]})}function En({index:e,stepIndex:t,isLast:a=!1,title:r,onDone:n,btnLabel:i,soundSrc:s,bucketPath:c,usePreviewTextBtn:u,previewText:d=null,onPreviewTextBtn:m,disabled:h,_pageIndex:p,showSoundWaveForm:g,showNoiseWaveForm:v}){const{t:b}=me.useTranslation(),y=r??b("training.listenTitle","\uC81C\uC2DC\uD558\uB294 \uBB38\uC7A5\uC744 \uB4E4\uC5B4\uC8FC\uC138\uC694."),f=h??(typeof t=="number"&&typeof e=="number"?e>t:!1);return o.jsx(Va,{index:e,stepIndex:t,isLast:a,title:y,onDone:n,titleProps:{usePreviewTextBtn:u,previewText:d,onPreviewTextBtn:m},children:o.jsx(xr,{soundSrc:s,ttsText:s?null:d??y,bucketPath:c,btnLabel:i||b("training.listenButton","\uBB38\uC7A5 \uB4E3\uAE30"),disabled:f,className:"training-step__listen-sticky",showSoundWaveForm:g,showNoiseWaveForm:v},`audio-p${p??0}-s${e}`)})}var Vk=".ihabdevteam-core-scope .page-popup--closing{opacity:0;pointer-events:none;transition:opacity .16s ease}.ihabdevteam-core-scope .page-popup__panel{overflow:auto}.ihabdevteam-core-scope .page-popup__close{font-size:20px;right:12px;top:10px}.ihabdevteam-core-scope .page-popup{align-items:stretch;display:flex;inset:0;justify-content:center;position:fixed;z-index:var(--z-page-popup)}.ihabdevteam-core-scope .page-popup__panel{background:var(--color-deepWhite);border-radius:0;box-shadow:none;color:var(--color-black);display:flex;flex-direction:column;height:100%;max-height:none;max-width:none;overflow:hidden;position:relative;width:100%}.ihabdevteam-core-scope .page-popup__scroll{-webkit-overflow-scrolling:touch;align-items:flex-start;display:flex;flex:1 1 0;justify-content:center;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:rgba(0,0,0,.15) transparent;scrollbar-width:thin;touch-action:pan-y}.ihabdevteam-core-scope .page-popup__scroll::-webkit-scrollbar{width:4px}.ihabdevteam-core-scope .page-popup__scroll::-webkit-scrollbar-track{background:transparent}.ihabdevteam-core-scope .page-popup__scroll::-webkit-scrollbar-thumb{background:rgba(0,0,0,.15);border-radius:var(--radius-xs)}.ihabdevteam-core-scope .page-popup__scroll::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.28)}.ihabdevteam-core-scope .page-popup__panel--measuring .page-popup__scroll{opacity:0;pointer-events:none}.ihabdevteam-core-scope .page-popup__scroll{transition:opacity .12s ease}.ihabdevteam-core-scope .nt-debug{background:rgba(0,0,0,.03);border-radius:var(--radius-sm);color:var(--text,var(--color-black));font-family:monospace;font-size:12px;line-height:1.2;max-width:300px;padding:8px 10px;position:absolute;right:20px;top:84px;white-space:pre-wrap;z-index:calc(var(--z-page-popup) + 1)}.ihabdevteam-core-scope .page-popup--backdrop{display:none}.ihabdevteam-core-scope .page-popup__close{background:transparent;border:none;color:var(--text,var(--color-black));cursor:pointer;font-size:22px;line-height:1;position:absolute;right:14px;top:12px}.ihabdevteam-core-scope .page-popup__panel>*{box-sizing:border-box}.ihabdevteam-core-scope .page-popup__body{padding:16px 20px}.ihabdevteam-core-scope .page-popup__content{box-sizing:border-box;margin:0 auto;max-width:800px;min-width:0;padding:var(--spacing-page);width:100%}.ihabdevteam-core-scope .page-popup__content--center{margin-bottom:auto;margin-top:auto}.ihabdevteam-core-scope .pp-empty{color:var(--color-gray);padding:24px 0;text-align:center;width:100%}.ihabdevteam-core-scope .page-popup__content .training-steps{box-sizing:border-box;min-width:0;width:100%}.ihabdevteam-core-scope .page-popup__bottom,.ihabdevteam-core-scope .page-popup__top{flex-shrink:0}.ihabdevteam-core-scope .page-popup__panel--center .page-popup__scroll{align-items:center}.ihabdevteam-core-scope .page-popup--result-empty{background:var(--color-deepWhite)}.ihabdevteam-core-scope .page-popup__empty{align-items:center;color:var(--color-gray);display:flex;flex-direction:column;justify-content:center;padding:2rem;text-align:center;width:100%}";Q(Vk);var Gk=".ihabdevteam-core-scope .order-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.ihabdevteam-core-scope .order-list__item{align-items:flex-start;display:flex;gap:var(--spacing-s)}.ihabdevteam-core-scope .order-list__draggable{align-items:center;border-radius:var(--radius-m);display:flex;flex:1;gap:var(--spacing-xs);justify-content:space-between;min-height:60px;padding:0 0 0 4px;will-change:transform}.ihabdevteam-core-scope .order-list__item-text{color:var(--color-black)}.ihabdevteam-core-scope .order-list__item-buttons{align-items:center;align-self:center;display:inline-flex;gap:2px}@media (max-width:600px){.ihabdevteam-core-scope .order-list__item-buttons{align-items:center;align-self:center;display:flex;flex-direction:column}.ihabdevteam-core-scope .order-list__item-buttons>*{box-sizing:border-box;display:inline-flex}}.ihabdevteam-core-scope .order-list__item.correct{border:1px solid var(--color-main)}.ihabdevteam-core-scope .order-list__slot{align-items:center;background-color:var(--color-darkWhite);border-radius:var(--radius-m);box-sizing:border-box;display:flex;gap:var(--spacing-xs);height:auto;padding:4px 10px;width:100%}.ihabdevteam-core-scope .order-list__marker{--marker-pos:50%;align-items:center;background-color:var(--color-main);background:color-mix(in srgb,var(--color-main) 50%,var(--color-sub) 50%);border:2px solid var(--color-pureWhite);border-radius:var(--radius-sm);box-sizing:border-box;color:#fff;display:inline-flex;height:24px;justify-content:center;width:24px}@supports (color:color-mix(in lch,red,blue)) and (top:var(--f )){.ihabdevteam-core-scope .order-list__marker{background:color-mix(in srgb,var(--color-main) calc(100% - var(--marker-pos)),var(--color-sub) var(--marker-pos))}}@media (max-width:600px){.ihabdevteam-core-scope .order-list__marker{height:24px;min-width:24px;width:24px}}.ihabdevteam-core-scope .order-list__item:hover .order-list__slot{background-color:var(--color-deepWhite);box-shadow:inset 0 0 0 1px var(--color-main);transition:box-shadow .16s cubic-bezier(.22,.9,.39,1)}.ihabdevteam-core-scope .order-list__item.drag-over .order-list__slot{background-color:var(--color-white);box-shadow:inset 0 0 0 1px var(--color-main)}.ihabdevteam-core-scope .order-list__slot.pulse{background-color:var(--color-white);transition:background-color .42s cubic-bezier(.22,.9,.39,1)}.ihabdevteam-core-scope .order-list__slot.pulse.to-dark{background-color:var(--color-darkWhite)}.ihabdevteam-core-scope .order-list__slot-number{align-items:center;align-self:center;border-radius:var(--radius-sm);color:#fff;display:inline-flex;height:32px;justify-content:center;width:32px}.ihabdevteam-core-scope .order-list__draggable.dragging{background-color:var(--color-white);opacity:.2}.ihabdevteam-core-scope .order-list__dragging-object{align-items:center;background:var(--color-white);border-radius:var(--radius-m);box-shadow:0 14px 40px rgba(16,24,40,.18);box-sizing:border-box;color:var(--color-black);display:inline-flex;gap:var(--spacing-s);left:0;max-width:calc(100vw - var(--spacing-page)*3);min-height:60px;opacity:1;overflow-wrap:anywhere;padding:20px;pointer-events:none;position:fixed;top:0;transform:translate3d(-9999px,-9999px,0) scale(1);transition:transform .16s cubic-bezier(.22,.9,.39,1),opacity .18s ease;white-space:normal;width:auto;will-change:transform,opacity;word-break:keep-all;z-index:var(--z-popover)}.ihabdevteam-core-scope .order-list__dragging-object--visible{opacity:1}.ihabdevteam-core-scope .order-list__item.drag-over .order-list__slot:hover{background-color:var(--color-white);border-radius:var(--radius-m);box-shadow:inset 0 0 0 1px var(--color-main);transition:box-shadow .16s cubic-bezier(.22,.9,.39,1)}.ihabdevteam-core-scope .order-list__item-text{display:block;line-height:1.4;margin:0;overflow-wrap:anywhere;white-space:normal;width:100%;word-break:keep-all}.ihabdevteam-core-scope .order-list__draggable[data-disabled=true],.ihabdevteam-core-scope .order-list__draggable[draggable=false]{background-color:var(--color-darkWhite);box-shadow:none!important;cursor:default;opacity:.9;pointer-events:none}.ihabdevteam-core-scope .order-list__draggable[data-disabled=true] .order-list__item-text,.ihabdevteam-core-scope .order-list__draggable[draggable=false] .order-list__item-text{color:var(--color-gray);display:none!important;opacity:.9}.ihabdevteam-core-scope .order-list__draggable[data-disabled=true] .order-list__item-buttons,.ihabdevteam-core-scope .order-list__draggable[data-disabled=true]~.order-list__slot .order-list__slot-number,.ihabdevteam-core-scope .order-list__draggable[draggable=false] .order-list__item-buttons,.ihabdevteam-core-scope .order-list__draggable[draggable=false]~.order-list__slot .order-list__slot-number,.ihabdevteam-core-scope .order-list__slot-number[hidden]{display:none!important}.ihabdevteam-core-scope .order-list__draggable[data-disabled=true] .order-list__slot,.ihabdevteam-core-scope .order-list__draggable[data-disabled=true]+.order-list__slot,.ihabdevteam-core-scope .order-list__draggable[draggable=false] .order-list__slot,.ihabdevteam-core-scope .order-list__draggable[draggable=false]+.order-list__slot,.ihabdevteam-core-scope .order-list__slot[data-disabled=true]{background-color:var(--color-darkWhite)!important;box-shadow:none!important}.ihabdevteam-core-scope .order-list__slot[data-disabled=true]{cursor:default!important;pointer-events:none!important}.ihabdevteam-core-scope .order-list__slot[data-disabled=true] .order-list__slot-number{display:none!important}";Q(Gk);function jn({index:e,stepIndex:t,isLast:a=!1,title:r,onDone:n,onChange:i,context:s=[]}){const{t:c}=me.useTranslation(),u=r??c("training.orderListDefault","\uBB38\uC7A5\uC744 \uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uBC30\uCE58\uD558\uC138\uC694."),d=R=>typeof R=="string"?R:R&&(R.context||R.sentence||R.question||"")||"",[m,h]=l.useState(Array.isArray(s)?s:[]),[p,g]=l.useState(()=>(m||[]).map((R,O)=>({id:O,text:d(R)}))),v=l.useMemo(()=>typeof t!="number"||typeof e!="number"?"disabled":e<t?"done":e===t?"active":"disabled",[t,e]);l.useEffect(()=>{const R=Array.isArray(s)?s:[];h(R);const O=(H=>{const $=(H||[]).map((z,Y)=>({id:Y,text:d(z)}));if($.length<=1)return $;const q=(z,Y)=>{if(z.length!==Y.length)return!1;for(let J=0;J<z.length;J++)if(z[J].text!==Y[J].text)return!1;return!0};let I=ze($),G=0;for(;q(I,$)&&G<20;)I=ze($),G+=1;return I})(R);g(O);try{if(typeof i=="function"){const H=O.filter(($,q)=>$.text===d(R[q])).length;i({shuffled:O,score:H,total:(R||[]).length,initial:!0,__ts:Date.now()})}if(typeof n=="function"&&v==="active"){const H=O.filter(($,q)=>$.text===d(R[q])).length;n({shuffled:O,score:H,total:(R||[]).length,initial:!0,__ts:Date.now()})}}catch{}},[s]);const b=(R,O)=>{const H=[...p],$=R+O;if($<0||$>=H.length)return;const q=H[$];H[$]=H[R],H[R]=q,N(H);try{if(typeof n=="function"&&v==="active"){const I=H.filter((G,z)=>G.text===d(m[z])).length;n({shuffled:H,score:I,total:(m||[]).length,__ts:Date.now()})}}catch{}},[y,f]=l.useState(null),x=l.useRef(null),_=l.useRef(null),C=l.useRef(null),A=l.useRef(null),w=l.useRef(null),S=l.useRef({x:0,y:0}),D=l.useRef(null),T=l.useRef({dx:0,dy:0}),E=()=>{if(D.current!==null)return;const R=()=>{D.current=requestAnimationFrame(R);const O=S.current,H=T.current||{dx:0,dy:0};x.current&&(x.current.style.transform=`translate3d(${O.x-H.dx}px, ${O.y-H.dy}px, 0)`)};D.current=requestAnimationFrame(R)},W=l.useRef(new Map),M=l.useRef(new Map),k=()=>{const R=new Map;return W.current.forEach((O,H)=>{O&&O.getBoundingClientRect&&R.set(H,O.getBoundingClientRect())}),R},N=R=>{const O=k();g(R);try{if(typeof i=="function"){const H=R.filter(($,q)=>$.text===d(m[q])).length;i({shuffled:R,score:H,total:(m||[]).length,__ts:Date.now()})}}catch{}requestAnimationFrame(()=>{const H=k();R.forEach($=>{const q=O.get($.id),I=H.get($.id),G=W.current.get($.id);if(!G||!q||!I)return;const z=q.top-I.top;z&&(G.style.transition="none",G.style.transform=`translateY(${z}px)`,requestAnimationFrame(()=>{G.style.transition="transform 420ms cubic-bezier(.22,.9,.39,1)",G.style.transform="";const Y=()=>{G.style.transition="",G.removeEventListener("transitionend",Y)};G.addEventListener("transitionend",Y)}))})})},j=(R,O)=>{try{try{O.dataTransfer?.setData("text/plain",String(R))}catch{}try{O.dataTransfer&&(O.dataTransfer.effectAllowed="move")}catch{}try{const H=document.createElement("div");H.style.cssText="position:absolute;top:-9999px;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none;",document.body.appendChild(H),O.dataTransfer?.setDragImage(H,0,0),requestAnimationFrame(()=>{try{document.body.removeChild(H)}catch{}})}catch{}}catch{}f(R);try{const H=p[R],$=document.createElement("div");$.className="order-list__dragging-object order-list__dragging-object--visible",$.textContent=H&&H.text?H.text:"",document.body.appendChild($),x.current=$;const q=W.current.get(H.id);let I=O.clientX||0,G=O.clientY||0;try{if(q&&q.getBoundingClientRect){const ae=q.getBoundingClientRect();I=ae.left+ae.width/2,G=ae.top+ae.height/2}}catch{}const z=$.getBoundingClientRect(),Y=z.width/2,J=z.height/2;T.current={dx:Y,dy:J},$.style.transition="none",S.current={x:I,y:G},$.style.transform=`translate3d(${I-Y}px, ${G-J}px, 0)`,requestAnimationFrame(()=>{try{$.style.transition=""}catch{}E()});const ue=ae=>{const X=ae;S.current={x:X.clientX,y:X.clientY},E()};C.current=ue,document.addEventListener("mousemove",ue);const pe=ae=>{const X=ae;S.current={x:X.clientX,y:X.clientY},E()};_.current=pe,document.addEventListener("dragover",pe);try{O.dataTransfer?.setData("text/plain",String(R));try{O.dataTransfer?.setData("application/json",JSON.stringify({idx:R}))}catch{}}catch{}}catch{}},F=(R,O)=>{O.preventDefault();try{O.dataTransfer&&(O.dataTransfer.dropEffect="move")}catch{}try{w.current!==null&&(clearTimeout(w.current),w.current=null);const H=O.currentTarget&&O.currentTarget.closest?O.currentTarget.closest(".order-list__item"):null;if(H&&A.current!==H){if(A.current)try{A.current.classList.remove("drag-over")}catch{}try{H.classList.add("drag-over")}catch{}A.current=H}}catch{}},te=(R,O)=>{O.preventDefault();const H=O.dataTransfer?.getData("text/plain")||"",$=H?parseInt(H,10):y,q=R;if(typeof $!="number"||isNaN($)||$===q){f(null),L(),Z();return}const I=Mi(p,$,q);N(I),f(null),Z();try{if(typeof n=="function"&&v==="active"){const G=I.filter((z,Y)=>z.text===d(m[Y])).length;n({shuffled:I,score:G,total:(m||[]).length,__ts:Date.now()})}}catch{}try{requestAnimationFrame(()=>{const G=document.querySelectorAll(".order-list .order-list__item")[q];if(!G)return;const z=G.querySelector(".order-list__slot")||G;try{z.classList.add("pulse"),z.offsetHeight,z.classList.add("to-dark");const Y=()=>{z.classList.remove("pulse","to-dark"),z.removeEventListener("transitionend",Y)};z.addEventListener("transitionend",Y)}catch{}})}catch{}L()},Z=()=>{if(x.current){try{document.body.removeChild(x.current)}catch{}x.current=null}_.current&&(document.removeEventListener("dragover",_.current),_.current=null),C.current&&(document.removeEventListener("mousemove",C.current),C.current=null),D.current!==null&&(cancelAnimationFrame(D.current),D.current=null)},ee=()=>{f(null),L(),Z()};l.useEffect(()=>()=>Z(),[]);const L=()=>{try{if(w.current!==null&&(clearTimeout(w.current),w.current=null),A.current){try{A.current.classList.remove("drag-over")}catch{}A.current=null}document.querySelectorAll(".order-list .order-list__item").forEach(R=>R.classList.remove("drag-over"))}catch{}};return l.useEffect(()=>{try{const R=Math.max(1,(p||[]).length);p.forEach((O,H)=>{const $=M.current.get(O.id);if(!$)return;let q=50;R>1&&(q=Math.round(H/(R-1)*100));try{$.style.setProperty("--marker-pos",q+"%")}catch{}})}catch{}},[p]),l.useEffect(()=>()=>{Z(),w.current!==null&&(clearTimeout(w.current),w.current=null)},[]),o.jsx(Va,{index:e,stepIndex:t,isLast:a,title:u,children:o.jsx("div",{className:"order-list",children:p.map((R,O)=>{const H=Math.max(1,(p||[]).length),$=H>1?Math.round(O/(H-1)*100):50;return o.jsx("div",{className:"order-list__item",children:o.jsxs("div",{className:"order-list__slot","data-disabled":v==="disabled","aria-disabled":v==="disabled",children:[v!=="disabled"?o.jsx("div",{className:"order-list__marker caption-1",style:{"--marker-pos":$+"%"},ref:q=>{const I=M.current;q?I.set(R.id,q):I.delete(R.id)},children:o.jsx("span",{className:"order-list__slot-number button-1",children:O+1})}):null,o.jsxs("div",{ref:q=>{const I=W.current;q?I.set(R.id,q):I.delete(R.id)},className:`order-list__draggable ${y===O?"dragging":""}`,"data-disabled":v==="disabled","aria-disabled":v==="disabled",tabIndex:v==="disabled"?-1:0,draggable:v==="active",onDragStart:v==="active"?q=>j(O,q):void 0,onDragEnter:v==="active"?q=>F(O,q):void 0,onDragOver:v==="active"?q=>F(O,q):void 0,onDragLeave:v==="active"?()=>{try{w.current!==null&&clearTimeout(w.current),w.current=setTimeout(()=>{try{const q=document.querySelectorAll(".order-list .order-list__item");q&&q[O]&&(q[O].classList.remove("drag-over"),A.current===q[O]&&(A.current=null))}catch{}},80)}catch{}}:void 0,onDrop:v==="active"?q=>te(O,q):void 0,onDragEnd:v==="active"?ee:void 0,children:[o.jsx("span",{className:"order-list__item-text body-2",children:R.text}),v==="active"?o.jsxs("span",{className:"order-list__item-buttons",children:[o.jsx(le,{size:32,type:"dot",onClick:()=>b(O,-1),ariaLabel:c("training.up"),icon:"chevron-up",variant:"transparent-gray",width:48,useFaded:"true",disabled:O===0,useBorder:!1,useDisabledInvisible:!0}),o.jsx(le,{size:32,type:"dot",onClick:()=>b(O,1),ariaLabel:c("training.down"),icon:"chevron-down",variant:"transparent-gray",width:48,useFaded:"true",disabled:O===p.length-1,useBorder:!1,useDisabledInvisible:!0})]}):null]})]})},R.id)})})})}var qk="";Q(qk);const Yk=8e3;function Uk(e,t){return new Promise(a=>{let r=!1;const n=()=>{r||(r=!0,a())};e.then(n,n),setTimeout(n,t)})}function pc({index:e,stepIndex:t,isLast:a=!1,title:r,onDone:n,onChange:i,context:s=[],selectable:c=!1,hideLabel:u=!1,hideAudio:d=!1,maxCards:m}){const{t:h}=me.useTranslation(),p=r??h("training.cardInstructions","\uB0B1\uB9D0 \uCE74\uB4DC\uB97C \uBCF4\uACE0 \uC18C\uB9AC\uB97C \uB4E3\uACE0 \uD655\uC778\uD558\uC138\uC694."),g=l.useMemo(()=>Array.isArray(s)?s:s&&s.items||[],[s]),v=m??3,b=(g||[]).slice(0,v);(g||[]).length>v&&console.warn(`TrainingStepCard: ${g.length} items passed but only ${v} shown`);const y=typeof e=="number"?e:-1,f=typeof t!="number"?"disabled":y<t?"done":y===t?"active":"disabled",[x,_]=l.useState(null),C=l.useRef([]),[A,w]=l.useState(!1),S=l.useMemo(()=>g.map(W=>W?.id??W?.word??"").join("|"),[g]);l.useEffect(()=>{_(null),C.current=[]},[S]);const D=l.useCallback((W,M)=>{if(c)return;const k={item:W,index:M,__ts:Date.now()};try{typeof i=="function"&&i(k)}catch{}if(f==="active"&&typeof n=="function")try{n(k)}catch{}},[c,i,f,n]),T=l.useCallback(async()=>{if(!(A||f==="disabled")){w(!0);try{for(const W of C.current)W&&await Uk(W.play(),Yk)}finally{w(!1)}}},[A,f]),E=l.useCallback((W,M)=>{if(f!=="active")return;_(M);const k={selectedValue:W.word||W.title||"",selectedIndex:M,item:W,__ts:Date.now()};try{typeof i=="function"&&i(k)}catch{}if(f==="active"&&typeof n=="function")try{n(k)}catch{}},[i,f,n]);return o.jsx(Va,{index:e,stepIndex:t,isLast:a,title:p,onDone:n,titleProps:{usePlayAllBtn:!d&&b.length>0,onPlayAll:T,playAllActive:A},children:o.jsx("div",{className:"training-step__cards",children:b.length===0?o.jsx("div",{className:"training-step__empty",children:h("training.noCards","\uCE74\uB4DC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")}):b.map((W,M)=>o.jsx(_n,{ref:k=>{C.current[M]=k},item:W,disabled:f==="disabled",onPlayDone:()=>D(W,M),selectable:c,selected:c&&x===M,onSelect:c?()=>E(W,M):void 0,flipDelay:M*120,hideLabel:u,hideAudio:d},W&&W.id||M))})})}const Kk=160;var Zk=".ihabdevteam-core-scope .panel{background:var(--color-white);border:1px solid var(--color-whiteLine);border-radius:var(--radius-card);display:flex;flex-direction:column;overflow:visible;padding:0;text-align:left}.ihabdevteam-core-scope .panel--no-border{border:none}.ihabdevteam-core-scope .panel--no-bg{background:transparent;border-radius:0}.ihabdevteam-core-scope .panel--no-border .panel-row{padding-left:0;padding-right:0}.ihabdevteam-core-scope .panel--no-row-border .panel-row+.panel-row{border-top:none}.ihabdevteam-core-scope .panel__header{align-items:center;border-bottom:1px solid var(--color-darkWhite);box-sizing:border-box;display:flex;gap:var(--spacing-xs);justify-content:space-between;margin:0;padding:0 20px}.ihabdevteam-core-scope .panel__header:last-child{border-bottom:none}.ihabdevteam-core-scope .panel--small .panel__header{min-height:48px}.ihabdevteam-core-scope .panel--medium .panel__header{min-height:56px}.ihabdevteam-core-scope .panel--large .panel__header{min-height:64px}.ihabdevteam-core-scope .panel__icon{align-items:center;color:var(--t-item-fg,var(--color-main));display:flex;flex-shrink:0;height:20px;justify-content:center;margin-right:var(--spacing-s);width:20px}.ihabdevteam-core-scope .panel__title-group{display:flex;flex-direction:column;gap:4px;min-width:0}.ihabdevteam-core-scope .panel__title{color:var(--color-darkGray);margin:0}.ihabdevteam-core-scope .panel__disc{color:var(--color-gray);margin:0}.ihabdevteam-core-scope .panel__actions{display:flex;flex-shrink:0;gap:6px}.ihabdevteam-core-scope .panel-row{align-items:center;box-sizing:border-box;display:flex;gap:var(--spacing-m);justify-content:space-between;padding:4px 20px}.ihabdevteam-core-scope .panel--small .panel-row{min-height:48px}.ihabdevteam-core-scope .panel--medium .panel-row{min-height:56px}.ihabdevteam-core-scope .panel--large .panel-row{min-height:64px}.ihabdevteam-core-scope .panel-row+.panel-row{border-top:1px solid var(--color-darkWhite)}.ihabdevteam-core-scope .panel--fill .panel-row{border-bottom:1px solid var(--color-darkWhite)}.ihabdevteam-core-scope .panel--fill .panel-row+.panel-row{border-top:none}.ihabdevteam-core-scope .panel--no-row-border .panel-row{border-bottom:none}.ihabdevteam-core-scope .panel>:not(.panel-row)+.panel-row{border-top:none}.ihabdevteam-core-scope .panel-grid{grid-gap:1px;background:var(--color-darkWhite);display:grid;gap:1px;grid-template-columns:repeat(2,1fr);grid-template-columns:repeat(var(--panel-grid-cols,2),1fr);overflow:hidden;padding-bottom:1px}.ihabdevteam-core-scope .panel-grid .panel-row{background:var(--color-white)}.ihabdevteam-core-scope .panel-grid .panel-row+.panel-row{border-top:none}.ihabdevteam-core-scope .panel-row--empty{color:var(--color-lightGray);justify-content:center}.ihabdevteam-core-scope .panel-row--loading{justify-content:center}.ihabdevteam-core-scope .panel__body--scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior-y:contain}.ihabdevteam-core-scope .panel-row--content{display:block;min-height:0;padding:16px}.ihabdevteam-core-scope .panel-row--scroll{display:flex;flex:1;flex-direction:column;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;padding:16px 16px 20px}.ihabdevteam-core-scope .panel-row--content+.panel-row--content,.ihabdevteam-core-scope .panel-row--content+.panel-row--scroll,.ihabdevteam-core-scope .panel-row--scroll+.panel-row--content,.ihabdevteam-core-scope .panel-row--scroll+.panel-row--scroll{border-top:none}.ihabdevteam-core-scope .panel-row__icon{align-items:center;display:flex;flex-shrink:0;margin-right:-4px}.ihabdevteam-core-scope .panel-row__left{flex:1;min-width:0}.ihabdevteam-core-scope .panel-row__label{color:var(--color-deepGray)}.ihabdevteam-core-scope .panel-row__sub{color:var(--color-gray);margin-top:2px}.ihabdevteam-core-scope .panel-row__right{align-items:center;display:flex;flex:0 0 auto;justify-content:flex-end}@media (max-width:767px){.ihabdevteam-core-scope .panel-row{flex-wrap:wrap}.ihabdevteam-core-scope .panel-row__right{flex:0 1 auto;min-width:0}}.ihabdevteam-core-scope .panel--form .panel-row{grid-gap:var(--spacing-m);align-items:center;display:grid;gap:var(--spacing-m);grid-template-columns:80px 1fr;grid-template-columns:var(--panel-label-width,80px) 1fr}.ihabdevteam-core-scope .panel--form .panel-row:has(.text-field--full-width){align-items:flex-start}.ihabdevteam-core-scope .panel--form .panel-row:has(.text-field--full-width) .panel-row__left{padding-top:9px}.ihabdevteam-core-scope .panel-row--label-fixed .panel-row__left{flex:0 0 120px;flex:0 0 var(--panel-label-width,120px)}.ihabdevteam-core-scope .panel-row--label-fixed .panel-row__right{flex:1;min-width:0}.ihabdevteam-core-scope .panel-row--clickable{cursor:pointer;transition:background .1s,box-shadow .1s}.ihabdevteam-core-scope .panel-row--clickable:hover{background:var(--color-darkWhite)}.ihabdevteam-core-scope .panel-row__text{color:var(--color-darkGray);overflow-wrap:break-word;text-align:right;word-break:break-word}.ihabdevteam-core-scope .panel-row--text .panel-row__right{flex:1;min-width:0}.ihabdevteam-core-scope .panel-row--block{align-items:stretch;display:flex;flex-direction:column;justify-content:center}.ihabdevteam-core-scope .panel-row__description{color:var(--color-gray);line-height:1.6;margin:0;overflow-wrap:break-word;word-break:break-word}.ihabdevteam-core-scope .panel-row__dropdown-group{display:flex;gap:var(--spacing-s)}.ihabdevteam-core-scope .panel-row__dropdown-group--full,.ihabdevteam-core-scope .panel-row__dropdown-item--full{flex:1;min-width:0}.ihabdevteam-core-scope .panel-row__dropdown-error-wrap{display:flex;flex-direction:column}.ihabdevteam-core-scope .panel-row__dropdown-error-wrap--full{flex:1;min-width:0}.ihabdevteam-core-scope .panel-row__text--full{text-align:left;width:100%}.ihabdevteam-core-scope .panel-row__input-wrap{display:flex;flex-direction:column}.ihabdevteam-core-scope .panel-row__input-wrap--full{flex:1;min-width:0}.ihabdevteam-core-scope .panel-row--vertical{align-items:flex-start;flex-direction:column;gap:8px;gap:var(--spacing-xs,8px)}.ihabdevteam-core-scope .panel-row--vertical .panel-row__left{flex:none;width:100%}.ihabdevteam-core-scope .panel-row--vertical .panel-row__right{align-items:flex-start;flex:none;justify-content:flex-start;width:100%}.ihabdevteam-core-scope .panel-row--vertical .panel-row__text{margin-left:0;text-align:left}.ihabdevteam-core-scope .panel-row--device{grid-gap:0;align-items:stretch;display:grid;gap:0;grid-template-columns:1fr 1fr;min-height:0;padding:0}.ihabdevteam-core-scope .panel-row__device-column{box-sizing:border-box;display:flex;flex-direction:column;gap:0;min-height:164px;padding:14px 16px}.ihabdevteam-core-scope .panel-row__device-column+.panel-row__device-column{border-left:1px solid var(--color-darkWhite)}.ihabdevteam-core-scope .panel-row__device-head{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-bottom:8px;min-height:32px}.ihabdevteam-core-scope .panel-row__device-side{color:var(--color-darkGray);margin:0;text-align:left}.ihabdevteam-core-scope .panel-row__device-info{margin:0;text-align:left}.ihabdevteam-core-scope .panel-row__device-info,.ihabdevteam-core-scope .panel-row__device-kind{align-items:flex-start;display:flex;flex-direction:column;gap:3px}.ihabdevteam-core-scope .panel-row__device-name{color:var(--color-darkGray)}.ihabdevteam-core-scope .panel-row__device-detail{color:var(--color-gray)}.ihabdevteam-core-scope .panel-row__device-product{color:var(--color-darkGray)}.ihabdevteam-core-scope .panel-row__device-date{color:var(--color-lightGray);margin-top:2px}.ihabdevteam-core-scope .panel-row__device-empty{align-items:center;color:var(--color-lightGray);display:flex;flex:1;justify-content:center;text-align:center}.ihabdevteam-core-scope .required-mark{color:var(--color-main);margin-left:2px}.ihabdevteam-core-scope .panel-row__error{color:var(--color-error);margin-top:4px}.ihabdevteam-core-scope .panel-row__helper{color:var(--color-lightGray);margin-top:4px}.ihabdevteam-core-scope .panel-row__button-group{display:flex;gap:6px}@media (max-width:767px){.ihabdevteam-core-scope .panel-row__dropdown-group{flex-wrap:wrap}.ihabdevteam-core-scope .panel-row__dropdown-error-wrap--full,.ihabdevteam-core-scope .panel-row__dropdown-item--full{flex:1 1 104px}}";Q(Zk);const xb=()=>{};function Cr({title:e,icon:t,disc:a,actions:r,size:n="medium",minHeight:i,maxWidth:s,className:c,scrollable:u,useBorder:d=!0,useBg:m=!0,useRowBorder:h=!0,labelWidth:p,form:g=!1,loading:v,empty:b,children:y}){const f=ye("panel",`panel--${n}`,g?"panel--form":"",i!==void 0?"panel--fill":"",d?"":"panel--no-border",m?"":"panel--no-bg",h?"":"panel--no-row-border",c),x={};return i!==void 0&&(x.minHeight=i),s!==void 0&&(x.maxWidth=typeof s=="number"?`${s}px`:s),p!==void 0&&(x["--panel-label-width"]=typeof p=="number"?`${p}px`:p),o.jsxs("div",{className:f,style:Object.keys(x).length?x:void 0,children:[(e!=null||a!=null)&&o.jsxs("div",{className:ye("panel__header",a!=null?"panel__header--with-disc":""),children:[t&&o.jsx(Pe,{icon:t,label:typeof e=="string"?e:void 0,className:"panel__icon"}),o.jsxs("div",{className:"panel__title-group",children:[e!=null&&o.jsx("h2",{className:"panel__title h5b",children:e}),a!=null&&o.jsx("p",{className:"panel__disc caption-1",children:a})]}),r&&o.jsx("div",{className:"panel__actions",children:r})]}),v?o.jsx(Na,{variant:"loading"}):b!=null&&(y==null||Array.isArray(y)&&y.length===0)?o.jsx(Na,{variant:"empty",children:b}):u?o.jsx("div",{className:"panel__body--scroll",children:y}):y]})}function Cb({cols:e=2,children:t}){return o.jsx("div",{className:"panel-grid",style:{"--panel-grid-cols":e},children:t})}function Na(e){const t=l.useId();if(!("variant"in e)){const{label:b,sub:y,onClick:f,children:x,align:_="horizontal",icon:C}=e,A=w=>{f&&w.target===w.currentTarget&&(w.key==="Enter"||w.key===" ")&&(w.preventDefault(),f())};return o.jsxs("div",{className:ye("panel-row",_==="vertical"?"panel-row--vertical":"",f?"panel-row--clickable":""),onClick:f,onKeyDown:f?A:void 0,role:f?"button":void 0,tabIndex:f?0:void 0,children:[C!=null&&o.jsx("div",{className:"panel-row__icon",children:C}),b!=null&&o.jsxs("div",{className:"panel-row__left",children:[o.jsx("div",{className:"panel-row__label body-3",children:b}),y&&o.jsx("div",{className:"panel-row__sub caption-1",children:y})]}),o.jsx("div",{className:"panel-row__right",children:x})]})}if(e.variant==="description")return o.jsx("div",{className:"panel-row panel-row--block",children:o.jsx("p",{className:"panel-row__description body-3",children:e.children})});if(e.variant==="empty")return o.jsx("div",{className:"panel-row panel-row--empty body-3",children:e.children});if(e.variant==="loading")return o.jsx("div",{className:"panel-row panel-row--loading",children:o.jsx(Ao,{size:28})});if(e.variant==="custom"&&!e.label)return o.jsx("div",{className:"panel-row panel-row--block",children:e.children});const{variant:a,label:r,sub:n,onClick:i,required:s,error:c,align:u="horizontal",useFullWidth:d=!1,icon:m}=e;let h=null;const p=a==="toggle"?`panel-toggle-${t}`:void 0;if(a==="toggle"){const b=e;h=o.jsx(Pl,{checked:b.checked,onChange:b.onChange,id:p})}else if(a==="segmented"){const b=e;h=o.jsx(Ha,{options:b.options,value:b.value,onChange:b.onChange,size:b.size??40,ariaLabel:r})}else if(a==="dropdown"){const b=e,y=b.dropdowns?.length?o.jsx("div",{className:`panel-row__dropdown-group${d?" panel-row__dropdown-group--full":""}`,children:b.dropdowns.map((f,x)=>o.jsx("div",{className:d?"panel-row__dropdown-item--full":void 0,children:o.jsx(Ut,{options:f.options,value:f.value,onChange:f.onChange,placeholder:f.placeholder,block:d,error:!!c,ariaLabel:f.ariaLabel??([r,f.placeholder].filter(Boolean).join(" ")||void 0)})},x))}):o.jsx(Ut,{options:b.options??[],value:b.value??"",onChange:b.onChange??xb,block:d,error:!!c,ariaLabel:r});h=c?o.jsxs("div",{className:`panel-row__dropdown-error-wrap${d?" panel-row__dropdown-error-wrap--full":""}`,children:[y,o.jsx("span",{className:"caption-1 panel-row__error",role:"alert",children:c})]}):y}else if(a==="button"){const b=e;b.buttons?.length?h=o.jsx("div",{className:"panel-row__button-group",children:b.buttons.map((y,f)=>o.jsx(le,{size:y.btnSize??40,variant:y.btnVariant??"default",disabled:y.disabled,onClick:y.onClick,children:y.label},f))}):h=o.jsx(le,{size:b.btnSize??40,variant:b.btnVariant??"default",disabled:b.disabled,onClick:b.onClick,children:b.buttonLabel})}else if(a==="text"){const b=e;h=o.jsx("span",{className:`panel-row__text body-2${d?" panel-row__text--full":""}`,style:b.valueColor?{color:b.valueColor}:void 0,children:b.value})}else if(a==="input"){const b=e;h=o.jsxs("div",{className:`panel-row__input-wrap${d?" panel-row__input-wrap--full":""}`,children:[o.jsx(Wa,{value:b.value,onChange:b.onChange??xb,onKeyDown:b.onKeyDown,onEnter:b.onEnter,placeholder:b.placeholder,inputMode:b.inputMode,readOnly:b.readOnly,disabled:b.disabled,type:b.type,autoComplete:b.autoComplete,maxLength:b.maxLength,showCount:b.showCount,multiline:b.multiline,rows:b.rows,fullWidth:d,error:c,ariaLabel:r,required:s}),b.helperText&&o.jsx("div",{className:"panel-row__helper caption-1",children:b.helperText})]})}else a==="custom"&&(h=e.children);const g=a==="input"||a==="dropdown"||(a==="text"||a==="custom")&&d,v=b=>{i&&b.target===b.currentTarget&&(b.key==="Enter"||b.key===" ")&&(b.preventDefault(),i())};return o.jsxs("div",{className:ye("panel-row",u==="vertical"?"panel-row--vertical":"",g?"panel-row--label-fixed":"",a==="text"?"panel-row--text":"",i?"panel-row--clickable":""),onClick:i,onKeyDown:i?v:void 0,role:i?"button":void 0,tabIndex:i?0:void 0,children:[m!=null&&o.jsx("div",{className:"panel-row__icon",children:m}),o.jsxs("div",{className:"panel-row__left",children:[p?o.jsxs("label",{htmlFor:p,className:"panel-row__label body-3",children:[r,s&&o.jsx("span",{className:"required-mark",children:"*"})]}):o.jsxs("div",{className:"panel-row__label body-3",children:[r,s&&o.jsx("span",{className:"required-mark",children:"*"})]}),n&&o.jsx("div",{className:"panel-row__sub caption-1",children:n})]}),o.jsx("div",{className:"panel-row__right",children:h})]})}function _b(e){const t=e.productName||e.brand,a=[e.brand,e.fitType].filter(r=>!!r&&r!==t);return[...new Set(a)].join(" \xB7 ")}function wb({devices:e,onRelease:t}){const{t:a}=me.useTranslation();return o.jsx("div",{className:"panel-row panel-row--device",children:["\uC88C","\uC6B0"].map(r=>{const n=e[r],i=r==="\uC88C"?a("device.direction.left","\uC88C"):a("device.direction.right","\uC6B0");return o.jsxs("div",{className:"panel-row__device-column",children:[o.jsxs("div",{className:"panel-row__device-head",children:[o.jsx("span",{className:"panel-row__device-side body-2b",children:i}),n&&t&&o.jsx(le,{size:32,type:"dot",icon:"x",ariaLabel:a("customers.device.unwear","\uCC29\uC6A9 \uD574\uC81C"),showTooltipInfo:a("customers.device.unwear","\uCC29\uC6A9 \uD574\uC81C"),onClick:()=>t(r)})]}),n?o.jsxs("div",{className:"panel-row__device-info",children:[o.jsxs("span",{className:"panel-row__device-kind",children:[n.device&&o.jsx(ht,{size:"small",variant:pm(n.device),fill:"soft",label:n.device}),_b(n)&&o.jsx("span",{className:"panel-row__device-detail body-3",children:_b(n)})]}),o.jsx("span",{className:"panel-row__device-name body-2b",children:n.productName||n.brand}),o.jsx("span",{className:"panel-row__device-date caption-1",children:a("customers.device.wornSince",{date:`${n.wornYear}.${n.wornMonth}.${n.wornDay}`})})]}):o.jsx("span",{className:"panel-row__device-empty body-3",children:a("customers.device.notRegistered","\uBBF8\uB4F1\uB85D")})]},r)})})}function Xk(e){return[{label:e("training.noise.level.none","\uC5C6\uC74C"),value:0},{label:e("training.noise.level.weak","\uC57D\uD568"),value:1},{label:e("training.noise.level.medium","\uBCF4\uD1B5"),value:2},{label:e("training.noise.level.strong","\uAC15\uD568"),value:3},{label:e("training.noise.level.veryStrong","\uB9E4\uC6B0 \uAC15\uD568"),value:4}]}function kb(e){return[{label:e("training.noise.type.default","\uAE30\uBCF8"),value:"defaultNoise",icon:"party-popper"},{label:e("training.noise.type.street","\uAE38\uAC70\uB9AC"),value:"street",icon:"car"},{label:e("training.noise.type.buzz","\uC640\uAE00\uC640\uAE00"),value:"buzz",icon:"message-square-more"},{label:e("training.noise.type.restaurant","\uC2DD\uB2F9"),value:"restaurant",icon:"coffee"}]}Xk(Ca.t.bind(Ca)),kb(Ca.t.bind(Ca));var Qk='.ihabdevteam-core-scope .noise-settings{border-radius:var(--radius-m);box-sizing:border-box;max-width:calc(100vw - 40px);padding:20px}.ihabdevteam-core-scope .tooltip-content:has(.noise-settings__header) .tooltip-content__header{border-bottom:1px solid var(--color-darkWhite);height:60px;padding:0 20px}.ihabdevteam-core-scope .noise-settings__header{align-items:center;display:flex;justify-content:space-between;width:100%}.ihabdevteam-core-scope .noise-settings__header span{color:var(--color-darkGray);font-weight:600}.ihabdevteam-core-scope .noise-settings__slider-input.slider--horizontal{flex:1 1 auto}.ihabdevteam-core-scope .noise-settings__value{font-feature-settings:"tnum";color:var(--color-main);flex:0 0 auto;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;width:44px}';Q(Qk);const hc="none",Jk=.5,e7=1.5,t7=.25;function mc({title:e,valueLabel:t,value:a,min:r,max:n,step:i,tickStep:s,size:c,onChange:u}){return o.jsxs(Na,{variant:"custom",label:e,useFullWidth:!0,children:[o.jsx(Ol,{value:a,onChange:u,min:r,max:n,step:i,size:c,showBgTick:!0,tickStep:s,ariaLabel:e,className:"noise-settings__slider-input"}),o.jsx("div",{className:"noise-settings__value button-1",children:t})]})}function bc({anchorRect:e,onClose:t}){const{t:a}=me.useTranslation(),r=oa("(max-width: 767px)")?40:24,n=nc(),i=n?.settings.level??0,s=n?.settings.type??"defaultNoise",c=n?.settings.enabled??!0,u=yk(i),d=n?.playbackRate??1,m=n?.mainVolume??1,h=Math.round(m*100),p=l.useCallback(y=>{try{n?.setMainVolume(Math.max(0,Math.min(1,y/100)))}catch{}},[n]),g=l.useCallback(y=>{try{n?.setPlaybackRate(y)}catch{}},[n]),v=l.useCallback(y=>{const f=xk(y);try{n?.setSettings({level:f})}catch{}},[n]),b=l.useCallback(y=>{try{y===hc?n?.setSettings({enabled:!1}):n?.setSettings({type:y,enabled:!0})}catch{}},[n]);return o.jsx(Sa,{anchorRect:e,offset:12,onClose:t,ariaLabel:a("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815"),isMobilePopup:!1,closeOnOutsideClick:!1,header:o.jsxs("div",{className:"noise-settings__header",children:[o.jsx("span",{children:a("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815")}),o.jsx(le,{size:40,type:"dot",icon:"x",variant:"transparent-gray",useBorder:!1,ariaLabel:a("common.close","\uB2EB\uAE30"),onClick:t})]}),children:o.jsxs(Cr,{className:"noise-settings",useBorder:!1,labelWidth:72,children:[o.jsx(mc,{title:a("training.playVolumeTitle","\uC7AC\uC0DD \uC18C\uB9AC"),valueLabel:`${h}%`,value:h,min:0,max:100,step:10,size:r,onChange:p}),o.jsx(mc,{title:a("training.playSpeedTitle","\uC7AC\uC0DD \uC18D\uB3C4"),valueLabel:`${d.toFixed(2)}x`,value:d,min:Jk,max:e7,step:t7,size:r,onChange:g}),o.jsx(mc,{title:a("training.noiseLevelTitle","\uC18C\uC74C \uD06C\uAE30"),valueLabel:`${u}%`,value:u,min:0,max:100,step:10,size:r,onChange:v}),o.jsx(Na,{variant:"custom",label:a("training.noiseTypeTitle","\uC18C\uC74C \uC885\uB958"),useFullWidth:!0,children:o.jsx(Ha,{ariaLabel:a("training.noiseTypeTitle","\uC18C\uC74C \uC885\uB958"),size:40,shape:"rounded",options:[{key:hc,label:a("training.noise.type.none","\uC5C6\uC74C")},...kb(a).map(y=>({key:y.value,label:y.label}))],value:c?s:hc,onChange:b})})]})})}var a7=".ihabdevteam-core-scope .training-page-bottom{box-sizing:border-box;width:100%}.ihabdevteam-core-scope .pp-bottom{align-items:center;background:var(--color-deepWhite);border-top:1px solid var(--color-whiteLine);box-sizing:border-box;display:flex;flex:0 0 auto;gap:var(--spacing-s);justify-content:space-between;padding:12px 18px calc(12px + env(safe-area-inset-bottom));width:100%;z-index:5}.ihabdevteam-core-scope .pp-bottom__left{align-items:center;display:flex;gap:var(--spacing-m)}.ihabdevteam-core-scope .pp-bottom__right{align-items:center;display:flex;gap:8px}.ihabdevteam-core-scope .pp-bottom__meters{border:1px solid var(--color-whiteLine);border-radius:14px;display:flex;flex-direction:column;gap:2px;justify-content:center;padding:8px 12px}.ihabdevteam-core-scope .pp-bottom__meter{align-items:center;display:flex;flex-direction:row;gap:var(--spacing-xs)}.ihabdevteam-core-scope .pp-bottom__meter-label{color:var(--color-gray);min-width:28px}.ihabdevteam-core-scope .pp-bottom__settings--desktop{display:none}.ihabdevteam-core-scope .pp-bottom__settings--mobile{display:flex}@media (min-width:768px){.ihabdevteam-core-scope .pp-bottom__settings--desktop{display:block}.ihabdevteam-core-scope .pp-bottom__settings--mobile{display:none}}.ihabdevteam-core-scope .pp-bottom__tooltip-trigger{display:inline-block}";Q(a7);function gc({useNoiseSettingBtn:e=!1,onSettings:t,onNext:a,onResult:r,stepIndex:n=0,stepCount:i=0,pageIndex:s=0,pageCount:c=1}){const{t:u}=me.useTranslation(),[d,m]=l.useState(!1),[h,p]=l.useState(null),[g,v]=l.useState(!1),b=l.useRef(null),y=l.useRef(null),f=nc(),x=s<c-1,_=s===c-1,C=n===Math.max(0,i);l.useEffect(()=>{e||(m(!1),p(null))},[e]);const A=l.useCallback(()=>{m(!1),p(null)},[]),w=l.useCallback(()=>{if(d){m(!1),p(null);return}const T=b?.current?.getBoundingClientRect();T&&p(T),t?.(),m(!0)},[d,t]),S=l.useCallback(()=>{if(d){m(!1),p(null);return}const T=y?.current?.getBoundingClientRect();T&&p(T),t?.(),m(!0)},[d,t]),D=l.useCallback(()=>v(T=>!T),[]);return o.jsxs("div",{className:"pp-bottom",children:[o.jsxs("div",{className:"pp-bottom__left",children:[e?o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"pp-bottom__settings--desktop",children:o.jsx("div",{ref:b,className:"pp-bottom__tooltip-trigger","data-tooltip-ignore":!0,children:o.jsx(le,{size:56,type:"bar",icon:"settings",onClick:w,selected:d,ariaLabel:u("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815"),label:u("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815"),minWidth:140})})}),o.jsx("div",{className:"pp-bottom__settings--mobile",children:o.jsx("div",{ref:y,className:"pp-bottom__tooltip-trigger","data-tooltip-ignore":!0,children:o.jsx(le,{size:56,type:"dot",icon:"settings",onClick:S,selected:d,ariaLabel:u("training.settings","\uC124\uC815"),minWidth:52})})})]}):null,e&&o.jsx(le,{size:40,type:"dot",shape:"pill",icon:"audio-lines",onClick:D,selected:g,ariaLabel:u("training.meter.toggle","\uC624\uB514\uC624 \uBBF8\uD130 \uD45C\uC2DC")}),e&&g&&o.jsxs("div",{className:"pp-bottom__meters",children:[o.jsxs("div",{className:"pp-bottom__meter",children:[o.jsx("span",{className:"pp-bottom__meter-label caption-1",children:u("training.meter.sentence","\uC7AC\uC0DD")}),o.jsx(vn,{analyser:f?.mainAnalyser??null,orientation:"horizontal",length:112,label:"db",labelPos:"left",ariaLabel:u("training.meter.sentence","\uC7AC\uC0DD")})]}),o.jsxs("div",{className:"pp-bottom__meter",children:[o.jsx("span",{className:"pp-bottom__meter-label caption-1",children:u("training.meter.noise","\uC18C\uC74C")}),o.jsx(vn,{analyser:f?.noiseAnalyser??null,orientation:"horizontal",length:112,label:"db",labelPos:"left",ariaLabel:u("training.meter.noise","\uC18C\uC74C")})]})]})]}),o.jsxs("div",{className:"pp-bottom__right",children:[_&&o.jsx(le,{size:56,type:"bar",icon:"check",onClick:typeof r=="function"?r:a,ariaLabel:u("training.viewResult","\uACB0\uACFC\uBCF4\uAE30"),label:u("training.viewResult","\uACB0\uACFC\uBCF4\uAE30"),variant:"main",disabled:!C}),x&&o.jsx(le,{size:56,type:"bar",rightIcon:"chevron-right",align:"right",onClick:a,ariaLabel:u("training.nextQuestion","\uB2E4\uC74C \uBB38\uC81C"),label:u("training.nextQuestion","\uB2E4\uC74C \uBB38\uC81C"),variant:"main",disabled:!C})]}),e&&d&&o.jsx(bc,{anchorRect:h,onClose:A})]})}var o7=".ihabdevteam-core-scope .training-page-top{box-sizing:border-box;width:100%}.ihabdevteam-core-scope .pp-title.training-popup-title{align-items:center;background:var(--color-deepWhite);border-bottom:1px solid var(--color-whiteLine);box-sizing:border-box;display:flex;gap:var(--spacing-s);justify-content:space-between;padding:12px 16px;position:relative;width:100%;z-index:6}.ihabdevteam-core-scope .pp-title__left{align-items:center;display:flex;gap:var(--spacing-s);min-width:0}.ihabdevteam-core-scope .pp-title__text{display:flex;flex-direction:column;min-width:0}.ihabdevteam-core-scope .pp-title__depth{color:var(--color-gray)}.ihabdevteam-core-scope .pp-title__title{font-weight:700;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .pp-title__title--empty{color:var(--color-whiteLine)}.ihabdevteam-core-scope .pp-title__description{color:var(--color-gray);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:767px){.ihabdevteam-core-scope .pp-title.training-popup-title{gap:var(--spacing-xs);padding:10px 12px}.ihabdevteam-core-scope .pp-title__depth{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .pp-title__left{flex:1;min-width:0;overflow:hidden}}";Q(o7);function fc({title:e,subtitle:t,desc:a,depth:r,icon:n,wrapperStyle:i,iconTooltip:s,pageIndex:c,pageCount:u,progressMax:d,progressIndex:m,onBack:h,onClose:p}){const{t:g}=me.useTranslation(),v=oa("(max-width: 767px)"),b=Number.isInteger(m)?m:c||0,y=Number.isInteger(d)?d:u||0,f=h||p,x=Array.isArray(r)?v?r[r.length-1]:r.join(" / "):r,_=typeof e=="string"?e.trim():e,C=typeof t=="string"?t.trim():t,A=!!(_||C),w=A?_||C:g("common.emptyTrainingName","\uD6C8\uB828 \uC774\uB984\uC774 \uBE44\uC5B4 \uC788\uC2B5\uB2C8\uB2E4."),S=x||t,D=v&&typeof S=="string"&&(S.includes(" \xB7 ")||S.includes(" / "))?S.split(/\s[·/]\s/).pop():S,T=l.useMemo(()=>{const E=i&&typeof i=="object"?{...i}:{};return!("width"in E)&&!("height"in E)&&(E.width="40px",E.height="40px"),E},[i]);return o.jsxs("header",{className:"pp-title training-popup-title",children:[o.jsxs("div",{className:"pp-title__left",children:[f?o.jsx(le,{size:48,type:"dot",icon:"chevron-left",ariaLabel:g("common.back","\uB4A4\uB85C"),onClick:f,useBorder:!1,iconSize:"large",iconColor:"--color-black",variant:"transparent-gray"}):null,o.jsx("div",{children:n?o.jsx(gm,{icon:n,label:e,tooltip:s,wrapperStyle:T}):null}),o.jsxs("div",{className:"pp-title__text",children:[D?o.jsx("span",{className:"pp-title__depth caption-1",children:D}):null,o.jsx("span",{className:`pp-title__title h2${A?"":" pp-title__title--empty"}`,children:w}),a?o.jsx("span",{className:"pp-title__description caption-1",children:a}):null]})]}),o.jsx(Vl,{max:Math.max(0,y??0),index:Math.max(0,b??0)})]})}function Sb(){typeof window<"u"&&window.dispatchEvent(new CustomEvent("speechear.popup.close"))}function Ab(e){return!e&&e!==0?[]:Array.isArray(e)?e.flatMap(t=>typeof t=="string"?t.split("|").map(a=>a.trim()).filter(Boolean):t||t===0?[String(t)]:[]):typeof e=="string"?e.split("|").map(t=>t.trim()).filter(Boolean):[String(e)]}function vc(e,t,a){const r=e,n=r?.title||r?.name||(Array.isArray(t)?t[t.length-1]:void 0)||a||"\uD6C8\uB828",i=Kr().find(c=>c.key===(r?.category_0||r?.category_main_code)),s=i?.subs?.find(c=>c.key===(r?.category_1||r?.category_sub_code));return{title:n,label:r?.title||n,depth:t,icon:i?.icon,wrapperStyle:i?.color?{"--t-item-fg":i.color}:void 0,iconTooltip:[i?.label,s?.label].filter(Boolean).join(" / ")||void 0}}function Ln(e){return e&&typeof e=="object"&&typeof e.__ts=="number"?e.__ts:0}function Tb(e){const t=e;return Array.isArray(t?.items)?t.items:Array.isArray(e)?e:e?[e]:[]}function Bb({idPrefix:e,trainingData:t,depth:a,fallbackTitle:r="\uD6C8\uB828",pages:n=[],emptyMessage:i,buildResults:s,metaPatch:c}){const u=vc(t,a,r),d=typeof c=="function"?c(u)||{}:c||{},m=t?.id||t?.title||n.length;return{id:`${e}:${m}`,meta:{...u,...d},pages:n,emptyMessage:i,buildResults:s}}function Nb(e){if(typeof e=="string")return e;if(e&&typeof e=="object"){const t=e;return t.context||t.sentence||t.question||""||""}return""}function Db(e){if(e&&typeof e=="object"){const t=e;if(Array.isArray(t.selectedValues))return t.selectedValues;if(t.selectedValue!==void 0)return t.selectedValue;if(t.selectedIndex!==void 0)return t.selectedIndex;if(t.value!==void 0)return t.value}return e}function Eb(e,t=[]){if(Array.isArray(e))return e.join(", ");if(typeof e=="number"&&Array.isArray(t))return String(t[e]??"");if(typeof e=="string")return e}function yc(e,t){if(!(!e||typeof e!="object"))return e[`step-${t}`]}function jb(e,t,a,r){return yc(e,t*a+r)}function Lb({payload:e,selected:t,choices:a=[],correctAnswers:r=[]}){if(e&&typeof e=="object"){const n=e;if(Array.isArray(n.selectedValues))return r.every(i=>n.selectedValues.includes(i))&&n.selectedValues.every(i=>r.includes(i));if(typeof n.correct=="boolean")return n.correct}if(r.length){if(typeof t=="number"&&Array.isArray(a)&&a.length)return r.some(n=>String(n)===String(a[t]));if(typeof t<"u")return r.some(n=>String(n)===String(t))}}function Mb(e){return e?Array.isArray(e.items)?e.items.map(t=>{const a=t;return typeof t=="string"?{sentence:t}:{sentence:a.context||a.sentence||"",contextCode:a.contextCode||a.context_code}}):Array.isArray(e.sentences)?e.sentences.map(t=>{const a=t;return typeof t=="string"?{sentence:t}:{sentence:a.sentence||a.context||"",contextCode:a.contextCode}}):Array.isArray(e.contexts)?e.contexts:e.contextCode?[{contextCode:e.contextCode}]:[]:[]}const Pb=l.createContext(null);function r7(){const e=l.useContext(Pb);if(!e)throw new Error("useTrainingPagePopupContext must be used inside TrainingPagePopup");return e}function n7({index:e,stepIndex:t,isLast:a=!1,title:r="\uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uCE74\uB4DC\uB97C \uC120\uD0DD\uD558\uC138\uC694.",choices:n=[],onDone:i,onChange:s}){const c=typeof e=="number"?e:-1,u=typeof t!="number"?"disabled":c<t?"done":c===t?"active":"disabled",[d,m]=l.useState(()=>n.map(()=>null)),h=n.join("|");l.useEffect(()=>{m(h?h.split("|").map(()=>null):[])},[h]);const p=l.useMemo(()=>d.filter(v=>v!==null).length+1,[d]),g=l.useCallback(v=>{u==="active"&&m(b=>{const y=[...b];if(y[v]!==null){const x=y[v];return y.map(_=>_!==null&&_>=x?null:_)}y[v]=p;const f={selectedOrder:y,words:n,__ts:Date.now()};try{typeof s=="function"&&s(f)}catch{}if(y.every(x=>x!==null))try{typeof i=="function"&&i(f)}catch{}return y})},[u,p,s,i,n]);return o.jsx(Va,{index:e,stepIndex:t,isLast:a,title:r,onDone:i,children:o.jsx("div",{className:"training-step__cards",children:n.map((v,b)=>o.jsx(_n,{item:{word:v},disabled:u==="disabled",selectable:!0,selected:d[b]!==null,orderRank:d[b],onSelect:()=>g(b),flipDelay:b*120,hideLabel:!1,hideAudio:!0},`${v}-${b}`))})})}function _r(e){return null}_r.__isTrainingPage=!0;function No(e,t){const a=r7();return{ctx:a,index:e,stepIndex:a.currentStepIndex,isLast:typeof e=="number"&&typeof t=="number"?e===t-1:!1,onDone:r=>a.handleStepDone(r,e),onChange:r=>a.handleStepChange(r,e)}}function xc({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:n,isLast:i,onDone:s}=No(e,t);return o.jsx(En,{...a,index:r,stepIndex:n,isLast:i,onDone:s})}function Cc({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:n,isLast:i,onDone:s,onChange:c}=No(e,t);return o.jsx(Nn,{...a,index:r,stepIndex:n,isLast:i,onDone:s,onChange:c})}function _c({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:n,isLast:i,onDone:s,onChange:c}=No(e,t);return o.jsx(Dn,{...a,index:r,stepIndex:n,isLast:i,onDone:s,onChange:c})}function wc({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:n,isLast:i,onDone:s,onChange:c}=No(e,t);return o.jsx(jn,{...a,index:r,stepIndex:n,isLast:i,onDone:s,onChange:c})}function kc({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:n,isLast:i,onDone:s,onChange:c}=No(e,t);return o.jsx(pc,{...a,index:r,stepIndex:n,isLast:i,onDone:s,onChange:c})}function i7({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:n,isLast:i,onDone:s,onChange:c}=No(e,t);return o.jsx(n7,{...a,index:r,stepIndex:n,isLast:i,onDone:s,onChange:c})}var s7=`.ihabdevteam-core-scope .trp-result{display:flex;flex:1;flex-direction:column;min-height:0;padding:0;position:relative}.ihabdevteam-core-scope .popup--training-result .popup-header{padding:var(--spacing-l) var(--spacing-l) 0;position:absolute;right:0;top:0;z-index:1}.ihabdevteam-core-scope .trp-result__head{padding:12px 72px 20px;position:relative;text-align:center}.ihabdevteam-core-scope .trp-result__eyebrow{align-items:center;color:var(--color-main);display:inline-flex;gap:var(--spacing-xs);letter-spacing:.22em;margin:0 0 14px;text-transform:uppercase}.ihabdevteam-core-scope .trp-result__eyebrow:after,.ihabdevteam-core-scope .trp-result__eyebrow:before{background:currentColor;content:"";height:1px;opacity:.35;width:24px}.ihabdevteam-core-scope .trp-result__title{color:var(--color-black);font-size:28px;margin:0}.ihabdevteam-core-scope .trp-result__subtitle{color:var(--color-gray);margin:10px 0 0}.ihabdevteam-core-scope .trp-score{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-m);margin:36px auto 8px}.ihabdevteam-core-scope .trp-score__figure{font-feature-settings:"tnum";align-items:baseline;display:flex;font-variant-numeric:tabular-nums;gap:var(--spacing-s)}.ihabdevteam-core-scope .trp-score__sep,.ihabdevteam-core-scope .trp-score__total{align-self:flex-end;color:var(--color-lightGray);font-size:44px;letter-spacing:-1px;padding-bottom:18px}.ihabdevteam-core-scope .trp-score__big{background:var(--color-main);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:112px;letter-spacing:-5px;line-height:.92}.ihabdevteam-core-scope .trp-accuracy{align-items:center;display:flex;gap:6px;justify-content:center;margin:28px auto 0;max-width:620px}.ihabdevteam-core-scope .trp-accuracy__seg{background:var(--color-darkWhite,var(--color-darkWhite));border-radius:999px;flex:1;height:6px}.ihabdevteam-core-scope .trp-accuracy__seg.is-on{background:linear-gradient(90deg,var(--color-main),var(--color-sub))}.ihabdevteam-core-scope .trp-accuracy__label{font-feature-settings:"tnum";color:var(--color-gray);font-variant-numeric:tabular-nums;margin-left:var(--spacing-xs);white-space:nowrap}.ihabdevteam-core-scope .trp-result__body{padding:16px 0 0}.ihabdevteam-core-scope .result-table{width:100%}.ihabdevteam-core-scope .result-table__head{grid-gap:var(--spacing-m);border-bottom:1px solid var(--color-whiteLine);color:var(--color-lightGray);display:grid;gap:var(--spacing-m);grid-template-columns:1fr 100px;letter-spacing:.16em;padding:12px 4px 14px;text-transform:uppercase}.ihabdevteam-core-scope .result-table--answer .result-table__head,.ihabdevteam-core-scope .result-table--answer .result-table__row{grid-template-columns:1fr 200px 100px}.ihabdevteam-core-scope .result-table__head .col-right{text-align:center}.ihabdevteam-core-scope .result-table__row{grid-gap:var(--spacing-m);align-items:center;border-bottom:1px solid var(--color-whiteLine);display:grid;gap:var(--spacing-m);grid-template-columns:1fr 100px;padding:22px 4px;transition:background .18s ease}.ihabdevteam-core-scope .result-table__row:hover{background:var(--color-deepWhite)}.ihabdevteam-core-scope .result-table__row:last-child{border-bottom:0}.ihabdevteam-core-scope .trp-row__problem{align-items:baseline;display:flex;gap:10px}.ihabdevteam-core-scope .trp-row__no{font-feature-settings:"tnum";color:var(--color-lightGray);flex-shrink:0;font-variant-numeric:tabular-nums;width:32px}.ihabdevteam-core-scope .trp-row__q{color:var(--color-black);letter-spacing:-.1px}.ihabdevteam-core-scope .trp-row__judge{align-self:center;display:flex;justify-content:center}.ihabdevteam-core-scope .trp-row__answers{align-self:center;display:flex;flex-direction:column;gap:var(--spacing-xs)}.ihabdevteam-core-scope .trp-row__answer-line{align-items:baseline;display:flex;gap:10px}.ihabdevteam-core-scope .trp-row__answer-label{flex-shrink:0;width:32px}.ihabdevteam-core-scope .trp-row__answer-label.answer-correct{color:var(--color-lightGray)}.ihabdevteam-core-scope .trp-row__answer-label.answer-selected.is-correct{color:var(--color-main)}.ihabdevteam-core-scope .trp-row__answer-label.answer-selected.is-wrong{color:var(--color-error)}.ihabdevteam-core-scope .trp-row__answer-value{color:var(--color-black)}.ihabdevteam-core-scope .trp-row__answer-value.is-correct{color:var(--color-main)}.ihabdevteam-core-scope .trp-row__answer-value.is-wrong{color:var(--color-error)}.ihabdevteam-core-scope .popup-footer.trp-result__foot{align-items:center;background:var(--color-white);display:flex;flex-shrink:0;gap:var(--spacing-s);justify-content:center;padding:var(--spacing-l)}.ihabdevteam-core-scope .trp-foot__note{align-items:center;color:var(--color-gray);display:flex;font-size:13px;gap:var(--spacing-xs)}.ihabdevteam-core-scope .trp-foot__note svg{color:var(--color-main);flex-shrink:0}.ihabdevteam-core-scope .trp-actions{display:flex;gap:var(--spacing-s)}@keyframes result-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.ihabdevteam-core-scope .trp-result.is-on{animation:result-rise .5s cubic-bezier(.22,.9,.3,1) both}.ihabdevteam-core-scope .trp-result.is-on .trp-score__big{animation:result-rise .7s cubic-bezier(.22,.9,.3,1) .1s both}.ihabdevteam-core-scope .trp-result.is-on .result-table__row{animation:result-rise .5s cubic-bezier(.22,.9,.3,1) both}.ihabdevteam-core-scope .trp-result.is-on .result-table__row:nth-child(2){animation-delay:.18s}.ihabdevteam-core-scope .trp-result.is-on .result-table__row:nth-child(3){animation-delay:.24s}.ihabdevteam-core-scope .trp-result.is-on .result-table__row:nth-child(4){animation-delay:.3s}.ihabdevteam-core-scope .trp-result.is-on .result-table__row:nth-child(5){animation-delay:.36s}@media (max-width:767px){.ihabdevteam-core-scope .trp-result{padding:0}.ihabdevteam-core-scope .trp-result__head{padding:0 20px 20px}.ihabdevteam-core-scope .trp-result__body{padding:0}.ihabdevteam-core-scope .popup-footer.trp-result__foot{border-top:1px solid var(--color-whiteLine);gap:var(--spacing-xs);padding:var(--spacing-l)}.ihabdevteam-core-scope .trp-actions{display:flex;gap:var(--spacing-xs);width:100%}.ihabdevteam-core-scope .trp-actions>*{flex:1;min-width:0}.ihabdevteam-core-scope .trp-score{gap:10px;margin:20px auto 4px}.ihabdevteam-core-scope .trp-score__big{font-size:72px;letter-spacing:-3px}.ihabdevteam-core-scope .trp-score__sep,.ihabdevteam-core-scope .trp-score__total{font-size:28px;padding-bottom:10px}.ihabdevteam-core-scope .result-table__head{display:none}.ihabdevteam-core-scope .result-table__head,.ihabdevteam-core-scope .result-table__row{gap:var(--spacing-xs);grid-template-columns:1fr auto}.ihabdevteam-core-scope .result-table__row{padding:14px 4px}.ihabdevteam-core-scope .trp-row__judge{justify-content:flex-start}.ihabdevteam-core-scope .result-table--answer .result-table__row{align-items:start;gap:6px;grid-template-columns:1fr;grid-template-rows:auto auto auto;padding:14px 4px}.ihabdevteam-core-scope .result-table--answer .trp-row__judge{grid-row:1;justify-content:flex-start}.ihabdevteam-core-scope .result-table--answer .trp-row__problem{grid-row:2}.ihabdevteam-core-scope .result-table--answer .trp-row__answers{grid-row:3}
966
+ `).map((s,c,u)=>o.jsxs(l.Fragment,{children:[s,c<u.length-1&&o.jsx("br",{})]},c))})}),o.jsxs("div",{className:"site-footer__links",children:[o.jsxs("div",{className:"site-footer__column",children:[o.jsx("div",{className:"site-footer__column-title footer-title",children:i("footer.site.title","\uC0AC\uC774\uD2B8")}),o.jsxs("ul",{children:[o.jsx("li",{children:o.jsx("a",{className:"footer-link",href:"https://www.ihab.co.kr/",target:"_blank",rel:"noopener noreferrer",children:"IHAB"})}),o.jsx("li",{children:o.jsx("a",{className:"footer-link",href:"https://speechear.ihab.co.kr/",target:"_blank",rel:"noopener noreferrer",children:i("footer.site.malgwi","\uB9D0\uADC0")})}),o.jsx("li",{children:o.jsx("a",{className:"footer-link",href:"https://ihab-offcial-web.vercel.app/product/sound-localization",target:"_blank",rel:"noopener noreferrer",children:i("footer.site.soundDirection","\uC18C\uB9AC\uBC29\uD5A5\uC131\uC2DC\uC2A4\uD15C")})}),o.jsx("li",{children:o.jsx("a",{className:"footer-link",href:"https://ihab-offcial-web.vercel.app/product/vr-sound-localization",target:"_blank",rel:"noopener noreferrer",children:i("footer.site.vrSoundDirection","VR\uC18C\uB9AC\uBC29\uD5A5\uC131\uC2DC\uC2A4\uD15C")})}),o.jsx("li",{children:o.jsx("a",{className:"footer-link",href:"https://ihab-offcial-web.vercel.app/product/hearing-test-pro",target:"_blank",rel:"noopener noreferrer",children:i("footer.site.hearingTest","\uCCAD\uB825\uD14C\uC2A4\uD2B8 \uD504\uB85C")})})]})]}),o.jsxs("div",{className:"site-footer__column",children:[o.jsx("div",{className:"site-footer__column-title footer-title",children:i("footer.sns.title","SNS")}),o.jsxs("ul",{children:[o.jsx("li",{children:o.jsx("a",{className:"footer-link",href:"https://blog.naver.com/ihab_official",target:"_blank",rel:"noopener noreferrer",children:i("footer.sns.naverBlog","\uB124\uC774\uBC84 \uBE14\uB85C\uADF8")})}),o.jsx("li",{children:o.jsx("a",{className:"footer-link",href:"https://www.instagram.com/ihab.official.yt/",target:"_blank",rel:"noopener noreferrer",children:"Instagram"})}),o.jsx("li",{children:o.jsx("a",{className:"footer-link",href:"https://www.youtube.com/@%EC%95%84%EC%9D%B4%ED%95%B4%EB%B8%8C-%EA%B3%B5%EC%8B%9D%EC%B1%84%EB%84%90",target:"_blank",rel:"noopener noreferrer",children:"Youtube"})})]})]}),o.jsxs("div",{className:"site-footer__column",children:[o.jsx("div",{className:"site-footer__column-title footer-title",children:i("footer.policy.title","\uC815\uCC45")}),o.jsxs("ul",{children:[o.jsx("li",{children:o.jsx("a",{className:"footer-link",href:"#",onClick:s=>{e&&(s.preventDefault(),e())},children:i("footer.policy.terms","\uC774\uC6A9\uC57D\uAD00")})}),o.jsx("li",{children:o.jsx("a",{className:"footer-link",href:"#",onClick:s=>{t&&(s.preventDefault(),t())},children:i("footer.policy.privacy","\uAC1C\uC778\uC815\uBCF4 \uCC98\uB9AC\uBC29\uCE68")})})]})]})]})]}),o.jsx("hr",{className:"site-footer__rule"}),o.jsxs("div",{className:"site-footer__bottom",children:[o.jsx("div",{className:"site-footer__brand",children:o.jsx("img",{src:Nl,alt:"IHAB",className:"site-footer__logo"})}),o.jsxs("div",{className:"site-footer__meta",children:[o.jsxs("div",{children:[o.jsx("span",{className:"footer-title",children:i("footer.ceo","\uB300\uD45C")}),o.jsx("span",{className:"footer-meta caption-1",children:i("footer.ceoName","\uD55C\uC9C0\uD61C")})]}),o.jsxs("div",{children:[o.jsx("span",{className:"footer-title",children:i("footer.address","\uC8FC\uC18C")}),o.jsx("span",{className:"footer-meta caption-1",children:i("footer.addressValue","\uAC15\uC6D0\uB3C4 \uCD98\uCC9C\uC2DC \uC2DC\uCCAD\uAE38 32 \uD574\uCC2C\uBE4C\uB529 3\uCE35 302\uD638")})]}),o.jsxs("div",{children:[o.jsx("span",{className:"footer-title",children:i("footer.support","\uACE0\uAC1D\uC13C\uD130")}),o.jsxs("span",{className:"footer-meta caption-1",children:[r," \xA0 ",n]})]})]})]}),o.jsx("div",{className:"site-footer__copyright footer-copyright caption-1",children:"\xA9 IHAB, Inc. All rights reserved."})]})})}var fk='.ihabdevteam-core-scope .landing-header{background:var(--landing-header-bg,var(--color-deepWhite));border-bottom:1px solid rgba(15,18,60,.05);border-bottom:1px solid var(--landing-header-border,rgba(15,18,60,.05));position:sticky;top:0;transform:translateZ(0);will-change:transform;z-index:500;z-index:var(--z-sticky,500)}.ihabdevteam-core-scope .landing-header__inner{align-items:center;display:flex;height:72px;height:var(--landing-header-height,72px);justify-content:space-between;position:relative}.ihabdevteam-core-scope .landing-header__brand{align-items:center;display:flex;flex:0 0 auto;margin-right:auto;text-decoration:none}.ihabdevteam-core-scope .landing-header__logo{display:block;height:40px;height:var(--landing-header-logo-height,40px);max-width:none;transform-origin:left center;transition:transform .3s cubic-bezier(.2,.9,.2,1.2),filter .3s;width:auto}.ihabdevteam-core-scope .landing-header__brand:hover .landing-header__logo{filter:brightness(1.08);transform:scale(1.05)}.ihabdevteam-core-scope .landing-header__links{align-items:center;color:var(--landing-header-link-color,var(--color-deepGray));display:flex;font-size:15px;font-weight:500;gap:36px;left:50%;position:absolute;transform:translateX(-50%)}.ihabdevteam-core-scope .landing-header__links a{color:inherit;padding:6px 0;position:relative;text-decoration:none;transition:color .2s}.ihabdevteam-core-scope .landing-header__links a:hover{color:var(--landing-header-link-hover,var(--color-main))}.ihabdevteam-core-scope .landing-header__links a:after{background:linear-gradient(90deg,var(--color-main),var(--color-sub));border-radius:1px;bottom:0;content:"";height:2px;left:0;position:absolute;right:100%;transition:right .35s cubic-bezier(.2,.7,.2,1)}.ihabdevteam-core-scope .landing-header__links a:hover:after{right:0}.ihabdevteam-core-scope .landing-header__actions{align-items:center;display:flex;gap:8px;gap:var(--spacing-xs,8px)}.ihabdevteam-core-scope .landing-header__toggle{align-items:center;background:none;border:0;color:var(--landing-header-link-color,var(--color-deepGray));cursor:pointer;display:none;height:44px;justify-content:center;margin-right:-10px;width:44px}.ihabdevteam-core-scope .landing-header__burger{display:block;height:14px;position:relative;width:22px}.ihabdevteam-core-scope .landing-header__burger>span{background:currentColor;border-radius:1px;height:2px;inset-inline:0;position:absolute;transition:transform .2s cubic-bezier(.2,.7,.2,1),opacity .2s cubic-bezier(.2,.7,.2,1)}.ihabdevteam-core-scope .landing-header__burger>span:first-child{top:0}.ihabdevteam-core-scope .landing-header__burger>span:nth-child(2){top:6px}.ihabdevteam-core-scope .landing-header__burger>span:nth-child(3){top:12px}.ihabdevteam-core-scope .landing-header__toggle--open .landing-header__burger>span:first-child{transform:translateY(6px) rotate(45deg)}.ihabdevteam-core-scope .landing-header__toggle--open .landing-header__burger>span:nth-child(2){opacity:0}.ihabdevteam-core-scope .landing-header__toggle--open .landing-header__burger>span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.ihabdevteam-core-scope .landing-header__drawer{background:var(--landing-header-bg,var(--color-deepWhite));border-top:1px solid rgba(15,18,60,.05)}.ihabdevteam-core-scope .landing-header__drawer-item{display:block}.ihabdevteam-core-scope .landing-header__drawer-item a{align-items:center;color:var(--landing-header-link-color,var(--color-deepGray));display:flex;font-size:15px;font-weight:500;min-height:48px;text-decoration:none;transition:color .2s}.ihabdevteam-core-scope .landing-header__drawer-item a:hover,.ihabdevteam-core-scope .landing-header__drawer-item a[aria-current=page]{color:var(--landing-header-link-hover,var(--color-main))}@media (max-width:960px){.ihabdevteam-core-scope .landing-header__links{display:none}.ihabdevteam-core-scope .landing-header__toggle{display:flex}}@media (min-width:961px){.ihabdevteam-core-scope .landing-header__drawer{display:none}}';Q(fk);function pb({logo:e,logoAlt:t="",logoHref:a,links:r=[],actions:n,className:i,containerClassName:s,renderLink:c,menuLabel:u={open:"\uBA54\uB274 \uC5F4\uAE30",close:"\uBA54\uB274 \uB2EB\uAE30"}}){const[d,m]=l.useState(!1),h=s?`${s} landing-header__inner`:"landing-header__inner",p=(g,v)=>c?c(g,{onClick:v}):o.jsx("a",{href:g.href,onClick:v,"aria-current":g.current?"page":void 0,children:g.label});return o.jsxs("header",{className:i?`landing-header ${i}`:"landing-header",children:[o.jsxs("div",{className:h,children:[e!=null&&(()=>{const g=typeof e=="string"?o.jsx("img",{src:e,alt:t,className:"landing-header__logo"}):e;return a?o.jsx("a",{href:a,className:"landing-header__brand",children:g}):o.jsx("div",{className:"landing-header__brand",children:g})})(),r.length>0&&o.jsx("nav",{className:"landing-header__links",children:r.map(g=>o.jsx("span",{children:p(g)},g.href))}),o.jsxs("div",{className:"landing-header__actions",children:[n,r.length>0&&o.jsx("button",{type:"button",onClick:()=>m(g=>!g),"aria-expanded":d,"aria-controls":"landing-header-drawer","aria-label":d?u.close:u.open,className:d?"landing-header__toggle landing-header__toggle--open":"landing-header__toggle",children:o.jsxs("span",{className:"landing-header__burger",children:[o.jsx("span",{}),o.jsx("span",{}),o.jsx("span",{})]})})]})]}),r.length>0&&o.jsx("nav",{id:"landing-header-drawer",hidden:!d,className:"landing-header__drawer",children:o.jsx("div",{className:s??void 0,children:r.map(g=>o.jsx("span",{className:"landing-header__drawer-item",children:p(g,()=>m(!1))},g.href))})})]})}var vk=".ihabdevteam-core-scope .bottom-sticky{animation:bottom-sticky-in .4s cubic-bezier(.2,.9,.2,1) both;bottom:24px;bottom:var(--bottom-sticky-offset,24px);left:50%;max-width:680px;max-width:var(--bottom-sticky-max-width,680px);position:fixed;transform:translateX(-50%);width:calc(100% - 48px);z-index:500;z-index:var(--z-sticky,500)}@keyframes bottom-sticky-in{0%{opacity:0;transform:translateX(-50%) translateY(16px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.ihabdevteam-core-scope .bottom-sticky__inner{align-items:center;background:var(--bottom-sticky-bg,var(--color-pureWhite));border-radius:20px;border-radius:var(--radius-m,20px);box-shadow:0 8px 40px rgba(15,18,60,.18),0 2px 8px rgba(15,18,60,.06);display:flex;gap:16px;gap:var(--spacing-m,16px);justify-content:space-between;padding:12px 12px 12px 24px;transition:box-shadow .2s,transform .2s}.ihabdevteam-core-scope .bottom-sticky__inner--clickable{cursor:pointer}.ihabdevteam-core-scope .bottom-sticky__inner--clickable:hover{border:1px solid var(--color-main);box-shadow:0 16px 56px color-mix(in srgb,var(--color-main) 30%,transparent),0 4px 12px color-mix(in srgb,var(--color-main) 15%,transparent);transform:translateY(-4px)}.ihabdevteam-core-scope .bottom-sticky__content{align-items:center;display:flex;flex:1;gap:12px;gap:var(--spacing-s,12px);justify-content:center}.ihabdevteam-core-scope .bottom-sticky__tagline{align-items:center;color:var(--color-black);display:flex;gap:0;margin:0;white-space:nowrap}.ihabdevteam-core-scope .bottom-sticky__tagline-highlight{background:linear-gradient(90deg,var(--color-main),var(--color-sub),var(--color-infoLink));-webkit-background-clip:text;background-clip:text;color:transparent;display:inline}.ihabdevteam-core-scope .bottom-sticky__tagline-part{align-items:center;display:flex;white-space:nowrap}.ihabdevteam-core-scope .bottom-sticky__tagline-logo{display:block;height:32px;width:auto}@media (max-width:600px){.ihabdevteam-core-scope .bottom-sticky{bottom:16px;bottom:var(--bottom-sticky-offset,16px);width:calc(100% - 32px)}.ihabdevteam-core-scope .bottom-sticky__inner{align-items:stretch;flex-direction:column;gap:12px;gap:var(--spacing-s,12px);padding:16px;padding:var(--spacing-m,16px)}.ihabdevteam-core-scope .bottom-sticky__content{flex:none;gap:6px;justify-content:center}.ihabdevteam-core-scope .bottom-sticky__tagline{flex-wrap:wrap;justify-content:center;text-align:center;white-space:normal}.ihabdevteam-core-scope .bottom-sticky__tagline-logo{height:26px}}";Q(vk);function hb({children:e,action:t,onClick:a,className:r}){const n=a?"bottom-sticky__inner bottom-sticky__inner--clickable":"bottom-sticky__inner";return o.jsx("div",{className:r?`bottom-sticky ${r}`:"bottom-sticky",children:o.jsxs("div",{className:n,onClick:a,children:[o.jsx("div",{className:"bottom-sticky__content",children:e}),t]})})}const rc=9,yk=e=>Math.round(Math.min(rc,Math.max(0,e))/rc*100),xk=e=>e/100*rc,mb={enabled:!0,type:"defaultNoise",level:4.5,speed:1,mainVolume:1,mainSpeed:1},bb=l.createContext(null);function nc(){return l.useContext(bb)}const ic=e=>`${Xn()}/${e}`,gb=e=>Array.from({length:10},(t,a)=>ic(`${e}-${String(a+1).padStart(2,"0")}.mp3`)),Bn={get defaultNoise(){return ic("noise1.mp3")},get street(){return gb("noise2")},get restaurant(){return gb("noise3")},get buzz(){return ic("noise4.mp3")}};function Ck(e){const t=Math.floor(Math.random()*10);switch(e){case"defaultNoise":return Bn.defaultNoise;case"street":return Bn.street[t];case"restaurant":return Bn.restaurant[t];case"buzz":return Bn.buzz;default:return null}}function _k({noisePlayer:e,audioRef:t,playbackStateRef:a}){const r=l.useRef(e?.registerAnalyser);r.current=e?.registerAnalyser;const n=l.useRef(null),[i,s]=l.useState(null),c=l.useRef(null),u=l.useRef(null),d=l.useRef(null),m=l.useRef(0),h=l.useRef(null),p=l.useCallback(()=>{d.current!==null&&(cancelAnimationFrame(d.current),d.current=null),h.current!==null&&(clearTimeout(h.current),h.current=null)},[]),g=l.useCallback((y,f=250)=>{const x=n.current;if(!x||!x.src)return;m.current+=1,p();try{Wo(),r.current?.("noise",Ho(x))}catch{}const _=x.paused?0:x.volume;x.paused&&(x.volume=0),x.play().catch(()=>{});const C=performance.now(),A=()=>{const w=Math.min(1,(performance.now()-C)/f);try{x.volume=Math.max(0,Math.min(1,_+(y-_)*w))}catch{}w<1?d.current=requestAnimationFrame(A):d.current=null};d.current=requestAnimationFrame(A)},[p]),v=l.useCallback((y=250,f)=>{const x=n.current;if(!x||x.paused){f?.();return}const _=++m.current;p();const C=performance.now(),A=x.volume,w=()=>{const S=Math.min(1,(performance.now()-C)/y);try{x.volume=Math.max(0,A*(1-S))}catch{}if(S<1)d.current=requestAnimationFrame(w);else{d.current=null,h.current!==null&&(clearTimeout(h.current),h.current=null);try{x.pause()}catch{}f?.()}};d.current=requestAnimationFrame(w),h.current=setTimeout(()=>{if(h.current=null,m.current===_){d.current!==null&&(cancelAnimationFrame(d.current),d.current=null);try{x.paused||(x.volume=0,x.pause(),f?.())}catch{}}},y+150)},[p]);l.useEffect(()=>{const y=document.createElement("audio");return y.loop=!0,y.crossOrigin="anonymous",n.current=y,()=>{p();try{y.pause(),y.src=""}catch{}n.current=null}},[p]);const b=!!e?.settings.enabled&&(e?.settings.level??0)>0;return l.useEffect(()=>{if(!b)return;let y=0;const f=setInterval(()=>{const x=n.current;if(!x||x.paused){y=0;return}const _=t.current;if(_&&!_.paused&&!_.ended||a.current==="playing"){y=0;return}y+=1,y>=2&&(y=0,v())},400);return()=>clearInterval(f)},[v,b,t,a]),l.useEffect(()=>{const y=()=>{if(!document.hidden)return;const f=n.current;if(f&&!f.paused){p();try{f.pause()}catch{}}};return document.addEventListener("visibilitychange",y),()=>document.removeEventListener("visibilitychange",y)},[p]),l.useEffect(()=>{u.current=e?{enabled:e.settings.enabled,level:e.settings.level,type:e.settings.type}:null},[e,e?.settings.enabled,e?.settings.level,e?.settings.type]),l.useEffect(()=>{const y=e?.settings,f=n.current;if(!f)return;if(!y||!y.enabled||y.level===0){v();return}const x=Math.min(1,y.level/9);if(c.current!==y.type){const _=Ck(y.type);_&&(c.current=y.type,s(_),v(150,()=>{f.src=_,f.load();const C=t.current;C&&!C.paused&&f.addEventListener("canplay",function A(){f.removeEventListener("canplay",A);const w=t.current;w&&!w.paused&&!w.ended&&g(x)})}))}else{const _=t.current,C=!!_&&!_.paused&&!_.ended;if(C&&f.paused&&f.src)g(x);else if(!f.paused)if(!C)v();else{p();const A=f.volume,w=performance.now(),S=()=>{const D=Math.min(1,(performance.now()-w)/150);try{f.volume=A+(x-A)*D}catch{}D<1?d.current=requestAnimationFrame(S):d.current=null};d.current=requestAnimationFrame(S)}}},[e?.settings,e?.settings.enabled,e?.settings.level,e?.settings.type,p,g,v,t]),l.useEffect(()=>{const y=n.current;if(y)try{y.playbackRate=Math.min(1.25,Math.max(.75,e?.settings.speed??1))}catch{}},[e?.settings.speed]),{noiseAudioRef:n,activeNoiseUrl:i,noiseSettingsRef:u,cancelNoiseFade:p,fadeInNoise:g,fadeOutNoise:v}}function wk({ttsText:e,playbackRate:t,mainVolume:a,fillRef:r,waveProgressRef:n,setProgress:i,setPlaybackState:s,setStateLocal:c,fadeInNoise:u,fadeOutNoise:d,noiseSettingsRef:m,onDoneRef:h,handleEndRef:p}){const g=l.useRef(null),v=l.useRef(0),b=l.useRef(null);l.useEffect(()=>()=>{try{if(b.current&&(cancelAnimationFrame(b.current),b.current=null),window.speechSynthesis)try{window.speechSynthesis.cancel()}catch{}}catch{}},[]);const y=(_,C=1)=>{try{const A=(_||"").trim().split(/\s+/).filter(Boolean).length||Math.max(1,(_||"").length);return Math.max(700,Math.round(A*300/Math.max(.25,C)))}catch{return 1200}},f=l.useCallback(_=>{if(typeof window>"u"||!window.speechSynthesis){try{typeof h.current=="function"&&h.current(!0)}catch{}return}const C=window.speechSynthesis;try{try{C.cancel()}catch{}const A=_??e,w=(Array.isArray(A)?A[0]??"":A)||"",S=new SpeechSynthesisUtterance(w);try{S.rate=Math.max(.3,Math.min(3,t))}catch{}try{S.volume=Math.max(0,Math.min(1,a))}catch{}v.current=y(w,S.rate||1),g.current=performance.now(),i(0),s("playing"),c("playMode");const D=m.current;D?.enabled&&(D?.level??0)>0&&u(D.level/9);const T=()=>{try{const E=g.current||performance.now(),W=performance.now()-E,M=v.current||1200,k=Math.min(1,W/M);i(k);try{r.current&&(r.current.style.left=`${k*100}%`),n.current&&n.current.style.setProperty("--progress",String(k))}catch{}k<1&&(b.current=requestAnimationFrame(T))}catch{}};S.onend=()=>{try{b.current&&(cancelAnimationFrame(b.current),b.current=null),i(1),s("stopped");try{p.current?.()}catch{try{typeof h.current=="function"&&h.current(!0)}catch{}}}catch{}},S.onstart=()=>{try{b.current&&(cancelAnimationFrame(b.current),b.current=null),b.current=requestAnimationFrame(T)}catch{}};try{C.speak(S)}catch{try{typeof h.current=="function"&&h.current(!0)}catch{}}}catch{try{typeof h.current=="function"&&h.current(!0)}catch{}}},[e,t,a,u,r,n,i,s,c,m,h,p]),x=l.useCallback(()=>{try{if(window.speechSynthesis)try{window.speechSynthesis.cancel()}catch{}b.current&&(cancelAnimationFrame(b.current),b.current=null),d(),g.current=null}catch{}s("stopped"),c("active"),i(0)},[d,s,c,i]);return{startTTS:f,stopTTS:x}}var kk='.ihabdevteam-core-scope .audio-player{align-items:center;display:flex;flex-direction:column;width:100%}.ihabdevteam-core-scope .audio-player__no-waveform{align-items:center;align-self:flex-start;color:var(--color-lightGray);display:flex;gap:4px;margin:6px 0 0}.ihabdevteam-core-scope .audio-player__no-waveform .iconRenderer-icon{align-items:center;display:inline-flex}.ihabdevteam-core-scope .audio-player__panel{align-items:center;background:linear-gradient(90deg,var(--color-main),var(--color-sub));background:linear-gradient(var(--angle,90deg),var(--color-main),var(--color-sub));border-radius:var(--radius-m);display:flex;height:120px;position:relative;width:100%}.ihabdevteam-core-scope .audio-player.is-disabled .audio-player__panel{background:var(--color-darkWhite);border:1px solid var(--color-darkWhite)}.ihabdevteam-core-scope .audio-player.is-disabled .audio-player__buttons,.ihabdevteam-core-scope .audio-player.is-disabled .audio-player__play,.ihabdevteam-core-scope .audio-player.is-disabled .audio-player__wave{pointer-events:none}.ihabdevteam-core-scope .audio-player.is-disabled .audio-player__buttons .button,.ihabdevteam-core-scope .audio-player.is-disabled .audio-player__play .button{opacity:.7}.ihabdevteam-core-scope .audio-player__play{align-items:center;bottom:0;display:flex;height:100%;justify-content:center;left:0;opacity:0;pointer-events:none;position:relative;right:0;top:0;transition:opacity .16s ease,transform .16s ease;width:100%;z-index:10}.ihabdevteam-core-scope .audio-player__play.is-visible{opacity:1;pointer-events:auto}.ihabdevteam-core-scope .audio-player__panel>.button{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:opacity .16s ease,transform .16s ease;will-change:opacity,transform;z-index:35}.ihabdevteam-core-scope .audio-player__button{align-items:center;background:transparent;border:0;cursor:pointer;display:flex;inset:0;justify-content:center;padding:0;position:absolute;z-index:35}.ihabdevteam-core-scope .audio-player__button-triangle-wrap{align-items:center;display:flex;height:90px;justify-content:center;transition:transform .32s cubic-bezier(.2,.7,.2,1);width:90px}.ihabdevteam-core-scope .audio-player__button:hover .audio-player__button-triangle-wrap{transform:scale(1.18)}.ihabdevteam-core-scope .audio-player__button:active .audio-player__button-triangle-wrap{transform:scale(1.06)}.ihabdevteam-core-scope .audio-player__button-triangle{height:100%;width:100%}.ihabdevteam-core-scope .audio-player__button-triangle path{fill:none;stroke:#fff;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.6}.ihabdevteam-core-scope .audio-player.is-disabled .audio-player__button{cursor:default;opacity:.5;pointer-events:none}.ihabdevteam-core-scope .audio-player__slider{align-items:center;bottom:50px;box-sizing:border-box;display:flex;left:20px;pointer-events:none;position:absolute;right:20px;top:20px}.ihabdevteam-core-scope .audio-player__buttons{align-items:center;border-radius:999px;bottom:10px;box-sizing:border-box;display:flex;gap:0;height:28px;justify-content:center;left:0;pointer-events:auto;position:absolute;right:0;z-index:40}.ihabdevteam-core-scope .audio-player__source-buttons{align-items:center;border:1px solid var(--color-white-a30);border-radius:var(--radius-m);display:inline-flex;justify-content:center;overflow:visible}.ihabdevteam-core-scope .audio-player__source-buttons .button{flex:0 0 auto;max-width:60px}.ihabdevteam-core-scope .audio-player__buttons .button[aria-label=\\B2E4\\C74C],.ihabdevteam-core-scope .audio-player__buttons .button[aria-label=\\C774\\C804],.ihabdevteam-core-scope .audio-player__buttons .button[aria-label=\\C815\\C9C0]{display:none}.ihabdevteam-core-scope .audio-player__buttons>.button{align-items:center;display:inline-flex;justify-content:center;margin:0;width:auto}.ihabdevteam-core-scope .audio-player__fill{backface-visibility:hidden;background:var(--color-pureWhite);border-radius:var(--radius-sm);height:100%;left:0;opacity:0;pointer-events:none;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%) scaleY(0);transform-origin:center center;transition:transform .28s cubic-bezier(.2,.8,.2,1),opacity .16s ease;width:8px;will-change:transform,opacity;z-index:70}.ihabdevteam-core-scope .audio-player__fill.is-visible{opacity:1}.ihabdevteam-core-scope .audio-player__fill.is-expanded{transform:translateX(-50%) translateY(-50%) scaleY(1)}.ihabdevteam-core-scope .audio-player__fill.is-paused{transition:opacity .16s ease}.ihabdevteam-core-scope .audio-player__fill.is-out{animation:audio-player-fill-out .28s cubic-bezier(.2,.8,.2,1) forwards}@keyframes audio-player-fill-out{0%{opacity:1;transform:translateX(-50%) translateY(-50%) scaleY(1)}to{opacity:0;transform:translateX(-50%) translateY(-50%) scaleY(0)}}.ihabdevteam-core-scope .audio-player__loading{align-items:center;background:transparent;border-radius:var(--radius-sm);color:rgba(0,0,0,.85);color:var(--audio-loading-foreground,rgba(0,0,0,.85));display:inline-flex;font-size:13px;gap:var(--spacing-xs);left:50%;padding:0;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:999}.ihabdevteam-core-scope .audio-player__debug{align-items:center;background:hsla(0,0%,100%,.06);border-radius:18px;color:#fff;display:flex;font-size:12px;gap:8px;padding:6px 10px;pointer-events:none;position:absolute;right:12px;top:12px}.ihabdevteam-core-scope .audio-player__debug-dot{border-radius:10px;box-shadow:0 0 6px rgba(0,0,0,.4);display:inline-block;height:10px;width:10px}.ihabdevteam-core-scope .audio-player__loading .audio-player__loading-text,.ihabdevteam-core-scope .audio-player__panel.is-loading .audio-player__loading-text{display:none}.ihabdevteam-core-scope .audio-player__loading-spinner{animation:audio-player-spinner .9s linear infinite;border:4px solid hsla(0,0%,100%,.2);border-radius:50%;border-top-color:#fff;filter:drop-shadow(0 2px 6px rgba(0,0,0,.25));height:40px;width:40px}@keyframes audio-player-spinner{to{transform:rotate(1turn)}}.ihabdevteam-core-scope .audio-player__wave{height:90%;position:absolute}.ihabdevteam-core-scope .audio-player__wave,.ihabdevteam-core-scope .audio-player__wave-inner{align-items:center;display:flex;justify-content:center;pointer-events:none;width:100%;z-index:60}.ihabdevteam-core-scope .audio-player__wave-inner{cursor:default;gap:3px;gap:var(--bar-gap,3px);height:100%;margin:0 auto;padding:0}.ihabdevteam-core-scope .audio-player__wave-inner:not(.is-ready) .audio-player__bar:after{opacity:0}.ihabdevteam-core-scope .audio-player__wave-inner.is-ready .audio-player__bar:after{animation:wave-bar-in .35s cubic-bezier(.22,.9,.3,1) both;animation-delay:0ms;animation-delay:calc(var(--i, 0)*2ms)}@keyframes wave-bar-in{0%{opacity:0;transform:translateY(-50%) scaleY(.05)}to{opacity:1;transform:translateY(-50%) scaleY(.15);transform:translateY(-50%) scaleY(var(--val,.15))}}.ihabdevteam-core-scope .audio-player__wave-inner.is-ready .audio-player__bar--hidden:after,.ihabdevteam-core-scope .audio-player__wave-noise.is-ready .audio-player__bar--hidden:after{animation:none;opacity:0}.ihabdevteam-core-scope .audio-player__wave-played{bottom:0;clip-path:inset(0 100% 0 0);clip-path:inset(0 calc((1 - var(--progress, 0))*100%) 0 0);left:0;pointer-events:none;position:absolute;right:0;top:0}.ihabdevteam-core-scope .audio-player__bar{box-sizing:border-box;flex:0 0 3px;flex:0 0 var(--bar-w,3px);height:100%;position:relative}.ihabdevteam-core-scope .audio-player__wave-unplayed .audio-player__bar:after{background:color-mix(in srgb,var(--color-lightMain),var(--color-lightSub) 0);border-radius:999px;content:"";height:100%;left:0;opacity:1;position:absolute;right:0;top:50%;transform:translateY(-50%) scaleY(.15);transform:translateY(-50%) scaleY(var(--val,.15));transform-origin:center center;z-index:61}@supports (color:color-mix(in lch,red,blue)) and (top:var(--f )){.ihabdevteam-core-scope .audio-player__wave-unplayed .audio-player__bar:after{background:color-mix(in srgb,var(--color-lightMain),var(--color-lightSub) calc(var(--mix, 0)*100%))}}.ihabdevteam-core-scope .audio-player__wave-played .audio-player__bar:after{background:color-mix(in srgb,var(--color-lightMain),var(--color-lightSub) 0);border-radius:999px;content:"";height:100%;left:0;opacity:1;position:absolute;right:0;top:50%;transform:translateY(-50%) scaleY(.15);transform:translateY(-50%) scaleY(var(--val,.15));transform-origin:center center;z-index:62}@supports (color:color-mix(in lch,red,blue)) and (top:var(--f )){.ihabdevteam-core-scope .audio-player__wave-played .audio-player__bar:after{background:color-mix(in srgb,var(--color-lightMain),var(--color-lightSub) calc(var(--mix, 0)*100%))}}.ihabdevteam-core-scope .audio-player__wave-noise{align-items:center;bottom:0;display:flex;gap:3px;gap:var(--bar-gap,3px);justify-content:center;left:0;margin:0 auto;pointer-events:none;position:absolute;right:0;top:0;width:100%;z-index:58}.ihabdevteam-core-scope .audio-player__wave-noise .audio-player__bar:after{background:color-mix(in srgb,var(--color-deepMain),var(--color-deepSub) 0);border-radius:999px;content:"";height:100%;left:0;opacity:1;position:absolute;right:0;top:50%;transform:translateY(-50%) scaleY(.1);transform:translateY(-50%) scaleY(var(--val,.1));transform-origin:center center;z-index:58}@supports (color:color-mix(in lch,red,blue)) and (top:var(--f )){.ihabdevteam-core-scope .audio-player__wave-noise .audio-player__bar:after{background:color-mix(in srgb,var(--color-deepMain),var(--color-deepSub) calc(var(--mix, 0)*100%))}}.ihabdevteam-core-scope .audio-player__wave-noise:not(.is-ready) .audio-player__bar:after{opacity:0}.ihabdevteam-core-scope .audio-player__wave-noise.is-ready .audio-player__bar:after{animation:wave-bar-in .35s cubic-bezier(.22,.9,.3,1) both;animation-delay:0ms;animation-delay:calc(var(--i, 0)*2ms)}.ihabdevteam-core-scope .audio-player__segments{align-items:center;display:flex;gap:3px;gap:var(--bar-gap,3px);height:100%;position:relative;width:100%}.ihabdevteam-core-scope .audio-player__segment{align-items:center;cursor:pointer;display:flex;height:100%;justify-content:center;padding:10px 0;pointer-events:auto;position:relative}.ihabdevteam-core-scope .audio-player__segment-inner{align-items:center;display:flex;gap:3px;gap:var(--bar-gap,3px);height:100%;justify-content:center;width:100%}';Q(kk);const fb=4;async function Sk(e,t,a){try{const r=window.AudioContext||window.webkitAudioContext,n=new r,i=await n.decodeAudioData(e.slice(0)),s=i.numberOfChannels>0?i.getChannelData(0):null;if(!s)return null;const c=a&&a>0?Math.min(s.length,Math.floor(a*i.sampleRate)):s.length,u=Math.max(t,c),d=Math.floor(u/t)||1,m=new Array(t).fill(0).map((h,p)=>{const g=p*d,v=Math.min(g+d,u);let b=0;for(let y=g;y<v;y++){const f=Math.abs(s[y]);f>b&&(b=f)}return b});try{n.close&&n.close()}catch{}return m}catch{return null}}async function vb(e,t,a){try{const r=await(await fetch(e)).arrayBuffer();return await Sk(r,t,a)}catch(r){try{const n=Vr(r)}catch{}return null}}function Ak(e){const{src:t,segments:a,progress:r=0,waveProgressRef:n,noiseSrc:i,noiseLevel:s=0,noiseSpeed:c=1,totalDuration:u=0,mainVolume:d=1,onReadyChange:m,showSoundWaveForm:h=!0}=e,p=l.useRef(null),g=l.useRef(null),[v,b]=l.useState(null),[y,f]=l.useState(!1),[x,_]=l.useState(null),[C,A]=l.useState(2),[w,S]=l.useState(0),[D,T]=l.useState(null),[E,W]=l.useState(!1),M=3,k=3,N=1,j=300,F=l.useRef(0),te=l.useCallback(async(Y,J)=>{const ue=++F.current,pe=()=>F.current===ue;try{if(f(!1),!Y){pe()&&b(null);return}let ae=J;if(!ae)try{for(let De=0;De<4&&!(p.current||g.current);De++)await new Promise(Ie=>requestAnimationFrame(Ie));await new Promise(De=>requestAnimationFrame(De));const ce=p.current,xe=g&&g.current?g.current:ce?ce.closest(".audio-player__wave"):null,Se=xe?xe.getBoundingClientRect():ce?ce.getBoundingClientRect():null,Ae=Se?Math.max(100,Se.width):320,P=Se?Se.height:0;P>0&&S(P),ae=Math.max(N,Math.min(j,Math.floor((Ae+k)/(M+k))));const oe=ae*M,re=Math.max(0,ae-1),Ce=re>0?(Ae-oe)/re:k;A(Math.max(0,Ce))}catch{ae=120}const X=await vb(Y,ae);if(!pe())return;if(!X){b(null),f(!1);return}b(X),_(ae),f(!0)}catch{if(!pe())return;b(null),f(!1)}},[f,b,S,A,_]);l.useEffect(()=>{const Y=a&&a[0]&&a[0].src||t||a&&a.length===1&&a[0]&&a[0].src;te(typeof Y=="string"?Y:void 0).catch(()=>{}),W(!1)},[t,a,te]),l.useEffect(()=>{let Y=!1;if(!i||!x){T(null);return}const J=u>0?u*(c||1):void 0;return vb(i,x,J).then(ue=>{Y||T(ue)}).catch(()=>{Y||T(null)}),()=>{Y=!0}},[i,x,u,c]);const Z=Math.max(0,Math.min(1,d)),ee=l.useMemo(()=>v&&v.length&&Math.max(...v)||1,[v]),L=x||40,R=l.useMemo(()=>Array.from({length:L}).map((Y,J)=>{const ue=v&&v[J]!=null?v[J]:null,pe=ue==null?null:Math.min(1,ue/ee*Z),ae=pe!=null&&w>0&&pe*w<=fb,X=pe==null?.15:ae?0:pe,ce=L>1?J/(L-1):0;return o.jsx("div",{className:ae?"audio-player__bar audio-player__bar--hidden":"audio-player__bar",style:{"--val":X,"--i":J,"--mix":ce}},J)}),[L,v,ee,Z,w]),O={"--progress":String(Math.max(0,Math.min(1,r)))},H={"--bar-gap":`${C}px`},$=Math.max(0,Math.min(9,s))/9,q=y&&(i?!!D:!0);l.useEffect(()=>{q&&W(!0)},[q]);const I=E?y:q;l.useEffect(()=>{m?.(I)},[I,m]);const G=x||40,z=l.useMemo(()=>Array.from({length:G}).map((Y,J)=>{const ue=D&&D[J]!=null?D[J]:null,pe=ue==null?0:Math.min(1,ue/ee*$),ae=w>0&&pe*w<=fb,X=ae?0:pe,ce=G>1?J/(G-1):0;return o.jsx("div",{className:ae?"audio-player__bar audio-player__bar--hidden":"audio-player__bar",style:{"--val":X,"--i":J,"--mix":ce}},J)}),[G,D,ee,$,w]);return o.jsxs("div",{className:"audio-player__wave",ref:g,style:H,children:[i&&o.jsx("div",{className:`audio-player__wave-noise ${q?"is-ready":""}`,"aria-hidden":"true",children:z}),h&&o.jsxs(o.Fragment,{children:[o.jsx("div",{className:`audio-player__wave-inner audio-player__wave-unplayed ${I?"is-ready":""}`,ref:p,children:R}),o.jsx("div",{className:`audio-player__wave-inner audio-player__wave-played ${I?"is-ready":""}`,ref:n,style:O,children:R})]})]})}const Tk={idle:"\uB300\uAE30",resolving:"\uB9AC\uC18C\uC2A4 \uB9E4\uD551 \uC911\u2026",checking_exists:"\uD30C\uC77C \uC874\uC7AC \uD655\uC778\u2026",getting_signed_url:"\uC11C\uBA85 URL \uC870\uD68C\u2026",downloading:"\uB2E4\uC6B4\uB85C\uB4DC \uC911\u2026",measuring_duration:"\uC624\uB514\uC624 \uAE38\uC774 \uCE21\uC815\u2026",ready:"\uC900\uBE44 \uC644\uB8CC",error:"\uC624\uB958 \uBC1C\uC0DD"};function sc(e,t){return new Promise((a,r)=>{const n=document.createElement("audio");let i=!1;const s=()=>{try{n.src=""}catch{}},c=()=>{if(i)return;i=!0;const d=isFinite(n.duration)&&n.duration||0;s(),a(d)},u=d=>{i||(i=!0,s(),t.rejectOnError?r(new Error(d)):a(0))};n.addEventListener("loadedmetadata",c),n.addEventListener("error",()=>u("audio load failed")),setTimeout(()=>u("audio load timeout"),t.timeoutMs),n.src=e})}const Bk=2e3;function yb(e,t=Bk){return new Promise(a=>{let r=!1;const n=()=>{r||(r=!0,a())};e.addEventListener("canplay",n,{once:!0}),e.addEventListener("error",n,{once:!0}),setTimeout(n,t)})}function Nk({showSoundWaveForm:e,showNoiseWaveForm:t,timeoutMs:a=2500}){const r=l.useRef(!1),n=l.useRef([]),i=l.useCallback(u=>{if(r.current=u,!u||!n.current.length)return;const d=n.current;n.current=[];for(const m of d)m()},[]),s=l.useCallback(()=>{r.current=!1},[]),c=l.useCallback(()=>!e&&!t||r.current?Promise.resolve():new Promise(u=>{const d=setTimeout(u,a);n.current.push(()=>{clearTimeout(d),u()})}),[e,t,a]);return l.useEffect(()=>()=>{const u=n.current;n.current=[];for(const d of u)d()},[]),{onReadyChange:i,waitForReady:c,markNotReady:s}}function Dk(){const e=l.useRef([]),t=l.useCallback(n=>(e.current.push(n),n),[]),a=l.useCallback(n=>{const i=new Set([...n].filter(Boolean));e.current=e.current.filter(s=>{if(i.has(s))return!0;try{URL.revokeObjectURL(s)}catch{}return!1})},[]),r=l.useCallback(()=>{a([])},[a]);return l.useEffect(()=>()=>{for(const n of e.current)try{URL.revokeObjectURL(n)}catch{}e.current=[]},[]),{track:t,keepOnly:a,revokeAll:r}}function Ek({offsetY:e=8}={}){const t=l.useRef(null),[a,r]=l.useState(null),n=l.useCallback(()=>r(null),[]),i=l.useCallback(()=>{try{const s=t.current?.getBoundingClientRect();if(!s)return;r({left:s.left,right:s.right,width:s.width,height:s.height,x:s.x,top:s.top+e,bottom:s.bottom+e,y:s.y+e,toJSON:s.toJSON.bind(s)})}catch{}},[e]);return l.useEffect(()=>{if(a)return document.addEventListener("mousedown",n),()=>document.removeEventListener("mousedown",n)},[a,n]),{ref:t,rect:a,show:i,hide:n}}function jk({currentTime:e,sources:t,index:a,audioDuration:r}){const n=a||0,i=Array.isArray(t)&&t.length>0?t[n]:void 0,s=i?i.duration||r||0:r||0;if(!(s>0))return 0;const c=Number.isFinite(e)?e:0;return Math.max(0,Math.min(1,c/s))}function Lk(e,t){if(!Array.isArray(e))return null;const a=t||0;return a<e.length-1?a+1:null}function Mk({ended:e,completedByEnd:t}){return!!e||!!t}function Pk(e){return e.map((t,a)=>({src:t.src,label:String(a+1),color:void 0,duration:t.duration||0}))}function Rk(e){return e.reduce((t,a)=>t+(a.duration||0),0)}function $k(e,t,a){const r=Array.isArray(e)?e:e?[e]:[],n=[];for(const i of r)if(i){if(typeof i=="object"&&i!==null&&"src"in i&&i.src){const s=i;n.push({code:s.code??null,src:s.src});continue}if(typeof i=="string"&&(i.startsWith("http")||i.includes("/"))){n.push({code:null,src:i});continue}if(typeof i=="string"||typeof i=="number"){const s=String(i),c=a(s,t);c&&n.push({code:s,resolvedPath:c})}}return n}function zk({audioRef:e,fillRef:t,waveProgressRef:a,sourcesRef:r,currentIndexRef:n}){const i=l.useRef(null),s=l.useCallback(()=>{i.current!==null&&(cancelAnimationFrame(i.current),i.current=null)},[]),c=l.useCallback(()=>{if(i.current!==null)return;const d=()=>{try{const m=e.current,h=jk({currentTime:m&&typeof m.currentTime=="number"?m.currentTime:0,sources:r.current,index:n.current,audioDuration:m&&m.duration?m.duration:0});try{t.current&&(t.current.style.left=`${h*100}%`)}catch{}try{a.current?.style.setProperty("--progress",String(h))}catch{}}catch{}i.current=requestAnimationFrame(d)};i.current=requestAnimationFrame(d)},[e,t,a,r,n]),u=l.useCallback(d=>{s();try{t.current&&(t.current.style.left=`${d*100}%`)}catch{}try{a.current?.style.setProperty("--progress",String(d))}catch{}},[s,t,a]);return l.useEffect(()=>s,[s]),{start:c,stop:s,settleTo:u}}function xr({btnLabel:e,soundSrc:t,bucketPath:a,onDone:r,disabled:n=!1,ttsText:i=null,className:s,showSoundWaveForm:c=!0,showNoiseWaveForm:u=!0}){const{t:d}=me.useTranslation(),m=e,h=nc(),p=l.useRef(h?.registerAnalyser);l.useEffect(()=>{p.current=h?.registerAnalyser});const g=l.useRef(null),v=l.useRef(null),b=l.useRef(null),y=Dk(),f=l.useRef(null),x=l.useRef(!1),_=l.useRef(0),C=l.useRef(null),{ref:A,rect:w,show:S,hide:D}=Ek();l.useEffect(()=>()=>{p.current?.("main",null),p.current?.("noise",null)},[]);const[T,E]=l.useState(!1),[W,M]=l.useState("idle"),[k,N]=l.useState("stopped"),j=l.useRef("stopped");l.useEffect(()=>{j.current=k},[k]);const[F,te]=l.useState(0),[Z,ee]=l.useState("active"),[L,R]=l.useState(null),[O,H]=l.useState(null),[$,q]=l.useState(0),[I,G]=l.useState(!1),[z,Y]=l.useState(0),J=h?.playbackRate??1,ue=h?.mainVolume??1,[pe,ae]=l.useState("idle"),[X,ce]=l.useState(""),[xe]=l.useState("top"),Se=l.useRef(null),Ae=l.useRef(0),P=l.useRef(null),{start:oe,stop:re,settleTo:Ce}=zk({audioRef:g,fillRef:v,waveProgressRef:P,sourcesRef:Se,currentIndexRef:Ae}),{onReadyChange:De,waitForReady:Ie,markNotReady:Oe}=Nk({showSoundWaveForm:c,showNoiseWaveForm:u}),Fe=l.useRef(null),Qe=l.useRef(n),Re=l.useRef(r),Ge=l.useRef(null),We=l.useRef(!1),[be,at]=l.useState(!1),He=l.useCallback(U=>{We.current=U,at(U)},[]),Le=l.useRef(null),{activeNoiseUrl:Ue,noiseSettingsRef:Dt,fadeInNoise:Ke,fadeOutNoise:Ye}=_k({noisePlayer:h,audioRef:g,playbackStateRef:j}),{startTTS:ut,stopTTS:je}=wk({ttsText:i,playbackRate:J,mainVolume:ue,fillRef:v,waveProgressRef:P,setProgress:te,setPlaybackState:N,setStateLocal:ee,fadeInNoise:Ke,fadeOutNoise:Ye,noiseSettingsRef:Dt,onDoneRef:Re,handleEndRef:Le}),rt=Array.isArray(t)?t.filter(Boolean):t?[t]:[],Je=(!rt||rt.length===0)&&!!i,$e=Array.isArray(L)&&L.length>0?L:Array.isArray(O)&&O.length>0?O:null,Ze=Math.max(Array.isArray($e)?$e.length:0,rt.length),et=l.useCallback(async(U,ie=3,ve=50)=>{for(let we=0;we<ie;we++)try{return await U.play(),!0}catch(ke){if((ke instanceof Error||typeof ke=="object"&&ke&&"name"in ke?ke.name:void 0)==="AbortError"){await new Promise(Me=>setTimeout(Me,ve));continue}try{ce(d("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}return!1}try{ce(d("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}return!1},[d]),yt=l.useCallback(()=>{const U=g.current;if(!U)return;const ie=()=>{N("playing"),ee("playMode"),G(!0),oe();try{Wo(),p.current?.("main",Ho(U))}catch{}const ke=Dt.current;ke?.enabled&&(ke?.level??0)>0&&Ke(ke.level/9)},ve=()=>{Mk({ended:!!U?.ended,completedByEnd:We.current})||(N("paused"),re(),Ye())},we=()=>{try{const ke=Se.current,Me=Lk(ke,Ae.current);if(Me!==null){Ae.current=Me,q(Me),G(!0);const nt=ke?.[Me]&&ke[Me].src;if(nt&&U){U.src=nt,U.load(),et(U).catch(()=>{});return}}}catch{}N("stopped"),te(1);try{if(U)try{U.currentTime=0}catch{}}catch{}re(),G(!1),Ye();try{!Qe.current&&Le.current&&Le.current()}catch{}};return U.addEventListener("play",ie),U.addEventListener("pause",ve),U.addEventListener("ended",we),()=>{try{U.removeEventListener("play",ie),U.removeEventListener("pause",ve),U.removeEventListener("ended",we),re()}catch{}}},[Ke,Ye,et,Dt,oe,re]);l.useEffect(()=>yt(),[yt]),l.useEffect(()=>{Qe.current=n},[n]),l.useEffect(()=>{Re.current=r},[r]),l.useEffect(()=>{if(n||Z!=="active")return;const U=C.current;if(!U)return;let ie=null;const ve=requestAnimationFrame(()=>{try{const we=U.getTotalLength();if(!we)return;const ke=we*.2;U.style.strokeDasharray=`${we-ke} ${ke}`;const Me="triFlow_"+Math.random().toString(36).slice(2);ie=document.createElement("style"),ie.textContent=`@keyframes ${Me}{from{stroke-dashoffset:0}to{stroke-dashoffset:-${we}}}`,document.head.appendChild(ie),U.style.animation=`${Me} 2.4s linear infinite`}catch{}});return()=>{cancelAnimationFrame(ve),ie?.remove()}},[Z,n]),l.useEffect(()=>{Se.current=L},[L]),l.useEffect(()=>{Ae.current=$},[$]),l.useEffect(()=>{const U=b.current,ie=f.current;if(!U||!ie)return;let ve=null;const we=32,ke=60,Me=()=>{try{const ct=Array.from(U.querySelectorAll(":scope > .button"));let de=0;ct.forEach(Zt=>{if(Zt===ie)return;const Do=Zt.getBoundingClientRect();de+=Do.width});const Te=U.getBoundingClientRect().width,tt=Math.max(0,Math.floor(Te-de-8)),xt=Ze;if(!xt||tt<=0){Array.from(ie.children).forEach(Zt=>{try{Zt.style.width=""}catch{}});return}let Ct=Math.floor(tt/xt);Ct>ke&&(Ct=ke),Ct<we&&(Ct=Math.max(we,Math.floor(tt/xt))),Array.from(ie.querySelectorAll(".button")).forEach(Zt=>{try{Zt.style.width=`${Ct}px`}catch{}})}catch{}},nt=requestAnimationFrame(Me);try{ve=new ResizeObserver(()=>{requestAnimationFrame(Me)}),ve.observe(U),ve.observe(ie),window.addEventListener("resize",Me)}catch{}return()=>{try{cancelAnimationFrame(nt)}catch{}try{ve&&(ve.disconnect(),ve=null)}catch{}try{window.removeEventListener("resize",Me)}catch{}}},[L,O,Ze]),l.useEffect(()=>()=>{try{Fe.current&&(clearTimeout(Fe.current),Fe.current=null),Ge.current&&(clearTimeout(Ge.current),Ge.current=null)}catch{}},[]);const Et=(U,ie)=>{R(U),Y(ie),Oe(),H(Pk(U)),Se.current=U},it=async(U,ie)=>{He(!1),x.current=!1,U.src=ie,U.load(),await yb(U),await Ie(),E(!1),await et(U),ee("playMode"),q(0),G(!0)},Ht=async(U,ie=!1)=>{const ve=g.current;E(!0),M("measuring_duration");try{const we=await sc(U,{timeoutMs:1e4,rejectOnError:!0});Et([{src:U,objectUrl:null,duration:we}],we),M("ready"),ie&&ve&&await it(ve,U)}finally{x.current=!1,E(!1)}},mt=async(U,ie=!1)=>{const ve=g.current;E(!0),M("measuring_duration");try{const we=await Promise.all(U.map(Me=>sc(Me,{timeoutMs:1e4}))),ke=U.map((Me,nt)=>({src:Me,objectUrl:null,duration:we[nt]||0}));Et(ke,Rk(ke)),M("ready"),ie&&ve&&ke.length>0&&await it(ve,ke[0].src)}finally{x.current=!1,E(!1)}},Vt=async(U=!1,ie=!0)=>{const ve=g.current,we=t?Array.isArray(t)?t:[t]:[];if(!(!we||we.length===0||!we.some(Boolean))&&!x.current){x.current=!0,ie&&E(!0),M("resolving");try{const ke=$k(t,a,Tr),Me=[];let nt=0;for(const ct of ke){let de=ct.src??null,Te=null;if(!de&&ct.resolvedPath){try{M("getting_signed_url"),de=await Io(ct.resolvedPath)}catch{de=null}if(!de)try{M("downloading");const xt=await Br(ct.resolvedPath);if(xt){const Ct=xt instanceof Blob?xt:new Blob([xt]);Te=y.track(URL.createObjectURL(Ct)),de=Te}}catch{M("error");try{ce(d("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.")),ee("active")}catch{}}}if(!de)continue;let tt=0;try{M("measuring_duration"),tt=await sc(de,{timeoutMs:3e3})}catch{tt=0}nt+=tt||0,Me.push({...ct,src:de,objectUrl:Te,duration:tt})}if(Et(Me,nt),Me.length>0&&U&&ve){const ct=Me[0];He(!1);try{y.keepOnly(Me.map(de=>de.objectUrl))}catch{}if(M("ready"),x.current=!1,ct.src&&ve)try{ve.src=ct.src,ve.load(),await yb(ve),await Ie(),ie&&E(!1),ve&&await et(ve)}catch{ie&&E(!1)}else ie&&E(!1);ee("playMode"),q(0),G(!0)}}finally{x.current=!1,ie&&E(!1),M(ke=>ke==="ready"?"ready":"idle")}}},ia=async()=>{const U=g.current;if(!(!U&&!Je)){if(Je){const ie=window.speechSynthesis;if(Z==="active"){const ve=Oo(),we=Array.isArray(i)?i.filter(Boolean):i?[i]:[];if(ve&&we.length>0){ee("load"),E(!0),M("resolving"),x.current=!0;try{const ke=await Promise.all(we.map(Me=>Promise.resolve(ve(Me))));ke.length>1?await mt(ke,!0):await Ht(ke[0],!0)}catch{x.current=!1,E(!1),ee("active"),ut(we[0]||void 0)}return}ut(we[0]||void 0);return}if(Z==="playMode"){if(U){if(U.paused){if(We.current){await Gt();return}await et(U),N("playing")}else U.pause(),N("paused");return}try{if(ie&&ie.paused)try{ie.resume(),N("playing")}catch{}else try{ie.pause(),N("paused")}catch{}}catch{}}return}if(Z==="active"){if(n&&Array.isArray(Se.current)&&Se.current.length>0){const ie=Se.current[0];try{if(ie.src&&U)try{U.src=ie.src,U.load(),U&&await et(U)}catch{}ee("playMode"),q(0),G(!0);return}catch{}}ee("load"),await Vt(!0);return}if(Z!=="load"&&(Z==="playMode"||Z==="active"))try{if(U&&U.paused){if(We.current){await Gt();return}U&&await et(U),N("playing")}else U&&(U.pause(),N("paused"))}catch(ie){(ie instanceof Error||typeof ie=="object"&&ie&&"name"in ie)&&ie.name}}},Gt=async()=>{const U=g.current;if(U)try{const ie=Se.current;if(Array.isArray(ie)&&ie.length>1){await $t(0);return}He(!1);try{U.currentTime=0}catch{}U&&await et(U),N("playing"),ee("playMode")}catch{}},Ea=()=>{if(Je){je();return}const U=g.current;try{if(U){try{U.pause()}catch{}try{U.currentTime=0}catch{}}}catch{}Ye(),N("stopped"),ee("active"),te(0),G(!1)},sa=async(U,{sameSegment:ie=!1}={})=>{const ve=++_.current,we=g.current,ke=Se.current?.[U]?.src;try{if(He(!1),q(U),G(!0),Ae.current=U,!ke||!we||(ie||Oe(),we.src=ke,we.load(),ie||await Ie(),ve!==_.current)||(await et(we),ve!==_.current))return;N("playing"),ee("playMode")}catch{}},Kt=async()=>{const U=Se.current,ie=Ae.current||0;if(!U||ie<=0){await Gt();return}await sa(ie-1)},ja=async()=>{const U=Se.current,ie=Ae.current||0;if(!U||ie>=U.length-1){Ea();return}await sa(ie+1)},jt=()=>{if(We.current)return;const U=200,ie=340;He(!0);try{te(1)}catch{}Ce(1);try{ae("hold")}catch{}try{const ve=g.current,we=Je&&!!ve?.src;if(!Je||we){if(ve){ve.pause();try{ve.currentTime=0}catch{}}}else je();Ye()}catch{}try{N("stopped")}catch{}if(G(!1),!Qe.current)try{Ge.current&&(clearTimeout(Ge.current),Ge.current=null),Ge.current=setTimeout(()=>{try{ae("out")}catch{}Ge.current=setTimeout(()=>{try{typeof Re.current=="function"&&Re.current(!0)}catch{}try{ae("idle")}catch{}Ge.current=null},ie)},U)}catch{}};l.useEffect(()=>{Le.current=jt});const Ga=l.useCallback(()=>ce(""),[]),$t=async U=>{(Se.current||[])[U]&&await sa(U,{sameSegment:U===Ae.current})},ya=k==="playing",qa=l.useMemo(()=>{if(!O||O.length<=1)return O;const U=O[$];return U?[U]:O},[O,$]),Xe=n===!0;l.useEffect(()=>{try{const U=g.current;U&&typeof U.playbackRate=="number"&&(U.playbackRate=J||1)}catch{}},[J]),l.useEffect(()=>{try{const U=g.current;U&&(U.volume=Math.max(0,Math.min(1,ue)))}catch{}},[ue]);const zt=pe==="hold",wt=pe==="out",xa=Z==="playMode"&&!T&&!be||zt||wt,la=k!=="stopped"||zt||wt,ne=k==="paused",ge=Math.max(0,Math.min(100,(F||0)*100)),fe=ye("audio-player__fill",xa?"is-visible":"",la?"is-expanded":"",ne?"is-paused":"",wt?"is-out":"");return o.jsxs("div",{className:`audio-player ${Xe?"is-disabled":""}${s?` ${s}`:""}`,role:"group","aria-label":typeof m=="string"?m:void 0,children:[o.jsxs("div",{className:`audio-player__panel ${ya?"is-playing":""} ${T?"is-loading":""} ${Z!=="default"?"is-revealed":""}`,children:[T?o.jsxs("div",{className:"audio-player__loading",role:"status","aria-live":"polite",children:[o.jsx("span",{className:"audio-player__loading-spinner","aria-hidden":"true"}),o.jsx("span",{className:"audio-player__loading-text",children:Tk[W]})]}):null,Z==="active"?o.jsx("button",{className:"audio-player__button",type:"button",onClick:()=>{D(),ia()},"aria-label":typeof m=="string"?m:d("training.listen","\uB4E3\uAE30"),onMouseEnter:S,onMouseLeave:D,onFocus:S,onBlur:D,children:o.jsx("span",{ref:A,className:"audio-player__button-triangle-wrap",children:o.jsx("svg",{className:"audio-player__button-triangle",viewBox:"0 0 24 24","aria-hidden":"true",children:o.jsx("path",{ref:C,d:"M13.2 7.7 L16.5 9.85 Q20.2 12 16.5 14.15 L10 18.3 Q7 19.7 7 16.3 L7 7.7 Q7 4.3 10 5.7 L13.2 7.7"})})})}):null,w&&o.jsx(aa,{anchorRect:w,text:typeof m=="string"&&m?m:d("training.listenLabel","\uBB38\uC7A5 \uB4E3\uAE30"),offset:8}),o.jsxs("div",{className:`audio-player__play ${Z==="playMode"||ya?"is-visible":""}`,children:[o.jsxs("div",{ref:b,className:"audio-player__buttons",children:[o.jsx(le,{size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"skip-back",onClick:Kt,ariaLabel:d("training.prev","\uC774\uC804"),width:"60px",variant:"transparent-white","aria-hidden":"true",tabIndex:-1,disabled:Z!=="playMode"}),o.jsx(le,{size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:ya?"pause":"play",onClick:ia,ariaLabel:d("common.playPause","\uC7AC\uC0DD / \uBA48\uCDA4"),width:"60px",variant:"transparent-white",disabled:Z!=="playMode"}),o.jsx(le,{size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"square",onClick:Ea,ariaLabel:d("training.stop","\uC815\uC9C0"),width:"60px",variant:"transparent-white","aria-hidden":"true",tabIndex:-1,disabled:Z!=="playMode"}),Ze>1?o.jsx("div",{ref:f,className:"audio-player__source-buttons",children:Array.from({length:Ze}).map((U,ie)=>o.jsx(le,{size:32,type:"dot",shape:"pill",useBorder:!1,label:String(ie+1),onClick:()=>{try{$t(ie)}catch{}},ariaLabel:d("training.sourcePlay",{n:ie+1}),variant:"transparent-white",selected:I&&$===ie,disabled:Z!=="playMode"||!(Array.isArray(L)&&L[ie]),showTooltipInfo:!0},ie))}):null,!Array.isArray(L)||L.length<=1?o.jsx(le,{size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"repeat",onClick:Gt,ariaLabel:d("common.replay","\uB2E4\uC2DC\uB4E3\uAE30"),width:"60px",variant:"transparent-white",disabled:Z!=="playMode"}):null,o.jsx(le,{size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"skip-forward",onClick:ja,ariaLabel:d("training.next","\uB2E4\uC74C"),width:"60px",variant:"transparent-white","aria-hidden":!0,tabIndex:-1,disabled:Z!=="playMode"}),o.jsx(le,{size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"check",onClick:jt,ariaLabel:d("common.done","\uC644\uB8CC"),width:"60px",variant:"transparent-white",disabled:Z!=="playMode"})]}),o.jsxs("div",{className:"audio-player__slider",children:[o.jsx("div",{className:fe,ref:v,style:{left:`${ge}%`},"aria-hidden":"true"}),(c||u)&&o.jsx(Ak,{segments:qa,progress:F,totalDuration:z,onSegmentClick:$t,waveProgressRef:P,showSoundWaveForm:c,noiseSrc:u&&h?.settings.enabled&&(h?.settings.level??0)>0?Ue:null,noiseLevel:h?.settings.level??0,noiseSpeed:h?.settings.speed??1,mainVolume:ue,onReadyChange:De})]})]}),o.jsx("audio",{ref:g,crossOrigin:"anonymous",preload:"auto"})]}),!c&&o.jsxs("p",{className:"audio-player__no-waveform caption-1",children:[o.jsx(Pe,{icon:"triangle-alert",size:14}),d("training.noSoundWaveform","\uC18C\uB9AC \uBE44\uAD50 \uBB38\uC81C\uB294 \uC6E8\uC774\uBE0C\uD3FC\uC744 \uD45C\uD604\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.")]}),o.jsx(oo,{message:X,position:xe,onClose:Ga})]})}var Ik=".ihabdevteam-core-scope .tooltip-textbox{background:var(--color-deepWhite);border:1px solid var(--color-whiteLine);border-radius:var(--radius-m);box-sizing:border-box;max-width:520px;padding:var(--spacing-content)}.ihabdevteam-core-scope .tooltip-textbox__root{display:flex;flex-direction:column;gap:var(--spacing-xs)}.ihabdevteam-core-scope .tooltip-textbox__box{background:transparent}.ihabdevteam-core-scope .tooltip-textbox__label{color:var(--color-darkGray)}.ihabdevteam-core-scope .tooltip-textbox__text{color:var(--color-darkGray);overflow-wrap:anywhere;white-space:normal;word-break:keep-all}.ihabdevteam-core-scope .tooltip-textbox__line{align-items:center;display:flex;gap:var(--spacing-s);margin-bottom:0;min-height:60px;padding:10px 0}.ihabdevteam-core-scope .tooltip-textbox__line:last-child{margin-bottom:0}.ihabdevteam-core-scope .tooltip-textbox__line:not(:last-child){border-bottom:1px solid var(--color-darkWhite)}.ihabdevteam-core-scope .tooltip-textbox.is-dark .tooltip-textbox__line:not(:last-child){border-bottom-color:hsla(0,0%,100%,.06)}.ihabdevteam-core-scope .tooltip-textbox__marker{--marker-pos:50%;align-items:center;background-color:var(--color-main);background:color-mix(in srgb,var(--color-main) 50%,var(--color-sub) 50%);border:2px solid var(--color-pureWhite);border-radius:var(--radius-sm);box-sizing:border-box;color:#fff;display:inline-flex;height:24px;justify-content:center;min-width:24px}@supports (color:color-mix(in lch,red,blue)) and (top:var(--f )){.ihabdevteam-core-scope .tooltip-textbox__marker{background:color-mix(in srgb,var(--color-main) calc(100% - var(--marker-pos)),var(--color-sub) var(--marker-pos))}}.ihabdevteam-core-scope .tooltip-textbox__line-number{color:#fff;min-width:auto;text-align:center}.ihabdevteam-core-scope .tooltip-textbox__line-text{flex:1 1 auto}.ihabdevteam-core-scope .tooltip-textbox__buttons{align-items:center;display:flex;gap:var(--spacing-xs);justify-content:center;margin-top:10px;position:relative}.ihabdevteam-core-scope .tooltip-textbox.is-dark{background:var(--color-darkGray);border-color:var(--color-gray)}.ihabdevteam-core-scope .tooltip-textbox.is-dark .tooltip-textbox__text{color:var(--color-deepWhite)}";Q(Ik);function Bo(e){const{t}=me.useTranslation(),{text:a,label:r,anchorRect:n=null,onClose:i,closeOnOutsideClick:s=!0,isMobilePopup:c=!1}=e||{},[u,d]=l.useState(()=>{try{return localStorage.getItem("tooltip-theme")||"light"}catch{return"light"}});l.useEffect(()=>{try{localStorage.setItem("tooltip-theme",u)}catch{}},[u]);const{increase:m,decrease:h,canIncrease:p,canDecrease:g,fontSize:v,lineHeight:b}=an({storageKey:"tooltip-fontScale"}),y=l.useCallback(()=>d(A=>A==="dark"?"light":"dark"),[]),f=l.useCallback(A=>{try{A.stopPropagation()}catch{}try{typeof i=="function"&&i()}catch{}},[i]),x=Array.isArray(a)?a:typeof a>"u"||a===null?[]:[a],_={fontSize:`${v}px`,lineHeight:`${b}px`,"--tt-line-height":`${b}px`,"--tt-marker-size":"28px"},C=o.jsxs("div",{className:`tooltip-textbox__root ${u==="dark"?"is-dark":""}`,children:[o.jsxs("div",{className:"tooltip-textbox__box",children:[r&&o.jsx("div",{className:"tooltip-textbox__label body-2b",children:r}),o.jsx("div",{className:"tooltip-textbox__text body-1",style:_,children:x.map((A,w)=>o.jsxs("div",{className:"tooltip-textbox__line",children:[x.length>1?o.jsx("div",{className:"tooltip-textbox__marker",children:o.jsx("span",{className:"tooltip-textbox__line-number button-1",children:w+1})}):null,o.jsx("span",{className:"tooltip-textbox__line-text",children:A})]},w))})]}),o.jsxs("div",{className:"tooltip-textbox__buttons",children:[o.jsx(le,{size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:"minus",onClick:h,ariaLabel:t("training.fontSizeDecrease","\uAE00\uC790 \uD06C\uAE30 \uAC10\uC18C"),variant:u==="dark"?"transparent-white":"transparent-gray",disabled:!g}),o.jsx(le,{size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:"plus",onClick:m,ariaLabel:t("training.fontSizeIncrease","\uAE00\uC790 \uD06C\uAE30 \uC99D\uAC00"),variant:u==="dark"?"transparent-white":"transparent-gray",disabled:!p}),o.jsx(le,{size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:u==="dark"?"moon":"sun-medium",onClick:y,ariaLabel:t("training.toggleBackground","\uBC30\uACBD \uC804\uD658"),variant:u==="dark"?"transparent-white":"transparent-gray"}),o.jsx(le,{size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:"x",onClick:f,ariaLabel:t("common.close","\uB2EB\uAE30"),variant:u==="dark"?"transparent-white":"transparent-gray"})]})]});return n?o.jsx(Sa,{anchorRect:n,className:`tooltip-textbox ${u==="dark"?"is-dark":""}`,onClose:i,closeOnOutsideClick:s,isMobilePopup:c,children:C}):o.jsx("div",{className:`tooltip-textbox ${u==="dark"?"is-dark":""}`,children:C})}var Ok=".ihabdevteam-core-scope .training-page-bottom{box-sizing:border-box;width:100%}.ihabdevteam-core-scope .pp-bottom{align-items:center;background:var(--color-deepWhite);border-top:1px solid var(--color-whiteLine);box-sizing:border-box;display:flex;flex:0 0 auto;gap:var(--spacing-s);justify-content:space-between;padding:12px 18px calc(12px + env(safe-area-inset-bottom));width:100%;z-index:5}.ihabdevteam-core-scope .pp-bottom__left{align-items:center;display:flex;gap:var(--spacing-m)}.ihabdevteam-core-scope .pp-bottom__right{align-items:center;display:flex;gap:8px}.ihabdevteam-core-scope .pp-bottom__meters{border:1px solid var(--color-whiteLine);border-radius:14px;display:flex;flex-direction:column;gap:2px;justify-content:center;padding:8px 12px}.ihabdevteam-core-scope .pp-bottom__meter{align-items:center;display:flex;flex-direction:row;gap:var(--spacing-xs)}.ihabdevteam-core-scope .pp-bottom__meter-label{color:var(--color-gray);min-width:28px}.ihabdevteam-core-scope .pp-bottom__settings--desktop{display:none}.ihabdevteam-core-scope .pp-bottom__settings--mobile{display:flex}@media (min-width:768px){.ihabdevteam-core-scope .pp-bottom__settings--desktop{display:block}.ihabdevteam-core-scope .pp-bottom__settings--mobile{display:none}}.ihabdevteam-core-scope .pp-bottom__tooltip-trigger{display:inline-block}.ihabdevteam-core-scope .training-steps{box-sizing:border-box;display:flex;flex-direction:column;overflow:visible;width:100%}.ihabdevteam-core-scope .training-step{align-items:stretch;box-sizing:border-box;display:flex;flex-direction:row;flex-wrap:nowrap;gap:var(--spacing-m);overflow:visible;width:100%}.ihabdevteam-core-scope .training-step__body,.ihabdevteam-core-scope .training-step__content{box-sizing:border-box;display:flex;flex:1 1 auto;flex-direction:column;gap:var(--spacing-s);overflow:visible;width:100%}.ihabdevteam-core-scope .training-step__content{gap:var(--spacing-m);min-width:0}.ihabdevteam-core-scope .training-step__controls{box-sizing:border-box;display:flex;flex-direction:column;gap:10px;width:100%}.ihabdevteam-core-scope .training-step__title{color:#0b2b35;color:var(--text,#0b2b35);margin:0;text-align:left}.ihabdevteam-core-scope .training-step__body .audio-player{display:flex;justify-content:center;width:100%}.ihabdevteam-core-scope .training-step__body .audio-player__panel{border-radius:var(--radius-card);padding:18px 20px;width:100%}.ihabdevteam-core-scope .training-step__controls.compact{align-items:center;display:flex;justify-content:center;width:72px}.ihabdevteam-core-scope .training-step__confirm-sentence{align-items:center;background:var(--color-white);border:1px solid rgba(0,0,0,.04);border-radius:var(--radius-card);box-shadow:var(--shadow-card);color:#0b2b35;color:var(--text,#0b2b35);display:flex;height:200px;justify-content:center;max-width:100%;overflow-wrap:anywhere;padding:var(--spacing-m);text-align:center;word-break:keep-all}.ihabdevteam-core-scope .training-step__controls.expanded{-ms-overflow-style:none;align-items:stretch;max-height:420px;overflow-y:auto;padding-bottom:6px;scrollbar-width:none;width:100%}.ihabdevteam-core-scope .training-step__controls.expanded::-webkit-scrollbar{display:none}.ihabdevteam-core-scope .training-step__controls .training-step__title{color:#70858a;color:var(--muted,#70858a)}.ihabdevteam-core-scope .training-step__answer-button{background:var(--color-white);border:1px solid rgba(0,0,0,.06);border-radius:var(--radius-s);cursor:pointer;flex:0 0 auto;padding:10px 14px}.ihabdevteam-core-scope .training-step__buttons{-ms-overflow-style:none;align-items:stretch;display:flex;flex-direction:row;gap:var(--spacing-content);overflow-x:auto;scrollbar-width:none;width:100%}.ihabdevteam-core-scope .training-step__buttons::-webkit-scrollbar{display:none}.ihabdevteam-core-scope .training-step__buttons>*{align-self:stretch;flex:1 1 0;margin:0;min-width:0}.ihabdevteam-core-scope .training-step__buttons.training-step__buttons--wrap-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow-x:visible}.ihabdevteam-core-scope .training-step__buttons.training-step__buttons--wrap-3>*{width:100%}.ihabdevteam-core-scope .training-step__buttons .button{align-items:center;align-self:stretch;display:flex}.ihabdevteam-core-scope .training-step__answer-button+.training-step__answer-button{margin-top:0}.ihabdevteam-core-scope .training-step__multi-confirm{display:flex;justify-content:flex-end;margin-top:12px;margin-top:var(--margin-content,12px);width:100%}.ihabdevteam-core-scope .training-step__controls::-webkit-scrollbar{display:none}.ihabdevteam-core-scope .training-step__controls{-ms-overflow-style:none;scrollbar-width:none}@media (max-width:640px){.ihabdevteam-core-scope .training-step__body .audio-player__panel{border-radius:var(--radius-card);padding:14px}.ihabdevteam-core-scope .training-step__controls.compact{width:48px}.ihabdevteam-core-scope .training-step{flex-direction:row;gap:10px}}@media (max-width:720px){.ihabdevteam-core-scope .training-step__controls.expanded{gap:8px}.ihabdevteam-core-scope .training-step__answer-button{padding:9px 12px}.ihabdevteam-core-scope .training-step__confirm-sentence{padding:var(--spacing-s)}}.ihabdevteam-core-scope .training-step__cards{box-sizing:border-box;display:flex;gap:var(--spacing-s);width:100%}@media (max-width:767px){.ihabdevteam-core-scope .training-step__cards{grid-gap:var(--spacing-s);display:grid;gap:var(--spacing-s);grid-template-columns:repeat(3,1fr)}}.ihabdevteam-core-scope .training-step__block{display:flex;flex-direction:column;gap:var(--spacing-s);width:100%}.ihabdevteam-core-scope .training-step__block--row{align-items:center;display:flex;flex-direction:row;gap:var(--spacing-s)}.ihabdevteam-core-scope .training-step__listen-sticky{width:100%}.ihabdevteam-core-scope .training-step.training-step--has-nested .training-step__content{margin-bottom:100px}.ihabdevteam-core-scope .training-steps>.training-step:last-child .training-step__content{margin-bottom:0}.ihabdevteam-core-scope .training-step:not(.training-step--last) .training-step__content{margin-bottom:var( --margin-page)}.ihabdevteam-core-scope .training-step.training-step--last .training-step__content{margin-bottom:0}";Q(Ok);var Fk='.ihabdevteam-core-scope .ts-bullet{--dot-size:28px;--dot-gap:10px;align-items:center;align-self:stretch;display:flex;flex-direction:column;justify-content:flex-start;position:relative;width:28px;width:var(--dot-size)}.ihabdevteam-core-scope .bullet__dot{align-items:center;border:2px solid rgba(43,138,125,.12);border-radius:50%;display:flex;height:var(--dot-size);justify-content:center;width:var(--dot-size);z-index:2}.ihabdevteam-core-scope .bullet__icon{align-items:center;color:var(--color-darkGray);display:inline-flex;height:20px;justify-content:center;position:relative;width:20px;z-index:1}.ihabdevteam-core-scope .bullet__icon-img{display:block;height:100%;-o-object-fit:contain;object-fit:contain;width:100%}.ihabdevteam-core-scope .bullet__icon-mask{background-color:currentColor;height:100%;-webkit-mask-image:var(--icon-url);mask-image:var(--icon-url);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:100%}.ihabdevteam-core-scope .bullet__icon-svg svg{fill:currentColor;height:100%;width:100%}.ihabdevteam-core-scope .ts-bullet__line{background:var(--color-whiteLine);border-radius:var(--radius-xs);bottom:20px;left:50%;position:absolute;top:calc(var(--dot-size) + var(--dot-gap));transform:translateX(-50%);width:2px;z-index:1}.ihabdevteam-core-scope .ts-bullet--done .bullet__icon{color:transparent}.ihabdevteam-core-scope .ts-bullet--active .bullet__icon{color:#fff}.ihabdevteam-core-scope .ts-bullet--disabled .bullet__icon{color:transparent}.ihabdevteam-core-scope .ts-bullet--done .bullet__dot{border:2px solid var(--color-main)}.ihabdevteam-core-scope .ts-bullet--active .bullet__dot{background-color:var(--color-main);position:relative}.ihabdevteam-core-scope .ts-bullet--active .bullet__dot:after,.ihabdevteam-core-scope .ts-bullet--active .bullet__dot:before{animation:bullet-ripple 3s cubic-bezier(.2,.6,.2,1) infinite;background:var(--color-main);border-radius:50%;content:"";inset:0;opacity:.5;pointer-events:none;position:absolute}.ihabdevteam-core-scope .ts-bullet--active .bullet__dot:after{animation-delay:1.5s;opacity:.3}@keyframes bullet-ripple{0%{opacity:.5;transform:scale(1)}to{opacity:0;transform:scale(2.2)}}.ihabdevteam-core-scope .ts-bullet--disabled .bullet__dot{border:2px solid var(--color-whiteLine)}.ihabdevteam-core-scope .ts-bullet--done .bullet__line{background-color:var(--color-main)}.ihabdevteam-core-scope .ts-bullet--active .bullet__line,.ihabdevteam-core-scope .ts-bullet--disabled .bullet__line{background-color:var(--color-whiteLine)}.ihabdevteam-core-scope .training-step--last .ts-bullet__line,.ihabdevteam-core-scope .training-step.training-step--last .ts-bullet__line{display:none}@media (max-width:1024px){.ihabdevteam-core-scope .ts-bullet{--dot-size:26px}}@media (max-width:768px){.ihabdevteam-core-scope .ts-bullet{--dot-size:24px}}';Q(Fk);function lc({state:e="disabled"}){const{t}=me.useTranslation();return o.jsxs("div",{className:`ts-bullet ts-bullet--${e}`,"aria-hidden":!0,children:[o.jsx("div",{className:"bullet__dot",children:o.jsx(Pe,{icon:"chevron-right",label:t("training.next","\uB2E4\uC74C"),className:"bullet__icon",imgClassName:"bullet__icon-img",maskClassName:"bullet__icon-mask",svgClassName:"bullet__icon-svg",wrapperStyle:{},size:20})}),o.jsx("div",{className:"ts-bullet__line"})]})}var Wk=".ihabdevteam-core-scope .training-step__title-row{align-items:center;display:flex;gap:var(--spacing-xs);padding-right:72px;position:relative;width:100%}.ihabdevteam-core-scope .training-step__title-row .training-step__title{color:var(--color-black);margin:0;padding:0}.ihabdevteam-core-scope .training-step__title--faded .training-step__title-text{background-color:var(--color-darkWhite);border-radius:var(--radius-xs);color:transparent;opacity:1;transition:color .14s ease,opacity .14s ease}.ihabdevteam-core-scope .training-step__title-row .training-step__title .title-extra{margin-left:var(--spacing-xs)}.ihabdevteam-core-scope .training-step__title-row .title-controls{align-items:center;display:flex;gap:6px;margin-left:auto}.ihabdevteam-core-scope .training-step__title-row .title-controls .title-buttons{align-items:center;display:inline-flex;gap:6px;justify-content:center;overflow:visible;position:absolute;right:0;top:50%;transform:translateY(-50%)}.ihabdevteam-core-scope .training-step__title-row .title-controls .title-buttons .button28{align-items:center;display:inline-flex;justify-content:center}.ihabdevteam-core-scope .training-step__title-row--disabled .training-step__title,.ihabdevteam-core-scope .training-step__title-row--done .training-step__title{pointer-events:none}.ihabdevteam-core-scope .training-step__title-row--disabled .title-controls{opacity:.6;pointer-events:none}.ihabdevteam-core-scope .training-step__title-row--active .title-controls,.ihabdevteam-core-scope .training-step__title-row--done .title-controls{opacity:1;pointer-events:auto}.ihabdevteam-core-scope .training-step__title-row--disabled .training-step__title,.ihabdevteam-core-scope .training-step__title-row--done .training-step__title{color:var(--color-disabled)}.ihabdevteam-core-scope .training-step__title-row--active .training-step__title{color:var(--color-black)}";Q(Wk);function cc({title:e,children:t,className:a="",state:r="disabled",usePreviewTextBtn:n=!1,onPreviewTextBtn:i,previewText:s=null,useFaded:c,usePlayAllBtn:u=!1,onPlayAll:d,playAllActive:m=!1}){const{t:h}=me.useTranslation(),p=oa("(max-width: 767px)"),g=`training-step__title h4 ${c&&r==="disabled"?"training-step__title--faded":""} ${a}`.trim(),v=`training-step__title-row training-step__title-row--${r}`.trim(),b=l.useRef(null),[y,f]=l.useState(!1),[x,_]=l.useState(null),[C,A]=l.useState(null),w=l.useRef(i);l.useEffect(()=>{w.current=i});const S=l.useMemo(()=>s==null?"":typeof s=="string"||typeof s=="number"?String(s):Array.isArray(s)&&s.every(E=>typeof E=="string"||typeof E=="number")?s.join(""):"",[s]),D=l.useCallback(()=>{f(!1),_(null),A(null)},[]);l.useEffect(()=>{if(!y)return;let E;try{typeof w.current=="function"&&(E=w.current())}catch{}if(E===!1){D();return}A(typeof E<"u"&&E!==null?E:null)},[S]);const T=l.useCallback(()=>{let E;try{typeof i=="function"&&(E=i())}catch{}if(E!==!1){if(A(typeof E<"u"&&E!==null?E:s),!b.current){f(W=>!W);return}if(y)f(!1),_(null),A(null);else{const W=b.current.getBoundingClientRect();_(W),f(!0)}}},[i,s,y]);return o.jsxs("div",{className:v,children:[o.jsx("p",{className:g,children:o.jsx("span",{className:"training-step__title-text",children:e??t})}),n||u?o.jsxs("div",{className:"title-controls",children:[o.jsxs("div",{className:"title-buttons",children:[u&&o.jsx(le,{size:32,type:p?"dot":"bar",icon:"play-circle",label:p?void 0:h("training.playAll","\uBAA8\uB450 \uB4E3\uAE30"),ariaLabel:h("training.playAll","\uBAA8\uB450 \uB4E3\uAE30"),selected:m,onClick:d,variant:r==="disabled"?"disabled":"default",disabled:r==="disabled"||m}),n&&o.jsx("div",{ref:b,children:o.jsx(le,{size:32,type:p?"dot":"bar",icon:"eye",label:p?void 0:h("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),ariaLabel:h("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),selected:y,onClick:T,variant:r==="disabled"?"disabled":"default",disabled:!s&&typeof i!="function"})})]}),y&&o.jsx(Bo,{text:C??s,label:h("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),anchorRect:x,onClose:D,closeOnOutsideClick:!1,isMobilePopup:!0})]}):null]})}function dc(e,t){return typeof t!="number"||typeof e!="number"?"disabled":e<t?"done":e===t?"active":"disabled"}function Va({index:e,stepIndex:t,isLast:a=!1,title:r="",titleProps:n={},children:i,className:s="",onDone:c=void 0,useTitleFaded:u=void 0}){const[d,m]=l.useState(()=>dc(e,t));l.useEffect(()=>{const C=dc(e,t);if(C!==d){const A=setTimeout(()=>m(C),0);return()=>clearTimeout(A)}},[e,t,d]);const h=l.useCallback((...C)=>{dc(e,t)==="done"||d==="done"||typeof c=="function"&&c(...C)},[e,t,d,c]),[p,g]=l.useState(!1),[v,b]=l.useState({text:"",label:"\uBB38\uC7A5 \uB4E3\uAE30",anchorRect:null,backdrop:!1,alignX:null,alignY:null}),y=l.useCallback(C=>{if(!C)return null;try{const A=C;if(typeof C=="object"&&(A.currentTarget||A.target)&&(A.nativeEvent||A.type)){const D=A.currentTarget??A.target;if(D&&typeof D.getBoundingClientRect=="function")return D.getBoundingClientRect()}if(C instanceof DOMRect)return C;const w=C;if(w&&typeof w.getBoundingClientRect=="function")return w.getBoundingClientRect();const S=C?.current;return S&&typeof S.getBoundingClientRect=="function"?S.getBoundingClientRect():null}catch{return null}},[]),f=l.useCallback((C,{text:A="",label:w="\uBB38\uC7A5 \uB4E3\uAE30",backdrop:S=!1,alignX:D="center",alignY:T="top"}={})=>{const E=y(C);b({text:A,label:w,anchorRect:E,backdrop:S,alignX:D,alignY:T}),g(!0)},[y]),x=l.useCallback(()=>{g(!1),b(C=>({...C,anchorRect:null}))},[]),_=l.Children.map(i,C=>{if(l.isValidElement(C)){const A=C;if(typeof A.type=="string")return A;const w=A.props??{},S=typeof w.onDone=="function"?w.onDone:h,D=typeof w.disabled=="boolean";let T=d==="disabled";return D&&(T=!!w.disabled),l.cloneElement(A,{onDone:S,disabled:T,showTooltip:f,hideTooltip:x})}return C});return o.jsxs("div",{className:`training-step training-step--${d} ${a?"training-step--last":""} ${s}`,"aria-current":d==="active",children:[o.jsx(lc,{state:d}),o.jsxs("div",{className:"training-step__content",children:[o.jsx(cc,{state:d,title:r,...n,useFaded:u}),_]}),p?o.jsx(Sa,{anchorRect:v.anchorRect,backdrop:v.backdrop,onClose:x,children:o.jsx(Bo,{text:v.text,onClose:x})}):null]})}var Hk='.ihabdevteam-core-scope .training-text-box{background:var(--color-darkWhite);border:1px solid var(--color-deepWhite);border-radius:var(--radius-m);color:var(--color-black);display:flex;flex-direction:column;max-width:100%;min-height:160px;overflow:visible;overflow-wrap:anywhere;padding:var(--spacing-content);position:relative;text-align:center;word-break:keep-all}.ihabdevteam-core-scope .training-text-box--disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ihabdevteam-core-scope .training-text-box--disabled .training-text-box__inner{visibility:hidden}.ihabdevteam-core-scope .training-text-box--disabled:after{content:"";pointer-events:none;position:absolute;z-index:5}.ihabdevteam-core-scope .training-text-box__preview{align-items:center;display:flex;justify-content:center;left:50%;pointer-events:auto;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:60}.ihabdevteam-core-scope .training-text-box__buttons{border-radius:999px;gap:4px;height:28px;left:0;right:0}.ihabdevteam-core-scope .training-text-box__area,.ihabdevteam-core-scope .training-text-box__buttons{align-items:center;box-sizing:border-box;display:flex;justify-content:center;pointer-events:auto;position:relative;z-index:40}.ihabdevteam-core-scope .training-text-box__area{flex:1 1 auto;margin:0 auto;min-height:0;text-align:center;width:100%}.ihabdevteam-core-scope .training-text-box--active,.ihabdevteam-core-scope .training-text-box--done{background-color:var(--color-white);border-color:var(--color-main);pointer-events:auto;transition:box-shadow .18s ease,transform .18s ease,opacity .16s ease;-webkit-user-select:auto;-moz-user-select:auto;user-select:auto}.ihabdevteam-core-scope .training-text-box.is-dark{background:var(--color-darkGray);border:1px solid var(--color-black);color:var(--color-deepWhite)}.ihabdevteam-core-scope .training-text-box .training-text-box__inner{display:block;overflow-wrap:anywhere;text-align:center;white-space:normal;width:100%;word-break:keep-all}.ihabdevteam-core-scope .training-text-box.is-dark .tooltip-textbox__text,.ihabdevteam-core-scope .training-text-box.is-dark .training-text-box__inner{color:var(--color-deepWhite)}';Q(Hk);function uc({context:e,state:t="disabled",theme:a="light"}){const{t:r}=me.useTranslation(),[n,i]=l.useState("disabled"),[s,c]=l.useState(()=>{try{return localStorage.getItem("tooltip-theme")||a}catch{return a}});l.useEffect(()=>{try{localStorage.setItem("tooltip-theme",s)}catch{}},[s]);const u=()=>c(T=>T==="dark"?"light":"dark"),{increase:d,decrease:m,canIncrease:h,canDecrease:p,fontSize:g,lineHeight:v}=an({storageKey:"textbox_fontScale"}),[b,y]=l.useState(""),f=l.useCallback(()=>i("active"),[]),x=l.useCallback(()=>y(""),[]),_=T=>{try{y(T)}catch{}},C=typeof navigator<"u"&&/Mobi|Android/i.test(navigator.userAgent||"");l.useEffect(()=>{if(t!=="disabled"){const T=setTimeout(()=>i(t),0);return()=>clearTimeout(T)}},[t]);const A=l.useMemo(()=>e&&typeof e=="object"?String(e.sentence??e.text??""):typeof e=="string"?e:"",[e]);l.useEffect(()=>{const T=setTimeout(()=>i("disabled"),0);return()=>clearTimeout(T)},[A]);const w=t==="disabled"?n:t,S=w==="disabled"?"training-text-box--disabled":w==="active"?"training-text-box--active":w==="done"?"training-text-box--done":"",D=l.useMemo(()=>({fontSize:`${g}px`,lineHeight:`${v}px`}),[g,v]);return o.jsxs("div",{className:`training-text-box ${S} ${w!=="disabled"&&s==="dark"?"is-dark":""}`,children:[w==="disabled"&&o.jsx("div",{className:"training-text-box__preview",children:o.jsx(le,{size:48,type:"bar",onClick:f,icon:"eye",ariaLabel:r("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),label:r("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),useBorder:!1})}),o.jsx("div",{className:"training-text-box__area","aria-hidden":w==="disabled",children:o.jsx("span",{className:"training-text-box__inner h3",style:D,children:A})}),w!=="disabled"&&o.jsxs("div",{className:"training-text-box__buttons","aria-hidden":w==="disabled",children:[o.jsx(le,{size:32,type:"dot",onClick:m,onDisabledClick:()=>_(r("training.fontSizeMin","\uAE00\uC528 \uD06C\uAE30\uAC00 \uCD5C\uC18C\uC785\uB2C8\uB2E4.")),ariaLabel:r("training.fontSizeDecrease","\uAE00\uC790 \uD06C\uAE30 \uAC10\uC18C"),icon:"minus",variant:s==="dark"?"transparent-white":"transparent-gray",disabled:!p,useBorder:!1,showTooltipInfo:!0,...!C&&{width:"60px"}}),o.jsx(le,{size:32,type:"dot",onClick:d,onDisabledClick:()=>_(r("training.fontSizeMax","\uAE00\uC528 \uD06C\uAE30\uAC00 \uCD5C\uB300\uC785\uB2C8\uB2E4.")),ariaLabel:r("training.fontSizeIncrease","\uAE00\uC790 \uD06C\uAE30 \uC99D\uAC00"),icon:"plus",variant:s==="dark"?"transparent-white":"transparent-gray",disabled:!h,useBorder:!1,showTooltipInfo:!0,...!C&&{width:"60px"}}),o.jsx(le,{size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:s==="dark"?"moon":"sun-medium",onClick:u,ariaLabel:r("training.toggleBackground","\uBC30\uACBD \uC804\uD658"),variant:s==="dark"?"transparent-white":"transparent-gray"})]}),o.jsx(oo,{message:b,position:"top",onClose:x})]})}function Nn({index:e,stepIndex:t,isLast:a=!1,title:r,useTitleFaded:n,onDone:i,onChange:s,answer:c,wrongAnswers:u,choices:d,multiSelect:m=!1,correctCount:h=0,useDisabledCovered:p=!1,choiceIcons:g,shuffleChoices:v=!0}){const{t:b}=me.useTranslation(),y=r??b("training.selectConfirm","\uBB38\uC81C\uB97C \uBCF4\uACE0 \uD574\uB2F9\uD558\uB294 \uB0B4\uC6A9\uC744 \uC120\uD0DD\uD558\uC138\uC694."),f=typeof e=="number"?e:-1,x=typeof t!="number"?"disabled":f<t?"done":f===t?"active":"disabled",_=Array.isArray(d)&&d.length?d:typeof c<"u"?[c].concat(Array.isArray(u)?u:[]):void 0,C=u?u.join("||"):"",A=d?d.join("||"):"",[w,S]=l.useState(()=>Array.isArray(_)?v?ze(_):_.slice():void 0);l.useEffect(()=>{Array.isArray(_)&&_.length?S(v?ze(_):_.slice()):S(void 0)},[c,C,A,v]);const[D,T]=l.useState(null),[E,W]=l.useState(()=>new Set);l.useEffect(()=>{T(null),W(new Set)},[A]);const M=l.useRef(void 0);l.useEffect(()=>{const j=M.current;typeof j=="number"&&typeof t=="number"&&typeof e=="number"&&j>=e&&t<e&&(T(null),W(new Set)),M.current=t},[t,e]);const k=l.useCallback(j=>{if(x!=="active")return;const F=w?.[j];if(F==null)return;const te=F,Z=x==="active"||x==="done";if(m){const ee=new Set(E),L=ee.has(te);L?ee.delete(te):ee.add(te),W(ee),typeof s=="function"&&s({selectedValues:[...ee],__ts:Date.now()}),Z&&(typeof h=="number"&&h>0?ee.size>=h:!L)&&typeof i=="function"&&x==="active"&&i({selectedValues:[...ee],__ts:Date.now()})}else T(te),typeof s=="function"&&s({selectedIndex:j,selectedValue:te,__ts:Date.now()}),Z&&typeof i=="function"&&x==="active"&&i({selectedIndex:j,selectedValue:te,__ts:Date.now()})},[w,x,m,s,i,h,E]),N=`training-step__buttons${Array.isArray(w)&&w.length>3?" training-step__buttons--wrap-3":""}`;return o.jsx(Va,{index:e,stepIndex:t,isLast:a,title:y,useTitleFaded:n,children:o.jsx("div",{className:N,children:Array.isArray(w)&&w.length>0?w.map((j,F)=>o.jsx(le,{size:56,type:"bar",onClick:()=>k(F),ariaLabel:String(j),label:j,useLabel:!0,icon:g?g[String(j)]:void 0,variant:"default",disabled:x==="disabled",selected:m?E.has(j):D===j,useDisabledCovered:p,minWidth:0},String(j))):null})})}function Dn({index:e,stepIndex:t,isLast:a=!1,title:r,onDone:n,onChange:i,context:s,demoSelected:c}){const{t:u}=me.useTranslation(),d=r??u("training.confirmTitle","\uBB38\uC7A5\uC744 \uD655\uC778\uD558\uACE0 \uC798 \uB4E4\uB838\uB294\uC9C0 \uC120\uD0DD\uD558\uC138\uC694."),m=typeof e=="number"?e:-1,h=typeof t!="number"?"disabled":m<t?"done":m===t?"active":"disabled",p=s&&typeof s=="object"?s.sentence||"":typeof s=="string"?s:"",g=s&&typeof s=="object"?s.choices:void 0,[v,b]=l.useState(c??null);l.useEffect(()=>{if(c==null&&v!==null){const _=setTimeout(()=>b(null),0);return()=>clearTimeout(_)}},[p,c,v]);const y=l.useCallback(_=>{const C=typeof _=="object"&&_!==null?Object.assign({},_,{__ts:Date.now()}):{value:_,__ts:Date.now()};typeof i=="function"&&i(C),h==="active"&&typeof n=="function"&&n(C)},[i,h,n]),f=l.useCallback(()=>{h==="active"&&(b(!1),y(!1))},[y,h]),x=l.useCallback(()=>{h==="active"&&(b(!0),y(!0))},[y,h]);return o.jsxs(Va,{index:e,stepIndex:t,isLast:a,title:d,onDone:n,useTitleFaded:!1,children:[o.jsx(uc,{context:s,state:h}),o.jsx("div",{className:"training-step__buttons",children:Array.isArray(g)&&g.length>0?g.slice(0,6).map((_,C)=>o.jsx(le,{size:56,type:"bar",onClick:()=>{h==="active"&&(b(C),y&&y(C))},disabled:h==="disabled",ariaLabel:String(_),label:_,variant:h,selected:v===C},C)):o.jsxs(o.Fragment,{children:[o.jsx(le,{size:56,type:"bar",onClick:f,disabled:h==="disabled",icon:"x",ariaLabel:u("training.notHeard","\uC548 \uB4E4\uB838\uC5B4\uC694."),label:u("training.notHeard","\uC548 \uB4E4\uB838\uC5B4\uC694."),variant:"default",selected:v===!1}),o.jsx(le,{size:56,type:"bar",onClick:x,disabled:h==="disabled",icon:"circle",ariaLabel:u("training.heardWell","\uC798 \uB4E4\uB838\uC5B4\uC694."),label:u("training.heardWell","\uC798 \uB4E4\uB838\uC5B4\uC694."),variant:"default",selected:v===!0})]})})]})}function En({index:e,stepIndex:t,isLast:a=!1,title:r,onDone:n,btnLabel:i,soundSrc:s,bucketPath:c,usePreviewTextBtn:u,previewText:d=null,onPreviewTextBtn:m,disabled:h,_pageIndex:p,showSoundWaveForm:g,showNoiseWaveForm:v}){const{t:b}=me.useTranslation(),y=r??b("training.listenTitle","\uC81C\uC2DC\uD558\uB294 \uBB38\uC7A5\uC744 \uB4E4\uC5B4\uC8FC\uC138\uC694."),f=h??(typeof t=="number"&&typeof e=="number"?e>t:!1);return o.jsx(Va,{index:e,stepIndex:t,isLast:a,title:y,onDone:n,titleProps:{usePreviewTextBtn:u,previewText:d,onPreviewTextBtn:m},children:o.jsx(xr,{soundSrc:s,ttsText:s?null:d??y,bucketPath:c,btnLabel:i||b("training.listenButton","\uBB38\uC7A5 \uB4E3\uAE30"),disabled:f,className:"training-step__listen-sticky",showSoundWaveForm:g,showNoiseWaveForm:v},`audio-p${p??0}-s${e}`)})}var Vk=".ihabdevteam-core-scope .page-popup--closing{opacity:0;pointer-events:none;transition:opacity .16s ease}.ihabdevteam-core-scope .page-popup__panel{overflow:auto}.ihabdevteam-core-scope .page-popup__close{font-size:20px;right:12px;top:10px}.ihabdevteam-core-scope .page-popup{align-items:stretch;display:flex;inset:0;justify-content:center;position:fixed;z-index:var(--z-page-popup)}.ihabdevteam-core-scope .page-popup__panel{background:var(--color-deepWhite);border-radius:0;box-shadow:none;color:var(--color-black);display:flex;flex-direction:column;height:100%;max-height:none;max-width:none;overflow:hidden;position:relative;width:100%}.ihabdevteam-core-scope .page-popup__scroll{-webkit-overflow-scrolling:touch;align-items:flex-start;display:flex;flex:1 1 0;justify-content:center;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:rgba(0,0,0,.15) transparent;scrollbar-width:thin;touch-action:pan-y}.ihabdevteam-core-scope .page-popup__scroll::-webkit-scrollbar{width:4px}.ihabdevteam-core-scope .page-popup__scroll::-webkit-scrollbar-track{background:transparent}.ihabdevteam-core-scope .page-popup__scroll::-webkit-scrollbar-thumb{background:rgba(0,0,0,.15);border-radius:var(--radius-xs)}.ihabdevteam-core-scope .page-popup__scroll::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.28)}.ihabdevteam-core-scope .page-popup__panel--measuring .page-popup__scroll{opacity:0;pointer-events:none}.ihabdevteam-core-scope .page-popup__scroll{transition:opacity .12s ease}.ihabdevteam-core-scope .nt-debug{background:rgba(0,0,0,.03);border-radius:var(--radius-sm);color:var(--text,var(--color-black));font-family:monospace;font-size:12px;line-height:1.2;max-width:300px;padding:8px 10px;position:absolute;right:20px;top:84px;white-space:pre-wrap;z-index:calc(var(--z-page-popup) + 1)}.ihabdevteam-core-scope .page-popup--backdrop{display:none}.ihabdevteam-core-scope .page-popup__close{background:transparent;border:none;color:var(--text,var(--color-black));cursor:pointer;font-size:22px;line-height:1;position:absolute;right:14px;top:12px}.ihabdevteam-core-scope .page-popup__panel>*{box-sizing:border-box}.ihabdevteam-core-scope .page-popup__body{padding:16px 20px}.ihabdevteam-core-scope .page-popup__content{box-sizing:border-box;margin:0 auto;max-width:800px;min-width:0;padding:var(--spacing-page);width:100%}.ihabdevteam-core-scope .page-popup__content--center{margin-bottom:auto;margin-top:auto}.ihabdevteam-core-scope .pp-empty{color:var(--color-gray);padding:24px 0;text-align:center;width:100%}.ihabdevteam-core-scope .page-popup__content .training-steps{box-sizing:border-box;min-width:0;width:100%}.ihabdevteam-core-scope .page-popup__bottom,.ihabdevteam-core-scope .page-popup__top{flex-shrink:0}.ihabdevteam-core-scope .page-popup__panel--center .page-popup__scroll{align-items:center}.ihabdevteam-core-scope .page-popup--result-empty{background:var(--color-deepWhite)}.ihabdevteam-core-scope .page-popup__empty{align-items:center;color:var(--color-gray);display:flex;flex-direction:column;justify-content:center;padding:2rem;text-align:center;width:100%}";Q(Vk);var Gk=".ihabdevteam-core-scope .order-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.ihabdevteam-core-scope .order-list__item{align-items:flex-start;display:flex;gap:var(--spacing-s)}.ihabdevteam-core-scope .order-list__draggable{align-items:center;border-radius:var(--radius-m);display:flex;flex:1;gap:var(--spacing-xs);justify-content:space-between;min-height:60px;padding:0 0 0 4px;will-change:transform}.ihabdevteam-core-scope .order-list__item-text{color:var(--color-black)}.ihabdevteam-core-scope .order-list__item-buttons{align-items:center;align-self:center;display:inline-flex;gap:2px}@media (max-width:600px){.ihabdevteam-core-scope .order-list__item-buttons{align-items:center;align-self:center;display:flex;flex-direction:column}.ihabdevteam-core-scope .order-list__item-buttons>*{box-sizing:border-box;display:inline-flex}}.ihabdevteam-core-scope .order-list__item.correct{border:1px solid var(--color-main)}.ihabdevteam-core-scope .order-list__slot{align-items:center;background-color:var(--color-darkWhite);border-radius:var(--radius-m);box-sizing:border-box;display:flex;gap:var(--spacing-xs);height:auto;padding:4px 10px;width:100%}.ihabdevteam-core-scope .order-list__marker{--marker-pos:50%;align-items:center;background-color:var(--color-main);background:color-mix(in srgb,var(--color-main) 50%,var(--color-sub) 50%);border:2px solid var(--color-pureWhite);border-radius:var(--radius-sm);box-sizing:border-box;color:#fff;display:inline-flex;height:24px;justify-content:center;width:24px}@supports (color:color-mix(in lch,red,blue)) and (top:var(--f )){.ihabdevteam-core-scope .order-list__marker{background:color-mix(in srgb,var(--color-main) calc(100% - var(--marker-pos)),var(--color-sub) var(--marker-pos))}}@media (max-width:600px){.ihabdevteam-core-scope .order-list__marker{height:24px;min-width:24px;width:24px}}.ihabdevteam-core-scope .order-list__item:hover .order-list__slot{background-color:var(--color-deepWhite);box-shadow:inset 0 0 0 1px var(--color-main);transition:box-shadow .16s cubic-bezier(.22,.9,.39,1)}.ihabdevteam-core-scope .order-list__item.drag-over .order-list__slot{background-color:var(--color-white);box-shadow:inset 0 0 0 1px var(--color-main)}.ihabdevteam-core-scope .order-list__slot.pulse{background-color:var(--color-white);transition:background-color .42s cubic-bezier(.22,.9,.39,1)}.ihabdevteam-core-scope .order-list__slot.pulse.to-dark{background-color:var(--color-darkWhite)}.ihabdevteam-core-scope .order-list__slot-number{align-items:center;align-self:center;border-radius:var(--radius-sm);color:#fff;display:inline-flex;height:32px;justify-content:center;width:32px}.ihabdevteam-core-scope .order-list__draggable.dragging{background-color:var(--color-white);opacity:.2}.ihabdevteam-core-scope .order-list__dragging-object{align-items:center;background:var(--color-white);border-radius:var(--radius-m);box-shadow:0 14px 40px rgba(16,24,40,.18);box-sizing:border-box;color:var(--color-black);display:inline-flex;gap:var(--spacing-s);left:0;max-width:calc(100vw - var(--spacing-page)*3);min-height:60px;opacity:1;overflow-wrap:anywhere;padding:20px;pointer-events:none;position:fixed;top:0;transform:translate3d(-9999px,-9999px,0) scale(1);transition:transform .16s cubic-bezier(.22,.9,.39,1),opacity .18s ease;white-space:normal;width:auto;will-change:transform,opacity;word-break:keep-all;z-index:var(--z-popover)}.ihabdevteam-core-scope .order-list__dragging-object--visible{opacity:1}.ihabdevteam-core-scope .order-list__item.drag-over .order-list__slot:hover{background-color:var(--color-white);border-radius:var(--radius-m);box-shadow:inset 0 0 0 1px var(--color-main);transition:box-shadow .16s cubic-bezier(.22,.9,.39,1)}.ihabdevteam-core-scope .order-list__item-text{display:block;line-height:1.4;margin:0;overflow-wrap:anywhere;white-space:normal;width:100%;word-break:keep-all}.ihabdevteam-core-scope .order-list__draggable[data-disabled=true],.ihabdevteam-core-scope .order-list__draggable[draggable=false]{background-color:var(--color-darkWhite);box-shadow:none!important;cursor:default;opacity:.9;pointer-events:none}.ihabdevteam-core-scope .order-list__draggable[data-disabled=true] .order-list__item-text,.ihabdevteam-core-scope .order-list__draggable[draggable=false] .order-list__item-text{color:var(--color-gray);display:none!important;opacity:.9}.ihabdevteam-core-scope .order-list__draggable[data-disabled=true] .order-list__item-buttons,.ihabdevteam-core-scope .order-list__draggable[data-disabled=true]~.order-list__slot .order-list__slot-number,.ihabdevteam-core-scope .order-list__draggable[draggable=false] .order-list__item-buttons,.ihabdevteam-core-scope .order-list__draggable[draggable=false]~.order-list__slot .order-list__slot-number,.ihabdevteam-core-scope .order-list__slot-number[hidden]{display:none!important}.ihabdevteam-core-scope .order-list__draggable[data-disabled=true] .order-list__slot,.ihabdevteam-core-scope .order-list__draggable[data-disabled=true]+.order-list__slot,.ihabdevteam-core-scope .order-list__draggable[draggable=false] .order-list__slot,.ihabdevteam-core-scope .order-list__draggable[draggable=false]+.order-list__slot,.ihabdevteam-core-scope .order-list__slot[data-disabled=true]{background-color:var(--color-darkWhite)!important;box-shadow:none!important}.ihabdevteam-core-scope .order-list__slot[data-disabled=true]{cursor:default!important;pointer-events:none!important}.ihabdevteam-core-scope .order-list__slot[data-disabled=true] .order-list__slot-number{display:none!important}";Q(Gk);function jn({index:e,stepIndex:t,isLast:a=!1,title:r,onDone:n,onChange:i,context:s=[]}){const{t:c}=me.useTranslation(),u=r??c("training.orderListDefault","\uBB38\uC7A5\uC744 \uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uBC30\uCE58\uD558\uC138\uC694."),d=R=>typeof R=="string"?R:R&&(R.context||R.sentence||R.question||"")||"",[m,h]=l.useState(Array.isArray(s)?s:[]),[p,g]=l.useState(()=>(m||[]).map((R,O)=>({id:O,text:d(R)}))),v=l.useMemo(()=>typeof t!="number"||typeof e!="number"?"disabled":e<t?"done":e===t?"active":"disabled",[t,e]);l.useEffect(()=>{const R=Array.isArray(s)?s:[];h(R);const O=(H=>{const $=(H||[]).map((z,Y)=>({id:Y,text:d(z)}));if($.length<=1)return $;const q=(z,Y)=>{if(z.length!==Y.length)return!1;for(let J=0;J<z.length;J++)if(z[J].text!==Y[J].text)return!1;return!0};let I=ze($),G=0;for(;q(I,$)&&G<20;)I=ze($),G+=1;return I})(R);g(O);try{if(typeof i=="function"){const H=O.filter(($,q)=>$.text===d(R[q])).length;i({shuffled:O,score:H,total:(R||[]).length,initial:!0,__ts:Date.now()})}if(typeof n=="function"&&v==="active"){const H=O.filter(($,q)=>$.text===d(R[q])).length;n({shuffled:O,score:H,total:(R||[]).length,initial:!0,__ts:Date.now()})}}catch{}},[s]);const b=(R,O)=>{const H=[...p],$=R+O;if($<0||$>=H.length)return;const q=H[$];H[$]=H[R],H[R]=q,N(H);try{if(typeof n=="function"&&v==="active"){const I=H.filter((G,z)=>G.text===d(m[z])).length;n({shuffled:H,score:I,total:(m||[]).length,__ts:Date.now()})}}catch{}},[y,f]=l.useState(null),x=l.useRef(null),_=l.useRef(null),C=l.useRef(null),A=l.useRef(null),w=l.useRef(null),S=l.useRef({x:0,y:0}),D=l.useRef(null),T=l.useRef({dx:0,dy:0}),E=()=>{if(D.current!==null)return;const R=()=>{D.current=requestAnimationFrame(R);const O=S.current,H=T.current||{dx:0,dy:0};x.current&&(x.current.style.transform=`translate3d(${O.x-H.dx}px, ${O.y-H.dy}px, 0)`)};D.current=requestAnimationFrame(R)},W=l.useRef(new Map),M=l.useRef(new Map),k=()=>{const R=new Map;return W.current.forEach((O,H)=>{O&&O.getBoundingClientRect&&R.set(H,O.getBoundingClientRect())}),R},N=R=>{const O=k();g(R);try{if(typeof i=="function"){const H=R.filter(($,q)=>$.text===d(m[q])).length;i({shuffled:R,score:H,total:(m||[]).length,__ts:Date.now()})}}catch{}requestAnimationFrame(()=>{const H=k();R.forEach($=>{const q=O.get($.id),I=H.get($.id),G=W.current.get($.id);if(!G||!q||!I)return;const z=q.top-I.top;z&&(G.style.transition="none",G.style.transform=`translateY(${z}px)`,requestAnimationFrame(()=>{G.style.transition="transform 420ms cubic-bezier(.22,.9,.39,1)",G.style.transform="";const Y=()=>{G.style.transition="",G.removeEventListener("transitionend",Y)};G.addEventListener("transitionend",Y)}))})})},j=(R,O)=>{try{try{O.dataTransfer?.setData("text/plain",String(R))}catch{}try{O.dataTransfer&&(O.dataTransfer.effectAllowed="move")}catch{}try{const H=document.createElement("div");H.style.cssText="position:absolute;top:-9999px;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none;",document.body.appendChild(H),O.dataTransfer?.setDragImage(H,0,0),requestAnimationFrame(()=>{try{document.body.removeChild(H)}catch{}})}catch{}}catch{}f(R);try{const H=p[R],$=document.createElement("div");$.className="order-list__dragging-object order-list__dragging-object--visible",$.textContent=H&&H.text?H.text:"",document.body.appendChild($),x.current=$;const q=W.current.get(H.id);let I=O.clientX||0,G=O.clientY||0;try{if(q&&q.getBoundingClientRect){const ae=q.getBoundingClientRect();I=ae.left+ae.width/2,G=ae.top+ae.height/2}}catch{}const z=$.getBoundingClientRect(),Y=z.width/2,J=z.height/2;T.current={dx:Y,dy:J},$.style.transition="none",S.current={x:I,y:G},$.style.transform=`translate3d(${I-Y}px, ${G-J}px, 0)`,requestAnimationFrame(()=>{try{$.style.transition=""}catch{}E()});const ue=ae=>{const X=ae;S.current={x:X.clientX,y:X.clientY},E()};C.current=ue,document.addEventListener("mousemove",ue);const pe=ae=>{const X=ae;S.current={x:X.clientX,y:X.clientY},E()};_.current=pe,document.addEventListener("dragover",pe);try{O.dataTransfer?.setData("text/plain",String(R));try{O.dataTransfer?.setData("application/json",JSON.stringify({idx:R}))}catch{}}catch{}}catch{}},F=(R,O)=>{O.preventDefault();try{O.dataTransfer&&(O.dataTransfer.dropEffect="move")}catch{}try{w.current!==null&&(clearTimeout(w.current),w.current=null);const H=O.currentTarget&&O.currentTarget.closest?O.currentTarget.closest(".order-list__item"):null;if(H&&A.current!==H){if(A.current)try{A.current.classList.remove("drag-over")}catch{}try{H.classList.add("drag-over")}catch{}A.current=H}}catch{}},te=(R,O)=>{O.preventDefault();const H=O.dataTransfer?.getData("text/plain")||"",$=H?parseInt(H,10):y,q=R;if(typeof $!="number"||isNaN($)||$===q){f(null),L(),Z();return}const I=Mi(p,$,q);N(I),f(null),Z();try{if(typeof n=="function"&&v==="active"){const G=I.filter((z,Y)=>z.text===d(m[Y])).length;n({shuffled:I,score:G,total:(m||[]).length,__ts:Date.now()})}}catch{}try{requestAnimationFrame(()=>{const G=document.querySelectorAll(".order-list .order-list__item")[q];if(!G)return;const z=G.querySelector(".order-list__slot")||G;try{z.classList.add("pulse"),z.offsetHeight,z.classList.add("to-dark");const Y=()=>{z.classList.remove("pulse","to-dark"),z.removeEventListener("transitionend",Y)};z.addEventListener("transitionend",Y)}catch{}})}catch{}L()},Z=()=>{if(x.current){try{document.body.removeChild(x.current)}catch{}x.current=null}_.current&&(document.removeEventListener("dragover",_.current),_.current=null),C.current&&(document.removeEventListener("mousemove",C.current),C.current=null),D.current!==null&&(cancelAnimationFrame(D.current),D.current=null)},ee=()=>{f(null),L(),Z()};l.useEffect(()=>()=>Z(),[]);const L=()=>{try{if(w.current!==null&&(clearTimeout(w.current),w.current=null),A.current){try{A.current.classList.remove("drag-over")}catch{}A.current=null}document.querySelectorAll(".order-list .order-list__item").forEach(R=>R.classList.remove("drag-over"))}catch{}};return l.useEffect(()=>{try{const R=Math.max(1,(p||[]).length);p.forEach((O,H)=>{const $=M.current.get(O.id);if(!$)return;let q=50;R>1&&(q=Math.round(H/(R-1)*100));try{$.style.setProperty("--marker-pos",q+"%")}catch{}})}catch{}},[p]),l.useEffect(()=>()=>{Z(),w.current!==null&&(clearTimeout(w.current),w.current=null)},[]),o.jsx(Va,{index:e,stepIndex:t,isLast:a,title:u,children:o.jsx("div",{className:"order-list",children:p.map((R,O)=>{const H=Math.max(1,(p||[]).length),$=H>1?Math.round(O/(H-1)*100):50;return o.jsx("div",{className:"order-list__item",children:o.jsxs("div",{className:"order-list__slot","data-disabled":v==="disabled","aria-disabled":v==="disabled",children:[v!=="disabled"?o.jsx("div",{className:"order-list__marker caption-1",style:{"--marker-pos":$+"%"},ref:q=>{const I=M.current;q?I.set(R.id,q):I.delete(R.id)},children:o.jsx("span",{className:"order-list__slot-number button-1",children:O+1})}):null,o.jsxs("div",{ref:q=>{const I=W.current;q?I.set(R.id,q):I.delete(R.id)},className:`order-list__draggable ${y===O?"dragging":""}`,"data-disabled":v==="disabled","aria-disabled":v==="disabled",tabIndex:v==="disabled"?-1:0,draggable:v==="active",onDragStart:v==="active"?q=>j(O,q):void 0,onDragEnter:v==="active"?q=>F(O,q):void 0,onDragOver:v==="active"?q=>F(O,q):void 0,onDragLeave:v==="active"?()=>{try{w.current!==null&&clearTimeout(w.current),w.current=setTimeout(()=>{try{const q=document.querySelectorAll(".order-list .order-list__item");q&&q[O]&&(q[O].classList.remove("drag-over"),A.current===q[O]&&(A.current=null))}catch{}},80)}catch{}}:void 0,onDrop:v==="active"?q=>te(O,q):void 0,onDragEnd:v==="active"?ee:void 0,children:[o.jsx("span",{className:"order-list__item-text body-2",children:R.text}),v==="active"?o.jsxs("span",{className:"order-list__item-buttons",children:[o.jsx(le,{size:32,type:"dot",onClick:()=>b(O,-1),ariaLabel:c("training.up"),icon:"chevron-up",variant:"transparent-gray",width:48,useFaded:"true",disabled:O===0,useBorder:!1,useDisabledInvisible:!0}),o.jsx(le,{size:32,type:"dot",onClick:()=>b(O,1),ariaLabel:c("training.down"),icon:"chevron-down",variant:"transparent-gray",width:48,useFaded:"true",disabled:O===p.length-1,useBorder:!1,useDisabledInvisible:!0})]}):null]})]})},R.id)})})})}var qk="";Q(qk);const Yk=8e3;function Uk(e,t){return new Promise(a=>{let r=!1;const n=()=>{r||(r=!0,a())};e.then(n,n),setTimeout(n,t)})}function pc({index:e,stepIndex:t,isLast:a=!1,title:r,onDone:n,onChange:i,context:s=[],selectable:c=!1,hideLabel:u=!1,hideAudio:d=!1,maxCards:m}){const{t:h}=me.useTranslation(),p=r??h("training.cardInstructions","\uB0B1\uB9D0 \uCE74\uB4DC\uB97C \uBCF4\uACE0 \uC18C\uB9AC\uB97C \uB4E3\uACE0 \uD655\uC778\uD558\uC138\uC694."),g=l.useMemo(()=>Array.isArray(s)?s:s&&s.items||[],[s]),v=m??3,b=(g||[]).slice(0,v);(g||[]).length>v&&console.warn(`TrainingStepCard: ${g.length} items passed but only ${v} shown`);const y=typeof e=="number"?e:-1,f=typeof t!="number"?"disabled":y<t?"done":y===t?"active":"disabled",[x,_]=l.useState(null),C=l.useRef([]),[A,w]=l.useState(!1),S=l.useMemo(()=>g.map(W=>W?.id??W?.word??"").join("|"),[g]);l.useEffect(()=>{_(null),C.current=[]},[S]);const D=l.useCallback((W,M)=>{if(c)return;const k={item:W,index:M,__ts:Date.now()};try{typeof i=="function"&&i(k)}catch{}if(f==="active"&&typeof n=="function")try{n(k)}catch{}},[c,i,f,n]),T=l.useCallback(async()=>{if(!(A||f==="disabled")){w(!0);try{for(const W of C.current)W&&await Uk(W.play(),Yk)}finally{w(!1)}}},[A,f]),E=l.useCallback((W,M)=>{if(f!=="active")return;_(M);const k={selectedValue:W.word||W.title||"",selectedIndex:M,item:W,__ts:Date.now()};try{typeof i=="function"&&i(k)}catch{}if(f==="active"&&typeof n=="function")try{n(k)}catch{}},[i,f,n]);return o.jsx(Va,{index:e,stepIndex:t,isLast:a,title:p,onDone:n,titleProps:{usePlayAllBtn:!d&&b.length>0,onPlayAll:T,playAllActive:A},children:o.jsx("div",{className:"training-step__cards",children:b.length===0?o.jsx("div",{className:"training-step__empty",children:h("training.noCards","\uCE74\uB4DC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")}):b.map((W,M)=>o.jsx(_n,{ref:k=>{C.current[M]=k},item:W,disabled:f==="disabled",onPlayDone:()=>D(W,M),selectable:c,selected:c&&x===M,onSelect:c?()=>E(W,M):void 0,flipDelay:M*120,hideLabel:u,hideAudio:d},W&&W.id||M))})})}const Kk=160;var Zk=".ihabdevteam-core-scope .panel{background:var(--color-white);border:1px solid var(--color-whiteLine);border-radius:var(--radius-card);display:flex;flex-direction:column;overflow:visible;padding:0;text-align:left}.ihabdevteam-core-scope .panel--no-border{border:none}.ihabdevteam-core-scope .panel--no-bg{background:transparent;border-radius:0}.ihabdevteam-core-scope .panel--no-border .panel-row{padding-left:0;padding-right:0}.ihabdevteam-core-scope .panel--no-row-border .panel-row+.panel-row{border-top:none}.ihabdevteam-core-scope .panel__header{align-items:center;border-bottom:1px solid var(--color-darkWhite);box-sizing:border-box;display:flex;gap:var(--spacing-xs);justify-content:space-between;margin:0;padding:0 20px}.ihabdevteam-core-scope .panel__header:last-child{border-bottom:none}.ihabdevteam-core-scope .panel--small .panel__header{min-height:48px}.ihabdevteam-core-scope .panel--medium .panel__header{min-height:56px}.ihabdevteam-core-scope .panel--large .panel__header{min-height:64px}.ihabdevteam-core-scope .panel__icon{align-items:center;color:var(--t-item-fg,var(--color-main));display:flex;flex-shrink:0;height:20px;justify-content:center;margin-right:var(--spacing-s);width:20px}.ihabdevteam-core-scope .panel__title-group{display:flex;flex-direction:column;gap:4px;margin-right:auto;min-width:0}.ihabdevteam-core-scope .panel__title{color:var(--color-darkGray);margin:0}.ihabdevteam-core-scope .panel__disc{color:var(--color-gray);margin:0}.ihabdevteam-core-scope .panel__actions{display:flex;flex-shrink:0;gap:6px}.ihabdevteam-core-scope .panel-row{align-items:center;box-sizing:border-box;display:flex;gap:var(--spacing-m);justify-content:space-between;padding:4px 20px}.ihabdevteam-core-scope .panel--small .panel-row{min-height:48px}.ihabdevteam-core-scope .panel--medium .panel-row{min-height:56px}.ihabdevteam-core-scope .panel--large .panel-row{min-height:64px}.ihabdevteam-core-scope .panel-row+.panel-row{border-top:1px solid var(--color-darkWhite)}.ihabdevteam-core-scope .panel--fill .panel-row{border-bottom:1px solid var(--color-darkWhite)}.ihabdevteam-core-scope .panel--fill .panel-row+.panel-row{border-top:none}.ihabdevteam-core-scope .panel--no-row-border .panel-row{border-bottom:none}.ihabdevteam-core-scope .panel>:not(.panel-row)+.panel-row{border-top:none}.ihabdevteam-core-scope .panel-grid{grid-gap:1px;background:var(--color-darkWhite);display:grid;gap:1px;grid-template-columns:repeat(2,1fr);grid-template-columns:repeat(var(--panel-grid-cols,2),1fr);overflow:hidden;padding-bottom:1px}.ihabdevteam-core-scope .panel-grid .panel-row{background:var(--color-white)}.ihabdevteam-core-scope .panel-grid .panel-row+.panel-row{border-top:none}.ihabdevteam-core-scope .panel-row--empty{color:var(--color-lightGray);justify-content:center}.ihabdevteam-core-scope .panel-row--loading{justify-content:center}.ihabdevteam-core-scope .panel__body--scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior-y:contain}.ihabdevteam-core-scope .panel-row--content{display:block;min-height:0;padding:16px}.ihabdevteam-core-scope .panel-row--scroll{display:flex;flex:1;flex-direction:column;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;padding:16px 16px 20px}.ihabdevteam-core-scope .panel-row--content+.panel-row--content,.ihabdevteam-core-scope .panel-row--content+.panel-row--scroll,.ihabdevteam-core-scope .panel-row--scroll+.panel-row--content,.ihabdevteam-core-scope .panel-row--scroll+.panel-row--scroll{border-top:none}.ihabdevteam-core-scope .panel-row__icon{align-items:center;display:flex;flex-shrink:0;margin-right:-4px}.ihabdevteam-core-scope .panel-row__left{flex:1;min-width:0}.ihabdevteam-core-scope .panel-row__label{color:var(--color-deepGray)}.ihabdevteam-core-scope .panel-row__sub{color:var(--color-gray);margin-top:2px}.ihabdevteam-core-scope .panel-row__right{align-items:center;display:flex;flex:0 0 auto;justify-content:flex-end}@media (max-width:767px){.ihabdevteam-core-scope .panel-row{flex-wrap:wrap}.ihabdevteam-core-scope .panel-row__right{flex:0 1 auto;min-width:0}}.ihabdevteam-core-scope .panel--form .panel-row{grid-gap:var(--spacing-m);align-items:center;display:grid;gap:var(--spacing-m);grid-template-columns:80px 1fr;grid-template-columns:var(--panel-label-width,80px) 1fr}.ihabdevteam-core-scope .panel--form .panel-row:has(.text-field--full-width){align-items:flex-start}.ihabdevteam-core-scope .panel--form .panel-row:has(.text-field--full-width) .panel-row__left{padding-top:9px}.ihabdevteam-core-scope .panel-row--label-fixed .panel-row__left{flex:0 0 120px;flex:0 0 var(--panel-label-width,120px)}.ihabdevteam-core-scope .panel-row--label-fixed .panel-row__right{flex:1;min-width:0}.ihabdevteam-core-scope .panel-row--clickable{cursor:pointer;transition:background .1s,box-shadow .1s}.ihabdevteam-core-scope .panel-row--clickable:hover{background:var(--color-darkWhite)}.ihabdevteam-core-scope .panel-row__text{color:var(--color-darkGray);overflow-wrap:break-word;text-align:right;word-break:break-word}.ihabdevteam-core-scope .panel-row--text .panel-row__right{flex:1;min-width:0}.ihabdevteam-core-scope .panel-row--block{align-items:stretch;display:flex;flex-direction:column;justify-content:center}.ihabdevteam-core-scope .panel-row__description{color:var(--color-gray);line-height:1.6;margin:0;overflow-wrap:break-word;word-break:break-word}.ihabdevteam-core-scope .panel-row__dropdown-group{display:flex;gap:var(--spacing-s)}.ihabdevteam-core-scope .panel-row__dropdown-group--full,.ihabdevteam-core-scope .panel-row__dropdown-item--full{flex:1;min-width:0}.ihabdevteam-core-scope .panel-row__dropdown-error-wrap{display:flex;flex-direction:column}.ihabdevteam-core-scope .panel-row__dropdown-error-wrap--full{flex:1;min-width:0}.ihabdevteam-core-scope .panel-row__text--full{text-align:left;width:100%}.ihabdevteam-core-scope .panel-row__input-wrap{display:flex;flex-direction:column}.ihabdevteam-core-scope .panel-row__input-wrap--full{flex:1;min-width:0}.ihabdevteam-core-scope .panel-row--vertical{align-items:flex-start;flex-direction:column;gap:8px;gap:var(--spacing-xs,8px)}.ihabdevteam-core-scope .panel-row--vertical .panel-row__left{flex:none;width:100%}.ihabdevteam-core-scope .panel-row--vertical .panel-row__right{align-items:flex-start;flex:none;justify-content:flex-start;width:100%}.ihabdevteam-core-scope .panel-row--vertical .panel-row__text{margin-left:0;text-align:left}.ihabdevteam-core-scope .panel-row--device{grid-gap:0;align-items:stretch;display:grid;gap:0;grid-template-columns:1fr 1fr;min-height:0;padding:0}.ihabdevteam-core-scope .panel-row__device-column{box-sizing:border-box;display:flex;flex-direction:column;gap:0;min-height:164px;padding:14px 16px}.ihabdevteam-core-scope .panel-row__device-column+.panel-row__device-column{border-left:1px solid var(--color-darkWhite)}.ihabdevteam-core-scope .panel-row__device-head{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-bottom:8px;min-height:32px}.ihabdevteam-core-scope .panel-row__device-side{color:var(--color-darkGray);margin:0;text-align:left}.ihabdevteam-core-scope .panel-row__device-info{margin:0;text-align:left}.ihabdevteam-core-scope .panel-row__device-info,.ihabdevteam-core-scope .panel-row__device-kind{align-items:flex-start;display:flex;flex-direction:column;gap:3px}.ihabdevteam-core-scope .panel-row__device-name{color:var(--color-darkGray)}.ihabdevteam-core-scope .panel-row__device-detail{color:var(--color-gray)}.ihabdevteam-core-scope .panel-row__device-product{color:var(--color-darkGray)}.ihabdevteam-core-scope .panel-row__device-date{color:var(--color-lightGray);margin-top:2px}.ihabdevteam-core-scope .panel-row__device-empty{align-items:center;color:var(--color-lightGray);display:flex;flex:1;justify-content:center;text-align:center}.ihabdevteam-core-scope .required-mark{color:var(--color-main);margin-left:2px}.ihabdevteam-core-scope .panel-row__error{color:var(--color-error);margin-top:4px}.ihabdevteam-core-scope .panel-row__helper{color:var(--color-lightGray);margin-top:4px}.ihabdevteam-core-scope .panel-row__button-group{display:flex;gap:6px}@media (max-width:767px){.ihabdevteam-core-scope .panel-row__dropdown-group{flex-wrap:wrap}.ihabdevteam-core-scope .panel-row__dropdown-error-wrap--full,.ihabdevteam-core-scope .panel-row__dropdown-item--full{flex:1 1 104px}}";Q(Zk);const xb=()=>{};function Cr({title:e,icon:t,disc:a,actions:r,size:n="medium",minHeight:i,maxWidth:s,className:c,scrollable:u,useBorder:d=!0,useBg:m=!0,useRowBorder:h=!0,labelWidth:p,form:g=!1,loading:v,empty:b,children:y}){const f=ye("panel",`panel--${n}`,g?"panel--form":"",i!==void 0?"panel--fill":"",d?"":"panel--no-border",m?"":"panel--no-bg",h?"":"panel--no-row-border",c),x={};return i!==void 0&&(x.minHeight=i),s!==void 0&&(x.maxWidth=typeof s=="number"?`${s}px`:s),p!==void 0&&(x["--panel-label-width"]=typeof p=="number"?`${p}px`:p),o.jsxs("div",{className:f,style:Object.keys(x).length?x:void 0,children:[(e!=null||a!=null)&&o.jsxs("div",{className:ye("panel__header",a!=null?"panel__header--with-disc":""),children:[t&&o.jsx(Pe,{icon:t,label:typeof e=="string"?e:void 0,className:"panel__icon"}),o.jsxs("div",{className:"panel__title-group",children:[e!=null&&o.jsx("h2",{className:"panel__title h5b",children:e}),a!=null&&o.jsx("p",{className:"panel__disc caption-1",children:a})]}),r&&o.jsx("div",{className:"panel__actions",children:r})]}),v?o.jsx(Na,{variant:"loading"}):b!=null&&(y==null||Array.isArray(y)&&y.length===0)?o.jsx(Na,{variant:"empty",children:b}):u?o.jsx("div",{className:"panel__body--scroll",children:y}):y]})}function Cb({cols:e=2,children:t}){return o.jsx("div",{className:"panel-grid",style:{"--panel-grid-cols":e},children:t})}function Na(e){const t=l.useId();if(!("variant"in e)){const{label:b,sub:y,onClick:f,children:x,align:_="horizontal",icon:C}=e,A=w=>{f&&w.target===w.currentTarget&&(w.key==="Enter"||w.key===" ")&&(w.preventDefault(),f())};return o.jsxs("div",{className:ye("panel-row",_==="vertical"?"panel-row--vertical":"",f?"panel-row--clickable":""),onClick:f,onKeyDown:f?A:void 0,role:f?"button":void 0,tabIndex:f?0:void 0,children:[C!=null&&o.jsx("div",{className:"panel-row__icon",children:C}),b!=null&&o.jsxs("div",{className:"panel-row__left",children:[o.jsx("div",{className:"panel-row__label body-3",children:b}),y&&o.jsx("div",{className:"panel-row__sub caption-1",children:y})]}),o.jsx("div",{className:"panel-row__right",children:x})]})}if(e.variant==="description")return o.jsx("div",{className:"panel-row panel-row--block",children:o.jsx("p",{className:"panel-row__description body-3",children:e.children})});if(e.variant==="empty")return o.jsx("div",{className:"panel-row panel-row--empty body-3",children:e.children});if(e.variant==="loading")return o.jsx("div",{className:"panel-row panel-row--loading",children:o.jsx(Ao,{size:28})});if(e.variant==="custom"&&!e.label)return o.jsx("div",{className:"panel-row panel-row--block",children:e.children});const{variant:a,label:r,sub:n,onClick:i,required:s,error:c,align:u="horizontal",useFullWidth:d=!1,icon:m}=e;let h=null;const p=a==="toggle"?`panel-toggle-${t}`:void 0;if(a==="toggle"){const b=e;h=o.jsx(Pl,{checked:b.checked,onChange:b.onChange,id:p})}else if(a==="segmented"){const b=e;h=o.jsx(Ha,{options:b.options,value:b.value,onChange:b.onChange,size:b.size??40,ariaLabel:r})}else if(a==="dropdown"){const b=e,y=b.dropdowns?.length?o.jsx("div",{className:`panel-row__dropdown-group${d?" panel-row__dropdown-group--full":""}`,children:b.dropdowns.map((f,x)=>o.jsx("div",{className:d?"panel-row__dropdown-item--full":void 0,children:o.jsx(Ut,{options:f.options,value:f.value,onChange:f.onChange,placeholder:f.placeholder,block:d,error:!!c,ariaLabel:f.ariaLabel??([r,f.placeholder].filter(Boolean).join(" ")||void 0)})},x))}):o.jsx(Ut,{options:b.options??[],value:b.value??"",onChange:b.onChange??xb,block:d,error:!!c,ariaLabel:r});h=c?o.jsxs("div",{className:`panel-row__dropdown-error-wrap${d?" panel-row__dropdown-error-wrap--full":""}`,children:[y,o.jsx("span",{className:"caption-1 panel-row__error",role:"alert",children:c})]}):y}else if(a==="button"){const b=e;b.buttons?.length?h=o.jsx("div",{className:"panel-row__button-group",children:b.buttons.map((y,f)=>o.jsx(le,{size:y.btnSize??40,variant:y.btnVariant??"default",disabled:y.disabled,onClick:y.onClick,children:y.label},f))}):h=o.jsx(le,{size:b.btnSize??40,variant:b.btnVariant??"default",disabled:b.disabled,onClick:b.onClick,children:b.buttonLabel})}else if(a==="text"){const b=e;h=o.jsx("span",{className:`panel-row__text body-2${d?" panel-row__text--full":""}`,style:b.valueColor?{color:b.valueColor}:void 0,children:b.value})}else if(a==="input"){const b=e;h=o.jsxs("div",{className:`panel-row__input-wrap${d?" panel-row__input-wrap--full":""}`,children:[o.jsx(Wa,{value:b.value,onChange:b.onChange??xb,onKeyDown:b.onKeyDown,onEnter:b.onEnter,placeholder:b.placeholder,inputMode:b.inputMode,readOnly:b.readOnly,disabled:b.disabled,type:b.type,autoComplete:b.autoComplete,maxLength:b.maxLength,showCount:b.showCount,multiline:b.multiline,rows:b.rows,fullWidth:d,error:c,ariaLabel:r,required:s}),b.helperText&&o.jsx("div",{className:"panel-row__helper caption-1",children:b.helperText})]})}else a==="custom"&&(h=e.children);const g=a==="input"||a==="dropdown"||(a==="text"||a==="custom")&&d,v=b=>{i&&b.target===b.currentTarget&&(b.key==="Enter"||b.key===" ")&&(b.preventDefault(),i())};return o.jsxs("div",{className:ye("panel-row",u==="vertical"?"panel-row--vertical":"",g?"panel-row--label-fixed":"",a==="text"?"panel-row--text":"",i?"panel-row--clickable":""),onClick:i,onKeyDown:i?v:void 0,role:i?"button":void 0,tabIndex:i?0:void 0,children:[m!=null&&o.jsx("div",{className:"panel-row__icon",children:m}),o.jsxs("div",{className:"panel-row__left",children:[p?o.jsxs("label",{htmlFor:p,className:"panel-row__label body-3",children:[r,s&&o.jsx("span",{className:"required-mark",children:"*"})]}):o.jsxs("div",{className:"panel-row__label body-3",children:[r,s&&o.jsx("span",{className:"required-mark",children:"*"})]}),n&&o.jsx("div",{className:"panel-row__sub caption-1",children:n})]}),o.jsx("div",{className:"panel-row__right",children:h})]})}function _b(e){const t=e.productName||e.brand,a=[e.brand,e.fitType].filter(r=>!!r&&r!==t);return[...new Set(a)].join(" \xB7 ")}function wb({devices:e,onRelease:t}){const{t:a}=me.useTranslation();return o.jsx("div",{className:"panel-row panel-row--device",children:["\uC88C","\uC6B0"].map(r=>{const n=e[r],i=r==="\uC88C"?a("device.direction.left","\uC88C"):a("device.direction.right","\uC6B0");return o.jsxs("div",{className:"panel-row__device-column",children:[o.jsxs("div",{className:"panel-row__device-head",children:[o.jsx("span",{className:"panel-row__device-side body-2b",children:i}),n&&t&&o.jsx(le,{size:32,type:"dot",icon:"x",ariaLabel:a("customers.device.unwear","\uCC29\uC6A9 \uD574\uC81C"),showTooltipInfo:a("customers.device.unwear","\uCC29\uC6A9 \uD574\uC81C"),onClick:()=>t(r)})]}),n?o.jsxs("div",{className:"panel-row__device-info",children:[o.jsxs("span",{className:"panel-row__device-kind",children:[n.device&&o.jsx(ht,{size:"small",variant:pm(n.device),fill:"soft",label:n.device}),_b(n)&&o.jsx("span",{className:"panel-row__device-detail body-3",children:_b(n)})]}),o.jsx("span",{className:"panel-row__device-name body-2b",children:n.productName||n.brand}),o.jsx("span",{className:"panel-row__device-date caption-1",children:a("customers.device.wornSince",{date:`${n.wornYear}.${n.wornMonth}.${n.wornDay}`})})]}):o.jsx("span",{className:"panel-row__device-empty body-3",children:a("customers.device.notRegistered","\uBBF8\uB4F1\uB85D")})]},r)})})}function Xk(e){return[{label:e("training.noise.level.none","\uC5C6\uC74C"),value:0},{label:e("training.noise.level.weak","\uC57D\uD568"),value:1},{label:e("training.noise.level.medium","\uBCF4\uD1B5"),value:2},{label:e("training.noise.level.strong","\uAC15\uD568"),value:3},{label:e("training.noise.level.veryStrong","\uB9E4\uC6B0 \uAC15\uD568"),value:4}]}function kb(e){return[{label:e("training.noise.type.default","\uAE30\uBCF8"),value:"defaultNoise",icon:"party-popper"},{label:e("training.noise.type.street","\uAE38\uAC70\uB9AC"),value:"street",icon:"car"},{label:e("training.noise.type.buzz","\uC640\uAE00\uC640\uAE00"),value:"buzz",icon:"message-square-more"},{label:e("training.noise.type.restaurant","\uC2DD\uB2F9"),value:"restaurant",icon:"coffee"}]}Xk(Ca.t.bind(Ca)),kb(Ca.t.bind(Ca));var Qk='.ihabdevteam-core-scope .noise-settings{border-radius:var(--radius-m);box-sizing:border-box;max-width:calc(100vw - 40px);padding:20px}.ihabdevteam-core-scope .tooltip-content:has(.noise-settings__header) .tooltip-content__header{border-bottom:1px solid var(--color-darkWhite);height:60px;padding:0 20px}.ihabdevteam-core-scope .noise-settings__header{align-items:center;display:flex;justify-content:space-between;width:100%}.ihabdevteam-core-scope .noise-settings__header span{color:var(--color-darkGray);font-weight:600}.ihabdevteam-core-scope .noise-settings__slider-input.slider--horizontal{flex:1 1 auto}.ihabdevteam-core-scope .noise-settings__value{font-feature-settings:"tnum";color:var(--color-main);flex:0 0 auto;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;width:44px}';Q(Qk);const hc="none",Jk=.5,e7=1.5,t7=.25;function mc({title:e,valueLabel:t,value:a,min:r,max:n,step:i,tickStep:s,size:c,onChange:u}){return o.jsxs(Na,{variant:"custom",label:e,useFullWidth:!0,children:[o.jsx(Ol,{value:a,onChange:u,min:r,max:n,step:i,size:c,showBgTick:!0,tickStep:s,ariaLabel:e,className:"noise-settings__slider-input"}),o.jsx("div",{className:"noise-settings__value button-1",children:t})]})}function bc({anchorRect:e,onClose:t}){const{t:a}=me.useTranslation(),r=oa("(max-width: 767px)")?40:24,n=nc(),i=n?.settings.level??0,s=n?.settings.type??"defaultNoise",c=n?.settings.enabled??!0,u=yk(i),d=n?.playbackRate??1,m=n?.mainVolume??1,h=Math.round(m*100),p=l.useCallback(y=>{try{n?.setMainVolume(Math.max(0,Math.min(1,y/100)))}catch{}},[n]),g=l.useCallback(y=>{try{n?.setPlaybackRate(y)}catch{}},[n]),v=l.useCallback(y=>{const f=xk(y);try{n?.setSettings({level:f})}catch{}},[n]),b=l.useCallback(y=>{try{y===hc?n?.setSettings({enabled:!1}):n?.setSettings({type:y,enabled:!0})}catch{}},[n]);return o.jsx(Sa,{anchorRect:e,offset:12,onClose:t,ariaLabel:a("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815"),isMobilePopup:!1,closeOnOutsideClick:!1,header:o.jsxs("div",{className:"noise-settings__header",children:[o.jsx("span",{children:a("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815")}),o.jsx(le,{size:40,type:"dot",icon:"x",variant:"transparent-gray",useBorder:!1,ariaLabel:a("common.close","\uB2EB\uAE30"),onClick:t})]}),children:o.jsxs(Cr,{className:"noise-settings",useBorder:!1,labelWidth:72,children:[o.jsx(mc,{title:a("training.playVolumeTitle","\uC7AC\uC0DD \uC18C\uB9AC"),valueLabel:`${h}%`,value:h,min:0,max:100,step:10,size:r,onChange:p}),o.jsx(mc,{title:a("training.playSpeedTitle","\uC7AC\uC0DD \uC18D\uB3C4"),valueLabel:`${d.toFixed(2)}x`,value:d,min:Jk,max:e7,step:t7,size:r,onChange:g}),o.jsx(mc,{title:a("training.noiseLevelTitle","\uC18C\uC74C \uD06C\uAE30"),valueLabel:`${u}%`,value:u,min:0,max:100,step:10,size:r,onChange:v}),o.jsx(Na,{variant:"custom",label:a("training.noiseTypeTitle","\uC18C\uC74C \uC885\uB958"),useFullWidth:!0,children:o.jsx(Ha,{ariaLabel:a("training.noiseTypeTitle","\uC18C\uC74C \uC885\uB958"),size:40,shape:"rounded",options:[{key:hc,label:a("training.noise.type.none","\uC5C6\uC74C")},...kb(a).map(y=>({key:y.value,label:y.label}))],value:c?s:hc,onChange:b})})]})})}var a7=".ihabdevteam-core-scope .training-page-bottom{box-sizing:border-box;width:100%}.ihabdevteam-core-scope .pp-bottom{align-items:center;background:var(--color-deepWhite);border-top:1px solid var(--color-whiteLine);box-sizing:border-box;display:flex;flex:0 0 auto;gap:var(--spacing-s);justify-content:space-between;padding:12px 18px calc(12px + env(safe-area-inset-bottom));width:100%;z-index:5}.ihabdevteam-core-scope .pp-bottom__left{align-items:center;display:flex;gap:var(--spacing-m)}.ihabdevteam-core-scope .pp-bottom__right{align-items:center;display:flex;gap:8px}.ihabdevteam-core-scope .pp-bottom__meters{border:1px solid var(--color-whiteLine);border-radius:14px;display:flex;flex-direction:column;gap:2px;justify-content:center;padding:8px 12px}.ihabdevteam-core-scope .pp-bottom__meter{align-items:center;display:flex;flex-direction:row;gap:var(--spacing-xs)}.ihabdevteam-core-scope .pp-bottom__meter-label{color:var(--color-gray);min-width:28px}.ihabdevteam-core-scope .pp-bottom__settings--desktop{display:none}.ihabdevteam-core-scope .pp-bottom__settings--mobile{display:flex}@media (min-width:768px){.ihabdevteam-core-scope .pp-bottom__settings--desktop{display:block}.ihabdevteam-core-scope .pp-bottom__settings--mobile{display:none}}.ihabdevteam-core-scope .pp-bottom__tooltip-trigger{display:inline-block}";Q(a7);function gc({useNoiseSettingBtn:e=!1,onSettings:t,onNext:a,onResult:r,stepIndex:n=0,stepCount:i=0,pageIndex:s=0,pageCount:c=1}){const{t:u}=me.useTranslation(),[d,m]=l.useState(!1),[h,p]=l.useState(null),[g,v]=l.useState(!1),b=l.useRef(null),y=l.useRef(null),f=nc(),x=s<c-1,_=s===c-1,C=n===Math.max(0,i);l.useEffect(()=>{e||(m(!1),p(null))},[e]);const A=l.useCallback(()=>{m(!1),p(null)},[]),w=l.useCallback(()=>{if(d){m(!1),p(null);return}const T=b?.current?.getBoundingClientRect();T&&p(T),t?.(),m(!0)},[d,t]),S=l.useCallback(()=>{if(d){m(!1),p(null);return}const T=y?.current?.getBoundingClientRect();T&&p(T),t?.(),m(!0)},[d,t]),D=l.useCallback(()=>v(T=>!T),[]);return o.jsxs("div",{className:"pp-bottom",children:[o.jsxs("div",{className:"pp-bottom__left",children:[e?o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"pp-bottom__settings--desktop",children:o.jsx("div",{ref:b,className:"pp-bottom__tooltip-trigger","data-tooltip-ignore":!0,children:o.jsx(le,{size:56,type:"bar",icon:"settings",onClick:w,selected:d,ariaLabel:u("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815"),label:u("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815"),minWidth:140})})}),o.jsx("div",{className:"pp-bottom__settings--mobile",children:o.jsx("div",{ref:y,className:"pp-bottom__tooltip-trigger","data-tooltip-ignore":!0,children:o.jsx(le,{size:56,type:"dot",icon:"settings",onClick:S,selected:d,ariaLabel:u("training.settings","\uC124\uC815"),minWidth:52})})})]}):null,e&&o.jsx(le,{size:40,type:"dot",shape:"pill",icon:"audio-lines",onClick:D,selected:g,ariaLabel:u("training.meter.toggle","\uC624\uB514\uC624 \uBBF8\uD130 \uD45C\uC2DC")}),e&&g&&o.jsxs("div",{className:"pp-bottom__meters",children:[o.jsxs("div",{className:"pp-bottom__meter",children:[o.jsx("span",{className:"pp-bottom__meter-label caption-1",children:u("training.meter.sentence","\uC7AC\uC0DD")}),o.jsx(vn,{analyser:f?.mainAnalyser??null,orientation:"horizontal",length:112,label:"db",labelPos:"left",ariaLabel:u("training.meter.sentence","\uC7AC\uC0DD")})]}),o.jsxs("div",{className:"pp-bottom__meter",children:[o.jsx("span",{className:"pp-bottom__meter-label caption-1",children:u("training.meter.noise","\uC18C\uC74C")}),o.jsx(vn,{analyser:f?.noiseAnalyser??null,orientation:"horizontal",length:112,label:"db",labelPos:"left",ariaLabel:u("training.meter.noise","\uC18C\uC74C")})]})]})]}),o.jsxs("div",{className:"pp-bottom__right",children:[_&&o.jsx(le,{size:56,type:"bar",icon:"check",onClick:typeof r=="function"?r:a,ariaLabel:u("training.viewResult","\uACB0\uACFC\uBCF4\uAE30"),label:u("training.viewResult","\uACB0\uACFC\uBCF4\uAE30"),variant:"main",disabled:!C}),x&&o.jsx(le,{size:56,type:"bar",rightIcon:"chevron-right",align:"right",onClick:a,ariaLabel:u("training.nextQuestion","\uB2E4\uC74C \uBB38\uC81C"),label:u("training.nextQuestion","\uB2E4\uC74C \uBB38\uC81C"),variant:"main",disabled:!C})]}),e&&d&&o.jsx(bc,{anchorRect:h,onClose:A})]})}var o7=".ihabdevteam-core-scope .training-page-top{box-sizing:border-box;width:100%}.ihabdevteam-core-scope .pp-title.training-popup-title{align-items:center;background:var(--color-deepWhite);border-bottom:1px solid var(--color-whiteLine);box-sizing:border-box;display:flex;gap:var(--spacing-s);justify-content:space-between;padding:12px 16px;position:relative;width:100%;z-index:6}.ihabdevteam-core-scope .pp-title__left{align-items:center;display:flex;gap:var(--spacing-s);min-width:0}.ihabdevteam-core-scope .pp-title__text{display:flex;flex-direction:column;min-width:0}.ihabdevteam-core-scope .pp-title__depth{color:var(--color-gray)}.ihabdevteam-core-scope .pp-title__title{font-weight:700;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .pp-title__title--empty{color:var(--color-whiteLine)}.ihabdevteam-core-scope .pp-title__description{color:var(--color-gray);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:767px){.ihabdevteam-core-scope .pp-title.training-popup-title{gap:var(--spacing-xs);padding:10px 12px}.ihabdevteam-core-scope .pp-title__depth{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .pp-title__left{flex:1;min-width:0;overflow:hidden}}";Q(o7);function fc({title:e,subtitle:t,desc:a,depth:r,icon:n,wrapperStyle:i,iconTooltip:s,pageIndex:c,pageCount:u,progressMax:d,progressIndex:m,onBack:h,onClose:p}){const{t:g}=me.useTranslation(),v=oa("(max-width: 767px)"),b=Number.isInteger(m)?m:c||0,y=Number.isInteger(d)?d:u||0,f=h||p,x=Array.isArray(r)?v?r[r.length-1]:r.join(" / "):r,_=typeof e=="string"?e.trim():e,C=typeof t=="string"?t.trim():t,A=!!(_||C),w=A?_||C:g("common.emptyTrainingName","\uD6C8\uB828 \uC774\uB984\uC774 \uBE44\uC5B4 \uC788\uC2B5\uB2C8\uB2E4."),S=x||t,D=v&&typeof S=="string"&&(S.includes(" \xB7 ")||S.includes(" / "))?S.split(/\s[·/]\s/).pop():S,T=l.useMemo(()=>{const E=i&&typeof i=="object"?{...i}:{};return!("width"in E)&&!("height"in E)&&(E.width="40px",E.height="40px"),E},[i]);return o.jsxs("header",{className:"pp-title training-popup-title",children:[o.jsxs("div",{className:"pp-title__left",children:[f?o.jsx(le,{size:48,type:"dot",icon:"chevron-left",ariaLabel:g("common.back","\uB4A4\uB85C"),onClick:f,useBorder:!1,iconSize:"large",iconColor:"--color-black",variant:"transparent-gray"}):null,o.jsx("div",{children:n?o.jsx(gm,{icon:n,label:e,tooltip:s,wrapperStyle:T}):null}),o.jsxs("div",{className:"pp-title__text",children:[D?o.jsx("span",{className:"pp-title__depth caption-1",children:D}):null,o.jsx("span",{className:`pp-title__title h2${A?"":" pp-title__title--empty"}`,children:w}),a?o.jsx("span",{className:"pp-title__description caption-1",children:a}):null]})]}),o.jsx(Vl,{max:Math.max(0,y??0),index:Math.max(0,b??0)})]})}function Sb(){typeof window<"u"&&window.dispatchEvent(new CustomEvent("speechear.popup.close"))}function Ab(e){return!e&&e!==0?[]:Array.isArray(e)?e.flatMap(t=>typeof t=="string"?t.split("|").map(a=>a.trim()).filter(Boolean):t||t===0?[String(t)]:[]):typeof e=="string"?e.split("|").map(t=>t.trim()).filter(Boolean):[String(e)]}function vc(e,t,a){const r=e,n=r?.title||r?.name||(Array.isArray(t)?t[t.length-1]:void 0)||a||"\uD6C8\uB828",i=Kr().find(c=>c.key===(r?.category_0||r?.category_main_code)),s=i?.subs?.find(c=>c.key===(r?.category_1||r?.category_sub_code));return{title:n,label:r?.title||n,depth:t,icon:i?.icon,wrapperStyle:i?.color?{"--t-item-fg":i.color}:void 0,iconTooltip:[i?.label,s?.label].filter(Boolean).join(" / ")||void 0}}function Ln(e){return e&&typeof e=="object"&&typeof e.__ts=="number"?e.__ts:0}function Tb(e){const t=e;return Array.isArray(t?.items)?t.items:Array.isArray(e)?e:e?[e]:[]}function Bb({idPrefix:e,trainingData:t,depth:a,fallbackTitle:r="\uD6C8\uB828",pages:n=[],emptyMessage:i,buildResults:s,metaPatch:c}){const u=vc(t,a,r),d=typeof c=="function"?c(u)||{}:c||{},m=t?.id||t?.title||n.length;return{id:`${e}:${m}`,meta:{...u,...d},pages:n,emptyMessage:i,buildResults:s}}function Nb(e){if(typeof e=="string")return e;if(e&&typeof e=="object"){const t=e;return t.context||t.sentence||t.question||""||""}return""}function Db(e){if(e&&typeof e=="object"){const t=e;if(Array.isArray(t.selectedValues))return t.selectedValues;if(t.selectedValue!==void 0)return t.selectedValue;if(t.selectedIndex!==void 0)return t.selectedIndex;if(t.value!==void 0)return t.value}return e}function Eb(e,t=[]){if(Array.isArray(e))return e.join(", ");if(typeof e=="number"&&Array.isArray(t))return String(t[e]??"");if(typeof e=="string")return e}function yc(e,t){if(!(!e||typeof e!="object"))return e[`step-${t}`]}function jb(e,t,a,r){return yc(e,t*a+r)}function Lb({payload:e,selected:t,choices:a=[],correctAnswers:r=[]}){if(e&&typeof e=="object"){const n=e;if(Array.isArray(n.selectedValues))return r.every(i=>n.selectedValues.includes(i))&&n.selectedValues.every(i=>r.includes(i));if(typeof n.correct=="boolean")return n.correct}if(r.length){if(typeof t=="number"&&Array.isArray(a)&&a.length)return r.some(n=>String(n)===String(a[t]));if(typeof t<"u")return r.some(n=>String(n)===String(t))}}function Mb(e){return e?Array.isArray(e.items)?e.items.map(t=>{const a=t;return typeof t=="string"?{sentence:t}:{sentence:a.context||a.sentence||"",contextCode:a.contextCode||a.context_code}}):Array.isArray(e.sentences)?e.sentences.map(t=>{const a=t;return typeof t=="string"?{sentence:t}:{sentence:a.sentence||a.context||"",contextCode:a.contextCode}}):Array.isArray(e.contexts)?e.contexts:e.contextCode?[{contextCode:e.contextCode}]:[]:[]}const Pb=l.createContext(null);function r7(){const e=l.useContext(Pb);if(!e)throw new Error("useTrainingPagePopupContext must be used inside TrainingPagePopup");return e}function n7({index:e,stepIndex:t,isLast:a=!1,title:r="\uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uCE74\uB4DC\uB97C \uC120\uD0DD\uD558\uC138\uC694.",choices:n=[],onDone:i,onChange:s}){const c=typeof e=="number"?e:-1,u=typeof t!="number"?"disabled":c<t?"done":c===t?"active":"disabled",[d,m]=l.useState(()=>n.map(()=>null)),h=n.join("|");l.useEffect(()=>{m(h?h.split("|").map(()=>null):[])},[h]);const p=l.useMemo(()=>d.filter(v=>v!==null).length+1,[d]),g=l.useCallback(v=>{u==="active"&&m(b=>{const y=[...b];if(y[v]!==null){const x=y[v];return y.map(_=>_!==null&&_>=x?null:_)}y[v]=p;const f={selectedOrder:y,words:n,__ts:Date.now()};try{typeof s=="function"&&s(f)}catch{}if(y.every(x=>x!==null))try{typeof i=="function"&&i(f)}catch{}return y})},[u,p,s,i,n]);return o.jsx(Va,{index:e,stepIndex:t,isLast:a,title:r,onDone:i,children:o.jsx("div",{className:"training-step__cards",children:n.map((v,b)=>o.jsx(_n,{item:{word:v},disabled:u==="disabled",selectable:!0,selected:d[b]!==null,orderRank:d[b],onSelect:()=>g(b),flipDelay:b*120,hideLabel:!1,hideAudio:!0},`${v}-${b}`))})})}function _r(e){return null}_r.__isTrainingPage=!0;function No(e,t){const a=r7();return{ctx:a,index:e,stepIndex:a.currentStepIndex,isLast:typeof e=="number"&&typeof t=="number"?e===t-1:!1,onDone:r=>a.handleStepDone(r,e),onChange:r=>a.handleStepChange(r,e)}}function xc({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:n,isLast:i,onDone:s}=No(e,t);return o.jsx(En,{...a,index:r,stepIndex:n,isLast:i,onDone:s})}function Cc({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:n,isLast:i,onDone:s,onChange:c}=No(e,t);return o.jsx(Nn,{...a,index:r,stepIndex:n,isLast:i,onDone:s,onChange:c})}function _c({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:n,isLast:i,onDone:s,onChange:c}=No(e,t);return o.jsx(Dn,{...a,index:r,stepIndex:n,isLast:i,onDone:s,onChange:c})}function wc({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:n,isLast:i,onDone:s,onChange:c}=No(e,t);return o.jsx(jn,{...a,index:r,stepIndex:n,isLast:i,onDone:s,onChange:c})}function kc({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:n,isLast:i,onDone:s,onChange:c}=No(e,t);return o.jsx(pc,{...a,index:r,stepIndex:n,isLast:i,onDone:s,onChange:c})}function i7({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:n,isLast:i,onDone:s,onChange:c}=No(e,t);return o.jsx(n7,{...a,index:r,stepIndex:n,isLast:i,onDone:s,onChange:c})}var s7=`.ihabdevteam-core-scope .trp-result{display:flex;flex:1;flex-direction:column;min-height:0;padding:0;position:relative}.ihabdevteam-core-scope .popup--training-result .popup-header{padding:var(--spacing-l) var(--spacing-l) 0;position:absolute;right:0;top:0;z-index:1}.ihabdevteam-core-scope .trp-result__head{padding:12px 72px 20px;position:relative;text-align:center}.ihabdevteam-core-scope .trp-result__eyebrow{align-items:center;color:var(--color-main);display:inline-flex;gap:var(--spacing-xs);letter-spacing:.22em;margin:0 0 14px;text-transform:uppercase}.ihabdevteam-core-scope .trp-result__eyebrow:after,.ihabdevteam-core-scope .trp-result__eyebrow:before{background:currentColor;content:"";height:1px;opacity:.35;width:24px}.ihabdevteam-core-scope .trp-result__title{color:var(--color-black);font-size:28px;margin:0}.ihabdevteam-core-scope .trp-result__subtitle{color:var(--color-gray);margin:10px 0 0}.ihabdevteam-core-scope .trp-score{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-m);margin:36px auto 8px}.ihabdevteam-core-scope .trp-score__figure{font-feature-settings:"tnum";align-items:baseline;display:flex;font-variant-numeric:tabular-nums;gap:var(--spacing-s)}.ihabdevteam-core-scope .trp-score__sep,.ihabdevteam-core-scope .trp-score__total{align-self:flex-end;color:var(--color-lightGray);font-size:44px;letter-spacing:-1px;padding-bottom:18px}.ihabdevteam-core-scope .trp-score__big{background:var(--color-main);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:112px;letter-spacing:-5px;line-height:.92}.ihabdevteam-core-scope .trp-accuracy{align-items:center;display:flex;gap:6px;justify-content:center;margin:28px auto 0;max-width:620px}.ihabdevteam-core-scope .trp-accuracy__seg{background:var(--color-darkWhite,var(--color-darkWhite));border-radius:999px;flex:1;height:6px}.ihabdevteam-core-scope .trp-accuracy__seg.is-on{background:linear-gradient(90deg,var(--color-main),var(--color-sub))}.ihabdevteam-core-scope .trp-accuracy__label{font-feature-settings:"tnum";color:var(--color-gray);font-variant-numeric:tabular-nums;margin-left:var(--spacing-xs);white-space:nowrap}.ihabdevteam-core-scope .trp-result__body{padding:16px 0 0}.ihabdevteam-core-scope .result-table{width:100%}.ihabdevteam-core-scope .result-table__head{grid-gap:var(--spacing-m);border-bottom:1px solid var(--color-whiteLine);color:var(--color-lightGray);display:grid;gap:var(--spacing-m);grid-template-columns:1fr 100px;letter-spacing:.16em;padding:12px 4px 14px;text-transform:uppercase}.ihabdevteam-core-scope .result-table--answer .result-table__head,.ihabdevteam-core-scope .result-table--answer .result-table__row{grid-template-columns:1fr 200px 100px}.ihabdevteam-core-scope .result-table__head .col-right{text-align:center}.ihabdevteam-core-scope .result-table__row{grid-gap:var(--spacing-m);align-items:center;border-bottom:1px solid var(--color-whiteLine);display:grid;gap:var(--spacing-m);grid-template-columns:1fr 100px;padding:22px 4px;transition:background .18s ease}.ihabdevteam-core-scope .result-table__row:hover{background:var(--color-deepWhite)}.ihabdevteam-core-scope .result-table__row:last-child{border-bottom:0}.ihabdevteam-core-scope .trp-row__problem{align-items:baseline;display:flex;gap:10px}.ihabdevteam-core-scope .trp-row__no{font-feature-settings:"tnum";color:var(--color-lightGray);flex-shrink:0;font-variant-numeric:tabular-nums;width:32px}.ihabdevteam-core-scope .trp-row__q{color:var(--color-black);letter-spacing:-.1px}.ihabdevteam-core-scope .trp-row__judge{align-self:center;display:flex;justify-content:center}.ihabdevteam-core-scope .trp-row__answers{align-self:center;display:flex;flex-direction:column;gap:var(--spacing-xs)}.ihabdevteam-core-scope .trp-row__answer-line{align-items:baseline;display:flex;gap:10px}.ihabdevteam-core-scope .trp-row__answer-label{flex-shrink:0;width:32px}.ihabdevteam-core-scope .trp-row__answer-label.answer-correct{color:var(--color-lightGray)}.ihabdevteam-core-scope .trp-row__answer-label.answer-selected.is-correct{color:var(--color-main)}.ihabdevteam-core-scope .trp-row__answer-label.answer-selected.is-wrong{color:var(--color-error)}.ihabdevteam-core-scope .trp-row__answer-value{color:var(--color-black)}.ihabdevteam-core-scope .trp-row__answer-value.is-correct{color:var(--color-main)}.ihabdevteam-core-scope .trp-row__answer-value.is-wrong{color:var(--color-error)}.ihabdevteam-core-scope .popup-footer.trp-result__foot{align-items:center;background:var(--color-white);display:flex;flex-shrink:0;gap:var(--spacing-s);justify-content:center;padding:var(--spacing-l)}.ihabdevteam-core-scope .trp-foot__note{align-items:center;color:var(--color-gray);display:flex;font-size:13px;gap:var(--spacing-xs)}.ihabdevteam-core-scope .trp-foot__note svg{color:var(--color-main);flex-shrink:0}.ihabdevteam-core-scope .trp-actions{display:flex;gap:var(--spacing-s)}@keyframes result-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.ihabdevteam-core-scope .trp-result.is-on{animation:result-rise .5s cubic-bezier(.22,.9,.3,1) both}.ihabdevteam-core-scope .trp-result.is-on .trp-score__big{animation:result-rise .7s cubic-bezier(.22,.9,.3,1) .1s both}.ihabdevteam-core-scope .trp-result.is-on .result-table__row{animation:result-rise .5s cubic-bezier(.22,.9,.3,1) both}.ihabdevteam-core-scope .trp-result.is-on .result-table__row:nth-child(2){animation-delay:.18s}.ihabdevteam-core-scope .trp-result.is-on .result-table__row:nth-child(3){animation-delay:.24s}.ihabdevteam-core-scope .trp-result.is-on .result-table__row:nth-child(4){animation-delay:.3s}.ihabdevteam-core-scope .trp-result.is-on .result-table__row:nth-child(5){animation-delay:.36s}@media (max-width:767px){.ihabdevteam-core-scope .trp-result{padding:0}.ihabdevteam-core-scope .trp-result__head{padding:0 20px 20px}.ihabdevteam-core-scope .trp-result__body{padding:0}.ihabdevteam-core-scope .popup-footer.trp-result__foot{border-top:1px solid var(--color-whiteLine);gap:var(--spacing-xs);padding:var(--spacing-l)}.ihabdevteam-core-scope .trp-actions{display:flex;gap:var(--spacing-xs);width:100%}.ihabdevteam-core-scope .trp-actions>*{flex:1;min-width:0}.ihabdevteam-core-scope .trp-score{gap:10px;margin:20px auto 4px}.ihabdevteam-core-scope .trp-score__big{font-size:72px;letter-spacing:-3px}.ihabdevteam-core-scope .trp-score__sep,.ihabdevteam-core-scope .trp-score__total{font-size:28px;padding-bottom:10px}.ihabdevteam-core-scope .result-table__head{display:none}.ihabdevteam-core-scope .result-table__head,.ihabdevteam-core-scope .result-table__row{gap:var(--spacing-xs);grid-template-columns:1fr auto}.ihabdevteam-core-scope .result-table__row{padding:14px 4px}.ihabdevteam-core-scope .trp-row__judge{justify-content:flex-start}.ihabdevteam-core-scope .result-table--answer .result-table__row{align-items:start;gap:6px;grid-template-columns:1fr;grid-template-rows:auto auto auto;padding:14px 4px}.ihabdevteam-core-scope .result-table--answer .trp-row__judge{grid-row:1;justify-content:flex-start}.ihabdevteam-core-scope .result-table--answer .trp-row__problem{grid-row:2}.ihabdevteam-core-scope .result-table--answer .trp-row__answers{grid-row:3}
967
967
  /* !important \uD544\uC694 \u2014 TrainingResultPopup.tsx\uAC00 Badge\uC5D0 minWidth={80}\uC744 \uC778\uB77C\uC778\uC73C\uB85C
968
968
  \uC804\uB2EC\uD558\uBBC0\uB85C(\uCF54\uB4DC \uD655\uC778\uB428) \uBAA8\uBC14\uC77C\uC5D0\uC11C \uC790\uC5F0 \uD3ED\uC73C\uB85C \uB418\uB3CC\uB9AC\uB824\uBA74 \uD2B9\uC774\uB3C4\uB85C\uB294 \uBD80\uC871. */.ihabdevteam-core-scope .trp-row__judge .badge{min-width:0!important;min-width:auto!important}.ihabdevteam-core-scope .result-table--answer .trp-row__judge .badge{height:26px;padding:0 12px}}`;Q(s7);function Sc(...e){for(const t of e)if(typeof t=="string"){const a=t.trim();if(a.length)return a}else{if(typeof t=="number"||typeof t=="boolean")return String(t);if(Array.isArray(t)&&t.length)return t.join(", ");if(t&&typeof t=="object"){const a=t,r=[a.text,a.label,a.value];for(const n of r){if(typeof n=="string"&&n.trim().length)return n.trim();if(typeof n=="number"||typeof n=="boolean")return String(n)}}}return null}function l7(e){return Sc(e?.question,e?.q,e?.sentence,e?.text,e?.prompt,e?.wording)}function Rb(e){if(!e)return;if(typeof e.decision=="boolean")return e.decision;if(typeof e.correct=="boolean")return e.correct;if(typeof e.heard=="boolean")return e.heard;if(typeof e.judgement=="boolean")return e.judgement;const t=Sc(e?.status,e?.result,e?.judge,e?.note);if(t){const a=t.toLowerCase();if(["ok","true","\uB9DE\uC74C","\uC815\uB2F5"].some(r=>a.includes(r)))return!0;if(["ng","false","\uD2C0\uB9BC","\uC624\uB2F5"].some(r=>a.includes(r)))return!1}}function Ac(e){const{score:t,contextsLength:a,results:r=[],subtitle:n,onReplay:i,onClose:s,inline:c=!1}=e||{},{t:u}=me.useTranslation();l.useEffect(()=>{const b=a??0;t!=null&&b>0&&t/b>.5&&window.dispatchEvent(new CustomEvent("party:trigger",{detail:{count:140,strength:1.6,duration:2200}}))},[t,a]);const d=l.useCallback(b=>{const y=Rb(b),f=Sc(b?.wording,b?.label);return y===!0?{variant:"main",label:f??u("training.result.heardWell","\uC798 \uB4E4\uC5C8\uC5B4\uC694")}:y===!1?{variant:"danger",label:f??u("training.result.notHeard","\uBABB \uB4E4\uC5C8\uC5B4\uC694")}:{variant:"disabled",label:f??u("training.result.notJudged","\uBBF8\uD310\uC815")}},[u]),m=a??0,h=t??0,p=l.useMemo(()=>Array.isArray(r)?r:[],[r]),g=l.useMemo(()=>p.map(b=>{const y=b??{},f=l7(y)||"(\uB0B4\uC6A9\uC5C6\uC74C)",{variant:x,label:_}=d(y),C=Array.isArray(y.corrects)?y.corrects:[],A=C.length?C.join(", "):y.answer!=null&&y.answer!==""?String(y.answer):null,w=typeof y.selectedText=="string"?y.selectedText:null,S=Rb(y)===!0;return{problem:f,variant:x,label:_,answer:A,selectedText:w,isCorrect:S}}),[p,d]),v=l.useMemo(()=>g.some(b=>b.answer!==null||b.selectedText!==null),[g]);return o.jsx(Ta,{onClose:s,inline:c,ariaLabel:u("training.result.title","\uD6C8\uB828\uC744 \uBAA8\uB450 \uB9C8\uCCE4\uC2B5\uB2C8\uB2E4."),className:"popup--training-result",footerClassName:"trp-result__foot",footer:({animateThen:b,closeWithAnimation:y})=>o.jsxs("div",{className:"trp-actions",children:[o.jsx(le,{size:56,type:"bar",label:u("training.result.replay","\uB2E4\uC2DC\uD558\uAE30"),onClick:()=>b(i)}),o.jsx(le,{size:56,type:"bar",label:u("training.result.done","\uC644\uB8CC"),variant:"main",onClick:y})]}),children:()=>o.jsxs("div",{className:"trp-result is-on",children:[o.jsxs("header",{className:"trp-result__head",children:[o.jsx("p",{className:"trp-result__eyebrow caption-1",children:u("training.result.eyebrow","\uD6C8\uB828 \uC644\uB8CC")}),o.jsx("h1",{className:"trp-result__title h2",children:u("training.result.title","\uD6C8\uB828\uC744 \uBAA8\uB450 \uB9C8\uCCE4\uC2B5\uB2C8\uB2E4.")}),n&&o.jsx("p",{className:"trp-result__subtitle body-3",children:n}),o.jsx("div",{className:"trp-score",children:o.jsxs("div",{className:"trp-score__figure","aria-label":u("training.result.scoreAria",{correct:h,total:m}),children:[o.jsx("span",{className:"trp-score__big",children:h}),o.jsx("span",{className:"trp-score__sep",children:"/"}),o.jsx("span",{className:"trp-score__total",children:m})]})})]}),g.length>0&&o.jsx("section",{className:"trp-result__body",children:o.jsxs("div",{className:`result-table${v?" result-table--answer":""}`,role:"table","aria-label":u("training.result.tableAriaLabel","\uBB38\uD56D\uBCC4 \uD310\uC815"),children:[o.jsxs("div",{className:"result-table__head caption-1",role:"row",children:[o.jsx("span",{role:"columnheader",children:u("training.result.colProblem","\uBB38\uC81C")}),v&&o.jsx("span",{role:"columnheader",children:u("training.result.colAnswerSelected","\uC815\uB2F5 \xB7 \uC120\uD0DD")}),o.jsx("span",{className:"col-right",role:"columnheader",children:u("training.result.colJudge","\uD310\uC815")})]}),g.map((b,y)=>o.jsxs("div",{className:"result-table__row",role:"row",children:[o.jsxs("div",{className:"trp-row__problem",children:[o.jsx("span",{className:"trp-row__no caption-1",children:String(y+1).padStart(2,"0")}),o.jsx("div",{className:"trp-row__q body-2",children:b.problem})]}),v&&o.jsxs("div",{className:"trp-row__answers",children:[b.answer!==null&&o.jsxs("div",{className:"trp-row__answer-line",children:[o.jsx("span",{className:"trp-row__answer-label answer-correct caption-1",children:u("training.result.colAnswer","\uC815\uB2F5")}),o.jsx("span",{className:"trp-row__answer-value body-2",children:b.answer})]}),o.jsxs("div",{className:"trp-row__answer-line",children:[o.jsx("span",{className:`trp-row__answer-label answer-selected caption-1 ${b.isCorrect?"is-correct":"is-wrong"}`,children:u("training.result.colSelected","\uC120\uD0DD")}),o.jsx("span",{className:`trp-row__answer-value body-2 ${b.isCorrect?"is-correct":"is-wrong"}`,children:b.selectedText??"\u2014"})]})]}),o.jsx("div",{className:"trp-row__judge",children:o.jsx(ht,{variant:b.variant,label:b.label,fill:"soft",minWidth:80})})]},y))]})})]})})}function c7(e){l.useEffect(()=>{if(!e)return;const t=new Date;return()=>{const a=new Date;a.getTime()-t.getTime()<5e3||Ki({trainingType:e,startedAt:t.toISOString(),endedAt:a.toISOString()})}},[e])}function Tc(e,t){return e&&e.id||`page-${t??0}`}function Bc(e,t){return e&&e.key||`step-${t??0}`}function Mn(){return{pageIndex:0,stepIndex:0,answersByPage:{}}}function d7(e,t){return typeof e?.props=="function"?e.props(t)||{}:e?.props||{}}const $b=new Set(["LISTEN_IN_NOISE","SHORT_STORY","LONG_STORY","ORDERING_SENTENCE"]),u7=e=>o.jsx(Ac,{score:e.score,contextsLength:e.contextsLength,results:e.results,onReplay:e.onReplay,onClose:e.onClose}),p7='a[href],button:not([disabled]),input:not([disabled]),select:not([disabled]),textarea:not([disabled]),[tabindex]:not([tabindex="-1"])';function h7(e){const{scenario:t,title:a,subTitle:r,depth:n,icon:i,wrapperStyle:s,iconTooltip:c,pageIndex:u,pageCount:d,stepIndex:m,stepCount:h,onBack:p,onComplete:g,onNext:v,onSettings:b,useNoiseSetting:y=!0,children:f,ariaLabel:x,label:_,buildResults:C,onResult:A,typeKey:w,entryPoint:S,dailyTotal:D,itemRef:T,renderResultPopup:E}=e;c7(w&&!$b.has(w)?w:"");const W=l.useRef(0);l.useEffect(()=>{W.current=Date.now()},[]);const{t:M}=me.useTranslation(),k=A,N=!!t,j=t?.id||null,F=t?.meta||{},te=Array.isArray(t?.pages)?t.pages:[],Z=Array.isArray(f)||l.isValidElement(f)&&typeof f!="function"?l.Children.toArray(f).filter(l.isValidElement):[],ee=Z.length>0,L=ne=>ne===_r||ne?.__isTrainingPage===!0,R=ee&&Z.some(ne=>L(ne.type)),O=R?Z.filter(ne=>L(ne.type)).map((ne,ge)=>{const fe=ne.props||{};return{id:`children-page-${ge}`,steps:l.Children.toArray(fe.children).filter(l.isValidElement),pageTop:fe.pageTop||fe.top||null,pageBottom:fe.pageBottom||fe.bottom||null}}):[{id:"children-page-0",steps:Z}],H=ee&&!N&&typeof f!="function",$=H?Math.max(1,O.length):0;l.useEffect(()=>{if(!(typeof document>"u"||!document.body)&&!document.body.classList.contains("ihabdevteam-core-scope"))return document.body.classList.add("ihabdevteam-core-scope"),()=>{document.body.classList.remove("ihabdevteam-core-scope")}},[]),l.useEffect(()=>{if(typeof document>"u"||!document.body)return;const ne=document.body;return ne.dataset.ihabTrainingPopupCount=String(Number(ne.dataset.ihabTrainingPopupCount||"0")+1),ne.classList.add("ihab-training-popup-open"),()=>{const ge=Number(ne.dataset.ihabTrainingPopupCount||"1")-1;ge>0?ne.dataset.ihabTrainingPopupCount=String(ge):(delete ne.dataset.ihabTrainingPopupCount,ne.classList.remove("ihab-training-popup-open"))}},[]),l.useEffect(()=>{if(!(typeof document>"u"||!document.body))return q8()},[]);const[q,I]=l.useState({...mb,enabled:!1}),G=l.useRef(q);l.useEffect(()=>{G.current=q},[q]),l.useEffect(()=>{let ne=!1;return es().then(ge=>{if(ne)return;const fe=ge?{...G.current,...ge}:{...mb};G.current=fe,I(fe)}),()=>{ne=!0}},[]);const[z,Y]=l.useState(null),[J,ue]=l.useState(null),pe=l.useCallback((ne,ge)=>{ne==="main"?Y(ge):ue(ge)},[]),ae=l.useCallback(ne=>{const ge={...G.current,...ne};G.current=ge,I(ge),ts(ge)},[]),X=q.mainSpeed,ce=q.mainVolume,xe=l.useCallback(ne=>ae({mainSpeed:ne}),[ae]),Se=l.useCallback(ne=>ae({mainVolume:ne}),[ae]),Ae=l.useMemo(()=>({settings:q,setSettings:ae,registerAnalyser:pe,mainAnalyser:z,noiseAnalyser:J,playbackRate:X,setPlaybackRate:xe,mainVolume:ce,setMainVolume:Se}),[q,ae,pe,z,J,X,xe,ce,Se]),P=l.useRef(null),[oe,re]=l.useState("center"),[Ce,De]=l.useState(!1),Ie=l.useRef(!1),Oe=l.useRef(null),Fe=l.useCallback(ne=>{Ie.current||(Ie.current=!0,De(!0),Oe.current=setTimeout(ne,Kk))},[]);l.useEffect(()=>()=>{Oe.current&&clearTimeout(Oe.current)},[]),l.useEffect(()=>{const ne=P.current;if(!ne)return;const ge=()=>Array.from(ne.querySelectorAll(p7)).filter(ie=>!ie.closest('[aria-hidden="true"]')),fe=ge()[0];if(fe)try{fe.focus()}catch{}const U=ie=>{if(ie.key==="Escape"){ie.preventDefault(),Fe(()=>{typeof p=="function"&&p()});return}if(ie.key==="Tab"){const ve=ge();if(ve.length===0)return;const we=ve[0],ke=ve[ve.length-1];ie.shiftKey?document.activeElement===we&&(ie.preventDefault(),ke.focus()):document.activeElement===ke&&(ie.preventDefault(),we.focus())}};return ne.addEventListener("keydown",U),()=>ne.removeEventListener("keydown",U)},[p,Fe]);const[Qe,Re]=l.useState(!1),Ge=l.useRef(!1),[We,be]=l.useState(null),[at,He]=l.useState(""),[Le,Ue]=l.useState(()=>Mn()),Dt=l.useRef(typeof u=="number"?u:null);l.useEffect(()=>{!N&&!H||(Ue(Mn()),be(null))},[N,j,H]),l.useEffect(()=>{H&&Ue(ne=>{const ge=Math.max(0,Math.min(ne.pageIndex,Math.max(0,$-1)));return ge!==ne.pageIndex?{...ne,pageIndex:ge,stepIndex:0}:ne})},[H,$]);const Ke=H?Math.max(0,Math.min(Le.pageIndex,$-1)):0,Ye=H?O[Ke]:null,ut=H&&Ye&&Array.isArray(Ye.steps)?Ye.steps:[],je=N?Le.pageIndex:H?Ke:typeof u=="number"?u:0,rt=N?te[Math.max(0,Math.min(Le.pageIndex,Math.max(0,te.length-1)))]:null,Je=N&&rt&&Array.isArray(rt.steps)?rt.steps:[],$e=N?Je.length:H?ut.length:typeof h=="number"?h:0,Ze=N||H?Math.max(0,Math.min(Le.stepIndex,Math.max(0,$e))):typeof m=="number"?m:0,et=N?te.length:H?$:typeof d=="number"?d:0;l.useLayoutEffect(()=>{const ne=Dt.current;if(typeof je=="number"&&ne!==null&&je!==ne&&je>ne)try{He(M("training.problemNotice",{n:je+1}))}catch{}Dt.current=typeof je=="number"?je:Dt.current},[je,u,M]),l.useLayoutEffect(()=>{const ne=P.current;if(!ne)return;const ge=()=>ne.querySelector(".page-popup__scroll");let fe=null,U=null,ie=null;const ve=ct=>{const de=ge();if(!de)return;const Te=de.scrollHeight<=de.clientHeight;if(re(Te?"center":"top"),ct&&!Ge.current){Ge.current=!0;try{Re(!0)}catch{}try{Me.disconnect()}catch{}}},we=()=>{fe!==null&&cancelAnimationFrame(fe),fe=requestAnimationFrame(()=>{U!==null&&clearTimeout(U),U=setTimeout(()=>ve(!0),60)})},ke=()=>{ie!==null&&cancelAnimationFrame(ie),ie=requestAnimationFrame(()=>ve(!1))};we(),window.addEventListener("resize",ke);const Me=new MutationObserver(we);Me.observe(ne,{childList:!0,subtree:!0,attributes:!0});const nt=setTimeout(()=>{Ge.current||ve(!0)},400);return()=>{window.removeEventListener("resize",ke),fe!==null&&cancelAnimationFrame(fe),U!==null&&clearTimeout(U),ie!==null&&cancelAnimationFrame(ie),clearTimeout(nt);try{Me.disconnect()}catch{}}},[P]);const yt=l.useCallback(ne=>{P.current&&(P.current._childOnNext=ne)},[]),Et=l.useCallback(ne=>{P.current&&(P.current._childOnResult=ne)},[]),it=l.useCallback((ne,ge,fe)=>{Ue(U=>{const ie=U.answersByPage[ne]||{},ve=ie[ge],we=Ln(fe),ke=Ln(ve);return ve&&ke>we?U:{...U,answersByPage:{...U.answersByPage,[ne]:{...ie,[ge]:fe}}}})},[Ue]),Ht=l.useCallback((ne,ge,fe)=>{const U=Tc(rt,je),ie=Bc(ne,ge);it(U,ie,fe)},[rt,je,it]),mt=l.useCallback((ne,ge,fe)=>{const U=Tc(rt,je),ie=Bc(ne,ge);it(U,ie,fe),!fe?.allowChange&&ne?.autoAdvance!==!1&&Ue(ve=>({...ve,stepIndex:Math.max(ve.stepIndex,ge+1)}))},[rt,je,it,Ue]),Vt=l.useCallback((ne,ge)=>{const fe=Ye?.id||`children-page-${je??0}`,U=typeof ge=="number"?ge:Ze??0,ie=`step-${U}`;it(fe,ie,ne),ne?.allowChange||Ue(ve=>({...ve,stepIndex:Math.max(ve.stepIndex,U+1)}))},[Ye,je,Ze,it,Ue]),ia=l.useCallback((ne,ge)=>{const fe=Ye?.id||`children-page-${je??0}`,U=`step-${typeof ge=="number"?ge:Ze??0}`;it(fe,U,ne)},[Ye,je,Ze,it]),Gt=H?{currentPageIndex:je??0,currentStepIndex:Ze??0,totalStepsInPage:ut.length,handleStepDone:Vt,handleStepChange:ia}:null,Ea=async()=>{const ne=typeof t?.buildResults=="function"?await Promise.resolve(t.buildResults({scenario:t,pages:te,flowState:Le,answersByPage:Le.answersByPage})):null;return typeof k=="function"&&await Promise.resolve(k(ne))||ne},sa=async()=>{const ne=Ye?.id||`children-page-${Le.pageIndex}`,ge=Le.answersByPage[ne]||{},fe=R?(()=>{const ve={};let we=0;return O.forEach(ke=>{const Me=Le.answersByPage[ke.id]||{},nt=Array.isArray(ke.steps)?ke.steps.length:0;for(let ct=0;ct<nt;ct+=1){const de=Me[`step-${ct}`];typeof de<"u"&&(ve[`step-${we+ct}`]=de)}we+=nt}),ve})():ge;if(typeof C=="function"){const ve=await Promise.resolve(C(fe,{pageAnswers:ge,answersByPage:Le.answersByPage,pages:O,currentPageId:ne}));return typeof k=="function"&&await Promise.resolve(k(ve))||ve}const U=Object.entries(ge).map(([ve,we],ke)=>({index:ke,key:ve,payload:we})),ie={results:U,answers:U,score:0};return typeof k=="function"&&await Promise.resolve(k(ie))||ie},Kt=()=>{try{if(typeof document<"u"&&document.body){try{document.dispatchEvent(new CustomEvent("speechear-close-tooltips"))}catch{}document.dispatchEvent(new PointerEvent("pointerdown",{bubbles:!0,cancelable:!0})),document.dispatchEvent(new MouseEvent("click",{bubbles:!0,cancelable:!0}))}}catch{}if(N){const fe=Ea();be({});const U=fe;Promise.resolve(U).then(ie=>{be(ie||{isEmpty:!0})}).catch(ie=>{be({isEmpty:!0})});return}if(H){const fe=sa();be({});const U=fe;Promise.resolve(U).then(ie=>{be(ie||{isEmpty:!0})}).catch(ie=>{be({isEmpty:!0})});return}const ne=P.current&&P.current._childOnResult,ge=fe=>{try{return fe?fe():void 0}catch{return}};if(typeof ne=="function"){const fe=ge(ne);try{typeof document>"u"?require("url").pathToFileURL(__filename).href:Yt&&Yt.tagName.toUpperCase()==="SCRIPT"&&Yt.src||new URL("ihabdevteam-core.cjs.js",document.baseURI).href}catch{}fe&&typeof fe.then!="function"?be(fe):be(fe&&typeof fe.then=="function"?{}:{}),Promise.resolve(fe).then(U=>{U&&be(U)}).catch(U=>{});return}if(typeof k=="function"){const fe=ge(k);try{typeof document>"u"?require("url").pathToFileURL(__filename).href:Yt&&Yt.tagName.toUpperCase()==="SCRIPT"&&Yt.src||new URL("ihabdevteam-core.cjs.js",document.baseURI).href}catch{}fe&&typeof fe.then!="function"?be(fe):be(fe&&typeof fe.then=="function"?{}:{}),Promise.resolve(fe).then(U=>{try{typeof document>"u"?require("url").pathToFileURL(__filename).href:Yt&&Yt.tagName.toUpperCase()==="SCRIPT"&&Yt.src||new URL("ihabdevteam-core.cjs.js",document.baseURI).href}catch{}U&&be(U)}).catch(U=>{console.error("viewResults external handler failed",U)});return}},ja=()=>{if(N){if(typeof je=="number"&&typeof et=="number"&&je<et-1){Ue(ge=>({...ge,pageIndex:ge.pageIndex+1,stepIndex:0}));return}return Kt()}if(H){const ge=ut.length;if(typeof Ze=="number"&&Ze<ge-1){Ue(fe=>({...fe,stepIndex:fe.stepIndex+1}));return}if(typeof je=="number"&&typeof et=="number"&&je<et-1){Ue(fe=>({...fe,pageIndex:fe.pageIndex+1,stepIndex:0}));return}return Kt()}if(typeof v=="function"){try{v()}catch{}return}const ne=P.current&&P.current._childOnNext;if(typeof ne=="function"){try{ne()}catch{}return}},jt=N?F.title||F.label||x||M("common.popup","\uD31D\uC5C5"):a||_||(Array.isArray(n)?n[n.length-1]:void 0)||x||M("common.popup","\uD31D\uC5C5"),Ga=N?F.title??F.label??jt:a??_??jt,$t=(ne,ge)=>{const fe=Tc(rt,je),U=Bc(ne,ge),ie=Le.answersByPage[fe]?.[U],ve=d7(ne,{page:rt,pageIndex:je,step:ne,stepIndex:ge,storedPayload:ie,answersByPage:Le.answersByPage,flowState:Le}),we={key:U,index:ge,stepIndex:Ze,isLast:ge===Je.length-1};switch(ne?.type){case"listen":return o.jsx(En,{...we,...ve,onDone:ke=>mt(ne,ge,ke)});case"confirm":return o.jsx(Nn,{...we,...ve,onDone:ke=>mt(ne,ge,ke),onChange:ke=>Ht(ne,ge,ke)});case"confirmWithText":return o.jsx(Dn,{...we,...ve,onDone:ke=>mt(ne,ge,ke),onChange:ke=>Ht(ne,ge,ke)});case"orderList":return o.jsx(jn,{...we,...ve,onDone:ke=>mt(ne,ge,ke),onChange:ke=>Ht(ne,ge,ke)});default:return null}},ya=N?te.length>0?o.jsx("div",{className:"training-steps",children:Je.map((ne,ge)=>$t(ne,ge))}):o.jsx("div",{className:"page-popup__content page-popup__content--center",children:o.jsx("div",{className:"pp-empty",children:t?.emptyMessage||M("training.noQuestions","\uBB38\uC81C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")})}):null,qa=H?o.jsxs(Pb.Provider,{value:Gt,children:[Ye?.pageTop?o.jsx("div",{className:"training-page-top",children:Ye.pageTop}):null,o.jsx("div",{className:"training-steps",children:ut.map((ne,ge)=>{const fe=ne;return l.cloneElement(fe,{...fe.props,_stepIndex:ge,_totalSteps:ut.length,_stepKey:`step-${ge}`,_pageIndex:je})})}),Ye?.pageBottom?o.jsx("div",{className:"training-page-bottom",children:Ye.pageBottom}):null]}):null,Xe=l.useCallback(()=>{let ne;if(w){const ge=We,fe=ge?.results||ge?.answers||[],U=Array.isArray(fe)&&fe.length>0?fe.length:null,ie=Array.isArray(fe)?fe.filter(we=>we?.correct===!0||we?.isCorrect===!0||we?.score===1||we?.heard===!0||we?.judgement===!0).length:null,ve=U!=null?ie:null;Zi({items:Qi(fe),category:$b.has(w)?"sentence":"word",trainingType:w,entryPoint:S??"sentence",itemRef:T??null,correct:ve,total:U,score:typeof ge?.score=="number"?ge.score:null,durationSeconds:Math.max(0,Math.round((Date.now()-W.current)/1e3)),dailyTotal:D??null}),ne={correct:ve,total:U}}be(null),Fe(()=>{typeof g=="function"&&g(ne),typeof p=="function"&&p()})},[g,p,w,S,D,T,We,be,Fe]),zt=l.useCallback(()=>He(""),[He]),wt=l.useCallback(()=>{Fe(()=>{typeof p=="function"&&p()})},[p,Fe]),xa=o.jsxs("div",{className:`page-popup${Ce?" page-popup--closing":""}`,role:"dialog","aria-label":jt,children:[o.jsxs("div",{ref:P,className:`page-popup__panel ${Qe?"":"page-popup__panel--measuring"} ${oe==="center"?"page-popup__panel--center":oe==="top"?"page-popup__panel--top":""}`,"aria-modal":"true",children:[o.jsx(fc,{title:Ga,subtitle:N?F.subtitle||F.label:Array.isArray(n)?n.join(" / "):void 0,desc:N?void 0:r,depth:N?F.depth:n,icon:N?F.icon:i,wrapperStyle:N?F.wrapperStyle:s,iconTooltip:N?F.iconTooltip:c,progressMax:et,progressIndex:je,pageIndex:je,pageCount:et,onBack:wt,onClose:wt}),o.jsx("div",{className:"page-popup__scroll",children:o.jsx("div",{className:`page-popup__content ${oe==="center"?"page-popup__content--center":"page-popup__content--top"}`,children:H?qa:N?ya:typeof f=="function"?f({registerOnNext:yt,registerOnResult:Et,panelRef:P,setResultOverlay:be}):f})}),o.jsx(gc,{onSettings:b,onNext:ja,onResult:Kt,useNoiseSettingBtn:!!(N?F.useNoiseSetting??!0:y),stepIndex:Ze,stepCount:$e,pageIndex:je,pageCount:et})]}),We&&!We.isEmpty&&(E??u7)({score:We.score,results:We.results||We.answers||[],contextsLength:We.results?We.results.length:We.answers?We.answers.length:0,onReplay:()=>{if(be(null),N){if(Ue(Mn()),typeof t?.onReplay=="function")try{t.onReplay()}catch{}return}if(H){Ue(Mn());return}try{const ne=P.current&&P.current._childOnResult;typeof ne=="function"&&ne({replay:!0})}catch{}},onClose:Xe}),We?.isEmpty&&o.jsx("div",{className:"page-popup page-popup--result-empty",role:"dialog","aria-label":M("training.result.eyebrow","\uD6C8\uB828 \uC644\uB8CC"),children:o.jsxs("div",{className:"page-popup__panel page-popup__panel--center","aria-modal":"true",children:[o.jsx("div",{className:"page-popup__scroll",children:o.jsx("div",{className:"page-popup__content page-popup__content--center",children:o.jsx("div",{className:"page-popup__empty",children:M("training.result.eyebrow","\uD6C8\uB828 \uC644\uB8CC")})})}),o.jsx("div",{className:"page-popup__bottom",children:o.jsx(le,{variant:"main",size:48,onClick:Xe,label:M("training.result.done","\uC644\uB8CC")})})]})}),o.jsx(oo,{message:at,position:"top",onClose:zt})]}),la=o.jsx(bb.Provider,{value:Ae,children:xa});return typeof document<"u"&&document.body?qt.createPortal(la,document.body):la}const Da=h7;Da.Page=_r,Da.ListenStep=xc,Da.ConfirmStep=Cc,Da.ConfirmWithTextStep=_c,Da.OrderListStep=wc,Da.CardStep=kc,Da.CardOrderStep=i7;var m7=".ihabdevteam-core-scope .word-search-result-block__actions{display:flex;gap:var(--spacing-xs);justify-content:center}.ihabdevteam-core-scope .word-search-result-block__toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-xs);justify-content:flex-end}.ihabdevteam-core-scope .word-search-result-block__inner{background:var(--color-white);border:1px solid var(--color-darkWhite);border-radius:var(--radius-m);padding:var(--spacing-content)}.ihabdevteam-core-scope .word-search-result-block__inner:has(+.word-search-result-block__actions:not(:empty)){margin-bottom:var(--spacing-content)}.ihabdevteam-core-scope .word-search-result-block__items{grid-gap:var(--spacing-xs);display:grid;gap:var(--spacing-xs);grid-template-columns:repeat(auto-fill,200px);justify-content:center}.ihabdevteam-core-scope .word-search-result-block__items .button__label-text,.ihabdevteam-core-scope .word-search-result-block__items .button__sub-label-text{white-space:nowrap;word-break:keep-all}.ihabdevteam-core-scope .word-search-result-block__items .button__label:has(.button__label-text:nth-child(4)){gap:4px 10px;grid-auto-columns:auto;grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr))}.ihabdevteam-core-scope .word-search-result-block__items .button-word:has(.button__label-text:nth-child(4)){height:auto;min-height:72px;padding-bottom:8px;padding-top:8px}@media (max-width:767px){.ihabdevteam-core-scope .word-search-result-block__items{grid-template-columns:repeat(2,1fr);justify-content:normal}.ihabdevteam-core-scope .word-search-result-block__items .button{min-width:0!important;width:100%}}.ihabdevteam-core-scope .word-search-result-block__empty{color:var(--color-gray);margin:0;padding:24px 0;text-align:center}.ihabdevteam-core-scope .word-search-result-block__group{display:flex;flex-direction:column;gap:10px}.ihabdevteam-core-scope .word-search-result-block__group+.word-search-result-block__group{border-top:1px solid var(--color-darkWhite);margin-top:var(--spacing-l);padding-top:var(--spacing-l)}.ihabdevteam-core-scope .word-search-result-block__pagination-bottom{display:flex;justify-content:center;margin-top:16px}.ihabdevteam-core-scope .word-search-result-block__empty-wrap{align-items:center;display:flex;flex-direction:column;gap:8px;gap:var(--spacing-xs,8px)}.ihabdevteam-core-scope .word-search-result-block__empty-hint{color:var(--color-sub);line-height:1.6;max-width:34em;text-align:center}.ihabdevteam-core-scope .word-search-result-block__disc,.ihabdevteam-core-scope .word-search-result-block__notice{display:block}.ihabdevteam-core-scope .word-search-result-block__notice{color:var(--color-text-primary)}";Q(m7);var b7='.ihabdevteam-core-scope .tooltip-word-image{background:var(--color-white);border-radius:var(--radius-m);box-shadow:var(--shadow-dropdown);padding:var(--spacing-s);position:fixed;z-index:var(--z-tooltip)}.ihabdevteam-core-scope .tooltip-word-image__cells{display:flex;gap:var(--spacing-s)}.ihabdevteam-core-scope .tooltip-word-image__cell{background:#f5f5f5;background:var(--color-white,#f5f5f5);border-radius:var(--radius-card);flex-shrink:0;height:120px;overflow:hidden;position:relative;width:120px}.ihabdevteam-core-scope .tooltip-word-image__cell img{display:block;height:100%;-o-object-fit:cover;object-fit:cover;transition:opacity .2s;width:100%}.ihabdevteam-core-scope .tooltip-word-image__spinner{align-items:center;display:flex;inset:0;justify-content:center;position:absolute}.ihabdevteam-core-scope .tooltip-word-image__spinner:after{animation:tooltip-spin .7s linear infinite;border:3px solid #e0e0e0;border-radius:50%;border-top:3px solid var(--color-white,#e0e0e0);border:3px solid var(--color-white,#e0e0e0);border-top-color:var(--color-main,#4f6ef7);content:"";height:24px;width:24px}@keyframes tooltip-spin{to{transform:rotate(1turn)}}.ihabdevteam-core-scope .tooltip-word-image__cell--text{align-items:center;color:var(--color-black);display:flex;font-weight:700;justify-content:center}';Q(b7);function g7({label:e,homonum:t}){const a=Ma()?.(e,t)??"",{imgRef:r,loading:n,hasImage:i,onLoad:s,onError:c}=ql(a);return i?o.jsxs("div",{className:"tooltip-word-image__cell",children:[n&&o.jsx("div",{className:"tooltip-word-image__spinner"}),o.jsx("img",{ref:r,src:a,alt:e,draggable:!1,style:{opacity:n?0:1},onLoad:s,onError:c})]}):o.jsx("div",{className:"tooltip-word-image__cell tooltip-word-image__cell--text h3",children:o.jsx("span",{children:e})})}function Nc({words:e,anchorRect:t}){const a=l.useRef(null),[r,n]=l.useState(null);return l.useLayoutEffect(()=>{if(!t||!a.current)return;const{offsetWidth:i,offsetHeight:s}=a.current,c=window.innerWidth;let u=t.left+t.width/2-i/2,d=t.top-s-8;d<8&&(d=t.bottom+8),u=Math.max(8,Math.min(u,c-i-8)),n({left:u,top:d})},[t]),!t||e.length===0?null:qt.createPortal(o.jsx("div",{ref:a,className:"tooltip-word-image",style:{visibility:r?"visible":"hidden",left:r?.left??0,top:r?.top??-9999},children:o.jsx("div",{className:"tooltip-word-image__cells",children:e.map(i=>o.jsx(g7,{label:i.label,homonum:i.homonum},`${i.label}_${i.homonum??1}`))})}),document.body)}function zb({titleIcon:e,resultCount:t,resultUnit:a,searchQuery:r,items:n,groups:i,selected:s=[],onSelect:c,maxSelect:u,onClearSelection:d,onPrint:m,onPrintEmpty:h,className:p,emptyHint:g,sectionType:v="page",disc:b,notice:y}){const{t:f,i18n:x}=me.useTranslation(),_=x.language?.startsWith("ko")??!1,{anchorRect:C,openAt:A,close:w}=_o(),[S,D]=l.useState(null),T=l.useCallback(()=>{w(),D(null)},[w]),E=(r??"").trim(),W=/^[^,[\]\s]+$/.test(E)?E:"",M=W.length>0,[k,N]=l.useState("ganada"),[j,F]=l.useState("50"),[te,Z]=l.useState(1),[ee,L]=l.useState(M);ee!==M&&(L(M),N(M?"match":"ganada"));const R=k==="match"&&!M?"ganada":k,O=l.useMemo(()=>[...M?[{value:"match",label:f("wordSearch.sort.match",{defaultValue:"\uC2DC\uC791 \uC6B0\uC120"})}]:[],{value:"ganada",label:f("wordSearch.sort.ganada",{defaultValue:"\uAC00\uB098\uB2E4\uC21C \u2191"})},{value:"ganada_desc",label:f("wordSearch.sort.ganadaDesc",{defaultValue:"\uAC00\uB098\uB2E4\uC21C \u2193"})},{value:"syllable",label:f("wordSearch.sort.syllable",{defaultValue:"\uC74C\uC808 \uC218 \u2191"})},{value:"syllable_desc",label:f("wordSearch.sort.syllableDesc",{defaultValue:"\uC74C\uC808 \uC218 \u2193"})},{value:"grade",label:f("wordSearch.sort.grade",{defaultValue:"\uB4F1\uAE09\uC21C \u2191"})},{value:"grade_desc",label:f("wordSearch.sort.gradeDesc",{defaultValue:"\uB4F1\uAE09\uC21C \u2193"})}],[f,M]),H=l.useMemo(()=>["10","25","50","100"].map(P=>({value:P,label:f("wordSearch.pageSize",{count:Number(P),defaultValue:`${P}\uAC1C\uC529 \uBCF4\uAE30`})})),[f]),$=P=>P.words[0],q=l.useCallback((P,oe)=>{const re=Ie=>$(Ie)?.label??"",Ce=Ie=>$(Ie)?.syllables??[...re(Ie)].length,De=Ie=>{const Oe=parseInt($(Ie)?.grade??"",10);return Number.isFinite(Oe)?Oe:999};switch(R){case"match":{const Ie=[...W].length,Oe=Fe=>po(re(Fe).slice(0,Ie),W)?0:1;return Oe(P)-Oe(oe)||re(P).localeCompare(re(oe),"ko")}case"ganada":return re(P).localeCompare(re(oe),"ko");case"ganada_desc":return re(oe).localeCompare(re(P),"ko");case"syllable":return Ce(P)-Ce(oe)||re(P).localeCompare(re(oe),"ko");case"syllable_desc":return Ce(oe)-Ce(P)||re(P).localeCompare(re(oe),"ko");case"grade":return De(P)-De(oe)||re(P).localeCompare(re(oe),"ko");case"grade_desc":return De(oe)-De(P)||re(P).localeCompare(re(oe),"ko");default:return 0}},[R,W]),I=l.useMemo(()=>n.slice().sort(q),[n,q]),G=Number(j)||10,z=l.useMemo(()=>(i??[]).flatMap(P=>P.items.slice().sort(q).map(oe=>({item:oe,label:P.label}))),[i,q]),Y=i?z.length:I.length,J=Math.max(1,Math.ceil(Y/G)),ue=Math.min(te,J),pe=l.useMemo(()=>I.slice((ue-1)*G,ue*G),[I,ue,G]),ae=l.useMemo(()=>{if(!i)return null;const P=z.slice((ue-1)*G,ue*G),oe=new Map;for(const{item:re,label:Ce}of P)oe.has(Ce)||oe.set(Ce,[]),oe.get(Ce).push(re);return[...oe.entries()].map(([re,Ce])=>({label:re,items:Ce}))},[i,z,ue,G]);l.useEffect(()=>{Z(1)},[k,j,Y]);const X=Y>0?o.jsxs("div",{className:"word-search-result-block__toolbar",children:[o.jsx(Ut,{size:40,options:O,value:R,onChange:N,ariaLabel:f("wordSearch.sort.aria",{defaultValue:"\uC815\uB82C"})}),o.jsx(Ut,{size:40,options:H,value:j,onChange:F,ariaLabel:f("wordSearch.pageSizeAria",{defaultValue:"\uD398\uC774\uC9C0 \uD06C\uAE30"})}),o.jsx(br,{page:ue,totalPages:J,onChange:Z})]}):void 0,ce=P=>{c&&c(P)},xe=t!==void 0&&a?o.jsxs(o.Fragment,{children:[f("wordSearch.resultTitlePrefix","\uCD1D "),o.jsx("span",{style:{color:"var(--color-main)"},children:t}),f("wordSearch.resultTitleSuffix",{unit:_?Bi(a):a})]}):void 0,Se=t!==void 0&&t>0&&u!==void 0&&a?f("wordSearch.resultDisc",{unit:_?Di(a):a,max:u,selected:s.length}):void 0,Ae=b??(y?o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"word-search-result-block__notice",children:y}),Se?o.jsx("span",{className:"word-search-result-block__disc",children:Se}):null]}):Se);return o.jsxs(ro,{type:v,icon:e,title:xe,action:X,disc:Ae,className:ye("word-search-result-block",p),children:[o.jsxs("div",{className:"word-search-result-block__inner",children:[(i?i.length===0:n.length===0)&&o.jsxs("div",{className:"word-search-result-block__empty-wrap",children:[o.jsx("p",{className:"word-search-result-block__empty body-3",children:f("wordSearch.emptyResult","\uAC80\uC0C9 \uACB0\uACFC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")}),g&&o.jsx("p",{className:"word-search-result-block__empty-hint body-3",children:g})]}),i?(ae??[]).map(P=>o.jsx("div",{className:"word-search-result-block__group",children:o.jsx("div",{className:"word-search-result-block__items",children:P.items.map(oe=>{const re=s.includes(oe.id);return o.jsx("div",{onMouseEnter:Ce=>{A(Ce.currentTarget),D(oe.words)},onMouseLeave:T,children:o.jsx(le,{size:"word",align:"grid",label:oe.words.map(Ce=>Ce.label),subLabel:oe.words.map(Ce=>Ce.subLabel).filter(Boolean).length>0?oe.words.map(Ce=>Ce.subLabel):void 0,selected:re,onClick:()=>ce(oe.id),minWidth:200})},oe.id)})})},P.label)):o.jsx("div",{className:"word-search-result-block__items",children:pe.map(P=>{const oe=s.includes(P.id);return o.jsx("div",{onMouseEnter:re=>{A(re.currentTarget),D(P.words)},onMouseLeave:T,children:o.jsx(le,{size:"word",align:"grid",label:P.words.map(re=>re.label),subLabel:P.words.map(re=>re.subLabel).filter(Boolean).length>0?P.words.map(re=>re.subLabel):void 0,selected:oe,onClick:()=>ce(P.id),minWidth:200})},P.id)})}),S&&C&&o.jsx(Nc,{words:S,anchorRect:C})]}),J>1&&o.jsx("div",{className:"word-search-result-block__pagination-bottom",children:o.jsx(br,{page:ue,totalPages:J,onChange:Z})}),(d||m)&&o.jsxs("div",{className:"word-search-result-block__actions",children:[d&&o.jsx(le,{size:"56",type:"bar",label:f("common.resetSelection","\uC120\uD0DD \uCD08\uAE30\uD654"),selected:!1,disabled:s.length===0,onClick:s.length===0?void 0:d}),m&&o.jsx("div",{onClick:s.length===0?h:void 0,children:o.jsx(le,{size:"56",type:"bar",variant:"main",label:f("wordTable.title","\uB2E8\uC5B4 \uD45C \uB9CC\uB4E4\uAE30"),disabled:s.length===0,onClick:s.length===0?void 0:m})})]})]})}var f7='.ihabdevteam-core-scope .phoneme-select-block{align-items:flex-start;flex:1 1 auto;width:100%}.ihabdevteam-core-scope .phoneme-select-block__cell{align-items:center;display:flex;flex-direction:column;gap:12px}.ihabdevteam-core-scope .phoneme-select-block__controls{align-items:center;display:flex;flex-direction:row;gap:var(--spacing-xs);justify-content:center;width:100%}@media (max-width:767px){.ihabdevteam-core-scope .phoneme-select-block__controls{align-items:center;flex-direction:column}}.ihabdevteam-core-scope .phoneme-select-block__count-control{align-self:center}.ihabdevteam-core-scope .phoneme-select-block__cell-group{align-items:flex-start;display:flex;gap:var(--spacing-xs)}.ihabdevteam-core-scope .phoneme-select-block__cell-vs{align-self:center;color:var(--color-lightGray);margin-bottom:22px;padding:0 16px}.ihabdevteam-core-scope .phoneme-select-block__pair-panels{display:flex;gap:var(--spacing-s);width:100%}.ihabdevteam-core-scope .phoneme-select-block__panel-group{display:flex;flex:1;flex-direction:column;gap:var(--spacing-m)}.ihabdevteam-core-scope .phoneme-select-block__cells{align-items:flex-start;display:flex;gap:var(--spacing-xs);justify-content:center;padding:var(--spacing-m) 0;width:100%}.ihabdevteam-core-scope .phoneme-select-block__cell-circle{align-items:center;background:var(--color-white);border:1px solid var(--color-whiteLine);border-radius:var(--radius-m);box-shadow:var(--shadow-tooltip);display:flex;height:80px;justify-content:center;position:relative;width:240px}.ihabdevteam-core-scope .phoneme-select-block__cell-index{color:var(--color-gray);line-height:1}.ihabdevteam-core-scope .phoneme-select-block__cell-jamo{align-items:stretch;display:flex;flex-direction:row;height:100%;justify-content:center;width:100%}.ihabdevteam-core-scope .phoneme-select-block__cell-jamo-part{align-items:center;color:var(--color-black);display:flex;flex:1;flex-direction:column;gap:4px;justify-content:center;padding-top:3px;position:relative}.ihabdevteam-core-scope .phoneme-select-block__cell-jamo-part--no-label{padding-top:0}.ihabdevteam-core-scope .phoneme-select-block__cell-jamo-char.h1{line-height:1}.ihabdevteam-core-scope .phoneme-select-block__cell-jamo-char--excluded{color:var(--color-whiteLine);transform:translateY(-2px)}.ihabdevteam-core-scope .phoneme-select-block__cell-jamo-part--empty .phoneme-select-block__cell-jamo-char{transform:translateY(-2px)}.ihabdevteam-core-scope .phoneme-select-block__cell-jamo-label{color:var(--color-lightGray);line-height:1}.ihabdevteam-core-scope .phoneme-select-block__cell-jamo-part--empty .phoneme-select-block__cell-jamo-label{color:var(--color-darkWhite)}.ihabdevteam-core-scope .phoneme-select-block__cell-jamo-part+.phoneme-select-block__cell-jamo-part:before{background:var(--color-whiteLine);content:"";height:20px;left:0;position:absolute;top:50%;transform:translateY(-50%);width:1px}.ihabdevteam-core-scope .phoneme-select-block__cell-jamo-part--empty{color:var(--color-darkWhite)}.ihabdevteam-core-scope .phoneme-select-block__panels{align-items:stretch;align-self:stretch;display:flex;flex-direction:column;gap:var(--spacing-m);width:100%}.ihabdevteam-core-scope .phoneme-select-block__detail{align-items:flex-start;display:flex;flex-direction:row;gap:var(--spacing-s);justify-content:center}.ihabdevteam-core-scope .phoneme-select-block__detail>.filter-panel{flex:1}.ihabdevteam-core-scope .phoneme-select-block>.filter-panel{align-self:stretch;width:100%}.ihabdevteam-core-scope .phoneme-select-block__controls .button38--bar{min-width:96px}.ihabdevteam-core-scope .phoneme-select-block__required{color:var(--color-main);line-height:1;margin-left:2px}.ihabdevteam-core-scope .phoneme-select-block__before-search{display:flex;justify-content:center;text-align:center;width:100%}.ihabdevteam-core-scope .phoneme-select-block__search-row{display:flex;gap:var(--spacing-xs);justify-content:center;width:100%}.ihabdevteam-core-scope .phoneme-select-block__checking{align-items:center;background:transparent;border:1px solid var(--color-whiteLine);border-radius:var(--radius-m);color:var(--color-disabled);cursor:default;display:flex;gap:10px;height:60px;min-width:198px;padding:0 28px}.ihabdevteam-core-scope .phoneme-select-block__checking-label{white-space:nowrap}.ihabdevteam-core-scope .phoneme-select-block__spinner{animation:phonemeSpinner .7s linear infinite;border:2px solid var(--color-whiteLine);border-radius:50%;border-top-color:var(--color-disabled);flex-shrink:0;height:18px;width:18px}@keyframes phonemeSpinner{to{transform:rotate(1turn)}}@media (max-width:767px){.ihabdevteam-core-scope .phoneme-select-block__detail,.ihabdevteam-core-scope .phoneme-select-block__pair-panels{flex-direction:column}.ihabdevteam-core-scope .phoneme-select-block__detail>.filter-panel{width:100%}.ihabdevteam-core-scope .phoneme-select-block__cell-vs{align-self:center;margin-bottom:0;padding:4px 0}.ihabdevteam-core-scope .phoneme-select-block__cells{flex-wrap:wrap}.ihabdevteam-core-scope .phoneme-select-block__cell-circle{height:64px;width:min(240px,100%)}.ihabdevteam-core-scope .phoneme-select-block__cell-jamo-part{font-size:24px}}';Q(f7);function v7(e,t){return t.map(a=>{const r=typeof a=="string"?a:a.label,n=typeof a=="string"?void 0:a.displayLabel;return{label:r,value:e[r]??"",displayLabel:n}})}function Ib({sections:e,selectedList:t,count:a,onCountChange:r,maxCount:n=4,minCount:i=1,combinationSections:s,combinationSectionsForSlot:c,onSelect:u,placeholder:d="-",className:m,title:h,titleIcon:p,disc:g,showInfoButton:v=!1,onClearPhoneme:b,onSearch:y,onSearchEmpty:f,searchDisabled:x=!1,searchLabel:_,searchChecking:C=!1,pairMode:A=!1,sectionType:w="page",beforeSearchContent:S,beforeContent:D,afterContent:T,hideCountControl:E=!1,ordinal:W=!1}){const{t:M}=me.useTranslation(),k=l.useMemo(()=>M("wordPairs.infoNotes",{returnObjects:!0}),[M]),N=l.useMemo(()=>Array.from({length:n-i+1},(I,G)=>{const z=i+G;return{key:String(z),label:M("wordPairs.count",{n:z})}}),[M,n,i]),j=l.useMemo(()=>M("wordPairs.ordinals",{returnObjects:!0}),[M]),F=l.useCallback(I=>W?M("wordPairs.phonemeOrdinalLabel",{ordinal:j[I-1]??I}):a===1?M("wordPairs.phonemeSingleLabel","\uC74C\uC808"):M("wordPairs.phonemeN",{n:I}),[W,j,a,M]),te=l.useCallback(I=>W?M("wordPairs.phonemeContrastOrdinalLabel",{ordinal:j[I-1]??I}):a===1?M("wordPairs.phonemeContrastSingleLabel","\uB300\uB9BD \uC74C\uC808"):M("wordPairs.phonemeContrast",{n:I}),[W,j,a,M]),Z=l.useCallback((I,G)=>G?o.jsxs(o.Fragment,{children:[I,o.jsx("span",{className:"phoneme-select-block__required",children:"*"})]}):I,[]),{anchorRect:ee,toggleAt:L,close:R}=_o(),O=l.useCallback(I=>r(Number(I)),[r]),H=oa("(max-width: 767px)"),$=l.useCallback(I=>v7(I,e).map(({label:G,value:z,displayLabel:Y})=>{const J=!!z&&z!=="\uC5C6\uC74C";return o.jsxs("span",{className:ye("phoneme-select-block__cell-jamo-part",z?"":"phoneme-select-block__cell-jamo-part--empty",J?"":"phoneme-select-block__cell-jamo-part--no-label"),children:[o.jsx("span",{className:`phoneme-select-block__cell-jamo-char h1${z==="\uC5C6\uC74C"?" phoneme-select-block__cell-jamo-char--excluded":""}`,children:z==="\uC5C6\uC74C"?"x":z||d}),J&&o.jsx("span",{className:"phoneme-select-block__cell-jamo-label caption-2",children:Y??G})]},G)}),[e,d]),q=o.jsxs(o.Fragment,{children:[o.jsx("div",{"data-tooltip-ignore":!0,children:o.jsx(le,{size:40,type:H?"dot":void 0,icon:"info",label:H?void 0:M("wordPairs.caution","\uC720\uC758\uC0AC\uD56D"),selected:!!ee,onClick:I=>L(I.currentTarget)})}),ee&&o.jsx(to,{title:M("wordPairs.caution","\uC720\uC758\uC0AC\uD56D"),items:k,anchorRect:ee,onClose:R})]});return o.jsxs(ro,{type:w,title:h,icon:p,disc:g,action:q,className:ye("phoneme-select-block",m),children:[D,(!E||v&&!(h||g))&&o.jsxs("div",{className:"phoneme-select-block__controls",children:[!E&&o.jsx(Ha,{options:N,value:String(a),onChange:O,size:40,className:"phoneme-select-block__count-control"}),v&&!(h||g)&&q]}),o.jsx("div",{className:"phoneme-select-block__cells",children:A?o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"phoneme-select-block__cell-group",children:Array.from({length:a}).map((I,G)=>{const z=t[G*2]??{};return o.jsxs("div",{className:"phoneme-select-block__cell",children:[o.jsx("div",{className:"phoneme-select-block__cell-circle",children:o.jsx("div",{className:"phoneme-select-block__cell-jamo",children:$(z)})}),o.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:F(G+1)})]},G)})}),o.jsx("span",{className:"phoneme-select-block__cell-vs h3",children:M("wordPairs.phonemeSelect.vs","\uB300")}),o.jsx("div",{className:"phoneme-select-block__cell-group",children:Array.from({length:a}).map((I,G)=>{const z=t[G*2+1]??{};return o.jsxs("div",{className:"phoneme-select-block__cell",children:[o.jsx("div",{className:"phoneme-select-block__cell-circle",children:o.jsx("div",{className:"phoneme-select-block__cell-jamo",children:$(z)})}),o.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:te(G+1)})]},G)})})]}):t.map((I,G)=>o.jsxs("div",{className:"phoneme-select-block__cell",children:[o.jsx("div",{className:"phoneme-select-block__cell-circle",children:o.jsx("div",{className:"phoneme-select-block__cell-jamo",children:$(I)})}),o.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:F(G+1)})]},G))}),(s||c)&&o.jsx("div",{className:"phoneme-select-block__panels",children:o.jsx("div",{className:"phoneme-select-block__detail",children:A?o.jsxs("div",{className:"phoneme-select-block__pair-panels",children:[o.jsx("div",{className:"phoneme-select-block__panel-group",children:Array.from({length:a}).map((I,G)=>{const z=t[G*2]??{};return o.jsx(va,{title:Z(F(G+1),G===0),sections:c?c(z,G*2):s,selected:z,onSelect:u?.(G*2),align:"newline"},G)})}),o.jsx("div",{className:"phoneme-select-block__panel-group",children:Array.from({length:a}).map((I,G)=>{const z=t[G*2+1]??{};return o.jsx(va,{title:te(G+1),sections:c?c(z,G*2+1):s,selected:z,onSelect:u?.(G*2+1),align:"newline"},G)})})]}):t.map((I,G)=>o.jsx(va,{title:Z(F(G+1),G===0),sections:c?c(I,G):s,selected:I,onSelect:u?.(G),align:"newline"},G))})}),S&&o.jsx("div",{className:"phoneme-select-block__before-search",children:S}),(b||y||C)&&(()=>{const I=t.every(G=>Object.entries(G).every(([z,Y])=>!Y||z==="\uC885\uC131"&&Y==="\uC5C6\uC74C"));return o.jsxs("div",{className:"phoneme-select-block__search-row",onClick:I?f:void 0,children:[b&&o.jsx(le,{size:"56",type:"bar",label:M("wordPairs.resetOptions","\uAC80\uC0C9 \uC635\uC158 \uCD08\uAE30\uD654"),selected:!1,disabled:I,onClick:I?void 0:b}),C?o.jsxs("div",{className:"phoneme-select-block__checking",children:[o.jsx("div",{className:"phoneme-select-block__spinner"}),o.jsx("span",{className:"button-1 phoneme-select-block__checking-label",children:_??M("wordSearch.searchButton","\uAC80\uC0C9\uD558\uAE30")})]}):y&&o.jsx(le,{size:"56",type:"bar",variant:"main",label:_??M("wordSearch.searchButton","\uAC80\uC0C9\uD558\uAE30"),disabled:I||x,onClick:I||x?void 0:y})]})})(),T]})}function Ob({title:e,sections:t,selected:a,onSelect:r,className:n}){const{t:i}=me.useTranslation();return o.jsx(va,{className:n,title:e??i("wordSearch.filterTitle","\uB2E8\uC5B4 \uAC80\uC0C9 \uC124\uC815"),sections:t,selected:a,onSelect:r,align:"inline"})}function Fb({title:e,headerAction:t,sections:a,selected:r,onSelect:n,className:i}){const{t:s}=me.useTranslation();return a.length===0?null:o.jsx(va,{className:i,title:e??s("training.filter.phonemeGroup",{defaultValue:"\uD6C8\uB828 \uC74C\uC808"}),headerAction:t,sections:a,selected:r,onSelect:n,align:"newline"})}function Wb({title:e,mode:t,onModeChange:a,matchMode:r,onMatchModeChange:n,positionCount:i,onPositionCountChange:s,inputMode:c,onInputModeChange:u,className:d}){const{t:m}=me.useTranslation(),h={searchMode:m("wordPairs.filter.searchModeLabel","\uB300\uB9BD \uBC29\uC2DD"),phonemeOrder:m("wordPairs.filter.phonemeOrder","\uC785\uB825 \uC74C\uC808 \uC704\uCE58"),count:m("wordPairs.filter.countLabel","\uC785\uB825 \uC74C\uC808 \uAC2F\uC218"),inputMode:m("wordPairs.filter.inputModeLabel","\uC785\uB825 \uBC29\uC2DD"),orderAny:m("wordPairs.filter.orderAny","\uBB34\uAD00"),orderMatch:m("wordPairs.filter.orderMatch","\uC77C\uCE58"),include:m("wordPairs.mode.include","\uC74C\uC18C \uD3EC\uD568"),pick:m("wordPairs.mode.pick","\uC74C\uC18C \uB300\uB9BD"),explicit:m("wordPairs.mode.contrast","\uC74C\uC18C \uB300\uB9BD \uC9C0\uC815"),charInput:m("wordPairs.input.char","\uAE00\uC790 \uC120\uD0DD"),pronInput:m("wordPairs.input.pron","\uBC1C\uC74C \uC120\uD0DD")},p=y=>m("wordPairs.count",{n:y}),g=[{label:h.searchMode,items:[h.include,h.pick,h.explicit],display:"segmented",labelAction:o.jsx(wo,{title:m("wordPairs.mode.infoTitle","\uB300\uB9BD \uBC29\uC2DD"),items:[m("wordPairs.mode.infoInclude","\uC74C\uC18C \uD3EC\uD568 \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uAC00 \uBAA8\uB450 \uB4E4\uC5B4\uAC04 \uB2E8\uC5B4\uC640 \uADF8 \uB300\uB9BD\uC30D\uC744 \uCC3E\uC544\uC694."),m("wordPairs.mode.infoPick","\uC74C\uC18C \uB300\uB9BD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uAC00 \uB300\uB9BD\uC30D \uB450 \uB2E8\uC5B4\uC758 \uC2E4\uC81C \uCC28\uC774\uC810\uC77C \uB54C\uB9CC \uB9E4\uCE6D\uB3FC\uC694."),m("wordPairs.mode.infoContrast","\uC74C\uC18C \uB300\uB9BD \uC9C0\uC815 \u2014 \uAE30\uC900 \uB2E8\uC5B4\uC640 \uB300\uB9BD \uB2E8\uC5B4\uC758 \uC74C\uC18C\uB97C \uAC01\uAC01 \uC9C1\uC811 \uC120\uD0DD\uD574 \uB300\uB9BD\uC30D\uC744 \uCC3E\uC544\uC694.")]})},{label:h.phonemeOrder,items:[h.orderAny,h.orderMatch],display:"segmented",labelAction:o.jsx(wo,{items:m("wordPairs.filter.phonemeOrderInfo",{returnObjects:!0})})},{label:h.count,items:[p(1),p(2)],display:"segmented"},{label:h.inputMode,items:[h.charInput,h.pronInput],display:"segmented",labelAction:o.jsx(wo,{title:m("wordPairs.input.infoTitle","\uC785\uB825 \uBC29\uC2DD"),items:[m("wordPairs.input.infoChar","\uAE00\uC790 \uC120\uD0DD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uB85C \uB2E8\uC5B4(\uAE00\uC790 \uAE30\uC900)\uB97C \uCC3E\uC740 \uD6C4, \uB2E8\uC5B4\uC758 \uD45C\uC900 \uBC1C\uC74C \uB300\uB9BD\uC30D\uC744 \uCC3E\uC2B5\uB2C8\uB2E4."),m("wordPairs.input.infoPron","\uBC1C\uC74C \uC120\uD0DD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uB85C \uD45C\uC900 \uBC1C\uC74C \uB300\uB9BD\uC30D\uC744 \uCC3E\uC2B5\uB2C8\uB2E4.")]})}],v={[h.searchMode]:t==="explicit"?h.explicit:t==="pick"?h.pick:h.include,[h.phonemeOrder]:r==="ordered"?h.orderMatch:h.orderAny,[h.count]:p(i),[h.inputMode]:c==="phoneme"?h.pronInput:h.charInput},b=(y,f)=>{f===h.searchMode?a(y===h.explicit?"explicit":y===h.pick?"pick":"include"):f===h.phonemeOrder?n(y===h.orderMatch?"ordered":"unordered"):f===h.count?s(y===p(2)?2:1):f===h.inputMode&&u(y===h.pronInput?"phoneme":"word")};return o.jsx(va,{className:d,title:e??m("wordPairs.filter.searchOptionsTitle","\uB300\uB9BD \uC124\uC815"),sections:g,selected:v,onSelect:b,align:"inline"})}var y7=".ihabdevteam-core-scope .popup-list .popup-panel{max-height:calc(100% - 60px);max-width:880px;width:calc(100% - 40px)}.ihabdevteam-core-scope .popup-list .popup-content{display:flex;flex-direction:column;gap:var(--spacing-m);min-height:0;overflow:hidden}.ihabdevteam-core-scope .popup-list .table-wrap{flex:1;min-height:0;overflow-x:auto;overflow-y:auto;overscroll-behavior-y:contain}.ihabdevteam-core-scope .popup-list .table-fields,.ihabdevteam-core-scope .popup-list .table-row{min-width:520px}.ihabdevteam-core-scope .popup-list__row--selected{background:var(--color-deepWhite);color:var(--color-main);font-weight:600}";Q(y7);function Hb(e){const{title:t,items:a,columns:r,gridTemplateColumns:n,searchPlaceholder:i,searchFn:s,defaultSortKey:c,defaultSortAsc:u=!0,selectedId:d,selectedIds:m,onSelect:h,onClose:p,pageSizeOptions:g=[10,25,50,100],initialPageSize:v,emptyText:b,countLabel:y,topContent:f,className:x=""}=e,{t:_}=me.useTranslation(),C=i??_("common.search","\uAC80\uC0C9"),A=b??_("common.emptyList","\uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."),[w,S]=l.useState(""),[D,T]=l.useState(c??r[0]?.key??""),[E,W]=l.useState(u),[M,k]=l.useState(String(v??g[0]??10)),[N,j]=l.useState(1);l.useEffect(()=>{j(1)},[w,M]);const F=s!==null,te=l.useCallback((I,G)=>{if(!G)return!0;const z=G.toLowerCase();return r.some(Y=>{const J=I[Y.key];return J==null?!1:String(J).toLowerCase().includes(z)})},[r]),Z=s??te,ee=l.useMemo(()=>{const I=F?a.filter(G=>Z(G,w)):a;return D?[...I].sort((G,z)=>{const Y=G[D]??"",J=z[D]??"";return Y===J?0:E?Y>J?1:-1:Y<J?1:-1}):I},[a,w,D,E,F,Z]),L=Math.max(1,Math.ceil(ee.length/Number(M))),R=ee.slice((N-1)*Number(M),N*Number(M)),O=l.useCallback(I=>{D===I?W(G=>!G):(T(I),W(!0))},[D]),H=l.useMemo(()=>{if(typeof y=="string"&&y.includes("{n}")){const[I,G]=y.split("{n}");return{prefix:I,suffix:G}}return{prefix:_("common.totalCountPrefix","\uCD1D "),suffix:_("common.totalCountSuffix","\uAC1C")}},[y,_]),$=l.useMemo(()=>r.map(I=>({label:I.label,onClick:I.sortable!==!1?()=>O(I.key):void 0,className:I.className,sortDir:I.sortable!==!1&&D===I.key?E?"asc":"desc":null})),[r,D,E,O]),q=l.useMemo(()=>g.map(I=>({value:String(I),label:_("common.pageSizeLabel",{n:I})})),[g,_]);return o.jsxs(Ta,{className:`popup-list ${x}`,title:t,onClose:p,children:[f,o.jsx(mn,{count:{value:ee.length,prefix:H.prefix,suffix:H.suffix},search:F?{value:w,onChange:S,placeholder:C}:void 0,pageSize:{options:q,value:M,onChange:k},pagination:{page:N,total:L,onChange:j}}),o.jsx(yn,{size:"medium",gridTemplateColumns:n,resizable:!0,fields:$,items:R,onRowClick:h,renderRow:I=>{const G=m!=null?I.id!=null&&m.has(I.id):d!=null&&I.id===d;return r.map(z=>({content:z.render?z.render(I):I[z.key]??"",className:G?"popup-list__row--selected":z.className}))},empty:A})]})}function Vb(e){const{title:t,message:a,topContent:r,details:n,children:i,confirmLabel:s,cancelLabel:c,hideCancel:u=!1,extraAction:d,confirmVariant:m="main",confirmDisabled:h=!1,onConfirm:p,closeOnConfirm:g=!0,onClose:v,inline:b,size:y="small",className:f}=e,{t:x}=me.useTranslation(),_=l.useRef(!1),[C,A]=l.useState(!1);return o.jsxs(Ta,{title:t,onClose:v,closeDisabled:C,inline:b,size:y,className:ye("confirm-popup",f),buttons:[...d?[{label:d.label,variant:d.variant??"default",disabled:C,onClick:({closeWithAnimation:w})=>{d.onClick(),w()}}]:[],...u?[]:[{label:c??x("common.cancel","\uCDE8\uC18C"),variant:"default",disabled:C,onClick:({closeWithAnimation:w})=>w()}],{label:s??x("common.confirm","\uD655\uC778"),variant:m,disabled:h||C,onClick:async({closeWithAnimation:w})=>{if(!_.current){_.current=!0,A(!0);try{await p(w),g&&w()}finally{_.current=!1,A(!1)}}}}],children:[r!=null&&o.jsx("div",{className:"confirm-popup__top",children:r}),n&&n.length>0&&o.jsx(Cr,{children:n.map((w,S)=>o.jsx(Na,{label:w.label,children:o.jsx("span",{className:"panel-row__text body-2",children:w.value})},S))}),o.jsx("p",{className:"body-2 confirm-popup__message",children:a}),i]})}var x7=".ihabdevteam-core-scope .coupon-input-popup__input{background:var(--color-white);border:1px solid var(--color-whiteLine);border-radius:var(--radius-s);box-sizing:border-box;color:var(--color-darkGray);font-family:inherit;height:48px;letter-spacing:.06em;padding:0 14px;text-transform:uppercase;transition:border-color .15s;width:100%}.ihabdevteam-core-scope .coupon-input-popup__input:focus{border-color:var(--color-main);outline:none}.ihabdevteam-core-scope .coupon-input-popup__input::-moz-placeholder{color:var(--color-lightGray);letter-spacing:normal;text-transform:none}.ihabdevteam-core-scope .coupon-input-popup__input::placeholder{color:var(--color-lightGray);letter-spacing:normal;text-transform:none}.ihabdevteam-core-scope .coupon-input-popup__error{color:#e84040;color:var(--color-red,#e84040);margin:var(--spacing-xs) 0 0}";Q(x7);function Gb({onApply:e,onCancel:t}){const{t:a}=me.useTranslation(),[r,n]=l.useState(""),[i,s]=l.useState(!1),[c,u]=l.useState(null),d=l.useRef(null);l.useEffect(()=>{d.current?.focus()},[]);const m=l.useCallback(async g=>{const v=r.trim();if(v){s(!0),u(null);try{await e(v),g()}catch(b){u(Vr(b)),s(!1)}}},[r,e]),h=l.useCallback((g,v)=>{g.key==="Enter"&&m(v)},[m]),p=g=>{n(g.target.value),u(null)};return o.jsx(Ta,{className:"coupon-input-popup",title:a("usage.couponButton","\uCFE0\uD3F0 \uC785\uB825"),size:"small",onClose:t,closeDisabled:i,buttons:[{label:a("common.cancel","\uCDE8\uC18C"),variant:"default",disabled:i,onClick:({closeWithAnimation:g})=>g()},{label:a("coupons.applyButton","\uC801\uC6A9"),variant:"main",disabled:!r.trim()||i,onClick:({closeWithAnimation:g})=>{m(g)}}],children:({closeWithAnimation:g})=>o.jsxs(o.Fragment,{children:[o.jsx("input",{ref:d,className:"coupon-input-popup__input body-2","aria-label":a("coupons.input.label","\uCFE0\uD3F0 \uCF54\uB4DC"),placeholder:a("coupons.input.placeholder","\uCFE0\uD3F0 \uCF54\uB4DC \uC785\uB825"),value:r,onChange:p,onKeyDown:v=>h(v,g),disabled:i,autoComplete:"off",spellCheck:!1}),c&&o.jsx("p",{className:"coupon-input-popup__error caption-1",role:"alert",children:c})]})})}var C7=".ihabdevteam-core-scope .tooltip-content.tooltip-training{pointer-events:none}.ihabdevteam-core-scope .tooltip-training__box{background:var(--color-white);border-radius:var(--radius-m);box-shadow:0 4px 16px rgba(0,0,0,.12);padding:10px 14px}.ihabdevteam-core-scope .tooltip-training__groups{align-items:stretch;display:flex;flex-direction:row;gap:0}.ihabdevteam-core-scope .tooltip-training__section{display:flex;flex-direction:column;flex-shrink:0;gap:6px;width:100px}.ihabdevteam-core-scope .tooltip-training__section-header{align-items:center;display:flex}.ihabdevteam-core-scope .tooltip-training__type-label{color:var(--color-darkGray);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .tooltip-training__divider{align-self:center;background:var(--color-whiteLine);flex-shrink:0;height:20px;margin:0 10px;width:1px}.ihabdevteam-core-scope .tooltip-training__items{display:flex;flex-direction:column;gap:2px;pointer-events:none}.ihabdevteam-core-scope .tooltip-training__items .training-block-button--compact{cursor:default}";Q(C7);const qb=200;function _7(e){return e.itemId?(us()[e.trainingType]??[]).find(t=>t?.id!=null&&String(t.id)===String(e.itemId))??null:null}function Yb({plan:e,anchorRect:t,offset:a=12,onClose:r}){const n=l.useMemo(()=>Zr.map(s=>({type:s,items:(e.items??[]).filter(c=>c.trainingType===s.key)})).filter(s=>s.items.length>0),[e.items]);if(n.length===0)return null;const i=o.jsx("div",{className:"tooltip-training__box",children:o.jsx("div",{className:"tooltip-training__groups",children:n.flatMap(({type:s,items:c},u)=>[u>0?o.jsx("div",{className:"tooltip-training__divider"},`div-${s.key}`):null,o.jsxs("div",{className:"tooltip-training__section",children:[o.jsx("div",{className:"tooltip-training__section-header",children:o.jsx("span",{className:"tooltip-training__type-label body-3b",children:s.label})}),o.jsx("div",{className:"tooltip-training__items",children:c.map((d,m)=>{const h=_7(d);return h?o.jsx(xn,{index:m,type:s,trainingData:h,size:"compact",hideCheckBadge:!0},d.itemId??m):null})})]},s.key)])})});return t?o.jsx(Sa,{anchorRect:t,offset:a,onClose:r,closeOnOutsideClick:!1,className:"tooltip-training",children:i}):i}var w7=".ihabdevteam-core-scope .party-container{inset:0;overflow:visible;pointer-events:none;position:fixed}.ihabdevteam-core-scope .confetti{display:none;left:0;opacity:0;position:fixed;top:0;transform:translateZ(0);will-change:transform,opacity}.ihabdevteam-core-scope .confetti--left{transform-origin:left bottom}.ihabdevteam-core-scope .confetti--right{transform-origin:right bottom}.ihabdevteam-core-scope .confetti.show{display:block;opacity:1;transition:opacity .2s linear}";Q(w7);const Ub=["var(--color-main)","var(--color-sub)"];function Dc({active:e=!1,count:t=40,duration:a=2e3,strength:r=1,onComplete:n,trigger:i=0}){const s=l.useMemo(()=>{const b=Math.floor(t/2),y=t-b,f=(x,_)=>Array.from({length:x}).map((C,A)=>{const w=6+Math.random()*12,S=Math.round(Math.min(18,w*Math.min(1.5,1+r*.4))),D=Ub[Math.floor(Math.random()*Ub.length)],T=Math.random()*300,E=(360+Math.random()*260)*r*1.2,W=(_==="left"?-95+Math.random()*40:-85-Math.random()*40)*Math.PI/180,M=Math.cos(W)*E,k=Math.sin(W)*E*1.35,N=Math.random()*720-360,j=(1200+Math.random()*3e3)*Math.min(1.6,1+r*.3),F=Math.random()>.7?"50%":"3px";return{id:`${_}-${A}`,side:_,size:S,color:D,delay:T,vx:M,vy:k,angularVel:N,life:j,borderRadius:F}});return[...f(b,"left"),...f(y,"right")]},[t,r]),c=l.useRef(null),u=l.useRef({}),d=l.useRef(null),m=l.useRef(n);l.useEffect(()=>{m.current=n},[n]);const h=l.useRef(null),p=l.useRef(null),g=()=>{if(typeof document>"u")return null;let b=document.querySelector("[data-ihab-effect-root]");return b||(b=document.createElement("div"),b.className="app-effect",b.dataset.ihabEffectRoot="",b.style.position="fixed",b.style.inset="0",b.style.pointerEvents="none",b.style.zIndex="99998",document.body.appendChild(b)),b};if(typeof document<"u"&&p.current==null&&(p.current=g()),l.useEffect(()=>{if(!e)return;if(typeof window<"u"&&window.matchMedia?.("(prefers-reduced-motion: reduce)").matches){m.current?.();return}const b=1200,y=performance.now(),f=p.current&&p.current!==document.body?p.current.getBoundingClientRect():null,x=Math.max(60,(window.innerHeight||800)*.05),_=L=>Math.max(40,(L||window.innerWidth)*.02),C=f?.width||window.innerWidth||375,A=f?.height||window.innerHeight||812,w=L=>{const R=[...L].sort((O,H)=>O-H);return R[Math.floor(R.length/2)]||1},S=w(s.map(L=>Math.abs(L.vy))),D=w(s.map(L=>Math.abs(L.vx))),T=Math.sqrt(2*b*(A*.72+x))/S,E=S*T/b,W=C*.5/(D*E),M=(L,R,O)=>Math.min(O,Math.max(R,L)),k=M(T,.8,2.4),N=M(W,.7,2.2),j=s.map(L=>({...L,vx:L.vx*N,vy:L.vy*k,startTime:y+L.delay,ended:!1})),F=f?{x:f.left-_(f.width),y:f.top+f.height+x}:{x:-_(window.innerWidth),y:window.innerHeight+x},te=f?{x:f.left+f.width+_(f.width),y:f.top+f.height+x}:{x:window.innerWidth+_(window.innerWidth),y:window.innerHeight+x},Z=L=>{let R=!1;for(const O of j){const H=u.current[O.id];if(!H||!H)continue;if(L<O.startTime){H.style.display="none";continue}if(!O._inited){const ae=O.side==="left"?F.x:te.x,X=O.side==="left"?F.y:te.y;H.style.left=`${ae}px`,H.style.top=`${X}px`,H.style.transform="translate3d(0px, 0px, 0)",H.style.display="block",H.style.zIndex="100000";try{if(typeof window<"u"&&typeof O.color=="string"&&O.color.startsWith("var(")){const ce=O.color.slice(4,-1).trim(),xe=getComputedStyle(document.documentElement).getPropertyValue(ce).trim();xe?H.style.background=xe:H.style.background="#FF0060"}}catch{}O._inited=!0}const $=(L-O.startTime)/1e3;if($<0)continue;const q=O.life/1e3;if($>=q){H.style.opacity="0",H.style.display="none",O.ended=!0;continue}R=!0;const I=O.side==="left"?F.x:te.x,G=O.side==="left"?F.y:te.y,z=I+O.vx*$,Y=G+O.vy*$+.5*b*$*$,J=(O.angularVel||0)*$,ue=z-I,pe=Y-G;H.style.transform=`translate3d(${ue}px, ${pe}px, 0) rotate(${J}deg)`,H.style.opacity=`${Math.max(0,1-$/q)}`}R?d.current=requestAnimationFrame(Z):m.current?.()};d.current=requestAnimationFrame(Z);const ee=setTimeout(()=>{try{if((p.current?p.current.querySelectorAll(".confetti"):document.querySelectorAll(".confetti")).length===0&&!document.querySelector(".party-container")){const L=document.createElement("div");L.className="party-container",L.style.position="fixed",L.style.inset="0",L.style.pointerEvents="none",L.style.overflow="visible",L.style.zIndex="2147483647";for(const R of s){const O=document.createElement("span");O.className=`confetti confetti--${R.side}`,O.setAttribute("aria-hidden","true"),O.style.display="none",O.style.position="fixed",O.style.left="0px",O.style.top="0px",O.style.width=`${R.size}px`,O.style.height=`${Math.max(4,R.size*.6)}px`;let H=R.color;try{if(typeof H=="string"&&H.startsWith("var(")){const $=H.slice(4,-1).trim(),q=getComputedStyle(document.documentElement).getPropertyValue($).trim();q&&(H=q)}}catch{}O.style.background=H,O.style.borderRadius=R.borderRadius,O.style.transform="translate3d(0,0,0)",O.style.opacity="0",L.appendChild(O),u.current[R.id]=O}(document.body||p.current).appendChild(L),h.current=L}}catch{}},300);return()=>{if(d.current&&cancelAnimationFrame(d.current),clearTimeout(ee),h.current){try{h.current.remove()}catch{}h.current=null}}},[e,a,i,s]),!e)return null;const v=o.jsx("div",{className:"party-container",ref:c,children:s.map(b=>o.jsx("span",{"aria-hidden":!0,ref:y=>{u.current[b.id]=y},className:`confetti confetti--${b.side}`,style:{width:`${b.size}px`,height:`${Math.max(4,b.size*.6)}px`,background:b.color,borderRadius:b.borderRadius}},`${b.id}-${i}`))});return typeof document<"u"?qt.createPortal(v,p.current||document.body):v}function Kb({trigger:e=0,active:t=!1}){const a=l.useRef(0);return l.useEffect(()=>{a.current=e},[e]),o.jsx(Dc,{active:t,trigger:e})}var k7=".ihabdevteam-core-scope .page-title{align-items:center;display:flex;gap:12px;justify-content:space-between;padding-bottom:var(--spacing-page)}.ihabdevteam-core-scope .page-title__main{align-items:flex-start;display:flex;flex:1;flex-direction:column;min-width:0;text-align:left}.ihabdevteam-core-scope .page-title__title-row{align-items:center;display:flex;gap:12px}.ihabdevteam-core-scope .page-title__title{margin:0}.ihabdevteam-core-scope .page-title__title-action{align-items:center;display:flex;flex-shrink:0}.ihabdevteam-core-scope .page-title__badge{align-items:center;display:flex}.ihabdevteam-core-scope .page-title__sub{color:var(--color-gray);margin:6px 0 0}.ihabdevteam-core-scope .page-title__action{flex-shrink:0;margin-left:var(--spacing-s)}@media (max-width:767px){.ihabdevteam-core-scope .page-title{align-items:flex-start;flex-direction:column;gap:10px}.ihabdevteam-core-scope .page-title__action{align-self:flex-start;margin-left:0}}";Q(k7);function Zb({title:e,sub:t,rightAction:a,titleAction:r,badge:n,badgeVariant:i="default",documentTitle:s}){return Qs(typeof e=="string"?e:s??null),o.jsxs("div",{className:"page-title",children:[o.jsxs("div",{className:"page-title__main",children:[o.jsxs("div",{className:"page-title__title-row",children:[o.jsx("h1",{className:"page-title__title h1",children:e}),n&&o.jsx("div",{className:"page-title__badge",children:o.jsx(ht,{label:n,size:"small",variant:i,fill:"outline"})})]}),t&&o.jsx("p",{className:"page-title__sub body-2",children:t})]}),a?o.jsx("div",{className:"page-title__action",children:a}):null]})}function Xb(e){return e??""}const Qb=l.createContext({words:[],loading:!1});function Jb(){return l.useContext(Qb)}function eg({words:e,loading:t,error:a,statusMessage:r,localVersion:n,remoteVersion:i,progress:s,clearAndRefetch:c,checkRemoteVersion:u,children:d}){return o.jsx(Qb.Provider,{value:{words:e,loading:t,error:a,statusMessage:r,localVersion:n,remoteVersion:i,progress:s,clearAndRefetch:c,checkRemoteVersion:u},children:d})}var S7=".ihabdevteam-core-scope .summary-strip{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:var(--spacing-m) var(--spacing-l);width:100%}.ihabdevteam-core-scope .summary-strip__row{align-items:center;display:flex;gap:var(--spacing-l)}.ihabdevteam-core-scope .summary-strip__items{grid-gap:var(--spacing-s) var(--spacing-l);display:grid;flex:1;gap:var(--spacing-s) var(--spacing-l);grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}@media (min-width:640px){.ihabdevteam-core-scope .summary-strip__items{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1024px){.ihabdevteam-core-scope .summary-strip__items{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:1280px){.ihabdevteam-core-scope .summary-strip__items{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-columns:repeat(var(--summary-strip-cols,4),minmax(0,1fr))}}.ihabdevteam-core-scope .summary-strip__item{min-width:0}.ihabdevteam-core-scope .summary-strip__label{color:var(--color-gray);margin:0}.ihabdevteam-core-scope .summary-strip__value{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .summary-strip__actions{align-items:center;display:flex;flex-shrink:0;gap:var(--spacing-xs)}";Q(S7);function tg({items:e,actions:t,columns:a,className:r,style:n}){const i=a??e.length;return o.jsx("section",{className:ye("summary-strip",r),style:{"--summary-strip-cols":String(i),...n},children:o.jsxs("div",{className:"summary-strip__row",children:[o.jsx("div",{className:"summary-strip__items",children:e.map((s,c)=>o.jsxs("div",{className:"summary-strip__item",children:[o.jsx("p",{className:"summary-strip__label caption-1",children:s.label}),o.jsx("p",{className:"summary-strip__value body-3b",children:s.value})]},c))}),t&&o.jsx("div",{className:"summary-strip__actions",children:t})]})})}var A7='.ihabdevteam-core-scope .report-doc{--report-page-w:210mm;--report-page-h:297mm;--report-margin:14mm;display:flex;justify-content:safe center;max-width:100%;min-width:0;overflow-x:auto;padding-block:var(--spacing-s);width:100%}.ihabdevteam-core-scope .report-doc__pages{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-l)}.ihabdevteam-core-scope .report-doc__page{background:#fff;box-shadow:var(--shadow-card);color:#000;display:flex;flex-direction:column;flex-shrink:0;min-height:var(--report-page-h);padding:var(--report-margin);width:var(--report-page-w)}.ihabdevteam-core-scope .report-doc__header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-s)}.ihabdevteam-core-scope .report-doc__title{margin:0}.ihabdevteam-core-scope .report-doc__footer{align-items:center;color:var(--color-gray);display:flex;justify-content:space-between;margin-top:auto;padding-top:var(--spacing-s)}.ihabdevteam-core-scope .report-doc__footer-left{align-items:center;display:flex;gap:var(--spacing-s)}.ihabdevteam-core-scope .report-doc__page-no{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ihabdevteam-core-scope .report-doc__logo{height:28px;width:auto}.ihabdevteam-core-scope .report-doc__measure{display:flex;flex-direction:column;opacity:0;pointer-events:none;position:absolute;width:calc(var(--report-page-w) - var(--report-margin)*2);z-index:-10}.ihabdevteam-core-scope .report-doc__measure-blocks{display:flex;flex-direction:column}.ihabdevteam-core-scope .report-doc__ruler{height:calc(var(--report-page-h) - var(--report-margin)*2)}@media print{.ihabdevteam-core-scope .report-doc{display:block;overflow:visible;padding-block:0}.ihabdevteam-core-scope .report-doc__pages{display:block}.ihabdevteam-core-scope .report-doc__page{-moz-column-break-after:page;box-shadow:none;break-after:page;page-break-after:always}.ihabdevteam-core-scope .report-doc__page:last-child{-moz-column-break-after:auto;break-after:auto;page-break-after:auto}}';Q(A7);const T7=(e,t)=>`${e} / ${t}`;function ag({blocks:e,sectionTitles:t,logo:a,footer:r,pageLabel:n=T7,pageWidth:i,pageHeight:s,margin:c,className:u,style:d}){const m=l.useRef(null),h=l.useRef(null),p=l.useRef(null),[g,v]=l.useState(null),b=e.map(w=>`${w.id}\0${w.section??""}\0${w.group??""}`).join("");l.useLayoutEffect(()=>{const w=m.current,S=p.current;if(!w||!S)return;const D=h.current?.offsetHeight??0,T=S.offsetHeight-D,E=Array.from(w.children).map(F=>F.offsetHeight),W=[];e.forEach((F,te)=>{const Z=W[W.length-1],ee=Z?e[Z[0]]:void 0;ee&&F.group!=null&&ee.group===F.group?Z.push(te):W.push([te])});const M=[];let k=[],N=0;const j=()=>{k.length&&M.push(k),k=[],N=0};W.forEach(F=>{const te=F.reduce((Z,ee)=>Z+E[ee],0);k.length&&e[k[0]].section!==e[F[0]].section&&j(),k.length&&N+te>T&&j(),te>T?F.forEach(Z=>{k.length&&N+E[Z]>T&&j(),k.push(Z),N+=E[Z]}):(F.forEach(Z=>k.push(Z)),N+=te)}),j(),v(M)},[b]);const y=Nl,f=y,x=r??o.jsxs(o.Fragment,{children:[o.jsx("img",{src:f,alt:"IHAB",className:"report-doc__logo"}),"\xA9 IHAB, Inc. All rights reserved."]}),_=(w,S,D)=>({header:o.jsxs("div",{className:"report-doc__header",children:[o.jsx("h2",{className:"report-doc__title h3b",children:D!=null&&t?.[D]||null}),a]}),footer:o.jsxs("div",{className:"report-doc__footer caption-1",children:[o.jsx("span",{className:"report-doc__footer-left",children:x}),o.jsx("span",{className:"report-doc__page-no",children:n(w,S)})]})}),C=_(1,1,e[0]?.section),A={...i?{"--report-page-w":i}:null,...s?{"--report-page-h":s}:null,...c?{"--report-margin":c}:null,...d};return o.jsxs("div",{className:ye("report-doc",u),style:A,children:[o.jsxs("div",{className:"report-doc__measure","aria-hidden":!0,children:[o.jsx("div",{ref:p,className:"report-doc__ruler"}),o.jsxs("div",{ref:h,children:[C.header,C.footer]}),o.jsx("div",{ref:m,className:"report-doc__measure-blocks",children:e.map(w=>o.jsx("div",{children:w.content},w.id))})]}),g&&o.jsx("div",{className:"report-doc__pages",children:g.map((w,S)=>{const{header:D,footer:T}=_(S+1,g.length,e[w[0]].section);return o.jsxs("section",{className:"report-doc__page",children:[D,w.map(E=>o.jsx("div",{children:e[E].content},e[E].id)),T]},S)})})]})}var B7=".ihabdevteam-core-scope .report-info{border:1px solid var(--color-border);border-radius:var(--radius-card);margin-bottom:var(--spacing-l);padding:var(--spacing-s) var(--spacing-m)}.ihabdevteam-core-scope .report-info__title{color:var(--color-darkGray);margin:0 0 var(--spacing-s)}.ihabdevteam-core-scope .report-info__grid{grid-gap:var(--spacing-xs) var(--spacing-l);display:grid;gap:var(--spacing-xs) var(--spacing-l);grid-template-columns:repeat(4,minmax(0,1fr));grid-template-columns:repeat(var(--report-info-cols,4),minmax(0,1fr))}@media (max-width:640px){.ihabdevteam-core-scope .report-info__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.ihabdevteam-core-scope .report-info__field{align-items:baseline;display:flex;gap:var(--spacing-s)}.ihabdevteam-core-scope .report-info__label{color:var(--color-gray);flex-shrink:0;width:3.5rem}.ihabdevteam-core-scope .report-info__value{color:var(--color-darkGray);white-space:nowrap}";Q(B7);function og({title:e,fields:t,columns:a=4,className:r,style:n}){return o.jsxs("div",{className:ye("report-info",r),style:{"--report-info-cols":String(a),...n},children:[e&&o.jsx("p",{className:"report-info__title h5b",children:e}),o.jsx("div",{className:"report-info__grid",children:t.map((i,s)=>o.jsxs("div",{className:"report-info__field body-2",children:[o.jsx("span",{className:"report-info__label body-3",children:i.label}),o.jsx("span",{className:"report-info__value",children:i.value})]},s))})]})}var N7=".ihabdevteam-core-scope .update-alert{animation:update-alert-slide-in .32s cubic-bezier(.34,1.56,.64,1) both;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);background:hsla(0,0%,97%,.92);border:1px solid var(--color-main);border-radius:var(--radius-m);box-shadow:0 4px 24px rgba(0,0,0,.14),0 1px 4px rgba(0,0,0,.08),inset 0 0 0 .5px rgba(0,0,0,.1);padding:var(--spacing-l);width:380px}.ihabdevteam-core-scope .update-alert,.ihabdevteam-core-scope .update-alert-stack{display:flex;flex-direction:column;gap:12px;max-width:calc(100vw - 32px);position:fixed;right:16px;top:16px;z-index:var(--z-alert)}.ihabdevteam-core-scope .update-alert-stack{align-items:flex-end}.ihabdevteam-core-scope .update-alert-stack .update-alert{position:relative;z-index:auto}.ihabdevteam-core-scope .update-alert:has(.update-alert__close) .update-alert__title{padding-right:24px}.ihabdevteam-core-scope .update-alert__close{align-items:center;background:none;border:none;border-radius:6px;border-radius:var(--radius-s,6px);color:#888;cursor:pointer;display:flex;font-size:20px;height:24px;justify-content:center;line-height:1;position:absolute;right:8px;top:8px;width:24px}.ihabdevteam-core-scope .update-alert__close:hover{background:rgba(0,0,0,.06);color:#333}.ihabdevteam-core-scope .update-alert__top{align-items:center;display:flex;gap:10px}@keyframes update-alert-slide-in{0%{opacity:0;transform:translateX(calc(100% + 24px))}to{opacity:1;transform:translateX(0)}}.ihabdevteam-core-scope .update-alert__icon{align-items:center;color:var(--color-main);display:flex;flex-shrink:0;font-size:20px;height:40px;justify-content:center;width:40px}.ihabdevteam-core-scope .update-alert__body{flex:1;min-width:0}.ihabdevteam-core-scope .update-alert__title{color:#1a1a1a;text-align:left}.ihabdevteam-core-scope .update-alert__message{color:#555;margin-top:2px;text-align:left}.ihabdevteam-core-scope .update-alert__action{width:100%}";Q(N7);function rg({title:e,message:t,actionLabel:a,onAction:r,icon:n,onClose:i,className:s=""}){const{t:c}=me.useTranslation(),u=a??c("common.update","\uC5C5\uB370\uC774\uD2B8");return o.jsxs("div",{className:ye("update-alert",s),role:"alert",children:[i&&o.jsx("button",{type:"button",className:"update-alert__close",onClick:i,"aria-label":c("common.close","\uB2EB\uAE30"),children:"\xD7"}),o.jsxs("div",{className:"update-alert__top",children:[o.jsx("div",{className:"update-alert__icon",children:n??o.jsx(Kc,{size:20,strokeWidth:2})}),o.jsxs("div",{className:"update-alert__body",children:[o.jsx("div",{className:"update-alert__title h4",children:e}),o.jsx("div",{className:"update-alert__message body-3",children:t})]})]}),r&&o.jsx(le,{size:32,variant:"main",shape:"pill",className:"update-alert__action",onClick:r,children:u})]})}var D7=".ihabdevteam-core-scope .training-card{background:var(--color-white);border:1px solid transparent;border-radius:var(--radius-card);display:flex;flex-direction:column;gap:10px;max-width:100%;padding:18px;position:relative;transition:border-color .15s,box-shadow .15s;width:360px}.ihabdevteam-core-scope .training-card:hover{border-color:var(--color-main);box-shadow:0 4px 16px var(--color-main-a10)}.ihabdevteam-core-scope .training-card--dragging{opacity:.5}.ihabdevteam-core-scope .training-card--clickable{cursor:pointer}.ihabdevteam-core-scope .training-card__header{display:flex;flex-direction:column;gap:4px}.ihabdevteam-core-scope .training-card__title-row{align-items:center;display:flex;gap:8px;justify-content:space-between;min-width:0}.ihabdevteam-core-scope .training-card__title{color:var(--color-darkGray);margin:0;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .training-card__top-actions{align-items:center;display:flex;flex-shrink:0;gap:2px;margin-right:-8px}.ihabdevteam-core-scope .training-card__publisher{background:none;border:none;color:var(--color-gray);cursor:pointer;font-size:11px;font-weight:400;max-width:120px;overflow:hidden;padding:0;text-align:left;text-overflow:ellipsis;white-space:nowrap;width:-moz-fit-content;width:fit-content}.ihabdevteam-core-scope .training-card__publisher:hover{color:var(--color-main);text-decoration:underline}.ihabdevteam-core-scope .training-card__description{color:var(--color-gray);margin:0;min-height:1.55em;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .training-card__body{display:flex;flex:1;flex-direction:column;gap:8px;justify-content:flex-end}.ihabdevteam-core-scope .training-card__empty{color:var(--color-lightGray)}.ihabdevteam-core-scope .training-card__types{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.ihabdevteam-core-scope .training-card__types .button{min-width:0;padding-inline:12px}.ihabdevteam-core-scope .training-card__type{background:color-mix(in srgb,var(--badge-color,var(--color-main)) 10%,transparent);border:1px solid color-mix(in srgb,var(--badge-color,var(--color-main)) 25%,transparent);border-radius:var(--radius-full);color:var(--badge-color,var(--color-main));display:inline-block;font-size:11px;font-weight:600;padding:2px 8px}.ihabdevteam-core-scope .training-card__tags{display:flex;flex-wrap:wrap;gap:5px}.ihabdevteam-core-scope .training-card__tag{color:var(--color-main);font-size:11px}.ihabdevteam-core-scope .training-card__words{align-content:flex-start;display:flex;flex-wrap:wrap;gap:4px}.ihabdevteam-core-scope .training-card__word{background:var(--color-deepWhite);border:1px solid var(--color-whiteLine);border-radius:var(--radius-full);color:var(--color-darkGray);display:inline-block;font-size:11px;padding:2px 8px;white-space:nowrap}.ihabdevteam-core-scope .training-card__footer{align-items:center;display:flex;gap:var(--spacing-xs);justify-content:space-between;padding-top:8px}.ihabdevteam-core-scope .training-card__footer-left{align-items:center;display:flex;gap:6px;min-width:0}.ihabdevteam-core-scope .training-card__date{color:var(--color-gray);font-size:11px;white-space:nowrap}.ihabdevteam-core-scope .training-card__meta{align-items:center;display:flex;gap:4px}.ihabdevteam-core-scope .training-card__count{align-items:center;color:var(--color-lightGray);display:inline-flex;font-size:11px;gap:3px;white-space:nowrap}";Q(D7);function ng({title:e,description:t,topActions:a,children:r,footerLeft:n,footerRight:i,onClick:s,draggable:c,onDragStart:u,onDragEnd:d,className:m}){const h=n!=null||i!=null,p=r!=null&&r!==!1,g=l.useCallback(v=>{s&&v.target===v.currentTarget&&(v.key==="Enter"||v.key===" ")&&(v.preventDefault(),s())},[s]);return o.jsxs("div",{className:ye("training-card",s?"training-card--clickable":"",m),onClick:s,onKeyDown:s?g:void 0,role:s?"button":void 0,tabIndex:s?0:void 0,draggable:c,onDragStart:u,onDragEnd:d,children:[o.jsxs("div",{className:"training-card__header",children:[o.jsxs("div",{className:"training-card__title-row",children:[typeof e=="string"?o.jsx("h3",{className:"training-card__title h4",children:e}):e,a!=null&&o.jsx("div",{className:"training-card__top-actions",onClick:v=>v.stopPropagation(),children:a})]}),t!=null?typeof t=="string"?o.jsx("p",{className:"training-card__description body-3",children:t}):t:o.jsx("p",{className:"training-card__description body-3","aria-hidden":"true",children:" "})]}),p&&o.jsx("div",{className:"training-card__body",children:r}),h&&o.jsxs("div",{className:"training-card__footer",children:[n!=null&&o.jsx("div",{className:"training-card__footer-left",children:n}),i!=null&&o.jsx("div",{className:"training-card__meta",children:i})]})]})}var E7=".ihabdevteam-core-scope .training-card-group{background:var(--color-darkWhite);border:1px solid var(--color-darkWhite);border-radius:var(--radius-card);overflow:hidden;transition:border-color .15s,box-shadow .15s}.ihabdevteam-core-scope .training-card-group--dragover{border-color:var(--color-main);box-shadow:0 0 0 2px var(--color-main-a10)}.ihabdevteam-core-scope .training-card-group__header{align-items:center;cursor:pointer;display:flex;gap:8px;height:60px;padding:0 12px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ihabdevteam-core-scope .training-card-group__chevron{flex-shrink:0}.ihabdevteam-core-scope .training-card-group__title{color:var(--color-black);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .training-card-group__count{color:var(--color-main);flex-shrink:0}.ihabdevteam-core-scope .training-card-group__actions{align-items:center;display:flex;flex-shrink:0;gap:8px;margin-left:auto}.ihabdevteam-core-scope .training-card-group__empty{color:var(--color-lightGray);padding:24px 16px;text-align:center}.ihabdevteam-core-scope .training-card-group__grid{align-items:flex-start;display:flex;flex-wrap:wrap;gap:12px;padding:0 12px 12px}.ihabdevteam-core-scope .training-card-group__grid>*{min-width:0}";Q(E7);function ig({title:e,count:t,collapsed:a=!1,onToggle:r,sort:n,actions:i,empty:s=!1,emptyContent:c,dragOver:u=!1,onDragOver:d,onDragLeave:m,onDrop:h,children:p,className:g}){const{t:v}=me.useTranslation(),b=ye("training-card-group",u&&"training-card-group--dragover",a&&"training-card-group--collapsed",g);return o.jsxs("div",{className:b,onDragOver:d,onDragLeave:m,onDrop:h,children:[o.jsxs("header",{className:"training-card-group__header",children:[o.jsx(le,{size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:a?"chevron-right":"chevron-down",ariaLabel:a?v("common.expand","\uD3BC\uCE58\uAE30"):v("common.collapse","\uC811\uAE30"),className:"training-card-group__chevron",onClick:r}),typeof e=="string"?o.jsx("span",{className:"training-card-group__title h5b",children:e}):e,t!==void 0&&o.jsx("span",{className:"training-card-group__count body-3b",children:t}),(n||i!=null)&&o.jsxs("span",{className:"training-card-group__actions",onClick:y=>y.stopPropagation(),children:[n&&o.jsx(Ut,{size:40,options:n.options,value:n.value,placeholder:n.placeholder,onChange:n.onChange}),i]})]}),!a&&(s?o.jsx("div",{className:"training-card-group__empty body-3",children:c}):o.jsx("div",{className:"training-card-group__grid",children:p}))]})}var j7=".ihabdevteam-core-scope .word-table-block__meta{background:transparent}.ihabdevteam-core-scope .word-table-block__actions{align-items:center;display:flex;gap:var(--spacing-xs);justify-content:space-between}.ihabdevteam-core-scope .word-table-block__actions-left,.ihabdevteam-core-scope .word-table-block__actions-right{display:flex;gap:var(--spacing-xs)}@media (max-width:767px){.ihabdevteam-core-scope .word-table-block__actions{align-items:stretch;flex-direction:column}.ihabdevteam-core-scope .word-table-block__actions-left,.ihabdevteam-core-scope .word-table-block__actions-right{display:grid;grid-template-columns:repeat(2,1fr)}.ihabdevteam-core-scope .word-table-block__actions .button{min-width:0;width:100%}}.ihabdevteam-core-scope .my-word-table-preview-popup .popup-panel{max-width:none;width:min(1400px,94vw)}.ihabdevteam-core-scope .my-word-table-preview-popup .popup-body{overflow:auto;overscroll-behavior-y:contain}.ihabdevteam-core-scope .word-table-block__pages{display:flex;flex-direction:column;gap:24px;gap:var(--spacing-content,24px)}@media print{.ihabdevteam-core-scope .word-table-block>.filter-panel,.ihabdevteam-core-scope .word-table-block>.section__header,.ihabdevteam-core-scope .word-table-block__actions{display:none}.ihabdevteam-core-scope .word-table-block__pages .word-table{-moz-column-break-after:page;break-after:page;page-break-after:always;position:static}.ihabdevteam-core-scope .word-table-block__pages .word-table:last-child{-moz-column-break-after:auto;break-after:auto;page-break-after:auto}}";Q(j7);const L7="speechear:saved_word_tables";function M7(e){if(typeof e!="object"||e===null)return!1;const t=e;return typeof t.id=="string"&&typeof t.name=="string"&&Array.isArray(t.items)}function P7(){try{const e=localStorage.getItem(L7);if(!e)return[];const t=JSON.parse(e);return Array.isArray(t)?t.filter(M7):[]}catch{return[]}}function sg({title:e,titleIcon:t,disc:a,items:r,onSaveComplete:n,onLoad:i,onRemoveItem:s,onReset:c,resetLabel:u,saveButtonLabel:d,secondarySaveButtonLabel:m,onReorder:h,showCellCount:p,onAddItem:g,className:v,renderSavePopup:b,renderWordSearch:y,hideControls:f,saveOnly:x,tableName:_,nameValue:C,onNameChange:A,descriptionValue:w,onDescriptionChange:S,namePlaceholder:D,descriptionPlaceholder:T,existingNames:E,editingName:W,onCancel:M}){const{t:k}=me.useTranslation(),N=u??k("wordPrint.clearAllSelection","\uBAA8\uB450 \uC120\uD0DD \uD574\uC81C"),j=r===void 0,F=!!A,[te,Z]=l.useState([]),ee=(C??"").trim(),L=ee||(D??"").trim(),R=(w??"").trim()||(T??"").trim(),O=(E??[]).map(de=>de.trim().toLowerCase()),H=[W?.trim().toLowerCase(),...te].filter(de=>!!de),$=[...O];for(const de of H){const Te=$.indexOf(de);Te!==-1&&$.splice(Te,1)}const q=ee!==""&&$.includes(ee.toLowerCase()),[I,G]=l.useState(Array(4).fill(null)),[z,Y]=l.useState(4),[J,ue]=l.useState(null),[pe,ae]=l.useState("landscape"),[X,ce]=l.useState(["\uC774\uBBF8\uC9C0","\uB2E8\uC5B4","\uD45C\uC900 \uBC1C\uC74C"]),[xe,Se]=l.useState("\uD45C\uC2DC"),[Ae,P]=l.useState(!0),[oe,re]=l.useState(!0),Ce=l.useRef(null),De=l.useRef([]),[Ie,Oe]=l.useState(8),[Fe,Qe]=l.useState("right"),[Re,Ge]=l.useState(!1),[We,be]=l.useState(!1),{toastMessage:at,toastType:He,showWarning:Le,clearToast:Ue}=un("warning"),Dt=l.useCallback(()=>ue(null),[ue]),[Ke,Ye]=l.useState(()=>Math.max(r?.length??1,1));l.useEffect(()=>{j||Ye(de=>Math.max(de,r?.length??1))},[r?.length,j]);const ut=j?z:p?Math.max(Ke,r?.length??1):Math.max(r?.length??0,1),{width:je,height:rt}=no[pe],Je=!j&&!p,$e=r?.length??0,Ze=Math.min(Ie,Math.max($e,1)),et=Je?Ze:ut,yt=Je?Sm(r??[],et):null,Et=!!yt&&yt.length>1,it=j?I.some(de=>de!==null&&de.length>1):(r??[]).some(de=>de.words.length>1),Ht=_?.trim()||`${Yr(Gr())} ${it?k("wordTable.printFileNamePair","\uB300\uB9BD\uC30D\uD45C"):k("wordTable.printFileNameSingle","\uB2E8\uC5B4\uD45C")}`,mt=l.useCallback(()=>Et?De.current.filter(de=>de!==null):Ce.current?[Ce.current]:[],[Et]),{print:Vt,openNewWindow:ia,downloadHtml:Gt}=An({getElements:mt,paperW:je,paperH:rt,fileName:Ht,onPopupBlocked:()=>{Le(k("wordTable.popupBlocked","\uD31D\uC5C5\uC774 \uCC28\uB2E8\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uBE0C\uB77C\uC6B0\uC800 \uC124\uC815\uC5D0\uC11C \uD31D\uC5C5\uC744 \uD5C8\uC6A9\uD574 \uC8FC\uC138\uC694."))}}),Ea=de=>{Y(de),G(Te=>{const tt=Array(de).fill(null);return Te.slice(0,de).forEach((xt,Ct)=>{tt[Ct]=xt}),tt}),ue(null)},sa=de=>{G(Te=>{const tt=[...Te];return tt[de]=null,tt}),J===de&&ue(null)},Kt=de=>{if(J===null)return;const Te=J;G(xt=>{const Ct=[...xt];return Ct[Te]=de,Ct});const tt=I.findIndex((xt,Ct)=>Ct>Te&&xt===null);ue(tt!==-1?tt:null)},ja=j?I.some(de=>de?.some(Te=>!!Te.colloquialPronunciation)):(r??[]).some(de=>de.words.some(Te=>!!Te.colloquialLabel)),jt=l.useMemo(()=>Ma()?j?I.flatMap(de=>(de??[]).map(Te=>[Te.word,Te.homonum])):(r??[]).flatMap(de=>de.words.map(Te=>[Te.label,Te.homonum])):[],[j,I,r]),[Ga,$t]=l.useState(!1);l.useEffect(()=>{if(jt.length===0)return;let de=!1;return Promise.all(jt.map(([Te,tt])=>qo(Te,tt))).then(Te=>{de||$t(Te.some(Boolean))}),()=>{de=!0}},[jt]);const ya=jt.length>0&&Ga,qa=l.useMemo(()=>[...j||p?[{label:k("wordTable.filter.columns","\uCE78 \uC218"),items:sk.map(de=>({value:`${de}\uCE78`,displayLabel:k("wordTable.filter.column",{count:de})})),display:"segmented"}]:[],...Je&&(r?.length??0)>0?[Lm(k,{hasPairs:it,itemCount:$e})]:[],...Et?[Mm(k)]:[]],[k,j,p,Je,r?.length,it,$e,Et]),Xe={...j||p?{[k("wordTable.filter.columns","\uCE78 \uC218")]:`${j?z:Ke}\uCE78`}:{},...Je&&(r?.length??0)>0?{[k(it?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord")]:`${Ze}\uAC1C`}:{},...Et?{[k("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")]:Pm[Fe]}:{}},zt=(de,Te)=>{Te===k("wordTable.filter.columns","\uCE78 \uC218")?j?Ea(parseInt(de)):Ye(parseInt(de)):Te===k(it?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord")?Oe(parseInt(de)):Te===k("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")&&Qe(Rm(de))},wt=j?I.filter(de=>de!==null).map(de=>({id:de[0].word,words:de.map(Te=>({label:Te.word,subLabel:Te.pronunciation,homonum:Te.homonum}))})):r??[],xa=(de=!1)=>{if(be(de),F&&n){const Te=L.trim().toLowerCase();Te&&Z(tt=>tt.includes(Te)?tt:[...tt,Te]),n(L,wt,R||void 0,de);return}if(x&&n){n("",wt,void 0,de);return}if(n){Ge(!0);return}Gt()},[la,ne]=l.useState(!1),[ge,fe]=l.useState(""),U=ge.trim(),ie=U!==""&&O.includes(U.toLowerCase()),ve=()=>{fe(L?`${L} (\uBCF5\uC0AC)`:""),ne(!0)},we=()=>{!U||ie||!n||(n(U,wt,R||void 0,!0),ne(!1))},ke=wt.length===0,Me=ke||F&&(L===""||q),nt=()=>{if(ke){Le(k("wordTable.emptyItems","\uB2E8\uC5B4\uB97C 1\uAC1C \uC774\uC0C1 \uCD94\uAC00\uD574\uC8FC\uC138\uC694."));return}if(F&&L===""){Le(k("wordTable.save.nameRequired","\uD45C \uC774\uB984\uC744 \uC785\uB825\uD574 \uC8FC\uC138\uC694."));return}F&&q&&Le(k("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."))},ct=o.jsx(io,{items:wt,orientation:pe,contentTypes:X,cutLine:xe,showOutline:Ae,showDivLine:oe,count:ut});return o.jsxs(o.Fragment,{children:[o.jsxs(ro,{type:"page",icon:t,title:e,disc:a,className:ye("word-table-block",v),children:[la&&o.jsx(Ta,{size:"small",title:m??k("wordTable.saveAsNewButton","\uB2E4\uB978 \uC774\uB984\uC73C\uB85C \uC800\uC7A5"),onClose:()=>ne(!1),footer:({closeWithAnimation:de})=>o.jsxs(o.Fragment,{children:[o.jsx(le,{size:48,type:"bar",label:k("common.cancel","\uCDE8\uC18C"),onClick:de}),o.jsx(le,{size:48,type:"bar",variant:"main",label:k("common.save","\uC800\uC7A5"),disabled:!U||ie,onClick:we})]}),children:o.jsx(Wa,{label:k("wordTable.save.nameLabel","\uC774\uB984"),value:ge,onChange:fe,placeholder:k("wordTable.save.placeholder","\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC81C\uBAA9\uC744 \uC785\uB825\uD558\uC138\uC694."),maxLength:40,size:48,fullWidth:!0,autoFocus:!0,onEnter:we,error:ie?k("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."):void 0})}),Re&&n&&b?.({defaultName:typeof e=="string"?e:k("wordTable.defaultName","\uB2E8\uC5B4 \uD45C"),preview:ct,previewW:je,previewH:rt,items:wt,existingNames:P7().map(de=>de.name),saveAsNew:We,onSave:(de,Te)=>{n(de,wt,Te,We),Ge(!1)},onCancel:()=>Ge(!1)}),(j||g)&&J!==null&&y?.({cellIndex:J,onConfirm:j?Kt:de=>{if(g){const Te=de[0];Te&&g({id:Te.word,words:[{label:Te.word,subLabel:Te.pronunciation,homonum:Te.homonum}]})}ue(null)},onClose:Dt}),!f&&o.jsx(Sn,{hasImage:ya,hasColloquial:ja,contentTypes:X,orientation:pe,showOutline:Ae,cutLine:xe,showDivLine:oe,setters:{setContentTypes:ce,setOrientation:ae,setShowOutline:P,setCutLine:Se,setShowDivLine:re},showCutLine:(Je?et:ut)>1,showDivLine2:it,middleSections:qa,extraSelected:Xe,onExtraSelect:zt}),Et&&yt?o.jsx("div",{className:"word-table-block__pages",children:yt.map((de,Te)=>o.jsx(io,{orientation:pe,contentTypes:X,cutLine:xe,showOutline:Ae,showDivLine:oe,count:et,items:de,onRemoveItem:s,contentRef:tt=>{De.current[Te]=tt},pageNumber:{current:Te+1,total:yt.length},pageNumberPosition:Fe},Te))}):o.jsx(io,{orientation:pe,contentTypes:X,cutLine:xe,showOutline:Ae,showDivLine:oe,count:ut,items:j?void 0:r??[],editCells:j?I:void 0,activeCell:J,onActivateCell:j||g?ue:void 0,onRemoveCell:j?sa:void 0,onRemoveItem:j?void 0:s,onReorder:j?void 0:h,showFillerAdd:!!g,contentRef:Ce}),F&&!f&&o.jsxs(Cr,{size:"medium",labelWidth:64,useBorder:!1,useRowBorder:!1,className:"word-table-block__meta",children:[o.jsx(Na,{variant:"custom",label:k("wordTable.save.nameLabel","\uC774\uB984"),required:!0,align:"vertical",useFullWidth:!0,children:o.jsx(Wa,{required:!0,value:C??"",onChange:A,placeholder:D?D+k("wordTable.save.autoFillHint"," (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)"):k("wordTable.save.placeholder","\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC81C\uBAA9\uC744 \uC785\uB825\uD558\uC138\uC694."),ariaLabel:k("wordTable.save.nameLabel","\uC774\uB984"),maxLength:40,size:48,fullWidth:!0,error:q?k("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."):void 0,onKeyDown:de=>{(de.key==="Tab"&&!de.shiftKey||de.key===" ")&&!(C??"").trim()&&(D??"").trim()&&(de.preventDefault(),A?.(D??""))}})}),o.jsx(Na,{variant:"custom",label:k("wordTable.save.descriptionLabel","\uC124\uBA85"),align:"vertical",useFullWidth:!0,children:o.jsx(Wa,{value:w??"",onChange:S,placeholder:T?T+k("wordTable.save.autoFillHint"," (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)"):k("wordTable.save.descriptionPlaceholder","\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC124\uBA85\uC744 \uC785\uB825\uD558\uC138\uC694."),ariaLabel:k("wordTable.save.descriptionLabel","\uC124\uBA85"),maxLength:200,multiline:!0,rows:2,fullWidth:!0,onKeyDown:de=>{(de.key==="Tab"&&!de.shiftKey||de.key===" ")&&!(w??"").trim()&&(T??"").trim()&&(de.preventDefault(),S?.(T??""))}})})]})]}),!f&&o.jsxs("div",{className:"word-table-block__actions",children:[o.jsxs("div",{className:"word-table-block__actions-left",children:[!x&&c&&o.jsx(le,{size:40,type:"bar",label:N,onClick:c}),!x&&i&&o.jsx(le,{size:40,type:"bar",label:k("wordTable.load","\uBD88\uB7EC\uC624\uAE30"),onClick:i}),!x&&o.jsx(le,{size:40,type:"bar",label:k("wordTable.openNewWindow","\uC0C8 \uCC3D\uC73C\uB85C \uBCF4\uAE30"),onClick:ia})]}),o.jsxs("div",{className:"word-table-block__actions-right",children:[M&&o.jsx(le,{size:"56",type:"bar",label:k("common.cancel","\uCDE8\uC18C"),onClick:M}),!x&&o.jsx(le,{size:"56",type:"bar",label:k("wordTable.print","\uC778\uC1C4\uD558\uAE30"),onClick:Vt}),m&&o.jsx(le,{size:"56",type:"bar",label:m,onClick:()=>F?ve():xa(!0),disabled:ke,onDisabledClick:()=>{Le(k("wordTable.emptyItems","\uB2E8\uC5B4\uB97C 1\uAC1C \uC774\uC0C1 \uCD94\uAC00\uD574\uC8FC\uC138\uC694."))}}),o.jsx(le,{size:"56",type:"bar",variant:"main",label:d??k("wordTable.saveButton","\uC800\uC7A5\uD558\uAE30"),onClick:()=>xa(!1),disabled:Me,onDisabledClick:nt})]})]}),o.jsx(oo,{message:at,type:He,onClose:Ue})]})}var R7=".ihabdevteam-core-scope .word-table-thumb{grid-gap:1px;background:var(--color-darkWhite);border-bottom:1px solid var(--color-darkWhite);display:grid;gap:1px;grid-auto-rows:minmax(min-content,1fr);height:140px;overflow:hidden}.ihabdevteam-core-scope .word-table-thumb__cell{align-items:center;background:var(--color-white);display:flex;flex-direction:column;gap:1px;justify-content:center;min-height:0;overflow:hidden;padding:4px}.ihabdevteam-core-scope .word-table-thumb__word{color:var(--color-black)}.ihabdevteam-core-scope .word-table-thumb .word-table-thumb__word{line-height:1.2}.ihabdevteam-core-scope .word-table-thumb__divider{background:var(--color-darkWhite);display:block;height:1px;margin:1px 0;width:30%}";Q(R7);function Ec({items:e,className:t}){const a=e.length,r=a<=3?1:2,n=Math.ceil(a/r)||1,i=r*n;return o.jsx("div",{className:ye("word-table-thumb",t),style:{gridTemplateColumns:`repeat(${r}, 1fr)`},children:Array.from({length:i},(s,c)=>{const u=e[c];return u?o.jsx("div",{className:"word-table-thumb__cell",children:(u.words.length?u.words:[{label:u.id}]).map((d,m)=>o.jsxs(l.Fragment,{children:[m>0&&o.jsx("span",{className:"word-table-thumb__divider"}),o.jsx("span",{className:"word-table-thumb__word body-3",children:d.label})]},m))},c):o.jsx("div",{className:"word-table-thumb__cell word-table-thumb__cell--empty"},c)})})}var $7=".ihabdevteam-core-scope .word-table-button{background:var(--color-white);border:1px solid var(--color-whiteLine);border-radius:8px;border-radius:var(--radius-s,8px);box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;overflow:hidden;position:relative;transition:border-color .15s,box-shadow .15s;width:240px}.ihabdevteam-core-scope .word-table-button:hover{border-color:var(--color-main);box-shadow:0 2px 10px rgba(0,0,0,.06)}.ihabdevteam-core-scope .word-table-button:focus-visible{outline:2px solid var(--color-main);outline-offset:1px}.ihabdevteam-core-scope .word-table-button--selected{border-color:var(--color-main);box-shadow:0 0 0 1px var(--color-main) inset}.ihabdevteam-core-scope .word-table-button__thumb{flex:0 0 auto;height:290px}.ihabdevteam-core-scope .word-table-button__info{align-items:flex-start;display:flex;flex-direction:row;gap:8px;min-width:0;padding:12px 14px 0;position:relative}.ihabdevteam-core-scope .word-table-button__more{position:absolute;right:10px;top:8px}.ihabdevteam-core-scope .word-table-button__title{padding-right:34px}.ihabdevteam-core-scope .word-table-button--no-footer .word-table-button__info{flex:1 1 auto;min-height:0}.ihabdevteam-core-scope .word-table-button--no-footer .word-table-button__info-text{align-self:stretch}.ihabdevteam-core-scope .word-table-button__info-text{align-items:flex-start;display:flex;flex:1 1 auto;flex-direction:column;gap:4px;min-width:0;text-align:left}.ihabdevteam-core-scope .word-table-button__title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--color-black);display:-webkit-box;overflow:hidden;overflow-wrap:anywhere}.ihabdevteam-core-scope .word-table-button__desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--color-gray);display:-webkit-box;overflow:hidden}.ihabdevteam-core-scope .word-table-button__meta{color:var(--color-gray)}.ihabdevteam-core-scope .word-table-button__meta-row{align-items:center;display:flex;gap:8px;justify-content:space-between;min-width:0;padding:12px 14px 14px}.ihabdevteam-core-scope .word-table-button__badges{align-items:center;display:flex;flex:0 0 auto;gap:4px}.ihabdevteam-core-scope .word-table-button--no-footer .word-table-button__meta-row{margin-top:auto}.ihabdevteam-core-scope .word-table-button__footer{display:flex;flex-direction:column;gap:8px;margin-top:auto;min-width:0;padding:12px 14px 14px}.ihabdevteam-core-scope .word-table-button__store-by{align-items:center;display:inline-flex;gap:6px;min-width:0;overflow:hidden}.ihabdevteam-core-scope .word-table-button__store-by .training-card__date{white-space:nowrap}.ihabdevteam-core-scope .word-table-button__store-stats{align-items:center;align-self:flex-end;display:inline-flex;gap:4px}.ihabdevteam-core-scope .word-table-button__more{flex:0 0 auto}.ihabdevteam-core-scope .word-table-button__badge{pointer-events:none}.ihabdevteam-core-scope .word-table-button__new-dot{background:var(--color-main);border-radius:50%;box-shadow:0 0 0 2px var(--color-white);height:10px;pointer-events:none;position:absolute;right:8px;top:8px;width:10px;z-index:3}";Q($7);function lg({items:e,name:t,description:a,createdAt:r,published:n,publishedLabel:i,shared:s,sharedLabel:c,isNew:u,publisherName:d,publishedAt:m,likeCount:h,downloadCount:p,onPublisherClick:g,selected:v,onClick:b,onMore:y,titleNode:f,className:x}){const{t:_}=me.useTranslation(),C=f!=null,A=d!=null||m!=null||h!=null||p!=null,w=S=>{!C&&(S.key==="Enter"||S.key===" ")&&(S.preventDefault(),b?.())};return o.jsxs("div",{className:ye("word-table-button",v?"word-table-button--selected":"",A?"":"word-table-button--no-footer",x),role:"button",tabIndex:0,"aria-label":t,onClick:C?void 0:b,onKeyDown:w,children:[u&&o.jsx("span",{className:"word-table-button__new-dot","aria-label":_("myWordTable.newBadge","\uC0C8\uB85C \uB9CC\uB4E0 \uD45C")}),o.jsx(Ec,{items:e,className:"word-table-button__thumb"}),o.jsxs("div",{className:"word-table-button__info",children:[o.jsxs("div",{className:"word-table-button__info-text",children:[f??o.jsx("div",{className:"word-table-button__title h4",children:t}),a&&o.jsx("div",{className:"word-table-button__desc body-3",children:a})]}),y&&!C&&o.jsx(le,{className:"word-table-button__more",size:32,type:"dot",variant:"transparent-gray",useBorder:!1,icon:"ellipsis",ariaLabel:_("common.moreFor",{name:t}),onClick:S=>{S.stopPropagation(),y(S)}})]}),(r||n||s)&&o.jsxs("div",{className:"word-table-button__meta-row",children:[o.jsx("span",{className:"word-table-button__meta caption-1",children:r?qr(r,_):""}),o.jsxs("span",{className:"word-table-button__badges",children:[n&&o.jsx(ht,{className:"word-table-button__badge",size:"small",variant:"main",fill:"soft",iconLeft:"book-marked",label:i??"\uBC1C\uD589\uB428"}),s&&o.jsx(ht,{className:"word-table-button__badge",size:"small",fill:"soft",iconLeft:"link",label:c??"\uACF5\uC720 \uC911"})]})]}),A&&o.jsxs("div",{className:"word-table-button__footer",children:[o.jsxs("span",{className:"word-table-button__store-by",children:[d&&o.jsx("button",{className:"training-card__publisher body-4",type:"button",onClick:S=>{S.stopPropagation(),g?.()},children:d}),m&&o.jsx("span",{className:"training-card__date body-4",children:qr(m,_)})]}),o.jsxs("span",{className:"word-table-button__store-stats",children:[h!=null&&o.jsx(ht,{size:"small",fill:"soft",variant:"like",iconLeft:"heart",label:String(h)}),p!=null&&o.jsx(ht,{size:"small",fill:"soft",variant:"main",iconLeft:"download",label:String(p)})]})]})]})}/**
969
969
  * @license lucide-react v1.38.0 - ISC