@kadoui/react 1.2.4 → 1.2.5

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.
@@ -1,8 +1,8 @@
1
- import { PopoverMenu } from "./PopoverMenu";
1
+ import { PopoverBody } from "./PopoverBody";
2
2
  import { PopoverRoot } from "./PopoverRoot";
3
3
  import { PopoverToggle } from "./PopoverToggle";
4
4
  export declare const Popover: typeof PopoverRoot & {
5
5
  Toggle: typeof PopoverToggle;
6
- Menu: typeof PopoverMenu;
6
+ Body: typeof PopoverBody;
7
7
  };
8
8
  //# sourceMappingURL=Popover.d.ts.map
@@ -1,7 +1,7 @@
1
- import { PopoverMenu } from "./PopoverMenu";
1
+ import { PopoverBody } from "./PopoverBody";
2
2
  import { PopoverRoot } from "./PopoverRoot";
3
3
  import { PopoverToggle } from "./PopoverToggle";
4
4
  export const Popover = Object.assign(PopoverRoot, {
5
5
  Toggle: PopoverToggle,
6
- Menu: PopoverMenu
6
+ Body: PopoverBody
7
7
  });
@@ -0,0 +1,6 @@
1
+ import { HTMLAttributes } from "react";
2
+ export type PopoverBodyPropsT = HTMLAttributes<HTMLDivElement> & {
3
+ preventClose?: boolean;
4
+ };
5
+ export declare function PopoverBody({ preventClose, onClick, ...p }: PopoverBodyPropsT): import("react").JSX.Element | null;
6
+ //# sourceMappingURL=PopoverBody.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PopoverBody.d.ts","sourceRoot":"","sources":["../../../src/components/Popover/PopoverBody.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAO,MAAM,OAAO,CAAC;AAI5C,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAAC,cAAc,CAAC,GAAG;IAC/D,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAA;AAED,wBAAgB,WAAW,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,EAAE,iBAAiB,sCAkB7E"}
@@ -0,0 +1,12 @@
1
+ "use client";
2
+ import { use } from "react";
3
+ import { PopoverContext } from "./PopoverContext";
4
+ export function PopoverBody({ preventClose, onClick, ...p }) {
5
+ const { bodyRef, isOpen } = use(PopoverContext);
6
+ return (isOpen ? (<div ref={bodyRef} onClick={ev => {
7
+ if (preventClose) {
8
+ ev.stopPropagation();
9
+ }
10
+ onClick?.(ev);
11
+ }} {...p}/>) : null);
12
+ }
@@ -3,7 +3,7 @@ export type PopoverContextT = {
3
3
  isOpen: boolean;
4
4
  setOpen: Dispatch<SetStateAction<boolean>>;
5
5
  toggleRef: RefObject<HTMLButtonElement | null>;
6
- menuRef: RefObject<HTMLDivElement | null>;
6
+ bodyRef: RefObject<HTMLDivElement | null>;
7
7
  mode: "click" | "hover" | "both";
8
8
  };
9
9
  export declare const PopoverContext: import("react").Context<PopoverContextT>;
@@ -5,7 +5,7 @@ import { selectAccessibleChildren } from "../../utils";
5
5
  export function PopoverRoot({ mode = "click", accessHorizontalArrows, onKeyDown, onMouseEnter, onMouseLeave, ...p }) {
6
6
  const [isOpen, setOpen] = useState(false);
7
7
  const toggleRef = useRef(null);
8
- const menuRef = useRef(null);
8
+ const bodyRef = useRef(null);
9
9
  useEffect(() => {
10
10
  const closeHandler = () => {
11
11
  setOpen(false);
@@ -19,10 +19,10 @@ export function PopoverRoot({ mode = "click", accessHorizontalArrows, onKeyDown,
19
19
  }
20
20
  }, [isOpen]);
21
21
  const selectFirstMenuChild = () => {
22
- if (!menuRef.current) {
22
+ if (!bodyRef.current) {
23
23
  return;
24
24
  }
25
- const children = selectAccessibleChildren(menuRef.current);
25
+ const children = selectAccessibleChildren(bodyRef.current);
26
26
  const firstChild = children[0];
27
27
  if (!firstChild) {
28
28
  return;
@@ -54,7 +54,7 @@ export function PopoverRoot({ mode = "click", accessHorizontalArrows, onKeyDown,
54
54
  }
55
55
  }
56
56
  };
57
- return (<PopoverContext value={{ isOpen, setOpen, toggleRef, menuRef, mode }}>
57
+ return (<PopoverContext value={{ isOpen, setOpen, toggleRef, bodyRef, mode }}>
58
58
  <div onKeyDown={ev => {
59
59
  onKeyDown?.(ev);
60
60
  handleKeyDown(ev);
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@kadoui/react",
3
- "version": "1.2.4",
3
+ "version": "1.2.5",
4
4
  "description": "Kadoui primitive components for React",
5
- "author": "Jstation",
5
+ "author": "ArrowUp",
6
6
  "license": "MIT",
7
7
  "type": "module",
8
8
  "scripts": {