@hero-design/rn 8.124.1 → 8.124.2

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/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @hero-design/rn
2
2
 
3
+ ## 8.124.2
4
+
5
+ ### Patch Changes
6
+
7
+ - [#5047](https://github.com/Thinkei/hero-design/pull/5047) [`5cde14663c71d60f20a41546d8ffb679667a12ab`](https://github.com/Thinkei/hero-design/commit/5cde14663c71d60f20a41546d8ffb679667a12ab) Thanks [@ttkien](https://github.com/ttkien)! - [Select] Update Select chevron suffix icon behavior
8
+
3
9
  ## 8.124.1
4
10
 
5
11
  ### Patch Changes
package/es/index.js CHANGED
@@ -26983,6 +26983,10 @@ function MultiSelect(_ref) {
26983
26983
  var onPress = useCallback(function () {
26984
26984
  setOpen(true);
26985
26985
  }, []);
26986
+ var selectSuffix;
26987
+ if (editable && !disabled) {
26988
+ selectSuffix = open ? 'arrow-up' : 'arrow-down';
26989
+ }
26986
26990
  useEffect(function () {
26987
26991
  setSelectingValue(value);
26988
26992
  }, [open, value]);
@@ -26998,7 +27002,7 @@ function MultiSelect(_ref) {
26998
27002
  }, /*#__PURE__*/React__default.createElement(TextInputComponent, _extends$1({}, inputProps, {
26999
27003
  label: label,
27000
27004
  value: renderSelectedValue ? rawValue : displayedValue,
27001
- suffix: "arrow-down",
27005
+ suffix: selectSuffix,
27002
27006
  multiline: true,
27003
27007
  error: error,
27004
27008
  editable: editable,
@@ -27194,6 +27198,12 @@ var SingleSelect = function SingleSelect(_ref) {
27194
27198
  var onPress = useCallback(function () {
27195
27199
  setOpen(true);
27196
27200
  }, []);
27201
+ var selectSuffix = useMemo(function () {
27202
+ if (editable && !disabled) {
27203
+ return open ? 'arrow-up' : 'arrow-down';
27204
+ }
27205
+ return undefined;
27206
+ }, [editable, disabled, open]);
27197
27207
  return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(View, {
27198
27208
  pointerEvents: !editable || disabled || inputProps !== null && inputProps !== void 0 && inputProps.loading ? 'none' : 'auto'
27199
27209
  }, /*#__PURE__*/React__default.createElement(StyledTouchableOpacity$1, {
@@ -27206,7 +27216,7 @@ var SingleSelect = function SingleSelect(_ref) {
27206
27216
  }, /*#__PURE__*/React__default.createElement(TextInputComponent, _extends$1({}, inputProps, {
27207
27217
  label: label,
27208
27218
  value: renderSelectedValue ? rawValue : displayedValue,
27209
- suffix: "arrow-down",
27219
+ suffix: selectSuffix,
27210
27220
  multiline: true,
27211
27221
  error: error,
27212
27222
  editable: editable,
package/lib/index.js CHANGED
@@ -27013,6 +27013,10 @@ function MultiSelect(_ref) {
27013
27013
  var onPress = React.useCallback(function () {
27014
27014
  setOpen(true);
27015
27015
  }, []);
27016
+ var selectSuffix;
27017
+ if (editable && !disabled) {
27018
+ selectSuffix = open ? 'arrow-up' : 'arrow-down';
27019
+ }
27016
27020
  React.useEffect(function () {
27017
27021
  setSelectingValue(value);
27018
27022
  }, [open, value]);
@@ -27028,7 +27032,7 @@ function MultiSelect(_ref) {
27028
27032
  }, /*#__PURE__*/React__namespace.default.createElement(TextInputComponent, _extends$1({}, inputProps, {
27029
27033
  label: label,
27030
27034
  value: renderSelectedValue ? rawValue : displayedValue,
27031
- suffix: "arrow-down",
27035
+ suffix: selectSuffix,
27032
27036
  multiline: true,
27033
27037
  error: error,
27034
27038
  editable: editable,
@@ -27224,6 +27228,12 @@ var SingleSelect = function SingleSelect(_ref) {
27224
27228
  var onPress = React.useCallback(function () {
27225
27229
  setOpen(true);
27226
27230
  }, []);
27231
+ var selectSuffix = React.useMemo(function () {
27232
+ if (editable && !disabled) {
27233
+ return open ? 'arrow-up' : 'arrow-down';
27234
+ }
27235
+ return undefined;
27236
+ }, [editable, disabled, open]);
27227
27237
  return /*#__PURE__*/React__namespace.default.createElement(React__namespace.default.Fragment, null, /*#__PURE__*/React__namespace.default.createElement(reactNative.View, {
27228
27238
  pointerEvents: !editable || disabled || inputProps !== null && inputProps !== void 0 && inputProps.loading ? 'none' : 'auto'
27229
27239
  }, /*#__PURE__*/React__namespace.default.createElement(StyledTouchableOpacity$1, {
@@ -27236,7 +27246,7 @@ var SingleSelect = function SingleSelect(_ref) {
27236
27246
  }, /*#__PURE__*/React__namespace.default.createElement(TextInputComponent, _extends$1({}, inputProps, {
27237
27247
  label: label,
27238
27248
  value: renderSelectedValue ? rawValue : displayedValue,
27239
- suffix: "arrow-down",
27249
+ suffix: selectSuffix,
27240
27250
  multiline: true,
27241
27251
  error: error,
27242
27252
  editable: editable,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hero-design/rn",
3
- "version": "8.124.1",
3
+ "version": "8.124.2",
4
4
  "license": "MIT",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",
@@ -107,6 +107,11 @@ function MultiSelect<V, T extends SelectOptionType<V>>({
107
107
  setOpen(true);
108
108
  }, []);
109
109
 
110
+ let selectSuffix: TextInputProps['suffix'];
111
+ if (editable && !disabled) {
112
+ selectSuffix = open ? 'arrow-up' : 'arrow-down';
113
+ }
114
+
110
115
  useEffect(() => {
111
116
  setSelectingValue(value);
112
117
  }, [open, value]);
@@ -131,7 +136,7 @@ function MultiSelect<V, T extends SelectOptionType<V>>({
131
136
  {...inputProps}
132
137
  label={label}
133
138
  value={renderSelectedValue ? rawValue : displayedValue}
134
- suffix="arrow-down"
139
+ suffix={selectSuffix}
135
140
  multiline
136
141
  error={error}
137
142
  editable={editable}
@@ -1,4 +1,4 @@
1
- import React, { useCallback, useRef, useState } from 'react';
1
+ import React, { useCallback, useMemo, useRef, useState } from 'react';
2
2
  import type {
3
3
  TextInputProps as NativeTextInputProps,
4
4
  SectionList,
@@ -90,6 +90,14 @@ const SingleSelect = <V, T extends SelectOptionType<V>>({
90
90
  setOpen(true);
91
91
  }, []);
92
92
 
93
+ const selectSuffix: TextInputProps['suffix'] = useMemo(() => {
94
+ if (editable && !disabled) {
95
+ return open ? 'arrow-up' : 'arrow-down';
96
+ }
97
+
98
+ return undefined;
99
+ }, [editable, disabled, open]);
100
+
93
101
  return (
94
102
  <>
95
103
  <View
@@ -111,7 +119,7 @@ const SingleSelect = <V, T extends SelectOptionType<V>>({
111
119
  {...inputProps}
112
120
  label={label}
113
121
  value={renderSelectedValue ? rawValue : displayedValue}
114
- suffix="arrow-down"
122
+ suffix={selectSuffix}
115
123
  multiline
116
124
  error={error}
117
125
  editable={editable}