@vue-skuilder/common-ui 0.1.29 → 0.1.30

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.
@@ -1 +1 @@
1
- {"version":3,"file":"StudySession.vue.d.ts","sourceRoot":"","sources":["../../src/components/StudySession.vue"],"names":[],"mappings":"AAwEA;AAAA,OAmqBO,EAAE,eAAe,EAAW,QAAQ,EAAE,MAAM,KAAK,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAM/C,OAAO,UAAU,MAAM,gCAAgC,CAAC;AAGxD,OAAO,EAAE,SAAS,EAAuB,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChF,OAAO,EACL,WAAW,EACX,UAAU,EAEV,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EAEjB,YAAY,EAEZ,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EAChB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAEpG,UAAU,SAAS;IACjB,aAAa,EAAE,cAAc,CAAC;IAC9B,UAAU,EAAE,YAAY,CAAC,OAAO,UAAU,CAAC,CAAC;CAC7C;AAED,KAAK,aAAa,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,GAAG;IACxD,KAAK,EAAE,SAAS,CAAC;CAClB,CAAC;;;;;;;cAqBmB,QAAQ,CAAC,eAAe,EAAE,CAAC;;;;cAI1B,QAAQ,CAAC,eAAe,CAAC;;;;cAIzB,QAAQ,CAAC,iBAAiB,CAAC;;;;cAI3B,QAAQ,CAAC,kBAAkB,CAAC;;;;;;cAI1B,QAAQ,CAAC,CAAC,MAAM,EAAE,MAAM,KAAK,aAAa,CAAC;;;;;;;;;;;;cAY7C,QAAQ,CAAC,oBAAoB,GAAG,MAAM,CAAC;;;;cAIvC,QAAQ,CAAC,kBAAkB,CAAC;;;;;UAmB9B,aAAa,GAAG,IAAI;UACtB,QAAQ,EAAE;;;iBAGH;QAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE;;uBAEtB,iBAAiB,CAAC,aAAa,CAAC,GAAG,IAAI;;;mBAG7C,kBAAkB,EAAE;;;;sBAIf,qBAAqB,GAAG,IAAI;2BACzB,kBAAkB,EAAE;;qBAExB,MAAM,CAAC,OAAO,GAAG,IAAI;;;;mBAOjC,kBAAkB;;uBA4Cd,MAAM,GAAG,SAAS;kCASxB,OAAO;;;;8BA2HM,MAAM,WAAW,MAAM,GAAG,MAAM;0BAI9B,aAAa,KAAK,UAAU;6BAkE/B,cAAc;;qBAsDhB,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;mBAO/C,YAAY,GAAG,IAAI;;;;;;;cA7XvB,QAAQ,CAAC,eAAe,EAAE,CAAC;;;;cAI1B,QAAQ,CAAC,eAAe,CAAC;;;;cAIzB,QAAQ,CAAC,iBAAiB,CAAC;;;;cAI3B,QAAQ,CAAC,kBAAkB,CAAC;;;;;;cAI1B,QAAQ,CAAC,CAAC,MAAM,EAAE,MAAM,KAAK,aAAa,CAAC;;;;;;;;;;;;cAY7C,QAAQ,CAAC,oBAAoB,GAAG,MAAM,CAAC;;;;cAIvC,QAAQ,CAAC,kBAAkB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAnDlD,wBA0bG"}
1
+ {"version":3,"file":"StudySession.vue.d.ts","sourceRoot":"","sources":["../../src/components/StudySession.vue"],"names":[],"mappings":"AA0EA;AAAA,OA0sBO,EAAE,eAAe,EAAW,QAAQ,EAAE,MAAM,KAAK,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAM/C,OAAO,UAAU,MAAM,gCAAgC,CAAC;AAGxD,OAAO,EAAE,SAAS,EAAuB,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChF,OAAO,EACL,WAAW,EACX,UAAU,EAEV,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EAEjB,YAAY,EAEZ,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EAChB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAEpG,UAAU,SAAS;IACjB,aAAa,EAAE,cAAc,CAAC;IAC9B,UAAU,EAAE,YAAY,CAAC,OAAO,UAAU,CAAC,CAAC;CAC7C;AAED,KAAK,aAAa,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,GAAG;IACxD,KAAK,EAAE,SAAS,CAAC;CAClB,CAAC;;;;;;;cAqBmB,QAAQ,CAAC,eAAe,EAAE,CAAC;;;;cAI1B,QAAQ,CAAC,eAAe,CAAC;;;;cAIzB,QAAQ,CAAC,iBAAiB,CAAC;;;;cAI3B,QAAQ,CAAC,kBAAkB,CAAC;;;;;;cAI1B,QAAQ,CAAC,CAAC,MAAM,EAAE,MAAM,KAAK,aAAa,CAAC;;;;;;;;;;;;cAY7C,QAAQ,CAAC,oBAAoB,GAAG,MAAM,CAAC;;;;cAIvC,QAAQ,CAAC,kBAAkB,CAAC;;;;;UAmB9B,aAAa,GAAG,IAAI;UACtB,QAAQ,EAAE;;;iBAGH;QAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE;;uBAEtB,iBAAiB,CAAC,aAAa,CAAC,GAAG,IAAI;;;mBAG7C,kBAAkB,EAAE;;;;sBAIf,qBAAqB,GAAG,IAAI;2BACzB,kBAAkB,EAAE;;qBAExB,MAAM,CAAC,OAAO,GAAG,IAAI;;;;mBAOjC,kBAAkB;;uBA4Cd,MAAM,GAAG,SAAS;kCASxB,OAAO;;;;8BA2HM,MAAM,WAAW,MAAM,GAAG,MAAM;0BAI9B,aAAa,KAAK,UAAU;6BAkE/B,cAAc;;qBAsDhB,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;mBAO/C,YAAY,GAAG,IAAI;;;;;;;cA7XvB,QAAQ,CAAC,eAAe,EAAE,CAAC;;;;cAI1B,QAAQ,CAAC,eAAe,CAAC;;;;cAIzB,QAAQ,CAAC,iBAAiB,CAAC;;;;cAI3B,QAAQ,CAAC,kBAAkB,CAAC;;;;;;cAI1B,QAAQ,CAAC,CAAC,MAAM,EAAE,MAAM,KAAK,aAAa,CAAC;;;;;;;;;;;;cAY7C,QAAQ,CAAC,oBAAoB,GAAG,MAAM,CAAC;;;;cAIvC,QAAQ,CAAC,kBAAkB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAnDlD,wBA0bG"}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "0.1.29",
6
+ "version": "0.1.30",
7
7
  "main": "./dist/common-ui.umd.js",
