@vue-skuilder/common-ui 0.1.32-e → 0.1.32-f

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":"AAgFA;AAAA,OAyxBO,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,aAAa,EACb,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;;;;;UAoB9B,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;;;mBAG1B,aAAa,GAAG,IAAI;4BACX,MAAM,GAAG,IAAI;qBACpB,MAAM,CAAC,OAAO,GAAG,IAAI;;;;mBAOjC,kBAAkB;;IA4CjC;;;OAGG;;IAYH;;;;;;;;;;;;;OAaG;kCAC2B,aAAa;uBAUxB,MAAM,GAAG,SAAS;kCASxB,OAAO;;;;8BAyIM,MAAM,WAAW,MAAM,GAAG,MAAM;0BAI9B,aAAa,KAAK,UAAU;6BAiF/B,cAAc;;qBAsDhB,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;mBAO/C,YAAY,GAAG,IAAI;;;;;;;cArcvB,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,wBAkgBG"}
1
+ {"version":3,"file":"StudySession.vue.d.ts","sourceRoot":"","sources":["../../src/components/StudySession.vue"],"names":[],"mappings":"AAiFA;AAAA,OAkyBO,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,aAAa,EACb,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;;;;;UAoB9B,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;;;mBAG1B,aAAa,GAAG,IAAI;4BACX,MAAM,GAAG,IAAI;qBACpB,MAAM,CAAC,OAAO,GAAG,IAAI;;;;mBAOjC,kBAAkB;;IA4CjC;;;OAGG;;IAYH;;;;;;;;;;;;;OAaG;kCAC2B,aAAa;uBAUxB,MAAM,GAAG,SAAS;kCASxB,OAAO;;;;8BAyIM,MAAM,WAAW,MAAM,GAAG,MAAM;0BAI9B,aAAa,KAAK,UAAU;6BAiF/B,cAAc;;qBAsDhB,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;mBAO/C,YAAY,GAAG,IAAI;;;;;;;cArcvB,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,wBAmgBG"}
@@ -1 +1 @@
1
- {"version":3,"file":"SkldrMouseTrap.d.ts","sourceRoot":"","sources":["../../src/utils/SkldrMouseTrap.ts"],"names":[],"mappings":"AACA,OAAO,wDAAwD,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAqB,MAAM,WAAW,CAAC;AAErE,MAAM,WAAW,MAAO,SAAQ,cAAc;IAC5C,QAAQ,EAAE,CAAC,CAAC,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7D;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC3B;AA0BD,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAC,SAAS,CAAiB;IAEzC,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,OAAO,CAAW;IAE1B,OAAO;IAKP,WAAkB,QAAQ,IAAI,cAAc,EAAE,CAO7C;IAED;;;OAGG;WACW,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE;IAsB9C;;;OAGG;WACW,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE;IA+BrD;;;OAGG;WACW,KAAK;IAUnB,OAAO,CAAC,MAAM,CAAC,QAAQ;CAQxB"}
1
+ {"version":3,"file":"SkldrMouseTrap.d.ts","sourceRoot":"","sources":["../../src/utils/SkldrMouseTrap.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAqB,MAAM,WAAW,CAAC;AAErE,MAAM,WAAW,MAAO,SAAQ,cAAc;IAC5C,QAAQ,EAAE,CAAC,CAAC,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7D;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC3B;AA0BD,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAC,SAAS,CAAiB;IAEzC,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,OAAO,CAAW;IAE1B,OAAO;IAQP,WAAkB,QAAQ,IAAI,cAAc,EAAE,CAO7C;IAED;;;OAGG;WACW,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE;IAsB9C;;;OAGG;WACW,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE;IA+BrD;;;OAGG;WACW,KAAK;IASnB,OAAO,CAAC,MAAM,CAAC,QAAQ;CAQxB"}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "0.1.32-e",
6
+ "version": "0.1.32-f",
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.32-e",
37
- "@vue-skuilder/db": "0.1.32-e",
36
+ "@vue-skuilder/common": "0.1.32-f",
37
+ "@vue-skuilder/db": "0.1.32-f",
38
38
  "highlight.js": "^11.0.1",
39
39
  "marked": "^15.0.6",
40
40
  "moment": "^2.29.4",
@@ -55,7 +55,7 @@
55
55
  "@types/pouchdb": "^6.4.2",
56
56
  "@typescript-eslint/eslint-plugin": "^8.48.1",
57
57
  "@typescript-eslint/parser": "^8.48.1",
58
- "@vitejs/plugin-vue": "^6.0.0",
58
+ "@vitejs/plugin-vue": "^6.0.5",
59
59
  "@vue/eslint-config-typescript": "^14.4.0",
60
60
  "@vue/test-utils": "^2.4.6",
61
61
  "cypress": "^15.6.0",
@@ -66,9 +66,9 @@
66
66
  "jsdom": "^25.0.1",
67
67
  "sass": "^1.83.0",
68
68
  "typescript": "~5.9.3",
69
- "vite": "^7.0.0",
69
+ "vite": "^8.0.0",
70
70
  "vite-plugin-dts": "^4.5.3",
71
- "vitest": "^4.0.15"
71
+ "vitest": "^4.1.0"
72
72
  },
