PageSourceSearch

https://subtext.site/chunk-ZQ7KA6DI.js

js subtext.site collected 2026-10-02 02:09:05 UTC 45,095 bytes, 2 lines download raw bytes

1import{e as Fe}from"./chunk-HRVTHKHJ.js";import{a as ke,b as Se,c as Te,d as Pe}from"./chunk-GD3FAGJI.js";import{b as ye,m as be,p as ve}from"./chunk-E6RS4YLJ.js";import{a as we}from"./chunk-TRDSMNHE.js";import{a as z}from"./chunk-K7XC6VDU.js";import{a as L,b as fe}from"./chunk-QXNBZKNN.js";import{a as Ce,b as ge}from"./chunk-J6S4FQTE.js";import"./chunk-JNV4UVJN.js";import{a as he}from"./chunk-SKZMXN6J.js";import{a as xe}from"./chunk-ZA2P4NW6.js";import{b as me}from"./chunk-QOCRSGEO.js";import{f as de}from"./chunk-ELE4FF6Y.js";import{a as ce,c as ue}from"./chunk-WKCSWF4J.js";import{e as se}from"./chunk-XCAQBVCC.js";import{a as _e}from"./chunk-DEJ63H6L.js";import{c as pe}from"./chunk-FCYE6DTJ.js";import{g as le}from"./chunk-G4EEWF3E.js";import"./chunk-2AGVBQDE.js";import"./chunk-EUY57IAI.js";import{Ca as O,Ea as U,Fa as Y,Fb as J,Ga as r,Gb as Z,Hb as W,Ib as ee,Ic as ae,Jb as F,Kb as S,Lb as s,M as $,Mb as _,Nb as E,Ob as te,Tb as ne,Ua as Q,Ub as ie,Vb as oe,Y as w,Za as H,_b as q,ba as m,ca as f,d as X,eb as k,fb as u,fc as re,ga as G,gb as p,hb as A,ib as R,jb as T,jc as K,kb as P,kc as h,lb as C,mb as l,nb as a,oa as x,ob as y,pc as N,qa as D,sb as j,tb as v,wb as b,yb as d}from"./chunk-3QWUI42W.js";import{a as I}from"./chunk-TV4BU7XC.js";var Le=["playerShell"],Ie=["formsScroller"],Ae=["formsTable"],De=n=>({$implicit:n}),He=(n,e)=>e.label;function Ne(n,e){if(n&1){let t=v();l(0,"button",22),b("click",function(){let o=m(t).$implicit,c=d(2);return f(c.jumpToCard(o))}),y(1,"span",23),l(2,"span",24),s(3),a()()}if(n&2){let t=e.$implicit,i=d(2);S(i.segmentClasses(t)),k("aria-label","Jump to card "+(t+1))("aria-current",t===i.studyIndex()?"true":null),r(),S(i.segmentInnerClasses(t)),ee("background-color",i.segmentBg(t)),r(2),_(t+1)}}function Ve(n,e){n&1&&y(0,"img",33),n&2&&C("src",e,O)}function Be(n,e){n&1&&j(0)}function $e(n,e){if(n&1&&H(0,Be,1,0,"ng-container",39),n&2){let t=d(2);d();let i=W(21);C("ngTemplateOutlet",i)("ngTemplateOutletContext",q(2,De,t))}}function Oe(n,e){if(n&1&&(l(0,"span"),s(1),a()),n&2){let t=d(4);S(e+" self-end"),r(),_(t.chipLabelTranslated())}}function Ue(n,e){n&1&&y(0,"span")}function Re(n,e){n&1&&(l(0,"p",38),s(1),a()),n&2&&(r(),E(" ",e," "))}function je(n,e){n&1&&y(0,"span")}function We(n,e){if(n&1&&(l(0,"div",31)(1,"div",32),u(2,Ve,1,1,"img",33),l(3,"span",34),s(4),a(),u(5,$e,1,4,"ng-container"),a(),y(6,"div")(7,"div"),a(),l(8,"div",35),u(9,Oe,2,3,"span",36)(10,Ue,1,0,"span"),l(11,"p",37),s(12),a(),u(13,Re,2,1,"p",38)(14,je,1,0,"span"),a()),n&2){let t,i,o,c=d(3);r(2),p((t=c.flagUrl(c.frontLang()))?2:-1,t),r(2),_(c.langName(c.frontLang())),r(),p(c.audioPlayable()?5:-1),r(4),p((i=c.chipClasses())?9:10,i),r(3),E(" ",c.frontText()," "),r(),p((o=c.frontExample())?13:14,o)}}function qe(n,e){n&1&&y(0,"img",33),n&2&&C("src",e,O)}function Ke(n,e){n&1&&j(0)}function ze(n,e){if(n&1&&H(0,Ke,1,0,"ng-container",39),n&2){let t=d(2);d();let i=W(21);C("ngTemplateOutlet",i)("ngTemplateOutletContext",q(2,De,t))}}function Xe(n,e){if(n&1&&(l(0,"span"),s(1),a()),n&2){let t=d(4);S(e+" self-end"),r(),_(t.chipLabelTranslated())}}function Ge(n,e){n&1&&y(0,"span")}function Ye(n,e){n&1&&(l(0,"p",41),s(1),a()),n&2&&(r(),E(" ",e," "))}function Qe(n,e){n&1&&y(0,"span")}function Je(n,e){if(n&1&&(l(0,"div",31)(1,"div",32),u(2,qe,1,1,"img",33),l(3,"span",34),s(4),a(),u(5,ze,1,4,"ng-container"),a(),l(6,"span",40),s(7),a(),y(8,"div"),a(),l(9,"div",35),u(10,Xe,2,3,"span",36)(11,Ge,1,0,"span"),l(12,"p",37),s(13),a(),u(14,Ye,2,1,"p",41)(15,Qe,1,0,"span"),a()),n&2){let t,i,o,c=d(3);r(2),p((t=c.flagUrl(c.backLang()))?2:-1,t),r(2),_(c.langName(c.backLang())),r(),p(c.audioPlayable()?5:-1),r(2),_(c.frontText()),r(3),p((i=c.chipClasses())?10:11,i),r(3),E(" ",c.backText()," "),r(),p((o=c.currentDefinition())?14:15,o)}}function Ze(n,e){if(n&1&&(l(0,"div",44)(1,"dt",45),s(2,"POS"),a(),l(3,"dd",46),s(4),a()()),n&2){let t=d(2);r(4),_(t.pos)}}function et(n,e){if(n&1&&(l(0,"div",44)(1,"dt",45),s(2,"Lemma"),a(),l(3,"dd",46),s(4),a()()),n&2){let t=d(2);r(4),_(t.lemma)}}function tt(n,e){if(n&1&&(l(0,"span",50),s(1),a()),n&2){let t=e.$implicit;C("title",t.title),r(),_(t.label)}}function nt(n,e){if(n&1&&(l(0,"div",47)(1,"dt",48),s(2,"Lang tags"),a(),l(3,"dd",49),T(4,tt,2,2,"span",50,He),a()()),n&2){let t=d();r(4),P(t)}}function it(n,e){n&1&&u(0,nt,6,0,"div",47),n&2&&p(e.length>0?0:-1)}function ot(n,e){if(n&1&&(l(0,"div",44)(1,"dt",45),s(2,"Literal"),a(),l(3,"dd",51),s(4),a()()),n&2){let t=d(2);r(4),_(t.literal)}}function rt(n,e){if(n&1&&(l(0,"div",44)(1,"dt",45),s(2,"In scene"),a(),l(3,"dd",46),s(4),a()()),n&2){let t=d(2);r(4),_(t.contextual)}}function at(n,e){if(n&1&&(l(0,"div",44)(1,"dt",45),s(2,"Example"),a(),l(3,"dd",46),s(4),a()()),n&2){let t=d(2);r(4),_(t.example)}}function lt(n,e){if(n&1&&(l(0,"div",44)(1,"dt",45),s(2,"Translation"),a(),l(3,"dd",52),s(4),a()()),n&2){let t=d(2);r(4),_(t.exampleTranslation)}}function st(n,e){if(n&1&&(l(0,"dl",42),u(1,Ze,5,1,"div",44),u(2,et,5,1,"div",44),u(3,it,1,1),u(4,ot,5,1,"div",44),u(5,rt,5,1,"div",44),u(6,at,5,1,"div",44),u(7,lt,5,1,"div",44),a()),n&2){let t,i=d(),o=d(3);r(),p(i.pos&&i.kind!=="word"?1:-1),r(),p(i.lemma&&i.kind!=="word"?2:-1),r(),p((t=o.currentLanguagePosChips())?3:-1,t),r(),p(i.literal?4:-1),r(),p(i.contextual?5:-1),r(),p(i.example?6:-1),r(),p(i.exampleTranslation?7:-1)}}function dt(n,e){if(n&1&&(l(0,"tr",58)(1,"td",59),s(2),a(),l(3,"td",60)(4,"div",61),s(5),a()(),l(6,"td",62),s(7),a(),l(8,"td",63),s(9),a(),l(10,"td",63),s(11),a()()),n&2){let t=e.$implicit;r(2),_(t.label),r(3),_(t.text),r(2),_(t.translation),r(),F("italic",t.exampleItalic),r(),_(t.exampleSource),r(2),_(t.exampleTranslation)}}function ct(n,e){if(n&1){let t=v();l(0,"div",55,2),b("click",function(o){return o.stopPropagation()})("wheel",function(o){m(t);let c=d(6);return f(c.scrollFormsWithWheel(o))})("pointerdown",function(o){m(t);let c=d(6);return f(c.beginFormsDrag(o))})("pointermove",function(o){m(t);let c=d(6);return f(c.continueFormsDrag(o))})("pointerup",function(o){m(t);let c=d(6);return f(c.endFormsDrag(o))})("pointercancel",function(o){m(t);let c=d(6);return f(c.endFormsDrag(o))}),l(2,"table",56,3)(4,"tbody",57),T(5,dt,12,7,"tr",58,A),a()()()}if(n&2){let t=d(2),i=d(4);F("cursor-grab",i.formsOverflowing()),r(5),P(t)}}function ut(n,e){if(n&1&&(l(0,"span",69),s(1),a()),n&2){let t=d().$implicit;r(),_(t.translation)}}function pt(n,e){if(n&1&&(l(0,"p",72),s(1),a()),n&2){let t=d().$implicit;F("italic",t.exampleItalic),r(),_(t.exampleSource)}}function _t(n,e){if(n&1&&(l(0,"p",71),s(1),a()),n&2){let t=d().$implicit;r(),_(t.exampleTranslation)}}
1function mt(n,e){if(n&1&&(l(0,"div",65)(1,"div",66)(2,"span",67),s(3),a(),l(4,"span",68),s(5),a(),u(6,ut,2,1,"span",69),a(),u(7,pt,2,3,"p",70),u(8,_t,2,1,"p",71),a()),n&2){let t=e.$implicit;r(3),_(t.label),r(2),_(t.text),r(),p(t.translation&&t.translation!=="\u2014"?6:-1),r(),p(t.exampleSource&&t.exampleSource!=="\u2014"?7:-1),r(),p(t.exampleTranslation&&t.exampleTranslation!=="\u2014"?8:-1)}}function ft(n,e){if(n&1&&(l(0,"dl",54)(1,"div",47)(2,"dt",48),s(3,"Forms"),a(),l(4,"dd",64),T(5,mt,9,5,"div",65,A),a()()()),n&2){let t=d(2);r(5),P(t)}}function ht(n,e){if(n&1&&u(0,ct,7,2,"div",53)(1,ft,7,0,"dl",54),n&2){let t=d(5);p(t.formsView()==="table"?0:1)}}function xt(n,e){if(n&1&&u(0,ht,2,1),n&2){let t=d(4);p(e.length>0&&t.showWordForms()?0:-1)}}function Ct(n,e){if(n&1&&(l(0,"span",74),s(1),a()),n&2){let t=d().$implicit;r(),_(t.text)}}function gt(n,e){if(n&1&&(l(0,"span",77),s(1),a()),n&2){d();let t=oe(0),i=d().$implicit,o=d(6);C("title",o.morphTooltipFor(i.morph)),r(),_(t)}}function yt(n,e){if(n&1&&(l(0,"span",78),s(1),a()),n&2){let t=d(2).$implicit,i=d(6);C("title",i.roleLabelFor(t.role)),r(),_(t.role)}}function bt(n,e){if(n&1&&(ne(0),l(1,"span",75)(2,"span",76),s(3),a(),u(4,gt,2,2,"span",77),u(5,yt,2,2,"span",78),a()),n&2){let t=d().$implicit,i=d(6),o=i.posColorsFor(t.pos),c=ie(i.morphShortLineFor(t.morph));r(2),S("inline-flex items-center rounded-md px-2 py-0.5 text-xs font-semibold "+o.bg+" "+o.text),C("title",i.tokenTooltip(t)),r(),_(t.text),r(),p(c?4:-1),r(),p(t.role?5:-1)}}function vt(n,e){if(n&1&&u(0,Ct,2,1,"span",74)(1,bt,6,7,"span",75),n&2){let t=e.$implicit,i=d(6);p(i.isPunctToken(t)?0:1)}}function wt(n,e){if(n&1&&(l(0,"div",73),T(1,vt,2,1,null,null,A),a()),n&2){let t=d();r(),P(t)}}function kt(n,e){if(n&1&&u(0,wt,3,0,"div",73),n&2){let t=d(4);p(e.length>0&&t.showPhraseTokens()?0:-1)}}function St(n,e){if(n&1){let t=v();l(0,"button",79),b("click",function(o){return m(t),d(4).toggleMore(),f(o.stopPropagation())}),y(1,"ng-icon",80),s(2," More "),a()}}function Tt(n,e){if(n&1&&(u(0,st,8,7,"dl",42),u(1,xt,1,1),u(2,kt,1,1),u(3,St,3,0,"button",43)),n&2){let t,i,o=d(3);p(o.showMore()&&o.currentHasExtras()?0:-1),r(),p((t=o.currentForms())?1:-1,t),r(),p((i=o.currentTokens())?2:-1,i),r(),p(o.showMoreButton()?3:-1)}}function Pt(n,e){if(n&1&&(l(0,"span",76),s(1),a()),n&2){let t=e.$implicit;S(t.class+" rounded-b-none text-[11.5px]"),C("title",t.title),r(),_(t.label)}}function Ft(n,e){if(n&1&&(l(0,"div",81),T(1,Pt,2,4,"span",82,A),a()),n&2){let t=d(4);r(),P(t.currentDictionChips())}}function Mt(n,e){if(n&1&&u(0,Ft,3,0,"div",81),n&2){let t=d(3);p(t.flipped()&&t.showBackDiction()||!t.flipped()&&(t.shiftHintActive()||t.hintShiftMode()==="always")?0:-1)}}function Et(n,e){if(n&1){let t=v();l(0,"div",10)(1,"button",25),b("click",function(){m(t);let o=d(2);return f(o.flip())}),u(2,We,15,6)(3,Je,16,7),l(4,"div",26),u(5,Tt,4,4),a(),u(6,Mt,1,1),a(),l(7,"button",27),b("click",function(){m(t);let o=d(2);return f(o.previousCard())}),a(),l(8,"button",28),b("click",function(){m(t);let o=d(2);return f(o.nextCard())}),a(),l(9,"button",29),b("click",function(){m(t);let o=d(2);return f(o.toggleLearned())}),y(10,"ng-icon",30),a()()}if(n&2){let t,i=e,o=d(2);r(),S(o.flipped()&&o.tintedBacks()?"bg-canvas-raised light:bg-[#faf4f4]":"bg-canvas-soft"),r(),p(o.flipped()?3:2),r(3),p((t=o.flipped()&&o.currentCard())?5:-1,t),r(),p(o.currentDictionChips().length>0?6:-1),r(),C("disabled",!o.hasPrev()),r(),C("disabled",!o.hasNext())("title",o.hasNext()?"Next":"No more cards"),k("aria-label",o.hasNext()?"Next card":"No more cards"),r(),F("punch--pressed",o.pressed()==="learned")("bg-emerald-500/65",i.learned)("hover:bg-emerald-500/80",i.learned)("text-white",i.learned)("bg-canvas-raised",!i.learned)("text-fg-muted",!i.learned)("hover:text-emerald-400",!i.learned)("light:hover:text-emerald-500/60",!i.learned)("ring-1",!i.learned)("ring-border",!i.learned)("hover:ring-emerald-400/70",!i.learned)("light:hover:ring-emerald-500/30",!i.learned),C("title",i.learned?"Learned (\u2191 to unmark)":"Mark learned (\u2191)"),k("aria-pressed",i.learned)("aria-label",i.learned?"Mark as unlearned":"Mark as learned")}}function Dt(n,e){if(n&1){let t=v();l(0,"button",85),b("click",function(){m(t);let o=d(3);return f(o.setFilterLearned("all"))}),l(1,"p",86),s(2,"None learned yet."),a()()}}function Lt(n,e){n&1&&s(0," All caught up! Every card in this deck is marked learned. ")}function It(n,e){n&1&&s(0," No cards in the deck. ")}function At(n,e){if(n&1&&(l(0,"div",84)(1,"p",86),u(2,Lt,1,0)(3,It,1,0),a()()),n&2){let t=d(3);r(2),p(t.filterLearned()==="unlearned"?2:3)}}function Ht(n,e){if(n&1&&u(0,Dt,3,0,"button",83)(1,At,4,1,"div",84),n&2){let t=d(2);p(t.filterLearned()==="learned"?0:1)}}function Nt(n,e){if(n&1){let t=v();l(0,"button",87),b("click",function(){m(t);let o=d(2);
1return f(o.hintButtonToggle())})("pointerdown",function(){m(t);let o=d(2);return f(o.hintButtonHoldStart())})("pointerup",function(){m(t);let o=d(2);return f(o.hintButtonHoldEnd())})("pointerleave",function(){m(t);let o=d(2);return f(o.hintButtonHoldEnd())})("pointercancel",function(){m(t);let o=d(2);return f(o.hintButtonHoldEnd())})("contextmenu",function(o){return o.preventDefault()}),y(1,"ng-icon",88),a()}if(n&2){let t=d(2);S(t.shiftHintActive()?"text-amber-300 light:text-amber-500":"text-fg-muted"),C("title",t.hintShiftMode()==="toggle"?t.shiftHintActive()?"Hints are on. Tap to hide them.":"Hints are off. Tap to show them.":"Hold to show hints"),k("aria-pressed",t.shiftHintActive())("aria-label",t.hintShiftMode()==="toggle"?t.shiftHintActive()?"Hide hints":"Show hints":"Hold to show hints"),r(),C("name",t.hintShiftMode()==="toggle"&&!t.shiftHintActive()?"lucideLightbulbOff":"lucideLightbulb")}}function Vt(n,e){n&1&&(s(0," \xB7 "),l(1,"kbd",90),s(2,"A"),a(),s(3," audio "))}function Bt(n,e){if(n&1&&(s(0," \xB7 "),l(1,"kbd",90),s(2,"F"),a(),s(3)),n&2){let t=d(3);r(3),E(" ",t.currentHasForms()?"forms":"tokens"," ")}}function $t(n,e){n&1&&(s(0," \xB7 "),l(1,"kbd",90),s(2,"D"),a(),s(3," diction "))}function Ot(n,e){n&1&&(l(0,"kbd",90),s(1,"1"),a(),s(2,"/"),l(3,"kbd",90),s(4,"2"),a(),s(5," table/blocks \xB7 "))}function Ut(n,e){n&1&&(s(0," \xB7 "),l(1,"kbd",90),s(2,"Shift"),a(),s(3," hint "))}function Rt(n,e){if(n&1){let t=v();l(0,"div",13)(1,"p",89)(2,"kbd",90),s(3,"Space"),a(),s(4," flip \xB7 "),l(5,"kbd",90),s(6,"\u2193"),a(),s(7," more/less \xB7 "),l(8,"kbd",90),s(9,"\u2191"),a(),s(10," learned "),u(11,Vt,4,0),u(12,Bt,4,1),u(13,$t,4,0),a(),l(14,"p",89),u(15,Ot,6,0),l(16,"kbd",90),s(17,"C"),a(),s(18," colors \xB7 "),l(19,"kbd",90),s(20,"S"),a(),s(21," save side \xB7 "),l(22,"kbd",90),s(23,"T"),a(),s(24," tint side "),a(),l(25,"p",89)(26,"kbd",90),s(27,"R"),a(),l(28,"button",91),b("click",function(){m(t);let o=d(2);return f(o.toggleShuffle())}),y(29,"ng-icon",92),a(),u(30,Ut,4,0),s(31," \xB7 "),l(32,"kbd",90),s(33,"H"),a(),s(34," hide legend "),a()()}if(n&2){let t=d(2);r(11),p(t.audioAvailable()?11:-1),r(),p(t.currentHasBreakdown()?12:-1),r(),p(t.currentHasDiction()?13:-1),r(2),p(t.currentHasForms()&&t.showWordForms()?15:-1),r(13),C("title",t.isShuffled()?"Shuffle is on. Click for sequential order (R).":"Sequential order. Click to shuffle (R)."),k("aria-label",t.isShuffled()?"Switch to sequential order":"Switch to shuffle order"),r(),C("name",t.isShuffled()?"lucideShuffle":"lucideRepeat"),r(),p(t.currentHasDiction()?30:-1)}}function jt(n,e){if(n&1){let t=v();l(0,"button",93),b("click",function(){let o=m(t).$implicit,c=d(2);return f(c.setFilterLearned(o))}),s(1),a()}if(n&2){let t=e.$implicit,i=d(2);
1S(i.filterLearned()===t?"tap-target inline-flex h-10 items-center justify-center rounded bg-canvas-raised px-3 py-1 text-sm font-medium text-fg focus:outline-none":"tap-target inline-flex h-10 items-center justify-center rounded px-3 py-1 text-sm font-medium text-fg-muted hover:text-fg focus:outline-none"),k("aria-selected",i.filterLearned()===t),r(),E(" ",i.filterLearnedLabel(t)," ")}}function Wt(n,e){if(n&1){let t=v();l(0,"button",94),b("click",function(){m(t);let o=d(2);return f(o.playCurrentAudio())}),y(1,"ng-icon",95),a()}if(n&2){let t=d(2);F("fkey--pressed",t.pressed()==="audio"||t.playingAudio())}}function qt(n,e){if(n&1){let t=v();l(0,"span",96),b("click",function(o){return m(t),d(2).playAudioOrTts(),f(o.stopPropagation())})("keydown.enter",function(o){return m(t),d(2).playAudioOrTts(),o.stopPropagation(),f(o.preventDefault())})("keydown.space",function(o){return m(t),d(2).playAudioOrTts(),o.stopPropagation(),f(o.preventDefault())}),y(1,"ng-icon",92),a()}if(n&2){let t=e.$implicit,i=d(2);F("punch--pressed",i.pressed()==="audio"||i.playingAudio()),C("title",t.audioUrl?"Play your recording (A)":"Play pronunciation (A)"),k("aria-label",t.audioUrl?"Play your recording":"Play pronunciation"),r(),C("name",t.audioUrl?"lucideSpeech":"lucideVolume2")}}function Kt(n,e){if(n&1){let t=v();l(0,"div",6)(1,"div",7),T(2,Ne,4,9,"button",8,R),a(),l(4,"span",9),s(5),a()(),u(6,Et,11,36,"div",10)(7,Ht,2,1),l(8,"div",11),u(9,Nt,2,6,"button",12),u(10,Rt,35,8,"div",13),l(11,"div",14)(12,"button",15),b("click",function(){m(t);let o=d();return f(o.toggleFullscreen())}),y(13,"ng-icon",16),a(),l(14,"div",17),T(15,jt,2,4,"button",18,R),a(),u(17,Wt,2,2,"button",19),l(18,"button",20),b("click",function(){m(t);let o=d();return f(o.exit())}),y(19,"ng-icon",21),a()()(),H(20,qt,2,5,"ng-template",null,1,re)}if(n&2){let t,i=d();r(),k("aria-valuenow",i.visibleItems().length>0?i.studyIndex()+1:0)("aria-valuemin",1)("aria-valuemax",i.visibleItems().length)("aria-label","Card "+(i.visibleItems().length>0?i.studyIndex()+1:0)+" of "+i.visibleItems().length),r(),P(i.cardIndices()),r(3),te(" ",i.visibleItems().length>0?i.studyIndex()+1:0," / ",i.visibleItems().length," "),r(),p((t=i.currentCard())?6:7,t),r(3),p(i.hintShiftMode()!=="always"&&i.currentHasDiction()?9:-1),r(),p(i.showShortcutHints()?10:-1),r(2),C("title",i.focusMode()?"Exit fullscreen":"Enter fullscreen"),k("aria-label",i.focusMode()?"Exit fullscreen":"Enter fullscreen"),r(),C("name",i.focusMode()?"lucideMinimize2":"lucideMaximize2"),r(2),P(i.filterLearnedChips),r(2),p(i.audioAvailable()?17:-1)}}function zt(n){switch(n){case"idiom":return"bg-amber-500";case"phrasal_verb":return"bg-blue-500";case"collocation":return"bg-cyan-500";case"fixed_expression":return"bg-indigo-500";case"saying":return"bg-orange-500";case"discourse_marker":return"bg-teal-500";case"slang_expression":return"bg-pink-500";case"formulaic_expression":return"bg-violet-500";default:return"bg-amber-500"}}function Xt(n){switch(n){case"idiom":return"idiom";case"phrasal_verb":return"phrasal verb";case"collocation":return"collocation";case"fixed_expression":return"fixed";case"saying":return"saying";case"discourse_marker":return"discourse marker";case"slang_expression":return"slang";case"formulaic_expression":return"formulaic";default:return"expression"}}var V=["hue","kind","subtype"],Me=class n{router=w(le);lookupsService=w(xe);phrasesService=w(we);expressionsService=w(he);tts=w(Ce);playCooldown=w(ge);transloco=w(de);configService=w(Fe);document=w(G);playerShell=N("playerShell");formsScroller=N("formsScroller");formsTable=N("formsTable");translationEvent=se(this.transloco.events$,{initialValue:void 0});persistConfig$=new X;persistConfigSub=this.persistConfig$.pipe($(e=>this.configService.get().pipe($(t=>this.configService.put(I(I({},t),e)))))).subscribe({error:()=>{}});items=x([]);sequentialItems=x([]);orderMode=x("sequential");isShuffled=h(()=>this.orderMode()==="random");direction=x("source_to_meaning");audioMode=x("manual");tintedBacks=x(!0);studyIndex=x(0);flipped=x(!1);showMore=x(!1);seenCards=x(new Set);formsView=x("table");showWordForms=x(!1);showPhraseTokens=x(!1);progressColorMode=x("hue");showShortcutHints=x(!0);keepSide=x(!1);showBackDiction=x(!1);hintShiftMode=x("modifier");exitUrl="/app/flashcards";shiftHintActive=x(!1);shiftDownArmed=!1;shiftUsedAsModifier=!1;filterLearned=x("all");filterLearnedChips=["all","unlearned","learned"];filterLearnedLabel(e){return this.translationEvent(),this.transloco.translate(`ui.lookup.learned_filter.${e}`)}playingAudio=x(!1);focusMode=x(!1);
1formsOverflowing=x(!1);nativeFullscreenActive=!1;pressed=x(null);pressTimer=null;audioEl=null;formsScrollDrag=null;visibleItems=h(()=>{let e=this.items(),t=this.filterLearned();return t==="all"?e:t==="learned"?e.filter(i=>i.learned):e.filter(i=>!i.learned)});currentCard=h(()=>{let e=this.visibleItems(),t=this.studyIndex();return t<e.length?e[t]:null});currentHasExtras=h(()=>{let e=this.currentCard();return e?!!(e.pos||e.lemma||e.literal||e.contextual||e.example||e.exampleTranslation||this.currentLanguagePosChips().length>0):!1});currentHasForms=h(()=>this.currentForms().length>0);currentTokens=h(()=>{let e=this.currentCard();return!e||e.kind!=="phrase"||!e.tokens?[]:Pe(e.tokens,e.sourceText??"")});currentHasTokens=h(()=>this.currentTokens().length>0);currentHasBreakdown=h(()=>{let e=this.currentCard();return e?e.kind==="word"?this.currentHasForms():e.kind==="phrase"?this.currentHasTokens():!1:!1});showMoreButton=h(()=>!(!this.currentHasExtras()||this.showMore()||this.showWordForms()&&this.currentHasForms()||this.showPhraseTokens()&&this.currentHasTokens()));currentLanguagePosChips=h(()=>{let e=this.currentCard();return!e||e.kind!=="word"?[]:ve(e.languagePos??null,null,e.pos??null,t=>this.translatedLabel(t))});currentForms=h(()=>{let e=this.currentCard();if(!e||e.kind!=="word"||!e.forms||e.forms.length===0)return[];let t=e.forms,i=g=>this.translatedLabel(g),o=ue(e.sourceLang),c=[];for(let g of t){let M=(g.text??"").trim();if(!M)continue;let B=g.example?.source??null;c.push({label:be(g,i,t),text:M,translation:(g.translation??"").trim()||"\u2014",exampleSource:ye(B,e.sourceLang),exampleTranslation:(g.example?.translation??"").trim()||"\u2014",exampleItalic:!!B&&o})}return c});currentDictionChips=h(()=>{let e=this.currentCard();if(!e)return[];let t=o=>this.translatedLabel(o),i=[];for(let o of e.register??[])i.push({class:"meta-chip meta-chip-register",label:t("register."+o),title:t("registerHelp."+o)});for(let o of e.domain??[])i.push({class:"meta-chip meta-chip-domain",label:t("domain."+o),title:t("domainHelp."+o)});e.frequency&&i.push({class:"meta-chip meta-chip-frequency",label:t("frequency."+e.frequency),title:t("frequencyHelp."+e.frequency)});for(let o of e.intent??[])i.push({class:"meta-chip meta-chip-intent",label:t("intent."+o),title:t("intentHelp."+o)});return i});currentHasDiction=h(()=>this.currentDictionChips().length>0);hasPrev=h(()=>this.studyIndex()>0);hasNext=h(()=>this.studyIndex()<this.visibleItems().length-1);cardIndices=h(()=>Array.from({length:this.visibleItems().length},(e,t)=>t));frontExample=h(()=>{let e=this.currentCard();return e?this.direction()==="meaning_to_source"?e.exampleTranslation??null:e.example??null:null});currentDefinition=h(()=>this.currentCard()?.definition??null);frontText=h(()=>{let e=this.currentCard();return e?this.direction()==="meaning_to_source"?e.meaningText:e.sourceText:""});backText=h(()=>{let e=this.currentCard();return e?this.direction()==="meaning_to_source"?e.sourceText:e.meaningText:""});frontLang=h(()=>{let e=this.currentCard();return e?this.direction()==="meaning_to_source"?e.explanationLang:e.sourceLang:""});backLang=h(()=>{let e=this.currentCard();return e?this.direction()==="meaning_to_source"?e.sourceLang:e.explanationLang:""});chipClasses(){let e=this.currentCard();if(!e?.chipKind||!e?.chipLabel)return"";if(e.chipKind==="pos"){let t=z(e.chipLabel);return`inline-flex shrink-0 items-center px-2 py-0.5 rounded-full text-xs font-medium ${t.bg} ${t.text} ring-1 ${t.ring}`}return e.chipKind==="phrase"?"inline-flex shrink-0 items-center px-2 py-0.5 rounded-full text-xs font-medium bg-canvas text-fg-muted ring-1 ring-border":`inline-flex shrink-0 items-center px-2 py-0.5 rounded-full text-xs font-medium text-white ${zt(e.chipLabel)}`}chipLabelTranslated(){let e=this.currentCard();return!e?.chipKind||!e?.chipLabel?"":e.chipKind==="pos"?this.translatedLabel("pos."+e.chipLabel,e.chipLabel):e.chipKind==="phrase"?"phrase":Xt(e.chipLabel)}audioAvailable=h(()=>!!(this.currentCard()?.audioUrl&&this.audioMode()!=="off"));audioPlayable=h(()=>this.audioMode()!=="off");lastCurrentCard=null;constructor(){D(e=>{if(!this.focusMode())return;let t=this.document.body.style.overflow;this.document.body.style.overflow="hidden",e(()=>{this.document.body.style.overflow=t})}),D(e=>{let t=this.formsScroller()?.nativeElement,i=this.formsTable()?.nativeElement;if(!t){this.formsOverflowing.set(!1);return}let o=()=>{this.formsOverflowing.set(t.scrollWidth>t.clientWidth+1)};if(o(),typeof ResizeObserver>"u")return;let c=new ResizeObserver(o);c.observe(t),i&&c.observe(i),e(()=>c.disconnect())}),D(()=>{this.currentCard(),this.stopAudio()}),D(()=>{let e=this.visibleItems(),t=this.lastCurrentCard;if(t&&e.length>0){let c=e.indexOf(t);if(c>=0){let g=K(()=>this.studyIndex());c!==g&&this.studyIndex.set(c);return}}let i=e.length;if(i===0)return;K(()=>this.studyIndex())>=i&&this.studyIndex.set(i-1)}),D(()=>{let e=this.currentCard();e&&(this.lastCurrentCard=e)})}ngOnInit(){let e=history.state??{};if(!e.items||e.items.length===0){this.router.navigate(["/app/flashcards"]);return}if(this.sequentialItems.set(e.items),e.orderMode==="random"){let i=[...e.items];Ee(i),this.items.set(i),this.orderMode.set("random")}else this.items.set(e.items),this.orderMode.set("sequential");let t=this.visibleItems()[0];this.seenCards.set(t?new Set([t]):new Set),e.direction&&this.direction.set(e.direction),e.audioMode&&this.audioMode.set(e.audioMode),typeof e.tintedBacks=="boolean"&&this.tintedBacks.set(e.tintedBacks),typeof e.showMore=="boolean"&&this.showMore.set(e.showMore),(e.formsView==="table"||e.formsView==="blocks")&&this.formsView.set(e.formsView),typeof e.showWordForms=="boolean"&&this.showWordForms.set(e.showWordForms),typeof e.showPhraseTokens=="boolean"&&this.showPhraseTokens.set(e.showPhraseTokens),e.progressColorMode&&V.includes(e.progressColorMode)&&this.progressColorMode.set(e.progressColorMode),typeof e.showShortcutHints=="boolean"&&this.showShortcutHints.set(e.showShortcutHints),typeof e.keepSide=="boolean"&&this.keepSide.set(e.keepSide),(e.filterLearned==="all"||e.filterLearned==="unlearned"||e.filterLearned==="learned")&&this.filterLearned.set(e.filterLearned),typeof e.showBackDiction=="boolean"&&this.showBackDiction.set(e.showBackDiction),(e.hintShiftMode==="modifier"||e.hintShiftMode==="toggle"||e.hintShiftMode==="always")&&this.hintShiftMode.set(e.hintShiftMode),typeof e.exitUrl=="string"&&e.exitUrl.startsWith("/")&&(this.exitUrl=e.exitUrl)}ngOnDestroy(){this.stopAudio(),this.pressTimer&&clearTimeout(this.pressTimer),this.persist
1ConfigSub.unsubscribe(),this.persistConfig$.complete()}flip(){this.flipped.update(e=>!e)}scrollFormsWithWheel(e){let t=e.currentTarget;if(t.scrollWidth<=t.clientWidth)return;let i=Math.abs(e.deltaX)>Math.abs(e.deltaY)?e.deltaX:e.shiftKey?e.deltaY:0;i!==0&&(t.scrollLeft+=i,e.preventDefault(),e.stopPropagation())}beginFormsDrag(e){if(e.pointerType==="touch"||e.button!==0&&e.button!==1)return;let t=e.currentTarget;t.scrollWidth<=t.clientWidth||(this.formsScrollDrag={element:t,pointerId:e.pointerId,startX:e.clientX,startScrollLeft:t.scrollLeft},t.setPointerCapture(e.pointerId),t.classList.add("cursor-grabbing"),e.preventDefault(),e.stopPropagation())}continueFormsDrag(e){let t=this.formsScrollDrag;!t||t.pointerId!==e.pointerId||(t.element.scrollLeft=t.startScrollLeft-(e.clientX-t.startX),e.preventDefault(),e.stopPropagation())}endFormsDrag(e){let t=this.formsScrollDrag;!t||t.pointerId!==e.pointerId||(t.element.classList.remove("cursor-grabbing"),t.element.hasPointerCapture(e.pointerId)&&t.element.releasePointerCapture(e.pointerId),this.formsScrollDrag=null,e.preventDefault(),e.stopPropagation())}nextCard(){this.hasNext()&&(this.studyIndex.update(e=>e+1),this.markCurrentSeen(),this.keepSide()||this.flipped.set(!1))}previousCard(){this.hasPrev()&&(this.studyIndex.update(e=>e-1),this.markCurrentSeen(),this.keepSide()||this.flipped.set(!1))}markCurrentSeen(){let e=this.currentCard();!e||this.seenCards().has(e)||this.seenCards.update(t=>{let i=new Set(t);return i.add(e),i})}segmentBg(e){let t=this.visibleItems()[e],i=this.studyIndex(),o=e===i,c=!o&&t!=null&&this.seenCards().has(t);if(this.progressColorMode()==="hue"){let g=this.visibleItems().length;return`hsl(${g<=1?30:30+e/(g-1)*180} ${c?60:45}% 55% / ${c?.55:o?.75:.22})`}return t?this.cardHex(t,this.progressColorMode())+"ff":"transparent"}segmentClasses(e){return"h-3 flex-1 min-w-[2px] cursor-pointer flex items-center justify-center transition-[filter] hover:brightness-110 relative focus:outline-none focus-visible:outline-none"}segmentInnerClasses(e){let t=this.visibleItems()[e],i=this.studyIndex(),o=e===i,c=!o&&t!=null&&this.seenCards().has(t);return this.progressColorMode()!=="hue"&&c?"block w-2.5 h-2.5 rounded-full":o?"block w-full h-3 rounded-sm":"block w-full h-2.5 rounded-sm"}cardHex(e,t){if(t==="kind")return L[e.kind]??L.expression;if(e.kind==="word"){let i=(e.pos??"").toLowerCase().trim().split(/\s+/)[0]??"";return fe[i]??L.word}return e.kind==="expression"?me[e.chipLabel??""]??L.expression:L.phrase}jumpToCard(e){e<0||e>=this.visibleItems().length||e===this.studyIndex()||(this.studyIndex.set(e),this.markCurrentSeen(),this.keepSide()||this.flipped.set(!1))}toggleMore(){this.showMore.update(e=>!e),this.persistConfig$.next({showMore:this.showMore()})}setFormsView(e){this.formsView()!==e&&(this.formsView.set(e),this.persistConfig$.next({formsView:e}))}toggleShuffle(){if(this.orderMode()==="sequential"){let c=[...this.sequentialItems()];Ee(c),this.items.set(c),this.orderMode.set("random"),this.lastCurrentCard=this.visibleItems()[0]??null,this.studyIndex.set(0),this.markCurrentSeen(),this.flipped.set(!1),this.persistConfig$.next({orderMode:"random"});return}let e=this.sequentialItems();this.items.set(e),this.orderMode.set("sequential");let t=this.visibleItems(),i=this.seenCards(),o=t.findIndex(c=>!i.has(c));if(o<0){let c=this.lastCurrentCard;o=c?t.indexOf(c):0,o<0&&(o=0)}this.lastCurrentCard=t[o]??null,this.studyIndex.set(o),this.markCurrentSeen(),this.flipped.set(!1),this.persistConfig$.next({orderMode:"sequential"})}toggleShortcutHints(){this.showShortcutHints.update(e=>!e),this.persistConfig$.next({showShortcutHints:this.showShortcutHints()})}toggleKeepSide(){this.keepSide.update(e=>!e),this.persistConfig$.next({keepSide:this.keepSide()})}toggleBackDiction(){this.showBackDiction.update(e=>!e),this.persistConfig$.next({showBackDiction:this.showBackDiction()})}toggleTintedBacks(){this.tintedBacks.update(e=>!e),this.persistConfig$.next({tintedBacks:this.tintedBacks()})}setFilterLearned(e){this.filterLearned()!==e&&(this.filterLearned.set(e),this.persistConfig$.next({filterLearned:e}))}cycleProgressColorMode(){let e=this.progressColorMode(),t=V.indexOf(e),i=V[(t+1)%V.length];
1this.progressColorMode.set(i),this.persistConfig$.next({progressColorMode:i})}progressColorModeLabel=h(()=>{switch(this.progressColorMode()){case"hue":return"Hue position";case"kind":return"By kind";case"subtype":return"By subtype"}});posLabelFor(e){let t=(e??"").trim();return t?this.translatedLabel("pos."+t,t):"\u2014"}posColorsFor(e){return z(e??"")}isPunctToken(e){return Te(e)}tokenTooltip(e){let t=this.posLabelFor(e.pos);return e.gloss?`${t}: ${e.gloss}`:t}morphShortLineFor(e){return ke(e)}morphTooltipFor(e){return Se(e,t=>this.translatedLabel(t))}roleLabelFor(e){let t=(e??"").trim();return t?this.translatedLabel("role."+t,t):""}translatedLabel(e,t){this.translationEvent();let i=this.transloco.translate(e);return i&&i!==e?i:t??e.split(".").pop()??e}toggleBreakdown(){let e=this.currentCard();e&&(e.kind==="word"?(this.showWordForms.update(t=>!t),this.persistConfig$.next({showWordForms:this.showWordForms()})):e.kind==="phrase"&&(this.showPhraseTokens.update(t=>!t),this.persistConfig$.next({showPhraseTokens:this.showPhraseTokens()})))}exit(){this.stopAudio();let e=()=>{this.router.navigateByUrl(this.exitUrl)};if(this.focusMode()){this.leaveFocusMode().finally(e);return}e()}async toggleFullscreen(){if(this.focusMode()){await this.leaveFocusMode();return}this.focusMode.set(!0);let e=this.playerShell()?.nativeElement;if(e?.requestFullscreen)try{await e.requestFullscreen(),this.nativeFullscreenActive=!0}catch{}}onFullscreenChange(){let e=this.playerShell()?.nativeElement;if(e&&this.document.fullscreenElement===e){this.nativeFullscreenActive=!0,this.focusMode.set(!0);return}this.nativeFullscreenActive&&(this.nativeFullscreenActive=!1,this.focusMode.set(!1))}async leaveFocusMode(){let e=this.playerShell()?.nativeElement;if(this.focusMode.set(!1),this.nativeFullscreenActive=!1,e&&this.document.fullscreenElement===e&&this.document.exitFullscreen)try{await this.document.exitFullscreen()}catch{}}toggleLearned(){let e=this.currentCard();if(!e)return;let t=!e.learned;this.patchCard(e.id,e.senseIndex,{learned:t}),this.persistLearned(e,t).subscribe({error:()=>this.patchCard(e.id,e.senseIndex,{learned:e.learned})})}persistLearned(e,t){switch(e.kind){case"word":return this.lookupsService.setSenseLearned(e.id,e.senseIndex,t);case"phrase":return this.phrasesService.setSenseLearned(e.id,e.senseIndex,t);case"expression":return this.expressionsService.setSenseLearned(e.id,e.senseIndex,t)}}patchCard(e,t,i){this.items.update(o=>o.map(c=>c.id===e&&c.senseIndex===t?I(I({},c),i):c))}playAudioOrTts(){let e=this.currentCard();if(!e||this.audioMode()==="off"||!this.playCooldown.tryReserve())return;if(e.audioUrl){this.playAudio(e.audioUrl);return}let t=e.sourceText?.trim(),i=e.sourceLang?.trim().toLowerCase();!t||!i||!/^[a-z]{2,3}$/.test(i)||(this.playingAudio.set(!0),this.tts.resolveAudio(i,t).subscribe({next:o=>{if(!o||o.size===0){this.playingAudio.set(!1);return}let c=URL.createObjectURL(o);this.stopAudio();let g=new Audio(c);this.audioEl=g;let M=()=>{URL.revokeObjectURL(c),this.playingAudio.set(!1),this.audioEl=null};g.addEventListener("ended",M),g.addEventListener("error",M),g.play().catch(M)},error:()=>this.playingAudio.set(!1)}))}playCurrentAudio(){let e=this.currentCard();e?.audioUrl&&this.playAudio(e.audioUrl)}playAudio(e){this.stopAudio();let t=new Audio(e);this.audioEl=t,this.playingAudio.set(!0);let i=()=>{this.playingAudio.set(!1),this.audioEl===t&&(this.audioEl=null)};t.addEventListener("ended",i),t.addEventListener("error",i),t.play().catch(i)}stopAudio(){if(this.audioEl){try{this.audioEl.pause()}catch{}this.audioEl=null,this.playingAudio.set(!1)}}onKeydown(e){let t=e.target;if(!(t&&(t.tagName==="INPUT"||t.tagName==="TEXTAREA"||t.isContentEditable))&&!(e.ctrlKey||e.metaKey||e.altKey)){if(e.key==="Shift"){e.repeat||this.handleShiftDown();return}if(this.shiftDownArmed&&(this.shiftUsedAsModifier=!0),!(e.repeat&&e.key!=="ArrowLeft"&&e.key!=="ArrowRight"))switch(e.key){case" ":case"Spacebar":e.preventDefault(),this.pulse("flip"),this.flip();return;case"ArrowRight":e.preventDefault(),this.nextCard();return;case"ArrowLeft":e.preventDefault(),this.previousCard();return;case"ArrowDown":if(!this.flipped()||!this.currentHasExtras())return;e.preventDefault(),this.pulse("more"),this.toggleMore();return;case"1":if(!this.flipped()||this.currentForms().length===0)return;e.preventDefault(),this.setFormsView("table");return;case"2":if(!this.flipped()||this.currentForms().length===0)return;e.preventDefault(),this.setFormsView("blocks");return;case"f":case"F":if(!this.flipped()||!this.currentHasBreakdown())return;e.preventDefault(),this.toggleBreakdown();return;case"ArrowUp":e.preventDefault(),this.pressTimer&&(clearTimeout(this.pressTimer),this.pressTimer=null),this.pressed.set("learned"),this.toggleLearned();return;case"Escape":if(e.preventDefault(),this.focusMode()){this.leaveFocusMode();return}this.exit();return;case"a":case"A":if(!this.audioPlayable())return;e.preventDefault(),this.pulse("audio"),this.playAudioOrTts();return;case"r":case"R":e.preventDefault(),this.toggleShuffle();return;case"c":case"C":e.preventDefault(),this.cycleProgressColorMode();return;case"h":case"H":e.preventDefault(),this.toggleShortcutHints();return;case"s":case"S":e.preventDefault(),this.toggleKeepSide();return;case"d":case"D":e.preventDefault(),this.toggleBackDiction();return;case"t":case"T":e.preventDefault(),this.toggleTintedBacks();return}}}handleShiftDown(){this.shiftDownArmed=!0,this.shiftUsedAsModifier=!1,this.hintShiftMode()==="modifier"&&this.shiftHintActive.set(!0)}handleShiftUp(){this.hintShiftMode()==="modifier"?this.shiftHintActive.set(!1):this.shiftDownArmed&&!this.shiftUsedAsModifier&&this.shiftHintActive.update(t=>!t),this.shiftDownArmed=!1,this.shiftUsedAsModifier=!1}
1hintButtonToggle(){this.hintShiftMode()==="toggle"&&this.shiftHintActive.update(e=>!e)}hintButtonHoldStart(){this.hintShiftMode()==="modifier"&&this.shiftHintActive.set(!0)}hintButtonHoldEnd(){this.hintShiftMode()==="modifier"&&this.shiftHintActive.set(!1)}onKeyup(e){if(e.key==="Shift"){this.handleShiftUp();return}e.key==="ArrowUp"&&this.pressed()==="learned"&&this.pressed.set(null)}pulse(e){this.pressed.set(e),this.pressTimer&&clearTimeout(this.pressTimer),this.pressTimer=setTimeout(()=>this.pressed.set(null),120)}resolveLang(e){let t=e?.trim();if(!t)return;let i=t.toLowerCase();return ce.find(o=>o.code===i||o.name.toLowerCase()===i)}flagUrl(e){if(!e)return null;let t=this.resolveLang(e);return t?`/flags/${t.country}.svg`:null}langName(e){return e?this.resolveLang(e)?.name??e:""}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=Q({type:n,selectors:[["app-flashcard-player"]],viewQuery:function(t,i){t&1&&J(i.playerShell,Le,5)(i.formsScroller,Ie,5)(i.formsTable,Ae,5),t&2&&Z(3)},hostBindings:function(t,i){t&1&&b("keydown",function(c){return i.onKeydown(c)},U)("keyup",function(c){return i.onKeyup(c)},U)("fullscreenchange",function(){return i.onFullscreenChange()},Y)},decls:4,vars:3,consts:[["playerShell",""],["audioBtn",""],["formsScroller",""],["formsTable",""],[1,"flashcard-player-shell","min-h-[calc(100vh-3rem)]","flex","items-center","justify-center","px-4","py-8","md:px-8","md:py-10"],[1,"w-full","max-w-5xl"],[1,"mb-3","flex","items-center","gap-1.5"],["role","progressbar",1,"flex-1","flex","items-center","gap-0.5"],["type","button",1,"group","before:absolute","before:inset-x-0","before:-inset-y-3","before:content-['']",3,"class"],[1,"text-xs","text-fg-muted","tabular-nums","shrink-0"],[1,"relative"],[1,"mt-4","flex","items-start","justify-between","gap-2"],["type","button",1,"tap-target","self-center","touch-none","select-none","inline-flex","items-center","justify-center","rounded-md",3,"class","title"],[1,"hidden","select-none","space-y-0.5","sm:block","touch:hidden"],[1,"ml-auto","flex","flex-wrap","items-center","justify-end","gap-2"],["type","button",1,"tap-target","inline-flex","size-10","shrink-0","items-center","justify-center","rounded-md","text-fg-muted","hover:bg-canvas-soft","hover:text-fg","focus-visible:outline-none","focus-visible:ring-2","focus-visible:ring-accent",3,"click","title"],["aria-hidden","true",1,"text-lg",3,"name"],["role","tablist","aria-label","Filter by learned state",1,"inline-flex","rounded-md","bg-canvas-soft"],["type","button","role","tab",3,"class"],["type","button","aria-label","Play recording","title","Play recording (A)",1,"tap-target","fkey",3,"fkey--pressed"],["type","button","aria-label","Exit study","title","Exit study (Esc)",1,"tap-target","inline-flex","size-10","shrink-0","items-center","justify-center","rounded-md","text-fg-muted","hover:bg-canvas-soft","hover:text-fg","focus-visible:outline-none","focus-visible:ring-2","focus-visible:ring-accent",3,"click"],["name","lucideX","aria-hidden","true",1,"text-lg"],["type","button",1,"group","before:absolute","before:inset-x-0","before:-inset-y-3","before:content-['']",3,"click"],["aria-hidden","true"],["aria-hidden","true",1,"pointer-events-none","absolute","bottom-full","left-1/2","-translate-x-1/2","mb-1.5","text-fg","text-xs","font-medium","leading-none","whitespace-nowrap","opacity-0","group-hover:opacity-100","group-focus-visible:opacity-100","transition-opacity","z-10"],["type","button",1,"relative","flex","flex-col","w-full","min-h-[clamp(220px,35dvh,280px)]","rounded-xl","overflow-hidden","p-6","pb-9","text-left","transition-colors","focus:outline-none",3,"click"],[1,"shrink-0","min-h-6","space-y-3"],["type","button","aria-label","Previous card","title","Previous",1,"absolute","top-0","left-0","h-full","w-1/6","z-10","cursor-pointer","disabled:cursor-default","focus:outline-none",3,"click","disabled"],["type","button",1,"absolute","top-0","right-0","h-full","w-1/6","z-10","cursor-pointer","disabled:cursor-default","focus:outline-none",3,"click","disabled","title"],["type","button",1,"tap-target","punch","absolute","top-3","right-3","z-20","flex-shrink-0","inline-flex","items-center","justify-center","w-6","h-6","rounded-full","transition-colors","focus:outline-none",3,"click","title"],["name","lucideCheck","aria-hidden","true",1,"text-xs"],[1,"grid","grid-cols-[minmax(0,1fr)_auto_minmax(0,1fr)]","items-center","gap-2","min-h-6","text-xs","text-fg-muted","shrink-0"],[1,"flex","items-center","gap-2","min-w-0"],["appLockedImg","",1,"w-5","h-3.5","object-contain","rounded-[1.5px]",3,"src","alt"],[1,"truncate"],[1,"flex-1","grid","grid-rows-[1fr_auto_1fr]","items-center","justify-items-center","gap-3","py-6"],[3,"class"],[1,"text-3xl","font-semibold","text-fg","whitespace-pre-line","break-words","text-center","self-center"],[1,"text-base","italic","text-fg-muted","whitespace-pre-line","break-words","text-center","max-w-prose","self-start"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"truncate","text-center","text-base","text-fg-muted/80","italic","px-0.5"],[1,"text-base","text-fg-muted/80","whitespace-pre-line","break-words","text-center","max-w-prose","self-start"],[1,"space-y-2","text-sm"],["type","button",1,"tap-target","inline-flex","items-center","gap-1","text-xs","font-medium","text-fg-muted","hover:text-fg"],[1,"flex","gap-2"],[1,"w-24","shrink-0","text-xs","uppercase","tracking-wider","text-fg-muted"],[1,"text-fg"],[1,"flex","gap-2","items-start"],[1,"w-24","shrink-0","pt-0.5","text-xs","uppercase","tracking-wider","text-fg-muted"],[1,"flex","flex-wrap","gap-1"],[1,"inline-flex","items-center","rounded-md","bg-canvas","px-1.5","py-0.5","text-[10px]","font-medium","tracking-wider","text-fg-muted","ring-1","ring-border",3,"title"],[1,"text-fg","italic"],[1,"text-fg-muted","italic"],[1,"n
1o-scrollbar","relative","max-w-full","overflow-x-auto","overscroll-x-contain","touch-pan-x",3,"cursor-grab"],[1,"text-sm"],[1,"no-scrollbar","relative","max-w-full","overflow-x-auto","overscroll-x-contain","touch-pan-x",3,"click","wheel","pointerdown","pointermove","pointerup","pointercancel"],[1,"min-w-max","w-full","text-xs"],[1,"divide-y","divide-border/30"],[1,"hover:bg-canvas-raised/30"],[1,"pr-3","py-2","align-top","text-fg-subtle","font-medium","whitespace-nowrap"],[1,"px-3","py-2","align-top","whitespace-nowrap"],[1,"font-semibold","text-fg"],[1,"px-3","py-2","align-top","text-fg","whitespace-nowrap"],[1,"px-3","py-2","align-top","text-fg-muted"],[1,"flex-1","min-w-0","space-y-3"],[1,"space-y-0.5"],[1,"flex","items-baseline","gap-3","flex-wrap"],[1,"text-[10px]","uppercase","tracking-wider","text-fg-muted","shrink-0"],[1,"text-fg","font-medium"],[1,"text-xs","text-fg-muted"],[1,"text-xs","text-fg","pl-2","border-l-2","border-border/40",3,"italic"],[1,"text-xs","italic","text-fg-muted","pl-2","border-l-2","border-border/40"],[1,"text-xs","text-fg","pl-2","border-l-2","border-border/40"],[1,"flex","flex-wrap","justify-center","items-start","gap-x-1","gap-y-2"],[1,"-ml-1","text-sm","font-medium","text-fg"],[1,"inline-flex","flex-col","items-center","gap-0.5"],[3,"title"],[1,"text-[10px]","leading-tight","text-fg-subtle",3,"title"],[1,"text-[10px]","leading-tight","font-medium","text-fg-muted",3,"title"],["type","button",1,"tap-target","inline-flex","items-center","gap-1","text-xs","font-medium","text-fg-muted","hover:text-fg",3,"click"],["name","lucideChevronRight","aria-hidden","true",1,"text-xs"],[1,"absolute","left-0","right-0","bottom-0","flex","justify-center","gap-1.5","px-3","pointer-events-none"],[3,"title","class"],["type","button","title","Switch filter to Any",1,"flex","flex-col","items-center","justify-center","w-full","min-h-[clamp(220px,35dvh,280px)]","rounded-xl","p-8","bg-canvas-soft","text-center","cursor-pointer","hover:bg-canvas-raised","transition-colors","focus:outline-none"],[1,"flex","flex-col","items-center","justify-center","w-full","min-h-[clamp(220px,35dvh,280px)]","rounded-xl","p-8","bg-canvas-soft","text-center"],["type","button","title","Switch filter to Any",1,"flex","flex-col","items-center","justify-center","w-full","min-h-[clamp(220px,35dvh,280px)]","rounded-xl","p-8","bg-canvas-soft","text-center","cursor-pointer","hover:bg-canvas-raised","transition-colors","focus:outline-none",3,"click"],[1,"text-base","font-medium","text-fg-muted"],["type","button",1,"tap-target","self-center","touch-none","select-none","inline-flex","items-center","justify-center","rounded-md",3,"click","pointerdown","pointerup","pointerleave","pointercancel","contextmenu","title"],["aria-hidden","true",1,"text-base",3,"name"],[1,"text-xs","text-fg-subtle"],[1,"kbd-inline"],["type","button",1,"inline-flex","items-center","justify-center","align-middle","ml-1","w-4","h-4","shrink-0","cursor-pointer","focus:outline-none",3,"click","title"],["aria-hidden","true",1,"text-xs",3,"name"],["type","button","role","tab",3,"click"],["type","button","aria-label","Play recording","title","Play recording (A)",1,"tap-target","fkey",3,"click"],["name","lucideVolume2","aria-hidden","true",1,"text-base"],["role","button","tabindex","0",1,"tap-target","punch","relative","z-20","inline-flex","items-center","justify-center","w-5","h-5","rounded-full","text-fg-muted","hover:text-sky-400","light:hover:text-sky-700","opacity-60","hover:opacity-100","focus-visible:opacity-100","transition-[opacity,color,box-shadow,filter,transform]","focus:outline-none","cursor-pointer",3,"click","keydown.enter","keydown.space","title"]],template:function(t,i){t&1&&(l(0,"div",4,0)(2,"div",5),u(3,Kt,22,13),a()()),t&2&&(F("flashcard-player-shell--focus",i.focusMode()),r(3),p(i.items().length>0?3:-1))},dependencies:[pe,_e,ae],encapsulation:2,changeDetection:0})};function Ee(n){for(let e=n.length-1;e>0;e--){let t=Math.floor(Math.random()*(e+1));[n[e],n[t]]=[n[t],n[e]]}}export{Me as FlashcardPlayer};
2/**i18n:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855*/

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.