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

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 (163) 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.json +1 -1
  6. package/dist/nuxt/module.mjs +9 -2
  7. package/dist/plugins/.turbo/turbo-lint.log +1 -9
  8. package/dist/plugins/MagicAccordion/demo/data/footer.json +1 -1
  9. package/dist/plugins/MagicAccordion/src/components/MagicAccordionContent.vue.d.ts +33 -22
  10. package/dist/plugins/MagicAccordion/src/components/MagicAccordionProvider.vue +2 -2
  11. package/dist/plugins/MagicAccordion/src/components/MagicAccordionProvider.vue.d.ts +12 -21
  12. package/dist/plugins/MagicAccordion/src/components/MagicAccordionTrigger.vue +15 -13
  13. package/dist/plugins/MagicAccordion/src/components/MagicAccordionTrigger.vue.d.ts +23 -59
  14. package/dist/plugins/MagicAccordion/src/components/MagicAccordionView.vue +2 -1
  15. package/dist/plugins/MagicAccordion/src/components/MagicAccordionView.vue.d.ts +17 -22
  16. package/dist/plugins/MagicAccordion/src/composables/private/useAccordionTrigger.d.ts +1 -1
  17. package/dist/plugins/MagicAccordion/src/symbols/index.d.ts +2 -2
  18. package/dist/plugins/MagicCommand/src/components/MagicCommandContent.vue +11 -4
  19. package/dist/plugins/MagicCommand/src/components/MagicCommandContent.vue.d.ts +24 -13
  20. package/dist/plugins/MagicCommand/src/components/MagicCommandDrawer.vue.d.ts +12 -21
  21. package/dist/plugins/MagicCommand/src/components/MagicCommandItem.vue +0 -4
  22. package/dist/plugins/MagicCommand/src/components/MagicCommandItem.vue.d.ts +29 -28
  23. package/dist/plugins/MagicCommand/src/components/MagicCommandModal.vue.d.ts +12 -21
  24. package/dist/plugins/MagicCommand/src/components/MagicCommandProvider.vue +5 -7
  25. package/dist/plugins/MagicCommand/src/components/MagicCommandProvider.vue.d.ts +12 -58
  26. package/dist/plugins/MagicCommand/src/components/MagicCommandRenderer.vue +7 -7
  27. package/dist/plugins/MagicCommand/src/components/MagicCommandTrigger.vue +7 -6
  28. package/dist/plugins/MagicCommand/src/components/MagicCommandTrigger.vue.d.ts +25 -60
  29. package/dist/plugins/MagicCommand/src/components/MagicCommandView.vue +2 -2
  30. package/dist/plugins/MagicCommand/src/components/MagicCommandView.vue.d.ts +15 -22
  31. package/dist/plugins/MagicCommand/src/composables/private/useCommandScroll.d.ts +2 -2
  32. package/dist/plugins/MagicCommand/src/composables/private/useCommandState.mjs +1 -1
  33. package/dist/plugins/MagicCommand/src/composables/private/useCommandTrigger.d.ts +1 -1
  34. package/dist/plugins/MagicCommand/src/symbols/index.d.ts +4 -4
  35. package/dist/plugins/MagicCommand/src/types/index.d.ts +1 -1
  36. package/dist/plugins/MagicCookie/src/components/MagicCookieItem.vue.d.ts +13 -22
  37. package/dist/plugins/MagicCookie/src/components/MagicCookieProvider.vue.d.ts +9 -21
  38. package/dist/plugins/MagicCookie/src/components/MagicCookieView.vue.d.ts +21 -12
  39. package/dist/plugins/MagicCookie/src/symbols/index.d.ts +2 -2
  40. package/dist/plugins/MagicDraggable/src/components/MagicDraggable.vue +18 -24
  41. package/dist/plugins/MagicDraggable/src/components/MagicDraggable.vue.d.ts +94 -23
  42. package/dist/plugins/MagicDraggable/src/composables/private/useDraggableDrag.d.ts +2 -2
  43. package/dist/plugins/MagicDraggable/src/composables/private/useDraggableDrag.mjs +9 -5
  44. package/dist/plugins/MagicDraggable/src/composables/private/useDraggableScrollLock.mjs +34 -14
  45. package/dist/plugins/MagicDraggable/src/composables/private/useDraggableSnap.d.ts +6 -4
  46. package/dist/plugins/MagicDraggable/src/composables/private/useDraggableSnap.mjs +54 -19
  47. package/dist/plugins/MagicDraggable/src/composables/private/useDraggableState.mjs +4 -4
  48. package/dist/plugins/MagicDraggable/src/types/index.d.ts +1 -1
  49. package/dist/plugins/MagicDraggable/src/utils/defaultOptions.mjs +1 -1
  50. package/dist/plugins/MagicDrawer/src/components/MagicDrawer.vue +33 -24
  51. package/dist/plugins/MagicDrawer/src/components/MagicDrawer.vue.d.ts +165 -24
  52. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerDOM.mjs +34 -14
  53. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerDrag.d.ts +2 -2
  54. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerDrag.mjs +3 -3
  55. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerGuards.d.ts +1 -1
  56. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerGuards.mjs +28 -10
  57. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerProgress.d.ts +2 -2
  58. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerSnap.d.ts +3 -3
  59. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerSnap.mjs +16 -14
  60. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerWheel.d.ts +1 -1
  61. package/dist/plugins/MagicMarquee/src/components/MagicMarquee.vue +15 -15
  62. package/dist/plugins/MagicMarquee/src/components/MagicMarquee.vue.d.ts +14 -25
  63. package/dist/plugins/MagicMarquee/src/composables/private/useMarqueeApi.d.ts +1 -1
  64. package/dist/plugins/MagicMarquee/src/composables/private/useMarqueeApi.mjs +8 -2
  65. package/dist/plugins/MagicMenu/src/components/MagicMenuChannel.vue +4 -5
  66. package/dist/plugins/MagicMenu/src/components/MagicMenuChannel.vue.d.ts +18 -21
  67. package/dist/plugins/MagicMenu/src/components/MagicMenuContent.vue +3 -6
  68. package/dist/plugins/MagicMenu/src/components/MagicMenuContent.vue.d.ts +41 -24
  69. package/dist/plugins/MagicMenu/src/components/MagicMenuFloat.vue +5 -7
  70. package/dist/plugins/MagicMenu/src/components/MagicMenuFloat.vue.d.ts +40 -25
  71. package/dist/plugins/MagicMenu/src/components/MagicMenuItem.vue +3 -14
  72. package/dist/plugins/MagicMenu/src/components/MagicMenuItem.vue.d.ts +31 -28
  73. package/dist/plugins/MagicMenu/src/components/MagicMenuProvider.vue +19 -8
  74. package/dist/plugins/MagicMenu/src/components/MagicMenuProvider.vue.d.ts +12 -58
  75. package/dist/plugins/MagicMenu/src/components/MagicMenuRemote.vue +28 -38
  76. package/dist/plugins/MagicMenu/src/components/MagicMenuRemote.vue.d.ts +19 -23
  77. package/dist/plugins/MagicMenu/src/components/MagicMenuTrigger.vue +29 -19
  78. package/dist/plugins/MagicMenu/src/components/MagicMenuTrigger.vue.d.ts +27 -60
  79. package/dist/plugins/MagicMenu/src/components/MagicMenuView.vue +2 -2
  80. package/dist/plugins/MagicMenu/src/components/MagicMenuView.vue.d.ts +15 -22
  81. package/dist/plugins/MagicMenu/src/composables/private/useMenuCallback.mjs +1 -1
  82. package/dist/plugins/MagicMenu/src/composables/private/useMenuChannel.mjs +15 -5
  83. package/dist/plugins/MagicMenu/src/composables/private/useMenuCursor.d.ts +3 -3
  84. package/dist/plugins/MagicMenu/src/composables/private/useMenuCursor.mjs +4 -4
  85. package/dist/plugins/MagicMenu/src/composables/private/useMenuDOM.mjs +35 -15
  86. package/dist/plugins/MagicMenu/src/composables/private/useMenuTrigger.d.ts +1 -1
  87. package/dist/plugins/MagicMenu/src/composables/private/useMenuView.mjs +18 -6
  88. package/dist/plugins/MagicMenu/src/symbols/index.d.ts +4 -4
  89. package/dist/plugins/MagicMenu/src/utils/modeDelayDefaults.d.ts +2 -2
  90. package/dist/plugins/MagicMenu/src/utils/modeDelayDefaults.mjs +2 -2
  91. package/dist/plugins/MagicModal/src/components/MagicModal.vue +9 -9
  92. package/dist/plugins/MagicModal/src/components/MagicModal.vue.d.ts +44 -22
  93. package/dist/plugins/MagicModal/src/composables/private/useModalDOM.mjs +34 -14
  94. package/dist/plugins/MagicNoise/src/components/MagicNoise.vue +14 -14
  95. package/dist/plugins/MagicNoise/src/components/MagicNoise.vue.d.ts +1 -10
  96. package/dist/plugins/MagicNoise/src/composables/private/useNoiseApi.d.ts +3 -3
  97. package/dist/plugins/MagicNoise/src/composables/private/useNoiseApi.mjs +2 -2
  98. package/dist/plugins/MagicPie/index.d.ts +7 -0
  99. package/dist/plugins/MagicPie/index.mjs +8 -0
  100. package/dist/plugins/MagicPie/nuxt.d.ts +2 -0
  101. package/dist/plugins/MagicPie/nuxt.mjs +23 -0
  102. package/dist/plugins/MagicPie/src/components/MagicPie.vue +202 -0
  103. package/dist/plugins/MagicPie/src/components/MagicPie.vue.d.ts +7 -0
  104. package/dist/plugins/MagicPie/src/composables/private/usePieState.d.ts +6 -0
  105. package/dist/plugins/MagicPie/src/composables/private/usePieState.mjs +33 -0
  106. package/dist/plugins/MagicPie/src/composables/useMagicPie.d.ts +13 -0
  107. package/dist/plugins/MagicPie/src/composables/useMagicPie.mjs +43 -0
  108. package/dist/plugins/MagicPie/src/types/index.d.ts +9 -0
  109. package/dist/plugins/MagicPie/src/types/index.mjs +0 -0
  110. package/dist/plugins/MagicPlayer/src/components/MagicPlayerAudio.vue +14 -8
  111. package/dist/plugins/MagicPlayer/src/components/MagicPlayerAudioControls.vue +32 -38
  112. package/dist/plugins/MagicPlayer/src/components/MagicPlayerAudioControls.vue.d.ts +27 -26
  113. package/dist/plugins/MagicPlayer/src/components/MagicPlayerDisplayTime.vue.d.ts +1 -10
  114. package/dist/plugins/MagicPlayer/src/components/MagicPlayerMuxPopover.vue +19 -8
  115. package/dist/plugins/MagicPlayer/src/components/MagicPlayerMuxPopover.vue.d.ts +1 -10
  116. package/dist/plugins/MagicPlayer/src/components/MagicPlayerOverlay.vue +2 -2
  117. package/dist/plugins/MagicPlayer/src/components/MagicPlayerOverlay.vue.d.ts +29 -14
  118. package/dist/plugins/MagicPlayer/src/components/MagicPlayerPoster.vue.d.ts +13 -11
  119. package/dist/plugins/MagicPlayer/src/components/MagicPlayerProvider.vue +3 -4
  120. package/dist/plugins/MagicPlayer/src/components/MagicPlayerProvider.vue.d.ts +23 -23
  121. package/dist/plugins/MagicPlayer/src/components/MagicPlayerVideo.vue +3 -4
  122. package/dist/plugins/MagicPlayer/src/components/MagicPlayerVideoControls.vue +24 -25
  123. package/dist/plugins/MagicPlayer/src/components/MagicPlayerVideoControls.vue.d.ts +61 -33
  124. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerAudioApi.d.ts +2 -2
  125. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerAudioApi.mjs +3 -3
  126. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerControlsApi.d.ts +10 -10
  127. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerControlsApi.mjs +15 -9
  128. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerMediaApi.d.ts +13 -13
  129. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerMediaApi.mjs +18 -11
  130. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerRuntime.d.ts +3 -3
  131. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerRuntime.mjs +3 -3
  132. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerVideoApi.d.ts +6 -6
  133. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerVideoApi.mjs +4 -4
  134. package/dist/plugins/MagicPlayer/src/composables/useMagicPlayer.d.ts +20 -20
  135. package/dist/plugins/MagicScroll/src/components/MagicScrollCollision.vue +17 -8
  136. package/dist/plugins/MagicScroll/src/components/MagicScrollCollision.vue.d.ts +9 -23
  137. package/dist/plugins/MagicScroll/src/components/MagicScrollMotion.vue +11 -11
  138. package/dist/plugins/MagicScroll/src/components/MagicScrollMotion.vue.d.ts +9 -23
  139. package/dist/plugins/MagicScroll/src/components/MagicScrollProvider.vue.d.ts +45 -37
  140. package/dist/plugins/MagicScroll/src/components/MagicScrollScene.vue +18 -10
  141. package/dist/plugins/MagicScroll/src/components/MagicScrollScene.vue.d.ts +13 -24
  142. package/dist/plugins/MagicScroll/src/composables/private/useCollisionDetection.d.ts +2 -2
  143. package/dist/plugins/MagicScroll/src/composables/private/useCollisionDetection.mjs +3 -3
  144. package/dist/plugins/MagicScroll/src/composables/private/useScrollApi.mjs +14 -4
  145. package/dist/plugins/MagicScroll/src/symbols/index.d.ts +1 -1
  146. package/dist/plugins/MagicToast/src/components/MagicToastProvider.vue +23 -29
  147. package/dist/plugins/MagicToast/src/components/MagicToastProvider.vue.d.ts +1 -10
  148. package/dist/plugins/MagicToast/src/components/MagicToastView.vue +8 -11
  149. package/dist/plugins/MagicToast/src/components/MagicToastView.vue.d.ts +24 -23
  150. package/dist/plugins/MagicToast/src/composables/private/useToastCallback.d.ts +2 -2
  151. package/dist/plugins/MagicToast/src/composables/private/useToastCallback.mjs +5 -5
  152. package/dist/plugins/MagicToast/src/composables/private/useToastDrag.mjs +22 -22
  153. package/dist/plugins/MagicToast/src/composables/private/useToastScrollLock.mjs +33 -15
  154. package/dist/plugins/MagicToast/src/composables/useMagicToast.d.ts +1 -0
  155. package/dist/plugins/MagicToast/src/composables/useMagicToast.mjs +10 -2
  156. package/dist/plugins/MagicToast/src/types/index.d.ts +1 -1
  157. package/dist/plugins/MagicToast/src/utils/defaultOptions.mjs +1 -1
  158. package/dist/plugins/index.d.ts +1 -0
  159. package/dist/plugins/index.mjs +1 -0
  160. package/dist/utils/index.d.ts +9 -4
  161. package/dist/utils/index.js +39 -3
  162. package/dist/utils/index.js.map +1 -1
  163. package/package.json +16 -7
