@v-c/util 0.0.14 → 0.0.16

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.
@@ -23,19 +23,20 @@ function getTransitionProps(transitionName, opt = {}) {
23
23
  };
24
24
  }
25
25
  function getTransitionGroupProps(transitionName, opt = {}) {
26
- return transitionName ? {
26
+ if (!transitionName) return {
27
+ css: false,
28
+ ...opt
29
+ };
30
+ return {
27
31
  name: transitionName,
28
32
  appear: true,
29
- appearActiveClass: `${transitionName}`,
30
- appearToClass: `${transitionName}-appear ${transitionName}-appear-active`,
31
- enterFromClass: `${transitionName}-appear ${transitionName}-enter ${transitionName}-appear-prepare ${transitionName}-enter-prepare`,
32
- enterActiveClass: `${transitionName}`,
33
- enterToClass: `${transitionName}-enter ${transitionName}-appear ${transitionName}-appear-active ${transitionName}-enter-active`,
34
- leaveActiveClass: `${transitionName} ${transitionName}-leave`,
35
- leaveToClass: `${transitionName}-leave-active`,
36
- ...opt
37
- } : {
38
- css: false,
33
+ enterFromClass: `${transitionName} ${transitionName}-enter ${transitionName}-appear ${transitionName}-appear-prepare ${transitionName}-appear-start ${transitionName}-enter-prepare ${transitionName}-enter-start`,
34
+ enterActiveClass: `${transitionName} ${transitionName}-enter ${transitionName}-appear ${transitionName}-appear-prepare ${transitionName}-enter-prepare`,
35
+ enterToClass: `${transitionName} ${transitionName}-enter ${transitionName}-appear ${transitionName}-appear-active ${transitionName}-enter-active`,
36
+ leaveFromClass: `${transitionName} ${transitionName}-leave`,
37
+ leaveActiveClass: `${transitionName} ${transitionName}-leave ${transitionName}-leave-active`,
38
+ leaveToClass: `${transitionName} ${transitionName}-leave ${transitionName}-leave-active`,
39
+ moveClass: `${transitionName} ${transitionName}-move`,
39
40
  ...opt
40
41
  };
41
42
  }
@@ -3,7 +3,7 @@ declare const SelectPlacements: ["bottomLeft", "bottomRight", "topLeft", "topRig
3
3
  export type SelectCommonPlacement = (typeof SelectPlacements)[number];
4
4
  declare function getTransitionDirection(placement: SelectCommonPlacement | undefined): "slide-down" | "slide-up";
5
5
  export declare function getTransitionProps(transitionName?: string, opt?: TransitionProps): TransitionProps;
6
- export declare function getTransitionGroupProps(transitionName: string, opt?: TransitionProps): TransitionGroupProps;
6
+ export declare function getTransitionGroupProps(transitionName?: string, opt?: TransitionProps): TransitionGroupProps;
7
7
  export declare type MotionEvent = (TransitionEvent | AnimationEvent) & {
8
8
  deadline?: boolean;
9
9
  };
@@ -23,19 +23,20 @@ function getTransitionProps(transitionName, opt = {}) {
23
23
  };
24
24
  }
25
25
  function getTransitionGroupProps(transitionName, opt = {}) {
26
- return transitionName ? {
26
+ if (!transitionName) return {
27
+ css: false,
28
+ ...opt
29
+ };
30
+ return {
27
31
  name: transitionName,
28
32
  appear: true,
29
- appearActiveClass: `${transitionName}`,
30
- appearToClass: `${transitionName}-appear ${transitionName}-appear-active`,
31
- enterFromClass: `${transitionName}-appear ${transitionName}-enter ${transitionName}-appear-prepare ${transitionName}-enter-prepare`,
32
- enterActiveClass: `${transitionName}`,
33
- enterToClass: `${transitionName}-enter ${transitionName}-appear ${transitionName}-appear-active ${transitionName}-enter-active`,
34
- leaveActiveClass: `${transitionName} ${transitionName}-leave`,
35
- leaveToClass: `${transitionName}-leave-active`,
36
- ...opt
37
- } : {
38
- css: false,
33
+ enterFromClass: `${transitionName} ${transitionName}-enter ${transitionName}-appear ${transitionName}-appear-prepare ${transitionName}-appear-start ${transitionName}-enter-prepare ${transitionName}-enter-start`,
34
+ enterActiveClass: `${transitionName} ${transitionName}-enter ${transitionName}-appear ${transitionName}-appear-prepare ${transitionName}-enter-prepare`,
35
+ enterToClass: `${transitionName} ${transitionName}-enter ${transitionName}-appear ${transitionName}-appear-active ${transitionName}-enter-active`,
36
+ leaveFromClass: `${transitionName} ${transitionName}-leave`,
37
+ leaveActiveClass: `${transitionName} ${transitionName}-leave ${transitionName}-leave-active`,
38
+ leaveToClass: `${transitionName} ${transitionName}-leave ${transitionName}-leave-active`,
39
+ moveClass: `${transitionName} ${transitionName}-move`,
39
40
  ...opt
40
41
  };
41
42
  }
package/dist/vnode.cjs CHANGED
@@ -1,4 +1,5 @@
1
1
  const require_warning = require("./warning.cjs");
2
+ const require_findDOMNode = require("./Dom/findDOMNode.cjs");
2
3
  const require_index = require("./props-util/index.cjs");
3
4
  let vue = require("vue");
4
5
  function cloneElement(vnode, nodeProps = {}, override = true, mergeRef = false) {
@@ -41,8 +42,24 @@ function customRenderSlot(slots, name, props, fallback) {
41
42
  if (ensureValidVNode(slot)) return slot;
42
43
  return fallback?.();
43
44
  }
45
+ function resolveToElement(node) {
46
+ if (!node) return null;
47
+ if (require_findDOMNode.isDOM(node?.__$el)) return node.__$el;
48
+ if (require_findDOMNode.isDOM(node)) return node;
49
+ const exposed = node;
50
+ if (require_findDOMNode.isDOM(exposed?.$el)) return exposed.$el;
51
+ const nativeEl = exposed?.nativeElement;
52
+ if (require_findDOMNode.isDOM(nativeEl?.value)) return nativeEl.value;
53
+ if (require_findDOMNode.isDOM(nativeEl)) return nativeEl;
54
+ if (typeof exposed?.getElement === "function") {
55
+ const el = exposed.getElement();
56
+ if (require_findDOMNode.isDOM(el)) return el;
57
+ }
58
+ return null;
59
+ }
44
60
  exports.cloneElement = cloneElement;
45
61
  exports.cloneVNodes = cloneVNodes;
46
62
  exports.customRenderSlot = customRenderSlot;
47
63
  exports.deepCloneElement = deepCloneElement;
64
+ exports.resolveToElement = resolveToElement;
48
65
  exports.triggerVNodeUpdate = triggerVNodeUpdate;
package/dist/vnode.d.ts CHANGED
@@ -8,4 +8,5 @@ export declare function cloneVNodes(vnodes: any, nodeProps?: {}, override?: bool
8
8
  export declare function deepCloneElement<T, U>(vnode: VNode<T, U> | VNode<T, U>[], nodeProps?: NodeProps, override?: boolean, mergeRef?: boolean): any;
9
9
  export declare function triggerVNodeUpdate(vm: VNode, attrs: Record<string, any>, dom: any): void;
10
10
  export declare function customRenderSlot(slots: Slots, name: string, props: Record<string, unknown>, fallback?: () => VNodeArrayChildren): VNodeArrayChildren;
11
+ export declare function resolveToElement(node: any): any;
11
12
  export {};
package/dist/vnode.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import warning_default from "./warning.js";
2
+ import { isDOM } from "./Dom/findDOMNode.js";
2
3
  import { filterEmpty } from "./props-util/index.js";
3
4
  import { Comment, Fragment, cloneVNode, isVNode, render } from "vue";
4
5
  function cloneElement(vnode, nodeProps = {}, override = true, mergeRef = false) {
@@ -41,4 +42,19 @@ function customRenderSlot(slots, name, props, fallback) {
41
42
  if (ensureValidVNode(slot)) return slot;
42
43
  return fallback?.();
43
44
  }
44
- export { cloneElement, cloneVNodes, customRenderSlot, deepCloneElement, triggerVNodeUpdate };
45
+ function resolveToElement(node) {
46
+ if (!node) return null;
47
+ if (isDOM(node?.__$el)) return node.__$el;
48
+ if (isDOM(node)) return node;
49
+ const exposed = node;
50
+ if (isDOM(exposed?.$el)) return exposed.$el;
51
+ const nativeEl = exposed?.nativeElement;
52
+ if (isDOM(nativeEl?.value)) return nativeEl.value;
53
+ if (isDOM(nativeEl)) return nativeEl;
54
+ if (typeof exposed?.getElement === "function") {
55
+ const el = exposed.getElement();
56
+ if (isDOM(el)) return el;
57
+ }
58
+ return null;
59
+ }
60
+ export { cloneElement, cloneVNodes, customRenderSlot, deepCloneElement, resolveToElement, triggerVNodeUpdate };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@v-c/util",
3
3
  "type": "module",
4
- "version": "0.0.14",
4
+ "version": "0.0.16",
5
5
  "description": "Vue3 components utils",
6
6
  "publishConfig": {
7
7
  "access": "public"