@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,144 @@
|
|
|
1
|
+
import { ScrollAreaContentProps, ScrollAreaCornerProps, ScrollAreaRootProps, ScrollAreaScrollbarProps, ScrollAreaThumbProps, ScrollAreaViewportProps } from "@base-ui/react/scroll-area";
|
|
2
|
+
//#region src/scroll-area/scroll-area-content.d.ts
|
|
3
|
+
/**
|
|
4
|
+
* Container for the scrollable content. Renders a `<div>`.
|
|
5
|
+
*
|
|
6
|
+
* Place it directly inside `ScrollArea.Viewport`. It ensures the content sizes
|
|
7
|
+
* correctly inside the clipped viewport and inherits overflow-edge variables
|
|
8
|
+
* when a child needs its own mask — set
|
|
9
|
+
* `--scroll-area-overflow-y-start: inherit` on that child.
|
|
10
|
+
*/
|
|
11
|
+
interface ScrollAreaContentProps$1 extends ScrollAreaContentProps {}
|
|
12
|
+
declare function ScrollAreaContent({ className, ...props }: ScrollAreaContentProps$1): import("react").JSX.Element;
|
|
13
|
+
//#endregion
|
|
14
|
+
//#region src/scroll-area/scroll-area-corner.d.ts
|
|
15
|
+
/**
|
|
16
|
+
* The corner where vertical and horizontal scrollbars meet. Renders a `<div>`.
|
|
17
|
+
*
|
|
18
|
+
* Only needed when both scrollbars are present. It prevents the tracks from
|
|
19
|
+
* overlapping and exposes `--scroll-area-corner-width/height` for layout.
|
|
20
|
+
*/
|
|
21
|
+
interface ScrollAreaCornerProps$1 extends ScrollAreaCornerProps {}
|
|
22
|
+
declare function ScrollAreaCorner({ className, ...props }: ScrollAreaCornerProps$1): import("react").JSX.Element;
|
|
23
|
+
//#endregion
|
|
24
|
+
//#region src/scroll-area/scroll-area-root.d.ts
|
|
25
|
+
/**
|
|
26
|
+
* Groups all parts of the scroll area. Renders a `<div>`.
|
|
27
|
+
*
|
|
28
|
+
* The root clips the viewport and positions custom scrollbars. Give it an
|
|
29
|
+
* explicit size (`height`, `max-height`, `width`) — the viewport fills it.
|
|
30
|
+
*
|
|
31
|
+
* ```tsx
|
|
32
|
+
* <ScrollArea.Root style={{ height: 200 }}>
|
|
33
|
+
* <ScrollArea.Viewport>
|
|
34
|
+
* <ScrollArea.Content>Long content…</ScrollArea.Content>
|
|
35
|
+
* </ScrollArea.Viewport>
|
|
36
|
+
* <ScrollArea.Scrollbar><ScrollArea.Thumb /></ScrollArea.Scrollbar>
|
|
37
|
+
* </ScrollArea.Root>
|
|
38
|
+
* ```
|
|
39
|
+
*
|
|
40
|
+
* All Base UI root props are supported: `overflowEdgeThreshold`, `style`,
|
|
41
|
+
* `className`, `render`.
|
|
42
|
+
*/
|
|
43
|
+
interface ScrollAreaRootProps$1 extends ScrollAreaRootProps {}
|
|
44
|
+
declare function ScrollAreaRoot({ className, ...props }: ScrollAreaRootProps$1): import("react").JSX.Element;
|
|
45
|
+
//#endregion
|
|
46
|
+
//#region src/scroll-area/scroll-area-scrollbar.d.ts
|
|
47
|
+
/**
|
|
48
|
+
* A custom scrollbar track. Renders a `<div>` positioned over the viewport edge.
|
|
49
|
+
*
|
|
50
|
+
* Use `orientation="horizontal"` for the horizontal axis; defaults to
|
|
51
|
+
* `"vertical"`. The scrollbar fades in on hover or while scrolling and hides
|
|
52
|
+
* otherwise, keeping the chrome minimal. Pair it with `ScrollArea.Thumb`.
|
|
53
|
+
*
|
|
54
|
+
* ```tsx
|
|
55
|
+
* <ScrollArea.Scrollbar>
|
|
56
|
+
* <ScrollArea.Thumb />
|
|
57
|
+
* </ScrollArea.Scrollbar>
|
|
58
|
+
* ```
|
|
59
|
+
*/
|
|
60
|
+
interface ScrollAreaScrollbarProps$1 extends ScrollAreaScrollbarProps {}
|
|
61
|
+
declare function ScrollAreaScrollbar({ className, ...props }: ScrollAreaScrollbarProps$1): import("react").JSX.Element;
|
|
62
|
+
//#endregion
|
|
63
|
+
//#region src/scroll-area/scroll-area-thumb.d.ts
|
|
64
|
+
/**
|
|
65
|
+
* The draggable thumb inside the scrollbar track. Renders a `<div>`.
|
|
66
|
+
*
|
|
67
|
+
* Inherits the scrollbar's `data-orientation` (`vertical` | `horizontal`) and
|
|
68
|
+
* is sized via `--scroll-area-thumb-height/width` set by Base UI.
|
|
69
|
+
*/
|
|
70
|
+
interface ScrollAreaThumbProps$1 extends ScrollAreaThumbProps {}
|
|
71
|
+
declare function ScrollAreaThumb({ className, ...props }: ScrollAreaThumbProps$1): import("react").JSX.Element;
|
|
72
|
+
//#endregion
|
|
73
|
+
//#region src/scroll-area/scroll-area-viewport.d.ts
|
|
74
|
+
/**
|
|
75
|
+
* The scrollable container. Renders a `<div>` with `overflow: scroll`.
|
|
76
|
+
*
|
|
77
|
+
* Content fades at the edges where more can be scrolled when `fade` is
|
|
78
|
+
* enabled. The fade uses a CSS `mask-image` driven by Base UI's
|
|
79
|
+
* `--scroll-area-overflow-*` variables, so no JavaScript or shadow overlays
|
|
80
|
+
* are needed. The fade animates naturally with the scroll position.
|
|
81
|
+
*
|
|
82
|
+
* For SSR the bottom/right edge falls back to the fade size so the hint is
|
|
83
|
+
* visible before hydration.
|
|
84
|
+
*/
|
|
85
|
+
interface ScrollAreaViewportProps$1 extends ScrollAreaViewportProps {
|
|
86
|
+
/**
|
|
87
|
+
* Whether to fade content at scroll edges.
|
|
88
|
+
*
|
|
89
|
+
* When `true` the viewport masks its content with a gradient that fades out
|
|
90
|
+
* at the top/bottom where more can be scrolled. The fade tracks
|
|
91
|
+
* `--scroll-area-overflow-y-start/end` automatically.
|
|
92
|
+
*
|
|
93
|
+
* Use `"horizontal"` or `"both"` for horizontal or combined axes. For most
|
|
94
|
+
* vertical lists (side navs, dropdowns) `true` (vertical) is correct.
|
|
95
|
+
*
|
|
96
|
+
* @default false
|
|
97
|
+
*/
|
|
98
|
+
fade?: boolean | "horizontal" | "vertical" | "both";
|
|
99
|
+
/**
|
|
100
|
+
* The size of the fade gradient at each edge. Only applies when `fade` is set.
|
|
101
|
+
* Any CSS length. Use a larger value for a softer, longer fade.
|
|
102
|
+
*
|
|
103
|
+
* @default '2rem'
|
|
104
|
+
*/
|
|
105
|
+
fadeSize?: string;
|
|
106
|
+
}
|
|
107
|
+
declare function ScrollAreaViewport({ className, style, fade, fadeSize, ...props }: ScrollAreaViewportProps$1): import("react").JSX.Element;
|
|
108
|
+
//#endregion
|
|
109
|
+
//#region src/scroll-area/index.d.ts
|
|
110
|
+
/**
|
|
111
|
+
* Compound component for a scrollable area with custom scrollbars and optional
|
|
112
|
+
* edge fades. Wraps Base UI's Scroll Area so every Base UI prop, `render`
|
|
113
|
+
* override, and ref works as documented.
|
|
114
|
+
*
|
|
115
|
+
* ```tsx
|
|
116
|
+
* import { ScrollArea } from '@project-backbone/skeletal'
|
|
117
|
+
*
|
|
118
|
+
* <ScrollArea.Root style={{ height: 200 }}>
|
|
119
|
+
* <ScrollArea.Viewport fade>
|
|
120
|
+
* <ScrollArea.Content>Long content…</ScrollArea.Content>
|
|
121
|
+
* </ScrollArea.Viewport>
|
|
122
|
+
* <ScrollArea.Scrollbar>
|
|
123
|
+
* <ScrollArea.Thumb />
|
|
124
|
+
* </ScrollArea.Scrollbar>
|
|
125
|
+
* <ScrollArea.Corner />
|
|
126
|
+
* </ScrollArea.Root>
|
|
127
|
+
* ```
|
|
128
|
+
*
|
|
129
|
+
* Enable `fade` on the `Viewport` for a soft mask at scroll edges — ideal for
|
|
130
|
+
* side navs and lists where the content should hint at overflow. Tune the
|
|
131
|
+
* distance with `fadeSize` (e.g. `1.5rem`). The mask tracks
|
|
132
|
+
* `--scroll-area-overflow-y-start/end` automatically; no shadow overlays or
|
|
133
|
+
* scroll listeners are needed.
|
|
134
|
+
*/
|
|
135
|
+
declare const ScrollArea$1: {
|
|
136
|
+
Root: typeof ScrollAreaRoot;
|
|
137
|
+
Viewport: typeof ScrollAreaViewport;
|
|
138
|
+
Content: typeof ScrollAreaContent;
|
|
139
|
+
Scrollbar: typeof ScrollAreaScrollbar;
|
|
140
|
+
Thumb: typeof ScrollAreaThumb;
|
|
141
|
+
Corner: typeof ScrollAreaCorner;
|
|
142
|
+
};
|
|
143
|
+
//#endregion
|
|
144
|
+
export { ScrollAreaRootProps$1 as a, ScrollAreaScrollbarProps$1 as i, ScrollAreaViewportProps$1 as n, ScrollAreaCornerProps$1 as o, ScrollAreaThumbProps$1 as r, ScrollAreaContentProps$1 as s, ScrollArea$1 as t };
|
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
import { n as ButtonProps$1 } from "./button-Dvd4n2U4.js";
|
|
2
|
+
import { ButtonState } from "@base-ui/react/button";
|
|
3
|
+
import { CSSProperties } from "react";
|
|
4
|
+
import { Popover, PopoverArrowProps, PopoverBackdropProps, PopoverCloseProps, PopoverDescriptionProps, PopoverPopupProps, PopoverPortalProps, PopoverPositionerProps, PopoverRootProps, PopoverTitleProps, PopoverTriggerProps, PopoverViewportProps } from "@base-ui/react/popover";
|
|
5
|
+
//#region src/popover/popover-arrow.d.ts
|
|
6
|
+
/**
|
|
7
|
+
* A small arrow pointing from the popup to the trigger. Renders a `<div>`
|
|
8
|
+
* element.
|
|
9
|
+
*
|
|
10
|
+
* Place it inside `<Popover.Popup>` (before the content). It orients itself
|
|
11
|
+
* based on the popup's `data-side` attribute, so it works for any placement.
|
|
12
|
+
* Keep `arrowPadding` on the positioner in sync so the arrow never hangs off
|
|
13
|
+
* rounded corners.
|
|
14
|
+
*/
|
|
15
|
+
interface PopoverArrowProps$1 extends PopoverArrowProps {}
|
|
16
|
+
declare function PopoverArrow({ className, ...props }: PopoverArrowProps$1): import("react").JSX.Element;
|
|
17
|
+
//#endregion
|
|
18
|
+
//#region src/popover/popover-backdrop.d.ts
|
|
19
|
+
/**
|
|
20
|
+
* An overlay displayed beneath the popover when `modal` is enabled on the
|
|
21
|
+
* root. Renders a `<div>` element.
|
|
22
|
+
*
|
|
23
|
+
* Clicking the backdrop dismisses the popover. It dims the page and fades
|
|
24
|
+
* in/out via `data-starting-style` / `data-ending-style`. Only rendered when
|
|
25
|
+
* `modal` is `true` — non-modal popovers have no backdrop.
|
|
26
|
+
*/
|
|
27
|
+
interface PopoverBackdropProps$1 extends PopoverBackdropProps {}
|
|
28
|
+
declare function PopoverBackdrop({ className, ...props }: PopoverBackdropProps$1): import("react").JSX.Element;
|
|
29
|
+
//#endregion
|
|
30
|
+
//#region src/popover/popover-close.d.ts
|
|
31
|
+
/**
|
|
32
|
+
* A button that closes the popover. Renders a `<button>` element.
|
|
33
|
+
*
|
|
34
|
+
* Composed from the `Button` component via Base UI's `render` prop, so it
|
|
35
|
+
* accepts all `Button` props (`variant`, `size`, `fullWidth`, `disabled`, ...).
|
|
36
|
+
* Defaults to the `ghost` variant — use `variant="secondary"` for a footer
|
|
37
|
+
* action or `variant="primary"` for confirmations.
|
|
38
|
+
*
|
|
39
|
+
* When `modal` is `true` or `'trap-focus'` on the root, render a close button
|
|
40
|
+
* inside `<Popover.Popup>` so focus trapping has an escape target and touch
|
|
41
|
+
* screen readers can dismiss the popup. Visually hide it with `sr-only` if
|
|
42
|
+
* needed.
|
|
43
|
+
*/
|
|
44
|
+
interface PopoverCloseProps$1 extends Omit<ButtonProps$1, "render" | "className" | "style">, Omit<PopoverCloseProps, "className" | "style" | "render" | "nativeButton"> {
|
|
45
|
+
/** Class applied to the close button. */
|
|
46
|
+
className?: string;
|
|
47
|
+
/** Style applied to the close button. */
|
|
48
|
+
style?: React.CSSProperties;
|
|
49
|
+
}
|
|
50
|
+
declare function PopoverClose({ className, style, variant, size, fullWidth, ...props }: PopoverCloseProps$1): import("react").JSX.Element;
|
|
51
|
+
//#endregion
|
|
52
|
+
//#region src/popover/popover-description.d.ts
|
|
53
|
+
/**
|
|
54
|
+
* A paragraph with additional information about the popover. Renders a `<p>`
|
|
55
|
+
* element.
|
|
56
|
+
*
|
|
57
|
+
* Keep it specific and concise — it is announced alongside the title to
|
|
58
|
+
* screen readers.
|
|
59
|
+
*/
|
|
60
|
+
interface PopoverDescriptionProps$1 extends PopoverDescriptionProps {}
|
|
61
|
+
declare function PopoverDescription({ className, ...props }: PopoverDescriptionProps$1): import("react").JSX.Element;
|
|
62
|
+
//#endregion
|
|
63
|
+
//#region src/popover/popover-portal.d.ts
|
|
64
|
+
/**
|
|
65
|
+
* Moves the popover popup to a different part of the DOM, appended to `<body>`
|
|
66
|
+
* by default. Renders a `<div>` element.
|
|
67
|
+
*
|
|
68
|
+
* `keepMounted` keeps the portal in the DOM while the popover is closed (useful
|
|
69
|
+
* for exit animations). `container` overrides the portal target.
|
|
70
|
+
*
|
|
71
|
+
* @default keepMounted = false
|
|
72
|
+
*/
|
|
73
|
+
interface PopoverPortalProps$1 extends PopoverPortalProps {}
|
|
74
|
+
declare function PopoverPortal({ className, ...props }: PopoverPortalProps$1): import("react").JSX.Element;
|
|
75
|
+
//#endregion
|
|
76
|
+
//#region src/popover/popover-positioner.d.ts
|
|
77
|
+
/**
|
|
78
|
+
* Positions the popover popup against the trigger. Renders a `<div>` element.
|
|
79
|
+
*
|
|
80
|
+
* Accepts all Base UI positioner props: `side`, `align`, `sideOffset`,
|
|
81
|
+
* `alignOffset`, `collisionAvoidance`, `collisionBoundary`, `collisionPadding`,
|
|
82
|
+
* `sticky`, `positionMethod`, `arrowPadding`, and `anchor`.
|
|
83
|
+
*
|
|
84
|
+
* `side` may flip automatically to avoid collisions (default `'bottom'`).
|
|
85
|
+
* `align` controls the cross-axis placement — use `'start'` to align the
|
|
86
|
+
* popup's leading edge with the trigger. Pair `sideOffset` with
|
|
87
|
+
* `<Popover.Arrow>` so the arrow has room to point at the trigger.
|
|
88
|
+
*
|
|
89
|
+
* @default side = 'bottom'
|
|
90
|
+
* @default align = 'center'
|
|
91
|
+
* @default sideOffset = 8
|
|
92
|
+
*/
|
|
93
|
+
interface PopoverPositionerProps$1 extends PopoverPositionerProps {}
|
|
94
|
+
declare function PopoverPositioner({ className, sideOffset, ...props }: PopoverPositionerProps$1): import("react").JSX.Element;
|
|
95
|
+
//#endregion
|
|
96
|
+
//#region src/popover/popover-popup.d.ts
|
|
97
|
+
/**
|
|
98
|
+
* The popover panel that holds the content. Renders a `<div>` element.
|
|
99
|
+
*
|
|
100
|
+
* Accepts all Base UI popup props, including `initialFocus` and `finalFocus`
|
|
101
|
+
* for controlling focus when the popover opens and closes. Content animates
|
|
102
|
+
* in/out via the `data-starting-style` / `data-ending-style` transitions and
|
|
103
|
+
* `data-instant` skips the animation for instant open types.
|
|
104
|
+
*
|
|
105
|
+
* By default the popup sizes to its content with a max width of `20rem`; pass
|
|
106
|
+
* `style={{ width: ... }}` or a `className` to constrain it. It supports
|
|
107
|
+
* `--popup-width` / `--popup-height` / `--available-width` CSS variables from
|
|
108
|
+
* the positioner for responsive sizing.
|
|
109
|
+
*/
|
|
110
|
+
interface PopoverPopupProps$1 extends PopoverPopupProps {}
|
|
111
|
+
declare function PopoverPopup({ className, ...props }: PopoverPopupProps$1): import("react").JSX.Element;
|
|
112
|
+
//#endregion
|
|
113
|
+
//#region src/popover/popover-root.d.ts
|
|
114
|
+
/**
|
|
115
|
+
* Groups all parts of the popover. Renders no DOM element.
|
|
116
|
+
*
|
|
117
|
+
* All Base UI root props are supported: `open`, `defaultOpen`, `onOpenChange`,
|
|
118
|
+
* `onOpenChangeComplete`, `modal`, `triggerId`, `defaultTriggerId`, `handle`,
|
|
119
|
+
* `actionsRef`, and `children` (or a render function receiving `payload`).
|
|
120
|
+
*
|
|
121
|
+
* Use `open` + `onOpenChange` to control the popover; otherwise it is
|
|
122
|
+
* uncontrolled. `modal` accepts `true`, `'trap-focus'`, or `false`.
|
|
123
|
+
*
|
|
124
|
+
* - `true`: user interaction is limited to the popover — page scroll is locked
|
|
125
|
+
* and outside pointer interactions are disabled.
|
|
126
|
+
* - `'trap-focus'`: focus is trapped inside the popover but page scroll and
|
|
127
|
+
* outside pointer interactions remain enabled. Render `<Popover.Close>`
|
|
128
|
+
* inside `<Popover.Popup>` so touch screen readers can escape.
|
|
129
|
+
* - `false`: interaction with the rest of the document stays enabled.
|
|
130
|
+
*
|
|
131
|
+
* @default modal = false
|
|
132
|
+
* @default defaultOpen = false
|
|
133
|
+
*/
|
|
134
|
+
interface PopoverProps<Payload = unknown> extends PopoverRootProps<Payload> {}
|
|
135
|
+
declare function PopoverRoot<Payload>(props: PopoverProps<Payload>): import("react").JSX.Element;
|
|
136
|
+
//#endregion
|
|
137
|
+
//#region src/popover/popover-title.d.ts
|
|
138
|
+
/**
|
|
139
|
+
* A heading that labels the popover. Renders an `<h2>` element.
|
|
140
|
+
*
|
|
141
|
+
* Prefer a short, specific title (e.g. "Notifications"). The popover is
|
|
142
|
+
* announced with this title for accessibility.
|
|
143
|
+
*/
|
|
144
|
+
interface PopoverTitleProps$1 extends PopoverTitleProps {}
|
|
145
|
+
declare function PopoverTitle({ className, ...props }: PopoverTitleProps$1): import("react").JSX.Element;
|
|
146
|
+
//#endregion
|
|
147
|
+
//#region src/popover/popover-trigger.d.ts
|
|
148
|
+
/**
|
|
149
|
+
* A button that opens the popover. Renders a `<button>` element.
|
|
150
|
+
*
|
|
151
|
+
* Composed from the `Button` component via Base UI's `render` prop, so it
|
|
152
|
+
* accepts all `Button` props (`variant`, `size`, `fullWidth`, `disabled`,
|
|
153
|
+
* `onClick`, ...) plus the popover-trigger props from Base UI (`payload`,
|
|
154
|
+
* `handle`, `openOnHover`, `delay`, `closeDelay`, `id`). Defaults to the
|
|
155
|
+
* `outline` variant.
|
|
156
|
+
*
|
|
157
|
+
* Set `openOnHover` to open on hover (useful for preview cards); tune it with
|
|
158
|
+
* `delay` and `closeDelay`. `payload` lets you pass data from the trigger to
|
|
159
|
+
* a render-prop `children` on the root.
|
|
160
|
+
*
|
|
161
|
+
* @default variant = 'outline'
|
|
162
|
+
* @default size = 'md'
|
|
163
|
+
* @default openOnHover = false
|
|
164
|
+
* @default delay = 300
|
|
165
|
+
* @default closeDelay = 0
|
|
166
|
+
*/
|
|
167
|
+
interface PopoverTriggerProps$1<Payload = unknown> extends Omit<ButtonProps$1, "className" | "style" | "render">, Omit<PopoverTriggerProps<Payload>, "className" | "style" | "render" | "nativeButton"> {
|
|
168
|
+
/** Class applied to the trigger button, or a function of the button state. */
|
|
169
|
+
className?: string | ((state: ButtonState) => string | undefined);
|
|
170
|
+
/** Style applied to the trigger button, or a function of the button state. */
|
|
171
|
+
style?: CSSProperties | ((state: ButtonState) => CSSProperties | undefined);
|
|
172
|
+
}
|
|
173
|
+
declare function PopoverTrigger<Payload>({ className, style, variant, size, fullWidth, ...props }: PopoverTriggerProps$1<Payload>): import("react").JSX.Element;
|
|
174
|
+
//#endregion
|
|
175
|
+
//#region src/popover/popover-viewport.d.ts
|
|
176
|
+
/**
|
|
177
|
+
* The scroll container for popover content. Renders a `<div>` element.
|
|
178
|
+
*
|
|
179
|
+
* Place it inside `<Popover.Popup>` when the popover may overflow the viewport
|
|
180
|
+
* — it clips and scrolls while keeping the popup's border and shadow intact.
|
|
181
|
+
* This mirrors the `Viewport` pattern used by `Tooltip` and `Menu`.
|
|
182
|
+
*/
|
|
183
|
+
interface PopoverViewportProps$1 extends PopoverViewportProps {}
|
|
184
|
+
declare function PopoverViewport({ className, ...props }: PopoverViewportProps$1): import("react").JSX.Element;
|
|
185
|
+
//#endregion
|
|
186
|
+
//#region src/popover/index.d.ts
|
|
187
|
+
/**
|
|
188
|
+
* Compound component for popovers.
|
|
189
|
+
*
|
|
190
|
+
* Assemble the parts as properties of the object:
|
|
191
|
+
*
|
|
192
|
+
* ```tsx
|
|
193
|
+
* import { Popover } from '@vikram-hegde/skeletal'
|
|
194
|
+
*
|
|
195
|
+
* <Popover.Root>
|
|
196
|
+
* <Popover.Trigger>Open</Popover.Trigger>
|
|
197
|
+
* <Popover.Portal>
|
|
198
|
+
* <Popover.Positioner sideOffset={8}>
|
|
199
|
+
* <Popover.Popup>
|
|
200
|
+
* <Popover.Arrow />
|
|
201
|
+
* <Popover.Title>Notifications</Popover.Title>
|
|
202
|
+
* <Popover.Description>You are all caught up.</Popover.Description>
|
|
203
|
+
* <Popover.Close>Dismiss</Popover.Close>
|
|
204
|
+
* </Popover.Popup>
|
|
205
|
+
* </Popover.Positioner>
|
|
206
|
+
* </Popover.Portal>
|
|
207
|
+
* </Popover.Root>
|
|
208
|
+
* ```
|
|
209
|
+
*
|
|
210
|
+
* Composition follows the Base UI anatomy — `Popover.Positioner` floats the
|
|
211
|
+
* popup against the trigger and handles collision avoidance; `Popover.Portal`
|
|
212
|
+
* moves it to `<body>`. Use `Popover.Backdrop` with `modal` on the root to
|
|
213
|
+
* dim the page. `Popover.Viewport` provides a scroll container for
|
|
214
|
+
* overflowing content.
|
|
215
|
+
*
|
|
216
|
+
* All parts are thin styled wrappers over Base UI's `Popover`, so every Base UI
|
|
217
|
+
* prop, `render` override, and ref behaves the same. Part prop types are
|
|
218
|
+
* exported separately (`PopoverProps`, `PopoverPopupProps`, etc.).
|
|
219
|
+
*
|
|
220
|
+
* Detached triggers are supported via `Popover.createHandle()`:
|
|
221
|
+
*
|
|
222
|
+
* ```tsx
|
|
223
|
+
* const handle = Popover.createHandle();
|
|
224
|
+
* <Popover.Trigger handle={handle}>Open</Popover.Trigger>
|
|
225
|
+
* <Popover.Root handle={handle}>…</Popover.Root>
|
|
226
|
+
* ```
|
|
227
|
+
*/
|
|
228
|
+
declare const Popover$1: {
|
|
229
|
+
Root: typeof PopoverRoot;
|
|
230
|
+
Trigger: typeof PopoverTrigger;
|
|
231
|
+
Portal: typeof PopoverPortal;
|
|
232
|
+
Backdrop: typeof PopoverBackdrop;
|
|
233
|
+
Positioner: typeof PopoverPositioner;
|
|
234
|
+
Popup: typeof PopoverPopup;
|
|
235
|
+
Arrow: typeof PopoverArrow;
|
|
236
|
+
Title: typeof PopoverTitle;
|
|
237
|
+
Description: typeof PopoverDescription;
|
|
238
|
+
Close: typeof PopoverClose;
|
|
239
|
+
Viewport: typeof PopoverViewport;
|
|
240
|
+
createHandle: typeof Popover.createHandle;
|
|
241
|
+
};
|
|
242
|
+
/** The handle created by `Popover.createHandle()`, for typing detached triggers. */
|
|
243
|
+
type PopoverHandle<Payload> = Popover.Handle<Payload>;
|
|
244
|
+
//#endregion
|
|
245
|
+
export { PopoverTitleProps$1 as a, PopoverPositionerProps$1 as c, PopoverCloseProps$1 as d, PopoverBackdropProps$1 as f, PopoverTriggerProps$1 as i, PopoverPortalProps$1 as l, PopoverHandle as n, PopoverProps as o, PopoverArrowProps$1 as p, PopoverViewportProps$1 as r, PopoverPopupProps$1 as s, Popover$1 as t, PopoverDescriptionProps$1 as u };
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { Icon, IconProps, IconWeight } from "@phosphor-icons/react";
|
|
2
|
+
//#region src/icon/icon.d.ts
|
|
3
|
+
/**
|
|
4
|
+
* A single-color icon rendered from a Phosphor icon component.
|
|
5
|
+
*
|
|
6
|
+
* The `name` prop is type-restricted to Phosphor icon components, so only
|
|
7
|
+
* icons from `@phosphor-icons/react` are accepted:
|
|
8
|
+
*
|
|
9
|
+
* ```tsx
|
|
10
|
+
* import { Horse as HorseIcon } from '@phosphor-icons/react'
|
|
11
|
+
*
|
|
12
|
+
* <Icon name={HorseIcon} size={20} />
|
|
13
|
+
* ```
|
|
14
|
+
*
|
|
15
|
+
* By default the icon is decorative (`aria-hidden`); pass `alt` (rendered as
|
|
16
|
+
* a `<title>` by Phosphor) or `aria-label` to make it accessible to screen
|
|
17
|
+
* readers. Color inherits from the surrounding text via `currentColor`.
|
|
18
|
+
*
|
|
19
|
+
* All other Phosphor icon props pass through (`color`, `mirrored`, `title`,
|
|
20
|
+
* `style`, etc.), including `weight` which defaults to `'regular'`.
|
|
21
|
+
*/
|
|
22
|
+
interface IconProps$1 extends Omit<IconProps, "size" | "children" | "weight" | "alt" | "name"> {
|
|
23
|
+
/**
|
|
24
|
+
* The Phosphor icon component to render (e.g. `import { Horse as HorseIcon }`).
|
|
25
|
+
*/
|
|
26
|
+
name: Icon;
|
|
27
|
+
/**
|
|
28
|
+
* Icon size, in pixels or any CSS length.
|
|
29
|
+
*
|
|
30
|
+
* Pass a string like `'1.25em'` to inherit the surrounding font size.
|
|
31
|
+
*
|
|
32
|
+
* @default 20
|
|
33
|
+
*/
|
|
34
|
+
size?: string | number;
|
|
35
|
+
/**
|
|
36
|
+
* The icon's stroke weight.
|
|
37
|
+
*
|
|
38
|
+
* @default 'regular'
|
|
39
|
+
*/
|
|
40
|
+
weight?: IconWeight;
|
|
41
|
+
/**
|
|
42
|
+
* Accessible description rendered as an SVG `<title>` element.
|
|
43
|
+
*
|
|
44
|
+
* Omit for purely decorative icons.
|
|
45
|
+
*/
|
|
46
|
+
alt?: string;
|
|
47
|
+
}
|
|
48
|
+
declare function Icon$1({ name: IconComponent, size, weight, alt, className, "aria-label": ariaLabel, "aria-hidden": ariaHidden, ...props }: IconProps$1): import("react").JSX.Element;
|
|
49
|
+
//#endregion
|
|
50
|
+
export { IconProps$1 as n, Icon$1 as t };
|