@@ -1,7 +1,7 @@
1
1
  <script>
2
2
  import { defineComponent as _defineComponent } from "vue";
3
3
  import { unref as _unref, renderSlot as _renderSlot, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, Transition as _Transition, withCtx as _withCtx, createBlock as _createBlock } from "vue";
4
- const _hoisted_1 = ["id", "data-initialized", "data-id"];
4
+ const _hoisted_1 = ["data-initialized", "data-id"];
5
5
  import { computed, inject, provide } from "vue";
6
6
  import { useMenuChannel } from "../composables/private/useMenuChannel";
7
7
  import {
@@ -39,7 +39,6 @@ export default /* @__PURE__ */ _defineComponent({
39
39
  }
40
40
  }
41
41
  const mappedId = computed(() => `magic-menu-channel-${__props.id}`);
42
- const mappedActive = computed(() => channel.active);
43
42
  const mappedTransition = computed(
44
43
  () => __props.transition ?? state.options.transition.channel
45
44
  );
@@ -50,6 +49,7 @@ export default /* @__PURE__ */ _defineComponent({
50
49
  const channel = initializeChannel({
51
50
  id: mappedId.value
52
51
  });
52
+ const mappedActive = computed(() => channel.active);
53
53
  provide(MagicMenuChannelId, mappedId.value);
54
54
  provide(MagicMenuChannelActive, mappedActive);
55
55
  return (_ctx, _cache) => {
@@ -57,7 +57,6 @@ export default /* @__PURE__ */ _defineComponent({
57
57
  default: _withCtx(() => [
58
58
  _unref(channel).active ? (_openBlock(), _createElementBlock("div", {
59
59
  key: 0,
60
- id: _ctx.id,
61
60
  class: "magic-menu-channel",
62
61
  "data-initialized": _unref(state).active,
63
62
  "data-id": mappedId.value
@@ -75,14 +74,14 @@ export default /* @__PURE__ */ _defineComponent({
75
74
 
76
75
  <style>
77
76
  .magic-menu-channel-enter-active {
78
- animation: fade-in 300ms ease;
77
+ animation: fade-in 225ms ease;
79
78
  &[data-initialized='true'] {
80
79
  position: absolute;
81
80
  }
82
81
  }
83
82
 
84
83
  .magic-menu-channel-leave-active {
85
- animation: fade-out 300ms ease;
84
+ animation: fade-out 225ms ease;
86
85
  &[data-initialized='true'] {
87
86
  position: absolute;
88
87
  }
@@ -2,28 +2,25 @@ interface MagicMenuChannelProps {
2
2
  id: string;
3
3
  transition?: string;
4
4
  }
5
- declare function __VLS_template(): {
6
- attrs: Partial<{}>;
7
- slots: {
8
- default?(_: {}): any;
9
- };
10
- refs: {};
11
- rootEl: any;
12
- };
13
- type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
14
- declare const __VLS_component: import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<MagicMenuChannelProps>>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<MagicMenuChannelProps>>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
15
- declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
5
+ declare const state: import("../types").MenuState;
6
+ declare const mappedId: import("vue").ComputedRef<string>;
7
+ declare const mappedTransition: import("vue").ComputedRef<string>;
8
+ declare const channel: import("../types").MenuChannel;
9
+ declare const __VLS_ctx: InstanceType<__VLS_PickNotAny<typeof __VLS_self, new () => {}>>;
10
+ declare var __VLS_5: {};
11
+ type __VLS_Slots = __VLS_PrettifyGlobal<__VLS_OmitStringIndex<typeof __VLS_ctx.$slots> & {
12
+ default?: (props: typeof __VLS_5) => any;
13
+ }>;
14
+ declare const __VLS_self: import("vue").DefineComponent<MagicMenuChannelProps, {
15
+ state: typeof state;
16
+ mappedId: typeof mappedId;
17
+ mappedTransition: typeof mappedTransition;
18
+ channel: typeof channel;
19
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MagicMenuChannelProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
20
+ declare const __VLS_component: import("vue").DefineComponent<MagicMenuChannelProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MagicMenuChannelProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
21
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
16
22
  export default _default;
17
- type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
18
- type __VLS_TypePropsToOption<T> = {
19
- [K in keyof T]-?: {} extends Pick<T, K> ? {
20
- type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
21
- } : {
22
- type: import('vue').PropType<T[K]>;
23
- required: true;
24
- };
25
- };
26
- type __VLS_WithTemplateSlots<T, S> = T & {
23
+ type __VLS_WithSlots<T, S> = T & {
27
24
  new (): {
28
25
  $slots: S;
29
26
  };
@@ -4,7 +4,7 @@ import { unref as _unref, renderSlot as _renderSlot, createElementVNode as _crea
4
4
  const _hoisted_1 = ["data-id"];
5
5
  const _hoisted_2 = ["data-pointer-disabled"];
6
6
  import {
7
- ref,
7
+ shallowRef,
8
8
  inject,
9
9
  provide,
10
10
  nextTick,
@@ -38,7 +38,6 @@ export default /* @__PURE__ */ _defineComponent({
38
38
  referenceEl: { type: null, required: false }
39
39
  },
40
40
  setup(__props) {
41
- const contentRef = ref(void 0);
42
41
  const instanceId = inject(MagicMenuInstanceId, void 0);
43
42
  const viewId = inject(MagicMenuViewId, void 0);
44
43
  if (!instanceId) {
@@ -64,8 +63,8 @@ export default /* @__PURE__ */ _defineComponent({
64
63
  return ModeTransitions[state.options.mode];
65
64
  }
66
65
  });
67
- const innerActive = ref(false);
68
- const wrapperActive = ref(false);
66
+ const innerActive = shallowRef(false);
67
+ const wrapperActive = shallowRef(false);
69
68
  const {
70
69
  lockScroll,
71
70
  unlockScroll,
@@ -182,8 +181,6 @@ export default /* @__PURE__ */ _defineComponent({
182
181
  }, _createSlots({
183
182
  default: _withCtx(() => [
184
183
  _createElementVNode("div", {
185
- ref_key: "contentRef",
186
- ref: contentRef,
187
184
  class: "magic-menu-content__inner",
188
185
  "data-pointer-disabled": pointerDisabled.value
189
186
  }, [
@@ -8,31 +8,48 @@ interface MagicMenuContentProps {
8
8
  transition?: string;
9
9
  referenceEl?: MaybeRef<HTMLElement | ComponentPublicInstance>;
10
10
  }
11
- declare function __VLS_template(): {
12
- attrs: Partial<{}>;
13
- slots: {
14
- arrow?(_: {}): any;
15
- default?(_: {}): any;
16
- };
17
- refs: {
18
- contentRef: HTMLDivElement;
19
- };
20
- rootEl: any;
21
- };
22
- type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
23
- declare const __VLS_component: import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<MagicMenuContentProps>>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<MagicMenuContentProps>>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
24
- declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
11
+ declare const viewId: string | undefined;
12
+ declare const view: import("../types").MenuView | undefined;
13
+ declare const state: import("../types").MenuState;
14
+ declare const pointerDisabled: import("vue").ComputedRef<boolean>;
15
+ declare const mappedTransition: import("vue").ComputedRef<string>;
16
+ declare const innerActive: import("vue").ShallowRef<boolean, boolean>;
17
+ declare const wrapperActive: import("vue").ShallowRef<boolean, boolean>;
18
+ declare const onBeforeEnter: () => void, onEnter: () => void, onAfterEnter: () => void, onBeforeLeave: () => void, onLeave: () => void, onAfterLeave: () => void;
19
+ declare const coords: import("vue").Ref<{
20
+ x: number;
21
+ y: number;
22
+ }[], import("../types").Coordinates[] | {
23
+ x: number;
24
+ y: number;
25
+ }[]>;
26
+ declare const __VLS_ctx: InstanceType<__VLS_PickNotAny<typeof __VLS_self, new () => {}>>;
27
+ declare var __VLS_13: {}, __VLS_15: {};
28
+ type __VLS_Slots = __VLS_PrettifyGlobal<__VLS_OmitStringIndex<typeof __VLS_ctx.$slots> & {
29
+ arrow?: (props: typeof __VLS_13) => any;
30
+ } & {
31
+ default?: (props: typeof __VLS_15) => any;
32
+ }>;
33
+ declare const __VLS_self: import("vue").DefineComponent<MagicMenuContentProps, {
34
+ viewId: typeof viewId;
35
+ view: typeof view;
36
+ state: typeof state;
37
+ pointerDisabled: typeof pointerDisabled;
38
+ mappedTransition: typeof mappedTransition;
39
+ innerActive: typeof innerActive;
40
+ wrapperActive: typeof wrapperActive;
41
+ onBeforeEnter: typeof onBeforeEnter;
42
+ onEnter: typeof onEnter;
43
+ onAfterEnter: typeof onAfterEnter;
44
+ onBeforeLeave: typeof onBeforeLeave;
45
+ onLeave: typeof onLeave;
46
+ onAfterLeave: typeof onAfterLeave;
47
+ coords: typeof coords;
48
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MagicMenuContentProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
49
+ declare const __VLS_component: import("vue").DefineComponent<MagicMenuContentProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MagicMenuContentProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
50
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
25
51
  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
- };
34
- };
35
- type __VLS_WithTemplateSlots<T, S> = T & {
52
+ type __VLS_WithSlots<T, S> = T & {
36
53
  new (): {
37
54
  $slots: S;
38
55
  };
@@ -7,7 +7,7 @@ const _hoisted_1 = {
7
7
  };
8
8
  const _hoisted_2 = ["points"];
9
9
  import {
10
- ref,
10
+ useTemplateRef,
11
11
  computed,
12
12
  inject,
13
13
  toValue
@@ -33,8 +33,8 @@ export default /* @__PURE__ */ _defineComponent({
33
33
  referenceEl: { type: null, required: false }
34
34
  },
35
35
  setup(__props) {
36
- const elRef = ref(void 0);
37
- const arrowRef = ref(void 0);
36
+ const elRef = useTemplateRef("el");
37
+ const arrowRef = useTemplateRef("arrow");
38
38
  const instanceId = inject(MagicMenuInstanceId, void 0);
39
39
  const viewId = inject(MagicMenuViewId, void 0);
40
40
  const { initializeState } = useMenuState(instanceId ?? "");
@@ -185,8 +185,7 @@ export default /* @__PURE__ */ _defineComponent({
185
185
  return _openBlock(), _createElementBlock(
186
186
  "div",
187
187
  {
188
- ref_key: "elRef",
189
- ref: elRef,
188
+ ref: "el",
190
189
  class: _normalizeClass(["magic-menu-float", placementClasses.value]),
191
190
  style: _normalizeStyle(_unref(floatingStyles))
192
191
  },
@@ -195,8 +194,7 @@ export default /* @__PURE__ */ _defineComponent({
195
194
  "div",
196
195
  {
197
196
  key: 0,
198
- ref_key: "arrowRef",
199
- ref: arrowRef,
197
+ ref: "arrow",
200
198
  class: "magic-menu-float__arrow",
201
199
  style: _normalizeStyle(arrowStyles.value)
202
200
  },
@@ -6,32 +6,47 @@ interface MagicMenuFloatProps {
6
6
  arrow?: boolean;
7
7
  referenceEl?: MaybeRef<HTMLElement | ComponentPublicInstance>;
8
8
  }
9
- declare function __VLS_template(): {
10
- attrs: Partial<{}>;
11
- slots: {
12
- arrow?(_: {}): any;
13
- default?(_: {}): any;
14
- };
15
- refs: {
16
- elRef: HTMLDivElement;
17
- arrowRef: HTMLDivElement;
18
- };
19
- rootEl: HTMLDivElement;
20
- };
21
- type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
22
- declare const __VLS_component: import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<MagicMenuFloatProps>>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<MagicMenuFloatProps>>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
23
- declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
9
+ declare const arrow: boolean;
10
+ declare const hasArrow: import("vue").ComputedRef<boolean>;
11
+ declare const floatingStyles: Readonly<import("vue").Ref<{
12
+ position: import("@floating-ui/vue").Strategy;
13
+ top: string;
14
+ left: string;
15
+ transform?: string;
16
+ willChange?: string;
17
+ }, {
18
+ position: import("@floating-ui/vue").Strategy;
19
+ top: string;
20
+ left: string;
21
+ transform?: string;
22
+ willChange?: string;
23
+ }>>;
24
+ declare const arrowStyles: import("vue").ComputedRef<{
25
+ transform?: undefined;
26
+ } | {
27
+ transform: string;
28
+ }>;
29
+ declare const placementClasses: import("vue").ComputedRef<string>;
30
+ declare const polygonPoints: import("vue").ComputedRef<"50,50 100,100 0,100" | "50,50 100,0 0,0" | "50,50 100,100 100,0" | "50,50 0,100 0,0" | undefined>;
31
+ declare const __VLS_ctx: InstanceType<__VLS_PickNotAny<typeof __VLS_self, new () => {}>>;
32
+ declare var __VLS_1: {}, __VLS_3: {};
33
+ type __VLS_Slots = __VLS_PrettifyGlobal<__VLS_OmitStringIndex<typeof __VLS_ctx.$slots> & {
34
+ arrow?: (props: typeof __VLS_1) => any;
35
+ } & {
36
+ default?: (props: typeof __VLS_3) => any;
37
+ }>;
38
+ declare const __VLS_self: import("vue").DefineComponent<MagicMenuFloatProps, {
39
+ arrow: typeof arrow;
40
+ hasArrow: typeof hasArrow;
41
+ floatingStyles: typeof floatingStyles;
42
+ arrowStyles: typeof arrowStyles;
43
+ placementClasses: typeof placementClasses;
44
+ polygonPoints: typeof polygonPoints;
45
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MagicMenuFloatProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
46
+ declare const __VLS_component: import("vue").DefineComponent<MagicMenuFloatProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MagicMenuFloatProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
47
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
24
48
  export default _default;
25
- type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
26
- type __VLS_TypePropsToOption<T> = {
27
- [K in keyof T]-?: {} extends Pick<T, K> ? {
28
- type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
29
- } : {
30
- type: import('vue').PropType<T[K]>;
31
- required: true;
32
- };
33
- };
34
- type __VLS_WithTemplateSlots<T, S> = T & {
49
+ type __VLS_WithSlots<T, S> = T & {
35
50
  new (): {
36
51
  $slots: S;
37
52
  };
@@ -1,20 +1,12 @@
1
1
  <script>
2
2
  import { defineComponent as _defineComponent } from "vue";
3
3
  import { unref as _unref, renderSlot as _renderSlot, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode } from "vue";
4
- const _hoisted_1 = ["id", "data-disabled", "data-active", "data-pointer-disabled"];
4
+ const _hoisted_1 = ["data-id", "data-disabled", "data-active", "data-pointer-disabled"];
5
5
  const _hoisted_2 = {
6
6
  key: 0,
7
7
  class: "magic-menu-item__pointer-guard"
8
8
  };
9
- import {
10
- ref,
11
- computed,
12
- inject,
13
- provide,
14
- onBeforeUnmount,
15
- watch,
16
- useId
17
- } from "vue";
9
+ import { computed, inject, provide, onBeforeUnmount, watch, useId } from "vue";
18
10
  import { useMenuItem } from "../composables/private/useMenuItem";
19
11
  import { useMenuState } from "../composables/private/useMenuState";
20
12
  import { useMenuView } from "../composables/private/useMenuView";
@@ -37,7 +29,6 @@ export default /* @__PURE__ */ _defineComponent({
37
29
  const instanceId = inject(MagicMenuInstanceId, void 0);
38
30
  const viewId = inject(MagicMenuViewId, void 0);
39
31
  const contentId = inject(MagicMenuContentId, void 0);
40
- const elRef = ref(void 0);
41
32
  if (!instanceId) {
42
33
  throw new Error("MagicMenuItem must be nested inside MagicMenuProvider");
43
34
  }
@@ -101,10 +92,8 @@ export default /* @__PURE__ */ _defineComponent({
101
92
  });
102
93
  return (_ctx, _cache) => {
103
94
  return _openBlock(), _createElementBlock("div", {
104
- id: mappedId.value,
105
- ref_key: "elRef",
106
- ref: elRef,
107
95
  class: "magic-menu-item",
96
+ "data-id": mappedId.value,
108
97
  "data-disabled": _ctx.disabled,
109
98
  "data-active": _unref(item).active,
110
99
  "data-pointer-disabled": pointerDisabled.value,
@@ -2,37 +2,40 @@ interface MagicMenuItemProps {
2
2
  id?: string;
3
3
  disabled?: boolean;
4
4
  }
5
- declare function __VLS_template(): {
6
- attrs: Partial<{}>;
7
- slots: {
8
- default?(_: {
9
- itemActive: boolean;
10
- itemDisabled: boolean;
11
- }): any;
12
- };
13
- refs: {
14
- elRef: HTMLDivElement;
15
- };
16
- rootEl: HTMLDivElement;
5
+ declare const mappedId: import("vue").ComputedRef<string>;
6
+ declare const item: import("../types").MenuItem;
7
+ declare const pointerDisabled: import("vue").ComputedRef<boolean>;
8
+ declare function guardedSelect(): void;
9
+ declare function guardedUnselect(): void;
10
+ declare function onClick(event: MouseEvent): void;
11
+ declare const __VLS_ctx: InstanceType<__VLS_PickNotAny<typeof __VLS_self, new () => {}>>;
12
+ declare var __VLS_1: {
13
+ itemActive: boolean;
14
+ itemDisabled: boolean;
17
15
  };
18
- type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
19
- declare const __VLS_component: import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<MagicMenuItemProps>>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
20
- click: (event: MouseEvent) => void;
21
- }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<MagicMenuItemProps>>> & Readonly<{
16
+ type __VLS_Slots = __VLS_PrettifyGlobal<__VLS_OmitStringIndex<typeof __VLS_ctx.$slots> & {
17
+ default?: (props: typeof __VLS_1) => any;
18
+ }>;
19
+ declare const __VLS_self: import("vue").DefineComponent<MagicMenuItemProps, {
20
+ mappedId: typeof mappedId;
21
+ item: typeof item;
22
+ pointerDisabled: typeof pointerDisabled;
23
+ guardedSelect: typeof guardedSelect;
24
+ guardedUnselect: typeof guardedUnselect;
25
+ onClick: typeof onClick;
26
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
27
+ click: (event: MouseEvent) => any;
28
+ }, string, import("vue").PublicProps, Readonly<MagicMenuItemProps> & Readonly<{
29
+ onClick?: ((event: MouseEvent) => any) | undefined;
30
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
31
+ declare const __VLS_component: import("vue").DefineComponent<MagicMenuItemProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
32
+ click: (event: MouseEvent) => any;
33
+ }, string, import("vue").PublicProps, Readonly<MagicMenuItemProps> & Readonly<{
22
34
  onClick?: ((event: MouseEvent) => any) | undefined;
23
- }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
24
- declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
35
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
36
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
25
37
  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
- };
34
- };
35
- type __VLS_WithTemplateSlots<T, S> = T & {
38
+ type __VLS_WithSlots<T, S> = T & {
36
39
  new (): {
37
40
  $slots: S;
38
41
  };
@@ -1,7 +1,14 @@
1
1
  <script>
2
2
  import { defineComponent as _defineComponent } from "vue";
3
3
  import { renderSlot as _renderSlot, unref as _unref, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock } from "vue";
4
- import { ref, provide, watch, onBeforeUnmount } from "vue";
4
+ import {
5
+ useTemplateRef,
6
+ shallowRef,
7
+ provide,
8
+ watch,
9
+ toValue,
10
+ onBeforeUnmount
11
+ } from "vue";
5
12
  import { onClickOutside, onKeyStroke, usePointer } from "@vueuse/core";
6
13
  import { Primitive } from "@maas/vue-primitive";
7
14
  import { defu } from "defu";
@@ -18,12 +25,12 @@ export default /* @__PURE__ */ _defineComponent({
18
25
  options: { type: Object, required: false }
19
26
  },
20
27
  setup(__props) {
21
- const elRef = ref(void 0);
28
+ const elRef = useTemplateRef("el");
22
29
  const mappedOptions = defu(__props.options, defaultOptions);
23
30
  const { initializeState, deleteState } = useMenuState(__props.id);
24
31
  const state = initializeState(mappedOptions);
25
- const lastX = ref(0);
26
- const lastY = ref(0);
32
+ const lastX = shallowRef(0);
33
+ const lastY = shallowRef(0);
27
34
  const { x, y } = usePointer();
28
35
  watch(
29
36
  () => state?.input.type,
@@ -67,7 +74,11 @@ export default /* @__PURE__ */ _defineComponent({
67
74
  unselectAllViews();
68
75
  },
69
76
  {
70
- ignore: [".magic-menu-trigger", ".magic-menu-item", "magic-menu-float"]
77
+ ignore: [
78
+ `[data-id='${toValue(__props.id)}'] .magic-menu-trigger`,
79
+ `[data-id='${toValue(__props.id)}'] .magic-menu-item`,
80
+ `.magic-menu-float`
81
+ ]
71
82
  }
72
83
  );
73
84
  onBeforeUnmount(() => {
@@ -76,9 +87,9 @@ export default /* @__PURE__ */ _defineComponent({
76
87
  provide(MagicMenuInstanceId, __props.id);
77
88
  return (_ctx, _cache) => {
78
89
  return _openBlock(), _createBlock(_unref(Primitive), {
79
- ref_key: "elRef",
80
- ref: elRef,
90
+ ref: "el",
81
91
  "as-child": _ctx.asChild,
92
+ "data-id": _ctx.id,
82
93
  class: "magic-menu-provider"
83
94
  }, {
84
95
  default: _withCtx(() => [
@@ -86,7 +97,7 @@ export default /* @__PURE__ */ _defineComponent({
86
97
  ]),
87
98
  _: 3
88
99
  /* FORWARDED */
89
- }, 8, ["as-child"]);
100
+ }, 8, ["as-child", "data-id"]);
90
101
  };
91
102
  }
92
103
  });
@@ -1,69 +1,23 @@
1
1
  import { type MaybeRef } from 'vue';
2
+ import { Primitive } from '@maas/vue-primitive';
2
3
  import type { MagicMenuOptions } from '../types/index.js';
3
4
  interface MagicMenuProviderProps {
4
5
  id: MaybeRef<string>;
5
6
  asChild?: boolean;
6
7
  options?: MagicMenuOptions;
7
8
  }
8
- declare function __VLS_template(): {
9
- attrs: Partial<{}>;
10
- slots: {
11
- default?(_: {}): any;
12
- };
13
- refs: {
14
- elRef: import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
15
- asChild: {
16
- type: BooleanConstructor;
17
- default: boolean;
18
- };
19
- as: {
20
- type: import("vue").PropType<import("@maas/vue-primitive").ElementOrComponent>;
21
- default: string;
22
- };
23
- }>>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
24
- [key: string]: any;
25
- }>, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").PublicProps, {
26
- asChild: boolean;
27
- as: import("@maas/vue-primitive").ElementOrComponent;
28
- }, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
29
- P: {};
30
- B: {};
31
- D: {};
32
- C: {};
33
- M: {};
34
- Defaults: {};
35
- }, Readonly<import("vue").ExtractPropTypes<{
36
- asChild: {
37
- type: BooleanConstructor;
38
- default: boolean;
39
- };
40
- as: {
41
- type: import("vue").PropType<import("@maas/vue-primitive").ElementOrComponent>;
42
- default: string;
43
- };
44
- }>>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
45
- [key: string]: any;
46
- }>, {}, {}, {}, {
47
- asChild: boolean;
48
- as: import("@maas/vue-primitive").ElementOrComponent;
49
- }> | null;
50
- };
51
- rootEl: any;
52
- };
53
- type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
54
- declare const __VLS_component: import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<MagicMenuProviderProps>>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<MagicMenuProviderProps>>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
55
- declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
9
+ declare const __VLS_ctx: InstanceType<__VLS_PickNotAny<typeof __VLS_self, new () => {}>>;
10
+ declare var __VLS_7: {};
11
+ type __VLS_Slots = __VLS_PrettifyGlobal<__VLS_OmitStringIndex<typeof __VLS_ctx.$slots> & {
12
+ default?: (props: typeof __VLS_7) => any;
13
+ }>;
14
+ declare const __VLS_self: import("vue").DefineComponent<MagicMenuProviderProps, {
15
+ Primitive: typeof Primitive;
16
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MagicMenuProviderProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
17
+ declare const __VLS_component: import("vue").DefineComponent<MagicMenuProviderProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MagicMenuProviderProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
18
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
56
19
  export default _default;
57
- type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
58
- type __VLS_TypePropsToOption<T> = {
59
- [K in keyof T]-?: {} extends Pick<T, K> ? {
60
- type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
61
- } : {
62
- type: import('vue').PropType<T[K]>;
63
- required: true;
64
- };
65
- };
66
- type __VLS_WithTemplateSlots<T, S> = T & {
20
+ type __VLS_WithSlots<T, S> = T & {
67
21
  new (): {
68
22
  $slots: S;
69
23
  };