@epicbagel/saas-kit 1.32.0 → 1.34.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.
- package/README.md +67 -0
- package/THIRD_PARTY_NOTICES.md +6 -5
- package/dist/chunk-2BNEE3U6.cjs +36 -0
- package/dist/chunk-2DCJ2SFU.js +20 -0
- package/dist/chunk-5GFMSK27.js +489 -0
- package/dist/chunk-5PHOKJCT.cjs +42 -0
- package/dist/chunk-B54ZEKBG.cjs +63 -0
- package/dist/chunk-BB7PO2BW.js +67 -0
- package/dist/chunk-BOMVE7QO.cjs +47 -0
- package/dist/{chunk-FPOJ2NGG.js → chunk-C3VZMTVB.js} +1 -1
- package/dist/chunk-CXAFTEEP.cjs +20 -0
- package/dist/chunk-EXHF3QUY.js +36 -0
- package/dist/chunk-FYNHRHVY.cjs +47 -0
- package/dist/chunk-HTTRUJQU.cjs +60 -0
- package/dist/chunk-I3GBXIFL.cjs +67 -0
- package/dist/chunk-O3G3TVPU.js +27 -0
- package/dist/{chunk-JS6BLIWL.js → chunk-ROUWBWEQ.js} +7 -7
- package/dist/chunk-TDCVZKMX.cjs +27 -0
- package/dist/{chunk-E2UVQXBO.cjs → chunk-TP74SBRH.cjs} +6 -6
- package/dist/chunk-TUQVHPSI.js +60 -0
- package/dist/chunk-UKYUWSF2.cjs +489 -0
- package/dist/{chunk-MOJHETNO.cjs → chunk-VUMLLKWY.cjs} +5 -5
- package/dist/chunk-VWOWPNKT.js +73 -0
- package/dist/chunk-W5L6LQI3.js +42 -0
- package/dist/chunk-WMTCL463.js +47 -0
- package/dist/chunk-WTVL2FK7.js +47 -0
- package/dist/chunk-XH2I3YJ6.js +63 -0
- package/dist/chunk-Y6X6XDHE.cjs +73 -0
- package/dist/primitives/accent-theme.cjs +7 -0
- package/dist/primitives/accent-theme.d.cts +32 -0
- package/dist/primitives/accent-theme.d.ts +32 -0
- package/dist/primitives/accent-theme.js +7 -0
- package/dist/primitives/activity-feed.cjs +3 -3
- package/dist/primitives/activity-feed.js +4 -4
- package/dist/primitives/anchor.cjs +3 -30
- package/dist/primitives/anchor.js +3 -30
- package/dist/primitives/app-layout.cjs +114 -0
- package/dist/primitives/app-layout.d.cts +47 -0
- package/dist/primitives/app-layout.d.ts +47 -0
- package/dist/primitives/app-layout.js +114 -0
- package/dist/primitives/app-sidebar.cjs +52 -0
- package/dist/primitives/app-sidebar.d.cts +105 -0
- package/dist/primitives/app-sidebar.d.ts +105 -0
- package/dist/primitives/app-sidebar.js +52 -0
- package/dist/primitives/back-bar.cjs +37 -0
- package/dist/primitives/back-bar.d.cts +31 -0
- package/dist/primitives/back-bar.d.ts +31 -0
- package/dist/primitives/back-bar.js +37 -0
- package/dist/primitives/batch-action-bar.cjs +134 -0
- package/dist/primitives/batch-action-bar.d.cts +27 -0
- package/dist/primitives/batch-action-bar.d.ts +27 -0
- package/dist/primitives/batch-action-bar.js +134 -0
- package/dist/primitives/board-view.cjs +7 -7
- package/dist/primitives/board-view.js +6 -6
- package/dist/primitives/brand-mark.cjs +8 -0
- package/dist/primitives/brand-mark.d.cts +10 -0
- package/dist/primitives/brand-mark.d.ts +10 -0
- package/dist/primitives/brand-mark.js +8 -0
- package/dist/primitives/branded-page.cjs +201 -0
- package/dist/primitives/branded-page.d.cts +118 -0
- package/dist/primitives/branded-page.d.ts +118 -0
- package/dist/primitives/branded-page.js +201 -0
- package/dist/primitives/call-card.cjs +2 -2
- package/dist/primitives/call-card.js +3 -3
- package/dist/primitives/chat.cjs +21 -21
- package/dist/primitives/chat.js +17 -17
- package/dist/primitives/command.cjs +129 -0
- package/dist/primitives/command.d.cts +60 -0
- package/dist/primitives/command.d.ts +60 -0
- package/dist/primitives/command.js +129 -0
- package/dist/primitives/compact-list.cjs +24 -0
- package/dist/primitives/compact-list.d.cts +18 -0
- package/dist/primitives/compact-list.d.ts +18 -0
- package/dist/primitives/compact-list.js +24 -0
- package/dist/primitives/connection.cjs +2 -2
- package/dist/primitives/connection.js +2 -2
- package/dist/primitives/context-bar.cjs +57 -0
- package/dist/primitives/context-bar.d.cts +50 -0
- package/dist/primitives/context-bar.d.ts +50 -0
- package/dist/primitives/context-bar.js +57 -0
- package/dist/primitives/cycling-prompt.cjs +102 -0
- package/dist/primitives/cycling-prompt.d.cts +24 -0
- package/dist/primitives/cycling-prompt.d.ts +24 -0
- package/dist/primitives/cycling-prompt.js +102 -0
- package/dist/primitives/dialog.d.cts +9 -9
- package/dist/primitives/dialog.d.ts +9 -9
- package/dist/primitives/document-preview.cjs +5 -5
- package/dist/primitives/document-preview.js +3 -3
- package/dist/primitives/dotted-list.cjs +41 -0
- package/dist/primitives/dotted-list.d.cts +28 -0
- package/dist/primitives/dotted-list.d.ts +28 -0
- package/dist/primitives/dotted-list.js +41 -0
- package/dist/primitives/drawer.d.cts +6 -6
- package/dist/primitives/drawer.d.ts +6 -6
- package/dist/primitives/field.cjs +3 -3
- package/dist/primitives/field.js +2 -2
- package/dist/primitives/file-dropzone.cjs +3 -3
- package/dist/primitives/file-dropzone.js +2 -2
- package/dist/primitives/file-preview-internals.cjs +4 -4
- package/dist/primitives/file-preview-internals.js +3 -3
- package/dist/primitives/file-preview.cjs +12 -12
- package/dist/primitives/file-preview.js +3 -3
- package/dist/primitives/filter-bar.cjs +4 -4
- package/dist/primitives/filter-bar.js +3 -3
- package/dist/primitives/fixed-action-bar.cjs +9 -0
- package/dist/primitives/fixed-action-bar.d.cts +15 -0
- package/dist/primitives/fixed-action-bar.d.ts +15 -0
- package/dist/primitives/fixed-action-bar.js +9 -0
- package/dist/primitives/floating-action-button.cjs +65 -0
- package/dist/primitives/floating-action-button.d.cts +52 -0
- package/dist/primitives/floating-action-button.d.ts +52 -0
- package/dist/primitives/floating-action-button.js +65 -0
- package/dist/primitives/form-section.cjs +38 -0
- package/dist/primitives/form-section.d.cts +43 -0
- package/dist/primitives/form-section.d.ts +43 -0
- package/dist/primitives/form-section.js +38 -0
- package/dist/primitives/key-value-grid.cjs +52 -0
- package/dist/primitives/key-value-grid.d.cts +20 -0
- package/dist/primitives/key-value-grid.d.ts +20 -0
- package/dist/primitives/key-value-grid.js +52 -0
- package/dist/primitives/marketing-footer.cjs +34 -0
- package/dist/primitives/marketing-footer.d.cts +29 -0
- package/dist/primitives/marketing-footer.d.ts +29 -0
- package/dist/primitives/marketing-footer.js +34 -0
- package/dist/primitives/marketing-header.cjs +8 -0
- package/dist/primitives/marketing-header.d.cts +31 -0
- package/dist/primitives/marketing-header.d.ts +31 -0
- package/dist/primitives/marketing-header.js +8 -0
- package/dist/primitives/marketing-section.cjs +8 -0
- package/dist/primitives/marketing-section.d.cts +35 -0
- package/dist/primitives/marketing-section.d.ts +35 -0
- package/dist/primitives/marketing-section.js +8 -0
- package/dist/primitives/marketing-shell.cjs +28 -0
- package/dist/primitives/marketing-shell.d.cts +14 -0
- package/dist/primitives/marketing-shell.d.ts +14 -0
- package/dist/primitives/marketing-shell.js +28 -0
- package/dist/primitives/notes.cjs +3 -3
- package/dist/primitives/notes.js +3 -3
- package/dist/primitives/page-header.cjs +3 -67
- package/dist/primitives/page-header.js +3 -67
- package/dist/primitives/page-shell.cjs +3 -41
- package/dist/primitives/page-shell.js +3 -41
- package/dist/primitives/page-tabs.cjs +4 -57
- package/dist/primitives/page-tabs.js +4 -57
- package/dist/primitives/pager.cjs +85 -0
- package/dist/primitives/pager.d.cts +39 -0
- package/dist/primitives/pager.d.ts +39 -0
- package/dist/primitives/pager.js +85 -0
- package/dist/primitives/pagination.cjs +119 -0
- package/dist/primitives/pagination.d.cts +41 -0
- package/dist/primitives/pagination.d.ts +41 -0
- package/dist/primitives/pagination.js +119 -0
- package/dist/primitives/poster.cjs +11 -1
- package/dist/primitives/poster.d.cts +12 -1
- package/dist/primitives/poster.d.ts +12 -1
- package/dist/primitives/poster.js +10 -0
- package/dist/primitives/resource-list.cjs +7 -7
- package/dist/primitives/resource-list.js +6 -6
- package/dist/primitives/responsive-dialog.cjs +3 -3
- package/dist/primitives/responsive-dialog.js +2 -2
- package/dist/primitives/responsive-embed.cjs +29 -0
- package/dist/primitives/responsive-embed.d.cts +14 -0
- package/dist/primitives/responsive-embed.d.ts +14 -0
- package/dist/primitives/responsive-embed.js +29 -0
- package/dist/primitives/save-bar.cjs +91 -0
- package/dist/primitives/save-bar.d.cts +55 -0
- package/dist/primitives/save-bar.d.ts +55 -0
- package/dist/primitives/save-bar.js +91 -0
- package/dist/primitives/section.cjs +2 -2
- package/dist/primitives/section.js +3 -3
- package/dist/primitives/settings-list.cjs +10 -0
- package/dist/primitives/settings-list.d.cts +31 -0
- package/dist/primitives/settings-list.d.ts +31 -0
- package/dist/primitives/settings-list.js +10 -0
- package/dist/primitives/settings-section.cjs +34 -0
- package/dist/primitives/settings-section.d.cts +44 -0
- package/dist/primitives/settings-section.d.ts +44 -0
- package/dist/primitives/settings-section.js +34 -0
- package/dist/primitives/sheet.d.cts +9 -9
- package/dist/primitives/sheet.d.ts +9 -9
- package/dist/primitives/short-video.cjs +110 -0
- package/dist/primitives/short-video.d.cts +30 -0
- package/dist/primitives/short-video.d.ts +30 -0
- package/dist/primitives/short-video.js +110 -0
- package/dist/primitives/stats-card.cjs +46 -0
- package/dist/primitives/stats-card.d.cts +19 -0
- package/dist/primitives/stats-card.d.ts +19 -0
- package/dist/primitives/stats-card.js +46 -0
- package/dist/primitives/stats-strip.cjs +38 -0
- package/dist/primitives/stats-strip.d.cts +24 -0
- package/dist/primitives/stats-strip.d.ts +24 -0
- package/dist/primitives/stats-strip.js +38 -0
- package/dist/primitives/step-list.cjs +32 -0
- package/dist/primitives/step-list.d.cts +19 -0
- package/dist/primitives/step-list.d.ts +19 -0
- package/dist/primitives/step-list.js +32 -0
- package/dist/primitives/steps.cjs +77 -0
- package/dist/primitives/steps.d.cts +35 -0
- package/dist/primitives/steps.d.ts +35 -0
- package/dist/primitives/steps.js +77 -0
- package/dist/primitives/switch-field.cjs +3 -3
- package/dist/primitives/switch-field.js +3 -3
- package/dist/primitives/tabbed-page-header.cjs +53 -0
- package/dist/primitives/tabbed-page-header.d.cts +26 -0
- package/dist/primitives/tabbed-page-header.d.ts +26 -0
- package/dist/primitives/tabbed-page-header.js +53 -0
- package/dist/primitives/theme-selector.cjs +15 -15
- package/dist/primitives/theme-selector.js +2 -2
- package/dist/primitives/voice-dictation-button.cjs +3 -3
- package/dist/primitives/voice-dictation-button.js +2 -2
- package/dist/primitives/voice-session-controls.cjs +3 -3
- package/dist/primitives/voice-session-controls.js +2 -2
- package/dist/primitives/workflow-assistant.cjs +4 -4
- package/dist/primitives/workflow-assistant.js +2 -2
- package/package.json +322 -1
- package/src/styles/components/poster.css +42 -1
- package/dist/{chunk-PH2TV7XI.cjs → chunk-2YW5VA2V.cjs} +2 -2
- package/dist/{chunk-UFFHGKI7.js → chunk-6LB37JWO.js} +8 -8
- package/dist/{chunk-AO56ET4F.cjs → chunk-BTHYGHOH.cjs} +2 -2
- package/dist/{chunk-WHDHUYS6.js → chunk-HBRVOGLA.js} +3 -3
- package/dist/{chunk-6O3DUMF7.js → chunk-HTUYUMAH.js} +3 -3
- package/dist/{chunk-PNI354BY.cjs → chunk-JMNDFISN.cjs} +2 -2
- package/dist/{chunk-CRZ4INEJ.js → chunk-JTI4244T.js} +10 -10
- package/dist/{chunk-ZGTPNSR7.js → chunk-NNEV5RHQ.js} +3 -3
- package/dist/{chunk-TWCJMFST.js → chunk-O42YC6ZQ.js} +3 -3
- package/dist/{chunk-MW67PHAQ.cjs → chunk-S2IMM37Q.cjs} +6 -6
- package/dist/{chunk-ZJFYOXSM.cjs → chunk-SRVRNHCX.cjs} +2 -2
- package/dist/{chunk-ZLEM2SAU.cjs → chunk-Z3JJSNR5.cjs} +2 -2
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
import { Sentiment } from './sentiment-dot.cjs';
|
|
4
|
+
import '../lib/status-colors.cjs';
|
|
5
|
+
|
|
6
|
+
interface DottedListItem {
|
|
7
|
+
sentiment: Sentiment;
|
|
8
|
+
/** Primary text of the bullet. */
|
|
9
|
+
text: ReactNode;
|
|
10
|
+
/** Dimmed trailing fragment — typically the matched field / source. */
|
|
11
|
+
meta?: ReactNode;
|
|
12
|
+
}
|
|
13
|
+
interface DottedListProps {
|
|
14
|
+
items: DottedListItem[];
|
|
15
|
+
/** Maximum items to render. Extra items collapse to a "+ N more" tail. */
|
|
16
|
+
maxItems?: number;
|
|
17
|
+
/** Label shown next to the count when the list is truncated. */
|
|
18
|
+
moreSuffix?: string;
|
|
19
|
+
className?: string;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Compact bullet list where each item leads with a coloured sentiment
|
|
23
|
+
* dot. Designed for "summary bullets" and "signal" surfaces where the
|
|
24
|
+
* dot conveys positive / negative / warn / neutral at a glance.
|
|
25
|
+
*/
|
|
26
|
+
declare function DottedList({ items, maxItems, moreSuffix, className, }: DottedListProps): react_jsx_runtime.JSX.Element;
|
|
27
|
+
|
|
28
|
+
export { DottedList, type DottedListItem, type DottedListProps };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
import { Sentiment } from './sentiment-dot.js';
|
|
4
|
+
import '../lib/status-colors.js';
|
|
5
|
+
|
|
6
|
+
interface DottedListItem {
|
|
7
|
+
sentiment: Sentiment;
|
|
8
|
+
/** Primary text of the bullet. */
|
|
9
|
+
text: ReactNode;
|
|
10
|
+
/** Dimmed trailing fragment — typically the matched field / source. */
|
|
11
|
+
meta?: ReactNode;
|
|
12
|
+
}
|
|
13
|
+
interface DottedListProps {
|
|
14
|
+
items: DottedListItem[];
|
|
15
|
+
/** Maximum items to render. Extra items collapse to a "+ N more" tail. */
|
|
16
|
+
maxItems?: number;
|
|
17
|
+
/** Label shown next to the count when the list is truncated. */
|
|
18
|
+
moreSuffix?: string;
|
|
19
|
+
className?: string;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Compact bullet list where each item leads with a coloured sentiment
|
|
23
|
+
* dot. Designed for "summary bullets" and "signal" surfaces where the
|
|
24
|
+
* dot conveys positive / negative / warn / neutral at a glance.
|
|
25
|
+
*/
|
|
26
|
+
declare function DottedList({ items, maxItems, moreSuffix, className, }: DottedListProps): react_jsx_runtime.JSX.Element;
|
|
27
|
+
|
|
28
|
+
export { DottedList, type DottedListItem, type DottedListProps };
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import {
|
|
3
|
+
SentimentDot
|
|
4
|
+
} from "../chunk-YWAQRAXP.js";
|
|
5
|
+
import "../chunk-F7JHSZNT.js";
|
|
6
|
+
import {
|
|
7
|
+
cn
|
|
8
|
+
} from "../chunk-G6SRSWXB.js";
|
|
9
|
+
|
|
10
|
+
// src/primitives/dotted-list.tsx
|
|
11
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
12
|
+
function DottedList({
|
|
13
|
+
items,
|
|
14
|
+
maxItems,
|
|
15
|
+
moreSuffix = "more",
|
|
16
|
+
className
|
|
17
|
+
}) {
|
|
18
|
+
const visible = maxItems != null ? items.slice(0, maxItems) : items;
|
|
19
|
+
const overflow = maxItems != null && items.length > maxItems ? items.length - maxItems : 0;
|
|
20
|
+
return /* @__PURE__ */ jsxs("ul", { className: cn("mt-2 space-y-0.5", className), children: [
|
|
21
|
+
visible.map((item, i) => /* @__PURE__ */ jsxs("li", { className: "text-xs flex items-start gap-2 text-foreground/80", children: [
|
|
22
|
+
/* @__PURE__ */ jsx(SentimentDot, { sentiment: item.sentiment }),
|
|
23
|
+
/* @__PURE__ */ jsxs("span", { children: [
|
|
24
|
+
item.text,
|
|
25
|
+
item.meta && /* @__PURE__ */ jsxs("span", { className: "text-muted-foreground", children: [
|
|
26
|
+
" \u2014 ",
|
|
27
|
+
item.meta
|
|
28
|
+
] })
|
|
29
|
+
] })
|
|
30
|
+
] }, i)),
|
|
31
|
+
overflow > 0 && /* @__PURE__ */ jsxs("li", { className: "text-[11px] text-muted-foreground pl-4", children: [
|
|
32
|
+
"+ ",
|
|
33
|
+
overflow,
|
|
34
|
+
" ",
|
|
35
|
+
moreSuffix
|
|
36
|
+
] })
|
|
37
|
+
] });
|
|
38
|
+
}
|
|
39
|
+
export {
|
|
40
|
+
DottedList
|
|
41
|
+
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as vaul from 'vaul';
|
|
2
2
|
import { Drawer as Drawer$1 } from 'vaul';
|
|
3
|
-
import * as
|
|
3
|
+
import * as SheetPrimitive from '@radix-ui/react-dialog';
|
|
4
4
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
5
5
|
import * as React from 'react';
|
|
6
6
|
|
|
@@ -10,10 +10,10 @@ declare const Drawer: {
|
|
|
10
10
|
}): react_jsx_runtime.JSX.Element;
|
|
11
11
|
displayName: string;
|
|
12
12
|
};
|
|
13
|
-
declare const DrawerTrigger: React.ForwardRefExoticComponent<
|
|
13
|
+
declare const DrawerTrigger: React.ForwardRefExoticComponent<SheetPrimitive.DialogTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
|
14
14
|
declare const DrawerPortal: typeof vaul.Portal;
|
|
15
|
-
declare const DrawerClose: React.ForwardRefExoticComponent<
|
|
16
|
-
declare const DrawerOverlay: React.ForwardRefExoticComponent<Omit<Omit<
|
|
15
|
+
declare const DrawerClose: React.ForwardRefExoticComponent<SheetPrimitive.DialogCloseProps & React.RefAttributes<HTMLButtonElement>>;
|
|
16
|
+
declare const DrawerOverlay: React.ForwardRefExoticComponent<Omit<Omit<SheetPrimitive.DialogOverlayProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
17
17
|
interface DrawerContentProps extends React.ComponentPropsWithoutRef<typeof Drawer$1.Content> {
|
|
18
18
|
height?: "auto" | "viewport-lg";
|
|
19
19
|
overflow?: "visible" | "hidden" | "auto";
|
|
@@ -30,7 +30,7 @@ declare const DrawerFooter: {
|
|
|
30
30
|
({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
|
|
31
31
|
displayName: string;
|
|
32
32
|
};
|
|
33
|
-
declare const DrawerTitle: React.ForwardRefExoticComponent<Omit<
|
|
34
|
-
declare const DrawerDescription: React.ForwardRefExoticComponent<Omit<
|
|
33
|
+
declare const DrawerTitle: React.ForwardRefExoticComponent<Omit<SheetPrimitive.DialogTitleProps & React.RefAttributes<HTMLHeadingElement>, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
|
|
34
|
+
declare const DrawerDescription: React.ForwardRefExoticComponent<Omit<SheetPrimitive.DialogDescriptionProps & React.RefAttributes<HTMLParagraphElement>, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
|
|
35
35
|
|
|
36
36
|
export { Drawer, DrawerClose, DrawerContent, type DrawerContentProps, DrawerDescription, DrawerFooter, DrawerHeader, type DrawerHeaderProps, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as vaul from 'vaul';
|
|
2
2
|
import { Drawer as Drawer$1 } from 'vaul';
|
|
3
|
-
import * as
|
|
3
|
+
import * as SheetPrimitive from '@radix-ui/react-dialog';
|
|
4
4
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
5
5
|
import * as React from 'react';
|
|
6
6
|
|
|
@@ -10,10 +10,10 @@ declare const Drawer: {
|
|
|
10
10
|
}): react_jsx_runtime.JSX.Element;
|
|
11
11
|
displayName: string;
|
|
12
12
|
};
|
|
13
|
-
declare const DrawerTrigger: React.ForwardRefExoticComponent<
|
|
13
|
+
declare const DrawerTrigger: React.ForwardRefExoticComponent<SheetPrimitive.DialogTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
|
14
14
|
declare const DrawerPortal: typeof vaul.Portal;
|
|
15
|
-
declare const DrawerClose: React.ForwardRefExoticComponent<
|
|
16
|
-
declare const DrawerOverlay: React.ForwardRefExoticComponent<Omit<Omit<
|
|
15
|
+
declare const DrawerClose: React.ForwardRefExoticComponent<SheetPrimitive.DialogCloseProps & React.RefAttributes<HTMLButtonElement>>;
|
|
16
|
+
declare const DrawerOverlay: React.ForwardRefExoticComponent<Omit<Omit<SheetPrimitive.DialogOverlayProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
17
17
|
interface DrawerContentProps extends React.ComponentPropsWithoutRef<typeof Drawer$1.Content> {
|
|
18
18
|
height?: "auto" | "viewport-lg";
|
|
19
19
|
overflow?: "visible" | "hidden" | "auto";
|
|
@@ -30,7 +30,7 @@ declare const DrawerFooter: {
|
|
|
30
30
|
({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
|
|
31
31
|
displayName: string;
|
|
32
32
|
};
|
|
33
|
-
declare const DrawerTitle: React.ForwardRefExoticComponent<Omit<
|
|
34
|
-
declare const DrawerDescription: React.ForwardRefExoticComponent<Omit<
|
|
33
|
+
declare const DrawerTitle: React.ForwardRefExoticComponent<Omit<SheetPrimitive.DialogTitleProps & React.RefAttributes<HTMLHeadingElement>, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
|
|
34
|
+
declare const DrawerDescription: React.ForwardRefExoticComponent<Omit<SheetPrimitive.DialogDescriptionProps & React.RefAttributes<HTMLParagraphElement>, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
|
|
35
35
|
|
|
36
36
|
export { Drawer, DrawerClose, DrawerContent, type DrawerContentProps, DrawerDescription, DrawerFooter, DrawerHeader, type DrawerHeaderProps, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger };
|
|
@@ -13,9 +13,9 @@
|
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
|
|
16
|
-
var
|
|
17
|
-
require('../chunk-NQK5ZWC7.cjs');
|
|
16
|
+
var _chunkSRVRNHCXcjs = require('../chunk-SRVRNHCX.cjs');
|
|
18
17
|
require('../chunk-IQZLUT2Y.cjs');
|
|
18
|
+
require('../chunk-NQK5ZWC7.cjs');
|
|
19
19
|
require('../chunk-KWLSBTB2.cjs');
|
|
20
20
|
|
|
21
21
|
|
|
@@ -30,4 +30,4 @@ require('../chunk-KWLSBTB2.cjs');
|
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
|
|
33
|
-
exports.Field =
|
|
33
|
+
exports.Field = _chunkSRVRNHCXcjs.Field; exports.FieldContent = _chunkSRVRNHCXcjs.FieldContent; exports.FieldDescription = _chunkSRVRNHCXcjs.FieldDescription; exports.FieldError = _chunkSRVRNHCXcjs.FieldError; exports.FieldGrid = _chunkSRVRNHCXcjs.FieldGrid; exports.FieldGroup = _chunkSRVRNHCXcjs.FieldGroup; exports.FieldLabel = _chunkSRVRNHCXcjs.FieldLabel; exports.FieldLegend = _chunkSRVRNHCXcjs.FieldLegend; exports.FieldSeparator = _chunkSRVRNHCXcjs.FieldSeparator; exports.FieldSet = _chunkSRVRNHCXcjs.FieldSet; exports.FieldTitle = _chunkSRVRNHCXcjs.FieldTitle; exports.FormField = _chunkSRVRNHCXcjs.FormField;
|
package/dist/primitives/field.js
CHANGED
|
@@ -13,9 +13,9 @@ import {
|
|
|
13
13
|
FieldSet,
|
|
14
14
|
FieldTitle,
|
|
15
15
|
FormField
|
|
16
|
-
} from "../chunk-
|
|
17
|
-
import "../chunk-HYTILYE5.js";
|
|
16
|
+
} from "../chunk-O42YC6ZQ.js";
|
|
18
17
|
import "../chunk-E2TQMDO7.js";
|
|
18
|
+
import "../chunk-HYTILYE5.js";
|
|
19
19
|
import "../chunk-G6SRSWXB.js";
|
|
20
20
|
export {
|
|
21
21
|
Field,
|
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
var
|
|
9
|
-
require('../chunk-U2NES7VR.cjs');
|
|
8
|
+
var _chunkZ3JJSNR5cjs = require('../chunk-Z3JJSNR5.cjs');
|
|
10
9
|
require('../chunk-373W6VAD.cjs');
|
|
10
|
+
require('../chunk-U2NES7VR.cjs');
|
|
11
11
|
require('../chunk-JDEXZGIY.cjs');
|
|
12
12
|
require('../chunk-KWLSBTB2.cjs');
|
|
13
13
|
|
|
@@ -15,4 +15,4 @@ require('../chunk-KWLSBTB2.cjs');
|
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
|
|
18
|
-
exports.FileDropArea =
|
|
18
|
+
exports.FileDropArea = _chunkZ3JJSNR5cjs.FileDropArea; exports.FileDropzone = _chunkZ3JJSNR5cjs.FileDropzone; exports.installFileDropGuard = _chunkZ3JJSNR5cjs.installFileDropGuard; exports.useFileDropGuard = _chunkZ3JJSNR5cjs.useFileDropGuard;
|
|
@@ -5,9 +5,9 @@ import {
|
|
|
5
5
|
FileDropzone,
|
|
6
6
|
installFileDropGuard,
|
|
7
7
|
useFileDropGuard
|
|
8
|
-
} from "../chunk-
|
|
9
|
-
import "../chunk-ZRLUUZHK.js";
|
|
8
|
+
} from "../chunk-HBRVOGLA.js";
|
|
10
9
|
import "../chunk-EIY5LLSP.js";
|
|
10
|
+
import "../chunk-ZRLUUZHK.js";
|
|
11
11
|
import "../chunk-W326GKML.js";
|
|
12
12
|
import "../chunk-G6SRSWXB.js";
|
|
13
13
|
export {
|
|
@@ -5,10 +5,10 @@
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
var
|
|
9
|
-
require('../chunk-
|
|
10
|
-
require('../chunk-WDXEJDMO.cjs');
|
|
8
|
+
var _chunkTP74SBRHcjs = require('../chunk-TP74SBRH.cjs');
|
|
9
|
+
require('../chunk-BTHYGHOH.cjs');
|
|
11
10
|
require('../chunk-2BHI5ZWJ.cjs');
|
|
11
|
+
require('../chunk-WDXEJDMO.cjs');
|
|
12
12
|
require('../chunk-T2ZFSPE4.cjs');
|
|
13
13
|
require('../chunk-JDEXZGIY.cjs');
|
|
14
14
|
require('../chunk-KWLSBTB2.cjs');
|
|
@@ -17,4 +17,4 @@ require('../chunk-KWLSBTB2.cjs');
|
|
|
17
17
|
|
|
18
18
|
|
|
19
19
|
|
|
20
|
-
exports.PreviewDialog =
|
|
20
|
+
exports.PreviewDialog = _chunkTP74SBRHcjs.PreviewDialog; exports.PreviewLoading = _chunkTP74SBRHcjs.PreviewLoading; exports.PreviewNotice = _chunkTP74SBRHcjs.PreviewNotice; exports.PreviewStage = _chunkTP74SBRHcjs.PreviewStage;
|
|
@@ -5,10 +5,10 @@ import {
|
|
|
5
5
|
PreviewLoading,
|
|
6
6
|
PreviewNotice,
|
|
7
7
|
PreviewStage
|
|
8
|
-
} from "../chunk-
|
|
9
|
-
import "../chunk-
|
|
10
|
-
import "../chunk-3QT5VYZ3.js";
|
|
8
|
+
} from "../chunk-C3VZMTVB.js";
|
|
9
|
+
import "../chunk-JTI4244T.js";
|
|
11
10
|
import "../chunk-4HWCNRK4.js";
|
|
11
|
+
import "../chunk-3QT5VYZ3.js";
|
|
12
12
|
import "../chunk-KN4RPX35.js";
|
|
13
13
|
import "../chunk-W326GKML.js";
|
|
14
14
|
import "../chunk-G6SRSWXB.js";
|
|
@@ -8,9 +8,8 @@ var _chunk4UUTKR3Vcjs = require('../chunk-4UUTKR3V.cjs');
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
var
|
|
12
|
-
require('../chunk-
|
|
13
|
-
require('../chunk-WDXEJDMO.cjs');
|
|
11
|
+
var _chunkTP74SBRHcjs = require('../chunk-TP74SBRH.cjs');
|
|
12
|
+
require('../chunk-BTHYGHOH.cjs');
|
|
14
13
|
|
|
15
14
|
|
|
16
15
|
var _chunkKENBU3NVcjs = require('../chunk-KENBU3NV.cjs');
|
|
@@ -20,6 +19,7 @@ require('../chunk-2BHI5ZWJ.cjs');
|
|
|
20
19
|
|
|
21
20
|
var _chunkBGCNGYPLcjs = require('../chunk-BGCNGYPL.cjs');
|
|
22
21
|
require('../chunk-FARCLWLU.cjs');
|
|
22
|
+
require('../chunk-WDXEJDMO.cjs');
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
var _chunk373W6VADcjs = require('../chunk-373W6VAD.cjs');
|
|
@@ -155,7 +155,7 @@ function FilePreview({
|
|
|
155
155
|
truncatedLabel = "Showing the start of this file. Download it to see the rest."
|
|
156
156
|
}) {
|
|
157
157
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
158
|
-
|
|
158
|
+
_chunkTP74SBRHcjs.PreviewDialog,
|
|
159
159
|
{
|
|
160
160
|
open,
|
|
161
161
|
onOpenChange,
|
|
@@ -266,17 +266,17 @@ function FilePreviewBody({
|
|
|
266
266
|
const reads = kind === "text" || kind === "markdown";
|
|
267
267
|
const text = useFileText(ready && reads ? file : null, ready && reads ? src : null);
|
|
268
268
|
const objectUrl = useObjectUrl(ready && !reads ? file : null, kind === "pdf" ? "application/pdf" : void 0);
|
|
269
|
-
const pending = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
270
|
-
const failed = (message) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
269
|
+
const pending = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTP74SBRHcjs.PreviewStage, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTP74SBRHcjs.PreviewLoading, { label: loadingLabel }) });
|
|
270
|
+
const failed = (message) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTP74SBRHcjs.PreviewStage, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTP74SBRHcjs.PreviewNotice, { icon: _lucidereact.FileWarning, alert: true, message, children: _nullishCoalesce(fallback, () => ( download)) }) });
|
|
271
271
|
if (loading) return pending;
|
|
272
272
|
if (error) return failed(error);
|
|
273
273
|
if (kind === "none" || !file && !src) {
|
|
274
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
274
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTP74SBRHcjs.PreviewStage, { children: _nullishCoalesce(fallback, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTP74SBRHcjs.PreviewNotice, { icon: _lucidereact.FileQuestion, message: unavailableLabel, children: download }))) });
|
|
275
275
|
}
|
|
276
276
|
if (reads) {
|
|
277
277
|
if (!text || text.status === "reading") return pending;
|
|
278
278
|
if (text.status === "failed") return failed(failedLabel);
|
|
279
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
279
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkTP74SBRHcjs.PreviewStage, { layout: "scroll", label: `Preview of ${title}`, children: [
|
|
280
280
|
text.truncated && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk373W6VADcjs.Text, { variant: "caption", marginBottom: "sm", children: truncatedLabel }),
|
|
281
281
|
kind === "markdown" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKENBU3NVcjs.LazyMarkdown, { components: { a: NewTabLink, ...markdownComponents }, children: text.text }) : (
|
|
282
282
|
// The theme's relaxed leading is a fixed 1.8rem, which spaces a
|
|
@@ -300,13 +300,13 @@ function ShownFile({
|
|
|
300
300
|
const fail = () => setBroken(true);
|
|
301
301
|
const label = `Preview of ${title}`;
|
|
302
302
|
if (kind === "image") {
|
|
303
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
303
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTP74SBRHcjs.PreviewStage, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-full w-full items-center justify-center p-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UUTKR3Vcjs.Image, { src: url, alt: title, fit: "contain", radius: "sm", className: "max-h-full max-w-full", onError: fail }) }) });
|
|
304
304
|
}
|
|
305
305
|
if (kind === "audio") {
|
|
306
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
306
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTP74SBRHcjs.PreviewStage, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full max-w-md p-6", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "audio", { src: url, controls: true, preload: "metadata", "aria-label": label, className: "w-full", onError: fail }) }) });
|
|
307
307
|
}
|
|
308
308
|
if (kind === "video") {
|
|
309
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
309
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTP74SBRHcjs.PreviewStage, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-full w-full items-center justify-center p-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
310
310
|
"video",
|
|
311
311
|
{
|
|
312
312
|
src: url,
|
|
@@ -319,7 +319,7 @@ function ShownFile({
|
|
|
319
319
|
}
|
|
320
320
|
) }) });
|
|
321
321
|
}
|
|
322
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
322
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTP74SBRHcjs.PreviewStage, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "iframe", { src: url, title: label, referrerPolicy: "no-referrer", className: "h-full w-full border-0 bg-background" }) });
|
|
323
323
|
}
|
|
324
324
|
|
|
325
325
|
|
|
@@ -8,9 +8,8 @@ import {
|
|
|
8
8
|
PreviewLoading,
|
|
9
9
|
PreviewNotice,
|
|
10
10
|
PreviewStage
|
|
11
|
-
} from "../chunk-
|
|
12
|
-
import "../chunk-
|
|
13
|
-
import "../chunk-3QT5VYZ3.js";
|
|
11
|
+
} from "../chunk-C3VZMTVB.js";
|
|
12
|
+
import "../chunk-JTI4244T.js";
|
|
14
13
|
import {
|
|
15
14
|
LazyMarkdown
|
|
16
15
|
} from "../chunk-VY5U4VGV.js";
|
|
@@ -20,6 +19,7 @@ import {
|
|
|
20
19
|
CodeBlock
|
|
21
20
|
} from "../chunk-HTPPNW74.js";
|
|
22
21
|
import "../chunk-DILYV4FI.js";
|
|
22
|
+
import "../chunk-3QT5VYZ3.js";
|
|
23
23
|
import {
|
|
24
24
|
Text
|
|
25
25
|
} from "../chunk-EIY5LLSP.js";
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
"use client";
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
var
|
|
6
|
-
require('../chunk-PPX2VPGI.cjs');
|
|
5
|
+
var _chunkS2IMM37Qcjs = require('../chunk-S2IMM37Q.cjs');
|
|
7
6
|
require('../chunk-WNXVGUBF.cjs');
|
|
8
7
|
require('../chunk-IQZLUT2Y.cjs');
|
|
9
8
|
require('../chunk-JH4GAGOQ.cjs');
|
|
10
|
-
require('../chunk-V5SPFLKW.cjs');
|
|
11
9
|
require('../chunk-VOTCYG3F.cjs');
|
|
10
|
+
require('../chunk-V5SPFLKW.cjs');
|
|
11
|
+
require('../chunk-PPX2VPGI.cjs');
|
|
12
12
|
require('../chunk-PQUSJEXL.cjs');
|
|
13
13
|
require('../chunk-VGTINL5Q.cjs');
|
|
14
14
|
require('../chunk-I6GUOEBO.cjs');
|
|
@@ -17,4 +17,4 @@ require('../chunk-KWLSBTB2.cjs');
|
|
|
17
17
|
require('../chunk-R35FT53G.cjs');
|
|
18
18
|
|
|
19
19
|
|
|
20
|
-
exports.FilterBar =
|
|
20
|
+
exports.FilterBar = _chunkS2IMM37Qcjs.FilterBar;
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
"use client";
|
|
3
3
|
import {
|
|
4
4
|
FilterBar
|
|
5
|
-
} from "../chunk-
|
|
6
|
-
import "../chunk-G76JANB4.js";
|
|
5
|
+
} from "../chunk-6LB37JWO.js";
|
|
7
6
|
import "../chunk-YG7FBJRM.js";
|
|
8
7
|
import "../chunk-E2TQMDO7.js";
|
|
9
8
|
import "../chunk-OICAYRVH.js";
|
|
10
|
-
import "../chunk-J6NXDZR5.js";
|
|
11
9
|
import "../chunk-H2CCBRVG.js";
|
|
10
|
+
import "../chunk-J6NXDZR5.js";
|
|
11
|
+
import "../chunk-G76JANB4.js";
|
|
12
12
|
import "../chunk-QMA3WVB7.js";
|
|
13
13
|
import "../chunk-H7TETFLB.js";
|
|
14
14
|
import "../chunk-D4ZL2OEQ.js";
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
var _chunkBOMVE7QOcjs = require('../chunk-BOMVE7QO.cjs');
|
|
5
|
+
require('../chunk-373W6VAD.cjs');
|
|
6
|
+
require('../chunk-KWLSBTB2.cjs');
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
exports.FixedActionBar = _chunkBOMVE7QOcjs.FixedActionBar;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
|
|
4
|
+
interface FixedActionBarProps {
|
|
5
|
+
title?: ReactNode;
|
|
6
|
+
description?: ReactNode;
|
|
7
|
+
children: ReactNode;
|
|
8
|
+
width?: "compact" | "narrow" | "wide" | "full";
|
|
9
|
+
actionsWidth?: "auto" | "full";
|
|
10
|
+
className?: string;
|
|
11
|
+
}
|
|
12
|
+
/** Persistent bottom context and action for read-only or transactional pages. */
|
|
13
|
+
declare function FixedActionBar({ title, description, children, width, actionsWidth, className, }: FixedActionBarProps): react_jsx_runtime.JSX.Element;
|
|
14
|
+
|
|
15
|
+
export { FixedActionBar, type FixedActionBarProps };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
|
|
4
|
+
interface FixedActionBarProps {
|
|
5
|
+
title?: ReactNode;
|
|
6
|
+
description?: ReactNode;
|
|
7
|
+
children: ReactNode;
|
|
8
|
+
width?: "compact" | "narrow" | "wide" | "full";
|
|
9
|
+
actionsWidth?: "auto" | "full";
|
|
10
|
+
className?: string;
|
|
11
|
+
}
|
|
12
|
+
/** Persistent bottom context and action for read-only or transactional pages. */
|
|
13
|
+
declare function FixedActionBar({ title, description, children, width, actionsWidth, className, }: FixedActionBarProps): react_jsx_runtime.JSX.Element;
|
|
14
|
+
|
|
15
|
+
export { FixedActionBar, type FixedActionBarProps };
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }"use client";
|
|
2
|
+
"use client";
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
var _chunkJDEXZGIYcjs = require('../chunk-JDEXZGIY.cjs');
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
var _chunkKWLSBTB2cjs = require('../chunk-KWLSBTB2.cjs');
|
|
9
|
+
|
|
10
|
+
// src/primitives/floating-action-button.tsx
|
|
11
|
+
var _react = require('react');
|
|
12
|
+
var _jsxruntime = require('react/jsx-runtime');
|
|
13
|
+
var FloatingActionButton = _react.forwardRef.call(void 0, function FloatingActionButton2({
|
|
14
|
+
label,
|
|
15
|
+
icon,
|
|
16
|
+
visible = true,
|
|
17
|
+
bottom = "bottom-6",
|
|
18
|
+
side = "right",
|
|
19
|
+
asChild = false,
|
|
20
|
+
children,
|
|
21
|
+
className,
|
|
22
|
+
variant = "default",
|
|
23
|
+
size,
|
|
24
|
+
...rest
|
|
25
|
+
}, ref) {
|
|
26
|
+
const iconOnly = !asChild && label == null;
|
|
27
|
+
const labelNode = !iconOnly && label != null && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: icon ? "ml-1.5" : void 0, children: label });
|
|
28
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29
|
+
"div",
|
|
30
|
+
{
|
|
31
|
+
"aria-hidden": !visible,
|
|
32
|
+
className: _chunkKWLSBTB2cjs.cn.call(void 0,
|
|
33
|
+
"fixed z-40 transition-all duration-300 ease-out motion-reduce:transition-opacity",
|
|
34
|
+
bottom,
|
|
35
|
+
side === "right" && "right-6 md:right-8",
|
|
36
|
+
side === "left" && "left-6 md:left-8",
|
|
37
|
+
side === "center" && "left-1/2 -translate-x-1/2",
|
|
38
|
+
visible ? "opacity-100 translate-y-0 pointer-events-auto" : "opacity-0 translate-y-3 pointer-events-none"
|
|
39
|
+
),
|
|
40
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
41
|
+
_chunkJDEXZGIYcjs.Button,
|
|
42
|
+
{
|
|
43
|
+
ref,
|
|
44
|
+
asChild,
|
|
45
|
+
variant,
|
|
46
|
+
size: _nullishCoalesce(size, () => ( (iconOnly ? "icon" : "default"))),
|
|
47
|
+
className: _chunkKWLSBTB2cjs.cn.call(void 0,
|
|
48
|
+
"shadow-lg",
|
|
49
|
+
iconOnly ? "rounded-full h-14 w-14" : "rounded-full px-5 h-12",
|
|
50
|
+
className
|
|
51
|
+
),
|
|
52
|
+
tabIndex: visible ? void 0 : -1,
|
|
53
|
+
...rest,
|
|
54
|
+
children: asChild ? children : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
55
|
+
icon,
|
|
56
|
+
labelNode
|
|
57
|
+
] })
|
|
58
|
+
}
|
|
59
|
+
)
|
|
60
|
+
}
|
|
61
|
+
);
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
exports.FloatingActionButton = FloatingActionButton;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
import { ButtonProps } from './button.cjs';
|
|
4
|
+
import 'class-variance-authority/types';
|
|
5
|
+
import 'class-variance-authority';
|
|
6
|
+
|
|
7
|
+
interface FloatingActionButtonProps extends Omit<ButtonProps, "children"> {
|
|
8
|
+
/** Text label shown next to the icon. Pass null for icon-only. */
|
|
9
|
+
label?: ReactNode;
|
|
10
|
+
/** Leading icon (lucide-react element, normally). */
|
|
11
|
+
icon?: ReactNode;
|
|
12
|
+
/**
|
|
13
|
+
* When false, the FAB is hidden — slides out + fades out. Typically
|
|
14
|
+
* wired to the `past` boolean from `useScrollPast`. Defaults to true
|
|
15
|
+
* (always visible) so the primitive also works as a standalone FAB.
|
|
16
|
+
*/
|
|
17
|
+
visible?: boolean;
|
|
18
|
+
/** Bottom inset (Tailwind utility). Defaults to "bottom-6". */
|
|
19
|
+
bottom?: string;
|
|
20
|
+
/** Horizontal anchor. Defaults to "right". */
|
|
21
|
+
side?: "right" | "left" | "center";
|
|
22
|
+
/**
|
|
23
|
+
* When true, the FAB renders its single child as the trigger element
|
|
24
|
+
* (Radix Slot via Button). Use for next/link integrations.
|
|
25
|
+
*
|
|
26
|
+
* <FloatingActionButton asChild icon={<Plus />} label="New">
|
|
27
|
+
* <Link href="/new" />
|
|
28
|
+
* </FloatingActionButton>
|
|
29
|
+
*/
|
|
30
|
+
asChild?: boolean;
|
|
31
|
+
/** Children only used when asChild=true — should be a single element. */
|
|
32
|
+
children?: ReactNode;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Floating action button that lands in the corner with a soft rise +
|
|
36
|
+
* fade once `visible` flips true. Pair with `useScrollPast` to reveal
|
|
37
|
+
* once the page's primary CTA scrolls off-screen.
|
|
38
|
+
*
|
|
39
|
+
* Design notes:
|
|
40
|
+
* - z-40 sits above the page chrome but below modals/sheets (z-50)
|
|
41
|
+
* - rounded-full pill shape with shadow-lg for elevation cue
|
|
42
|
+
* - `pointer-events-none` while hidden so it never blocks underlying
|
|
43
|
+
* content during the fade-out
|
|
44
|
+
* - motion-reduce: skips the rise transition (still fades)
|
|
45
|
+
*
|
|
46
|
+
* For scroll containers that aren't the document, render this inside
|
|
47
|
+
* a positioned ancestor — the `fixed` positioning falls back to
|
|
48
|
+
* relative-to-nearest-transformed-ancestor in those cases.
|
|
49
|
+
*/
|
|
50
|
+
declare const FloatingActionButton: React.ForwardRefExoticComponent<FloatingActionButtonProps & React.RefAttributes<HTMLButtonElement>>;
|
|
51
|
+
|
|
52
|
+
export { FloatingActionButton, type FloatingActionButtonProps };
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
import { ButtonProps } from './button.js';
|
|
4
|
+
import 'class-variance-authority/types';
|
|
5
|
+
import 'class-variance-authority';
|
|
6
|
+
|
|
7
|
+
interface FloatingActionButtonProps extends Omit<ButtonProps, "children"> {
|
|
8
|
+
/** Text label shown next to the icon. Pass null for icon-only. */
|
|
9
|
+
label?: ReactNode;
|
|
10
|
+
/** Leading icon (lucide-react element, normally). */
|
|
11
|
+
icon?: ReactNode;
|
|
12
|
+
/**
|
|
13
|
+
* When false, the FAB is hidden — slides out + fades out. Typically
|
|
14
|
+
* wired to the `past` boolean from `useScrollPast`. Defaults to true
|
|
15
|
+
* (always visible) so the primitive also works as a standalone FAB.
|
|
16
|
+
*/
|
|
17
|
+
visible?: boolean;
|
|
18
|
+
/** Bottom inset (Tailwind utility). Defaults to "bottom-6". */
|
|
19
|
+
bottom?: string;
|
|
20
|
+
/** Horizontal anchor. Defaults to "right". */
|
|
21
|
+
side?: "right" | "left" | "center";
|
|
22
|
+
/**
|
|
23
|
+
* When true, the FAB renders its single child as the trigger element
|
|
24
|
+
* (Radix Slot via Button). Use for next/link integrations.
|
|
25
|
+
*
|
|
26
|
+
* <FloatingActionButton asChild icon={<Plus />} label="New">
|
|
27
|
+
* <Link href="/new" />
|
|
28
|
+
* </FloatingActionButton>
|
|
29
|
+
*/
|
|
30
|
+
asChild?: boolean;
|
|
31
|
+
/** Children only used when asChild=true — should be a single element. */
|
|
32
|
+
children?: ReactNode;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Floating action button that lands in the corner with a soft rise +
|
|
36
|
+
* fade once `visible` flips true. Pair with `useScrollPast` to reveal
|
|
37
|
+
* once the page's primary CTA scrolls off-screen.
|
|
38
|
+
*
|
|
39
|
+
* Design notes:
|
|
40
|
+
* - z-40 sits above the page chrome but below modals/sheets (z-50)
|
|
41
|
+
* - rounded-full pill shape with shadow-lg for elevation cue
|
|
42
|
+
* - `pointer-events-none` while hidden so it never blocks underlying
|
|
43
|
+
* content during the fade-out
|
|
44
|
+
* - motion-reduce: skips the rise transition (still fades)
|
|
45
|
+
*
|
|
46
|
+
* For scroll containers that aren't the document, render this inside
|
|
47
|
+
* a positioned ancestor — the `fixed` positioning falls back to
|
|
48
|
+
* relative-to-nearest-transformed-ancestor in those cases.
|
|
49
|
+
*/
|
|
50
|
+
declare const FloatingActionButton: React.ForwardRefExoticComponent<FloatingActionButtonProps & React.RefAttributes<HTMLButtonElement>>;
|
|
51
|
+
|
|
52
|
+
export { FloatingActionButton, type FloatingActionButtonProps };
|