@vue-skuilder/platform-ui 0.2.27 → 0.2.28
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/assets/{About-BwZepkSu.js → About-Cr-gVLN3.js} +2 -2
- package/dist/assets/{About-BwZepkSu.js.map → About-Cr-gVLN3.js.map} +1 -1
- package/dist/assets/AdminDashboard-Tu5cntiN.js +2 -0
- package/dist/assets/AdminDashboard-Tu5cntiN.js.map +1 -0
- package/dist/assets/AdminDashboard-fWfBatiA.css +1 -0
- package/dist/assets/AdminLearner-DKV-rmzE.js +2 -0
- package/dist/assets/AdminLearner-DKV-rmzE.js.map +1 -0
- package/dist/assets/{ClassroomCtrlPanel-BXa2InOS.js → ClassroomCtrlPanel-BlIKf9Ec.js} +2 -2
- package/dist/assets/{ClassroomCtrlPanel-BXa2InOS.js.map → ClassroomCtrlPanel-BlIKf9Ec.js.map} +1 -1
- package/dist/assets/{Classrooms-RBQL8it0.js → Classrooms-CUHpCVyZ.js} +3 -3
- package/dist/assets/{Classrooms-RBQL8it0.js.map → Classrooms-CUHpCVyZ.js.map} +1 -1
- package/dist/assets/CourseRouter-CmWQVX3p.js +7 -0
- package/dist/assets/{CourseRouter-CRYYJcwq.js.map → CourseRouter-CmWQVX3p.js.map} +1 -1
- package/dist/assets/CourseWare-BTFRjgBR-DCGIN7hI.js +3 -0
- package/dist/assets/{CourseWare-BTFRjgBR-fJXdIFUp.js.map → CourseWare-BTFRjgBR-DCGIN7hI.js.map} +1 -1
- package/dist/assets/{Courses-BxuNznL1.js → Courses-D4v2o2EL.js} +3 -3
- package/dist/assets/{Courses-BxuNznL1.js.map → Courses-D4v2o2EL.js.map} +1 -1
- package/dist/assets/{EloModeration-D3WYWr7A.js → EloModeration-BVRrWLlD.js} +2 -2
- package/dist/assets/{EloModeration-D3WYWr7A.js.map → EloModeration-BVRrWLlD.js.map} +1 -1
- package/dist/assets/{JoinCode-D4Svx2AZ.js → JoinCode-tyMSgQmu.js} +2 -2
- package/dist/assets/{JoinCode-D4Svx2AZ.js.map → JoinCode-tyMSgQmu.js.map} +1 -1
- package/dist/assets/{NewCourseDialog-eMM_zeNc.js → NewCourseDialog-CskVoqOS.js} +2 -2
- package/dist/assets/{NewCourseDialog-eMM_zeNc.js.map → NewCourseDialog-CskVoqOS.js.map} +1 -1
- package/dist/assets/{ReleaseNotes-B7DliPZd.js → ReleaseNotes-DeNVWB2D.js} +2 -2
- package/dist/assets/{ReleaseNotes-B7DliPZd.js.map → ReleaseNotes-DeNVWB2D.js.map} +1 -1
- package/dist/assets/{RequestPasswordReset-CX9buoN1.js → RequestPasswordReset-8ekUShJq.js} +2 -2
- package/dist/assets/{RequestPasswordReset-CX9buoN1.js.map → RequestPasswordReset-8ekUShJq.js.map} +1 -1
- package/dist/assets/{ResetPassword-54t3uwpt.js → ResetPassword-CZVPnMM4.js} +2 -2
- package/dist/assets/{ResetPassword-54t3uwpt.js.map → ResetPassword-CZVPnMM4.js.map} +1 -1
- package/dist/assets/Study-BdxV-Ilv.js +2 -0
- package/dist/assets/{Study-1bB9HH5I.js.map → Study-BdxV-Ilv.js.map} +1 -1
- package/dist/assets/{TagInformation-DfisiYQj.js → TagInformation-DYyYbYmu.js} +2 -2
- package/dist/assets/{TagInformation-DfisiYQj.js.map → TagInformation-DYyYbYmu.js.map} +1 -1
- package/dist/assets/{User-TVn_VW8y.js → User-dB5PO1RG.js} +3 -3
- package/dist/assets/{User-TVn_VW8y.js.map → User-dB5PO1RG.js.map} +1 -1
- package/dist/assets/{UserStats-BOS3nRFB.js → UserStats-uVV3CIXd.js} +2 -2
- package/dist/assets/{UserStats-BOS3nRFB.js.map → UserStats-uVV3CIXd.js.map} +1 -1
- package/dist/assets/{VerifyEmail-DnC6Lcu-.js → VerifyEmail-Dlm91Y-S.js} +2 -2
- package/dist/assets/{VerifyEmail-DnC6Lcu-.js.map → VerifyEmail-Dlm91Y-S.js.map} +1 -1
- package/dist/assets/admin-BNR4JZ2X.js +4 -0
- package/dist/assets/admin-BNR4JZ2X.js.map +1 -0
- package/dist/assets/admin-D-L0jR6i.css +1 -0
- package/dist/assets/{chess-E2uOAyQS-Bq2eA-0f.js → chess-E2uOAyQS-CyL0N9F7.js} +3 -3
- package/dist/assets/{chess-E2uOAyQS-Bq2eA-0f.js.map → chess-E2uOAyQS-CyL0N9F7.js.map} +1 -1
- package/dist/assets/chess-Lfm7Fsvs-CGl6HDqe.js +1 -0
- package/dist/assets/common-ui.es-DFOzc2ze.js +38 -0
- package/dist/assets/common-ui.es-DFOzc2ze.js.map +1 -0
- package/dist/assets/common-ui.es-e3Go1Szv.js +1 -0
- package/dist/assets/dist-BtPAFjJU.js +1 -0
- package/dist/assets/{dist-B1rlsz-O.js → dist-DDw00TzX.js} +6 -6
- package/dist/assets/dist-DDw00TzX.js.map +1 -0
- package/dist/assets/{dist-Bs_ymDcS.js → dist-DQUROFxW.js} +4 -4
- package/dist/assets/{dist-Bs_ymDcS.js.map → dist-DQUROFxW.js.map} +1 -1
- package/dist/assets/dist-DXykAjYp.js +1 -0
- package/dist/assets/edit-ui.es-BUTgY-3X.js +1 -0
- package/dist/assets/edit-ui.es-w6kgjkws.js +36 -0
- package/dist/assets/{edit-ui.es-BYkRhLNm.js.map → edit-ui.es-w6kgjkws.js.map} +1 -1
- package/dist/assets/{french-Dk7YG8Td-idvPJOyv.js → french-Dk7YG8Td-Cg49rQNc.js} +2 -2
- package/dist/assets/{french-Dk7YG8Td-idvPJOyv.js.map → french-Dk7YG8Td-Cg49rQNc.js.map} +1 -1
- package/dist/assets/french-evUMlbbq-eazzEipj.js +1 -0
- package/dist/assets/index-oJ86i_Jb.js +4 -0
- package/dist/assets/index-oJ86i_Jb.js.map +1 -0
- package/dist/assets/{math-B4HbgYf6-DlDwrhG3.js → math-B4HbgYf6-F4RSa_qw.js} +6 -6
- package/dist/assets/{math-B4HbgYf6-DlDwrhG3.js.map → math-B4HbgYf6-F4RSa_qw.js.map} +1 -1
- package/dist/assets/math-DYni7rRl-B9M881Tg.js +1 -0
- package/dist/assets/piano-BN5Btq91-BRTyPgQM.js +1 -0
- package/dist/assets/piano-DF1g6yaX-CBHsd-Bx.js +2 -0
- package/dist/assets/{piano-DF1g6yaX-Bz3YzlGc.js.map → piano-DF1g6yaX-CBHsd-Bx.js.map} +1 -1
- package/dist/assets/{pitch-CgGJFkZ1-jTBbu2PH.js → pitch-CgGJFkZ1-mnBGefMf.js} +2 -2
- package/dist/assets/{pitch-CgGJFkZ1-jTBbu2PH.js.map → pitch-CgGJFkZ1-mnBGefMf.js.map} +1 -1
- package/dist/assets/pitch-Dn0iNqiS-B8AXyb7U.js +1 -0
- package/dist/assets/{server-CngqYJXJ.js → server-DRRLfaGM.js} +2 -2
- package/dist/assets/{server-CngqYJXJ.js.map → server-DRRLfaGM.js.map} +1 -1
- package/dist/assets/{sightsing-BFQ7HRig-TY63jvHz.js → sightsing-BFQ7HRig-BJLyffo9.js} +3 -3
- package/dist/assets/{sightsing-BFQ7HRig-TY63jvHz.js.map → sightsing-BFQ7HRig-BJLyffo9.js.map} +1 -1
- package/dist/assets/sightsing-CJX3k0Fd-CUYD16hW.js +1 -0
- package/dist/assets/{typing-BevtfWlp-WuHuczGo.js → typing-BevtfWlp-BhybW0tx.js} +2 -2
- package/dist/assets/{typing-BevtfWlp-WuHuczGo.js.map → typing-BevtfWlp-BhybW0tx.js.map} +1 -1
- package/dist/assets/typing-k-ojjO7G-DxqrbEGQ.js +1 -0
- package/dist/assets/vue-router-CDq4a4rc.js +2 -0
- package/dist/assets/vue-router-CDq4a4rc.js.map +1 -0
- package/dist/assets/{word-work-BOnRlZgd-BVbBvXQS.js → word-work-BOnRlZgd-BpNUJRLI.js} +2 -2
- package/dist/assets/{word-work-BOnRlZgd-BVbBvXQS.js.map → word-work-BOnRlZgd-BpNUJRLI.js.map} +1 -1
- package/dist/assets/word-work-Dd6tIKrt-B18ud_iH.js +1 -0
- package/dist/assets/{workbox-window.prod.es5-DBwpKi3B.js → workbox-window.prod.es5-r2bRTooK.js} +1 -1
- package/dist/assets/{workbox-window.prod.es5-DBwpKi3B.js.map → workbox-window.prod.es5-r2bRTooK.js.map} +1 -1
- package/dist/index.html +4 -3
- package/dist/sw.js +1 -1
- package/dist/sw.js.map +1 -1
- package/package.json +7 -7
- package/src/router.ts +8 -0
- package/src/views/AdminDashboard.vue +79 -19
- package/src/views/AdminLearner.vue +108 -0
- package/dist/assets/AdminDashboard-CIcq497y.js +0 -2
- package/dist/assets/AdminDashboard-CIcq497y.js.map +0 -1
- package/dist/assets/AdminDashboard-CWnC_vEI.css +0 -1
- package/dist/assets/CourseRouter-CRYYJcwq.js +0 -7
- package/dist/assets/CourseWare-BTFRjgBR-fJXdIFUp.js +0 -3
- package/dist/assets/Study-1bB9HH5I.js +0 -2
- package/dist/assets/chess-Lfm7Fsvs-DS5rTsA2.js +0 -1
- package/dist/assets/common-ui.es-CN0Lc64m.js +0 -38
- package/dist/assets/common-ui.es-CN0Lc64m.js.map +0 -1
- package/dist/assets/common-ui.es-fu0mNnpY.js +0 -1
- package/dist/assets/dist-B1rlsz-O.js.map +0 -1
- package/dist/assets/dist-DZiBPA0D.js +0 -1
- package/dist/assets/dist-dMwpP4kc.js +0 -1
- package/dist/assets/edit-ui.es-BYkRhLNm.js +0 -36
- package/dist/assets/edit-ui.es-DLN3acd3.js +0 -1
- package/dist/assets/french-evUMlbbq-DxNOW4TY.js +0 -1
- package/dist/assets/index-CF5bC3bl.js +0 -4
- package/dist/assets/index-CF5bC3bl.js.map +0 -1
- package/dist/assets/math-DYni7rRl-BuP4-lli.js +0 -1
- package/dist/assets/piano-BN5Btq91-BtifFdAn.js +0 -1
- package/dist/assets/piano-DF1g6yaX-Bz3YzlGc.js +0 -2
- package/dist/assets/pitch-Dn0iNqiS-CDhseaCp.js +0 -1
- package/dist/assets/sightsing-CJX3k0Fd-RHUC0Qrm.js +0 -1
- package/dist/assets/typing-k-ojjO7G-3h2XW_H1.js +0 -1
- package/dist/assets/word-work-Dd6tIKrt-Jn9YNKpa.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./vue.runtime.esm-bundler-C3q8JS9f.js";import"./dist-l4NOxAbA.js";import"./MarkdownRenderer-kStoDRNE-HDBFbDeD.js";import"./dist-DDw00TzX.js";import"./common-ui.es-DFOzc2ze.js";import"./CourseWare-BTFRjgBR-DCGIN7hI.js";import{t as e}from"./sightsing-BFQ7HRig-BJLyffo9.js";export{e as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"./chunk-D6hFPZc3.js";import{B as e,H as t,T as n,Vt as r,_ as i,b as a,f as o,g as s,lt as c,y as l,z as u}from"./vue.runtime.esm-bundler-C3q8JS9f.js";import{
|
|
2
|
-
//# sourceMappingURL=typing-BevtfWlp-
|
|
1
|
+
import"./chunk-D6hFPZc3.js";import{B as e,H as t,T as n,Vt as r,_ as i,b as a,f as o,g as s,lt as c,y as l,z as u}from"./vue.runtime.esm-bundler-C3q8JS9f.js";import{C as d,E as f,b as p,n as m}from"./dist-l4NOxAbA.js";import{S as h,x as g}from"./MarkdownRenderer-kStoDRNE-HDBFbDeD.js";import{h as _}from"./common-ui.es-DFOzc2ze.js";import{n as v,t as y,u as b}from"./CourseWare-BTFRjgBR-DCGIN7hI.js";var x,S,C=n({name:`LetterQuestionView`,props:{data:{type:Array,required:!0},modifyDifficulty:{type:Number,required:!1,default:0}},setup(t,{emit:n}){let r=h(t,n,`LetterQuestionView`),i=g(r),a=c(null);i.question.value=new D(t.data);let o=s(()=>i.question.value),handleKeyPress=e=>{if(!o.value)return;let t=e.key.toLowerCase(),n=o.value.letter.toLowerCase();if(t===n){a.value?.classList.add(`pressed`);let handleKeyUp=e=>{e.key.toLowerCase()===n&&(a.value?.classList.remove(`pressed`),i.submitAnswer(t),window.removeEventListener(`keyup`,handleKeyUp))};window.addEventListener(`keyup`,handleKeyUp)}else i.submitAnswer(t)};return u(()=>{window.addEventListener(`keypress`,handleKeyPress)}),e(()=>{window.removeEventListener(`keypress`,handleKeyPress)}),{...i,...r,letterDisplay:a,question:o}}}),w={"data-viewable":`LetterQuestionView`};function _sfc_render(e,n,s,c,u,d){return t(),a(`div`,w,[e.question?(t(),a(o,{key:0},[n[0]||(n[0]=i(`p`,{class:`text-h5`},`Type this letter!`,-1)),i(`div`,{ref:`letterDisplay`,class:`letter-display`},r(e.question.letter),513)],64)):l(``,!0)])}var T=y(C,[[`render`,_sfc_render],[`__scopeId`,`data-v-4ae4db54`]]),E=b(function(){let e=[];for(let t=0;t<26;t++)e.push({letter:String.fromCharCode(65+t)});return e},`data`),D=(x=class TypeLetterQuestion extends _{constructor(e){var _super=(...e)=>(super(...e),p(this,`letter`,void 0),this);_super(e),this.letter=e[0].letter}evaluate(e,t){return{isCorrect:this.isCorrect(e),performance:this.displayedSkill(e,t)}}displayedSkill(e,t){if(this.isCorrect(e)){if(t<3e3)return 1;{let e=1-(t-3e3)/7e3*.75;return Math.max(.25,e)}}return 0}dataShapes(){return TypeLetterQuestion.dataShapes}views(){return TypeLetterQuestion.views}isCorrect(e){let t=e.toLowerCase()===this.letter.toLowerCase();return console.log(`singleLetter Q isCorrect: ${t}`),t}},p(x,`dataShapes`,[{name:m.TYPING_singleLetter,fields:[{name:`letter`,type:d.STRING,validator:{instructions:`Enter a single letter`,test:function(e){return!e||e.length!==1||!/[a-zA-Z]/.test(e)?{status:f.error,msg:`Input must be a single letter`}:{status:f.ok,msg:``}}}}]}]),p(x,`views`,[T]),p(x,`acceptsUserData`,!0),p(x,`seedData`,E()),x),data=function(){return[{gameLength:30,initialSpeed:2,acceleration:.1,spawnInterval:1}]},O=new v(`typing`,[D,(S=class FallingLettersQuestion extends _{constructor(e){var _super2=(...e)=>(super(...e),p(this,`gameLength`,void 0),p(this,`initialSpeed`,void 0),p(this,`acceleration`,void 0),p(this,`spawnInterval`,void 0),this);_super2(e),this.gameLength=e[0].gameLength,this.initialSpeed=e[0].initialSpeed,this.acceleration=e[0].acceleration,this.spawnInterval=e[0].spawnInterval}evaluate(e){return{isCorrect:this.isCorrect(e),performance:this.displayedSkill(e)}}displayedSkill(e){return e.win?1:e.percentage}dataShapes(){return FallingLettersQuestion.dataShapes}views(){return FallingLettersQuestion.views}isCorrect(e){return e.win}},p(S,`dataShapes`,[{name:m.TYPING_fallingLetters,fields:[{name:`gameLength`,type:d.NUMBER},{name:`initialSpeed`,type:d.NUMBER},{name:`acceleration`,type:d.NUMBER},{name:`spawnInterval`,type:d.NUMBER,validator:{instructions:`How often should a new letter spawn? (in seconds)`,test:e=>typeof e==`string`?parseFloat(e)>0?{status:f.ok,msg:``}:{status:f.error,msg:`Must be greater than 0`}:{status:f.error,msg:`Unexpected non-string input.`},placeholder:`1`}}]}]),p(S,`views`,[]),p(S,`acceptsUserData`,!0),p(S,`seedData`,data()),S)]);export{O as t};
|
|
2
|
+
//# sourceMappingURL=typing-BevtfWlp-BhybW0tx.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typing-BevtfWlp-
|
|
1
|
+
{"version":3,"file":"typing-BevtfWlp-BhybW0tx.js","names":["c","g","h","f","i","l","u","d","o","r","s","p","a","t","e","m","_","v","y","n"],"sources":["../../../courseware/dist/typing-BevtfWlp.js"],"sourcesContent":["import { r as e } from \"./shapes-BQUVJdp5.js\";\nimport { r as t, t as n } from \"./CourseWare-BTFRjgBR.js\";\nimport { Fragment as r, computed as i, createCommentVNode as a, createElementBlock as o, createElementVNode as s, defineComponent as c, onMounted as l, onUnmounted as u, openBlock as d, ref as f, toDisplayString as p } from \"vue\";\nimport { Question as m, useQuestionView as h, useViewable as g } from \"@vue-skuilder/common-ui\";\nimport { DataShapeName as _, FieldType as v, Status as y } from \"@vue-skuilder/common\";\nimport './assets/typing.css';//#region src/typing/questions/single-letter/typeSingleLetter.vue?vue&type=script&lang.ts\nvar b = c({\n\tname: \"LetterQuestionView\",\n\tprops: {\n\t\tdata: {\n\t\t\ttype: Array,\n\t\t\trequired: !0\n\t\t},\n\t\tmodifyDifficulty: {\n\t\t\ttype: Number,\n\t\t\trequired: !1,\n\t\t\tdefault: 0\n\t\t}\n\t},\n\tsetup(e, { emit: t }) {\n\t\tlet n = g(e, t, \"LetterQuestionView\"), r = h(n), a = f(null);\n\t\tr.question.value = new w(e.data);\n\t\tlet o = i(() => r.question.value), handleKeyPress = (e) => {\n\t\t\tif (!o.value) return;\n\t\t\tlet t = e.key.toLowerCase(), n = o.value.letter.toLowerCase();\n\t\t\tif (t === n) {\n\t\t\t\ta.value?.classList.add(\"pressed\");\n\t\t\t\tlet handleKeyUp = (e) => {\n\t\t\t\t\te.key.toLowerCase() === n && (a.value?.classList.remove(\"pressed\"), r.submitAnswer(t), window.removeEventListener(\"keyup\", handleKeyUp));\n\t\t\t\t};\n\t\t\t\twindow.addEventListener(\"keyup\", handleKeyUp);\n\t\t\t} else r.submitAnswer(t);\n\t\t};\n\t\treturn l(() => {\n\t\t\twindow.addEventListener(\"keypress\", handleKeyPress);\n\t\t}), u(() => {\n\t\t\twindow.removeEventListener(\"keypress\", handleKeyPress);\n\t\t}), {\n\t\t\t...r,\n\t\t\t...n,\n\t\t\tletterDisplay: a,\n\t\t\tquestion: o\n\t\t};\n\t}\n}), x = { \"data-viewable\": \"LetterQuestionView\" };\nfunction _sfc_render(e, t, n, i, c, l) {\n\treturn d(), o(\"div\", x, [e.question ? (d(), o(r, { key: 0 }, [t[0] ||= s(\"p\", { class: \"text-h5\" }, \"Type this letter!\", -1), s(\"div\", {\n\t\tref: \"letterDisplay\",\n\t\tclass: \"letter-display\"\n\t}, p(e.question.letter), 513)], 64)) : a(\"\", !0)]);\n}\nvar S = /* @__PURE__ */ t(b, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-4ae4db54\"]]), C = /* @__PURE__ */ e(function() {\n\tlet e = [];\n\tfor (let t = 0; t < 26; t++) e.push({ letter: String.fromCharCode(65 + t) });\n\treturn e;\n}, \"data\"), w = class TypeLetterQuestion extends m {\n\tstatic dataShapes = [{\n\t\tname: _.TYPING_singleLetter,\n\t\tfields: [{\n\t\t\tname: \"letter\",\n\t\t\ttype: v.STRING,\n\t\t\tvalidator: {\n\t\t\t\tinstructions: \"Enter a single letter\",\n\t\t\t\ttest: function(e) {\n\t\t\t\t\treturn !e || e.length !== 1 || !/[a-zA-Z]/.test(e) ? {\n\t\t\t\t\t\tstatus: y.error,\n\t\t\t\t\t\tmsg: \"Input must be a single letter\"\n\t\t\t\t\t} : {\n\t\t\t\t\t\tstatus: y.ok,\n\t\t\t\t\t\tmsg: \"\"\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\t\t}]\n\t}];\n\tstatic views = [S];\n\tstatic acceptsUserData = !0;\n\tletter;\n\tstatic seedData = C();\n\tconstructor(e) {\n\t\tsuper(e), this.letter = e[0].letter;\n\t}\n\tevaluate(e, t) {\n\t\treturn {\n\t\t\tisCorrect: this.isCorrect(e),\n\t\t\tperformance: this.displayedSkill(e, t)\n\t\t};\n\t}\n\tdisplayedSkill(e, t) {\n\t\tif (this.isCorrect(e)) {\n\t\t\tif (t < 3e3) return 1;\n\t\t\t{\n\t\t\t\tlet e = 1 - (t - 3e3) / 7e3 * .75;\n\t\t\t\treturn Math.max(.25, e);\n\t\t\t}\n\t\t}\n\t\treturn 0;\n\t}\n\tdataShapes() {\n\t\treturn TypeLetterQuestion.dataShapes;\n\t}\n\tviews() {\n\t\treturn TypeLetterQuestion.views;\n\t}\n\tisCorrect(e) {\n\t\tlet t = e.toLowerCase() === this.letter.toLowerCase();\n\t\treturn console.log(`singleLetter Q isCorrect: ${t}`), t;\n\t}\n}, data = function() {\n\treturn [{\n\t\tgameLength: 30,\n\t\tinitialSpeed: 2,\n\t\tacceleration: .1,\n\t\tspawnInterval: 1\n\t}];\n}, T = new n(\"typing\", [w, class FallingLettersQuestion extends m {\n\tstatic dataShapes = [{\n\t\tname: _.TYPING_fallingLetters,\n\t\tfields: [\n\t\t\t{\n\t\t\t\tname: \"gameLength\",\n\t\t\t\ttype: v.NUMBER\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"initialSpeed\",\n\t\t\t\ttype: v.NUMBER\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"acceleration\",\n\t\t\t\ttype: v.NUMBER\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"spawnInterval\",\n\t\t\t\ttype: v.NUMBER,\n\t\t\t\tvalidator: {\n\t\t\t\t\tinstructions: \"How often should a new letter spawn? (in seconds)\",\n\t\t\t\t\ttest: (e) => typeof e == \"string\" ? parseFloat(e) > 0 ? {\n\t\t\t\t\t\tstatus: y.ok,\n\t\t\t\t\t\tmsg: \"\"\n\t\t\t\t\t} : {\n\t\t\t\t\t\tstatus: y.error,\n\t\t\t\t\t\tmsg: \"Must be greater than 0\"\n\t\t\t\t\t} : {\n\t\t\t\t\t\tstatus: y.error,\n\t\t\t\t\t\tmsg: \"Unexpected non-string input.\"\n\t\t\t\t\t},\n\t\t\t\t\tplaceholder: \"1\"\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t}];\n\tstatic views = [];\n\tstatic acceptsUserData = !0;\n\tstatic seedData = data();\n\tgameLength;\n\tinitialSpeed;\n\tacceleration;\n\tspawnInterval;\n\tconstructor(e) {\n\t\tsuper(e), this.gameLength = e[0].gameLength, this.initialSpeed = e[0].initialSpeed, this.acceleration = e[0].acceleration, this.spawnInterval = e[0].spawnInterval;\n\t}\n\tevaluate(e) {\n\t\treturn {\n\t\t\tisCorrect: this.isCorrect(e),\n\t\t\tperformance: this.displayedSkill(e)\n\t\t};\n\t}\n\tdisplayedSkill(e) {\n\t\treturn e.win ? 1 : e.percentage;\n\t}\n\tdataShapes() {\n\t\treturn FallingLettersQuestion.dataShapes;\n\t}\n\tviews() {\n\t\treturn FallingLettersQuestion.views;\n\t}\n\tisCorrect(e) {\n\t\treturn e.win;\n\t}\n}]);\n//#endregion\nexport { T as t };\n\n//# sourceMappingURL=typing-BevtfWlp.js.map"],"mappings":"wZAMI,EAAIA,EAAE,CACT,KAAM,qBACN,MAAO,CACN,KAAM,CACL,KAAM,MACN,SAAU,CAAC,EACX,CACD,iBAAkB,CACjB,KAAM,OACN,SAAU,CAAC,EACX,QAAS,EACT,CACD,CACD,MAAM,EAAG,CAAE,KAAM,GAAK,CACrB,IAAI,EAAIC,EAAE,EAAG,EAAG,qBAAqB,CAAE,EAAIC,EAAE,EAAE,CAAE,EAAIC,EAAE,KAAK,CAC5D,EAAE,SAAS,MAAQ,IAAI,EAAE,EAAE,KAAK,CAChC,IAAI,EAAIC,MAAQ,EAAE,SAAS,MAAM,CAAE,eAAkB,GAAM,CAC1D,GAAI,CAAC,EAAE,MAAO,OACd,IAAI,EAAI,EAAE,IAAI,aAAa,CAAE,EAAI,EAAE,MAAM,OAAO,aAAa,CAC7D,GAAI,IAAM,EAAG,CACZ,EAAE,OAAO,UAAU,IAAI,UAAU,CACjC,IAAI,YAAe,GAAM,CACxB,EAAE,IAAI,aAAa,GAAK,IAAM,EAAE,OAAO,UAAU,OAAO,UAAU,CAAE,EAAE,aAAa,EAAE,CAAE,OAAO,oBAAoB,QAAS,YAAY,GAExI,OAAO,iBAAiB,QAAS,YAAY,MACvC,EAAE,aAAa,EAAE,EAEzB,OAAOC,MAAQ,CACd,OAAO,iBAAiB,WAAY,eAAe,EAClD,CAAEC,MAAQ,CACX,OAAO,oBAAoB,WAAY,eAAe,EACrD,CAAE,CACH,GAAG,EACH,GAAG,EACH,cAAe,EACf,SAAU,EACV,EAEF,CAAC,CAAE,EAAI,CAAE,gBAAiB,qBAAsB,CACjD,SAAS,YAAY,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CACtC,OAAOC,GAAG,CAAEC,EAAE,MAAO,EAAG,CAAC,EAAE,UAAYD,GAAG,CAAEC,EAAEC,EAAG,CAAE,IAAK,EAAG,CAAE,CAAC,EAAE,KAAF,EAAE,GAAOC,EAAE,IAAK,CAAE,MAAO,UAAW,CAAE,oBAAqB,GAAG,EAAEA,EAAE,MAAO,CACtI,IAAK,gBACL,MAAO,iBACP,CAAEC,EAAE,EAAE,SAAS,OAAO,CAAE,IAAI,CAAC,CAAE,GAAG,EAAIC,EAAE,GAAI,CAAC,EAAE,CAAC,CAAC,KAE/C,EAAoBC,EAAE,EAAG,CAAC,CAAC,SAAU,YAAY,CAAE,CAAC,YAAa,kBAAkB,CAAC,CAAC,CAAE,EAAoBC,EAAE,UAAW,CAC3H,IAAI,EAAI,EAAE,CACV,IAAK,IAAI,EAAI,EAAG,EAAI,GAAI,IAAK,EAAE,KAAK,CAAE,OAAQ,OAAO,aAAa,GAAK,EAAE,CAAE,CAAC,CAC5E,OAAO,GACL,OAAO,CAAE,GAAA,EAAI,MAAM,2BAA2BC,CAAE,CAwBlD,YAAY,EAAG,wCAFf,SAAA,IAAA,GAAO,CAAA,MAGN,OAAM,EAAE,CAAE,KAAK,OAAS,EAAE,GAAG,OAE9B,SAAS,EAAG,EAAG,CACd,MAAO,CACN,UAAW,KAAK,UAAU,EAAE,CAC5B,YAAa,KAAK,eAAe,EAAG,EAAE,CACtC,CAEF,eAAe,EAAG,EAAG,CACpB,GAAI,KAAK,UAAU,EAAE,CAAE,CACtB,GAAI,EAAI,IAAK,MAAO,GACpB,CACC,IAAI,EAAI,GAAK,EAAI,KAAO,IAAM,IAC9B,OAAO,KAAK,IAAI,IAAK,EAAE,EAGzB,MAAO,GAER,YAAa,CACZ,OAAO,mBAAmB,WAE3B,OAAQ,CACP,OAAO,mBAAmB,MAE3B,UAAU,EAAG,CACZ,IAAI,EAAI,EAAE,aAAa,GAAK,KAAK,OAAO,aAAa,CACrD,OAAO,QAAQ,IAAI,6BAA6B,IAAI,CAAE,QAlDhD,aAAa,CAAC,CACpB,KAAMC,EAAE,oBACR,OAAQ,CAAC,CACR,KAAM,SACN,KAAMC,EAAE,OACR,UAAW,CACV,aAAc,wBACd,KAAM,SAAS,EAAG,CACjB,MAAO,CAAC,GAAK,EAAE,SAAW,GAAK,CAAC,WAAW,KAAK,EAAE,CAAG,CACpD,OAAQC,EAAE,MACV,IAAK,gCACL,CAAG,CACH,OAAQA,EAAE,GACV,IAAK,GACL,EAEF,CACD,CAAC,CACF,CAAC,CAAC,CAAA,EAAA,EACI,QAAQ,CAAC,EAAE,CAAC,CAAA,EAAA,EACZ,kBAAkB,CAAC,EAAE,CAAA,EAAA,EAErB,WAAW,GAAG,CAAC,CAAA,GA8BpB,KAAO,UAAW,CACpB,MAAO,CAAC,CACP,WAAY,GACZ,aAAc,EACd,aAAc,GACd,cAAe,EACf,CAAC,EACA,EAAI,IAAIC,EAAE,SAAU,CAAC,GAAA,EAAG,MAAM,+BAA+BJ,CAAE,CA2CjE,YAAY,EAAG,yCAJf,aAAA,IAAA,GAAW,CAAA,EAAA,KACX,eAAA,IAAA,GAAa,CAAA,EAAA,KACb,eAAA,IAAA,GAAa,CAAA,EAAA,KACb,gBAAA,IAAA,GAAc,CAAA,MAEb,QAAM,EAAE,CAAE,KAAK,WAAa,EAAE,GAAG,WAAY,KAAK,aAAe,EAAE,GAAG,aAAc,KAAK,aAAe,EAAE,GAAG,aAAc,KAAK,cAAgB,EAAE,GAAG,cAEtJ,SAAS,EAAG,CACX,MAAO,CACN,UAAW,KAAK,UAAU,EAAE,CAC5B,YAAa,KAAK,eAAe,EAAE,CACnC,CAEF,eAAe,EAAG,CACjB,OAAO,EAAE,IAAM,EAAI,EAAE,WAEtB,YAAa,CACZ,OAAO,uBAAuB,WAE/B,OAAQ,CACP,OAAO,uBAAuB,MAE/B,UAAU,EAAG,CACZ,OAAO,EAAE,UA7DH,aAAa,CAAC,CACpB,KAAMC,EAAE,sBACR,OAAQ,CACP,CACC,KAAM,aACN,KAAMC,EAAE,OACR,CACD,CACC,KAAM,eACN,KAAMA,EAAE,OACR,CACD,CACC,KAAM,eACN,KAAMA,EAAE,OACR,CACD,CACC,KAAM,gBACN,KAAMA,EAAE,OACR,UAAW,CACV,aAAc,oDACd,KAAO,GAAM,OAAO,GAAK,SAAW,WAAW,EAAE,CAAG,EAAI,CACvD,OAAQC,EAAE,GACV,IAAK,GACL,CAAG,CACH,OAAQA,EAAE,MACV,IAAK,yBACL,CAAG,CACH,OAAQA,EAAE,MACV,IAAK,+BACL,CACD,YAAa,IACb,CACD,CACD,CACD,CAAC,CAAC,CAAA,EAAA,EACI,QAAQ,EAAE,CAAC,CAAA,EAAA,EACX,kBAAkB,CAAC,EAAE,CAAA,EAAA,EACrB,WAAW,MAAM,CAAC,CAAA,GA0BxB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./vue.runtime.esm-bundler-C3q8JS9f.js";import"./dist-l4NOxAbA.js";import"./MarkdownRenderer-kStoDRNE-HDBFbDeD.js";import"./dist-DDw00TzX.js";import"./common-ui.es-DFOzc2ze.js";import"./CourseWare-BTFRjgBR-DCGIN7hI.js";import{t as e}from"./typing-BevtfWlp-BhybW0tx.js";export{e as default};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import"./chunk-D6hFPZc3.js";import{A as e,N as t,O as n,T as r,U as i,Z as a,dt as o,g as s,ht as c,lt as l,st as u,ut as d}from"./vue.runtime.esm-bundler-C3q8JS9f.js";var f=typeof document<`u`;function isRouteComponent(e){return typeof e==`object`||`displayName`in e||`props`in e||`__vccOpts`in e}function isESModule(e){return e.__esModule||e[Symbol.toStringTag]===`Module`||e.default&&isRouteComponent(e.default)}var p=Object.assign;function applyToParams(e,t){let n={};for(let r in t){let i=t[r];n[r]=m(i)?i.map(e):e(i)}return n}var noop=()=>{},m=Array.isArray,h=/#/g,g=/&/g,_=/\//g,v=/=/g,y=/\?/g,b=/\+/g,x=/%5B/g,S=/%5D/g,C=/%5E/g,w=/%60/g,T=/%7B/g,E=/%7C/g,D=/%7D/g,O=/%20/g;function commonEncode(e){return encodeURI(``+e).replace(E,`|`).replace(x,`[`).replace(S,`]`)}function encodeHash(e){return commonEncode(e).replace(T,`{`).replace(D,`}`).replace(C,`^`)}function encodeQueryValue(e){return commonEncode(e).replace(b,`%2B`).replace(O,`+`).replace(h,`%23`).replace(g,`%26`).replace(w,"`").replace(T,`{`).replace(D,`}`).replace(C,`^`)}function encodeQueryKey(e){return encodeQueryValue(e).replace(v,`%3D`)}function encodePath(e){return commonEncode(e).replace(h,`%23`).replace(y,`%3F`)}function encodeParam(e){return e==null?``:encodePath(e).replace(_,`%2F`)}function decode(e){try{return decodeURIComponent(``+e)}catch{}return``+e}var k=/\/$/,removeTrailingSlash=e=>e.replace(k,``);function parseURL(e,t,n=`/`){let r,i={},a=``,o=``,s=t.indexOf(`#`),c=t.indexOf(`?`);return s<c&&s>=0&&(c=-1),c>-1&&(r=t.slice(0,c),a=t.slice(c+1,s>-1?s:t.length),i=e(a)),s>-1&&(r=r||t.slice(0,s),o=t.slice(s,t.length)),r=resolveRelativePath(r??t,n),{fullPath:r+(a&&`?`)+a+o,path:r,query:i,hash:decode(o)}}function stringifyURL(e,t){let n=t.query?e(t.query):``;return t.path+(n&&`?`)+n+(t.hash||``)}function stripBase(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||`/`}function isSameRouteLocation(e,t,n){let r=t.matched.length-1,i=n.matched.length-1;return r>-1&&r===i&&isSameRouteRecord(t.matched[r],n.matched[i])&&isSameRouteLocationParams(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function isSameRouteRecord(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function isSameRouteLocationParams(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e)if(!isSameRouteLocationParamsValue(e[n],t[n]))return!1;return!0}function isSameRouteLocationParamsValue(e,t){return m(e)?isEquivalentArray(e,t):m(t)?isEquivalentArray(t,e):e===t}function isEquivalentArray(e,t){return m(t)?e.length===t.length&&e.every((e,n)=>e===t[n]):e.length===1&&e[0]===t}function resolveRelativePath(e,t){if(e.startsWith(`/`))return e;if(!e)return t;let n=t.split(`/`),r=e.split(`/`),i=r[r.length-1];(i===`..`||i===`.`)&&r.push(``);let a=n.length-1,o,s;for(o=0;o<r.length;o++)if(s=r[o],s!==`.`)if(s===`..`)a>1&&a--;else break;return n.slice(0,a).join(`/`)+`/`+r.slice(o).join(`/`)}var A={path:`/`,name:void 0,params:{},query:{},hash:``,fullPath:`/`,matched:[],meta:{},redirectedFrom:void 0},j;(function(e){e.pop=`pop`,e.push=`push`})(j||(j={}));var M;(function(e){e.back=`back`,e.forward=`forward`,e.unknown=``})(M||(M={}));function normalizeBase(e){if(!e)if(f){let t=document.querySelector(`base`);e=t&&t.getAttribute(`href`)||`/`,e=e.replace(/^\w+:\/\/[^\/]+/,``)}else e=`/`;return e[0]!==`/`&&e[0]!==`#`&&(e=`/`+e),removeTrailingSlash(e)}var N=/^[^#]+#/;function createHref(e,t){return e.replace(N,`#`)+t}function getElementPosition(e,t){let n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}var computeScrollPosition=()=>({left:window.scrollX,top:window.scrollY});function scrollToPosition(e){let t;if(`el`in e){let n=e.el,r=typeof n==`string`&&n.startsWith(`#`),i=typeof n==`string`?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!i)return;t=getElementPosition(i,e)}else t=e;`scrollBehavior`in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left==null?window.scrollX:t.left,t.top==null?window.scrollY:t.top)}function getScrollKey(e,t){return(history.state?history.state.position-t:-1)+e}var P=new Map;function saveScrollPosition(e,t){P.set(e,t)}function getSavedScrollPosition(e){let t=P.get(e);return P.delete(e),t}var createBaseLocation=()=>location.protocol+`//`+location.host;function createCurrentLocation(e,t){let{pathname:n,search:r,hash:i}=t,a=e.indexOf(`#`);if(a>-1){let t=i.includes(e.slice(a))?e.slice(a).length:1,n=i.slice(t);return n[0]!==`/`&&(n=`/`+n),stripBase(n,``)}return stripBase(n,e)+r+i}function useHistoryListeners(e,t,n,r){let i=[],a=[],o=null,popStateHandler=({state:a})=>{let s=createCurrentLocation(e,location),c=n.value,l=t.value,u=0;if(a){if(n.value=s,t.value=a,o&&o===c){o=null;return}u=l?a.position-l.position:0}else r(s);i.forEach(e=>{e(n.value,c,{delta:u,type:j.pop,direction:u?u>0?M.forward:M.back:M.unknown})})};function pauseListeners(){o=n.value}function listen(e){i.push(e);let teardown=()=>{let t=i.indexOf(e);t>-1&&i.splice(t,1)};return a.push(teardown),teardown}function beforeUnloadListener(){let{history:e}=window;e.state&&e.replaceState(p({},e.state,{scroll:computeScrollPosition()}),``)}function destroy(){for(let e of a)e();a=[],window.removeEventListener(`popstate`,popStateHandler),window.removeEventListener(`beforeunload`,beforeUnloadListener)}return window.addEventListener(`popstate`,popStateHandler),window.addEventListener(`beforeunload`,beforeUnloadListener,{passive:!0}),{pauseListeners,listen,destroy}}function buildState(e,t,n,r=!1,i=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:i?computeScrollPosition():null}}function useHistoryStateNavigation(e){let{history:t,location:n}=window,r={value:createCurrentLocation(e,n)},i={value:t.state};i.value||changeLocation(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function changeLocation(r,a,o){let s=e.indexOf(`#`),c=s>-1?(n.host&&document.querySelector(`base`)?e:e.slice(s))+r:createBaseLocation()+e+r;try{t[o?`replaceState`:`pushState`](a,``,c),i.value=a}catch(e){console.error(e),n[o?`replace`:`assign`](c)}}function replace(e,n){changeLocation(e,p({},t.state,buildState(i.value.back,e,i.value.forward,!0),n,{position:i.value.position}),!0),r.value=e}function push(e,n){let a=p({},i.value,t.state,{forward:e,scroll:computeScrollPosition()});changeLocation(a.current,a,!0),changeLocation(e,p({},buildState(r.value,e,null),{position:a.position+1},n),!1),r.value=e}return{location:r,state:i,push,replace}}function createWebHistory(e){e=normalizeBase(e);let t=useHistoryStateNavigation(e),n=useHistoryListeners(e,t.state,t.location,t.replace);function go(e,t=!0){t||n.pauseListeners(),history.go(e)}let r=p({location:``,base:e,go,createHref:createHref.bind(null,e)},t,n);return Object.defineProperty(r,`location`,{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(r,`state`,{enumerable:!0,get:()=>t.state.value}),r}function isRouteLocation(e){return typeof e==`string`||e&&typeof e==`object`}function isRouteName(e){return typeof e==`string`||typeof e==`symbol`}var F=Symbol(``),I;(function(e){e[e.aborted=4]=`aborted`,e[e.cancelled=8]=`cancelled`,e[e.duplicated=16]=`duplicated`})(I||(I={}));function createRouterError(e,t){return p(Error(),{type:e,[F]:!0},t)}function isNavigationFailure(e,t){return e instanceof Error&&F in e&&(t==null||!!(e.type&t))}var L=`[^/]+?`,R={sensitive:!1,strict:!1,start:!0,end:!0},z=/[.+*?^${}()[\]/\\]/g;function tokensToParser(e,t){let n=p({},R,t),r=[],i=n.start?`^`:``,a=[];for(let t of e){let e=t.length?[]:[90];n.strict&&!t.length&&(i+=`/`);for(let r=0;r<t.length;r++){let o=t[r],s=40+(n.sensitive?.25:0);if(o.type===0)r||(i+=`/`),i+=o.value.replace(z,`\\$&`),s+=40;else if(o.type===1){let{value:e,repeatable:n,optional:c,regexp:l}=o;a.push({name:e,repeatable:n,optional:c});let u=l||L;if(u!==L){s+=10;try{RegExp(`(${u})`)}catch(t){throw Error(`Invalid custom RegExp for param "${e}" (${u}): `+t.message)}}let d=n?`((?:${u})(?:/(?:${u}))*)`:`(${u})`;r||(d=c&&t.length<2?`(?:/${d})`:`/`+d),c&&(d+=`?`),i+=d,s+=20,c&&(s+=-8),n&&(s+=-20),u===`.*`&&(s+=-50)}e.push(s)}r.push(e)}if(n.strict&&n.end){let e=r.length-1;r[e][r[e].length-1]+=.7000000000000001}n.strict||(i+=`/?`),n.end?i+=`$`:n.strict&&!i.endsWith(`/`)&&(i+=`(?:/|$)`);let o=new RegExp(i,n.sensitive?``:`i`);function parse(e){let t=e.match(o),n={};if(!t)return null;for(let e=1;e<t.length;e++){let r=t[e]||``,i=a[e-1];n[i.name]=r&&i.repeatable?r.split(`/`):r}return n}function stringify(t){let n=``,r=!1;for(let i of e){(!r||!n.endsWith(`/`))&&(n+=`/`),r=!1;for(let e of i)if(e.type===0)n+=e.value;else if(e.type===1){let{value:a,repeatable:o,optional:s}=e,c=a in t?t[a]:``;if(m(c)&&!o)throw Error(`Provided param "${a}" is an array but it is not repeatable (* or + modifiers)`);let l=m(c)?c.join(`/`):c;if(!l)if(s)i.length<2&&(n.endsWith(`/`)?n=n.slice(0,-1):r=!0);else throw Error(`Missing required param "${a}"`);n+=l}}return n||`/`}return{re:o,score:r,keys:a,parse,stringify}}function compareScoreArray(e,t){let n=0;for(;n<e.length&&n<t.length;){let r=t[n]-e[n];if(r)return r;n++}return e.length<t.length?e.length===1&&e[0]===80?-1:1:e.length>t.length?t.length===1&&t[0]===80?1:-1:0}function comparePathParserScore(e,t){let n=0,r=e.score,i=t.score;for(;n<r.length&&n<i.length;){let e=compareScoreArray(r[n],i[n]);if(e)return e;n++}if(Math.abs(i.length-r.length)===1){if(isLastScoreNegative(r))return 1;if(isLastScoreNegative(i))return-1}return i.length-r.length}function isLastScoreNegative(e){let t=e[e.length-1];return e.length>0&&t[t.length-1]<0}var B={type:0,value:``},V=/[a-zA-Z0-9_]/;function tokenizePath(e){if(!e)return[[]];if(e===`/`)return[[B]];if(!e.startsWith(`/`))throw Error(`Invalid path "${e}"`);function crash(e){throw Error(`ERR (${t})/"${s}": ${e}`)}let t=0,n=t,r=[],i;function finalizeSegment(){i&&r.push(i),i=[]}let a=0,o,s=``,c=``;function consumeBuffer(){s&&(t===0?i.push({type:0,value:s}):t===1||t===2||t===3?(i.length>1&&(o===`*`||o===`+`)&&crash(`A repeatable param (${s}) must be alone in its segment. eg: '/:ids+.`),i.push({type:1,value:s,regexp:c,repeatable:o===`*`||o===`+`,optional:o===`*`||o===`?`})):crash(`Invalid state to consume buffer`),s=``)}function addCharToBuffer(){s+=o}for(;a<e.length;){if(o=e[a++],o===`\\`&&t!==2){n=t,t=4;continue}switch(t){case 0:o===`/`?(s&&consumeBuffer(),finalizeSegment()):o===`:`?(consumeBuffer(),t=1):addCharToBuffer();break;case 4:addCharToBuffer(),t=n;break;case 1:o===`(`?t=2:V.test(o)?addCharToBuffer():(consumeBuffer(),t=0,o!==`*`&&o!==`?`&&o!==`+`&&a--);break;case 2:o===`)`?c[c.length-1]==`\\`?c=c.slice(0,-1)+o:t=3:c+=o;break;case 3:consumeBuffer(),t=0,o!==`*`&&o!==`?`&&o!==`+`&&a--,c=``;break;default:crash(`Unknown state`);break}}return t===2&&crash(`Unfinished custom RegExp for param "${s}"`),consumeBuffer(),finalizeSegment(),r}function createRouteRecordMatcher(e,t,n){let r=p(tokensToParser(tokenizePath(e.path),n),{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function createRouterMatcher(e,t){let n=[],r=new Map;t=mergeOptions({strict:!1,end:!0,sensitive:!1},t);function getRecordMatcher(e){return r.get(e)}function addRoute(e,n,r){let i=!r,a=normalizeRouteRecord(e);a.aliasOf=r&&r.record;let o=mergeOptions(t,e),s=[a];if(`alias`in e){let t=typeof e.alias==`string`?[e.alias]:e.alias;for(let e of t)s.push(normalizeRouteRecord(p({},a,{components:r?r.record.components:a.components,path:e,aliasOf:r?r.record:a})))}let c,l;for(let t of s){let{path:s}=t;if(n&&s[0]!==`/`){let e=n.record.path,r=e[e.length-1]===`/`?``:`/`;t.path=n.record.path+(s&&r+s)}if(c=createRouteRecordMatcher(t,n,o),r?r.alias.push(c):(l=l||c,l!==c&&l.alias.push(c),i&&e.name&&!isAliasRecord(c)&&removeRoute(e.name)),isMatchable(c)&&insertMatcher(c),a.children){let e=a.children;for(let t=0;t<e.length;t++)addRoute(e[t],c,r&&r.children[t])}r=r||c}return l?()=>{removeRoute(l)}:noop}function removeRoute(e){if(isRouteName(e)){let t=r.get(e);t&&(r.delete(e),n.splice(n.indexOf(t),1),t.children.forEach(removeRoute),t.alias.forEach(removeRoute))}else{let t=n.indexOf(e);t>-1&&(n.splice(t,1),e.record.name&&r.delete(e.record.name),e.children.forEach(removeRoute),e.alias.forEach(removeRoute))}}function getRoutes(){return n}function insertMatcher(e){let t=findInsertionIndex(e,n);n.splice(t,0,e),e.record.name&&!isAliasRecord(e)&&r.set(e.record.name,e)}function resolve(e,t){let i,a={},o,s;if(`name`in e&&e.name){if(i=r.get(e.name),!i)throw createRouterError(1,{location:e});s=i.record.name,a=p(paramsFromLocation(t.params,i.keys.filter(e=>!e.optional).concat(i.parent?i.parent.keys.filter(e=>e.optional):[]).map(e=>e.name)),e.params&¶msFromLocation(e.params,i.keys.map(e=>e.name))),o=i.stringify(a)}else if(e.path!=null)o=e.path,i=n.find(e=>e.re.test(o)),i&&(a=i.parse(o),s=i.record.name);else{if(i=t.name?r.get(t.name):n.find(e=>e.re.test(t.path)),!i)throw createRouterError(1,{location:e,currentLocation:t});s=i.record.name,a=p({},t.params,e.params),o=i.stringify(a)}let c=[],l=i;for(;l;)c.unshift(l.record),l=l.parent;return{name:s,path:o,params:a,matched:c,meta:mergeMetaFields(c)}}e.forEach(e=>addRoute(e));function clearRoutes(){n.length=0,r.clear()}return{addRoute,resolve,removeRoute,clearRoutes,getRoutes,getRecordMatcher}}function paramsFromLocation(e,t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function normalizeRouteRecord(e){let t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:normalizeRecordProps(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:`components`in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,`mods`,{value:{}}),t}function normalizeRecordProps(e){let t={},n=e.props||!1;if(`component`in e)t.default=n;else for(let r in e.components)t[r]=typeof n==`object`?n[r]:n;return t}function isAliasRecord(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function mergeMetaFields(e){return e.reduce((e,t)=>p(e,t.meta),{})}function mergeOptions(e,t){let n={};for(let r in e)n[r]=r in t?t[r]:e[r];return n}function findInsertionIndex(e,t){let n=0,r=t.length;for(;n!==r;){let i=n+r>>1;comparePathParserScore(e,t[i])<0?r=i:n=i+1}let i=getInsertionAncestor(e);return i&&(r=t.lastIndexOf(i,r-1)),r}function getInsertionAncestor(e){let t=e;for(;t=t.parent;)if(isMatchable(t)&&comparePathParserScore(e,t)===0)return t}function isMatchable({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function parseQuery(e){let t={};if(e===``||e===`?`)return t;let n=(e[0]===`?`?e.slice(1):e).split(`&`);for(let e=0;e<n.length;++e){let r=n[e].replace(b,` `),i=r.indexOf(`=`),a=decode(i<0?r:r.slice(0,i)),o=i<0?null:decode(r.slice(i+1));if(a in t){let e=t[a];m(e)||(e=t[a]=[e]),e.push(o)}else t[a]=o}return t}function stringifyQuery(e){let t=``;for(let n in e){let r=e[n];if(n=encodeQueryKey(n),r==null){r!==void 0&&(t+=(t.length?`&`:``)+n);continue}(m(r)?r.map(e=>e&&encodeQueryValue(e)):[r&&encodeQueryValue(r)]).forEach(e=>{e!==void 0&&(t+=(t.length?`&`:``)+n,e!=null&&(t+=`=`+e))})}return t}function normalizeQuery(e){let t={};for(let n in e){let r=e[n];r!==void 0&&(t[n]=m(r)?r.map(e=>e==null?null:``+e):r==null?r:``+r)}return t}var H=Symbol(``),U=Symbol(``),W=Symbol(``),G=Symbol(``),K=Symbol(``);function useCallbacks(){let e=[];function add(t){return e.push(t),()=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)}}function reset(){e=[]}return{add,list:()=>e.slice(),reset}}function guardToPromiseFn(e,t,n,r,i,a=e=>e()){let o=r&&(r.enterCallbacks[i]=r.enterCallbacks[i]||[]);return()=>new Promise((s,c)=>{let next=e=>{e===!1?c(createRouterError(4,{from:n,to:t})):e instanceof Error?c(e):isRouteLocation(e)?c(createRouterError(2,{from:t,to:e})):(o&&r.enterCallbacks[i]===o&&typeof e==`function`&&o.push(e),s())},l=a(()=>e.call(r&&r.instances[i],t,n,next)),u=Promise.resolve(l);e.length<3&&(u=u.then(next)),u.catch(e=>c(e))})}function extractComponentsGuards(e,t,n,r,i=e=>e()){let a=[];for(let o of e)for(let e in o.components){let s=o.components[e];if(!(t!==`beforeRouteEnter`&&!o.instances[e]))if(isRouteComponent(s)){let c=(s.__vccOpts||s)[t];c&&a.push(guardToPromiseFn(c,n,r,o,e,i))}else{let c=s();a.push(()=>c.then(a=>{if(!a)throw Error(`Couldn't resolve component "${e}" at "${o.path}"`);let s=isESModule(a)?a.default:a;o.mods[e]=a,o.components[e]=s;let c=(s.__vccOpts||s)[t];return c&&guardToPromiseFn(c,n,r,o,e,i)()}))}}return a}function useLink(t){let n=e(W),r=e(G),i=s(()=>{let e=c(t.to);return n.resolve(e)}),a=s(()=>{let{matched:e}=i.value,{length:t}=e,n=e[t-1],a=r.matched;if(!n||!a.length)return-1;let o=a.findIndex(isSameRouteRecord.bind(null,n));if(o>-1)return o;let s=getOriginalPath(e[t-2]);return t>1&&getOriginalPath(n)===s&&a[a.length-1].path!==s?a.findIndex(isSameRouteRecord.bind(null,e[t-2])):o}),o=s(()=>a.value>-1&&includesParams(r.params,i.value.params)),l=s(()=>a.value>-1&&a.value===r.matched.length-1&&isSameRouteLocationParams(r.params,i.value.params));function navigate(e={}){if(guardEvent(e)){let e=n[c(t.replace)?`replace`:`push`](c(t.to)).catch(noop);return t.viewTransition&&typeof document<`u`&&`startViewTransition`in document&&document.startViewTransition(()=>e),e}return Promise.resolve()}return{route:i,href:s(()=>i.value.href),isActive:o,isExactActive:l,navigate}}function preferSingleVNode(e){return e.length===1?e[0]:e}var q=r({name:`RouterLink`,compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:`page`}},useLink,setup(t,{slots:r}){let i=u(useLink(t)),{options:a}=e(W),o=s(()=>({[getLinkClass(t.activeClass,a.linkActiveClass,`router-link-active`)]:i.isActive,[getLinkClass(t.exactActiveClass,a.linkExactActiveClass,`router-link-exact-active`)]:i.isExactActive}));return()=>{let e=r.default&&preferSingleVNode(r.default(i));return t.custom?e:n(`a`,{"aria-current":i.isExactActive?t.ariaCurrentValue:null,href:i.href,onClick:i.navigate,class:o.value},e)}}});function guardEvent(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){let t=e.currentTarget.getAttribute(`target`);if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function includesParams(e,t){for(let n in t){let r=t[n],i=e[n];if(typeof r==`string`){if(r!==i)return!1}else if(!m(i)||i.length!==r.length||r.some((e,t)=>e!==i[t]))return!1}return!0}function getOriginalPath(e){return e?e.aliasOf?e.aliasOf.path:e.path:``}var getLinkClass=(e,t,n)=>e??t??n,J=r({name:`RouterView`,inheritAttrs:!1,props:{name:{type:String,default:`default`},route:Object},compatConfig:{MODE:3},setup(t,{attrs:r,slots:o}){let u=e(K),d=s(()=>t.route||u.value),f=e(U,0),m=s(()=>{let e=c(f),{matched:t}=d.value,n;for(;(n=t[e])&&!n.components;)e++;return e}),h=s(()=>d.value.matched[m.value]);i(U,s(()=>m.value+1)),i(H,h),i(K,d);let g=l();return a(()=>[g.value,h.value,t.name],([e,t,n],[r,i,a])=>{t&&(t.instances[n]=e,i&&i!==t&&e&&e===r&&(t.leaveGuards.size||(t.leaveGuards=i.leaveGuards),t.updateGuards.size||(t.updateGuards=i.updateGuards))),e&&t&&(!i||!isSameRouteRecord(t,i)||!r)&&(t.enterCallbacks[n]||[]).forEach(t=>t(e))},{flush:`post`}),()=>{let e=d.value,i=t.name,a=h.value,s=a&&a.components[i];if(!s)return normalizeSlot(o.default,{Component:s,route:e});let c=a.props[i],l=c?c===!0?e.params:typeof c==`function`?c(e):c:null,onVnodeUnmounted=e=>{e.component.isUnmounted&&(a.instances[i]=null)},u=n(s,p({},l,r,{onVnodeUnmounted,ref:g}));return normalizeSlot(o.default,{Component:u,route:e})||u}}});function normalizeSlot(e,t){if(!e)return null;let n=e(t);return n.length===1?n[0]:n}var Y=J;function createRouter(e){let n=createRouterMatcher(e.routes,e),r=e.parseQuery||parseQuery,i=e.stringifyQuery||stringifyQuery,a=e.history,s=useCallbacks(),l=useCallbacks(),u=useCallbacks(),h=o(A),g=A;f&&e.scrollBehavior&&`scrollRestoration`in history&&(history.scrollRestoration=`manual`);let _=applyToParams.bind(null,e=>``+e),v=applyToParams.bind(null,encodeParam),y=applyToParams.bind(null,decode);function addRoute(e,t){let r,i;return isRouteName(e)?(r=n.getRecordMatcher(e),i=t):i=e,n.addRoute(i,r)}function removeRoute(e){let t=n.getRecordMatcher(e);t&&n.removeRoute(t)}function getRoutes(){return n.getRoutes().map(e=>e.record)}function hasRoute(e){return!!n.getRecordMatcher(e)}function resolve(e,t){if(t=p({},t||h.value),typeof e==`string`){let i=parseURL(r,e,t.path),o=n.resolve({path:i.path},t),s=a.createHref(i.fullPath);return p(i,o,{params:y(o.params),hash:decode(i.hash),redirectedFrom:void 0,href:s})}let o;if(e.path!=null)o=p({},e,{path:parseURL(r,e.path,t.path).path});else{let n=p({},e.params);for(let e in n)n[e]??delete n[e];o=p({},e,{params:v(n)}),t.params=v(t.params)}let s=n.resolve(o,t),c=e.hash||``;s.params=_(y(s.params));let l=stringifyURL(i,p({},e,{hash:encodeHash(c),path:s.path})),u=a.createHref(l);return p({fullPath:l,hash:c,query:i===stringifyQuery?normalizeQuery(e.query):e.query||{}},s,{redirectedFrom:void 0,href:u})}function locationAsObject(e){return typeof e==`string`?parseURL(r,e,h.value.path):p({},e)}function checkCanceledNavigation(e,t){if(g!==e)return createRouterError(8,{from:t,to:e})}function push(e){return pushWithRedirect(e)}function replace(e){return push(p(locationAsObject(e),{replace:!0}))}function handleRedirectRecord(e){let t=e.matched[e.matched.length-1];if(t&&t.redirect){let{redirect:n}=t,r=typeof n==`function`?n(e):n;return typeof r==`string`&&(r=r.includes(`?`)||r.includes(`#`)?r=locationAsObject(r):{path:r},r.params={}),p({query:e.query,hash:e.hash,params:r.path==null?e.params:{}},r)}}function pushWithRedirect(e,t){let n=g=resolve(e),r=h.value,a=e.state,o=e.force,s=e.replace===!0,c=handleRedirectRecord(n);if(c)return pushWithRedirect(p(locationAsObject(c),{state:typeof c==`object`?p({},a,c.state):a,force:o,replace:s}),t||n);let l=n;l.redirectedFrom=t;let u;return!o&&isSameRouteLocation(i,r,n)&&(u=createRouterError(16,{to:l,from:r}),handleScroll(r,r,!0,!1)),(u?Promise.resolve(u):navigate(l,r)).catch(e=>isNavigationFailure(e)?isNavigationFailure(e,2)?e:markAsReady(e):triggerError(e,l,r)).then(e=>{if(e){if(isNavigationFailure(e,2))return pushWithRedirect(p({replace:s},locationAsObject(e.to),{state:typeof e.to==`object`?p({},a,e.to.state):a,force:o}),t||l)}else e=finalizeNavigation(l,r,!0,s,a);return triggerAfterEach(l,r,e),e})}function checkCanceledNavigationAndReject(e,t){let n=checkCanceledNavigation(e,t);return n?Promise.reject(n):Promise.resolve()}function runWithContext(e){let t=T.values().next().value;return t&&typeof t.runWithContext==`function`?t.runWithContext(e):e()}function navigate(e,t){let n,[r,i,a]=extractChangingRecords(e,t);n=extractComponentsGuards(r.reverse(),`beforeRouteLeave`,e,t);for(let i of r)i.leaveGuards.forEach(r=>{n.push(guardToPromiseFn(r,e,t))});let o=checkCanceledNavigationAndReject.bind(null,e,t);return n.push(o),runGuardQueue(n).then(()=>{n=[];for(let r of s.list())n.push(guardToPromiseFn(r,e,t));return n.push(o),runGuardQueue(n)}).then(()=>{n=extractComponentsGuards(i,`beforeRouteUpdate`,e,t);for(let r of i)r.updateGuards.forEach(r=>{n.push(guardToPromiseFn(r,e,t))});return n.push(o),runGuardQueue(n)}).then(()=>{n=[];for(let r of a)if(r.beforeEnter)if(m(r.beforeEnter))for(let i of r.beforeEnter)n.push(guardToPromiseFn(i,e,t));else n.push(guardToPromiseFn(r.beforeEnter,e,t));return n.push(o),runGuardQueue(n)}).then(()=>(e.matched.forEach(e=>e.enterCallbacks={}),n=extractComponentsGuards(a,`beforeRouteEnter`,e,t,runWithContext),n.push(o),runGuardQueue(n))).then(()=>{n=[];for(let r of l.list())n.push(guardToPromiseFn(r,e,t));return n.push(o),runGuardQueue(n)}).catch(e=>isNavigationFailure(e,8)?e:Promise.reject(e))}function triggerAfterEach(e,t,n){u.list().forEach(r=>runWithContext(()=>r(e,t,n)))}function finalizeNavigation(e,t,n,r,i){let o=checkCanceledNavigation(e,t);if(o)return o;let s=t===A,c=f?history.state:{};n&&(r||s?a.replace(e.fullPath,p({scroll:s&&c&&c.scroll},i)):a.push(e.fullPath,i)),h.value=e,handleScroll(e,t,n,s),markAsReady()}let b;function setupListeners(){b||(b=a.listen((e,t,n)=>{if(!E.listening)return;let r=resolve(e),i=handleRedirectRecord(r);if(i){pushWithRedirect(p(i,{replace:!0,force:!0}),r).catch(noop);return}g=r;let o=h.value;f&&saveScrollPosition(getScrollKey(o.fullPath,n.delta),computeScrollPosition()),navigate(r,o).catch(e=>isNavigationFailure(e,12)?e:isNavigationFailure(e,2)?(pushWithRedirect(p(locationAsObject(e.to),{force:!0}),r).then(e=>{isNavigationFailure(e,20)&&!n.delta&&n.type===j.pop&&a.go(-1,!1)}).catch(noop),Promise.reject()):(n.delta&&a.go(-n.delta,!1),triggerError(e,r,o))).then(e=>{e=e||finalizeNavigation(r,o,!1),e&&(n.delta&&!isNavigationFailure(e,8)?a.go(-n.delta,!1):n.type===j.pop&&isNavigationFailure(e,20)&&a.go(-1,!1)),triggerAfterEach(r,o,e)}).catch(noop)}))}let x=useCallbacks(),S=useCallbacks(),C;function triggerError(e,t,n){markAsReady(e);let r=S.list();return r.length?r.forEach(r=>r(e,t,n)):console.error(e),Promise.reject(e)}function isReady(){return C&&h.value!==A?Promise.resolve():new Promise((e,t)=>{x.add([e,t])})}function markAsReady(e){return C||(C=!e,setupListeners(),x.list().forEach(([t,n])=>e?n(e):t()),x.reset()),e}function handleScroll(n,r,i,a){let{scrollBehavior:o}=e;if(!f||!o)return Promise.resolve();let s=!i&&getSavedScrollPosition(getScrollKey(n.fullPath,0))||(a||!i)&&history.state&&history.state.scroll||null;return t().then(()=>o(n,r,s)).then(e=>e&&scrollToPosition(e)).catch(e=>triggerError(e,n,r))}let go=e=>a.go(e),w,T=new Set,E={currentRoute:h,listening:!0,addRoute,removeRoute,clearRoutes:n.clearRoutes,hasRoute,getRoutes,resolve,options:e,push,replace,go,back:()=>go(-1),forward:()=>go(1),beforeEach:s.add,beforeResolve:l.add,afterEach:u.add,onError:S.add,isReady,install(e){let t=this;e.component(`RouterLink`,q),e.component(`RouterView`,Y),e.config.globalProperties.$router=t,Object.defineProperty(e.config.globalProperties,`$route`,{enumerable:!0,get:()=>c(h)}),f&&!w&&h.value===A&&(w=!0,push(a.location).catch(e=>{}));let n={};for(let e in A)Object.defineProperty(n,e,{get:()=>h.value[e],enumerable:!0});e.provide(W,t),e.provide(G,d(n)),e.provide(K,h);let r=e.unmount;T.add(e),e.unmount=function(){T.delete(e),T.size<1&&(g=A,b&&b(),b=null,h.value=A,w=!1,C=!1),r()}}};function runGuardQueue(e){return e.reduce((e,t)=>e.then(()=>runWithContext(t)),Promise.resolve())}return E}function extractChangingRecords(e,t){let n=[],r=[],i=[],a=Math.max(t.matched.length,e.matched.length);for(let o=0;o<a;o++){let a=t.matched[o];a&&(e.matched.find(e=>isSameRouteRecord(e,a))?r.push(a):n.push(a));let s=e.matched[o];s&&(t.matched.find(e=>isSameRouteRecord(e,s))||i.push(s))}return[n,r,i]}function useRouter(){return e(W)}function useRoute(t){return e(G)}export{useRouter as i,createWebHistory as n,useRoute as r,createRouter as t};
|
|
2
|
+
//# sourceMappingURL=vue-router-CDq4a4rc.js.map
|