@maas/vue-equipment 0.39.2 → 1.0.0-beta.1

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 (321) hide show
  1. package/README.md +6 -16
  2. package/dist/composables/index.d.ts +2 -13
  3. package/dist/composables/index.js +65 -128
  4. package/dist/composables/index.js.map +1 -1
  5. package/dist/nuxt/module.json +1 -1
  6. package/dist/nuxt/module.mjs +26 -40
  7. package/dist/plugins/.turbo/turbo-build.log +0 -0
  8. package/dist/plugins/.turbo/turbo-lint.log +13 -0
  9. package/dist/plugins/.turbo/turbo-release.log +7 -0
  10. package/dist/plugins/MagicAccordion/demo/data/footer.json +117 -0
  11. package/dist/plugins/MagicAccordion/index.d.ts +2 -0
  12. package/dist/plugins/MagicAccordion/src/components/MagicAccordionContent.vue +103 -70
  13. package/dist/plugins/MagicAccordion/src/components/MagicAccordionContent.vue.d.ts +17 -2
  14. package/dist/plugins/MagicAccordion/src/components/MagicAccordionProvider.vue +36 -30
  15. package/dist/plugins/MagicAccordion/src/components/MagicAccordionProvider.vue.d.ts +11 -2
  16. package/dist/plugins/MagicAccordion/src/components/MagicAccordionTrigger.vue +71 -71
  17. package/dist/plugins/MagicAccordion/src/components/MagicAccordionTrigger.vue.d.ts +12 -7
  18. package/dist/plugins/MagicAccordion/src/components/MagicAccordionView.vue +51 -50
  19. package/dist/plugins/MagicAccordion/src/components/MagicAccordionView.vue.d.ts +13 -4
  20. package/dist/plugins/MagicAccordion/src/composables/private/useAccordionCallback.d.ts +6 -6
  21. package/dist/plugins/MagicAccordion/src/composables/private/useAccordionCallback.mjs +6 -6
  22. package/dist/plugins/MagicAccordion/src/composables/private/useAccordionState.mjs +10 -10
  23. package/dist/plugins/MagicAccordion/src/composables/private/useAccordionView.mjs +11 -10
  24. package/dist/plugins/MagicAccordion/src/symbols/index.d.ts +1 -1
  25. package/dist/plugins/MagicAccordion/src/types/index.d.ts +4 -0
  26. package/dist/plugins/MagicAccordion/src/utils/defaultOptions.d.ts +2 -2
  27. package/dist/plugins/MagicAccordion/src/utils/defaultOptions.mjs +7 -2
  28. package/dist/plugins/MagicCommand/demo/data/about.json +3 -0
  29. package/dist/plugins/MagicCommand/demo/data/search.json +594 -0
  30. package/dist/plugins/MagicCommand/index.d.ts +2 -0
  31. package/dist/plugins/MagicCommand/index.mjs +9 -11
  32. package/dist/plugins/MagicCommand/src/components/MagicCommandContent.vue +192 -0
  33. package/dist/plugins/MagicCommand/src/components/{MagicCommandBody.vue.d.ts → MagicCommandContent.vue.d.ts} +4 -2
  34. package/dist/plugins/MagicCommand/src/components/MagicCommandDrawer.vue +60 -53
  35. package/dist/plugins/MagicCommand/src/components/MagicCommandDrawer.vue.d.ts +12 -3
  36. package/dist/plugins/MagicCommand/src/components/MagicCommandItem.vue +108 -79
  37. package/dist/plugins/MagicCommand/src/components/MagicCommandItem.vue.d.ts +18 -9
  38. package/dist/plugins/MagicCommand/src/components/MagicCommandModal.vue +55 -53
  39. package/dist/plugins/MagicCommand/src/components/MagicCommandModal.vue.d.ts +11 -2
  40. package/dist/plugins/MagicCommand/src/components/MagicCommandProvider.vue +94 -62
  41. package/dist/plugins/MagicCommand/src/components/MagicCommandProvider.vue.d.ts +52 -7
  42. package/dist/plugins/MagicCommand/src/components/MagicCommandRenderer.vue +63 -0
  43. package/dist/plugins/MagicCommand/src/components/MagicCommandRenderer.vue.d.ts +2 -0
  44. package/dist/plugins/MagicCommand/src/components/MagicCommandTrigger.vue +110 -0
  45. package/dist/plugins/MagicCommand/src/components/MagicCommandTrigger.vue.d.ts +75 -0
  46. package/dist/plugins/MagicCommand/src/components/MagicCommandView.vue +56 -73
  47. package/dist/plugins/MagicCommand/src/components/MagicCommandView.vue.d.ts +16 -9
  48. package/dist/plugins/MagicCommand/src/composables/private/useCommandCallback.d.ts +14 -0
  49. package/dist/plugins/MagicCommand/src/composables/private/useCommandCallback.mjs +32 -0
  50. package/dist/plugins/MagicCommand/src/composables/private/useCommandItem.d.ts +15 -6
  51. package/dist/plugins/MagicCommand/src/composables/private/useCommandItem.mjs +77 -44
  52. package/dist/plugins/MagicCommand/src/composables/private/useCommandScroll.d.ts +22 -4
  53. package/dist/plugins/MagicCommand/src/composables/private/useCommandScroll.mjs +45 -28
  54. package/dist/plugins/MagicCommand/src/composables/private/useCommandState.d.ts +7 -0
  55. package/dist/plugins/MagicCommand/src/composables/private/useCommandState.mjs +49 -0
  56. package/dist/plugins/MagicCommand/src/composables/private/useCommandTrigger.d.ts +18 -0
  57. package/dist/plugins/MagicCommand/src/composables/private/useCommandTrigger.mjs +76 -0
  58. package/dist/plugins/MagicCommand/src/composables/private/useCommandView.d.ts +21 -5
  59. package/dist/plugins/MagicCommand/src/composables/private/useCommandView.mjs +193 -18
  60. package/dist/plugins/MagicCommand/src/composables/useMagicCommand.d.ts +14 -5
  61. package/dist/plugins/MagicCommand/src/composables/useMagicCommand.mjs +43 -13
  62. package/dist/plugins/MagicCommand/src/symbols/index.d.ts +8 -1
  63. package/dist/plugins/MagicCommand/src/symbols/index.mjs +18 -1
  64. package/dist/plugins/MagicCommand/src/types/index.d.ts +73 -13
  65. package/dist/plugins/MagicCommand/src/utils/defaultOptions.d.ts +3 -5
  66. package/dist/plugins/MagicCommand/src/utils/defaultOptions.mjs +8 -3
  67. package/dist/plugins/MagicCookie/index.d.ts +5 -3
  68. package/dist/plugins/MagicCookie/index.mjs +7 -3
  69. package/dist/plugins/MagicCookie/nuxt.mjs +5 -9
  70. package/dist/plugins/MagicCookie/src/components/MagicCookieItem.vue +56 -0
  71. package/dist/plugins/MagicCookie/src/components/MagicCookieItem.vue.d.ts +33 -0
  72. package/dist/plugins/MagicCookie/src/components/MagicCookieProvider.vue +43 -0
  73. package/dist/plugins/MagicCookie/src/components/MagicCookieProvider.vue.d.ts +32 -0
  74. package/dist/plugins/MagicCookie/src/components/MagicCookieView.vue +96 -0
  75. package/dist/plugins/{MagicCommand/src/components/MagicCommandHead.vue.d.ts → MagicCookie/src/components/MagicCookieView.vue.d.ts} +6 -2
  76. package/dist/plugins/MagicCookie/src/composables/private/useCookieCallback.d.ts +9 -0
  77. package/dist/plugins/MagicCookie/src/composables/private/useCookieCallback.mjs +31 -0
  78. package/dist/plugins/MagicCookie/src/composables/private/useCookieItem.d.ts +16 -0
  79. package/dist/plugins/MagicCookie/src/composables/private/useCookieItem.mjs +87 -0
  80. package/dist/plugins/MagicCookie/src/composables/private/useCookieState.d.ts +7 -0
  81. package/dist/plugins/MagicCookie/src/composables/private/useCookieState.mjs +43 -0
  82. package/dist/plugins/MagicCookie/src/composables/useMagicCookie.d.ts +15 -15
  83. package/dist/plugins/MagicCookie/src/composables/useMagicCookie.mjs +59 -60
  84. package/dist/plugins/MagicCookie/src/symbols/index.d.ts +5 -0
  85. package/dist/plugins/MagicCookie/src/symbols/index.mjs +4 -0
  86. package/dist/plugins/MagicCookie/src/types/index.d.ts +31 -13
  87. package/dist/plugins/MagicCookie/src/utils/defaultOptions.d.ts +4 -0
  88. package/dist/plugins/MagicCookie/src/utils/defaultOptions.mjs +10 -0
  89. package/dist/plugins/MagicDraggable/src/components/MagicDraggable.vue +142 -97
  90. package/dist/plugins/MagicDraggable/src/components/MagicDraggable.vue.d.ts +12 -6
  91. package/dist/plugins/MagicDraggable/src/composables/private/useDraggableDrag.d.ts +6 -6
  92. package/dist/plugins/MagicDraggable/src/composables/private/useDraggableDrag.mjs +3 -1
  93. package/dist/plugins/MagicDraggable/src/composables/private/useDraggableSnap.d.ts +3 -4
  94. package/dist/plugins/MagicDraggable/src/composables/private/useDraggableSnap.mjs +11 -8
  95. package/dist/plugins/MagicDraggable/src/composables/private/useDraggableState.d.ts +2 -1
  96. package/dist/plugins/MagicDraggable/src/composables/private/useDraggableState.mjs +8 -8
  97. package/dist/plugins/MagicDraggable/src/types/index.d.ts +10 -5
  98. package/dist/plugins/MagicDraggable/src/utils/defaultOptions.d.ts +3 -8
  99. package/dist/plugins/MagicDraggable/src/utils/defaultOptions.mjs +5 -5
  100. package/dist/plugins/MagicDrawer/nuxt.mjs +1 -1
  101. package/dist/plugins/MagicDrawer/src/components/MagicDrawer.vue +491 -336
  102. package/dist/plugins/MagicDrawer/src/components/MagicDrawer.vue.d.ts +12 -6
  103. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerCallback.d.ts +6 -6
  104. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerCallback.mjs +6 -6
  105. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerDrag.d.ts +7 -9
  106. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerDrag.mjs +26 -17
  107. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerGuards.d.ts +2 -3
  108. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerProgress.d.ts +2 -2
  109. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerProgress.mjs +4 -2
  110. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerSnap.d.ts +5 -6
  111. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerSnap.mjs +46 -29
  112. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerState.d.ts +1 -1
  113. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerState.mjs +8 -8
  114. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerWheel.d.ts +2 -2
  115. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerWheel.mjs +23 -19
  116. package/dist/plugins/MagicDrawer/src/composables/useMagicDrawer.mjs +4 -3
  117. package/dist/plugins/MagicDrawer/src/types/index.d.ts +10 -3
  118. package/dist/plugins/MagicDrawer/src/utils/defaultOptions.d.ts +3 -11
  119. package/dist/plugins/MagicDrawer/src/utils/defaultOptions.mjs +2 -4
  120. package/dist/plugins/MagicEmitter/src/composables/useMagicEmitter.d.ts +190 -46
  121. package/dist/plugins/MagicEmitter/src/types/index.d.ts +1 -1
  122. package/dist/plugins/MagicMarquee/index.d.ts +4 -2
  123. package/dist/plugins/MagicMarquee/index.mjs +2 -1
  124. package/dist/plugins/MagicMarquee/src/components/MagicMarquee.vue +121 -50
  125. package/dist/plugins/MagicMarquee/src/components/MagicMarquee.vue.d.ts +14 -10
  126. package/dist/plugins/MagicMarquee/src/composables/private/useMarqueeApi.d.ts +3 -7
  127. package/dist/plugins/MagicMarquee/src/composables/private/useMarqueeApi.mjs +52 -44
  128. package/dist/plugins/MagicMarquee/src/composables/private/useMarqueeState.d.ts +7 -0
  129. package/dist/plugins/MagicMarquee/src/composables/private/useMarqueeState.mjs +42 -0
  130. package/dist/plugins/MagicMarquee/src/composables/useMagicMarquee.d.ts +11 -0
  131. package/dist/plugins/MagicMarquee/src/composables/useMagicMarquee.mjs +45 -0
  132. package/dist/plugins/MagicMarquee/src/types/index.d.ts +9 -0
  133. package/dist/plugins/MagicMarquee/src/types/index.mjs +0 -0
  134. package/dist/plugins/MagicMarquee/src/utils/defaultOptions.d.ts +4 -0
  135. package/dist/plugins/MagicMarquee/src/utils/defaultOptions.mjs +5 -0
  136. package/dist/plugins/MagicMenu/index.d.ts +2 -0
  137. package/dist/plugins/MagicMenu/nuxt.mjs +1 -1
  138. package/dist/plugins/MagicMenu/src/components/MagicMenuChannel.vue +79 -69
  139. package/dist/plugins/MagicMenu/src/components/MagicMenuChannel.vue.d.ts +10 -1
  140. package/dist/plugins/MagicMenu/src/components/MagicMenuContent.vue +247 -215
  141. package/dist/plugins/MagicMenu/src/components/MagicMenuContent.vue.d.ts +12 -1
  142. package/dist/plugins/MagicMenu/src/components/MagicMenuFloat.vue +235 -211
  143. package/dist/plugins/MagicMenu/src/components/MagicMenuFloat.vue.d.ts +12 -2
  144. package/dist/plugins/MagicMenu/src/components/MagicMenuItem.vue +126 -124
  145. package/dist/plugins/MagicMenu/src/components/MagicMenuItem.vue.d.ts +15 -6
  146. package/dist/plugins/MagicMenu/src/components/MagicMenuProvider.vue +94 -96
  147. package/dist/plugins/MagicMenu/src/components/MagicMenuProvider.vue.d.ts +49 -4
  148. package/dist/plugins/MagicMenu/src/components/MagicMenuRemote.vue +98 -87
  149. package/dist/plugins/MagicMenu/src/components/MagicMenuRemote.vue.d.ts +11 -2
  150. package/dist/plugins/MagicMenu/src/components/MagicMenuTrigger.vue +111 -112
  151. package/dist/plugins/MagicMenu/src/components/MagicMenuTrigger.vue.d.ts +11 -2
  152. package/dist/plugins/MagicMenu/src/components/MagicMenuView.vue +67 -70
  153. package/dist/plugins/MagicMenu/src/components/MagicMenuView.vue.d.ts +13 -2
  154. package/dist/plugins/MagicMenu/src/composables/private/useMenuCallback.d.ts +6 -6
  155. package/dist/plugins/MagicMenu/src/composables/private/useMenuCallback.mjs +8 -8
  156. package/dist/plugins/MagicMenu/src/composables/private/useMenuChannel.mjs +35 -26
  157. package/dist/plugins/MagicMenu/src/composables/private/useMenuCursor.mjs +12 -6
  158. package/dist/plugins/MagicMenu/src/composables/private/useMenuItem.d.ts +1 -1
  159. package/dist/plugins/MagicMenu/src/composables/private/useMenuItem.mjs +20 -14
  160. package/dist/plugins/MagicMenu/src/composables/private/useMenuKeyListener.mjs +20 -13
  161. package/dist/plugins/MagicMenu/src/composables/private/useMenuState.mjs +10 -10
  162. package/dist/plugins/MagicMenu/src/composables/private/useMenuTrigger.mjs +6 -3
  163. package/dist/plugins/MagicMenu/src/composables/private/useMenuView.d.ts +3 -3
  164. package/dist/plugins/MagicMenu/src/composables/private/useMenuView.mjs +99 -75
  165. package/dist/plugins/MagicMenu/src/symbols/index.d.ts +3 -3
  166. package/dist/plugins/MagicMenu/src/types/index.d.ts +1 -2
  167. package/dist/plugins/MagicModal/src/components/MagicModal.vue +265 -165
  168. package/dist/plugins/MagicModal/src/components/MagicModal.vue.d.ts +12 -6
  169. package/dist/plugins/MagicModal/src/composables/private/useModalCallback.d.ts +6 -6
  170. package/dist/plugins/MagicModal/src/composables/private/useModalCallback.mjs +6 -6
  171. package/dist/plugins/MagicModal/src/composables/private/useModalStore.mjs +1 -1
  172. package/dist/plugins/MagicModal/src/types/index.d.ts +2 -2
  173. package/dist/plugins/MagicModal/src/utils/defaultOptions.mjs +2 -2
  174. package/dist/plugins/MagicNoise/index.d.ts +3 -1
  175. package/dist/plugins/MagicNoise/src/components/MagicNoise.vue +120 -63
  176. package/dist/plugins/MagicNoise/src/components/MagicNoise.vue.d.ts +11 -4
  177. package/dist/plugins/MagicNoise/src/composables/private/useNoiseApi.mjs +2 -2
  178. package/dist/plugins/MagicPlayer/index.d.ts +4 -9
  179. package/dist/plugins/MagicPlayer/index.mjs +11 -17
  180. package/dist/plugins/MagicPlayer/src/components/MagicPlayerAudio.vue +78 -0
  181. package/dist/plugins/MagicPlayer/src/components/MagicPlayerAudio.vue.d.ts +2 -0
  182. package/dist/plugins/MagicPlayer/src/components/MagicPlayerAudioControls.vue +134 -0
  183. package/dist/plugins/MagicPlayer/src/components/MagicPlayerAudioControls.vue.d.ts +33 -0
  184. package/dist/plugins/MagicPlayer/src/components/MagicPlayerDisplayTime.vue +45 -41
  185. package/dist/plugins/MagicPlayer/src/components/MagicPlayerDisplayTime.vue.d.ts +11 -5
  186. package/dist/plugins/MagicPlayer/src/components/MagicPlayerMuxPopover.vue +116 -114
  187. package/dist/plugins/MagicPlayer/src/components/MagicPlayerMuxPopover.vue.d.ts +13 -5
  188. package/dist/plugins/MagicPlayer/src/components/MagicPlayerOverlay.vue +111 -58
  189. package/dist/plugins/MagicPlayer/src/components/MagicPlayerOverlay.vue.d.ts +1 -4
  190. package/dist/plugins/MagicPlayer/src/components/MagicPlayerPoster.vue +42 -23
  191. package/dist/plugins/MagicPlayer/src/components/MagicPlayerPoster.vue.d.ts +1 -4
  192. package/dist/plugins/MagicPlayer/src/components/MagicPlayerProvider.vue +83 -0
  193. package/dist/plugins/MagicPlayer/src/components/MagicPlayerProvider.vue.d.ts +34 -0
  194. package/dist/plugins/MagicPlayer/src/components/MagicPlayerTimeline.vue +111 -65
  195. package/dist/plugins/MagicPlayer/src/components/MagicPlayerTimeline.vue.d.ts +1 -4
  196. package/dist/plugins/MagicPlayer/src/components/MagicPlayerVideo.vue +94 -0
  197. package/dist/plugins/MagicPlayer/src/components/MagicPlayerVideo.vue.d.ts +2 -0
  198. package/dist/plugins/MagicPlayer/src/components/MagicPlayerVideoControls.vue +222 -0
  199. package/dist/plugins/MagicPlayer/src/components/{MagicPlayerControls.vue.d.ts → MagicPlayerVideoControls.vue.d.ts} +12 -5
  200. package/dist/plugins/MagicPlayer/src/components/icons/FullscreenEnter.vue.d.ts +1 -1
  201. package/dist/plugins/MagicPlayer/src/components/icons/FullscreenExit.vue.d.ts +1 -1
  202. package/dist/plugins/MagicPlayer/src/components/icons/Pause.vue.d.ts +1 -1
  203. package/dist/plugins/MagicPlayer/src/components/icons/Play.vue.d.ts +1 -1
  204. package/dist/plugins/MagicPlayer/src/components/icons/VolumeOff.vue.d.ts +1 -1
  205. package/dist/plugins/MagicPlayer/src/components/icons/VolumeOn.vue.d.ts +1 -1
  206. package/dist/plugins/MagicPlayer/src/components/icons/Waiting.vue +23 -1
  207. package/dist/plugins/MagicPlayer/src/components/icons/Waiting.vue.d.ts +1 -1
  208. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerAudioApi.mjs +5 -6
  209. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerControlsApi.mjs +18 -22
  210. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerMediaApi.mjs +13 -13
  211. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerRuntime.d.ts +2 -2
  212. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerRuntime.mjs +4 -4
  213. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerVideoApi.mjs +6 -8
  214. package/dist/plugins/MagicPlayer/src/composables/useMagicPlayer.d.ts +2 -6
  215. package/dist/plugins/MagicPlayer/src/composables/useMagicPlayer.mjs +5 -5
  216. package/dist/plugins/MagicPlayer/src/css/magic-player-audio-controls.css +95 -0
  217. package/dist/plugins/MagicPlayer/src/css/magic-player-display-time.css +10 -0
  218. package/dist/plugins/MagicPlayer/src/css/magic-player-timeline.css +89 -0
  219. package/dist/plugins/MagicPlayer/src/css/magic-player-video-controls.css +115 -0
  220. package/dist/plugins/MagicPlayer/src/symbols/index.d.ts +5 -0
  221. package/dist/plugins/MagicPlayer/src/symbols/index.mjs +3 -0
  222. package/dist/plugins/MagicPlayer/src/types/index.d.ts +11 -1
  223. package/dist/plugins/MagicPlayer/src/utils/defaultOptions.d.ts +3 -0
  224. package/dist/plugins/MagicPlayer/src/utils/defaultOptions.mjs +12 -0
  225. package/dist/plugins/MagicScroll/index.d.ts +4 -10
  226. package/dist/plugins/MagicScroll/index.mjs +2 -11
  227. package/dist/plugins/MagicScroll/src/components/MagicScrollCollision.vue +67 -31
  228. package/dist/plugins/MagicScroll/src/components/MagicScrollCollision.vue.d.ts +14 -4
  229. package/dist/plugins/MagicScroll/src/components/MagicScrollMotion.vue +78 -64
  230. package/dist/plugins/MagicScroll/src/components/MagicScrollMotion.vue.d.ts +14 -7
  231. package/dist/plugins/MagicScroll/src/components/MagicScrollProvider.vue +39 -39
  232. package/dist/plugins/MagicScroll/src/components/MagicScrollProvider.vue.d.ts +15 -9
  233. package/dist/plugins/MagicScroll/src/components/MagicScrollScene.vue +76 -73
  234. package/dist/plugins/MagicScroll/src/components/MagicScrollScene.vue.d.ts +13 -7
  235. package/dist/plugins/MagicScroll/src/composables/private/useCollisionDetection.d.ts +13 -0
  236. package/dist/plugins/MagicScroll/src/composables/private/useCollisionDetection.mjs +130 -0
  237. package/dist/plugins/MagicScroll/src/composables/private/useScrollApi.d.ts +3 -3
  238. package/dist/plugins/MagicScroll/src/composables/private/useScrollApi.mjs +5 -3
  239. package/dist/plugins/MagicScroll/src/symbols/index.d.ts +2 -2
  240. package/dist/plugins/MagicScroll/src/symbols/index.mjs +2 -2
  241. package/dist/plugins/MagicScroll/src/types/index.d.ts +12 -22
  242. package/dist/plugins/MagicToast/index.d.ts +3 -2
  243. package/dist/plugins/MagicToast/index.mjs +3 -3
  244. package/dist/plugins/MagicToast/nuxt.mjs +2 -2
  245. package/dist/plugins/MagicToast/src/components/MagicToastProvider.vue +296 -0
  246. package/dist/plugins/MagicToast/src/components/MagicToastProvider.vue.d.ts +23 -0
  247. package/dist/plugins/MagicToast/src/components/MagicToastView.vue +155 -0
  248. package/dist/plugins/MagicToast/src/components/MagicToastView.vue.d.ts +33 -0
  249. package/dist/plugins/MagicToast/src/composables/private/useToastCallback.d.ts +7 -30
  250. package/dist/plugins/MagicToast/src/composables/private/useToastCallback.mjs +34 -29
  251. package/dist/plugins/MagicToast/src/composables/private/useToastDrag.d.ts +12 -0
  252. package/dist/plugins/MagicToast/src/composables/private/useToastDrag.mjs +312 -0
  253. package/dist/plugins/MagicToast/src/composables/private/useToastListener.d.ts +6 -0
  254. package/dist/plugins/MagicToast/src/composables/private/useToastListener.mjs +25 -0
  255. package/dist/plugins/MagicToast/src/composables/private/useToastScrollLock.d.ts +6 -0
  256. package/dist/plugins/MagicToast/src/composables/private/useToastScrollLock.mjs +41 -0
  257. package/dist/plugins/MagicToast/src/composables/private/useToastState.d.ts +7 -0
  258. package/dist/plugins/MagicToast/src/composables/private/useToastState.mjs +45 -0
  259. package/dist/plugins/MagicToast/src/composables/private/useToastView.d.ts +12 -0
  260. package/dist/plugins/MagicToast/src/composables/private/useToastView.mjs +51 -0
  261. package/dist/plugins/MagicToast/src/composables/useMagicToast.d.ts +13 -8
  262. package/dist/plugins/MagicToast/src/composables/useMagicToast.mjs +26 -23
  263. package/dist/plugins/MagicToast/src/types/index.d.ts +58 -17
  264. package/dist/plugins/MagicToast/src/utils/defaultOptions.d.ts +2 -3
  265. package/dist/plugins/MagicToast/src/utils/defaultOptions.mjs +21 -4
  266. package/dist/plugins/MagicToast/symbols/index.d.ts +3 -0
  267. package/dist/plugins/MagicToast/symbols/index.mjs +2 -0
  268. package/dist/plugins/index.d.ts +0 -1
  269. package/dist/plugins/index.mjs +0 -1
  270. package/dist/utils/css/animations/auto-size-out.css +12 -0
  271. package/dist/utils/css/animations/squash-y.css +5 -0
  272. package/dist/utils/css/animations.css +2 -1
  273. package/dist/utils/index.d.ts +1 -2
  274. package/dist/utils/index.js +2 -53
  275. package/dist/utils/index.js.map +1 -1
  276. package/package.json +52 -56
  277. package/dist/composables/index.d.mts +0 -108
  278. package/dist/composables/index.mjs +0 -383
  279. package/dist/composables/index.mjs.map +0 -1
  280. package/dist/plugins/MagicAutoSize/index.d.ts +0 -4
  281. package/dist/plugins/MagicAutoSize/index.mjs +0 -7
  282. package/dist/plugins/MagicAutoSize/nuxt.d.ts +0 -2
  283. package/dist/plugins/MagicAutoSize/nuxt.mjs +0 -14
  284. package/dist/plugins/MagicAutoSize/src/components/MagicAutoSize.vue +0 -152
  285. package/dist/plugins/MagicAutoSize/src/components/MagicAutoSize.vue.d.ts +0 -29
  286. package/dist/plugins/MagicCommand/src/components/MagicCommandBody.vue +0 -91
  287. package/dist/plugins/MagicCommand/src/components/MagicCommandFooter.vue +0 -5
  288. package/dist/plugins/MagicCommand/src/components/MagicCommandFooter.vue.d.ts +0 -17
  289. package/dist/plugins/MagicCommand/src/components/MagicCommandGroup.vue +0 -5
  290. package/dist/plugins/MagicCommand/src/components/MagicCommandGroup.vue.d.ts +0 -17
  291. package/dist/plugins/MagicCommand/src/components/MagicCommandHead.vue +0 -5
  292. package/dist/plugins/MagicCommand/src/composables/private/useCommandStore.d.ts +0 -35
  293. package/dist/plugins/MagicCommand/src/composables/private/useCommandStore.mjs +0 -67
  294. package/dist/plugins/MagicCookie/src/components/MagicCookie.vue +0 -117
  295. package/dist/plugins/MagicCookie/src/components/MagicCookie.vue.d.ts +0 -27
  296. package/dist/plugins/MagicCookie/src/composables/private/useCookieApi.d.ts +0 -29
  297. package/dist/plugins/MagicCookie/src/composables/private/useCookieApi.mjs +0 -22
  298. package/dist/plugins/MagicPlayer/src/components/MagicAudioPlayer.vue +0 -89
  299. package/dist/plugins/MagicPlayer/src/components/MagicAudioPlayer.vue.d.ts +0 -28
  300. package/dist/plugins/MagicPlayer/src/components/MagicAudioPlayerControls.vue +0 -95
  301. package/dist/plugins/MagicPlayer/src/components/MagicAudioPlayerControls.vue.d.ts +0 -24
  302. package/dist/plugins/MagicPlayer/src/components/MagicPlayer.vue +0 -125
  303. package/dist/plugins/MagicPlayer/src/components/MagicPlayer.vue.d.ts +0 -35
  304. package/dist/plugins/MagicPlayer/src/components/MagicPlayerControls.vue +0 -152
  305. package/dist/plugins/MagicScroll/src/components/MagicScrollTransform.vue +0 -42
  306. package/dist/plugins/MagicScroll/src/components/MagicScrollTransform.vue.d.ts +0 -36
  307. package/dist/plugins/MagicScroll/src/composables/private/useCollisionDetect.d.ts +0 -56
  308. package/dist/plugins/MagicScroll/src/composables/private/useCollisionDetect.mjs +0 -140
  309. package/dist/plugins/MagicToast/src/components/MagicToast.vue +0 -141
  310. package/dist/plugins/MagicToast/src/components/MagicToast.vue.d.ts +0 -14
  311. package/dist/plugins/MagicToast/src/components/MagicToastComponent.vue +0 -64
  312. package/dist/plugins/MagicToast/src/components/MagicToastComponent.vue.d.ts +0 -30
  313. package/dist/plugins/MagicToast/src/composables/private/useToastApi.d.ts +0 -5
  314. package/dist/plugins/MagicToast/src/composables/private/useToastApi.mjs +0 -22
  315. package/dist/plugins/MagicToast/src/composables/private/useToastInternalApi.d.ts +0 -4
  316. package/dist/plugins/MagicToast/src/composables/private/useToastInternalApi.mjs +0 -28
  317. package/dist/plugins/MagicToast/src/composables/private/useToastStore.d.ts +0 -27
  318. package/dist/plugins/MagicToast/src/composables/private/useToastStore.mjs +0 -41
  319. package/dist/utils/index.d.mts +0 -80
  320. package/dist/utils/index.mjs +0 -200
  321. package/dist/utils/index.mjs.map +0 -1
