@v-c/menu 0.0.1 → 0.0.3

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 (58) hide show
  1. package/dist/Divider.cjs +33 -36
  2. package/dist/Divider.js +28 -34
  3. package/dist/Icon.cjs +39 -38
  4. package/dist/Icon.js +36 -38
  5. package/dist/Menu.cjs +506 -575
  6. package/dist/Menu.d.ts +2 -0
  7. package/dist/Menu.js +495 -570
  8. package/dist/MenuItem.cjs +314 -344
  9. package/dist/MenuItem.js +303 -339
  10. package/dist/MenuItemGroup.cjs +98 -116
  11. package/dist/MenuItemGroup.js +91 -113
  12. package/dist/SubMenu/InlineSubMenuList.cjs +58 -82
  13. package/dist/SubMenu/InlineSubMenuList.js +54 -81
  14. package/dist/SubMenu/PopupTrigger.cjs +133 -167
  15. package/dist/SubMenu/PopupTrigger.d.ts +2 -2
  16. package/dist/SubMenu/PopupTrigger.js +126 -165
  17. package/dist/SubMenu/SubMenuList.cjs +18 -26
  18. package/dist/SubMenu/SubMenuList.js +14 -25
  19. package/dist/SubMenu/index.cjs +479 -526
  20. package/dist/SubMenu/index.js +469 -521
  21. package/dist/_virtual/rolldown_runtime.cjs +21 -0
  22. package/dist/context/IdContext.cjs +15 -23
  23. package/dist/context/IdContext.js +15 -27
  24. package/dist/context/MenuContext.cjs +183 -174
  25. package/dist/context/MenuContext.js +180 -177
  26. package/dist/context/PathContext.cjs +54 -79
  27. package/dist/context/PathContext.js +54 -90
  28. package/dist/context/PrivateContext.cjs +11 -17
  29. package/dist/context/PrivateContext.js +11 -20
  30. package/dist/hooks/useAccessibility.cjs +171 -191
  31. package/dist/hooks/useAccessibility.js +168 -193
  32. package/dist/hooks/useActive.cjs +25 -28
  33. package/dist/hooks/useActive.js +23 -28
  34. package/dist/hooks/useDirectionStyle.cjs +11 -17
  35. package/dist/hooks/useDirectionStyle.js +9 -17
  36. package/dist/hooks/useKeyRecords.cjs +70 -88
  37. package/dist/hooks/useKeyRecords.js +68 -89
  38. package/dist/hooks/useMemoCallback.cjs +9 -9
  39. package/dist/hooks/useMemoCallback.js +7 -9
  40. package/dist/index.cjs +21 -21
  41. package/dist/index.d.ts +2 -2
  42. package/dist/index.js +12 -20
  43. package/dist/interface.cjs +0 -1
  44. package/dist/interface.js +0 -1
  45. package/dist/placements.cjs +70 -70
  46. package/dist/placements.js +69 -72
  47. package/dist/utils/commonUtil.cjs +24 -26
  48. package/dist/utils/commonUtil.js +23 -26
  49. package/dist/utils/motionUtil.cjs +2 -9
  50. package/dist/utils/motionUtil.js +3 -10
  51. package/dist/utils/nodeUtil.cjs +49 -77
  52. package/dist/utils/nodeUtil.d.ts +4 -1
  53. package/dist/utils/nodeUtil.js +48 -77
  54. package/dist/utils/timeUtil.cjs +2 -3
  55. package/dist/utils/timeUtil.js +3 -4
  56. package/dist/utils/warnUtil.cjs +8 -14
  57. package/dist/utils/warnUtil.js +7 -14
  58. package/package.json +2 -2
