@ihabdevteam/core 0.13.2 → 0.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/components.cjs.js
CHANGED
|
@@ -815,7 +815,7 @@ questions?`,contactButton:"Contact Us",items:[{q:"Can I cancel at any time?",a:"
|
|
|
815
815
|
Please check your inbox.`,failed:"Failed to send the reset link. Please try again later."},error:{emailRequired:"Please enter your email.",signupDisabled:"Self sign-up is currently disabled. Please join through an invitation.",lockedWithMinutes:"Your account is locked after {{count}} failed sign-in attempts. Try again in {{minutes}} minutes.",lockedContactAdmin:"Your account is locked after {{count}} failed sign-in attempts. Please contact an administrator.",attemptsLeft:"{{message}} ({{count}} attempts left)",passwordRequired:"Please enter your password.",usernameRequired:"Please enter a username.",passwordMinLength:"Password must be at least 6 characters.",passwordMinLengthN:"Password must be at least {{n}} characters.",passwordMismatch:"Passwords do not match.",invalidCredentials:"Incorrect email or password.",emailNotConfirmed:"Email verification is not complete. Please check your inbox.",invalidEmailFormat:"Invalid email format.",termsRequired:"Please agree to the Terms of Use.",privacyRequired:"Please agree to the Privacy Policy.",emailFormat:"This is not a valid email format.",usernameMaxLength:"Username must be at most 12 characters.",serviceUnavailable:"Can't reach the service right now. Please try again shortly, and contact an administrator if it continues.",unknown:"Sign-in failed. Please try again shortly, and contact an administrator if it continues."},agreement:{termsTitle:"Terms of Use",privacyTitle:"Privacy Policy",termsLabel:"I agree to the Terms of Use.",privacyLabel:"I agree to the Privacy Policy.",view:"View",loadError:"Failed to load the document."},resetPage:{title:"Reset Password",sessionChecking:"Checking session\u2026",accessDenied:"This page can only be accessed via the reset link in your email. If the link has expired, please request a new one.",newPassword:"New password",confirmPassword:"Confirm new password",mismatch:"Passwords do not match.",reused:"You cannot reuse your last {{count}} passwords.",submit:"Reset password",submitting:"Resetting\u2026",done:"Your password has been reset. Please go to the homepage and sign in again.",goHome:"Go to homepage"},emailPlaceholder:"Enter your email",passwordNewPlaceholder:"Enter your password",usernamePlaceholder:"Enter your username",orDivider:"or",kakaoStart:"Continue with Kakao"},y2={title:"Agreement required",subtitle:"Please agree to the Terms of Use and Privacy Policy to continue using the service.",submit:"Agree and continue",processing:"Processing\u2026",error:"Failed to save your agreement. Please try again later."},v2={title:"Address Search",loadError:"Failed to load Daum Postcode script"},w2={addTitle:"Add Training Bundle",editTitle:"Edit Training Bundle",nameLabel:"Training Bundle Name",namePlaceholder:"Enter training bundle name",basketLabel:"Selected Training",selectLabel:"Select Training",customerSelect:"Select Customers",tab:{byTopic:"By Topic",byType:"By Type"},toast:{maxItems:"You can select up to 10 items per training type.",noItemsToAdd:"No items available to add."},descLabel:"Description",descPlaceholder:"Briefly describe this training (optional)",copyLink:"Copy Link",removeLink:"Remove Link",linkCopied:"Link copied.",linkCreated:"Link created.",linkRemoved:"Link removed.",linkCreating:"Creating\u2026",linkError:"Failed to create link.",linkSaveFirst:"Please save the training bundle first.",linkSaveFirstHint:"You can only create a shared link from a saved training bundle.",linkCopySelect:"Copy blocked \u2014 link selected. Press Ctrl/\u2318+C to copy.",nameRequired:"Please enter a training bundle name.",itemRequired:"Please add at least one training item.",randomAdd:"Random Add",shareLinkLabel:"Shared Link",basketEmpty:"No training selected",basketPerTypeMax:"/ max 10 each",clearAll:"Clear All",removeLinkConfirm:{title:"Remove Shared Link",body:"Remove this shared link? It will no longer be accessible.",confirm:"Remove"},groupLabel:"Group",groupPlaceholder:"Group name (optional)",noGroup:"No Group",shareLink:"Create Link"},x2={type:{hearingAid:"Hearing Aid",cochlearImplant:"Cochlear Implant",other:"Other"},direction:{left:"L",right:"R",label:"Side"},wornDate:"Date Worn",deviceType:"Device Type",brand:"Brand",fitType:"Fit Type",productName:"Product Name",productNamePlaceholder:"Enter product name",registerTitle:"Device Registration",validationError:{brandAndProduct:"Please enter brand and product name.",wornYear:"Worn year must be between {{min}} and {{max}}.",brand:"Choose a brand.",productName:"Enter a product name."},addNew:"Add New Device",selectFromList:"Select from List",removeDevice:"Remove",editTitle:"Edit device",editSubmit:"Save device",deleteSubmit:"Delete device"},_2={stat:{totalCustomers:"Total Customers",monthlyTraining:"This Month's Training",monthlyVisits:"This Month's Visits",savedWordTables:"Saved Word Tables",todayVisits:"Today's Visits",todayVisitsEmpty:"No visits scheduled today",subscription:"Subscription Status",subscriptionRemaining:"In Use",subscriptionTotal:"Total",subscriptionHeld:"Held"},chart:{visitDetail:"Visit Details",trainingDetail:"Training Details",weekly:"Weekly",daily:"Daily",periodMonth:"Month",periodWeek:"Week",weeklyPrefix:"Weekly",monthlyPrefix:"Monthly",visit:"Visits",reservation:"Reservations",trainingDone:"Completed",trainingInProgress:"In Progress",weekRange:"{{start}}\u2013{{end}}",week:"W{{n}}"},moreItems:"+ {{count}} more",headerBadge:"Pre-Open 30 days",greeting:"{{name}}",subscriptionStatus:{active:"{{pct}}% Active",expired:"{{pct}}% Expired",unused:"{{pct}}% Unused"}},k2={title:"Word Pairs",editTitle:"Edit '{{name}}'",editBanner:{message:"Saving will update the contrast pair table you're editing."},subtitle:"Select phonemes to search for minimal pairs.",phonemeSelect:{title:"Phoneme Selection",emptySummary:"Select a phoneme.",needsContrast:"Select the contrast phoneme.",vs:"vs"},caution:"Caution",mode:{include:"Phoneme Include",pick:"Phoneme Contrast",contrast:"Specify Contrast",infoTitle:"Contrast Mode",infoInclude:"Include \u2014 finds words containing all selected phonemes, plus their minimal pair.",infoPick:"Contrast \u2014 matches only if the selected phoneme is the actual point of difference in the pair.",infoContrast:"Specify Contrast \u2014 directly choose phonemes for the base word and the contrasting word to find pairs."},count:"{{n}}",input:{char:"Choose Letters",pron:"Choose Sound",infoTitle:"Input mode",infoChar:"Choose Letters \u2014 finds words by the selected phonemes (spelling), then finds their standard-pronunciation contrast pairs.",infoPron:"Choose Sound \u2014 finds standard-pronunciation contrast pairs directly from the selected phonemes."},phonemeN:"Syllable {{n}}",phonemeSingleLabel:"Syllable",phonemeContrastSingleLabel:"Contrast Syllable",ordinals:["First","Second","Third","Fourth"],phonemeOrdinalLabel:"{{ordinal}} Syllable",phonemeContrastOrdinalLabel:"Contrast {{ordinal}} Syllable",composition:"Answer Word Composition",syllableCount:"Syllables",syllableN:"{{n}} syll.",syllableNPlus:"{{n}}+ syll.",onset:"Onset",vowel:"Vowel",coda:"Coda",glide:"Glide",filter:{searchOptionsTitle:"Contrast Settings",searchModeLabel:"Contrast Mode",countLabel:"Input Syllable Count",inputModeLabel:"Input mode",phonemeOrder:"Input Syllable Position",phonemeOrderInfo:["Match: the pair must differ at exactly the same position (syllable).","Any: the differing position doesn't matter."],orderAny:"Any",noCoda:"None",noCodaTip:"Find only words without a final consonant",orderMatch:"Match",difficultyInfo:"Reflects the National Institute of Korean Language's basic vocabulary grade.",selectLabel:"Select",selectInfo:["Only words with images: keeps only results with a registered word image.","Only same phoneme structure: keeps only pairs where both words have the same syllable structure (length, batchim, etc.)."],onlyHasImage:"Only words with images",onlySameStructure:"Only same phoneme structure",scopeSearchWordOnly:"Search word only"},resultUnit:"pairs",group:{onset:"Onset Contrast",vowel:"Vowel Contrast",glide:"Glide Contrast",coda:"Coda Contrast"},toast:{samePhonemesError:"The base phoneme and the contrast phoneme must be different."},searchLabel:{error:"Failed to load data",loading:"Loading\u2026",checking:"Checking images"},confirmMessage:"The word table with {{count}} selected {{unit}} will be lost.",resetOptions:"Reset Options",phonemeContrast:"Contrast Syllable {{n}}",infoNotes:["The preview character is an example of the selected phoneme combination. The actual search covers all words containing the phoneme.","Initial consonant '\u3147' cannot be selected. \u3147 at the start of a word is effectively silent.","If only onset and coda are selected, the vowel is automatically displayed as '\u314F'.","Increasing the phoneme count searches for minimal pairs between each phoneme."],imageFilterOn:"Showing only words that have an image \u2014 a pair needs an image for both words, so far fewer pairs remain. Turn that option off in Search options to see more."},A2={title:"Games",subtitle:"Train your listening with fun games",scoreSaveFailed:"Failed to save your score. Please try again.",endsIn:"Ends in {{days}}d {{hours}}h",bestScore:"Best Score",totalScore:"Total score",rank:"Rank",leaderboard:{title:"Ranking",loading:"Loading the ranking\u2026",empty:"No scores yet. Be the first!",unavailable:"Couldn't load the ranking. Try reopening in a moment.",me:"You",anonymous:"Anonymous",score:"{{score}} pts",chase:"{{points}} more points to reach #{{rank}}.",top:"You're #1! Now defend it."},crossword:{title:"Crossword Puzzle",desc:"Listen to each word and fill the grid with letter tiles.",tip1:"Tap a numbered square to hear the word that goes there (both in turn if it starts two).",tip2:"Tap the letter tiles below to fill the blanks",tip3:"Fill in all cells, then tap 'Check answer' to see your result",scoreTitle:"Scoring",score1:"10 points per correct cell, nothing deducted for wrong ones.",score2:"Speed and difficulty don't raise it.",score3:"Rounds add up, so the more you play the higher you climb.",playHint:"Tap a numbered square to hear the word there. (If a square has two numbers, in the order you tap.)",pickCellFirst:"Pick a square to fill first. Squares with a number play the word for that spot. (Two numbers: in the order you tap them.)",levelIntro:"Pick a difficulty and get a fresh puzzle every time.",wordsLoading:"Loading words\u2026",alertNoPuzzle:"Could not build a puzzle. Please try again.",level:{basic:"Basic",intermediate:"Intermediate",advanced:"Advanced"},levelDesc:{basic:"Start with easy words",intermediate:"A bit more challenging",advanced:"The hardest words"},alertFillAll:"Please fill in all cells.",undo:"\u21A9 Undo",checkAnswer:"\u2713 Check",cellEmpty:"empty",cellCorrect:"correct",cellWrong:"wrong",hintLabel:"{{label}} {{number}}",horizontal:"Across",vertical:"Down"},reflex:{title:"Reflex Game",desc:"Listen and quickly click the correct word.",roundCount:"{{total}} rounds \xB7 {{timeLimit}}s each",tip1:"Click the correct answer from 4 choices when you hear the word",tip2:"Click the question to hear the word again",tip3:"Answer within {{timeLimit}} seconds",accuracy:"{{pct}}% accuracy",avgTime:"avg {{time}}s",timeout:"(timeout)",correctMsg:"\u2713 Correct! {{time}}s",wrongMsg:"\u2717 Answer: {{word}}"},typing:{title:"Word Typing",desc:"Listen and type the word within the time limit.",roundCount:"{{rounds}} rounds \xB7 {{timeLimit}}s each",placeholder:"Type the word you heard",tip1:"Listen and type the word within the time limit",tip2:"Tap 'Listen again' to hear the word again",tip3:"Press Enter or the Confirm button to submit",accuracy:"{{pct}}% accuracy",notEntered:"(not entered)",correctMsg:"\u2713 Correct!",wrongMsg:"\u2717 Answer: {{word}}"},sentenceTyping:{title:"Sentence Typing",desc:"Listen and type the sentence within the time limit.",roundCount:"{{rounds}} rounds \xB7 {{timeLimit}}s each",placeholder:"Type the sentence you heard",tip1:"Listen and type the sentence within the time limit",tip2:"Tap 'Listen again' to hear the sentence again",tip3:"Press Enter or the Confirm button to submit"},wordDefense:{inputLabel:"Type the word you heard",title:"Word Defense",desc:"Type incoming words to defeat them.",introTitle:"Space Defense",introDesc:"A word plays whenever an alien appears.",introDesc2:"Type the word you heard to defeat the alien!",tip1:"Click alien / Spacebar \u2192 hear the word again",tip2:"Aliens come from all directions",tip3:"The invasion speed increases over time",gameoverTitle:"Base Destroyed!",killCount:"Aliens defeated: {{count}}",msgPerfect:"Perfect space defense!",msgGood:"Well fought!",msgTryAgain:"Keep practicing!",dailyBest:"Today's Best",replayBtn:"Listen Again",energyBtn:"Use Energy",energyTitle:"Activate energy (Tab) \u2014 remove all enemies",clickToPlay:"Click to play immediately",me:"Me"},dictation:{title:"Dictation",desc:"Practice writing down exactly what you hear.",comingSoon:"Coming soon: audio playback, input field, answer comparison"},result:{heading:"Level {{number}} Answer",allCorrect:"Clap clap clap \u2014 All correct!",scoreEarned:"You scored {{score}}",scoreSummary:"{{correct}} of {{total}} cells correct",retry:"Try Again",next:"Next Quiz"},common:{howToPlay:"How to Play",start:"Start",retry:"Play Again",confirm:"Confirm",listenAgain:"Listen Again",result:"Result",score:"Score {{score}}",timerSec:"{{sec}}s",progressFilled:"Progress \u2014 {{filled}} of {{total}} cells filled",roundCorrect:"Round {{n}} correct",roundWrong:"Round {{n}} incorrect",accuracy:"{{pct}}% accuracy",rankChecking:"Checking rank\u2026",rankValue:"Rank #{{rank}}",bestScore:"Best {{score}} pts",newRecord:"New record",dialogIntro:"{{game}} \u2014 how to play",dialogResult:"{{game}} \u2014 results",dialogPlay:"{{game}} \u2014 in progress"},soundMatch:{title:"Sound Match",desc:"Quickly match words or sentences that share the same sound.",comingSoon:"Coming soon: play button, timer, score tracking"},orderSequence:{title:"Sentence Ordering",desc:"Arrange scattered sentence fragments in the correct order.",comingSoon:"Coming soon: sentence sets, ordering interface"},speedListen:{title:"Speed Listen",desc:"A challenge game to count the number of words in a sentence within a time limit.",comingSoon:"Coming soon: time limit, scoreboard"},noiseChallenge:{title:"Noise Challenge",desc:"Practice distinguishing sentences amid background noise.",comingSoon:"Coming soon: various noise levels, score tracking"},fastListen:{title:"Fast Listen",desc:"Listen to short sentences at speed and select the key word.",comingSoon:"Coming soon: speed by difficulty, timer"},shadowing:{title:"Shadowing",desc:"Practice pronunciation and intonation by repeating sentences aloud.",comingSoon:"Coming soon: playback, recording, comparison feedback"},phonemeHunt:{title:"Phoneme Hunt",desc:"Find words that contain a specific phoneme (sound).",comingSoon:"Coming soon: phoneme filter, hint feature"}},S2={lead:`IHAB builds trust
|
|
816
816
|
through sound
|
|
817
817
|
and aids recovery.`,site:{title:"Site",malgwi:"Malgwi",soundDirection:"Sound Direction System",vrSoundDirection:"VR Sound Direction System",hearingTest:"Hearing Test Pro"},sns:{title:"SNS",naverBlog:"Naver Blog",kakao:"KAKAO Talk Open Chat"},policy:{title:"Policy",terms:"Terms of Service",privacy:"Privacy Policy"},ceo:"CEO",address:"Address",support:"Support",ceoName:"Ji-hye Han",addressValue:"302, 3F, Haechan Bldg, 32 Siocheong-gil, Chuncheon, Gangwon, Korea"},N2={nav:{programs:"Programs",manager:"Manager",themes:"Training Topics",plans:"Pricing",login:"Log in",menuOpen:"Open menu",menuClose:"Close menu"},hero:{eyebrow:"Auditory Training by Hearing Professionals",title:"Practice <em>hearing speech</em><br/>with programs made by<br/>hearing professionals.",sub:"IHAB \uB9D0\uADC0 is an auditory training program designed to support everyday communication for hearing aid wearers, with a variety of listening scenarios and engaging content.",ctaPrimary:"Start for free"},marquee:["4,460 listening contents","Audiology expert advisory","Everyday recovery for hearing aid users","Daily updates","9 topic categories","Noise environment simulation"],counter:{prefix:"A total of",unit:"",unitSuffix:"",suffix:"vast training contents.",trainingCardSuffix:" sent.",cap:"With 4,000+ listening contents updated daily, no two listening experiences are ever repeated.",chips:[{num:"1,284",label:"Sentence listening in noise"},{num:"1,612",label:"Short story listening"},{num:"986",label:"Long story listening"},{num:"578",label:"Sentence ordering"}]},features:{title:"All the <em>auditory training</em> you need, <em>in one place</em>",sub:"From today's listening to noise training, word discrimination, and games\u2014<br/>experience everything you need for auditory rehabilitation with \uB9D0\uADC0.",items:[{title:"Today's Listening",desc:"Fresh daily listening training to support consistent auditory rehabilitation."},{title:"Topic Training",desc:"Improve real-life listening ability with topics like daily life, news, and weather."},{title:"Word Training",desc:"Focused training to distinguish phonemes by comparing onset, vowel, and coda differences."},{title:"Listening in Noise",desc:"Build adaptability to clearly distinguish speech in various noise environments."},{title:"Games",desc:"Keep up with auditory training without getting bored through fun game formats."},{title:"Training Log",desc:"Track your auditory rehabilitation progress at a glance with history and statistics."},{title:"Expert Management",desc:"Audiologists and hearing aid centers can manage patient training settings and visit history together."}]},programs:{title:"Auditory training program designed for<br/><em>diverse listening</em> situations and <em>engagement</em>",sub:"Consistent auditory rehabilitation improves auditory attention and cognitive ability.",steps:[{n:"01",variant:"start",title:"Listen",desc:"Training to hear sentences in real everyday noise environments"},{n:"02",variant:"feedback",title:"Remember",desc:"Review the sentence and check which parts you heard clearly"},{n:"03",variant:"done",title:"Confirm",desc:"Save accuracy and trends per session to inform the next training"}]},themes:{title:"Auditory training with <em>topics</em><br/>you're <em>interested</em> in",sub:"Organized by topics you encounter in everyday life so you can practice listening naturally.",sentenceSuffix:" sentences",items:{weather:"Weather",food:"Food",people:"People",koreanCulture:"Korean Culture",stories:"Stories",locations:"Locations",societyArts:"Society & Arts",natureScience:"Nature & Science",sports:"Sports",health:"Health"}},manager:{title:"Manager features for<br/><em>auditory training professionals</em>",sub:"We provide a manager page service that lets you manage customers and set up personalized auditory training.",footText:"Save your preferred training directly to set up your own custom preset.",footBtn:"Apply for \uB9D0\uADC0 Manager"},pricing:{title:"Enjoy all \uB9D0\uADC0 content<br/>without limits"},cta:{eyebrow:"Start right now",title:"10 minutes a day \u2014 regain<br/>confidence in daily communication.",sub:"Log in with your IHAB account to start training immediately<br/>with the first-visit customer preset.",btn:"Log in with IHAB and start \uB9D0\uADC0"},trainingPhone:{title:"Sentence Listening in Noise",topic:"Gardening",prev:"Prev",next:"Next",speed:"Speed 3",noiseType:"Crowd noise",settings:"Settings",start:{caption:"Press the play (\u25B6) button below and listen carefully. After listening, check the sentence."},feedback:{caption:"Plant the well-grown seedlings in the garden bed and cover them carefully with plastic film."},done:{heardWell:"Heard clearly",listenAgain:"Listen again"}},managerDash:{nav:{customers:"Customers",trainingSettings:"Training Settings",visitHistory:"Visit History"},trainingName:"Training Name",tabs:[{label:"Sentence listening in noise",icon:"\u{1F50A}"},{label:"Short story listening",icon:"\u{1F4AC}"},{label:"Long story listening",icon:"\u{1F4D6}"},{label:"Sentence ordering",icon:"\u{1F500}"}],checks:[{n:"Kendo",on:!0},{n:"Golf",on:!0},{n:"Golf etiquette",on:!0},{n:"Basketball",on:!1},{n:"Marathon",on:!1},{n:"Badminton",on:!1}]},stickyCta:"Log in and start \uB9D0\uADC0",stickyTaglinePrefix:"'s\xA0",stickyTaglineHighlight:"auditory training",stickyTaglineSuffix:" \u2014 ready to start?",forceLogout:{duplicateSession:"You were signed out because this account signed in on another device.",sessionExpired:"Your session expired, so you were signed out."}},T2={yearField:"Year",monthField:"Month",dayField:"Day",yearLabel:"{{y}}",monthLabel:"{{m}}",hourLabel:"{{h}}:00",daySuffix:"",minuteSuffix:"",dayLabel:"{{n}}",timeHM:"{{hh}}:{{mm}}",timeH:"{{hh}}:{{mm}}"},B2={discrimination:{label:"Discrimination Training",disc:"Training to distinguish whether two sounds are the same or different.",types:{SAME_SOUND_PICK:{label:"Listen & Pick Same Sound",sub:"Pick the word card that matches the sound you heard.",setupSub:"Choose a target word and distractors to create a same-sound picking question.",step1:"Select the target word.",step2:"Select other words to present alongside it."},SAME_OR_DIFF:{label:"Same or Different?",sub:"Decide whether the two sounds are the same or different.",setupSub:"Choose two words to compare and create a same-or-different question.",step1:"Listen to the two sounds.",step2:"Are they the same or different?",choiceSame:"Same",choiceDiff:"Different"},HEAR_AND_PICK_SAME:{label:"Hear & Match the Word",sub:"Pick the word card that matches what you heard.",setupSub:"Choose a target word and distractors to create a word-matching question.",step1:"Listen to the word.",step2:"Select the matching word card."},HEAR_AND_PICK_INCLUDED:{label:"Hear & Pick Word with Syllable",sub:"Pick the word card that contains the syllable you heard.",setupSub:"Create a question using a target with the syllable and distractors without it.",step1:"Listen to the syllable.",step2:"Select the word that contains this syllable."},STARTS_WITH_SAME_SOUND:{label:"Hear & Pick Same Starting Sound",sub:"Pick the word that starts with the same sound as the one you heard.",setupSub:"Create a question using words that start with the same sound and distractors that don't.",step1:"Listen to the word.",step2:"Select the word starting with the same sound."}}},synthesis:{label:"Synthesis Training",disc:"Training to combine two or more syllables or phonemes into a word.",types:{MERGE_2_SYLLABLES:{label:"Combine 2 Syllables",sub:"What word do you get when you combine these 2 syllables?",setupSub:"Choose a target word and it will be split into 2 syllables for the question.",step1:"Listen to the 2 syllables.",step2:"What word do they make?"},MERGE_3_SYLLABLES:{label:"Combine 3 Syllables",sub:"What word do you get when you combine these 3 syllables?",setupSub:"Choose a target word and it will be split into 3 syllables for the question.",step1:"Listen to the 3 syllables.",step2:"What word do they make?"},MERGE_2_PHONEMES:{label:"Combine 2 Phonemes",sub:"What sound do you get when you combine these 2 phonemes?",setupSub:"Choose a target sound and create a 2-phoneme combination question.",step1:"Listen to the 2 phonemes.",step2:"What sound do they make?"},MERGE_3_PHONEMES:{label:"Combine 3 Phonemes",sub:"What sound do you get when you combine these 3 phonemes?",setupSub:"Choose a target sound and create a 3-phoneme combination question.",step1:"Listen to the 3 phonemes.",step2:"What sound do they make?"}}},deletion:{label:"Deletion Training",disc:"Training to identify the remaining sound after removing a syllable or phoneme.",types:{DROP_1_FROM_2SYLL:{label:"Drop 1 Syllable from 2-Syllable Word",sub:"What sound is left when you remove one syllable from a 2-syllable word?",setupSub:"Choose a 2-syllable target word and create a syllable-deletion question.",step1:"Listen to the word.",step2:"What sound remains when one syllable is removed?"},DROP_1_FROM_3SYLL:{label:"Drop 1 Syllable from 3-Syllable Word",sub:"What sound is left when you remove one syllable from a 3-syllable word?",setupSub:"Choose a 3-syllable target word and create a syllable-deletion question.",step1:"Listen to the word.",step2:"What sound remains when one syllable is removed?"},DROP_PART_FROM_COMPOUND:{label:"Drop Part of Compound Word",sub:"What word is left when you remove part of a compound word?",setupSub:"Choose a compound word and create a partial-deletion question.",step1:"Listen to the compound word.",step2:"What word remains when part is removed?"},DROP_FINAL_CONSONANT_FROM_1SYLL:{label:"Drop Final Consonant",sub:"What sound is left when you remove the final consonant?",setupSub:"Choose a 1-syllable word with a final consonant and create a deletion question.",step1:"Listen to the word.",step2:"What sound remains when the coda is removed?"},REMOVE_CONSONANT_AND_IDENTIFY_PHONEME:{label:"Drop Consonant from 1-Syllable Word",sub:"What sound remains after removing the consonant?",setupSub:"Choose a 1-syllable word and create a consonant-removal question.",step1:"Listen to the word.",step2:"What sound remains when the consonant is removed?"}}},substitution:{label:"Substitution Training",disc:"Training to create new sounds by substituting syllables or phonemes.",types:{CHANGE_1_SYLL_IN_2SYLL:{label:"Change 1 Syllable in 2-Syllable Word",sub:"Change one syllable of a 2-syllable word to make a new word.",setupSub:"Choose a 2-syllable target word and create a syllable-substitution question.",step1:"Listen to the word.",step2:"Change one syllable to make a new word."},CHANGE_1_SYLL_IN_3SYLL:{label:"Change 1 Syllable in 3-Syllable Word",sub:"Change one syllable of a 3-syllable word to make a new word.",setupSub:"Choose a 3-syllable target word and create a syllable-substitution question.",step1:"Listen to the word.",step2:"Change one syllable to make a new word."},CHANGE_1_PHONEME_IN_1SYLL:{label:"Change 1 Phoneme in 1-Syllable Word",sub:"Change one phoneme of a 1-syllable word to make a new sound.",setupSub:"Choose a 1-syllable target word and create a phoneme-substitution question.",step1:"Listen to the word.",step2:"Change one phoneme to make a new sound."},CHANGE_1_PHONEME_IN_2SYLL:{label:"Change 1 Phoneme in 2-Syllable Word",sub:"Change one phoneme of a 2-syllable word to make a new word.",setupSub:"Choose a 2-syllable target word and create a phoneme-substitution question.",step1:"Listen to the word.",step2:"Change one phoneme to make a new word."}}},attention:{label:"Auditory Attention Training",disc:"Training attention and short-term memory by listening to and recalling sequences of sounds.",types:{LISTEN_AND_REMEMBER_ORDER:{label:"Listen & Recall in Order",sub:"Select the three word cards in the order you heard them.",setupSub:"Choose three words to present and create a recall-in-order question.",step1:"Listen to the three words.",step2:"Select them in the order you heard them."}}}},D2={subtitle:"Select a training type",resultUnit:"word set",nameLabel:"Name",namePlaceholder:"Enter training name",options:"Training Options",difficulty:"Difficulty",exclude:"Exclude",chosung:"Initial Consonant",save:"Save",preview:"Preview",excludeOptions:{none:"None",noImage:"No Image"},toast:{nameRequired:"Please enter a set name.",noWords:"No words selected.",noProblem:"Please complete at least one question.",loginRequired:"Login required.",saveFailed:"Failed to save.",saveSuccess:'"{{name}}" set saved ({{count}} questions).',saveSuccessWithIncomplete:'"{{name}}" set saved ({{count}} questions, {{incomplete}} incomplete excluded).',bundleApplied:"Applied to the current question."},suggest:{noCoda:"No batchim",syllable:"{{n}} syllable(s)"}},E2={namePlaceholder:"Enter a training name.",trainingTitle:"'{{name}}' Word Training",questionInput:"Enter a word",answer:"Answer",distractor:"Distractor",groupStep:"Select the word set for the problem.",pickWordStep:"Choose the word to use in the question.",groupStepSub:"The correct answer and distractors are chosen at random from the selected set.",sameOrDiffStepSub:"Chosen at random from the selected word set.",problemNav:"Q {{current}} / {{count}}",problemNum:"Q {{n}}",clearQuestion:"Deselect",removeQuestion:"Remove Question",addQuestion:"Add Question",noWords:"No words match the selected filters.",validOk:"Valid word.",validNoImage:"No image for this word.",validNeed1SyllCoda:"Only 1-syllable words with a final consonant are allowed.",validNeed1SyllNoCoda:"Only 1-syllable words without a final consonant are allowed (excluding words starting with \u3147).",validNeed2Syll:"Only 2-syllable words are allowed.",validNeed3Syll:"Only 3-syllable words are allowed.",manualOnlyHint:"This type doesn't support automatic suggestions yet. Please enter the question word manually."},L2={unexpectedTitle:"Something went wrong",unexpectedMessage:"An unexpected error occurred. Please try again.",retry:"Try Again"},j2={loadError:"Word Data Load Failed",loadErrorMessage:"Failed to load word data. Please check your network and try again.",updateAvailable:"Word Data v{{version}}",updateMessage:"New word data is available.",phaseWordDownload:"Download Word Data",phaseImageCheck:"Check Images",phasePairAnalysis:"Analyze Word Pairs",downloadingCount:"Downloading {{n}} words",checkingPage:"Checking page {{page}} list",imageCount:"{{done}} / {{total}} items",update:{title:"Word Data Update"}},M2={title:"Apply for Malgwi Manager",submitting:"Submitting\u2026",submit:"Apply",promo:{title:"3-Day Free Trial for Malgwi Manager",desc:"Register now and try Malgwi Manager free for 3 days!",action:"View Info Page"},applicantEmail:"Applicant Email",companyId:{label:"Company ID",placeholder:"e.g. ACME01 (uppercase letters & numbers)",helper:"Company ID cannot be changed after creation. Only uppercase letters, numbers, _, - are allowed.",errors:{required:"Please enter a company ID",startWithLetter:"Company ID must start with an uppercase letter.",tooLong:"Company ID must be 12 characters or fewer."}},companyName:{label:"Company / Username",placeholder:"Enter company name or username",errors:{required:"Please enter a company name",tooLong:"Company / Username must be 12 characters or fewer."}},companyType:{label:"Company Type",placeholder:"Select company type",errors:{required:"Please select a company type"}},phone:{label:"Phone",errors:{required:"Please enter a phone number",format:"Please enter a valid phone number"}}},P2={clearAriaLabel:"Clear input"},R2={ariaLabel:"Select tab"},$2={ariaLabel:"Tabs"},I2={dragPrompt:"Drag and drop files here",browseButton:"Choose Files",removeAriaLabel:"Remove {{name}}"},F2={ariaLabel:"User avatar"},O2={title:"Homework",subtitle:"Check and do the homework your manager sent you.",completed:"Done",inProgress:"In progress",fromManager:"Manager",received:"received",recordExpired:"The homework has expired, so the result was not recorded. Please contact your manager.",segment:{all:"All",new:"New",inprogress:"In Progress",done:"Done"},pageSize:{10:"Show 10",20:"Show 20",50:"Show 50"},searchPlaceholder:"Search homework name",sort:{newest:"Newest",oldest:"Oldest",title:"Title"},relativeDay:{today:"Today",yesterday:"Yesterday",daysAgo:"{{n}}d ago"},orgLink:{title:"Link Organization",placeholder:"Enter link code",connect:"Link",linked:"Linked to {{org}}.",failed:"Failed to link.",org:"the organization"},reason:{notLoggedIn:"Login required."},list:{title:"Received Homework",empty:"No homework received."},status:{expired:"Expired",done:"Done {{count}}\xD7 \xB7 {{date}}",notDone:"Not done"}},H2={title:"Training Status",sub:"View your hearing training records",weekly:{title:"Weekly Training",daily:"Daily Listening",crossword:"Crossword",trainingTime:"Training Time",timeAvg:"Avg time",accuracy:"Accuracy",unit:" times"},sentence:{title:"Sentence Training"},word:{title:"Word Training"},homework:{title:"Homework Progress",weeklyRate:"Weekly Rate",count:"Total",done:"Done",remaining:"Remaining",unit:""},today:{title:"Today's Listening",progress:"Progress",accuracy:"Accuracy",progressAvg:"Avg progress",unitPct:"%",tooltipTotal:"Total",tooltipDone:"Done"},filter:{countSuffix:" sessions"},time:{title:"Training Time",countLabel:"{{n}} sessions",empty:"No training records",sec:"{{n}}s",min:"{{n}}m",hourMin:"{{h}}h {{m}}m",hour:"{{h}}h"},daily:{title:"Today's Listening Record",empty:"No completed sessions"},crossword:{title:"Crossword Quiz",empty:"No completed levels"},visit:{title:"Linked Visit Records"},detail:"Details",detailEmpty:"No training records for this period.",detailError:"Could not load training records. Please try again shortly.",col:{date:"Date",type:"Type",score:"Score",time:"Time"},trainingType:{LISTEN_IN_NOISE:"Sentence in Noise",SHORT_STORY:"Short Story",LONG_STORY:"Long Story",ORDERING_SENTENCE:"Sentence Ordering"},accuracy:{overall:"Overall accuracy",itemUnit:" items",skipped:"{{n}} had no accuracy record and were left out of this count."}},V2={title:"Training Store",subtitle:"Browse trainings shared by other managers and add them to your list.",searchPlaceholder:"Search by training name or publisher",category:{word:"Word Tables",wordTraining:"Word Training",sentence:"Sentence Training"},sort:{newest:"Newest",likes:"Most liked",downloads:"Most downloaded"},wordKind:{pair:"Pairs",single:"Words",emptyHintToSingle:"No pair tables here, but the 'Words' tab has some.",emptyHintToPair:"No word tables here, but the 'Pairs' tab has some."},pageSize:"{{n}} per page",countPrefix:"Total ",countSuffix:" trainings",notice:"Log in with a manager account to add trainings to your list.",empty:"No trainings have been published yet.",emptyHint:"You can publish your own trainings from the Training Settings page.",like:"Like",unlike:"Unlike",loginRequired:"Login required",import:"Add to my trainings",importButton:"Import",publisher:"Publisher",importFail:"Import failed: {{error}}",importSuccess:"Added '{{title}}' to your training list.",dupTitle:"Same content already exists",dupMessageOne:"Same content as <m>{{title}}</m>. Import anyway?",dupMessageMany:"Same content as <m>{{title}}</m> and <m>{{n}}</m> more. Import anyway?",time:{justNow:"just now",minutesAgo:"{{n}}m ago",hoursAgo:"{{n}}h ago",daysAgo:"{{n}}d ago",weeksAgo:"{{n}}w ago",monthsAgo:"{{n}}mo ago",yearsAgo:"{{n}}y ago"},badge:{shared:"Store"},unpublishOnDelete:"The store listing will also be deleted.",publish:{confirmLabel:"Post",confirmLoading:"Posting\u2026",descPlaceholder:"One-line description for the Training Store (optional)",dialogTitle:"Post to Training Store",message:"Publish '{{name}}' to the Training Store."},categoryLabel:"Resource type",toast:{registered:"Published to the Malgue Library",registerError:"Failed to publish to the Malgue Library"}},z2={common:{cardName:"Card Name",cardNamePlaceholder:"Enter card name",group:"Group",groupPlaceholder:"Group name (optional)",description:"Description",descriptionPlaceholder:"Briefly describe this card (optional)",nameRequired:"Please enter a card name.",removeAll:"Remove All",deleteConfirm:"Delete '{{name}}'?",deleteConfirmDefault:"Delete this card?"},wordTableCard:{createTitle:"Create Word Table Card",editTitle:"Edit Word Table Card",deleteTitle:"Delete Word Table Card",basket:"Selected Tables",basketEmpty:"No tables selected",depth:"Word Table"},wordTrainingCard:{createTitle:"Create Word Training Bundle",editTitle:"Edit Word Training Bundle",deleteTitle:"Delete Word Training Bundle",selectSection:"Select Trainings",defaultSection:"Default Trainings",defaultSectionDesc:"Words are filled automatically when you add a standard training",mySection:"My Trainings",noTrainingsEmpty:"Please create a word training first.",adding:"Adding\u2026",add:"Add",basket:"Selected Trainings",basketEmpty:"No trainings selected",trainingRequired:"Please add at least one training.",maxTrainingsAlert:"You can add up to {{max}} trainings",notEnoughWords:"Not enough words to generate questions",addSaveError:"Failed to save the training. Please try again",complete:{message:"All done! Great job!",button:"Done"}},shareLink:{saveCardFirst:"Save the card first.",copied:"Link copied",created:"Link created",createFailed:"Failed to create link",copyBlocked:"Copying was blocked, so the link is selected. Press Ctrl/\u2318+C to copy",removed:"Link removed",removeFailed:"Failed to remove link"}},W2={manage:{title:"Homework",sub:"View shared training links and submission status.",filterActive:"Active",filterExpired:"Expired / Inactive",searchPlaceholder:"Search by title or recipient",emptySearch:"No results found.",emptyLinks:"No shared homework links yet.",unit:"item(s)",loadFailed:"Could not load homework links."},card:{deleteTitle:"Delete Homework Link",deleteMessage:"Delete this homework link? Submitted results will also be removed."},status:{inactive:"Inactive",expired:"Expired",active:"Active",done_one:"Completed {{count}} time",done_other:"Completed {{count}} times",notDone:"Not Completed",noTarget:"No Target",sentFmt:"{{target}} \xB7 sent {{date}}"},menu:{activate:"Activate",deactivate:"Deactivate"},personalLinkTitle:"Personal link"},q2={title:"Invitations",sub:"Create and manage invite links \u2014 no customer info needed.",copyAriaLabel:"Copy link",deleteAriaLabel:"Delete",deleteConfirmTitle:"Delete invite link",deleteConfirmMessage:"Delete this invite link? Any link already shared will stop working."},G2={card:{sub:"Word Training Bundle",empty:"No word training in this card."}},U2={ariaLabel:"Contact Us",emailPlaceholder:"Email for reply",contentPlaceholder:"Please enter your inquiry.",cancelLabel:"Cancel",submitLabel:"Send",title:"Contact Us",emailLabel:"Email",contentLabel:"Inquiry",successMsg:"\u2713 Your inquiry has been submitted.",submitError:"Failed to submit your inquiry.",subText:"Send us a message about purchasing a subscription plan. We will respond within 1\u20132 business days."},Y2={inProgress:"Exam in progress"},K2={countSuffix:"",searchPlaceholder:"Search links",creating:"Creating\u2026",create:"Create Link",colLink:"Link",colCreatedAt:"Created At",empty:"No items.",loadFailed:"Could not load invitations."},Z2={empty:"No training items to run.",loading:"Loading training data\u2026",subtitle:"Select a topic to start listening practice.",title:"Run Training"},X2={reason:{invalid:"This invite has expired or is no longer valid.",notFound:"This invite does not exist.",notLoggedIn:"Please sign in.",rateLimited:"Please try again in a moment."},defaultOrgName:"the organization",loading:"Loading\u2026",invalidTitle:"Can't open this invite",acceptError:"Failed to accept the invite.",alreadyConnected:"already connected.",connected:"connected.",doneMessage:"{{orgName}} \u2014 {{suffix}}",doneSub:"You can now receive homework from your manager.",goToHomework:"Go to homework",failedTitle:"Couldn't accept the invite",home:"Home",readyTitle:"Invite from {{orgName}}",readySub:"Register as a customer of {{orgName}} and start receiving homework?",accepting:"Connecting\u2026",acceptButton:"Accept invite"},Q2={reason:{notFound:"This link does not exist.",inactive:"This link has been deactivated.",expired:"This link has expired.",maxUses:"This link has reached its maximum uses.",missingToken:"This link is invalid.",default:"This link is not valid.",unavailable:"We can't check this link right now."},checking:"Checking the link\u2026",validBadge:"Valid link",availableUntil:"Available until {{date}}",redirecting:"Redirecting\u2026",redirectingIn3s:"Redirecting to the app in 3 seconds.",enterNow:"Enter now",invalidBadge:"Unavailable",expiredAt:"Expired: {{date}}",contactAdmin:"If you believe this link should still work, please contact your administrator.",unavailableBadge:"Cannot check",unavailableHint:"Check your connection and open the link again. The link itself is still fine."},J2={loading:"Loading\u2026",invalidTitle:"Can't open this link",invalidMessage:"This shared link doesn't exist, or has expired or been deactivated.",goToMyHomework:"Go to My Homework",recordFailed:"This homework link has expired, so your result wasn't saved. Please contact your manager."},eb={defaultTitle:"Word Table"},tb={label:"Share link",copyAriaLabel:"Copy link",removeAriaLabel:"Remove link",creating:"Creating\u2026",hint:"You can only create a share link for a saved card.",removeConfirmTitle:"Remove share link",removeConfirmMessage:"Remove this share link? The existing link will stop working."},nb={title:"Organization link request",subtitle:"The organization below wants to register you as their customer. Please confirm this is an organization you actually use before choosing.",registeredName:"Registered as: {{name}}",decline:"Decline",accept:"Accept",error:"Failed to process: {{message}} \u2014 please try again."},ab={steps:"Step {{current}} of {{total}}"},rb={title:"Build the next training",lead:"Sets containing items {{name}} has not caught yet. Only these go in.",planGroup:"Into a training plan",bundleGroup:"Into a word-training bundle",pending:"{{count}} left",unknownSet:"Set name not found",confirm:"Create",newBase:"{{name}} training",planDesc:"{{count}} set(s) holding items {{name}} got wrong",bundleDesc:"{{count}} word training(s) holding items {{name}} got wrong",madePlan:"{{count}} training plan(s)",madeBundle:"{{count}} word-training bundle(s)",created:"Created '{{name}}' \u2014 {{what}}",nothingMade:"No set could be included, so nothing was created.",noSetNote:"{{n}} item(s) could not be included \u2014 the record does not say which set they came from.",emptyTitle:"Nothing to build right now",emptyAllClear:"No items are still being missed.",emptyNoSet:"{{n}} item(s) are still missed, but the records do not say which set they came from, so they cannot be pulled back. One more training run will start recording it."},ob={panelTitle:"Training misses",viewItems:"Items",viewTypes:"Types",colTitle:"Item",colWhen:"When",colScore:"Correct",colDuration:"Duration",scoreFmt:"{{correct}}/{{total}}",unitRun:" runs",runsEmpty:"No training recorded yet.",colType:"Type",colRate:"Accuracy",colTried:"Tries",colLatest:"Last",colPending:"Left",colTrend:"Change",colRuns:"Runs",unitItem:" items",empty:"No training misses recorded yet.",loadFailed:"Could not load the training records.",skippedOnly:"{{n}} older record(s) were excluded \u2014 they do not say what was answered.",summaryLabel:"Recorded",summaryValue:"{{items}} items \xB7 {{pending}} still missed",nextLabel:"Next to work on",nextCount:"{{count}}",nextCountCapped:"{{shown}} of {{total}}",allClear:"All caught up",tried:"{{count}}x",picked:"\u2192 {{what}}",typeClear:"All caught up",typePending:"{{pending}} of {{total}} left",flat:"no change",runs:"{{count}} run(s)",avgDuration:"{{sec}}s avg",truncated:"Only the most recent {{n}} items were loaded \u2014 the counts below cover just those."},ib={panelTitle:"Word table scores",viewWords:"Words",viewTables:"Tables",colWord:"Word",colMark:"Last",colRate:"Accuracy",colTried:"Tries",colLatest:"When",colTable:"Table",colTrend:"Change",colScoredAt:"Scored at",unitTime:" times",empty:"No word tables scored yet.",summaryLabel:"Scored",summaryValue:"{{times}} times \xB7 {{words}} words",nextLabel:"Focus next",nextCount:"{{count}}",allClear:"All correct last time.",tried:"{{count}}x",times:"{{count}}x",flat:"no change",recentLabel:"Recent scorings",deleteOne:"Delete \u201C{{name}}\u201D scoring",deleteTitle:"Delete this scoring?",deleteMessage:"Deletes the \u201C{{name}}\u201D scoring from {{when}}. This cannot be undone.",nextCountCapped:"{{shown}} of {{total}}",loadFailed:"Could not load word scores."},sb={title:"What to train next?",subtitle:"Picked for the {{count}} words {{name}} has not mastered yet.",allClear:"All correct last time. Nothing to focus on right now.",noMatch:"None of your tables contain these words.",coverage:"{{covered}} of {{total}} cells",uncovered:"{{count}} words not in any table",makeNew:"Make a new table from these {{count}}",newTableBase:"{{name}} focus",newTableDesc:"The {{count}} words {{name}} has not mastered yet.",created:"Created \u201C{{name}}\u201D \u2014 {{count}} cells.",button:"Suggest next table"},lb={hint:"Pin what you want to keep; the rest can be redrawn.",pin:"Pin \u201C{{name}}\u201D",unpin:"Unpin \u201C{{name}}\u201D",remove:"Remove \u201C{{name}}\u201D",regenerate:"Redraw the rest",regenerating:"Drawing\u2026",save:"Create as shown",count:"{{total}} \xB7 {{pinned}} pinned",empty:"Nothing left. At least one is needed."},cb={ariaLabel:"Banner",dotAriaLabel:"Banner {{index}} of {{count}}"},ub={selectYearMonth:"Select year and month"},db={common:Eg,plan:Lg,calendar:jg,passCard:Mg,searchField:Pg,rating:Rg,colorPicker:$g,dropdown:Ig,accordion:Fg,header:Og,nav:Hg,settings:Vg,usage:zg,account:Wg,help:qg,notifications:Gg,wordSuggestion:Ug,training:Yg,trainingSettings:Kg,customers:Zg,today:Xg,payment:Qg,coupons:Jg,visits:e2,company:t2,sentenceTraining:n2,trainingType:a2,myWordTraining:r2,myWordTable:o2,keyWords:i2,wordTable:s2,wordSearch:l2,wordManagement:c2,wordPrint:u2,topic:d2,passwordExpiry:p2,feedbackWidget:m2,accessLinkManager:h2,wordRecommend:g2,subscriptionExpiry:b2,customerTrainingBanner:f2,login:C2,agreementGate:y2,addressSearch:v2,trainingPlan:w2,device:x2,manager:_2,wordPairs:k2,game:A2,footer:S2,landing:N2,date:T2,trainingGroup:B2,trainingSetPage:D2,wordTrainingPreview:E2,error:L2,wordData:j2,infoInput:M2,textField:P2,segmentedControl:R2,tabs:$2,fileUpload:I2,avatar:F2,myHomework:O2,trainingStatus:H2,store:V2,cardPopup:z2,homework:W2,invite:q2,wordTraining:G2,inquiry:U2,exam:Y2,inviteManage:K2,trainingPlanRun:Z2,orgInvitePage:X2,linkGate:Q2,homeworkGate:J2,wordTableView:eb,shareLinkFooter:tb,linkRequestGate:nb,progress:ab,nextTraining:rb,trainingMiss:ob,wordScore:ib,nextTable:sb,draft:lb,topBanner:cb,datePicker:ub};const pb=[{code:"ko",label:"\uD55C\uAD6D\uC5B4"},{code:"en",label:"English"}],Ei="ko",mb="ihab_display_language";function Li(){try{const t=localStorage.getItem(mb);if(t&&pb.some(n=>n.code===t))return t}catch{}return Ei}function ji(t){try{document.documentElement.lang=t}catch{}}dn.on("languageChanged",ji),ji(Li()),dn.use(pe.initReactI18next).init({resources:{ko:{translation:Dg},en:{translation:db}},lng:Li(),fallbackLng:Ei,interpolation:{escapeValue:!1},react:{useSuspense:!1}});function Mi(t){if(!(t==null||t===""))return Hn(typeof t=="number"?`${t.toLocaleString("ko-KR")}\uC6D0`:t)}function hb(t){const n=`${t.code??""} ${t.name??""}`.toLowerCase();return/manager|매니저/.test(n)?"manager":"speechear"}function gb(t){if(t.durationDays&&t.durationDays>0){const o=t.durationDays;return o%365===0?`${o/365}\uB144`:`${o}\uC77C`}const n=(t.code??"").match(/(\d+)(d|y)\b/i);if(n)return n[2].toLowerCase()==="y"?`${n[1]}\uB144`:`${n[1]}\uC77C`;const a=t.name??"",r=a.match(/(\d+\s*(?:년|개월|주|일))\s*(?:이용권)?\s*$/);return r?r[1].replace(/\s+/g,""):a||"\uC774\uC6A9\uAD8C"}function bb(t){const n=(t??"").match(/(\d+)(d|y)\b/i);if(!n)return null;const a=Number(n[1]);return n[2].toLowerCase()==="y"?a*365:a}function Pi(t){return{type:t.type??hb(t),plan:gb(t),label:t.label,price:Mi(t.price),originalPrice:Mi(t.originalPrice),discountLabel:t.discountLabel}}var fb='data:image/svg+xml,<svg width="200" height="100" viewBox="0 0 200 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2255_7326)">%0A<path d="M96.4287 48.3536V24.2572H127.047V48.3536H96.4287ZM142.975 69.1536V76.3607H98.2144V60.6393H132.679V58.5107H98.0787V51.3036H142.429V67.025H108.104V69.1536H142.979H142.975ZM106.247 32.5643V39.9786H117.3V32.5643H106.247ZM148.329 40.3893H142.425V49.45H132.539V23.6357H142.425V30.8429H148.329V40.3857V40.3893Z" fill="%23FAFAFA"/>%0A<path d="M185.536 47.8714V57.275C182.743 58.5571 178.371 59.1964 172.425 59.1964H171.807V76.3607H161.921V59.1964H149.704V49.7929H172.564C178.421 49.7929 182.746 49.1536 185.539 47.8714H185.536ZM152.586 34.2786V24.875H181.282V47.05H171.396V34.2821H152.586V34.2786ZM198.307 76.3607H188.421V23.6393H198.307V76.3643V76.3607Z" fill="%23FAFAFA"/>%0A<path opacity="0.1" d="M24.9999 25C19.0821 25 14.2856 29.7964 14.2856 35.7143V64.2857C14.2856 67.3786 15.0749 70.2893 16.4571 72.8286C18.9928 74.2143 21.9035 75 24.9999 75H53.5714C59.4892 75 64.2856 70.2036 64.2856 64.2857V35.7143C64.2856 32.6214 63.4964 29.7107 62.1142 27.1714C59.5785 25.7857 56.6678 25 53.5714 25H24.9999Z" fill="%23FAFAFA"/>%0A<path d="M14.2859 64.2857V35.7143C14.2859 29.7964 19.0823 25 25.0002 25H53.5716C56.6645 25 59.5752 25.7893 62.1145 27.1714C59.0859 21.6214 53.1966 17.8571 46.4288 17.8571H25.0002C15.1395 17.8571 7.14304 25.8535 7.14304 35.7143V44.0643L0.278759 51.6214C-0.131955 52.0714 -0.0855263 52.7785 0.385902 53.1678C2.46447 54.8964 4.75019 56.225 7.14304 57.1714C7.15376 63.9285 10.9145 69.8035 16.4573 72.8285C15.0716 70.2928 14.2859 67.3821 14.2859 64.2857Z" fill="%23FAFAFA"/>%0A<path d="M25.357 40.7143C25.357 39.5308 24.3976 38.5714 23.2141 38.5714C22.0307 38.5714 21.0713 39.5308 21.0713 40.7143V45C21.0713 46.1834 22.0307 47.1428 23.2141 47.1428C24.3976 47.1428 25.357 46.1834 25.357 45V40.7143Z" fill="%23FAFAFA"/>%0A<path d="M36.0715 57.1428C35.0287 57.1428 33.9822 56.875 33.0358 56.3285C32.1822 55.8357 31.8894 54.7428 32.3858 53.8893C32.8787 53.0357 33.9715 52.7428 34.8251 53.2393C35.8037 53.8035 37.043 53.6428 37.8394 52.8464C38.2251 52.4607 38.468 51.9714 38.543 51.4357C38.8644 49.1607 39.868 47 41.4501 45.1857C42.393 44.1071 42.8894 42.7214 42.8537 41.2857C42.7787 38.3535 40.4322 35.9107 37.5072 35.7285C36.518 35.6678 35.5715 35.85 34.693 36.2678C33.8037 36.6893 32.7358 36.3107 32.3144 35.4214C31.8894 34.5321 32.2715 33.4643 33.1608 33.0428C34.5751 32.3714 36.1572 32.0643 37.7322 32.1643C42.4894 32.4607 46.3072 36.4285 46.4251 41.1964C46.4822 43.5285 45.6715 45.7785 44.143 47.5357C43.018 48.825 42.3037 50.3464 42.0822 51.9321C41.8965 53.2428 41.3037 54.4321 40.368 55.3714C39.2001 56.5393 37.6465 57.1464 36.0751 57.1464L36.0715 57.1428Z" fill="%23FAFAFA"/>%0A<path d="M62.1142 27.1714C63.4999 29.7072 64.2856 32.6179 64.2856 35.7143V64.2857C64.2856 70.2036 59.4892 75 53.5713 75H24.9999C21.907 75 18.9963 74.2107 16.457 72.8286C19.4856 78.3786 25.3749 82.1429 32.1427 82.1429H48.2535C49.2177 82.1429 49.9999 82.925 49.9999 83.8893C49.9999 84.9107 50.8749 85.7215 51.8927 85.6322C62.8392 84.675 71.4285 75.4822 71.4285 64.2857V42.8572C71.4285 36.0893 67.6642 30.2 62.1142 27.1714Z" fill="%23FAFAFA"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2255_7326">%0A<rect width="200" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A',Cb='data:image/svg+xml,<?xml version="1.0" encoding="UTF-8"?>%0A<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="0 0 200 100">%0A <!-- Generator: Adobe Illustrator 30.4.0, SVG Export Plug-In . SVG Version: 2.1.4 Build 226) -->%0A <defs>%0A <style>%0A .st0 {%0A fill: none;%0A }%0A%0A .st1 {%0A fill: %234dcdc0;%0A }%0A%0A .st2 {%0A fill: %23499cdf;%0A }%0A%0A .st3 {%0A fill: %23fff;%0A }%0A%0A .st4 {%0A clip-path: url(%23clippath);%0A }%0A </style>%0A <clipPath id="clippath">%0A <rect class="st0" width="200" height="100"/>%0A </clipPath>%0A </defs>%0A <g class="st4">%0A <g>%0A <path class="st3" d="M96.43,48.35v-24.1h30.62v24.1h-30.62ZM142.98,69.15v7.21h-44.76v-15.72h34.46v-2.13h-34.6v-7.21h44.35v15.72h-34.33v2.13h34.88,0ZM106.25,32.56v7.41h11.05v-7.41h-11.05ZM148.33,40.39h-5.9v9.06h-9.89v-25.81h9.89v7.21h5.9v9.54h0Z"/>%0A <path class="st3" d="M185.54,47.87v9.4c-2.79,1.28-7.16,1.92-13.11,1.92h-.62v17.16h-9.89v-17.16h-12.22v-9.4h22.86c5.86,0,10.18-.64,12.98-1.92h0ZM152.59,34.28v-9.4h28.7v22.17h-9.89v-12.77h-18.81ZM198.31,76.36h-9.89V23.64h9.89v52.73h0Z"/>%0A <path class="st1" d="M46.43,17.86h-21.43c-9.86,0-17.86,7.99-17.86,17.86v21.43c0,9.86,7.99,17.86,17.86,17.86h21.43c9.86,0,17.86-7.99,17.86-17.86v-21.43c0-9.86-7.99-17.86-17.86-17.86Z"/>%0A <path class="st1" d="M34.86,50.74c-9.03,9.94-24.25,10.93-34.48,2.42-.47-.39-.52-1.1-.11-1.55l16.07-17.69,18.51,16.81Z"/>%0A <path class="st1" d="M53.57,25h-21.43c-9.86,0-17.86,8-17.86,17.86v21.43c0,9.86,8,17.86,17.86,17.86h16.11c.96,0,1.75.78,1.75,1.75,0,1.02.88,1.83,1.89,1.74,10.95-.96,19.54-10.15,19.54-21.35v-21.43c0-9.86-8-17.86-17.86-17.86Z"/>%0A <path class="st2" d="M25,25c-5.92,0-10.71,4.8-10.71,10.71v28.57c0,3.09.79,6,2.17,8.54,2.54,1.39,5.45,2.17,8.54,2.17h28.57c5.92,0,10.71-4.8,10.71-10.71v-28.57c0-3.09-.79-6-2.17-8.54-2.54-1.39-5.45-2.17-8.54-2.17h-28.57Z"/>%0A <path class="st3" d="M25.36,40.71c0-1.18-.96-2.14-2.14-2.14s-2.14.96-2.14,2.14v4.29c0,1.18.96,2.14,2.14,2.14s2.14-.96,2.14-2.14v-4.29Z"/>%0A <path class="st3" d="M36.07,57.14c-1.04,0-2.09-.27-3.04-.81-.85-.49-1.15-1.59-.65-2.44.49-.85,1.59-1.15,2.44-.65.98.56,2.22.4,3.01-.39.39-.39.63-.88.7-1.41.32-2.27,1.33-4.44,2.91-6.25.94-1.08,1.44-2.46,1.4-3.9-.07-2.93-2.42-5.38-5.35-5.56-.99-.06-1.94.12-2.81.54-.89.43-1.96.04-2.38-.85-.42-.89-.04-1.96.85-2.38,1.41-.67,2.99-.97,4.57-.88,4.76.3,8.58,4.26,8.69,9.03.06,2.33-.75,4.58-2.28,6.34-1.12,1.29-1.84,2.81-2.06,4.4-.19,1.31-.78,2.5-1.71,3.44-1.17,1.17-2.72,1.78-4.29,1.78h0Z"/>%0A </g>%0A </g>%0A</svg>',yb='data:image/svg+xml,<svg width="200" height="100" viewBox="0 0 200 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2255_7325)">%0A<path d="M96.4287 48.3536V24.2572H127.047V48.3536H96.4287ZM142.975 69.1536V76.3607H98.2144V60.6393H132.679V58.5107H98.0787V51.3036H142.429V67.025H108.104V69.1536H142.979H142.975ZM106.247 32.5643V39.9786H117.3V32.5643H106.247ZM148.329 40.3893H142.425V49.45H132.539V23.6357H142.425V30.8429H148.329V40.3857V40.3893Z" fill="%23111111"/>%0A<path d="M185.536 47.8714V57.275C182.743 58.5571 178.371 59.1964 172.425 59.1964H171.807V76.3607H161.921V59.1964H149.704V49.7929H172.564C178.421 49.7929 182.746 49.1536 185.539 47.8714H185.536ZM152.586 34.2786V24.875H181.282V47.05H171.396V34.2821H152.586V34.2786ZM198.307 76.3607H188.421V23.6393H198.307V76.3643V76.3607Z" fill="%23111111"/>%0A<path opacity="0.1" d="M24.9999 25C19.0821 25 14.2856 29.7964 14.2856 35.7143V64.2857C14.2856 67.3786 15.0749 70.2893 16.4571 72.8286C18.9928 74.2143 21.9035 75 24.9999 75H53.5714C59.4892 75 64.2856 70.2036 64.2856 64.2857V35.7143C64.2856 32.6214 63.4964 29.7107 62.1142 27.1714C59.5785 25.7857 56.6678 25 53.5714 25H24.9999Z" fill="%23111111"/>%0A<path d="M14.2859 64.2857V35.7143C14.2859 29.7964 19.0823 25 25.0002 25H53.5716C56.6645 25 59.5752 25.7893 62.1145 27.1714C59.0859 21.6214 53.1966 17.8571 46.4288 17.8571H25.0002C15.1395 17.8571 7.14304 25.8535 7.14304 35.7143V44.0643L0.278759 51.6214C-0.131955 52.0714 -0.0855263 52.7785 0.385902 53.1678C2.46447 54.8964 4.75019 56.225 7.14304 57.1714C7.15376 63.9285 10.9145 69.8035 16.4573 72.8285C15.0716 70.2928 14.2859 67.3821 14.2859 64.2857Z" fill="%23111111"/>%0A<path d="M25.357 40.7143C25.357 39.5308 24.3976 38.5714 23.2141 38.5714C22.0307 38.5714 21.0713 39.5308 21.0713 40.7143V45C21.0713 46.1834 22.0307 47.1428 23.2141 47.1428C24.3976 47.1428 25.357 46.1834 25.357 45V40.7143Z" fill="%23111111"/>%0A<path d="M36.0715 57.1428C35.0287 57.1428 33.9822 56.875 33.0358 56.3285C32.1822 55.8357 31.8894 54.7428 32.3858 53.8893C32.8787 53.0357 33.9715 52.7428 34.8251 53.2393C35.8037 53.8035 37.043 53.6428 37.8394 52.8464C38.2251 52.4607 38.468 51.9714 38.543 51.4357C38.8644 49.1607 39.868 47 41.4501 45.1857C42.393 44.1071 42.8894 42.7214 42.8537 41.2857C42.7787 38.3535 40.4322 35.9107 37.5072 35.7285C36.518 35.6678 35.5715 35.85 34.693 36.2678C33.8037 36.6893 32.7358 36.3107 32.3144 35.4214C31.8894 34.5321 32.2715 33.4643 33.1608 33.0428C34.5751 32.3714 36.1572 32.0643 37.7322 32.1643C42.4894 32.4607 46.3072 36.4285 46.4251 41.1964C46.4822 43.5285 45.6715 45.7785 44.143 47.5357C43.018 48.825 42.3037 50.3464 42.0822 51.9321C41.8965 53.2428 41.3037 54.4321 40.368 55.3714C39.2001 56.5393 37.6465 57.1464 36.0751 57.1464L36.0715 57.1428Z" fill="%23111111"/>%0A<path d="M62.1142 27.1714C63.4999 29.7072 64.2856 32.6179 64.2856 35.7143V64.2857C64.2856 70.2036 59.4892 75 53.5713 75H24.9999C21.907 75 18.9963 74.2107 16.457 72.8286C19.4856 78.3786 25.3749 82.1429 32.1427 82.1429H48.2535C49.2177 82.1429 49.9999 82.925 49.9999 83.8893C49.9999 84.9107 50.8749 85.7215 51.8927 85.6322C62.8392 84.675 71.4285 75.4822 71.4285 64.2857V42.8572C71.4285 36.0893 67.6642 30.2 62.1142 27.1714Z" fill="%23111111"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2255_7325">%0A<rect width="200" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A',vb='data:image/svg+xml,<svg width="371" height="100" viewBox="0 0 371 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2255_7395)">%0A<path d="M237.151 26.0393V72.7215H216.65V26.0393H237.151ZM234.408 70.0465V28.7179H219.254V70.0465H234.408ZM261.495 76.3608H258.819V48.9679H247.575V75.4679H244.899V23.9822H247.575V46.2929H258.819V23.6393H261.495V76.3643V76.3608Z" fill="%23FAFAFA"/>%0A<path d="M299.722 69.2572C302.076 68.7751 304.031 68.1465 305.583 67.3679V70.1143C304.074 70.9393 302.144 71.5786 299.79 72.0358C297.435 72.4929 295.045 72.7215 292.623 72.7215H272.257V25.6965H275.001V69.9751H292.623C294.999 69.9751 297.364 69.7358 299.722 69.2536V69.2572ZM311.69 76.4322V23.6393H314.434V76.3643L311.69 76.4322Z" fill="%23FAFAFA"/>%0A<path d="M340.557 47.9393L358.179 70.4572L356.053 72.1036L339.872 51.1643C338.409 57.3429 336.33 62.2643 333.633 65.925C330.936 69.5857 327.736 71.8536 324.033 72.7215V69.975C327.279 69.15 330.044 66.8643 332.331 63.1107C334.617 59.3572 336.355 54.5179 337.543 48.5893C338.731 42.6643 339.369 36.0393 339.462 28.7143H324.993V26.0357H356.603V28.7143H342.201C342.155 35.9 341.606 42.3072 340.557 47.9357V47.9393ZM369.22 76.3607H366.477V47.4572H352.418V44.7786H366.477V23.6357H369.22V76.3607Z" fill="%23FAFAFA"/>%0A<path d="M92.8784 48.3536V24.2572H123.461V48.3536H92.8784ZM139.371 69.1536V76.3607H94.6621V60.6393H129.087V58.5107H94.5265V51.3036H138.825V67.025H104.54V69.1536H139.375H139.371ZM102.685 32.5643V39.9786H113.726V32.5643H102.685ZM144.719 40.3893H138.822V49.45H128.947V23.6357H138.822V30.8429H144.719V40.3857V40.3893Z" fill="%23FAFAFA"/>%0A<path d="M181.886 47.8715V57.2751C179.097 58.5572 174.73 59.1965 168.791 59.1965H168.174V76.3608H158.299V59.1965H146.096V49.7929H168.93C174.78 49.7929 179.1 49.1536 181.89 47.8715H181.886ZM148.971 34.2786V24.8751H177.634V47.0501H167.76V34.2822H148.971V34.2786ZM194.64 76.3608H184.765V23.6393H194.64V76.3643V76.3608Z" fill="%23FAFAFA"/>%0A<g opacity="0.1">%0A<path d="M26.7512 25C20.8402 25 16.0493 29.7964 16.0493 35.7143V64.2857C16.0493 67.3786 16.8377 70.2893 18.2182 72.8286C20.751 74.2143 23.6584 75 26.7512 75H55.2897C61.2007 75 65.9916 70.2036 65.9916 64.2857V35.7143C65.9916 32.6214 65.2032 29.7107 63.8227 27.1714C61.2899 25.7857 58.3826 25 55.2897 25H26.7512Z" fill="%23FAFAFA"/>%0A</g>%0A<path d="M48.155 17.8571H26.7511C16.9018 17.8571 8.91459 25.8536 8.91459 35.7143V44.0643L2.05822 51.6179C1.64798 52.0679 1.69436 52.775 2.16524 53.1643C4.24141 54.8929 6.52449 56.2214 8.91459 57.1679C8.92529 63.925 12.6817 69.8 18.2181 72.825C16.834 70.2893 16.0492 67.3786 16.0492 64.2821V35.7107C16.0492 29.7929 20.8401 24.9964 26.7511 24.9964H55.2896C58.3789 24.9964 61.2862 25.7857 63.8226 27.1679C60.7975 21.6179 54.915 17.8536 48.155 17.8536V17.8571Z" fill="%23FAFAFA"/>%0A<path d="M63.8227 27.1714C65.2068 29.7072 65.9916 32.6179 65.9916 35.7143V64.2857C65.9916 70.2036 61.2008 75 55.2897 75H26.7513C23.662 75 20.7546 74.2107 18.2183 72.8286C21.2433 78.3786 27.1258 82.1429 33.8859 82.1429H49.978C50.9412 82.1429 51.7224 82.925 51.7224 83.8893C51.7224 84.9107 52.5964 85.7215 53.6131 85.6322C64.5469 84.675 73.1263 75.4822 73.1263 64.2857V42.8572C73.1263 36.0893 69.3663 30.2 63.8227 27.1714Z" fill="%23FAFAFA"/>%0A<path d="M27.1079 40.7143C27.1079 39.5308 26.1496 38.5714 24.9675 38.5714C23.7854 38.5714 22.8271 39.5308 22.8271 40.7143V45C22.8271 46.1834 23.7854 47.1428 24.9675 47.1428C26.1496 47.1428 27.1079 46.1834 27.1079 45V40.7143Z" fill="%23FAFAFA"/>%0A<path d="M37.8097 57.1429C36.768 57.1429 35.7228 56.875 34.7775 56.3286C33.9249 55.8357 33.6323 54.7429 34.1282 53.8893C34.6205 53.0357 35.7121 52.7429 36.5647 53.2393C37.5421 53.8036 38.78 53.6429 39.5755 52.8464C39.9608 52.4607 40.2033 51.9714 40.2782 51.4357C40.5993 49.1607 41.6017 47 43.182 45.1857C44.1238 44.1071 44.6197 42.7214 44.584 41.2857C44.5091 38.3536 42.1653 35.9107 39.2437 35.7286C38.2556 35.6679 37.3102 35.8464 36.4327 36.2679C35.5444 36.6929 34.4778 36.3107 34.0569 35.4214C33.6323 34.5321 34.014 33.4643 34.9023 33.0429C36.315 32.3714 37.8917 32.0679 39.4685 32.1643C44.2201 32.4607 48.0336 36.4286 48.1513 41.1964C48.2084 43.5286 47.3986 45.7786 45.8718 47.5357C44.7481 48.825 44.0346 50.3464 43.8134 51.9357C43.6279 53.2464 43.0358 54.4357 42.1011 55.375C40.9346 56.5429 39.3828 57.15 37.8132 57.15L37.8097 57.1429Z" fill="%23FAFAFA"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2255_7395">%0A<rect width="371" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A',wb='data:image/svg+xml,<?xml version="1.0" encoding="UTF-8"?>%0A<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="0 0 371 100">%0A <!-- Generator: Adobe Illustrator 30.4.0, SVG Export Plug-In . SVG Version: 2.1.4 Build 226) -->%0A <defs>%0A <style>%0A .st0 {%0A fill: none;%0A }%0A%0A .st1 {%0A fill: %234dcdc0;%0A }%0A%0A .st2 {%0A fill: %23499cdf;%0A }%0A%0A .st3 {%0A fill: %23fff;%0A }%0A%0A .st4 {%0A clip-path: url(%23clippath);%0A }%0A </style>%0A <clipPath id="clippath">%0A <rect class="st0" width="371" height="100"/>%0A </clipPath>%0A </defs>%0A <g class="st4">%0A <g>%0A <path class="st3" d="M237.15,26.04v46.68h-20.5V26.04h20.5ZM234.41,70.05V28.72h-15.15v41.33h15.15ZM261.49,76.36h-2.68v-27.39h-11.24v26.5h-2.68V23.98h2.68v22.31h11.24v-22.65h2.68v52.73h0Z"/>%0A <path class="st3" d="M299.72,69.26c2.35-.48,4.31-1.11,5.86-1.89v2.75c-1.51.82-3.44,1.46-5.79,1.92-2.35.46-4.74.69-7.17.69h-20.37V25.7h2.74v44.28h17.62c2.38,0,4.74-.24,7.1-.72h0ZM311.69,76.43V23.64h2.74v52.73l-2.74.07Z"/>%0A <path class="st3" d="M340.56,47.94l17.62,22.52-2.13,1.65-16.18-20.94c-1.46,6.18-3.54,11.1-6.24,14.76-2.7,3.66-5.9,5.93-9.6,6.8v-2.75c3.25-.82,6.01-3.11,8.3-6.86,2.29-3.75,4.02-8.59,5.21-14.52,1.19-5.92,1.83-12.55,1.92-19.87h-14.47v-2.68h31.61v2.68h-14.4c-.05,7.19-.6,13.59-1.64,19.22h0ZM369.22,76.36h-2.74v-28.9h-14.06v-2.68h14.06v-21.14h2.74v52.73Z"/>%0A <path class="st3" d="M92.88,48.35v-24.1h30.58v24.1h-30.58ZM139.37,69.15v7.21h-44.71v-15.72h34.42v-2.13h-34.56v-7.21h44.3v15.72h-34.28v2.13h34.83,0ZM102.68,32.56v7.41h11.04v-7.41h-11.04ZM144.72,40.39h-5.9v9.06h-9.88v-25.81h9.88v7.21h5.9v9.54h0Z"/>%0A <path class="st3" d="M181.89,47.87v9.4c-2.79,1.28-7.16,1.92-13.1,1.92h-.62v17.16h-9.88v-17.16h-12.2v-9.4h22.83c5.85,0,10.17-.64,12.96-1.92h0ZM148.97,34.28v-9.4h28.66v22.17h-9.87v-12.77h-18.79ZM194.64,76.36h-9.88V23.64h9.88v52.73h0Z"/>%0A <path class="st1" d="M48.15,17.86h-21.4c-9.85,0-17.84,7.99-17.84,17.86v21.43c0,9.86,7.99,17.86,17.84,17.86h21.4c9.85,0,17.84-7.99,17.84-17.86v-21.43c0-9.86-7.99-17.86-17.84-17.86Z"/>%0A <path class="st1" d="M36.6,50.74c-9.02,9.94-24.22,10.93-34.44,2.42-.47-.39-.52-1.1-.11-1.55l16.06-17.69,18.49,16.81Z"/>%0A <path class="st1" d="M55.29,25h-21.4c-9.85,0-17.84,8-17.84,17.86v21.43c0,9.86,7.99,17.86,17.84,17.86h16.09c.96,0,1.74.78,1.74,1.75,0,1.02.87,1.83,1.89,1.74,10.93-.96,19.51-10.15,19.51-21.35v-21.43c0-9.86-7.99-17.86-17.84-17.86Z"/>%0A <path class="st2" d="M26.75,25c-5.91,0-10.7,4.8-10.7,10.71v28.57c0,3.09.79,6,2.17,8.54,2.53,1.39,5.44,2.17,8.53,2.17h28.54c5.91,0,10.7-4.8,10.7-10.71v-28.57c0-3.09-.79-6-2.17-8.54-2.53-1.39-5.44-2.17-8.53-2.17h-28.54Z"/>%0A <path class="st3" d="M27.11,40.71c0-1.18-.96-2.14-2.14-2.14s-2.14.96-2.14,2.14v4.29c0,1.18.96,2.14,2.14,2.14s2.14-.96,2.14-2.14v-4.29Z"/>%0A <path class="st3" d="M37.81,57.14c-1.04,0-2.09-.27-3.03-.81-.85-.49-1.15-1.59-.65-2.44.49-.85,1.58-1.15,2.44-.65.98.56,2.22.4,3.01-.39.39-.39.63-.88.7-1.41.32-2.27,1.32-4.44,2.9-6.25.94-1.08,1.44-2.46,1.4-3.9-.07-2.93-2.42-5.38-5.34-5.56-.99-.06-1.93.12-2.81.54-.89.43-1.95.04-2.38-.85-.42-.89-.04-1.96.85-2.38,1.41-.67,2.99-.97,4.57-.88,4.75.3,8.57,4.26,8.68,9.03.06,2.33-.75,4.58-2.28,6.34-1.12,1.29-1.84,2.81-2.06,4.4-.19,1.31-.78,2.5-1.71,3.44-1.17,1.17-2.72,1.78-4.29,1.78h0Z"/>%0A </g>%0A </g>%0A</svg>',xb='data:image/svg+xml,<svg width="371" height="100" viewBox="0 0 371 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2255_7394)">%0A<path d="M237.151 26.0393V72.7215H216.65V26.0393H237.151ZM234.408 70.0465V28.7179H219.254V70.0465H234.408ZM261.495 76.3608H258.819V48.9679H247.575V75.4679H244.899V23.9822H247.575V46.2929H258.819V23.6393H261.495V76.3643V76.3608Z" fill="%23111111"/>%0A<path d="M299.722 69.2572C302.076 68.7751 304.031 68.1465 305.583 67.3679V70.1143C304.074 70.9393 302.144 71.5786 299.79 72.0358C297.435 72.4929 295.045 72.7215 292.623 72.7215H272.257V25.6965H275.001V69.9751H292.623C294.999 69.9751 297.364 69.7358 299.722 69.2536V69.2572ZM311.69 76.4322V23.6393H314.434V76.3643L311.69 76.4322Z" fill="%23111111"/>%0A<path d="M340.557 47.9393L358.179 70.4572L356.053 72.1036L339.872 51.1643C338.409 57.3429 336.33 62.2643 333.633 65.925C330.936 69.5857 327.736 71.8536 324.033 72.7215V69.975C327.279 69.15 330.044 66.8643 332.331 63.1107C334.617 59.3572 336.355 54.5179 337.543 48.5893C338.731 42.6643 339.369 36.0393 339.462 28.7143H324.993V26.0357H356.603V28.7143H342.201C342.155 35.9 341.606 42.3072 340.557 47.9357V47.9393ZM369.22 76.3607H366.477V47.4572H352.418V44.7786H366.477V23.6357H369.22V76.3607Z" fill="%23111111"/>%0A<path d="M92.8784 48.3536V24.2572H123.461V48.3536H92.8784ZM139.371 69.1536V76.3607H94.6621V60.6393H129.087V58.5107H94.5265V51.3036H138.825V67.025H104.54V69.1536H139.375H139.371ZM102.685 32.5643V39.9786H113.726V32.5643H102.685ZM144.719 40.3893H138.822V49.45H128.947V23.6357H138.822V30.8429H144.719V40.3857V40.3893Z" fill="%23111111"/>%0A<path d="M181.886 47.8715V57.2751C179.097 58.5572 174.73 59.1965 168.791 59.1965H168.174V76.3608H158.299V59.1965H146.096V49.7929H168.93C174.78 49.7929 179.1 49.1536 181.89 47.8715H181.886ZM148.971 34.2786V24.8751H177.634V47.0501H167.76V34.2822H148.971V34.2786ZM194.64 76.3608H184.765V23.6393H194.64V76.3643V76.3608Z" fill="%23111111"/>%0A<g opacity="0.1">%0A<path d="M26.7512 25C20.8402 25 16.0493 29.7964 16.0493 35.7143V64.2857C16.0493 67.3786 16.8377 70.2893 18.2182 72.8286C20.751 74.2143 23.6584 75 26.7512 75H55.2897C61.2007 75 65.9916 70.2036 65.9916 64.2857V35.7143C65.9916 32.6214 65.2032 29.7107 63.8227 27.1714C61.2899 25.7857 58.3826 25 55.2897 25H26.7512Z" fill="%23111111"/>%0A</g>%0A<path d="M48.155 17.8571H26.7511C16.9018 17.8571 8.91459 25.8536 8.91459 35.7143V44.0643L2.05822 51.6179C1.64798 52.0679 1.69436 52.775 2.16524 53.1643C4.24141 54.8929 6.52449 56.2214 8.91459 57.1679C8.92529 63.925 12.6817 69.8 18.2181 72.825C16.834 70.2893 16.0492 67.3786 16.0492 64.2821V35.7107C16.0492 29.7929 20.8401 24.9964 26.7511 24.9964H55.2896C58.3789 24.9964 61.2862 25.7857 63.8226 27.1679C60.7975 21.6179 54.915 17.8536 48.155 17.8536V17.8571Z" fill="%23111111"/>%0A<path d="M63.8227 27.1714C65.2068 29.7072 65.9916 32.6179 65.9916 35.7143V64.2857C65.9916 70.2036 61.2008 75 55.2897 75H26.7513C23.662 75 20.7546 74.2107 18.2183 72.8286C21.2433 78.3786 27.1258 82.1429 33.8859 82.1429H49.978C50.9412 82.1429 51.7224 82.925 51.7224 83.8893C51.7224 84.9107 52.5964 85.7215 53.6131 85.6322C64.5469 84.675 73.1263 75.4822 73.1263 64.2857V42.8572C73.1263 36.0893 69.3663 30.2 63.8227 27.1714Z" fill="%23111111"/>%0A<path d="M27.1079 40.7143C27.1079 39.5308 26.1496 38.5714 24.9675 38.5714C23.7854 38.5714 22.8271 39.5308 22.8271 40.7143V45C22.8271 46.1834 23.7854 47.1428 24.9675 47.1428C26.1496 47.1428 27.1079 46.1834 27.1079 45V40.7143Z" fill="%23111111"/>%0A<path d="M37.8097 57.1429C36.768 57.1429 35.7228 56.875 34.7775 56.3286C33.9249 55.8357 33.6323 54.7429 34.1282 53.8893C34.6205 53.0357 35.7121 52.7429 36.5647 53.2393C37.5421 53.8036 38.78 53.6429 39.5755 52.8464C39.9608 52.4607 40.2033 51.9714 40.2782 51.4357C40.5993 49.1607 41.6017 47 43.182 45.1857C44.1238 44.1071 44.6197 42.7214 44.584 41.2857C44.5091 38.3536 42.1653 35.9107 39.2437 35.7286C38.2556 35.6679 37.3102 35.8464 36.4327 36.2679C35.5444 36.6929 34.4778 36.3107 34.0569 35.4214C33.6323 34.5321 34.014 33.4643 34.9023 33.0429C36.315 32.3714 37.8917 32.0679 39.4685 32.1643C44.2201 32.4607 48.0336 36.4286 48.1513 41.1964C48.2084 43.5286 47.3986 45.7786 45.8718 47.5357C44.7481 48.825 44.0346 50.3464 43.8134 51.9357C43.6279 53.2464 43.0358 54.4357 42.1011 55.375C40.9346 56.5429 39.3828 57.15 37.8132 57.15L37.8097 57.1429Z" fill="%23111111"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2255_7394">%0A<rect width="371" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A',Ri='data:image/svg+xml,<svg width="100" height="100" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2255_7305)">%0A<path d="M75.2535 24.7464C68.7892 18.2821 59.8606 14.2857 49.9999 14.2857C40.1392 14.2857 37.5214 24.5964 31.0606 31.0607C24.5964 37.525 14.2856 40.1893 14.2856 50C14.2856 59.8107 18.2821 68.7893 24.7464 75.2536C31.2106 81.7179 40.1392 85.7143 49.9999 85.7143C59.8606 85.7143 68.7892 81.7179 75.2535 75.2536C81.7178 68.7893 85.7142 59.8607 85.7142 50C85.7142 40.1393 81.7178 31.2107 75.2535 24.7464ZM62.6285 62.6286C59.3964 65.8607 54.9321 67.8571 49.9999 67.8571C45.0678 67.8571 40.6035 65.8571 37.3714 62.6286C34.1392 59.3964 32.1428 54.9321 32.1428 50C32.1428 45.0678 34.1428 40.6036 37.3714 37.3714C40.6035 34.1393 45.0678 32.1428 49.9999 32.1428C54.9321 32.1428 59.3964 34.1428 62.6285 37.3714C65.8606 40.6036 67.8571 45.0678 67.8571 50C67.8571 54.9321 65.8571 59.3964 62.6285 62.6286Z" fill="%23FAFAFA"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2255_7305">%0A<rect width="100" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A';const gn={text:"--pass-card-text",sub:"--pass-card-sub",copyright:"--pass-card-copyright"},Va=new WeakMap;function _b(t){if(t)return Va.get(t)}function Zt(t,n){t&&(t.style.setProperty(gn.text,n.text),t.style.setProperty(gn.sub,n.sub),n.copyrightColor&&t.style.setProperty(gn.copyright,n.copyrightColor),Va.set(t,n))}function Xt(t){t&&(t.style.removeProperty(gn.text),t.style.removeProperty(gn.sub),t.style.removeProperty(gn.copyright),Va.delete(t))}const $i={text:"var(--color-pureBlack)",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"#1a1a1a"};function Ii(t={}){const n=rt($i,Zt,Xt);return e.jsxs("div",{ref:n,className:"pass-card-bg pass-card-bg-two-circle","aria-hidden":"true",children:[e.jsx("div",{className:"pass-card-bg-two-circle__c1"}),e.jsx("div",{className:"pass-card-bg-two-circle__c3"}),e.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-two-circle__symbol",style:{"--symbol-url":`url("${Ri}")`}})]})}const Fi="M75.2535 24.7464C68.7892 18.2821 59.8606 14.2857 49.9999 14.2857C40.1392 14.2857 37.5214 24.5964 31.0606 31.0607C24.5964 37.525 14.2856 40.1893 14.2856 50C14.2856 59.8107 18.2821 68.7893 24.7464 75.2536C31.2106 81.7178 40.1392 85.7143 49.9999 85.7143C59.8606 85.7143 68.7892 81.7178 75.2535 75.2536C81.7178 68.7893 85.7142 59.8607 85.7142 50C85.7142 40.1393 81.7178 31.2107 75.2535 24.7464Z";var Wn='data:image/svg+xml,<svg width="100" height="100" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2175_65181)">%0A<path d="M75.2535 24.7464C68.7892 18.2821 59.8606 14.2857 49.9999 14.2857C40.1392 14.2857 37.5214 24.5964 31.0606 31.0607C24.5964 37.525 14.2856 40.1893 14.2856 50C14.2856 59.8107 18.2821 68.7893 24.7464 75.2536C31.2106 81.7178 40.1392 85.7143 49.9999 85.7143C59.8606 85.7143 68.7892 81.7178 75.2535 75.2536C81.7178 68.7893 85.7142 59.8607 85.7142 50C85.7142 40.1393 81.7178 31.2107 75.2535 24.7464ZM62.6285 62.6286C59.3964 65.8607 54.9321 67.8571 49.9999 67.8571C45.0678 67.8571 40.6035 65.8571 37.3714 62.6286C34.1392 59.3964 32.1428 54.9321 32.1428 50C32.1428 45.0678 34.1428 40.6036 37.3714 37.3714C40.6035 34.1393 45.0678 32.1428 49.9999 32.1428C54.9321 32.1428 59.3964 34.1428 62.6285 37.3714C65.8606 40.6036 67.8571 45.0678 67.8571 50C67.8571 54.9321 65.8571 59.3964 62.6285 62.6286Z" fill="url(%23paint0_linear_2175_65181)"/>%0A</g>%0A<defs>%0A<linearGradient id="paint0_linear_2175_65181" x1="29.6392" y1="29.6393" x2="75.2535" y2="75.2536" gradientUnits="userSpaceOnUse">%0A<stop offset="0.2" stop-color="%23499CDF"/>%0A<stop offset="0.8" stop-color="%234DCDC0"/>%0A</linearGradient>%0A<clipPath id="clip0_2175_65181">%0A<rect width="100" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A';const kb={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"var(--color-main)"},Ab=[{scale:1,opacity:.55},{scale:2,opacity:.4},{scale:3.1,opacity:.28},{scale:4.5,opacity:.18},{scale:6,opacity:.1}];function Oi(t={}){const n=rt(kb,Zt,Xt),a="var(--color-main)",r=270,o=170;return e.jsxs("div",{ref:n,className:"pass-card-bg pass-card-bg-sound-move","aria-hidden":"true",children:[e.jsx("svg",{className:"pass-card-bg-sound-move__svg",viewBox:"0 0 300 189",preserveAspectRatio:"xMidYMid meet",xmlns:"http://www.w3.org/2000/svg",children:Ab.map(({scale:i,opacity:l},c)=>e.jsx("g",{transform:`translate(${r} ${o}) scale(${i}) translate(-50 -50)`,opacity:l,children:e.jsx("path",{d:Fi,fill:"none",stroke:a,strokeWidth:"1.5",vectorEffect:"non-scaling-stroke"})},c))}),e.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-sound-move__symbol",style:{"--symbol-url":`url("${Wn}")`}})]})}const Sb={text:"#ffffff",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",logoColor:"_white",copyrightColor:"#ffffff"},Nb=[{scale:1,opacity:.55},{scale:2,opacity:.4},{scale:3.1,opacity:.28},{scale:4.5,opacity:.18},{scale:6,opacity:.1}];function Tb(t={}){const n=rt(Sb,Zt,Xt),a="#ffffff",r=270,o=170;return e.jsxs("div",{ref:n,className:"pass-card-bg pass-card-bg-sound-move-v1","aria-hidden":"true",children:[e.jsx("svg",{className:"pass-card-bg-sound-move-v1__svg",viewBox:"0 0 300 189",preserveAspectRatio:"xMidYMid meet",xmlns:"http://www.w3.org/2000/svg",children:Nb.map(({scale:i,opacity:l},c)=>e.jsx("g",{transform:`translate(${r} ${o}) scale(${i}) translate(-50 -50)`,opacity:l,children:e.jsx("path",{d:Fi,fill:"none",stroke:a,strokeWidth:"1.5",vectorEffect:"non-scaling-stroke"})},c))}),e.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-sound-move-v1__symbol",style:{"--symbol-url":`url("${Ri}")`}})]})}const Bb={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"var(--color-main)"};function Db(t={}){const n=rt(Bb,Zt,Xt);return e.jsxs("div",{ref:n,className:"pass-card-bg pass-card-bg-talk","aria-hidden":"true",children:[e.jsx("div",{className:"pass-card-bg-talk__shape pass-card-bg-talk__shape--left"}),e.jsx("div",{className:"pass-card-bg-talk__shape pass-card-bg-talk__shape--right"}),e.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-talk__symbol",style:{"--symbol-url":`url("${Wn}")`}})]})}const Eb={Logo_speechear_kr:{"":Oa,_white:fb,_textWhite:Cb,_black:yb},Logo_speechearManager_kr:{"":Ha,_white:vb,_textWhite:wb,_black:xb}};function Lb(t,n){if(t)return Eb[t]?.[n??""]??void 0}const jb={speechear:Oa,manager:Ha},Mb={speechear:"Logo_speechear_kr",manager:"Logo_speechearManager_kr"},Hi=10;function Pb(t,n){if(t<=0)return n("passCard.remainingSecond",{n:0});const a=Math.floor(t/86400);if(a>0)return n("passCard.remainingDay",{n:a});const r=Math.floor(t/3600);if(r>0)return n("passCard.remainingHour",{n:r});const o=Math.floor(t/60);return o>0?n("passCard.remainingMinute",{n:o}):n("passCard.remainingSecond",{n:Math.floor(t)})}function Rb(t,n,a){if(t==="manager"){const r=/년/.test(n)||/yr|year/i.test(n)||/1년|365/.test(n),o=a==="\uC624\uD508\uD2B9\uAC00"||a===dn.t("passCard.specialLabel");return r?e.jsx(Db,{}):o?e.jsx(Tb,{}):e.jsx(Oi,{})}return e.jsx(Ii,{})}function Vi({product:t,showPrice:n=!1,plan:a,type:r,endDate:o,remainingSeconds:i,state:l="active",bg:c,bgOnly:d=!1,textColor:u,subColor:m,copyrightColor:p,logoSrc:h,label:f,price:b,originalPrice:g,discountLabel:C,onUse:y,onRefund:w,onDelete:_}){const{t:v}=pe.useTranslation(),T=t?Pi(t):void 0,x=r??T?.type??"speechear",S=a??T?.plan??"\uC774\uC6A9\uAD8C",B=f??T?.label,N=b??(n?T?.price:void 0),E=g??(n?T?.originalPrice:void 0),H=C??T?.discountLabel,j=s.useMemo(()=>{if(N)return null;const U=t?.durationDays??bb(t?.code);if(!U||U<=0)return null;const ie=U*86400;let de;if(i!=null)de=i;else if((l==="active"||l==="expired")&&o){const Ce=new Date(o).getTime();if(Number.isNaN(Ce))return null;const Q=new Date;Q.setHours(0,0,0,0);const _e=new Date(Ce);_e.setHours(0,0,0,0);const ye=Math.round((_e.getTime()-Q.getTime())/864e5);de=Math.max(0,ye)*86400}else l==="expired"?de=0:de=ie;const ke=Math.max(0,Math.min(100,Math.floor(Math.min(de,ie)/ie*100)));return l==="pending"&&ke>=100?null:{percent:ke,remainingLabel:Pb(de,v)}},[N,l,o,i,t?.durationDays,t?.code,v]),k=s.useRef(null),[D,L]=s.useState({}),[$,ee]=s.useState(null),K=!!(y||w||_),X=s.useRef(!1),O=s.useRef(void 0),[F,R]=s.useState(h);s.useLayoutEffect(()=>{R(h)},[h]),s.useLayoutEffect(()=>{const U=k.current;U&&(u!==void 0&&U.style.setProperty("--pass-card-text",u),m!==void 0&&U.style.setProperty("--pass-card-sub",m),p!==void 0&&U.style.setProperty("--pass-card-copyright",p))},[u,m,p]),s.useLayoutEffect(()=>{const U=k.current;if(!U)return;const ie=_b(U);if(!h){const de=Mb[x],ke=l==="expired"?"_black":ie?.logoColor??"",Ce=Lb(de,ke);R(Ce)}},[c,h,x,l]);const W=U=>{const ie=k.current;if(!ie)return null;const{left:de,top:ke,width:Ce,height:Q}=ie.getBoundingClientRect(),_e=(U.clientX-de)/Ce-.5;return{rotateX:-((U.clientY-ke)/Q-.5)*Hi,rotateY:_e*Hi}},P=(U,ie)=>{const de=ie*-.7,ke=U*.7+10,Ce=20+(Math.abs(U)+Math.abs(ie))*.4;return`${de}px ${ke}px ${Ce}px rgba(0, 0, 0, 0.18)`},G=s.useCallback(U=>{X.current=!0,clearTimeout(O.current),O.current=setTimeout(()=>{X.current=!1},200);const ie=W(U);ie&&L({transform:`perspective(800px) rotateX(${ie.rotateX}deg) rotateY(${ie.rotateY}deg) scale3d(1.03, 1.03, 1.03)`,boxShadow:P(ie.rotateX,ie.rotateY),transition:"transform 0.25s cubic-bezier(0.23, 1, 0.32, 1), box-shadow 0.25s cubic-bezier(0.23, 1, 0.32, 1)"})},[]),M=s.useCallback(U=>{const ie=W(U);if(!ie)return;const de=X.current?"transform 0.2s ease, box-shadow 0.2s ease":"none";L({transform:`perspective(800px) rotateX(${ie.rotateX}deg) rotateY(${ie.rotateY}deg) scale3d(1.03, 1.03, 1.03)`,boxShadow:P(ie.rotateX,ie.rotateY),transition:de})},[]),V=s.useCallback(()=>{clearTimeout(O.current),X.current=!1,L({transform:"perspective(800px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1)",boxShadow:"0px 4px 16px rgba(0, 0, 0, 0.08)",transition:"transform 0.5s cubic-bezier(0.23, 1, 0.32, 1), box-shadow 0.5s cubic-bezier(0.23, 1, 0.32, 1)"})},[]),z=s.useCallback(()=>ee(null),[]),ae=s.useMemo(()=>{const U=S.replace("\uC774\uC6A9\uAD8C","").trim(),ie=U.match(/^(.*?)(일|년)$/);return ie?e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"h0 pass-card__plan-number",children:ie[1]}),e.jsx("span",{className:"h5b pass-card__plan-unit",children:ie[2]==="\uB144"?v("passCard.unitYear","\uB144"):v("passCard.unitDay","\uC77C")})]}):e.jsx("span",{className:"h0",children:U})},[S,v]),Z=s.useMemo(()=>{const U=Hn(N);if(!U)return null;const ie=U.match(/^([^\d]*)([\d.,]+)(.*)$/);if(!ie)return e.jsx("span",{className:"h1",children:U});const[,de,ke,Ce]=ie;return e.jsxs(e.Fragment,{children:[de&&e.jsx("span",{className:"h5 pass-card__price-symbol",children:de}),e.jsx("span",{className:"h1 pass-card__price-amount",children:ke}),Ce.trim()&&e.jsx("span",{className:"h5 pass-card__price-symbol",children:Ce.trim()})]})},[N]),J=s.useCallback(()=>{K&&ee(U=>{if(U)return null;const ie=k.current?.getBoundingClientRect();if(!ie)return null;const de=50;return{left:ie.left,right:ie.right,width:ie.width,height:ie.height,x:ie.x,y:ie.y+de,top:ie.top+de,bottom:ie.bottom+de}})},[K]),ce=s.useCallback(U=>{K&&(U.key==="Enter"||U.key===" ")&&(U.preventDefault(),J())},[K,J]),oe=[{items:[...y?[{label:v("passCard.menu.use","\uC0AC\uC6A9\uD558\uAE30"),icon:"play",onClick:()=>{y(),ee(null)},closeOnSelect:!0}]:[],...w?[{label:v("passCard.menu.refund","\uD658\uBD88\uD558\uAE30"),icon:"rotate-ccw",onClick:()=>{w(),ee(null)},closeOnSelect:!0}]:[],..._?[{label:v("passCard.menu.delete","\uC0AD\uC81C\uD558\uAE30"),icon:"trash-2",onClick:()=>{_(),ee(null)},closeOnSelect:!0}]:[]]}];return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"pass-card-frame",children:e.jsxs("div",{ref:k,className:`pass-card pass-card--${l}${K?" pass-card--clickable":""}`,style:D,onMouseEnter:G,onMouseMove:M,onMouseLeave:V,onClick:J,onKeyDown:K?ce:void 0,role:K?"button":void 0,tabIndex:K?0:void 0,children:[c??Rb(x,S,B),!d&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"pass-card__top",children:e.jsxs("div",{className:"pass-card__top-left",children:[e.jsx("img",{src:F??jb[x],className:"pass-card__logo",alt:x==="manager"?v("header.logoManager","\uB9D0\uADC0\uB9E4\uB2C8\uC800 \uB85C\uACE0"):v("header.logoMalgwi","\uB9D0\uADC0 \uB85C\uACE0")}),e.jsxs("div",{className:"pass-card__plan",children:[e.jsx("div",{children:ae}),e.jsx("span",{className:"h5b pass-card__plan-suffix",children:B?v("passCard.labeledPlan",{label:B}):v("passCard.planSuffix","\uC774\uC6A9\uAD8C")})]})]})}),N?e.jsxs("div",{className:"pass-card__price-area",children:[H&&e.jsx("span",{className:"pass-card__discount body-3",children:H}),e.jsxs("div",{className:"pass-card__price",children:[E&&e.jsx("span",{className:"pass-card__price-original body-3",children:Hn(E)}),Z]})]}):j?e.jsxs("div",{className:"pass-card__usage",children:[e.jsx("span",{className:"h5b pass-card__usage-remaining",children:j.remainingLabel}),e.jsxs("span",{className:"pass-card__usage-percent",children:[e.jsx("span",{className:"h1 pass-card__usage-value",children:j.percent}),e.jsx("span",{className:"h5b pass-card__usage-symbol",children:"%"})]})]}):e.jsx("div",{className:"pass-card__copyright caption-2",children:"\xA9 IHAB Corp. All rights reserved."})]})]})}),$&&e.jsx(an,{anchorRect:$,onClose:z,children:e.jsx(ia,{columns:oe,onClose:z,size:"small"})})]})}const $b={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"#1a1a1a"};function Ib(t={}){const n=`passcard-sound-line-grad-${s.useId()}`,a=rt($b,Zt,Xt);return e.jsxs("div",{ref:a,className:"pass-card-bg pass-card-bg-sound-line","aria-hidden":"true",children:[e.jsxs("svg",{className:"pass-card-bg-sound-line__svg",viewBox:"0 0 500 300",preserveAspectRatio:"xMidYMid slice",xmlns:"http://www.w3.org/2000/svg",children:[e.jsx("defs",{children:e.jsxs("linearGradient",{id:n,x1:"0",y1:"0",x2:"1",y2:"0",children:[e.jsx("stop",{offset:"20%",stopColor:"var(--color-main)"}),e.jsx("stop",{offset:"80%",stopColor:"var(--color-sub)"})]})}),e.jsx("g",{transform:"translate(25, 45)",children:e.jsx("path",{d:"M -30 150 C 40 80, 100 220, 160 150 S 280 80, 340 150 S 460 220, 510 150",fill:"none",stroke:`url(#${n})`,strokeWidth:"50",strokeLinecap:"round"})})]}),e.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-sound-line__symbol",style:{"--symbol-url":`url("${Wn}")`}})]})}const Fb={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"var(--color-main)"};function Ob(t={}){const n=rt(Fb,Zt,Xt);return e.jsxs("div",{ref:n,className:"pass-card-bg pass-card-bg-talk-v1","aria-hidden":"true",children:[e.jsx("div",{className:"pass-card-bg-talk-v1__shape pass-card-bg-talk-v1__shape--left"}),e.jsx("div",{className:"pass-card-bg-talk-v1__shape pass-card-bg-talk-v1__shape--right"}),e.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-talk-v1__symbol",style:{"--symbol-url":`url("${Wn}")`}})]})}function Hb(t,n){if(t){if(n==="manager_pro")return e.jsx(Ob,{});if(n==="manager_standard")return e.jsx(Ib,{});if(n==="manager_lite")return e.jsx(Oi,{})}}function Vb(t){const n=Hn(t);if(!n)return null;const a=n.match(/^([^\d]*)([\d.,]+)(.*)$/);if(!a)return n;const[,r,o,i]=a;return e.jsxs(e.Fragment,{children:[r&&e.jsx("span",{className:"payment-plan__pricing-symbol h4",children:r}),o,i.trim()&&e.jsx("span",{className:"payment-plan__pricing-symbol h4",children:i.trim()})]})}function zb(t){const{t:n}=pe.useTranslation(),{plan:a,onSelect:r,period:o="monthly",ownedCodes:i}=t||{},l=y=>!!y&&!!i?.includes(y),c=(a.tiers||[]).some(y=>/오픈\s*특가/.test(y.label??"")&&l(y.code)),d=y=>{const w=y.prices?y.prices[o]:y.price;return w?(a.tiers||[]).some(_=>!!_.badge&&_.originals?.[o]===w):!1},u=a.colorToken?`var(--color-${a.colorToken})`:"var(--color-gray)",m=n("payment.plan.freePrice","\uBB34\uB8CC"),p=n("payment.products.mgrEnterprise.tier.price","\uBB38\uC758"),h=y=>y.prices?y.prices[o]:y.price,f=(a.tiers||[]).length>0&&(a.tiers||[]).every(y=>{const w=h(y);return w==="\uBB34\uB8CC"||w===m||w==="0\uC6D0"}),b=(a.tiers||[]).length>0&&(a.tiers||[]).every(y=>{const w=h(y);return w==="\uBB38\uC758"||w===p}),g=a.group==="org",C=g?"manager":"speechear";return e.jsxs("div",{className:"payment-plan__card",style:{borderColor:u,"--plan-color":u},children:[a.cardBadge&&e.jsx("div",{className:"payment-plan__card-badge",children:e.jsx(ut,{label:a.cardBadge,variant:"main",size:"medium",fill:"soft"})}),e.jsxs("div",{className:"payment-plan__title",children:[e.jsx("p",{className:"payment-plan__quote body-3b",style:{color:u},children:a.quote||"\xA0"}),e.jsx("h3",{className:"payment-plan__title-heading h1",children:a.tier??a.title}),e.jsx("p",{className:"payment-plan__subtitle body-3",children:a.subtitle})]}),e.jsxs("div",{className:"payment-plan__box",children:[e.jsx("span",{className:"payment-plan__box-title body-3b",children:n("payment.plan.recommendedFor","\uC774\uB7F0 \uBD84\uAED8 \uCD94\uCC9C\uD569\uB2C8\uB2E4.")}),e.jsx("ul",{className:"payment-plan__feature-list",children:(a.recommendedFor||[]).map((y,w)=>e.jsxs("li",{className:"payment-plan__feature-item body-3",children:[e.jsx(je,{icon:"check",size:18,className:"payment-plan__feature-check",wrapperStyle:{color:u}}),y]},w))})]}),e.jsxs("div",{className:"payment-plan__box",children:[e.jsx("span",{className:"payment-plan__box-title body-3b",children:n("payment.plan.features","\uD575\uC2EC \uAE30\uB2A5")}),e.jsx("ul",{className:"payment-plan__feature-list",children:(a.features||[]).map((y,w)=>e.jsxs("li",{className:"payment-plan__feature-item body-3",children:[e.jsx(je,{icon:"check",size:18,className:"payment-plan__feature-check",wrapperStyle:{color:u}}),y]},w))})]}),e.jsx("div",{className:"payment-plan__card-pricing",children:f?null:b?e.jsx(se,{className:"payment-plan__contact-button",label:n("payment.plan.contact",{defaultValue:"\uBB38\uC758\uD558\uAE30"}),variant:"main",size:56,onClick:()=>a.tiers?.[0]&&r?.({...a.tiers[0],productId:a.id,productTitle:a.title})}):e.jsx(e.Fragment,{children:e.jsx("div",{className:"payment-plan__pricing-list",children:(a.tiers||[]).map(y=>{const w=y.label||"\uC774\uC6A9\uAD8C",_=/오픈\s*특가/.test(w),v=_||y.openPromo===!0,T=w.replace(/^오픈\s*특가\s*/,"")||"\uC774\uC6A9\uAD8C",x=y.prices?y.prices[o]:y.price,S=y.badge?v?`\uC624\uD508 \uD2B9\uAC00
|
|
818
|
-
${y.badge}`:y.badge:void 0;if(_&&l(y.code))return null;if(!y.badge&&!c)return d(y)?null:e.jsxs("div",{className:`payment-plan__pricing-row payment-plan__pricing-row--static${y.highlight?" payment-plan__pricing-row--highlight":""}`,children:[e.jsx("div",{className:"payment-plan__pricing-row-title",children:e.jsx("div",{className:"payment-plan__pricing-row-label h5b",children:y.label})}),e.jsx("div",{className:"payment-plan__pricing-row-price",children:e.jsx("span",{className:"payment-plan__pricing-current h1",children:Vb(x)})})]},y.id);const B=a.tier??(g?a.title:void 0),N=e.jsx(Vi,{showPrice:!0,product:{type:C,code:y.code,name:T,label:B,price:x,originalPrice:y.originals?.[o]??void 0,discountLabel:S},bg:Hb(g,a.id)}),E=()=>r?.({...y,productId:a.id,productTitle:a.title,preview:N});return e.jsx("div",{className:"payment-plan__pricing-card",onClick:E,onKeyDown:r?H=>{H.target===H.currentTarget&&(H.key==="Enter"||H.key===" ")&&(H.preventDefault(),E())}:void 0,role:r?"button":void 0,tabIndex:r?0:void 0,children:N},y.id)})})})})]})}function Wb({variant:t="default"}){return e.jsxs("div",{className:`pass-card-bg pass-card-bg--${t}`,"aria-hidden":"true",children:[e.jsx("div",{className:"pass-card-bg__circle pass-card-bg__circle--1"}),e.jsx("div",{className:"pass-card-bg__circle pass-card-bg__circle--2"}),e.jsx("div",{className:"pass-card-bg__circle pass-card-bg__circle--3"})]})}var za='data:image/svg+xml,<svg width="264" height="100" viewBox="0 0 264 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2079_3030)">%0A<path d="M60.9019 24.7464C54.4446 18.2821 45.5257 14.2857 35.6757 14.2857C25.8256 14.2857 23.2106 24.5964 16.7569 31.0607C10.2996 37.5214 0 40.1857 0 50C0 59.8143 3.99211 68.7893 10.4494 75.2536C16.9067 81.7178 25.8256 85.7143 35.6757 85.7143C45.5257 85.7143 54.4446 81.7178 60.9019 75.2536C67.3592 68.7893 71.3513 59.8607 71.3513 50C71.3513 40.1393 67.3592 31.2107 60.9019 24.7464ZM48.2906 62.6286C45.0619 65.8607 40.6025 67.8571 35.6757 67.8571C30.7489 67.8571 26.2894 65.8571 23.0608 62.6286C19.8321 59.3964 17.8378 54.9321 17.8378 50C17.8378 45.0678 19.8357 40.6036 23.0608 37.3714C26.2894 34.1393 30.7489 32.1428 35.6757 32.1428C40.6025 32.1428 45.0619 34.1428 48.2906 37.3714C51.5192 40.6036 53.5135 45.0678 53.5135 50C53.5135 54.9321 51.5157 59.3964 48.2906 62.6286Z" fill="url(%23paint0_linear_2079_3030)"/>%0A<path d="M106.735 74.8322H93.6274V24.8322H106.735V74.8322Z" fill="%23111111"/>%0A<path d="M113.495 24.8322H126.602V44.5143H145.022V24.8322H158.197V74.8322H145.022V55.15H126.602V74.8322H113.495V24.8322Z" fill="%23111111"/>%0A<path d="M163.027 74.8322L179.652 24.8322H197.519L214.076 74.8322H199.934L196.969 65.025H180.205L177.241 74.8322H163.031H163.027ZM193.933 55.0786L188.76 38.2964H188.346L183.241 55.0786H193.933Z" fill="%23111111"/>%0A<path d="M218.906 24.8322H240.29C251.674 24.8322 257.675 29.7357 257.675 37.4C257.675 42.925 253.743 47.1393 248.085 48.3107V48.7929C254.364 49 259.605 53.6286 259.605 60.7393C259.605 68.8893 252.983 74.8286 242.081 74.8286H218.902V24.8322H218.906ZM244.157 40.1643C244.157 36.9857 241.674 35.1929 238.085 35.1929H232.013V45.1393H237.878C241.535 45.1393 244.157 43.3429 244.157 40.1679V40.1643ZM245.741 59.0857C245.741 55.425 243.119 53.3536 238.913 53.3536H232.013V64.2643H238.706C243.397 64.2643 245.741 62.4679 245.741 59.0857Z" fill="%23111111"/>%0A</g>%0A<defs>%0A<linearGradient id="paint0_linear_2079_3030" x1="15.337" y1="29.6393" x2="60.9512" y2="75.2042" gradientUnits="userSpaceOnUse">%0A<stop offset="0.2" stop-color="%23499CDF"/>%0A<stop offset="0.8" stop-color="%234DCDC0"/>%0A</linearGradient>%0A<clipPath id="clip0_2079_3030">%0A<rect width="264" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A';const zi={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"#c9c9c9"};function qb(){const t=rt(zi,Zt,Xt);return e.jsx("div",{ref:t,className:"pass-card-bg pass-card-bg-ihab","aria-hidden":"true",children:e.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-ihab__symbol-top",style:{"--symbol-url":`url("${za}")`}})})}const Wi={text:"#ffffff",sub:"var(--color-lightGray)",logoBase:"Logo_speechearManager_kr",logoColor:"_white",copyrightColor:"#ffffff"};function Gb(t={}){const n=rt(Wi,Zt,Xt);return e.jsxs("div",{ref:n,className:"pass-card-bg pass-card-bg-left-color-grid","aria-hidden":"true",children:[e.jsx("div",{className:"pass-card-bg-left-color-grid__bar"}),e.jsx("div",{className:"pass-card-bg-left-color-grid__grid"}),e.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-left-color-grid__symbol",style:{"--symbol-url":`url("${Wn}")`}})]})}const qn=(t,n,a)=>t+(n-t)*a;function Ub({speakers:t,size:n=300,viewT:a=0,activeSpeakerId:r=null,playedIds:o,selectedId:i=null,answerId:l=null,showFeedback:c=!1,clickable:d=!1,onSelectSpeaker:u,buttonSize:m=40,showIcon:p=!0}){const h=Math.max(0,Math.min(1,a)),f=n/2,b=110/300,g=.18,C=P=>n*(b+(P-1)*g),y=P=>{const G=C(P.row??1),M=P.angleDeg*Math.PI/180;return{x:f+G*Math.cos(M),y:f+G*Math.sin(M)}},w=Math.max(...t.map(P=>P.row??1),1),_=n*.08,v=n*.1,T=n*.24,x=n-2*_,S=n-v-T,B=n-T/2,N=s.useMemo(()=>[...new Set(t.map(P=>P.deg))].sort((P,G)=>P-G),[t]),E=N.length,H=Math.max(68,E>1?x/(E-1):0),j=s.useMemo(()=>new Map(N.map((P,G)=>[P,G])),[N]),k=P=>{const G=j.get(P.deg)??0,M=f+(G-(E-1)/2)*H,V=w>1?Math.min(68,S/(w-1)):0,z=V*(w-1),ae=v+(S-z)/2,Z=w===1?v+S*.4:ae+(w-(P.row??1))*V;return{x:M,y:Z}},D=P=>{const G=y(P),M=k(P);return{x:qn(G.x,M.x,h),y:qn(G.y,M.y,h)}},L={x:f,y:qn(f,B,h)},$=Math.round(m*1.2),ee=Math.round(Math.max(16,Math.min(80,m*.7))),K=[],X=new Map;for(const P of t){const G=P.row??1;X.has(G)||X.set(G,[]),X.get(G).push(P)}for(const[P,G]of X.entries()){if(G.length<2)continue;const M=[...G].sort((Ce,Q)=>Ce.deg-Q.deg),V=M.map(Ce=>D(Ce)),z=M.map(Ce=>Ce.deg),ae=z[z.length-1]-z[0],Z=ae/(z.length-1),J=360-ae,ce=M.length>=3&&Z>0&&J<=Z*1.5,oe=Math.round(C(P)*1e3)/1e3,U=(Ce,Q,_e,ye)=>{const Te=(Q.angleDeg-Ce.angleDeg+540)%360-180;if(Te===0)return`L ${ye.x} ${ye.y}`;if(h===0)return`A ${oe} ${oe} 0 0 ${Te>0?1:0} ${ye.x} ${ye.y}`;const $e=(Ce.angleDeg+Te/2)*Math.PI/180,Oe={x:f+oe*Math.cos($e),y:f+oe*Math.sin($e)},Me={x:(_e.x+ye.x)/2,y:(_e.y+ye.y)/2},Pe={x:qn(Oe.x,Me.x,h),y:qn(Oe.y,Me.y,h)},Qe={x:2*Pe.x-Me.x,y:2*Pe.y-Me.y};return`Q ${Qe.x} ${Qe.y} ${ye.x} ${ye.y}`},ie=ce?[...M,M[0]]:M,de=ce?[...V,V[0]]:V;let ke=`M ${de[0].x} ${de[0].y}`;for(let Ce=1;Ce<de.length;Ce++)ke+=" "+U(ie[Ce-1],ie[Ce],de[Ce-1],de[Ce]);K.push({key:`arc-${P}`,d:ke})}const O=s.useMemo(()=>new Set(o??[]),[o]),F=P=>{if(r===P.id)return"active";if(c){if(P.id===l)return"correct";if(P.id===i&&i!==l)return"wrong"}return O.has(P.id)?"played":"idle"},R=P=>r===P.id||c&&P.id===l,W=(P,G)=>{switch(P){case"played":case"correct":return e.jsx(Mr,{size:G});case"wrong":return e.jsx(qr,{size:G});default:return e.jsx(Wr,{size:G})}};return e.jsx("div",{className:"sound-compass",children:e.jsxs("div",{className:"sound-compass__compass-wrap",style:{width:n,height:n},children:[e.jsxs("svg",{width:n,height:n,viewBox:`0 0 ${n} ${n}`,className:"sound-compass__svg",children:[h===0&&t.map(P=>{const{x:G,y:M}=D(P);return e.jsx("line",{x1:L.x,y1:L.y,x2:G,y2:M,stroke:"#dde3ec",strokeWidth:"1"},P.id)}),K.map(P=>e.jsx("path",{d:P.d,fill:"none",stroke:"#dde3ec",strokeWidth:"1"},P.key))]}),e.jsx("div",{className:"sound-compass__center",style:{width:$,height:$,left:L.x,top:L.y},children:e.jsx(zr,{size:ee,color:"currentColor",strokeWidth:1.5})}),t.map((P,G)=>{const{x:M,y:V}=D(P),z=F(P),ae=R(P),Z={pointerEvents:d?"auto":"none",cursor:d?"pointer":"default",zIndex:z!=="idle"?10:1},J=m,ce=Math.round(Math.max(10,Math.min(56,J*.38))),oe=Math.round(Math.max(7,Math.min(18,J*.2))),U=Math.round(Math.max(10,Math.min(56,J*.4)));return e.jsxs("div",{className:"sound-compass__speaker-pos",style:{...Z,left:M-J/2,top:V-J/2},onClick:()=>d&&u?.(P.id),children:[ae&&e.jsx("div",{className:"sound-compass__pulse",style:{width:J,height:J}}),e.jsxs("button",{type:"button",tabIndex:-1,className:`sound-compass__speaker-btn sound-compass__speaker-btn--${z}`,style:{width:J,height:J},"aria-label":P.label,children:[p&&W(z,ce),e.jsx("span",{className:"sound-compass__speaker-number",style:{fontSize:p?oe:U},children:G+1})]})]},P.id)})]})})}function Yb(t,{mode:n="playback",autoStart:a=!1,onPlaySpeaker:r,onComplete:o,playMs:i=1100,feedbackMs:l=1500}={}){const[c,d]=s.useState([]),[u,m]=s.useState(0),[p,h]=s.useState("idle"),[f,b]=s.useState(null),[g,C]=s.useState([]),[y,w]=s.useState(null),[_,v]=s.useState(0),T=s.useRef(0),x=s.useCallback(O=>{T.current=typeof O=="function"?O(T.current):O,v(T.current)},[]),S=s.useRef(r),B=s.useRef(o);s.useEffect(()=>{S.current=r,B.current=o},[r,o]);const N=s.useRef([]),E=()=>{N.current.forEach(clearTimeout),N.current=[]},H=(O,F)=>{N.current.push(setTimeout(F,O))};s.useEffect(()=>()=>E(),[]);const j=c[u]?.id??null,k=s.useCallback(()=>{E(),h("playing"),C([]),w(null),x(0);let O=0;t.forEach((F,R)=>{H(O,()=>{m(R),b(F.id),S.current?.(F)}),H(O+1e3,()=>{b(null),C(W=>[...W,F.id])}),O+=1300}),H(O,()=>{h("done"),B.current?.({score:0,total:t.length})})},[t,x]),D=s.useCallback((O,F)=>{if(F>=O.length){h("done"),B.current?.({score:T.current,total:O.length});return}m(F),w(null),h("playing"),b(O[F].id),S.current?.(O[F]),H(i,()=>{b(null),h("waiting")})},[i]),L=s.useCallback(()=>{E();const O=On(t);d(O),x(0),C([]),D(O,0)},[t,D,x]),$=s.useCallback(()=>{n==="playback"?(d(t),k()):L()},[n,t,k,L]),ee=s.useCallback(()=>{E(),h("idle"),b(null),C([]),w(null),m(0),x(0),d([])},[x]);s.useEffect(()=>{a?$():ee()},[n,t.length,a]);const K=s.useCallback(O=>{p!=="waiting"||n==="playback"||(w(O),O===c[u]?.id&&x(F=>F+1),n==="exam"?(h("playing"),H(400,()=>D(c,u+1))):(h("feedback"),H(l,()=>D(c,u+1))))},[p,n,c,u,D,l,x]),X=n==="playback"?t.length:c.length;return{bind:{activeSpeakerId:f,playedIds:g,selectedId:y,answerId:j,showFeedback:p==="feedback",clickable:p==="waiting",onSelectSpeaker:K},index:u,total:X,score:_,phase:p,done:p==="done",start:$,reset:ee}}function Kb({children:t,position:n="top-left",size:a=24,className:r=""}){return e.jsx("span",{className:fe("circle-badge","circle-badge--number",`circle-badge--${a}`,`circle-badge--${n}`,r),children:t})}function Zb({keys:t,anchor:n="top-right",className:a=""}){const r=Array.isArray(t)?t:[t];return e.jsx("span",{className:fe("shortcut-badge",`shortcut-badge--${n}`,a),children:r.map((o,i)=>e.jsxs("span",{className:"shortcut-badge__group",children:[i>0&&e.jsx("span",{className:"shortcut-badge__plus",children:"+"}),e.jsx("kbd",{className:"shortcut-badge__key",children:o})]},`${o}-${i}`))})}function Xb({orientation:t="horizontal",label:n,className:a=""}){const r=fe("divider",`divider--${t}`,n&&t==="horizontal"?"divider--labeled":"",a);return t==="vertical"?e.jsx("div",{className:r,role:"separator","aria-orientation":"vertical"}):n?e.jsxs("div",{className:r,role:"separator","aria-orientation":"horizontal",children:[e.jsx("span",{className:"divider__line"}),e.jsx("span",{className:"divider__label caption-1",children:n}),e.jsx("span",{className:"divider__line"})]}):e.jsx("div",{className:r,role:"separator","aria-orientation":"horizontal"})}function qi({checked:t,onChange:n,name:a,value:r,disabled:o=!1,label:i,className:l=""}){const c=s.useId();return e.jsxs("label",{className:`radio${o?" radio--disabled":""} ${l}`.trim(),htmlFor:c,children:[e.jsx("input",{id:c,type:"radio",name:a,value:r,checked:t,disabled:o,onChange:d=>n?.(d.target.checked)}),e.jsx("span",{className:"radio__dot"}),i&&e.jsx("span",{className:"radio__label body-2",children:i})]})}function Qb({options:t,value:n,onChange:a,name:r,disabled:o=!1,direction:i="vertical",className:l=""}){const c=s.useId(),d=r??`radio-group-${c}`;return e.jsx("div",{className:`radio-group radio-group--${i} ${l}`.trim(),role:"radiogroup",children:t.map(u=>e.jsx(qi,{name:d,value:u.value,checked:n===u.value,disabled:o||u.disabled,label:u.label,onChange:m=>{m&&a?.(u.value)}},u.value))})}const Jb={info:"info",success:"check-circle",warning:"alert-triangle",danger:"alert-circle"};function ef({tone:t="info",title:n,message:a,children:r,dismissible:o=!1,onDismiss:i,className:l=""}){const{t:c}=pe.useTranslation(),[d,u]=s.useState(!1),m=s.useCallback(()=>{u(!0),i?.()},[i]);if(d)return null;const p=fe("alert",`alert--${t}`,l),h=!!n,f=!!(a||r);return e.jsxs("div",{className:p,role:"alert",children:[e.jsxs("div",{className:"alert__body",children:[e.jsxs("div",{className:"alert__header",children:[e.jsx(je,{icon:Jb[t],size:20,className:"alert__icon"}),h&&e.jsx("span",{className:"alert__title body-2",children:n}),!h&&f&&e.jsx("div",{className:"alert__message body-3",children:a??r})]}),h&&f&&e.jsx("div",{className:"alert__message alert__message--indented body-3",children:a??r})]}),o&&e.jsx("button",{type:"button",className:"alert__dismiss",onClick:m,"aria-label":c("common.close","\uB2EB\uAE30"),children:"\xD7"})]})}const tf={ready:"search",guide:"info",error:"circle-alert"};function nf(t,n){const a=n.filter(Boolean);if(a.length===0)return t;const r=[];let o=0,i=0;for(const l of a){const c=t.indexOf(l,o);c<0||(c>o&&r.push(t.slice(o,c)),r.push(e.jsx("strong",{className:"search-summary__em body-2",children:l},i++)),o=c+l.length)}return o<t.length&&r.push(t.slice(o)),r}function af({status:t="guide",label:n,children:a,emphasis:r,icon:o,className:i=""}){const l=o===!1?null:o??tf[t],c=fe("search-summary",`search-summary--${t}`,i),d=n??a,u=typeof d=="string"&&r&&r.length>0?nf(d,r):d;return e.jsxs("div",{className:c,role:"status","aria-live":"polite",children:[l!=null&&e.jsx(je,{icon:l,size:18,className:"search-summary__icon"}),e.jsx("span",{className:"search-summary__text body-2",children:u})]})}function rf({items:t=[],value:n,onChange:a,className:r="",size:o=40}){const{t:i}=pe.useTranslation(),l=s.useRef(null),c=n??t[0]?.key,d=()=>Array.from(l.current?.querySelectorAll('[role="tab"]:not(:disabled)')??[]),u=(h,f=d())=>{if(f.length===0)return;const b=(h%f.length+f.length)%f.length;f[b]?.focus(),f[b]?.click()},m=h=>{if(!["ArrowRight","ArrowDown","ArrowLeft","ArrowUp","Home","End"].includes(h.key))return;h.preventDefault();const f=d(),b=f.indexOf(h.currentTarget);h.key==="ArrowRight"||h.key==="ArrowDown"?u(b+1,f):h.key==="ArrowLeft"||h.key==="ArrowUp"?u(b-1,f):h.key==="Home"?u(0,f):u(f.length-1,f)},p=t.find(h=>h.key===c);return e.jsxs("div",{className:`tabs ${r}`.trim(),children:[e.jsx("div",{ref:l,className:`tabs__list tabs__list--${o}`,role:"tablist","aria-label":i("tabs.ariaLabel","\uD0ED"),children:t.map(h=>e.jsx("button",{id:`tabs__tab-${h.key}`,type:"button",role:"tab","aria-selected":h.key===c,"aria-controls":`tabs__panel-${h.key}`,disabled:h.disabled,tabIndex:h.key===c?0:-1,className:`tabs__tab body-2${h.key===c?" tabs__tab--active":""}`,onClick:()=>a?.(h.key),onKeyDown:m,children:h.label},h.key))}),p&&e.jsx("div",{id:`tabs__panel-${p.key}`,role:"tabpanel","aria-labelledby":`tabs__tab-${p.key}`,tabIndex:0,className:"tabs__panel",children:p.panel},p.key)]})}const of={xs:12,sm:16,md:20,lg:28,xl:36};function sf(t){const n=t.trim().split(/\s+/).filter(Boolean);return n.length===0?"":n.length===1?[...n[0]].slice(0,2).join("").toUpperCase():([...n[0]][0]+[...n[n.length-1]][0]).toUpperCase()}function lf({src:t,name:n,size:a="md",shape:r="circle",className:o=""}){const{t:i}=pe.useTranslation(),[l,c]=s.useState(!1),d=n?sf(n):"",u=!!t&&!l,m=!u&&!!d,p=n||i("avatar.ariaLabel","\uC0AC\uC6A9\uC790 \uC544\uBC14\uD0C0");return e.jsxs("span",{className:`avatar avatar--${a} avatar--${r} ${o}`.trim(),role:"img","aria-label":p,children:[u&&e.jsx("img",{className:"avatar__image",src:t,alt:p,onError:()=>c(!0)}),!u&&m&&e.jsx("span",{className:"avatar__initials","aria-hidden":"true",children:d}),!u&&!m&&e.jsx(je,{icon:"user-round",size:of[a],className:"avatar__icon"})]})}function cf(t,n){if(!n)return!0;const a=n.split(",").map(i=>i.trim()).filter(Boolean);if(a.length===0)return!0;const r=t.name.toLowerCase(),o=t.type.toLowerCase();return a.some(i=>{const l=i.toLowerCase();return l.startsWith(".")?r.endsWith(l):l.endsWith("/*")?o.startsWith(l.slice(0,-1)):o===l})}function uf({onFilesSelected:t,accept:n,multiple:a=!1,disabled:r=!1,showFileList:o=!0,files:i,onRemove:l,className:c=""}){const{t:d}=pe.useTranslation(),u=s.useRef(null),[m,p]=s.useState(!1),[h,f]=s.useState([]),b=i??h,g=x=>{if(!x||x.length===0)return;const S=Array.from(x).filter(N=>cf(N,n));if(S.length===0)return;const B=a?S:S.slice(0,1);if(i===void 0){const N=a?[...b,...B]:B;f(N),t?.(N)}else t?.(B)},C=x=>{x.preventDefault(),!r&&p(!0)},y=x=>{x.preventDefault(),p(!1)},w=x=>{x.preventDefault(),p(!1),!r&&g(x.dataTransfer.files)},_=x=>{g(x.target.files),x.target.value=""},v=()=>{r||u.current?.click()},T=x=>{if(l){l(x);return}if(i===void 0){const S=b.filter((B,N)=>N!==x);f(S),t?.(S)}};return e.jsxs("div",{className:`file-upload ${c}`.trim(),children:[e.jsxs("div",{className:fe("file-upload__dropzone",m&&"file-upload__dropzone--dragging",r&&"file-upload__dropzone--disabled"),role:"button",tabIndex:r?-1:0,"aria-disabled":r,onClick:v,onKeyDown:x=>{(x.key==="Enter"||x.key===" ")&&(x.preventDefault(),v())},onDragOver:C,onDragLeave:y,onDrop:w,children:[e.jsx(je,{icon:"upload",size:24,className:"file-upload__icon"}),e.jsx("span",{className:"file-upload__prompt body-2",children:d("fileUpload.dragPrompt","\uD30C\uC77C\uC744 \uC774\uACF3\uC5D0 \uB4DC\uB798\uADF8\uD558\uC5EC \uC5C5\uB85C\uB4DC")}),e.jsx("button",{type:"button",className:"file-upload__browse-button body-3",disabled:r,onClick:x=>{x.stopPropagation(),v()},children:d("fileUpload.browseButton","\uD30C\uC77C \uC120\uD0DD")}),e.jsx("input",{ref:u,type:"file",className:"file-upload__input",accept:n,multiple:a,disabled:r,onChange:_,tabIndex:-1})]}),o&&b.length>0&&e.jsx("ul",{className:"file-upload__list",children:b.map((x,S)=>e.jsxs("li",{className:"file-upload__list-item body-3",children:[e.jsx("span",{className:"file-upload__file-name body-3",children:x.name}),e.jsx("button",{type:"button",className:"file-upload__remove-button","aria-label":d("fileUpload.removeAriaLabel",{name:x.name}),onClick:()=>T(S),children:e.jsx(je,{icon:"x",size:14})})]},`${x.name}-${S}`))})]})}function df({items:t,className:n=""}){return e.jsx("nav",{className:`breadcrumb ${n}`.trim(),"aria-label":"breadcrumb",children:e.jsx("ol",{className:"breadcrumb__list",children:t.map((a,r)=>{const o=r===t.length-1;return e.jsxs("li",{className:"breadcrumb__item",children:[o?e.jsx("span",{className:"breadcrumb__current body-3","aria-current":"page",children:a.label}):e.jsx("button",{type:"button",className:"breadcrumb__link body-3",onClick:a.onClick,children:a.label}),!o&&e.jsx(je,{icon:"chevron-right",size:14,className:"breadcrumb__separator"})]},r)})})})}const pf={small:14,medium:20,large:28};function mf({value:t,onChange:n,max:a=5,readOnly:r=!1,size:o="medium",ariaLabel:i,className:l=""}){const{t:c}=pe.useTranslation(),d=r||!n,[u,m]=s.useState(null),p=u??t,h=pf[o],f=C=>{d||n?.(C)},b=C=>{d||m(C)},g=()=>{d||m(null)};return e.jsx("div",{className:`rating rating--${o}${d?" rating--readOnly":""} ${l}`.trim(),role:d?"img":"radiogroup","aria-label":d?c("rating.valueLabel",{value:t,max:a}):i??c("rating.groupLabel","\uBCC4\uC810"),onMouseLeave:g,children:Array.from({length:a},(C,y)=>{const w=y+1,_=Math.max(0,Math.min(1,p-y)),v=_>0&&_<1,T=e.jsxs("span",{className:"rating__star-wrap",children:[e.jsx(je,{icon:"star",size:h,className:"rating__star rating__star--empty"}),_>0&&e.jsx("span",{className:`rating__star-fill${v?" rating__star-fill--half":""}`,children:e.jsx(je,{icon:"star",size:h,className:"rating__star rating__star--filled"})})]});return d?e.jsx("span",{className:"rating__item","aria-hidden":"true",children:T},w):e.jsx("button",{type:"button",className:"rating__item rating__item--interactive",role:"radio","aria-checked":t===w,"aria-label":c("rating.starLabel",{n:w}),onClick:()=>f(w),onMouseEnter:()=>b(w),children:T},w)})})}const hf=20,gf=["#499cdf","#4dcdc0","#2fae9e","#e6b94e","#d9534f","#e06b68","#bfc7d1"];function bf({value:t,onChange:n,palette:a=gf,size:r=40,className:o=""}){const{t:i}=pe.useTranslation();return e.jsx("div",{className:`color-picker ${o}`.trim(),role:"group",children:a.map(l=>{const c=t?.toLowerCase()===l.toLowerCase();return e.jsx("button",{type:"button",className:`color-picker__swatch color-picker__swatch--${r}`,style:{backgroundColor:l},onClick:()=>n(l),"aria-pressed":c,"aria-label":c?`${l} ${i("colorPicker.selected","\uC120\uD0DD\uB428")}`:l,children:c&&e.jsx(je,{icon:"check",size:hf,className:"color-picker__check"})},l)})})}function ff({icon:t,count:n,title:a,className:r="",onClick:o,onMouseEnter:i,onMouseLeave:l}){const c=fe("count-tile",o&&"count-tile--clickable",r);return e.jsxs("div",{className:c,onClick:o,onKeyDown:o?d=>{d.key!=="Enter"&&d.key!==" "||(d.preventDefault(),d.currentTarget.click())}:void 0,onMouseEnter:i,onMouseLeave:l,role:o?"button":"img",tabIndex:o?0:void 0,"aria-label":a?`${a} ${n}`:String(n),children:[e.jsx(je,{icon:t,size:20,className:"count-tile__icon"}),e.jsx("span",{className:"count-tile__count h5","aria-hidden":"true",children:n})]})}function Cf(){return e.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round","aria-hidden":!0,children:e.jsx("path",{d:"M6 6l12 12M18 6 6 18"})})}function yf({open:t,onClose:n,ariaLabel:a,title:r,children:o,size:i="md",closeOnBackdrop:l=!0,closeOnEscape:c=!0,showClose:d=!0,className:u,contentClassName:m}){const{t:p}=pe.useTranslation(),h=s.useId(),f=s.useRef(null),b=s.useRef(null),g=s.useCallback(()=>n(),[n]);return s.useEffect(()=>{if(!t){b.current?.focus(),b.current=null;return}b.current=document.activeElement;const{overflow:C}=document.body.style;document.body.style.overflow="hidden",f.current?.focus();const y=c?_i(g):void 0;return()=>{y?.(),document.body.style.overflow=C}},[t,c,g]),!t||typeof document>"u"?null:Mt.createPortal(e.jsx("div",{className:fe("dialog",u),onClick:l?g:void 0,children:e.jsxs("div",{ref:f,role:"dialog","aria-modal":"true","aria-label":r?void 0:a,"aria-labelledby":r?h:void 0,tabIndex:-1,className:fe("dialog__surface",`dialog__surface--${i}`,m),onClick:C=>C.stopPropagation(),children:[r?e.jsx("div",{className:"dialog__header",children:e.jsx("h2",{id:h,className:"dialog__title h4b",children:r})}):null,d?e.jsx("button",{type:"button",className:"dialog__close","aria-label":p("common.close","\uB2EB\uAE30"),onClick:g,children:e.jsx(Cf,{})}):null,e.jsx("div",{className:"dialog__body",children:o})]})}),document.body)}function vf({columns:t,rows:n,rowKey:a,title:r,toolbar:o,empty:i="\uB4F1\uB85D\uB41C \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",loading:l,caption:c,className:d=""}){const u=!l&&n.length===0;return e.jsxs("div",{className:fe("board",d),children:[r||o?e.jsxs("div",{className:"board__head",children:[r?e.jsx("h2",{className:"board__title",children:r}):e.jsx("span",{}),o?e.jsx("div",{className:"board__toolbar",children:o}):null]}):null,e.jsxs("table",{className:"board__table",children:[c?e.jsx("caption",{className:"board__caption",children:c}):null,e.jsx("thead",{children:e.jsx("tr",{children:t.map(m=>e.jsx("th",{scope:"col",className:fe("board__th",`board__cell--${m.headerAlign??m.align??"left"}`),style:m.width?{width:m.width}:void 0,children:m.header},m.key))})}),e.jsx("tbody",{children:l?e.jsx("tr",{children:e.jsx("td",{className:"board__state",colSpan:t.length,children:l})}):u?e.jsx("tr",{children:e.jsx("td",{className:"board__state",colSpan:t.length,children:i})}):n.map((m,p)=>e.jsx("tr",{className:"board__row",children:t.map(h=>e.jsx("td",{className:fe("board__td",`board__cell--${h.align??"left"}`),children:h.render(m,p)},h.key))},a(m,p)))})]})]})}function wf({name:t,role:n,photo:a,media:r,credentials:o,size:i=190,className:l=""}){return e.jsxs("div",{className:fe("person-card",l),children:[e.jsx("div",{className:"person-card__photo",style:{width:i,height:i},children:r??(a?e.jsx("img",{src:a,alt:n?`${t} ${n}`:t}):null)}),e.jsx("h3",{className:"person-card__name",children:t}),n?e.jsx("p",{className:"person-card__role",children:n}):null,o?.length?e.jsx("ul",{className:"person-card__credentials",children:o.map(c=>e.jsx("li",{children:c},c))}):null]})}function xf({groups:t,className:n=""}){return e.jsx("div",{className:fe("timeline",n),children:t.map(a=>e.jsxs("section",{className:"timeline__group",children:[e.jsx("h3",{className:"timeline__title",children:a.title}),e.jsx("ul",{className:"timeline__rows",children:a.entries.map((r,o)=>e.jsxs("li",{className:"timeline__row",children:[r.label?e.jsx("span",{className:"timeline__label",children:r.label}):null,e.jsx("div",{className:"timeline__items",children:r.items.map((i,l)=>e.jsx("p",{children:i},l))})]},`${r.label??""}-${o}`))})]},a.title))})}function _f({title:t,kind:n,body:a,badge:r,badgeSrc:o,footer:i,width:l,className:c=""}){const d=r??(o?e.jsx("img",{src:o,alt:""}):null);return e.jsxs("div",{className:fe("publication-card",c),style:l?{width:l,flexShrink:0}:void 0,children:[d?e.jsx("div",{className:"publication-card__badge","aria-hidden":"true",children:d}):null,e.jsx("h3",{className:"publication-card__title",children:t}),n?e.jsx("p",{className:"publication-card__kind",children:n}):null,e.jsx("p",{className:"publication-card__body",children:a}),i?e.jsx("div",{className:"publication-card__footer",children:i}):null]})}function kf({logo:t,alt:n,onDone:a,durationMs:r=3e3}){const o=Ci(a);return s.useEffect(()=>{if(!o.current)return;const i=setTimeout(()=>o.current?.(),r);return()=>clearTimeout(i)},[r,o]),e.jsx("div",{className:"splash-logo",style:{"--splash-logo-duration":`${r}ms`},"aria-hidden":"true",children:e.jsx("img",{src:t,alt:n,className:"splash-logo__image"})})}function Af({eyebrow:t,eyebrowIndex:n,title:a,description:r,level:o=2,tone:i="dark",className:l=""}){const c=o===1?"h1":"h2";return e.jsxs("div",{className:fe("section-header",`section-header--${i}`,l),children:[t?e.jsxs("p",{className:"section-header__eyebrow",children:[n?e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"section-header__index",children:n}),e.jsx("span",{"aria-hidden":!0,className:"section-header__rule"})]}):null,t]}):null,a?e.jsx(c,{className:"section-header__title",children:a}):null,r?e.jsx("div",{className:"section-header__description",children:r}):null]})}function Sf({items:t,className:n=""}){return e.jsx("ul",{className:fe("company-meta",n),children:t.map((a,r)=>e.jsxs("li",{className:"company-meta__item",children:[r>0?e.jsx("span",{"aria-hidden":!0,className:"company-meta__divider",children:"|"}):null,a]},a))})}function Gi({value:t,onChange:n,suggestions:a,openOnFocus:r=!1}){const o=s.useId(),[i,l]=s.useState(!1),[c,d]=s.useState(-1),u=s.useRef(null),m=s.useMemo(()=>{if(!a.length)return[];const g=t??"";return g?a.filter(C=>C.toLowerCase().includes(g.toLowerCase())):r?a:[]},[a,t,r]);s.useEffect(()=>{i||d(-1)},[i]),s.useEffect(()=>()=>{u.current&&clearTimeout(u.current)},[]);const p=s.useCallback(g=>{n?.(g),l(!1)},[n]),h=s.useCallback(()=>l(!0),[]),f=s.useCallback(()=>{u.current=setTimeout(()=>l(!1),120)},[]),b=s.useCallback(g=>{g.key==="ArrowDown"?(g.preventDefault(),l(!0),d(C=>Math.min(m.length-1,C+1))):g.key==="ArrowUp"?(g.preventDefault(),d(C=>Math.max(-1,C-1))):g.key==="Enter"?c>=0&&!g.nativeEvent.isComposing&&p(m[c]):g.key==="Escape"&&i&&(g.preventDefault(),l(!1))},[m,c,i,p]);return{listId:o,open:i,activeIdx:c,filtered:m,handleFocus:h,handleBlur:f,handleKeyDown:b,handleSelect:p}}function bn(t){const{value:n,defaultValue:a,name:r,inputRef:o,onChange:i,label:l,ariaLabel:c,required:d,placeholder:u,type:m="text",disabled:p=!1,readOnly:h=!1,error:f,helperText:b,maxLength:g,size:C=48,variant:y="input",fullWidth:w=!1,newline:_=!1,multiline:v=!1,rows:T=3,leftIcon:x,rightIcon:S,clearable:B=!1,list:N,showCount:E=!0,className:H="",onFocus:j,onBlur:k,onKeyDown:D,onEnter:L,inputMode:$,autoComplete:ee,autoFocus:K,suggestions:X,openOnFocus:O=!1}=t,{t:F}=pe.useTranslation(),R=s.useId(),W=`tf-${R}`,P=`tf-helper-${R}`,G=s.useRef(null),M=Gi({value:n??"",onChange:i,suggestions:X??[],openOnFocus:O}),V=s.useCallback(Q=>{G.current=Q,typeof o=="function"?o(Q):o&&(o.current=Q)},[o]),z=n!==void 0,ae=z&&m==="password",Z=(n??"").length;s.useEffect(()=>{const Q=G.current;if(!ae||!Q)return;const _e=n??"";Q.value!==_e&&(Q.value=_e)},[ae,n]),s.useEffect(()=>{if(!_||!G.current)return;const Q=G.current;Q.style.height="",Q.scrollHeight>Q.clientHeight&&(Q.style.height=`${Q.scrollHeight}px`)},[n,_]);const J=g!=null&&Z>g,ce=C===32?16:20,oe=fe("text-field",`text-field--s${C}`,y==="display"?"text-field--display":"",w?"text-field--full-width":"",p?"text-field--disabled":"",h?"text-field--readonly":"",f?"text-field--error":"",x?"text-field--has-left-icon":"",S||B?"text-field--has-right-icon":"",H),U={id:W,...ae?{}:z?{value:n}:{defaultValue:a},ref:V,placeholder:u,name:r,disabled:p,readOnly:h,autoFocus:K,tabIndex:h?-1:void 0,maxLength:g,list:N,inputMode:$,autoComplete:ee,"aria-label":!l&&c?c:void 0,"aria-required":d,"aria-invalid":!!f,"aria-describedby":b||f?P:void 0,role:X?"combobox":void 0,"aria-autocomplete":X?"list":void 0,"aria-haspopup":X?"listbox":void 0,"aria-expanded":X?M.open:void 0,"aria-controls":X?M.listId:void 0,"aria-activedescendant":X&&M.activeIdx>=0?`${M.listId}-option-${M.activeIdx}`:void 0,onChange:Q=>i?.(Q.target.value),onFocus:(Q=>{j?.(Q),X&&M.handleFocus()}),onBlur:(Q=>{k?.(Q),X&&M.handleBlur()}),onKeyDown:(Q=>{L&&Q.key==="Enter"&&!Q.nativeEvent.isComposing&&(Q.preventDefault(),L()),D?.(Q),X&&M.handleKeyDown(Q)})},ie=B&&!p&&!h&&Z>0,de=()=>_?e.jsx("textarea",{...U,className:"text-field__input text-field__input--auto body-2",rows:1}):v?e.jsx("textarea",{...U,className:"text-field__input text-field__input--textarea body-2",rows:T}):e.jsx("input",{...U,type:m,className:"text-field__input body-2"}),ke=y==="display"&&!_&&!v&&!!u,Ce=()=>e.jsxs(e.Fragment,{children:[de(),ke&&e.jsx("span",{className:"text-field__placeholder","aria-hidden":"true",children:u})]});return e.jsxs("div",{className:oe,children:[l&&e.jsxs("label",{htmlFor:W,className:"text-field__label caption-1",children:[l,d&&e.jsx("span",{className:"text-field__required",children:"*"})]}),e.jsxs("div",{className:"text-field__wrap",children:[x&&e.jsx("span",{className:"text-field__icon text-field__icon--left",children:e.jsx(je,{icon:x,label:"",className:"",svgClassName:"text-field__icon-svg",size:ce})}),Ce(),g!=null&&E&&e.jsxs("span",{className:`text-field__count caption-2${J?" text-field__count--over":""}`,children:[Z,"/",g]}),ie&&e.jsx(se,{size:24,type:"dot",icon:"x",variant:"transparent-gray",useBorder:!1,className:"text-field__clear",ariaLabel:F("textField.clearAriaLabel","\uC785\uB825\uAC12 \uC9C0\uC6B0\uAE30"),htmlType:"button",onMouseDown:Q=>{Q.preventDefault()},onClick:()=>i?.(""),tabIndex:-1}),S&&!ie&&e.jsx("span",{className:"text-field__icon text-field__icon--right",children:e.jsx(je,{icon:S,label:"",className:"",svgClassName:"text-field__icon-svg",size:ce})})]}),X&&M.open&&M.filtered.length>0&&e.jsx("ul",{id:M.listId,className:"text-field__suggestions",role:"listbox",children:M.filtered.map((Q,_e)=>e.jsx("li",{id:`${M.listId}-option-${_e}`,role:"option","aria-selected":_e===M.activeIdx,className:`text-field__suggestion body-2${_e===M.activeIdx?" is-active":""}`,onMouseDown:ye=>ye.preventDefault(),onClick:()=>{M.handleSelect(Q),G.current?.focus()},children:Q},`${Q}-${_e}`))}),(b||f)&&e.jsx("div",{className:"text-field__footer",children:e.jsx("span",{id:P,className:"text-field__helper caption-1",role:f?"alert":void 0,children:f||b})})]})}function Ft({options:t,value:n,onChange:a,placeholder:r,disabled:o=!1,block:i=!1,size:l=48,error:c=!1,className:d="",ariaLabel:u}){const{t:m}=pe.useTranslation(),p=r??m("dropdown.placeholder","\uC120\uD0DD"),h=s.useId(),f=s.useRef(null),b=s.useCallback(k=>{const D=window.innerHeight-k.bottom<260&&k.top>260;return{position:"fixed",left:k.left,minWidth:k.width,...D?{bottom:window.innerHeight-k.top+6}:{top:k.bottom+6},zIndex:9999}},[]),{open:g,setOpen:C,toggle:y,style:w,triggerRef:_,menuRef:v}=zn({computeStyle:b}),[T,x]=s.useState(-1),S=s.useCallback(()=>x(-1),[]),B=t.find(k=>k.value===n);s.useEffect(()=>{if(g){const k=t.findIndex(D=>D.value===n);x(k>=0?k:0),requestAnimationFrame(()=>{const D=v.current;if(!D)return;const L=D.querySelectorAll(".dropdown__option")[k];L&&(D.scrollTop=Math.max(0,L.offsetTop-D.clientHeight/2+L.clientHeight/2))})}},[g,t,n,v]);const N=s.useCallback(()=>{o||y()},[o,y]),E=s.useCallback(k=>{k.disabled||(a?.(k.value),C(!1))},[a,C]),H=s.useCallback(k=>{if(!o){if(!g){(k.key==="Enter"||k.key===" "||k.key==="ArrowDown")&&(k.preventDefault(),C(!0));return}if(k.key==="Escape"){k.preventDefault(),C(!1);return}k.key==="ArrowDown"?(k.preventDefault(),x(D=>{let L=D+1;for(;L<t.length&&t[L].disabled;)L++;return L<t.length?L:D})):k.key==="ArrowUp"?(k.preventDefault(),x(D=>{let L=D-1;for(;L>=0&&t[L].disabled;)L--;return L>=0?L:D})):k.key==="Enter"&&T>=0&&(k.preventDefault(),E(t[T]))}},[o,g,t,T,E,C]),j=g?e.jsx("div",{ref:v,id:h,className:"dropdown__menu",role:"listbox",style:w,onMouseLeave:S,children:t.map((k,D)=>e.jsxs("button",{id:`${h}-option-${D}`,type:"button",role:"option","aria-selected":k.value===n,className:fe("dropdown__option body-2",k.value===n?"dropdown__option--active":"",D===T?"dropdown__option--active":"",k.disabled?"dropdown__option--disabled":""),onMouseDown:L=>L.preventDefault(),onClick:()=>E(k),onMouseEnter:()=>x(D),disabled:k.disabled,children:[e.jsx("span",{className:"dropdown__option-check",children:k.value===n&&e.jsx("svg",{viewBox:"0 0 14 14",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:e.jsx("polyline",{points:"2 7 5.5 10.5 12 3.5"})})}),k.label]},k.value))}):null;return e.jsxs("div",{ref:f,className:fe("dropdown",`dropdown--s${l}`,g?"dropdown--open":"",i?"dropdown--block":"",c?"dropdown--error":"",d),onKeyDown:H,children:[e.jsxs("button",{ref:_,type:"button",className:"dropdown__trigger","aria-haspopup":"listbox","aria-expanded":g,"aria-controls":g?h:void 0,"aria-activedescendant":g&&T>=0?`${h}-option-${T}`:void 0,"aria-label":u,"aria-invalid":c||void 0,disabled:o,onClick:N,children:[e.jsx("span",{className:`dropdown__trigger-label body-2${B?"":" dropdown__trigger-label--placeholder"}`,children:B?B.label:p}),e.jsx("svg",{className:"dropdown__chevron",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:e.jsx("polyline",{points:"4 6 8 10 12 6"})})]}),typeof document<"u"&&Mt.createPortal(j,f.current?.closest(".ihabdevteam-core-scope")??document.body)]})}function sa({page:t,totalPages:n,onChange:a,prevLabel:r,nextLabel:o,className:i=""}){const{t:l}=pe.useTranslation(),c=r??l("common.prevPage","\uC774\uC804 \uD398\uC774\uC9C0"),d=o??l("common.nextPage","\uB2E4\uC74C \uD398\uC774\uC9C0"),u=()=>a(Math.max(1,t-1)),m=()=>a(Math.min(n,t+1));return e.jsxs("div",{className:fe("pagination",i),children:[e.jsx(se,{size:32,type:"dot",shape:"rounded",icon:"chevron-left",ariaLabel:c,disabled:t<=1,onClick:u}),e.jsxs("span",{className:"pagination__info body-3",children:[t," / ",n]}),e.jsx(se,{size:32,type:"dot",shape:"rounded",icon:"chevron-right",ariaLabel:d,disabled:t>=n,onClick:m})]})}function fn(t){const{t:n}=pe.useTranslation(),{options:a=[],value:r=a[0]?.key,onChange:o=p=>{},className:i="",size:l=48,shape:c="pill",useBG:d=!0,fullWidth:u=!1,ariaLabel:m}=t||{};return e.jsx("div",{className:fe("segmented-control",`segmented-control--${c}`,`segmented-control--${l}`,u&&"segmented-control--full",!d&&"segmented-control--no-bg",i),role:"radiogroup","aria-label":m??n("segmentedControl.ariaLabel","\uC120\uD0DD \uD0ED"),children:a.map(p=>e.jsx(se,{role:"radio","aria-checked":p.key===r,label:p.label,count:p.count,disabled:p.disabled,className:p.key===r?"is-selected":"",onClick:()=>{p.disabled||o(p.key)},size:l,shape:c,useBorder:!1,useBG:!1},p.key))})}function Wa({count:t,search:n,segment:a,filters:r,pageSize:o,pagination:i,actions:l,className:c}){const{t:d}=pe.useTranslation(),u=t!=null&&e.jsxs("p",{className:"toolbar__count body-1",children:[t.prefix??d("common.totalPrefix","\uCD1D "),e.jsx("span",{className:"toolbar__count-highlight",children:t.value}),t.unit,t.suffix]}),m=!!(n||r?.length||o||i||l);return e.jsxs("div",{className:fe("toolbar",c),children:[e.jsxs("div",{className:"toolbar__row",children:[u,a&&(Array.isArray(a)?a:[a]).map((p,h)=>e.jsx(fn,{size:40,...p},p.ariaLabel??h))]}),m&&e.jsx("div",{className:"toolbar__row",children:e.jsxs("div",{className:"toolbar__row-end",children:[n&&e.jsx(bn,{className:"toolbar__search",size:40,value:n.value,onChange:n.onChange,placeholder:n.placeholder??d("common.search","\uAC80\uC0C9"),ariaLabel:n.placeholder??d("common.search","\uAC80\uC0C9"),clearable:!0}),r?.map((p,h)=>e.jsx(Ft,{size:40,options:p.options,value:p.value,onChange:p.onChange,ariaLabel:p.ariaLabel},h)),o&&e.jsx(Ft,{size:40,options:o.options,value:o.value,onChange:o.onChange,ariaLabel:o.ariaLabel??d("common.pageSizeSelect","\uD398\uC774\uC9C0\uB2F9 \uD45C\uC2DC \uAC1C\uC218")}),i&&e.jsx(sa,{page:i.page,totalPages:i.total,onChange:i.onChange,prevLabel:i.prevLabel,nextLabel:i.nextLabel}),l]})})]})}function Ui(t){return typeof t=="string"?t:typeof t=="number"?String(t):Array.isArray(t)?t.map(Ui).join(""):""}function Nf(t){let n=t.replace(/\r\n/g,`
|
|
818
|
+
${y.badge}`:y.badge:void 0;if(_&&l(y.code))return null;if(!y.badge&&!c)return d(y)?null:e.jsxs("div",{className:`payment-plan__pricing-row payment-plan__pricing-row--static${y.highlight?" payment-plan__pricing-row--highlight":""}`,children:[e.jsx("div",{className:"payment-plan__pricing-row-title",children:e.jsx("div",{className:"payment-plan__pricing-row-label h5b",children:y.label})}),e.jsx("div",{className:"payment-plan__pricing-row-price",children:e.jsx("span",{className:"payment-plan__pricing-current h1",children:Vb(x)})})]},y.id);const B=a.tier??(g?a.title:void 0),N=e.jsx(Vi,{showPrice:!0,product:{type:C,code:y.code,name:T,label:B,price:x,originalPrice:y.originals?.[o]??void 0,discountLabel:S},bg:Hb(g,a.id)}),E=()=>r?.({...y,productId:a.id,productTitle:a.title,preview:N});return e.jsx("div",{className:"payment-plan__pricing-card",onClick:E,onKeyDown:r?H=>{H.target===H.currentTarget&&(H.key==="Enter"||H.key===" ")&&(H.preventDefault(),E())}:void 0,role:r?"button":void 0,tabIndex:r?0:void 0,children:N},y.id)})})})})]})}function Wb({variant:t="default"}){return e.jsxs("div",{className:`pass-card-bg pass-card-bg--${t}`,"aria-hidden":"true",children:[e.jsx("div",{className:"pass-card-bg__circle pass-card-bg__circle--1"}),e.jsx("div",{className:"pass-card-bg__circle pass-card-bg__circle--2"}),e.jsx("div",{className:"pass-card-bg__circle pass-card-bg__circle--3"})]})}var za='data:image/svg+xml,<svg width="264" height="100" viewBox="0 0 264 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2079_3030)">%0A<path d="M60.9019 24.7464C54.4446 18.2821 45.5257 14.2857 35.6757 14.2857C25.8256 14.2857 23.2106 24.5964 16.7569 31.0607C10.2996 37.5214 0 40.1857 0 50C0 59.8143 3.99211 68.7893 10.4494 75.2536C16.9067 81.7178 25.8256 85.7143 35.6757 85.7143C45.5257 85.7143 54.4446 81.7178 60.9019 75.2536C67.3592 68.7893 71.3513 59.8607 71.3513 50C71.3513 40.1393 67.3592 31.2107 60.9019 24.7464ZM48.2906 62.6286C45.0619 65.8607 40.6025 67.8571 35.6757 67.8571C30.7489 67.8571 26.2894 65.8571 23.0608 62.6286C19.8321 59.3964 17.8378 54.9321 17.8378 50C17.8378 45.0678 19.8357 40.6036 23.0608 37.3714C26.2894 34.1393 30.7489 32.1428 35.6757 32.1428C40.6025 32.1428 45.0619 34.1428 48.2906 37.3714C51.5192 40.6036 53.5135 45.0678 53.5135 50C53.5135 54.9321 51.5157 59.3964 48.2906 62.6286Z" fill="url(%23paint0_linear_2079_3030)"/>%0A<path d="M106.735 74.8322H93.6274V24.8322H106.735V74.8322Z" fill="%23111111"/>%0A<path d="M113.495 24.8322H126.602V44.5143H145.022V24.8322H158.197V74.8322H145.022V55.15H126.602V74.8322H113.495V24.8322Z" fill="%23111111"/>%0A<path d="M163.027 74.8322L179.652 24.8322H197.519L214.076 74.8322H199.934L196.969 65.025H180.205L177.241 74.8322H163.031H163.027ZM193.933 55.0786L188.76 38.2964H188.346L183.241 55.0786H193.933Z" fill="%23111111"/>%0A<path d="M218.906 24.8322H240.29C251.674 24.8322 257.675 29.7357 257.675 37.4C257.675 42.925 253.743 47.1393 248.085 48.3107V48.7929C254.364 49 259.605 53.6286 259.605 60.7393C259.605 68.8893 252.983 74.8286 242.081 74.8286H218.902V24.8322H218.906ZM244.157 40.1643C244.157 36.9857 241.674 35.1929 238.085 35.1929H232.013V45.1393H237.878C241.535 45.1393 244.157 43.3429 244.157 40.1679V40.1643ZM245.741 59.0857C245.741 55.425 243.119 53.3536 238.913 53.3536H232.013V64.2643H238.706C243.397 64.2643 245.741 62.4679 245.741 59.0857Z" fill="%23111111"/>%0A</g>%0A<defs>%0A<linearGradient id="paint0_linear_2079_3030" x1="15.337" y1="29.6393" x2="60.9512" y2="75.2042" gradientUnits="userSpaceOnUse">%0A<stop offset="0.2" stop-color="%23499CDF"/>%0A<stop offset="0.8" stop-color="%234DCDC0"/>%0A</linearGradient>%0A<clipPath id="clip0_2079_3030">%0A<rect width="264" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A';const zi={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"#c9c9c9"};function qb(){const t=rt(zi,Zt,Xt);return e.jsx("div",{ref:t,className:"pass-card-bg pass-card-bg-ihab","aria-hidden":"true",children:e.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-ihab__symbol-top",style:{"--symbol-url":`url("${za}")`}})})}const Wi={text:"#ffffff",sub:"var(--color-lightGray)",logoBase:"Logo_speechearManager_kr",logoColor:"_white",copyrightColor:"#ffffff"};function Gb(t={}){const n=rt(Wi,Zt,Xt);return e.jsxs("div",{ref:n,className:"pass-card-bg pass-card-bg-left-color-grid","aria-hidden":"true",children:[e.jsx("div",{className:"pass-card-bg-left-color-grid__bar"}),e.jsx("div",{className:"pass-card-bg-left-color-grid__grid"}),e.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-left-color-grid__symbol",style:{"--symbol-url":`url("${Wn}")`}})]})}const qn=(t,n,a)=>t+(n-t)*a;function Ub({speakers:t,size:n=300,viewT:a=0,activeSpeakerId:r=null,playedIds:o,selectedId:i=null,answerId:l=null,showFeedback:c=!1,clickable:d=!1,onSelectSpeaker:u,buttonSize:m=40,showIcon:p=!0}){const h=Math.max(0,Math.min(1,a)),f=n/2,b=110/300,g=.18,C=P=>n*(b+(P-1)*g),y=P=>{const G=C(P.row??1),M=P.angleDeg*Math.PI/180;return{x:f+G*Math.cos(M),y:f+G*Math.sin(M)}},w=Math.max(...t.map(P=>P.row??1),1),_=n*.08,v=n*.1,T=n*.24,x=n-2*_,S=n-v-T,B=n-T/2,N=s.useMemo(()=>[...new Set(t.map(P=>P.deg))].sort((P,G)=>P-G),[t]),E=N.length,H=Math.max(68,E>1?x/(E-1):0),j=s.useMemo(()=>new Map(N.map((P,G)=>[P,G])),[N]),k=P=>{const G=j.get(P.deg)??0,M=f+(G-(E-1)/2)*H,V=w>1?Math.min(68,S/(w-1)):0,z=V*(w-1),ae=v+(S-z)/2,Z=w===1?v+S*.4:ae+(w-(P.row??1))*V;return{x:M,y:Z}},D=P=>{const G=y(P),M=k(P);return{x:qn(G.x,M.x,h),y:qn(G.y,M.y,h)}},L={x:f,y:qn(f,B,h)},$=Math.round(m*1.2),ee=Math.round(Math.max(16,Math.min(80,m*.7))),K=[],X=new Map;for(const P of t){const G=P.row??1;X.has(G)||X.set(G,[]),X.get(G).push(P)}for(const[P,G]of X.entries()){if(G.length<2)continue;const M=[...G].sort((Ce,Q)=>Ce.deg-Q.deg),V=M.map(Ce=>D(Ce)),z=M.map(Ce=>Ce.deg),ae=z[z.length-1]-z[0],Z=ae/(z.length-1),J=360-ae,ce=M.length>=3&&Z>0&&J<=Z*1.5,oe=Math.round(C(P)*1e3)/1e3,U=(Ce,Q,_e,ye)=>{const Te=(Q.angleDeg-Ce.angleDeg+540)%360-180;if(Te===0)return`L ${ye.x} ${ye.y}`;if(h===0)return`A ${oe} ${oe} 0 0 ${Te>0?1:0} ${ye.x} ${ye.y}`;const $e=(Ce.angleDeg+Te/2)*Math.PI/180,Oe={x:f+oe*Math.cos($e),y:f+oe*Math.sin($e)},Me={x:(_e.x+ye.x)/2,y:(_e.y+ye.y)/2},Pe={x:qn(Oe.x,Me.x,h),y:qn(Oe.y,Me.y,h)},Qe={x:2*Pe.x-Me.x,y:2*Pe.y-Me.y};return`Q ${Qe.x} ${Qe.y} ${ye.x} ${ye.y}`},ie=ce?[...M,M[0]]:M,de=ce?[...V,V[0]]:V;let ke=`M ${de[0].x} ${de[0].y}`;for(let Ce=1;Ce<de.length;Ce++)ke+=" "+U(ie[Ce-1],ie[Ce],de[Ce-1],de[Ce]);K.push({key:`arc-${P}`,d:ke})}const O=s.useMemo(()=>new Set(o??[]),[o]),F=P=>{if(r===P.id)return"active";if(c){if(P.id===l)return"correct";if(P.id===i&&i!==l)return"wrong"}return O.has(P.id)?"played":"idle"},R=P=>r===P.id||c&&P.id===l,W=(P,G)=>{switch(P){case"played":case"correct":return e.jsx(Mr,{size:G});case"wrong":return e.jsx(qr,{size:G});default:return e.jsx(Wr,{size:G})}};return e.jsx("div",{className:"sound-compass",children:e.jsxs("div",{className:"sound-compass__compass-wrap",style:{width:n,height:n},children:[e.jsxs("svg",{width:n,height:n,viewBox:`0 0 ${n} ${n}`,className:"sound-compass__svg",children:[h===0&&t.map(P=>{const{x:G,y:M}=D(P);return e.jsx("line",{x1:L.x,y1:L.y,x2:G,y2:M,stroke:"#dde3ec",strokeWidth:"1"},P.id)}),K.map(P=>e.jsx("path",{d:P.d,fill:"none",stroke:"#dde3ec",strokeWidth:"1"},P.key))]}),e.jsx("div",{className:"sound-compass__center",style:{width:$,height:$,left:L.x,top:L.y},children:e.jsx(zr,{size:ee,color:"currentColor",strokeWidth:1.5})}),t.map((P,G)=>{const{x:M,y:V}=D(P),z=F(P),ae=R(P),Z={pointerEvents:d?"auto":"none",cursor:d?"pointer":"default",zIndex:z!=="idle"?10:1},J=m,ce=Math.round(Math.max(10,Math.min(56,J*.38))),oe=Math.round(Math.max(7,Math.min(18,J*.2))),U=Math.round(Math.max(10,Math.min(56,J*.4)));return e.jsxs("div",{className:"sound-compass__speaker-pos",style:{...Z,left:M-J/2,top:V-J/2},children:[ae&&e.jsx("div",{className:"sound-compass__pulse",style:{width:J,height:J}}),e.jsxs("button",{type:"button",tabIndex:d?0:-1,"aria-disabled":d?void 0:!0,onClick:d?()=>u?.(P.id):void 0,className:`sound-compass__speaker-btn sound-compass__speaker-btn--${z}`,style:{width:J,height:J},"aria-label":P.label,children:[p&&W(z,ce),e.jsx("span",{className:"sound-compass__speaker-number",style:{fontSize:p?oe:U},children:G+1})]})]},P.id)})]})})}function Yb(t,{mode:n="playback",autoStart:a=!1,onPlaySpeaker:r,onComplete:o,playMs:i=1100,feedbackMs:l=1500}={}){const[c,d]=s.useState([]),[u,m]=s.useState(0),[p,h]=s.useState("idle"),[f,b]=s.useState(null),[g,C]=s.useState([]),[y,w]=s.useState(null),[_,v]=s.useState(0),T=s.useRef(0),x=s.useCallback(O=>{T.current=typeof O=="function"?O(T.current):O,v(T.current)},[]),S=s.useRef(r),B=s.useRef(o);s.useEffect(()=>{S.current=r,B.current=o},[r,o]);const N=s.useRef([]),E=()=>{N.current.forEach(clearTimeout),N.current=[]},H=(O,F)=>{N.current.push(setTimeout(F,O))};s.useEffect(()=>()=>E(),[]);const j=c[u]?.id??null,k=s.useCallback(()=>{E(),h("playing"),C([]),w(null),x(0);let O=0;t.forEach((F,R)=>{H(O,()=>{m(R),b(F.id),S.current?.(F)}),H(O+1e3,()=>{b(null),C(W=>[...W,F.id])}),O+=1300}),H(O,()=>{h("done"),B.current?.({score:0,total:t.length})})},[t,x]),D=s.useCallback((O,F)=>{if(F>=O.length){h("done"),B.current?.({score:T.current,total:O.length});return}m(F),w(null),h("playing"),b(O[F].id),S.current?.(O[F]),H(i,()=>{b(null),h("waiting")})},[i]),L=s.useCallback(()=>{E();const O=On(t);d(O),x(0),C([]),D(O,0)},[t,D,x]),$=s.useCallback(()=>{n==="playback"?(d(t),k()):L()},[n,t,k,L]),ee=s.useCallback(()=>{E(),h("idle"),b(null),C([]),w(null),m(0),x(0),d([])},[x]);s.useEffect(()=>{a?$():ee()},[n,t.length,a]);const K=s.useCallback(O=>{p!=="waiting"||n==="playback"||(w(O),O===c[u]?.id&&x(F=>F+1),n==="exam"?(h("playing"),H(400,()=>D(c,u+1))):(h("feedback"),H(l,()=>D(c,u+1))))},[p,n,c,u,D,l,x]),X=n==="playback"?t.length:c.length;return{bind:{activeSpeakerId:f,playedIds:g,selectedId:y,answerId:j,showFeedback:p==="feedback",clickable:p==="waiting",onSelectSpeaker:K},index:u,total:X,score:_,phase:p,done:p==="done",start:$,reset:ee}}function Kb({children:t,position:n="top-left",size:a=24,className:r=""}){return e.jsx("span",{className:fe("circle-badge","circle-badge--number",`circle-badge--${a}`,`circle-badge--${n}`,r),children:t})}function Zb({keys:t,anchor:n="top-right",className:a=""}){const r=Array.isArray(t)?t:[t];return e.jsx("span",{className:fe("shortcut-badge",`shortcut-badge--${n}`,a),children:r.map((o,i)=>e.jsxs("span",{className:"shortcut-badge__group",children:[i>0&&e.jsx("span",{className:"shortcut-badge__plus",children:"+"}),e.jsx("kbd",{className:"shortcut-badge__key",children:o})]},`${o}-${i}`))})}function Xb({orientation:t="horizontal",label:n,className:a=""}){const r=fe("divider",`divider--${t}`,n&&t==="horizontal"?"divider--labeled":"",a);return t==="vertical"?e.jsx("div",{className:r,role:"separator","aria-orientation":"vertical"}):n?e.jsxs("div",{className:r,role:"separator","aria-orientation":"horizontal",children:[e.jsx("span",{className:"divider__line"}),e.jsx("span",{className:"divider__label caption-1",children:n}),e.jsx("span",{className:"divider__line"})]}):e.jsx("div",{className:r,role:"separator","aria-orientation":"horizontal"})}function qi({checked:t,onChange:n,name:a,value:r,disabled:o=!1,label:i,className:l=""}){const c=s.useId();return e.jsxs("label",{className:`radio${o?" radio--disabled":""} ${l}`.trim(),htmlFor:c,children:[e.jsx("input",{id:c,type:"radio",name:a,value:r,checked:t,disabled:o,onChange:d=>n?.(d.target.checked)}),e.jsx("span",{className:"radio__dot"}),i&&e.jsx("span",{className:"radio__label body-2",children:i})]})}function Qb({options:t,value:n,onChange:a,name:r,disabled:o=!1,direction:i="vertical",className:l=""}){const c=s.useId(),d=r??`radio-group-${c}`;return e.jsx("div",{className:`radio-group radio-group--${i} ${l}`.trim(),role:"radiogroup",children:t.map(u=>e.jsx(qi,{name:d,value:u.value,checked:n===u.value,disabled:o||u.disabled,label:u.label,onChange:m=>{m&&a?.(u.value)}},u.value))})}const Jb={info:"info",success:"check-circle",warning:"alert-triangle",danger:"alert-circle"};function ef({tone:t="info",title:n,message:a,children:r,dismissible:o=!1,onDismiss:i,className:l=""}){const{t:c}=pe.useTranslation(),[d,u]=s.useState(!1),m=s.useCallback(()=>{u(!0),i?.()},[i]);if(d)return null;const p=fe("alert",`alert--${t}`,l),h=!!n,f=!!(a||r);return e.jsxs("div",{className:p,role:"alert",children:[e.jsxs("div",{className:"alert__body",children:[e.jsxs("div",{className:"alert__header",children:[e.jsx(je,{icon:Jb[t],size:20,className:"alert__icon"}),h&&e.jsx("span",{className:"alert__title body-2",children:n}),!h&&f&&e.jsx("div",{className:"alert__message body-3",children:a??r})]}),h&&f&&e.jsx("div",{className:"alert__message alert__message--indented body-3",children:a??r})]}),o&&e.jsx("button",{type:"button",className:"alert__dismiss",onClick:m,"aria-label":c("common.close","\uB2EB\uAE30"),children:"\xD7"})]})}const tf={ready:"search",guide:"info",error:"circle-alert"};function nf(t,n){const a=n.filter(Boolean);if(a.length===0)return t;const r=[];let o=0,i=0;for(const l of a){const c=t.indexOf(l,o);c<0||(c>o&&r.push(t.slice(o,c)),r.push(e.jsx("strong",{className:"search-summary__em body-2",children:l},i++)),o=c+l.length)}return o<t.length&&r.push(t.slice(o)),r}function af({status:t="guide",label:n,children:a,emphasis:r,icon:o,className:i=""}){const l=o===!1?null:o??tf[t],c=fe("search-summary",`search-summary--${t}`,i),d=n??a,u=typeof d=="string"&&r&&r.length>0?nf(d,r):d;return e.jsxs("div",{className:c,role:"status","aria-live":"polite",children:[l!=null&&e.jsx(je,{icon:l,size:18,className:"search-summary__icon"}),e.jsx("span",{className:"search-summary__text body-2",children:u})]})}function rf({items:t=[],value:n,onChange:a,className:r="",size:o=40}){const{t:i}=pe.useTranslation(),l=s.useRef(null),c=n??t[0]?.key,d=()=>Array.from(l.current?.querySelectorAll('[role="tab"]:not(:disabled)')??[]),u=(h,f=d())=>{if(f.length===0)return;const b=(h%f.length+f.length)%f.length;f[b]?.focus(),f[b]?.click()},m=h=>{if(!["ArrowRight","ArrowDown","ArrowLeft","ArrowUp","Home","End"].includes(h.key))return;h.preventDefault();const f=d(),b=f.indexOf(h.currentTarget);h.key==="ArrowRight"||h.key==="ArrowDown"?u(b+1,f):h.key==="ArrowLeft"||h.key==="ArrowUp"?u(b-1,f):h.key==="Home"?u(0,f):u(f.length-1,f)},p=t.find(h=>h.key===c);return e.jsxs("div",{className:`tabs ${r}`.trim(),children:[e.jsx("div",{ref:l,className:`tabs__list tabs__list--${o}`,role:"tablist","aria-label":i("tabs.ariaLabel","\uD0ED"),children:t.map(h=>e.jsx("button",{id:`tabs__tab-${h.key}`,type:"button",role:"tab","aria-selected":h.key===c,"aria-controls":`tabs__panel-${h.key}`,disabled:h.disabled,tabIndex:h.key===c?0:-1,className:`tabs__tab body-2${h.key===c?" tabs__tab--active":""}`,onClick:()=>a?.(h.key),onKeyDown:m,children:h.label},h.key))}),p&&e.jsx("div",{id:`tabs__panel-${p.key}`,role:"tabpanel","aria-labelledby":`tabs__tab-${p.key}`,tabIndex:0,className:"tabs__panel",children:p.panel},p.key)]})}const of={xs:12,sm:16,md:20,lg:28,xl:36};function sf(t){const n=t.trim().split(/\s+/).filter(Boolean);return n.length===0?"":n.length===1?[...n[0]].slice(0,2).join("").toUpperCase():([...n[0]][0]+[...n[n.length-1]][0]).toUpperCase()}function lf({src:t,name:n,size:a="md",shape:r="circle",className:o=""}){const{t:i}=pe.useTranslation(),[l,c]=s.useState(!1),d=n?sf(n):"",u=!!t&&!l,m=!u&&!!d,p=n||i("avatar.ariaLabel","\uC0AC\uC6A9\uC790 \uC544\uBC14\uD0C0");return e.jsxs("span",{className:`avatar avatar--${a} avatar--${r} ${o}`.trim(),role:"img","aria-label":p,children:[u&&e.jsx("img",{className:"avatar__image",src:t,alt:p,onError:()=>c(!0)}),!u&&m&&e.jsx("span",{className:"avatar__initials","aria-hidden":"true",children:d}),!u&&!m&&e.jsx(je,{icon:"user-round",size:of[a],className:"avatar__icon"})]})}function cf(t,n){if(!n)return!0;const a=n.split(",").map(i=>i.trim()).filter(Boolean);if(a.length===0)return!0;const r=t.name.toLowerCase(),o=t.type.toLowerCase();return a.some(i=>{const l=i.toLowerCase();return l.startsWith(".")?r.endsWith(l):l.endsWith("/*")?o.startsWith(l.slice(0,-1)):o===l})}function uf({onFilesSelected:t,accept:n,multiple:a=!1,disabled:r=!1,showFileList:o=!0,files:i,onRemove:l,className:c=""}){const{t:d}=pe.useTranslation(),u=s.useRef(null),[m,p]=s.useState(!1),[h,f]=s.useState([]),b=i??h,g=x=>{if(!x||x.length===0)return;const S=Array.from(x).filter(N=>cf(N,n));if(S.length===0)return;const B=a?S:S.slice(0,1);if(i===void 0){const N=a?[...b,...B]:B;f(N),t?.(N)}else t?.(B)},C=x=>{x.preventDefault(),!r&&p(!0)},y=x=>{x.preventDefault(),p(!1)},w=x=>{x.preventDefault(),p(!1),!r&&g(x.dataTransfer.files)},_=x=>{g(x.target.files),x.target.value=""},v=()=>{r||u.current?.click()},T=x=>{if(l){l(x);return}if(i===void 0){const S=b.filter((B,N)=>N!==x);f(S),t?.(S)}};return e.jsxs("div",{className:`file-upload ${c}`.trim(),children:[e.jsxs("div",{className:fe("file-upload__dropzone",m&&"file-upload__dropzone--dragging",r&&"file-upload__dropzone--disabled"),role:"button",tabIndex:r?-1:0,"aria-disabled":r,onClick:v,onKeyDown:x=>{(x.key==="Enter"||x.key===" ")&&(x.preventDefault(),v())},onDragOver:C,onDragLeave:y,onDrop:w,children:[e.jsx(je,{icon:"upload",size:24,className:"file-upload__icon"}),e.jsx("span",{className:"file-upload__prompt body-2",children:d("fileUpload.dragPrompt","\uD30C\uC77C\uC744 \uC774\uACF3\uC5D0 \uB4DC\uB798\uADF8\uD558\uC5EC \uC5C5\uB85C\uB4DC")}),e.jsx("button",{type:"button",className:"file-upload__browse-button body-3",disabled:r,onClick:x=>{x.stopPropagation(),v()},children:d("fileUpload.browseButton","\uD30C\uC77C \uC120\uD0DD")}),e.jsx("input",{ref:u,type:"file",className:"file-upload__input",accept:n,multiple:a,disabled:r,onChange:_,tabIndex:-1})]}),o&&b.length>0&&e.jsx("ul",{className:"file-upload__list",children:b.map((x,S)=>e.jsxs("li",{className:"file-upload__list-item body-3",children:[e.jsx("span",{className:"file-upload__file-name body-3",children:x.name}),e.jsx("button",{type:"button",className:"file-upload__remove-button","aria-label":d("fileUpload.removeAriaLabel",{name:x.name}),onClick:()=>T(S),children:e.jsx(je,{icon:"x",size:14})})]},`${x.name}-${S}`))})]})}function df({items:t,className:n=""}){return e.jsx("nav",{className:`breadcrumb ${n}`.trim(),"aria-label":"breadcrumb",children:e.jsx("ol",{className:"breadcrumb__list",children:t.map((a,r)=>{const o=r===t.length-1;return e.jsxs("li",{className:"breadcrumb__item",children:[o?e.jsx("span",{className:"breadcrumb__current body-3","aria-current":"page",children:a.label}):e.jsx("button",{type:"button",className:"breadcrumb__link body-3",onClick:a.onClick,children:a.label}),!o&&e.jsx(je,{icon:"chevron-right",size:14,className:"breadcrumb__separator"})]},r)})})})}const pf={small:14,medium:20,large:28};function mf({value:t,onChange:n,max:a=5,readOnly:r=!1,size:o="medium",ariaLabel:i,className:l=""}){const{t:c}=pe.useTranslation(),d=r||!n,[u,m]=s.useState(null),p=u??t,h=pf[o],f=C=>{d||n?.(C)},b=C=>{d||m(C)},g=()=>{d||m(null)};return e.jsx("div",{className:`rating rating--${o}${d?" rating--readOnly":""} ${l}`.trim(),role:d?"img":"radiogroup","aria-label":d?c("rating.valueLabel",{value:t,max:a}):i??c("rating.groupLabel","\uBCC4\uC810"),onMouseLeave:g,children:Array.from({length:a},(C,y)=>{const w=y+1,_=Math.max(0,Math.min(1,p-y)),v=_>0&&_<1,T=e.jsxs("span",{className:"rating__star-wrap",children:[e.jsx(je,{icon:"star",size:h,className:"rating__star rating__star--empty"}),_>0&&e.jsx("span",{className:`rating__star-fill${v?" rating__star-fill--half":""}`,children:e.jsx(je,{icon:"star",size:h,className:"rating__star rating__star--filled"})})]});return d?e.jsx("span",{className:"rating__item","aria-hidden":"true",children:T},w):e.jsx("button",{type:"button",className:"rating__item rating__item--interactive",role:"radio","aria-checked":t===w,"aria-label":c("rating.starLabel",{n:w}),onClick:()=>f(w),onMouseEnter:()=>b(w),children:T},w)})})}const hf=20,gf=["#499cdf","#4dcdc0","#2fae9e","#e6b94e","#d9534f","#e06b68","#bfc7d1"];function bf({value:t,onChange:n,palette:a=gf,size:r=40,className:o=""}){const{t:i}=pe.useTranslation();return e.jsx("div",{className:`color-picker ${o}`.trim(),role:"group",children:a.map(l=>{const c=t?.toLowerCase()===l.toLowerCase();return e.jsx("button",{type:"button",className:`color-picker__swatch color-picker__swatch--${r}`,style:{backgroundColor:l},onClick:()=>n(l),"aria-pressed":c,"aria-label":c?`${l} ${i("colorPicker.selected","\uC120\uD0DD\uB428")}`:l,children:c&&e.jsx(je,{icon:"check",size:hf,className:"color-picker__check"})},l)})})}function ff({icon:t,count:n,title:a,className:r="",onClick:o,onMouseEnter:i,onMouseLeave:l}){const c=fe("count-tile",o&&"count-tile--clickable",r);return e.jsxs("div",{className:c,onClick:o,onKeyDown:o?d=>{d.key!=="Enter"&&d.key!==" "||(d.preventDefault(),d.currentTarget.click())}:void 0,onMouseEnter:i,onMouseLeave:l,role:o?"button":"img",tabIndex:o?0:void 0,"aria-label":a?`${a} ${n}`:String(n),children:[e.jsx(je,{icon:t,size:20,className:"count-tile__icon"}),e.jsx("span",{className:"count-tile__count h5","aria-hidden":"true",children:n})]})}function Cf(){return e.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round","aria-hidden":!0,children:e.jsx("path",{d:"M6 6l12 12M18 6 6 18"})})}function yf({open:t,onClose:n,ariaLabel:a,title:r,children:o,size:i="md",closeOnBackdrop:l=!0,closeOnEscape:c=!0,showClose:d=!0,className:u,contentClassName:m}){const{t:p}=pe.useTranslation(),h=s.useId(),f=s.useRef(null),b=s.useRef(null),g=s.useCallback(()=>n(),[n]);return s.useEffect(()=>{if(!t){b.current?.focus(),b.current=null;return}b.current=document.activeElement;const{overflow:C}=document.body.style;document.body.style.overflow="hidden",f.current?.focus();const y=c?_i(g):void 0;return()=>{y?.(),document.body.style.overflow=C}},[t,c,g]),!t||typeof document>"u"?null:Mt.createPortal(e.jsx("div",{className:fe("dialog",u),onClick:l?g:void 0,children:e.jsxs("div",{ref:f,role:"dialog","aria-modal":"true","aria-label":r?void 0:a,"aria-labelledby":r?h:void 0,tabIndex:-1,className:fe("dialog__surface",`dialog__surface--${i}`,m),onClick:C=>C.stopPropagation(),children:[r?e.jsx("div",{className:"dialog__header",children:e.jsx("h2",{id:h,className:"dialog__title h4b",children:r})}):null,d?e.jsx("button",{type:"button",className:"dialog__close","aria-label":p("common.close","\uB2EB\uAE30"),onClick:g,children:e.jsx(Cf,{})}):null,e.jsx("div",{className:"dialog__body",children:o})]})}),document.body)}function vf({columns:t,rows:n,rowKey:a,title:r,toolbar:o,empty:i="\uB4F1\uB85D\uB41C \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",loading:l,caption:c,className:d=""}){const u=!l&&n.length===0;return e.jsxs("div",{className:fe("board",d),children:[r||o?e.jsxs("div",{className:"board__head",children:[r?e.jsx("h2",{className:"board__title",children:r}):e.jsx("span",{}),o?e.jsx("div",{className:"board__toolbar",children:o}):null]}):null,e.jsxs("table",{className:"board__table",children:[c?e.jsx("caption",{className:"board__caption",children:c}):null,e.jsx("thead",{children:e.jsx("tr",{children:t.map(m=>e.jsx("th",{scope:"col",className:fe("board__th",`board__cell--${m.headerAlign??m.align??"left"}`),style:m.width?{width:m.width}:void 0,children:m.header},m.key))})}),e.jsx("tbody",{children:l?e.jsx("tr",{children:e.jsx("td",{className:"board__state",colSpan:t.length,children:l})}):u?e.jsx("tr",{children:e.jsx("td",{className:"board__state",colSpan:t.length,children:i})}):n.map((m,p)=>e.jsx("tr",{className:"board__row",children:t.map(h=>e.jsx("td",{className:fe("board__td",`board__cell--${h.align??"left"}`),children:h.render(m,p)},h.key))},a(m,p)))})]})]})}function wf({name:t,role:n,photo:a,media:r,credentials:o,size:i=190,className:l=""}){return e.jsxs("div",{className:fe("person-card",l),children:[e.jsx("div",{className:"person-card__photo",style:{width:i,height:i},children:r??(a?e.jsx("img",{src:a,alt:n?`${t} ${n}`:t}):null)}),e.jsx("h3",{className:"person-card__name",children:t}),n?e.jsx("p",{className:"person-card__role",children:n}):null,o?.length?e.jsx("ul",{className:"person-card__credentials",children:o.map(c=>e.jsx("li",{children:c},c))}):null]})}function xf({groups:t,className:n=""}){return e.jsx("div",{className:fe("timeline",n),children:t.map(a=>e.jsxs("section",{className:"timeline__group",children:[e.jsx("h3",{className:"timeline__title",children:a.title}),e.jsx("ul",{className:"timeline__rows",children:a.entries.map((r,o)=>e.jsxs("li",{className:"timeline__row",children:[r.label?e.jsx("span",{className:"timeline__label",children:r.label}):null,e.jsx("div",{className:"timeline__items",children:r.items.map((i,l)=>e.jsx("p",{children:i},l))})]},`${r.label??""}-${o}`))})]},a.title))})}function _f({title:t,kind:n,body:a,badge:r,badgeSrc:o,footer:i,width:l,className:c=""}){const d=r??(o?e.jsx("img",{src:o,alt:""}):null);return e.jsxs("div",{className:fe("publication-card",c),style:l?{width:l,flexShrink:0}:void 0,children:[d?e.jsx("div",{className:"publication-card__badge","aria-hidden":"true",children:d}):null,e.jsx("h3",{className:"publication-card__title",children:t}),n?e.jsx("p",{className:"publication-card__kind",children:n}):null,e.jsx("p",{className:"publication-card__body",children:a}),i?e.jsx("div",{className:"publication-card__footer",children:i}):null]})}function kf({logo:t,alt:n,onDone:a,durationMs:r=3e3}){const o=Ci(a);return s.useEffect(()=>{if(!o.current)return;const i=setTimeout(()=>o.current?.(),r);return()=>clearTimeout(i)},[r,o]),e.jsx("div",{className:"splash-logo",style:{"--splash-logo-duration":`${r}ms`},"aria-hidden":"true",children:e.jsx("img",{src:t,alt:n,className:"splash-logo__image"})})}function Af({eyebrow:t,eyebrowIndex:n,title:a,description:r,level:o=2,tone:i="dark",className:l=""}){const c=o===1?"h1":"h2";return e.jsxs("div",{className:fe("section-header",`section-header--${i}`,l),children:[t?e.jsxs("p",{className:"section-header__eyebrow",children:[n?e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"section-header__index",children:n}),e.jsx("span",{"aria-hidden":!0,className:"section-header__rule"})]}):null,t]}):null,a?e.jsx(c,{className:"section-header__title",children:a}):null,r?e.jsx("div",{className:"section-header__description",children:r}):null]})}function Sf({items:t,className:n=""}){return e.jsx("ul",{className:fe("company-meta",n),children:t.map((a,r)=>e.jsxs("li",{className:"company-meta__item",children:[r>0?e.jsx("span",{"aria-hidden":!0,className:"company-meta__divider",children:"|"}):null,a]},a))})}function Gi({value:t,onChange:n,suggestions:a,openOnFocus:r=!1}){const o=s.useId(),[i,l]=s.useState(!1),[c,d]=s.useState(-1),u=s.useRef(null),m=s.useMemo(()=>{if(!a.length)return[];const g=t??"";return g?a.filter(C=>C.toLowerCase().includes(g.toLowerCase())):r?a:[]},[a,t,r]);s.useEffect(()=>{i||d(-1)},[i]),s.useEffect(()=>()=>{u.current&&clearTimeout(u.current)},[]);const p=s.useCallback(g=>{n?.(g),l(!1)},[n]),h=s.useCallback(()=>l(!0),[]),f=s.useCallback(()=>{u.current=setTimeout(()=>l(!1),120)},[]),b=s.useCallback(g=>{g.key==="ArrowDown"?(g.preventDefault(),l(!0),d(C=>Math.min(m.length-1,C+1))):g.key==="ArrowUp"?(g.preventDefault(),d(C=>Math.max(-1,C-1))):g.key==="Enter"?c>=0&&!g.nativeEvent.isComposing&&p(m[c]):g.key==="Escape"&&i&&(g.preventDefault(),l(!1))},[m,c,i,p]);return{listId:o,open:i,activeIdx:c,filtered:m,handleFocus:h,handleBlur:f,handleKeyDown:b,handleSelect:p}}function bn(t){const{value:n,defaultValue:a,name:r,inputRef:o,onChange:i,label:l,ariaLabel:c,required:d,placeholder:u,type:m="text",disabled:p=!1,readOnly:h=!1,error:f,helperText:b,maxLength:g,size:C=48,variant:y="input",fullWidth:w=!1,newline:_=!1,multiline:v=!1,rows:T=3,leftIcon:x,rightIcon:S,clearable:B=!1,list:N,showCount:E=!0,className:H="",onFocus:j,onBlur:k,onKeyDown:D,onEnter:L,inputMode:$,autoComplete:ee,autoFocus:K,suggestions:X,openOnFocus:O=!1}=t,{t:F}=pe.useTranslation(),R=s.useId(),W=`tf-${R}`,P=`tf-helper-${R}`,G=s.useRef(null),M=Gi({value:n??"",onChange:i,suggestions:X??[],openOnFocus:O}),V=s.useCallback(Q=>{G.current=Q,typeof o=="function"?o(Q):o&&(o.current=Q)},[o]),z=n!==void 0,ae=z&&m==="password",Z=(n??"").length;s.useEffect(()=>{const Q=G.current;if(!ae||!Q)return;const _e=n??"";Q.value!==_e&&(Q.value=_e)},[ae,n]),s.useEffect(()=>{if(!_||!G.current)return;const Q=G.current;Q.style.height="",Q.scrollHeight>Q.clientHeight&&(Q.style.height=`${Q.scrollHeight}px`)},[n,_]);const J=g!=null&&Z>g,ce=C===32?16:20,oe=fe("text-field",`text-field--s${C}`,y==="display"?"text-field--display":"",w?"text-field--full-width":"",p?"text-field--disabled":"",h?"text-field--readonly":"",f?"text-field--error":"",x?"text-field--has-left-icon":"",S||B?"text-field--has-right-icon":"",H),U={id:W,...ae?{}:z?{value:n}:{defaultValue:a},ref:V,placeholder:u,name:r,disabled:p,readOnly:h,autoFocus:K,tabIndex:h?-1:void 0,maxLength:g,list:N,inputMode:$,autoComplete:ee,"aria-label":!l&&c?c:void 0,"aria-required":d,"aria-invalid":!!f,"aria-describedby":b||f?P:void 0,role:X?"combobox":void 0,"aria-autocomplete":X?"list":void 0,"aria-haspopup":X?"listbox":void 0,"aria-expanded":X?M.open:void 0,"aria-controls":X?M.listId:void 0,"aria-activedescendant":X&&M.activeIdx>=0?`${M.listId}-option-${M.activeIdx}`:void 0,onChange:Q=>i?.(Q.target.value),onFocus:(Q=>{j?.(Q),X&&M.handleFocus()}),onBlur:(Q=>{k?.(Q),X&&M.handleBlur()}),onKeyDown:(Q=>{L&&Q.key==="Enter"&&!Q.nativeEvent.isComposing&&(Q.preventDefault(),L()),D?.(Q),X&&M.handleKeyDown(Q)})},ie=B&&!p&&!h&&Z>0,de=()=>_?e.jsx("textarea",{...U,className:"text-field__input text-field__input--auto body-2",rows:1}):v?e.jsx("textarea",{...U,className:"text-field__input text-field__input--textarea body-2",rows:T}):e.jsx("input",{...U,type:m,className:"text-field__input body-2"}),ke=y==="display"&&!_&&!v&&!!u,Ce=()=>e.jsxs(e.Fragment,{children:[de(),ke&&e.jsx("span",{className:"text-field__placeholder","aria-hidden":"true",children:u})]});return e.jsxs("div",{className:oe,children:[l&&e.jsxs("label",{htmlFor:W,className:"text-field__label caption-1",children:[l,d&&e.jsx("span",{className:"text-field__required",children:"*"})]}),e.jsxs("div",{className:"text-field__wrap",children:[x&&e.jsx("span",{className:"text-field__icon text-field__icon--left",children:e.jsx(je,{icon:x,label:"",className:"",svgClassName:"text-field__icon-svg",size:ce})}),Ce(),g!=null&&E&&e.jsxs("span",{className:`text-field__count caption-2${J?" text-field__count--over":""}`,children:[Z,"/",g]}),ie&&e.jsx(se,{size:24,type:"dot",icon:"x",variant:"transparent-gray",useBorder:!1,className:"text-field__clear",ariaLabel:F("textField.clearAriaLabel","\uC785\uB825\uAC12 \uC9C0\uC6B0\uAE30"),htmlType:"button",onMouseDown:Q=>{Q.preventDefault()},onClick:()=>i?.(""),tabIndex:-1}),S&&!ie&&e.jsx("span",{className:"text-field__icon text-field__icon--right",children:e.jsx(je,{icon:S,label:"",className:"",svgClassName:"text-field__icon-svg",size:ce})})]}),X&&M.open&&M.filtered.length>0&&e.jsx("ul",{id:M.listId,className:"text-field__suggestions",role:"listbox",children:M.filtered.map((Q,_e)=>e.jsx("li",{id:`${M.listId}-option-${_e}`,role:"option","aria-selected":_e===M.activeIdx,className:`text-field__suggestion body-2${_e===M.activeIdx?" is-active":""}`,onMouseDown:ye=>ye.preventDefault(),onClick:()=>{M.handleSelect(Q),G.current?.focus()},children:Q},`${Q}-${_e}`))}),(b||f)&&e.jsx("div",{className:"text-field__footer",children:e.jsx("span",{id:P,className:"text-field__helper caption-1",role:f?"alert":void 0,children:f||b})})]})}function Ft({options:t,value:n,onChange:a,placeholder:r,disabled:o=!1,block:i=!1,size:l=48,error:c=!1,className:d="",ariaLabel:u}){const{t:m}=pe.useTranslation(),p=r??m("dropdown.placeholder","\uC120\uD0DD"),h=s.useId(),f=s.useRef(null),b=s.useCallback(k=>{const D=window.innerHeight-k.bottom<260&&k.top>260;return{position:"fixed",left:k.left,minWidth:k.width,...D?{bottom:window.innerHeight-k.top+6}:{top:k.bottom+6},zIndex:9999}},[]),{open:g,setOpen:C,toggle:y,style:w,triggerRef:_,menuRef:v}=zn({computeStyle:b}),[T,x]=s.useState(-1),S=s.useCallback(()=>x(-1),[]),B=t.find(k=>k.value===n);s.useEffect(()=>{if(g){const k=t.findIndex(D=>D.value===n);x(k>=0?k:0),requestAnimationFrame(()=>{const D=v.current;if(!D)return;const L=D.querySelectorAll(".dropdown__option")[k];L&&(D.scrollTop=Math.max(0,L.offsetTop-D.clientHeight/2+L.clientHeight/2))})}},[g,t,n,v]);const N=s.useCallback(()=>{o||y()},[o,y]),E=s.useCallback(k=>{k.disabled||(a?.(k.value),C(!1))},[a,C]),H=s.useCallback(k=>{if(!o){if(!g){(k.key==="Enter"||k.key===" "||k.key==="ArrowDown")&&(k.preventDefault(),C(!0));return}if(k.key==="Escape"){k.preventDefault(),C(!1);return}k.key==="ArrowDown"?(k.preventDefault(),x(D=>{let L=D+1;for(;L<t.length&&t[L].disabled;)L++;return L<t.length?L:D})):k.key==="ArrowUp"?(k.preventDefault(),x(D=>{let L=D-1;for(;L>=0&&t[L].disabled;)L--;return L>=0?L:D})):k.key==="Enter"&&T>=0&&(k.preventDefault(),E(t[T]))}},[o,g,t,T,E,C]),j=g?e.jsx("div",{ref:v,id:h,className:"dropdown__menu",role:"listbox",style:w,onMouseLeave:S,children:t.map((k,D)=>e.jsxs("button",{id:`${h}-option-${D}`,type:"button",role:"option","aria-selected":k.value===n,className:fe("dropdown__option body-2",k.value===n?"dropdown__option--active":"",D===T?"dropdown__option--active":"",k.disabled?"dropdown__option--disabled":""),onMouseDown:L=>L.preventDefault(),onClick:()=>E(k),onMouseEnter:()=>x(D),disabled:k.disabled,children:[e.jsx("span",{className:"dropdown__option-check",children:k.value===n&&e.jsx("svg",{viewBox:"0 0 14 14",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:e.jsx("polyline",{points:"2 7 5.5 10.5 12 3.5"})})}),k.label]},k.value))}):null;return e.jsxs("div",{ref:f,className:fe("dropdown",`dropdown--s${l}`,g?"dropdown--open":"",i?"dropdown--block":"",c?"dropdown--error":"",d),onKeyDown:H,children:[e.jsxs("button",{ref:_,type:"button",className:"dropdown__trigger","aria-haspopup":"listbox","aria-expanded":g,"aria-controls":g?h:void 0,"aria-activedescendant":g&&T>=0?`${h}-option-${T}`:void 0,"aria-label":u,"aria-invalid":c||void 0,disabled:o,onClick:N,children:[e.jsx("span",{className:`dropdown__trigger-label body-2${B?"":" dropdown__trigger-label--placeholder"}`,children:B?B.label:p}),e.jsx("svg",{className:"dropdown__chevron",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:e.jsx("polyline",{points:"4 6 8 10 12 6"})})]}),typeof document<"u"&&Mt.createPortal(j,f.current?.closest(".ihabdevteam-core-scope")??document.body)]})}function sa({page:t,totalPages:n,onChange:a,prevLabel:r,nextLabel:o,className:i=""}){const{t:l}=pe.useTranslation(),c=r??l("common.prevPage","\uC774\uC804 \uD398\uC774\uC9C0"),d=o??l("common.nextPage","\uB2E4\uC74C \uD398\uC774\uC9C0"),u=()=>a(Math.max(1,t-1)),m=()=>a(Math.min(n,t+1));return e.jsxs("div",{className:fe("pagination",i),children:[e.jsx(se,{size:32,type:"dot",shape:"rounded",icon:"chevron-left",ariaLabel:c,disabled:t<=1,onClick:u}),e.jsxs("span",{className:"pagination__info body-3",children:[t," / ",n]}),e.jsx(se,{size:32,type:"dot",shape:"rounded",icon:"chevron-right",ariaLabel:d,disabled:t>=n,onClick:m})]})}function fn(t){const{t:n}=pe.useTranslation(),{options:a=[],value:r=a[0]?.key,onChange:o=p=>{},className:i="",size:l=48,shape:c="pill",useBG:d=!0,fullWidth:u=!1,ariaLabel:m}=t||{};return e.jsx("div",{className:fe("segmented-control",`segmented-control--${c}`,`segmented-control--${l}`,u&&"segmented-control--full",!d&&"segmented-control--no-bg",i),role:"radiogroup","aria-label":m??n("segmentedControl.ariaLabel","\uC120\uD0DD \uD0ED"),children:a.map(p=>e.jsx(se,{role:"radio","aria-checked":p.key===r,label:p.label,count:p.count,disabled:p.disabled,className:p.key===r?"is-selected":"",onClick:()=>{p.disabled||o(p.key)},size:l,shape:c,useBorder:!1,useBG:!1},p.key))})}function Wa({count:t,search:n,segment:a,filters:r,pageSize:o,pagination:i,actions:l,className:c}){const{t:d}=pe.useTranslation(),u=t!=null&&e.jsxs("p",{className:"toolbar__count body-1",children:[t.prefix??d("common.totalPrefix","\uCD1D "),e.jsx("span",{className:"toolbar__count-highlight",children:t.value}),t.unit,t.suffix]}),m=!!(n||r?.length||o||i||l);return e.jsxs("div",{className:fe("toolbar",c),children:[e.jsxs("div",{className:"toolbar__row",children:[u,a&&(Array.isArray(a)?a:[a]).map((p,h)=>e.jsx(fn,{size:40,...p},p.ariaLabel??h))]}),m&&e.jsx("div",{className:"toolbar__row",children:e.jsxs("div",{className:"toolbar__row-end",children:[n&&e.jsx(bn,{className:"toolbar__search",size:40,value:n.value,onChange:n.onChange,placeholder:n.placeholder??d("common.search","\uAC80\uC0C9"),ariaLabel:n.placeholder??d("common.search","\uAC80\uC0C9"),clearable:!0}),r?.map((p,h)=>e.jsx(Ft,{size:40,options:p.options,value:p.value,onChange:p.onChange,ariaLabel:p.ariaLabel},h)),o&&e.jsx(Ft,{size:40,options:o.options,value:o.value,onChange:o.onChange,ariaLabel:o.ariaLabel??d("common.pageSizeSelect","\uD398\uC774\uC9C0\uB2F9 \uD45C\uC2DC \uAC1C\uC218")}),i&&e.jsx(sa,{page:i.page,totalPages:i.total,onChange:i.onChange,prevLabel:i.prevLabel,nextLabel:i.nextLabel}),l]})})]})}function Ui(t){return typeof t=="string"?t:typeof t=="number"?String(t):Array.isArray(t)?t.map(Ui).join(""):""}function Nf(t){let n=t.replace(/\r\n/g,`
|
|
819
819
|
`).replace(/\r/g,`
|
|
820
820
|
`);n=n.replace(/^\n+/,"").replace(/\n+$/,"");const a=n.split(`
|
|
821
821
|
`).map(i=>i.replace(/\t/g," ")),r=a.filter(i=>i.trim().length>0),o=r.length>0?Math.min(...r.map(i=>i.match(/^ */)?.[0].length??0)):0;return a.map(i=>i.slice(o)).join(`
|