@@ -1,91 +0,0 @@
1
- <template>
2
- <div class="magic-command-body" ref="elRef">
3
- <slot />
4
- </div>
5
- </template>
6
- <script lang="ts" setup>
7
- import { inject, ref, watch, nextTick } from 'vue'
8
- import { useMagicKeys } from '@vueuse/core'
9
-
10
- import { useCommandItem } from '../composables/private/useCommandItem'
11
- import { useCommandScroll } from '../composables/private/useCommandScroll'
12
- import { MagicCommandInstanceId, MagicCommandProviderOptions } from '../symbols'
13
-
14
- import type { MagicCommandOptions } from '../types'
15
-
16
- const elRef = ref<HTMLElement | undefined>(undefined)
17
-
18
- const commandId = inject(MagicCommandInstanceId, '')
19
- const options = inject(MagicCommandProviderOptions, {} as MagicCommandOptions)
20
-
21
- const { activeItem, nextItem, prevItem } = useCommandItem(commandId)
22
- const {
23
- findElement,
24
- isElementAbove,
25
- isElementBelow,
26
- scrollInFromBottom,
27
- scrollInFromTop,
28
- } = useCommandScroll(elRef)
29
-
30
- const keys = useMagicKeys()
31
-
32
- const nextTimeout = ref<ReturnType<typeof setTimeout> | undefined>(undefined)
33
- const prevTimeout = ref<ReturnType<typeof setTimeout> | undefined>(undefined)
34
- const nextInterval = ref<ReturnType<typeof setInterval> | undefined>(undefined)
35
- const prevInterval = ref<ReturnType<typeof setInterval> | undefined>(undefined)
36
-
37
- if (options.keys?.next) {
38
- for (const key of options.keys.next) {
39
- watch(keys[key], (value) => {
40
- if (value) {
41
- nextItem(options.loop)
42
- nextTimeout.value = setTimeout(() => {
43
- nextInterval.value = setInterval(() => {
44
- nextItem(options.loop)
45
- }, 100)
46
- }, 500)
47
- } else {
48
- clearTimeout(nextTimeout.value)
49
- clearInterval(nextInterval.value)
50
- }
51
- })
52
- }
53
- }
54
-
55
- if (options.keys?.prev) {
56
- for (const key of options.keys.prev) {
57
- watch(keys[key], (value) => {
58
- if (value) {
59
- prevItem(options.loop)
60
- prevTimeout.value = setTimeout(() => {
61
- prevInterval.value = setInterval(() => {
62
- prevItem(options.loop)
63
- }, 100)
64
- }, 500)
65
- } else {
66
- clearTimeout(prevTimeout.value)
67
- clearInterval(prevInterval.value)
68
- }
69
- })
70
- }
71
- }
72
-
73
- watch(activeItem, async (value) => {
74
- if (!value) return
75
-
76
- nextTick(() => {
77
- const element = findElement(value)
78
- if (element) {
79
- if (isElementAbove(element)) {
80
- scrollInFromTop(element)
81
- } else if (isElementBelow(element)) {
82
- scrollInFromBottom(element)
83
- }
84
- }
85
- })
86
- })
87
- </script>
88
-
89
- <style>
90
- .magic-command-body{height:var(--magic-command-body-height,100%);overflow-y:var(--magic-command-body-overflow-y,auto)}
91
- </style>
@@ -1,5 +0,0 @@
1
- <template>
2
- <div class="magic-command-footer">
3
- <slot />
4
- </div>
5
- </template>
@@ -1,17 +0,0 @@
1
- declare function __VLS_template(): {
2
- attrs: Partial<{}>;
3
- slots: {
4
- default?(_: {}): any;
5
- };
6
- refs: {};
7
- rootEl: HTMLDivElement;
8
- };
9
- type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
10
- declare const __VLS_component: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, HTMLDivElement>;
11
- declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
12
- export default _default;
13
- type __VLS_WithTemplateSlots<T, S> = T & {
14
- new (): {
15
- $slots: S;
16
- };
17
- };
@@ -1,5 +0,0 @@
1
- <template>
2
- <div class="magic-command-group">
3
- <slot></slot>
4
- </div>
5
- </template>
@@ -1,17 +0,0 @@
1
- declare function __VLS_template(): {
2
- attrs: Partial<{}>;
3
- slots: {
4
- default?(_: {}): any;
5
- };
6
- refs: {};
7
- rootEl: HTMLDivElement;
8
- };
9
- type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
10
- declare const __VLS_component: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, HTMLDivElement>;
11
- declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
12
- export default _default;
13
- type __VLS_WithTemplateSlots<T, S> = T & {
14
- new (): {
15
- $slots: S;
16
- };
17
- };
@@ -1,5 +0,0 @@
1
- <template>
2
- <div class="magic-command-head">
3
- <slot />
4
- </div>
5
- </template>
@@ -1,35 +0,0 @@
1
- type Item = {
2
- index: number;
3
- id: string;
4
- };
5
- type CommandInstance = {
6
- id: string;
7
- items: Item[];
8
- views: string[];
9
- };
10
- export declare function useCommandStore(): {
11
- commandStore: import("vue").Ref<{
12
- id: string;
13
- items: {
14
- index: number;
15
- id: string;
16
- }[];
17
- views: string[];
18
- }[], CommandInstance[] | {
19
- id: string;
20
- items: {
21
- index: number;
22
- id: string;
23
- }[];
24
- views: string[];
25
- }[]>;
26
- addInstance: (id: string) => void;
27
- findInstance: (id: string) => CommandInstance;
28
- removeInstance: (id: string) => void;
29
- addItem: (id: string, item: string) => void;
30
- removeItem: (id: string, item: string) => void;
31
- sortItems: (id: string, parent: HTMLElement) => void;
32
- addView: (id: string, view: string) => void;
33
- removeView: (id: string, view: string) => void;
34
- };
35
- export {};
@@ -1,67 +0,0 @@
1
- import { ref } from "vue";
2
- let commandStore = ref([]);
3
- export function useCommandStore() {
4
- function addInstance(id) {
5
- commandStore.value.push({ id, items: [], views: [] });
6
- }
7
- function findInstance(id) {
8
- const instance = commandStore.value.find((instance2) => {
9
- return instance2.id === id;
10
- });
11
- return instance;
12
- }
13
- function removeInstance(id) {
14
- commandStore.value = commandStore.value.filter(
15
- (x) => x.id !== id
16
- );
17
- }
18
- function sortItems(id, parent) {
19
- const instance = findInstance(id);
20
- if (instance) {
21
- const itemElements = parent.querySelectorAll("[data-id]");
22
- itemElements.forEach((el, index) => {
23
- const itemId = el.dataset.itemId;
24
- const item = instance.items?.find((item2) => item2.id === itemId);
25
- if (item) {
26
- item.index = index;
27
- }
28
- });
29
- instance.items?.sort((a, b) => a.index - b.index);
30
- }
31
- }
32
- function addItem(id, item) {
33
- const instance = findInstance(id);
34
- if (instance) {
35
- instance.items?.push({ index: -1, id: item });
36
- }
37
- }
38
- function removeItem(id, item) {
39
- const instance = findInstance(id);
40
- if (instance) {
41
- instance.items = instance.items?.filter((x) => x.id !== item);
42
- }
43
- }
44
- function addView(id, view) {
45
- const instance = findInstance(id);
46
- if (instance) {
47
- instance.views?.push(view);
48
- }
49
- }
50
- function removeView(id, view) {
51
- const instance = findInstance(id);
52
- if (instance) {
53
- instance.views = instance.views?.filter((x) => x !== view);
54
- }
55
- }
56
- return {
57
- commandStore,
58
- addInstance,
59
- findInstance,
60
- removeInstance,
61
- addItem,
62
- removeItem,
63
- sortItems,
64
- addView,
65
- removeView
66
- };
67
- }
@@ -1,117 +0,0 @@
1
- <template>
2
- <client-only>
3
- <div class="magic-cookie">
4
- <div class="magic-cookie__container">
5
- <div class="magic-cookie__body">
6
- <slot />
7
- <div v-show="preferencesVisible" class="magic-cookie__preferences">
8
- <ul class="magic-cookie__cookies">
9
- <li
10
- v-for="cookie in cookies"
11
- :key="cookie.key"
12
- class="magic-cookie__cookie"
13
- >
14
- <div class="magic-cookie-checkbox">
15
- <input
16
- :id="cookie.key"
17
- type="checkbox"
18
- :checked="
19
- cookie.optional === false
20
- ? true
21
- : selectedCookies[cookie.key]
22
- "
23
- @change="toggleSelection(cookie.key)"
24
- :disabled="cookie.optional === false"
25
- />
26
- </div>
27
- <div>
28
- <slot :name="cookie.key" :cookie="cookie">
29
- <div class="magic-cookie__cookie__content">
30
- <div class="magic-cookie__cookie__title">
31
- <span v-text="cookie.title" />
32
- </div>
33
- <div
34
- v-if="cookie.text"
35
- class="magic-cookie__cookie__text"
36
- v-html="cookie.text"
37
- />
38
- </div>
39
- </slot>
40
- </div>
41
- </li>
42
- </ul>
43
- </div>
44
- </div>
45
- <div class="magic-cookie__footer">
46
- <slot name="actions">
47
- <div class="magic-cookie__actions">
48
- <template v-if="preferencesVisible">
49
- <button
50
- class="magic-cookie-button -secondary"
51
- @click="preferencesVisible = !preferencesVisible"
52
- >
53
- Close
54
- </button>
55
- <button
56
- class="magic-cookie-button -secondary"
57
- @click="acceptSelected"
58
- >
59
- Accept selected
60
- </button>
61
- </template>
62
- <template v-else>
63
- <button
64
- class="magic-cookie-button -secondary"
65
- @click="preferencesVisible = true"
66
- >
67
- Preferences
68
- </button>
69
- <button class="magic-cookie-button -secondary" @click="reject">
70
- Reject
71
- </button>
72
- </template>
73
- <button class="magic-cookie-button -primary" @click="accept">
74
- Accept
75
- </button>
76
- </div>
77
- </slot>
78
- </div>
79
- </div>
80
- </div>
81
- </client-only>
82
- </template>
83
-
84
- <script lang="ts" setup>
85
- import { useCookieApi } from '../composables/private/useCookieApi'
86
- import { useMagicCookie } from '../composables/useMagicCookie'
87
- import type { MagicCookieRecord } from '../types'
88
-
89
- // Define the props and their default values
90
- type MagicCookieProps = {
91
- cookies: MagicCookieRecord[]
92
- maxAge?: number
93
- }
94
-
95
- const props = withDefaults(defineProps<MagicCookieProps>(), {
96
- maxAge: 60 * 60 * 24 * 30,
97
- })
98
-
99
- // Initialize the Cookie API
100
- useCookieApi({
101
- cookies: props.cookies,
102
- maxAge: props.maxAge,
103
- })
104
-
105
- const {
106
- preferencesVisible,
107
- selectedCookies,
108
- accept,
109
- acceptSelected,
110
- reject,
111
- toggleSelection,
112
- } = useMagicCookie()
113
- </script>
114
-
115
- <style>
116
- :root{--magic-cookie-preferences-mask:linear-gradient(0deg,hsla(0,0%,100%,0),#fff 1.5rem);--magic-cookie-checkbox-size:0.875rem;--magic-cookie-checkbox-border-width:1px;--magic-cookie-checkbox-border-color:currentColor;--magic-cookie-checkbox-border-radius:0;--magic-cookie-button-width:auto;--magic-cookie-button-height:2.5rem;--magic-cookie-button-spacing:1rem;--magic-cookie-button-border-width:1px;--magic-cookie-button-border-radius:0.25rem;--magic-cookie-button-backdrop-filter:none;--magic-cookie-button-primary-color:#000;--magic-cookie-button-primary-background:#fff;--magic-cookie-button-primary-border-color:transparent;--magic-cookie-button-secondary-color:#fff;--magic-cookie-button-secondary-background:transparent;--magic-cookie-button-secondary-border-color:transparent}.magic-cookie{-webkit-backdrop-filter:var(--magic-cookie-backdrop-filter,unset);backdrop-filter:var(--magic-cookie-backdrop-filter,unset);background-color:var(--magic-cookie-background,rgba(75,75,75,.5));border-radius:var(--magic-cookie-border-radius,0);box-shadow:var(--magic-cookie-box-shadow,unset);color:var(--magic-cookie-color,inherit);max-width:var(--magic-cookie-max-width,480px);overflow:hidden}.magic-cookie,.magic-cookie__container{display:flex;flex-direction:column;width:100%}.magic-cookie__container{max-height:var(--magic-cookie-max-height,calc(100vh - 2rem))}.magic-cookie__body{display:flex;flex-direction:column;gap:1rem;height:100%;mask:var(--magic-cookie-preferences-mask);-webkit-mask:var(--magic-cookie-preferences-mask);overflow-y:scroll;padding:1rem;width:100%;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;-ms-overflow-style:none;scrollbar-width:none}.magic-cookie__body::-webkit-scrollbar{display:none}.magic-cookie__footer{padding:1rem;width:100%}.magic-cookie__preferences{flex-direction:column;height:100%}.magic-cookie__actions,.magic-cookie__preferences{display:flex;gap:1rem;width:100%}ul.magic-cookie__cookies{display:flex;flex-direction:column;gap:1rem;list-style:none;margin:0;padding:0}li.magic-cookie__cookie{align-items:flex-start;display:flex;gap:1rem;margin:0;padding:0}.magic-cookie__cookie__content{align-items:flex-start;display:flex;flex-direction:column;gap:.25rem}.magic-cookie__cookie__title{display:inline-flex}.magic-cookie__cookie__text{white-space:pre-line}.magic-cookie-checkbox{align-items:center;display:flex;gap:.625rem}.magic-cookie-checkbox input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:var(--magic-cookie-checkbox-border-width) var(--magic-cookie-checkbox-border-color) solid;border-radius:var(--magic-cookie-checkbox-border-radius);cursor:pointer;flex-shrink:0;height:var(--magic-cookie-checkbox-size);position:relative;vertical-align:middle;width:var(--magic-cookie-checkbox-size)}.magic-cookie-checkbox input[type=checkbox]:checked:after{background-color:var(--magic-cookie-checkbox-border-color);border-radius:var(--magic-cookie-checkbox-border-radius);content:"";display:block;height:calc(var(--magic-cookie-checkbox-size)/2);left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:calc(var(--magic-cookie-checkbox-size)/2)}.magic-cookie-checkbox:disabled{cursor:not-allowed}.magic-cookie-button{align-items:center;backdrop-filter:var(--magic-cookie-button-backdrop-filter);-webkit-backdrop-filter:var(--magic-cookie-button-backdrop-filter);border:var(--magic-cookie-button-border-width) solid;border-radius:var(--magic-cookie-button-border-radius);display:inline-flex;gap:var(--magic-cookie-button-spacing);height:var(--magic-cookie-button-height);justify-content:center;padding:0 var(--magic-cookie-button-spacing);width:var(--magic-cookie-button-width)}.magic-cookie-button.-primary{background-color:var(--magic-cookie-button-primary-background);border-color:var(--magic-cookie-button-primary-border-color);color:var(--magic-cookie-button-primary-color)}.magic-cookie-button.-secondary{background-color:var(--magic-cookie-button-secondary-background);border-color:var(--magic-cookie-button-secondary-border-color);color:var(--magic-cookie-button-secondary-color)}
117
- </style>
@@ -1,27 +0,0 @@
1
- import type { MagicCookieRecord } from '../types';
2
- type MagicCookieProps = {
3
- cookies: MagicCookieRecord[];
4
- maxAge?: number;
5
- };
6
- declare function __VLS_template(): {
7
- attrs: Partial<{}>;
8
- slots: Partial<Record<string, (_: {
9
- cookie: MagicCookieRecord;
10
- }) => any>> & {
11
- default?(_: {}): any;
12
- actions?(_: {}): any;
13
- };
14
- refs: {};
15
- rootEl: any;
16
- };
17
- type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
18
- declare const __VLS_component: import("vue").DefineComponent<MagicCookieProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MagicCookieProps> & Readonly<{}>, {
19
- maxAge: number;
20
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
21
- declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
22
- export default _default;
23
- type __VLS_WithTemplateSlots<T, S> = T & {
24
- new (): {
25
- $slots: S;
26
- };
27
- };
@@ -1,29 +0,0 @@
1
- import type { MagicCookieRecord } from '../../types/index.js';
2
- type UseCookieApiArgs = {
3
- cookies: MagicCookieRecord[];
4
- maxAge?: number;
5
- };
6
- export declare const cookieApiStore: import("vue").Ref<{
7
- cookies: {
8
- [x: string]: unknown;
9
- key: string;
10
- optional?: boolean | undefined;
11
- title?: string | undefined;
12
- text?: string | undefined;
13
- }[];
14
- maxAge: number | undefined;
15
- }, {
16
- cookies: MagicCookieRecord[];
17
- maxAge: number | undefined;
18
- } | {
19
- cookies: {
20
- [x: string]: unknown;
21
- key: string;
22
- optional?: boolean | undefined;
23
- title?: string | undefined;
24
- text?: string | undefined;
25
- }[];
26
- maxAge: number | undefined;
27
- }>;
28
- export declare function useCookieApi({ cookies, maxAge }: UseCookieApiArgs): void;
29
- export {};
@@ -1,22 +0,0 @@
1
- import { ref } from "vue";
2
- import { slugify } from "@maas/vue-equipment/utils";
3
- export const cookieApiStore = ref({
4
- cookies: [],
5
- maxAge: void 0
6
- });
7
- export function useCookieApi({ cookies, maxAge }) {
8
- if (!Array.isArray(cookies)) {
9
- console.warn('Invalid configuration. "cookies" must be an array.');
10
- }
11
- cookieApiStore.value.cookies = cookies?.map((cookie) => {
12
- return {
13
- ...cookie,
14
- key: slugify(cookie.key, {
15
- separator: "_",
16
- lowercase: true,
17
- strict: true
18
- })
19
- };
20
- });
21
- cookieApiStore.value.maxAge = maxAge;
22
- }
@@ -1,89 +0,0 @@
1
- <template>
2
- <div
3
- ref="playerRef"
4
- class="magic-audio-player"
5
- :class="{ '-slot': $slots.default }"
6
- >
7
- <div class="magic-audio-player__container">
8
- <div v-if="$slots.default" class="magic-audio-player__slot">
9
- <slot />
10
- </div>
11
- <magic-audio-player-controls :id="id" />
12
- </div>
13
- <audio ref="audioRef" class="magic-audio-player__audio" />
14
- </div>
15
- </template>
16
-
17
- <script setup lang="ts">
18
- import MagicAudioPlayerControls from './MagicAudioPlayerControls.vue'
19
- import { ref, onMounted, onBeforeUnmount } from 'vue'
20
- import { useIntersectionObserver } from '@vueuse/core'
21
- import { usePlayerAudioApi } from '../composables/private/usePlayerAudioApi'
22
- import { usePlayerMediaApi } from '../composables/private/usePlayerMediaApi'
23
- import { usePlayerRuntime } from '../composables/private/usePlayerRuntime'
24
-
25
- interface MagicAudioPlayerProps {
26
- id: string
27
- src: string
28
- loop?: boolean
29
- }
30
-
31
- const props = withDefaults(defineProps<MagicAudioPlayerProps>(), {
32
- src: '',
33
- loop: false,
34
- })
35
-
36
- const playerRef = ref<HTMLDivElement | undefined>(undefined)
37
- const audioRef = ref<HTMLVideoElement | undefined>(undefined)
38
-
39
- const pausedByIntersection = ref(false)
40
-
41
- const { playing } = usePlayerMediaApi({
42
- id: props.id,
43
- mediaRef: audioRef,
44
- })
45
-
46
- const { initialize, destroy } = usePlayerRuntime({
47
- id: props.id,
48
- mediaRef: audioRef,
49
- src: props.src,
50
- srcType: 'native',
51
- })
52
-
53
- const { play, pause } = usePlayerAudioApi({
54
- id: props.id,
55
- })
56
-
57
- useIntersectionObserver(
58
- playerRef,
59
- ([{ isIntersecting }]) => {
60
- if (!isIntersecting && playing.value) {
61
- pause()
62
- pausedByIntersection.value = true
63
- } else if (isIntersecting && !playing.value && pausedByIntersection.value) {
64
- pausedByIntersection.value = false
65
-
66
- play()
67
- }
68
- },
69
- {
70
- immediate: true,
71
- }
72
- )
73
-
74
- onMounted(() => {
75
- initialize()
76
- })
77
-
78
- onBeforeUnmount(() => {
79
- destroy()
80
- })
81
- </script>
82
-
83
- <style>
84
- :root{--magic-audio-player-border-radius:1.25rem;--magic-audio-player-padding:0.25rem;--magic-audio-player-slot-radius:calc(var(--magic-audio-player-border-radius) - var(--magic-audio-player-padding))}.magic-audio-player{-webkit-backdrop-filter:var(--magic-audio-player-backdrop-filter,blur(80px));backdrop-filter:var(--magic-audio-player-backdrop-filter,blur(80px));background:var(--magic-audio-player-background,rgba(32,32,32,.8));border-radius:var(--magic-audio-player-border-radius);color:var(--magic-audio-player-color,#fff);container-type:inline-size;padding:var(--magic-audio-player-padding);position:relative;width:100%}.magic-audio-player.-slot{background:var(
85
- --magic-audio-player-background-slot,hsla(0,0%,98%,.15)
86
- )}.magic-audio-player__container{display:flex;flex-direction:column;gap:var(--magic-audio-player-gap,.25rem);height:100%;position:relative;width:100%}.magic-audio-player__slot{background-color:var(
87
- --magic-audio-player-slot-background,rgba(32,32,32,.8)
88
- );border-radius:var(--magic-audio-player-slot-radius);color:inherit;padding:var(--magic-audio-player-slot-padding,.75rem 1rem)}.magic-audio-player__audio{width:100%}
89
- </style>
@@ -1,28 +0,0 @@
1
- interface MagicAudioPlayerProps {
2
- id: string;
3
- src: string;
4
- loop?: boolean;
5
- }
6
- declare function __VLS_template(): {
7
- attrs: Partial<{}>;
8
- slots: {
9
- default?(_: {}): any;
10
- };
11
- refs: {
12
- playerRef: HTMLDivElement;
13
- audioRef: HTMLAudioElement;
14
- };
15
- rootEl: HTMLDivElement;
16
- };
17
- type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
18
- declare const __VLS_component: import("vue").DefineComponent<MagicAudioPlayerProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MagicAudioPlayerProps> & Readonly<{}>, {
19
- loop: boolean;
20
- src: string;
21
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, HTMLDivElement>;
22
- declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
23
- export default _default;
24
- type __VLS_WithTemplateSlots<T, S> = T & {
25
- new (): {
26
- $slots: S;
27
- };
28
- };
@@ -1,95 +0,0 @@
1
- <template>
2
- <div
3
- class="magic-audio-player-controls"
4
- :class="{
5
- '-touched': touched,
6
- '-untouched': !touched,
7
- '-playing': playing,
8
- '-paused': !playing,
9
- '-waiting': waiting,
10
- '-idle': idle,
11
- '-not-idle': !idle,
12
- '-hover': mouseEntered,
13
- '-not-hover': !mouseEntered,
14
- }"
15
- >
16
- <div class="magic-audio-player-controls__bar">
17
- <div class="magic-audio-player-controls__bar--inner" ref="barRef">
18
- <div
19
- class="magic-audio-player-controls__item -shrink-0"
20
- data-slot="play-toggle"
21
- >
22
- <button v-if="!playing" @click="play">
23
- <slot name="playIcon">
24
- <icon-play />
25
- </slot>
26
- </button>
27
- <button v-else @click="pause">
28
- <slot name="pauseIcon">
29
- <icon-pause />
30
- </slot>
31
- </button>
32
- </div>
33
- <div
34
- class="magic-audio-player-controls__item -shrink-0"
35
- data-slot="display-time-current"
36
- >
37
- <magic-player-display-time :id="id" type="current" />
38
- </div>
39
- <div
40
- class="magic-audio-player-controls__item -grow"
41
- data-slot="timeline"
42
- >
43
- <div class="magic-audio-player-controls__timeline" ref="trackRef">
44
- <magic-player-timeline :id="id" />
45
- </div>
46
- </div>
47
- <div
48
- class="magic-audio-player-controls__item -shrink-0"
49
- data-slot="display-time-duration"
50
- >
51
- <magic-player-display-time :id="id" type="duration" />
52
- </div>
53
- </div>
54
- </div>
55
- </div>
56
- </template>
57
-
58
- <script setup lang="ts">
59
- import { ref } from 'vue'
60
- import { useIdle } from '@vueuse/core'
61
- import { usePlayerMediaApi } from '../composables/private/usePlayerMediaApi'
62
- import { usePlayerAudioApi } from '../composables/private/usePlayerAudioApi'
63
- import { usePlayerControlsApi } from '../composables/private/usePlayerControlsApi'
64
- import IconPlay from './icons/Play.vue'
65
- import IconPause from './icons/Pause.vue'
66
-
67
- interface MagicAudioPlayerControlsProps {
68
- id: string
69
- }
70
-
71
- const props = defineProps<MagicAudioPlayerControlsProps>()
72
-
73
- const barRef = ref<HTMLDivElement | undefined>(undefined)
74
- const trackRef = ref<HTMLDivElement | undefined>(undefined)
75
-
76
- const { playing, waiting } = usePlayerMediaApi({
77
- id: props.id,
78
- })
79
-
80
- const { play, pause, touched, mouseEntered } = usePlayerAudioApi({
81
- id: props.id,
82
- })
83
-
84
- usePlayerControlsApi({
85
- id: props.id,
86
- barRef: barRef,
87
- trackRef: trackRef,
88
- })
89
-
90
- const { idle } = useIdle(3000)
91
- </script>
92
-
93
- <style>
94
- :root{--magic-audio-player-controls-height:3rem}.magic-audio-player-controls{pointer-events:none;width:100%}.magic-audio-player-controls__bar{align-items:flex-start;display:flex;flex-direction:column;margin:0 auto;pointer-events:auto;width:100%}.magic-audio-player-controls__bar--inner{align-items:center;box-sizing:border-box;color:var(--magic-audio-player-controls-color,inherit);display:flex;height:var(--magic-audio-player-controls-height);padding:0 var(--magic-audio-player-controls-padding-x,0);width:100%}.magic-audio-player-controls__item{align-items:center;display:inline-flex;-webkit-user-select:none;-moz-user-select:none;user-select:none}.magic-audio-player-controls__item.-shrink-0{flex-shrink:0}.magic-audio-player-controls__item.-grow{flex-grow:1}.magic-audio-player-controls__item button{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:0;border-radius:0;color:inherit;cursor:pointer;display:flex;height:var(--magic-audio-player-controls-height);justify-content:center;outline:none;padding:0;width:var(--magic-audio-player-controls-button-width,4rem)}.magic-audio-player-controls__item button svg{display:block;height:auto;width:var(--magic-audio-player-controls-icon-width,1.25rem)}.magic-audio-player-controls__timeline{width:100%}@container (max-width: 480px){.magic-audio-player-controls__item[data-slot=display-time-current]{display:none}}@container (max-width: 320px ){.magic-audio-player-controls__item[data-slot=display-time-duration]{display:none}.magic-audio-player-controls__item[data-slot=timeline]{padding-right:1rem}}@container (max-width: 240px){.magic-audio-player-controls__item[data-slot=timeline]{display:none}.magic-audio-player-controls__bar--inner{justify-content:center}}
95
- </style>