@bigbinary/neetoui 5.2.17 → 5.2.18

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/index.cjs.js CHANGED
@@ -23384,7 +23384,7 @@ var menuListCSS = function menuListCSS(_ref5) {
23384
23384
  WebkitOverflowScrolling: 'touch'
23385
23385
  };
23386
23386
  };
23387
- var MenuList = function MenuList(props) {
23387
+ var MenuList$1 = function MenuList(props) {
23388
23388
  var children = props.children,
23389
23389
  className = props.className,
23390
23390
  cx = props.cx,
@@ -24245,7 +24245,7 @@ var components = {
24245
24245
  Input: Input$1,
24246
24246
  LoadingIndicator: LoadingIndicator,
24247
24247
  Menu: Menu$1,
24248
- MenuList: MenuList,
24248
+ MenuList: MenuList$1,
24249
24249
  MenuPortal: MenuPortal,
24250
24250
  LoadingMessage: LoadingMessage,
24251
24251
  NoOptionsMessage: NoOptionsMessage,
@@ -27942,6 +27942,30 @@ var AsyncCreatableSelect = /*#__PURE__*/React$5.forwardRef(function (props, ref)
27942
27942
  }, selectProps));
27943
27943
  });
27944
27944
 
27945
+ var Spinner = function Spinner(_ref) {
27946
+ var _ref$theme = _ref.theme,
27947
+ theme = _ref$theme === void 0 ? "dark" : _ref$theme,
27948
+ _ref$className = _ref.className,
27949
+ className = _ref$className === void 0 ? "" : _ref$className;
27950
+ var spinnerItemClassName = classnames$1("neeto-ui-spinner__item", {
27951
+ "neeto-ui-bg-gray-800": theme === "dark"
27952
+ }, {
27953
+ "neeto-ui-bg-white": theme === "light"
27954
+ });
27955
+ return /*#__PURE__*/React__default["default"].createElement("span", {
27956
+ className: classnames$1("neeto-ui-spinner", [className]),
27957
+ "data-testid": "spinner"
27958
+ }, /*#__PURE__*/React__default["default"].createElement("i", {
27959
+ className: spinnerItemClassName
27960
+ }), /*#__PURE__*/React__default["default"].createElement("i", {
27961
+ className: spinnerItemClassName
27962
+ }), /*#__PURE__*/React__default["default"].createElement("i", {
27963
+ className: spinnerItemClassName
27964
+ }), /*#__PURE__*/React__default["default"].createElement("i", {
27965
+ className: spinnerItemClassName
27966
+ }));
27967
+ };
27968
+
27945
27969
  var _excluded$c = ["size", "label", "required", "error", "helpText", "className", "innerRef", "isCreateable", "strategy", "id", "labelProps", "value", "defaultValue", "components", "optionRemapping"];
27946
27970
  function ownKeys$b(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
27947
27971
  function _objectSpread$b(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$b(Object(source), !0).forEach(function (key) { _defineProperty$7(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$b(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
@@ -28009,6 +28033,41 @@ var ValueContainer = function ValueContainer(props) {
28009
28033
  })
28010
28034
  }));
28011
28035
  };
28036
+ var MenuList = function MenuList(props) {
28037
+ var _props$selectProps = props.selectProps,
28038
+ fetchMore = _props$selectProps.fetchMore,
28039
+ totalOptionsCount = _props$selectProps.totalOptionsCount,
28040
+ isAsyncLoadOptionEnabled = _props$selectProps.isAsyncLoadOptionEnabled,
28041
+ options = _props$selectProps.options;
28042
+ var hasMore = isAsyncLoadOptionEnabled && totalOptionsCount > options.length;
28043
+ var loaderRef = React$5.useRef();
28044
+ React$5.useEffect(function () {
28045
+ var observer = null;
28046
+ if (loaderRef.current && isAsyncLoadOptionEnabled) {
28047
+ observer = new IntersectionObserver(function (entries) {
28048
+ return entries[0].isIntersecting && fetchMore();
28049
+ }, {
28050
+ root: null,
28051
+ rootMargin: "0px",
28052
+ threshold: 0.1
28053
+ });
28054
+ observer.observe(loaderRef.current);
28055
+ }
28056
+ return function () {
28057
+ if (loaderRef.current && isAsyncLoadOptionEnabled) {
28058
+ var _observer;
28059
+ (_observer = observer) === null || _observer === void 0 ? void 0 : _observer.unobserve(loaderRef.current);
28060
+ }
28061
+ };
28062
+ }, [hasMore]);
28063
+ return /*#__PURE__*/React__default["default"].createElement(components.MenuList, _extends$4({}, props, {
28064
+ innerProps: _objectSpread$b(_objectSpread$b({}, props.innerProps), {}, _defineProperty$7({}, "data-testid", "menu-list"))
28065
+ }), props.children, hasMore && /*#__PURE__*/React__default["default"].createElement("div", {
28066
+ className: "flex w-full items-center justify-center py-3",
28067
+ "data-testid": "loader",
28068
+ ref: loaderRef
28069
+ }, /*#__PURE__*/React__default["default"].createElement(Spinner, null)));
28070
+ };
28012
28071
  var Select = function Select(_ref) {
28013
28072
  var _ref$size = _ref.size,
28014
28073
  size = _ref$size === void 0 ? SIZES$2.medium : _ref$size,
@@ -28107,7 +28166,8 @@ var Select = function Select(_ref) {
28107
28166
  MultiValueRemove: MultiValueRemove,
28108
28167
  Placeholder: Placeholder,
28109
28168
  Menu: Menu,
28110
- ValueContainer: ValueContainer
28169
+ ValueContainer: ValueContainer,
28170
+ MenuList: MenuList
28111
28171
  }, componentOverrides)
28112
28172
  }, portalProps, otherProps)), !!error && /*#__PURE__*/React__default["default"].createElement("p", {
28113
28173
  className: "neeto-ui-input__error",
@@ -28206,30 +28266,6 @@ var Slider = function Slider(_ref) {
28206
28266
  }, helpText)));
28207
28267
  };
28208
28268
 
28209
- var Spinner = function Spinner(_ref) {
28210
- var _ref$theme = _ref.theme,
28211
- theme = _ref$theme === void 0 ? "dark" : _ref$theme,
28212
- _ref$className = _ref.className,
28213
- className = _ref$className === void 0 ? "" : _ref$className;
28214
- var spinnerItemClassName = classnames$1("neeto-ui-spinner__item", {
28215
- "neeto-ui-bg-gray-800": theme === "dark"
28216
- }, {
28217
- "neeto-ui-bg-white": theme === "light"
28218
- });
28219
- return /*#__PURE__*/React__default["default"].createElement("span", {
28220
- className: classnames$1("neeto-ui-spinner", [className]),
28221
- "data-testid": "spinner"
28222
- }, /*#__PURE__*/React__default["default"].createElement("i", {
28223
- className: spinnerItemClassName
28224
- }), /*#__PURE__*/React__default["default"].createElement("i", {
28225
- className: spinnerItemClassName
28226
- }), /*#__PURE__*/React__default["default"].createElement("i", {
28227
- className: spinnerItemClassName
28228
- }), /*#__PURE__*/React__default["default"].createElement("i", {
28229
- className: spinnerItemClassName
28230
- }));
28231
- };
28232
-
28233
28269
  var _excluded$a = ["label", "required", "className", "error", "onChange", "labelProps", "children"];
28234
28270
  var Switch = /*#__PURE__*/React$5.forwardRef(function (_ref, ref) {
28235
28271
  var _ref$label = _ref.label,