@vue-skuilder/courseware 0.2.32 → 0.2.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/dist/chess/questions/puzzle/puzzle.vue.d.ts +1 -1
  2. package/dist/chess/questions/puzzle/puzzle.vue.d.ts.map +1 -1
  3. package/dist/default/questions/fillIn/fillIn.vue.d.ts +1 -1
  4. package/dist/default/questions/fillIn/fillIn.vue.d.ts.map +1 -1
  5. package/dist/default/questions/fillIn/index.d.ts +2 -2
  6. package/dist/default/questions/fillIn/index.d.ts.map +1 -1
  7. package/dist/french/questions/audioparse/index.d.ts +2 -2
  8. package/dist/french/questions/audioparse/index.d.ts.map +1 -1
  9. package/dist/french/questions/audioparse/view.vue.d.ts +1 -1
  10. package/dist/french/questions/audioparse/view.vue.d.ts.map +1 -1
  11. package/dist/french/questions/vocab/identify.vue.d.ts +1 -1
  12. package/dist/french/questions/vocab/identify.vue.d.ts.map +1 -1
  13. package/dist/french/questions/vocab/index.d.ts +2 -2
  14. package/dist/french/questions/vocab/index.d.ts.map +1 -1
  15. package/dist/index.cjs.js +1 -1
  16. package/dist/index.mjs +2 -2
  17. package/dist/math/index.d.ts.map +1 -1
  18. package/dist/math/questions/addition/horizontal.vue.d.ts +1 -1
  19. package/dist/math/questions/addition/horizontal.vue.d.ts.map +1 -1
  20. package/dist/math/questions/addition/verbal.vue.d.ts +1 -1
  21. package/dist/math/questions/addition/verbal.vue.d.ts.map +1 -1
  22. package/dist/math/questions/angleCategorize/angleCategorize.vue.d.ts +1 -1
  23. package/dist/math/questions/angleCategorize/angleCategorize.vue.d.ts.map +1 -1
  24. package/dist/math/questions/angleCategorize/index.d.ts +2 -2
  25. package/dist/math/questions/angleCategorize/index.d.ts.map +1 -1
  26. package/dist/math/questions/bridgeTen/compact.vue.d.ts +59 -0
  27. package/dist/math/questions/bridgeTen/compact.vue.d.ts.map +1 -0
  28. package/dist/math/questions/bridgeTen/index.d.ts +23 -0
  29. package/dist/math/questions/bridgeTen/index.d.ts.map +1 -0
  30. package/dist/math/questions/bridgeTen/scaffold.vue.d.ts +59 -0
  31. package/dist/math/questions/bridgeTen/scaffold.vue.d.ts.map +1 -0
  32. package/dist/math/questions/bridgeTen/shapes.d.ts +3 -0
  33. package/dist/math/questions/bridgeTen/shapes.d.ts.map +1 -0
  34. package/dist/math/questions/countBy/default.vue.d.ts +1 -1
  35. package/dist/math/questions/countBy/default.vue.d.ts.map +1 -1
  36. package/dist/math/questions/countBy/index.d.ts +4 -3
  37. package/dist/math/questions/countBy/index.d.ts.map +1 -1
  38. package/dist/math/questions/decadeFact/horizontal.vue.d.ts +59 -0
  39. package/dist/math/questions/decadeFact/horizontal.vue.d.ts.map +1 -0
  40. package/dist/math/questions/decadeFact/index.d.ts +28 -0
  41. package/dist/math/questions/decadeFact/index.d.ts.map +1 -0
  42. package/dist/math/questions/decadeFact/shapes.d.ts +3 -0
  43. package/dist/math/questions/decadeFact/shapes.d.ts.map +1 -0
  44. package/dist/math/questions/division/horizontal.vue.d.ts +1 -1
  45. package/dist/math/questions/division/horizontal.vue.d.ts.map +1 -1
  46. package/dist/math/questions/division/index.d.ts +2 -2
  47. package/dist/math/questions/division/index.d.ts.map +1 -1
  48. package/dist/math/questions/multiplication/blorizontal.vue.d.ts +1 -1
  49. package/dist/math/questions/multiplication/blorizontal.vue.d.ts.map +1 -1
  50. package/dist/math/questions/multiplication/index.d.ts +2 -2
  51. package/dist/math/questions/multiplication/index.d.ts.map +1 -1
  52. package/dist/math/questions/multiplication/verbal.vue.d.ts +1 -1
  53. package/dist/math/questions/multiplication/verbal.vue.d.ts.map +1 -1
  54. package/dist/math/questions/numberBond/index.d.ts +21 -0
  55. package/dist/math/questions/numberBond/index.d.ts.map +1 -0
  56. package/dist/math/questions/numberBond/missingAddend.vue.d.ts +59 -0
  57. package/dist/math/questions/numberBond/missingAddend.vue.d.ts.map +1 -0
  58. package/dist/math/questions/numberBond/shapes.d.ts +3 -0
  59. package/dist/math/questions/numberBond/shapes.d.ts.map +1 -0
  60. package/dist/math/questions/numberBond/split.vue.d.ts +59 -0
  61. package/dist/math/questions/numberBond/split.vue.d.ts.map +1 -0
  62. package/dist/math/questions/oneStepEqn/index.d.ts +2 -2
  63. package/dist/math/questions/oneStepEqn/index.d.ts.map +1 -1
  64. package/dist/math/questions/oneStepEqn/solve.vue.d.ts +1 -1
  65. package/dist/math/questions/oneStepEqn/solve.vue.d.ts.map +1 -1
  66. package/dist/math/questions/supplementaryAngles/index.d.ts +2 -2
  67. package/dist/math/questions/supplementaryAngles/index.d.ts.map +1 -1
  68. package/dist/math/questions/supplementaryAngles/supplementaryAngles.vue.d.ts +1 -1
  69. package/dist/math/questions/supplementaryAngles/supplementaryAngles.vue.d.ts.map +1 -1
  70. package/dist/math/shapes.d.ts +3 -0
  71. package/dist/math/shapes.d.ts.map +1 -1
  72. package/dist/math-BJccNJiQ.cjs +1 -0
  73. package/dist/{math-DYni7rRl.js → math-DR3fXDcX.js} +1 -1
  74. package/dist/{math-B4HbgYf6.js → math-D_8HiEQR.js} +382 -39
  75. package/dist/math-D_8HiEQR.js.map +1 -0
  76. package/dist/{math-B1oDAkOy.cjs → math-zsjewdmk.cjs} +5 -5
  77. package/dist/math-zsjewdmk.cjs.map +1 -0
  78. package/dist/piano/questions/echo/Playback.vue.d.ts +1 -1
  79. package/dist/piano/questions/echo/Playback.vue.d.ts.map +1 -1
  80. package/dist/piano/questions/echo/index.d.ts +2 -2
  81. package/dist/piano/questions/echo/index.d.ts.map +1 -1
  82. package/dist/piano/questions/playNote/NotePlayback.vue.d.ts +1 -1
  83. package/dist/piano/questions/playNote/NotePlayback.vue.d.ts.map +1 -1
  84. package/dist/piano/questions/playNote/index.d.ts +2 -2
  85. package/dist/piano/questions/playNote/index.d.ts.map +1 -1
  86. package/dist/pitch/questions/indentify/index.d.ts +2 -2
  87. package/dist/pitch/questions/indentify/index.d.ts.map +1 -1
  88. package/dist/pitch/questions/indentify/textBox.vue.d.ts +1 -1
  89. package/dist/pitch/questions/indentify/textBox.vue.d.ts.map +1 -1
  90. package/dist/shapes.d.ts +1 -1
  91. package/dist/shapes.d.ts.map +1 -1
  92. package/dist/sightsing/questions/IdentifyKey/IdentifyKey.vue.d.ts +1 -1
  93. package/dist/sightsing/questions/IdentifyKey/IdentifyKey.vue.d.ts.map +1 -1
  94. package/dist/sightsing/questions/IdentifyKey/index.d.ts +2 -2
  95. package/dist/sightsing/questions/IdentifyKey/index.d.ts.map +1 -1
  96. package/dist/typing/questions/falling-letters/FallingLetters.vue.d.ts.map +1 -1
  97. package/dist/typing/questions/single-letter/index.d.ts +2 -2
  98. package/dist/typing/questions/single-letter/index.d.ts.map +1 -1
  99. package/dist/typing/questions/single-letter/typeSingleLetter.vue.d.ts +1 -1
  100. package/dist/typing/questions/single-letter/typeSingleLetter.vue.d.ts.map +1 -1
  101. package/dist/word-work/questions/spelling/index.d.ts +2 -2
  102. package/dist/word-work/questions/spelling/index.d.ts.map +1 -1
  103. package/dist/word-work/questions/spelling/textBox.vue.d.ts +1 -1
  104. package/dist/word-work/questions/spelling/textBox.vue.d.ts.map +1 -1
  105. package/package.json +5 -5
  106. package/dist/math-B1oDAkOy.cjs.map +0 -1
  107. package/dist/math-B4HbgYf6.js.map +0 -1
  108. package/dist/math-BWlIa6-l.cjs +0 -1
@@ -23,7 +23,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
23
23
  submitAnswer: (answer: import('@vue-skuilder/common').Answer, submittingClass?: string, opts?: import('@vue-skuilder/common-ui').SubmitAnswerOpts) => import('packages/db/dist').QuestionRecord;
24
24
  startTime: import('vue').Ref<moment.Moment>;
25
25
  hotKeys: import('vue').Ref<import('@vue-skuilder/common-ui').HotKey[]>;
26
- timeSpent: import('vue').ComputedRef<number>;
26
+ timeSpent: Readonly<import('vue').Ref<number>>;
27
27
  logger: import('@vue-skuilder/common-ui').ViewableLogger;
28
28
  getURL: (item: string, dataShapeIndex?: number) => string;
29
29
  emitResponse: (record: import('packages/db/dist').CardRecord) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"puzzle.vue.d.ts","sourceRoot":"","sources":["../../../../src/chess/questions/puzzle/puzzle.vue"],"names":[],"mappings":"AAyBA;AAuXA,OAAO,EAA0D,QAAQ,EAAE,MAAM,KAAK,CAAC;AAKvF,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAIhD,KAAK,cAAc,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAC5C,KAAK,KAAK,GAAG,UAAU,GAAG,UAAU,CAAC;;;cA4ChB,QAAQ,CAAC,QAAQ,EAAE,CAAC;;;;;;;;;;;;;;;iFAxDzC,CApVkC,cAoVlC,CApViD;;;;;yCAoVjD,CA5WsC;;;;;;;;;;;;sCA2eO,cAAc,GAAG,MAAM;;;cAvE/C,QAAQ,CAAC,QAAQ,EAAE,CAAC;;;;;;;;;;;AALzC,wBAmMG"}
1
+ {"version":3,"file":"puzzle.vue.d.ts","sourceRoot":"","sources":["../../../../src/chess/questions/puzzle/puzzle.vue"],"names":[],"mappings":"AAyBA;AAuXA,OAAO,EAA0D,QAAQ,EAAE,MAAM,KAAK,CAAC;AAKvF,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAIhD,KAAK,cAAc,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAC5C,KAAK,KAAK,GAAG,UAAU,GAAG,UAAU,CAAC;;;cA4ChB,QAAQ,CAAC,QAAQ,EAAE,CAAC;;;;;;;;;;;;;;;iFAxDzC,CApVuB,cAoVvB,CApVsC;;;;;yCAoVtC,CA5W2B;;;;;;;;;;;;sCA2ekB,cAAc,GAAG,MAAM;;;cAvE/C,QAAQ,CAAC,QAAQ,EAAE,CAAC;;;;;;;;;;;AALzC,wBAmMG"}
@@ -24,7 +24,7 @@ declare const _default: import('vue').DefineComponent<{
24
24
  submitAnswer: (answer: import('@vue-skuilder/common').Answer, submittingClass?: string, opts?: import('@vue-skuilder/common-ui').SubmitAnswerOpts) => import('packages/db/dist').QuestionRecord;
25
25
  startTime: import('vue').Ref<moment.Moment>;
26
26
  hotKeys: import('vue').Ref<import('@vue-skuilder/common-ui').HotKey[]>;
27
- timeSpent: import('vue').ComputedRef<number>;
27
+ timeSpent: Readonly<import('vue').Ref<number>>;
28
28
  logger: import('@vue-skuilder/common-ui').ViewableLogger;
29
29
  getURL: (item: string, dataShapeIndex?: number) => string;
30
30
  emitResponse: (record: import('packages/db/dist').CardRecord) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"fillIn.vue.d.ts","sourceRoot":"","sources":["../../../../src/default/questions/fillIn/fillIn.vue"],"names":[],"mappings":"AAqBA;AAAA,OA0QO,EAAwD,QAAQ,EAAiC,MAAM,KAAK,CAAC;AAGpH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;;;;;;;;;;;;;;;;;;;;;iFA5O+C,CAAC,cAAc,CAAC;;;;;yCAzBzG,CAAJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuQF,wBAsNG"}
