@spark-ui/components 12.1.2 → 13.0.1-beta.0

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.
Files changed (44) hide show
  1. package/dist/DialogTrigger-8oDlAJjU.d.mts +142 -0
  2. package/dist/DialogTrigger-8oDlAJjU.d.ts +142 -0
  3. package/dist/alert-dialog/index.d.mts +78 -38
  4. package/dist/alert-dialog/index.d.ts +78 -38
  5. package/dist/alert-dialog/index.js +187 -1341
  6. package/dist/alert-dialog/index.js.map +1 -1
  7. package/dist/alert-dialog/index.mjs +234 -89
  8. package/dist/alert-dialog/index.mjs.map +1 -1
  9. package/dist/avatar/index.d.mts +2 -2
  10. package/dist/avatar/index.d.ts +2 -2
  11. package/dist/chunk-2BSBKLHG.mjs +358 -0
  12. package/dist/chunk-2BSBKLHG.mjs.map +1 -0
  13. package/dist/chunk-D7YBYT5H.mjs +308 -0
  14. package/dist/chunk-D7YBYT5H.mjs.map +1 -0
  15. package/dist/chunk-HEKSVWYW.mjs +800 -0
  16. package/dist/chunk-HEKSVWYW.mjs.map +1 -0
  17. package/dist/chunk-TKAU6SMC.mjs +197 -0
  18. package/dist/chunk-TKAU6SMC.mjs.map +1 -0
  19. package/dist/chunk-WA56YHV3.mjs +358 -0
  20. package/dist/chunk-WA56YHV3.mjs.map +1 -0
  21. package/dist/chunk-XYK6V3JF.mjs +53 -0
  22. package/dist/chunk-XYK6V3JF.mjs.map +1 -0
  23. package/dist/chunk-XZ47F6TP.mjs +50 -0
  24. package/dist/chunk-XZ47F6TP.mjs.map +1 -0
  25. package/dist/dialog/index.d.mts +140 -7
  26. package/dist/dialog/index.d.ts +140 -7
  27. package/dist/dialog/index.mjs +308 -5
  28. package/dist/dialog/index.mjs.map +1 -1
  29. package/dist/docgen.json +3450 -3321
  30. package/dist/index-BRKaV3lI.d.mts +93 -0
  31. package/dist/index-BRKaV3lI.d.ts +93 -0
  32. package/dist/index-Cw_DIfiq.d.mts +93 -0
  33. package/dist/index-Cw_DIfiq.d.ts +93 -0
  34. package/dist/spinner/index.d.mts +2 -2
  35. package/dist/spinner/index.d.ts +2 -2
  36. package/dist/tabs/index.d.mts +3 -3
  37. package/dist/tabs/index.d.ts +3 -3
  38. package/dist/toast/index.d.mts +14 -10
  39. package/dist/toast/index.d.ts +14 -10
  40. package/dist/toast/index.js +26 -3
  41. package/dist/toast/index.js.map +1 -1
  42. package/dist/toast/index.mjs +26 -3
  43. package/dist/toast/index.mjs.map +1 -1
  44. package/package.json +5 -5
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/dialog/Dialog.tsx","../src/dialog/DialogContext.tsx","../src/dialog/DialogBody.tsx","../src/dialog/DialogClose.tsx","../src/dialog/DialogCloseButton.tsx","../src/dialog/DialogContent.tsx","../src/dialog/DialogContent.styles.tsx","../src/dialog/DialogDescription.tsx","../src/dialog/DialogFooter.tsx","../src/dialog/DialogHeader.tsx","../src/dialog/DialogOverlay.tsx","../src/dialog/DialogPortal.tsx","../src/dialog/DialogTitle.tsx","../src/dialog/DialogTrigger.tsx","../src/dialog/index.ts"],"sourcesContent":["import { Dialog as RadixDialog } from 'radix-ui'\nimport { type ReactElement, useEffect, useRef } from 'react'\n\nimport { DialogProvider } from './DialogContext'\n\nexport interface DialogProps {\n /**\n * Children of the component.\n */\n children?: RadixDialog.DialogProps['children']\n /**\n * Specifies if the dialog is open or not.\n */\n open?: RadixDialog.DialogProps['open']\n /**\n * Default open state.\n */\n defaultOpen?: RadixDialog.DialogProps['defaultOpen']\n /**\n * Handler executen on every dialog open state change.\n */\n onOpenChange?: RadixDialog.DialogProps['onOpenChange']\n /**\n * Specifies if the dialog is a modal.\n */\n modal?: RadixDialog.DialogProps['modal']\n /**\n * Specifies if the dialog should have a fade animation on its body (in case it is scrollable).\n */\n withFade?: boolean\n}\n\nexport const Dialog = ({ children, withFade = false, ...rest }: DialogProps): ReactElement => {\n const open = rest.open\n const activeElementRef = useRef<Element>(null)\n\n /**\n * This function captures the active element when the Dialog is opened\n * and sets focus back to it when the Dialog is closed.\n */\n function handleActiveElementFocus() {\n if (open && document.activeElement) {\n activeElementRef.current = document.activeElement\n }\n\n if (!open) {\n setTimeout(() => {\n if (!(activeElementRef.current instanceof HTMLElement)) return\n activeElementRef.current.focus()\n }, 0)\n }\n }\n\n useEffect(handleActiveElementFocus, [open])\n\n return (\n <DialogProvider withFade={withFade}>\n <RadixDialog.Root {...rest}>{children}</RadixDialog.Root>\n </DialogProvider>\n )\n}\n\nDialog.displayName = 'Dialog.Root'\n","import { createContext, type ReactNode, useContext, useState } from 'react'\n\nexport interface DialogContextState {\n isFullScreen: boolean\n setIsFullScreen: (value: boolean) => void\n withFade: boolean\n}\n\nconst DialogContext = createContext<DialogContextState | null>(null)\n\nexport const DialogProvider = ({\n children: childrenProp,\n withFade = false,\n}: {\n children: ReactNode\n withFade?: boolean\n}) => {\n const [isFullScreen, setIsFullScreen] = useState(false)\n\n return (\n <DialogContext.Provider\n value={{\n isFullScreen,\n setIsFullScreen,\n withFade,\n }}\n >\n {childrenProp}\n </DialogContext.Provider>\n )\n}\n\nexport const useDialog = () => {\n const context = useContext(DialogContext)\n\n if (!context) {\n throw Error('useDialog must be used within a Dialog provider')\n }\n\n return context\n}\n","import { useMergeRefs } from '@spark-ui/hooks/use-merge-refs'\nimport { useScrollOverflow } from '@spark-ui/hooks/use-scroll-overflow'\nimport { cx } from 'class-variance-authority'\nimport { type ReactElement, type ReactNode, Ref, useRef } from 'react'\n\nimport { useDialog } from './DialogContext'\n\nexport interface BodyProps {\n children: ReactNode\n className?: string\n tabIndex?: number\n ref?: Ref<HTMLDivElement>\n inset?: boolean\n}\n\nexport const Body = ({\n children,\n className,\n inset = false,\n ref: forwardedRef,\n ...rest\n}: BodyProps): ReactElement => {\n const scrollAreaRef = useRef<HTMLDivElement>(null)\n const ref = useMergeRefs(forwardedRef, scrollAreaRef)\n\n const { withFade } = useDialog()\n\n const overflow = useScrollOverflow(scrollAreaRef)\n\n return (\n <div\n data-spark-component=\"dialog-body\"\n ref={ref}\n className={cx(\n 'focus-visible:u-outline relative grow overflow-y-auto outline-hidden',\n 'transition-all duration-300',\n {\n ['px-xl py-lg']: !inset,\n },\n className\n )}\n style={{\n ...(withFade && {\n maskImage:\n 'linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 1) 44px, rgba(0, 0, 0, 1) calc(100% - 44px), rgba(0, 0, 0, 0))',\n maskSize: `100% calc(100% + ${overflow.top ? '0px' : '44px'} + ${overflow.bottom ? '0px' : '44px'})`,\n maskPosition: `0 ${overflow.top ? '0px' : '-44px'}`,\n }),\n }}\n {...rest}\n >\n {children}\n </div>\n )\n}\n\nBody.displayName = 'Dialog.Body'\n","import { Dialog as RadixDialog } from 'radix-ui'\nimport { Ref } from 'react'\n\nexport type CloseProps = RadixDialog.DialogCloseProps & {\n ref?: Ref<HTMLButtonElement>\n}\n\nexport const Close = (props: CloseProps) => <RadixDialog.Close {...props} />\n\nClose.displayName = 'Dialog.Close'\n","import { Close as CloseSVG } from '@spark-ui/icons/Close'\nimport { cx } from 'class-variance-authority'\n\nimport { Icon } from '../icon'\nimport { IconButton, type IconButtonProps } from '../icon-button'\nimport { Close, CloseProps } from './DialogClose'\n\nexport type CloseButtonProps = CloseProps &\n Pick<IconButtonProps, 'size' | 'intent' | 'design' | 'aria-label'>\n\nconst Root = ({\n 'aria-label': ariaLabel,\n className,\n size = 'md',\n intent = 'neutral',\n design = 'ghost',\n children = <CloseSVG />,\n ref,\n ...rest\n}: CloseButtonProps) => {\n return (\n <Close\n data-spark-component=\"dialog-close-button\"\n data-part=\"close\"\n ref={ref}\n className={cx(['absolute', 'top-md', 'right-xl'], className)}\n asChild\n {...rest}\n >\n <IconButton intent={intent} size={size} design={design} aria-label={ariaLabel}>\n <Icon>{children}</Icon>\n </IconButton>\n </Close>\n )\n}\n\nexport const CloseButton = Object.assign(Root, {\n id: 'CloseButton',\n})\n\nRoot.displayName = 'Dialog.CloseButton'\n","import { Dialog as RadixDialog } from 'radix-ui'\nimport { type ReactElement, Ref, useEffect } from 'react'\n\nimport { dialogContentStyles, type DialogContentStylesProps } from './DialogContent.styles'\nimport { useDialog } from './DialogContext'\n\nexport interface ContentProps extends RadixDialog.DialogContentProps, DialogContentStylesProps {\n /**\n * When set to true, the content will adjust its width to fit the content rather than taking up the full available width.\n */\n isNarrow?: boolean\n ref?: Ref<HTMLDivElement>\n}\n\nexport const Content = ({\n children,\n className,\n isNarrow = false,\n size = 'md',\n onInteractOutside,\n ref,\n ...rest\n}: ContentProps): ReactElement => {\n const { setIsFullScreen } = useDialog()\n\n useEffect(() => {\n if (size === 'fullscreen') setIsFullScreen(true)\n\n return () => setIsFullScreen(false)\n }, [setIsFullScreen, size])\n\n return (\n <RadixDialog.Content\n data-spark-component=\"dialog-content\"\n ref={ref}\n className={dialogContentStyles({\n className,\n isNarrow,\n size,\n })}\n onInteractOutside={e => {\n const isForegroundElement = (e.target as HTMLElement).closest('.z-toast, .z-popover')\n\n /**\n * The focus trap of the dialog applies `pointer-events-none` on the body of the page in the background, but\n * some components with an higher z-index have `pointer-events-auto` applied on them to remain interactive and ignore the focust trap (ex: a Snackbar with actions).\n *\n * Clicking on the snackbar will be considered as an \"outside click\" and close the dialog. We want to prevent this.\n */\n if (isForegroundElement) {\n e.preventDefault()\n }\n\n onInteractOutside?.(e)\n }}\n {...rest}\n >\n {children}\n </RadixDialog.Content>\n )\n}\n\nContent.displayName = 'Dialog.Content'\n","import { cva, VariantProps } from 'class-variance-authority'\n\nexport const dialogContentStyles = cva(\n [\n 'z-modal flex flex-col bg-surface group',\n 'focus-visible:outline-hidden focus-visible:u-outline',\n '[&:not(:has(footer))]:pb-lg',\n '[&:not(:has(header))]:pt-lg',\n ],\n {\n variants: {\n size: {\n fullscreen: 'fixed size-full top-0 left-0',\n sm: 'max-w-sz-480',\n md: 'max-w-sz-672',\n lg: 'max-w-sz-864',\n },\n isNarrow: {\n true: [],\n false: [],\n },\n },\n compoundVariants: [\n {\n size: ['sm', 'md', 'lg'],\n class: [\n 'fixed top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2',\n 'max-h-[80%]',\n 'shadow-md rounded-lg',\n 'data-[state=open]:animate-fade-in',\n 'data-[state=closed]:animate-fade-out',\n ],\n },\n {\n size: ['sm', 'md', 'lg'],\n isNarrow: false,\n class: ['w-full'],\n },\n ],\n defaultVariants: {\n size: 'md',\n isNarrow: false,\n },\n }\n)\n\nexport type DialogContentStylesProps = VariantProps<typeof dialogContentStyles>\n","import { Dialog as RadixDialog } from 'radix-ui'\nimport { Ref } from 'react'\n\nexport type DescriptionProps = RadixDialog.DialogDescriptionProps & {\n ref?: Ref<HTMLParagraphElement>\n}\n\nexport const Description = (props: DescriptionProps) => (\n <RadixDialog.Description data-spark-component=\"dialog-description\" {...props} />\n)\n\nDescription.displayName = 'Dialog.Description'\n","import { cx } from 'class-variance-authority'\nimport { type ReactElement, type ReactNode, Ref } from 'react'\n\nexport interface FooterProps {\n children: ReactNode\n className?: string\n ref?: Ref<HTMLDivElement>\n}\n\nexport const Footer = ({ children, className, ref, ...rest }: FooterProps): ReactElement => (\n <footer\n data-spark-component=\"dialog-footer\"\n ref={ref}\n className={cx(className, ['px-xl', 'py-lg'])}\n {...rest}\n >\n {children}\n </footer>\n)\n\nFooter.displayName = 'Dialog.Footer'\n","import { cx } from 'class-variance-authority'\nimport { type ReactElement, type ReactNode, Ref } from 'react'\n\nexport interface HeaderProps {\n children: ReactNode\n className?: string\n ref?: Ref<HTMLDivElement>\n}\n\nexport const Header = ({ children, className, ref, ...rest }: HeaderProps): ReactElement => (\n <header\n data-spark-component=\"dialog-header\"\n ref={ref}\n className={cx(className, ['px-xl', 'py-lg'])}\n {...rest}\n >\n {children}\n </header>\n)\n\nHeader.displayName = 'Dialog.Header'\n","import { cx } from 'class-variance-authority'\nimport { Dialog as RadixDialog } from 'radix-ui'\nimport { type ReactElement, Ref } from 'react'\n\nimport { useDialog } from './DialogContext'\n\nexport type OverlayProps = RadixDialog.DialogOverlayProps & {\n ref?: Ref<HTMLDivElement>\n}\n\nexport const Overlay = ({ className, ref, ...rest }: OverlayProps): ReactElement | null => {\n const { isFullScreen } = useDialog()\n\n return (\n <RadixDialog.Overlay\n data-spark-component=\"dialog-overlay\"\n ref={ref}\n className={cx(\n isFullScreen ? 'hidden' : 'fixed',\n ['top-0', 'left-0', 'w-screen', 'h-screen', 'z-overlay'],\n ['bg-overlay/dim-1'],\n ['data-[state=open]:animate-fade-in'],\n ['data-[state=closed]:animate-fade-out'],\n className\n )}\n {...rest}\n />\n )\n}\n\nOverlay.displayName = 'Dialog.Overlay'\n","import { Dialog as RadixDialog } from 'radix-ui'\nimport { type ReactElement } from 'react'\n\nexport type PortalProps = RadixDialog.DialogPortalProps\n\nexport const Portal = ({ children, ...rest }: PortalProps): ReactElement => (\n <RadixDialog.Portal {...rest}>{children}</RadixDialog.Portal>\n)\n\nPortal.displayName = 'Dialog.Portal'\n","import { cx } from 'class-variance-authority'\nimport { Dialog as RadixDialog } from 'radix-ui'\nimport { Ref } from 'react'\n\nexport type TitleProps = RadixDialog.DialogTitleProps & {\n ref?: Ref<HTMLHeadingElement>\n}\n\nexport const Title = ({ className, ref, ...others }: TitleProps) => {\n return (\n <RadixDialog.Title\n data-spark-component=\"dialog-title\"\n ref={ref}\n className={cx(\n 'text-headline-1 text-on-surface',\n 'group-has-data-[part=close]:pr-3xl',\n className\n )}\n {...others}\n />\n )\n}\n\nTitle.displayName = 'Dialog.Title'\n","import { Dialog as RadixDialog } from 'radix-ui'\nimport { type ReactElement, ReactNode, Ref } from 'react'\n\nexport interface TriggerProps {\n /**\n * Children of the component.\n */\n children?: ReactNode\n /**\n * Change the component to the HTML tag or custom component of the only child.\n */\n asChild?: RadixDialog.DialogTriggerProps['asChild']\n ref?: Ref<HTMLButtonElement>\n}\n\nexport const Trigger = (props: TriggerProps): ReactElement => (\n <RadixDialog.Trigger data-spark-component=\"dialog-trigger\" {...props} />\n)\n\nTrigger.displayName = 'Dialog.Trigger'\n","import { Dialog as Root } from './Dialog'\nimport { Body } from './DialogBody'\nimport { Close } from './DialogClose'\nimport { CloseButton } from './DialogCloseButton'\nimport { Content } from './DialogContent'\nimport { Description } from './DialogDescription' // aria-describedby\nimport { Footer } from './DialogFooter'\nimport { Header } from './DialogHeader'\nimport { Overlay } from './DialogOverlay'\nimport { Portal } from './DialogPortal'\nimport { Title } from './DialogTitle' // aria-labelledby\nimport { Trigger } from './DialogTrigger'\n\nexport const Dialog: typeof Root & {\n Trigger: typeof Trigger\n Portal: typeof Portal\n Overlay: typeof Overlay\n Content: typeof Content\n Header: typeof Header\n Body: typeof Body\n Footer: typeof Footer\n Close: typeof Close\n CloseButton: typeof CloseButton\n Title: typeof Title\n Description: typeof Description\n} = Object.assign(Root, {\n Trigger,\n Portal,\n Overlay,\n Content,\n Header,\n Body,\n Footer,\n Close,\n CloseButton,\n Title,\n Description,\n})\n\nDialog.displayName = 'Dialog'\nDialog.Trigger.displayName = 'Dialog.Trigger'\nTrigger.displayName = 'Dialog.Trigger'\nPortal.displayName = 'Dialog.Portal'\nOverlay.displayName = 'Dialog.Overlay'\nContent.displayName = 'Dialog.Content'\nHeader.displayName = 'Dialog.Header'\nBody.displayName = 'Dialog.Body'\nFooter.displayName = 'Dialog.Footer'\nCloseButton.displayName = 'Dialog.CloseButton'\nTitle.displayName = 'Dialog.Title'\nDescription.displayName = 'Dialog.Description'\n\nexport { type DialogProps } from './Dialog'\nexport { type ContentProps as DialogContentProps } from './DialogContent'\nexport { type HeaderProps as DialogHeaderProps } from './DialogHeader'\nexport { type BodyProps as DialogBodyProps } from './DialogBody'\nexport { type FooterProps as DialogFooterProps } from './DialogFooter'\nexport { type TriggerProps as DialogTriggerProps } from './DialogTrigger'\nexport { type OverlayProps as DialogOverlayProps } from './DialogOverlay'\nexport { type PortalProps as DialogPortalProps } from './DialogPortal'\nexport { type TitleProps as DialogTitleProps } from './DialogTitle'\nexport { type DescriptionProps as DialogDescriptionProps } from './DialogDescription'\nexport { type CloseProps as DialogCloseProps } from './DialogClose'\nexport { type CloseButtonProps as DialogCloseButtonProps } from './DialogCloseButton'\n"],"mappings":"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","names":["jsx","useRef","jsx","useRef","RadixDialog","jsx","cx","jsx","cx","RadixDialog","useEffect","jsx","useEffect","RadixDialog","RadixDialog","jsx","cx","jsx","cx","jsx","cx","RadixDialog","jsx","RadixDialog","cx","RadixDialog","jsx","cx","RadixDialog","jsx","RadixDialog","jsx","Dialog"]}
@@ -0,0 +1,53 @@
1
+ import {
2
+ Button
3
+ } from "./chunk-HEKSVWYW.mjs";
4
+
5
+ // src/icon-button/IconButton.styles.tsx
6
+ import { makeVariants } from "@spark-ui/internal-utils";
7
+ import { cva } from "class-variance-authority";
8
+ var iconButtonStyles = cva(["pl-0 pr-0"], {
9
+ variants: {
10
+ /**
11
+ * Sets the size of the icon.
12
+ */
13
+ size: makeVariants({
14
+ sm: ["text-body-1"],
15
+ md: ["text-body-1"],
16
+ lg: ["text-display-3"]
17
+ })
18
+ }
19
+ });
20
+
21
+ // src/icon-button/IconButton.tsx
22
+ import { jsx } from "react/jsx-runtime";
23
+ var IconButton = ({
24
+ design = "filled",
25
+ disabled = false,
26
+ intent = "main",
27
+ shape = "rounded",
28
+ size = "md",
29
+ className,
30
+ ref,
31
+ ...others
32
+ }) => {
33
+ return /* @__PURE__ */ jsx(
34
+ Button,
35
+ {
36
+ "data-spark-component": "icon-button",
37
+ ref,
38
+ className: iconButtonStyles({ size, className }),
39
+ design,
40
+ disabled,
41
+ intent,
42
+ shape,
43
+ size,
44
+ ...others
45
+ }
46
+ );
47
+ };
48
+ IconButton.displayName = "IconButton";
49
+
50
+ export {
51
+ IconButton
52
+ };
53
+ //# sourceMappingURL=chunk-XYK6V3JF.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/icon-button/IconButton.styles.tsx","../src/icon-button/IconButton.tsx"],"sourcesContent":["import { makeVariants } from '@spark-ui/internal-utils'\nimport { cva, VariantProps } from 'class-variance-authority'\n\n// override the Button component's px-lg padding by using a more specific class selector (pl-0 pr-0)\nexport const iconButtonStyles = cva(['pl-0 pr-0'], {\n variants: {\n /**\n * Sets the size of the icon.\n */\n size: makeVariants<'size', ['sm', 'md', 'lg']>({\n sm: ['text-body-1'],\n md: ['text-body-1'],\n lg: ['text-display-3'],\n }),\n },\n})\n\nexport type IconButtonStylesProps = VariantProps<typeof iconButtonStyles>\n","import { Ref } from 'react'\n\nimport { Button, ButtonProps } from '../button'\nimport { iconButtonStyles } from './IconButton.styles'\n\nexport interface IconButtonProps extends Omit<ButtonProps, 'loadingText'> {\n 'aria-label': string\n ref?: Ref<HTMLButtonElement>\n}\n\nexport const IconButton = ({\n design = 'filled',\n disabled = false,\n intent = 'main',\n shape = 'rounded',\n size = 'md',\n className,\n ref,\n ...others\n}: IconButtonProps) => {\n return (\n <Button\n data-spark-component=\"icon-button\"\n ref={ref}\n className={iconButtonStyles({ size, className })}\n design={design}\n disabled={disabled}\n intent={intent}\n shape={shape}\n size={size}\n {...others}\n />\n )\n}\n\nIconButton.displayName = 'IconButton'\n"],"mappings":";;;;;AAAA,SAAS,oBAAoB;AAC7B,SAAS,WAAyB;AAG3B,IAAM,mBAAmB,IAAI,CAAC,WAAW,GAAG;AAAA,EACjD,UAAU;AAAA;AAAA;AAAA;AAAA,IAIR,MAAM,aAAyC;AAAA,MAC7C,IAAI,CAAC,aAAa;AAAA,MAClB,IAAI,CAAC,aAAa;AAAA,MAClB,IAAI,CAAC,gBAAgB;AAAA,IACvB,CAAC;AAAA,EACH;AACF,CAAC;;;ACMG;AAXG,IAAM,aAAa,CAAC;AAAA,EACzB,SAAS;AAAA,EACT,WAAW;AAAA,EACX,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,OAAO;AAAA,EACP;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAuB;AACrB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,wBAAqB;AAAA,MACrB;AAAA,MACA,WAAW,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAAA,MAC/C;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,WAAW,cAAc;","names":[]}
@@ -0,0 +1,50 @@
1
+ // src/dialog/DialogContent.styles.tsx
2
+ import { cva } from "class-variance-authority";
3
+ var dialogContentStyles = cva(
4
+ [
5
+ "z-modal flex flex-col bg-surface group",
6
+ "focus-visible:outline-hidden focus-visible:u-outline",
7
+ "[&:not(:has(footer))]:pb-lg",
8
+ "[&:not(:has(header))]:pt-lg"
9
+ ],
10
+ {
11
+ variants: {
12
+ size: {
13
+ fullscreen: "fixed size-full top-0 left-0",
14
+ sm: "max-w-sz-480",
15
+ md: "max-w-sz-672",
16
+ lg: "max-w-sz-864"
17
+ },
18
+ isNarrow: {
19
+ true: [],
20
+ false: []
21
+ }
22
+ },
23
+ compoundVariants: [
24
+ {
25
+ size: ["sm", "md", "lg"],
26
+ class: [
27
+ "fixed top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2",
28
+ "max-h-[80%]",
29
+ "shadow-md rounded-lg",
30
+ "data-[state=open]:animate-fade-in",
31
+ "data-[state=closed]:animate-fade-out"
32
+ ]
33
+ },
34
+ {
35
+ size: ["sm", "md", "lg"],
36
+ isNarrow: false,
37
+ class: ["w-full"]
38
+ }
39
+ ],
40
+ defaultVariants: {
41
+ size: "md",
42
+ isNarrow: false
43
+ }
44
+ }
45
+ );
46
+
47
+ export {
48
+ dialogContentStyles
49
+ };
50
+ //# sourceMappingURL=chunk-XZ47F6TP.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/dialog/DialogContent.styles.tsx"],"sourcesContent":["import { cva, VariantProps } from 'class-variance-authority'\n\nexport const dialogContentStyles = cva(\n [\n 'z-modal flex flex-col bg-surface group',\n 'focus-visible:outline-hidden focus-visible:u-outline',\n '[&:not(:has(footer))]:pb-lg',\n '[&:not(:has(header))]:pt-lg',\n ],\n {\n variants: {\n size: {\n fullscreen: 'fixed size-full top-0 left-0',\n sm: 'max-w-sz-480',\n md: 'max-w-sz-672',\n lg: 'max-w-sz-864',\n },\n isNarrow: {\n true: [],\n false: [],\n },\n },\n compoundVariants: [\n {\n size: ['sm', 'md', 'lg'],\n class: [\n 'fixed top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2',\n 'max-h-[80%]',\n 'shadow-md rounded-lg',\n 'data-[state=open]:animate-fade-in',\n 'data-[state=closed]:animate-fade-out',\n ],\n },\n {\n size: ['sm', 'md', 'lg'],\n isNarrow: false,\n class: ['w-full'],\n },\n ],\n defaultVariants: {\n size: 'md',\n isNarrow: false,\n },\n }\n)\n\nexport type DialogContentStylesProps = VariantProps<typeof dialogContentStyles>\n"],"mappings":";AAAA,SAAS,WAAyB;AAE3B,IAAM,sBAAsB;AAAA,EACjC;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,MAAM;AAAA,QACJ,YAAY;AAAA,QACZ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,MACN;AAAA,MACA,UAAU;AAAA,QACR,MAAM,CAAC;AAAA,QACP,OAAO,CAAC;AAAA,MACV;AAAA,IACF;AAAA,IACA,kBAAkB;AAAA,MAChB;AAAA,QACE,MAAM,CAAC,MAAM,MAAM,IAAI;AAAA,QACvB,OAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,MACA;AAAA,QACE,MAAM,CAAC,MAAM,MAAM,IAAI;AAAA,QACvB,UAAU;AAAA,QACV,OAAO,CAAC,QAAQ;AAAA,MAClB;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf,MAAM;AAAA,MACN,UAAU;AAAA,IACZ;AAAA,EACF;AACF;","names":[]}
@@ -1,13 +1,62 @@
1
- import { C as CloseProps, D as Dialog$1, T as Trigger, P as Portal, O as Overlay, a as Content, H as Header, B as Body, F as Footer, b as Close, c as Title, d as Description } from '../DialogTrigger-woU7vsJi.mjs';
2
- export { h as DialogBodyProps, f as DialogContentProps, n as DialogDescriptionProps, i as DialogFooterProps, g as DialogHeaderProps, k as DialogOverlayProps, l as DialogPortalProps, e as DialogProps, m as DialogTitleProps, j as DialogTriggerProps } from '../DialogTrigger-woU7vsJi.mjs';
1
+ import { Dialog as Dialog$2 } from 'radix-ui';
2
+ import { ReactElement, ReactNode, Ref } from 'react';
3
3
  import * as react_jsx_runtime from 'react/jsx-runtime';
