@maas/vue-equipment 1.0.0-beta.4 → 1.0.0-beta.41

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 (374) hide show
  1. package/README.md +2 -2
  2. package/dist/composables/useCountdown/index.d.ts +23 -0
  3. package/dist/composables/useCountdown/index.js +133 -0
  4. package/dist/composables/useCountdown/index.js.map +1 -0
  5. package/dist/composables/useEasings/index.d.ts +21 -0
  6. package/dist/composables/useEasings/index.js +40 -0
  7. package/dist/composables/useEasings/index.js.map +1 -0
  8. package/dist/composables/useMetaViewport/index.d.ts +9 -0
  9. package/dist/composables/useMetaViewport/index.js +29 -0
  10. package/dist/composables/useMetaViewport/index.js.map +1 -0
  11. package/dist/composables/useScrollTo/index.d.ts +49 -0
  12. package/dist/composables/useScrollTo/index.js +152 -0
  13. package/dist/composables/useScrollTo/index.js.map +1 -0
  14. package/dist/nuxt/module.d.mts +4 -3
  15. package/dist/nuxt/module.json +2 -2
  16. package/dist/nuxt/module.mjs +55 -35
  17. package/dist/nuxt/types.d.mts +3 -1
  18. package/dist/plugins/MagicAccordion/nuxt.d.ts +1 -1
  19. package/dist/plugins/MagicAccordion/src/components/MagicAccordionContent.d.vue.ts +26 -0
  20. package/dist/plugins/MagicAccordion/src/components/MagicAccordionContent.vue +70 -84
  21. package/dist/plugins/MagicAccordion/src/components/MagicAccordionContent.vue.d.ts +11 -24
  22. package/dist/plugins/MagicAccordion/src/components/MagicAccordionProvider.d.vue.ts +20 -0
  23. package/dist/plugins/MagicAccordion/src/components/MagicAccordionProvider.vue +18 -32
  24. package/dist/plugins/MagicAccordion/src/components/MagicAccordionProvider.vue.d.ts +7 -20
  25. package/dist/plugins/MagicAccordion/src/components/MagicAccordionTrigger.d.vue.ts +23 -0
  26. package/dist/plugins/MagicAccordion/src/components/MagicAccordionTrigger.vue +62 -62
  27. package/dist/plugins/MagicAccordion/src/components/MagicAccordionTrigger.vue.d.ts +10 -59
  28. package/dist/plugins/MagicAccordion/src/components/MagicAccordionView.d.vue.ts +20 -0
  29. package/dist/plugins/MagicAccordion/src/components/MagicAccordionView.vue +40 -45
  30. package/dist/plugins/MagicAccordion/src/components/MagicAccordionView.vue.d.ts +9 -22
  31. package/dist/plugins/MagicAccordion/src/composables/private/useAccordionCallback.mjs +1 -1
  32. package/dist/plugins/MagicAccordion/src/composables/private/useAccordionTrigger.d.ts +4 -4
  33. package/dist/plugins/MagicAccordion/src/composables/private/useAccordionTrigger.mjs +9 -8
  34. package/dist/plugins/MagicAccordion/src/composables/private/useAccordionView.mjs +1 -0
  35. package/dist/plugins/MagicAccordion/src/composables/useMagicAccordion.d.ts +1 -5
  36. package/dist/plugins/MagicAccordion/src/composables/useMagicAccordion.mjs +3 -3
  37. package/dist/plugins/MagicAccordion/src/symbols/index.d.ts +2 -2
  38. package/dist/plugins/MagicAccordion/src/types/index.d.ts +2 -2
  39. package/dist/plugins/MagicCommand/nuxt.d.ts +1 -1
  40. package/dist/plugins/MagicCommand/src/components/MagicCommandContent.d.vue.ts +15 -0
  41. package/dist/plugins/MagicCommand/src/components/MagicCommandContent.vue +164 -152
  42. package/dist/plugins/MagicCommand/src/components/MagicCommandContent.vue.d.ts +9 -15
  43. package/dist/plugins/MagicCommand/src/components/MagicCommandDrawer.d.vue.ts +17 -0
  44. package/dist/plugins/MagicCommand/src/components/MagicCommandDrawer.vue +50 -54
  45. package/dist/plugins/MagicCommand/src/components/MagicCommandDrawer.vue.d.ts +7 -20
  46. package/dist/plugins/MagicCommand/src/components/MagicCommandItem.d.vue.ts +27 -0
  47. package/dist/plugins/MagicCommand/src/components/MagicCommandItem.vue +89 -87
  48. package/dist/plugins/MagicCommand/src/components/MagicCommandItem.vue.d.ts +15 -28
  49. package/dist/plugins/MagicCommand/src/components/MagicCommandModal.d.vue.ts +17 -0
  50. package/dist/plugins/MagicCommand/src/components/MagicCommandModal.vue +39 -49
  51. package/dist/plugins/MagicCommand/src/components/MagicCommandModal.vue.d.ts +7 -20
  52. package/dist/plugins/MagicCommand/src/components/MagicCommandProvider.d.vue.ts +20 -0
  53. package/dist/plugins/MagicCommand/src/components/MagicCommandProvider.vue +75 -76
  54. package/dist/plugins/MagicCommand/src/components/MagicCommandProvider.vue.d.ts +7 -57
  55. package/dist/plugins/MagicCommand/src/components/MagicCommandRenderer.d.vue.ts +3 -0
  56. package/dist/plugins/MagicCommand/src/components/MagicCommandRenderer.vue +30 -40
  57. package/dist/plugins/MagicCommand/src/components/MagicCommandRenderer.vue.d.ts +2 -1
  58. package/dist/plugins/MagicCommand/src/components/MagicCommandTrigger.d.vue.ts +24 -0
  59. package/dist/plugins/MagicCommand/src/components/MagicCommandTrigger.vue +88 -85
  60. package/dist/plugins/MagicCommand/src/components/MagicCommandTrigger.vue.d.ts +10 -61
  61. package/dist/plugins/MagicCommand/src/components/MagicCommandView.d.vue.ts +19 -0
  62. package/dist/plugins/MagicCommand/src/components/MagicCommandView.vue +44 -48
  63. package/dist/plugins/MagicCommand/src/components/MagicCommandView.vue.d.ts +9 -22
  64. package/dist/plugins/MagicCommand/src/composables/private/useCommandCallback.mjs +1 -1
  65. package/dist/plugins/MagicCommand/src/composables/private/useCommandItem.mjs +11 -13
  66. package/dist/plugins/MagicCommand/src/composables/private/useCommandScroll.d.ts +2 -2
  67. package/dist/plugins/MagicCommand/src/composables/private/useCommandState.mjs +1 -1
  68. package/dist/plugins/MagicCommand/src/composables/private/useCommandTrigger.d.ts +2 -2
  69. package/dist/plugins/MagicCommand/src/composables/private/useCommandTrigger.mjs +3 -2
  70. package/dist/plugins/MagicCommand/src/composables/private/useCommandView.d.ts +1 -1
  71. package/dist/plugins/MagicCommand/src/composables/private/useCommandView.mjs +63 -44
  72. package/dist/plugins/MagicCommand/src/composables/useMagicCommand.mjs +21 -4
  73. package/dist/plugins/MagicCommand/src/symbols/index.d.ts +4 -4
  74. package/dist/plugins/MagicCommand/src/types/index.d.ts +3 -3
  75. package/dist/plugins/MagicCookie/nuxt.d.ts +1 -1
  76. package/dist/plugins/MagicCookie/src/components/MagicCookieItem.d.vue.ts +20 -0
  77. package/dist/plugins/MagicCookie/src/components/MagicCookieItem.vue +43 -41
  78. package/dist/plugins/MagicCookie/src/components/MagicCookieItem.vue.d.ts +9 -22
  79. package/dist/plugins/MagicCookie/src/components/MagicCookieProvider.d.vue.ts +19 -0
  80. package/dist/plugins/MagicCookie/src/components/MagicCookieProvider.vue +19 -36
  81. package/dist/plugins/MagicCookie/src/components/MagicCookieProvider.vue.d.ts +7 -20
  82. package/dist/plugins/MagicCookie/src/components/MagicCookieView.d.vue.ts +17 -0
  83. package/dist/plugins/MagicCookie/src/components/MagicCookieView.vue +47 -73
  84. package/dist/plugins/MagicCookie/src/components/MagicCookieView.vue.d.ts +11 -15
  85. package/dist/plugins/MagicCookie/src/composables/private/useCookieCallback.mjs +1 -1
  86. package/dist/plugins/MagicCookie/src/composables/private/useCookieItem.mjs +12 -4
  87. package/dist/plugins/MagicCookie/src/composables/useMagicCookie.d.ts +2 -1
  88. package/dist/plugins/MagicCookie/src/composables/useMagicCookie.mjs +10 -6
  89. package/dist/plugins/MagicCookie/src/symbols/index.d.ts +2 -2
  90. package/dist/plugins/MagicCookie/src/types/index.d.ts +3 -2
  91. package/dist/plugins/MagicDraggable/nuxt.d.ts +1 -1
  92. package/dist/plugins/MagicDraggable/src/components/MagicDraggable.d.vue.ts +19 -0
  93. package/dist/plugins/MagicDraggable/src/components/MagicDraggable.vue +92 -101
  94. package/dist/plugins/MagicDraggable/src/components/MagicDraggable.vue.d.ts +7 -24
  95. package/dist/plugins/MagicDraggable/src/composables/private/useDraggableDrag.d.ts +2 -2
  96. package/dist/plugins/MagicDraggable/src/composables/private/useDraggableDrag.mjs +63 -66
  97. package/dist/plugins/MagicDraggable/src/composables/private/useDraggableScrollLock.mjs +37 -15
  98. package/dist/plugins/MagicDraggable/src/composables/private/useDraggableSnap.d.ts +2 -15
  99. package/dist/plugins/MagicDraggable/src/composables/private/useDraggableSnap.mjs +114 -56
  100. package/dist/plugins/MagicDraggable/src/composables/private/useDraggableState.mjs +6 -5
  101. package/dist/plugins/MagicDraggable/src/composables/useMagicDraggable.mjs +1 -1
  102. package/dist/plugins/MagicDraggable/src/types/index.d.ts +4 -3
  103. package/dist/plugins/MagicDraggable/src/utils/defaultOptions.mjs +1 -1
  104. package/dist/plugins/MagicDrawer/nuxt.d.ts +1 -1
  105. package/dist/plugins/MagicDrawer/src/components/MagicDrawer.d.vue.ts +31 -0
  106. package/dist/plugins/MagicDrawer/src/components/MagicDrawer.vue +290 -324
  107. package/dist/plugins/MagicDrawer/src/components/MagicDrawer.vue.d.ts +19 -35
  108. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerCallback.mjs +2 -2
  109. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerDOM.mjs +37 -15
  110. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerDrag.d.ts +2 -2
  111. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerDrag.mjs +16 -5
  112. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerGuards.d.ts +1 -1
  113. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerGuards.mjs +28 -10
  114. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerProgress.d.ts +2 -2
  115. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerProgress.mjs +1 -1
  116. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerSnap.d.ts +3 -3
  117. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerSnap.mjs +55 -19
  118. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerState.mjs +3 -1
  119. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerUtils.mjs +21 -8
  120. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerWheel.d.ts +1 -1
  121. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerWheel.mjs +7 -2
  122. package/dist/plugins/MagicDrawer/src/composables/useMagicDrawer.mjs +1 -1
  123. package/dist/plugins/MagicDrawer/src/types/index.mjs +1 -0
  124. package/dist/plugins/MagicDrawer/src/utils/defaultOptions.mjs +2 -2
  125. package/dist/plugins/MagicEmitter/nuxt.d.ts +1 -1
  126. package/dist/plugins/MagicEmitter/src/composables/useMagicEmitter.d.ts +202 -100
  127. package/dist/plugins/MagicEmitter/src/types/index.d.ts +2 -0
  128. package/dist/plugins/MagicError/index.d.ts +5 -0
  129. package/dist/plugins/MagicError/index.mjs +3 -0
  130. package/dist/plugins/MagicError/nuxt.d.ts +2 -0
  131. package/dist/plugins/MagicError/nuxt.mjs +12 -0
  132. package/dist/plugins/MagicError/package.json +40 -0
  133. package/dist/plugins/MagicError/src/MagicError.mjs +0 -0
  134. package/dist/plugins/MagicError/src/class/MagicError.d.ts +6 -0
  135. package/dist/plugins/MagicError/src/class/MagicError.mjs +15 -0
  136. package/dist/plugins/MagicError/src/composables/useMagicError.d.ts +18 -0
  137. package/dist/plugins/MagicError/src/composables/useMagicError.mjs +31 -0
  138. package/dist/plugins/MagicMarquee/nuxt.d.ts +1 -1
  139. package/dist/plugins/MagicMarquee/src/components/MagicMarquee.d.vue.ts +21 -0
  140. package/dist/plugins/MagicMarquee/src/components/MagicMarquee.vue +38 -72
  141. package/dist/plugins/MagicMarquee/src/components/MagicMarquee.vue.d.ts +9 -24
  142. package/dist/plugins/MagicMarquee/src/composables/private/useMarqueeApi.d.ts +1 -1
  143. package/dist/plugins/MagicMarquee/src/composables/private/useMarqueeApi.mjs +8 -2
  144. package/dist/plugins/MagicMarquee/src/composables/useMagicMarquee.d.ts +1 -1
  145. package/dist/plugins/MagicMenu/nuxt.d.ts +1 -1
  146. package/dist/plugins/MagicMenu/src/components/MagicMenuChannel.d.vue.ts +17 -0
  147. package/dist/plugins/MagicMenu/src/components/MagicMenuChannel.vue +60 -60
  148. package/dist/plugins/MagicMenu/src/components/MagicMenuChannel.vue.d.ts +7 -20
  149. package/dist/plugins/MagicMenu/src/components/MagicMenuContent.d.vue.ts +25 -0
  150. package/dist/plugins/MagicMenu/src/components/MagicMenuContent.vue +189 -216
  151. package/dist/plugins/MagicMenu/src/components/MagicMenuContent.vue.d.ts +11 -25
  152. package/dist/plugins/MagicMenu/src/components/MagicMenuFloat.d.vue.ts +24 -0
  153. package/dist/plugins/MagicMenu/src/components/MagicMenuFloat.vue +171 -198
  154. package/dist/plugins/MagicMenu/src/components/MagicMenuFloat.vue.d.ts +12 -26
  155. package/dist/plugins/MagicMenu/src/components/MagicMenuItem.d.vue.ts +26 -0
  156. package/dist/plugins/MagicMenu/src/components/MagicMenuItem.vue +103 -112
  157. package/dist/plugins/MagicMenu/src/components/MagicMenuItem.vue.d.ts +15 -28
  158. package/dist/plugins/MagicMenu/src/components/MagicMenuProvider.d.vue.ts +20 -0
  159. package/dist/plugins/MagicMenu/src/components/MagicMenuProvider.vue +82 -81
  160. package/dist/plugins/MagicMenu/src/components/MagicMenuProvider.vue.d.ts +7 -57
  161. package/dist/plugins/MagicMenu/src/components/MagicMenuRemote.d.vue.ts +25 -0
  162. package/dist/plugins/MagicMenu/src/components/MagicMenuRemote.vue +69 -86
  163. package/dist/plugins/MagicMenu/src/components/MagicMenuRemote.vue.d.ts +10 -23
  164. package/dist/plugins/MagicMenu/src/components/MagicMenuTrigger.d.vue.ts +24 -0
  165. package/dist/plugins/MagicMenu/src/components/MagicMenuTrigger.vue +99 -97
  166. package/dist/plugins/MagicMenu/src/components/MagicMenuTrigger.vue.d.ts +12 -60
  167. package/dist/plugins/MagicMenu/src/components/MagicMenuView.d.vue.ts +20 -0
  168. package/dist/plugins/MagicMenu/src/components/MagicMenuView.vue +57 -61
  169. package/dist/plugins/MagicMenu/src/components/MagicMenuView.vue.d.ts +11 -24
  170. package/dist/plugins/MagicMenu/src/composables/private/useMenuCallback.mjs +2 -2
  171. package/dist/plugins/MagicMenu/src/composables/private/useMenuChannel.mjs +15 -5
  172. package/dist/plugins/MagicMenu/src/composables/private/useMenuCursor.d.ts +3 -3
  173. package/dist/plugins/MagicMenu/src/composables/private/useMenuCursor.mjs +4 -4
  174. package/dist/plugins/MagicMenu/src/composables/private/useMenuDOM.mjs +38 -16
  175. package/dist/plugins/MagicMenu/src/composables/private/useMenuItem.mjs +12 -2
  176. package/dist/plugins/MagicMenu/src/composables/private/useMenuKeyListener.d.ts +2 -2
  177. package/dist/plugins/MagicMenu/src/composables/private/useMenuKeyListener.mjs +45 -18
  178. package/dist/plugins/MagicMenu/src/composables/private/useMenuTrigger.d.ts +2 -2
  179. package/dist/plugins/MagicMenu/src/composables/private/useMenuTrigger.mjs +4 -2
  180. package/dist/plugins/MagicMenu/src/composables/private/useMenuView.mjs +31 -10
  181. package/dist/plugins/MagicMenu/src/composables/useMagicMenu.mjs +1 -0
  182. package/dist/plugins/MagicMenu/src/symbols/index.d.ts +4 -4
  183. package/dist/plugins/MagicMenu/src/types/index.d.ts +4 -4
  184. package/dist/plugins/MagicModal/nuxt.d.ts +1 -1
  185. package/dist/plugins/MagicModal/src/components/MagicModal.d.vue.ts +24 -0
  186. package/dist/plugins/MagicModal/src/components/MagicModal.vue +134 -171
  187. package/dist/plugins/MagicModal/src/components/MagicModal.vue.d.ts +11 -25
  188. package/dist/plugins/MagicModal/src/composables/private/useModalCallback.mjs +1 -1
  189. package/dist/plugins/MagicModal/src/composables/private/useModalDOM.mjs +37 -15
  190. package/dist/plugins/MagicModal/src/types/index.d.ts +2 -2
  191. package/dist/plugins/MagicModal/src/types/index.mjs +1 -0
  192. package/dist/plugins/MagicNoise/nuxt.d.ts +1 -1
  193. package/dist/plugins/MagicNoise/src/components/MagicNoise.d.vue.ts +8 -0
  194. package/dist/plugins/MagicNoise/src/components/MagicNoise.vue +50 -81
  195. package/dist/plugins/MagicNoise/src/components/MagicNoise.vue.d.ts +2 -10
  196. package/dist/plugins/MagicNoise/src/composables/private/useNoiseApi.d.ts +3 -3
  197. package/dist/plugins/MagicNoise/src/composables/private/useNoiseApi.mjs +17 -9
  198. package/dist/plugins/MagicNoise/src/types/index.d.ts +2 -0
  199. package/dist/plugins/MagicNoise/src/utils/defaultOptions.mjs +3 -1
  200. package/dist/plugins/MagicPie/index.d.ts +7 -0
  201. package/dist/plugins/MagicPie/index.mjs +8 -0
  202. package/dist/plugins/MagicPie/nuxt.d.ts +2 -0
  203. package/dist/plugins/MagicPie/nuxt.mjs +23 -0
  204. package/dist/plugins/MagicPie/src/components/MagicPie.d.vue.ts +8 -0
  205. package/dist/plugins/MagicPie/src/components/MagicPie.vue +181 -0
  206. package/dist/plugins/MagicPie/src/components/MagicPie.vue.d.ts +8 -0
  207. package/dist/plugins/MagicPie/src/composables/private/usePieState.d.ts +6 -0
  208. package/dist/plugins/MagicPie/src/composables/private/usePieState.mjs +35 -0
  209. package/dist/plugins/MagicPie/src/composables/useMagicPie.d.ts +13 -0
  210. package/dist/plugins/MagicPie/src/composables/useMagicPie.mjs +43 -0
  211. package/dist/plugins/MagicPie/src/types/index.d.ts +9 -0
  212. package/dist/plugins/MagicPie/src/types/index.mjs +0 -0
  213. package/dist/plugins/MagicPlayer/nuxt.d.ts +1 -1
  214. package/dist/plugins/MagicPlayer/src/components/MagicPlayerAudio.d.vue.ts +3 -0
  215. package/dist/plugins/MagicPlayer/src/components/MagicPlayerAudio.vue +103 -65
  216. package/dist/plugins/MagicPlayer/src/components/MagicPlayerAudio.vue.d.ts +2 -1
  217. package/dist/plugins/MagicPlayer/src/components/MagicPlayerAudioControls.d.vue.ts +18 -0
  218. package/dist/plugins/MagicPlayer/src/components/MagicPlayerAudioControls.vue +129 -127
  219. package/dist/plugins/MagicPlayer/src/components/MagicPlayerAudioControls.vue.d.ts +10 -25
  220. package/dist/plugins/MagicPlayer/src/components/MagicPlayerDisplayTime.d.vue.ts +6 -0
  221. package/dist/plugins/MagicPlayer/src/components/MagicPlayerDisplayTime.vue +38 -42
  222. package/dist/plugins/MagicPlayer/src/components/MagicPlayerDisplayTime.vue.d.ts +2 -10
  223. package/dist/plugins/MagicPlayer/src/components/MagicPlayerMuxPopover.d.vue.ts +6 -0
  224. package/dist/plugins/MagicPlayer/src/components/MagicPlayerMuxPopover.vue +131 -102
  225. package/dist/plugins/MagicPlayer/src/components/MagicPlayerMuxPopover.vue.d.ts +2 -10
  226. package/dist/plugins/MagicPlayer/src/components/MagicPlayerOverlay.d.vue.ts +25 -0
  227. package/dist/plugins/MagicPlayer/src/components/MagicPlayerOverlay.vue +140 -82
  228. package/dist/plugins/MagicPlayer/src/components/MagicPlayerOverlay.vue.d.ts +18 -13
  229. package/dist/plugins/MagicPlayer/src/components/MagicPlayerPoster.d.vue.ts +13 -0
  230. package/dist/plugins/MagicPlayer/src/components/MagicPlayerPoster.vue +26 -36
  231. package/dist/plugins/MagicPlayer/src/components/MagicPlayerPoster.vue.d.ts +7 -11
  232. package/dist/plugins/MagicPlayer/src/components/MagicPlayerProvider.d.vue.ts +19 -0
  233. package/dist/plugins/MagicPlayer/src/components/MagicPlayerProvider.vue +66 -56
  234. package/dist/plugins/MagicPlayer/src/components/MagicPlayerProvider.vue.d.ts +7 -22
  235. package/dist/plugins/MagicPlayer/src/components/MagicPlayerTimeline.d.vue.ts +3 -0
  236. package/dist/plugins/MagicPlayer/src/components/MagicPlayerTimeline.vue +66 -109
  237. package/dist/plugins/MagicPlayer/src/components/MagicPlayerTimeline.vue.d.ts +2 -1
  238. package/dist/plugins/MagicPlayer/src/components/MagicPlayerVideo.d.vue.ts +3 -0
  239. package/dist/plugins/MagicPlayer/src/components/MagicPlayerVideo.vue +128 -68
  240. package/dist/plugins/MagicPlayer/src/components/MagicPlayerVideo.vue.d.ts +2 -1
  241. package/dist/plugins/MagicPlayer/src/components/MagicPlayerVideoControls.d.vue.ts +36 -0
  242. package/dist/plugins/MagicPlayer/src/components/MagicPlayerVideoControls.vue +185 -210
  243. package/dist/plugins/MagicPlayer/src/components/MagicPlayerVideoControls.vue.d.ts +25 -34
  244. package/dist/plugins/MagicPlayer/src/components/icons/FullscreenEnter.d.vue.ts +3 -0
  245. package/dist/plugins/MagicPlayer/src/components/icons/FullscreenEnter.vue.d.ts +2 -1
  246. package/dist/plugins/MagicPlayer/src/components/icons/FullscreenExit.d.vue.ts +3 -0
  247. package/dist/plugins/MagicPlayer/src/components/icons/FullscreenExit.vue.d.ts +2 -1
  248. package/dist/plugins/MagicPlayer/src/components/icons/Pause.d.vue.ts +3 -0
  249. package/dist/plugins/MagicPlayer/src/components/icons/Pause.vue.d.ts +2 -1
  250. package/dist/plugins/MagicPlayer/src/components/icons/Play.d.vue.ts +3 -0
  251. package/dist/plugins/MagicPlayer/src/components/icons/Play.vue.d.ts +2 -1
  252. package/dist/plugins/MagicPlayer/src/components/icons/VolumeOff.d.vue.ts +3 -0
  253. package/dist/plugins/MagicPlayer/src/components/icons/VolumeOff.vue.d.ts +2 -1
  254. package/dist/plugins/MagicPlayer/src/components/icons/VolumeOn.d.vue.ts +3 -0
  255. package/dist/plugins/MagicPlayer/src/components/icons/VolumeOn.vue.d.ts +2 -1
  256. package/dist/plugins/MagicPlayer/src/components/icons/Waiting.d.vue.ts +3 -0
  257. package/dist/plugins/MagicPlayer/src/components/icons/Waiting.vue.d.ts +2 -1
  258. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerAudioApi.d.ts +0 -4
  259. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerAudioApi.mjs +9 -52
  260. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerControlsApi.d.ts +8 -34
  261. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerControlsApi.mjs +170 -234
  262. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerEmitter.d.ts +8 -0
  263. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerEmitter.mjs +103 -0
  264. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerMediaApi.d.ts +3 -17
  265. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerMediaApi.mjs +113 -176
  266. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerProvider.d.ts +6 -0
  267. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerProvider.mjs +34 -0
  268. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerRuntime.d.ts +4 -4
  269. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerRuntime.mjs +113 -49
  270. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerState.d.ts +7 -0
  271. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerState.mjs +62 -0
  272. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerVideoApi.d.ts +4 -8
  273. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerVideoApi.mjs +50 -93
  274. package/dist/plugins/MagicPlayer/src/composables/useMagicPlayer.d.ts +37 -52
  275. package/dist/plugins/MagicPlayer/src/composables/useMagicPlayer.mjs +53 -3
  276. package/dist/plugins/MagicPlayer/src/css/magic-player-audio-controls.css +0 -1
  277. package/dist/plugins/MagicPlayer/src/css/magic-player-overlay.css +0 -0
  278. package/dist/plugins/MagicPlayer/src/css/magic-player-timeline.css +5 -0
  279. package/dist/plugins/MagicPlayer/src/symbols/index.d.ts +6 -2
  280. package/dist/plugins/MagicPlayer/src/symbols/index.mjs +12 -1
  281. package/dist/plugins/MagicPlayer/src/types/index.d.ts +77 -10
  282. package/dist/plugins/MagicPlayer/src/utils/defaultOptions.d.ts +2 -2
  283. package/dist/plugins/MagicPlayer/src/utils/defaultOptions.mjs +7 -1
  284. package/dist/plugins/MagicPlayer/src/utils/playbackDefaults.d.ts +3 -0
  285. package/dist/plugins/MagicPlayer/src/utils/playbackDefaults.mjs +7 -0
  286. package/dist/plugins/MagicScroll/nuxt.d.ts +1 -1
  287. package/dist/plugins/MagicScroll/src/components/MagicScrollCollision.d.vue.ts +18 -0
  288. package/dist/plugins/MagicScroll/src/components/MagicScrollCollision.vue +60 -61
  289. package/dist/plugins/MagicScroll/src/components/MagicScrollCollision.vue.d.ts +7 -22
  290. package/dist/plugins/MagicScroll/src/components/MagicScrollMotion.d.vue.ts +20 -0
  291. package/dist/plugins/MagicScroll/src/components/MagicScrollMotion.vue +56 -71
  292. package/dist/plugins/MagicScroll/src/components/MagicScrollMotion.vue.d.ts +7 -22
  293. package/dist/plugins/MagicScroll/src/components/MagicScrollProvider.d.vue.ts +36 -0
  294. package/dist/plugins/MagicScroll/src/components/MagicScrollProvider.vue +26 -33
  295. package/dist/plugins/MagicScroll/src/components/MagicScrollProvider.vue.d.ts +25 -38
  296. package/dist/plugins/MagicScroll/src/components/MagicScrollScene.d.vue.ts +20 -0
  297. package/dist/plugins/MagicScroll/src/components/MagicScrollScene.vue +71 -71
  298. package/dist/plugins/MagicScroll/src/components/MagicScrollScene.vue.d.ts +9 -24
  299. package/dist/plugins/MagicScroll/src/composables/private/useCollisionDetection.d.ts +2 -2
  300. package/dist/plugins/MagicScroll/src/composables/private/useCollisionDetection.mjs +17 -7
  301. package/dist/plugins/MagicScroll/src/composables/private/useScrollApi.d.ts +2 -2
  302. package/dist/plugins/MagicScroll/src/composables/private/useScrollApi.mjs +41 -26
  303. package/dist/plugins/MagicScroll/src/symbols/index.d.ts +1 -1
  304. package/dist/plugins/MagicToast/nuxt.d.ts +1 -1
  305. package/dist/plugins/MagicToast/src/components/MagicToastProvider.d.vue.ts +15 -0
  306. package/dist/plugins/MagicToast/src/components/MagicToastProvider.vue +91 -110
  307. package/dist/plugins/MagicToast/src/components/MagicToastProvider.vue.d.ts +8 -16
  308. package/dist/plugins/MagicToast/src/components/MagicToastView.d.vue.ts +17 -0
  309. package/dist/plugins/MagicToast/src/components/MagicToastView.vue +66 -82
  310. package/dist/plugins/MagicToast/src/components/MagicToastView.vue.d.ts +7 -23
  311. package/dist/plugins/MagicToast/src/composables/private/useToastCallback.mjs +9 -7
  312. package/dist/plugins/MagicToast/src/composables/private/useToastDrag.mjs +23 -23
  313. package/dist/plugins/MagicToast/src/composables/private/useToastListener.mjs +1 -0
  314. package/dist/plugins/MagicToast/src/composables/private/useToastScrollLock.mjs +36 -16
  315. package/dist/plugins/MagicToast/src/composables/private/useToastView.mjs +1 -0
  316. package/dist/plugins/MagicToast/src/types/index.d.ts +11 -11
  317. package/dist/plugins/MagicToast/src/utils/defaultOptions.mjs +1 -1
  318. package/dist/utils/css/animations/fade-down.css +9 -0
  319. package/dist/utils/css/animations.css +9 -22
  320. package/dist/utils/css/easings.css +9 -1
  321. package/dist/utils/css/keyframes.css +22 -0
  322. package/dist/utils/index.d.ts +9 -4
  323. package/dist/utils/index.js +42 -4
  324. package/dist/utils/index.js.map +1 -1
  325. package/package.json +25 -21
  326. package/dist/composables/index.d.ts +0 -97
  327. package/dist/composables/index.js +0 -338
  328. package/dist/composables/index.js.map +0 -1
  329. package/dist/nuxt/module.cjs +0 -5
  330. package/dist/nuxt/module.d.ts +0 -9
  331. package/dist/nuxt/types.d.ts +0 -1
  332. package/dist/plugins/.turbo/turbo-lint.log +0 -13
  333. package/dist/plugins/.turbo/turbo-release.log +0 -7
  334. package/dist/plugins/MagicAccordion/demo/data/footer.json +0 -117
  335. package/dist/plugins/MagicCommand/demo/data/about.json +0 -3
  336. package/dist/plugins/MagicCommand/demo/data/search.json +0 -594
  337. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerStateEmitter.d.ts +0 -15
  338. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerStateEmitter.mjs +0 -9
  339. package/dist/plugins/index.d.ts +0 -13
  340. package/dist/plugins/index.mjs +0 -13
  341. package/dist/utils/css/transitions.css +0 -8
  342. /package/dist/plugins/{.turbo/turbo-build.log → MagicError/src/MagicError.d.ts} +0 -0
  343. /package/dist/plugins/MagicToast/{symbols → src/symbols}/index.d.ts +0 -0
  344. /package/dist/plugins/MagicToast/{symbols → src/symbols}/index.mjs +0 -0
  345. /package/dist/utils/css/{transitions → animations}/clip.css +0 -0
  346. /package/dist/utils/css/{transitions → animations}/fade-up.css +0 -0
  347. /package/dist/utils/css/{transitions → animations}/fade.css +0 -0
  348. /package/dist/utils/css/{transitions → animations}/slide-btt.css +0 -0
  349. /package/dist/utils/css/{transitions → animations}/slide-ltr.css +0 -0
  350. /package/dist/utils/css/{transitions → animations}/slide-rtl.css +0 -0
  351. /package/dist/utils/css/{transitions → animations}/slide-ttb.css +0 -0
  352. /package/dist/utils/css/{transitions → animations}/zoom.css +0 -0
  353. /package/dist/utils/css/{animations → keyframes}/auto-size-out.css +0 -0
  354. /package/dist/utils/css/{animations → keyframes}/clip-in.css +0 -0
  355. /package/dist/utils/css/{animations → keyframes}/clip-out.css +0 -0
  356. /package/dist/utils/css/{animations → keyframes}/fade-down-in.css +0 -0
  357. /package/dist/utils/css/{animations → keyframes}/fade-down-out.css +0 -0
  358. /package/dist/utils/css/{animations → keyframes}/fade-in.css +0 -0
  359. /package/dist/utils/css/{animations → keyframes}/fade-out.css +0 -0
  360. /package/dist/utils/css/{animations → keyframes}/fade-up-in.css +0 -0
  361. /package/dist/utils/css/{animations → keyframes}/fade-up-out.css +0 -0
  362. /package/dist/utils/css/{animations → keyframes}/flip-in.css +0 -0
  363. /package/dist/utils/css/{animations → keyframes}/flip-out.css +0 -0
  364. /package/dist/utils/css/{animations → keyframes}/slide-btt-in.css +0 -0
  365. /package/dist/utils/css/{animations → keyframes}/slide-btt-out.css +0 -0
  366. /package/dist/utils/css/{animations → keyframes}/slide-ltr-in.css +0 -0
  367. /package/dist/utils/css/{animations → keyframes}/slide-ltr-out.css +0 -0
  368. /package/dist/utils/css/{animations → keyframes}/slide-rtl-in.css +0 -0
  369. /package/dist/utils/css/{animations → keyframes}/slide-rtl-out.css +0 -0
  370. /package/dist/utils/css/{animations → keyframes}/slide-ttb-in.css +0 -0
  371. /package/dist/utils/css/{animations → keyframes}/slide-ttb-out.css +0 -0
  372. /package/dist/utils/css/{animations → keyframes}/squash-y.css +0 -0
  373. /package/dist/utils/css/{animations → keyframes}/zoom-in.css +0 -0
  374. /package/dist/utils/css/{animations → keyframes}/zoom-out.css +0 -0
