@v-c/menu 0.0.4 → 0.0.6

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.
package/dist/Icon.cjs CHANGED
@@ -24,9 +24,9 @@ var Icon = /* @__PURE__ */ (0, vue.defineComponent)((props, { slots }) => {
24
24
  String,
25
25
  Number,
26
26
  null,
27
+ Boolean,
27
28
  Array,
28
- Function,
29
- Boolean
29
+ Function
30
30
  ],
31
31
  required: false,
32
32
  skipCheck: true,
package/dist/Icon.js CHANGED
@@ -22,9 +22,9 @@ var Icon_default = /* @__PURE__ */ defineComponent((props, { slots }) => {
22
22
  String,
23
23
  Number,
24
24
  null,
25
+ Boolean,
25
26
  Array,
26
- Function,
27
- Boolean
27
+ Function
28
28
  ],
29
29
  required: false,
30
30
  skipCheck: true,
package/dist/Menu.cjs CHANGED
@@ -140,11 +140,11 @@ var Menu = /* @__PURE__ */ (0, vue.defineComponent)((props, { slots, expose, att
140
140
  }
141
141
  if (!props.multiple && mergedOpenKeys.value.length && internalMode.value !== "inline") triggerOpenKeys(EMPTY_LIST);
142
142
  };
143
- const onInternalClick = require_useMemoCallback.default((info) => {
143
+ const onInternalClick = (info) => {
144
144
  props.onClick?.(require_warnUtil.warnItemProp(info));
145
145
  triggerSelection(info);
146
- });
147
- const onInternalOpenChange = require_useMemoCallback.default((key, open) => {
146
+ };
147
+ const onInternalOpenChange = (key, open) => {
148
148
  let newOpenKeys = mergedOpenKeys.value.filter((k) => k !== key);
149
149
  if (open) newOpenKeys.push(key);
150
150
  else if (internalMode.value !== "inline") {
@@ -152,7 +152,7 @@ var Menu = /* @__PURE__ */ (0, vue.defineComponent)((props, { slots, expose, att
152
152
  newOpenKeys = newOpenKeys.filter((k) => !subPathKeys.has(k));
153
153
  }
154
154
  if (!(0, __v_c_util_dist_isEqual.default)(mergedOpenKeys.value, newOpenKeys, true)) triggerOpenKeys(newOpenKeys, true);
155
- });
155
+ };
156
156
  const triggerAccessibilityOpen = (key, open) => {
157
157
  onInternalOpenChange(key, open ?? !mergedOpenKeys.value.includes(key));
158
158
  };
@@ -423,9 +423,9 @@ var Menu = /* @__PURE__ */ (0, vue.defineComponent)((props, { slots, expose, att
423
423
  String,
424
424
  Number,
425
425
  null,
426
+ Boolean,
426
427
  Array,
427
- Function,
428
- Boolean
428
+ Function
429
429
  ],
430
430
  required: false,
431
431
  skipCheck: true,
@@ -436,17 +436,24 @@ var Menu = /* @__PURE__ */ (0, vue.defineComponent)((props, { slots, expose, att
436
436
  String,
437
437
  Number,
438
438
  null,
439
+ Boolean,
439
440
  Array,
440
- Function,
441
- Boolean
441
+ Function
442
442
  ],
443
443
  required: false,
444
444
  skipCheck: true,
445
445
  default: void 0
446
446
  },
447
447
  overflowedIndicator: {
448
- type: null,
448
+ type: [
449
+ String,
450
+ Number,
451
+ null,
452
+ Boolean,
453
+ Array
454
+ ],
449
455
  required: false,
456
+ skipCheck: true,
450
457
  default: void 0
451
458
  },
452
459
  overflowedIndicatorPopupClassName: {
package/dist/Menu.js CHANGED
@@ -135,11 +135,11 @@ var Menu_default = /* @__PURE__ */ defineComponent((props, { slots, expose, attr
135
135
  }
136
136
  if (!props.multiple && mergedOpenKeys.value.length && internalMode.value !== "inline") triggerOpenKeys(EMPTY_LIST);
137
137
  };
138
- const onInternalClick = useMemoCallback((info) => {
138
+ const onInternalClick = (info) => {
139
139
  props.onClick?.(warnItemProp(info));
140
140
  triggerSelection(info);
141
- });
142
- const onInternalOpenChange = useMemoCallback((key, open) => {
141
+ };
142
+ const onInternalOpenChange = (key, open) => {
143
143
  let newOpenKeys = mergedOpenKeys.value.filter((k) => k !== key);
144
144
  if (open) newOpenKeys.push(key);
145
145
  else if (internalMode.value !== "inline") {
@@ -147,7 +147,7 @@ var Menu_default = /* @__PURE__ */ defineComponent((props, { slots, expose, attr
147
147
  newOpenKeys = newOpenKeys.filter((k) => !subPathKeys.has(k));
148
148
  }
149
149
  if (!isEqual(mergedOpenKeys.value, newOpenKeys, true)) triggerOpenKeys(newOpenKeys, true);
150
- });
150
+ };
151
151
  const triggerAccessibilityOpen = (key, open) => {
152
152
  onInternalOpenChange(key, open ?? !mergedOpenKeys.value.includes(key));
153
153
  };
@@ -418,9 +418,9 @@ var Menu_default = /* @__PURE__ */ defineComponent((props, { slots, expose, attr
418
418
  String,
419
419
  Number,
420
420
  null,
421
+ Boolean,
421
422
  Array,
422
- Function,
423
- Boolean
423
+ Function
424
424
  ],
425
425
  required: false,
426
426
  skipCheck: true,
@@ -431,17 +431,24 @@ var Menu_default = /* @__PURE__ */ defineComponent((props, { slots, expose, attr
431
431
  String,
432
432
  Number,
433
433
  null,
434
+ Boolean,
434
435
  Array,
435
- Function,
436
- Boolean
436
+ Function
437
437
  ],
438
438
  required: false,
439
439
  skipCheck: true,
440
440
  default: void 0
441
441
  },
442
442
  overflowedIndicator: {
443
- type: null,
443
+ type: [
444
+ String,
445
+ Number,
446
+ null,
447
+ Boolean,
448
+ Array
449
+ ],
444
450
  required: false,
451
+ skipCheck: true,
445
452
  default: void 0
446
453
  },
447
454
  overflowedIndicatorPopupClassName: {
package/dist/MenuItem.cjs CHANGED
@@ -168,17 +168,24 @@ var InternalMenuItem = /* @__PURE__ */ (0, vue.defineComponent)((props, { slots,
168
168
  String,
169
169
  Number,
170
170
  null,
171
+ Boolean,
171
172
  Array,
172
- Function,
173
- Boolean
173
+ Function
174
174
  ],
175
175
  required: false,
176
176
  skipCheck: true,
177
177
  default: void 0
178
178
  },
179
179
  extra: {
180
- type: null,
180
+ type: [
181
+ String,
182
+ Number,
183
+ null,
184
+ Boolean,
185
+ Array
186
+ ],
181
187
  required: false,
188
+ skipCheck: true,
182
189
  default: void 0
183
190
  },
184
191
  onMouseEnter: {
@@ -219,7 +226,7 @@ var MenuItem = /* @__PURE__ */ (0, vue.defineComponent)((props, { slots, attrs }
219
226
  onCleanup(() => {
220
227
  measure?.unregisterPath(eventKey.value, connectedKeyPath.value);
221
228
  });
222
- });
229
+ }, { immediate: true });
223
230
  return () => {
224
231
  if (measure) return null;
225
232
  return (0, vue.createVNode)(InternalMenuItem, {
@@ -274,17 +281,24 @@ var MenuItem = /* @__PURE__ */ (0, vue.defineComponent)((props, { slots, attrs }
274
281
  String,
275
282
  Number,
276
283
  null,
284
+ Boolean,
277
285
  Array,
278
- Function,
279
- Boolean
286
+ Function
280
287
  ],
281
288
  required: false,
282
289
  skipCheck: true,
283
290
  default: void 0
284
291
  },
285
292
  extra: {
286
- type: null,
293
+ type: [
294
+ String,
295
+ Number,
296
+ null,
297
+ Boolean,
298
+ Array
299
+ ],
287
300
  required: false,
301
+ skipCheck: true,
288
302
  default: void 0
289
303
  },
290
304
  onMouseEnter: {
package/dist/MenuItem.js CHANGED
@@ -163,17 +163,24 @@ var InternalMenuItem = /* @__PURE__ */ defineComponent((props, { slots, attrs })
163
163
  String,
164
164
  Number,
165
165
  null,
166
+ Boolean,
166
167
  Array,
167
- Function,
168
- Boolean
168
+ Function
169
169
  ],
170
170
  required: false,
171
171
  skipCheck: true,
172
172
  default: void 0
173
173
  },
174
174
  extra: {
175
- type: null,
175
+ type: [
176
+ String,
177
+ Number,
178
+ null,
179
+ Boolean,
180
+ Array
181
+ ],
176
182
  required: false,
183
+ skipCheck: true,
177
184
  default: void 0
178
185
  },
179
186
  onMouseEnter: {
@@ -214,7 +221,7 @@ var MenuItem_default = /* @__PURE__ */ defineComponent((props, { slots, attrs })
214
221
  onCleanup(() => {
215
222
  measure?.unregisterPath(eventKey.value, connectedKeyPath.value);
216
223
  });
217
- });
224
+ }, { immediate: true });
218
225
  return () => {
219
226
  if (measure) return null;
220
227
  return createVNode(InternalMenuItem, {
@@ -269,17 +276,24 @@ var MenuItem_default = /* @__PURE__ */ defineComponent((props, { slots, attrs })
269
276
  String,
270
277
  Number,
271
278
  null,
279
+ Boolean,
272
280
  Array,
273
- Function,
274
- Boolean
281
+ Function
275
282
  ],
276
283
  required: false,
277
284
  skipCheck: true,
278
285
  default: void 0
279
286
  },
280
287
  extra: {
281
- type: null,
288
+ type: [
289
+ String,
290
+ Number,
291
+ null,
292
+ Boolean,
293
+ Array
294
+ ],
282
295
  required: false,
296
+ skipCheck: true,
283
297
  default: void 0
284
298
  },
285
299
  onMouseEnter: {
@@ -34,8 +34,15 @@ var InternalMenuItemGroup = /* @__PURE__ */ (0, vue.defineComponent)((props, { s
34
34
  }, {
35
35
  props: {
36
36
  title: {
37
- type: null,
37
+ type: [
38
+ String,
39
+ Number,
40
+ null,
41
+ Boolean,
42
+ Array
43
+ ],
38
44
  required: false,
45
+ skipCheck: true,
39
46
  default: void 0
40
47
  },
41
48
  eventKey: {
@@ -73,8 +80,15 @@ var MenuItemGroup = /* @__PURE__ */ (0, vue.defineComponent)((props, ctx) => {
73
80
  }, {
74
81
  props: {
75
82
  title: {
76
- type: null,
83
+ type: [
84
+ String,
85
+ Number,
86
+ null,
87
+ Boolean,
88
+ Array
89
+ ],
77
90
  required: false,
91
+ skipCheck: true,
78
92
  default: void 0
79
93
  },
80
94
  eventKey: {
@@ -31,8 +31,15 @@ var InternalMenuItemGroup = /* @__PURE__ */ defineComponent((props, { slots }) =
31
31
  }, {
32
32
  props: {
33
33
  title: {
34
- type: null,
34
+ type: [
35
+ String,
36
+ Number,
37
+ null,
38
+ Boolean,
39
+ Array
40
+ ],
35
41
  required: false,
42
+ skipCheck: true,
36
43
  default: void 0
37
44
  },
38
45
  eventKey: {
@@ -70,8 +77,15 @@ var MenuItemGroup_default = /* @__PURE__ */ defineComponent((props, ctx) => {
70
77
  }, {
71
78
  props: {
72
79
  title: {
73
- type: null,
80
+ type: [
81
+ String,
82
+ Number,
83
+ null,
84
+ Boolean,
85
+ Array
86
+ ],
74
87
  required: false,
88
+ skipCheck: true,
75
89
  default: void 0
76
90
  },
77
91
  eventKey: {
@@ -100,8 +100,15 @@ var PopupTrigger = /* @__PURE__ */ (0, vue.defineComponent)((props, { slots }) =
100
100
  default: void 0
101
101
  },
102
102
  popup: {
103
- type: null,
103
+ type: [
104
+ String,
105
+ Number,
106
+ null,
107
+ Boolean,
108
+ Array
109
+ ],
104
110
  required: true,
111
+ skipCheck: true,
105
112
  default: void 0
106
113
  },
107
114
  popupStyle: {
@@ -96,8 +96,15 @@ var PopupTrigger_default = /* @__PURE__ */ defineComponent((props, { slots }) =>
96
96
  default: void 0
97
97
  },
98
98
  popup: {
99
- type: null,
99
+ type: [
100
+ String,
101
+ Number,
102
+ null,
103
+ Boolean,
104
+ Array
105
+ ],
100
106
  required: true,
107
+ skipCheck: true,
101
108
  default: void 0
102
109
  },
103
110
  popupStyle: {
@@ -205,8 +205,15 @@ var InternalSubMenu = /* @__PURE__ */ (0, vue.defineComponent)((props, { slots,
205
205
  default: void 0
206
206
  },
207
207
  title: {
208
- type: null,
208
+ type: [
209
+ String,
210
+ Number,
211
+ null,
212
+ Boolean,
213
+ Array
214
+ ],
209
215
  required: false,
216
+ skipCheck: true,
210
217
  default: void 0
211
218
  },
212
219
  internalPopupClose: {
@@ -249,9 +256,9 @@ var InternalSubMenu = /* @__PURE__ */ (0, vue.defineComponent)((props, { slots,
249
256
  String,
250
257
  Number,
251
258
  null,
259
+ Boolean,
252
260
  Array,
253
- Function,
254
- Boolean
261
+ Function
255
262
  ],
256
263
  required: false,
257
264
  skipCheck: true,
@@ -262,9 +269,9 @@ var InternalSubMenu = /* @__PURE__ */ (0, vue.defineComponent)((props, { slots,
262
269
  String,
263
270
  Number,
264
271
  null,
272
+ Boolean,
265
273
  Array,
266
- Function,
267
- Boolean
274
+ Function
268
275
  ],
269
276
  required: false,
270
277
  skipCheck: true,
@@ -330,19 +337,23 @@ var InternalSubMenu = /* @__PURE__ */ (0, vue.defineComponent)((props, { slots,
330
337
  inheritAttrs: false
331
338
  });
332
339
  var SubMenu = /* @__PURE__ */ (0, vue.defineComponent)((props, { slots }) => {
333
- const connectedKeyPath = require_PathContext.useFullPath((0, vue.computed)(() => props?.eventKey));
340
+ const eventKey = (0, vue.computed)(() => props?.eventKey);
341
+ const connectedKeyPath = require_PathContext.useFullPath(eventKey);
334
342
  const measure = require_PathContext.useMeasure();
335
343
  const validKeyPath = (0, vue.computed)(() => connectedKeyPath.value.filter((k) => k !== void 0));
336
- (0, vue.watch)([validKeyPath, () => props.eventKey], () => {
337
- if (measure && props.eventKey) measure.registerPath(props.eventKey, validKeyPath.value);
338
- });
344
+ (0, vue.watch)([connectedKeyPath], (_n, _o, onCleanup) => {
345
+ if (measure) measure.registerPath(eventKey.value, connectedKeyPath.value);
346
+ onCleanup(() => {
347
+ measure?.unregisterPath(eventKey.value, connectedKeyPath.value);
348
+ });
349
+ }, { immediate: true });
339
350
  return () => {
340
351
  const children = slots.default?.();
341
352
  const childList = require_commonUtil.parseChildren(children, validKeyPath.value);
342
353
  let renderNode;
343
354
  if (measure) renderNode = childList;
344
355
  else renderNode = (0, vue.createVNode)(InternalSubMenu, props, _isSlot(childList) ? childList : { default: () => [childList] });
345
- return (0, vue.createVNode)(require_PathContext.PathTrackerContext.Provider, { "value": validKeyPath.value }, _isSlot(renderNode) ? renderNode : { default: () => [renderNode] });
356
+ return (0, vue.createVNode)(require_PathContext.PathTrackerContext.Provider, { "value": connectedKeyPath.value }, _isSlot(renderNode) ? renderNode : { default: () => [renderNode] });
346
357
  };
347
358
  }, {
348
359
  props: {
@@ -357,8 +368,15 @@ var SubMenu = /* @__PURE__ */ (0, vue.defineComponent)((props, { slots }) => {
357
368
  default: void 0
358
369
  },
359
370
  title: {
360
- type: null,
371
+ type: [
372
+ String,
373
+ Number,
374
+ null,
375
+ Boolean,
376
+ Array
377
+ ],
361
378
  required: false,
379
+ skipCheck: true,
362
380
  default: void 0
363
381
  },
364
382
  internalPopupClose: {
@@ -401,9 +419,9 @@ var SubMenu = /* @__PURE__ */ (0, vue.defineComponent)((props, { slots }) => {
401
419
  String,
402
420
  Number,
403
421
  null,
422
+ Boolean,
404
423
  Array,
405
- Function,
406
- Boolean
424
+ Function
407
425
  ],
408
426
  required: false,
409
427
  skipCheck: true,
@@ -414,9 +432,9 @@ var SubMenu = /* @__PURE__ */ (0, vue.defineComponent)((props, { slots }) => {
414
432
  String,
415
433
  Number,
416
434
  null,
435
+ Boolean,
417
436
  Array,
418
- Function,
419
- Boolean
437
+ Function
420
438
  ],
421
439
  required: false,
422
440
  skipCheck: true,
@@ -201,8 +201,15 @@ var InternalSubMenu = /* @__PURE__ */ defineComponent((props, { slots, attrs })
201
201
  default: void 0
202
202
  },
203
203
  title: {
204
- type: null,
204
+ type: [
205
+ String,
206
+ Number,
207
+ null,
208
+ Boolean,
209
+ Array
210
+ ],
205
211
  required: false,
212
+ skipCheck: true,
206
213
  default: void 0
207
214
  },
208
215
  internalPopupClose: {
@@ -245,9 +252,9 @@ var InternalSubMenu = /* @__PURE__ */ defineComponent((props, { slots, attrs })
245
252
  String,
246
253
  Number,
247
254
  null,
255
+ Boolean,
248
256
  Array,
249
- Function,
250
- Boolean
257
+ Function
251
258
  ],
252
259
  required: false,
253
260
  skipCheck: true,
@@ -258,9 +265,9 @@ var InternalSubMenu = /* @__PURE__ */ defineComponent((props, { slots, attrs })
258
265
  String,
259
266
  Number,
260
267
  null,
268
+ Boolean,
261
269
  Array,
262
- Function,
263
- Boolean
270
+ Function
264
271
  ],
265
272
  required: false,
266
273
  skipCheck: true,
@@ -326,19 +333,23 @@ var InternalSubMenu = /* @__PURE__ */ defineComponent((props, { slots, attrs })
326
333
  inheritAttrs: false
327
334
  });
328
335
  var SubMenu_default = /* @__PURE__ */ defineComponent((props, { slots }) => {
329
- const connectedKeyPath = useFullPath(computed(() => props?.eventKey));
336
+ const eventKey = computed(() => props?.eventKey);
337
+ const connectedKeyPath = useFullPath(eventKey);
330
338
  const measure = useMeasure();
331
339
  const validKeyPath = computed(() => connectedKeyPath.value.filter((k) => k !== void 0));
332
- watch([validKeyPath, () => props.eventKey], () => {
333
- if (measure && props.eventKey) measure.registerPath(props.eventKey, validKeyPath.value);
334
- });
340
+ watch([connectedKeyPath], (_n, _o, onCleanup) => {
341
+ if (measure) measure.registerPath(eventKey.value, connectedKeyPath.value);
342
+ onCleanup(() => {
343
+ measure?.unregisterPath(eventKey.value, connectedKeyPath.value);
344
+ });
345
+ }, { immediate: true });
335
346
  return () => {
336
347
  const children = slots.default?.();
337
348
  const childList = parseChildren(children, validKeyPath.value);
338
349
  let renderNode;
339
350
  if (measure) renderNode = childList;
340
351
  else renderNode = createVNode(InternalSubMenu, props, _isSlot(childList) ? childList : { default: () => [childList] });
341
- return createVNode(PathTrackerContext.Provider, { "value": validKeyPath.value }, _isSlot(renderNode) ? renderNode : { default: () => [renderNode] });
352
+ return createVNode(PathTrackerContext.Provider, { "value": connectedKeyPath.value }, _isSlot(renderNode) ? renderNode : { default: () => [renderNode] });
342
353
  };
343
354
  }, {
344
355
  props: {
@@ -353,8 +364,15 @@ var SubMenu_default = /* @__PURE__ */ defineComponent((props, { slots }) => {
353
364
  default: void 0
354
365
  },
355
366
  title: {
356
- type: null,
367
+ type: [
368
+ String,
369
+ Number,
370
+ null,
371
+ Boolean,
372
+ Array
373
+ ],
357
374
  required: false,
375
+ skipCheck: true,
358
376
  default: void 0
359
377
  },
360
378
  internalPopupClose: {
@@ -397,9 +415,9 @@ var SubMenu_default = /* @__PURE__ */ defineComponent((props, { slots }) => {
397
415
  String,
398
416
  Number,
399
417
  null,
418
+ Boolean,
400
419
  Array,
401
- Function,
402
- Boolean
420
+ Function
403
421
  ],
404
422
  required: false,
405
423
  skipCheck: true,
@@ -410,9 +428,9 @@ var SubMenu_default = /* @__PURE__ */ defineComponent((props, { slots }) => {
410
428
  String,
411
429
  Number,
412
430
  null,
431
+ Boolean,
413
432
  Array,
414
- Function,
415
- Boolean
433
+ Function
416
434
  ],
417
435
  required: false,
418
436
  skipCheck: true,
@@ -148,9 +148,9 @@ var InheritableContextProvider = /* @__PURE__ */ (0, vue.defineComponent)((props
148
148
  String,
149
149
  Number,
150
150
  null,
151
+ Boolean,
151
152
  Array,
152
- Function,
153
- Boolean
153
+ Function
154
154
  ],
155
155
  required: false,
156
156
  skipCheck: true,
@@ -161,9 +161,9 @@ var InheritableContextProvider = /* @__PURE__ */ (0, vue.defineComponent)((props
161
161
  String,
162
162
  Number,
163
163
  null,
164
+ Boolean,
164
165
  Array,
165
- Function,
166
- Boolean
166
+ Function
167
167
  ],
168
168
  required: false,
169
169
  skipCheck: true,
@@ -145,9 +145,9 @@ var MenuContext_default = /* @__PURE__ */ defineComponent((props, { slots }) =>
145
145
  String,
146
146
  Number,
147
147
  null,
148
+ Boolean,
148
149
  Array,
149
- Function,
150
- Boolean
150
+ Function
151
151
  ],
152
152
  required: false,
153
153
  skipCheck: true,
@@ -158,9 +158,9 @@ var MenuContext_default = /* @__PURE__ */ defineComponent((props, { slots }) =>
158
158
  String,
159
159
  Number,
160
160
  null,
161
+ Boolean,
161
162
  Array,
162
- Function,
163
- Boolean
163
+ Function
164
164
  ],
165
165
  required: false,
166
166
  skipCheck: true,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@v-c/menu",
3
3
  "type": "module",
4
- "version": "0.0.4",
4
+ "version": "0.0.6",
5
5
  "description": "menu ui component for vue",
6
6
  "exports": {
7
7
  ".": {
@@ -25,9 +25,9 @@
25
25
  "vue": "^3.0.0"
26
26
  },
27
27
  "dependencies": {
28
- "@v-c/overflow": "0.0.1",
29
- "@v-c/trigger": "0.0.13",
30
- "@v-c/util": "0.0.13"
28
+ "@v-c/overflow": "0.0.2",
29
+ "@v-c/trigger": "0.0.15",
30
+ "@v-c/util": "0.0.15"
31
31
  },
32
32
  "scripts": {
33
33
  "build": "vite build",