73
73
  "stableVersion": "0.1.31"
74
74
  }
@@ -26,8 +26,9 @@
26
26
  </div>
27
27
 
28
28
  <div v-else ref="shadowWrapper" class="card-transition-container">
29
- <transition :name="transitionName" :mode="transitionMode">
29
+ <transition :name="transitionName">
30
30
  <card-viewer
31
+ v-if="view"
31
32
  ref="cardViewer"
32
33
  :key="cardID"
33
34
  :class="loading ? 'muted' : ''"
@@ -621,6 +622,7 @@ export default defineComponent({
621
622
  course_id: card.item.courseID,
622
623
  card_id: card.item.cardID,
623
624
  card_elo: this.card_elo,
625
+ tags: card.tags ?? [],
624
626
  },
625
627
  item: card.item,
626
628
  records: [],
@@ -683,6 +685,48 @@ a {
683
685
  justify-content: center;
684
686
  }
685
687
 
688
+ @keyframes varFade {
689
+ 0% {
690
+ box-shadow:
691
+ rgba(var(--r), var(--g), 0, 0.25) 0px 7px 8px -4px,
692
+ rgba(var(--r), var(--g), 0, 0.25) 0px 12px 17px 2px,
693
+ rgba(var(--r), var(--g), 0, 0.25) 0px 5px 22px 4px;
694
+ }
695
+ 100% {
696
+ box-shadow: rgba(0, 150, 0, 0) 0px 0px;
697
+ }
698
+ }
699
+
700
+ @keyframes greenFade {
701
+ 0% {
702
+ box-shadow:
703
+ rgba(0, 150, 0, 0.25) 0px 7px 8px -4px,
704
+ rgba(0, 150, 0, 0.25) 0px 12px 17px 2px,
705
+ rgba(0, 150, 0, 0.25) 0px 5px 22px 4px;
706
+ }
707
+ 100% {
708
+ box-shadow: rgba(0, 150, 0, 0) 0px 0px;
709
+ }
710
+ }
711
+ @keyframes purpleFade {
712
+ 0% {
713
+ box-shadow:
714
+ rgba(115, 0, 75, 0.25) 0px 7px 8px -4px,
715
+ rgba(115, 0, 75, 0.25) 0px 12px 17px 2px,
716
+ rgba(115, 0, 75, 0.25) 0px 5px 22px 4px;
717
+ }
718
+ 100% {
719
+ box-shadow: rgba(115, 0, 75, 0) 0px 0px;
720
+ }
721
+ }
722
+ </style>
723
+
724
+ <style>
725
+ /* Transition presets — unscoped so classes reach child component root elements.
726
+ Vue's <Transition> adds these classes to the child's root DOM node, which
727
+ may be a Vuetify component (v-card). Scoped selectors can fail to match
728
+ when the scope attribute doesn't propagate through component boundaries. */
729
+
686
730
  /* Preset: component-fade (default) — simple opacity crossfade, use with mode="out-in" */
687
731
  .component-fade-enter-active,
688
732
  .component-fade-leave-active {
@@ -753,39 +797,4 @@ a {
753
797
  transform: scale(1.03);
754
798
  opacity: 0;
755
799
  }
756
-
757
- @keyframes varFade {
758
- 0% {
759
- box-shadow:
760
- rgba(var(--r), var(--g), 0, 0.25) 0px 7px 8px -4px,
761
- rgba(var(--r), var(--g), 0, 0.25) 0px 12px 17px 2px,
762
- rgba(var(--r), var(--g), 0, 0.25) 0px 5px 22px 4px;
763
- }
764
- 100% {
765
- box-shadow: rgba(0, 150, 0, 0) 0px 0px;
766
- }
767
- }
768
-
769
- @keyframes greenFade {
770
- 0% {
771
- box-shadow:
772
- rgba(0, 150, 0, 0.25) 0px 7px 8px -4px,
773
- rgba(0, 150, 0, 0.25) 0px 12px 17px 2px,
774
- rgba(0, 150, 0, 0.25) 0px 5px 22px 4px;
775
- }
776
- 100% {
777
- box-shadow: rgba(0, 150, 0, 0) 0px 0px;
778
- }
779
- }
780
- @keyframes purpleFade {
781
- 0% {
782
- box-shadow:
783
- rgba(115, 0, 75, 0.25) 0px 7px 8px -4px,
784
- rgba(115, 0, 75, 0.25) 0px 12px 17px 2px,
785
- rgba(115, 0, 75, 0.25) 0px 5px 22px 4px;
786
- }
787
- 100% {
788
- box-shadow: rgba(115, 0, 75, 0) 0px 0px;
789
- }
790
- }
791
800
  </style>
@@ -1,5 +1,4 @@
1
1
  import Mousetrap from 'mousetrap';
2
- import 'mousetrap/plugins/global-bind/mousetrap-global-bind.js';
3
2
  import { ExtendedKeyboardEvent, MousetrapInstance } from 'mousetrap';
4
3
 
5
4
  export interface HotKey extends HotKeyMetaData {
@@ -43,6 +42,9 @@ export class SkldrMouseTrap {
43
42
 
44
43
  private constructor() {
45
44
  this.mouseTrap = new Mousetrap();
45
+ // Allow hotkeys to fire even when input elements are focused — the
46
+ // inputElementIsFocused() guard in addBinding handles selective suppression.
47
+ this.mouseTrap.stopCallback = () => false;
46
48
  this.hotkeys = [];
47
49
  }
48
50
 
@@ -68,7 +70,7 @@ export class SkldrMouseTrap {
68
70
 
69
71
  // Bind each hotkey
70
72
  hotkeys.forEach((k) => {
71
- Mousetrap.bindGlobal(k.hotkey, (a, b) => {
73
+ instance.mouseTrap.bind(k.hotkey, (a, b) => {
72
74
  // Skip execution if focus is on input elements
73
75
  if (inputElementIsFocused()) {
74
76
  console.log(`Ignoring hotkey ${k.hotkey} while input element is focused`);
@@ -101,7 +103,7 @@ export class SkldrMouseTrap {
101
103
  });
102
104
 
103
105
  // Unbind from Mousetrap
104
- Mousetrap.unbind(key);
106
+ instance.mouseTrap.unbind(key);
105
107
  });
106
108
  } else {
107
109
  // Single hotkey removal (original implementation)
@@ -112,7 +114,7 @@ export class SkldrMouseTrap {
112
114
  });
113
115
 
114
116
  // Unbind from Mousetrap
115
- Mousetrap.unbind(hotkey);
117
+ instance.mouseTrap.unbind(hotkey);
116
118
  }
117
119
  }
118
120
 
@@ -125,7 +127,6 @@ export class SkldrMouseTrap {
125
127
  'SkldrMouseTrap.reset() may affect hotkeys registered by other components. ' +
126
128
  'Consider using removeBinding() with specific hotkeys for better component isolation.'
127
129
  );
128
- Mousetrap.reset();
129
130
  SkldrMouseTrap.instance().mouseTrap.reset();
130
131
  SkldrMouseTrap.instance().hotkeys = [];
131
132
  }