4
4
  import { IconButtonProps } from '../icon-button/index.mjs';
5
- import 'radix-ui';
6
- import 'react';
7
- import 'class-variance-authority/types';
8
- import 'class-variance-authority';
5
+ import * as class_variance_authority_types from 'class-variance-authority/types';
6
+ import { VariantProps } from 'class-variance-authority';
9
7
  import '../button/index.mjs';
10
8
 
9
+ interface DialogProps {
10
+ /**
11
+ * Children of the component.
12
+ */
13
+ children?: Dialog$2.DialogProps['children'];
14
+ /**
15
+ * Specifies if the dialog is open or not.
16
+ */
17
+ open?: Dialog$2.DialogProps['open'];
18
+ /**
19
+ * Default open state.
20
+ */
21
+ defaultOpen?: Dialog$2.DialogProps['defaultOpen'];
22
+ /**
23
+ * Handler executen on every dialog open state change.
24
+ */
25
+ onOpenChange?: Dialog$2.DialogProps['onOpenChange'];
26
+ /**
27
+ * Specifies if the dialog is a modal.
28
+ */
29
+ modal?: Dialog$2.DialogProps['modal'];
30
+ /**
31
+ * Specifies if the dialog should have a fade animation on its body (in case it is scrollable).
32
+ */
33
+ withFade?: boolean;
34
+ }
35
+ declare const Dialog$1: {
36
+ ({ children, withFade, ...rest }: DialogProps): ReactElement;
37
+ displayName: string;
38
+ };
39
+
40
+ interface BodyProps {
41
+ children: ReactNode;
42
+ className?: string;
43
+ tabIndex?: number;
44
+ ref?: Ref<HTMLDivElement>;
45
+ inset?: boolean;
46
+ }
47
+ declare const Body: {
48
+ ({ children, className, inset, ref: forwardedRef, ...rest }: BodyProps): ReactElement;
49
+ displayName: string;
50
+ };
51
+
52
+ type CloseProps = Dialog$2.DialogCloseProps & {
53
+ ref?: Ref<HTMLButtonElement>;
54
+ };
55
+ declare const Close: {
56
+ (props: CloseProps): react_jsx_runtime.JSX.Element;
57
+ displayName: string;
58
+ };
59
+
11
60
  type CloseButtonProps = CloseProps & Pick<IconButtonProps, 'size' | 'intent' | 'design' | 'aria-label'>;
