@maas/vue-equipment 1.0.0-beta.35 → 1.0.0-beta.37

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 (104) hide show
  1. package/dist/composables/useScrollTo/index.js +6 -2
  2. package/dist/composables/useScrollTo/index.js.map +1 -1
  3. package/dist/nuxt/module.d.mts +2 -2
  4. package/dist/nuxt/module.json +1 -1
  5. package/dist/nuxt/module.mjs +1 -1
  6. package/dist/plugins/.turbo/turbo-lint.log +2 -93
  7. package/dist/plugins/MagicAccordion/src/components/MagicAccordionContent.vue.d.ts +1 -1
  8. package/dist/plugins/MagicAccordion/src/components/MagicAccordionProvider.vue +1 -1
  9. package/dist/plugins/MagicAccordion/src/components/MagicAccordionProvider.vue.d.ts +1 -1
  10. package/dist/plugins/MagicAccordion/src/components/MagicAccordionTrigger.vue +2 -2
  11. package/dist/plugins/MagicAccordion/src/components/MagicAccordionTrigger.vue.d.ts +1 -1
  12. package/dist/plugins/MagicAccordion/src/components/MagicAccordionView.vue +4 -4
  13. package/dist/plugins/MagicAccordion/src/components/MagicAccordionView.vue.d.ts +1 -1
  14. package/dist/plugins/MagicAccordion/src/composables/private/useAccordionTrigger.d.ts +2 -2
  15. package/dist/plugins/MagicAccordion/src/composables/private/useAccordionTrigger.mjs +5 -5
  16. package/dist/plugins/MagicAccordion/src/composables/useMagicAccordion.d.ts +1 -5
  17. package/dist/plugins/MagicAccordion/src/composables/useMagicAccordion.mjs +2 -3
  18. package/dist/plugins/MagicCommand/src/components/MagicCommandContent.vue +13 -2
  19. package/dist/plugins/MagicCommand/src/components/MagicCommandContent.vue.d.ts +1 -1
  20. package/dist/plugins/MagicCommand/src/components/MagicCommandDrawer.vue.d.ts +1 -1
  21. package/dist/plugins/MagicCommand/src/components/MagicCommandItem.vue +8 -1
  22. package/dist/plugins/MagicCommand/src/components/MagicCommandItem.vue.d.ts +3 -1
  23. package/dist/plugins/MagicCommand/src/components/MagicCommandModal.vue.d.ts +1 -1
  24. package/dist/plugins/MagicCommand/src/components/MagicCommandProvider.vue +17 -2
  25. package/dist/plugins/MagicCommand/src/components/MagicCommandProvider.vue.d.ts +1 -1
  26. package/dist/plugins/MagicCommand/src/components/MagicCommandRenderer.vue.d.ts +1 -1
  27. package/dist/plugins/MagicCommand/src/components/MagicCommandTrigger.vue +8 -4
  28. package/dist/plugins/MagicCommand/src/components/MagicCommandTrigger.vue.d.ts +1 -2
  29. package/dist/plugins/MagicCommand/src/components/MagicCommandView.vue.d.ts +1 -1
  30. package/dist/plugins/MagicCommand/src/composables/private/useCommandItem.mjs +11 -13
  31. package/dist/plugins/MagicCommand/src/composables/private/useCommandView.mjs +25 -11
  32. package/dist/plugins/MagicCookie/src/components/MagicCookieItem.vue.d.ts +1 -1
  33. package/dist/plugins/MagicCookie/src/components/MagicCookieProvider.vue.d.ts +1 -1
  34. package/dist/plugins/MagicCookie/src/components/MagicCookieView.vue.d.ts +1 -1
  35. package/dist/plugins/MagicCookie/src/composables/private/useCookieItem.mjs +3 -1
  36. package/dist/plugins/MagicDraggable/src/components/MagicDraggable.vue +0 -1
  37. package/dist/plugins/MagicDraggable/src/components/MagicDraggable.vue.d.ts +1 -1
  38. package/dist/plugins/MagicDraggable/src/composables/private/useDraggableScrollLock.mjs +3 -1
  39. package/dist/plugins/MagicDrawer/src/components/MagicDrawer.vue +1 -1
  40. package/dist/plugins/MagicDrawer/src/components/MagicDrawer.vue.d.ts +1 -1
  41. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerDOM.mjs +3 -1
  42. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerSnap.mjs +55 -21
  43. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerState.mjs +3 -1
  44. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerUtils.mjs +21 -8
  45. package/dist/plugins/MagicEmitter/src/composables/useMagicEmitter.d.ts +4 -4
  46. package/dist/plugins/MagicError/package.json +1 -1
  47. package/dist/plugins/MagicMarquee/src/components/MagicMarquee.vue.d.ts +1 -1
  48. package/dist/plugins/MagicMenu/src/components/MagicMenuChannel.vue.d.ts +1 -1
  49. package/dist/plugins/MagicMenu/src/components/MagicMenuContent.vue.d.ts +1 -1
  50. package/dist/plugins/MagicMenu/src/components/MagicMenuFloat.vue +1 -1
  51. package/dist/plugins/MagicMenu/src/components/MagicMenuFloat.vue.d.ts +4 -3
  52. package/dist/plugins/MagicMenu/src/components/MagicMenuItem.vue +8 -1
  53. package/dist/plugins/MagicMenu/src/components/MagicMenuItem.vue.d.ts +3 -1
  54. package/dist/plugins/MagicMenu/src/components/MagicMenuProvider.vue.d.ts +1 -1
  55. package/dist/plugins/MagicMenu/src/components/MagicMenuRemote.vue.d.ts +1 -1
  56. package/dist/plugins/MagicMenu/src/components/MagicMenuTrigger.vue.d.ts +1 -1
  57. package/dist/plugins/MagicMenu/src/components/MagicMenuView.vue +1 -1
  58. package/dist/plugins/MagicMenu/src/components/MagicMenuView.vue.d.ts +3 -3
  59. package/dist/plugins/MagicMenu/src/composables/private/useMenuDOM.mjs +3 -1
  60. package/dist/plugins/MagicMenu/src/composables/private/useMenuItem.mjs +3 -1
  61. package/dist/plugins/MagicMenu/src/composables/private/useMenuKeyListener.d.ts +1 -1
  62. package/dist/plugins/MagicMenu/src/composables/private/useMenuKeyListener.mjs +22 -7
  63. package/dist/plugins/MagicMenu/src/composables/private/useMenuView.mjs +6 -2
  64. package/dist/plugins/MagicMenu/src/types/index.d.ts +2 -2
  65. package/dist/plugins/MagicModal/src/components/MagicModal.vue.d.ts +1 -1
  66. package/dist/plugins/MagicModal/src/composables/private/useModalDOM.mjs +3 -1
  67. package/dist/plugins/MagicNoise/src/components/MagicNoise.vue.d.ts +1 -1
  68. package/dist/plugins/MagicNoise/src/composables/private/useNoiseApi.mjs +7 -3
  69. package/dist/plugins/MagicPie/src/components/MagicPie.vue.d.ts +1 -1
  70. package/dist/plugins/MagicPie/src/composables/private/usePieState.mjs +3 -1
  71. package/dist/plugins/MagicPlayer/src/components/MagicPlayerAudio.vue.d.ts +1 -1
  72. package/dist/plugins/MagicPlayer/src/components/MagicPlayerAudioControls.vue.d.ts +1 -1
  73. package/dist/plugins/MagicPlayer/src/components/MagicPlayerDisplayTime.vue.d.ts +1 -1
  74. package/dist/plugins/MagicPlayer/src/components/MagicPlayerMuxPopover.vue.d.ts +1 -1
  75. package/dist/plugins/MagicPlayer/src/components/MagicPlayerOverlay.vue.d.ts +1 -1
  76. package/dist/plugins/MagicPlayer/src/components/MagicPlayerPoster.vue.d.ts +1 -1
  77. package/dist/plugins/MagicPlayer/src/components/MagicPlayerProvider.vue.d.ts +1 -1
  78. package/dist/plugins/MagicPlayer/src/components/MagicPlayerTimeline.vue.d.ts +1 -1
  79. package/dist/plugins/MagicPlayer/src/components/MagicPlayerVideo.vue.d.ts +1 -1
  80. package/dist/plugins/MagicPlayer/src/components/MagicPlayerVideoControls.vue.d.ts +1 -1
  81. package/dist/plugins/MagicPlayer/src/components/icons/FullscreenEnter.vue.d.ts +1 -1
  82. package/dist/plugins/MagicPlayer/src/components/icons/FullscreenExit.vue.d.ts +1 -1
  83. package/dist/plugins/MagicPlayer/src/components/icons/Pause.vue.d.ts +1 -1
  84. package/dist/plugins/MagicPlayer/src/components/icons/Play.vue.d.ts +1 -1
  85. package/dist/plugins/MagicPlayer/src/components/icons/VolumeOff.vue.d.ts +1 -1
  86. package/dist/plugins/MagicPlayer/src/components/icons/VolumeOn.vue.d.ts +1 -1
  87. package/dist/plugins/MagicPlayer/src/components/icons/Waiting.vue.d.ts +1 -1
  88. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerState.mjs +3 -1
  89. package/dist/plugins/MagicScroll/src/components/MagicScrollCollision.vue.d.ts +1 -1
  90. package/dist/plugins/MagicScroll/src/components/MagicScrollMotion.vue.d.ts +1 -1
  91. package/dist/plugins/MagicScroll/src/components/MagicScrollProvider.vue.d.ts +1 -1
  92. package/dist/plugins/MagicScroll/src/components/MagicScrollScene.vue.d.ts +1 -1
  93. package/dist/plugins/MagicToast/src/components/MagicToastProvider.vue +1 -1
  94. package/dist/plugins/MagicToast/src/components/MagicToastProvider.vue.d.ts +1 -1
  95. package/dist/plugins/MagicToast/src/components/MagicToastView.vue +7 -3
  96. package/dist/plugins/MagicToast/src/components/MagicToastView.vue.d.ts +1 -1
  97. package/dist/plugins/MagicToast/src/composables/private/useToastCallback.mjs +1 -1
  98. package/dist/plugins/MagicToast/src/composables/private/useToastScrollLock.mjs +3 -1
  99. package/dist/plugins/MagicToast/src/types/index.d.ts +8 -8
  100. package/dist/utils/index.js +3 -1
  101. package/dist/utils/index.js.map +1 -1
  102. package/package.json +22 -30
  103. /package/dist/plugins/MagicToast/{symbols → src/symbols}/index.d.ts +0 -0
  104. /package/dist/plugins/MagicToast/{symbols → src/symbols}/index.mjs +0 -0
