@diwauhris/ui 1.7.30 → 1.7.31

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/lib/index.cjs CHANGED
@@ -1244,15 +1244,19 @@ function Combobox({ value: controlledValue, defaultValue = "", onChange, options
1244
1244
  }, [isOpen]);
1245
1245
  (0, react.useEffect)(() => {
1246
1246
  if (!isOpen) return;
1247
- const close = () => setIsOpen(false);
1247
+ const close = (e) => {
1248
+ if (listRef.current && listRef.current.contains(e.target)) return;
1249
+ setIsOpen(false);
1250
+ };
1251
+ const closeOnResize = () => setIsOpen(false);
1248
1252
  window.addEventListener("scroll", close, {
1249
1253
  capture: true,
1250
1254
  passive: true
1251
1255
  });
1252
- window.addEventListener("resize", close);
1256
+ window.addEventListener("resize", closeOnResize);
1253
1257
  return () => {
1254
1258
  window.removeEventListener("scroll", close, { capture: true });
1255
- window.removeEventListener("resize", close);
1259
+ window.removeEventListener("resize", closeOnResize);
1256
1260
  };
1257
1261
  }, [isOpen]);
1258
1262
  (0, react.useEffect)(() => {
package/lib/index.mjs CHANGED
@@ -1220,15 +1220,19 @@ function Combobox({ value: controlledValue, defaultValue = "", onChange, options
1220
1220
  }, [isOpen]);
1221
1221
  useEffect(() => {
1222
1222
  if (!isOpen) return;
1223
- const close = () => setIsOpen(false);
1223
+ const close = (e) => {
1224
+ if (listRef.current && listRef.current.contains(e.target)) return;
1225
+ setIsOpen(false);
1226
+ };
1227
+ const closeOnResize = () => setIsOpen(false);
1224
1228
  window.addEventListener("scroll", close, {
1225
1229
  capture: true,
1226
1230
  passive: true
1227
1231
  });
1228
- window.addEventListener("resize", close);
1232
+ window.addEventListener("resize", closeOnResize);
1229
1233
  return () => {
1230
1234
  window.removeEventListener("scroll", close, { capture: true });
1231
- window.removeEventListener("resize", close);
1235
+ window.removeEventListener("resize", closeOnResize);
1232
1236
  };
1233
1237
  }, [isOpen]);
1234
1238
  useEffect(() => {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@diwauhris/ui",
3
3
  "private": false,
4
- "version": "1.7.30",
4
+ "version": "1.7.31",
5
5
  "type": "module",
6
6
  "description": "DIWA UHRIS UI component library — React + Tailwind CSS",
7
7
  "keywords": [