feat(popover): backdrop support added

This commit is contained in:
Junior Garcia 2023-04-07 15:52:50 -03:00
parent 5d819b7939
commit 1a88d1f3ee
92 changed files with 613 additions and 62 deletions

View File

@ -1,5 +1,20 @@
# @nextui-org/accordion
## 0.0.0-dev-v2-20230407185204
### Patch Changes
- Popover backdrop added
- Updated dependencies
- @nextui-org/use-aria-accordion-item@0.0.0-dev-v2-20230407185204
- @nextui-org/framer-transitions@0.0.0-dev-v2-20230407185204
- @nextui-org/shared-icons@0.0.0-dev-v2-20230407185204
- @nextui-org/shared-utils@0.0.0-dev-v2-20230407185204
- @nextui-org/aria-utils@0.0.0-dev-v2-20230407185204
- @nextui-org/dom-utils@0.0.0-dev-v2-20230407185204
- @nextui-org/system@0.0.0-dev-v2-20230407185204
- @nextui-org/theme@0.0.0-dev-v2-20230407185204
## 0.0.0-dev-v2-20230407155017
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@nextui-org/accordion",
"version": "0.0.0-dev-v2-20230407155017",
"version": "0.0.0-dev-v2-20230407185204",
"description": "Collapse display a list of high-level options that can expand/collapse to reveal more information.",
"keywords": [
"react",

View File

@ -1,5 +1,17 @@
# @nextui-org/avatar
## 0.0.0-dev-v2-20230407185204
### Patch Changes
- Popover backdrop added
- Updated dependencies
- @nextui-org/shared-utils@0.0.0-dev-v2-20230407185204
- @nextui-org/dom-utils@0.0.0-dev-v2-20230407185204
- @nextui-org/use-image@0.0.0-dev-v2-20230407185204
- @nextui-org/system@0.0.0-dev-v2-20230407185204
- @nextui-org/theme@0.0.0-dev-v2-20230407185204
## 0.0.0-dev-v2-20230407155017
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@nextui-org/avatar",
"version": "0.0.0-dev-v2-20230407155017",
"version": "0.0.0-dev-v2-20230407185204",
"description": "The Avatar component is used to represent a user, and displays the profile picture, initials or fallback icon.",
"keywords": [
"avatar"

View File

@ -1,5 +1,16 @@
# @nextui-org/badge
## 0.0.0-dev-v2-20230407185204
### Patch Changes
- Popover backdrop added
- Updated dependencies
- @nextui-org/shared-utils@0.0.0-dev-v2-20230407185204
- @nextui-org/dom-utils@0.0.0-dev-v2-20230407185204
- @nextui-org/system@0.0.0-dev-v2-20230407185204
- @nextui-org/theme@0.0.0-dev-v2-20230407185204
## 0.0.0-dev-v2-20230407155017
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@nextui-org/badge",
"version": "0.0.0-dev-v2-20230407155017",
"version": "0.0.0-dev-v2-20230407185204",
"description": "Badges are used as a small numerical value or status descriptor for UI elements.",
"keywords": [
"badge"

View File

@ -1,5 +1,18 @@
# @nextui-org/button
## 0.0.0-dev-v2-20230407185204
### Patch Changes
- Popover backdrop added
- Updated dependencies
- @nextui-org/shared-utils@0.0.0-dev-v2-20230407185204
- @nextui-org/dom-utils@0.0.0-dev-v2-20230407185204
- @nextui-org/spinner@0.0.0-dev-v2-20230407185204
- @nextui-org/drip@0.0.0-dev-v2-20230407185204
- @nextui-org/system@0.0.0-dev-v2-20230407185204
- @nextui-org/theme@0.0.0-dev-v2-20230407185204
## 0.0.0-dev-v2-20230407155017
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@nextui-org/button",
"version": "0.0.0-dev-v2-20230407155017",
"version": "0.0.0-dev-v2-20230407185204",
"description": "Buttons allow users to perform actions and choose with a single tap.",
"keywords": [
"button"

View File

@ -1,5 +1,17 @@
# @nextui-org/card
## 0.0.0-dev-v2-20230407185204
### Patch Changes
- Popover backdrop added
- Updated dependencies
- @nextui-org/shared-utils@0.0.0-dev-v2-20230407185204
- @nextui-org/dom-utils@0.0.0-dev-v2-20230407185204
- @nextui-org/drip@0.0.0-dev-v2-20230407185204
- @nextui-org/system@0.0.0-dev-v2-20230407185204
- @nextui-org/theme@0.0.0-dev-v2-20230407185204
## 0.0.0-dev-v2-20230407155017
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@nextui-org/card",
"version": "0.0.0-dev-v2-20230407155017",
"version": "0.0.0-dev-v2-20230407185204",
"description": "Card is a container for text, photos, and actions in the context of a single subject.",
"keywords": [
"card"

View File

@ -1,5 +1,16 @@
# @nextui-org/checkbox
## 0.0.0-dev-v2-20230407185204
### Patch Changes
- Popover backdrop added
- Updated dependencies
- @nextui-org/shared-utils@0.0.0-dev-v2-20230407185204
- @nextui-org/dom-utils@0.0.0-dev-v2-20230407185204
- @nextui-org/system@0.0.0-dev-v2-20230407185204
- @nextui-org/theme@0.0.0-dev-v2-20230407185204
## 0.0.0-dev-v2-20230407155017
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@nextui-org/checkbox",
"version": "0.0.0-dev-v2-20230407155017",
"version": "0.0.0-dev-v2-20230407185204",
"description": "Checkboxes allow users to select multiple items from a list of individual items, or to mark one individual item as selected.",
"keywords": [
"checkbox"

View File

@ -1,5 +1,17 @@
# @nextui-org/chip
## 0.0.0-dev-v2-20230407185204
### Patch Changes
- Popover backdrop added
- Updated dependencies
- @nextui-org/shared-icons@0.0.0-dev-v2-20230407185204
- @nextui-org/shared-utils@0.0.0-dev-v2-20230407185204
- @nextui-org/dom-utils@0.0.0-dev-v2-20230407185204
- @nextui-org/system@0.0.0-dev-v2-20230407185204
- @nextui-org/theme@0.0.0-dev-v2-20230407185204
## 0.0.0-dev-v2-20230407155017
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@nextui-org/chip",
"version": "0.0.0-dev-v2-20230407155017",
"version": "0.0.0-dev-v2-20230407185204",
"description": "Chips help people enter information, make selections, filter content, or trigger actions.",
"keywords": [
"chip"

View File

@ -1,5 +1,16 @@
# @nextui-org/code
## 0.0.0-dev-v2-20230407185204
### Patch Changes
- Popover backdrop added
- Updated dependencies
- @nextui-org/shared-utils@0.0.0-dev-v2-20230407185204
- @nextui-org/dom-utils@0.0.0-dev-v2-20230407185204
- @nextui-org/system@0.0.0-dev-v2-20230407185204
- @nextui-org/theme@0.0.0-dev-v2-20230407185204
## 0.0.0-dev-v2-20230407155017
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@nextui-org/code",
"version": "0.0.0-dev-v2-20230407155017",
"version": "0.0.0-dev-v2-20230407185204",
"description": "Code is a component used to display inline code.",
"keywords": [
"code"

View File

@ -1,5 +1,16 @@
# @nextui-org/drip
## 0.0.0-dev-v2-20230407185204
### Patch Changes
- Popover backdrop added
- Updated dependencies
- @nextui-org/shared-utils@0.0.0-dev-v2-20230407185204
- @nextui-org/dom-utils@0.0.0-dev-v2-20230407185204
- @nextui-org/system@0.0.0-dev-v2-20230407185204
- @nextui-org/theme@0.0.0-dev-v2-20230407185204
## 0.0.0-dev-v2-20230407155017
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@nextui-org/drip",
"version": "0.0.0-dev-v2-20230407155017",
"version": "0.0.0-dev-v2-20230407185204",
"description": "A ripple effect for ensuring that the user fells the system is reacting instantaneously",
"keywords": [
"drip"

View File

@ -1,5 +1,18 @@
# @nextui-org/input
## 0.0.0-dev-v2-20230407185204
### Patch Changes
- Popover backdrop added
- Updated dependencies
- @nextui-org/shared-icons@0.0.0-dev-v2-20230407185204
- @nextui-org/shared-utils@0.0.0-dev-v2-20230407185204
- @nextui-org/use-aria-field@0.0.0-dev-v2-20230407185204
- @nextui-org/dom-utils@0.0.0-dev-v2-20230407185204
- @nextui-org/system@0.0.0-dev-v2-20230407185204
- @nextui-org/theme@0.0.0-dev-v2-20230407185204
## 0.0.0-dev-v2-20230407155017
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@nextui-org/input",
"version": "0.0.0-dev-v2-20230407155017",
"version": "0.0.0-dev-v2-20230407185204",
"description": "The input component is designed for capturing user input within a text field.",
"keywords": [
"input"

View File

@ -1,5 +1,16 @@
# @nextui-org/link
## 0.0.0-dev-v2-20230407185204
### Patch Changes
- Popover backdrop added
- Updated dependencies
- @nextui-org/shared-utils@0.0.0-dev-v2-20230407185204
- @nextui-org/dom-utils@0.0.0-dev-v2-20230407185204
- @nextui-org/system@0.0.0-dev-v2-20230407185204
- @nextui-org/theme@0.0.0-dev-v2-20230407185204
## 0.0.0-dev-v2-20230407155017
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@nextui-org/link",
"version": "0.0.0-dev-v2-20230407155017",
"version": "0.0.0-dev-v2-20230407185204",
"description": "Links allow users to click their way from page to page. This component is styled to resemble a hyperlink and semantically renders an <a>",
"keywords": [
"link"

View File

@ -1,5 +1,18 @@
# @nextui-org/pagination
## 0.0.0-dev-v2-20230407185204
### Patch Changes
- Popover backdrop added
- Updated dependencies
- @nextui-org/shared-icons@0.0.0-dev-v2-20230407185204
- @nextui-org/shared-utils@0.0.0-dev-v2-20230407185204
- @nextui-org/use-pagination@0.0.0-dev-v2-20230407185204
- @nextui-org/dom-utils@0.0.0-dev-v2-20230407185204
- @nextui-org/system@0.0.0-dev-v2-20230407185204
- @nextui-org/theme@0.0.0-dev-v2-20230407185204
## 0.0.0-dev-v2-20230407155017
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@nextui-org/pagination",
"version": "0.0.0-dev-v2-20230407155017",
"version": "0.0.0-dev-v2-20230407185204",
"description": "The Pagination component allows you to display active page and navigate between multiple pages.",
"keywords": [
"pagination"

View File

@ -1,5 +1,19 @@
# @nextui-org/popover
## 0.0.0-dev-v2-20230407185204
### Patch Changes
- Popover backdrop added
- Updated dependencies
- @nextui-org/framer-transitions@0.0.0-dev-v2-20230407185204
- @nextui-org/shared-utils@0.0.0-dev-v2-20230407185204
- @nextui-org/aria-utils@0.0.0-dev-v2-20230407185204
- @nextui-org/dom-utils@0.0.0-dev-v2-20230407185204
- @nextui-org/button@0.0.0-dev-v2-20230407185204
- @nextui-org/system@0.0.0-dev-v2-20230407185204
- @nextui-org/theme@0.0.0-dev-v2-20230407185204
## 0.0.0-dev-v2-20230407155017
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@nextui-org/popover",
"version": "0.0.0-dev-v2-20230407155017",
"version": "0.0.0-dev-v2-20230407185204",
"description": "A popover is an overlay element positioned relative to a trigger.",
"keywords": [
"popover"
@ -55,6 +55,7 @@
},
"devDependencies": {
"@nextui-org/input": "workspace:*",
"@nextui-org/card": "workspace:*",
"@react-types/overlays": "^3.7.1",
"@react-types/button": "^3.7.2",
"clean-package": "2.2.0",

View File

@ -1,4 +1,5 @@
import type {AriaDialogProps} from "@react-aria/dialog";
import type {HTMLMotionProps} from "framer-motion";
import {DOMAttributes, ReactNode, useMemo, useRef} from "react";
import {forwardRef} from "@nextui-org/system";
@ -25,10 +26,12 @@ const PopoverContent = forwardRef<PopoverContentProps, "section">((props, _) =>
placement,
showArrow,
motionProps,
backdropVariant,
disableAnimation,
getPopoverProps,
getArrowProps,
getDialogProps,
getBackdropProps,
onClose,
} = usePopoverContext();
@ -61,8 +64,29 @@ const PopoverContent = forwardRef<PopoverContentProps, "section">((props, _) =>
</>
);
const backdrop = useMemo(() => {
if (backdropVariant === "transparent") {
return null;
}
if (disableAnimation) {
return <div {...getBackdropProps()} />;
}
return (
<motion.div
animate="enter"
exit="exit"
initial="exit"
variants={TRANSITION_VARIANTS.fade}
{...(getBackdropProps() as HTMLMotionProps<"div">)}
/>
);
}, [backdropVariant, disableAnimation, getBackdropProps]);
return (
<div {...getPopoverProps()}>
{backdrop}
{disableAnimation ? (
content
) : (

View File

@ -20,15 +20,15 @@ const Popover = forwardRef<PopoverProps, "div">((props, ref) => {
const [trigger, content] = Children.toArray(children);
const overlay = <Overlay>{content}</Overlay>;
return (
<PopoverProvider value={context}>
{trigger}
{context.disableAnimation && context.isOpen ? (
<Overlay>{content}</Overlay>
overlay
) : (
<AnimatePresence initial={false}>
{context.isOpen ? <Overlay>{content}</Overlay> : null}
</AnimatePresence>
<AnimatePresence initial={false}>{context.isOpen ? overlay : null}</AnimatePresence>
)}
</PopoverProvider>
);

View File

@ -106,6 +106,8 @@ export function usePopover(originalProps: UsePopoverProps) {
const triggerRef = triggerRefProp || domTriggerRef;
const disableAnimation = originalProps.disableAnimation ?? false;
// Sync ref with popoverRef from passed ref.
useImperativeHandle(ref, () =>
// @ts-ignore
@ -118,7 +120,7 @@ export function usePopover(originalProps: UsePopoverProps) {
onOpenChange,
});
const {popoverProps, arrowProps, placement} = useReactAriaPopover(
const {popoverProps, underlayProps, arrowProps, placement} = useReactAriaPopover(
{
triggerRef,
popoverRef,
@ -176,6 +178,16 @@ export function usePopover(originalProps: UsePopoverProps) {
[isOpen, popoverId, state, triggerProps, triggerRef],
);
const getBackdropProps = useCallback<PropGetter>(
(props = {}) => ({
className: slots.backdrop({class: styles?.backdrop}),
onClick: () => state.close(),
...underlayProps,
...props,
}),
[slots, styles, underlayProps],
);
const getArrowProps = useCallback<PropGetter>(
() => ({
className: slots.arrow({class: styles?.arrow}),
@ -194,9 +206,11 @@ export function usePopover(originalProps: UsePopoverProps) {
placement: placementProp,
isOpen: state.isOpen,
onClose: state.close,
disableAnimation: originalProps.disableAnimation ?? false,
disableAnimation,
backdropVariant: originalProps.backdropVariant ?? "transparent",
motionProps,
focusProps,
getBackdropProps,
getPopoverProps,
getTriggerProps,
getArrowProps,

View File

@ -3,6 +3,7 @@ import {ComponentStory, ComponentMeta} from "@storybook/react";
import {popover, ButtonVariantProps} from "@nextui-org/theme";
import {Button} from "@nextui-org/button";
import {Input} from "@nextui-org/input";
import {Card, CardHeader, CardFooter} from "@nextui-org/card";
import {Popover, PopoverTrigger, PopoverContent, PopoverProps} from "../src";
@ -47,6 +48,12 @@ export default {
],
},
},
backdropVariant: {
control: {
type: "select",
options: ["transparent", "blur", "opaque"],
},
},
offset: {
control: {
type: "number",
@ -363,7 +370,7 @@ const OffsetTemplate: ComponentStory<typeof Popover> = (args: PopoverProps) => (
const WithFormTemplate: ComponentStory<typeof Popover> = (args: PopoverProps) => (
<Popover {...args}>
<PopoverTrigger>
<Button>Open popover</Button>
<Button color="primary">Open popover</Button>
</PopoverTrigger>
<PopoverContent>
{(titleProps) => (
@ -383,6 +390,55 @@ const WithFormTemplate: ComponentStory<typeof Popover> = (args: PopoverProps) =>
</Popover>
);
const WithBackdropTemplate: ComponentStory<typeof Popover> = (args: PopoverProps) => (
<Card isFooterBlurred className="w-[420px] h-[400px] col-span-12 sm:col-span-7">
<CardHeader className="absolute z-10 top-1 flex-col items-start">
<p className="text-xs text-white/60 uppercase font-bold">Your day your way</p>
<h4 className="text-white/90 font-medium text-2xl">Your checklist for better sleep</h4>
</CardHeader>
<img
alt="Relaxing app background"
className="w-full h-full object-cover"
src="https://nextui.org/images/card-example-5.jpeg"
/>
<CardFooter className="absolute bg-black/40 bottom-0 z-10 border-t border-neutral-600 dark:border-neutral-100">
<div className="flex flex-grow gap-2 items-center">
<img
alt="Breathing app icon"
className="rounded-full w-10 h-11 bg-black"
src="https://nextui.org/images/breathing-app-icon.jpeg"
/>
<div className="flex flex-col">
<p className="text-xs text-white/60">Breathing App</p>
<p className="text-xs text-white/60">Get a good night&apos;s sleep.</p>
</div>
</div>
<Popover {...args}>
<PopoverTrigger>
<Button color="primary" radius="full">
Open popover
</Button>
</PopoverTrigger>
<PopoverContent>
{(titleProps) => (
<div className="px-1 py-2 w-full">
<p className="text-sm font-bold text-foreground" {...titleProps}>
Dimensions
</p>
<div className="mt-2 flex flex-col gap-2 w-full">
<Input defaultValue="100%" label="Width" size="sm" variant="bordered" />
<Input defaultValue="300px" label="Max. width" size="sm" variant="bordered" />
<Input defaultValue="24px" label="Height" size="sm" variant="bordered" />
<Input defaultValue="30px" label="Max. height" size="sm" variant="bordered" />
</div>
</div>
)}
</PopoverContent>
</Popover>
</CardFooter>
</Card>
);
export const Default = Template.bind({});
Default.args = {
...defaultProps,
@ -394,10 +450,10 @@ DisableAnimation.args = {
disableAnimation: true,
};
export const TriggerForeground = Template.bind({});
TriggerForeground.args = {
export const WithoutScaleTrigger = Template.bind({});
WithoutScaleTrigger.args = {
...defaultProps,
isTriggerForeground: true,
triggerScaleOnOpen: false,
};
export const WithArrow = Template.bind({});
@ -437,9 +493,21 @@ WithTitleProps.args = {
export const WithForm = WithFormTemplate.bind({});
WithForm.args = {
...defaultProps,
isOpen: true,
showArrow: true,
offset: 10,
placement: "bottom",
placement: "top",
variant: "shadow",
className: "w-[280px] bg-white dark:bg-content1",
};
export const WithBackdrop = WithBackdropTemplate.bind({});
WithBackdrop.args = {
...defaultProps,
showArrow: true,
offset: 10,
placement: "left",
variant: "shadow",
backdropVariant: "blur",
className: "w-[280px] bg-white dark:bg-content1",
};

View File

@ -1,5 +1,18 @@
# @nextui-org/progress
## 0.0.0-dev-v2-20230407185204
### Patch Changes
- Popover backdrop added
- Updated dependencies
- @nextui-org/shared-utils@0.0.0-dev-v2-20230407185204
- @nextui-org/use-aria-label@0.0.0-dev-v2-20230407185204
- @nextui-org/use-is-mounted@0.0.0-dev-v2-20230407185204
- @nextui-org/dom-utils@0.0.0-dev-v2-20230407185204
- @nextui-org/system@0.0.0-dev-v2-20230407185204
- @nextui-org/theme@0.0.0-dev-v2-20230407185204
## 0.0.0-dev-v2-20230407155017
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@nextui-org/progress",
"version": "0.0.0-dev-v2-20230407155017",
"version": "0.0.0-dev-v2-20230407185204",
"description": "Progress bars show either determinate or indeterminate progress of an operation over time.",
"keywords": [
"progress"

View File

@ -1,5 +1,16 @@
# @nextui-org/radio
## 0.0.0-dev-v2-20230407185204
### Patch Changes
- Popover backdrop added
- Updated dependencies
- @nextui-org/shared-utils@0.0.0-dev-v2-20230407185204
- @nextui-org/dom-utils@0.0.0-dev-v2-20230407185204
- @nextui-org/system@0.0.0-dev-v2-20230407185204
- @nextui-org/theme@0.0.0-dev-v2-20230407185204
## 0.0.0-dev-v2-20230407155017
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@nextui-org/radio",
"version": "0.0.0-dev-v2-20230407155017",
"version": "0.0.0-dev-v2-20230407185204",
"description": "Radios allow users to select a single option from a list of mutually exclusive options.",
"keywords": [
"radio"

View File

@ -1,5 +1,18 @@
# @nextui-org/snippet
## 0.0.0-dev-v2-20230407185204
### Patch Changes
- Popover backdrop added
- Updated dependencies
- @nextui-org/shared-utils@0.0.0-dev-v2-20230407185204
- @nextui-org/use-clipboard@0.0.0-dev-v2-20230407185204
- @nextui-org/dom-utils@0.0.0-dev-v2-20230407185204
- @nextui-org/tooltip@0.0.0-dev-v2-20230407185204
- @nextui-org/system@0.0.0-dev-v2-20230407185204
- @nextui-org/theme@0.0.0-dev-v2-20230407185204
## 0.0.0-dev-v2-20230407155017
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@nextui-org/snippet",
"version": "0.0.0-dev-v2-20230407155017",
"version": "0.0.0-dev-v2-20230407185204",
"description": "Display a snippet of copyable code for the command line.",
"keywords": [
"snippet"

View File

@ -1,5 +1,16 @@
# @nextui-org/spinner
## 0.0.0-dev-v2-20230407185204
### Patch Changes
- Popover backdrop added
- Updated dependencies
- @nextui-org/shared-utils@0.0.0-dev-v2-20230407185204
- @nextui-org/dom-utils@0.0.0-dev-v2-20230407185204
- @nextui-org/system@0.0.0-dev-v2-20230407185204
- @nextui-org/theme@0.0.0-dev-v2-20230407185204
## 0.0.0-dev-v2-20230407155017
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@nextui-org/spinner",
"version": "0.0.0-dev-v2-20230407155017",
"version": "0.0.0-dev-v2-20230407185204",
"description": "Loaders express an unspecified wait time or display the length of a process.",
"keywords": [
"loading",

View File

@ -1,5 +1,16 @@
# @nextui-org/switch
## 0.0.0-dev-v2-20230407185204
### Patch Changes
- Popover backdrop added
- Updated dependencies
- @nextui-org/shared-utils@0.0.0-dev-v2-20230407185204
- @nextui-org/dom-utils@0.0.0-dev-v2-20230407185204
- @nextui-org/system@0.0.0-dev-v2-20230407185204
- @nextui-org/theme@0.0.0-dev-v2-20230407185204
## 0.0.0-dev-v2-20230407155017
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@nextui-org/switch",
"version": "0.0.0-dev-v2-20230407155017",
"version": "0.0.0-dev-v2-20230407185204",
"description": "A switch is similar to a checkbox, but represents on/off values as opposed to selection.",
"keywords": [
"switch"

View File

@ -1,5 +1,18 @@
# @nextui-org/tooltip
## 0.0.0-dev-v2-20230407185204
### Patch Changes
- Popover backdrop added
- Updated dependencies
- @nextui-org/framer-transitions@0.0.0-dev-v2-20230407185204
- @nextui-org/shared-utils@0.0.0-dev-v2-20230407185204
- @nextui-org/aria-utils@0.0.0-dev-v2-20230407185204
- @nextui-org/dom-utils@0.0.0-dev-v2-20230407185204
- @nextui-org/system@0.0.0-dev-v2-20230407185204
- @nextui-org/theme@0.0.0-dev-v2-20230407185204
## 0.0.0-dev-v2-20230407155017
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@nextui-org/tooltip",
"version": "0.0.0-dev-v2-20230407155017",
"version": "0.0.0-dev-v2-20230407185204",
"description": "A React Component for rendering dynamically positioned Tooltips",
"keywords": [
"tooltip"

View File

@ -1,5 +1,17 @@
# @nextui-org/user
## 0.0.0-dev-v2-20230407185204
### Patch Changes
- Popover backdrop added
- Updated dependencies
- @nextui-org/shared-utils@0.0.0-dev-v2-20230407185204
- @nextui-org/dom-utils@0.0.0-dev-v2-20230407185204
- @nextui-org/avatar@0.0.0-dev-v2-20230407185204
- @nextui-org/system@0.0.0-dev-v2-20230407185204
- @nextui-org/theme@0.0.0-dev-v2-20230407185204
## 0.0.0-dev-v2-20230407155017
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@nextui-org/user",
"version": "0.0.0-dev-v2-20230407155017",
"version": "0.0.0-dev-v2-20230407185204",
"description": "Flexible User Profile Component.",
"keywords": [
"user"

View File

@ -1,5 +1,34 @@
# @nextui-org/react
## 0.0.0-dev-v2-20230407185204
### Patch Changes
- Popover backdrop added
- Updated dependencies
- @nextui-org/pagination@0.0.0-dev-v2-20230407185204
- @nextui-org/accordion@0.0.0-dev-v2-20230407185204
- @nextui-org/checkbox@0.0.0-dev-v2-20230407185204
- @nextui-org/progress@0.0.0-dev-v2-20230407185204
- @nextui-org/popover@0.0.0-dev-v2-20230407185204
- @nextui-org/snippet@0.0.0-dev-v2-20230407185204
- @nextui-org/spinner@0.0.0-dev-v2-20230407185204
- @nextui-org/tooltip@0.0.0-dev-v2-20230407185204
- @nextui-org/avatar@0.0.0-dev-v2-20230407185204
- @nextui-org/button@0.0.0-dev-v2-20230407185204
- @nextui-org/switch@0.0.0-dev-v2-20230407185204
- @nextui-org/badge@0.0.0-dev-v2-20230407185204
- @nextui-org/input@0.0.0-dev-v2-20230407185204
- @nextui-org/radio@0.0.0-dev-v2-20230407185204
- @nextui-org/card@0.0.0-dev-v2-20230407185204
- @nextui-org/chip@0.0.0-dev-v2-20230407185204
- @nextui-org/code@0.0.0-dev-v2-20230407185204
- @nextui-org/drip@0.0.0-dev-v2-20230407185204
- @nextui-org/link@0.0.0-dev-v2-20230407185204
- @nextui-org/user@0.0.0-dev-v2-20230407185204
- @nextui-org/system@0.0.0-dev-v2-20230407185204
- @nextui-org/theme@0.0.0-dev-v2-20230407185204
## 0.0.0-dev-v2-20230407155017
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@nextui-org/react",
"version": "0.0.0-dev-v2-20230407155017",
"version": "0.0.0-dev-v2-20230407185204",
"description": "🚀 Beautiful and modern React UI library.",
"author": "Junior Garcia <jrgarciadev@gmail.com>",
"homepage": "https://nextui.org",

View File

@ -1,5 +1,11 @@
# @nextui-org/system
## 0.0.0-dev-v2-20230407185204
### Patch Changes
- Popover backdrop added
## 0.0.0-dev-v2-20230407155017
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@nextui-org/system",
"version": "0.0.0-dev-v2-20230407155017",
"version": "0.0.0-dev-v2-20230407185204",
"description": "NextUI system primitives",
"keywords": [
"system"

View File

@ -1,5 +1,11 @@
# @nextui-org/theme
## 0.0.0-dev-v2-20230407185204
### Patch Changes
- Popover backdrop added
## 0.0.0-dev-v2-20230407155017
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@nextui-org/theme",
"version": "0.0.0-dev-v2-20230407155017",
"version": "0.0.0-dev-v2-20230407185204",
"description": "The default theme for NextUI components",
"keywords": [
"theme",

View File

@ -32,7 +32,8 @@ const popover = tv({
"text-base",
"!outline-none",
],
trigger: [],
trigger: ["z-10"],
backdrop: ["hidden"],
arrow: [
"-z-10",
"absolute",
@ -101,27 +102,39 @@ const popover = tv({
xl: {base: "rounded-xl"},
full: {base: "rounded-full"},
},
backdropVariant: {
transparent: {},
opaque: {
backdrop: "bg-black/30 backdrop-opacity-50",
},
blur: {
backdrop: "backdrop-blur-sm backdrop-saturate-150 bg-black/20",
},
},
isFocusVisible: {
true: {
base: [...ringClasses],
},
},
disableAnimation: {
true: {base: "animate-none"},
},
isTriggerForeground: {
true: {},
false: {
triggerScaleOnOpen: {
true: {
trigger: ["aria-expanded:scale-95", "aria-expanded:opacity-70", "subpixel-antialiased"],
},
false: {},
},
disableAnimation: {
true: {
base: "animate-none",
},
},
},
defaultVariants: {
variant: "solid",
color: "neutral",
radius: "xl",
backdropVariant: "transparent",
disableAnimation: false,
isTriggerForeground: false,
triggerScaleOnOpen: true,
},
compoundVariants: [
// shadow / color
@ -306,6 +319,13 @@ const popover = tv({
color: "danger",
class: {base: colorVariants.light.danger},
},
// backdropVariant (opaque/blur)
{
backdropVariant: ["opaque", "blur"],
class: {
backdrop: "block w-full h-full fixed inset-0 -z-30",
},
},
],
});

View File

@ -1,5 +1,11 @@
# @nextui-org/use-aria-accordion-item
## 0.0.0-dev-v2-20230407185204
### Patch Changes
- Popover backdrop added
## 0.0.0-dev-v2-20230407155017
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@nextui-org/use-aria-accordion-item",
"version": "0.0.0-dev-v2-20230407155017",
"version": "0.0.0-dev-v2-20230407185204",
"description": "Internal impl for react aria accordion item",
"keywords": [
"use-aria-accordion-item"

View File

@ -1,5 +1,14 @@
# @nextui-org/use-aria-field
## 0.0.0-dev-v2-20230407185204
### Patch Changes
- Popover backdrop added
- Updated dependencies
- @nextui-org/use-aria-slot-id@0.0.0-dev-v2-20230407185204
- @nextui-org/use-aria-label@0.0.0-dev-v2-20230407185204
## 0.0.0-dev-v2-20230407155017
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@nextui-org/use-aria-field",
"version": "0.0.0-dev-v2-20230407155017",
"version": "0.0.0-dev-v2-20230407185204",
"description": "Based on react-aria useField hook, provides the accessibility implementation for input fields",
"keywords": [
"use-aria-field"

View File

@ -1,5 +1,11 @@
# @nextui-org/use-aria-label
## 0.0.0-dev-v2-20230407185204
### Patch Changes
- Popover backdrop added
## 0.0.0-dev-v2-20230407155017
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@nextui-org/use-aria-label",
"version": "0.0.0-dev-v2-20230407155017",
"version": "0.0.0-dev-v2-20230407185204",
"description": "Based on react-aria label hook, it provides the accessibility implementation for labels and their associated elements. Labels provide context for user inputs.",
"keywords": [
"use-aria-label"

View File

@ -1,5 +1,11 @@
# @nextui-org/use-aria-slot-id
## 0.0.0-dev-v2-20230407185204
### Patch Changes
- Popover backdrop added
## 0.0.0-dev-v2-20230407155017
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@nextui-org/use-aria-slot-id",
"version": "0.0.0-dev-v2-20230407155017",
"version": "0.0.0-dev-v2-20230407185204",
"description": "Based on react-aria useSlotId, used to generate an id, and after render check if that id is rendered",
"keywords": [
"use-aria-slot-id"

View File

@ -1,5 +1,11 @@
# @nextui-org/use-clipboard
## 0.0.0-dev-v2-20230407185204
### Patch Changes
- Popover backdrop added
## 0.0.0-dev-v2-20230407155017
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@nextui-org/use-clipboard",
"version": "0.0.0-dev-v2-20230407155017",
"version": "0.0.0-dev-v2-20230407185204",
"description": "Wrapper around navigator.clipboard with feedback timeout",
"keywords": [
"use-clipboard"

View File

@ -1,5 +1,13 @@
# @nextui-org/use-image
## 0.0.0-dev-v2-20230407185204
### Patch Changes
- Popover backdrop added
- Updated dependencies
- @nextui-org/use-safe-layout-effect@0.0.0-dev-v2-20230407185204
## 0.0.0-dev-v2-20230407155017
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@nextui-org/use-image",
"version": "0.0.0-dev-v2-20230407155017",
"version": "0.0.0-dev-v2-20230407185204",
"description": "React hook for progressing image loading",
"keywords": [
"use-image"

View File

@ -1,5 +1,11 @@
# @nextui-org/use-is-mounted
## 0.0.0-dev-v2-20230407185204
### Patch Changes
- Popover backdrop added
## 0.0.0-dev-v2-20230407155017
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@nextui-org/use-is-mounted",
"version": "0.0.0-dev-v2-20230407155017",
"version": "0.0.0-dev-v2-20230407185204",
"description": "This hook can be used to render client-based components or run client logic",
"keywords": [
"use-is-mounted"

View File

@ -1,5 +1,13 @@
# @nextui-org/use-pagination
## 0.0.0-dev-v2-20230407185204
### Patch Changes
- Popover backdrop added
- Updated dependencies
- @nextui-org/shared-utils@0.0.0-dev-v2-20230407185204
## 0.0.0-dev-v2-20230407155017
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@nextui-org/use-pagination",
"version": "0.0.0-dev-v2-20230407155017",
"version": "0.0.0-dev-v2-20230407185204",
"description": "State management hook for Pagination component, it lets you manage pagination with controlled and uncontrolled state",
"keywords": [
"use-pagination"

View File

@ -1,5 +1,13 @@
# @nextui-org/use-real-shape
## 0.0.0-dev-v2-20230407185204
### Patch Changes
- Popover backdrop added
- Updated dependencies
- @nextui-org/dom-utils@0.0.0-dev-v2-20230407185204
## 0.0.0-dev-v2-20230407155017
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@nextui-org/use-real-shape",
"version": "0.0.0-dev-v2-20230407155017",
"version": "0.0.0-dev-v2-20230407185204",
"description": "Hook that returns the real dimensions of an element",
"keywords": [
"use-real-shape"

View File

@ -1,5 +1,11 @@
# @nextui-org/use-ref-state
## 0.0.0-dev-v2-20230407185204
### Patch Changes
- Popover backdrop added
## 0.0.0-dev-v2-20230407155017
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@nextui-org/use-ref-state",
"version": "0.0.0-dev-v2-20230407155017",
"version": "0.0.0-dev-v2-20230407185204",
"description": "Hook for saving the state in a ref value",
"keywords": [
"use-ref-state"

View File

@ -1,5 +1,11 @@
# @nextui-org/use-resize
## 0.0.0-dev-v2-20230407185204
### Patch Changes
- Popover backdrop added
## 0.0.0-dev-v2-20230407155017
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@nextui-org/use-resize",
"version": "0.0.0-dev-v2-20230407155017",
"version": "0.0.0-dev-v2-20230407185204",
"description": "Hook that adds an event listener to the resize window event",
"keywords": [
"use-resize"

View File

@ -1,5 +1,11 @@
# @nextui-org/use-safe-layout-effect
## 0.0.0-dev-v2-20230407185204
### Patch Changes
- Popover backdrop added
## 0.0.0-dev-v2-20230407155017
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@nextui-org/use-safe-layout-effect",
"version": "0.0.0-dev-v2-20230407155017",
"version": "0.0.0-dev-v2-20230407185204",
"description": "",
"keywords": [
"use-safe-layout-effect"

View File

@ -1,5 +1,11 @@
# @nextui-org/use-ssr
## 0.0.0-dev-v2-20230407185204
### Patch Changes
- Popover backdrop added
## 0.0.0-dev-v2-20230407155017
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@nextui-org/use-ssr",
"version": "0.0.0-dev-v2-20230407155017",
"version": "0.0.0-dev-v2-20230407185204",
"description": "",
"keywords": [
"use-ssr"

View File

@ -1,5 +1,13 @@
# @nextui-org/aria-utils
## 0.0.0-dev-v2-20230407185204
### Patch Changes
- Popover backdrop added
- Updated dependencies
- @nextui-org/system@0.0.0-dev-v2-20230407185204
## 0.0.0-dev-v2-20230407155017
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@nextui-org/aria-utils",
"version": "0.0.0-dev-v2-20230407155017",
"version": "0.0.0-dev-v2-20230407185204",
"description": "A package for managing @react-aria nextui utils.",
"keywords": [
"aria-utils"

View File

@ -1,5 +1,11 @@
# @nextui-org/dom-utils
## 0.0.0-dev-v2-20230407185204
### Patch Changes
- Popover backdrop added
## 0.0.0-dev-v2-20230407155017
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@nextui-org/dom-utils",
"version": "0.0.0-dev-v2-20230407155017",
"version": "0.0.0-dev-v2-20230407185204",
"description": "NextUI DOM Utilities",
"keywords": [
"dom-utils"

View File

@ -1,5 +1,14 @@
# @nextui-org/framer-transitions
## 0.0.0-dev-v2-20230407185204
### Patch Changes
- Popover backdrop added
- Updated dependencies
- @nextui-org/shared-utils@0.0.0-dev-v2-20230407185204
- @nextui-org/system@0.0.0-dev-v2-20230407185204
## 0.0.0-dev-v2-20230407155017
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@nextui-org/framer-transitions",
"version": "0.0.0-dev-v2-20230407155017",
"version": "0.0.0-dev-v2-20230407185204",
"description": "A set of framer motion transitions for react",
"keywords": [
"framer-transitions"

View File

@ -1,5 +1,14 @@
# @nextui-org/react-utils
## 0.0.0-dev-v2-20230407185204
### Patch Changes
- Popover backdrop added
- Updated dependencies
- @nextui-org/shared-utils@0.0.0-dev-v2-20230407185204
- @nextui-org/system@0.0.0-dev-v2-20230407185204
## 0.0.0-dev-v2-20230407155017
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@nextui-org/react-utils",
"version": "0.0.0-dev-v2-20230407155017",
"version": "0.0.0-dev-v2-20230407185204",
"description": "A package for sharing react components and utilities",
"keywords": [
"react-utils"

View File

@ -1,5 +1,11 @@
# @nextui-org/shared-icons
## 0.0.0-dev-v2-20230407185204
### Patch Changes
- Popover backdrop added
## 0.0.0-dev-v2-20230407155017
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@nextui-org/shared-icons",
"version": "0.0.0-dev-v2-20230407155017",
"version": "0.0.0-dev-v2-20230407185204",
"description": "Internal icons set, commonly used in the components stories",
"keywords": [
"icons-utils"

View File

@ -1,5 +1,11 @@
# @nextui-org/shared-utils
## 0.0.0-dev-v2-20230407185204
### Patch Changes
- Popover backdrop added
## 0.0.0-dev-v2-20230407155017
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@nextui-org/shared-utils",
"version": "0.0.0-dev-v2-20230407155017",
"version": "0.0.0-dev-v2-20230407185204",
"description": "A set of NextUI utilities",
"keywords": [
"system"

View File

@ -1,5 +1,11 @@
# @nextui-org/test-utils
## 0.0.0-dev-v2-20230407185204
### Patch Changes
- Popover backdrop added
## 0.0.0-dev-v2-20230407155017
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@nextui-org/test-utils",
"version": "0.0.0-dev-v2-20230407155017",
"version": "0.0.0-dev-v2-20230407185204",
"description": "A set of utilities for react testing",
"keywords": [
"test-utils"

3
pnpm-lock.yaml generated
View File

@ -985,6 +985,9 @@ importers:
specifier: ^10.11.2
version: 10.11.2(react-dom@18.2.0)(react@18.2.0)
devDependencies:
'@nextui-org/card':
specifier: workspace:*
version: link:../card
'@nextui-org/input':
specifier: workspace:*
version: link:../input