@vikram-hegde/skeletal 0.0.1
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.
- package/README.md +35 -0
- package/dist/alert-dialog/index.d.ts +2 -0
- package/dist/alert-dialog/index.js +2 -0
- package/dist/alert-dialog-1hxVC_5N.js +71 -0
- package/dist/badge/index.d.ts +2 -0
- package/dist/badge/index.js +2 -0
- package/dist/badge-C3p1L0E7.css +53 -0
- package/dist/badge-C3p1L0E7.js +32 -0
- package/dist/button/index.d.ts +2 -0
- package/dist/button/index.js +2 -0
- package/dist/button-B48UNbaC.css +152 -0
- package/dist/button-B48UNbaC.js +46 -0
- package/dist/button-Dvd4n2U4.d.ts +56 -0
- package/dist/checkbox/index.d.ts +2 -0
- package/dist/checkbox/index.js +2 -0
- package/dist/checkbox-wh2BoiSj.css +76 -0
- package/dist/checkbox-wh2BoiSj.js +112 -0
- package/dist/cluster-BJ4m5uGN.css +9 -0
- package/dist/cluster-BJ4m5uGN.js +21 -0
- package/dist/combobox/index.d.ts +2 -0
- package/dist/combobox/index.js +2 -0
- package/dist/combobox-DWH7uSsx.css +389 -0
- package/dist/combobox-DWH7uSsx.js +327 -0
- package/dist/command-palette/index.d.ts +2 -0
- package/dist/command-palette/index.js +2 -0
- package/dist/command-palette-DF4XJ8qz.css +164 -0
- package/dist/command-palette-DF4XJ8qz.js +191 -0
- package/dist/dialog/index.d.ts +6 -0
- package/dist/dialog/index.js +2 -0
- package/dist/dialog-C4yqxII_.js +73 -0
- package/dist/dialog-footer-Br9KZP4v.js +29 -0
- package/dist/dialog-footer-bNVIVPbu.d.ts +56 -0
- package/dist/dialog-portal-B21WFYkQ.css +131 -0
- package/dist/dialog-portal-B21WFYkQ.js +26 -0
- package/dist/dialog-portal-BF89FBeX.d.ts +15 -0
- package/dist/dialog-title-DRYRIxCp.js +35 -0
- package/dist/dialog-title-jyf86Q8C.d.ts +36 -0
- package/dist/dialog-viewport-CaMWJrCJ.d.ts +42 -0
- package/dist/dialog-viewport-vpbsq7Ib.js +21 -0
- package/dist/drawer/index.d.ts +2 -0
- package/dist/drawer/index.js +2 -0
- package/dist/drawer-DQmz_uCP.css +214 -0
- package/dist/drawer-DQmz_uCP.js +180 -0
- package/dist/icon/index.d.ts +2 -0
- package/dist/icon/index.js +2 -0
- package/dist/icon-DBOdxNvH.css +6 -0
- package/dist/icon-DBOdxNvH.js +20 -0
- package/dist/index-A2QmU5r9.d.ts +37 -0
- package/dist/index-B0uNLS7z.d.ts +301 -0
- package/dist/index-B63PSP58.d.ts +94 -0
- package/dist/index-BBOkTl3h.d.ts +261 -0
- package/dist/index-BLFVnve3.d.ts +53 -0
- package/dist/index-BXPUT5u-.d.ts +72 -0
- package/dist/index-BngvATZx.d.ts +35 -0
- package/dist/index-Br2NrBW_.d.ts +444 -0
- package/dist/index-CUy-9csi.d.ts +135 -0
- package/dist/index-CbMW32E9.d.ts +82 -0
- package/dist/index-CyTcR6iv.d.ts +433 -0
- package/dist/index-CznsZ_1M.d.ts +85 -0
- package/dist/index-D-6gOciw.d.ts +350 -0
- package/dist/index-DdqDyczP.d.ts +209 -0
- package/dist/index-GOGpFujX.d.ts +144 -0
- package/dist/index-W3ozKcis.d.ts +245 -0
- package/dist/index-kpw3_4q_.d.ts +50 -0
- package/dist/index-rH7TJeJt.d.ts +334 -0
- package/dist/index-rQ7sRkqg.d.ts +122 -0
- package/dist/index.css +93 -0
- package/dist/index.d.ts +26 -0
- package/dist/index.js +26 -0
- package/dist/input/index.d.ts +2 -0
- package/dist/input/index.js +2 -0
- package/dist/input-CQ_ean8e.css +129 -0
- package/dist/input-CQ_ean8e.js +65 -0
- package/dist/layout/index.d.ts +2 -0
- package/dist/layout/index.js +4 -0
- package/dist/layout-qoyutnKU.css +181 -0
- package/dist/layout-qoyutnKU.js +169 -0
- package/dist/menu/index.d.ts +2 -0
- package/dist/menu/index.js +2 -0
- package/dist/menu-DRdGMI_-.css +236 -0
- package/dist/menu-DRdGMI_-.js +243 -0
- package/dist/merge-class-name-C4KJJGuK.js +15 -0
- package/dist/popover/index.d.ts +2 -0
- package/dist/popover/index.js +2 -0
- package/dist/popover-CenynT0Z.css +139 -0
- package/dist/popover-CenynT0Z.js +174 -0
- package/dist/radio/index.d.ts +2 -0
- package/dist/radio/index.js +2 -0
- package/dist/radio-BJrvdkga.css +80 -0
- package/dist/radio-BJrvdkga.js +75 -0
- package/dist/scroll-area/index.d.ts +2 -0
- package/dist/scroll-area/index.js +2 -0
- package/dist/scroll-area-DkORxJE9.css +175 -0
- package/dist/scroll-area-DkORxJE9.js +114 -0
- package/dist/select/index.d.ts +2 -0
- package/dist/select/index.js +2 -0
- package/dist/select-BaqBHUac.css +273 -0
- package/dist/select-BaqBHUac.js +254 -0
- package/dist/skeleton/index.d.ts +2 -0
- package/dist/skeleton/index.js +2 -0
- package/dist/skeleton-W6fwO5pf.css +88 -0
- package/dist/skeleton-W6fwO5pf.js +97 -0
- package/dist/spinner/index.d.ts +2 -0
- package/dist/spinner/index.js +2 -0
- package/dist/spinner-DB6ap8Si.css +43 -0
- package/dist/spinner-DB6ap8Si.js +27 -0
- package/dist/stack-BzFVrsmT.css +12 -0
- package/dist/stack-BzFVrsmT.js +52 -0
- package/dist/style-vars-ZSrCUzKx.js +13 -0
- package/dist/switch/index.d.ts +2 -0
- package/dist/switch/index.js +2 -0
- package/dist/switch-DizP31iF.css +76 -0
- package/dist/switch-DizP31iF.js +58 -0
- package/dist/tooltip/index.d.ts +2 -0
- package/dist/tooltip/index.js +2 -0
- package/dist/tooltip-CQk2WjUS.css +92 -0
- package/dist/tooltip-CQk2WjUS.js +138 -0
- package/package.json +68 -0
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { t as DialogPortal } from "./dialog-portal-B21WFYkQ.js";
|
|
2
|
+
import { n as DialogBackdrop, t as DialogViewport } from "./dialog-viewport-vpbsq7Ib.js";
|
|
3
|
+
import { t as Button } from "./button-B48UNbaC.js";
|
|
4
|
+
import { n as DialogDescription, r as DialogClose, t as DialogTitle } from "./dialog-title-DRYRIxCp.js";
|
|
5
|
+
import { n as DialogContent, t as DialogFooter } from "./dialog-footer-Br9KZP4v.js";
|
|
6
|
+
import { Dialog } from "@base-ui/react/dialog";
|
|
7
|
+
import { jsx } from "react/jsx-runtime";
|
|
8
|
+
//#region src/dialog/dialog-root.tsx
|
|
9
|
+
function DialogRoot(props) {
|
|
10
|
+
return /* @__PURE__ */ jsx(Dialog.Root, { ...props });
|
|
11
|
+
}
|
|
12
|
+
//#endregion
|
|
13
|
+
//#region src/dialog/dialog-trigger.tsx
|
|
14
|
+
function DialogTrigger({ className, variant = "primary", size = "md", fullWidth = false, ...props }) {
|
|
15
|
+
return /* @__PURE__ */ jsx(Dialog.Trigger, {
|
|
16
|
+
render: /* @__PURE__ */ jsx(Button, {
|
|
17
|
+
variant,
|
|
18
|
+
size,
|
|
19
|
+
fullWidth,
|
|
20
|
+
className
|
|
21
|
+
}),
|
|
22
|
+
...props
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
//#endregion
|
|
26
|
+
//#region src/dialog/index.ts
|
|
27
|
+
/**
|
|
28
|
+
* Compound component for dialogs.
|
|
29
|
+
*
|
|
30
|
+
* Assemble the parts as properties of the object:
|
|
31
|
+
*
|
|
32
|
+
* ```tsx
|
|
33
|
+
* import { Dialog } from '@vikram-hegde/skeletal'
|
|
34
|
+
*
|
|
35
|
+
* <Dialog.Root>
|
|
36
|
+
* <Dialog.Trigger>Open</Dialog.Trigger>
|
|
37
|
+
* <Dialog.Portal>
|
|
38
|
+
* <Dialog.Backdrop />
|
|
39
|
+
* <Dialog.Viewport>
|
|
40
|
+
* <Dialog.Content>
|
|
41
|
+
* <Dialog.Title>Title</Dialog.Title>
|
|
42
|
+
* <Dialog.Description>Description</Dialog.Description>
|
|
43
|
+
* <Dialog.Footer>
|
|
44
|
+
* <Dialog.Close>Cancel</Dialog.Close>
|
|
45
|
+
* <Dialog.Close variant="primary">Confirm</Dialog.Close>
|
|
46
|
+
* </Dialog.Footer>
|
|
47
|
+
* </Dialog.Content>
|
|
48
|
+
* </Dialog.Viewport>
|
|
49
|
+
* </Dialog.Portal>
|
|
50
|
+
* </Dialog.Root>
|
|
51
|
+
* ```
|
|
52
|
+
*
|
|
53
|
+
* Composition follows the Base UI anatomy — `Dialog.Viewport` is the
|
|
54
|
+
* full-screen positioning/scroll container that centers `Dialog.Content`.
|
|
55
|
+
*
|
|
56
|
+
* All parts are thin styled wrappers over Base UI's `Dialog`, so every Base UI
|
|
57
|
+
* prop, `render` override, and ref behaves the same. Part prop types are
|
|
58
|
+
* exported separately (`DialogContentProps`, etc.).
|
|
59
|
+
*/
|
|
60
|
+
const Dialog$1 = {
|
|
61
|
+
Root: DialogRoot,
|
|
62
|
+
Trigger: DialogTrigger,
|
|
63
|
+
Portal: DialogPortal,
|
|
64
|
+
Backdrop: DialogBackdrop,
|
|
65
|
+
Content: DialogContent,
|
|
66
|
+
Title: DialogTitle,
|
|
67
|
+
Description: DialogDescription,
|
|
68
|
+
Footer: DialogFooter,
|
|
69
|
+
Close: DialogClose,
|
|
70
|
+
Viewport: DialogViewport
|
|
71
|
+
};
|
|
72
|
+
//#endregion
|
|
73
|
+
export { Dialog$1 as t };
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { t as mergeClassName } from "./merge-class-name-C4KJJGuK.js";
|
|
2
|
+
import { n as dialog_module_default } from "./dialog-portal-B21WFYkQ.js";
|
|
3
|
+
import { t as Stack } from "./stack-BzFVrsmT.js";
|
|
4
|
+
import { Dialog } from "@base-ui/react/dialog";
|
|
5
|
+
import { clsx } from "clsx";
|
|
6
|
+
import { jsx } from "react/jsx-runtime";
|
|
7
|
+
//#region src/dialog/dialog-content.tsx
|
|
8
|
+
function DialogContent({ className, size = "md", children, ...props }) {
|
|
9
|
+
const sizeClass = size !== "md" ? dialog_module_default[`dialog__content--${size}`] : void 0;
|
|
10
|
+
return /* @__PURE__ */ jsx(Dialog.Popup, {
|
|
11
|
+
className: mergeClassName(clsx(dialog_module_default.dialog__content, sizeClass), className),
|
|
12
|
+
...props,
|
|
13
|
+
children: /* @__PURE__ */ jsx(Stack, {
|
|
14
|
+
space: "1.25rem",
|
|
15
|
+
fill: true,
|
|
16
|
+
children
|
|
17
|
+
})
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
//#endregion
|
|
21
|
+
//#region src/dialog/dialog-footer.tsx
|
|
22
|
+
function DialogFooter({ className, ...props }) {
|
|
23
|
+
return /* @__PURE__ */ jsx("div", {
|
|
24
|
+
className: clsx(dialog_module_default.dialog__footer, className),
|
|
25
|
+
...props
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
//#endregion
|
|
29
|
+
export { DialogContent as n, DialogFooter as t };
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { DialogPopupProps } from "@base-ui/react/dialog";
|
|
2
|
+
import { HTMLAttributes } from "react";
|
|
3
|
+
//#region src/dialog/dialog-content.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* Width of the dialog content.
|
|
6
|
+
*/
|
|
7
|
+
type DialogContentSize = "sm" | "md" | "lg";
|
|
8
|
+
/**
|
|
9
|
+
* The dialog card itself. Renders a `<div>` element with the popup role.
|
|
10
|
+
*
|
|
11
|
+
* Per the Base UI anatomy it is centered by its parent
|
|
12
|
+
* `<Dialog.Viewport>`, which is responsible for positioning and scrolling.
|
|
13
|
+
*
|
|
14
|
+
* Accepts all Base UI popup props, including `initialFocus` and `finalFocus`
|
|
15
|
+
* for controlling focus when the dialog opens and closes.
|
|
16
|
+
*
|
|
17
|
+
* `size` controls the content width:
|
|
18
|
+
* - `sm`: 24rem — short confirmations and prompts.
|
|
19
|
+
* - `md`: 32rem — default; most dialogs and simple forms.
|
|
20
|
+
* - `lg`: 44rem — complex forms, tables, and detail views.
|
|
21
|
+
*
|
|
22
|
+
* The children are wrapped in a `Stack` layout primitive for the dialog's
|
|
23
|
+
* vertical rhythm (`space="1.25rem"`) and stretched to fill the content box
|
|
24
|
+
* (`fill`) so the footer bleeds to the dialog's bottom edge.
|
|
25
|
+
*
|
|
26
|
+
* Responsive: below `48rem` the dialog renders as a bottom sheet — full width,
|
|
27
|
+
* rounded top corners, pinned to the bottom edge, sliding up on open. The
|
|
28
|
+
* `size` modifier only constrains width, so it has no effect on the sheet.
|
|
29
|
+
*
|
|
30
|
+
* @default size = 'md'
|
|
31
|
+
*/
|
|
32
|
+
interface DialogContentProps extends DialogPopupProps {
|
|
33
|
+
size?: DialogContentSize;
|
|
34
|
+
}
|
|
35
|
+
declare function DialogContent({ className, size, children, ...props }: DialogContentProps): import("react").JSX.Element;
|
|
36
|
+
//#endregion
|
|
37
|
+
//#region src/dialog/dialog-footer.d.ts
|
|
38
|
+
/**
|
|
39
|
+
* A footer bar for dialog actions. Renders a `<div>` element.
|
|
40
|
+
*
|
|
41
|
+
* Place it as the last child of `Dialog.Content` to group the dialog's action
|
|
42
|
+
* buttons (e.g. Cancel / Confirm) into a distinct container. It bleeds to the
|
|
43
|
+
* card's edges with its own muted background and top border, so it reads as a
|
|
44
|
+
* separate section of the dialog rather than a loose row of buttons.
|
|
45
|
+
*
|
|
46
|
+
* Buttons are laid out in a right-aligned, wrapping row with a small gap —
|
|
47
|
+
* the conventional placement for primary/destructive actions in dialogs.
|
|
48
|
+
* Override alignment with `className` or `style` (e.g.
|
|
49
|
+
* `justifyContent: "space-between"`) when needed.
|
|
50
|
+
*
|
|
51
|
+
* Use it in an Alert Dialog the same way via `AlertDialog.Footer`.
|
|
52
|
+
*/
|
|
53
|
+
interface DialogFooterProps extends HTMLAttributes<HTMLDivElement> {}
|
|
54
|
+
declare function DialogFooter({ className, ...props }: DialogFooterProps): import("react").JSX.Element;
|
|
55
|
+
//#endregion
|
|
56
|
+
export { DialogContentSize as a, DialogContentProps as i, DialogFooterProps as n, DialogContent as r, DialogFooter as t };
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
@layer skeletal {
|
|
2
|
+
._5SjRyW_dialog__backdrop {
|
|
3
|
+
z-index: 40;
|
|
4
|
+
background-color: light-dark(oklch(0% 0 0 / .4), oklch(0% 0 0 / .6));
|
|
5
|
+
transition: opacity .2s ease-out;
|
|
6
|
+
position: fixed;
|
|
7
|
+
inset: 0;
|
|
8
|
+
|
|
9
|
+
@supports (-webkit-touch-callout: none) {
|
|
10
|
+
position: absolute;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
&[data-starting-style], &[data-ending-style] {
|
|
14
|
+
opacity: 0;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
@media (prefers-reduced-motion: reduce) {
|
|
18
|
+
transition: none;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
._5SjRyW_dialog__content {
|
|
23
|
+
overflow-block: auto;
|
|
24
|
+
border: 1px solid var(--sk-border);
|
|
25
|
+
border-radius: var(--sk-radius);
|
|
26
|
+
background-color: var(--sk-popover);
|
|
27
|
+
max-block-size: calc(100dvb - 3rem);
|
|
28
|
+
inline-size: min(32rem, 100%);
|
|
29
|
+
color: var(--sk-popover-foreground);
|
|
30
|
+
box-shadow: var(--sk-shadow-md);
|
|
31
|
+
margin: auto;
|
|
32
|
+
padding: 1.5rem;
|
|
33
|
+
transition: scale .2s ease-out, opacity .2s ease-out;
|
|
34
|
+
position: relative;
|
|
35
|
+
|
|
36
|
+
&[data-starting-style], &[data-ending-style] {
|
|
37
|
+
opacity: 0;
|
|
38
|
+
scale: .98;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
@media (prefers-reduced-motion: reduce) {
|
|
42
|
+
transition: none;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
@media (width < 48rem) {
|
|
46
|
+
&, &._5SjRyW_dialog__content--sm, &._5SjRyW_dialog__content--lg {
|
|
47
|
+
border-radius: calc(var(--sk-radius) + .5rem * (var(--sk-radius) / var(--sk-radius)))
|
|
48
|
+
calc(var(--sk-radius) + .5rem * (var(--sk-radius) / var(--sk-radius))) 0 0;
|
|
49
|
+
max-block-size: min(85dvb, 100dvb - 2rem);
|
|
50
|
+
inline-size: 100%;
|
|
51
|
+
max-inline-size: none;
|
|
52
|
+
will-change: transform;
|
|
53
|
+
margin: 0;
|
|
54
|
+
padding-block-end: calc(1.5rem + env(safe-area-inset-bottom, 0px));
|
|
55
|
+
transition: transform .22s ease-out, opacity .22s ease-out;
|
|
56
|
+
transform: translateY(0);
|
|
57
|
+
|
|
58
|
+
&[data-starting-style], &[data-ending-style] {
|
|
59
|
+
opacity: 1;
|
|
60
|
+
transform: translateY(100%) scale3d(1, 1, 1);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
@media (prefers-reduced-motion: reduce) {
|
|
64
|
+
transition: none;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
._5SjRyW_dialog__content--sm {
|
|
71
|
+
inline-size: min(24rem, 100%);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
._5SjRyW_dialog__content--lg {
|
|
75
|
+
inline-size: min(44rem, 100%);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
._5SjRyW_dialog__title {
|
|
79
|
+
color: var(--sk-foreground);
|
|
80
|
+
margin: 0;
|
|
81
|
+
font-size: 1.125rem;
|
|
82
|
+
font-weight: 600;
|
|
83
|
+
line-height: 1.5;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
._5SjRyW_dialog__description {
|
|
87
|
+
color: var(--sk-muted-foreground);
|
|
88
|
+
margin: 0;
|
|
89
|
+
font-size: .875rem;
|
|
90
|
+
line-height: 1.5;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
._5SjRyW_dialog__footer {
|
|
94
|
+
background-color: var(--sk-muted);
|
|
95
|
+
border-block-start: 1px solid var(--sk-border);
|
|
96
|
+
border-radius: 0 0 var(--sk-radius) var(--sk-radius);
|
|
97
|
+
flex-wrap: wrap;
|
|
98
|
+
justify-content: flex-end;
|
|
99
|
+
align-items: center;
|
|
100
|
+
gap: .5rem;
|
|
101
|
+
margin-block-end: -1.5rem;
|
|
102
|
+
margin-inline: -1.5rem;
|
|
103
|
+
padding-block: .75rem;
|
|
104
|
+
padding-inline: 1.5rem;
|
|
105
|
+
display: flex;
|
|
106
|
+
|
|
107
|
+
@media (width < 48rem) {
|
|
108
|
+
border-radius: 0;
|
|
109
|
+
margin-block-end: calc(-1.5rem - env(safe-area-inset-bottom, 0px));
|
|
110
|
+
padding-block-end: calc(.75rem + env(safe-area-inset-bottom, 0px));
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
._5SjRyW_dialog__portal {
|
|
115
|
+
display: contents;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
._5SjRyW_dialog__viewport {
|
|
119
|
+
z-index: 50;
|
|
120
|
+
overflow-block: auto;
|
|
121
|
+
padding: 1.5rem;
|
|
122
|
+
display: flex;
|
|
123
|
+
position: fixed;
|
|
124
|
+
inset: 0;
|
|
125
|
+
|
|
126
|
+
@media (width < 48rem) {
|
|
127
|
+
align-items: flex-end;
|
|
128
|
+
padding: 0;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import './dialog-portal-B21WFYkQ.css';
|
|
2
|
+
import { t as mergeClassName } from "./merge-class-name-C4KJJGuK.js";
|
|
3
|
+
import { Dialog } from "@base-ui/react/dialog";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
//#region src/dialog/dialog.module.css
|
|
6
|
+
var dialog_module_default = {
|
|
7
|
+
"dialog__backdrop": "_5SjRyW_dialog__backdrop",
|
|
8
|
+
"dialog__content": "_5SjRyW_dialog__content",
|
|
9
|
+
"dialog__content--lg": "_5SjRyW_dialog__content--lg",
|
|
10
|
+
"dialog__content--sm": "_5SjRyW_dialog__content--sm",
|
|
11
|
+
"dialog__description": "_5SjRyW_dialog__description",
|
|
12
|
+
"dialog__footer": "_5SjRyW_dialog__footer",
|
|
13
|
+
"dialog__portal": "_5SjRyW_dialog__portal",
|
|
14
|
+
"dialog__title": "_5SjRyW_dialog__title",
|
|
15
|
+
"dialog__viewport": "_5SjRyW_dialog__viewport"
|
|
16
|
+
};
|
|
17
|
+
//#endregion
|
|
18
|
+
//#region src/dialog/dialog-portal.tsx
|
|
19
|
+
function DialogPortal({ className, ...props }) {
|
|
20
|
+
return /* @__PURE__ */ jsx(Dialog.Portal, {
|
|
21
|
+
className: mergeClassName(dialog_module_default.dialog__portal, className),
|
|
22
|
+
...props
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
//#endregion
|
|
26
|
+
export { dialog_module_default as n, DialogPortal as t };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { DialogPortalProps } from "@base-ui/react/dialog";
|
|
2
|
+
//#region src/dialog/dialog-portal.d.ts
|
|
3
|
+
/**
|
|
4
|
+
* Moves the dialog content to a different part of the DOM, appended to
|
|
5
|
+
* `<body>` by default. Renders a `<div>` element.
|
|
6
|
+
*
|
|
7
|
+
* `keepMounted` keeps the portal in the DOM while the dialog is closed
|
|
8
|
+
* (useful for exit animations). `container` overrides the portal target.
|
|
9
|
+
*
|
|
10
|
+
* @default keepMounted = false
|
|
11
|
+
*/
|
|
12
|
+
interface DialogPortalProps$1 extends DialogPortalProps {}
|
|
13
|
+
declare function DialogPortal({ className, ...props }: DialogPortalProps$1): import("react").JSX.Element;
|
|
14
|
+
//#endregion
|
|
15
|
+
export { DialogPortalProps$1 as n, DialogPortal as t };
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { t as mergeClassName } from "./merge-class-name-C4KJJGuK.js";
|
|
2
|
+
import { n as dialog_module_default } from "./dialog-portal-B21WFYkQ.js";
|
|
3
|
+
import { t as Button } from "./button-B48UNbaC.js";
|
|
4
|
+
import { Dialog } from "@base-ui/react/dialog";
|
|
5
|
+
import { jsx } from "react/jsx-runtime";
|
|
6
|
+
//#region src/dialog/dialog-close.tsx
|
|
7
|
+
function DialogClose({ className, variant = "secondary", size = "md", fullWidth = false, ...props }) {
|
|
8
|
+
return /* @__PURE__ */ jsx(Dialog.Close, {
|
|
9
|
+
render: /* @__PURE__ */ jsx(Button, {
|
|
10
|
+
variant,
|
|
11
|
+
size,
|
|
12
|
+
fullWidth,
|
|
13
|
+
className
|
|
14
|
+
}),
|
|
15
|
+
...props
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
//#endregion
|
|
19
|
+
//#region src/dialog/dialog-description.tsx
|
|
20
|
+
function DialogDescription({ className, ...props }) {
|
|
21
|
+
return /* @__PURE__ */ jsx(Dialog.Description, {
|
|
22
|
+
className: mergeClassName(dialog_module_default.dialog__description, className),
|
|
23
|
+
...props
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
//#endregion
|
|
27
|
+
//#region src/dialog/dialog-title.tsx
|
|
28
|
+
function DialogTitle({ className, ...props }) {
|
|
29
|
+
return /* @__PURE__ */ jsx(Dialog.Title, {
|
|
30
|
+
className: mergeClassName(dialog_module_default.dialog__title, className),
|
|
31
|
+
...props
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
//#endregion
|
|
35
|
+
export { DialogDescription as n, DialogClose as r, DialogTitle as t };
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { n as ButtonProps } from "./button-Dvd4n2U4.js";
|
|
2
|
+
import { DialogCloseProps, DialogDescriptionProps, DialogTitleProps } from "@base-ui/react/dialog";
|
|
3
|
+
//#region src/dialog/dialog-close.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* A button that closes the dialog. Renders a `<button>` element.
|
|
6
|
+
*
|
|
7
|
+
* Composed from the `Button` component via Base UI's `render` prop, so it
|
|
8
|
+
* accepts all `Button` props (`variant`, `size`, `fullWidth`, `disabled`, ...).
|
|
9
|
+
* Defaults to the `secondary` variant. For destructive confirmations (e.g. the
|
|
10
|
+
* "Discard" action in an Alert Dialog), pass `variant="destructive"`.
|
|
11
|
+
*/
|
|
12
|
+
interface DialogCloseProps$1 extends ButtonProps, Omit<DialogCloseProps, "className" | "style" | "render" | "nativeButton"> {}
|
|
13
|
+
declare function DialogClose({ className, variant, size, fullWidth, ...props }: DialogCloseProps$1): import("react").JSX.Element;
|
|
14
|
+
//#endregion
|
|
15
|
+
//#region src/dialog/dialog-description.d.ts
|
|
16
|
+
/**
|
|
17
|
+
* A paragraph with additional information about the dialog. Renders a `<p>`
|
|
18
|
+
* element.
|
|
19
|
+
*
|
|
20
|
+
* Keep the first paragraph specific and concise — it is announced alongside
|
|
21
|
+
* the title to screen readers.
|
|
22
|
+
*/
|
|
23
|
+
interface DialogDescriptionProps$1 extends DialogDescriptionProps {}
|
|
24
|
+
declare function DialogDescription({ className, ...props }: DialogDescriptionProps$1): import("react").JSX.Element;
|
|
25
|
+
//#endregion
|
|
26
|
+
//#region src/dialog/dialog-title.d.ts
|
|
27
|
+
/**
|
|
28
|
+
* A heading that labels the dialog. Renders an `<h2>` element.
|
|
29
|
+
*
|
|
30
|
+
* Required for accessibility — the dialog is announced with this title.
|
|
31
|
+
* Prefer a short, specific title (e.g. "Delete project?").
|
|
32
|
+
*/
|
|
33
|
+
interface DialogTitleProps$1 extends DialogTitleProps {}
|
|
34
|
+
declare function DialogTitle({ className, ...props }: DialogTitleProps$1): import("react").JSX.Element;
|
|
35
|
+
//#endregion
|
|
36
|
+
export { DialogClose as a, DialogDescriptionProps$1 as i, DialogTitleProps$1 as n, DialogCloseProps$1 as o, DialogDescription as r, DialogTitle as t };
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { DialogBackdropProps, DialogViewportProps } from "@base-ui/react/dialog";
|
|
2
|
+
//#region src/dialog/dialog-backdrop.d.ts
|
|
3
|
+
/**
|
|
4
|
+
* An overlay displayed beneath the dialog content. Renders a `<div>` element.
|
|
5
|
+
*
|
|
6
|
+
* Clicking the backdrop dismisses the dialog (unless
|
|
7
|
+
* `disablePointerDismissal` is set on the root). It dims the page and can be
|
|
8
|
+
* customised with `className` or the `render` prop.
|
|
9
|
+
*/
|
|
10
|
+
interface DialogBackdropProps$1 extends DialogBackdropProps {}
|
|
11
|
+
declare function DialogBackdrop({ className, ...props }: DialogBackdropProps$1): import("react").JSX.Element;
|
|
12
|
+
//#endregion
|
|
13
|
+
//#region src/dialog/dialog-viewport.d.ts
|
|
14
|
+
/**
|
|
15
|
+
* The full-screen positioning and scroll container for the dialog content.
|
|
16
|
+
* Renders a `<div>` element.
|
|
17
|
+
*
|
|
18
|
+
* Per the Base UI anatomy, render `<Dialog.Content>` inside
|
|
19
|
+
* `<Dialog.Viewport>`:
|
|
20
|
+
*
|
|
21
|
+
* ```tsx
|
|
22
|
+
* <Dialog.Portal>
|
|
23
|
+
* <Dialog.Backdrop />
|
|
24
|
+
* <Dialog.Viewport>
|
|
25
|
+
* <Dialog.Content>...</Dialog.Content>
|
|
26
|
+
* </Dialog.Viewport>
|
|
27
|
+
* </Dialog.Portal>
|
|
28
|
+
* ```
|
|
29
|
+
*
|
|
30
|
+
* The viewport is `position: fixed`, fills the screen, and centers the content
|
|
31
|
+
* while scrolling when content is taller than the viewport. Styled with the
|
|
32
|
+
* `dialog__viewport` BEM class; override positioning with `className` if you
|
|
33
|
+
* need a different layout (e.g. a bottom sheet).
|
|
34
|
+
*
|
|
35
|
+
* Responsive: below `48rem` the viewport pins its content to the bottom edge
|
|
36
|
+
* instead of centering it, so the dialog renders as a bottom sheet. This also
|
|
37
|
+
* applies to `AlertDialog` and `CommandPalette`, which share this part.
|
|
38
|
+
*/
|
|
39
|
+
interface DialogViewportProps$1 extends DialogViewportProps {}
|
|
40
|
+
declare function DialogViewport({ className, ...props }: DialogViewportProps$1): import("react").JSX.Element;
|
|
41
|
+
//#endregion
|
|
42
|
+
export { DialogBackdropProps$1 as i, DialogViewportProps$1 as n, DialogBackdrop as r, DialogViewport as t };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { t as mergeClassName } from "./merge-class-name-C4KJJGuK.js";
|
|
2
|
+
import { n as dialog_module_default } from "./dialog-portal-B21WFYkQ.js";
|
|
3
|
+
import { Dialog } from "@base-ui/react/dialog";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
//#region src/dialog/dialog-backdrop.tsx
|
|
6
|
+
function DialogBackdrop({ className, ...props }) {
|
|
7
|
+
return /* @__PURE__ */ jsx(Dialog.Backdrop, {
|
|
8
|
+
className: mergeClassName(dialog_module_default.dialog__backdrop, className),
|
|
9
|
+
...props
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
//#endregion
|
|
13
|
+
//#region src/dialog/dialog-viewport.tsx
|
|
14
|
+
function DialogViewport({ className, ...props }) {
|
|
15
|
+
return /* @__PURE__ */ jsx(Dialog.Viewport, {
|
|
16
|
+
className: mergeClassName(dialog_module_default.dialog__viewport, className),
|
|
17
|
+
...props
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
//#endregion
|
|
21
|
+
export { DialogBackdrop as n, DialogViewport as t };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { a as DrawerProps, c as DrawerPopupSize, d as DrawerContentProps, f as DrawerBackdropProps, i as DrawerSwipeAreaProps, l as DrawerHeaderProps, n as DrawerViewportProps, o as DrawerSide, r as DrawerTriggerProps, s as DrawerPopupProps, t as Drawer, u as DrawerFooterProps } from "../index-B0uNLS7z.js";
|
|
2
|
+
export { Drawer, type DrawerBackdropProps, type DrawerContentProps, type DrawerFooterProps, type DrawerHeaderProps, type DrawerPopupProps, type DrawerPopupSize, type DrawerProps, type DrawerSide, type DrawerSwipeAreaProps, type DrawerTriggerProps, type DrawerViewportProps };
|