@@ -111,9 +111,13 @@ function useScrollTo() {
111
111
  easing = easeOutQuad
112
112
  }) {
113
113
  const parentEl = unwrapParent(parent);
114
- if (!parentEl) return;
114
+ if (!parentEl) {
115
+ return;
116
+ }
115
117
  const targetEl = unwrapTarget(target, parentEl);
116
- if (!targetEl) return;
118
+ if (!targetEl) {
119
+ return;
120
+ }
117
121
  disableScrollSnap(parentEl);
118
122
  const mappedOffset = { x: 0, y: 0, ...offset };
119
123
  const distance = getDistance(targetEl, parentEl);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../packages/composables/useScrollTo/index.ts"],"sourcesContent":["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":[]}
1
+ {"version":3,"sources":["../../../packages/composables/useScrollTo/index.ts"],"sourcesContent":["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) {\n return\n }\n const targetEl = unwrapTarget(target, parentEl)\n if (!targetEl) {\n return\n }\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":";AAAA;AAAA,EACE;AAAA,OAGK;AACP,SAAS,mBAAmB;AAsC5B,SAAS,IAAI,GAAW,GAAW;AACjC,SAAO,IAAI,IAAI,IAAI;AACrB;AAEA,SAAS,aAAa,QAAwB;AAC5C,MAAI,WAAW,QAAQ;AACrB,WAAO;AAAA,EACT,WAAW,OAAO,WAAW,UAAU;AACrC,WAAO,SAAS,cAAc,MAAM,KAAK,SAAS;AAAA,EACpD,OAAO;AACL,WACE,aAAa,MAA+C,KAC5D,SAAS;AAAA,EAEb;AACF;AAEA,SAAS,aAAa,QAAwB,UAA4B;AACxE,MAAI,OAAO,WAAW,UAAU;AAC9B,UAAM,cAAc,aAAa,SAAS,WAAY;AACtD,WAAO,YAAY,cAAc,MAAM;AAAA,EACzC,OAAO;AACL,WAAO,aAAa,MAA+C;AAAA,EACrE;AACF;AAEA,SAAS,cACP,UACyB;AACzB,SAAO,oBAAoB;AAC7B;AAEA,SAAS,kBAAkB,UAAyC;AAClE,MAAI,cAAc,QAAQ,GAAG;AAC3B,aAAS,MAAM,iBAAiB;AAAA,EAClC;AACF;AAEA,SAAS,mBAAmB,UAAyC;AACnE,MAAI,cAAc,QAAQ,GAAG;AAC3B,aAAS,MAAM,iBAAiB;AAAA,EAClC;AACF;AAGO,SAAS,cAAc;AAC5B,WAAS,kBAAkB,SAGzB;AACA,QAAI,YAAY,QAAQ;AACtB,aAAO,EAAE,GAAG,OAAO,SAAS,GAAG,OAAO,QAAQ;AAAA,IAChD,WAAW,mBAAmB,SAAS;AACrC,aAAO,EAAE,GAAG,QAAQ,YAAY,GAAG,QAAQ,UAAU;AAAA,IACvD,OAAO;AACL,aAAO,EAAE,GAAG,GAAG,GAAG,EAAE;AAAA,IACtB;AAAA,EACF;AAEA,WAAS,YACP,QACA,QAC+B;AAC/B,UAAM,OAAO,OAAO,sBAAsB;AAC1C,UAAM,WACJ,UAAU,SAAS,oBAAoB,SAAS;AAElD,UAAM,YAAY,oBAAoB,SAAS,IAAI,SAAS;AAC5D,UAAM,aAAa,oBAAoB,SAAS,IAAI,SAAS;AAE7D,WAAO;AAAA,MACL,KAAK,KAAK,MAAM;AAAA,MAChB,MAAM,KAAK,OAAO;AAAA,IACpB;AAAA,EACF;AAEA,WAAS,kBAAkB;AAAA,IACzB,SAAS,SAAS,mBAAmB,SAAS;AAAA,IAC9C,OAAO;AAAA,IACP,MAAM;AAAA,IACN,QAAQ;AAAA,EACV,GAA4B;AAC1B,UAAM,aAAa,kBAAkB,MAAM;AAC3C,UAAM,YAAY,WAAW,IAAI;AACjC,UAAM,YAAY,WAAW,IAAI;AACjC,UAAM,YAAY,KAAK,IAAK,YAAY,QAAS,GAAG;AACpD,UAAM,YAAY,KAAK,IAAK,YAAY,QAAS,GAAG;AAEpD,WAAO,EAAE,GAAG,WAAW,GAAG,UAAU;AAAA,EACtC;AAEA,WAAS,SAAS;AAAA,IAChB,SAAS,SAAS,mBAAmB,SAAS;AAAA,IAC9C;AAAA,IACA;AAAA,IACA,WAAW,CAAC;AAAA,IACZ,SAAS;AAAA,IACT;AAAA,EACF,GAAmB;AACjB,UAAM,YAAY,KAAK,IAAI;AAC3B,UAAM,EAAE,GAAG,OAAO,GAAG,MAAM,IAAI,kBAAkB,MAAM;AAEvD,QAAI,UAAU,OAAO,UAAU,MAAM;AACnC,UAAI,SAAU,UAAS;AACvB;AAAA,IACF;AAEA,UAAM,iBAAiB,EAAE,GAAG,KAAK,GAAG,KAAK,GAAG,SAAS;AAErD,UAAM,SAAS,MAAM;AACnB,YAAM,cAAc,KAAK,IAAI;AAE7B,YAAM,QAAQ,IAAI,IAAI,cAAc,aAAa,eAAe,CAAC;AACjE,YAAM,QAAQ,IAAI,IAAI,cAAc,aAAa,eAAe,CAAC;AACjE,YAAM,aAAa,OAAO,KAAK;AAC/B,YAAM,aAAa,OAAO,KAAK;AAG/B,YAAM,UAAU,KAAK,IAAI,YAAY,UAAU;AAE/C,aAAO,OAAO;AAAA,QACZ,MAAM,WAAW,OAAO,SAAS;AAAA,QACjC,KAAK,WAAW,MAAM,SAAS;AAAA,MACjC,CAAC;AAED,UAAI,aAAa,KAAK,aAAa,GAAG;AACpC,8BAAsB,MAAM;AAAA,MAC9B,WAAW,UAAU;AACnB,iBAAS;AAAA,MACX;AAAA,IACF;AAEA,0BAAsB,MAAM;AAAA,EAC9B;AAEA,WAAS,eAAe;AAAA,IACtB;AAAA,IACA,SAAS,SAAS,mBAAmB,SAAS;AAAA,IAC9C,SAAS,CAAC;AAAA,IACV,QAAQ;AAAA,IACR,SAAS;AAAA,EACX,GAAyB;AACvB,UAAM,WAAW,aAAa,MAAM;AACpC,QAAI,CAAC,UAAU;AACb;AAAA,IACF;AACA,UAAM,WAAW,aAAa,QAAQ,QAAQ;AAC9C,QAAI,CAAC,UAAU;AACb;AAAA,IACF;AAEA,sBAAkB,QAAQ;AAE1B,UAAM,eAAe,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,OAAO;AAC7C,UAAM,WAAW,YAAY,UAAU,QAAQ;AAC/C,UAAM,eAAe,SAAS,OAAO,aAAa;AAClD,UAAM,cAAc,SAAS,MAAM,aAAa;AAEhD,UAAM,iBAAiB,kBAAkB;AAAA,MACvC,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,KAAK;AAAA,MACL;AAAA,IACF,CAAC;AAED,aAAS;AAAA,MACP,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,KAAK;AAAA,MACL,UAAU;AAAA,MACV;AAAA,MACA,UAAU,MAAM,mBAAmB,QAAQ;AAAA,IAC7C,CAAC;AAAA,EACH;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;","names":[]}
@@ -1,10 +1,10 @@
1
- import * as _nuxt_schema from '@nuxt/schema';
1
+ import * as nuxt_schema from 'nuxt/schema';
2
2
 
3
3
  interface ModuleOptions {
4
4
  plugins?: string[] | boolean;
5
5
  composables?: string[] | boolean;
6
6
  }
7
- declare const _default: _nuxt_schema.NuxtModule<ModuleOptions, ModuleOptions, false>;
7
+ declare const _default: nuxt_schema.NuxtModule<ModuleOptions, ModuleOptions, false>;
8
8
 
9
9
  export { _default as default };
10
10
  export type { ModuleOptions };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@maas/vue-equipment/nuxt",
3
3
  "configKey": "vueEquipment",
4
- "version": "1.0.0-beta.34",
4
+ "version": "1.0.0-beta.36",
5
5
  "builder": {
6
6
  "@nuxt/module-builder": "1.0.2",
7
7
  "unbuild": "unknown"
@@ -130,7 +130,7 @@ const functions$1 = [
130
130
  {
131
131
  name: "useScrollTo",
132
132
  "package": "composables",
133
- lastUpdated: 1734018465000,
133
+ lastUpdated: 1757314730000,
134
134
  docs: "https://maas.egineering/vue-equipment/composables/useScrollTo/",
135
135
  description: "Scroll to an element with consistent speed"
136
136
  }
@@ -1,96 +1,5 @@
1
1
 
2
2
  
3
- > plugins@1.0.0-beta.34 lint /Users/robinscholz/Repositories/@maas/vue-equipment/packages/plugins
4
- > eslint .
3
+ > plugins@1.0.0-beta.32 lint /Users/robinscholz/Repositories/@maas/vue-equipment/packages/plugins
4
+ > eslint . --fix
5
5
 
6
- 
7
- /Users/robinscholz/Repositories/@maas/vue-equipment/packages/plugins/MagicAccordion/src/components/MagicAccordionTrigger.vue
8
-  89:0 error Parsing error: '}' expected
9
- 
10
- /Users/robinscholz/Repositories/@maas/vue-equipment/packages/plugins/MagicCommand/src/components/MagicCommandItem.vue
11
-  130:0 error Parsing error: '}' expected
12
- 
13
- /Users/robinscholz/Repositories/@maas/vue-equipment/packages/plugins/MagicCommand/src/components/MagicCommandTrigger.vue
14
-  120:0 error Parsing error: '}' expected
15
- 
16
- /Users/robinscholz/Repositories/@maas/vue-equipment/packages/plugins/MagicCommand/src/composables/private/useCommandView.ts
17
-  4:8 error 'UseMagicErrorReturn' is defined but never used @typescript-eslint/no-unused-vars
18
- 
19
- /Users/robinscholz/Repositories/@maas/vue-equipment/packages/plugins/MagicCommand/src/composables/useMagicCommand.ts
20
-  10:7 error 'magicError' is assigned a value but never used @typescript-eslint/no-unused-vars
21
- 
22
- /Users/robinscholz/Repositories/@maas/vue-equipment/packages/plugins/MagicCookie/src/composables/private/useCookieItem.ts
23
-  5:8 error 'UseMagicErrorReturn' is defined but never used @typescript-eslint/no-unused-vars
24
- 
25
- /Users/robinscholz/Repositories/@maas/vue-equipment/packages/plugins/MagicDraggable/src/components/MagicDraggable.vue
26
-  114:0 error Parsing error: '}' expected
27
- 
28
- /Users/robinscholz/Repositories/@maas/vue-equipment/packages/plugins/MagicDraggable/src/composables/private/useDraggableDrag.ts
29
-  32:8 error 'UseMagicErrorReturn' is defined but never used @typescript-eslint/no-unused-vars
30
- 
31
- /Users/robinscholz/Repositories/@maas/vue-equipment/packages/plugins/MagicDraggable/src/composables/private/useDraggableSnap.ts
32
-  7:8 error 'UseMagicErrorReturn' is defined but never used @typescript-eslint/no-unused-vars
33
- 
34
- /Users/robinscholz/Repositories/@maas/vue-equipment/packages/plugins/MagicDrawer/src/composables/private/useDrawerDrag.ts
35
-  32:8 error 'UseMagicErrorReturn' is defined but never used @typescript-eslint/no-unused-vars
36
- 
37
- /Users/robinscholz/Repositories/@maas/vue-equipment/packages/plugins/MagicDrawer/src/composables/private/useDrawerWheel.ts
38
-  13:8 error 'UseMagicErrorReturn' is defined but never used @typescript-eslint/no-unused-vars
39
- 
40
- /Users/robinscholz/Repositories/@maas/vue-equipment/packages/plugins/MagicMenu/src/components/MagicMenuChannel.vue
41
-  15:42 error 'MaybeRef' is defined but never used @typescript-eslint/no-unused-vars
42
- 
43
- /Users/robinscholz/Repositories/@maas/vue-equipment/packages/plugins/MagicMenu/src/components/MagicMenuItem.vue
44
-  149:0 error Parsing error: '}' expected
45
- 
46
- /Users/robinscholz/Repositories/@maas/vue-equipment/packages/plugins/MagicMenu/src/components/MagicMenuRemote.vue
47
-  102:0 error Parsing error: '}' expected
48
- 
49
- /Users/robinscholz/Repositories/@maas/vue-equipment/packages/plugins/MagicMenu/src/components/MagicMenuTrigger.vue
50
-  142:0 error Parsing error: '}' expected
51
- 
52
- /Users/robinscholz/Repositories/@maas/vue-equipment/packages/plugins/MagicMenu/src/composables/private/useMenuItem.ts
53
-  24:9 error 'magicError' is assigned a value but never used @typescript-eslint/no-unused-vars
54
- 
55
- /Users/robinscholz/Repositories/@maas/vue-equipment/packages/plugins/MagicMenu/src/composables/private/useMenuKeyListener.ts
56
-  4:8 error 'UseMagicErrorReturn' is defined but never used @typescript-eslint/no-unused-vars
57
- 
58
- /Users/robinscholz/Repositories/@maas/vue-equipment/packages/plugins/MagicMenu/src/composables/private/useMenuView.ts
59
-  4:8 error 'UseMagicErrorReturn' is defined but never used @typescript-eslint/no-unused-vars
60
- 
61
- /Users/robinscholz/Repositories/@maas/vue-equipment/packages/plugins/MagicPie/src/components/MagicPie.vue
62
-  35:7 error 'magicError' is assigned a value but never used @typescript-eslint/no-unused-vars
63
- 
64
- /Users/robinscholz/Repositories/@maas/vue-equipment/packages/plugins/MagicPlayer/src/components/MagicPlayerAudio.vue
65
-  135:0 error Parsing error: '}' expected
66
- 
67
- /Users/robinscholz/Repositories/@maas/vue-equipment/packages/plugins/MagicPlayer/src/components/MagicPlayerAudioControls.vue
68
-  155:0 error Parsing error: '}' expected
69
- 
70
- /Users/robinscholz/Repositories/@maas/vue-equipment/packages/plugins/MagicPlayer/src/components/MagicPlayerDisplayTime.vue
71
-  34:2 error Parsing error: Declaration or statement expected
72
- 
73
- /Users/robinscholz/Repositories/@maas/vue-equipment/packages/plugins/MagicPlayer/src/components/MagicPlayerMuxPopover.vue
74
-  183:0 error Parsing error: '}' expected
75
- 
76
- /Users/robinscholz/Repositories/@maas/vue-equipment/packages/plugins/MagicPlayer/src/components/MagicPlayerVideo.vue
77
-  182:0 error Parsing error: '}' expected
78
- 
79
- /Users/robinscholz/Repositories/@maas/vue-equipment/packages/plugins/MagicPlayer/src/components/MagicPlayerVideoControls.vue
80
-  222:0 error Parsing error: '}' expected
81
- 
82
- /Users/robinscholz/Repositories/@maas/vue-equipment/packages/plugins/MagicPlayer/src/composables/private/usePlayerMediaApi.ts
83
-  18:9 error 'magicError' is assigned a value but never used @typescript-eslint/no-unused-vars
84
- 
85
- /Users/robinscholz/Repositories/@maas/vue-equipment/packages/plugins/MagicPlayer/src/composables/private/usePlayerRuntime.ts
86
-  5:8 error 'UseMagicErrorReturn' is defined but never used @typescript-eslint/no-unused-vars
87
- 
88
- /Users/robinscholz/Repositories/@maas/vue-equipment/packages/plugins/MagicPlayer/src/composables/private/usePlayerVideoApi.ts
89
-  6:8 error 'UseMagicErrorReturn' is defined but never used @typescript-eslint/no-unused-vars
90
- 
91
- /Users/robinscholz/Repositories/@maas/vue-equipment/packages/plugins/MagicToast/src/components/MagicToastView.vue
92
-  56:0 error Parsing error: Declaration or statement expected
93
- 
94
- ✖ 29 problems (29 errors, 0 warnings)
95
- 
96
-  ELIFECYCLE  Command failed with exit code 1.
@@ -15,7 +15,7 @@ declare var __VLS_24: {
15
15
  type __VLS_Slots = {} & {
16
16
  default?: (props: typeof __VLS_24) => any;
17
17
  };
18
- declare const __VLS_component: import("vue").DefineComponent<MagicAccordionContentProps, void, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MagicAccordionContentProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
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
19
  declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
20
20
  export default _default;
21
21
  type __VLS_WithSlots<T, S> = T & {
@@ -7,8 +7,8 @@
7
7
  <script setup>
8
8
  import { onBeforeUnmount, provide } from "vue";
9
9
  import { Primitive } from "@maas/vue-primitive";
10
- import { MagicAccordionInstanceId } from "../symbols";
11
10
  import { useAccordionState } from "../composables/private/useAccordionState";
11
+ import { MagicAccordionInstanceId } from "../symbols";
12
12
  const { id, asChild, options } = defineProps({
13
13
  id: { type: null, required: true },
14
14
  asChild: { type: Boolean, required: false },
@@ -9,7 +9,7 @@ declare var __VLS_7: {};
9
9
  type __VLS_Slots = {} & {
10
10
  default?: (props: typeof __VLS_7) => any;
11
11
  };
12
- declare const __VLS_component: import("vue").DefineComponent<MagicAccordionProviderProps, void, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MagicAccordionProviderProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
12
+ declare const __VLS_component: import("vue").DefineComponent<MagicAccordionProviderProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MagicAccordionProviderProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
13
13
  declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
14
14
  export default _default;
15
15
  type __VLS_WithSlots<T, S> = T & {
@@ -56,13 +56,13 @@ const state = initializeState();
56
56
  const { getView } = useAccordionView(instanceId);
57
57
  const view = getView(mappedViewId.value);
58
58
  const mappedDisabled = computed(
59
- () => toValue(disabled) || state.options.disabled
59
+ () => (toValue(disabled) || state.options.disabled) ?? false
60
60
  );
61
61
  const { onMouseenter, onClick, onKeypress } = useAccordionTrigger({
62
62
  elRef,
63
63
  instanceId,
64
+ mappedDisabled,
64
65
  viewId: mappedViewId.value,
65
- disabled,
66
66
  trigger
67
67
  });
68
68
  onKeyStroke("Enter", onKeypress);
@@ -12,7 +12,7 @@ declare var __VLS_12: {
12
12
  type __VLS_Slots = {} & {
13
13
  default?: (props: typeof __VLS_12) => any;
14
14
  };
15
- declare const __VLS_component: import("vue").DefineComponent<MagicAccordionTriggerProps, void, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MagicAccordionTriggerProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
15
+ declare const __VLS_component: import("vue").DefineComponent<MagicAccordionTriggerProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MagicAccordionTriggerProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
16
16
  declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
17
17
  export default _default;
18
18
  type __VLS_WithSlots<T, S> = T & {
@@ -2,10 +2,10 @@
2
2
  <primitive
3
3
  :as-child="asChild"
4
4
  :data-id="mappedId"
5
- :data-active="view?.active"
5
+ :data-active="mappedActive"
6
6
  class="magic-accordion-view"
7
7
  >
8
- <slot :view-active="view?.active" />
8
+ <slot :view-active="mappedActive" />
9
9
  </primitive>
10
10
  </template>
11
11
 
@@ -21,7 +21,7 @@ import {
21
21
  MagicAccordionViewId
22
22
  } from "../symbols";
23
23
  import { useAccordionView } from "../composables/private/useAccordionView";
24
- const { id, active } = defineProps({
24
+ const { id, active = false } = defineProps({
25
25
  id: { type: String, required: false },
26
26
  asChild: { type: Boolean, required: false },
27
27
  active: { type: Boolean, required: false }
@@ -40,7 +40,7 @@ const mappedActive = computed(() => view.active);
40
40
  const { initializeView, deleteView } = useAccordionView(instanceId);
41
41
  const view = initializeView({
42
42
  id: mappedId.value,
43
- active: active ?? false
43
+ active
44
44
  });
45
45
  provide(MagicAccordionViewId, mappedId.value);
46
46
  provide(MagicAccordionViewActive, mappedActive);
@@ -9,7 +9,7 @@ declare var __VLS_7: {
9
9
  type __VLS_Slots = {} & {
10
10
  default?: (props: typeof __VLS_7) => any;
11
11
  };
12
- declare const __VLS_component: import("vue").DefineComponent<MagicAccordionViewProps, void, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MagicAccordionViewProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
12
+ declare const __VLS_component: import("vue").DefineComponent<MagicAccordionViewProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MagicAccordionViewProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
13
13
  declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
14
14
  export default _default;
15
15
  type __VLS_WithSlots<T, S> = T & {
@@ -1,11 +1,11 @@
1
- import { type MaybeRef, type Ref } from 'vue';
1
+ import { type ComputedRef, type MaybeRef, type Ref } from 'vue';
2
2
  import { Primitive } from '@maas/vue-primitive';
3
3
  import type { Interaction } from '../../types/index.js';
4
4
  interface UseAccordionTriggerArgs {
5
5
  instanceId: MaybeRef<string>;
6
6
  viewId: string;
7
7
  trigger: Interaction;
8
- disabled: MaybeRef<boolean>;
8
+ mappedDisabled: ComputedRef<boolean>;
9
9
  elRef: Ref<InstanceType<typeof Primitive> | null>;
10
10
  }
11
11
  export declare function useAccordionTrigger(args: UseAccordionTriggerArgs): {
@@ -1,19 +1,19 @@
1
- import { toValue } from "vue";
1
+ import {} from "vue";
2
2
  import { Primitive } from "@maas/vue-primitive";
3
3
  import { useFocus } from "@vueuse/core";
4
4
  import { useAccordionView } from "./useAccordionView.mjs";
5
5
  export function useAccordionTrigger(args) {
6
- const { instanceId, viewId, elRef, disabled, trigger } = args;
6
+ const { instanceId, viewId, elRef, mappedDisabled, trigger } = args;
7
7
  const { selectView, unselectView, getView } = useAccordionView(instanceId);
8
8
  const view = getView(viewId);
9
9
  const { focused } = useFocus(elRef);
10
10
  function onMouseenter() {
11
- if (!toValue(disabled) && trigger === "mouseenter") {
11
+ if (!mappedDisabled.value && trigger === "mouseenter") {
12
12
  selectView(viewId);
13
13
  }
14
14
  }
15
15
  function onClick() {
16
- if (!toValue(disabled) && trigger === "click") {
16
+ if (!mappedDisabled.value && trigger === "click") {
17
17
  if (view?.active) {
18
18
  unselectView(viewId);
19
19
  } else {
@@ -22,7 +22,7 @@ export function useAccordionTrigger(args) {
22
22
  }
23
23
  }
24
24
  function onKeypress(e) {
25
- if (focused.value && !toValue(disabled) && !view?.active) {
25
+ if (focused.value && !mappedDisabled.value && !view?.active) {
26
26
  e.preventDefault();
27
27
  e.stopPropagation();
28
28
  if (view?.active) {
@@ -1,10 +1,6 @@
1
1
  import { type MaybeRef } from 'vue';
2
- interface UseMagicAccordionArgs {
3
- instanceId: MaybeRef<string>;
4
- }
5
- export declare function useMagicAccordion(args: UseMagicAccordionArgs): {
2
+ export declare function useMagicAccordion(id: MaybeRef<string>): {
6
3
  selectView: (id: string) => void;
7
4
  unselectView: (id: string) => void;
8
5
  };
9
6
  export type UseMagicAccordionReturn = ReturnType<typeof useMagicAccordion>;
10
- export {};
@@ -1,8 +1,7 @@
1
1
  import {} from "vue";
2
2
  import { useAccordionView } from "./private/useAccordionView.mjs";
3
- export function useMagicAccordion(args) {
4
- const { instanceId } = args;
5
- const { selectView, unselectView } = useAccordionView(instanceId);
3
+ export function useMagicAccordion(id) {
4
+ const { selectView, unselectView } = useAccordionView(id);
6
5
  return {
7
6
  selectView,
8
7
  unselectView
@@ -101,13 +101,19 @@ const {
101
101
  scrollInFromTop
102
102
  } = useCommandScroll(elRef);
103
103
  const keys = useMagicKeys();
104
+ const { logWarning } = magicError;
104
105
  const nextTimeout = ref(void 0);
105
106
  const prevTimeout = ref(void 0);
106
107
  const nextInterval = ref(void 0);
107
108
  const prevInterval = ref(void 0);
108
109
  if (options?.keyListener?.next) {
109
110
  for (const key of options.keyListener.next) {
110
- watch(keys[key], (value) => {
111
+ const mappedKey = keys[key];
112
+ if (!mappedKey) {
113
+ logWarning(`The key \u201C${key}\u201D is not supported by MagicCommand`);
114
+ continue;
115
+ }
116
+ watch(mappedKey, (value) => {
111
117
  if (isIdle.value) {
112
118
  return;
113
119
  }
@@ -128,7 +134,12 @@ if (options?.keyListener?.next) {
128
134
  }
129
135
  if (options?.keyListener?.prev) {
130
136
  for (const key of options.keyListener.prev) {
131
- watch(keys[key], (value) => {
137
+ const mappedKey = keys[key];
138
+ if (!mappedKey) {
139
+ logWarning(`The key \u201C${key}\u201D is not supported by MagicCommand`);
140
+ continue;
141
+ }
142
+ watch(mappedKey, (value) => {
132
143
  if (isIdle.value) {
133
144
  return;
134
145
  }
@@ -4,7 +4,7 @@ declare var __VLS_19: {};
4
4
  type __VLS_Slots = {} & {
5
5
  default?: (props: typeof __VLS_19) => any;
6
6
  };
7
- declare const __VLS_component: import("vue").DefineComponent<{}, void, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
7
+ declare const __VLS_component: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
8
8
  declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
9
9
  export default _default;
10
10
  type __VLS_WithSlots<T, S> = T & {
@@ -6,7 +6,7 @@ declare var __VLS_7: {};
6
6
  type __VLS_Slots = {} & {
7
7
  default?: (props: typeof __VLS_7) => any;
8
8
  };
9
- declare const __VLS_component: import("vue").DefineComponent<MagicCommandDrawerProps, void, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MagicCommandDrawerProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
9
+ declare const __VLS_component: import("vue").DefineComponent<MagicCommandDrawerProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MagicCommandDrawerProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
10
10
  declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
11
11
  export default _default;
12
12
  type __VLS_WithSlots<T, S> = T & {
@@ -37,6 +37,7 @@ import {
37
37
  MagicCommandItemActive,
38
38
  MagicCommandItemDisabled
39
39
  } from "../symbols";
40
+ import { onKeyStroke } from "@vueuse/core";
40
41
  const {
41
42
  id,
42
43
  initial = false,
@@ -46,7 +47,7 @@ const {
46
47
  initial: { type: Boolean, required: false },
47
48
  disabled: { type: Boolean, required: false }
48
49
  });
49
- const emit = defineEmits(["click"]);
50
+ const emit = defineEmits(["click", "enter"]);
50
51
  const magicError = useMagicError({
51
52
  prefix: "MagicCommand",
52
53
  source: "MagicCommand"
@@ -89,9 +90,15 @@ function onClick(event) {
89
90
  emit("click", event);
90
91
  guardedSelect();
91
92
  }
93
+ function onReturn() {
94
+ if (!item.disabled && item.active) {
95
+ emit("enter");
96
+ }
97
+ }
92
98
  provide(MagicCommandItemId, mappedId.value);
93
99
  provide(MagicCommandItemActive, mappedActive);
94
100
  provide(MagicCommandItemDisabled, mappedDisabled);
101
+ onKeyStroke("Enter", onReturn);
95
102
  onMounted(() => {
96
103
  if (initial) {
97
104
  selectItem(mappedId.value);
@@ -10,10 +10,12 @@ declare var __VLS_1: {
10
10
  type __VLS_Slots = {} & {
11
11
  default?: (props: typeof __VLS_1) => any;
12
12
  };
13
- declare const __VLS_component: import("vue").DefineComponent<MagicCommandItemProps, void, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
13
+ declare const __VLS_component: import("vue").DefineComponent<MagicCommandItemProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
14
14
  click: (event: MouseEvent) => any;
15
+ enter: () => any;
15
16
  }, string, import("vue").PublicProps, Readonly<MagicCommandItemProps> & Readonly<{
16
17
  onClick?: ((event: MouseEvent) => any) | undefined;
18
+ onEnter?: (() => any) | undefined;
17
19
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
18
20
  declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
19
21
  export default _default;
@@ -6,7 +6,7 @@ declare var __VLS_7: {};
6
6
  type __VLS_Slots = {} & {
7
7
  default?: (props: typeof __VLS_7) => any;
8
8
  };
9
- declare const __VLS_component: import("vue").DefineComponent<MagicCommandProps, void, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MagicCommandProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
9
+ declare const __VLS_component: import("vue").DefineComponent<MagicCommandProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MagicCommandProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
10
10
  declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
11
11
  export default _default;
12
12
  type __VLS_WithSlots<T, S> = T & {
@@ -8,6 +8,7 @@
8
8
  import { shallowRef, provide, watch, onBeforeUnmount } from "vue";
9
9
  import { useMagicKeys, usePointer } from "@vueuse/core";
10
10
  import { Primitive } from "@maas/vue-primitive";
11
+ import { useMagicError } from "@maas/vue-equipment/plugins/MagicError";
11
12
  import { createDefu } from "defu";
12
13
  import { useCommandState } from "../composables/private/useCommandState";
13
14
  import { useMagicCommand } from "../composables/useMagicCommand";
@@ -49,9 +50,18 @@ watch([x, y], ([x2, y2]) => {
49
50
  const keys = useMagicKeys();
50
51
  const commandApi = useMagicCommand(id);
51
52
  const { open, close } = commandApi;
53
+ const { logWarning } = useMagicError({
54
+ prefix: "MagicCommand",
55
+ source: "MagicCommandProvider"
56
+ });
52
57
  if (mappedOptions.keyListener?.open) {
53
58
  for (const key of mappedOptions.keyListener.open) {
54
- watch(keys[key], (value) => {
59
+ const mappedKey = keys[key];
60
+ if (!mappedKey) {
61
+ logWarning(`The key \u201C${key}\u201D is not supported by MagicCommand`);
62
+ continue;
63
+ }
64
+ watch(mappedKey, (value) => {
55
65
  if (value) {
56
66
  open();
57
67
  }
@@ -60,7 +70,12 @@ if (mappedOptions.keyListener?.open) {
60
70
  }
61
71
  if (mappedOptions.keyListener?.close) {
62
72
  for (const key of mappedOptions.keyListener.close) {
63
- watch(keys[key], (value) => {
73
+ const mappedKey = keys[key];
74
+ if (!mappedKey) {
75
+ logWarning(`The key \u201C${key}\u201D is not supported by MagicCommand`);
76
+ continue;
77
+ }
78
+ watch(mappedKey, (value) => {
64
79
  if (value) {
65
80
  close();
66
81
  }
@@ -9,7 +9,7 @@ declare var __VLS_7: {};
9
9
  type __VLS_Slots = {} & {
10
10
  default?: (props: typeof __VLS_7) => any;
11
11
  };
12
- declare const __VLS_component: import("vue").DefineComponent<MagicCommandProviderProps, void, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MagicCommandProviderProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
12
+ declare const __VLS_component: import("vue").DefineComponent<MagicCommandProviderProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MagicCommandProviderProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
13
13
  declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
14
14
  export default _default;
15
15
  type __VLS_WithSlots<T, S> = T & {
@@ -1,2 +1,2 @@
1
- declare const _default: import("vue").DefineComponent<{}, void, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
2
  export default _default;
@@ -31,13 +31,11 @@ import {
31
31
  import { useMagicKeys } from "@vueuse/core";
32
32
  const {
33
33
  viewId,
34
- active = void 0,
35
34
  disabled = void 0,
36
35
  action = "open",
37
36
  trigger = ["click"]
38
37
  } = defineProps({
39
38
  viewId: { type: String, required: false },
40
- active: { type: Boolean, required: false },
41
39
  disabled: { type: Boolean, required: false },
42
40
  action: { type: String, required: false },
43
41
  trigger: { type: Array, required: false },
@@ -63,7 +61,7 @@ magicError.assert(mappedViewId.value, {
63
61
  });
64
62
  const { getView } = useCommandView(instanceId);
65
63
  const view = getView(mappedViewId.value);
66
- const mappedActive = computed(() => active ?? toValue(itemActive) ?? false);
64
+ const mappedActive = computed(() => toValue(itemActive) ?? false);
67
65
  const mappedDisabled = computed(
68
66
  () => disabled ?? toValue(itemDisabled) ?? false
69
67
  );
@@ -87,9 +85,15 @@ watch(
87
85
  }
88
86
  );
89
87
  const keys = useMagicKeys();
88
+ const { logWarning } = magicError;
90
89
  if (options?.keyListener?.enter) {
91
90
  for (const key of options.keyListener.enter) {
92
- watch(keys[key], (value) => {
91
+ const mappedKey = keys[key];
92
+ if (!mappedKey) {
93
+ logWarning(`The key \u201C${key}\u201D is not supported by MagicCommand`);
94
+ continue;
95
+ }
96
+ watch(mappedKey, (value) => {
93
97
  if (value) {
94
98
  onKeypress();
95
99
  }
@@ -1,7 +1,6 @@
1
1
  import type { Interaction, Action } from '../types/index.js';
2
2
  interface MagicCommandTriggerProps {
3
3
  viewId?: string;
4
- active?: boolean;
5
4
  disabled?: boolean;
6
5
  action?: Action;
7
6
  trigger?: Interaction[];
@@ -14,7 +13,7 @@ declare var __VLS_12: {
14
13
  type __VLS_Slots = {} & {
15
14
  default?: (props: typeof __VLS_12) => any;
16
15
  };
17
- declare const __VLS_component: import("vue").DefineComponent<MagicCommandTriggerProps, void, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MagicCommandTriggerProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
16
+ declare const __VLS_component: import("vue").DefineComponent<MagicCommandTriggerProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MagicCommandTriggerProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
18
17
  declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
19
18
  export default _default;
20
19
  type __VLS_WithSlots<T, S> = T & {
@@ -8,7 +8,7 @@ declare var __VLS_1: {
8
8
  type __VLS_Slots = {} & {
9
9
  default?: (props: typeof __VLS_1) => any;
10
10
  };
11
- declare const __VLS_component: import("vue").DefineComponent<MagicCommandViewProps, void, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MagicCommandViewProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
11
+ declare const __VLS_component: import("vue").DefineComponent<MagicCommandViewProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MagicCommandViewProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
12
12
  declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
13
13
  export default _default;
14
14
  type __VLS_WithSlots<T, S> = T & {