8
8
  "module": "./dist/common-ui.es.js",
9
9
  "types": "./dist/index.d.ts",
@@ -33,8 +33,8 @@
33
33
  "@highlightjs/vue-plugin": "^2.1.2",
34
34
  "@mdi/font": "^7.3.67",
35
35
  "@vojtechlanka/vue-tags-input": "^3",
36
- "@vue-skuilder/common": "0.1.29",
37
- "@vue-skuilder/db": "0.1.29",
36
+ "@vue-skuilder/common": "0.1.30",
37
+ "@vue-skuilder/db": "0.1.30",
38
38
  "highlight.js": "^11.0.1",
39
39
  "marked": "^15.0.6",
40
40
  "moment": "^2.29.4",
@@ -70,5 +70,5 @@
70
70
  "vite-plugin-dts": "^4.5.3",
71
71
  "vitest": "^4.0.15"
72
72
  },
73
- "stableVersion": "0.1.29"
73
+ "stableVersion": "0.1.30"
74
74
  }
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <div v-if="sessionPrepared" class="StudySession">
3
- <v-row align="center">
3
+ <v-row v-if="!frameless" align="center">
4
4
  <!-- <h1 class="text-h3" v-if="courseNames[courseID]">{{ courseNames[courseID] }}:</h1> -->
5
5
  <v-spacer></v-spacer>
6
6
  <v-progress-circular v-if="loading" color="primary" indeterminate size="32" width="4" />
