v1.0 with SW PWA enabled
This commit is contained in:
21
frontend/node_modules/@radix-ui/react-hover-card/LICENSE
generated
vendored
Normal file
21
frontend/node_modules/@radix-ui/react-hover-card/LICENSE
generated
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2022 WorkOS
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
3
frontend/node_modules/@radix-ui/react-hover-card/README.md
generated
vendored
Normal file
3
frontend/node_modules/@radix-ui/react-hover-card/README.md
generated
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
# `react-hover-card`
|
||||
|
||||
View docs [here](https://radix-ui.com/primitives/docs/components/hover-card).
|
||||
79
frontend/node_modules/@radix-ui/react-hover-card/dist/index.d.mts
generated
vendored
Normal file
79
frontend/node_modules/@radix-ui/react-hover-card/dist/index.d.mts
generated
vendored
Normal file
@ -0,0 +1,79 @@
|
||||
import * as _radix_ui_react_context from '@radix-ui/react-context';
|
||||
import * as React from 'react';
|
||||
import * as PopperPrimitive from '@radix-ui/react-popper';
|
||||
import { Portal as Portal$1 } from '@radix-ui/react-portal';
|
||||
import { Primitive } from '@radix-ui/react-primitive';
|
||||
import { DismissableLayer } from '@radix-ui/react-dismissable-layer';
|
||||
|
||||
declare const createHoverCardScope: _radix_ui_react_context.CreateScope;
|
||||
interface HoverCardProps {
|
||||
children?: React.ReactNode;
|
||||
open?: boolean;
|
||||
defaultOpen?: boolean;
|
||||
onOpenChange?: (open: boolean) => void;
|
||||
openDelay?: number;
|
||||
closeDelay?: number;
|
||||
}
|
||||
declare const HoverCard: React.FC<HoverCardProps>;
|
||||
type PrimitiveLinkProps = React.ComponentPropsWithoutRef<typeof Primitive.a>;
|
||||
interface HoverCardTriggerProps extends PrimitiveLinkProps {
|
||||
}
|
||||
declare const HoverCardTrigger: React.ForwardRefExoticComponent<HoverCardTriggerProps & React.RefAttributes<HTMLAnchorElement>>;
|
||||
type PortalProps = React.ComponentPropsWithoutRef<typeof Portal$1>;
|
||||
interface HoverCardPortalProps {
|
||||
children?: React.ReactNode;
|
||||
/**
|
||||
* Specify a container element to portal the content into.
|
||||
*/
|
||||
container?: PortalProps['container'];
|
||||
/**
|
||||
* Used to force mounting when more control is needed. Useful when
|
||||
* controlling animation with React animation libraries.
|
||||
*/
|
||||
forceMount?: true;
|
||||
}
|
||||
declare const HoverCardPortal: React.FC<HoverCardPortalProps>;
|
||||
interface HoverCardContentProps extends HoverCardContentImplProps {
|
||||
/**
|
||||
* Used to force mounting when more control is needed. Useful when
|
||||
* controlling animation with React animation libraries.
|
||||
*/
|
||||
forceMount?: true;
|
||||
}
|
||||
declare const HoverCardContent: React.ForwardRefExoticComponent<HoverCardContentProps & React.RefAttributes<HTMLDivElement>>;
|
||||
type DismissableLayerProps = React.ComponentPropsWithoutRef<typeof DismissableLayer>;
|
||||
type PopperContentProps = React.ComponentPropsWithoutRef<typeof PopperPrimitive.Content>;
|
||||
interface HoverCardContentImplProps extends Omit<PopperContentProps, 'onPlaced'> {
|
||||
/**
|
||||
* Event handler called when the escape key is down.
|
||||
* Can be prevented.
|
||||
*/
|
||||
onEscapeKeyDown?: DismissableLayerProps['onEscapeKeyDown'];
|
||||
/**
|
||||
* Event handler called when the a `pointerdown` event happens outside of the `HoverCard`.
|
||||
* Can be prevented.
|
||||
*/
|
||||
onPointerDownOutside?: DismissableLayerProps['onPointerDownOutside'];
|
||||
/**
|
||||
* Event handler called when the focus moves outside of the `HoverCard`.
|
||||
* Can be prevented.
|
||||
*/
|
||||
onFocusOutside?: DismissableLayerProps['onFocusOutside'];
|
||||
/**
|
||||
* Event handler called when an interaction happens outside the `HoverCard`.
|
||||
* Specifically, when a `pointerdown` event happens outside or focus moves outside of it.
|
||||
* Can be prevented.
|
||||
*/
|
||||
onInteractOutside?: DismissableLayerProps['onInteractOutside'];
|
||||
}
|
||||
type PopperArrowProps = React.ComponentPropsWithoutRef<typeof PopperPrimitive.Arrow>;
|
||||
interface HoverCardArrowProps extends PopperArrowProps {
|
||||
}
|
||||
declare const HoverCardArrow: React.ForwardRefExoticComponent<HoverCardArrowProps & React.RefAttributes<SVGSVGElement>>;
|
||||
declare const Root: React.FC<HoverCardProps>;
|
||||
declare const Trigger: React.ForwardRefExoticComponent<HoverCardTriggerProps & React.RefAttributes<HTMLAnchorElement>>;
|
||||
declare const Portal: React.FC<HoverCardPortalProps>;
|
||||
declare const Content: React.ForwardRefExoticComponent<HoverCardContentProps & React.RefAttributes<HTMLDivElement>>;
|
||||
declare const Arrow: React.ForwardRefExoticComponent<HoverCardArrowProps & React.RefAttributes<SVGSVGElement>>;
|
||||
|
||||
export { Arrow, Content, HoverCard, HoverCardArrow, type HoverCardArrowProps, HoverCardContent, type HoverCardContentProps, HoverCardPortal, type HoverCardPortalProps, type HoverCardProps, HoverCardTrigger, type HoverCardTriggerProps, Portal, Root, Trigger, createHoverCardScope };
|
||||
79
frontend/node_modules/@radix-ui/react-hover-card/dist/index.d.ts
generated
vendored
Normal file
79
frontend/node_modules/@radix-ui/react-hover-card/dist/index.d.ts
generated
vendored
Normal file
@ -0,0 +1,79 @@
|
||||
import * as _radix_ui_react_context from '@radix-ui/react-context';
|
||||
import * as React from 'react';
|
||||
import * as PopperPrimitive from '@radix-ui/react-popper';
|
||||
import { Portal as Portal$1 } from '@radix-ui/react-portal';
|
||||
import { Primitive } from '@radix-ui/react-primitive';
|
||||
import { DismissableLayer } from '@radix-ui/react-dismissable-layer';
|
||||
|
||||
declare const createHoverCardScope: _radix_ui_react_context.CreateScope;
|
||||
interface HoverCardProps {
|
||||
children?: React.ReactNode;
|
||||
open?: boolean;
|
||||
defaultOpen?: boolean;
|
||||
onOpenChange?: (open: boolean) => void;
|
||||
openDelay?: number;
|
||||
closeDelay?: number;
|
||||
}
|
||||
declare const HoverCard: React.FC<HoverCardProps>;
|
||||
type PrimitiveLinkProps = React.ComponentPropsWithoutRef<typeof Primitive.a>;
|
||||
interface HoverCardTriggerProps extends PrimitiveLinkProps {
|
||||
}
|
||||
declare const HoverCardTrigger: React.ForwardRefExoticComponent<HoverCardTriggerProps & React.RefAttributes<HTMLAnchorElement>>;
|
||||
type PortalProps = React.ComponentPropsWithoutRef<typeof Portal$1>;
|
||||
interface HoverCardPortalProps {
|
||||
children?: React.ReactNode;
|
||||
/**
|
||||
* Specify a container element to portal the content into.
|
||||
*/
|
||||
container?: PortalProps['container'];
|
||||
/**
|
||||
* Used to force mounting when more control is needed. Useful when
|
||||
* controlling animation with React animation libraries.
|
||||
*/
|
||||
forceMount?: true;
|
||||
}
|
||||
declare const HoverCardPortal: React.FC<HoverCardPortalProps>;
|
||||
interface HoverCardContentProps extends HoverCardContentImplProps {
|
||||
/**
|
||||
* Used to force mounting when more control is needed. Useful when
|
||||
* controlling animation with React animation libraries.
|
||||
*/
|
||||
forceMount?: true;
|
||||
}
|
||||
declare const HoverCardContent: React.ForwardRefExoticComponent<HoverCardContentProps & React.RefAttributes<HTMLDivElement>>;
|
||||
type DismissableLayerProps = React.ComponentPropsWithoutRef<typeof DismissableLayer>;
|
||||
type PopperContentProps = React.ComponentPropsWithoutRef<typeof PopperPrimitive.Content>;
|
||||
interface HoverCardContentImplProps extends Omit<PopperContentProps, 'onPlaced'> {
|
||||
/**
|
||||
* Event handler called when the escape key is down.
|
||||
* Can be prevented.
|
||||
*/
|
||||
onEscapeKeyDown?: DismissableLayerProps['onEscapeKeyDown'];
|
||||
/**
|
||||
* Event handler called when the a `pointerdown` event happens outside of the `HoverCard`.
|
||||
* Can be prevented.
|
||||
*/
|
||||
onPointerDownOutside?: DismissableLayerProps['onPointerDownOutside'];
|
||||
/**
|
||||
* Event handler called when the focus moves outside of the `HoverCard`.
|
||||
* Can be prevented.
|
||||
*/
|
||||
onFocusOutside?: DismissableLayerProps['onFocusOutside'];
|
||||
/**
|
||||
* Event handler called when an interaction happens outside the `HoverCard`.
|
||||
* Specifically, when a `pointerdown` event happens outside or focus moves outside of it.
|
||||
* Can be prevented.
|
||||
*/
|
||||
onInteractOutside?: DismissableLayerProps['onInteractOutside'];
|
||||
}
|
||||
type PopperArrowProps = React.ComponentPropsWithoutRef<typeof PopperPrimitive.Arrow>;
|
||||
interface HoverCardArrowProps extends PopperArrowProps {
|
||||
}
|
||||
declare const HoverCardArrow: React.ForwardRefExoticComponent<HoverCardArrowProps & React.RefAttributes<SVGSVGElement>>;
|
||||
declare const Root: React.FC<HoverCardProps>;
|
||||
declare const Trigger: React.ForwardRefExoticComponent<HoverCardTriggerProps & React.RefAttributes<HTMLAnchorElement>>;
|
||||
declare const Portal: React.FC<HoverCardPortalProps>;
|
||||
declare const Content: React.ForwardRefExoticComponent<HoverCardContentProps & React.RefAttributes<HTMLDivElement>>;
|
||||
declare const Arrow: React.ForwardRefExoticComponent<HoverCardArrowProps & React.RefAttributes<SVGSVGElement>>;
|
||||
|
||||
export { Arrow, Content, HoverCard, HoverCardArrow, type HoverCardArrowProps, HoverCardContent, type HoverCardContentProps, HoverCardPortal, type HoverCardPortalProps, type HoverCardProps, HoverCardTrigger, type HoverCardTriggerProps, Portal, Root, Trigger, createHoverCardScope };
|
||||
294
frontend/node_modules/@radix-ui/react-hover-card/dist/index.js
generated
vendored
Normal file
294
frontend/node_modules/@radix-ui/react-hover-card/dist/index.js
generated
vendored
Normal file
@ -0,0 +1,294 @@
|
||||
"use strict";
|
||||
"use client";
|
||||
var __create = Object.create;
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __getProtoOf = Object.getPrototypeOf;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
||||
// If the importer is in node compatibility mode or this is not an ESM
|
||||
// file that has been converted to a CommonJS file using a Babel-
|
||||
// compatible transform (i.e. "__esModule" has not been set), then set
|
||||
// "default" to the CommonJS "module.exports" for node compatibility.
|
||||
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
||||
mod
|
||||
));
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
|
||||
// src/index.ts
|
||||
var index_exports = {};
|
||||
__export(index_exports, {
|
||||
Arrow: () => Arrow2,
|
||||
Content: () => Content2,
|
||||
HoverCard: () => HoverCard,
|
||||
HoverCardArrow: () => HoverCardArrow,
|
||||
HoverCardContent: () => HoverCardContent,
|
||||
HoverCardPortal: () => HoverCardPortal,
|
||||
HoverCardTrigger: () => HoverCardTrigger,
|
||||
Portal: () => Portal,
|
||||
Root: () => Root2,
|
||||
Trigger: () => Trigger,
|
||||
createHoverCardScope: () => createHoverCardScope
|
||||
});
|
||||
module.exports = __toCommonJS(index_exports);
|
||||
|
||||
// src/hover-card.tsx
|
||||
var React = __toESM(require("react"));
|
||||
var import_primitive = require("@radix-ui/primitive");
|
||||
var import_react_context = require("@radix-ui/react-context");
|
||||
var import_react_use_controllable_state = require("@radix-ui/react-use-controllable-state");
|
||||
var import_react_compose_refs = require("@radix-ui/react-compose-refs");
|
||||
var PopperPrimitive = __toESM(require("@radix-ui/react-popper"));
|
||||
var import_react_popper = require("@radix-ui/react-popper");
|
||||
var import_react_portal = require("@radix-ui/react-portal");
|
||||
var import_react_presence = require("@radix-ui/react-presence");
|
||||
var import_react_primitive = require("@radix-ui/react-primitive");
|
||||
var import_react_dismissable_layer = require("@radix-ui/react-dismissable-layer");
|
||||
var import_jsx_runtime = require("react/jsx-runtime");
|
||||
var originalBodyUserSelect;
|
||||
var HOVERCARD_NAME = "HoverCard";
|
||||
var [createHoverCardContext, createHoverCardScope] = (0, import_react_context.createContextScope)(HOVERCARD_NAME, [
|
||||
import_react_popper.createPopperScope
|
||||
]);
|
||||
var usePopperScope = (0, import_react_popper.createPopperScope)();
|
||||
var [HoverCardProvider, useHoverCardContext] = createHoverCardContext(HOVERCARD_NAME);
|
||||
var HoverCard = (props) => {
|
||||
const {
|
||||
__scopeHoverCard,
|
||||
children,
|
||||
open: openProp,
|
||||
defaultOpen,
|
||||
onOpenChange,
|
||||
openDelay = 700,
|
||||
closeDelay = 300
|
||||
} = props;
|
||||
const popperScope = usePopperScope(__scopeHoverCard);
|
||||
const openTimerRef = React.useRef(0);
|
||||
const closeTimerRef = React.useRef(0);
|
||||
const hasSelectionRef = React.useRef(false);
|
||||
const isPointerDownOnContentRef = React.useRef(false);
|
||||
const [open, setOpen] = (0, import_react_use_controllable_state.useControllableState)({
|
||||
prop: openProp,
|
||||
defaultProp: defaultOpen ?? false,
|
||||
onChange: onOpenChange,
|
||||
caller: HOVERCARD_NAME
|
||||
});
|
||||
const handleOpen = React.useCallback(() => {
|
||||
clearTimeout(closeTimerRef.current);
|
||||
openTimerRef.current = window.setTimeout(() => setOpen(true), openDelay);
|
||||
}, [openDelay, setOpen]);
|
||||
const handleClose = React.useCallback(() => {
|
||||
clearTimeout(openTimerRef.current);
|
||||
if (!hasSelectionRef.current && !isPointerDownOnContentRef.current) {
|
||||
closeTimerRef.current = window.setTimeout(() => setOpen(false), closeDelay);
|
||||
}
|
||||
}, [closeDelay, setOpen]);
|
||||
const handleDismiss = React.useCallback(() => setOpen(false), [setOpen]);
|
||||
React.useEffect(() => {
|
||||
return () => {
|
||||
clearTimeout(openTimerRef.current);
|
||||
clearTimeout(closeTimerRef.current);
|
||||
};
|
||||
}, []);
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
||||
HoverCardProvider,
|
||||
{
|
||||
scope: __scopeHoverCard,
|
||||
open,
|
||||
onOpenChange: setOpen,
|
||||
onOpen: handleOpen,
|
||||
onClose: handleClose,
|
||||
onDismiss: handleDismiss,
|
||||
hasSelectionRef,
|
||||
isPointerDownOnContentRef,
|
||||
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PopperPrimitive.Root, { ...popperScope, children })
|
||||
}
|
||||
);
|
||||
};
|
||||
HoverCard.displayName = HOVERCARD_NAME;
|
||||
var TRIGGER_NAME = "HoverCardTrigger";
|
||||
var HoverCardTrigger = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { __scopeHoverCard, ...triggerProps } = props;
|
||||
const context = useHoverCardContext(TRIGGER_NAME, __scopeHoverCard);
|
||||
const popperScope = usePopperScope(__scopeHoverCard);
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PopperPrimitive.Anchor, { asChild: true, ...popperScope, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
||||
import_react_primitive.Primitive.a,
|
||||
{
|
||||
"data-state": context.open ? "open" : "closed",
|
||||
...triggerProps,
|
||||
ref: forwardedRef,
|
||||
onPointerEnter: (0, import_primitive.composeEventHandlers)(props.onPointerEnter, excludeTouch(context.onOpen)),
|
||||
onPointerLeave: (0, import_primitive.composeEventHandlers)(props.onPointerLeave, excludeTouch(context.onClose)),
|
||||
onFocus: (0, import_primitive.composeEventHandlers)(props.onFocus, context.onOpen),
|
||||
onBlur: (0, import_primitive.composeEventHandlers)(props.onBlur, context.onClose),
|
||||
onTouchStart: (0, import_primitive.composeEventHandlers)(props.onTouchStart, (event) => event.preventDefault())
|
||||
}
|
||||
) });
|
||||
}
|
||||
);
|
||||
HoverCardTrigger.displayName = TRIGGER_NAME;
|
||||
var PORTAL_NAME = "HoverCardPortal";
|
||||
var [PortalProvider, usePortalContext] = createHoverCardContext(PORTAL_NAME, {
|
||||
forceMount: void 0
|
||||
});
|
||||
var HoverCardPortal = (props) => {
|
||||
const { __scopeHoverCard, forceMount, children, container } = props;
|
||||
const context = useHoverCardContext(PORTAL_NAME, __scopeHoverCard);
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PortalProvider, { scope: __scopeHoverCard, forceMount, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_presence.Presence, { present: forceMount || context.open, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_portal.Portal, { asChild: true, container, children }) }) });
|
||||
};
|
||||
HoverCardPortal.displayName = PORTAL_NAME;
|
||||
var CONTENT_NAME = "HoverCardContent";
|
||||
var HoverCardContent = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const portalContext = usePortalContext(CONTENT_NAME, props.__scopeHoverCard);
|
||||
const { forceMount = portalContext.forceMount, ...contentProps } = props;
|
||||
const context = useHoverCardContext(CONTENT_NAME, props.__scopeHoverCard);
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_presence.Presence, { present: forceMount || context.open, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
||||
HoverCardContentImpl,
|
||||
{
|
||||
"data-state": context.open ? "open" : "closed",
|
||||
...contentProps,
|
||||
onPointerEnter: (0, import_primitive.composeEventHandlers)(props.onPointerEnter, excludeTouch(context.onOpen)),
|
||||
onPointerLeave: (0, import_primitive.composeEventHandlers)(props.onPointerLeave, excludeTouch(context.onClose)),
|
||||
ref: forwardedRef
|
||||
}
|
||||
) });
|
||||
}
|
||||
);
|
||||
HoverCardContent.displayName = CONTENT_NAME;
|
||||
var HoverCardContentImpl = React.forwardRef((props, forwardedRef) => {
|
||||
const {
|
||||
__scopeHoverCard,
|
||||
onEscapeKeyDown,
|
||||
onPointerDownOutside,
|
||||
onFocusOutside,
|
||||
onInteractOutside,
|
||||
...contentProps
|
||||
} = props;
|
||||
const context = useHoverCardContext(CONTENT_NAME, __scopeHoverCard);
|
||||
const popperScope = usePopperScope(__scopeHoverCard);
|
||||
const ref = React.useRef(null);
|
||||
const composedRefs = (0, import_react_compose_refs.useComposedRefs)(forwardedRef, ref);
|
||||
const [containSelection, setContainSelection] = React.useState(false);
|
||||
React.useEffect(() => {
|
||||
if (containSelection) {
|
||||
const body = document.body;
|
||||
originalBodyUserSelect = body.style.userSelect || body.style.webkitUserSelect;
|
||||
body.style.userSelect = "none";
|
||||
body.style.webkitUserSelect = "none";
|
||||
return () => {
|
||||
body.style.userSelect = originalBodyUserSelect;
|
||||
body.style.webkitUserSelect = originalBodyUserSelect;
|
||||
};
|
||||
}
|
||||
}, [containSelection]);
|
||||
React.useEffect(() => {
|
||||
if (ref.current) {
|
||||
const handlePointerUp = () => {
|
||||
setContainSelection(false);
|
||||
context.isPointerDownOnContentRef.current = false;
|
||||
setTimeout(() => {
|
||||
const hasSelection = document.getSelection()?.toString() !== "";
|
||||
if (hasSelection) context.hasSelectionRef.current = true;
|
||||
});
|
||||
};
|
||||
document.addEventListener("pointerup", handlePointerUp);
|
||||
return () => {
|
||||
document.removeEventListener("pointerup", handlePointerUp);
|
||||
context.hasSelectionRef.current = false;
|
||||
context.isPointerDownOnContentRef.current = false;
|
||||
};
|
||||
}
|
||||
}, [context.isPointerDownOnContentRef, context.hasSelectionRef]);
|
||||
React.useEffect(() => {
|
||||
if (ref.current) {
|
||||
const tabbables = getTabbableNodes(ref.current);
|
||||
tabbables.forEach((tabbable) => tabbable.setAttribute("tabindex", "-1"));
|
||||
}
|
||||
});
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
||||
import_react_dismissable_layer.DismissableLayer,
|
||||
{
|
||||
asChild: true,
|
||||
disableOutsidePointerEvents: false,
|
||||
onInteractOutside,
|
||||
onEscapeKeyDown,
|
||||
onPointerDownOutside,
|
||||
onFocusOutside: (0, import_primitive.composeEventHandlers)(onFocusOutside, (event) => {
|
||||
event.preventDefault();
|
||||
}),
|
||||
onDismiss: context.onDismiss,
|
||||
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
||||
PopperPrimitive.Content,
|
||||
{
|
||||
...popperScope,
|
||||
...contentProps,
|
||||
onPointerDown: (0, import_primitive.composeEventHandlers)(contentProps.onPointerDown, (event) => {
|
||||
if (event.currentTarget.contains(event.target)) {
|
||||
setContainSelection(true);
|
||||
}
|
||||
context.hasSelectionRef.current = false;
|
||||
context.isPointerDownOnContentRef.current = true;
|
||||
}),
|
||||
ref: composedRefs,
|
||||
style: {
|
||||
...contentProps.style,
|
||||
userSelect: containSelection ? "text" : void 0,
|
||||
// Safari requires prefix
|
||||
WebkitUserSelect: containSelection ? "text" : void 0,
|
||||
// re-namespace exposed content custom properties
|
||||
...{
|
||||
"--radix-hover-card-content-transform-origin": "var(--radix-popper-transform-origin)",
|
||||
"--radix-hover-card-content-available-width": "var(--radix-popper-available-width)",
|
||||
"--radix-hover-card-content-available-height": "var(--radix-popper-available-height)",
|
||||
"--radix-hover-card-trigger-width": "var(--radix-popper-anchor-width)",
|
||||
"--radix-hover-card-trigger-height": "var(--radix-popper-anchor-height)"
|
||||
}
|
||||
}
|
||||
}
|
||||
)
|
||||
}
|
||||
);
|
||||
});
|
||||
var ARROW_NAME = "HoverCardArrow";
|
||||
var HoverCardArrow = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { __scopeHoverCard, ...arrowProps } = props;
|
||||
const popperScope = usePopperScope(__scopeHoverCard);
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });
|
||||
}
|
||||
);
|
||||
HoverCardArrow.displayName = ARROW_NAME;
|
||||
function excludeTouch(eventHandler) {
|
||||
return (event) => event.pointerType === "touch" ? void 0 : eventHandler();
|
||||
}
|
||||
function getTabbableNodes(container) {
|
||||
const nodes = [];
|
||||
const walker = document.createTreeWalker(container, NodeFilter.SHOW_ELEMENT, {
|
||||
acceptNode: (node) => {
|
||||
return node.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;
|
||||
}
|
||||
});
|
||||
while (walker.nextNode()) nodes.push(walker.currentNode);
|
||||
return nodes;
|
||||
}
|
||||
var Root2 = HoverCard;
|
||||
var Trigger = HoverCardTrigger;
|
||||
var Portal = HoverCardPortal;
|
||||
var Content2 = HoverCardContent;
|
||||
var Arrow2 = HoverCardArrow;
|
||||
//# sourceMappingURL=index.js.map
|
||||
7
frontend/node_modules/@radix-ui/react-hover-card/dist/index.js.map
generated
vendored
Normal file
7
frontend/node_modules/@radix-ui/react-hover-card/dist/index.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
262
frontend/node_modules/@radix-ui/react-hover-card/dist/index.mjs
generated
vendored
Normal file
262
frontend/node_modules/@radix-ui/react-hover-card/dist/index.mjs
generated
vendored
Normal file
@ -0,0 +1,262 @@
|
||||
"use client";
|
||||
|
||||
// src/hover-card.tsx
|
||||
import * as React from "react";
|
||||
import { composeEventHandlers } from "@radix-ui/primitive";
|
||||
import { createContextScope } from "@radix-ui/react-context";
|
||||
import { useControllableState } from "@radix-ui/react-use-controllable-state";
|
||||
import { useComposedRefs } from "@radix-ui/react-compose-refs";
|
||||
import * as PopperPrimitive from "@radix-ui/react-popper";
|
||||
import { createPopperScope } from "@radix-ui/react-popper";
|
||||
import { Portal as PortalPrimitive } from "@radix-ui/react-portal";
|
||||
import { Presence } from "@radix-ui/react-presence";
|
||||
import { Primitive } from "@radix-ui/react-primitive";
|
||||
import { DismissableLayer } from "@radix-ui/react-dismissable-layer";
|
||||
import { jsx } from "react/jsx-runtime";
|
||||
var originalBodyUserSelect;
|
||||
var HOVERCARD_NAME = "HoverCard";
|
||||
var [createHoverCardContext, createHoverCardScope] = createContextScope(HOVERCARD_NAME, [
|
||||
createPopperScope
|
||||
]);
|
||||
var usePopperScope = createPopperScope();
|
||||
var [HoverCardProvider, useHoverCardContext] = createHoverCardContext(HOVERCARD_NAME);
|
||||
var HoverCard = (props) => {
|
||||
const {
|
||||
__scopeHoverCard,
|
||||
children,
|
||||
open: openProp,
|
||||
defaultOpen,
|
||||
onOpenChange,
|
||||
openDelay = 700,
|
||||
closeDelay = 300
|
||||
} = props;
|
||||
const popperScope = usePopperScope(__scopeHoverCard);
|
||||
const openTimerRef = React.useRef(0);
|
||||
const closeTimerRef = React.useRef(0);
|
||||
const hasSelectionRef = React.useRef(false);
|
||||
const isPointerDownOnContentRef = React.useRef(false);
|
||||
const [open, setOpen] = useControllableState({
|
||||
prop: openProp,
|
||||
defaultProp: defaultOpen ?? false,
|
||||
onChange: onOpenChange,
|
||||
caller: HOVERCARD_NAME
|
||||
});
|
||||
const handleOpen = React.useCallback(() => {
|
||||
clearTimeout(closeTimerRef.current);
|
||||
openTimerRef.current = window.setTimeout(() => setOpen(true), openDelay);
|
||||
}, [openDelay, setOpen]);
|
||||
const handleClose = React.useCallback(() => {
|
||||
clearTimeout(openTimerRef.current);
|
||||
if (!hasSelectionRef.current && !isPointerDownOnContentRef.current) {
|
||||
closeTimerRef.current = window.setTimeout(() => setOpen(false), closeDelay);
|
||||
}
|
||||
}, [closeDelay, setOpen]);
|
||||
const handleDismiss = React.useCallback(() => setOpen(false), [setOpen]);
|
||||
React.useEffect(() => {
|
||||
return () => {
|
||||
clearTimeout(openTimerRef.current);
|
||||
clearTimeout(closeTimerRef.current);
|
||||
};
|
||||
}, []);
|
||||
return /* @__PURE__ */ jsx(
|
||||
HoverCardProvider,
|
||||
{
|
||||
scope: __scopeHoverCard,
|
||||
open,
|
||||
onOpenChange: setOpen,
|
||||
onOpen: handleOpen,
|
||||
onClose: handleClose,
|
||||
onDismiss: handleDismiss,
|
||||
hasSelectionRef,
|
||||
isPointerDownOnContentRef,
|
||||
children: /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children })
|
||||
}
|
||||
);
|
||||
};
|
||||
HoverCard.displayName = HOVERCARD_NAME;
|
||||
var TRIGGER_NAME = "HoverCardTrigger";
|
||||
var HoverCardTrigger = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { __scopeHoverCard, ...triggerProps } = props;
|
||||
const context = useHoverCardContext(TRIGGER_NAME, __scopeHoverCard);
|
||||
const popperScope = usePopperScope(__scopeHoverCard);
|
||||
return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { asChild: true, ...popperScope, children: /* @__PURE__ */ jsx(
|
||||
Primitive.a,
|
||||
{
|
||||
"data-state": context.open ? "open" : "closed",
|
||||
...triggerProps,
|
||||
ref: forwardedRef,
|
||||
onPointerEnter: composeEventHandlers(props.onPointerEnter, excludeTouch(context.onOpen)),
|
||||
onPointerLeave: composeEventHandlers(props.onPointerLeave, excludeTouch(context.onClose)),
|
||||
onFocus: composeEventHandlers(props.onFocus, context.onOpen),
|
||||
onBlur: composeEventHandlers(props.onBlur, context.onClose),
|
||||
onTouchStart: composeEventHandlers(props.onTouchStart, (event) => event.preventDefault())
|
||||
}
|
||||
) });
|
||||
}
|
||||
);
|
||||
HoverCardTrigger.displayName = TRIGGER_NAME;
|
||||
var PORTAL_NAME = "HoverCardPortal";
|
||||
var [PortalProvider, usePortalContext] = createHoverCardContext(PORTAL_NAME, {
|
||||
forceMount: void 0
|
||||
});
|
||||
var HoverCardPortal = (props) => {
|
||||
const { __scopeHoverCard, forceMount, children, container } = props;
|
||||
const context = useHoverCardContext(PORTAL_NAME, __scopeHoverCard);
|
||||
return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeHoverCard, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children }) }) });
|
||||
};
|
||||
HoverCardPortal.displayName = PORTAL_NAME;
|
||||
var CONTENT_NAME = "HoverCardContent";
|
||||
var HoverCardContent = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const portalContext = usePortalContext(CONTENT_NAME, props.__scopeHoverCard);
|
||||
const { forceMount = portalContext.forceMount, ...contentProps } = props;
|
||||
const context = useHoverCardContext(CONTENT_NAME, props.__scopeHoverCard);
|
||||
return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(
|
||||
HoverCardContentImpl,
|
||||
{
|
||||
"data-state": context.open ? "open" : "closed",
|
||||
...contentProps,
|
||||
onPointerEnter: composeEventHandlers(props.onPointerEnter, excludeTouch(context.onOpen)),
|
||||
onPointerLeave: composeEventHandlers(props.onPointerLeave, excludeTouch(context.onClose)),
|
||||
ref: forwardedRef
|
||||
}
|
||||
) });
|
||||
}
|
||||
);
|
||||
HoverCardContent.displayName = CONTENT_NAME;
|
||||
var HoverCardContentImpl = React.forwardRef((props, forwardedRef) => {
|
||||
const {
|
||||
__scopeHoverCard,
|
||||
onEscapeKeyDown,
|
||||
onPointerDownOutside,
|
||||
onFocusOutside,
|
||||
onInteractOutside,
|
||||
...contentProps
|
||||
} = props;
|
||||
const context = useHoverCardContext(CONTENT_NAME, __scopeHoverCard);
|
||||
const popperScope = usePopperScope(__scopeHoverCard);
|
||||
const ref = React.useRef(null);
|
||||
const composedRefs = useComposedRefs(forwardedRef, ref);
|
||||
const [containSelection, setContainSelection] = React.useState(false);
|
||||
React.useEffect(() => {
|
||||
if (containSelection) {
|
||||
const body = document.body;
|
||||
originalBodyUserSelect = body.style.userSelect || body.style.webkitUserSelect;
|
||||
body.style.userSelect = "none";
|
||||
body.style.webkitUserSelect = "none";
|
||||
return () => {
|
||||
body.style.userSelect = originalBodyUserSelect;
|
||||
body.style.webkitUserSelect = originalBodyUserSelect;
|
||||
};
|
||||
}
|
||||
}, [containSelection]);
|
||||
React.useEffect(() => {
|
||||
if (ref.current) {
|
||||
const handlePointerUp = () => {
|
||||
setContainSelection(false);
|
||||
context.isPointerDownOnContentRef.current = false;
|
||||
setTimeout(() => {
|
||||
const hasSelection = document.getSelection()?.toString() !== "";
|
||||
if (hasSelection) context.hasSelectionRef.current = true;
|
||||
});
|
||||
};
|
||||
document.addEventListener("pointerup", handlePointerUp);
|
||||
return () => {
|
||||
document.removeEventListener("pointerup", handlePointerUp);
|
||||
context.hasSelectionRef.current = false;
|
||||
context.isPointerDownOnContentRef.current = false;
|
||||
};
|
||||
}
|
||||
}, [context.isPointerDownOnContentRef, context.hasSelectionRef]);
|
||||
React.useEffect(() => {
|
||||
if (ref.current) {
|
||||
const tabbables = getTabbableNodes(ref.current);
|
||||
tabbables.forEach((tabbable) => tabbable.setAttribute("tabindex", "-1"));
|
||||
}
|
||||
});
|
||||
return /* @__PURE__ */ jsx(
|
||||
DismissableLayer,
|
||||
{
|
||||
asChild: true,
|
||||
disableOutsidePointerEvents: false,
|
||||
onInteractOutside,
|
||||
onEscapeKeyDown,
|
||||
onPointerDownOutside,
|
||||
onFocusOutside: composeEventHandlers(onFocusOutside, (event) => {
|
||||
event.preventDefault();
|
||||
}),
|
||||
onDismiss: context.onDismiss,
|
||||
children: /* @__PURE__ */ jsx(
|
||||
PopperPrimitive.Content,
|
||||
{
|
||||
...popperScope,
|
||||
...contentProps,
|
||||
onPointerDown: composeEventHandlers(contentProps.onPointerDown, (event) => {
|
||||
if (event.currentTarget.contains(event.target)) {
|
||||
setContainSelection(true);
|
||||
}
|
||||
context.hasSelectionRef.current = false;
|
||||
context.isPointerDownOnContentRef.current = true;
|
||||
}),
|
||||
ref: composedRefs,
|
||||
style: {
|
||||
...contentProps.style,
|
||||
userSelect: containSelection ? "text" : void 0,
|
||||
// Safari requires prefix
|
||||
WebkitUserSelect: containSelection ? "text" : void 0,
|
||||
// re-namespace exposed content custom properties
|
||||
...{
|
||||
"--radix-hover-card-content-transform-origin": "var(--radix-popper-transform-origin)",
|
||||
"--radix-hover-card-content-available-width": "var(--radix-popper-available-width)",
|
||||
"--radix-hover-card-content-available-height": "var(--radix-popper-available-height)",
|
||||
"--radix-hover-card-trigger-width": "var(--radix-popper-anchor-width)",
|
||||
"--radix-hover-card-trigger-height": "var(--radix-popper-anchor-height)"
|
||||
}
|
||||
}
|
||||
}
|
||||
)
|
||||
}
|
||||
);
|
||||
});
|
||||
var ARROW_NAME = "HoverCardArrow";
|
||||
var HoverCardArrow = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { __scopeHoverCard, ...arrowProps } = props;
|
||||
const popperScope = usePopperScope(__scopeHoverCard);
|
||||
return /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });
|
||||
}
|
||||
);
|
||||
HoverCardArrow.displayName = ARROW_NAME;
|
||||
function excludeTouch(eventHandler) {
|
||||
return (event) => event.pointerType === "touch" ? void 0 : eventHandler();
|
||||
}
|
||||
function getTabbableNodes(container) {
|
||||
const nodes = [];
|
||||
const walker = document.createTreeWalker(container, NodeFilter.SHOW_ELEMENT, {
|
||||
acceptNode: (node) => {
|
||||
return node.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;
|
||||
}
|
||||
});
|
||||
while (walker.nextNode()) nodes.push(walker.currentNode);
|
||||
return nodes;
|
||||
}
|
||||
var Root2 = HoverCard;
|
||||
var Trigger = HoverCardTrigger;
|
||||
var Portal = HoverCardPortal;
|
||||
var Content2 = HoverCardContent;
|
||||
var Arrow2 = HoverCardArrow;
|
||||
export {
|
||||
Arrow2 as Arrow,
|
||||
Content2 as Content,
|
||||
HoverCard,
|
||||
HoverCardArrow,
|
||||
HoverCardContent,
|
||||
HoverCardPortal,
|
||||
HoverCardTrigger,
|
||||
Portal,
|
||||
Root2 as Root,
|
||||
Trigger,
|
||||
createHoverCardScope
|
||||
};
|
||||
//# sourceMappingURL=index.mjs.map
|
||||
7
frontend/node_modules/@radix-ui/react-hover-card/dist/index.mjs.map
generated
vendored
Normal file
7
frontend/node_modules/@radix-ui/react-hover-card/dist/index.mjs.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
76
frontend/node_modules/@radix-ui/react-hover-card/package.json
generated
vendored
Normal file
76
frontend/node_modules/@radix-ui/react-hover-card/package.json
generated
vendored
Normal file
@ -0,0 +1,76 @@
|
||||
{
|
||||
"name": "@radix-ui/react-hover-card",
|
||||
"version": "1.1.15",
|
||||
"license": "MIT",
|
||||
"source": "./src/index.ts",
|
||||
"main": "./dist/index.js",
|
||||
"module": "./dist/index.mjs",
|
||||
"files": [
|
||||
"dist",
|
||||
"README.md"
|
||||
],
|
||||
"sideEffects": false,
|
||||
"dependencies": {
|
||||
"@radix-ui/primitive": "1.1.3",
|
||||
"@radix-ui/react-compose-refs": "1.1.2",
|
||||
"@radix-ui/react-context": "1.1.2",
|
||||
"@radix-ui/react-dismissable-layer": "1.1.11",
|
||||
"@radix-ui/react-presence": "1.1.5",
|
||||
"@radix-ui/react-portal": "1.1.9",
|
||||
"@radix-ui/react-popper": "1.2.8",
|
||||
"@radix-ui/react-use-controllable-state": "1.2.2",
|
||||
"@radix-ui/react-primitive": "2.1.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/react": "^19.0.7",
|
||||
"@types/react-dom": "^19.0.3",
|
||||
"eslint": "^9.18.0",
|
||||
"react": "^19.1.0",
|
||||
"react-dom": "^19.1.0",
|
||||
"typescript": "^5.7.3",
|
||||
"@repo/builder": "0.0.0",
|
||||
"@repo/typescript-config": "0.0.0",
|
||||
"@repo/eslint-config": "0.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@types/react": "*",
|
||||
"@types/react-dom": "*",
|
||||
"react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
|
||||
"react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"@types/react": {
|
||||
"optional": true
|
||||
},
|
||||
"@types/react-dom": {
|
||||
"optional": true
|
||||
}
|
||||
},
|
||||
"homepage": "https://radix-ui.com/primitives",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/radix-ui/primitives.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/radix-ui/primitives/issues"
|
||||
},
|
||||
"scripts": {
|
||||
"lint": "eslint --max-warnings 0 src",
|
||||
"clean": "rm -rf dist",
|
||||
"typecheck": "tsc --noEmit",
|
||||
"build": "radix-build"
|
||||
},
|
||||
"types": "./dist/index.d.ts",
|
||||
"exports": {
|
||||
".": {
|
||||
"import": {
|
||||
"types": "./dist/index.d.mts",
|
||||
"default": "./dist/index.mjs"
|
||||
},
|
||||
"require": {
|
||||
"types": "./dist/index.d.ts",
|
||||
"default": "./dist/index.js"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user