@hero-design/rn 8.138.1 → 8.138.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.138.2
4
+
5
+ ### Patch Changes
6
+
7
+ - [#5551](https://github.com/Thinkei/hero-design/pull/5551) [`ddfb78e`](https://github.com/Thinkei/hero-design/commit/ddfb78e02e1a5098b0170271e21254e0bb2aa8fe) Thanks [@ttkien](https://github.com/ttkien)! - [List.Group] Fix missing divider between rows wrapped in a Fragment
8
+
3
9
  ## 8.138.1
4
10
 
5
11
  ### Patch Changes
package/es/index.js CHANGED
@@ -15935,6 +15935,14 @@ var StyledListGroupContainer = index$c(View)(function (_ref) {
15935
15935
  };
15936
15936
  });
15937
15937
 
15938
+ var _flattenFragments = function flattenFragments(children) {
15939
+ return React__default.Children.toArray(children).flatMap(function (child) {
15940
+ if (/*#__PURE__*/React__default.isValidElement(child) && child.type === React__default.Fragment) {
15941
+ return _flattenFragments(child.props.children);
15942
+ }
15943
+ return [child];
15944
+ });
15945
+ };
15938
15946
  var ERROR_CARD_VARIANT_UNSUPPORTED = 'List.Item with variant="card" is not supported inside List.Group. Use the default full-width variant instead.';
15939
15947
  // Typed `<T,>` rather than `ReactNode` so flatMap's inferred element type
15940
15948
  // stays narrow instead of widening to plain ReactNode, which broke type-check.
@@ -15951,7 +15959,7 @@ var ListGroup = function ListGroup(_ref) {
15951
15959
  style = _ref.style,
15952
15960
  marginHorizontal = _ref.marginHorizontal,
15953
15961
  testID = _ref.testID;
15954
- var rows = React__default.Children.toArray(children);
15962
+ var rows = _flattenFragments(children);
15955
15963
  var lastIndex = rows.length - 1;
15956
15964
  var content = rows.flatMap(function (row, index) {
15957
15965
  if (/*#__PURE__*/React__default.isValidElement(row) && row.type === ListItem && row.props.variant === 'card') {
package/lib/index.js CHANGED
@@ -15964,6 +15964,14 @@ var StyledListGroupContainer = index$c(reactNative.View)(function (_ref) {
15964
15964
  };
15965
15965
  });
15966
15966
 
15967
+ var _flattenFragments = function flattenFragments(children) {
15968
+ return React__namespace.default.Children.toArray(children).flatMap(function (child) {
15969
+ if (/*#__PURE__*/React__namespace.default.isValidElement(child) && child.type === React__namespace.default.Fragment) {
15970
+ return _flattenFragments(child.props.children);
15971
+ }
15972
+ return [child];
15973
+ });
15974
+ };
15967
15975
  var ERROR_CARD_VARIANT_UNSUPPORTED = 'List.Item with variant="card" is not supported inside List.Group. Use the default full-width variant instead.';
15968
15976
  // Typed `<T,>` rather than `ReactNode` so flatMap's inferred element type
15969
15977
  // stays narrow instead of widening to plain ReactNode, which broke type-check.
@@ -15980,7 +15988,7 @@ var ListGroup = function ListGroup(_ref) {
15980
15988
  style = _ref.style,
15981
15989
  marginHorizontal = _ref.marginHorizontal,
15982
15990
  testID = _ref.testID;
15983
- var rows = React__namespace.default.Children.toArray(children);
15991
+ var rows = _flattenFragments(children);
15984
15992
  var lastIndex = rows.length - 1;
15985
15993
  var content = rows.flatMap(function (row, index) {
15986
15994
  if (/*#__PURE__*/React__namespace.default.isValidElement(row) && row.type === ListItem && row.props.variant === 'card') {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hero-design/rn",
3
- "version": "8.138.1",
3
+ "version": "8.138.2",
4
4
  "license": "MIT",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",
@@ -7,6 +7,18 @@ import type { ListItemProps } from './ListItem';
7
7
  import { StyledListGroupContainer } from './StyledListGroup';
8
8
  import type { MarginHorizontal } from './StyledListGroup';
9
9
 
10
+ const flattenFragments = (children: ReactNode): ReactNode[] => {
11
+ return React.Children.toArray(children).flatMap((child) => {
12
+ if (
13
+ React.isValidElement<{ children?: ReactNode }>(child) &&
14
+ child.type === React.Fragment
15
+ ) {
16
+ return flattenFragments(child.props.children);
17
+ }
18
+ return [child];
19
+ });
20
+ };
21
+
10
22
  export const ERROR_CARD_VARIANT_UNSUPPORTED =
11
23
  'List.Item with variant="card" is not supported inside List.Group. Use the default full-width variant instead.';
12
24
 
@@ -49,7 +61,7 @@ const ListGroup = ({
49
61
  marginHorizontal,
50
62
  testID,
51
63
  }: ListGroupProps): ReactElement => {
52
- const rows = React.Children.toArray(children);
64
+ const rows = flattenFragments(children);
53
65
  const lastIndex = rows.length - 1;
54
66
 
55
67
  const content: ReactNode[] = rows.flatMap((row, index) => {