@@ -9,7 +9,7 @@
9
9
  <!-- Debug Panel (only visible if window.debugMode is true) -->
10
10
  <session-controller-debug v-if="debugMode" :session-controller="sessionController" />
11
11
 
12
- <br />
12
+ <br v-if="!frameless" />
13
13
 
14
14
  <div v-if="sessionFinished" class="text-h4">
15
15
  <p>Study session finished! Great job!</p>
@@ -40,10 +40,12 @@
40
40
  </transition>
41
41
  </div>
42
42
 
43
- <br />
44
- <div v-if="sessionController">
45
- <span v-for="i in sessionController.failedCount" :key="i" class="text-h5">•</span>
46
- </div>
43
+ <template v-if="!frameless">
44
+ <br />
45
+ <div v-if="sessionController">
46
+ <span v-for="i in sessionController.failedCount" :key="i" class="text-h5">•</span>
47
+ </div>
48
+ </template>
47
49
 
48
50
  <!--
49
51
  todo: reinstate tag editing at session-time ?
@@ -585,9 +587,21 @@ a {
585
587
  text-decoration: underline;
586
588
  }
587
589
 
590
+ .StudySession {
591
+ flex: 1;
592
+ display: flex;
593
+ flex-direction: column;
594
+ min-height: 0;
595
+ }
596
+
588
597
  .card-transition-container {
589
598
  position: relative;
590
599
  overflow: hidden;
600
+ flex: 1;
601
+ min-height: 0;
602
+ display: flex;
603
+ flex-direction: column;
604
+ justify-content: center;
591
605
  }
592
606
 
593
607
  /* Preset: component-fade (default) — simple opacity crossfade, use with mode="out-in" */
@@ -600,24 +614,49 @@ a {
600
614
  opacity: 0;
601
615
  }
602
616
 
603
- /* Preset: card-slide — simultaneous slide left-out / right-in, use with mode="default" */
617
+ /* Preset: card-slide — backOutLeft exit / slide-in-right enter, use with mode="default" */
604
618
  .card-slide-leave-active {
605
- transition: transform 200ms ease-in, opacity 200ms ease-in;
619
+ animation: cardBackOutLeft 400ms cubic-bezier(0.4, 0, 0.7, 0.2) both;
606
620
  position: absolute;
607
- width: 100%;
608
- top: 0;
621
+ top: 50%;
609
622
  left: 0;
623
+ right: 0;
624
+ will-change: transform, opacity;
625
+ pointer-events: none;
626
+ }
627
+ .card-slide-leave-active * {
628
+ animation-play-state: paused !important;
629
+ transition: none !important;
610
630
  }
611
631
  .card-slide-enter-active {
612
- transition: transform 200ms ease-out, opacity 150ms ease-out;
632
+ animation: cardSlideInRight 250ms ease-out 100ms both;
633
+ will-change: transform, opacity;
613
634
  }
614
- .card-slide-leave-to {
615
- transform: translateX(-100%);
616
- opacity: 0.2;
635
+
636
+ @keyframes cardBackOutLeft {
637
+ 0% {
638
+ transform: translateX(0) translateY(-50%) scale(1);
639
+ opacity: 1;
640
+ }
641
+ 40% {
642
+ transform: translateX(0) translateY(-50%) scale(0.88);
643
+ opacity: 0.8;
644
+ }
645
+ 100% {
646
+ transform: translateX(-100%) translateY(-50%) scale(0.88);
647
+ opacity: 0;
648
+ }
617
649
  }
618
- .card-slide-enter-from {
619
- transform: translateX(100%);
620
- opacity: 0.6;
650
+
651
+ @keyframes cardSlideInRight {
652
+ 0% {
653
+ transform: translateX(60%);
654
+ opacity: 0;
655
+ }
656
+ 100% {
657
+ transform: translateX(0);
658
+ opacity: 1;
659
+ }
621
660
  }
622
661
 
623
662
  /* Preset: card-scale — scale-down exit / gentle overshoot enter, use with mode="out-in" */