@v-c/textarea 1.0.1 → 1.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.
@@ -6,7 +6,6 @@ const require_rolldown_runtime = require("./_virtual/rolldown_runtime.cjs");
6
6
  const require_calculateNodeHeight = require("./calculateNodeHeight.cjs");
7
7
  let vue = require("vue");
8
8
  let _v_c_resize_observer = require("@v-c/resize-observer");
9
- _v_c_resize_observer = require_rolldown_runtime.__toESM(_v_c_resize_observer);
10
9
  let _v_c_util = require("@v-c/util");
11
10
  let _v_c_util_dist_omit = require("@v-c/util/dist/omit");
12
11
  _v_c_util_dist_omit = require_rolldown_runtime.__toESM(_v_c_util_dist_omit);
@@ -49,8 +48,11 @@ var ResizableTextArea = /* @__PURE__ */ (0, vue.defineComponent)((props, { expos
49
48
  ], async () => {
50
49
  await (0, vue.nextTick)();
51
50
  if (needAutoSize.value) startResize();
52
- }, { immediate: true });
53
- (0, vue.watch)(resizeState, () => {
51
+ }, {
52
+ immediate: true,
53
+ flush: "post"
54
+ });
55
+ (0, vue.watch)([resizeState, textareaRef], () => {
54
56
  if (!textareaRef.value) return;
55
57
  if (resizeState.value === RESIZE_START) resizeState.value = RESIZE_MEASURING;
56
58
  else if (resizeState.value === RESIZE_MEASURING) {
@@ -77,8 +79,11 @@ var ResizableTextArea = /* @__PURE__ */ (0, vue.defineComponent)((props, { expos
77
79
  (0, vue.onUnmounted)(() => {
78
80
  cleanRaf();
79
81
  });
82
+ (0, _v_c_resize_observer.useResizeObserver)((0, vue.computed)(() => {
83
+ return !!(props.autoSize || props.onResize);
84
+ }), textareaRef, onInternalResize);
80
85
  return () => {
81
- const { autoSize, onResize, prefixCls, disabled, readOnly } = props;
86
+ const { prefixCls, disabled, readOnly } = props;
82
87
  const { style, restAttrs, className } = (0, _v_c_util_dist_props_util.getAttrStyleAndClass)(attrs, { omits: ["onKeydown"] });
83
88
  const mergedAutoSizeStyle = needAutoSize.value ? autoSizeStyle.value : null;
84
89
  const mergedStyle = {
@@ -89,10 +94,7 @@ var ResizableTextArea = /* @__PURE__ */ (0, vue.defineComponent)((props, { expos
89
94
  mergedStyle.overflowY = "hidden";
90
95
  mergedStyle.overflowX = "hidden";
91
96
  }
92
- return (0, vue.createVNode)(_v_c_resize_observer.default, {
93
- "onResize": onInternalResize,
94
- "disabled": !(autoSize || onResize)
95
- }, { default: () => [(0, vue.createVNode)("textarea", (0, vue.mergeProps)((0, _v_c_util_dist_omit.default)(restAttrs, ["readonly"]), (0, _v_c_util_dist_omit.default)(props, [
97
+ return (0, vue.createVNode)("textarea", (0, vue.mergeProps)((0, _v_c_util_dist_omit.default)(restAttrs, ["readonly"]), (0, _v_c_util_dist_omit.default)(props, [
96
98
  "suffix",
97
99
  "classNames",
98
100
  "styles",
@@ -115,7 +117,7 @@ var ResizableTextArea = /* @__PURE__ */ (0, vue.defineComponent)((props, { expos
115
117
  "disabled": disabled,
116
118
  "value": mergedValue.value,
117
119
  "onInput": onInternalChange
118
- }), null)] });
120
+ }), null);
119
121
  };
120
122
  }, {
121
123
  props: {
@@ -1,6 +1,6 @@
1
1
  import calculateAutoSizeStyle from "./calculateNodeHeight.js";
2
2
  import { computed, createVNode, defineComponent, mergeProps, nextTick, onUnmounted, ref, shallowRef, watch } from "vue";
3
- import ResizeObserver from "@v-c/resize-observer";
3
+ import { useResizeObserver } from "@v-c/resize-observer";
4
4
  import { clsx } from "@v-c/util";
5
5
  import omit from "@v-c/util/dist/omit";
6
6
  import { getAttrStyleAndClass } from "@v-c/util/dist/props-util";
@@ -41,8 +41,11 @@ var ResizableTextArea_default = /* @__PURE__ */ defineComponent((props, { expose
41
41
  ], async () => {
42
42
  await nextTick();
43
43
  if (needAutoSize.value) startResize();
44
- }, { immediate: true });
45
- watch(resizeState, () => {
44
+ }, {
45
+ immediate: true,
46
+ flush: "post"
47
+ });
48
+ watch([resizeState, textareaRef], () => {
46
49
  if (!textareaRef.value) return;
47
50
  if (resizeState.value === RESIZE_START) resizeState.value = RESIZE_MEASURING;
48
51
  else if (resizeState.value === RESIZE_MEASURING) {
@@ -69,8 +72,11 @@ var ResizableTextArea_default = /* @__PURE__ */ defineComponent((props, { expose
69
72
  onUnmounted(() => {
70
73
  cleanRaf();
71
74
  });
75
+ useResizeObserver(computed(() => {
76
+ return !!(props.autoSize || props.onResize);
77
+ }), textareaRef, onInternalResize);
72
78
  return () => {
73
- const { autoSize, onResize, prefixCls, disabled, readOnly } = props;
79
+ const { prefixCls, disabled, readOnly } = props;
74
80
  const { style, restAttrs, className } = getAttrStyleAndClass(attrs, { omits: ["onKeydown"] });
75
81
  const mergedAutoSizeStyle = needAutoSize.value ? autoSizeStyle.value : null;
76
82
  const mergedStyle = {
@@ -81,10 +87,7 @@ var ResizableTextArea_default = /* @__PURE__ */ defineComponent((props, { expose
81
87
  mergedStyle.overflowY = "hidden";
82
88
  mergedStyle.overflowX = "hidden";
83
89
  }
84
- return createVNode(ResizeObserver, {
85
- "onResize": onInternalResize,
86
- "disabled": !(autoSize || onResize)
87
- }, { default: () => [createVNode("textarea", mergeProps(omit(restAttrs, ["readonly"]), omit(props, [
90
+ return createVNode("textarea", mergeProps(omit(restAttrs, ["readonly"]), omit(props, [
88
91
  "suffix",
89
92
  "classNames",
90
93
  "styles",
@@ -107,7 +110,7 @@ var ResizableTextArea_default = /* @__PURE__ */ defineComponent((props, { expose
107
110
  "disabled": disabled,
108
111
  "value": mergedValue.value,
109
112
  "onInput": onInternalChange
110
- }), null)] });
113
+ }), null);
111
114
  };
112
115
  }, {
113
116
  props: {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@v-c/textarea",
3
3
  "type": "module",
4
- "version": "1.0.1",
4
+ "version": "1.0.3",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
@@ -23,9 +23,9 @@
23
23
  "vue": "^3.0.0"
24
24
  },
25
25
  "dependencies": {
26
- "@v-c/input": "^1.0.0",
27
- "@v-c/resize-observer": "^1.0.3",
28
- "@v-c/util": "^1.0.4"
26
+ "@v-c/input": "^1.0.2",
27
+ "@v-c/resize-observer": "^1.0.8",
28
+ "@v-c/util": "^1.0.9"
29
29
  },
30
30
  "scripts": {
31
31
  "build": "vite build",