@maas/vue-equipment 1.0.0-beta.2 → 1.0.0-beta.21

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 (217) hide show
  1. package/README.md +2 -2
  2. package/dist/composables/index.d.ts +5 -5
  3. package/dist/composables/index.js +23 -13
  4. package/dist/composables/index.js.map +1 -1
  5. package/dist/nuxt/module.d.mts +2 -1
  6. package/dist/nuxt/module.json +2 -2
  7. package/dist/nuxt/module.mjs +9 -2
  8. package/dist/nuxt/types.d.mts +3 -1
  9. package/dist/plugins/.turbo/turbo-lint.log +2 -10
  10. package/dist/plugins/MagicAccordion/nuxt.d.ts +1 -1
  11. package/dist/plugins/MagicAccordion/src/components/MagicAccordionContent.vue +59 -82
  12. package/dist/plugins/MagicAccordion/src/components/MagicAccordionContent.vue.d.ts +35 -22
  13. package/dist/plugins/MagicAccordion/src/components/MagicAccordionProvider.vue +17 -31
  14. package/dist/plugins/MagicAccordion/src/components/MagicAccordionProvider.vue.d.ts +12 -21
  15. package/dist/plugins/MagicAccordion/src/components/MagicAccordionTrigger.vue +57 -62
  16. package/dist/plugins/MagicAccordion/src/components/MagicAccordionTrigger.vue.d.ts +23 -59
  17. package/dist/plugins/MagicAccordion/src/components/MagicAccordionView.vue +34 -45
  18. package/dist/plugins/MagicAccordion/src/components/MagicAccordionView.vue.d.ts +17 -22
  19. package/dist/plugins/MagicAccordion/src/composables/private/useAccordionTrigger.d.ts +1 -1
  20. package/dist/plugins/MagicAccordion/src/composables/private/useAccordionTrigger.mjs +1 -0
  21. package/dist/plugins/MagicAccordion/src/composables/private/useAccordionView.mjs +1 -0
  22. package/dist/plugins/MagicAccordion/src/composables/useMagicAccordion.mjs +1 -0
  23. package/dist/plugins/MagicAccordion/src/symbols/index.d.ts +2 -2
  24. package/dist/plugins/MagicCommand/nuxt.d.ts +1 -1
  25. package/dist/plugins/MagicCommand/src/components/MagicCommandContent.vue +146 -152
  26. package/dist/plugins/MagicCommand/src/components/MagicCommandContent.vue.d.ts +24 -13
  27. package/dist/plugins/MagicCommand/src/components/MagicCommandDrawer.vue +42 -52
  28. package/dist/plugins/MagicCommand/src/components/MagicCommandDrawer.vue.d.ts +12 -21
  29. package/dist/plugins/MagicCommand/src/components/MagicCommandItem.vue +72 -87
  30. package/dist/plugins/MagicCommand/src/components/MagicCommandItem.vue.d.ts +29 -28
  31. package/dist/plugins/MagicCommand/src/components/MagicCommandModal.vue +37 -47
  32. package/dist/plugins/MagicCommand/src/components/MagicCommandModal.vue.d.ts +12 -21
  33. package/dist/plugins/MagicCommand/src/components/MagicCommandProvider.vue +61 -77
  34. package/dist/plugins/MagicCommand/src/components/MagicCommandProvider.vue.d.ts +12 -58
  35. package/dist/plugins/MagicCommand/src/components/MagicCommandRenderer.vue +23 -39
  36. package/dist/plugins/MagicCommand/src/components/MagicCommandTrigger.vue +80 -86
  37. package/dist/plugins/MagicCommand/src/components/MagicCommandTrigger.vue.d.ts +25 -60
  38. package/dist/plugins/MagicCommand/src/components/MagicCommandView.vue +36 -48
  39. package/dist/plugins/MagicCommand/src/components/MagicCommandView.vue.d.ts +15 -22
  40. package/dist/plugins/MagicCommand/src/composables/private/useCommandScroll.d.ts +2 -2
  41. package/dist/plugins/MagicCommand/src/composables/private/useCommandState.mjs +1 -1
  42. package/dist/plugins/MagicCommand/src/composables/private/useCommandTrigger.d.ts +1 -1
  43. package/dist/plugins/MagicCommand/src/composables/private/useCommandTrigger.mjs +1 -0
  44. package/dist/plugins/MagicCommand/src/symbols/index.d.ts +4 -4
  45. package/dist/plugins/MagicCommand/src/types/index.d.ts +1 -1
  46. package/dist/plugins/MagicCookie/nuxt.d.ts +1 -1
  47. package/dist/plugins/MagicCookie/src/components/MagicCookieItem.vue +34 -41
  48. package/dist/plugins/MagicCookie/src/components/MagicCookieItem.vue.d.ts +13 -22
  49. package/dist/plugins/MagicCookie/src/components/MagicCookieProvider.vue +19 -36
  50. package/dist/plugins/MagicCookie/src/components/MagicCookieProvider.vue.d.ts +9 -21
  51. package/dist/plugins/MagicCookie/src/components/MagicCookieView.vue +40 -72
  52. package/dist/plugins/MagicCookie/src/components/MagicCookieView.vue.d.ts +21 -12
  53. package/dist/plugins/MagicCookie/src/composables/private/useCookieItem.mjs +0 -1
  54. package/dist/plugins/MagicCookie/src/symbols/index.d.ts +2 -2
  55. package/dist/plugins/MagicDraggable/nuxt.d.ts +1 -1
  56. package/dist/plugins/MagicDraggable/src/components/MagicDraggable.vue +81 -100
  57. package/dist/plugins/MagicDraggable/src/components/MagicDraggable.vue.d.ts +94 -22
  58. package/dist/plugins/MagicDraggable/src/composables/private/useDraggableDrag.d.ts +2 -2
  59. package/dist/plugins/MagicDraggable/src/composables/private/useDraggableDrag.mjs +43 -63
  60. package/dist/plugins/MagicDraggable/src/composables/private/useDraggableScrollLock.mjs +34 -14
  61. package/dist/plugins/MagicDraggable/src/composables/private/useDraggableSnap.d.ts +2 -15
  62. package/dist/plugins/MagicDraggable/src/composables/private/useDraggableSnap.mjs +117 -64
  63. package/dist/plugins/MagicDraggable/src/composables/private/useDraggableState.mjs +6 -5
  64. package/dist/plugins/MagicDraggable/src/types/index.d.ts +2 -1
  65. package/dist/plugins/MagicDraggable/src/utils/defaultOptions.mjs +1 -1
  66. package/dist/plugins/MagicDrawer/nuxt.d.ts +1 -1
  67. package/dist/plugins/MagicDrawer/src/components/MagicDrawer.vue +271 -308
  68. package/dist/plugins/MagicDrawer/src/components/MagicDrawer.vue.d.ts +165 -23
  69. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerDOM.mjs +34 -14
  70. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerDrag.d.ts +2 -2
  71. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerDrag.mjs +3 -3
  72. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerGuards.d.ts +1 -1
  73. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerGuards.mjs +28 -10
  74. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerProgress.d.ts +2 -2
  75. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerSnap.d.ts +3 -3
  76. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerSnap.mjs +16 -14
  77. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerWheel.d.ts +1 -1
  78. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerWheel.mjs +1 -1
  79. package/dist/plugins/MagicDrawer/src/types/index.mjs +1 -0
  80. package/dist/plugins/MagicEmitter/nuxt.d.ts +1 -1
  81. package/dist/plugins/MagicEmitter/src/composables/useMagicEmitter.d.ts +100 -100
  82. package/dist/plugins/MagicMarquee/nuxt.d.ts +1 -1
  83. package/dist/plugins/MagicMarquee/src/components/MagicMarquee.vue +38 -72
  84. package/dist/plugins/MagicMarquee/src/components/MagicMarquee.vue.d.ts +14 -25
  85. package/dist/plugins/MagicMarquee/src/composables/private/useMarqueeApi.d.ts +1 -1
  86. package/dist/plugins/MagicMarquee/src/composables/private/useMarqueeApi.mjs +8 -2
  87. package/dist/plugins/MagicMarquee/src/composables/useMagicMarquee.d.ts +1 -1
  88. package/dist/plugins/MagicMenu/nuxt.d.ts +1 -1
  89. package/dist/plugins/MagicMenu/src/components/MagicMenuChannel.vue +51 -63
  90. package/dist/plugins/MagicMenu/src/components/MagicMenuChannel.vue.d.ts +18 -21
  91. package/dist/plugins/MagicMenu/src/components/MagicMenuContent.vue +178 -214
  92. package/dist/plugins/MagicMenu/src/components/MagicMenuContent.vue.d.ts +41 -24
  93. package/dist/plugins/MagicMenu/src/components/MagicMenuFloat.vue +171 -198
  94. package/dist/plugins/MagicMenu/src/components/MagicMenuFloat.vue.d.ts +40 -25
  95. package/dist/plugins/MagicMenu/src/components/MagicMenuItem.vue +87 -113
  96. package/dist/plugins/MagicMenu/src/components/MagicMenuItem.vue.d.ts +31 -28
  97. package/dist/plugins/MagicMenu/src/components/MagicMenuProvider.vue +82 -81
  98. package/dist/plugins/MagicMenu/src/components/MagicMenuProvider.vue.d.ts +12 -58
  99. package/dist/plugins/MagicMenu/src/components/MagicMenuRemote.vue +63 -86
  100. package/dist/plugins/MagicMenu/src/components/MagicMenuRemote.vue.d.ts +19 -23
  101. package/dist/plugins/MagicMenu/src/components/MagicMenuTrigger.vue +94 -97
  102. package/dist/plugins/MagicMenu/src/components/MagicMenuTrigger.vue.d.ts +27 -60
  103. package/dist/plugins/MagicMenu/src/components/MagicMenuView.vue +49 -61
  104. package/dist/plugins/MagicMenu/src/components/MagicMenuView.vue.d.ts +15 -22
  105. package/dist/plugins/MagicMenu/src/composables/private/useMenuCallback.mjs +1 -1
  106. package/dist/plugins/MagicMenu/src/composables/private/useMenuChannel.mjs +15 -5
  107. package/dist/plugins/MagicMenu/src/composables/private/useMenuCursor.d.ts +3 -3
  108. package/dist/plugins/MagicMenu/src/composables/private/useMenuCursor.mjs +4 -4
  109. package/dist/plugins/MagicMenu/src/composables/private/useMenuDOM.mjs +35 -15
  110. package/dist/plugins/MagicMenu/src/composables/private/useMenuKeyListener.mjs +6 -2
  111. package/dist/plugins/MagicMenu/src/composables/private/useMenuTrigger.d.ts +1 -1
  112. package/dist/plugins/MagicMenu/src/composables/private/useMenuTrigger.mjs +2 -0
  113. package/dist/plugins/MagicMenu/src/composables/private/useMenuView.mjs +18 -6
  114. package/dist/plugins/MagicMenu/src/composables/useMagicMenu.mjs +1 -0
  115. package/dist/plugins/MagicMenu/src/symbols/index.d.ts +4 -4
  116. package/dist/plugins/MagicMenu/src/utils/modeDelayDefaults.d.ts +2 -2
  117. package/dist/plugins/MagicMenu/src/utils/modeDelayDefaults.mjs +2 -2
  118. package/dist/plugins/MagicModal/nuxt.d.ts +1 -1
  119. package/dist/plugins/MagicModal/src/components/MagicModal.vue +133 -168
  120. package/dist/plugins/MagicModal/src/components/MagicModal.vue.d.ts +44 -21
  121. package/dist/plugins/MagicModal/src/composables/private/useModalDOM.mjs +34 -14
  122. package/dist/plugins/MagicModal/src/types/index.mjs +1 -0
  123. package/dist/plugins/MagicNoise/nuxt.d.ts +1 -1
  124. package/dist/plugins/MagicNoise/src/components/MagicNoise.vue +50 -81
  125. package/dist/plugins/MagicNoise/src/components/MagicNoise.vue.d.ts +1 -10
  126. package/dist/plugins/MagicNoise/src/composables/private/useNoiseApi.d.ts +3 -3
  127. package/dist/plugins/MagicNoise/src/composables/private/useNoiseApi.mjs +2 -2
  128. package/dist/plugins/MagicPie/index.d.ts +7 -0
  129. package/dist/plugins/MagicPie/index.mjs +8 -0
  130. package/dist/plugins/MagicPie/nuxt.d.ts +2 -0
  131. package/dist/plugins/MagicPie/nuxt.mjs +23 -0
  132. package/dist/plugins/MagicPie/src/components/MagicPie.vue +168 -0
  133. package/dist/plugins/MagicPie/src/components/MagicPie.vue.d.ts +7 -0
  134. package/dist/plugins/MagicPie/src/composables/private/usePieState.d.ts +6 -0
  135. package/dist/plugins/MagicPie/src/composables/private/usePieState.mjs +33 -0
  136. package/dist/plugins/MagicPie/src/composables/useMagicPie.d.ts +13 -0
  137. package/dist/plugins/MagicPie/src/composables/useMagicPie.mjs +43 -0
  138. package/dist/plugins/MagicPie/src/types/index.d.ts +9 -0
  139. package/dist/plugins/MagicPie/src/types/index.mjs +0 -0
  140. package/dist/plugins/MagicPlayer/nuxt.d.ts +1 -1
  141. package/dist/plugins/MagicPlayer/src/components/MagicPlayerAudio.vue +58 -63
  142. package/dist/plugins/MagicPlayer/src/components/MagicPlayerAudioControls.vue +99 -127
  143. package/dist/plugins/MagicPlayer/src/components/MagicPlayerAudioControls.vue.d.ts +30 -26
  144. package/dist/plugins/MagicPlayer/src/components/MagicPlayerDisplayTime.vue +32 -42
  145. package/dist/plugins/MagicPlayer/src/components/MagicPlayerDisplayTime.vue.d.ts +1 -10
  146. package/dist/plugins/MagicPlayer/src/components/MagicPlayerMuxPopover.vue +106 -105
  147. package/dist/plugins/MagicPlayer/src/components/MagicPlayerMuxPopover.vue.d.ts +1 -10
  148. package/dist/plugins/MagicPlayer/src/components/MagicPlayerOverlay.vue +51 -76
  149. package/dist/plugins/MagicPlayer/src/components/MagicPlayerOverlay.vue.d.ts +29 -14
  150. package/dist/plugins/MagicPlayer/src/components/MagicPlayerPoster.vue +18 -37
  151. package/dist/plugins/MagicPlayer/src/components/MagicPlayerPoster.vue.d.ts +12 -11
  152. package/dist/plugins/MagicPlayer/src/components/MagicPlayerProvider.vue +41 -55
  153. package/dist/plugins/MagicPlayer/src/components/MagicPlayerProvider.vue.d.ts +23 -23
  154. package/dist/plugins/MagicPlayer/src/components/MagicPlayerTimeline.vue +60 -109
  155. package/dist/plugins/MagicPlayer/src/components/MagicPlayerVideo.vue +74 -71
  156. package/dist/plugins/MagicPlayer/src/components/MagicPlayerVideoControls.vue +163 -209
  157. package/dist/plugins/MagicPlayer/src/components/MagicPlayerVideoControls.vue.d.ts +63 -33
  158. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerAudioApi.d.ts +0 -4
  159. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerAudioApi.mjs +6 -47
  160. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerControlsApi.d.ts +7 -34
  161. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerControlsApi.mjs +154 -235
  162. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerMediaApi.d.ts +3 -17
  163. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerMediaApi.mjs +17 -157
  164. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerRuntime.d.ts +2 -3
  165. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerRuntime.mjs +7 -25
  166. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerState.d.ts +7 -0
  167. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerState.mjs +56 -0
  168. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerVideoApi.d.ts +3 -8
  169. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerVideoApi.mjs +7 -62
  170. package/dist/plugins/MagicPlayer/src/composables/useMagicPlayer.d.ts +32 -51
  171. package/dist/plugins/MagicPlayer/src/composables/useMagicPlayer.mjs +49 -2
  172. package/dist/plugins/MagicPlayer/src/symbols/index.d.ts +5 -2
  173. package/dist/plugins/MagicPlayer/src/symbols/index.mjs +10 -1
  174. package/dist/plugins/MagicPlayer/src/types/index.d.ts +29 -0
  175. package/dist/plugins/MagicScroll/nuxt.d.ts +1 -1
  176. package/dist/plugins/MagicScroll/src/components/MagicScrollCollision.vue +54 -61
  177. package/dist/plugins/MagicScroll/src/components/MagicScrollCollision.vue.d.ts +9 -23
  178. package/dist/plugins/MagicScroll/src/components/MagicScrollMotion.vue +56 -71
  179. package/dist/plugins/MagicScroll/src/components/MagicScrollMotion.vue.d.ts +9 -23
  180. package/dist/plugins/MagicScroll/src/components/MagicScrollProvider.vue +26 -33
  181. package/dist/plugins/MagicScroll/src/components/MagicScrollProvider.vue.d.ts +45 -37
  182. package/dist/plugins/MagicScroll/src/components/MagicScrollScene.vue +63 -71
  183. package/dist/plugins/MagicScroll/src/components/MagicScrollScene.vue.d.ts +13 -24
  184. package/dist/plugins/MagicScroll/src/composables/private/useCollisionDetection.d.ts +2 -2
  185. package/dist/plugins/MagicScroll/src/composables/private/useCollisionDetection.mjs +16 -6
  186. package/dist/plugins/MagicScroll/src/composables/private/useScrollApi.d.ts +2 -2
  187. package/dist/plugins/MagicScroll/src/composables/private/useScrollApi.mjs +41 -26
  188. package/dist/plugins/MagicScroll/src/symbols/index.d.ts +1 -1
  189. package/dist/plugins/MagicToast/nuxt.d.ts +1 -1
  190. package/dist/plugins/MagicToast/src/components/MagicToastProvider.vue +94 -118
  191. package/dist/plugins/MagicToast/src/components/MagicToastProvider.vue.d.ts +1 -10
  192. package/dist/plugins/MagicToast/src/components/MagicToastView.vue +54 -81
  193. package/dist/plugins/MagicToast/src/components/MagicToastView.vue.d.ts +24 -23
  194. package/dist/plugins/MagicToast/src/composables/private/useToastCallback.d.ts +2 -2
  195. package/dist/plugins/MagicToast/src/composables/private/useToastCallback.mjs +5 -5
  196. package/dist/plugins/MagicToast/src/composables/private/useToastDrag.mjs +22 -22
  197. package/dist/plugins/MagicToast/src/composables/private/useToastListener.mjs +1 -0
  198. package/dist/plugins/MagicToast/src/composables/private/useToastScrollLock.mjs +33 -15
  199. package/dist/plugins/MagicToast/src/composables/private/useToastView.mjs +1 -0
  200. package/dist/plugins/MagicToast/src/composables/useMagicToast.d.ts +1 -0
  201. package/dist/plugins/MagicToast/src/composables/useMagicToast.mjs +10 -2
  202. package/dist/plugins/MagicToast/src/types/index.d.ts +1 -1
  203. package/dist/plugins/MagicToast/src/utils/defaultOptions.mjs +1 -1
  204. package/dist/plugins/index.d.ts +1 -0
  205. package/dist/plugins/index.mjs +1 -0
  206. package/dist/utils/index.d.ts +9 -4
  207. package/dist/utils/index.js +39 -3
  208. package/dist/utils/index.js.map +1 -1
  209. package/package.json +17 -8
  210. package/dist/nuxt/module.cjs +0 -5
  211. package/dist/nuxt/module.d.ts +0 -9
  212. package/dist/nuxt/types.d.ts +0 -1
  213. package/dist/plugins/MagicAccordion/demo/data/footer.json +0 -117
  214. package/dist/plugins/MagicCommand/demo/data/about.json +0 -3
  215. package/dist/plugins/MagicCommand/demo/data/search.json +0 -594
  216. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerStateEmitter.d.ts +0 -15
  217. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerStateEmitter.mjs +0 -9
