@maas/vue-equipment 0.40.0 → 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 -16
  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 +1 -3
  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 -57
  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
@@ -0,0 +1,296 @@
1
+ <script>
2
+ import { defineComponent as _defineComponent } from "vue";
3
+ import { unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveDynamicComponent as _resolveDynamicComponent, mergeProps as _mergeProps, createBlock as _createBlock, withCtx as _withCtx, TransitionGroup as _TransitionGroup, createVNode as _createVNode, createElementVNode as _createElementVNode, Teleport as _Teleport } from "vue";
4
+ const _hoisted_1 = ["id", "data-position", "data-expanded"];
5
+ import {
6
+ toValue,
7
+ ref,
8
+ provide,
9
+ useId,
10
+ watch,
11
+ onBeforeUnmount
12
+ } from "vue";
13
+ import { onClickOutside } from "@vueuse/core";
14
+ import { defu } from "defu";
15
+ import { useToastState } from "../composables/private/useToastState";
16
+ import { useToastView } from "../composables/private/useToastView";
17
+ import { useToastCallback } from "../composables/private/useToastCallback";
18
+ import MagicToastView from "./MagicToastView.vue";
19
+ import { MagicToastInstanceId } from "../../symbols";
20
+ import "@maas/vue-equipment/utils/css/animations/fade-out.css";
21
+ import "@maas/vue-equipment/utils/css/animations/squash-y.css";
22
+ import "@maas/vue-equipment/utils/css/animations/slide-ltr-in.css";
23
+ import "@maas/vue-equipment/utils/css/animations/slide-ltr-out.css";
24
+ import "@maas/vue-equipment/utils/css/animations/slide-rtl-in.css";
25
+ import "@maas/vue-equipment/utils/css/animations/slide-rtl-out.css";
26
+ import { useToastListener } from "../composables/private/useToastListener";
27
+ export default /* @__PURE__ */ _defineComponent({
28
+ ...{
29
+ inheritAttrs: false
30
+ },
31
+ __name: "MagicToastProvider",
32
+ props: {
33
+ id: { type: null, required: true },
34
+ options: { type: Object, required: false }
35
+ },
36
+ setup(__props) {
37
+ const teleportId = ref(useId());
38
+ const { deleteView } = useToastView(__props.id);
39
+ const { deleteState, initializeState } = useToastState(__props.id);
40
+ const state = initializeState(__props.options);
41
+ const listRef = ref(void 0);
42
+ const {
43
+ onBeforeEnter,
44
+ onEnter,
45
+ onAfterEnter,
46
+ onBeforeLeave,
47
+ onLeave,
48
+ onAfterLeave
49
+ } = useToastCallback(__props.id);
50
+ const { onMouseenter, onMouseleave, outsideClickCallback } = useToastListener(__props.id);
51
+ onClickOutside(listRef, outsideClickCallback);
52
+ watch(
53
+ () => __props.options,
54
+ (value) => {
55
+ state.options = defu(value, state.options);
56
+ teleportId.value = useId();
57
+ },
58
+ {
59
+ deep: true
60
+ }
61
+ );
62
+ onBeforeUnmount(() => {
63
+ deleteState();
64
+ });
65
+ provide(MagicToastInstanceId, __props.id);
66
+ return (_ctx, _cache) => {
67
+ return _openBlock(), _createBlock(_Teleport, {
68
+ key: teleportId.value,
69
+ to: _unref(state).options.teleport?.target,
70
+ disabled: _unref(state).options.teleport?.disabled
71
+ }, [
72
+ _createElementVNode("div", _mergeProps({
73
+ id: toValue(_ctx.id),
74
+ "data-position": _unref(state).options.position,
75
+ "data-expanded": _unref(state).expanded,
76
+ class: "magic-toast-provider"
77
+ }, _ctx.$attrs), [
78
+ _createVNode(_TransitionGroup, {
79
+ ref_key: "listRef",
80
+ ref: listRef,
81
+ tag: "ol",
82
+ class: "magic-toast-provider__list",
83
+ name: _unref(state).options.transition,
84
+ "on-before-enter": _unref(onBeforeEnter),
85
+ "on-enter": _unref(onEnter),
86
+ "on-after-enter": _unref(onAfterEnter),
87
+ "on-before-leave": _unref(onBeforeLeave),
88
+ "on-leave": _unref(onLeave),
89
+ "on-after-leave": _unref(onAfterLeave),
90
+ onMouseenter: _unref(onMouseenter),
91
+ onMouseleave: _unref(onMouseleave)
92
+ }, {
93
+ default: _withCtx(() => [
94
+ (_openBlock(true), _createElementBlock(
95
+ _Fragment,
96
+ null,
97
+ _renderList(_unref(state).views, (view, index) => {
98
+ return _openBlock(), _createBlock(MagicToastView, {
99
+ id: view.id,
100
+ key: view.id,
101
+ index
102
+ }, {
103
+ default: _withCtx(() => [
104
+ (_openBlock(), _createBlock(_resolveDynamicComponent(view.component), _mergeProps({ ref_for: true }, view.props, {
105
+ onRemove: ($event) => _unref(deleteView)(view.id)
106
+ }), null, 16, ["onRemove"]))
107
+ ]),
108
+ _: 2
109
+ /* DYNAMIC */
110
+ }, 1032, ["id", "index"]);
111
+ }),
112
+ 128
113
+ /* KEYED_FRAGMENT */
114
+ ))
115
+ ]),
116
+ _: 1
117
+ /* STABLE */
118
+ }, 8, ["name", "on-before-enter", "on-enter", "on-after-enter", "on-before-leave", "on-leave", "on-after-leave", "onMouseenter", "onMouseleave"])
119
+ ], 16, _hoisted_1)
120
+ ], 8, ["to", "disabled"]);
121
+ };
122
+ }
123
+ });
124
+ </script>
125
+
126
+ <style>
127
+ @keyframes mt-slide-ttb-out {
128
+ 0% {
129
+ transform: translate3d(0, 0, 0);
130
+ }
131
+ 100% {
132
+ transform: translate3d(0, calc(-100% - var(--magic-toast-padding-y)), 0);
133
+ }
134
+ }
135
+
136
+ @keyframes mt-slide-ttb-in {
137
+ 0% {
138
+ transform: translate3d(0, calc(-100% - var(--magic-toast-padding-y)), 0);
139
+ }
140
+ 100% {
141
+ transform: translate3d(0, 0, 0);
142
+ }
143
+ }
144
+
145
+ @keyframes mt-slide-btt-out {
146
+ 0% {
147
+ transform: translate3d(0, 0, 0);
148
+ }
149
+ 100% {
150
+ transform: translate3d(0, calc(100% + var(--magic-toast-padding-y)), 0);
151
+ }
152
+ }
153
+
154
+ @keyframes mt-slide-btt-in {
155
+ 0% {
156
+ transform: translate3d(0, calc(100% + var(--magic-toast-padding-y)), 0);
157
+ }
158
+ 100% {
159
+ transform: translate3d(0, 0, 0);
160
+ }
161
+ }
162
+
163
+ :root {
164
+ --magic-toast-padding-y: 1rem;
165
+ --magic-toast-padding-x: 1rem;
166
+ --magic-toast-gap: 0.75rem;
167
+ --magic-toast-duration: 175ms;
168
+ --magic-toast-scale-factor: 0.05;
169
+ --magic-toast-overlap-y: 1rem;
170
+
171
+ --mt-multiplier-y: 0px;
172
+ --mt-align-items: center;
173
+ --mt-justify-content: flex-end;
174
+ --mt-flex-direction: column;
175
+ --mt-enter-animation: unset;
176
+ --mt-leave-animation: unset;
177
+ }
178
+
179
+ .magic-toast-provider {
180
+ position: var(--magic-toast-position, fixed);
181
+ inset: var(--magic-toast-inset, 0);
182
+ width: var(--magic-toast-width, 100%);
183
+ height: var(--magic-toast-height, 100%);
184
+ z-index: var(--magic-toast-z-index, 999);
185
+ display: flex;
186
+ flex-direction: column;
187
+ justify-content: center;
188
+ align-items: center;
189
+ pointer-events: none;
190
+ }
191
+
192
+ .magic-toast-provider__list {
193
+ position: relative;
194
+ overflow-y: auto;
195
+ overflow-x: hidden;
196
+ max-height: 100%;
197
+ width: 100%;
198
+ height: 100%;
199
+ display: flex;
200
+ padding: var(--magic-toast-padding-y) var(--magic-toast-padding-x);
201
+ flex-direction: var(--mt-flex-direction);
202
+ align-items: var(--mt-align-items);
203
+ justify-content: var(--mt-justify-content);
204
+ scrollbar-width: none;
205
+ -ms-overflow-style: none;
206
+ &::-webkit-scrollbar {
207
+ display: none;
208
+ }
209
+ }
210
+
211
+ .magic-toast-provider__list * {
212
+ pointer-events: all;
213
+ }
214
+
215
+ .magic-toast-provider[data-position='top-left'],
216
+ .magic-toast-provider[data-position='top-center'],
217
+ .magic-toast-provider[data-position='top-right'] {
218
+ --mt-enter-animation: mt-slide-ttb-in var(--magic-toast-duration)
219
+ var(--ease-in-out);
220
+ --mt-leave-animation: mt-slide-ttb-out var(--magic-toast-duration)
221
+ var(--ease-in-out);
222
+ --mt-multiplier-y: 1;
223
+ --mt-justify-content: flex-end;
224
+ --mt-flex-direction: column-reverse;
225
+ }
226
+
227
+ .magic-toast-provider[data-position='bottom-left'],
228
+ .magic-toast-provider[data-position='bottom-center'],
229
+ .magic-toast-provider[data-position='bottom-right'] {
230
+ --mt-enter-animation: mt-slide-btt-in var(--magic-toast-duration)
231
+ var(--ease-in-out);
232
+ --mt-leave-animation: mt-slide-btt-out var(--magic-toast-duration)
233
+ var(--ease-in-out);
234
+ --mt-multiplier-y: -1;
235
+ --mt-justify-content: flex-end;
236
+ }
237
+
238
+ .magic-toast-provider[data-position='top-left'],
239
+ .magic-toast-provider[data-position='bottom-left'] {
240
+ --mt-align-items: flex-start;
241
+ }
242
+
243
+ .magic-toast-provider[data-position='top-right'],
244
+ .magic-toast-provider[data-position='bottom-right'] {
245
+ --mt-align-items: flex-end;
246
+ }
247
+
248
+ .magic-toast-provider[data-position='center-left'] {
249
+ --mt-justify-content: center;
250
+ --mt-align-items: flex-start;
251
+ --mt-enter-animation: slide-ltr-in var(--magic-toast-duration)
252
+ var(--ease-in-out);
253
+ --mt-leave-animation: slide-ltr-out var(--magic-toast-duration)
254
+ var(--ease-in-out);
255
+ }
256
+
257
+ .magic-toast-provider[data-position='center-right'] {
258
+ --mt-justify-content: center;
259
+ --mt-align-items: flex-end;
260
+ --mt-enter-animation: slide-rtl-in var(--magic-toast-duration)
261
+ var(--ease-in-out);
262
+ --mt-leave-animation: slide-rtl-out var(--magic-toast-duration)
263
+ var(--ease-in-out);
264
+ }
265
+
266
+ .magic-toast-enter-active {
267
+ animation: var(--mt-enter-animation, unset);
268
+ position: absolute;
269
+
270
+ &[data-position='bottom-left'],
271
+ &[data-position='bottom-center'],
272
+ &[data-position='bottom-right'] {
273
+ bottom: calc(var(--mt-height) * var(--mt-index) * 1px);
274
+ }
275
+
276
+ &[data-position='top-left'],
277
+ &[data-position='top-center'],
278
+ &[data-position='top-right'] {
279
+ top: calc(var(--mt-height) * var(--mt-index) * 1px);
280
+ }
281
+ }
282
+
283
+ .magic-toast-leave-active {
284
+ animation: fade-out var(--magic-toast-duration) var(--ease-in-out);
285
+ position: absolute;
286
+ }
287
+
288
+ .magic-toast-leave-active:last-child {
289
+ animation: var(--mt-leave-animation, unset);
290
+ position: absolute;
291
+ }
292
+
293
+ .magic-toast-move {
294
+ transition: all var(--magic-toast-duration) var(--ease-in-out);
295
+ }
296
+ </style>
@@ -0,0 +1,23 @@
1
+ import { type MaybeRef } from 'vue';
2
+ import type { MagicToastOptions } from '../types/index.js';
3
+ import '@maas/vue-equipment/utils/css/animations/fade-out.css';
4
+ import '@maas/vue-equipment/utils/css/animations/squash-y.css';
5
+ import '@maas/vue-equipment/utils/css/animations/slide-ltr-in.css';
6
+ import '@maas/vue-equipment/utils/css/animations/slide-ltr-out.css';
7
+ import '@maas/vue-equipment/utils/css/animations/slide-rtl-in.css';
8
+ import '@maas/vue-equipment/utils/css/animations/slide-rtl-out.css';
9
+ interface MagicToastProps {
10
+ id: MaybeRef<string>;
11
+ options?: MagicToastOptions;
12
+ }
13
+ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<MagicToastProps>>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<MagicToastProps>>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
14
+ export default _default;
15
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
16
+ type __VLS_TypePropsToOption<T> = {
17
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
18
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
19
+ } : {
20
+ type: import('vue').PropType<T[K]>;
21
+ required: true;
22
+ };
23
+ };
@@ -0,0 +1,155 @@
1
+ <script>
2
+ import { defineComponent as _defineComponent } from "vue";
3
+ import { unref as _unref, renderSlot as _renderSlot, normalizeStyle as _normalizeStyle, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from "vue";
4
+ const _hoisted_1 = ["id", "data-expanded", "data-dragging", "data-position", "data-debug"];
5
+ import { ref, computed, inject } from "vue";
6
+ import { MagicToastInstanceId } from "../../symbols";
7
+ import { useToastState } from "../composables/private/useToastState";
8
+ import { useToastDrag } from "../composables/private/useToastDrag";
9
+ import "@maas/vue-equipment/utils/css/transitions/fade.css";
10
+ export default /* @__PURE__ */ _defineComponent({
11
+ __name: "MagicToastView",
12
+ props: {
13
+ id: { type: String, required: true },
14
+ index: { type: Number, required: true }
15
+ },
16
+ setup(__props) {
17
+ const instanceId = inject(MagicToastInstanceId, void 0);
18
+ if (!instanceId) {
19
+ throw new Error("MagicToastView must be used within a MagicToastProvider");
20
+ }
21
+ const elRef = ref(void 0);
22
+ const { initializeState } = useToastState(instanceId);
23
+ const state = initializeState();
24
+ const count = computed(() => state.views.length);
25
+ const view = computed(() => state.views[__props.index]);
26
+ const reversedIndex = computed(() => count.value - __props.index - 1);
27
+ const height = computed(() => `${view.value.dimensions?.height}px`);
28
+ const offset = computed(() => {
29
+ const mapped = state.views.slice(0, reversedIndex.value).reduce((acc, view2) => acc + (view2.dimensions?.height ?? 0), 0);
30
+ return `${mapped}px`;
31
+ });
32
+ const { style, onPointerdown, onClick } = useToastDrag({
33
+ view: view.value,
34
+ instanceId
35
+ });
36
+ return (_ctx, _cache) => {
37
+ return _openBlock(), _createElementBlock("li", {
38
+ id: _ctx.id,
39
+ ref_key: "elRef",
40
+ ref: elRef,
41
+ class: "magic-toast-view",
42
+ "data-expanded": _unref(state).expanded,
43
+ "data-dragging": view.value.dragging,
44
+ "data-position": _unref(state).options.position,
45
+ "data-debug": _unref(state).options.debug,
46
+ style: _normalizeStyle({
47
+ "--mt-index": reversedIndex.value,
48
+ "--mt-offset": offset.value,
49
+ "--mt-height": height.value
50
+ })
51
+ }, [
52
+ _createElementVNode(
53
+ "div",
54
+ {
55
+ class: "magic-toast-view__inner",
56
+ onPointerdown: _cache[0] || (_cache[0] = //@ts-ignore
57
+ (...args) => _unref(onPointerdown) && _unref(onPointerdown)(...args)),
58
+ onClick: _cache[1] || (_cache[1] = //@ts-ignore
59
+ (...args) => _unref(onClick) && _unref(onClick)(...args))
60
+ },
61
+ [
62
+ _createElementVNode(
63
+ "div",
64
+ {
65
+ style: _normalizeStyle(_unref(style)),
66
+ class: "magic-toast-view__drag"
67
+ },
68
+ [
69
+ _renderSlot(_ctx.$slots, "default")
70
+ ],
71
+ 4
72
+ /* STYLE */
73
+ )
74
+ ],
75
+ 32
76
+ /* NEED_HYDRATION */
77
+ )
78
+ ], 12, _hoisted_1);
79
+ };
80
+ }
81
+ });
82
+ </script>
83
+
84
+ <style>
85
+ :root {
86
+ --magic-toast-view-transition: all var(--magic-toast-duration)
87
+ var(--ease-in-out);
88
+ }
89
+
90
+ .magic-toast-view {
91
+ cursor: var(--magic-toast-view-cursor, grab);
92
+ position: absolute;
93
+ list-style: none;
94
+ user-select: none;
95
+
96
+ &[data-position='bottom-left'],
97
+ &[data-position='bottom-center'],
98
+ &[data-position='bottom-right'] {
99
+ padding-top: var(--magic-toast-gap);
100
+ }
101
+
102
+ &[data-position='top-left'],
103
+ &[data-position='top-center'],
104
+ &[data-position='top-right'] {
105
+ padding-bottom: var(--magic-toast-gap);
106
+ }
107
+ }
108
+
109
+ .magic-toast-view[data-expanded='false'] {
110
+ --mt-scale: max(
111
+ calc(1 - (var(--magic-toast-scale-factor) * var(--mt-index))),
112
+ 0
113
+ );
114
+ --mt-translate-y: calc(
115
+ ((var(--magic-toast-overlap-y) * var(--mt-index) * var(--mt-scale))) *
116
+ var(--mt-multiplier-y)
117
+ );
118
+ }
119
+
120
+ .magic-toast-view[data-expanded='true'] {
121
+ --mt-scale: 1;
122
+ --mt-translate-y: calc(var(--mt-offset) * var(--mt-multiplier-y));
123
+ }
124
+
125
+ .magic-toast-view__inner {
126
+ position: relative;
127
+ width: 100%;
128
+ height: 100%;
129
+ transition: var(--magic-toast-view-transition);
130
+ transform: translateY(var(--mt-translate-y)) scale(var(--mt-scale));
131
+ }
132
+
133
+ .magic-toast-view__drag {
134
+ display: block;
135
+ }
136
+
137
+ .magic-toast-view[data-dragging='true'] {
138
+ cursor: var(--magic-toast-view-cursor-dragging, grabbing);
139
+ }
140
+
141
+ .magic-toast-view[data-position='center-left'] {
142
+ position: absolute;
143
+ }
144
+
145
+ .magic-toast-view[data-position='center-right'] {
146
+ position: absolute;
147
+ }
148
+
149
+ .magic-toast-view[data-debug='true'] {
150
+ outline: solid 1px green;
151
+ & > * {
152
+ outline: solid 1px red;
153
+ }
154
+ }
155
+ </style>
@@ -0,0 +1,33 @@
1
+ import '@maas/vue-equipment/utils/css/transitions/fade.css';
2
+ interface MagicToastViewProps {
3
+ id: string;
4
+ index: number;
5
+ }
6
+ declare function __VLS_template(): {
7
+ attrs: Partial<{}>;
8
+ slots: {
9
+ default?(_: {}): any;
10
+ };
11
+ refs: {
12
+ elRef: HTMLLIElement;
13
+ };
14
+ rootEl: HTMLLIElement;
15
+ };
16
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
17
+ declare const __VLS_component: import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<MagicToastViewProps>>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<MagicToastViewProps>>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
18
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
19
+ export default _default;
20
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
21
+ type __VLS_TypePropsToOption<T> = {
22
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
23
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
24
+ } : {
25
+ type: import('vue').PropType<T[K]>;
26
+ required: true;
27
+ };
28
+ };
29
+ type __VLS_WithTemplateSlots<T, S> = T & {
30
+ new (): {
31
+ $slots: S;
32
+ };
33
+ };
@@ -1,32 +1,9 @@
1
- import { type Ref, type MaybeRef } from 'vue';
2
- import type { ActiveToast, MagicToastOptions, Toast } from './../../types/index.js';
3
- type UseToastCallbackArgs = {
4
- id: MaybeRef<string>;
5
- mappedOptions: MagicToastOptions;
6
- count: Ref<number | undefined>;
7
- firstToast: Ref<Toast | undefined>;
8
- };
9
- export declare function useToastCallback(args: UseToastCallbackArgs): {
10
- onBeforeEnter: (_el: Element) => void;
11
- onEnter: (_el: Element) => void;
1
+ import { type MaybeRef } from 'vue';
2
+ export declare function useToastCallback(instanceId: MaybeRef<string>): {
3
+ onBeforeEnter: () => void;
4
+ onEnter: () => void;
12
5
  onAfterEnter: (el: Element) => void;
13
- onBeforeLeave: (_el: Element) => void;
14
- onLeave: (el: Element) => void;
15
- onAfterLeave: (_el: Element) => void;
16
- activeToasts: Ref<{
17
- id: string;
18
- height: number;
19
- padding: {
20
- top: number;
21
- bottom: number;
22
- };
23
- }[], ActiveToast[] | {
24
- id: string;
25
- height: number;
26
- padding: {
27
- top: number;
28
- bottom: number;
29
- };
30
- }[]>;
6
+ onBeforeLeave: () => void;
7
+ onLeave: () => void;
8
+ onAfterLeave: (el: Element) => void;
31
9
  };
32
- export {};
@@ -1,43 +1,49 @@
1
- import { ref, toValue } from "vue";
1
+ import { toValue } from "vue";
2
2
  import { useMagicEmitter } from "@maas/vue-equipment/plugins";
3
- export function useToastCallback(args) {
4
- const { id, mappedOptions, count, firstToast } = args;
5
- const activeToasts = ref([]);
3
+ import { useToastView } from "./useToastView.mjs";
4
+ import { useToastState } from "./useToastState.mjs";
5
+ export function useToastCallback(instanceId) {
6
+ const { initializeState } = useToastState(instanceId);
7
+ const state = initializeState();
6
8
  const emitter = useMagicEmitter();
7
- function onBeforeEnter(_el) {
8
- emitter.emit("beforeEnter", toValue(id));
9
+ const { deleteView, getView } = useToastView(instanceId);
10
+ function onBeforeEnter() {
11
+ emitter.emit("beforeEnter", toValue(instanceId));
9
12
  }
10
- function onEnter(_el) {
11
- emitter.emit("enter", toValue(id));
12
- if (count.value && mappedOptions.layout?.max && count.value > mappedOptions.layout.max) {
13
- firstToast.value?.remove();
14
- }
13
+ function onEnter() {
14
+ emitter.emit("enter", toValue(instanceId));
15
15
  }
16
16
  function onAfterEnter(el) {
17
- emitter.emit("afterEnter", toValue(id));
18
- const mappedEl = el;
19
- const style = window.getComputedStyle(mappedEl);
20
- activeToasts.value = [
21
- ...activeToasts.value,
22
- {
23
- id: el.id,
17
+ emitter.emit("afterEnter", toValue(instanceId));
18
+ const view = getView(el.id);
19
+ if (view) {
20
+ const mappedEl = el;
21
+ const style = window.getComputedStyle(mappedEl);
22
+ const dimensions = {
24
23
  height: mappedEl.offsetHeight,
25
24
  padding: {
26
25
  top: parseInt(style.paddingTop),
27
26
  bottom: parseInt(style.paddingBottom)
28
27
  }
29
- }
30
- ];
28
+ };
29
+ view.dimensions = dimensions;
30
+ }
31
+ if (state.views.length && state.options.layout?.max && state.views.length > state.options.layout.max) {
32
+ deleteView(state.views[0].id);
33
+ }
31
34
  }
32
- function onBeforeLeave(_el) {
33
- emitter.emit("beforeLeave", toValue(id));
35
+ function onBeforeLeave() {
36
+ emitter.emit("beforeLeave", toValue(instanceId));
34
37
  }
35
- function onLeave(el) {
36
- emitter.emit("leave", toValue(id));
37
- activeToasts.value = activeToasts.value.filter((item) => item.id !== el.id);
38
+ function onLeave() {
39
+ emitter.emit("leave", toValue(instanceId));
38
40
  }
39
- function onAfterLeave(_el) {
40
- emitter.emit("afterLeave", toValue(id));
41
+ function onAfterLeave(el) {
42
+ const view = getView(el.id);
43
+ if (view) {
44
+ deleteView(view.id);
45
+ }
46
+ emitter.emit("afterLeave", toValue(instanceId));
41
47
  }
42
48
  return {
43
49
  onBeforeEnter,
@@ -45,7 +51,6 @@ export function useToastCallback(args) {
45
51
  onAfterEnter,
46
52
  onBeforeLeave,
47
53
  onLeave,
48
- onAfterLeave,
49
- activeToasts
54
+ onAfterLeave
50
55
  };
51
56
  }
@@ -0,0 +1,12 @@
1
+ import { type MaybeRef } from 'vue';
2
+ import type { ToastView } from '../../types/index.js';
3
+ interface UseToastDragArgs {
4
+ instanceId: MaybeRef<string>;
5
+ view: ToastView;
6
+ }
7
+ export declare function useToastDrag(args: UseToastDragArgs): {
8
+ onPointerdown: (e: PointerEvent) => void;
9
+ onClick: (e: MouseEvent) => Promise<void>;
10
+ style: import("vue").ComputedRef<string>;
11
+ };
12
+ export {};