1
+ {"version":3,"file":"fillIn.vue.d.ts","sourceRoot":"","sources":["../../../../src/default/questions/fillIn/fillIn.vue"],"names":[],"mappings":"AAqBA;AAAA,OA0QO,EAAwD,QAAQ,EAAiC,MAAM,KAAK,CAAC;AAGpH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;;;;;;;;;;;;;;;;;;;;;iFA5OoC,CAAC,cAAc,CAAC;;;;;yCA1BzC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwQ5D,wBAsNG"}
@@ -32,7 +32,7 @@ export declare class BlanksCard extends Question {
32
32
  submitAnswer: (answer: Answer, submittingClass?: string, opts?: import('@vue-skuilder/common-ui').SubmitAnswerOpts) => import('packages/db/dist/types-legacy-BkOYOR6U.js').Q;
33
33
  startTime: import('vue').Ref<moment.Moment>;
34
34
  hotKeys: import('vue').Ref<import('@vue-skuilder/common-ui').HotKey[]>;
35
- timeSpent: import('vue').ComputedRef<number>;
35
+ timeSpent: Readonly<import('vue').Ref<number>>;
36
36
  logger: import('@vue-skuilder/common-ui').ViewableLogger;
37
37
  getURL: (item: string, dataShapeIndex?: number) => string;
38
38
  emitResponse: (record: import('packages/db/dist/types-legacy-BkOYOR6U.js').b) => void;
@@ -461,7 +461,7 @@ export declare class BlanksCard extends Question {
461
461
  submitAnswer: (answer: Answer, submittingClass?: string, opts?: import('@vue-skuilder/common-ui').SubmitAnswerOpts) => import('packages/db/dist/types-legacy-BkOYOR6U.js').Q;
462
462
  startTime: import('vue').Ref<moment.Moment>;
463
463
  hotKeys: import('vue').Ref<import('@vue-skuilder/common-ui').HotKey[]>;
464
- timeSpent: import('vue').ComputedRef<number>;
464
+ timeSpent: Readonly<import('vue').Ref<number>>;
465
465
  logger: import('@vue-skuilder/common-ui').ViewableLogger;
466
466
  getURL: (item: string, dataShapeIndex?: number) => string;
467
467
  emitResponse: (record: import('packages/db/dist/types-legacy-BkOYOR6U.js').b) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/default/questions/fillIn/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAA2D,MAAM,yBAAyB,CAAC;AAC5G,OAAO,EAAE,MAAM,EAA6B,MAAM,sBAAsB,CAAC;AACzE,OAAO,EAAa,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAG3D,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAKhC,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AA4BnD,KAAK,iBAAiB,GAAG,MAAM,GAAG,OAAO,CAAC;AAE1C,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,iBAAiB,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;CACd;AAqBD,qBAAa,UAAW,SAAQ,QAAQ;IACtC,OAAc,UAAU,6CAAwB;IAChD,OAAc,KAAK;;;;;;;;;;;;;;;;;;;;sDAdjB,CAAC,cACH,CAAC;;;;;6CA5CgB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2EAyDiB;IAC5B,MAAM,EAAE,MAAM,CAAM;IAEpB,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAQ;IAChC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAQ;IAEhC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE;IAmCxD;;;;;;;OAOG;IACH,OAAO,CAAC,iBAAiB;gBA6Bb,IAAI,EAAE,QAAQ,EAAE;IA8CrB,SAAS,CAAC,MAAM,EAAE,MAAM;IA0BxB,UAAU;IAGV,KAAK;;;;;;;;;;;;;;;;;;;;sDAvKV,CAAC,cACH,CAAC;;;;;6CA5CgB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAsNlB,OAAO,CAAC,cAAc;CAOvB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/default/questions/fillIn/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAA2D,MAAM,yBAAyB,CAAC;AAC5G,OAAO,EAAE,MAAM,EAA6B,MAAM,sBAAsB,CAAC;AACzE,OAAO,EAAa,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAG3D,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAKhC,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AA4BnD,KAAK,iBAAiB,GAAG,MAAM,GAAG,OAAO,CAAC;AAE1C,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,iBAAiB,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;CACd;AAqBD,qBAAa,UAAW,SAAQ,QAAQ;IACtC,OAAc,UAAU,6CAAwB;IAChD,OAAc,KAAK;;;;;;;;;;;;;;;;;;;;sDAfV,CAAC,cACH,CAAA;;;;;6CA3CD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2EAyD4B;IAC5B,MAAM,EAAE,MAAM,CAAM;IAEpB,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAQ;IAChC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAQ;IAEhC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE;IAmCxD;;;;;;;OAOG;IACH,OAAO,CAAC,iBAAiB;gBA6Bb,IAAI,EAAE,QAAQ,EAAE;IA8CrB,SAAS,CAAC,MAAM,EAAE,MAAM;IA0BxB,UAAU;IAGV,KAAK;;;;;;;;;;;;;;;;;;;;sDAxKH,CAAC,cACH,CAAA;;;;;6CA3CD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAsNP,OAAO,CAAC,cAAc;CAOvB"}
@@ -17,7 +17,7 @@ export declare class AudioParsingQuestion extends Question {
17
17
  submitAnswer: (answer: Answer, submittingClass?: string, opts?: import('@vue-skuilder/common-ui').SubmitAnswerOpts) => import('packages/db/dist').QuestionRecord;
18
18
  startTime: import('vue').Ref<moment.Moment>;
19
19
  hotKeys: import('vue').Ref<import('@vue-skuilder/common-ui').HotKey[]>;
20
- timeSpent: import('vue').ComputedRef<number>;
20
+ timeSpent: Readonly<import('vue').Ref<number>>;
21
21
  logger: import('@vue-skuilder/common-ui').ViewableLogger;
22
22
  getURL: (item: string, dataShapeIndex?: number) => string;
23
23
  emitResponse: (record: import('packages/db/dist').CardRecord) => void;
@@ -53,7 +53,7 @@ export declare class AudioParsingQuestion extends Question {
53
53
  submitAnswer: (answer: Answer, submittingClass?: string, opts?: import('@vue-skuilder/common-ui').SubmitAnswerOpts) => import('packages/db/dist').QuestionRecord;
54
54
  startTime: import('vue').Ref<moment.Moment>;
55
55
  hotKeys: import('vue').Ref<import('@vue-skuilder/common-ui').HotKey[]>;
56
- timeSpent: import('vue').ComputedRef<number>;
56
+ timeSpent: Readonly<import('vue').Ref<number>>;
57
57
  logger: import('@vue-skuilder/common-ui').ViewableLogger;
58
58
  getURL: (item: string, dataShapeIndex?: number) => string;
59
59
  emitResponse: (record: import('packages/db/dist').CardRecord) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/french/questions/audioparse/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAiB,MAAM,EAAa,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAElF,OAAO,EAAE,SAAS,EAAU,MAAM,sBAAsB,CAAC;AAEzD,qBAAa,oBAAqB,SAAQ,QAAQ;IAChD,OAAc,UAAU,EAAE,SAAS,EAAE,CAuBnC;IACF,OAAc,KAAK;;;;;;;;;;;;sDAsBoH,CAAC,cAAc,CAAC;;;;;6CArC/I,CAAA;;;;;;;;;;;;;2EAe+B;IAEhC,KAAK,EAAE,IAAI,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;gBAER,IAAI,EAAE,QAAQ,EAAE;IAMrB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAIlC,UAAU;IAGV,KAAK;;;;;;;;;;;;sDAI2H,CAAC,cAAc,CAAC;;;;;6CArC/I,CAAA;;;;;;;;;;;;;;CAoCT"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/french/questions/audioparse/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAiB,MAAM,EAAa,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAElF,OAAO,EAAE,SAAS,EAAU,MAAM,sBAAsB,CAAC;AAEzD,qBAAa,oBAAqB,SAAQ,QAAQ;IAChD,OAAc,UAAU,EAAE,SAAS,EAAE,CAuBnC;IACF,OAAc,KAAK;;;;;;;;;;;;sDAsByG,CAAC,cAAc,CAAC;;;;;6CAtCtI,CAAC;;;;;;;;;;;;;2EAgBgC;IAEhC,KAAK,EAAE,IAAI,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;gBAER,IAAI,EAAE,QAAQ,EAAE;IAMrB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAIlC,UAAU;IAGV,KAAK;;;;;;;;;;;;sDAIgH,CAAC,cAAc,CAAC;;;;;6CAtCtI,CAAC;;;;;;;;;;;;;;CAqCR"}
@@ -15,7 +15,7 @@ declare const _default: import('vue').DefineComponent<{
15
15
  submitAnswer: (answer: import('@vue-skuilder/common').Answer, submittingClass?: string, opts?: import('@vue-skuilder/common-ui').SubmitAnswerOpts) => import('packages/db/dist').QuestionRecord;
16
16
  startTime: import('vue').Ref<moment.Moment>;
17
17
  hotKeys: import('vue').Ref<import('@vue-skuilder/common-ui').HotKey[]>;
18
- timeSpent: import('vue').ComputedRef<number>;
18
+ timeSpent: Readonly<import('vue').Ref<number>>;
19
19
  logger: import('@vue-skuilder/common-ui').ViewableLogger;
20
20
  getURL: (item: string, dataShapeIndex?: number) => string;
21
21
  emitResponse: (record: import('packages/db/dist').CardRecord) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"view.vue.d.ts","sourceRoot":"","sources":["../../../../src/french/questions/audioparse/view.vue"],"names":[],"mappings":"AASA;AAmEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAE/C,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;;;;;;;;;;;;;iFAHhD,CARQ,cAQR,CAPO;;;;;yCAOP,CAlDe;;;;;;;;;;;;;;AAuDf,wBA8CG"}
1
+ {"version":3,"file":"view.vue.d.ts","sourceRoot":"","sources":["../../../../src/french/questions/audioparse/view.vue"],"names":[],"mappings":"AASA;AAmEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAE/C,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;;;;;;;;;;;;;iFAHhD,CATW,cASX,CARY;;;;;yCAQZ,CAlDI;;;;;;;;;;;;;;AAuDJ,wBA8CG"}
@@ -13,7 +13,7 @@ declare const _default: import('vue').DefineComponent<{
13
13
  submitAnswer: (answer: import('@vue-skuilder/common').Answer, submittingClass?: string, opts?: import('@vue-skuilder/common-ui').SubmitAnswerOpts) => import('packages/db/dist').QuestionRecord;
14
14
  startTime: import('vue').Ref<moment.Moment>;
15
15
  hotKeys: import('vue').Ref<import('@vue-skuilder/common-ui').HotKey[]>;
16
- timeSpent: import('vue').ComputedRef<number>;
16
+ timeSpent: Readonly<import('vue').Ref<number>>;
17
17
  logger: import('@vue-skuilder/common-ui').ViewableLogger;
18
18
  getURL: (item: string, dataShapeIndex?: number) => string;
19
19
  emitResponse: (record: import('packages/db/dist').CardRecord) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"identify.vue.d.ts","sourceRoot":"","sources":["../../../../src/french/questions/vocab/identify.vue"],"names":[],"mappings":"AAKA;AAwDA,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;;;;;;;;;;;iFALc,CAAC,cAAc,CAAC;;;;;yCAE9E,CA3CsF;;;;;;;;AAkDtF,wBAoCG"}
1
+ {"version":3,"file":"identify.vue.d.ts","sourceRoot":"","sources":["../../../../src/french/questions/vocab/identify.vue"],"names":[],"mappings":"AAKA;AAwDA,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;;;;;;;;;;;iFALG,CAAC,cAAc,CAAC;;;;;yCAEnE,CA3C2E;;;;;;;;AAkD3E,wBAoCG"}
@@ -15,7 +15,7 @@ export declare class VocabQuestion extends Question {
15
15
  submitAnswer: (answer: Answer, submittingClass?: string, opts?: import('@vue-skuilder/common-ui').SubmitAnswerOpts) => import('packages/db/dist').QuestionRecord;
16
16
  startTime: import('vue').Ref<moment.Moment>;
17
17
  hotKeys: import('vue').Ref<import('@vue-skuilder/common-ui').HotKey[]>;
18
- timeSpent: import('vue').ComputedRef<number>;
18
+ timeSpent: Readonly<import('vue').Ref<number>>;
19
19
  logger: import('@vue-skuilder/common-ui').ViewableLogger;
20
20
  getURL: (item: string, dataShapeIndex?: number) => string;
21
21
  emitResponse: (record: import('packages/db/dist').CardRecord) => void;
@@ -40,7 +40,7 @@ export declare class VocabQuestion extends Question {
40
40
  submitAnswer: (answer: Answer, submittingClass?: string, opts?: import('@vue-skuilder/common-ui').SubmitAnswerOpts) => import('packages/db/dist').QuestionRecord;
41
41
  startTime: import('vue').Ref<moment.Moment>;
42
42
  hotKeys: import('vue').Ref<import('@vue-skuilder/common-ui').HotKey[]>;
43
- timeSpent: import('vue').ComputedRef<number>;
43
+ timeSpent: Readonly<import('vue').Ref<number>>;
44
44
  logger: import('@vue-skuilder/common-ui').ViewableLogger;
45
45
  getURL: (item: string, dataShapeIndex?: number) => string;
46
46
  emitResponse: (record: import('packages/db/dist').CardRecord) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/french/questions/vocab/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EACL,MAAM,EAGN,SAAS,EAGV,MAAM,sBAAsB,CAAC;AAmB9B,qBAAa,aAAc,SAAQ,QAAQ;IACzC,OAAc,UAAU,EAAE,SAAS,EAAE,CAKnC;IAEF,OAAc,KAAK;;;;;;;;;;sDAYmhB,CAAC,cAAc,CAAC;;;;;6CApB7hB,CAAC;;;;;;;mFAQY;IAE/B,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAGlC,UAAU,IAAI,SAAS,EAAE;IAGzB,KAAK;;;;;;;;;;sDAI0hB,CAAC,cAAc,CAAC;;;;;6CApB7hB,CAAC;;;;;;;;CAmB3B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/french/questions/vocab/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EACL,MAAM,EAGN,SAAS,EAGV,MAAM,sBAAsB,CAAC;AAmB9B,qBAAa,aAAc,SAAQ,QAAQ;IACzC,OAAc,UAAU,EAAE,SAAS,EAAE,CAKnC;IAEF,OAAc,KAAK;;;;;;;;;;sDAYwgB,CAAC,cAAc,CAAC;;;;;6CApB7hB,CAAC;;;;;;;mFAQuB;IAE/B,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAGlC,UAAU,IAAI,SAAS,EAAE;IAGzB,KAAK;;;;;;;;;;sDAI+gB,CAAC,cAAc,CAAC;;;;;6CApB7hB,CAAC;;;;;;;;CAmBhB"}
package/dist/index.cjs.js CHANGED
@@ -1,4 +1,4 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});require('./assets/index.css');const e=require(`./shapes-C_-mvrCc.cjs`),t=require(`./CourseWare-DSeyTAtH.cjs`),n=require(`./chess-BWes0jGA.cjs`),r=require(`./french-Bxet7hJm.cjs`),i=require(`./math-B1oDAkOy.cjs`),a=require(`./piano-CefQUc72.cjs`),o=require(`./pitch-C-lh9ezH.cjs`),s=require(`./sightsing-Cr_SJ5Vc.cjs`),c=require(`./typing-CK-glKhm.cjs`),l=require(`./word-work-fNbCLNuN.cjs`);let u=require(`vue`),d=require(`@vue-skuilder/common-ui`),f=require(`@vue-skuilder/common`),p=require(`@vue-skuilder/db`);var m=new t.t(`default`,[t.n]),h=(0,u.defineComponent)({name:`PianoRangeVisualizer`,props:{lowestNote:{type:Number,required:!0},highestNote:{type:Number,required:!0},maxWidth:{type:Number,default:1e3}},setup(e){let t=(0,u.ref)(null),n=(0,u.ref)(800),r=(0,u.computed)(()=>{let e=0;for(let t=21;t<=108;t++)isWhiteKey(t)&&e++;return e}),i=(0,u.computed)(()=>Math.min(22,n.value/Math.max(25,r.value))),a=(0,u.computed)(()=>i.value*.6),o=(0,u.computed)(()=>Math.min(e.maxWidth,i.value*r.value+10)),isWhiteKey=e=>{let t=e%12;return[0,2,4,5,7,9,11].includes(t)},getKeyPosition=e=>{let t=0;for(let n=21;n<e;n++)isWhiteKey(n)&&t++;return isWhiteKey(e)?t*i.value:t*i.value-a.value/2},getNoteLabel=e=>{let t=[`C`,`C#`,`D`,`D#`,`E`,`F`,`F#`,`G`,`G#`,`A`,`A#`,`B`],n=e%12,r=Math.floor(e/12)-1;return`${t[n]}${r}`};return(0,u.onMounted)(()=>{t.value&&(n.value=t.value.clientWidth,new ResizeObserver(e=>{for(let t of e)n.value=t.contentRect.width}).observe(t.value))}),{pianoWrapper:t,keyHeight:100,blackKeyHeight:60,whiteKeyWidth:i,blackKeyWidth:a,svgWidth:o,isWhiteKey,getKeyPosition,getNoteLabel}}}),g={class:`piano-range-container`},_={class:`piano-wrapper`,ref:`pianoWrapper`},v=[`width`,`height`],y={class:`background-keys`,opacity:`0.15`},b=[`x`,`width`,`height`],x=[`x`,`width`,`height`],S={class:`selected-range`},C=[`x`,`width`,`height`],w=[`x`,`width`,`height`],T={class:`range-markers`},E=[`x`,`height`],D=[`x`,`height`],O=[`x`,`y`],k=[`x`,`y`];function _sfc_render$1(e,t,n,r,i,a){return(0,u.openBlock)(),(0,u.createElementBlock)(`div`,g,[(0,u.createElementVNode)(`div`,_,[((0,u.openBlock)(),(0,u.createElementBlock)(`svg`,{width:e.svgWidth,height:e.keyHeight+20,class:`piano-svg`},[(0,u.createElementVNode)(`g`,y,[((0,u.openBlock)(),(0,u.createElementBlock)(u.Fragment,null,(0,u.renderList)(88,t=>((0,u.openBlock)(),(0,u.createElementBlock)(u.Fragment,{key:`bg-${t}`},[e.isWhiteKey(t+20)?((0,u.openBlock)(),(0,u.createElementBlock)(`rect`,{key:0,x:e.getKeyPosition(t+20),y:`0`,width:e.whiteKeyWidth,height:e.keyHeight,class:`white-key`,stroke:`#999`,"stroke-width":`1`},null,8,b)):(0,u.createCommentVNode)(``,!0)],64))),64)),((0,u.openBlock)(),(0,u.createElementBlock)(u.Fragment,null,(0,u.renderList)(88,t=>((0,u.openBlock)(),(0,u.createElementBlock)(u.Fragment,{key:`bg-black-${t}`},[e.isWhiteKey(t+20)?(0,u.createCommentVNode)(``,!0):((0,u.openBlock)(),(0,u.createElementBlock)(`rect`,{key:0,x:e.getKeyPosition(t+20),y:`0`,width:e.blackKeyWidth,height:e.blackKeyHeight,class:`black-key`},null,8,x))],64))),64))]),(0,u.createElementVNode)(`g`,S,[((0,u.openBlock)(),(0,u.createElementBlock)(u.Fragment,null,(0,u.renderList)(128,t=>((0,u.openBlock)(),(0,u.createElementBlock)(u.Fragment,{key:`white-${t}`},[e.isWhiteKey(t)&&t>=e.lowestNote&&t<=e.highestNote?((0,u.openBlock)(),(0,u.createElementBlock)(`rect`,{key:0,x:e.getKeyPosition(t),y:`0`,width:e.whiteKeyWidth,height:e.keyHeight,class:`white-key active`,stroke:`#666`,"stroke-width":`1`},null,8,C)):(0,u.createCommentVNode)(``,!0)],64))),64)),((0,u.openBlock)(),(0,u.createElementBlock)(u.Fragment,null,(0,u.renderList)(128,t=>((0,u.openBlock)(),(0,u.createElementBlock)(u.Fragment,{key:`black-${t}`},[!e.isWhiteKey(t)&&t>=e.lowestNote&&t<=e.highestNote?((0,u.openBlock)(),(0,u.createElementBlock)(`rect`,{key:0,x:e.getKeyPosition(t),y:`0`,width:e.blackKeyWidth,height:e.blackKeyHeight,class:`black-key active`},null,8,w)):(0,u.createCommentVNode)(``,!0)],64))),64))]),(0,u.createElementVNode)(`g`,T,[(0,u.createElementVNode)(`rect`,{x:e.getKeyPosition(e.lowestNote)-2,y:`0`,width:4,height:e.keyHeight+5,class:`range-marker start`},null,8,E),(0,u.createElementVNode)(`rect`,{x:e.getKeyPosition(e.highestNote)+e.whiteKeyWidth-2,y:`0`,width:4,height:e.keyHeight+5,class:`range-marker end`},null,8,D)]),(0,u.createElementVNode)(`text`,{x:e.getKeyPosition(e.lowestNote)+3,y:e.keyHeight+12,class:`note-label`},(0,u.toDisplayString)(e.getNoteLabel(e.lowestNote)),9,O),(0,u.createElementVNode)(`text`,{x:e.getKeyPosition(e.highestNote)+e.whiteKeyWidth-3,y:e.keyHeight+12,"text-anchor":`end`,class:`note-label`},(0,u.toDisplayString)(e.getNoteLabel(e.highestNote)),9,k)],8,v))],512)])}e.r(_sfc_render$1,`_sfc_render`);var A=t.r(h,[[`render`,_sfc_render$1],[`__scopeId`,`data-v-4b232a8b`]]),j=(0,u.defineComponent)({name:`MidiConfig`,components:{PianoRangeVisualizer:A},props:{_id:{type:String,required:!0},user:{type:Object,required:!0}},setup(e){let t=(0,u.ref)(),n=(0,u.ref)(!0),r=(0,u.ref)([]),i=(0,u.ref)([]),o=(0,u.ref)(``),s=(0,u.ref)(``),c=(0,u.ref)(!1),l=(0,u.ref)(``),m=(0,u.ref)(``),h=(0,u.ref)(!1),g=(0,u.ref)(`full-88`),_=(0,u.ref)(21),v=(0,u.ref)(108),y=(0,u.ref)(``),b=(0,u.ref)(0),x=(0,u.ref)(0),S=(0,u.ref)([]),initNoteOptions=()=>{let e=[`C`,`C#`,`D`,`D#`,`E`,`F`,`F#`,`G`,`G#`,`A`,`A#`,`B`],t=[];for(let n=0;n<=127;n++){let r=Math.floor(n/12)-1,i=e[n%12];t.push({title:`${i}${r} (${n})`,value:n})}S.value=t},C=(0,u.ref)([{title:`Full 88-key Piano (A0-C8)`,value:`full-88`},{title:`76-key Keyboard (E1-G7)`,value:`76-key`},{title:`61-key Keyboard (C2-C7)`,value:`61-key`},{title:`49-key Keyboard (C3-C7)`,value:`49-key`},{title:`37-key Keyboard (C3-C6)`,value:`37-key`},{title:`25-key Keyboard (C4-C6)`,value:`25-key`},{title:`Custom Range`,value:`custom`}]),checkConfigChanged=()=>{h.value=o.value!==l.value||s.value!==m.value||g.value!==y.value||g.value===`custom`&&(_.value!==b.value||v.value!==x.value)},updateCustomRangeFromPreset=()=>{switch(g.value){case`full-88`:_.value=21,v.value=108;break;case`76-key`:_.value=28,v.value=103;break;case`61-key`:_.value=36,v.value=96;break;case`49-key`:_.value=48,v.value=96;break;case`37-key`:_.value=48,v.value=84;break;case`25-key`:_.value=60,v.value=84;break}checkConfigChanged()},updateRangeAndCheckChanges=()=>{_.value>=v.value&&(v.value=_.value+12),checkConfigChanged()},playSound=()=>{t.value?.play([{note:{number:64,name:`E`,octave:4},type:`noteon`,velocity:.4251968503937008,timestamp:0},{note:{number:64,name:`E`,octave:4},velocity:.3779527559055118,type:`noteoff`,timestamp:511.90500000002794},{note:{number:60,name:`C`,octave:4},type:`noteon`,velocity:.5275590551181102,timestamp:535.8800000001211},{note:{number:60,name:`C`,octave:4},velocity:.33858267716535434,type:`noteoff`,timestamp:674.9899999999907},{note:{number:60,name:`C`,octave:4},type:`noteon`,velocity:.5590551181102362,timestamp:1070.8800000000047},{note:{number:60,name:`C`,octave:4},velocity:.3464566929133858,type:`noteoff`,timestamp:1214.8999999999069},{note:{number:64,name:`E`,octave:4},type:`noteon`,velocity:.5118110236220472,timestamp:1424.9400000000605},{note:{number:64,name:`E`,octave:4},velocity:.2755905511811024,type:`noteoff`,timestamp:1576.9150000000373},{note:{number:62,name:`D`,octave:4},type:`noteon`,velocity:.3937007874015748,timestamp:1756.9149999999208},{note:{number:62,name:`D`,octave:4},velocity:.36220472440944884,type:`noteoff`,timestamp:1926.9899999998743},{note:{number:60,name:`C`,octave:4},type:`noteon`,velocity:.5196850393700787,timestamp:1970.9600000000792},{note:{number:60,name:`C`,octave:4},velocity:.36220472440944884,type:`noteoff`,timestamp:2126.009999999893},{note:{number:60,name:`C`,octave:4},type:`noteon`,velocity:.5984251968503937,timestamp:2502.0050000000047},{note:{number:60,name:`C`,octave:4},velocity:.3858267716535433,type:`noteoff`,timestamp:2853.920000000042},{note:{number:67,name:`G`,octave:4},type:`noteon`,velocity:.6850393700787402,timestamp:2875.8649999999907},{note:{number:67,name:`G`,octave:4},velocity:.6377952755905512,type:`noteoff`,timestamp:4497.004999999888}])},indicateHeardNotes=e=>{(0,d.alertUser)({text:`I hear a ${e.note.name}!`,status:f.Status.ok})};(0,u.watch)(o,()=>{t.value?.selectInput(o.value),checkConfigChanged()}),(0,u.watch)(s,()=>{t.value?.selectOutput(s.value),checkConfigChanged()});let retrieveSettings=async()=>{let t=await(await e.user.getCourseInterface(e._id)).getCourseSettings();if(t?.midiinput){let e=t.midiinput.toString();r.value.some(t=>t.value===e)&&(o.value=e,l.value=e)}if(t?.midioutput){let e=t.midioutput.toString();i.value.some(t=>t.value===e)&&(s.value=e,m.value=e)}t?.keyboardRange&&(y.value=t.keyboardRange.toString(),g.value=y.value),t?.lowestNote&&(b.value=parseInt(t.lowestNote.toString()),_.value=b.value),t?.highestNote&&(x.value=parseInt(t.highestNote.toString()),v.value=x.value),t?.lowestNote&&t?.highestNote&&!t?.keyboardRange&&(g.value=`custom`),h.value=!1},saveSettings=async()=>{c.value=!0,(await(0,p.getDataLayer)().getUserDB().getCourseInterface(e._id)).updateCourseSettings([{key:`midiinput`,value:o.value},{key:`midioutput`,value:s.value},{key:`keyboardRange`,value:g.value},{key:`lowestNote`,value:_.value},{key:`highestNote`,value:v.value}]),l.value=o.value,m.value=s.value,y.value=g.value,b.value=_.value,x.value=v.value,h.value=!1,c.value=!1,(0,d.alertUser)({text:`Settings updated.`,status:f.Status.ok})};return(0,u.onMounted)(async()=>{initNoteOptions();try{t.value=await a.r.instance(),n.value=t.value.state===`ready`||t.value.state===`nodevice`}catch(e){console.log(`Error on midi Init: ${e}`),n.value=!1}n.value&&(t.value?.addNoteonListenter(indicateHeardNotes),t.value?(r.value=t.value.inputs.filter(e=>e.state===`connected`).map(e=>({title:`${e.manufacturer}: ${e.name}`,value:e.id})),i.value=t.value?.outputs.filter(e=>e.state===`connected`).map(e=>({title:`${e.manufacturer}: ${e.name}`,value:e.id}))):(r.value=[{title:`No inputs available`,value:``}],i.value=[{title:`No outputs available`,value:``}]),await retrieveSettings(),!o.value&&r.value.length>0&&(o.value=r.value[0].value),!s.value&&i.value.length>0&&(s.value=i.value[0].value))}),{midiSupported:n,inputs:r,outputs:i,selectedInput:o,selectedOutput:s,updatePending:c,playSound,saveSettings,configChanged:h,lowestNote:_,highestNote:v,keyboardRangeOptions:C,selectedKeyboardRange:g,noteOptions:S,updateCustomRangeFromPreset,updateRangeAndCheckChanges}}}),M={key:0,class:`custom-range-inputs d-flex gap-4`},N={class:`d-flex justify-space-between mt-3`},P={key:1};function _sfc_render(e,t,n,r,i,a){let o=(0,u.resolveComponent)(`v-toolbar-title`),s=(0,u.resolveComponent)(`v-toolbar`),c=(0,u.resolveComponent)(`v-select`),l=(0,u.resolveComponent)(`v-divider`),d=(0,u.resolveComponent)(`piano-range-visualizer`),f=(0,u.resolveComponent)(`v-btn`),p=(0,u.resolveComponent)(`v-form`),m=(0,u.resolveComponent)(`v-card-text`),h=(0,u.resolveComponent)(`v-card`);return(0,u.openBlock)(),(0,u.createBlock)(h,null,{default:(0,u.withCtx)(()=>[(0,u.createVNode)(s,{dense:``},{default:(0,u.withCtx)(()=>[(0,u.createVNode)(o,null,{default:(0,u.withCtx)(()=>t[5]||=[(0,u.createTextVNode)(`Configure Midi Device`)]),_:1})]),_:1}),(0,u.createVNode)(m,null,{default:(0,u.withCtx)(()=>[e.midiSupported?((0,u.openBlock)(),(0,u.createBlock)(p,{key:0,onsubmit:`return false;`},{default:(0,u.withCtx)(()=>[(0,u.createVNode)(c,{modelValue:e.selectedInput,"onUpdate:modelValue":t[0]||=t=>e.selectedInput=t,items:e.inputs,label:`Select Input`,hint:`Play some notes on your input device to test the connection`},null,8,[`modelValue`,`items`]),(0,u.createVNode)(c,{modelValue:e.selectedOutput,"onUpdate:modelValue":t[1]||=t=>e.selectedOutput=t,items:e.outputs,label:`Select Output`},null,8,[`modelValue`,`items`]),(0,u.createVNode)(l,{class:`my-4`}),t[8]||=(0,u.createElementVNode)(`h3`,{class:`text-subtitle-1 mb-2`},`Keyboard Range`,-1),(0,u.createVNode)(c,{modelValue:e.selectedKeyboardRange,"onUpdate:modelValue":[t[2]||=t=>e.selectedKeyboardRange=t,e.updateCustomRangeFromPreset],items:e.keyboardRangeOptions,label:`Select Keyboard Range`},null,8,[`modelValue`,`items`,`onUpdate:modelValue`]),e.selectedKeyboardRange===`custom`?((0,u.openBlock)(),(0,u.createElementBlock)(`div`,M,[(0,u.createVNode)(c,{modelValue:e.lowestNote,"onUpdate:modelValue":[t[3]||=t=>e.lowestNote=t,e.updateRangeAndCheckChanges],items:e.noteOptions,label:`Lowest Note`},null,8,[`modelValue`,`items`,`onUpdate:modelValue`]),(0,u.createVNode)(c,{modelValue:e.highestNote,"onUpdate:modelValue":[t[4]||=t=>e.highestNote=t,e.updateRangeAndCheckChanges],items:e.noteOptions,label:`Highest Note`},null,8,[`modelValue`,`items`,`onUpdate:modelValue`])])):(0,u.createCommentVNode)(``,!0),(0,u.createVNode)(d,{"lowest-note":e.lowestNote,"highest-note":e.highestNote},null,8,[`lowest-note`,`highest-note`]),(0,u.createElementVNode)(`div`,N,[(0,u.createVNode)(f,{color:`primary`,onClick:e.playSound},{default:(0,u.withCtx)(()=>t[6]||=[(0,u.createTextVNode)(`Test midi output`)]),_:1},8,[`onClick`]),(0,u.createVNode)(f,{loading:e.updatePending,disabled:!e.configChanged&&!e.updatePending,color:`info`,class:`save-button`,onClick:e.saveSettings},{default:(0,u.withCtx)(()=>t[7]||=[(0,u.createTextVNode)(` Save these settings `)]),_:1},8,[`loading`,`disabled`,`onClick`])])]),_:1})):((0,u.openBlock)(),(0,u.createElementBlock)(`div`,P,t[9]||=[(0,u.createElementVNode)(`p`,null,`This quilt requires a midi input device, which is not supported by this browser.`,-1),(0,u.createElementVNode)(`div`,null,[(0,u.createElementVNode)(`p`,null,`Try one of the following browsers:`),(0,u.createElementVNode)(`ul`,null,[(0,u.createElementVNode)(`li`,null,[(0,u.createElementVNode)(`a`,{href:`https://www.google.com/chrome/`},`Google Chrome`)]),(0,u.createElementVNode)(`li`,null,[(0,u.createElementVNode)(`a`,{href:`https://www.microsoft.com/edge`},`Microsoft Edge`)]),(0,u.createElementVNode)(`li`,null,[(0,u.createElementVNode)(`a`,{href:`https://brave.com/`},`Brave`)])])],-1)]))]),_:1})]),_:1})}var F=t.r(j,[[`render`,_sfc_render],[`__scopeId`,`data-v-6ee9020f`]]),I=d.useQuestionView;async function loadSubcourse(e){let t;switch(e){case`chess`:t=await Promise.resolve().then(()=>require(`./chess-BVYo88i5.cjs`));break;case`french`:t=await Promise.resolve().then(()=>require(`./french-x9P8RRn8.cjs`));break;case`math`:t=await Promise.resolve().then(()=>require(`./math-BWlIa6-l.cjs`));break;case`piano`:t=await Promise.resolve().then(()=>require(`./piano-Btvkzjfz.cjs`));break;case`pitch`:t=await Promise.resolve().then(()=>require(`./pitch-DsopN5IR.cjs`));break;case`sightSing`:t=await Promise.resolve().then(()=>require(`./sightsing-CtagQ0FJ.cjs`));break;case`typing`:t=await Promise.resolve().then(()=>require(`./typing-CBPjtwrg.cjs`));break;case`wordWork`:t=await Promise.resolve().then(()=>require(`./word-work-C5MTSapy.cjs`));break}let n=t.default;return L.courses.find(e=>e.name===n.name)||L.courses.push(n),n}async function loadAllSubcourses(){await Promise.all([`chess`,`french`,`math`,`piano`,`pitch`,`sightSing`,`typing`,`wordWork`].map(e=>loadSubcourse(e)))}var AllCourseWare=class{courseWareList;get courses(){return this.courseWareList}constructor(e){this.courseWareList=e}getCourseWare(e){return this.courseWareList.find(t=>t.name===e)}cachedRawViews=null;allViewsRaw(){if(!this.cachedRawViews){let e=this.allViews();this.cachedRawViews=Object.fromEntries(Object.entries(e).map(([e,t])=>[e,(0,u.markRaw)(t)]))}return this.cachedRawViews}allViews(){let e={};return this.courseWareList.forEach(t=>{Object.assign(e,t.allViewsMap)}),e}getView(e){let t;t=typeof e==`string`?f.NameSpacer.getViewDescriptor(e):e;let n=this.getCourseWare(t.course);if(n){let e=n.getQuestion(t.questionType);if(e){let r=e.views.find(e=>e.name===t.view);if(r)return r;throw console.error(`QuestionView ${t.view} not found in course ${t.course}
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});require('./assets/index.css');const e=require(`./shapes-C_-mvrCc.cjs`),t=require(`./CourseWare-DSeyTAtH.cjs`),n=require(`./chess-BWes0jGA.cjs`),r=require(`./french-Bxet7hJm.cjs`),i=require(`./math-zsjewdmk.cjs`),a=require(`./piano-CefQUc72.cjs`),o=require(`./pitch-C-lh9ezH.cjs`),s=require(`./sightsing-Cr_SJ5Vc.cjs`),c=require(`./typing-CK-glKhm.cjs`),l=require(`./word-work-fNbCLNuN.cjs`);let u=require(`vue`),d=require(`@vue-skuilder/common-ui`),f=require(`@vue-skuilder/common`),p=require(`@vue-skuilder/db`);var m=new t.t(`default`,[t.n]),h=(0,u.defineComponent)({name:`PianoRangeVisualizer`,props:{lowestNote:{type:Number,required:!0},highestNote:{type:Number,required:!0},maxWidth:{type:Number,default:1e3}},setup(e){let t=(0,u.ref)(null),n=(0,u.ref)(800),r=(0,u.computed)(()=>{let e=0;for(let t=21;t<=108;t++)isWhiteKey(t)&&e++;return e}),i=(0,u.computed)(()=>Math.min(22,n.value/Math.max(25,r.value))),a=(0,u.computed)(()=>i.value*.6),o=(0,u.computed)(()=>Math.min(e.maxWidth,i.value*r.value+10)),isWhiteKey=e=>{let t=e%12;return[0,2,4,5,7,9,11].includes(t)},getKeyPosition=e=>{let t=0;for(let n=21;n<e;n++)isWhiteKey(n)&&t++;return isWhiteKey(e)?t*i.value:t*i.value-a.value/2},getNoteLabel=e=>{let t=[`C`,`C#`,`D`,`D#`,`E`,`F`,`F#`,`G`,`G#`,`A`,`A#`,`B`],n=e%12,r=Math.floor(e/12)-1;return`${t[n]}${r}`};return(0,u.onMounted)(()=>{t.value&&(n.value=t.value.clientWidth,new ResizeObserver(e=>{for(let t of e)n.value=t.contentRect.width}).observe(t.value))}),{pianoWrapper:t,keyHeight:100,blackKeyHeight:60,whiteKeyWidth:i,blackKeyWidth:a,svgWidth:o,isWhiteKey,getKeyPosition,getNoteLabel}}}),g={class:`piano-range-container`},_={class:`piano-wrapper`,ref:`pianoWrapper`},v=[`width`,`height`],y={class:`background-keys`,opacity:`0.15`},b=[`x`,`width`,`height`],x=[`x`,`width`,`height`],S={class:`selected-range`},C=[`x`,`width`,`height`],w=[`x`,`width`,`height`],T={class:`range-markers`},E=[`x`,`height`],D=[`x`,`height`],O=[`x`,`y`],k=[`x`,`y`];function _sfc_render$1(e,t,n,r,i,a){return(0,u.openBlock)(),(0,u.createElementBlock)(`div`,g,[(0,u.createElementVNode)(`div`,_,[((0,u.openBlock)(),(0,u.createElementBlock)(`svg`,{width:e.svgWidth,height:e.keyHeight+20,class:`piano-svg`},[(0,u.createElementVNode)(`g`,y,[((0,u.openBlock)(),(0,u.createElementBlock)(u.Fragment,null,(0,u.renderList)(88,t=>((0,u.openBlock)(),(0,u.createElementBlock)(u.Fragment,{key:`bg-${t}`},[e.isWhiteKey(t+20)?((0,u.openBlock)(),(0,u.createElementBlock)(`rect`,{key:0,x:e.getKeyPosition(t+20),y:`0`,width:e.whiteKeyWidth,height:e.keyHeight,class:`white-key`,stroke:`#999`,"stroke-width":`1`},null,8,b)):(0,u.createCommentVNode)(``,!0)],64))),64)),((0,u.openBlock)(),(0,u.createElementBlock)(u.Fragment,null,(0,u.renderList)(88,t=>((0,u.openBlock)(),(0,u.createElementBlock)(u.Fragment,{key:`bg-black-${t}`},[e.isWhiteKey(t+20)?(0,u.createCommentVNode)(``,!0):((0,u.openBlock)(),(0,u.createElementBlock)(`rect`,{key:0,x:e.getKeyPosition(t+20),y:`0`,width:e.blackKeyWidth,height:e.blackKeyHeight,class:`black-key`},null,8,x))],64))),64))]),(0,u.createElementVNode)(`g`,S,[((0,u.openBlock)(),(0,u.createElementBlock)(u.Fragment,null,(0,u.renderList)(128,t=>((0,u.openBlock)(),(0,u.createElementBlock)(u.Fragment,{key:`white-${t}`},[e.isWhiteKey(t)&&t>=e.lowestNote&&t<=e.highestNote?((0,u.openBlock)(),(0,u.createElementBlock)(`rect`,{key:0,x:e.getKeyPosition(t),y:`0`,width:e.whiteKeyWidth,height:e.keyHeight,class:`white-key active`,stroke:`#666`,"stroke-width":`1`},null,8,C)):(0,u.createCommentVNode)(``,!0)],64))),64)),((0,u.openBlock)(),(0,u.createElementBlock)(u.Fragment,null,(0,u.renderList)(128,t=>((0,u.openBlock)(),(0,u.createElementBlock)(u.Fragment,{key:`black-${t}`},[!e.isWhiteKey(t)&&t>=e.lowestNote&&t<=e.highestNote?((0,u.openBlock)(),(0,u.createElementBlock)(`rect`,{key:0,x:e.getKeyPosition(t),y:`0`,width:e.blackKeyWidth,height:e.blackKeyHeight,class:`black-key active`},null,8,w)):(0,u.createCommentVNode)(``,!0)],64))),64))]),(0,u.createElementVNode)(`g`,T,[(0,u.createElementVNode)(`rect`,{x:e.getKeyPosition(e.lowestNote)-2,y:`0`,width:4,height:e.keyHeight+5,class:`range-marker start`},null,8,E),(0,u.createElementVNode)(`rect`,{x:e.getKeyPosition(e.highestNote)+e.whiteKeyWidth-2,y:`0`,width:4,height:e.keyHeight+5,class:`range-marker end`},null,8,D)]),(0,u.createElementVNode)(`text`,{x:e.getKeyPosition(e.lowestNote)+3,y:e.keyHeight+12,class:`note-label`},(0,u.toDisplayString)(e.getNoteLabel(e.lowestNote)),9,O),(0,u.createElementVNode)(`text`,{x:e.getKeyPosition(e.highestNote)+e.whiteKeyWidth-3,y:e.keyHeight+12,"text-anchor":`end`,class:`note-label`},(0,u.toDisplayString)(e.getNoteLabel(e.highestNote)),9,k)],8,v))],512)])}e.r(_sfc_render$1,`_sfc_render`);var A=t.r(h,[[`render`,_sfc_render$1],[`__scopeId`,`data-v-4b232a8b`]]),j=(0,u.defineComponent)({name:`MidiConfig`,components:{PianoRangeVisualizer:A},props:{_id:{type:String,required:!0},user:{type:Object,required:!0}},setup(e){let t=(0,u.ref)(),n=(0,u.ref)(!0),r=(0,u.ref)([]),i=(0,u.ref)([]),o=(0,u.ref)(``),s=(0,u.ref)(``),c=(0,u.ref)(!1),l=(0,u.ref)(``),m=(0,u.ref)(``),h=(0,u.ref)(!1),g=(0,u.ref)(`full-88`),_=(0,u.ref)(21),v=(0,u.ref)(108),y=(0,u.ref)(``),b=(0,u.ref)(0),x=(0,u.ref)(0),S=(0,u.ref)([]),initNoteOptions=()=>{let e=[`C`,`C#`,`D`,`D#`,`E`,`F`,`F#`,`G`,`G#`,`A`,`A#`,`B`],t=[];for(let n=0;n<=127;n++){let r=Math.floor(n/12)-1,i=e[n%12];t.push({title:`${i}${r} (${n})`,value:n})}S.value=t},C=(0,u.ref)([{title:`Full 88-key Piano (A0-C8)`,value:`full-88`},{title:`76-key Keyboard (E1-G7)`,value:`76-key`},{title:`61-key Keyboard (C2-C7)`,value:`61-key`},{title:`49-key Keyboard (C3-C7)`,value:`49-key`},{title:`37-key Keyboard (C3-C6)`,value:`37-key`},{title:`25-key Keyboard (C4-C6)`,value:`25-key`},{title:`Custom Range`,value:`custom`}]),checkConfigChanged=()=>{h.value=o.value!==l.value||s.value!==m.value||g.value!==y.value||g.value===`custom`&&(_.value!==b.value||v.value!==x.value)},updateCustomRangeFromPreset=()=>{switch(g.value){case`full-88`:_.value=21,v.value=108;break;case`76-key`:_.value=28,v.value=103;break;case`61-key`:_.value=36,v.value=96;break;case`49-key`:_.value=48,v.value=96;break;case`37-key`:_.value=48,v.value=84;break;case`25-key`:_.value=60,v.value=84;break}checkConfigChanged()},updateRangeAndCheckChanges=()=>{_.value>=v.value&&(v.value=_.value+12),checkConfigChanged()},playSound=()=>{t.value?.play([{note:{number:64,name:`E`,octave:4},type:`noteon`,velocity:.4251968503937008,timestamp:0},{note:{number:64,name:`E`,octave:4},velocity:.3779527559055118,type:`noteoff`,timestamp:511.90500000002794},{note:{number:60,name:`C`,octave:4},type:`noteon`,velocity:.5275590551181102,timestamp:535.8800000001211},{note:{number:60,name:`C`,octave:4},velocity:.33858267716535434,type:`noteoff`,timestamp:674.9899999999907},{note:{number:60,name:`C`,octave:4},type:`noteon`,velocity:.5590551181102362,timestamp:1070.8800000000047},{note:{number:60,name:`C`,octave:4},velocity:.3464566929133858,type:`noteoff`,timestamp:1214.8999999999069},{note:{number:64,name:`E`,octave:4},type:`noteon`,velocity:.5118110236220472,timestamp:1424.9400000000605},{note:{number:64,name:`E`,octave:4},velocity:.2755905511811024,type:`noteoff`,timestamp:1576.9150000000373},{note:{number:62,name:`D`,octave:4},type:`noteon`,velocity:.3937007874015748,timestamp:1756.9149999999208},{note:{number:62,name:`D`,octave:4},velocity:.36220472440944884,type:`noteoff`,timestamp:1926.9899999998743},{note:{number:60,name:`C`,octave:4},type:`noteon`,velocity:.5196850393700787,timestamp:1970.9600000000792},{note:{number:60,name:`C`,octave:4},velocity:.36220472440944884,type:`noteoff`,timestamp:2126.009999999893},{note:{number:60,name:`C`,octave:4},type:`noteon`,velocity:.5984251968503937,timestamp:2502.0050000000047},{note:{number:60,name:`C`,octave:4},velocity:.3858267716535433,type:`noteoff`,timestamp:2853.920000000042},{note:{number:67,name:`G`,octave:4},type:`noteon`,velocity:.6850393700787402,timestamp:2875.8649999999907},{note:{number:67,name:`G`,octave:4},velocity:.6377952755905512,type:`noteoff`,timestamp:4497.004999999888}])},indicateHeardNotes=e=>{(0,d.alertUser)({text:`I hear a ${e.note.name}!`,status:f.Status.ok})};(0,u.watch)(o,()=>{t.value?.selectInput(o.value),checkConfigChanged()}),(0,u.watch)(s,()=>{t.value?.selectOutput(s.value),checkConfigChanged()});let retrieveSettings=async()=>{let t=await(await e.user.getCourseInterface(e._id)).getCourseSettings();if(t?.midiinput){let e=t.midiinput.toString();r.value.some(t=>t.value===e)&&(o.value=e,l.value=e)}if(t?.midioutput){let e=t.midioutput.toString();i.value.some(t=>t.value===e)&&(s.value=e,m.value=e)}t?.keyboardRange&&(y.value=t.keyboardRange.toString(),g.value=y.value),t?.lowestNote&&(b.value=parseInt(t.lowestNote.toString()),_.value=b.value),t?.highestNote&&(x.value=parseInt(t.highestNote.toString()),v.value=x.value),t?.lowestNote&&t?.highestNote&&!t?.keyboardRange&&(g.value=`custom`),h.value=!1},saveSettings=async()=>{c.value=!0,(await(0,p.getDataLayer)().getUserDB().getCourseInterface(e._id)).updateCourseSettings([{key:`midiinput`,value:o.value},{key:`midioutput`,value:s.value},{key:`keyboardRange`,value:g.value},{key:`lowestNote`,value:_.value},{key:`highestNote`,value:v.value}]),l.value=o.value,m.value=s.value,y.value=g.value,b.value=_.value,x.value=v.value,h.value=!1,c.value=!1,(0,d.alertUser)({text:`Settings updated.`,status:f.Status.ok})};return(0,u.onMounted)(async()=>{initNoteOptions();try{t.value=await a.r.instance(),n.value=t.value.state===`ready`||t.value.state===`nodevice`}catch(e){console.log(`Error on midi Init: ${e}`),n.value=!1}n.value&&(t.value?.addNoteonListenter(indicateHeardNotes),t.value?(r.value=t.value.inputs.filter(e=>e.state===`connected`).map(e=>({title:`${e.manufacturer}: ${e.name}`,value:e.id})),i.value=t.value?.outputs.filter(e=>e.state===`connected`).map(e=>({title:`${e.manufacturer}: ${e.name}`,value:e.id}))):(r.value=[{title:`No inputs available`,value:``}],i.value=[{title:`No outputs available`,value:``}]),await retrieveSettings(),!o.value&&r.value.length>0&&(o.value=r.value[0].value),!s.value&&i.value.length>0&&(s.value=i.value[0].value))}),{midiSupported:n,inputs:r,outputs:i,selectedInput:o,selectedOutput:s,updatePending:c,playSound,saveSettings,configChanged:h,lowestNote:_,highestNote:v,keyboardRangeOptions:C,selectedKeyboardRange:g,noteOptions:S,updateCustomRangeFromPreset,updateRangeAndCheckChanges}}}),M={key:0,class:`custom-range-inputs d-flex gap-4`},N={class:`d-flex justify-space-between mt-3`},P={key:1};function _sfc_render(e,t,n,r,i,a){let o=(0,u.resolveComponent)(`v-toolbar-title`),s=(0,u.resolveComponent)(`v-toolbar`),c=(0,u.resolveComponent)(`v-select`),l=(0,u.resolveComponent)(`v-divider`),d=(0,u.resolveComponent)(`piano-range-visualizer`),f=(0,u.resolveComponent)(`v-btn`),p=(0,u.resolveComponent)(`v-form`),m=(0,u.resolveComponent)(`v-card-text`),h=(0,u.resolveComponent)(`v-card`);return(0,u.openBlock)(),(0,u.createBlock)(h,null,{default:(0,u.withCtx)(()=>[(0,u.createVNode)(s,{dense:``},{default:(0,u.withCtx)(()=>[(0,u.createVNode)(o,null,{default:(0,u.withCtx)(()=>t[5]||=[(0,u.createTextVNode)(`Configure Midi Device`)]),_:1})]),_:1}),(0,u.createVNode)(m,null,{default:(0,u.withCtx)(()=>[e.midiSupported?((0,u.openBlock)(),(0,u.createBlock)(p,{key:0,onsubmit:`return false;`},{default:(0,u.withCtx)(()=>[(0,u.createVNode)(c,{modelValue:e.selectedInput,"onUpdate:modelValue":t[0]||=t=>e.selectedInput=t,items:e.inputs,label:`Select Input`,hint:`Play some notes on your input device to test the connection`},null,8,[`modelValue`,`items`]),(0,u.createVNode)(c,{modelValue:e.selectedOutput,"onUpdate:modelValue":t[1]||=t=>e.selectedOutput=t,items:e.outputs,label:`Select Output`},null,8,[`modelValue`,`items`]),(0,u.createVNode)(l,{class:`my-4`}),t[8]||=(0,u.createElementVNode)(`h3`,{class:`text-subtitle-1 mb-2`},`Keyboard Range`,-1),(0,u.createVNode)(c,{modelValue:e.selectedKeyboardRange,"onUpdate:modelValue":[t[2]||=t=>e.selectedKeyboardRange=t,e.updateCustomRangeFromPreset],items:e.keyboardRangeOptions,label:`Select Keyboard Range`},null,8,[`modelValue`,`items`,`onUpdate:modelValue`]),e.selectedKeyboardRange===`custom`?((0,u.openBlock)(),(0,u.createElementBlock)(`div`,M,[(0,u.createVNode)(c,{modelValue:e.lowestNote,"onUpdate:modelValue":[t[3]||=t=>e.lowestNote=t,e.updateRangeAndCheckChanges],items:e.noteOptions,label:`Lowest Note`},null,8,[`modelValue`,`items`,`onUpdate:modelValue`]),(0,u.createVNode)(c,{modelValue:e.highestNote,"onUpdate:modelValue":[t[4]||=t=>e.highestNote=t,e.updateRangeAndCheckChanges],items:e.noteOptions,label:`Highest Note`},null,8,[`modelValue`,`items`,`onUpdate:modelValue`])])):(0,u.createCommentVNode)(``,!0),(0,u.createVNode)(d,{"lowest-note":e.lowestNote,"highest-note":e.highestNote},null,8,[`lowest-note`,`highest-note`]),(0,u.createElementVNode)(`div`,N,[(0,u.createVNode)(f,{color:`primary`,onClick:e.playSound},{default:(0,u.withCtx)(()=>t[6]||=[(0,u.createTextVNode)(`Test midi output`)]),_:1},8,[`onClick`]),(0,u.createVNode)(f,{loading:e.updatePending,disabled:!e.configChanged&&!e.updatePending,color:`info`,class:`save-button`,onClick:e.saveSettings},{default:(0,u.withCtx)(()=>t[7]||=[(0,u.createTextVNode)(` Save these settings `)]),_:1},8,[`loading`,`disabled`,`onClick`])])]),_:1})):((0,u.openBlock)(),(0,u.createElementBlock)(`div`,P,t[9]||=[(0,u.createElementVNode)(`p`,null,`This quilt requires a midi input device, which is not supported by this browser.`,-1),(0,u.createElementVNode)(`div`,null,[(0,u.createElementVNode)(`p`,null,`Try one of the following browsers:`),(0,u.createElementVNode)(`ul`,null,[(0,u.createElementVNode)(`li`,null,[(0,u.createElementVNode)(`a`,{href:`https://www.google.com/chrome/`},`Google Chrome`)]),(0,u.createElementVNode)(`li`,null,[(0,u.createElementVNode)(`a`,{href:`https://www.microsoft.com/edge`},`Microsoft Edge`)]),(0,u.createElementVNode)(`li`,null,[(0,u.createElementVNode)(`a`,{href:`https://brave.com/`},`Brave`)])])],-1)]))]),_:1})]),_:1})}var F=t.r(j,[[`render`,_sfc_render],[`__scopeId`,`data-v-6ee9020f`]]),I=d.useQuestionView;async function loadSubcourse(e){let t;switch(e){case`chess`:t=await Promise.resolve().then(()=>require(`./chess-BVYo88i5.cjs`));break;case`french`:t=await Promise.resolve().then(()=>require(`./french-x9P8RRn8.cjs`));break;case`math`:t=await Promise.resolve().then(()=>require(`./math-BJccNJiQ.cjs`));break;case`piano`:t=await Promise.resolve().then(()=>require(`./piano-Btvkzjfz.cjs`));break;case`pitch`:t=await Promise.resolve().then(()=>require(`./pitch-DsopN5IR.cjs`));break;case`sightSing`:t=await Promise.resolve().then(()=>require(`./sightsing-CtagQ0FJ.cjs`));break;case`typing`:t=await Promise.resolve().then(()=>require(`./typing-CBPjtwrg.cjs`));break;case`wordWork`:t=await Promise.resolve().then(()=>require(`./word-work-C5MTSapy.cjs`));break}let n=t.default;return L.courses.find(e=>e.name===n.name)||L.courses.push(n),n}async function loadAllSubcourses(){await Promise.all([`chess`,`french`,`math`,`piano`,`pitch`,`sightSing`,`typing`,`wordWork`].map(e=>loadSubcourse(e)))}var AllCourseWare=class{courseWareList;get courses(){return this.courseWareList}constructor(e){this.courseWareList=e}getCourseWare(e){return this.courseWareList.find(t=>t.name===e)}cachedRawViews=null;allViewsRaw(){if(!this.cachedRawViews){let e=this.allViews();this.cachedRawViews=Object.fromEntries(Object.entries(e).map(([e,t])=>[e,(0,u.markRaw)(t)]))}return this.cachedRawViews}allViews(){let e={};return this.courseWareList.forEach(t=>{Object.assign(e,t.allViewsMap)}),e}getView(e){let t;t=typeof e==`string`?f.NameSpacer.getViewDescriptor(e):e;let n=this.getCourseWare(t.course);if(n){let e=n.getQuestion(t.questionType);if(e){let r=e.views.find(e=>e.name===t.view);if(r)return r;throw console.error(`QuestionView ${t.view} not found in course ${t.course}
2
2
 
3
3
  descriptor: ${JSON.stringify(t)}
4
4
 
package/dist/index.mjs CHANGED
@@ -2,7 +2,7 @@ import { r as e, t } from "./shapes-BQUVJdp5.js";
2
2
  import { i as n, n as r, r as i, t as a } from "./CourseWare-BTFRjgBR.js";
3
3
  import { t as o } from "./chess-E2uOAyQS.js";
4
4
  import { t as s } from "./french-Dk7YG8Td.js";
5
- import { t as c } from "./math-B4HbgYf6.js";
5
+ import { t as c } from "./math-D_8HiEQR.js";
6
6
  import { a as l, i as u, n as d, o as f, r as p, t as m } from "./piano-DF1g6yaX.js";
7
7
  import { t as h } from "./pitch-CgGJFkZ1.js";
8
8
  import { t as g } from "./sightsing-BFQ7HRig.js";
@@ -627,7 +627,7 @@ async function loadSubcourse(e) {
627
627
  t = await import("./french-evUMlbbq.js");
628
628
  break;
629
629
  case "math":
630
- t = await import("./math-DYni7rRl.js");
630
+ t = await import("./math-DR3fXDcX.js");
631
631
  break;
632
632
  case "piano":
633
633
  t = await import("./piano-BN5Btq91.js");
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/math/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAU3C,QAAA,MAAM,IAAI,EAAE,UASV,CAAC;AAEH,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/math/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAa3C,QAAA,MAAM,IAAI,EAAE,UAYV,CAAC;AAEH,eAAe,IAAI,CAAC"}
@@ -23,7 +23,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
23
23
  submitAnswer: (answer: import('@vue-skuilder/common').Answer, submittingClass?: string, opts?: import('@vue-skuilder/common-ui').SubmitAnswerOpts) => import('packages/db/dist').QuestionRecord;
24
24
  startTime: import('vue').Ref<moment.Moment>;
25
25
  hotKeys: import('vue').Ref<import('@vue-skuilder/common-ui').HotKey[]>;
26
- timeSpent: import('vue').ComputedRef<number>;
26
+ timeSpent: Readonly<import('vue').Ref<number>>;
27
27
  logger: import('@vue-skuilder/common-ui').ViewableLogger;
28
28
  getURL: (item: string, dataShapeIndex?: number) => string;
29
29
  emitResponse: (record: import('packages/db/dist').CardRecord) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"horizontal.vue.d.ts","sourceRoot":"","sources":["../../../../src/math/questions/addition/horizontal.vue"],"names":[],"mappings":"AAQA;AAiEA,OAAO,EAAkC,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC/D,OAAO,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC;AAEtD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;;;cAW3B,QAAQ,CAAC,QAAQ,EAAE,CAAC;;;;;;;;;;;;;;;;;iFAdzC,CATE,cASF,CARG;;;;;yCAQH,CAlDW;;;;cAgEU,QAAQ,CAAC,QAAQ,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;AATzC,wBA8CG"}
1
+ {"version":3,"file":"horizontal.vue.d.ts","sourceRoot":"","sources":["../../../../src/math/questions/addition/horizontal.vue"],"names":[],"mappings":"AAQA;AAiEA,OAAO,EAAkC,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC/D,OAAO,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC;AAEtD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;;;cAW3B,QAAQ,CAAC,QAAQ,EAAE,CAAC;;;;;;;;;;;;;;;;;iFAdzC,CAVe,cAUf,CATM;;;;;yCASN,CAlDA;;;;cAgEqB,QAAQ,CAAC,QAAQ,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;AATzC,wBA8CG"}
@@ -23,7 +23,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
23
23
  submitAnswer: (answer: import('@vue-skuilder/common').Answer, submittingClass?: string, opts?: import('@vue-skuilder/common-ui').SubmitAnswerOpts) => import('packages/db/dist').QuestionRecord;
24
24
  startTime: import('vue').Ref<moment.Moment>;
25
25
  hotKeys: import('vue').Ref<import('@vue-skuilder/common-ui').HotKey[]>;
26
- timeSpent: import('vue').ComputedRef<number>;
26
+ timeSpent: Readonly<import('vue').Ref<number>>;
27
27
  logger: import('@vue-skuilder/common-ui').ViewableLogger;
28
28
  getURL: (item: string, dataShapeIndex?: number) => string;
29
29
  emitResponse: (record: import('packages/db/dist').CardRecord) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"verbal.vue.d.ts","sourceRoot":"","sources":["../../../../src/math/questions/addition/verbal.vue"],"names":[],"mappings":"AAQA;AAiEA,OAAO,EAAkC,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC/D,OAAO,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC;AAEtD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;;;cAW3B,QAAQ,CAAC,QAAQ,EAAE,CAAC;;;;;;;;;;;;;;;;;iFAdzC,CATU,cASV,CARW;;;;;yCAQX,CAlDW;;;;cAgEU,QAAQ,CAAC,QAAQ,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;AATzC,wBA8CG"}
1
+ {"version":3,"file":"verbal.vue.d.ts","sourceRoot":"","sources":["../../../../src/math/questions/addition/verbal.vue"],"names":[],"mappings":"AAQA;AAiEA,OAAO,EAAkC,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC/D,OAAO,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC;AAEtD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;;;cAW3B,QAAQ,CAAC,QAAQ,EAAE,CAAC;;;;;;;;;;;;;;;;;iFAdzC,CAVuB,cAUvB,CARA;;;;;yCAQA,CAlDA;;;;cAgEqB,QAAQ,CAAC,QAAQ,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;AATzC,wBA8CG"}
@@ -15,7 +15,7 @@ declare const _default: import('vue').DefineComponent<{
15
15
  submitAnswer: (answer: import('@vue-skuilder/common').Answer, submittingClass?: string, opts?: import('@vue-skuilder/common-ui').SubmitAnswerOpts) => import('packages/db/dist').QuestionRecord;
16
16
  startTime: import('vue').Ref<moment.Moment>;
17
17
  hotKeys: import('vue').Ref<import('@vue-skuilder/common-ui').HotKey[]>;
18
- timeSpent: import('vue').ComputedRef<number>;
18
+ timeSpent: Readonly<import('vue').Ref<number>>;
19
19
  logger: import('@vue-skuilder/common-ui').ViewableLogger;
20
20
  getURL: (item: string, dataShapeIndex?: number) => string;
21
21
  emitResponse: (record: import('packages/db/dist').CardRecord) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"angleCategorize.vue.d.ts","sourceRoot":"","sources":["../../../../src/math/questions/angleCategorize/angleCategorize.vue"],"names":[],"mappings":"AAUA;AAmHA,OAAO,EAA6C,QAAQ,EAAE,MAAM,KAAK,CAAC;AAE1E,OAAO,EAAE,eAAe,EAAmB,MAAM,SAAS,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;;;;;;;;;;;;iFAHhD,CAhEa,cAgEb,CAhE4B;;;;;yCAgE5B,CArGgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2GhB,wBAqFG"}
1
+ {"version":3,"file":"angleCategorize.vue.d.ts","sourceRoot":"","sources":["../../../../src/math/questions/angleCategorize/angleCategorize.vue"],"names":[],"mappings":"AAUA;AAmHA,OAAO,EAA6C,QAAQ,EAAE,MAAM,KAAK,CAAC;AAE1E,OAAO,EAAE,eAAe,EAAmB,MAAM,SAAS,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;;;;;;;;;;;;iFAHhD,CAhEE,cAgEF,CAhEiB;;;;;yCAgEjB,CArGK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2GL,wBAqFG"}
@@ -26,7 +26,7 @@ export declare class AngleCategorize extends Question {
26
26
  submitAnswer: (answer: import('@vue-skuilder/common').Answer, submittingClass?: string, opts?: import('@vue-skuilder/common-ui').SubmitAnswerOpts) => import('packages/db/dist').QuestionRecord;
27
27
  startTime: import('vue').Ref<moment.Moment>;
28
28
  hotKeys: import('vue').Ref<import('@vue-skuilder/common-ui').HotKey[]>;
29
- timeSpent: import('vue').ComputedRef<number>;
29
+ timeSpent: Readonly<import('vue').Ref<number>>;
30
30
  logger: import('@vue-skuilder/common-ui').ViewableLogger;
31
31
  getURL: (item: string, dataShapeIndex?: number) => string;
32
32
  emitResponse: (record: import('packages/db/dist').CardRecord) => void;
@@ -292,7 +292,7 @@ export declare class AngleCategorize extends Question {
292
292
  submitAnswer: (answer: import('@vue-skuilder/common').Answer, submittingClass?: string, opts?: import('@vue-skuilder/common-ui').SubmitAnswerOpts) => import('packages/db/dist').QuestionRecord;
293
293
  startTime: import('vue').Ref<moment.Moment>;
294
294
  hotKeys: import('vue').Ref<import('@vue-skuilder/common-ui').HotKey[]>;
295
- timeSpent: import('vue').ComputedRef<number>;
295
+ timeSpent: Readonly<import('vue').Ref<number>>;
296
296
  logger: import('@vue-skuilder/common-ui').ViewableLogger;
297
297
  getURL: (item: string, dataShapeIndex?: number) => string;
298
298
  emitResponse: (record: import('packages/db/dist').CardRecord) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/math/questions/angleCategorize/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,yBAAyB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAqB,MAAM,sBAAsB,CAAC;AA2BlF,oBAAY,eAAe;IACzB,KAAK,UAAU;IACf,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,MAAM,WAAW;CAClB;AAUD,qBAAa,eAAgB,SAAQ,QAAQ;IAC3C,OAAc,UAAU;;;QAKtB;IAEF,OAAc,KAAK;;;;;;;;;;;qFAOL,CAAC,cAAc,CAAC;;;;;6CAjD1B,CAAD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2EA0CsC;IAElC,aAAa,EAAE,eAAe,CAAC;IAC/B,OAAO,EAAE,MAAM,EAAE,CAAC;gBAEb,IAAI,EAAE,QAAQ,EAAE;IAYrB,SAAS,CAAC,MAAM,EAAE,yBAAyB;IAI3C,UAAU;;;;IAIV,KAAK;;;;;;;;;;;qFAlBE,CAAC,cAAc,CAAC;;;;;6CAjD1B,CAAD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsEJ"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/math/questions/angleCategorize/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,yBAAyB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAqB,MAAM,sBAAsB,CAAC;AA2BlF,oBAAY,eAAe;IACzB,KAAK,UAAU;IACf,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,MAAM,WAAW;CAClB;AAUD,qBAAa,eAAgB,SAAQ,QAAQ;IAC3C,OAAc,UAAU;;;QAKtB;IAEF,OAAc,KAAK;;;;;;;;;;;qFAOhB,CAAC,cAAc,CAAC;;;;;6CAlDa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2EA2CQ;IAElC,aAAa,EAAE,eAAe,CAAC;IAC/B,OAAO,EAAE,MAAM,EAAE,CAAC;gBAEb,IAAI,EAAE,QAAQ,EAAE;IAYrB,SAAS,CAAC,MAAM,EAAE,yBAAyB;IAI3C,UAAU;;;;IAIV,KAAK;;;;;;;;;;;qFAlBT,CAAC,cAAc,CAAC;;;;;6CAlDa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuElC"}
@@ -0,0 +1,59 @@
1
+ import { PropType } from 'vue';
2
+ import { BridgeTen } from './index';
3
+ import { ViewData } from '@vue-skuilder/common';
4
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
5
+ data: {
6
+ type: PropType<ViewData[]>;
7
+ required: true;
8
+ };
9
+ modifyDifficulty: {
10
+ type: NumberConstructor;
11
+ required: false;
12
+ default: number;
13
+ };
14
+ }>, {
15
+ answer: import('vue').Ref<string, string>;
16
+ question: import('vue').ComputedRef<BridgeTen | undefined>;
17
+ priorSessionViews: import('vue').Ref<number>;
18
+ priorAttempts: import('vue').Ref<number>;
19
+ priorAnswers: import('vue').Ref<[import('@vue-skuilder/common').Answer, string][]>;
20
+ maxAttemptsPerView: import('vue').Ref<number>;
21
+ maxSessionViews: import('vue').Ref<number>;
22
+ submitAnswer: (answer: import('@vue-skuilder/common').Answer, submittingClass?: string, opts?: import('@vue-skuilder/common-ui').SubmitAnswerOpts) => import('packages/db/dist').QuestionRecord;
23
+ startTime: import('vue').Ref<moment.Moment>;
24
+ hotKeys: import('vue').Ref<import('@vue-skuilder/common-ui').HotKey[]>;
25
+ timeSpent: Readonly<import('vue').Ref<number>>;
26
+ logger: import('@vue-skuilder/common-ui').ViewableLogger;
27
+ getURL: (item: string, dataShapeIndex?: number) => string;
28
+ emitResponse: (record: import('packages/db/dist').CardRecord) => void;
29
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
30
+ data: {
31
+ type: PropType<ViewData[]>;
32
+ required: true;
33
+ };
34
+ modifyDifficulty: {
35
+ type: NumberConstructor;
36
+ required: false;
37
+ default: number;
38
+ };
39
+ }>> & Readonly<{}>, {
40
+ modifyDifficulty: number;
41
+ }, {}, {
42
+ UserInputNumber: import('vue').DefineComponent<{}, {}, {}, {}, {
43
+ mounted(this: any): void;
44
+ isNumeric(s: string): boolean;
45
+ makeNumeric(num: import('@vue-skuilder/common').Answer): number;
46
+ }, import('vue').ComponentOptionsMixin, import('vue').DefineComponent<{}, {}, {
47
+ answer: import('@vue-skuilder/common').Answer;
48
+ previewModeStore: ReturnType<typeof import('@vue-skuilder/common-ui').useCardPreviewModeStore> | null;
49
+ }, {
50
+ autofocus(): boolean;
51
+ autoFocus(): boolean;
52
+ }, {
53
+ submitAnswer(answer: import('@vue-skuilder/common').Answer): import('packages/db/dist').QuestionRecord;
54
+ submit(answer: import('@vue-skuilder/common').Answer): any;
55
+ getQuestionViewAncestor(): import('@vue-skuilder/common-ui').ViewComponent;
56
+ }, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>, {}, string, import('vue').PublicProps, Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
57
+ }, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
58
+ export default _default;
59
+ //# sourceMappingURL=compact.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compact.vue.d.ts","sourceRoot":"","sources":["../../../../src/math/questions/bridgeTen/compact.vue"],"names":[],"mappings":"AAQA;AAsDA,OAAO,EAAkC,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;;;cAW3B,QAAQ,CAAC,QAAQ,EAAE,CAAC;;;;;;;;;;;;;;;;iFAZO,CAAC,cAAc,CAAC;;;;;yCAFhE,CAzC+C;;;;cAuD1B,QAAQ,CAAC,QAAQ,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;AATzC,wBAmCG"}
@@ -0,0 +1,23 @@
1
+ import { Question, ViewComponent } from '@vue-skuilder/common-ui';
2
+ import { Answer, SeedMeta, ViewData } from '@vue-skuilder/common';
3
+ type BridgeItem = {
4
+ a: number;
5
+ b: number;
6
+ };
7
+ export declare class BridgeTen extends Question {
8
+ static dataShapes: import('@vue-skuilder/common').DataShape[];
9
+ static views: ViewComponent[];
10
+ a: number;
11
+ b: number;
12
+ static seedData: BridgeItem[];
13
+ static seedMeta: (item: unknown) => SeedMeta;
14
+ static acceptsUserData: boolean;
15
+ constructor(data: ViewData[]);
16
+ /** What `a` needs to make 10. */
17
+ get toTen(): number;
18
+ isCorrect(answer: Answer): boolean;
19
+ dataShapes(): import('@vue-skuilder/common').DataShape[];
20
+ views(): any[];
21
+ }
22
+ export {};
23
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/math/questions/bridgeTen/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAKlE,KAAK,UAAU,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AA2B3C,qBAAa,SAAU,SAAQ,QAAQ;IACrC,OAAc,UAAU,6CAAwB;IAEhD,OAAc,KAAK,EAAE,aAAa,EAAE,CAAuB;IAEpD,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IAEjB,OAAc,QAAQ,eAAU;IAChC,OAAc,QAAQ,SAjBA,OAAO,KAAG,QAAQ,CAiBN;IAClC,OAAc,eAAe,UAAS;gBAE1B,IAAI,EAAE,QAAQ,EAAE;IAM5B,iCAAiC;IACjC,IAAW,KAAK,IAAI,MAAM,CAEzB;IAEM,SAAS,CAAC,MAAM,EAAE,MAAM;IAIxB,UAAU;IAIV,KAAK;CAGb"}
@@ -0,0 +1,59 @@
1
+ import { PropType } from 'vue';
2
+ import { BridgeTen } from './index';
3
+ import { ViewData } from '@vue-skuilder/common';
4
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
5
+ data: {
6
+ type: PropType<ViewData[]>;
7
+ required: true;
8
+ };
9
+ modifyDifficulty: {
10
+ type: NumberConstructor;
11
+ required: false;
12
+ default: number;
13
+ };
14
+ }>, {
15
+ answer: import('vue').Ref<string, string>;
16
+ question: import('vue').ComputedRef<BridgeTen | undefined>;
17
+ priorSessionViews: import('vue').Ref<number>;
18
+ priorAttempts: import('vue').Ref<number>;
19
+ priorAnswers: import('vue').Ref<[import('@vue-skuilder/common').Answer, string][]>;
20
+ maxAttemptsPerView: import('vue').Ref<number>;
21
+ maxSessionViews: import('vue').Ref<number>;
22
+ submitAnswer: (answer: import('@vue-skuilder/common').Answer, submittingClass?: string, opts?: import('@vue-skuilder/common-ui').SubmitAnswerOpts) => import('packages/db/dist').QuestionRecord;
23
+ startTime: import('vue').Ref<moment.Moment>;
24
+ hotKeys: import('vue').Ref<import('@vue-skuilder/common-ui').HotKey[]>;
25
+ timeSpent: Readonly<import('vue').Ref<number>>;
26
+ logger: import('@vue-skuilder/common-ui').ViewableLogger;
27
+ getURL: (item: string, dataShapeIndex?: number) => string;
28
+ emitResponse: (record: import('packages/db/dist').CardRecord) => void;
29
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
30
+ data: {
31
+ type: PropType<ViewData[]>;
32
+ required: true;
33
+ };
34
+ modifyDifficulty: {
35
+ type: NumberConstructor;
36
+ required: false;
37
+ default: number;
38
+ };
39
+ }>> & Readonly<{}>, {
40
+ modifyDifficulty: number;
41
+ }, {}, {
42
+ UserInputNumber: import('vue').DefineComponent<{}, {}, {}, {}, {
43
+ mounted(this: any): void;
44
+ isNumeric(s: string): boolean;
45
+ makeNumeric(num: import('@vue-skuilder/common').Answer): number;
46
+ }, import('vue').ComponentOptionsMixin, import('vue').DefineComponent<{}, {}, {
47
+ answer: import('@vue-skuilder/common').Answer;
48
+ previewModeStore: ReturnType<typeof import('@vue-skuilder/common-ui').useCardPreviewModeStore> | null;
49
+ }, {
50
+ autofocus(): boolean;
51
+ autoFocus(): boolean;
52
+ }, {
53
+ submitAnswer(answer: import('@vue-skuilder/common').Answer): import('packages/db/dist').QuestionRecord;
54
+ submit(answer: import('@vue-skuilder/common').Answer): any;
55
+ getQuestionViewAncestor(): import('@vue-skuilder/common-ui').ViewComponent;
56
+ }, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>, {}, string, import('vue').PublicProps, Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
57
+ }, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
58
+ export default _default;
59
+ //# sourceMappingURL=scaffold.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scaffold.vue.d.ts","sourceRoot":"","sources":["../../../../src/math/questions/bridgeTen/scaffold.vue"],"names":[],"mappings":"AAQA;AAsDA,OAAO,EAAkC,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;;;cAW3B,QAAQ,CAAC,QAAQ,EAAE,CAAC;;;;;;;;;;;;;;;;iFAZhC,CAAA,cAAc,CAAC;;;;;yCAFxB,CAzCS;;;;cAuDY,QAAQ,CAAC,QAAQ,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;AATzC,wBAmCG"}
@@ -0,0 +1,3 @@
1
+ import { DataShape } from '@vue-skuilder/common';
2
+ export declare const BridgeTenDataShape: DataShape;
3
+ //# sourceMappingURL=shapes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shapes.d.ts","sourceRoot":"","sources":["../../../../src/math/questions/bridgeTen/shapes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA4B,MAAM,sBAAsB,CAAC;AAE3E,eAAO,MAAM,kBAAkB,EAAE,SAMhC,CAAC"}
@@ -15,7 +15,7 @@ declare const _default: import('vue').DefineComponent<{
15
15
  submitAnswer: (answer: import('@vue-skuilder/common').Answer, submittingClass?: string, opts?: import('@vue-skuilder/common-ui').SubmitAnswerOpts) => import('packages/db/dist').QuestionRecord;
16
16
  startTime: import('vue').Ref<moment.Moment>;
17
17
  hotKeys: import('vue').Ref<import('@vue-skuilder/common-ui').HotKey[]>;
18
- timeSpent: import('vue').ComputedRef<number>;
18
+ timeSpent: Readonly<import('vue').Ref<number>>;
19
19
  logger: import('@vue-skuilder/common-ui').ViewableLogger;
20
20
  getURL: (item: string, dataShapeIndex?: number) => string;
21
21
  emitResponse: (record: import('packages/db/dist').CardRecord) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"default.vue.d.ts","sourceRoot":"","sources":["../../../../src/math/questions/countBy/default.vue"],"names":[],"mappings":"AAuBA;AAwHA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;;;;;;;eA+B1B,MAAM,KAAG,IAAI;;;;;;iFAlCnC,CAjE6C,cAiE7C,CAhEI;;;;;yCAgEJ,CAtGW;;;;;;;;AA2GX,wBAkEG"}
1
+ {"version":3,"file":"default.vue.d.ts","sourceRoot":"","sources":["../../../../src/math/questions/countBy/default.vue"],"names":[],"mappings":"AAuBA;AAwHA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;;;;;;;eA+B1B,MAAM,KAAG,IAAI;;;;;;iFAlCnC,CAjEkC,cAiElC,CAjEiD;;;;;yCAiEjD,CAtGA;;;;;;;;AA2GA,wBAkEG"}
@@ -1,4 +1,4 @@
1
- import { Answer, FieldDefinition, ViewData, DataShapeName } from '@vue-skuilder/common';
1
+ import { Answer, Evaluation, FieldDefinition, ViewData, DataShapeName } from '@vue-skuilder/common';
2
2
  import { Question } from '@vue-skuilder/common-ui';
3
3
  interface A extends Answer {
4
4
  [index: number]: number;
@@ -27,7 +27,7 @@ export declare class CountBy extends Question {
27
27
  submitAnswer: (answer: Answer, submittingClass?: string, opts?: import('@vue-skuilder/common-ui').SubmitAnswerOpts) => import('packages/db/dist').QuestionRecord;
28
28
  startTime: import('vue').Ref<moment.Moment>;
29
29
  hotKeys: import('vue').Ref<import('@vue-skuilder/common-ui').HotKey[]>;
30
- timeSpent: import('vue').ComputedRef<number>;
30
+ timeSpent: Readonly<import('vue').Ref<number>>;
31
31
  logger: import('@vue-skuilder/common-ui').ViewableLogger;
32
32
  getURL: (item: string, dataShapeIndex?: number) => string;
33
33
  emitResponse: (record: import('packages/db/dist').CardRecord) => void;
@@ -47,6 +47,7 @@ export declare class CountBy extends Question {
47
47
  constructor(data: ViewData[]);
48
48
  get answer(): number[];
49
49
  isCorrect(answer: A): boolean;
50
+ evaluate(answer: A, timeSpent: number): Evaluation;
50
51
  dataShapes(): {
51
52
  name: DataShapeName;
52
53
  fields: FieldDefinition[];
@@ -66,7 +67,7 @@ export declare class CountBy extends Question {
66
67
  submitAnswer: (answer: Answer, submittingClass?: string, opts?: import('@vue-skuilder/common-ui').SubmitAnswerOpts) => import('packages/db/dist').QuestionRecord;
67
68
  startTime: import('vue').Ref<moment.Moment>;
68
69
  hotKeys: import('vue').Ref<import('@vue-skuilder/common-ui').HotKey[]>;
69
- timeSpent: import('vue').ComputedRef<number>;
70
+ timeSpent: Readonly<import('vue').Ref<number>>;
70
71
  logger: import('@vue-skuilder/common-ui').ViewableLogger;
71
72
  getURL: (item: string, dataShapeIndex?: number) => string;
72
73
  emitResponse: (record: import('packages/db/dist').CardRecord) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/math/questions/countBy/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,eAAe,EACf,QAAQ,EACR,aAAa,EAGd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAInD,UAAU,CAAE,SAAQ,MAAM;IACxB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AACD,aAAK,KAAK;IACR,IAAI,SAAS;IACb,KAAK,UAAU;CAChB;AA6CD,qBAAa,OAAQ,SAAQ,QAAQ;IACnC,OAAc,UAAU;;;QAKtB;IAEF,OAAc,KAAK;;;;;;;;;;;;sDAQJ,CAAC,cAAc,CAAC;;;;;6CAlDd,CAAC;;;;;;;mFA0CkB;IAE7B,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,EAAE,KAAK,CAAC;IAEnB,OAAc,QAAQ;WA7BN,MAAM;cAAQ,KAAK;QA6BH;IAChC,OAAc,eAAe,UAAS;gBAE1B,IAAI,EAAE,QAAQ,EAAE;IAM5B,IAAW,MAAM,IAAI,MAAM,EAAE,CAO5B;IAEM,SAAS,CAAC,MAAM,EAAE,CAAC;IAcnB,UAAU;;;;IAIV,KAAK;;;;;;;;;;;;sDAjCG,CAAC,cAAc,CAAC;;;;;6CAlDd,CAAC;;;;;;;;CAsFnB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/math/questions/countBy/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,UAAU,EACV,eAAe,EACf,QAAQ,EACR,aAAa,EAGd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAInD,UAAU,CAAE,SAAQ,MAAM;IACxB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AACD,aAAK,KAAK;IACR,IAAI,SAAS;IACb,KAAK,UAAU;CAChB;AAoDD,qBAAa,OAAQ,SAAQ,QAAQ;IACnC,OAAc,UAAU;;;QAKtB;IAEF,OAAc,KAAK;;;;;;;;;;;;sDAPI,CAAC,cAEpB,CAAF;;;;;6CA7CO,CAAC;;;;;;;mFAkD0B;IAE7B,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,EAAE,KAAK,CAAC;IAEnB,OAAc,QAAQ;WApCN,MAAM;cAAQ,KAAK;QAoCH;IAChC,OAAc,eAAe,UAAS;gBAE1B,IAAI,EAAE,QAAQ,EAAE;IAM5B,IAAW,MAAM,IAAI,MAAM,EAAE,CAO5B;IAEM,SAAS,CAAC,MAAM,EAAE,CAAC;IAcnB,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,UAAU;IASlD,UAAU;;;;IAIV,KAAK;;;;;;;;;;;;sDAzDW,CAAC,cAEpB,CAAF;;;;;6CA7CO,CAAC;;;;;;;;CAuGX"}