@@ -1,134 +1,106 @@
1
- <script>
2
- import { defineComponent as _defineComponent } from "vue";
3
- import { unref as _unref, renderSlot as _renderSlot, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent } from "vue";
4
- const _hoisted_1 = ["data-touched", "data-playing", "data-paused", "data-waiting", "data-idle", "data-hover"];
5
- const _hoisted_2 = { class: "magic-player-audio-controls__bar" };
6
- const _hoisted_3 = {
7
- class: "magic-player-audio-controls__item -shrink-0",
8
- "data-slot": "play-toggle"
9
- };
10
- const _hoisted_4 = {
11
- class: "magic-player-audio-controls__item -shrink-0",
12
- "data-slot": "display-time-current"
13
- };
14
- const _hoisted_5 = {
15
- class: "magic-player-audio-controls__item -grow",
16
- "data-slot": "timeline"
17
- };
18
- const _hoisted_6 = {
19
- class: "magic-player-audio-controls__item -shrink-0",
20
- "data-slot": "display-time-duration"
21
- };
22
- import { computed, ref, inject, provide } from "vue";
1
+ <template>
2
+ <div
3
+ class="magic-player-audio-controls"
4
+ :data-touched="touched"
5
+ :data-playing="playing"
6
+ :data-paused="!playing"
7
+ :data-waiting="waiting"
8
+ :data-idle="idle"
9
+ :data-hover="controlsMouseEntered"
10
+ @mouseenter="onMouseenter"
11
+ @mouseleave="onMouseleave"
12
+ >
13
+ <div class="magic-player-audio-controls__bar">
14
+ <div ref="bar" class="magic-player-audio-controls__bar--inner">
15
+ <div
16
+ class="magic-player-audio-controls__item -shrink-0"
17
+ data-slot="play-toggle"
18
+ >
19
+ <button v-if="!playing" @click="play">
20
+ <slot name="playIcon">
21
+ <icon-play />
22
+ </slot>
23
+ </button>
24
+ <button v-else @click="pause">
25
+ <slot name="pauseIcon">
26
+ <icon-pause />
27
+ </slot>
28
+ </button>
29
+ </div>
30
+ <div
31
+ class="magic-player-audio-controls__item -shrink-0"
32
+ data-slot="display-time-current"
33
+ >
34
+ <magic-player-display-time type="current" />
35
+ </div>
36
+ <div
37
+ class="magic-player-audio-controls__item -grow"
38
+ data-slot="timeline"
39
+ >
40
+ <div ref="track" class="magic-player-audio-controls__timeline">
41
+ <magic-player-timeline />
42
+ </div>
43
+ </div>
44
+ <div
45
+ class="magic-player-audio-controls__item -shrink-0"
46
+ data-slot="display-time-duration"
47
+ >
48
+ <magic-player-display-time type="duration" />
49
+ </div>
50
+ </div>
51
+ </div>
52
+ </div>
53
+ </template>
54
+
55
+ <script setup>
56
+ import {
57
+ toRefs,
58
+ computed,
59
+ inject,
60
+ provide,
61
+ useTemplateRef,
62
+ onBeforeUnmount
63
+ } from "vue";
23
64
  import { useIdle } from "@vueuse/core";