@@ -1,112 +1,141 @@
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 {
29
+ useMagicError
30
+ } from "@maas/vue-equipment/plugins/MagicError";
31
+ import { usePlayerState } from "../composables/private/usePlayerState";
8
32
  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
- );
33
+ const { playbackId } = defineProps({
34
+ playbackId: { type: String, required: false }
35
+ });
36
+ const magicError = useMagicError({
37
+ prefix: "MagicPlayer",
38
+ source: "MagicPlayerMuxPopover"
39
+ });
40
+ const instanceId = inject(MagicPlayerInstanceId, void 0);
41
+ const injectedOptions = inject(MagicPlayerOptionsKey, void 0);
42
+ magicError.assert(instanceId, {
43
+ message: "MagicPlayerMuxPopover must be nested inside MagicPlayerVideoControls",
44
+ errorCode: "missing_instance_id"
45
+ });
46
+ magicError.assert(injectedOptions, {
47
+ message: "MagicPlayerMuxPopover must be nested inside MagicPlayerVideoControls",
48
+ errorCode: "missing_options"
49
+ });
50
+ const { initializeState } = usePlayerState(instanceId);
51
+ const state = initializeState();
52
+ const { seekedTime } = toRefs(state);
53
+ const { pixelRatio } = useDevicePixelRatio();
54
+ const canvasRef = useTemplateRef("canvas");
55
+ const storyboard = shallowRef();
56
+ let context = void 0;
57
+ let image = void 0;
58
+ const thumbWidth = computed(() => {
59
+ if (!storyboard.value) {
60
+ return 0;
61
+ }
62
+ return storyboard.value.tile_width / pixelRatio.value;
63
+ });
64
+ const thumbHeight = computed(() => {
65
+ if (!storyboard.value) {
66
+ return 0;
67
+ }
68
+ return storyboard.value.tile_height / pixelRatio.value;
69
+ });
70
+ function getMuxId(url) {
71
+ const match = url?.match(/mux\.com\/([^\/]+)/);
72
+ return match?.[1]?.replace(/\.(m3u8|mp4)$/, "");
73
+ }
74
+ function drawFrame(time) {
75
+ if (!storyboard.value || !context || !image || !time) {
76
+ return;
77
+ }
78
+ const { tile_height, tile_width, tiles } = storyboard.value;
79
+ let closestIndex = -1;
80
+ let minDifference = Infinity;
81
+ for (let i = 0; i < tiles.length; i++) {
82
+ const { start } = tiles[i];
83
+ const difference = Math.abs(start - time);
84
+ if (difference < minDifference) {
85
+ minDifference = difference;
86
+ closestIndex = i;
21
87
  }
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;
88
+ }
89
+ const tile = tiles[closestIndex];
90
+ context.drawImage(
91
+ image,
92
+ tile.x,
93
+ tile.y,
94
+ tile_width,
95
+ tile_height,
96
+ 0,
97
+ 0,
98
+ tile_width,
99
+ tile_height
100
+ );
101
+ }
102
+ async function initialize() {
103
+ const parsedPlaybackId = getMuxId(injectedOptions?.src);
104
+ const mappedPlaybackId = playbackId ?? parsedPlaybackId;
105
+ if (!mappedPlaybackId) {
106
+ magicError.throwError({
107
+ errorCode: "missing_instance_id",
108
+ message: "MagicPlayerMuxPopover must be nested inside MagicPlayerProvider or a playbackId must be provided"
31
109
  });
32
- const thumbHeight = computed(() => {
33
- if (!storyboard.value) return 0;
34
- return storyboard.value.tile_height / pixelRatio.value;
110
+ }
111
+ try {
112
+ storyboard.value = await fetch(
113
+ `https://image.mux.com/${mappedPlaybackId}/storyboard.json`
114
+ ).then((res) => res.json());
115
+ magicError.assert(storyboard.value, {
116
+ message: "Failed to fetch timeline preview",
117
+ errorCode: "fetch_timeline_error"
118
+ });
119
+ image = new Image();
120
+ image.src = storyboard.value.url;
121
+ await image.decode();
122
+ context = canvasRef.value?.getContext("2d");
123
+ drawFrame(seekedTime.value);
124
+ } catch (error) {
125
+ magicError.throwError({
126
+ errorCode: "initialize_timeline_error",
127
+ message: "Can not initialize timeline preview",
128
+ cause: error
35
129
  });
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
- );
83
- }
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
130
  }
131
+ }
132
+ onMounted(() => {
133
+ initialize();
109
134
  });