package/dist/Divider.cjs CHANGED
@@ -1,38 +1,35 @@
1
- "use strict";
2
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const vue = require("vue");
4
- const util = require("@v-c/util");
5
- const MenuContext = require("./context/MenuContext.cjs");
6
- const PathContext = require("./context/PathContext.cjs");
7
- const Divider = /* @__PURE__ */ vue.defineComponent((props) => {
8
- const menuContext = MenuContext.useMenuContext();
9
- const measure = PathContext.useMeasure();
10
- return () => {
11
- const {
12
- prefixCls
13
- } = menuContext?.value ?? {};
14
- if (measure) {
15
- return null;
16
- }
17
- return vue.createVNode("li", {
18
- "role": "separator",
19
- "class": util.clsx(`${prefixCls}-item-divider`, props.class),
20
- "style": props.style
21
- }, null);
22
- };
1
+ Object.defineProperty(exports, "__esModule", { value: true });
2
+ const require_rolldown_runtime = require("./_virtual/rolldown_runtime.cjs");
3
+ const require_MenuContext = require("./context/MenuContext.cjs");
4
+ const require_PathContext = require("./context/PathContext.cjs");
5
+ let vue = require("vue");
6
+ let __v_c_util = require("@v-c/util");
7
+ var Divider = /* @__PURE__ */ (0, vue.defineComponent)((props) => {
8
+ const menuContext = require_MenuContext.useMenuContext();
9
+ const measure = require_PathContext.useMeasure();
10
+ return () => {
11
+ const { prefixCls } = menuContext?.value ?? {};
12
+ if (measure) return null;
13
+ return (0, vue.createVNode)("li", {
14
+ "role": "separator",
15
+ "class": (0, __v_c_util.clsx)(`${prefixCls}-item-divider`, props.class),
16
+ "style": props.style
17
+ }, null);
18
+ };
23
19
  }, {
24
- props: {
25
- style: {
26
- type: null,
27
- required: false,
28
- default: void 0
29
- },
30
- class: {
31
- type: String,
32
- required: false,
33
- default: void 0
34
- }
35
- },
36
- name: "Divider"
20
+ props: {
21
+ style: {
22
+ type: null,
23
+ required: false,
24
+ default: void 0
25
+ },
26
+ class: {
27
+ type: String,
28
+ required: false,
29
+ default: void 0
30
+ }
31
+ },
32
+ name: "Divider"
37
33
  });
38
- exports.default = Divider;
34
+ var Divider_default = Divider;
35
+ exports.default = Divider_default;
package/dist/Divider.js CHANGED
@@ -1,38 +1,32 @@
1
- import { defineComponent, createVNode } from "vue";
2
- import { clsx } from "@v-c/util";
3
1
  import { useMenuContext } from "./context/MenuContext.js";
4
2
  import { useMeasure } from "./context/PathContext.js";
5
- const Divider = /* @__PURE__ */ defineComponent((props) => {
6
- const menuContext = useMenuContext();
7
- const measure = useMeasure();
8
- return () => {
9
- const {
10
- prefixCls
11
- } = menuContext?.value ?? {};
12
- if (measure) {
13
- return null;
14
- }
15
- return createVNode("li", {
16
- "role": "separator",
17
- "class": clsx(`${prefixCls}-item-divider`, props.class),
18
- "style": props.style
19
- }, null);
20
- };
3
+ import { createVNode, defineComponent } from "vue";
4
+ import { clsx } from "@v-c/util";
5
+ var Divider_default = /* @__PURE__ */ defineComponent((props) => {
6
+ const menuContext = useMenuContext();
7
+ const measure = useMeasure();
8
+ return () => {
9
+ const { prefixCls } = menuContext?.value ?? {};
10
+ if (measure) return null;
11
+ return createVNode("li", {
12
+ "role": "separator",
13
+ "class": clsx(`${prefixCls}-item-divider`, props.class),
14
+ "style": props.style
15
+ }, null);
16
+ };
21
17
  }, {
22
- props: {
23
- style: {
24
- type: null,
25
- required: false,
26
- default: void 0
27
- },
28
- class: {
29
- type: String,
30
- required: false,
31
- default: void 0
32
- }
33
- },
34
- name: "Divider"
18
+ props: {
19
+ style: {
20
+ type: null,
21
+ required: false,
22
+ default: void 0
23
+ },
24
+ class: {
25
+ type: String,
26
+ required: false,
27
+ default: void 0
28
+ }
29
+ },
30
+ name: "Divider"
35
31
  });
36
- export {
37
- Divider as default
38
- };
32
+ export { Divider_default as default };
package/dist/Icon.cjs CHANGED
@@ -1,38 +1,39 @@
1
- "use strict";
2
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const vue = require("vue");
4
- const Icon = /* @__PURE__ */ vue.defineComponent((props, {
5
- slots
6
- }) => {
7
- return () => {
8
- const {
9
- icon,
10
- props: iconProps
11
- } = props;
12
- let iconNode;
13
- if (icon === null || icon === false) {
14
- return null;
15
- }
16
- if (typeof icon === "function") {
17
- iconNode = vue.createVNode(icon(iconProps));
18
- } else if (typeof icon !== "boolean") {
19
- iconNode = icon;
20
- }
21
- return iconNode || slots.default?.(iconProps) || null;
22
- };
23
- }, {
24
- props: {
25
- icon: {
26
- type: [String, Number, null, Array, Function, Boolean],
27
- required: false,
28
- skipCheck: true,
29
- default: void 0
30
- },
31
- props: {
32
- type: Object,
33
- required: false,
34
- default: void 0
35
- }
36
- }
37
- });
38
- exports.default = Icon;
1
+ Object.defineProperty(exports, "__esModule", { value: true });
2
+ const require_rolldown_runtime = require("./_virtual/rolldown_runtime.cjs");
3
+ let vue = require("vue");
4
+ let __v_c_util_dist_props_util = require("@v-c/util/dist/props-util");
5
+ var Icon = /* @__PURE__ */ (0, vue.defineComponent)((props, { slots }) => {
6
+ return () => {
7
+ const { icon, props: iconProps } = props;
8
+ let iconNode;
9
+ if (icon === null || icon === false) return null;
10
+ if (typeof icon === "function") {
11
+ const childIcons = icon(iconProps);
12
+ const iconChild = (0, __v_c_util_dist_props_util.filterEmpty)(Array.isArray(childIcons) ? childIcons : [childIcons])?.[0];
13
+ if ((0, vue.isVNode)(iconChild)) iconNode = (0, vue.createVNode)(iconChild);
14
+ else iconNode = iconChild;
15
+ } else if (typeof icon !== "boolean") iconNode = icon;
16
+ return iconNode || slots.default?.(iconProps) || null;
17
+ };
18
+ }, { props: {
19
+ icon: {
20
+ type: [
21
+ String,
22
+ Number,
23
+ null,
24
+ Array,
25
+ Function,
26
+ Boolean
27
+ ],
28
+ required: false,
29
+ skipCheck: true,
30
+ default: void 0
31
+ },
32
+ props: {
33
+ type: Object,
34
+ required: false,
35
+ default: void 0
36
+ }
37
+ } });
38
+ var Icon_default = Icon;
39
+ exports.default = Icon_default;
package/dist/Icon.js CHANGED
@@ -1,38 +1,36 @@
1
- import { defineComponent, createVNode } from "vue";
2
- const Icon = /* @__PURE__ */ defineComponent((props, {
3
- slots
4
- }) => {
5
- return () => {
6
- const {
7
- icon,
8
- props: iconProps
9
- } = props;
10
- let iconNode;
11
- if (icon === null || icon === false) {
12
- return null;
13
- }
14
- if (typeof icon === "function") {
15
- iconNode = createVNode(icon(iconProps));
16
- } else if (typeof icon !== "boolean") {
17
- iconNode = icon;
18
- }
19
- return iconNode || slots.default?.(iconProps) || null;
20
- };
21
- }, {
22
- props: {
23
- icon: {
24
- type: [String, Number, null, Array, Function, Boolean],
25
- required: false,
26
- skipCheck: true,
27
- default: void 0
28
- },
29
- props: {
30
- type: Object,
31
- required: false,
32
- default: void 0
33
- }
34
- }
35
- });
36
- export {
37
- Icon as default
38
- };
1
+ import { createVNode, defineComponent, isVNode } from "vue";
2
+ import { filterEmpty } from "@v-c/util/dist/props-util";
3
+ var Icon_default = /* @__PURE__ */ defineComponent((props, { slots }) => {
4
+ return () => {
5
+ const { icon, props: iconProps } = props;
6
+ let iconNode;
7
+ if (icon === null || icon === false) return null;
8
+ if (typeof icon === "function") {
9
+ const childIcons = icon(iconProps);
10
+ const iconChild = filterEmpty(Array.isArray(childIcons) ? childIcons : [childIcons])?.[0];
11
+ if (isVNode(iconChild)) iconNode = createVNode(iconChild);
12
+ else iconNode = iconChild;
13
+ } else if (typeof icon !== "boolean") iconNode = icon;
14
+ return iconNode || slots.default?.(iconProps) || null;
15
+ };
16
+ }, { props: {
17
+ icon: {
18
+ type: [
19
+ String,
20
+ Number,
21
+ null,
22
+ Array,
23
+ Function,
24
+ Boolean
25
+ ],
26
+ required: false,
27
+ skipCheck: true,
28
+ default: void 0
29
+ },
30
+ props: {
31
+ type: Object,
32
+ required: false,
33
+ default: void 0
34
+ }
35
+ } });
36
+ export { Icon_default as default };