@maas/vue-equipment 1.0.0-beta.3 → 1.0.0-beta.30

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 (271) hide show
  1. package/README.md +2 -2
  2. package/dist/composables/index.d.ts +5 -5
  3. package/dist/composables/index.js +23 -13
  4. package/dist/composables/index.js.map +1 -1
  5. package/dist/nuxt/module.d.mts +2 -1
  6. package/dist/nuxt/module.json +2 -2
  7. package/dist/nuxt/module.mjs +32 -25
  8. package/dist/nuxt/types.d.mts +3 -1
  9. package/dist/plugins/.turbo/turbo-lint.log +1 -9
  10. package/dist/plugins/MagicAccordion/nuxt.d.ts +1 -1
  11. package/dist/plugins/MagicAccordion/src/components/MagicAccordionContent.vue +61 -84
  12. package/dist/plugins/MagicAccordion/src/components/MagicAccordionContent.vue.d.ts +10 -24
  13. package/dist/plugins/MagicAccordion/src/components/MagicAccordionProvider.vue +17 -31
  14. package/dist/plugins/MagicAccordion/src/components/MagicAccordionProvider.vue.d.ts +6 -20
  15. package/dist/plugins/MagicAccordion/src/components/MagicAccordionTrigger.vue +57 -62
  16. package/dist/plugins/MagicAccordion/src/components/MagicAccordionTrigger.vue.d.ts +9 -24
  17. package/dist/plugins/MagicAccordion/src/components/MagicAccordionView.vue +34 -45
  18. package/dist/plugins/MagicAccordion/src/components/MagicAccordionView.vue.d.ts +8 -22
  19. package/dist/plugins/MagicAccordion/src/composables/private/useAccordionTrigger.d.ts +1 -1
  20. package/dist/plugins/MagicAccordion/src/composables/private/useAccordionTrigger.mjs +1 -0
  21. package/dist/plugins/MagicAccordion/src/composables/private/useAccordionView.mjs +1 -0
  22. package/dist/plugins/MagicAccordion/src/composables/useMagicAccordion.mjs +1 -0
  23. package/dist/plugins/MagicAccordion/src/symbols/index.d.ts +2 -2
  24. package/dist/plugins/MagicAccordion/src/types/index.d.ts +2 -2
  25. package/dist/plugins/MagicCommand/nuxt.d.ts +1 -1
  26. package/dist/plugins/MagicCommand/src/components/MagicCommandContent.vue +148 -154
  27. package/dist/plugins/MagicCommand/src/components/MagicCommandContent.vue.d.ts +7 -14
  28. package/dist/plugins/MagicCommand/src/components/MagicCommandDrawer.vue +42 -52
  29. package/dist/plugins/MagicCommand/src/components/MagicCommandDrawer.vue.d.ts +6 -20
  30. package/dist/plugins/MagicCommand/src/components/MagicCommandItem.vue +72 -87
  31. package/dist/plugins/MagicCommand/src/components/MagicCommandItem.vue.d.ts +13 -25
  32. package/dist/plugins/MagicCommand/src/components/MagicCommandModal.vue +37 -47
  33. package/dist/plugins/MagicCommand/src/components/MagicCommandModal.vue.d.ts +6 -20
  34. package/dist/plugins/MagicCommand/src/components/MagicCommandProvider.vue +61 -77
  35. package/dist/plugins/MagicCommand/src/components/MagicCommandProvider.vue.d.ts +6 -22
  36. package/dist/plugins/MagicCommand/src/components/MagicCommandRenderer.vue +23 -39
  37. package/dist/plugins/MagicCommand/src/components/MagicCommandTrigger.vue +80 -86
  38. package/dist/plugins/MagicCommand/src/components/MagicCommandTrigger.vue.d.ts +9 -25
  39. package/dist/plugins/MagicCommand/src/components/MagicCommandView.vue +36 -48
  40. package/dist/plugins/MagicCommand/src/components/MagicCommandView.vue.d.ts +8 -22
  41. package/dist/plugins/MagicCommand/src/composables/private/useCommandScroll.d.ts +2 -2
  42. package/dist/plugins/MagicCommand/src/composables/private/useCommandState.mjs +1 -1
  43. package/dist/plugins/MagicCommand/src/composables/private/useCommandTrigger.d.ts +1 -1
  44. package/dist/plugins/MagicCommand/src/composables/private/useCommandTrigger.mjs +1 -0
  45. package/dist/plugins/MagicCommand/src/symbols/index.d.ts +4 -4
  46. package/dist/plugins/MagicCommand/src/types/index.d.ts +3 -3
  47. package/dist/plugins/MagicCookie/nuxt.d.ts +1 -1
  48. package/dist/plugins/MagicCookie/src/components/MagicCookieItem.vue +34 -41
  49. package/dist/plugins/MagicCookie/src/components/MagicCookieItem.vue.d.ts +8 -22
  50. package/dist/plugins/MagicCookie/src/components/MagicCookieProvider.vue +19 -36
  51. package/dist/plugins/MagicCookie/src/components/MagicCookieProvider.vue.d.ts +6 -20
  52. package/dist/plugins/MagicCookie/src/components/MagicCookieView.vue +42 -74
  53. package/dist/plugins/MagicCookie/src/components/MagicCookieView.vue.d.ts +9 -14
  54. package/dist/plugins/MagicCookie/src/composables/private/useCookieItem.mjs +0 -1
  55. package/dist/plugins/MagicCookie/src/symbols/index.d.ts +2 -2
  56. package/dist/plugins/MagicCookie/src/types/index.d.ts +2 -2
  57. package/dist/plugins/MagicDraggable/nuxt.d.ts +1 -1
  58. package/dist/plugins/MagicDraggable/src/components/MagicDraggable.vue +82 -100
  59. package/dist/plugins/MagicDraggable/src/components/MagicDraggable.vue.d.ts +6 -24
  60. package/dist/plugins/MagicDraggable/src/composables/private/useDraggableDrag.d.ts +2 -2
  61. package/dist/plugins/MagicDraggable/src/composables/private/useDraggableDrag.mjs +43 -63
  62. package/dist/plugins/MagicDraggable/src/composables/private/useDraggableScrollLock.mjs +34 -14
  63. package/dist/plugins/MagicDraggable/src/composables/private/useDraggableSnap.d.ts +2 -15
  64. package/dist/plugins/MagicDraggable/src/composables/private/useDraggableSnap.mjs +103 -53
  65. package/dist/plugins/MagicDraggable/src/composables/private/useDraggableState.mjs +6 -5
  66. package/dist/plugins/MagicDraggable/src/types/index.d.ts +4 -3
  67. package/dist/plugins/MagicDraggable/src/utils/defaultOptions.mjs +1 -1
  68. package/dist/plugins/MagicDrawer/nuxt.d.ts +1 -1
  69. package/dist/plugins/MagicDrawer/src/components/MagicDrawer.vue +284 -323
  70. package/dist/plugins/MagicDrawer/src/components/MagicDrawer.vue.d.ts +18 -35
  71. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerDOM.mjs +34 -14
  72. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerDrag.d.ts +2 -2
  73. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerDrag.mjs +3 -3
  74. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerGuards.d.ts +1 -1
  75. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerGuards.mjs +28 -10
  76. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerProgress.d.ts +2 -2
  77. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerSnap.d.ts +3 -3
  78. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerSnap.mjs +16 -14
  79. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerWheel.d.ts +1 -1
  80. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerWheel.mjs +1 -1
  81. package/dist/plugins/MagicDrawer/src/composables/useMagicDrawer.mjs +1 -1
  82. package/dist/plugins/MagicDrawer/src/types/index.mjs +1 -0
  83. package/dist/plugins/MagicDrawer/src/utils/defaultOptions.mjs +2 -2
  84. package/dist/plugins/MagicEmitter/nuxt.d.ts +1 -1
  85. package/dist/plugins/MagicEmitter/src/composables/useMagicEmitter.d.ts +202 -100
  86. package/dist/plugins/MagicEmitter/src/types/index.d.ts +2 -0
  87. package/dist/plugins/MagicMarquee/nuxt.d.ts +1 -1
  88. package/dist/plugins/MagicMarquee/src/components/MagicMarquee.vue +38 -72
  89. package/dist/plugins/MagicMarquee/src/components/MagicMarquee.vue.d.ts +8 -24
  90. package/dist/plugins/MagicMarquee/src/composables/private/useMarqueeApi.d.ts +1 -1
  91. package/dist/plugins/MagicMarquee/src/composables/private/useMarqueeApi.mjs +8 -2
  92. package/dist/plugins/MagicMarquee/src/composables/useMagicMarquee.d.ts +1 -1
  93. package/dist/plugins/MagicMenu/nuxt.d.ts +1 -1
  94. package/dist/plugins/MagicMenu/src/components/MagicMenuChannel.vue +51 -63
  95. package/dist/plugins/MagicMenu/src/components/MagicMenuChannel.vue.d.ts +6 -20
  96. package/dist/plugins/MagicMenu/src/components/MagicMenuContent.vue +180 -216
  97. package/dist/plugins/MagicMenu/src/components/MagicMenuContent.vue.d.ts +10 -25
  98. package/dist/plugins/MagicMenu/src/components/MagicMenuFloat.vue +171 -198
  99. package/dist/plugins/MagicMenu/src/components/MagicMenuFloat.vue.d.ts +8 -24
  100. package/dist/plugins/MagicMenu/src/components/MagicMenuItem.vue +87 -113
  101. package/dist/plugins/MagicMenu/src/components/MagicMenuItem.vue.d.ts +13 -25
  102. package/dist/plugins/MagicMenu/src/components/MagicMenuProvider.vue +82 -81
  103. package/dist/plugins/MagicMenu/src/components/MagicMenuProvider.vue.d.ts +6 -22
  104. package/dist/plugins/MagicMenu/src/components/MagicMenuRemote.vue +63 -86
  105. package/dist/plugins/MagicMenu/src/components/MagicMenuRemote.vue.d.ts +9 -23
  106. package/dist/plugins/MagicMenu/src/components/MagicMenuTrigger.vue +94 -97
  107. package/dist/plugins/MagicMenu/src/components/MagicMenuTrigger.vue.d.ts +11 -25
  108. package/dist/plugins/MagicMenu/src/components/MagicMenuView.vue +49 -61
  109. package/dist/plugins/MagicMenu/src/components/MagicMenuView.vue.d.ts +8 -22
  110. package/dist/plugins/MagicMenu/src/composables/private/useMenuCallback.mjs +1 -1
  111. package/dist/plugins/MagicMenu/src/composables/private/useMenuChannel.mjs +15 -5
  112. package/dist/plugins/MagicMenu/src/composables/private/useMenuCursor.d.ts +3 -3
  113. package/dist/plugins/MagicMenu/src/composables/private/useMenuCursor.mjs +4 -4
  114. package/dist/plugins/MagicMenu/src/composables/private/useMenuDOM.mjs +35 -15
  115. package/dist/plugins/MagicMenu/src/composables/private/useMenuKeyListener.mjs +6 -2
  116. package/dist/plugins/MagicMenu/src/composables/private/useMenuTrigger.d.ts +1 -1
  117. package/dist/plugins/MagicMenu/src/composables/private/useMenuTrigger.mjs +2 -0
  118. package/dist/plugins/MagicMenu/src/composables/private/useMenuView.mjs +18 -6
  119. package/dist/plugins/MagicMenu/src/composables/useMagicMenu.mjs +1 -0
  120. package/dist/plugins/MagicMenu/src/symbols/index.d.ts +4 -4
  121. package/dist/plugins/MagicMenu/src/types/index.d.ts +2 -2
  122. package/dist/plugins/MagicMenu/src/utils/modeDelayDefaults.d.ts +2 -2
  123. package/dist/plugins/MagicMenu/src/utils/modeDelayDefaults.mjs +2 -2
  124. package/dist/plugins/MagicModal/nuxt.d.ts +1 -1
  125. package/dist/plugins/MagicModal/src/components/MagicModal.vue +134 -171
  126. package/dist/plugins/MagicModal/src/components/MagicModal.vue.d.ts +10 -25
  127. package/dist/plugins/MagicModal/src/composables/private/useModalDOM.mjs +34 -14
  128. package/dist/plugins/MagicModal/src/types/index.d.ts +2 -2
  129. package/dist/plugins/MagicModal/src/types/index.mjs +1 -0
  130. package/dist/plugins/MagicNoise/nuxt.d.ts +1 -1
  131. package/dist/plugins/MagicNoise/src/components/MagicNoise.vue +50 -81
  132. package/dist/plugins/MagicNoise/src/components/MagicNoise.vue.d.ts +1 -10
  133. package/dist/plugins/MagicNoise/src/composables/private/useNoiseApi.d.ts +3 -3
  134. package/dist/plugins/MagicNoise/src/composables/private/useNoiseApi.mjs +10 -6
  135. package/dist/plugins/MagicNoise/src/types/index.d.ts +2 -0
  136. package/dist/plugins/MagicNoise/src/utils/defaultOptions.mjs +3 -1
  137. package/dist/plugins/MagicPie/index.d.ts +7 -0
  138. package/dist/plugins/MagicPie/index.mjs +8 -0
  139. package/dist/plugins/MagicPie/nuxt.d.ts +2 -0
  140. package/dist/plugins/MagicPie/nuxt.mjs +23 -0
  141. package/dist/plugins/MagicPie/src/components/MagicPie.vue +168 -0
  142. package/dist/plugins/MagicPie/src/components/MagicPie.vue.d.ts +7 -0
  143. package/dist/plugins/MagicPie/src/composables/private/usePieState.d.ts +6 -0
  144. package/dist/plugins/MagicPie/src/composables/private/usePieState.mjs +33 -0
  145. package/dist/plugins/MagicPie/src/composables/useMagicPie.d.ts +13 -0
  146. package/dist/plugins/MagicPie/src/composables/useMagicPie.mjs +43 -0
  147. package/dist/plugins/MagicPie/src/types/index.d.ts +9 -0
  148. package/dist/plugins/MagicPie/src/types/index.mjs +0 -0
  149. package/dist/plugins/MagicPlayer/nuxt.d.ts +1 -1
  150. package/dist/plugins/MagicPlayer/src/components/MagicPlayerAudio.vue +93 -65
  151. package/dist/plugins/MagicPlayer/src/components/MagicPlayerAudioControls.vue +123 -127
  152. package/dist/plugins/MagicPlayer/src/components/MagicPlayerAudioControls.vue.d.ts +9 -25
  153. package/dist/plugins/MagicPlayer/src/components/MagicPlayerDisplayTime.vue +32 -42
  154. package/dist/plugins/MagicPlayer/src/components/MagicPlayerDisplayTime.vue.d.ts +1 -10
  155. package/dist/plugins/MagicPlayer/src/components/MagicPlayerMuxPopover.vue +117 -103
  156. package/dist/plugins/MagicPlayer/src/components/MagicPlayerMuxPopover.vue.d.ts +1 -10
  157. package/dist/plugins/MagicPlayer/src/components/MagicPlayerOverlay.vue +134 -82
  158. package/dist/plugins/MagicPlayer/src/components/MagicPlayerOverlay.vue.d.ts +17 -13
  159. package/dist/plugins/MagicPlayer/src/components/MagicPlayerPoster.vue +20 -36
  160. package/dist/plugins/MagicPlayer/src/components/MagicPlayerPoster.vue.d.ts +5 -10
  161. package/dist/plugins/MagicPlayer/src/components/MagicPlayerProvider.vue +66 -56
  162. package/dist/plugins/MagicPlayer/src/components/MagicPlayerProvider.vue.d.ts +6 -22
  163. package/dist/plugins/MagicPlayer/src/components/MagicPlayerTimeline.vue +60 -109
  164. package/dist/plugins/MagicPlayer/src/components/MagicPlayerVideo.vue +118 -68
  165. package/dist/plugins/MagicPlayer/src/components/MagicPlayerVideoControls.vue +179 -210
  166. package/dist/plugins/MagicPlayer/src/components/MagicPlayerVideoControls.vue.d.ts +24 -34
  167. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerAudioApi.d.ts +0 -4
  168. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerAudioApi.mjs +9 -52
  169. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerControlsApi.d.ts +8 -34
  170. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerControlsApi.mjs +170 -234
  171. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerEmitter.d.ts +8 -0
  172. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerEmitter.mjs +103 -0
  173. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerMediaApi.d.ts +3 -17
  174. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerMediaApi.mjs +59 -176
  175. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerProvider.d.ts +6 -0
  176. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerProvider.mjs +34 -0
  177. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerRuntime.d.ts +3 -4
  178. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerRuntime.mjs +19 -35
  179. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerState.d.ts +7 -0
  180. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerState.mjs +60 -0
  181. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerVideoApi.d.ts +4 -8
  182. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerVideoApi.mjs +43 -91
  183. package/dist/plugins/MagicPlayer/src/composables/useMagicPlayer.d.ts +37 -52
  184. package/dist/plugins/MagicPlayer/src/composables/useMagicPlayer.mjs +53 -3
  185. package/dist/plugins/MagicPlayer/src/css/magic-player-audio-controls.css +0 -1
  186. package/dist/plugins/MagicPlayer/src/css/magic-player-timeline.css +5 -0
  187. package/dist/plugins/MagicPlayer/src/symbols/index.d.ts +6 -2
  188. package/dist/plugins/MagicPlayer/src/symbols/index.mjs +12 -1
  189. package/dist/plugins/MagicPlayer/src/types/index.d.ts +75 -10
  190. package/dist/plugins/MagicPlayer/src/utils/defaultOptions.d.ts +2 -2
  191. package/dist/plugins/MagicPlayer/src/utils/defaultOptions.mjs +6 -1
  192. package/dist/plugins/MagicPlayer/src/utils/playbackDefaults.d.ts +3 -0
  193. package/dist/plugins/MagicPlayer/src/utils/playbackDefaults.mjs +7 -0
  194. package/dist/plugins/MagicScroll/nuxt.d.ts +1 -1
  195. package/dist/plugins/MagicScroll/src/components/MagicScrollCollision.vue +54 -61
  196. package/dist/plugins/MagicScroll/src/components/MagicScrollCollision.vue.d.ts +6 -22
  197. package/dist/plugins/MagicScroll/src/components/MagicScrollMotion.vue +56 -71
  198. package/dist/plugins/MagicScroll/src/components/MagicScrollMotion.vue.d.ts +6 -22
  199. package/dist/plugins/MagicScroll/src/components/MagicScrollProvider.vue +26 -33
  200. package/dist/plugins/MagicScroll/src/components/MagicScrollProvider.vue.d.ts +24 -21
  201. package/dist/plugins/MagicScroll/src/components/MagicScrollScene.vue +63 -71
  202. package/dist/plugins/MagicScroll/src/components/MagicScrollScene.vue.d.ts +8 -24
  203. package/dist/plugins/MagicScroll/src/composables/private/useCollisionDetection.d.ts +2 -2
  204. package/dist/plugins/MagicScroll/src/composables/private/useCollisionDetection.mjs +16 -6
  205. package/dist/plugins/MagicScroll/src/composables/private/useScrollApi.d.ts +2 -2
  206. package/dist/plugins/MagicScroll/src/composables/private/useScrollApi.mjs +41 -26
  207. package/dist/plugins/MagicScroll/src/symbols/index.d.ts +1 -1
  208. package/dist/plugins/MagicToast/nuxt.d.ts +1 -1
  209. package/dist/plugins/MagicToast/src/components/MagicToastProvider.vue +90 -109
  210. package/dist/plugins/MagicToast/src/components/MagicToastProvider.vue.d.ts +7 -16
  211. package/dist/plugins/MagicToast/src/components/MagicToastView.vue +53 -81
  212. package/dist/plugins/MagicToast/src/components/MagicToastView.vue.d.ts +6 -23
  213. package/dist/plugins/MagicToast/src/composables/private/useToastCallback.d.ts +2 -2
  214. package/dist/plugins/MagicToast/src/composables/private/useToastCallback.mjs +5 -5
  215. package/dist/plugins/MagicToast/src/composables/private/useToastDrag.mjs +23 -23
  216. package/dist/plugins/MagicToast/src/composables/private/useToastListener.mjs +1 -0
  217. package/dist/plugins/MagicToast/src/composables/private/useToastScrollLock.mjs +33 -15
  218. package/dist/plugins/MagicToast/src/composables/private/useToastView.mjs +1 -0
  219. package/dist/plugins/MagicToast/src/composables/useMagicToast.d.ts +1 -0
  220. package/dist/plugins/MagicToast/src/composables/useMagicToast.mjs +10 -2
  221. package/dist/plugins/MagicToast/src/types/index.d.ts +3 -3
  222. package/dist/plugins/MagicToast/src/utils/defaultOptions.mjs +1 -1
  223. package/dist/plugins/index.d.ts +1 -0
  224. package/dist/plugins/index.mjs +1 -0
  225. package/dist/utils/css/animations/fade-down.css +9 -0
  226. package/dist/utils/css/animations.css +9 -22
  227. package/dist/utils/css/easings.css +9 -1
  228. package/dist/utils/css/keyframes.css +22 -0
  229. package/dist/utils/index.d.ts +9 -4
  230. package/dist/utils/index.js +39 -3
  231. package/dist/utils/index.js.map +1 -1
  232. package/package.json +11 -7
  233. package/dist/nuxt/module.cjs +0 -5
  234. package/dist/nuxt/module.d.ts +0 -9
  235. package/dist/nuxt/types.d.ts +0 -1
  236. package/dist/plugins/MagicAccordion/demo/data/footer.json +0 -117
  237. package/dist/plugins/MagicCommand/demo/data/about.json +0 -3
  238. package/dist/plugins/MagicCommand/demo/data/search.json +0 -594
  239. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerStateEmitter.d.ts +0 -15
  240. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerStateEmitter.mjs +0 -9
  241. package/dist/utils/css/transitions.css +0 -8
  242. /package/dist/utils/css/{transitions → animations}/clip.css +0 -0
  243. /package/dist/utils/css/{transitions → animations}/fade-up.css +0 -0
  244. /package/dist/utils/css/{transitions → animations}/fade.css +0 -0
  245. /package/dist/utils/css/{transitions → animations}/slide-btt.css +0 -0
  246. /package/dist/utils/css/{transitions → animations}/slide-ltr.css +0 -0
  247. /package/dist/utils/css/{transitions → animations}/slide-rtl.css +0 -0
  248. /package/dist/utils/css/{transitions → animations}/slide-ttb.css +0 -0
  249. /package/dist/utils/css/{transitions → animations}/zoom.css +0 -0
  250. /package/dist/utils/css/{animations → keyframes}/auto-size-out.css +0 -0
  251. /package/dist/utils/css/{animations → keyframes}/clip-in.css +0 -0
  252. /package/dist/utils/css/{animations → keyframes}/clip-out.css +0 -0
  253. /package/dist/utils/css/{animations → keyframes}/fade-down-in.css +0 -0
  254. /package/dist/utils/css/{animations → keyframes}/fade-down-out.css +0 -0
  255. /package/dist/utils/css/{animations → keyframes}/fade-in.css +0 -0
  256. /package/dist/utils/css/{animations → keyframes}/fade-out.css +0 -0
  257. /package/dist/utils/css/{animations → keyframes}/fade-up-in.css +0 -0
  258. /package/dist/utils/css/{animations → keyframes}/fade-up-out.css +0 -0
  259. /package/dist/utils/css/{animations → keyframes}/flip-in.css +0 -0
  260. /package/dist/utils/css/{animations → keyframes}/flip-out.css +0 -0
  261. /package/dist/utils/css/{animations → keyframes}/slide-btt-in.css +0 -0
  262. /package/dist/utils/css/{animations → keyframes}/slide-btt-out.css +0 -0
  263. /package/dist/utils/css/{animations → keyframes}/slide-ltr-in.css +0 -0
  264. /package/dist/utils/css/{animations → keyframes}/slide-ltr-out.css +0 -0
  265. /package/dist/utils/css/{animations → keyframes}/slide-rtl-in.css +0 -0
  266. /package/dist/utils/css/{animations → keyframes}/slide-rtl-out.css +0 -0
  267. /package/dist/utils/css/{animations → keyframes}/slide-ttb-in.css +0 -0
  268. /package/dist/utils/css/{animations → keyframes}/slide-ttb-out.css +0 -0
  269. /package/dist/utils/css/{animations → keyframes}/squash-y.css +0 -0
  270. /package/dist/utils/css/{animations → keyframes}/zoom-in.css +0 -0
  271. /package/dist/utils/css/{animations → keyframes}/zoom-out.css +0 -0