135
+ watch(
136
+ () => seekedTime?.value,
137
+ (value) => drawFrame(value)
138
+ );
110
139
  </script>
111
140
 
112
141
  <style>
@@ -1,14 +1,6 @@
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 __VLS_export: import("vue").DefineComponent<MagicPlayerMuxPopoverProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MagicPlayerMuxPopoverProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
5
+ declare const _default: typeof __VLS_export;
5
6
  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
- };
@@ -0,0 +1,25 @@
1
+ interface MagicPlayerOverlayProps {
2
+ transition?: {
3
+ overlay?: string;
4
+ icons?: string;
5
+ };
6
+ }
7
+ declare var __VLS_6: {}, __VLS_13: {}, __VLS_19: {}, __VLS_25: {};
8
+ type __VLS_Slots = {} & {
9
+ default?: (props: typeof __VLS_6) => any;
10
+ } & {
11
+ waitingIcon?: (props: typeof __VLS_13) => any;
12
+ } & {
13
+ playIcon?: (props: typeof __VLS_19) => any;
14
+ } & {
15
+ pauseIcon?: (props: typeof __VLS_25) => any;
16
+ };
17
+ declare const __VLS_base: import("vue").DefineComponent<MagicPlayerOverlayProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MagicPlayerOverlayProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
18
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
19
+ declare const _default: typeof __VLS_export;
20
+ export default _default;
21
+ type __VLS_WithSlots<T, S> = T & {
22
+ new (): {
23
+ $slots: S;
24
+ };
25
+ };
@@ -1,84 +1,127 @@
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, Fragment as _Fragment, withModifiers as _withModifiers } from "vue";
4
- const _hoisted_1 = ["data-playing", "data-paused", "data-waiting", "data-idle", "data-hover"];
5
- const _hoisted_2 = {
6
- key: 0,
7
- class: "magic-player-overlay__button"
8
- };
9
- const _hoisted_3 = {
10
- key: 0,
11
- class: "magic-player-overlay__button"
12
- };
13
- const _hoisted_4 = {
14
- key: 1,
15
- class: "magic-player-overlay__button"
16
- };
17
- import { inject } from "vue";
1
+ <template>
2
+ <div
3
+ class="magic-player-overlay"
4
+ :data-playing="playing"
5
+ :data-touched="touched"
6
+ :data-paused="paused"
7
+ :data-started="started"
8
+ :data-waiting="waiting"
9
+ :data-loaded="loaded"
10
+ :data-muted="muted"
11
+ :data-idle="idle"
12
+ :data-hover="mouseEntered"
13
+ @click.stop="togglePlay"
14
+ >
15
+ <transition :name="mappedOverlayTransition">
16
+ <div v-if="isVisible" class="magic-player-overlay__controls">
17
+ <slot>
18
+ <transition :name="mappedIconsTransition">
19
+ <button
20
+ v-if="defferedWaiting && started"
21
+ class="magic-player-overlay__button"
22
+ >
23
+ <slot name="waitingIcon">
24
+ <icon-waiting />
25
+ </slot>
26
+ </button>
27
+ <button
28
+ v-else-if="paused || !started"
29
+ class="magic-player-overlay__button"
30
+ >
31
+ <slot name="playIcon">
32
+ <icon-play />
33
+ </slot>
34
+ </button>
35
+ <button
36
+ v-else-if="started && !paused"
37
+ class="magic-player-overlay__button"
38
+ >
39
+ <slot name="pauseIcon">
40
+ <icon-pause />
41
+ </slot>
42
+ </button>
43
+ </transition>
44
+ </slot>
45
+ </div>
46
+ </transition>
47
+ </div>
48
+ </template>
49
+
50
+ <script setup>
51
+ import { watch, ref, computed, inject, toRefs } from "vue";
18
52
  import { useIdle } from "@vueuse/core";
