ywana-core8 0.1.82 → 0.1.83

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/dist/index.cjs CHANGED
@@ -4442,8 +4442,8 @@ var List = function List(props) {
4442
4442
  if (onSort) onSort(newConfig);
4443
4443
  }, [sortable, sortConfig, onSort]);
4444
4444
 
4445
- // Search component
4446
- var SearchComponent = function SearchComponent() {
4445
+ // Search component JSX - memoized to prevent focus loss
4446
+ var searchComponent = React.useMemo(function () {
4447
4447
  return searchable && /*#__PURE__*/React__default["default"].createElement("div", {
4448
4448
  className: "list__search"
4449
4449
  }, /*#__PURE__*/React__default["default"].createElement(TextField, {
@@ -4455,7 +4455,7 @@ var List = function List(props) {
4455
4455
  outlined: true,
4456
4456
  size: "small"
4457
4457
  }));
4458
- };
4458
+ }, [searchable, searchPlaceholder, searchTerm, handleSearch]);
4459
4459
 
4460
4460
  // Generate CSS classes
4461
4461
  var cssClasses = ['list', dense && 'list--dense', outlined && 'list--outlined', disabled && 'list--disabled', animated && 'list--animated', loading && 'list--loading', className].filter(Boolean).join(' ');
@@ -4485,12 +4485,12 @@ var List = function List(props) {
4485
4485
  return /*#__PURE__*/React__default["default"].createElement("div", _extends({
4486
4486
  className: cssClasses,
4487
4487
  style: style
4488
- }, ariaAttributes, restProps), searchPosition === 'top' && /*#__PURE__*/React__default["default"].createElement(SearchComponent, null), /*#__PURE__*/React__default["default"].createElement("div", {
4488
+ }, ariaAttributes, restProps), searchPosition === 'top' && searchComponent, /*#__PURE__*/React__default["default"].createElement("div", {
4489
4489
  className: "list__empty"
4490
4490
  }, /*#__PURE__*/React__default["default"].createElement(Icon, {
4491
4491
  icon: emptyIcon,
4492
4492
  size: "large"
4493
- }), /*#__PURE__*/React__default["default"].createElement(Text, null, emptyMessage)), searchPosition === 'bottom' && /*#__PURE__*/React__default["default"].createElement(SearchComponent, null), children);
4493
+ }), /*#__PURE__*/React__default["default"].createElement(Text, null, emptyMessage)), searchPosition === 'bottom' && searchComponent, children);
4494
4494
  }
4495
4495
 
4496
4496
  // Render grouped or normal list
@@ -4507,7 +4507,7 @@ var List = function List(props) {
4507
4507
  className: cssClasses,
4508
4508
  style: style,
4509
4509
  ref: listRef
4510
- }, ariaAttributes, restProps), searchPosition === 'top' && /*#__PURE__*/React__default["default"].createElement(SearchComponent, null), sortable && sortBy && /*#__PURE__*/React__default["default"].createElement("div", {
4510
+ }, ariaAttributes, restProps), searchPosition === 'top' && searchComponent, sortable && sortBy && /*#__PURE__*/React__default["default"].createElement("div", {
4511
4511
  className: "list__sort"
4512
4512
  }, /*#__PURE__*/React__default["default"].createElement("button", {
4513
4513
  className: "list__sort-button",
@@ -4536,7 +4536,7 @@ var List = function List(props) {
4536
4536
  disabled: disabled,
4537
4537
  animated: animated
4538
4538
  });
4539
- })), searchPosition === 'bottom' && /*#__PURE__*/React__default["default"].createElement(SearchComponent, null), children);
4539
+ })), searchPosition === 'bottom' && searchComponent, children);
4540
4540
  };
4541
4541
 
4542
4542
  /**
@@ -4605,8 +4605,8 @@ var GroupedList = function GroupedList(props) {
4605
4605
  });
4606
4606
  }, []);
4607
4607
 
4608
- // Search component for grouped list
4609
- var GroupedSearchComponent = function GroupedSearchComponent() {
4608
+ // Search component for grouped list - memoized to prevent focus loss
4609
+ var groupedSearchComponent = React.useMemo(function () {
4610
4610
  return searchable && /*#__PURE__*/React__default["default"].createElement("div", {
4611
4611
  className: "list__search"
4612
4612
  }, /*#__PURE__*/React__default["default"].createElement(TextField, {
@@ -4618,11 +4618,11 @@ var GroupedList = function GroupedList(props) {
4618
4618
  outlined: true,
4619
4619
  size: "small"
4620
4620
  }));
4621
- };
4621
+ }, [searchable, searchPlaceholder, searchTerm, onSearch]);
4622
4622
  return /*#__PURE__*/React__default["default"].createElement("div", _extends({
4623
4623
  className: cssClasses + " grouped",
4624
4624
  style: style
4625
- }, ariaAttributes, restProps), searchPosition === 'top' && /*#__PURE__*/React__default["default"].createElement(GroupedSearchComponent, null), groups.map(function (group) {
4625
+ }, ariaAttributes, restProps), searchPosition === 'top' && groupedSearchComponent, groups.map(function (group) {
4626
4626
  var isCollapsed = collapsedGroups.has(group.name);
4627
4627
  var groupTitle = groupRenderer ? groupRenderer(group) : /*#__PURE__*/React__default["default"].createElement(Text, null, group.name);
4628
4628
  return /*#__PURE__*/React__default["default"].createElement(React.Fragment, {
@@ -4665,7 +4665,7 @@ var GroupedList = function GroupedList(props) {
4665
4665
  animated: animated
4666
4666
  });
4667
4667
  })));
4668
- }), searchPosition === 'bottom' && /*#__PURE__*/React__default["default"].createElement(GroupedSearchComponent, null), children);
4668
+ }), searchPosition === 'bottom' && groupedSearchComponent, children);
4669
4669
  };
4670
4670
 
4671
4671
  /**