package/README.md CHANGED
@@ -9,11 +9,11 @@ Over the years, we have found ourselves facing a common problem: driven by the l
9
9
 
10
10
  ## 🚧 Disclaimer
11
11
 
12
- This project is still under development. Expect breaking changes before the initial stable release.
12
+ This project is currently in beta. Expect breaking changes before the initial stable release. With this being said, we aim to keep the amount to an absolute minimum and will communicate any breaking changes with each [release](https://github.com/magicasaservice/vue-equipment/releases).
13
13
 
14
14
  ## 📖 Docs
15
15
 
16
- For the full documentation visit [vue-equipment.maas.engineering](https://vue-equipment.maas.engineering). We are actively working on updating the docs before our initial release.
16
+ For the full documentation visit [vue.equipment](https://vue.equipment). We are actively working on updating the docs before our initial stable release.
17
17
 
18
18
  ## 🐛 Found a Bug?
19
19
 
@@ -11,11 +11,11 @@ interface CountdownOptions {
11
11
  zeroIndexedMonths?: boolean;
12
12
  }
13
13
  declare function useCountdown(options: CountdownOptions, callback?: () => void): {
14
- years: vue.Ref<number, number>;
15
- days: vue.Ref<number, number>;
16
- hours: vue.Ref<number, number>;
17
- minutes: vue.Ref<number, number>;
18
- seconds: vue.Ref<number, number>;
14
+ years: vue.ShallowRef<number, number>;
15
+ days: vue.ShallowRef<number, number>;
16
+ hours: vue.ShallowRef<number, number>;
17
+ minutes: vue.ShallowRef<number, number>;
18
+ seconds: vue.ShallowRef<number, number>;
19
19
  endDateTime: vue.ComputedRef<DateTime<true> | DateTime<false>>;
20
20
  pad: (value: number) => string;
21
21
  restart: () => void;
@@ -1,5 +1,11 @@
1
1
  // useCountdown/index.ts
2
- import { computed, onMounted, ref, unref, watch } from "vue";
2
+ import {
3
+ computed,
4
+ onMounted,
5
+ shallowRef,
6
+ unref,
7
+ watch
8
+ } from "vue";
3
9
  import { MagicTimer } from "@maas/magic-timer";
4
10
  import { DateTime } from "luxon";
5
11
  var defaultOptions = {
@@ -10,23 +16,23 @@ function useCountdown(options, callback) {
10
16
  options = { ...defaultOptions, ...options };
11
17
  if (unref(options.endDateTime).length < 3) {
12
18
  console.error(
13
- 'useCountdownClock: The "endDateTime" option needs to be an array with the format [YYYY, MM, DD, HH?, MM?, SS?]'
19
+ "useCountdownClock: \u201CendDateTime\u201D needs to be an array [YYYY, MM, DD, HH?, MM?, SS?]"
14
20
  );
15
21
  }
16
22
  const timezone = unref(options.timezone);
17
23
  if (timezone) {
18
24
  if (!DateTime.now().setZone(timezone).isValid) {
19
25
  console.error(
20
- `useCountdownClock: The "timezone" option "${timezone}" is not a valid timezone. Do you mean ${DateTime.local().zoneName}? For more information see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones`
26
+ `useCountdownClock: \u201C${timezone}\u201D is not a valid timezone. Did you mean ${DateTime.local().zoneName}? For more information see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones`
21
27
  );
22
28
  }
23
29
  }
24
30
  const timer = new MagicTimer();
25
- const years = ref(0);
26
- const days = ref(0);
27
- const hours = ref(0);
28
- const minutes = ref(0);
29
- const seconds = ref(0);
31
+ const years = shallowRef(0);
32
+ const days = shallowRef(0);
33
+ const hours = shallowRef(0);
34
+ const minutes = shallowRef(0);
35
+ const seconds = shallowRef(0);
30
36
  const parseDateTimeArray = (dateTimeArr) => {
31
37
  const [year, month, day, hour, minute, second] = dateTimeArr;
32
38
  return {
@@ -62,7 +68,9 @@ function useCountdown(options, callback) {
62
68
  if (end <= now) {
63
69
  timer.stop();
64
70
  reset();
65
- if (callback) callback();
71
+ if (callback) {
72
+ callback();
73
+ }
66
74
  return;
67
75
  }
68
76
  const diff = end.diff(now, [
@@ -85,7 +93,6 @@ function useCountdown(options, callback) {
85
93
  function onTick(callback2) {
86
94
  timer.on("tick", callback2);
87
95
  }
88
- timer.on("tick", tick);
89
96
  function reset() {
90
97
  years.value = 0;
91
98
  days.value = 0;
@@ -97,12 +104,15 @@ function useCountdown(options, callback) {
97
104
  timer.reset();
98
105
  timer.start();
99
106
  }
107
+ timer.on("tick", tick);
100
108
  onMounted(() => {
101
109
  tick();
102
110
  timer.start();
103
111
  });
104
112
  watch(endDateTime, () => {
105
- if (timer.state === "running") return;
113
+ if (timer.state === "running") {
114
+ return;
115
+ }
106
116
  restart();
107
117
  });
108
118
  return {
@@ -156,10 +166,10 @@ function useEasings() {
156
166
  }
157
167
 
158
168
  // useMetaViewport/index.ts
159
- import { ref as ref2 } from "vue";
169
+ import { shallowRef as shallowRef2 } from "vue";
160
170
  function useMetaViewport(args) {
161
171
  const content = args?.content || "width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0";
162
- const metaViewport = ref2(void 0);
172
+ const metaViewport = shallowRef2(void 0);
163
173
  function setMetaViewport() {
164
174
  const metaElement = document.querySelector(
165
175
  'meta[name="viewport"]'
@@ -1 +1 @@
1
- {"version":3,"sources":["../../packages/composables/useCountdown/index.ts","../../packages/composables/useEasings/index.ts","../../packages/composables/useMetaViewport/index.ts","../../packages/composables/useScrollTo/index.ts"],"sourcesContent":["import { computed, onMounted, ref, unref, watch, type MaybeRef } from 'vue'\nimport { MagicTimer } from '@maas/magic-timer'\nimport { DateTime } from 'luxon'\n\n// Type for [YYYY, MM, DD, HH, MM, SS]\nexport type DateTimeArray = [number, number, number, number?, number?, number?]\n\n// Interface for the options\nexport interface CountdownOptions {\n endDateTime: MaybeRef<DateTimeArray>\n timezone?: MaybeRef<string>\n zeroIndexedMonths?: boolean\n}\n\n// Define the default options\nconst defaultOptions: CountdownOptions = {\n endDateTime: [1970, 1, 1, 0, 0, 0],\n zeroIndexedMonths: false,\n}\n\nexport function useCountdown(options: CountdownOptions, callback?: () => void) {\n // Merge the options with the default options\n options = { ...defaultOptions, ...options } as CountdownOptions\n\n // Check if the endDateTime is valid\n if (unref(options.endDateTime).length < 3) {\n console.error(\n 'useCountdownClock: The \"endDateTime\" option needs to be an array with the format [YYYY, MM, DD, HH?, MM?, SS?]'\n )\n }\n\n // Check if the timezone is valid\n const timezone = unref(options.timezone)\n if (timezone) {\n if (!DateTime.now().setZone(timezone).isValid) {\n console.error(\n `useCountdownClock: The \"timezone\" option \"${timezone}\" is not a valid timezone. Do you mean ${\n DateTime.local().zoneName\n }? For more information see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones`\n )\n }\n }\n\n // Create a new timer instance\n const timer = new MagicTimer()\n\n // Create the countdown values\n const years = ref(0)\n const days = ref(0)\n const hours = ref(0)\n const minutes = ref(0)\n const seconds = ref(0)\n\n // Parse the end dateTime array into an date and time object\n // if the hour, minute and second are not set, set them to 0\n // if the month is not zero indexed, add 1 to the month (defined in the options)\n const parseDateTimeArray = (dateTimeArr: DateTimeArray) => {\n const [year, month, day, hour, minute, second] = dateTimeArr\n return {\n year,\n month: options.zeroIndexedMonths ? month + 1 : month,\n day,\n hour: hour ?? 0,\n minute: minute ?? 0,\n second: second ?? 0,\n }\n }\n\n // Get the computed endDateTime value from the options\n const endDateTime = computed(() => {\n const { year, month, day, hour, minute, second } = parseDateTimeArray(\n unref(options.endDateTime)\n )\n\n return DateTime.fromObject(\n {\n year,\n month,\n day,\n hour,\n minute,\n second,\n },\n {\n zone: unref(options.timezone),\n }\n )\n })\n\n // Update the countdown values on each tick\n // if the timer reached the endDateTime stop the timer, reset the values and call the callback\n function tick() {\n const now = DateTime.now().setZone(unref(options.timezone))\n const end = endDateTime.value\n\n if (end <= now) {\n timer.stop()\n reset()\n if (callback) callback()\n return\n }\n\n const diff = end\n .diff(now, [\n 'years',\n 'days',\n 'hours',\n 'minutes',\n 'seconds',\n 'milliseconds',\n ])\n .toObject()\n\n years.value = diff.years ?? 0\n days.value = diff.days ?? 0\n hours.value = diff.hours ?? 0\n minutes.value = diff.minutes ?? 0\n seconds.value = diff.seconds ?? 0\n }\n\n // Function to pad the values with a leading zero\n function pad(value: number): string {\n return ('0' + value).slice(-2)\n }\n\n // Listen to the tick event\n function onTick(callback: () => void) {\n timer.on('tick', callback)\n }\n\n // Listen to the tick event\n timer.on('tick', tick)\n\n // Reset the countdown values\n function reset() {\n years.value = 0\n days.value = 0\n hours.value = 0\n minutes.value = 0\n seconds.value = 0\n }\n\n // Restart the timer\n function restart() {\n timer.reset()\n timer.start()\n }\n\n // Start the timer on mount\n onMounted(() => {\n tick()\n timer.start()\n })\n\n // Watch for changes in the endDateTime\n // and restart the timer\n watch(endDateTime, () => {\n // check timer is running to prevent restart on initial load\n if (timer.state === 'running') return\n restart()\n })\n\n // Return the values and functions\n return {\n years,\n days,\n hours,\n minutes,\n seconds,\n endDateTime,\n pad,\n restart,\n onTick,\n }\n}\n","import {\n linear,\n easeInQuad,\n easeOutQuad,\n easeInOutQuad,\n easeOutBack,\n easeInCubic,\n easeOutCubic,\n easeInOutCubic,\n easeInQuart,\n easeOutQuart,\n easeInOutQuart,\n easeInQuint,\n easeOutQuint,\n easeInOutQuint,\n} from '@maas/vue-equipment/utils'\n\nexport type EasingKey =\n | 'linear'\n | 'easeInQuad'\n | 'easeOutQuad'\n | 'easeInOutQuad'\n | 'easeOutBack'\n | 'easeInCubic'\n | 'easeOutCubic'\n | 'easeInOutCubic'\n | 'easeInQuart'\n | 'easeOutQuart'\n | 'easeInOutQuart'\n | 'easeInQuint'\n | 'easeOutQuint'\n | 'easeInOutQuint'\n\nexport function useEasings() {\n const easings = {\n linear,\n easeInQuad,\n easeOutQuad,\n easeInOutQuad,\n easeOutBack,\n easeInCubic,\n easeOutCubic,\n easeInOutCubic,\n easeInQuart,\n easeOutQuart,\n easeInOutQuart,\n easeInQuint,\n easeOutQuint,\n easeInOutQuint,\n }\n\n return easings\n}\n","import { ref } from 'vue'\n\nexport type UseMetaViewportArgs = {\n content: string\n}\n\nexport function useMetaViewport(args?: UseMetaViewportArgs) {\n const content =\n args?.content ||\n 'width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0'\n\n const metaViewport = ref<string | undefined>(undefined)\n\n function setMetaViewport() {\n const metaElement = document.querySelector(\n 'meta[name=\"viewport\"]'\n ) as HTMLMetaElement\n\n metaViewport.value = metaElement.content\n metaElement.setAttribute('content', content)\n }\n\n function resetMetaViewport() {\n const metaElement = document.querySelector(\n 'meta[name=\"viewport\"]'\n ) as HTMLMetaElement\n\n if (metaViewport.value) {\n metaElement.setAttribute('content', metaViewport.value)\n }\n }\n\n return {\n setMetaViewport,\n resetMetaViewport,\n }\n}\n","import {\n unrefElement,\n type MaybeComputedElementRef,\n type MaybeElement,\n} from '@vueuse/core'\nimport { easeOutQuad } from '@maas/vue-equipment/utils'\n\nexport type ScrollToTarget =\n | string\n | Element\n | MaybeElement\n | MaybeComputedElementRef\n\nexport type ScrollToParent = ScrollToTarget | Window\n\nexport type ScrollToParams = {\n parent?: Element | Window\n left: number\n top: number\n duration?: { x?: number; y?: number }\n easing?: (t: number) => number\n callback?: () => void\n}\n\nexport type getScrollDurationParams = {\n parent: Element | Window\n left: number\n top: number\n speed: number\n}\n\nexport type scrollToTargetParams = {\n target: ScrollToTarget\n parent?: ScrollToParent\n offset?: {\n x?: number\n y?: number\n }\n speed?: number\n easing?: (t: number) => number\n}\n\n// Private functions\nfunction min(a: number, b: number) {\n return a < b ? a : b\n}\n\nfunction unwrapParent(parent: ScrollToParent) {\n if (parent === window) {\n return parent\n } else if (typeof parent === 'string') {\n return document.querySelector(parent) || document.documentElement\n } else {\n return (\n unrefElement(parent as MaybeComputedElementRef<MaybeElement>) ||\n document.documentElement\n )\n }\n}\n\nfunction unwrapTarget(target: ScrollToTarget, parentEl: Element | Window) {\n if (typeof target === 'string') {\n const queryTarget = parentEl === window ? document : (parentEl as Element)\n return queryTarget.querySelector(target)\n } else {\n return unrefElement(target as MaybeComputedElementRef<MaybeElement>)\n }\n}\n\nfunction isHtmlElement(\n parentEl: Window | SVGElement | Element\n): parentEl is HTMLElement {\n return parentEl instanceof HTMLElement\n}\n\nfunction disableScrollSnap(parentEl: Window | SVGElement | Element) {\n if (isHtmlElement(parentEl)) {\n parentEl.style.scrollSnapType = 'none'\n }\n}\n\nfunction reenableScrollSnap(parentEl: Window | SVGElement | Element) {\n if (isHtmlElement(parentEl)) {\n parentEl.style.scrollSnapType = ''\n }\n}\n\n// Public composable\nexport function useScrollTo() {\n function getScrollPosition(element: Element | Window): {\n x: number\n y: number\n } {\n if (element === window) {\n return { x: window.scrollX, y: window.scrollY }\n } else if (element instanceof Element) {\n return { x: element.scrollLeft, y: element.scrollTop }\n } else {\n return { x: 0, y: 0 }\n }\n }\n\n function getDistance(\n target: Element,\n parent?: Element | Window\n ): { top: number; left: number } {\n const rect = target.getBoundingClientRect()\n const scrollEl =\n parent || document.scrollingElement || document.documentElement\n\n const scrollTop = scrollEl instanceof Window ? 0 : scrollEl.scrollTop\n const scrollLeft = scrollEl instanceof Window ? 0 : scrollEl.scrollLeft\n\n return {\n top: rect.top + scrollTop,\n left: rect.left + scrollLeft,\n }\n }\n\n function getScrollDuration({\n parent = document.documentElement || document.body,\n left = 0,\n top = 0,\n speed = 500,\n }: getScrollDurationParams) {\n const currentPos = getScrollPosition(parent)\n const distanceX = currentPos.x - left\n const distanceY = currentPos.y - top\n const durationX = Math.abs((distanceX / speed) * 100)\n const durationY = Math.abs((distanceY / speed) * 100)\n\n return { x: durationX, y: durationY }\n }\n\n function scrollTo({\n parent = document.documentElement || document.body,\n top,\n left,\n duration = {},\n easing = easeOutQuad,\n callback,\n }: ScrollToParams) {\n const startTime = Date.now()\n const { x: fromX, y: fromY } = getScrollPosition(parent)\n\n if (fromX === top && fromY === left) {\n if (callback) callback()\n return\n }\n\n const mappedDuration = { x: 500, y: 500, ...duration }\n\n const scroll = () => {\n const currentTime = Date.now()\n\n const timeX = min(1, (currentTime - startTime) / mappedDuration.x)\n const timeY = min(1, (currentTime - startTime) / mappedDuration.y)\n const easedTimeX = easing(timeX)\n const easedTimeY = easing(timeY)\n\n // We use the min of the two times to make sure we scroll at the same speed\n const minTime = Math.min(easedTimeX, easedTimeY)\n\n parent.scroll({\n left: minTime * (left - fromX) + fromX,\n top: minTime * (top - fromY) + fromY,\n })\n\n if (easedTimeX < 1 || easedTimeY < 1) {\n requestAnimationFrame(scroll)\n } else if (callback) {\n callback()\n }\n }\n\n requestAnimationFrame(scroll)\n }\n\n function scrollToTarget({\n target,\n parent = document.documentElement || document.body,\n offset = {},\n speed = 500,\n easing = easeOutQuad,\n }: scrollToTargetParams) {\n const parentEl = unwrapParent(parent)\n if (!parentEl) return\n const targetEl = unwrapTarget(target, parentEl)\n if (!targetEl) return\n\n disableScrollSnap(parentEl)\n\n const mappedOffset = { x: 0, y: 0, ...offset }\n const distance = getDistance(targetEl, parentEl)\n const leftDistance = distance.left - mappedOffset.x\n const topDistance = distance.top - mappedOffset.y\n\n const scrollDuration = getScrollDuration({\n parent: parentEl,\n left: leftDistance,\n top: topDistance,\n speed: speed,\n })\n\n scrollTo({\n parent: parentEl,\n left: leftDistance,\n top: topDistance,\n duration: scrollDuration,\n easing: easing,\n callback: () => reenableScrollSnap(parentEl),\n })\n }\n\n return {\n getScrollPosition,\n getDistance,\n getScrollDuration,\n scrollTo,\n scrollToTarget,\n }\n}\n"],"mappings":"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","names":["callback","ref","easeOutQuad"]}
1
+ {"version":3,"sources":["../../packages/composables/useCountdown/index.ts","../../packages/composables/useEasings/index.ts","../../packages/composables/useMetaViewport/index.ts","../../packages/composables/useScrollTo/index.ts"],"sourcesContent":["import {\n computed,\n onMounted,\n shallowRef,\n unref,\n watch,\n type MaybeRef,\n} from 'vue'\nimport { MagicTimer } from '@maas/magic-timer'\nimport { DateTime } from 'luxon'\n\nexport type DateTimeArray = [number, number, number, number?, number?, number?]\n\nexport interface CountdownOptions {\n endDateTime: MaybeRef<DateTimeArray>\n timezone?: MaybeRef<string>\n zeroIndexedMonths?: boolean\n}\n\nconst defaultOptions: CountdownOptions = {\n endDateTime: [1970, 1, 1, 0, 0, 0],\n zeroIndexedMonths: false,\n}\n\nexport function useCountdown(options: CountdownOptions, callback?: () => void) {\n options = { ...defaultOptions, ...options }\n\n if (unref(options.endDateTime).length < 3) {\n console.error(\n 'useCountdownClock: “endDateTime” needs to be an array [YYYY, MM, DD, HH?, MM?, SS?]'\n )\n }\n\n const timezone = unref(options.timezone)\n if (timezone) {\n if (!DateTime.now().setZone(timezone).isValid) {\n console.error(\n `useCountdownClock: “${timezone}” is not a valid timezone. Did you mean ${\n DateTime.local().zoneName\n }? For more information see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones`\n )\n }\n }\n\n const timer = new MagicTimer()\n\n const years = shallowRef(0)\n const days = shallowRef(0)\n const hours = shallowRef(0)\n const minutes = shallowRef(0)\n const seconds = shallowRef(0)\n\n // Parse the end dateTime array into an date and time object\n // If hour, minute or second are not set, set them to 0\n // Optionally add +1 if month is not zero indexed\n const parseDateTimeArray = (dateTimeArr: DateTimeArray) => {\n const [year, month, day, hour, minute, second] = dateTimeArr\n return {\n year,\n month: options.zeroIndexedMonths ? month + 1 : month,\n day,\n hour: hour ?? 0,\n minute: minute ?? 0,\n second: second ?? 0,\n }\n }\n\n const endDateTime = computed(() => {\n const { year, month, day, hour, minute, second } = parseDateTimeArray(\n unref(options.endDateTime)\n )\n\n return DateTime.fromObject(\n {\n year,\n month,\n day,\n hour,\n minute,\n second,\n },\n {\n zone: unref(options.timezone),\n }\n )\n })\n\n // Update the countdown values on each tick\n // If endDateTime is reached, stop the timer, reset the values and run the callback\n function tick() {\n const now = DateTime.now().setZone(unref(options.timezone))\n const end = endDateTime.value\n\n if (end <= now) {\n timer.stop()\n reset()\n\n if (callback) {\n callback()\n }\n\n return\n }\n\n const diff = end\n .diff(now, [\n 'years',\n 'days',\n 'hours',\n 'minutes',\n 'seconds',\n 'milliseconds',\n ])\n .toObject()\n\n years.value = diff.years ?? 0\n days.value = diff.days ?? 0\n hours.value = diff.hours ?? 0\n minutes.value = diff.minutes ?? 0\n seconds.value = diff.seconds ?? 0\n }\n\n function pad(value: number): string {\n return ('0' + value).slice(-2)\n }\n\n function onTick(callback: () => void) {\n timer.on('tick', callback)\n }\n\n function reset() {\n years.value = 0\n days.value = 0\n hours.value = 0\n minutes.value = 0\n seconds.value = 0\n }\n\n function restart() {\n timer.reset()\n timer.start()\n }\n\n timer.on('tick', tick)\n\n onMounted(() => {\n tick()\n timer.start()\n })\n\n // Watch for changes in the endDateTime\n // and restart the timer\n watch(endDateTime, () => {\n if (timer.state === 'running') {\n return\n }\n\n restart()\n })\n\n return {\n years,\n days,\n hours,\n minutes,\n seconds,\n endDateTime,\n pad,\n restart,\n onTick,\n }\n}\n","import {\n linear,\n easeInQuad,\n easeOutQuad,\n easeInOutQuad,\n easeOutBack,\n easeInCubic,\n easeOutCubic,\n easeInOutCubic,\n easeInQuart,\n easeOutQuart,\n easeInOutQuart,\n easeInQuint,\n easeOutQuint,\n easeInOutQuint,\n} from '@maas/vue-equipment/utils'\n\nexport type EasingKey =\n | 'linear'\n | 'easeInQuad'\n | 'easeOutQuad'\n | 'easeInOutQuad'\n | 'easeOutBack'\n | 'easeInCubic'\n | 'easeOutCubic'\n | 'easeInOutCubic'\n | 'easeInQuart'\n | 'easeOutQuart'\n | 'easeInOutQuart'\n | 'easeInQuint'\n | 'easeOutQuint'\n | 'easeInOutQuint'\n\nexport function useEasings() {\n const easings = {\n linear,\n easeInQuad,\n easeOutQuad,\n easeInOutQuad,\n easeOutBack,\n easeInCubic,\n easeOutCubic,\n easeInOutCubic,\n easeInQuart,\n easeOutQuart,\n easeInOutQuart,\n easeInQuint,\n easeOutQuint,\n easeInOutQuint,\n }\n\n return easings\n}\n","import { shallowRef } from 'vue'\n\nexport type UseMetaViewportArgs = {\n content: string\n}\n\nexport function useMetaViewport(args?: UseMetaViewportArgs) {\n const content =\n args?.content ||\n 'width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0'\n\n const metaViewport = shallowRef<string | undefined>(undefined)\n\n function setMetaViewport() {\n const metaElement = document.querySelector(\n 'meta[name=\"viewport\"]'\n ) as HTMLMetaElement\n\n metaViewport.value = metaElement.content\n metaElement.setAttribute('content', content)\n }\n\n function resetMetaViewport() {\n const metaElement = document.querySelector(\n 'meta[name=\"viewport\"]'\n ) as HTMLMetaElement\n\n if (metaViewport.value) {\n metaElement.setAttribute('content', metaViewport.value)\n }\n }\n\n return {\n setMetaViewport,\n resetMetaViewport,\n }\n}\n","import {\n unrefElement,\n type MaybeComputedElementRef,\n type MaybeElement,\n} from '@vueuse/core'\nimport { easeOutQuad } from '@maas/vue-equipment/utils'\n\nexport type ScrollToTarget =\n | string\n | Element\n | MaybeElement\n | MaybeComputedElementRef\n\nexport type ScrollToParent = ScrollToTarget | Window\n\nexport type ScrollToParams = {\n parent?: Element | Window\n left: number\n top: number\n duration?: { x?: number; y?: number }\n easing?: (t: number) => number\n callback?: () => void\n}\n\nexport type getScrollDurationParams = {\n parent: Element | Window\n left: number\n top: number\n speed: number\n}\n\nexport type scrollToTargetParams = {\n target: ScrollToTarget\n parent?: ScrollToParent\n offset?: {\n x?: number\n y?: number\n }\n speed?: number\n easing?: (t: number) => number\n}\n\n// Private functions\nfunction min(a: number, b: number) {\n return a < b ? a : b\n}\n\nfunction unwrapParent(parent: ScrollToParent) {\n if (parent === window) {\n return parent\n } else if (typeof parent === 'string') {\n return document.querySelector(parent) || document.documentElement\n } else {\n return (\n unrefElement(parent as MaybeComputedElementRef<MaybeElement>) ||\n document.documentElement\n )\n }\n}\n\nfunction unwrapTarget(target: ScrollToTarget, parentEl: Element | Window) {\n if (typeof target === 'string') {\n const queryTarget = parentEl === window ? document : (parentEl as Element)\n return queryTarget.querySelector(target)\n } else {\n return unrefElement(target as MaybeComputedElementRef<MaybeElement>)\n }\n}\n\nfunction isHtmlElement(\n parentEl: Window | SVGElement | Element\n): parentEl is HTMLElement {\n return parentEl instanceof HTMLElement\n}\n\nfunction disableScrollSnap(parentEl: Window | SVGElement | Element) {\n if (isHtmlElement(parentEl)) {\n parentEl.style.scrollSnapType = 'none'\n }\n}\n\nfunction reenableScrollSnap(parentEl: Window | SVGElement | Element) {\n if (isHtmlElement(parentEl)) {\n parentEl.style.scrollSnapType = ''\n }\n}\n\n// Public composable\nexport function useScrollTo() {\n function getScrollPosition(element: Element | Window): {\n x: number\n y: number\n } {\n if (element === window) {\n return { x: window.scrollX, y: window.scrollY }\n } else if (element instanceof Element) {\n return { x: element.scrollLeft, y: element.scrollTop }\n } else {\n return { x: 0, y: 0 }\n }\n }\n\n function getDistance(\n target: Element,\n parent?: Element | Window\n ): { top: number; left: number } {\n const rect = target.getBoundingClientRect()\n const scrollEl =\n parent || document.scrollingElement || document.documentElement\n\n const scrollTop = scrollEl instanceof Window ? 0 : scrollEl.scrollTop\n const scrollLeft = scrollEl instanceof Window ? 0 : scrollEl.scrollLeft\n\n return {\n top: rect.top + scrollTop,\n left: rect.left + scrollLeft,\n }\n }\n\n function getScrollDuration({\n parent = document.documentElement || document.body,\n left = 0,\n top = 0,\n speed = 500,\n }: getScrollDurationParams) {\n const currentPos = getScrollPosition(parent)\n const distanceX = currentPos.x - left\n const distanceY = currentPos.y - top\n const durationX = Math.abs((distanceX / speed) * 100)\n const durationY = Math.abs((distanceY / speed) * 100)\n\n return { x: durationX, y: durationY }\n }\n\n function scrollTo({\n parent = document.documentElement || document.body,\n top,\n left,\n duration = {},\n easing = easeOutQuad,\n callback,\n }: ScrollToParams) {\n const startTime = Date.now()\n const { x: fromX, y: fromY } = getScrollPosition(parent)\n\n if (fromX === top && fromY === left) {\n if (callback) callback()\n return\n }\n\n const mappedDuration = { x: 500, y: 500, ...duration }\n\n const scroll = () => {\n const currentTime = Date.now()\n\n const timeX = min(1, (currentTime - startTime) / mappedDuration.x)\n const timeY = min(1, (currentTime - startTime) / mappedDuration.y)\n const easedTimeX = easing(timeX)\n const easedTimeY = easing(timeY)\n\n // We use the min of the two times to make sure we scroll at the same speed\n const minTime = Math.min(easedTimeX, easedTimeY)\n\n parent.scroll({\n left: minTime * (left - fromX) + fromX,\n top: minTime * (top - fromY) + fromY,\n })\n\n if (easedTimeX < 1 || easedTimeY < 1) {\n requestAnimationFrame(scroll)\n } else if (callback) {\n callback()\n }\n }\n\n requestAnimationFrame(scroll)\n }\n\n function scrollToTarget({\n target,\n parent = document.documentElement || document.body,\n offset = {},\n speed = 500,\n easing = easeOutQuad,\n }: scrollToTargetParams) {\n const parentEl = unwrapParent(parent)\n if (!parentEl) return\n const targetEl = unwrapTarget(target, parentEl)\n if (!targetEl) return\n\n disableScrollSnap(parentEl)\n\n const mappedOffset = { x: 0, y: 0, ...offset }\n const distance = getDistance(targetEl, parentEl)\n const leftDistance = distance.left - mappedOffset.x\n const topDistance = distance.top - mappedOffset.y\n\n const scrollDuration = getScrollDuration({\n parent: parentEl,\n left: leftDistance,\n top: topDistance,\n speed: speed,\n })\n\n scrollTo({\n parent: parentEl,\n left: leftDistance,\n top: topDistance,\n duration: scrollDuration,\n easing: easing,\n callback: () => reenableScrollSnap(parentEl),\n })\n }\n\n return {\n getScrollPosition,\n getDistance,\n getScrollDuration,\n scrollTo,\n scrollToTarget,\n }\n}\n"],"mappings":"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","names":["callback","shallowRef","easeOutQuad"]}
@@ -6,4 +6,5 @@ interface ModuleOptions {
6
6
  }
7
7
  declare const _default: _nuxt_schema.NuxtModule<ModuleOptions, ModuleOptions, false>;
8
8
 
9
- export { type ModuleOptions, _default as default };
9
+ export { _default as default };
10
+ export type { ModuleOptions };
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@maas/vue-equipment/nuxt",
3
3
  "configKey": "vueEquipment",
4
- "version": "1.0.0-beta.2",
4
+ "version": "1.0.0-beta.29",
5
5
  "builder": {
6
- "@nuxt/module-builder": "0.8.4",
6
+ "@nuxt/module-builder": "1.0.1",
7
7
  "unbuild": "unknown"
8
8
  }
9
9
  }
@@ -6,119 +6,126 @@ const functions$1 = [
6
6
  "package": "plugins",
7
7
  lastUpdated: 1739184559000,
8
8
  docs: "https://maas.egineering/vue-equipment/plugins/MagicAccordion/",
9
- description: "magicAccordion is a collection of components intended for building vertically stacked headlines where each reveals related content"
9
+ description: "MagicAccordion is a collection of components intended for building vertically stacked headlines where each reveals related content"
10
10
  },
11
11
  {
12
12
  name: "MagicCommand",
13
13
  "package": "plugins",
14
14
  lastUpdated: 1739184559000,
15
15
  docs: "https://maas.egineering/vue-equipment/plugins/MagicCommand/",
16
- description: "magicCommand is a flexible collection of components intended to build command palette style menus"
16
+ description: "MagicCommand is a flexible collection of components intended to build command palette style menus"
17
17
  },
18
18
  {
19
19
  name: "MagicCookie",
20
20
  "package": "plugins",
21
21
  lastUpdated: 1739184559000,
22
22
  docs: "https://maas.egineering/vue-equipment/plugins/MagicCookie/",
23
- description: "magicCookie is a flexible collection of components intended to build cookie banners"
23
+ description: "MagicCookie is a flexible collection of components intended to build cookie banners"
24
24
  },
25
25
  {
26
26
  name: "MagicDraggable",
27
27
  "package": "plugins",
28
28
  lastUpdated: 1727253131000,
29
29
  docs: "https://maas.egineering/vue-equipment/plugins/MagicDraggable/",
30
- description: "magicDraggable is a touch enabled"
30
+ description: "MagicDraggable is a touch enabled"
31
31
  },
32
32
  {
33
33
  name: "MagicDrawer",
34
34
  "package": "plugins",
35
35
  lastUpdated: 1716533739000,
36
36
  docs: "https://maas.egineering/vue-equipment/plugins/MagicDrawer/",
37
- description: "magicDrawer is a flexible"
37
+ description: "MagicDrawer is a flexible"
38
38
  },
39
39
  {
40
40
  name: "MagicEmitter",
41
41
  "package": "plugins",
42
42
  lastUpdated: 1715072559000,
43
43
  docs: "https://maas.egineering/vue-equipment/plugins/MagicEmitter/",
44
- description: "magicEmitter is a wrapper around [mitt](https://github.com/developit/mitt)"
44
+ description: "MagicEmitter is a wrapper around [mitt](https://github.com/developit/mitt)"
45
45
  },
46
46
  {
47
47
  name: "MagicMarquee",
48
48
  "package": "plugins",
49
49
  lastUpdated: 1739184559000,
50
50
  docs: "https://maas.egineering/vue-equipment/plugins/MagicMarquee/",
51
- description: "magicMarquee is a flexible"
51
+ description: "MagicMarquee is a flexible"
52
52
  },
53
53
  {
54
54
  name: "MagicMenu",
55
55
  "package": "plugins",
56
56
  lastUpdated: 1739184559000,
57
57
  docs: "https://maas.egineering/vue-equipment/plugins/MagicMenu/",
58
- description: "magicMenu is a flexible collection of components intended to build various types of menus and navigation"
58
+ description: "MagicMenu is a flexible collection of components intended to build various types of menus and navigation"
59
59
  },
60
60
  {
61
61
  name: "MagicModal",
62
62
  "package": "plugins",
63
63
  lastUpdated: 1716533739000,
64
64
  docs: "https://maas.egineering/vue-equipment/plugins/MagicModal/",
65
- description: "magicModal is a flexible"
65
+ description: "MagicModal is a flexible"
66
66
  },
67
67
  {
68
68
  name: "MagicNoise",
69
69
  "package": "plugins",
70
70
  lastUpdated: 1739184559000,
71
71
  docs: "https://maas.egineering/vue-equipment/plugins/MagicNoise/",
72
- description: "magicNoise is a rendition of pixelated static noise"
72
+ description: "MagicNoise is a rendition of pixelated static noise"
73
+ },
74
+ {
75
+ name: "MagicPie",
76
+ "package": "plugins",
77
+ lastUpdated: 1742976176000,
78
+ docs: "https://maas.egineering/vue-equipment/plugins/MagicPie/",
79
+ description: "MagicPie renders a percentage based value as `SVG`"
73
80
  },
74
81
  {
75
82
  name: "MagicPlayer",
76
83
  "package": "plugins",
77
84
  lastUpdated: 1739184559000,
78
85
  docs: "https://maas.egineering/vue-equipment/plugins/MagicPlayer/",
79
- description: "magicPlayer is a collection of components made to build a flexible"
86
+ description: "MagicPlayer is a collection of components made to build a flexible"
80
87
  },
81
88
  {
82
89
  name: "MagicScroll",
83
90
  "package": "plugins",
84
91
  lastUpdated: 1739184559000,
85
92
  docs: "https://maas.egineering/vue-equipment/plugins/MagicScroll/",
86
- description: "magicScroll is a flexible collection of components intended to build various types of scroll-based animations and alerts"
93
+ description: "MagicScroll is a flexible collection of components intended to build various types of scroll-based animations and alerts"
87
94
  },
88
95
  {
89
96
  name: "MagicToast",
90
97
  "package": "plugins",
91
98
  lastUpdated: 1739184559000,
92
99
  docs: "https://maas.egineering/vue-equipment/plugins/MagicToast/",
93
- description: "magicToast let’s you trigger and display toasts from anywhere"
100
+ description: "MagicToast let’s you trigger and display toasts from anywhere"
94
101
  },
95
102
  {
96
103
  name: "useCountdown",
97
104
  "package": "composables",
98
- lastUpdated: 1707225465000,
105
+ lastUpdated: 1740490390000,
99
106
  docs: "https://maas.egineering/vue-equipment/composables/useCountdown/",
100
- description: "calculate the remaining time until a given moment"
107
+ description: "Calculate the remaining time until a given moment"
101
108
  },
102
109
  {
103
110
  name: "useEasings",
104
111
  "package": "composables",
105
112
  lastUpdated: 1714734283000,
106
113
  docs: "https://maas.egineering/vue-equipment/composables/useEasings/",
107
- description: "a standard set of easing functions neatly packaged into a composable"
114
+ description: "A standard set of easing functions neatly packaged into a composable"
108
115
  },
109
116
  {
110
117
  name: "useMetaViewport",
111
118
  "package": "composables",
112
- lastUpdated: 1707211312000,
119
+ lastUpdated: 1740490390000,
113
120
  docs: "https://maas.egineering/vue-equipment/composables/useMetaViewport/",
114
- description: "set and reset the meta viewport tag programatically"
121
+ description: "Set and reset the meta viewport tag programatically"
115
122
  },
116
123
  {
117
124
  name: "useScrollTo",
118
125
  "package": "composables",
119
126
  lastUpdated: 1734018465000,
120
127
  docs: "https://maas.egineering/vue-equipment/composables/useScrollTo/",
121
- description: "scroll to an element with consistent speed"
128
+ description: "Scroll to an element with consistent speed"
122
129
  }
123
130
  ];
124
131
 
@@ -142,15 +149,15 @@ const module = defineNuxtModule({
142
149
  const resolver = createResolver(import.meta.url);
143
150
  nuxt.options.build.transpile.push("@maas/vue-equipment");
144
151
  extendViteConfig((config) => {
145
- config.optimizeDeps = config.optimizeDeps || {};
146
- config.optimizeDeps.exclude = config.optimizeDeps.exclude || [];
152
+ config.optimizeDeps = config.optimizeDeps ?? {};
153
+ config.optimizeDeps.exclude = config.optimizeDeps.exclude ?? [];
147
154
  config.optimizeDeps.exclude.push("@maas/vue-equipment/plugins");
148
155
  });
149
156
  const packages = ["plugins", "composables", "utils"];
150
- nuxt.options.alias = nuxt.options.alias || {};
151
- packages.forEach((pkg) => {
152
- nuxt.options.alias[`@maas/vue-equipment/${pkg}`] = nuxt.options.alias[`@maas/vue-equipment/${pkg}`] || resolver.resolve(`../${pkg}`);
153
- });
157
+ nuxt.options.alias = nuxt.options.alias ?? {};
158
+ for (const pkg of packages) {
159
+ nuxt.options.alias[`@maas/vue-equipment/${pkg}`] = nuxt.options.alias[`@maas/vue-equipment/${pkg}`] ?? resolver.resolve(`../${pkg}`);
160
+ }
154
161
  if (options.plugins === true) {
155
162
  mappedPlugins = plugins.map((fn) => fn.name);
156
163
  } else {
@@ -1 +1,3 @@
1
- export { type ModuleOptions, default } from './module.js'
1
+ export { default } from './module.mjs'
2
+
3
+ export { type ModuleOptions } from './module.mjs'
@@ -1,13 +1,5 @@
1
1
 
2
2
  
3
- > plugins@0.40.0 lint /Users/robinscholz/Repositories/@maas/vue-equipment/packages/plugins
3
+ > plugins@1.0.0-beta.24 lint /Users/robinscholz/Repositories/@maas/vue-equipment/packages/plugins
4
4
  > eslint .
5
5
 
6
- 
7
- /Users/robinscholz/Repositories/@maas/vue-equipment/packages/plugins/MagicCommand/src/components/MagicCommandItem.vue
8
-  31:13 error The `Function` type accepts any function-like value.
9
- Prefer explicitly defining any function parameters and return type @typescript-eslint/no-unsafe-function-type
10
- 
11
- ✖ 1 problem (1 error, 0 warnings)
12
- 
13
-  ELIFECYCLE  Command failed with exit code 1.
@@ -1,2 +1,2 @@
1
- declare const _default: import("@nuxt/schema").NuxtModule<import("@nuxt/schema").ModuleOptions, import("@nuxt/schema").ModuleOptions, false>;
1
+ declare const _default: import("nuxt/schema").NuxtModule<import("nuxt/schema").ModuleOptions, import("nuxt/schema").ModuleOptions, false>;
2
2
  export default _default;
@@ -1,7 +1,33 @@
1
- <script>
2
- import { defineComponent as _defineComponent } from "vue";
3
- import { unref as _unref, renderSlot as _renderSlot, vShow as _vShow, withCtx as _withCtx, createVNode as _createVNode, withDirectives as _withDirectives, Transition as _Transition, normalizeStyle as _normalizeStyle, openBlock as _openBlock, createElementBlock as _createElementBlock } from "vue";
4
- const _hoisted_1 = ["data-active"];
1
+ <template>
2
+ <div
3
+ class="magic-accordion-content"
4
+ :data-active="view?.active"
5
+ :data-id="`${viewId}-content`"
6
+ :style="{ '--ma-duration': `${state.options.animation?.duration}ms` }"
7
+ >
8
+ <auto-size
9
+ :width="false"
10
+ :duration="mappedAnimation.duration"
11
+ :easing="mappedAnimation.easing"
12
+ >
13
+ <transition
14
+ :name="mappedTransition"
15
+ :on-before-enter="onBeforeEnter"
16
+ :on-enter="onEnter"
17
+ :on-after-enter="onAfterEnter"
18
+ :on-before-leave="onBeforeLeave"
19
+ :on-leave="onLeave"
20
+ :on-after-leave="onAfterLeave"
21
+ >
22
+ <primitive v-show="view?.active" :as-child="asChild">
23
+ <slot :view-active="view?.active" />
24
+ </primitive>
25
+ </transition>
26
+ </auto-size>
27
+ </div>
28
+ </template>
29
+
30
+ <script setup>
5
31
  import { inject, computed } from "vue";
6
32
  import { defu } from "defu";
7
33
  import { AutoSize } from "@maas/vue-autosize";
@@ -10,87 +36,38 @@ import { useAccordionView } from "../composables/private/useAccordionView";
10
36
  import { useAccordionState } from "../composables/private/useAccordionState";
11
37
  import { useAccordionCallback } from "../composables/private/useAccordionCallback";
12
38
  import { MagicAccordionInstanceId, MagicAccordionViewId } from "../symbols";
13
- import "@maas/vue-equipment/utils/css/animations/fade-in.css";
14
- import "@maas/vue-equipment/utils/css/animations/auto-size-out.css";
39
+ import "@maas/vue-equipment/utils/css/keyframes/fade-in.css";
40
+ import "@maas/vue-equipment/utils/css/keyframes/auto-size-out.css";
15
41
  import "@maas/vue-equipment/utils/css/easings.css";
16
- export default /* @__PURE__ */ _defineComponent({
17
- __name: "MagicAccordionContent",
18
- props: {
19
- asChild: { type: Boolean, required: false },
20
- transition: { type: String, required: false },
21
- animation: { type: Object, required: false }
22
- },
23
- setup(__props) {
24
- const instanceId = inject(MagicAccordionInstanceId, void 0);
25
- const viewId = inject(MagicAccordionViewId, void 0);
26
- if (!instanceId) {
27
- throw new Error("MagicMenuContent must be nested inside MagicMenuProvider");
28
- }
29
- if (!viewId) {
30
- throw new Error("MagicMenuContent must be nested inside MagicMenuView");
31
- }
32
- const { initializeState } = useAccordionState(instanceId);
33
- const state = initializeState();
34
- const { getView } = useAccordionView(instanceId);
35
- const view = getView(viewId);
36
- const mappedTransition = computed(() => __props.transition ?? state.options.transition);
37
- const mappedAnimation = computed(() => defu(__props.animation, state.options.animation));
38
- const {
39
- onBeforeEnter,
40
- onEnter,
41
- onAfterEnter,
42
- onBeforeLeave,
43
- onLeave,
44
- onAfterLeave
45
- } = useAccordionCallback({
46
- instanceId,
47
- viewId
48
- });
49
- return (_ctx, _cache) => {
50
- return _openBlock(), _createElementBlock("div", {
51
- class: "magic-accordion-content",
52
- "data-active": _unref(view)?.active,
53
- style: _normalizeStyle({ "--ma-duration": `${_unref(state).options.animation?.duration}ms` })
54
- }, [
55
- _createVNode(_unref(AutoSize), {
56
- width: false,
57
- duration: mappedAnimation.value.duration,
58
- easing: mappedAnimation.value.easing
59
- }, {
60
- default: _withCtx(() => [
61
- _createVNode(_Transition, {
62
- name: mappedTransition.value,
63
- "on-before-enter": _unref(onBeforeEnter),
64
- "on-enter": _unref(onEnter),
65
- "on-after-enter": _unref(onAfterEnter),
66
- "on-before-leave": _unref(onBeforeLeave),
67
- "on-leave": _unref(onLeave),
68
- "on-after-leave": _unref(onAfterLeave),
69
- persisted: ""
70
- }, {
71
- default: _withCtx(() => [
72
- _withDirectives(_createVNode(_unref(Primitive), { "as-child": _ctx.asChild }, {
73
- default: _withCtx(() => [
74
- _renderSlot(_ctx.$slots, "default", {
75
- viewActive: _unref(view)?.active
76
- })
77
- ]),
78
- _: 3
79
- /* FORWARDED */
80
- }, 8, ["as-child"]), [
81
- [_vShow, _unref(view)?.active]
82
- ])
83
- ]),
84
- _: 3
85
- /* FORWARDED */
86
- }, 8, ["name", "on-before-enter", "on-enter", "on-after-enter", "on-before-leave", "on-leave", "on-after-leave"])
87
- ]),
88
- _: 3
89
- /* FORWARDED */
90
- }, 8, ["duration", "easing"])
91
- ], 12, _hoisted_1);
92
- };
93
- }
42
+ const { transition, animation } = defineProps({
43
+ asChild: { type: Boolean, required: false },
44
+ transition: { type: String, required: false },
45
+ animation: { type: Object, required: false }
46
+ });
47
+ const instanceId = inject(MagicAccordionInstanceId, void 0);
48
+ const viewId = inject(MagicAccordionViewId, void 0);
49
+ if (!instanceId) {
50
+ throw new Error("MagicMenuContent must be nested inside MagicMenuProvider");
51
+ }
52
+ if (!viewId) {
53
+ throw new Error("MagicMenuContent must be nested inside MagicMenuView");
54
+ }
55
+ const { initializeState } = useAccordionState(instanceId);
56
+ const state = initializeState();
57
+ const { getView } = useAccordionView(instanceId);
58
+ const view = getView(viewId);
59
+ const mappedTransition = computed(() => transition ?? state.options.transition);
60
+ const mappedAnimation = computed(() => defu(animation, state.options.animation));
61
+ const {
62
+ onBeforeEnter,
63
+ onEnter,
64
+ onAfterEnter,
65
+ onBeforeLeave,
66
+ onLeave,
67
+ onAfterLeave
68
+ } = useAccordionCallback({
69
+ instanceId,
70
+ viewId
94
71
  });
95
72
  </script>
96
73
 
@@ -1,5 +1,5 @@
1
- import '@maas/vue-equipment/utils/css/animations/fade-in.css';
2
- import '@maas/vue-equipment/utils/css/animations/auto-size-out.css';
1
+ import '@maas/vue-equipment/utils/css/keyframes/fade-in.css';
2
+ import '@maas/vue-equipment/utils/css/keyframes/auto-size-out.css';
3
3
  import '@maas/vue-equipment/utils/css/easings.css';
4
4
  interface MagicAccordionContentProps {
5
5
  asChild?: boolean;
@@ -9,30 +9,16 @@ interface MagicAccordionContentProps {
9
9
  easing: (t: number) => number;
10
10
  };
11
11
  }
12
- declare function __VLS_template(): {
13
- attrs: Partial<{}>;
14
- slots: {
15
- default?(_: {
16
- viewActive: any;
17
- }): any;
18
- };
19
- refs: {};
20
- rootEl: any;
12
+ declare var __VLS_13: {
13
+ viewActive: boolean | undefined;
21
14
  };
22
- type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
23
- declare const __VLS_component: import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<MagicAccordionContentProps>>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<MagicAccordionContentProps>>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
24
- declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
25
- export default _default;
26
- type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
27
- type __VLS_TypePropsToOption<T> = {
28
- [K in keyof T]-?: {} extends Pick<T, K> ? {
29
- type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
30
- } : {
31
- type: import('vue').PropType<T[K]>;
32
- required: true;
33
- };
15
+ type __VLS_Slots = {} & {
16
+ default?: (props: typeof __VLS_13) => any;
34
17
  };
35
- type __VLS_WithTemplateSlots<T, S> = T & {
18
+ declare const __VLS_component: import("vue").DefineComponent<MagicAccordionContentProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MagicAccordionContentProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
19
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
20
+ export default _default;
21
+ type __VLS_WithSlots<T, S> = T & {
36
22
  new (): {
37
23
  $slots: S;
38
24
  };