@vue-skuilder/common-ui 0.1.33-vite8-4 → 0.1.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.
- package/dist/assets/index.css +1 -1
- package/dist/common-ui.es.js +12 -11
- package/dist/common-ui.es.js.map +1 -1
- package/dist/common-ui.umd.js +3 -3
- package/dist/common-ui.umd.js.map +1 -1
- package/dist/components/StudySession.types.d.ts +11 -0
- package/dist/components/StudySession.types.d.ts.map +1 -1
- package/dist/components/StudySession.vue.d.ts.map +1 -1
- package/package.json +5 -5
- package/src/components/StudySession.types.ts +12 -0
- package/src/components/StudySession.vue +72 -46
package/dist/assets/index.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.tooltip[data-v-ca46239a]{color:#fff;background-color:#000c;border-radius:3px;padding:5px;font-size:12px}.sk-mousetrap-tooltip-wrapper[data-v-5d6fb09c]{display:inline-block;position:relative}.sk-mousetrap-tooltip[data-v-5d6fb09c]{color:#fff;white-space:nowrap;pointer-events:none;z-index:9999;background-color:#000c;border-radius:4px;padding:2px 6px;font-size:12px;position:absolute}.sk-mt-tooltip-top[data-v-5d6fb09c]{margin-bottom:5px;bottom:100%;left:50%;transform:translate(-50%)}.sk-mt-tooltip-bottom[data-v-5d6fb09c]{margin-top:5px;top:100%;left:50%;transform:translate(-50%)}.sk-mt-tooltip-left[data-v-5d6fb09c]{margin-right:5px;top:50%;right:100%;transform:translateY(-50%)}.sk-mt-tooltip-right[data-v-5d6fb09c]{margin-left:5px;top:50%;left:100%;transform:translateY(-50%)}.sk-mousetrap-highlight-glow[data-v-5d6fb09c]{transition:box-shadow .25s;box-shadow:0 0 8px 2px #1976d299}.sk-mousetrap-highlight-scale[data-v-5d6fb09c]{transition:transform .25s;transform:scale(1.03)}.sk-mousetrap-highlight-border[data-v-5d6fb09c]{outline-offset:2px;border-radius:4px;outline:2px solid #1976d2cc;transition:outline .25s,outline-offset .25s}.fade-enter-active[data-v-5d6fb09c],.fade-leave-active[data-v-5d6fb09c]{transition:opacity .25s}.fade-enter-from[data-v-5d6fb09c],.fade-leave-to[data-v-5d6fb09c]{opacity:0}.pageSelect[data-v-a75fea7e]{max-width:60px}.selected-card[data-v-285e13bd]{background-color:#e0f2f7;border-left:4px solid #2196f3}.cursor-pointer[data-v-285e13bd]{cursor:pointer}.error-message[data-v-a4bdfdfb]{color:#f44336;background-color:#ffebee;border-radius:4px;margin:8px 0;padding:16px}.negative-interval[data-v-a4bdfdfb]{color:#f44336;background-color:#ffebee;border-radius:3px;padding:2px 4px;font-weight:700}.invalid-timestamp[data-v-a4bdfdfb]{color:#f44336;font-weight:700}.card-history-viewer[data-v-a4bdfdfb]{margin:16px 0}.timer-container[data-v-5960940a]{cursor:pointer;display:inline-flex}.cardView[data-v-2d892b82]{border-radius:8px;padding:15px}.session-debug[data-v-1a6ac7a1]{max-height:400px;font-family:Courier New,monospace;font-size:.75rem;overflow-y:auto}.debug-section[data-v-1a6ac7a1]{background-color:#ffffff0d;border-radius:4px;min-height:120px;padding:8px}.debug-header[data-v-1a6ac7a1]{border-bottom:1px solid #ffffff1a;align-items:center;margin-bottom:4px;padding-bottom:4px;display:flex}.debug-stats[data-v-1a6ac7a1]{gap:8px;margin-bottom:8px;display:flex}.debug-items[data-v-1a6ac7a1]{margin-top:4px;padding-left:8px}.debug-item[data-v-1a6ac7a1]{border-left:2px solid #fff3;margin-bottom:2px;padding:2px 0 2px 6px}.footer-controls[data-v-
|
|
1
|
+
.tooltip[data-v-ca46239a]{color:#fff;background-color:#000c;border-radius:3px;padding:5px;font-size:12px}.sk-mousetrap-tooltip-wrapper[data-v-5d6fb09c]{display:inline-block;position:relative}.sk-mousetrap-tooltip[data-v-5d6fb09c]{color:#fff;white-space:nowrap;pointer-events:none;z-index:9999;background-color:#000c;border-radius:4px;padding:2px 6px;font-size:12px;position:absolute}.sk-mt-tooltip-top[data-v-5d6fb09c]{margin-bottom:5px;bottom:100%;left:50%;transform:translate(-50%)}.sk-mt-tooltip-bottom[data-v-5d6fb09c]{margin-top:5px;top:100%;left:50%;transform:translate(-50%)}.sk-mt-tooltip-left[data-v-5d6fb09c]{margin-right:5px;top:50%;right:100%;transform:translateY(-50%)}.sk-mt-tooltip-right[data-v-5d6fb09c]{margin-left:5px;top:50%;left:100%;transform:translateY(-50%)}.sk-mousetrap-highlight-glow[data-v-5d6fb09c]{transition:box-shadow .25s;box-shadow:0 0 8px 2px #1976d299}.sk-mousetrap-highlight-scale[data-v-5d6fb09c]{transition:transform .25s;transform:scale(1.03)}.sk-mousetrap-highlight-border[data-v-5d6fb09c]{outline-offset:2px;border-radius:4px;outline:2px solid #1976d2cc;transition:outline .25s,outline-offset .25s}.fade-enter-active[data-v-5d6fb09c],.fade-leave-active[data-v-5d6fb09c]{transition:opacity .25s}.fade-enter-from[data-v-5d6fb09c],.fade-leave-to[data-v-5d6fb09c]{opacity:0}.pageSelect[data-v-a75fea7e]{max-width:60px}.selected-card[data-v-285e13bd]{background-color:#e0f2f7;border-left:4px solid #2196f3}.cursor-pointer[data-v-285e13bd]{cursor:pointer}.error-message[data-v-a4bdfdfb]{color:#f44336;background-color:#ffebee;border-radius:4px;margin:8px 0;padding:16px}.negative-interval[data-v-a4bdfdfb]{color:#f44336;background-color:#ffebee;border-radius:3px;padding:2px 4px;font-weight:700}.invalid-timestamp[data-v-a4bdfdfb]{color:#f44336;font-weight:700}.card-history-viewer[data-v-a4bdfdfb]{margin:16px 0}.timer-container[data-v-5960940a]{cursor:pointer;display:inline-flex}.cardView[data-v-2d892b82]{border-radius:8px;padding:15px}.session-debug[data-v-1a6ac7a1]{max-height:400px;font-family:Courier New,monospace;font-size:.75rem;overflow-y:auto}.debug-section[data-v-1a6ac7a1]{background-color:#ffffff0d;border-radius:4px;min-height:120px;padding:8px}.debug-header[data-v-1a6ac7a1]{border-bottom:1px solid #ffffff1a;align-items:center;margin-bottom:4px;padding-bottom:4px;display:flex}.debug-stats[data-v-1a6ac7a1]{gap:8px;margin-bottom:8px;display:flex}.debug-items[data-v-1a6ac7a1]{margin-top:4px;padding-left:8px}.debug-item[data-v-1a6ac7a1]{border-left:2px solid #fff3;margin-bottom:2px;padding:2px 0 2px 6px}.footer-controls[data-v-bc445530]{background-color:var(--v-background);z-index:100;position:fixed;bottom:0}.footer-right[data-v-bc445530]{background-color:var(--v-background);z-index:100;position:fixed;bottom:0;right:0}.correct[data-v-bc445530]{animation:1.25s ease-out varFade-bc445530}.incorrect[data-v-bc445530]{animation:1.25s ease-out purpleFade-bc445530}a[data-v-bc445530]{text-decoration:underline}.StudySession[data-v-bc445530]{flex-direction:column;flex:1;min-height:0;display:flex}.card-transition-container[data-v-bc445530]{flex-direction:column;flex:1;justify-content:center;min-height:0;display:flex;position:relative;overflow:hidden}@keyframes varFade-bc445530{0%{box-shadow:rgba(var(--r), var(--g), 0, .25) 0px 7px 8px -4px, rgba(var(--r), var(--g), 0, .25) 0px 12px 17px 2px, rgba(var(--r), var(--g), 0, .25) 0px 5px 22px 4px}to{box-shadow:0 0 #00960000}}@keyframes greenFade-bc445530{0%{box-shadow:0 7px 8px -4px #00960040,0 12px 17px 2px #00960040,0 5px 22px 4px #00960040}to{box-shadow:0 0 #00960000}}@keyframes purpleFade-bc445530{0%{box-shadow:0 7px 8px -4px #73004b40,0 12px 17px 2px #73004b40,0 5px 22px 4px #73004b40}to{box-shadow:0 0 #73004b00}}.component-fade-enter-active,.component-fade-leave-active{transition:opacity .2s}.component-fade-enter-from,.component-fade-leave-to{opacity:0}.card-slide-leave-active{will-change:transform, opacity;pointer-events:none;height:-moz-fit-content;height:fit-content;margin:auto;animation:.4s cubic-bezier(.4,0,.7,.2) both cardBackOutLeft;top:0;bottom:0;left:0;right:0;position:absolute!important}.card-slide-leave-active *{transition:none!important;animation-play-state:paused!important}.card-slide-enter-active{will-change:transform, opacity;animation:.25s ease-out .1s both cardSlideInRight}@keyframes cardBackOutLeft{0%{opacity:1;transform:translate(0)scale(1)}40%{opacity:.8;transform:translate(0)scale(.88)}to{opacity:0;transform:translate(-100%)scale(.88)}}@keyframes cardSlideInRight{0%{opacity:0;transform:translate(60%)}to{opacity:1;transform:translate(0)}}.card-scale-leave-active{transition:transform .15s ease-in,opacity .15s ease-in}.card-scale-enter-active{transition:transform .2s cubic-bezier(.34,1.4,.64,1),opacity .15s ease-out}.card-scale-leave-to{opacity:0;transform:scale(.92)}.card-scale-enter-from{opacity:0;transform:scale(1.03)}.choice[data-v-96de7172]{text-align:center;border-radius:4px;min-width:75px;margin:10px;padding:5px 15px;transition:all .2s ease-in-out;display:inline-block}.selected[data-v-96de7172]{z-index:1;transform:translateY(-10px)scale(1.15)}.not-selected[data-v-96de7172]{z-index:0}.userInput[data-v-a56dcd1c]{text-align:center;border:none;border-bottom:1px #000}.cardView[data-v-93f758b5]{border-radius:8px;padding:15px}.component-fade-enter-active[data-v-93f758b5],.component-fade-leave-active[data-v-93f758b5]{transition:opacity .3s}.component-fade-enter[data-v-93f758b5],.component-fade-leave-to[data-v-93f758b5]{opacity:0}.component-fade-enter-active[data-v-9a38a213],.component-fade-leave-active[data-v-9a38a213]{transition:opacity .5s}.component-fade-enter[data-v-9a38a213],.component-fade-leave-to[data-v-9a38a213]{opacity:0}.login[data-v-563b0048]{max-width:650px}.component-fade-enter-active[data-v-5a55bdf0],.component-fade-leave-active[data-v-5a55bdf0]{transition:opacity .5s}.component-fade-enter[data-v-5a55bdf0],.component-fade-leave-to[data-v-5a55bdf0]{opacity:0}.vue-tags-input[data-v-f7373dc0]{max-width:100%}.autocomplete-item[data-v-f7373dc0]{align-items:center;padding:5px;display:flex}.autocomplete-item.is-active[data-v-f7373dc0]{background-color:#e8e8e8}.autocomplete-item.is-active>.tag-name[data-v-f7373dc0]{color:#fff;background-color:#5c6bc0}.tag-name[data-v-f7373dc0]{color:#333;background-color:#e0e0e0;border-radius:3px;margin-right:5px;padding:2px 6px;font-weight:700}.tag-snippet[data-v-f7373dc0]{color:#666;font-size:.9em}.autocomplete-item.is-active .tag-snippet[data-v-f7373dc0]{color:#333}.component-fade-enter-active[data-v-5ecc9d21],.component-fade-leave-active[data-v-5ecc9d21]{transition:opacity .5s}.component-fade-enter[data-v-5ecc9d21],.component-fade-leave-to[data-v-5ecc9d21]{opacity:0}.component-scale-enter-active[data-v-5ecc9d21],.component-scale-leave-active[data-v-5ecc9d21]{max-height:auto;transform-origin:top;transition:transform .3s,max-height .3s;transform:scale(1)}.component-scale-enter[data-v-5ecc9d21],.component-fade-leave-to[data-v-5ecc9d21]{max-height:0;overflow:hidden;transform:scaleY(0)}.component-fade-enter-active[data-v-38e9efe1],.component-fade-leave-active[data-v-38e9efe1]{transition:opacity .5s}.component-fade-enter[data-v-38e9efe1],.component-fade-leave-to[data-v-38e9efe1]{opacity:0}.component-scale-enter-active[data-v-38e9efe1],.component-scale-leave-active[data-v-38e9efe1]{max-height:auto;transform-origin:top;transition:transform .3s,max-height .3s;transform:scale(1)}.component-scale-enter[data-v-38e9efe1],.component-fade-leave-to[data-v-38e9efe1]{max-height:0;overflow:hidden;transform:scaleY(0)}.course-tag-filter-widget[data-v-e1ba963b]{width:100%}.filter-summary[data-v-e1ba963b]{color:rgba(var(--v-theme-on-surface), .7)}
|
package/dist/common-ui.es.js
CHANGED
|
@@ -1897,6 +1897,9 @@ var Qt = M({
|
|
|
1897
1897
|
async created() {
|
|
1898
1898
|
this.userCourseRegDoc = await this.user.getCourseRegistrationsDoc(), console.log("[StudySession] Created lifecycle hook - starting initSession"), await this.initSession(), console.log("[StudySession] InitSession completed in created hook");
|
|
1899
1899
|
},
|
|
1900
|
+
errorCaptured(e, t, n) {
|
|
1901
|
+
return console.error(`[StudySession] Card render error (${n}), skipping card "${this.cardID}":`, e), this.sessionController && this.sessionController.nextCard().then((e) => this.loadCard(e)), !1;
|
|
1902
|
+
},
|
|
1900
1903
|
methods: {
|
|
1901
1904
|
async handleReadyToAdvance() {
|
|
1902
1905
|
let e = this.deferredNextCardAction;
|
|
@@ -1939,8 +1942,8 @@ var Qt = M({
|
|
|
1939
1942
|
return console.error(`Failed to load study source: ${e.type}/${e.id}`, t), null;
|
|
1940
1943
|
}
|
|
1941
1944
|
}))).filter((e) => e !== null)), this.timeRemaining = this.sessionTimeLimit * 60, e = await Promise.all(this.contentSources.filter((e) => e.type === "classroom").map(async (e) => await this.dataLayer.getClassroomDB(e.id, "student"))), e.forEach((e) => {});
|
|
1942
|
-
let t =
|
|
1943
|
-
if (this.sessionController = N(new ve(this.sessionContentSources, 60 * this.sessionTimeLimit, this.dataLayer, this.getViewComponent, void 0, t)), this.sessionController.sessionRecord = this.sessionRecord, this.sessionConfig?.initHints) {
|
|
1945
|
+
let t = {};
|
|
1946
|
+
if (this.sessionConfig?.defaultBatchLimit !== void 0 && (t.defaultBatchLimit = this.sessionConfig.defaultBatchLimit), this.sessionConfig?.initialReviewCap !== void 0 && (t.initialReviewCap = this.sessionConfig.initialReviewCap), this.sessionController = N(new ve(this.sessionContentSources, 60 * this.sessionTimeLimit, this.dataLayer, this.getViewComponent, void 0, t)), this.sessionController.sessionRecord = this.sessionRecord, this.sessionConfig?.initHints) {
|
|
1944
1947
|
for (let e of this.sessionContentSources) e.setEphemeralHints?.(this.sessionConfig.initHints);
|
|
1945
1948
|
console.log("[StudySession] Applied init hints to content sources");
|
|
1946
1949
|
}
|
|
@@ -2042,7 +2045,8 @@ var Qt = M({
|
|
|
2042
2045
|
card: {
|
|
2043
2046
|
course_id: e.item.courseID,
|
|
2044
2047
|
card_id: e.item.cardID,
|
|
2045
|
-
card_elo: this.card_elo
|
|
2048
|
+
card_elo: this.card_elo,
|
|
2049
|
+
tags: e.tags ?? []
|
|
2046
2050
|
},
|
|
2047
2051
|
item: e.item,
|
|
2048
2052
|
records: []
|
|
@@ -2089,11 +2093,8 @@ function _sfc_render$15(e, t, n, r, i, a) {
|
|
|
2089
2093
|
t[1] || (t[1] = k("p", null, "Study session finished! Great job!", -1)),
|
|
2090
2094
|
e.sessionController ? (L(), O("p", rn, H(e.sessionController.report), 1)) : D("", !0),
|
|
2091
2095
|
j(u, { "activity-records-getter": () => e.user.getActivityRecords() }, null, 8, ["activity-records-getter"])
|
|
2092
|
-
])], !0)])) : (L(), O("div", an, [j(w, {
|
|
2093
|
-
|
|
2094
|
-
mode: e.transitionMode
|
|
2095
|
-
}, {
|
|
2096
|
-
default: W(() => [(L(), E(d, {
|
|
2096
|
+
])], !0)])) : (L(), O("div", an, [j(w, { name: e.transitionName }, {
|
|
2097
|
+
default: W(() => [e.view ? (L(), E(d, {
|
|
2097
2098
|
ref: "cardViewer",
|
|
2098
2099
|
key: e.cardID,
|
|
2099
2100
|
class: F(e.loading ? "muted" : ""),
|
|
@@ -2120,9 +2121,9 @@ function _sfc_render$15(e, t, n, r, i, a) {
|
|
|
2120
2121
|
"frameless",
|
|
2121
2122
|
"onRequestReplan",
|
|
2122
2123
|
"onReadyToAdvance"
|
|
2123
|
-
]))]),
|
|
2124
|
+
])) : D("", !0)]),
|
|
2124
2125
|
_: 1
|
|
2125
|
-
}, 8, ["name"
|
|
2126
|
+
}, 8, ["name"])], 512)),
|
|
2126
2127
|
e.frameless ? D("", !0) : (L(), O(C, { key: 5 }, [t[2] || (t[2] = k("br", null, null, -1)), e.sessionController ? (L(), O("div", on, [(L(!0), O(C, null, z(e.sessionController.failedCount, (e) => (L(), O("span", {
|
|
2127
2128
|
key: e,
|
|
2128
2129
|
class: "text-h5"
|
|
@@ -2162,7 +2163,7 @@ function _sfc_render$15(e, t, n, r, i, a) {
|
|
|
2162
2163
|
])) : D("", !0);
|
|
2163
2164
|
}
|
|
2164
2165
|
t(_sfc_render$15, "_sfc_render");
|
|
2165
|
-
var sn = /* @__PURE__ */ r(Qt, [["render", _sfc_render$15], ["__scopeId", "data-v-
|
|
2166
|
+
var sn = /* @__PURE__ */ r(Qt, [["render", _sfc_render$15], ["__scopeId", "data-v-bc445530"]]), cn = M({
|
|
2166
2167
|
name: "MultipleChoiceOption",
|
|
2167
2168
|
components: { MarkdownRenderer: re(() => import("./MarkdownRenderer-DoVbFpA6.mjs").then((e) => e.n)) },
|
|
2168
2169
|
props: {
|