12
61
  declare const CloseButton: {
13
62
  ({ "aria-label": ariaLabel, className, size, intent, design, children, ref, ...rest }: CloseButtonProps): react_jsx_runtime.JSX.Element;
@@ -16,6 +65,90 @@ declare const CloseButton: {
16
65
  id: string;
17
66
  };
18
67
 
68
+ declare const dialogContentStyles: (props?: ({
69
+ size?: "fullscreen" | "sm" | "md" | "lg" | null | undefined;
70
+ isNarrow?: boolean | null | undefined;
71
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
72
+ type DialogContentStylesProps = VariantProps<typeof dialogContentStyles>;
73
+
74
+ interface ContentProps extends Dialog$2.DialogContentProps, DialogContentStylesProps {
75
+ /**
76
+ * When set to true, the content will adjust its width to fit the content rather than taking up the full available width.
77
+ */
78
+ isNarrow?: boolean;
79
+ ref?: Ref<HTMLDivElement>;
80
+ }
81
+ declare const Content: {
82
+ ({ children, className, isNarrow, size, onInteractOutside, ref, ...rest }: ContentProps): ReactElement;
83
+ displayName: string;
84
+ };
85
+
86
+ type DescriptionProps = Dialog$2.DialogDescriptionProps & {
87
+ ref?: Ref<HTMLParagraphElement>;
88
+ };
89
+ declare const Description: {
90
+ (props: DescriptionProps): react_jsx_runtime.JSX.Element;
91
+ displayName: string;
92
+ };
93
+
94
+ interface FooterProps {
95
+ children: ReactNode;
96
+ className?: string;
97
+ ref?: Ref<HTMLDivElement>;
98
+ }
99
+ declare const Footer: {
100
+ ({ children, className, ref, ...rest }: FooterProps): ReactElement;
101
+ displayName: string;
102
+ };
103
+
104
+ interface HeaderProps {
105
+ children: ReactNode;
106
+ className?: string;
107
+ ref?: Ref<HTMLDivElement>;
108
+ }
109
+ declare const Header: {
110
+ ({ children, className, ref, ...rest }: HeaderProps): ReactElement;
111
+ displayName: string;
112
+ };
113
+
114
+ type OverlayProps = Dialog$2.DialogOverlayProps & {
115
+ ref?: Ref<HTMLDivElement>;
116
+ };
117
+ declare const Overlay: {
118
+ ({ className, ref, ...rest }: OverlayProps): ReactElement | null;
119
+ displayName: string;
120
+ };
121
+
122
+ type PortalProps = Dialog$2.DialogPortalProps;
123
+ declare const Portal: {
124
+ ({ children, ...rest }: PortalProps): ReactElement;
125
+ displayName: string;
126
+ };
127
+
128
+ type TitleProps = Dialog$2.DialogTitleProps & {
129
+ ref?: Ref<HTMLHeadingElement>;
130
+ };
131
+ declare const Title: {
132
+ ({ className, ref, ...others }: TitleProps): react_jsx_runtime.JSX.Element;
133
+ displayName: string;
134
+ };
135
+
136
+ interface TriggerProps {
137
+ /**
138
+ * Children of the component.
139
+ */
140
+ children?: ReactNode;
141
+ /**
142
+ * Change the component to the HTML tag or custom component of the only child.
143
+ */
144
+ asChild?: Dialog$2.DialogTriggerProps['asChild'];
145
+ ref?: Ref<HTMLButtonElement>;
146
+ }
147
+ declare const Trigger: {
148
+ (props: TriggerProps): ReactElement;
149
+ displayName: string;
150
+ };
151
+
19
152
  declare const Dialog: typeof Dialog$1 & {
20
153
  Trigger: typeof Trigger;
21
154
  Portal: typeof Portal;
@@ -30,4 +163,4 @@ declare const Dialog: typeof Dialog$1 & {
30
163
  Description: typeof Description;
31
164
  };
32
165
 
33
- export { Dialog, type CloseButtonProps as DialogCloseButtonProps, CloseProps as DialogCloseProps };
166
+ export { Dialog, type BodyProps as DialogBodyProps, type CloseButtonProps as DialogCloseButtonProps, type CloseProps as DialogCloseProps, type ContentProps as DialogContentProps, type DescriptionProps as DialogDescriptionProps, type FooterProps as DialogFooterProps, type HeaderProps as DialogHeaderProps, type OverlayProps as DialogOverlayProps, type PortalProps as DialogPortalProps, type DialogProps, type TitleProps as DialogTitleProps, type TriggerProps as DialogTriggerProps };
@@ -1,13 +1,62 @@
1
- import { C as CloseProps, D as Dialog$1, T as Trigger, P as Portal, O as Overlay, a as Content, H as Header, B as Body, F as Footer, b as Close, c as Title, d as Description } from '../DialogTrigger-woU7vsJi.js';
2
- export { h as DialogBodyProps, f as DialogContentProps, n as DialogDescriptionProps, i as DialogFooterProps, g as DialogHeaderProps, k as DialogOverlayProps, l as DialogPortalProps, e as DialogProps, m as DialogTitleProps, j as DialogTriggerProps } from '../DialogTrigger-woU7vsJi.js';
1
+ import { Dialog as Dialog$2 } from 'radix-ui';
2
+ import { ReactElement, ReactNode, Ref } from 'react';
3
3
  import * as react_jsx_runtime from 'react/jsx-runtime';
4
4
  import { IconButtonProps } from '../icon-button/index.js';
5
- import 'radix-ui';
6
- import 'react';
7
- import 'class-variance-authority/types';
8
- import 'class-variance-authority';
5
+ import * as class_variance_authority_types from 'class-variance-authority/types';
6
+ import { VariantProps } from 'class-variance-authority';
9
7
  import '../button/index.js';
10
8
 
9
+ interface DialogProps {
10
+ /**
11
+ * Children of the component.
12
+ */
13
+ children?: Dialog$2.DialogProps['children'];
14
+ /**
15
+ * Specifies if the dialog is open or not.
16
+ */
17
+ open?: Dialog$2.DialogProps['open'];
18
+ /**
19
+ * Default open state.
20
+ */
21
+ defaultOpen?: Dialog$2.DialogProps['defaultOpen'];
22
+ /**
23
+ * Handler executen on every dialog open state change.
24
+ */
25
+ onOpenChange?: Dialog$2.DialogProps['onOpenChange'];
26
+ /**
27
+ * Specifies if the dialog is a modal.
28
+ */
29
+ modal?: Dialog$2.DialogProps['modal'];
30
+ /**
31
+ * Specifies if the dialog should have a fade animation on its body (in case it is scrollable).
32
+ */
33
+ withFade?: boolean;
34
+ }
35
+ declare const Dialog$1: {
36
+ ({ children, withFade, ...rest }: DialogProps): ReactElement;
37
+ displayName: string;
38
+ };
39
+
40
+ interface BodyProps {
41
+ children: ReactNode;
42
+ className?: string;
43
+ tabIndex?: number;
44
+ ref?: Ref<HTMLDivElement>;
45
+ inset?: boolean;
46
+ }
47
+ declare const Body: {
48
+ ({ children, className, inset, ref: forwardedRef, ...rest }: BodyProps): ReactElement;
49
+ displayName: string;
50
+ };
51
+
52
+ type CloseProps = Dialog$2.DialogCloseProps & {
53
+ ref?: Ref<HTMLButtonElement>;
54
+ };
55
+ declare const Close: {
56
+ (props: CloseProps): react_jsx_runtime.JSX.Element;
57
+ displayName: string;
58
+ };
59
+
11
60
  type CloseButtonProps = CloseProps & Pick<IconButtonProps, 'size' | 'intent' | 'design' | 'aria-label'>;
12
61
  declare const CloseButton: {
13
62
  ({ "aria-label": ariaLabel, className, size, intent, design, children, ref, ...rest }: CloseButtonProps): react_jsx_runtime.JSX.Element;
@@ -16,6 +65,90 @@ declare const CloseButton: {
16
65
  id: string;
17
66
  };
18
67
 
68
+ declare const dialogContentStyles: (props?: ({
69
+ size?: "fullscreen" | "sm" | "md" | "lg" | null | undefined;
70
+ isNarrow?: boolean | null | undefined;
71
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
72
+ type DialogContentStylesProps = VariantProps<typeof dialogContentStyles>;
73
+
74
+ interface ContentProps extends Dialog$2.DialogContentProps, DialogContentStylesProps {
75
+ /**
76
+ * When set to true, the content will adjust its width to fit the content rather than taking up the full available width.
77
+ */
78
+ isNarrow?: boolean;
79
+ ref?: Ref<HTMLDivElement>;
80
+ }
81
+ declare const Content: {
82
+ ({ children, className, isNarrow, size, onInteractOutside, ref, ...rest }: ContentProps): ReactElement;
83
+ displayName: string;
84
+ };
85
+
86
+ type DescriptionProps = Dialog$2.DialogDescriptionProps & {
87
+ ref?: Ref<HTMLParagraphElement>;
88
+ };
89
+ declare const Description: {
90
+ (props: DescriptionProps): react_jsx_runtime.JSX.Element;
91
+ displayName: string;
92
+ };
93
+
94
+ interface FooterProps {
95
+ children: ReactNode;
96
+ className?: string;
97
+ ref?: Ref<HTMLDivElement>;
98
+ }
99
+ declare const Footer: {
100
+ ({ children, className, ref, ...rest }: FooterProps): ReactElement;
101
+ displayName: string;
102
+ };
103
+
104
+ interface HeaderProps {
105
+ children: ReactNode;
106
+ className?: string;
107
+ ref?: Ref<HTMLDivElement>;
108
+ }
109
+ declare const Header: {
110
+ ({ children, className, ref, ...rest }: HeaderProps): ReactElement;
111
+ displayName: string;
112
+ };
113
+
114
+ type OverlayProps = Dialog$2.DialogOverlayProps & {
115
+ ref?: Ref<HTMLDivElement>;
116
+ };
117
+ declare const Overlay: {
118
+ ({ className, ref, ...rest }: OverlayProps): ReactElement | null;
119
+ displayName: string;
120
+ };
121
+
122
+ type PortalProps = Dialog$2.DialogPortalProps;
123
+ declare const Portal: {
124
+ ({ children, ...rest }: PortalProps): ReactElement;
125
+ displayName: string;
126
+ };
127
+
128
+ type TitleProps = Dialog$2.DialogTitleProps & {
129
+ ref?: Ref<HTMLHeadingElement>;
130
+ };
131
+ declare const Title: {
132
+ ({ className, ref, ...others }: TitleProps): react_jsx_runtime.JSX.Element;
133
+ displayName: string;
134
+ };
135
+
136
+ interface TriggerProps {
137
+ /**
138
+ * Children of the component.
139
+ */
140
+ children?: ReactNode;
141
+ /**
142
+ * Change the component to the HTML tag or custom component of the only child.
143
+ */
144
+ asChild?: Dialog$2.DialogTriggerProps['asChild'];
145
+ ref?: Ref<HTMLButtonElement>;
146
+ }
147
+ declare const Trigger: {
148
+ (props: TriggerProps): ReactElement;
149
+ displayName: string;
150
+ };
151
+
19
152
  declare const Dialog: typeof Dialog$1 & {
20
153
  Trigger: typeof Trigger;
21
154
  Portal: typeof Portal;
@@ -30,4 +163,4 @@ declare const Dialog: typeof Dialog$1 & {
30
163
  Description: typeof Description;
31
164
  };
32
165
 
33
- export { Dialog, type CloseButtonProps as DialogCloseButtonProps, CloseProps as DialogCloseProps };
166
+ export { Dialog, type BodyProps as DialogBodyProps, type CloseButtonProps as DialogCloseButtonProps, type CloseProps as DialogCloseProps, type ContentProps as DialogContentProps, type DescriptionProps as DialogDescriptionProps, type FooterProps as DialogFooterProps, type HeaderProps as DialogHeaderProps, type OverlayProps as DialogOverlayProps, type PortalProps as DialogPortalProps, type DialogProps, type TitleProps as DialogTitleProps, type TriggerProps as DialogTriggerProps };