24
- import { usePlayerMediaApi } from "../composables/private/usePlayerMediaApi";
65
+ import { usePlayerState } from "../composables/private/usePlayerState";
25
66
  import { usePlayerAudioApi } from "../composables/private/usePlayerAudioApi";
26
67
  import { usePlayerControlsApi } from "../composables/private/usePlayerControlsApi";
27
68
  import IconPlay from "./icons/Play.vue";
28
69
  import IconPause from "./icons/Pause.vue";
29
- import { MagicPlayerInstanceId } from "../symbols";
30
- export default /* @__PURE__ */ _defineComponent({
31
- __name: "MagicPlayerAudioControls",
32
- props: {
33
- id: { type: String, required: false }
34
- },
35
- setup(__props) {
36
- const instanceId = inject(MagicPlayerInstanceId, void 0);
37
- const mappedId = computed(() => __props.id ?? instanceId);
38
- if (!mappedId.value) {
39
- throw new Error(
40
- "MagicAudioPlayerControls must be nested inside MagicAudioPlayer or be passed an id as a prop."
41
- );
42
- }
43
- const barRef = ref(void 0);
44
- const trackRef = ref(void 0);
45
- const { playing, waiting } = usePlayerMediaApi({
46
- id: mappedId.value
47
- });
48
- const { play, pause, touched, mouseEntered } = usePlayerAudioApi({
49
- id: mappedId.value
50
- });
51
- usePlayerControlsApi({
52
- id: mappedId.value,
53
- barRef,
54
- trackRef
55
- });
56
- const { idle } = useIdle(3e3);
57
- provide(MagicPlayerInstanceId, mappedId.value);
58
- return (_ctx, _cache) => {
59
- const _component_magic_player_display_time = _resolveComponent("magic-player-display-time");
60
- const _component_magic_player_timeline = _resolveComponent("magic-player-timeline");
61
- return _openBlock(), _createElementBlock("div", {
62
- class: "magic-player-audio-controls",
63
- "data-touched": _unref(touched),
64
- "data-playing": _unref(playing),
65
- "data-paused": !_unref(playing),
66
- "data-waiting": _unref(waiting),
67
- "data-idle": _unref(idle),
68
- "data-hover": _unref(mouseEntered)
69
- }, [
70
- _createElementVNode("div", _hoisted_2, [
71
- _createElementVNode(
72
- "div",
73
- {
74
- ref_key: "barRef",
75
- ref: barRef,
76
- class: "magic-player-audio-controls__bar--inner"
77
- },
78
- [
79
- _createElementVNode("div", _hoisted_3, [
80
- !_unref(playing) ? (_openBlock(), _createElementBlock("button", {
81
- key: 0,
82
- onClick: _cache[0] || (_cache[0] = //@ts-ignore
83
- (...args) => _unref(play) && _unref(play)(...args))
84
- }, [
85
- _renderSlot(_ctx.$slots, "playIcon", {}, () => [
86
- _createVNode(IconPlay)
87
- ])
88
- ])) : (_openBlock(), _createElementBlock("button", {
89
- key: 1,
90
- onClick: _cache[1] || (_cache[1] = //@ts-ignore
91
- (...args) => _unref(pause) && _unref(pause)(...args))
92
- }, [
93
- _renderSlot(_ctx.$slots, "pauseIcon", {}, () => [
94
- _createVNode(IconPause)
95
- ])
96
- ]))
97
- ]),
98
- _createElementVNode("div", _hoisted_4, [
99
- _createVNode(_component_magic_player_display_time, {
100
- id: _ctx.id,
101
- type: "current"
102
- }, null, 8, ["id"])
103
- ]),
104
- _createElementVNode("div", _hoisted_5, [
105
- _createElementVNode(
106
- "div",
107
- {
108
- ref_key: "trackRef",
109
- ref: trackRef,
110
- class: "magic-player-audio-controls__timeline"
111
- },
112
- [
113
- _createVNode(_component_magic_player_timeline, { id: _ctx.id }, null, 8, ["id"])
114
- ],
115
- 512
116
- /* NEED_PATCH */
117
- )
118
- ]),
119
- _createElementVNode("div", _hoisted_6, [
120
- _createVNode(_component_magic_player_display_time, {
121
- id: _ctx.id,
122
- type: "duration"
123
- }, null, 8, ["id"])
124
- ])
125
- ],
126
- 512
127
- /* NEED_PATCH */
128
- )
129
- ])
130
- ], 8, _hoisted_1);
131
- };
132
- }
70
+ import {
71
+ MagicPlayerInstanceId,
72
+ MagicPlayerTrackRef,
73
+ MagicPlayerBarRef
74
+ } from "../symbols";
75
+ const { instanceId } = defineProps({
76
+ instanceId: { type: String, required: false }
133
77
  });
78
+ const injectedInstanceId = inject(MagicPlayerInstanceId, void 0);
79
+ const mappedInstanceId = computed(() => instanceId ?? injectedInstanceId);
80
+ if (!mappedInstanceId.value) {
81
+ throw new Error(
82
+ "MagicAudioPlayerControls must be nested inside MagicAudioPlayer or an instanceId must be provided."
83
+ );
84
+ }
85
+ const barRef = useTemplateRef("bar");
86
+ const trackRef = useTemplateRef("track");
87
+ const { play, pause } = usePlayerAudioApi({
88
+ id: mappedInstanceId.value
89
+ });
90
+ const { initialize, destroy, onMouseenter, onMouseleave } = usePlayerControlsApi({
91
+ id: mappedInstanceId.value,
92
+ barRef,
93
+ trackRef
94
+ });
95
+ const { initializeState } = usePlayerState(mappedInstanceId.value);
96
+ const state = initializeState();
97
+ const { playing, waiting, touched, controlsMouseEntered } = toRefs(state);
98
+ const { idle } = useIdle(3e3);
99
+ initialize();
100
+ onBeforeUnmount(() => {
101
+ destroy();
102
+ });
103
+ provide(MagicPlayerInstanceId, mappedInstanceId.value);
104
+ provide(MagicPlayerTrackRef, trackRef);
105
+ provide(MagicPlayerBarRef, barRef);
134
106
  </script>
@@ -1,32 +1,36 @@
1
+ import IconPlay from './icons/Play.vue.js';
2
+ import IconPause from './icons/Pause.vue.js';
1
3
  interface MagicAudioPlayerControlsProps {
2
- id?: string;
4
+ instanceId?: string;
3
5
  }
4
- declare function __VLS_template(): {
5
- attrs: Partial<{}>;
6
- slots: {
7
- playIcon?(_: {}): any;
8
- pauseIcon?(_: {}): any;
9
- };
10
- refs: {
11
- barRef: HTMLDivElement;
12
- trackRef: HTMLDivElement;
13
- };
14
- rootEl: HTMLDivElement;
15
- };
16
- type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
17
- declare const __VLS_component: import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<MagicAudioPlayerControlsProps>>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<MagicAudioPlayerControlsProps>>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
18
- declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
6
+ declare const play: () => void, pause: () => void;
7
+ declare const onMouseenter: () => void, onMouseleave: () => void;
8
+ declare const playing: import("vue").Ref<boolean, boolean>, waiting: import("vue").Ref<boolean, boolean>, touched: import("vue").Ref<boolean, boolean>, controlsMouseEntered: import("vue").Ref<boolean, boolean>;
9
+ declare const idle: import("vue").ShallowRef<boolean>;
10
+ declare const __VLS_ctx: InstanceType<__VLS_PickNotAny<typeof __VLS_self, new () => {}>>;
11
+ declare var __VLS_1: {}, __VLS_6: {};
12
+ type __VLS_Slots = __VLS_PrettifyGlobal<__VLS_OmitStringIndex<typeof __VLS_ctx.$slots> & {
13
+ playIcon?: (props: typeof __VLS_1) => any;
14
+ } & {
15
+ pauseIcon?: (props: typeof __VLS_6) => any;
16
+ }>;
17
+ declare const __VLS_self: import("vue").DefineComponent<MagicAudioPlayerControlsProps, {
18
+ IconPlay: typeof IconPlay;
19
+ IconPause: typeof IconPause;
20
+ play: typeof play;
21
+ pause: typeof pause;
22
+ onMouseenter: typeof onMouseenter;
23
+ onMouseleave: typeof onMouseleave;
24
+ playing: typeof playing;
25
+ waiting: typeof waiting;
26
+ touched: typeof touched;
27
+ controlsMouseEntered: typeof controlsMouseEntered;
28
+ idle: typeof idle;
29
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MagicAudioPlayerControlsProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
30
+ declare const __VLS_component: import("vue").DefineComponent<MagicAudioPlayerControlsProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MagicAudioPlayerControlsProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
31
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
19
32
  export default _default;
20
- type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
21
- type __VLS_TypePropsToOption<T> = {
22
- [K in keyof T]-?: {} extends Pick<T, K> ? {
23
- type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
24
- } : {
25
- type: import('vue').PropType<T[K]>;
26
- required: true;
27
- };
28
- };
29
- type __VLS_WithTemplateSlots<T, S> = T & {
33
+ type __VLS_WithSlots<T, S> = T & {
30
34
  new (): {
31
35
  $slots: S;
32
36
  };
@@ -1,47 +1,37 @@
1
- <script>
2
- import { defineComponent as _defineComponent } from "vue";
3
- import { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock } from "vue";
4
- const _hoisted_1 = { class: "magic-player-display-time" };
5
- import { computed, inject } from "vue";
6
- import { usePlayerMediaApi } from "../composables/private/usePlayerMediaApi";
1
+ <template>
2
+ <div class="magic-player-display-time">
3
+ {{ stringifiedTime }}
4
+ </div>
5
+ </template>
6
+
7
+ <script setup>
8
+ import { computed, inject, toRefs } from "vue";
7
9
  import { formatTime } from "@maas/vue-equipment/utils";
10
+ import { usePlayerState } from "../composables/private/usePlayerState";
8
11
  import { MagicPlayerInstanceId } from "../symbols";
9
- export default /* @__PURE__ */ _defineComponent({
10
- __name: "MagicPlayerDisplayTime",
11
- props: {
12
- type: { type: String, required: false, default: "current" }
13
- },
14
- setup(__props) {
15
- const instanceId = inject(MagicPlayerInstanceId);
16
- if (!instanceId) {
17
- throw new Error(
18
- "MagicPlayerDisplayTime must be nested inside MagicPlayerVideoControls or MagicPlayerAudioControls."
19
- );
20
- }
21
- const { currentTime, remainingTime, duration } = usePlayerMediaApi({
22
- id: instanceId
23
- });
24
- const stringifiedTime = computed(() => {
25
- switch (__props.type) {
26
- case "current":
27
- return formatTime(currentTime.value, currentTime.value);
28
- case "remaining":
29
- return `-${formatTime(remainingTime.value, remainingTime.value)}`;
30
- case "duration":
31
- return formatTime(duration.value, duration.value);
32
- default:
33
- return "";
34
- }
35
- });
36
- return (_ctx, _cache) => {
37
- return _openBlock(), _createElementBlock(
38
- "div",
39
- _hoisted_1,
40
- _toDisplayString(stringifiedTime.value),
41
- 1
42
- /* TEXT */
43
- );
44
- };
12
+ const { type = "current" } = defineProps({
13
+ type: { type: String, required: false }
14
+ });
15
+ const instanceId = inject(MagicPlayerInstanceId);
16
+ if (!instanceId) {
17
+ throw new Error(
18
+ "MagicPlayerDisplayTime must be nested inside MagicPlayerVideoControls or MagicPlayerAudioControls."
19
+ );
20
+ }
21
+ const { initializeState } = usePlayerState(instanceId);
22
+ const state = initializeState();
23
+ const { currentTime, duration } = toRefs(state);
24
+ const remainingTime = computed(() => duration.value - currentTime.value);
25
+ const stringifiedTime = computed(() => {
26
+ switch (type) {
27
+ case "current":
28
+ return formatTime(currentTime.value, currentTime.value);
29
+ case "remaining":
30
+ return `-${formatTime(remainingTime.value, remainingTime.value)}`;
31
+ case "duration":
32
+ return formatTime(duration.value, duration.value);
33
+ default:
34
+ return "";
45
35
  }
46
36
  });
47
37
  </script>
@@ -1,14 +1,5 @@
1
1
  interface MagicPlayerDisplayTimeProps {
2
2
  type?: 'current' | 'remaining' | 'duration';
3
3
  }
4
- declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<MagicPlayerDisplayTimeProps>>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<MagicPlayerDisplayTimeProps>>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
4
+ declare const _default: import("vue").DefineComponent<MagicPlayerDisplayTimeProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MagicPlayerDisplayTimeProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
5
5
  export default _default;
6
- type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
7
- type __VLS_TypePropsToOption<T> = {
8
- [K in keyof T]-?: {} extends Pick<T, K> ? {
9
- type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
10
- } : {
11
- type: import('vue').PropType<T[K]>;
12
- required: true;
13
- };
14
- };
@@ -1,112 +1,113 @@
1
- <script>
2
- import { defineComponent as _defineComponent } from "vue";
3
- import { createElementVNode as _createElementVNode, normalizeStyle as _normalizeStyle, openBlock as _openBlock, createElementBlock as _createElementBlock } from "vue";
4
- const _hoisted_1 = ["width", "height"];
5
- import { shallowRef, onMounted, watch, computed, inject } from "vue";
1
+ <template>
2
+ <div
3
+ :style="{
4
+ width: `${thumbWidth}px`,
5
+ height: `${thumbHeight}px`
6
+ }"
7
+ class="magic-player-mux-popover"
8
+ >
9
+ <canvas
10
+ ref="canvas"
11
+ :width="storyboard?.tile_width"
12
+ :height="storyboard?.tile_height"
13
+ />
14
+ </div>
15
+ </template>
16
+
17
+ <script setup>
18
+ import {
19
+ toRefs,
20
+ shallowRef,
21
+ onMounted,
22
+ watch,
23
+ computed,
24
+ inject,
25
+ useTemplateRef
26
+ } from "vue";
6
27
  import { useDevicePixelRatio } from "@vueuse/core";
7
- import { usePlayerControlsApi } from "../composables/private/usePlayerControlsApi";
28
+ import { usePlayerState } from "../composables/private/usePlayerState";
8
29
  import { MagicPlayerInstanceId, MagicPlayerOptionsKey } from "../symbols";
9
- export default /* @__PURE__ */ _defineComponent({
10
- __name: "MagicPlayerMuxPopover",
11
- props: {
12
- playbackId: { type: String, required: false }
13
- },
14
- setup(__props) {
15
- const instanceId = inject(MagicPlayerInstanceId, void 0);
16
- const injectedOptions = inject(MagicPlayerOptionsKey, void 0);
17
- if (!instanceId || !injectedOptions) {
18
- throw new Error(
19
- "MagicPlayerMuxPopover must be nested inside MagicPlayerVideoControls."
20
- );
21
- }
22
- const { seekedTime } = usePlayerControlsApi({ id: instanceId });
23
- const { pixelRatio } = useDevicePixelRatio();
24
- const canvasRef = shallowRef();
25
- const storyboard = shallowRef();
26
- let context = void 0;
27
- let image = void 0;
28
- const thumbWidth = computed(() => {
29
- if (!storyboard.value) return 0;
30
- return storyboard.value.tile_width / pixelRatio.value;
31
- });
32
- const thumbHeight = computed(() => {
33
- if (!storyboard.value) return 0;
34
- return storyboard.value.tile_height / pixelRatio.value;
35
- });
36
- function getMuxId(url) {
37
- const match = url?.match(/mux\.com\/([^\/]+)/);
38
- return match?.[1];
39
- }
40
- async function init() {
41
- const parsedPlaybackId = getMuxId(injectedOptions?.src);
42
- const mappedPlaybackId = __props.playbackId ?? parsedPlaybackId;
43
- if (!mappedPlaybackId) return;
44
- try {
45
- storyboard.value = await fetch(
46
- `https://image.mux.com/${mappedPlaybackId}/storyboard.json`
47
- ).then((res) => res.json());
48
- if (!storyboard.value) throw new Error();
49
- image = new Image();
50
- image.src = storyboard.value.url;
51
- await image.decode();
52
- context = canvasRef.value.getContext("2d");
53
- context.drawImage(image, 0, 0);
54
- } catch (e) {
55
- console.error("Can not initialize timeine preview.", e);
56
- }
57
- }
58
- function drawFrame(time) {
59
- if (!storyboard.value || !context || !image) return;
60
- const { tile_height, tile_width, tiles } = storyboard.value;
61
- let closestIndex = -1;
62
- let minDifference = Infinity;
63
- for (let i = 0; i < tiles.length; i++) {
64
- const { start } = tiles[i];
65
- const difference = Math.abs(start - time);
66
- if (difference < minDifference) {
67
- minDifference = difference;
68
- closestIndex = i;
69
- }
70
- }
71
- const tile = tiles[closestIndex];
72
- context.drawImage(
73
- image,
74
- tile.x,
75
- tile.y,
76
- tile_width,
77
- tile_height,
78
- 0,
79
- 0,
80
- tile_width,
81
- tile_height
82
- );
30
+ const { playbackId } = defineProps({
31
+ playbackId: { type: String, required: false }
32
+ });
33
+ const instanceId = inject(MagicPlayerInstanceId, void 0);
34
+ const injectedOptions = inject(MagicPlayerOptionsKey, void 0);
35
+ if (!instanceId || !injectedOptions) {
36
+ throw new Error(
37
+ "MagicPlayerMuxPopover must be nested inside MagicPlayerVideoControls."
38
+ );
39
+ }
40
+ const { initializeState } = usePlayerState(instanceId);
41
+ const state = initializeState();
42
+ const { seekedTime } = toRefs(state);
43
+ const { pixelRatio } = useDevicePixelRatio();
44
+ const canvasRef = useTemplateRef("canvas");
45
+ const storyboard = shallowRef();
46
+ let context = void 0;
47
+ let image = void 0;
48
+ const thumbWidth = computed(() => {
49
+ if (!storyboard.value) return 0;
50
+ return storyboard.value.tile_width / pixelRatio.value;
51
+ });
52
+ const thumbHeight = computed(() => {
53
+ if (!storyboard.value) return 0;
54
+ return storyboard.value.tile_height / pixelRatio.value;
55
+ });
56
+ function getMuxId(url) {
57
+ const match = url?.match(/mux\.com\/([^\/]+)/);
58
+ return match?.[1]?.replace(/\.(m3u8|mp4)$/, "");
59
+ }
60
+ async function init() {
61
+ const parsedPlaybackId = getMuxId(injectedOptions?.src);
62
+ const mappedPlaybackId = playbackId ?? parsedPlaybackId;
63
+ if (!mappedPlaybackId) {
64
+ console.error(
65
+ "MagicPlayerMuxPopover must be nested inside MagicPlayerProvider or a playbackId must be provided"
66
+ );
67
+ return;
68
+ }
69
+ try {
70
+ storyboard.value = await fetch(
71
+ `https://image.mux.com/${mappedPlaybackId}/storyboard.json`
72
+ ).then((res) => res.json());
73
+ if (!storyboard.value) throw new Error();
74
+ image = new Image();
75
+ image.src = storyboard.value.url;
76
+ await image.decode();
77
+ context = canvasRef.value?.getContext("2d");
78
+ context?.drawImage(image, 0, 0);
79
+ } catch (e) {
80
+ console.error("Can not initialize timeine preview.", e);
81
+ }
82
+ }
83
+ function drawFrame(time) {
84
+ if (!storyboard.value || !context || !image) return;
85
+ const { tile_height, tile_width, tiles } = storyboard.value;
86
+ let closestIndex = -1;
87
+ let minDifference = Infinity;
88
+ for (let i = 0; i < tiles.length; i++) {
89
+ const { start } = tiles[i];
90
+ const difference = Math.abs(start - time);
91
+ if (difference < minDifference) {
92
+ minDifference = difference;
93
+ closestIndex = i;
83
94
  }
84
- onMounted(init);
85
- watch(() => seekedTime?.value, drawFrame);
86
- return (_ctx, _cache) => {
87
- return _openBlock(), _createElementBlock(
88
- "div",
89
- {
90
- style: _normalizeStyle({
91
- width: `${thumbWidth.value}px`,
92
- height: `${thumbHeight.value}px`
93
- }),
94
- class: "magic-player-mux-popover"
95
- },
96
- [
97
- _createElementVNode("canvas", {
98
- ref_key: "canvasRef",
99
- ref: canvasRef,
100
- width: storyboard.value?.tile_width,
101
- height: storyboard.value?.tile_height
102
- }, null, 8, _hoisted_1)
103
- ],
104
- 4
105
- /* STYLE */
106
- );
107
- };
108
95
  }
109
- });
96
+ const tile = tiles[closestIndex];
97
+ context.drawImage(
98
+ image,
99
+ tile.x,
100
+ tile.y,
101
+ tile_width,
102
+ tile_height,
103
+ 0,
104
+ 0,
105
+ tile_width,
106
+ tile_height
107
+ );
108
+ }
109
+ onMounted(init);
110
+ watch(() => seekedTime?.value, drawFrame);
110
111
  </script>
111
112
 
112
113
  <style>
@@ -1,14 +1,5 @@
1
1
  interface MagicPlayerMuxPopoverProps {
2
2
  playbackId?: string;
3
3
  }
4
- declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<MagicPlayerMuxPopoverProps>>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<MagicPlayerMuxPopoverProps>>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
4
+ declare const _default: import("vue").DefineComponent<MagicPlayerMuxPopoverProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MagicPlayerMuxPopoverProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
5
5
  export default _default;
6
- type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
7
- type __VLS_TypePropsToOption<T> = {
8
- [K in keyof T]-?: {} extends Pick<T, K> ? {
9
- type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
10
- } : {
11
- type: import('vue').PropType<T[K]>;
12
- required: true;
13
- };
14
- };