53
+ import {
54
+ useMagicError
55
+ } from "@maas/vue-equipment/plugins/MagicError";
19
56
  import IconPlay from "./icons/Play.vue";
20
57
  import IconPause from "./icons/Pause.vue";
21
58
  import IconWaiting from "./icons/Waiting.vue";
22
- import { usePlayerMediaApi } from "../composables/private/usePlayerMediaApi";
59
+ import { usePlayerState } from "../composables/private/usePlayerState";
23
60
  import { usePlayerVideoApi } from "../composables/private/usePlayerVideoApi";
24
- import { MagicPlayerInstanceId } from "../symbols";
25
- export default /* @__PURE__ */ _defineComponent({
26
- __name: "MagicPlayerOverlay",
27
- setup(__props) {
28
- const instanceId = inject(MagicPlayerInstanceId, void 0);
29
- if (!instanceId) {
30
- throw new Error(
31
- "MagicPlayerOverlay must be nested inside MagicPlayerProvider."
32
- );
33
- }
34
- const { playing, waiting } = usePlayerMediaApi({
35
- id: instanceId
36
- });
37
- const { mouseEntered, togglePlay } = usePlayerVideoApi({
38
- id: instanceId
39
- });
40
- const { idle } = useIdle(3e3);
41
- return (_ctx, _cache) => {
42
- return _openBlock(), _createElementBlock("div", {
43
- class: "magic-player-overlay",
44
- "data-playing": _unref(playing),
45
- "data-paused": !_unref(playing),
46
- "data-waiting": _unref(waiting),
47
- "data-idle": _unref(idle),
48
- "data-hover": _unref(mouseEntered),
49
- onClick: _cache[0] || (_cache[0] = _withModifiers(
50
- //@ts-ignore
51
- (...args) => _unref(togglePlay) && _unref(togglePlay)(...args),
52
- ["stop"]
53
- ))
54
- }, [
55
- _renderSlot(_ctx.$slots, "default", {}, () => [
56
- _unref(waiting) ? (_openBlock(), _createElementBlock("button", _hoisted_2, [
57
- _renderSlot(_ctx.$slots, "waitingIcon", {}, () => [
58
- _createVNode(IconWaiting)
59
- ])
60
- ])) : (_openBlock(), _createElementBlock(
61
- _Fragment,
62
- { key: 1 },
63
- [
64
- !_unref(playing) ? (_openBlock(), _createElementBlock("button", _hoisted_3, [
65
- _renderSlot(_ctx.$slots, "playIcon", {}, () => [
66
- _createVNode(IconPlay)
67
- ])
68
- ])) : (_openBlock(), _createElementBlock("button", _hoisted_4, [
69
- _renderSlot(_ctx.$slots, "pauseIcon", {}, () => [
70
- _createVNode(IconPause)
71
- ])
72
- ]))
73
- ],
74
- 64
75
- /* STABLE_FRAGMENT */
76
- ))
77
- ])
78
- ], 8, _hoisted_1);
79
- };
61
+ import { MagicPlayerInstanceId, MagicPlayerOptionsKey } from "../symbols";
62
+ const { transition } = defineProps({
63
+ transition: { type: Object, required: false }
64
+ });
65
+ const magicError = useMagicError({
66
+ prefix: "MagicPlayer",
67
+ source: "MagicPlayerOverlay"
68
+ });
69
+ const instanceId = inject(MagicPlayerInstanceId, void 0);
70
+ const injectedOptions = inject(MagicPlayerOptionsKey, void 0);
71
+ magicError.assert(instanceId, {
72
+ message: "MagicPlayerOverlay must be nested inside MagicPlayerProvider",
73
+ errorCode: "missing_instance_id"
74
+ });
75
+ const { initializeState } = usePlayerState(instanceId);
76
+ const state = initializeState();
77
+ const {
78
+ mouseEntered,
79
+ playing,
80
+ paused,
81
+ started,
82
+ touched,
83
+ muted,
84
+ loaded,
85
+ waiting,
86
+ hasOverlay
87
+ } = toRefs(state);
88
+ hasOverlay.value = true;
89
+ const mappedOverlayTransition = computed(
90
+ () => transition?.overlay ?? injectedOptions?.transition?.overlay
91
+ );
92
+ const mappedIconsTransition = computed(
93
+ () => transition?.icons ?? injectedOptions?.transition?.icons
94
+ );
95
+ const { togglePlay } = usePlayerVideoApi({
96
+ id: instanceId
97
+ });
98
+ const { idle } = useIdle(injectedOptions?.threshold?.idle);
99
+ const isVisible = computed(() => {
100
+ switch (true) {
101
+ case (playing.value && idle.value):
102
+ case (playing.value && !mouseEntered.value):
103
+ case (injectedOptions?.autoplay && (!started.value || !mouseEntered.value)):
104
+ return false;
105
+ default:
106
+ return true;
80
107
  }
81
108
  });
109
+ const defferedWaiting = ref(false);
110
+ watch(
111
+ () => waiting.value,
112
+ (value) => {
113
+ switch (value) {
114
+ case true:
115
+ defferedWaiting.value = true;
116
+ break;
117
+ case false:
118
+ setTimeout(() => {
119
+ defferedWaiting.value = false;
120
+ }, 500);
121
+ break;
122
+ }
123
+ }
124
+ );
82
125
  </script>
83
126
 
84
127
  <style>
@@ -87,11 +130,16 @@ export default /* @__PURE__ */ _defineComponent({
87
130
  inset: 0;
88
131
  background-color: var(--magic-player-overlay-background, rgba(0, 0, 0, 0.3));
89
132
  color: var(--magic-player-overlay-color, rgba(255, 255, 255, 1));
90
- transition: var(--magic-player-overlay-transition, opacity 300ms ease);
133
+ cursor: pointer;
134
+ }
135
+
136
+ .magic-player-overlay__controls {
137
+ position: relative;
138
+ width: 100%;
139
+ height: 100%;
91
140
  display: flex;
92
141
  align-items: center;
93
142
  justify-content: center;
94
- cursor: pointer;
95
143
  }
96
144
 
97
145
  .magic-player-overlay__button {
@@ -103,15 +151,25 @@ export default /* @__PURE__ */ _defineComponent({
103
151
  outline: none;
104
152
  appearance: none;
105
153
  cursor: pointer;
106
- width: var(--magic-player-overlay-button-size, 2.5rem);
107
- height: var(--magic-player-overlay-button-size, 2.5rem);
154
+ width: var(--magic-player-overlay-button-size, 2rem);
155
+ height: var(--magic-player-overlay-button-size, 2rem);
156
+ }
157
+
158
+ .magic-player-overlay-enter-active {
159
+ animation: fade-in 150ms ease;
108
160
  }
109
161
 
110
- .magic-player-overlay.-playing[data-idle='true'] {
111
- opacity: 0;
162
+ .magic-player-overlay-leave-active {
163
+ animation: fade-out 150ms ease;
112
164
  }
113
165
 
114
- .magic-player-overlay.-playing[data-hover='false'] {
115
- opacity: 0;
166
+ .magic-player-icons-enter-active {
167
+ animation: none;
168
+ position: absolute;
169
+ }
170
+
171
+ .magic-player-icons-leave-active {
172
+ animation: none;
173
+ position: absolute;
116
174
  }
117
175
  </style>
@@ -1,19 +1,24 @@
1
- declare function __VLS_template(): {
2
- attrs: Partial<{}>;
3
- slots: {
4
- default?(_: {}): any;
5
- waitingIcon?(_: {}): any;
6
- playIcon?(_: {}): any;
7
- pauseIcon?(_: {}): any;
1
+ interface MagicPlayerOverlayProps {
2
+ transition?: {
3
+ overlay?: string;
4
+ icons?: string;
8
5
  };
9
- refs: {};
10
- rootEl: HTMLDivElement;
6
+ }
7
+ declare var __VLS_6: {}, __VLS_13: {}, __VLS_19: {}, __VLS_25: {};
8
+ type __VLS_Slots = {} & {
9
+ default?: (props: typeof __VLS_6) => any;
10
+ } & {
11
+ waitingIcon?: (props: typeof __VLS_13) => any;
12
+ } & {
13
+ playIcon?: (props: typeof __VLS_19) => any;
14
+ } & {
15
+ pauseIcon?: (props: typeof __VLS_25) => any;
11
16
  };
12
- type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
13
- declare const __VLS_component: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
14
- declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
17
+ declare const __VLS_base: import("vue").DefineComponent<MagicPlayerOverlayProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MagicPlayerOverlayProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
18
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
19
+ declare const _default: typeof __VLS_export;
15
20
  export default _default;
16
- type __VLS_WithTemplateSlots<T, S> = T & {
21
+ type __VLS_WithSlots<T, S> = T & {
17
22
  new (): {
18
23
  $slots: S;
19
24
  };
@@ -0,0 +1,13 @@
1
+ declare var __VLS_1: {};
2
+ type __VLS_Slots = {} & {
3
+ default?: (props: typeof __VLS_1) => any;
4
+ };
5
+ declare const __VLS_base: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
6
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
7
+ declare const _default: typeof __VLS_export;
8
+ export default _default;
9
+ type __VLS_WithSlots<T, S> = T & {
10
+ new (): {
11
+ $slots: S;
12
+ };
13
+ };
@@ -1,40 +1,30 @@
1
- <script>
2
- import { defineComponent as _defineComponent } from "vue";
3
- import { unref as _unref, renderSlot as _renderSlot, vShow as _vShow, withDirectives as _withDirectives, openBlock as _openBlock, createElementBlock as _createElementBlock } from "vue";
4
- const _hoisted_1 = { class: "magic-player-poster" };
5
- import { inject } from "vue";
6
- import { usePlayerRuntime } from "../composables/private/usePlayerRuntime";
7
- import { usePlayerVideoApi } from "../composables/private/usePlayerVideoApi";
1
+ <template>
2
+ <div v-show="isVisible" class="magic-player-poster">
3
+ <slot />
4
+ </div>
5
+ </template>
6
+
7
+ <script setup>
8
+ import { inject, toRefs, computed } from "vue";
9
+ import {
10
+ useMagicError
11
+ } from "@maas/vue-equipment/plugins/MagicError";
12
+ import { usePlayerState } from "../composables/private/usePlayerState";
8
13
  import { MagicPlayerInstanceId } from "../symbols";
9
- export default /* @__PURE__ */ _defineComponent({
10
- __name: "MagicPlayerPoster",
11
- setup(__props) {
12
- const instanceId = inject(MagicPlayerInstanceId, void 0);
13
- if (!instanceId) {
14
- throw new Error(
15
- "MagicPlayerPoster must be nested inside MagicPlayerProvider."
16
- );
17
- }
18
- const { loaded } = usePlayerRuntime({
19
- id: instanceId
20
- });
21
- const { touched } = usePlayerVideoApi({
22
- id: instanceId
23
- });
24
- return (_ctx, _cache) => {
25
- return _withDirectives((_openBlock(), _createElementBlock(
26
- "div",
27
- _hoisted_1,
28
- [
29
- _renderSlot(_ctx.$slots, "default")
30
- ],
31
- 512
32
- /* NEED_PATCH */
33
- )), [
34
- [_vShow, !_unref(loaded) || !_unref(touched)]
35
- ]);
36
- };
37
- }
14
+ const magicError = useMagicError({
15
+ prefix: "MagicPlayer",
16
+ source: "MagicPlayerPoster"
17
+ });
18
+ const instanceId = inject(MagicPlayerInstanceId, void 0);
19
+ magicError.assert(instanceId, {
20
+ message: "MagicPlayerPoster must be nested inside MagicPlayerProvider",
21
+ errorCode: "missing_instance_id"
22
+ });
23
+ const { initializeState } = usePlayerState(instanceId);
24
+ const state = initializeState();
25
+ const { loaded, started } = toRefs(state);
26
+ const isVisible = computed(() => {
27
+ return !loaded.value || !started.value;
38
28
  });
39
29
  </script>
40
30