@badnpm/ui 0.0.0-stage → 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/LICENSE +21 -0
- package/README.md +193 -2
- package/dist/cjs/components/accordion.cjs +24 -0
- package/dist/cjs/components/alert-dialog.cjs +56 -0
- package/dist/cjs/components/alert.cjs +34 -0
- package/dist/cjs/components/aspect-ratio.cjs +12 -0
- package/dist/cjs/components/attachment.cjs +80 -0
- package/dist/cjs/components/avatar.cjs +31 -0
- package/dist/cjs/components/badge.cjs +38 -0
- package/dist/cjs/components/breadcrumb.cjs +46 -0
- package/dist/cjs/components/bubble.cjs +66 -0
- package/dist/cjs/components/button-group.cjs +43 -0
- package/dist/cjs/components/button.cjs +41 -0
- package/dist/cjs/components/calendar.cjs +100 -0
- package/dist/cjs/components/card.cjs +34 -0
- package/dist/cjs/components/carousel.cjs +113 -0
- package/dist/cjs/components/chart.cjs +160 -0
- package/dist/cjs/components/checkbox.cjs +13 -0
- package/dist/cjs/components/code-block.cjs +110 -0
- package/dist/cjs/components/collapsible.cjs +18 -0
- package/dist/cjs/components/combobox.cjs +96 -0
- package/dist/cjs/components/command.cjs +46 -0
- package/dist/cjs/components/context-menu.cjs +69 -0
- package/dist/cjs/components/dialog.cjs +50 -0
- package/dist/cjs/components/drawer.cjs +108 -0
- package/dist/cjs/components/dropdown-menu.cjs +68 -0
- package/dist/cjs/components/empty.cjs +42 -0
- package/dist/cjs/components/field.cjs +80 -0
- package/dist/cjs/components/hover-card.cjs +20 -0
- package/dist/cjs/components/input-group.cjs +66 -0
- package/dist/cjs/components/input-otp.cjs +46 -0
- package/dist/cjs/components/input.cjs +11 -0
- package/dist/cjs/components/item.cjs +91 -0
- package/dist/cjs/components/kbd.cjs +14 -0
- package/dist/cjs/components/label.cjs +11 -0
- package/dist/cjs/components/marker.cjs +41 -0
- package/dist/cjs/components/menubar.cjs +75 -0
- package/dist/cjs/components/message-scroller.cjs +45 -0
- package/dist/cjs/components/message.cjs +30 -0
- package/dist/cjs/components/native-select.cjs +19 -0
- package/dist/cjs/components/navigation-menu.cjs +43 -0
- package/dist/cjs/components/pagination.cjs +36 -0
- package/dist/cjs/components/popover.cjs +31 -0
- package/dist/cjs/components/progress.cjs +28 -0
- package/dist/cjs/components/questionnaire.cjs +70 -0
- package/dist/cjs/components/radio-group.cjs +16 -0
- package/dist/cjs/components/resizable.cjs +39 -0
- package/dist/cjs/components/scroll-area.cjs +15 -0
- package/dist/cjs/components/select.cjs +47 -0
- package/dist/cjs/components/separator.cjs +11 -0
- package/dist/cjs/components/sheet.cjs +47 -0
- package/dist/cjs/components/sidebar.cjs +301 -0
- package/dist/cjs/components/skeleton.cjs +10 -0
- package/dist/cjs/components/slider.cjs +16 -0
- package/dist/cjs/components/spinner.cjs +11 -0
- package/dist/cjs/components/switch.cjs +12 -0
- package/dist/cjs/components/table.cjs +38 -0
- package/dist/cjs/components/tabs.cjs +37 -0
- package/dist/cjs/components/textarea.cjs +10 -0
- package/dist/cjs/components/theme-toggle.cjs +19 -0
- package/dist/cjs/components/toast.cjs +82 -0
- package/dist/cjs/components/toggle-group.cjs +47 -0
- package/dist/cjs/components/toggle.cjs +30 -0
- package/dist/cjs/components/tooltip.cjs +24 -0
- package/dist/cjs/components/trace.cjs +40 -0
- package/dist/cjs/hooks/use-highlighted-code.cjs +73 -0
- package/dist/cjs/hooks/use-hydrated.cjs +15 -0
- package/dist/cjs/hooks/use-mobile.cjs +36 -0
- package/dist/cjs/index.cjs +497 -0
- package/dist/cjs/lib/highlighter.cjs +96 -0
- package/dist/cjs/lib/preference.cjs +40 -0
- package/dist/cjs/providers/preference-provider.cjs +127 -0
- package/dist/cjs/providers/theme-provider.cjs +181 -0
- package/dist/cjs/types/components/accordion.d.ts +9 -0
- package/dist/cjs/types/components/alert-dialog.d.ts +20 -0
- package/dist/cjs/types/components/alert.d.ts +13 -0
- package/dist/cjs/types/components/aspect-ratio.d.ts +7 -0
- package/dist/cjs/types/components/attachment.d.ts +26 -0
- package/dist/cjs/types/components/avatar.d.ts +13 -0
- package/dist/cjs/types/components/badge.d.ts +11 -0
- package/dist/cjs/types/components/breadcrumb.d.ts +12 -0
- package/dist/cjs/types/components/bubble.d.ts +19 -0
- package/dist/cjs/types/components/button-group.d.ts +14 -0
- package/dist/cjs/types/components/button.d.ts +12 -0
- package/dist/cjs/types/components/calendar.d.ts +12 -0
- package/dist/cjs/types/components/card.d.ts +13 -0
- package/dist/cjs/types/components/carousel.d.ts +31 -0
- package/dist/cjs/types/components/chart.d.ts +47 -0
- package/dist/cjs/types/components/checkbox.d.ts +6 -0
- package/dist/cjs/types/components/code-block.d.ts +29 -0
- package/dist/cjs/types/components/collapsible.d.ts +8 -0
- package/dist/cjs/types/components/combobox.d.ts +26 -0
- package/dist/cjs/types/components/command.d.ts +21 -0
- package/dist/cjs/types/components/context-menu.d.ts +31 -0
- package/dist/cjs/types/components/dialog.d.ts +19 -0
- package/dist/cjs/types/components/direction.d.ts +1 -0
- package/dist/cjs/types/components/drawer.d.ts +18 -0
- package/dist/cjs/types/components/dropdown-menu.d.ts +31 -0
- package/dist/cjs/types/components/empty.d.ts +15 -0
- package/dist/cjs/types/components/field.d.ts +28 -0
- package/dist/cjs/types/components/hover-card.d.ts +8 -0
- package/dist/cjs/types/components/index.d.ts +65 -0
- package/dist/cjs/types/components/input-group.d.ts +21 -0
- package/dist/cjs/types/components/input-otp.d.ts +13 -0
- package/dist/cjs/types/components/input.d.ts +5 -0
- package/dist/cjs/types/components/item.d.ts +25 -0
- package/dist/cjs/types/components/kbd.d.ts +6 -0
- package/dist/cjs/types/components/label.d.ts +5 -0
- package/dist/cjs/types/components/marker.d.ts +13 -0
- package/dist/cjs/types/components/menubar.d.ts +31 -0
- package/dist/cjs/types/components/message-scroller.d.ts +13 -0
- package/dist/cjs/types/components/message.d.ts +12 -0
- package/dist/cjs/types/components/native-select.d.ts +10 -0
- package/dist/cjs/types/components/navigation-menu.d.ts +15 -0
- package/dist/cjs/types/components/pagination.d.ts +19 -0
- package/dist/cjs/types/components/popover.d.ts +11 -0
- package/dist/cjs/types/components/progress.d.ts +10 -0
- package/dist/cjs/types/components/questionnaire.d.ts +21 -0
- package/dist/cjs/types/components/radio-group.d.ts +8 -0
- package/dist/cjs/types/components/resizable.d.ts +10 -0
- package/dist/cjs/types/components/scroll-area.d.ts +7 -0
- package/dist/cjs/types/components/select.d.ts +17 -0
- package/dist/cjs/types/components/separator.d.ts +6 -0
- package/dist/cjs/types/components/sheet.d.ts +16 -0
- package/dist/cjs/types/components/sidebar.d.ts +66 -0
- package/dist/cjs/types/components/skeleton.d.ts +5 -0
- package/dist/cjs/types/components/slider.d.ts +6 -0
- package/dist/cjs/types/components/spinner.d.ts +5 -0
- package/dist/cjs/types/components/switch.d.ts +8 -0
- package/dist/cjs/types/components/table.d.ts +12 -0
- package/dist/cjs/types/components/tabs.d.ts +14 -0
- package/dist/cjs/types/components/textarea.d.ts +5 -0
- package/dist/cjs/types/components/theme-toggle.d.ts +14 -0
- package/dist/cjs/types/components/toast.d.ts +19 -0
- package/dist/cjs/types/components/toggle-group.d.ts +13 -0
- package/dist/cjs/types/components/toggle.d.ts +12 -0
- package/dist/cjs/types/components/tooltip.d.ts +9 -0
- package/dist/cjs/types/components/trace.d.ts +20 -0
- package/dist/cjs/types/hooks/index.d.ts +3 -0
- package/dist/cjs/types/hooks/use-highlighted-code.d.ts +3 -0
- package/dist/cjs/types/hooks/use-hydrated.d.ts +4 -0
- package/dist/cjs/types/hooks/use-mobile.d.ts +3 -0
- package/dist/cjs/types/index.d.ts +73 -0
- package/dist/cjs/types/lib/highlighter.d.ts +11 -0
- package/dist/cjs/types/lib/index.d.ts +3 -0
- package/dist/cjs/types/lib/preference.d.ts +85 -0
- package/dist/cjs/types/lib/utils.d.ts +1 -0
- package/dist/cjs/types/package.json +1 -0
- package/dist/cjs/types/providers/index.d.ts +2 -0
- package/dist/cjs/types/providers/preference-provider.d.ts +20 -0
- package/dist/cjs/types/providers/theme-provider.d.ts +25 -0
- package/dist/esm/components/accordion.js +19 -0
- package/dist/esm/components/alert-dialog.js +43 -0
- package/dist/esm/components/alert.js +29 -0
- package/dist/esm/components/aspect-ratio.js +10 -0
- package/dist/esm/components/attachment.js +70 -0
- package/dist/esm/components/avatar.js +24 -0
- package/dist/esm/components/badge.js +35 -0
- package/dist/esm/components/breadcrumb.js +38 -0
- package/dist/esm/components/bubble.js +61 -0
- package/dist/esm/components/button-group.js +38 -0
- package/dist/esm/components/button.js +38 -0
- package/dist/esm/components/calendar.js +78 -0
- package/dist/esm/components/card.js +26 -0
- package/dist/esm/components/carousel.js +87 -0
- package/dist/esm/components/chart.js +133 -0
- package/dist/esm/components/checkbox.js +11 -0
- package/dist/esm/components/code-block.js +82 -0
- package/dist/esm/components/collapsible.js +14 -0
- package/dist/esm/components/combobox.js +60 -0
- package/dist/esm/components/command.js +36 -0
- package/dist/esm/components/context-menu.js +53 -0
- package/dist/esm/components/dialog.js +39 -0
- package/dist/esm/components/drawer.js +77 -0
- package/dist/esm/components/dropdown-menu.js +52 -0
- package/dist/esm/components/empty.js +35 -0
- package/dist/esm/components/field.js +69 -0
- package/dist/esm/components/hover-card.js +16 -0
- package/dist/esm/components/input-group.js +59 -0
- package/dist/esm/components/input-otp.js +22 -0
- package/dist/esm/components/input.js +9 -0
- package/dist/esm/components/item.js +80 -0
- package/dist/esm/components/kbd.js +11 -0
- package/dist/esm/components/label.js +9 -0
- package/dist/esm/components/marker.js +36 -0
- package/dist/esm/components/menubar.js +58 -0
- package/dist/esm/components/message-scroller.js +27 -0
- package/dist/esm/components/message.js +23 -0
- package/dist/esm/components/native-select.js +15 -0
- package/dist/esm/components/navigation-menu.js +33 -0
- package/dist/esm/components/pagination.js +28 -0
- package/dist/esm/components/popover.js +24 -0
- package/dist/esm/components/progress.js +22 -0
- package/dist/esm/components/questionnaire.js +54 -0
- package/dist/esm/components/radio-group.js +13 -0
- package/dist/esm/components/resizable.js +16 -0
- package/dist/esm/components/scroll-area.js +12 -0
- package/dist/esm/components/select.js +36 -0
- package/dist/esm/components/separator.js +9 -0
- package/dist/esm/components/sheet.js +38 -0
- package/dist/esm/components/sidebar.js +257 -0
- package/dist/esm/components/skeleton.js +8 -0
- package/dist/esm/components/slider.js +14 -0
- package/dist/esm/components/spinner.js +9 -0
- package/dist/esm/components/switch.js +10 -0
- package/dist/esm/components/table.js +29 -0
- package/dist/esm/components/tabs.js +31 -0
- package/dist/esm/components/textarea.js +8 -0
- package/dist/esm/components/theme-toggle.js +17 -0
- package/dist/esm/components/toast.js +68 -0
- package/dist/esm/components/toggle-group.js +25 -0
- package/dist/esm/components/toggle.js +27 -0
- package/dist/esm/components/tooltip.js +19 -0
- package/dist/esm/components/trace.js +31 -0
- package/dist/esm/hooks/use-highlighted-code.js +52 -0
- package/dist/esm/hooks/use-hydrated.js +13 -0
- package/dist/esm/hooks/use-mobile.js +15 -0
- package/dist/esm/index.js +73 -0
- package/dist/esm/lib/highlighter.js +93 -0
- package/dist/esm/lib/preference.js +35 -0
- package/dist/esm/providers/preference-provider.js +124 -0
- package/dist/esm/providers/theme-provider.js +178 -0
- package/dist/styles/custom.css +2 -0
- package/dist/styles/font/LICENSE +93 -0
- package/dist/styles/font/files/11944884.woff2 +0 -0
- package/dist/styles/font/files/3f081d19.woff2 +0 -0
- package/dist/styles/font/files/aa4aa22f.woff2 +0 -0
- package/dist/styles/font/files/ba1a9b92.woff2 +0 -0
- package/dist/styles/font/files/eadd8e6c.woff2 +0 -0
- package/dist/styles/font/geist.css +2 -0
- package/dist/styles/index.css +2 -0
- package/dist/types/components/accordion.d.ts +9 -0
- package/dist/types/components/alert-dialog.d.ts +20 -0
- package/dist/types/components/alert.d.ts +13 -0
- package/dist/types/components/aspect-ratio.d.ts +7 -0
- package/dist/types/components/attachment.d.ts +26 -0
- package/dist/types/components/avatar.d.ts +13 -0
- package/dist/types/components/badge.d.ts +11 -0
- package/dist/types/components/breadcrumb.d.ts +12 -0
- package/dist/types/components/bubble.d.ts +19 -0
- package/dist/types/components/button-group.d.ts +14 -0
- package/dist/types/components/button.d.ts +12 -0
- package/dist/types/components/calendar.d.ts +12 -0
- package/dist/types/components/card.d.ts +13 -0
- package/dist/types/components/carousel.d.ts +31 -0
- package/dist/types/components/chart.d.ts +47 -0
- package/dist/types/components/checkbox.d.ts +6 -0
- package/dist/types/components/code-block.d.ts +29 -0
- package/dist/types/components/collapsible.d.ts +8 -0
- package/dist/types/components/combobox.d.ts +26 -0
- package/dist/types/components/command.d.ts +21 -0
- package/dist/types/components/context-menu.d.ts +31 -0
- package/dist/types/components/dialog.d.ts +19 -0
- package/dist/types/components/direction.d.ts +1 -0
- package/dist/types/components/drawer.d.ts +18 -0
- package/dist/types/components/dropdown-menu.d.ts +31 -0
- package/dist/types/components/empty.d.ts +15 -0
- package/dist/types/components/field.d.ts +28 -0
- package/dist/types/components/hover-card.d.ts +8 -0
- package/dist/types/components/index.d.ts +65 -0
- package/dist/types/components/input-group.d.ts +21 -0
- package/dist/types/components/input-otp.d.ts +13 -0
- package/dist/types/components/input.d.ts +5 -0
- package/dist/types/components/item.d.ts +25 -0
- package/dist/types/components/kbd.d.ts +6 -0
- package/dist/types/components/label.d.ts +5 -0
- package/dist/types/components/marker.d.ts +13 -0
- package/dist/types/components/menubar.d.ts +31 -0
- package/dist/types/components/message-scroller.d.ts +13 -0
- package/dist/types/components/message.d.ts +12 -0
- package/dist/types/components/native-select.d.ts +10 -0
- package/dist/types/components/navigation-menu.d.ts +15 -0
- package/dist/types/components/pagination.d.ts +19 -0
- package/dist/types/components/popover.d.ts +11 -0
- package/dist/types/components/progress.d.ts +10 -0
- package/dist/types/components/questionnaire.d.ts +21 -0
- package/dist/types/components/radio-group.d.ts +8 -0
- package/dist/types/components/resizable.d.ts +10 -0
- package/dist/types/components/scroll-area.d.ts +7 -0
- package/dist/types/components/select.d.ts +17 -0
- package/dist/types/components/separator.d.ts +6 -0
- package/dist/types/components/sheet.d.ts +16 -0
- package/dist/types/components/sidebar.d.ts +66 -0
- package/dist/types/components/skeleton.d.ts +5 -0
- package/dist/types/components/slider.d.ts +6 -0
- package/dist/types/components/spinner.d.ts +5 -0
- package/dist/types/components/switch.d.ts +8 -0
- package/dist/types/components/table.d.ts +12 -0
- package/dist/types/components/tabs.d.ts +14 -0
- package/dist/types/components/textarea.d.ts +5 -0
- package/dist/types/components/theme-toggle.d.ts +14 -0
- package/dist/types/components/toast.d.ts +19 -0
- package/dist/types/components/toggle-group.d.ts +13 -0
- package/dist/types/components/toggle.d.ts +12 -0
- package/dist/types/components/tooltip.d.ts +9 -0
- package/dist/types/components/trace.d.ts +20 -0
- package/dist/types/hooks/index.d.ts +3 -0
- package/dist/types/hooks/use-highlighted-code.d.ts +3 -0
- package/dist/types/hooks/use-hydrated.d.ts +4 -0
- package/dist/types/hooks/use-mobile.d.ts +3 -0
- package/dist/types/index.d.ts +73 -0
- package/dist/types/lib/highlighter.d.ts +11 -0
- package/dist/types/lib/index.d.ts +3 -0
- package/dist/types/lib/preference.d.ts +85 -0
- package/dist/types/lib/utils.d.ts +1 -0
- package/dist/types/providers/index.d.ts +2 -0
- package/dist/types/providers/preference-provider.d.ts +20 -0
- package/dist/types/providers/theme-provider.d.ts +25 -0
- package/dist/umd/index.js +86818 -0
- package/package.json +116 -4
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
+
var previewCard = require('@base-ui/react/preview-card');
|
|
6
|
+
var cn = require('cn');
|
|
7
|
+
|
|
8
|
+
function HoverCard({ ...props }) {
|
|
9
|
+
return jsxRuntime.jsx(previewCard.PreviewCard.Root, { "data-slot": "hover-card", ...props });
|
|
10
|
+
}
|
|
11
|
+
function HoverCardTrigger({ ...props }) {
|
|
12
|
+
return (jsxRuntime.jsx(previewCard.PreviewCard.Trigger, { "data-slot": "hover-card-trigger", ...props }));
|
|
13
|
+
}
|
|
14
|
+
function HoverCardContent({ className, side = "bottom", sideOffset = 4, align = "center", alignOffset = 4, ...props }) {
|
|
15
|
+
return (jsxRuntime.jsx(previewCard.PreviewCard.Portal, { "data-slot": "hover-card-portal", children: jsxRuntime.jsx(previewCard.PreviewCard.Positioner, { align: align, alignOffset: alignOffset, side: side, sideOffset: sideOffset, className: "isolate z-50", children: jsxRuntime.jsx(previewCard.PreviewCard.Popup, { "data-slot": "hover-card-content", className: cn.cn("z-50 w-64 origin-(--transform-origin) rounded-lg bg-popover p-2.5 text-sm text-popover-foreground shadow-md ring-1 ring-foreground/10 outline-hidden duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className), ...props }) }) }));
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
exports.HoverCard = HoverCard;
|
|
19
|
+
exports.HoverCardContent = HoverCardContent;
|
|
20
|
+
exports.HoverCardTrigger = HoverCardTrigger;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
+
var classVarianceAuthority = require('class-variance-authority');
|
|
6
|
+
var cn = require('cn');
|
|
7
|
+
var button = require('./button.cjs');
|
|
8
|
+
var input = require('./input.cjs');
|
|
9
|
+
var textarea = require('./textarea.cjs');
|
|
10
|
+
|
|
11
|
+
function InputGroup({ className, ...props }) {
|
|
12
|
+
return (jsxRuntime.jsx("div", { "data-slot": "input-group", role: "group", className: cn.cn("group/input-group relative flex h-8 w-full min-w-0 items-center rounded-lg border border-input transition-colors outline-none in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-disabled:bg-input/50 has-disabled:opacity-50 has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-3 has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot][aria-invalid=true]]:border-destructive has-[[data-slot][aria-invalid=true]]:ring-3 has-[[data-slot][aria-invalid=true]]:ring-destructive/20 has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>textarea]:h-auto dark:bg-input/30 dark:has-disabled:bg-input/80 dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40 has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-end]]:[&>input]:pr-1.5 has-[>[data-align=inline-start]]:[&>input]:pl-1.5", className), ...props }));
|
|
13
|
+
}
|
|
14
|
+
const inputGroupAddonVariants = classVarianceAuthority.cva("flex h-auto cursor-text items-center justify-center gap-2 py-1.5 text-sm font-medium text-muted-foreground select-none group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-4", {
|
|
15
|
+
variants: {
|
|
16
|
+
align: {
|
|
17
|
+
"inline-start": "order-first pl-2 has-[>button]:ml-[-0.3rem] has-[>kbd]:ml-[-0.15rem]",
|
|
18
|
+
"inline-end": "order-last pr-2 has-[>button]:mr-[-0.3rem] has-[>kbd]:mr-[-0.15rem]",
|
|
19
|
+
"block-start": "order-first w-full justify-start px-2.5 pt-2 group-has-[>input]/input-group:pt-2 [.border-b]:pb-2",
|
|
20
|
+
"block-end": "order-last w-full justify-start px-2.5 pb-2 group-has-[>input]/input-group:pb-2 [.border-t]:pt-2",
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
defaultVariants: {
|
|
24
|
+
align: "inline-start",
|
|
25
|
+
},
|
|
26
|
+
});
|
|
27
|
+
function InputGroupAddon({ className, align = "inline-start", ...props }) {
|
|
28
|
+
return (jsxRuntime.jsx("div", { role: "group", "data-slot": "input-group-addon", "data-align": align, className: cn.cn(inputGroupAddonVariants({ align }), className), onClick: (e) => {
|
|
29
|
+
if (e.target.closest("button")) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
e.currentTarget.parentElement?.querySelector("input")?.focus();
|
|
33
|
+
}, ...props }));
|
|
34
|
+
}
|
|
35
|
+
const inputGroupButtonVariants = classVarianceAuthority.cva("flex items-center gap-2 text-sm shadow-none", {
|
|
36
|
+
variants: {
|
|
37
|
+
size: {
|
|
38
|
+
xs: "h-6 gap-1 rounded-[calc(var(--radius)-3px)] px-1.5 [&>svg:not([class*='size-'])]:size-3.5",
|
|
39
|
+
sm: "",
|
|
40
|
+
"icon-xs": "size-6 rounded-[calc(var(--radius)-3px)] p-0 has-[>svg]:p-0",
|
|
41
|
+
"icon-sm": "size-8 p-0 has-[>svg]:p-0",
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
defaultVariants: {
|
|
45
|
+
size: "xs",
|
|
46
|
+
},
|
|
47
|
+
});
|
|
48
|
+
function InputGroupButton({ className, type = "button", variant = "ghost", size = "xs", ...props }) {
|
|
49
|
+
return (jsxRuntime.jsx(button.Button, { type: type, "data-size": size, variant: variant, className: cn.cn(inputGroupButtonVariants({ size }), className), ...props }));
|
|
50
|
+
}
|
|
51
|
+
function InputGroupText({ className, ...props }) {
|
|
52
|
+
return (jsxRuntime.jsx("span", { className: cn.cn("flex items-center gap-2 text-sm text-muted-foreground [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4", className), ...props }));
|
|
53
|
+
}
|
|
54
|
+
function InputGroupInput({ className, ...props }) {
|
|
55
|
+
return (jsxRuntime.jsx(input.Input, { "data-slot": "input-group-control", className: cn.cn("flex-1 rounded-none border-0 bg-transparent shadow-none ring-0 focus-visible:ring-0 disabled:bg-transparent aria-invalid:ring-0 dark:bg-transparent dark:disabled:bg-transparent", className), ...props }));
|
|
56
|
+
}
|
|
57
|
+
function InputGroupTextarea({ className, ...props }) {
|
|
58
|
+
return (jsxRuntime.jsx(textarea.Textarea, { "data-slot": "input-group-control", className: cn.cn("flex-1 resize-none rounded-none border-0 bg-transparent py-2 shadow-none ring-0 focus-visible:ring-0 disabled:bg-transparent aria-invalid:ring-0 dark:bg-transparent dark:disabled:bg-transparent", className), ...props }));
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
exports.InputGroup = InputGroup;
|
|
62
|
+
exports.InputGroupAddon = InputGroupAddon;
|
|
63
|
+
exports.InputGroupButton = InputGroupButton;
|
|
64
|
+
exports.InputGroupInput = InputGroupInput;
|
|
65
|
+
exports.InputGroupText = InputGroupText;
|
|
66
|
+
exports.InputGroupTextarea = InputGroupTextarea;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var cn = require('cn');
|
|
6
|
+
var inputOtp = require('input-otp');
|
|
7
|
+
var lucideReact = require('lucide-react');
|
|
8
|
+
|
|
9
|
+
function _interopNamespaceDefault(e) {
|
|
10
|
+
var n = Object.create(null);
|
|
11
|
+
if (e) {
|
|
12
|
+
Object.keys(e).forEach(function (k) {
|
|
13
|
+
if (k !== 'default') {
|
|
14
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
15
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
16
|
+
enumerable: true,
|
|
17
|
+
get: function () { return e[k]; }
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
n.default = e;
|
|
23
|
+
return Object.freeze(n);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
|
|
27
|
+
|
|
28
|
+
function InputOTP({ className, containerClassName, ...props }) {
|
|
29
|
+
return (jsxRuntime.jsx(inputOtp.OTPInput, { "data-slot": "input-otp", containerClassName: cn.cn("cn-input-otp flex items-center has-disabled:opacity-50", containerClassName), spellCheck: false, className: cn.cn("disabled:cursor-not-allowed", className), ...props }));
|
|
30
|
+
}
|
|
31
|
+
function InputOTPGroup({ className, ...props }) {
|
|
32
|
+
return (jsxRuntime.jsx("div", { "data-slot": "input-otp-group", className: cn.cn("flex items-center rounded-lg has-aria-invalid:border-destructive has-aria-invalid:ring-3 has-aria-invalid:ring-destructive/20 dark:has-aria-invalid:ring-destructive/40", className), ...props }));
|
|
33
|
+
}
|
|
34
|
+
function InputOTPSlot({ index, className, ...props }) {
|
|
35
|
+
const inputOTPContext = React__namespace.useContext(inputOtp.OTPInputContext);
|
|
36
|
+
const { char, hasFakeCaret, isActive } = inputOTPContext?.slots[index] ?? {};
|
|
37
|
+
return (jsxRuntime.jsxs("div", { "data-slot": "input-otp-slot", "data-active": isActive, className: cn.cn("relative flex size-8 items-center justify-center border-y border-r border-input text-sm transition-all outline-none first:rounded-l-lg first:border-l last:rounded-r-lg aria-invalid:border-destructive data-[active=true]:z-10 data-[active=true]:border-ring data-[active=true]:ring-3 data-[active=true]:ring-ring/50 data-[active=true]:aria-invalid:border-destructive data-[active=true]:aria-invalid:ring-destructive/20 dark:bg-input/30 dark:data-[active=true]:aria-invalid:ring-destructive/40", className), ...props, children: [char, hasFakeCaret && (jsxRuntime.jsx("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: jsxRuntime.jsx("div", { className: "h-4 w-px animate-caret-blink bg-foreground duration-1000" }) }))] }));
|
|
38
|
+
}
|
|
39
|
+
function InputOTPSeparator({ ...props }) {
|
|
40
|
+
return (jsxRuntime.jsx("div", { "data-slot": "input-otp-separator", className: "flex items-center [&_svg:not([class*='size-'])]:size-4", role: "separator", ...props, children: jsxRuntime.jsx(lucideReact.MinusIcon, {}) }));
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
exports.InputOTP = InputOTP;
|
|
44
|
+
exports.InputOTPGroup = InputOTPGroup;
|
|
45
|
+
exports.InputOTPSeparator = InputOTPSeparator;
|
|
46
|
+
exports.InputOTPSlot = InputOTPSlot;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var input = require('@base-ui/react/input');
|
|
5
|
+
var cn = require('cn');
|
|
6
|
+
|
|
7
|
+
function Input({ className, type, ...props }) {
|
|
8
|
+
return (jsxRuntime.jsx(input.Input, { type: type, "data-slot": "input", className: cn.cn("h-8 w-full min-w-0 rounded-lg border border-input bg-transparent px-2.5 py-1 text-base transition-colors outline-none file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40", className), ...props }));
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
exports.Input = Input;
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var mergeProps = require('@base-ui/react/merge-props');
|
|
5
|
+
var useRender = require('@base-ui/react/use-render');
|
|
6
|
+
var classVarianceAuthority = require('class-variance-authority');
|
|
7
|
+
var cn = require('cn');
|
|
8
|
+
var separator = require('./separator.cjs');
|
|
9
|
+
|
|
10
|
+
function ItemGroup({ className, ...props }) {
|
|
11
|
+
return (jsxRuntime.jsx("div", { role: "list", "data-slot": "item-group", className: cn.cn("group/item-group flex w-full flex-col gap-4 has-data-[size=sm]:gap-2.5 has-data-[size=xs]:gap-2", className), ...props }));
|
|
12
|
+
}
|
|
13
|
+
function ItemSeparator({ className, ...props }) {
|
|
14
|
+
return (jsxRuntime.jsx(separator.Separator, { "data-slot": "item-separator", orientation: "horizontal", className: cn.cn("my-2", className), ...props }));
|
|
15
|
+
}
|
|
16
|
+
const itemVariants = classVarianceAuthority.cva("group/item flex w-full flex-wrap items-center rounded-lg border text-sm transition-colors duration-100 outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 [a]:transition-colors [a]:hover:bg-muted", {
|
|
17
|
+
variants: {
|
|
18
|
+
variant: {
|
|
19
|
+
default: "border-transparent",
|
|
20
|
+
outline: "border-border",
|
|
21
|
+
muted: "border-transparent bg-muted/50",
|
|
22
|
+
},
|
|
23
|
+
size: {
|
|
24
|
+
default: "gap-2.5 px-3 py-2.5",
|
|
25
|
+
sm: "gap-2.5 px-3 py-2.5",
|
|
26
|
+
xs: "gap-2 px-2.5 py-2 in-data-[slot=dropdown-menu-content]:p-0",
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
defaultVariants: {
|
|
30
|
+
variant: "default",
|
|
31
|
+
size: "default",
|
|
32
|
+
},
|
|
33
|
+
});
|
|
34
|
+
function Item({ className, variant = "default", size = "default", render, ...props }) {
|
|
35
|
+
return useRender.useRender({
|
|
36
|
+
defaultTagName: "div",
|
|
37
|
+
props: mergeProps.mergeProps({
|
|
38
|
+
className: cn.cn(itemVariants({ variant, size, className })),
|
|
39
|
+
}, props),
|
|
40
|
+
render,
|
|
41
|
+
state: {
|
|
42
|
+
slot: "item",
|
|
43
|
+
variant,
|
|
44
|
+
size,
|
|
45
|
+
},
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
const itemMediaVariants = classVarianceAuthority.cva("flex shrink-0 items-center justify-center gap-2 group-has-data-[slot=item-description]/item:translate-y-0.5 group-has-data-[slot=item-description]/item:self-start [&_svg]:pointer-events-none", {
|
|
49
|
+
variants: {
|
|
50
|
+
variant: {
|
|
51
|
+
default: "bg-transparent",
|
|
52
|
+
icon: "[&_svg:not([class*='size-'])]:size-4",
|
|
53
|
+
image: "size-10 overflow-hidden rounded-sm group-data-[size=sm]/item:size-8 group-data-[size=xs]/item:size-6 [&_img]:size-full [&_img]:object-cover",
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
defaultVariants: {
|
|
57
|
+
variant: "default",
|
|
58
|
+
},
|
|
59
|
+
});
|
|
60
|
+
function ItemMedia({ className, variant = "default", ...props }) {
|
|
61
|
+
return (jsxRuntime.jsx("div", { "data-slot": "item-media", "data-variant": variant, className: cn.cn(itemMediaVariants({ variant, className })), ...props }));
|
|
62
|
+
}
|
|
63
|
+
function ItemContent({ className, ...props }) {
|
|
64
|
+
return (jsxRuntime.jsx("div", { "data-slot": "item-content", className: cn.cn("flex flex-1 flex-col gap-1 group-data-[size=xs]/item:gap-0 [&+[data-slot=item-content]]:flex-none", className), ...props }));
|
|
65
|
+
}
|
|
66
|
+
function ItemTitle({ className, ...props }) {
|
|
67
|
+
return (jsxRuntime.jsx("div", { "data-slot": "item-title", className: cn.cn("line-clamp-1 flex w-fit items-center gap-2 text-sm leading-snug font-medium underline-offset-4", className), ...props }));
|
|
68
|
+
}
|
|
69
|
+
function ItemDescription({ className, ...props }) {
|
|
70
|
+
return (jsxRuntime.jsx("p", { "data-slot": "item-description", className: cn.cn("line-clamp-2 text-left text-sm leading-normal font-normal text-muted-foreground group-data-[size=xs]/item:text-xs [&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary", className), ...props }));
|
|
71
|
+
}
|
|
72
|
+
function ItemActions({ className, ...props }) {
|
|
73
|
+
return (jsxRuntime.jsx("div", { "data-slot": "item-actions", className: cn.cn("flex items-center gap-2", className), ...props }));
|
|
74
|
+
}
|
|
75
|
+
function ItemHeader({ className, ...props }) {
|
|
76
|
+
return (jsxRuntime.jsx("div", { "data-slot": "item-header", className: cn.cn("flex basis-full items-center justify-between gap-2", className), ...props }));
|
|
77
|
+
}
|
|
78
|
+
function ItemFooter({ className, ...props }) {
|
|
79
|
+
return (jsxRuntime.jsx("div", { "data-slot": "item-footer", className: cn.cn("flex basis-full items-center justify-between gap-2", className), ...props }));
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
exports.Item = Item;
|
|
83
|
+
exports.ItemActions = ItemActions;
|
|
84
|
+
exports.ItemContent = ItemContent;
|
|
85
|
+
exports.ItemDescription = ItemDescription;
|
|
86
|
+
exports.ItemFooter = ItemFooter;
|
|
87
|
+
exports.ItemGroup = ItemGroup;
|
|
88
|
+
exports.ItemHeader = ItemHeader;
|
|
89
|
+
exports.ItemMedia = ItemMedia;
|
|
90
|
+
exports.ItemSeparator = ItemSeparator;
|
|
91
|
+
exports.ItemTitle = ItemTitle;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var cn = require('cn');
|
|
5
|
+
|
|
6
|
+
function Kbd({ className, ...props }) {
|
|
7
|
+
return (jsxRuntime.jsx("kbd", { "data-slot": "kbd", className: cn.cn("pointer-events-none inline-flex h-5 w-fit min-w-5 items-center justify-center gap-1 rounded-sm bg-muted px-1 font-sans text-xs font-medium text-muted-foreground select-none in-data-[slot=tooltip-content]:bg-background/20 in-data-[slot=tooltip-content]:text-background dark:in-data-[slot=tooltip-content]:bg-background/10 [&_svg:not([class*='size-'])]:size-3", className), ...props }));
|
|
8
|
+
}
|
|
9
|
+
function KbdGroup({ className, ...props }) {
|
|
10
|
+
return (jsxRuntime.jsx("kbd", { "data-slot": "kbd-group", className: cn.cn("inline-flex items-center gap-1", className), ...props }));
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
exports.Kbd = Kbd;
|
|
14
|
+
exports.KbdGroup = KbdGroup;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
+
var cn = require('cn');
|
|
6
|
+
|
|
7
|
+
function Label({ className, ...props }) {
|
|
8
|
+
return (jsxRuntime.jsx("label", { "data-slot": "label", className: cn.cn("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50", className), ...props }));
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
exports.Label = Label;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var mergeProps = require('@base-ui/react/merge-props');
|
|
5
|
+
var useRender = require('@base-ui/react/use-render');
|
|
6
|
+
var classVarianceAuthority = require('class-variance-authority');
|
|
7
|
+
var cn = require('cn');
|
|
8
|
+
|
|
9
|
+
const markerVariants = classVarianceAuthority.cva("group/marker relative flex min-h-4 w-full items-center gap-2 text-left text-sm text-muted-foreground [&_svg:not([class*='size-'])]:size-4 [a]:underline [a]:underline-offset-3 [a]:hover:text-foreground", {
|
|
10
|
+
variants: {
|
|
11
|
+
variant: {
|
|
12
|
+
default: "",
|
|
13
|
+
separator: "before:mr-1 before:h-px before:min-w-0 before:flex-1 before:bg-border after:ml-1 after:h-px after:min-w-0 after:flex-1 after:bg-border",
|
|
14
|
+
border: "border-b border-border pb-2",
|
|
15
|
+
},
|
|
16
|
+
},
|
|
17
|
+
});
|
|
18
|
+
function Marker({ className, variant = "default", render, ...props }) {
|
|
19
|
+
return useRender.useRender({
|
|
20
|
+
defaultTagName: "div",
|
|
21
|
+
props: mergeProps.mergeProps({
|
|
22
|
+
className: cn.cn(markerVariants({ variant, className })),
|
|
23
|
+
}, props),
|
|
24
|
+
render,
|
|
25
|
+
state: {
|
|
26
|
+
slot: "marker",
|
|
27
|
+
variant,
|
|
28
|
+
},
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
function MarkerIcon({ className, ...props }) {
|
|
32
|
+
return (jsxRuntime.jsx("span", { "data-slot": "marker-icon", "aria-hidden": "true", className: cn.cn("size-4 shrink-0 [&_svg:not([class*='size-'])]:size-4", className), ...props }));
|
|
33
|
+
}
|
|
34
|
+
function MarkerContent({ className, ...props }) {
|
|
35
|
+
return (jsxRuntime.jsx("span", { "data-slot": "marker-content", className: cn.cn("min-w-0 wrap-break-word group-data-[variant=separator]/marker:flex-none group-data-[variant=separator]/marker:text-center *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground", className), ...props }));
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
exports.Marker = Marker;
|
|
39
|
+
exports.MarkerContent = MarkerContent;
|
|
40
|
+
exports.MarkerIcon = MarkerIcon;
|
|
41
|
+
exports.markerVariants = markerVariants;
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
+
var menu = require('@base-ui/react/menu');
|
|
6
|
+
var menubar = require('@base-ui/react/menubar');
|
|
7
|
+
var cn = require('cn');
|
|
8
|
+
var dropdownMenu = require('./dropdown-menu.cjs');
|
|
9
|
+
var lucideReact = require('lucide-react');
|
|
10
|
+
|
|
11
|
+
function Menubar({ className, ...props }) {
|
|
12
|
+
return (jsxRuntime.jsx(menubar.Menubar, { "data-slot": "menubar", className: cn.cn("flex h-8 items-center gap-0.5 rounded-lg border p-[3px]", className), ...props }));
|
|
13
|
+
}
|
|
14
|
+
function MenubarMenu({ ...props }) {
|
|
15
|
+
return jsxRuntime.jsx(dropdownMenu.DropdownMenu, { "data-slot": "menubar-menu", ...props });
|
|
16
|
+
}
|
|
17
|
+
function MenubarGroup({ ...props }) {
|
|
18
|
+
return jsxRuntime.jsx(dropdownMenu.DropdownMenuGroup, { "data-slot": "menubar-group", ...props });
|
|
19
|
+
}
|
|
20
|
+
function MenubarPortal({ ...props }) {
|
|
21
|
+
return jsxRuntime.jsx(dropdownMenu.DropdownMenuPortal, { "data-slot": "menubar-portal", ...props });
|
|
22
|
+
}
|
|
23
|
+
function MenubarTrigger({ className, ...props }) {
|
|
24
|
+
return (jsxRuntime.jsx(dropdownMenu.DropdownMenuTrigger, { "data-slot": "menubar-trigger", className: cn.cn("flex items-center rounded-sm px-1.5 py-[2px] text-sm font-medium outline-hidden select-none hover:bg-muted aria-expanded:bg-muted", className), ...props }));
|
|
25
|
+
}
|
|
26
|
+
function MenubarContent({ className, align = "start", alignOffset = -4, sideOffset = 8, ...props }) {
|
|
27
|
+
return (jsxRuntime.jsx(dropdownMenu.DropdownMenuContent, { "data-slot": "menubar-content", align: align, alignOffset: alignOffset, sideOffset: sideOffset, className: cn.cn("min-w-36 rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95", className), ...props }));
|
|
28
|
+
}
|
|
29
|
+
function MenubarItem({ className, inset, variant = "default", ...props }) {
|
|
30
|
+
return (jsxRuntime.jsx(dropdownMenu.DropdownMenuItem, { "data-slot": "menubar-item", "data-inset": inset, "data-variant": variant, className: cn.cn("group/menubar-item gap-1.5 rounded-md px-1.5 py-1 text-sm focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:opacity-50 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive!", className), ...props }));
|
|
31
|
+
}
|
|
32
|
+
function MenubarCheckboxItem({ className, children, checked, inset, ...props }) {
|
|
33
|
+
return (jsxRuntime.jsxs(menu.Menu.CheckboxItem, { "data-slot": "menubar-checkbox-item", "data-inset": inset, className: cn.cn("relative flex cursor-default items-center gap-1.5 rounded-md py-1 pr-1.5 pl-7 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0", className), checked: checked, ...props, children: [jsxRuntime.jsx("span", { className: "pointer-events-none absolute left-1.5 flex size-4 items-center justify-center [&_svg:not([class*='size-'])]:size-4", children: jsxRuntime.jsx(menu.Menu.CheckboxItemIndicator, { children: jsxRuntime.jsx(lucideReact.CheckIcon, {}) }) }), children] }));
|
|
34
|
+
}
|
|
35
|
+
function MenubarRadioGroup({ ...props }) {
|
|
36
|
+
return jsxRuntime.jsx(dropdownMenu.DropdownMenuRadioGroup, { "data-slot": "menubar-radio-group", ...props });
|
|
37
|
+
}
|
|
38
|
+
function MenubarRadioItem({ className, children, inset, ...props }) {
|
|
39
|
+
return (jsxRuntime.jsxs(menu.Menu.RadioItem, { "data-slot": "menubar-radio-item", "data-inset": inset, className: cn.cn("relative flex cursor-default items-center gap-1.5 rounded-md py-1 pr-1.5 pl-7 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className), ...props, children: [jsxRuntime.jsx("span", { className: "pointer-events-none absolute left-1.5 flex size-4 items-center justify-center [&_svg:not([class*='size-'])]:size-4", children: jsxRuntime.jsx(menu.Menu.RadioItemIndicator, { children: jsxRuntime.jsx(lucideReact.CheckIcon, {}) }) }), children] }));
|
|
40
|
+
}
|
|
41
|
+
function MenubarLabel({ className, inset, ...props }) {
|
|
42
|
+
return (jsxRuntime.jsx(dropdownMenu.DropdownMenuLabel, { "data-slot": "menubar-label", "data-inset": inset, className: cn.cn("px-1.5 py-1 text-sm font-medium data-inset:pl-7", className), ...props }));
|
|
43
|
+
}
|
|
44
|
+
function MenubarSeparator({ className, ...props }) {
|
|
45
|
+
return (jsxRuntime.jsx(dropdownMenu.DropdownMenuSeparator, { "data-slot": "menubar-separator", className: cn.cn("-mx-1 my-1 h-px bg-border", className), ...props }));
|
|
46
|
+
}
|
|
47
|
+
function MenubarShortcut({ className, ...props }) {
|
|
48
|
+
return (jsxRuntime.jsx(dropdownMenu.DropdownMenuShortcut, { "data-slot": "menubar-shortcut", className: cn.cn("ml-auto text-xs tracking-widest text-muted-foreground group-focus/menubar-item:text-accent-foreground", className), ...props }));
|
|
49
|
+
}
|
|
50
|
+
function MenubarSub({ ...props }) {
|
|
51
|
+
return jsxRuntime.jsx(dropdownMenu.DropdownMenuSub, { "data-slot": "menubar-sub", ...props });
|
|
52
|
+
}
|
|
53
|
+
function MenubarSubTrigger({ className, inset, ...props }) {
|
|
54
|
+
return (jsxRuntime.jsx(dropdownMenu.DropdownMenuSubTrigger, { "data-slot": "menubar-sub-trigger", "data-inset": inset, className: cn.cn("gap-1.5 rounded-md px-1.5 py-1 text-sm focus:bg-accent focus:text-accent-foreground data-inset:pl-7 data-open:bg-accent data-open:text-accent-foreground [&_svg:not([class*='size-'])]:size-4", className), ...props }));
|
|
55
|
+
}
|
|
56
|
+
function MenubarSubContent({ className, ...props }) {
|
|
57
|
+
return (jsxRuntime.jsx(dropdownMenu.DropdownMenuSubContent, { "data-slot": "menubar-sub-content", className: cn.cn("min-w-32 rounded-lg bg-popover p-1 text-popover-foreground shadow-lg ring-1 ring-foreground/10 duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className), ...props }));
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
exports.Menubar = Menubar;
|
|
61
|
+
exports.MenubarCheckboxItem = MenubarCheckboxItem;
|
|
62
|
+
exports.MenubarContent = MenubarContent;
|
|
63
|
+
exports.MenubarGroup = MenubarGroup;
|
|
64
|
+
exports.MenubarItem = MenubarItem;
|
|
65
|
+
exports.MenubarLabel = MenubarLabel;
|
|
66
|
+
exports.MenubarMenu = MenubarMenu;
|
|
67
|
+
exports.MenubarPortal = MenubarPortal;
|
|
68
|
+
exports.MenubarRadioGroup = MenubarRadioGroup;
|
|
69
|
+
exports.MenubarRadioItem = MenubarRadioItem;
|
|
70
|
+
exports.MenubarSeparator = MenubarSeparator;
|
|
71
|
+
exports.MenubarShortcut = MenubarShortcut;
|
|
72
|
+
exports.MenubarSub = MenubarSub;
|
|
73
|
+
exports.MenubarSubContent = MenubarSubContent;
|
|
74
|
+
exports.MenubarSubTrigger = MenubarSubTrigger;
|
|
75
|
+
exports.MenubarTrigger = MenubarTrigger;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var messageScroller = require('@shadcn/react/message-scroller');
|
|
5
|
+
var cn = require('cn');
|
|
6
|
+
var button = require('./button.cjs');
|
|
7
|
+
var lucideReact = require('lucide-react');
|
|
8
|
+
|
|
9
|
+
function MessageScrollerProvider(props) {
|
|
10
|
+
return jsxRuntime.jsx(messageScroller.MessageScroller.Provider, { ...props });
|
|
11
|
+
}
|
|
12
|
+
function MessageScroller({ className, ...props }) {
|
|
13
|
+
return (jsxRuntime.jsx(messageScroller.MessageScroller.Root, { "data-slot": "message-scroller", className: cn.cn("group/message-scroller relative flex size-full min-h-0 flex-col overflow-hidden", className), ...props }));
|
|
14
|
+
}
|
|
15
|
+
function MessageScrollerViewport({ className, ...props }) {
|
|
16
|
+
return (jsxRuntime.jsx(messageScroller.MessageScroller.Viewport, { "data-slot": "message-scroller-viewport", className: cn.cn("size-full min-h-0 min-w-0 scroll-fade-b scrollbar-thin scrollbar-gutter-stable overflow-y-auto overscroll-contain contain-content data-autoscrolling:scrollbar-thumb-transparent data-autoscrolling:scrollbar-track-transparent data-pending-scroll:invisible", className), ...props }));
|
|
17
|
+
}
|
|
18
|
+
function MessageScrollerContent({ className, ...props }) {
|
|
19
|
+
return (jsxRuntime.jsx(messageScroller.MessageScroller.Content, { "data-slot": "message-scroller-content", className: cn.cn("flex h-max min-h-full flex-col gap-6", className), ...props }));
|
|
20
|
+
}
|
|
21
|
+
function MessageScrollerItem({ className, scrollAnchor = false, ...props }) {
|
|
22
|
+
return (jsxRuntime.jsx(messageScroller.MessageScroller.Item, { "data-slot": "message-scroller-item", scrollAnchor: scrollAnchor, className: cn.cn("min-w-0 shrink-0 [contain-intrinsic-size:auto_10rem] [content-visibility:auto]", className), ...props }));
|
|
23
|
+
}
|
|
24
|
+
function MessageScrollerButton({ direction = "end", className, children, render, variant = "secondary", size = "icon-sm", ...props }) {
|
|
25
|
+
return (jsxRuntime.jsx(messageScroller.MessageScroller.Button, { "data-slot": "message-scroller-button", "data-direction": direction, "data-variant": variant, "data-size": size, direction: direction, className: cn.cn("absolute inset-s-1/2 -translate-x-1/2 border-border bg-background text-foreground transition-[translate,scale,opacity] duration-200 hover:bg-muted hover:text-foreground data-[active=false]:pointer-events-none data-[active=false]:scale-95 data-[active=false]:opacity-0 data-[active=false]:duration-400 data-[active=false]:ease-[cubic-bezier(0.7,0,0.84,0)] data-[active=true]:translate-y-0 data-[active=true]:scale-100 data-[active=true]:opacity-100 data-[active=true]:ease-[cubic-bezier(0.23,1,0.32,1)] data-[direction=end]:bottom-4 data-[direction=end]:data-[active=false]:translate-y-full data-[direction=start]:top-4 data-[direction=start]:data-[active=false]:-translate-y-full rtl:translate-x-1/2 data-[direction=start]:[&_svg]:rotate-180", className), render: render ?? jsxRuntime.jsx(button.Button, { variant: variant, size: size }), ...props, children: children ?? (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(lucideReact.ArrowDownIcon, {}), jsxRuntime.jsx("span", { className: "sr-only", children: direction === "end" ? "Scroll to end" : "Scroll to start" })] })) }));
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
Object.defineProperty(exports, "useMessageScroller", {
|
|
29
|
+
enumerable: true,
|
|
30
|
+
get: function () { return messageScroller.useMessageScroller; }
|
|
31
|
+
});
|
|
32
|
+
Object.defineProperty(exports, "useMessageScrollerScrollable", {
|
|
33
|
+
enumerable: true,
|
|
34
|
+
get: function () { return messageScroller.useMessageScrollerScrollable; }
|
|
35
|
+
});
|
|
36
|
+
Object.defineProperty(exports, "useMessageScrollerVisibility", {
|
|
37
|
+
enumerable: true,
|
|
38
|
+
get: function () { return messageScroller.useMessageScrollerVisibility; }
|
|
39
|
+
});
|
|
40
|
+
exports.MessageScroller = MessageScroller;
|
|
41
|
+
exports.MessageScrollerButton = MessageScrollerButton;
|
|
42
|
+
exports.MessageScrollerContent = MessageScrollerContent;
|
|
43
|
+
exports.MessageScrollerItem = MessageScrollerItem;
|
|
44
|
+
exports.MessageScrollerProvider = MessageScrollerProvider;
|
|
45
|
+
exports.MessageScrollerViewport = MessageScrollerViewport;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var cn = require('cn');
|
|
5
|
+
|
|
6
|
+
function MessageGroup({ className, ...props }) {
|
|
7
|
+
return (jsxRuntime.jsx("div", { "data-slot": "message-group", className: cn.cn("flex min-w-0 flex-col gap-2", className), ...props }));
|
|
8
|
+
}
|
|
9
|
+
function Message({ className, align = "start", ...props }) {
|
|
10
|
+
return (jsxRuntime.jsx("div", { "data-slot": "message", "data-align": align, className: cn.cn("group/message relative flex w-full min-w-0 gap-2 text-sm data-[align=end]:flex-row-reverse", className), ...props }));
|
|
11
|
+
}
|
|
12
|
+
function MessageAvatar({ className, ...props }) {
|
|
13
|
+
return (jsxRuntime.jsx("div", { "data-slot": "message-avatar", className: cn.cn("flex w-fit min-w-8 shrink-0 items-center justify-center self-end overflow-hidden rounded-full bg-muted group-has-data-[slot=message-footer]/message:-translate-y-8", className), ...props }));
|
|
14
|
+
}
|
|
15
|
+
function MessageContent({ className, ...props }) {
|
|
16
|
+
return (jsxRuntime.jsx("div", { "data-slot": "message-content", className: cn.cn("flex w-full min-w-0 flex-col gap-2.5 wrap-break-word group-data-[align=end]/message:*:data-slot:self-end", className), ...props }));
|
|
17
|
+
}
|
|
18
|
+
function MessageHeader({ className, ...props }) {
|
|
19
|
+
return (jsxRuntime.jsx("div", { "data-slot": "message-header", className: cn.cn("flex max-w-full min-w-0 items-center px-3 text-xs font-medium text-muted-foreground group-has-data-[variant=ghost]/message:px-0", className), ...props }));
|
|
20
|
+
}
|
|
21
|
+
function MessageFooter({ className, ...props }) {
|
|
22
|
+
return (jsxRuntime.jsx("div", { "data-slot": "message-footer", className: cn.cn("flex max-w-full min-w-0 items-center px-3 text-xs font-medium text-muted-foreground group-has-data-[variant=ghost]/message:px-0 group-data-[align=end]/message:justify-end", className), ...props }));
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
exports.Message = Message;
|
|
26
|
+
exports.MessageAvatar = MessageAvatar;
|
|
27
|
+
exports.MessageContent = MessageContent;
|
|
28
|
+
exports.MessageFooter = MessageFooter;
|
|
29
|
+
exports.MessageGroup = MessageGroup;
|
|
30
|
+
exports.MessageHeader = MessageHeader;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var cn = require('cn');
|
|
5
|
+
var lucideReact = require('lucide-react');
|
|
6
|
+
|
|
7
|
+
function NativeSelect({ className, size = "default", ...props }) {
|
|
8
|
+
return (jsxRuntime.jsxs("div", { className: cn.cn("group/native-select relative w-fit has-[select:disabled]:opacity-50", className), "data-slot": "native-select-wrapper", "data-size": size, children: [jsxRuntime.jsx("select", { "data-slot": "native-select", "data-size": size, className: "h-8 w-full min-w-0 appearance-none rounded-lg border border-input bg-transparent py-1 pr-8 pl-2.5 text-sm transition-colors outline-none select-none selection:bg-primary selection:text-primary-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-[size=sm]:h-7 data-[size=sm]:rounded-[min(var(--radius-md),10px)] data-[size=sm]:py-0.5 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40", ...props }), jsxRuntime.jsx(lucideReact.ChevronDownIcon, { className: "pointer-events-none absolute top-1/2 right-2.5 size-4 -translate-y-1/2 text-muted-foreground select-none", "aria-hidden": "true", "data-slot": "native-select-icon" })] }));
|
|
9
|
+
}
|
|
10
|
+
function NativeSelectOption({ className, ...props }) {
|
|
11
|
+
return (jsxRuntime.jsx("option", { "data-slot": "native-select-option", className: cn.cn("bg-[Canvas] text-[CanvasText]", className), ...props }));
|
|
12
|
+
}
|
|
13
|
+
function NativeSelectOptGroup({ className, ...props }) {
|
|
14
|
+
return (jsxRuntime.jsx("optgroup", { "data-slot": "native-select-optgroup", className: cn.cn("bg-[Canvas] text-[CanvasText]", className), ...props }));
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
exports.NativeSelect = NativeSelect;
|
|
18
|
+
exports.NativeSelectOptGroup = NativeSelectOptGroup;
|
|
19
|
+
exports.NativeSelectOption = NativeSelectOption;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var navigationMenu = require('@base-ui/react/navigation-menu');
|
|
5
|
+
var classVarianceAuthority = require('class-variance-authority');
|
|
6
|
+
var cn = require('cn');
|
|
7
|
+
var lucideReact = require('lucide-react');
|
|
8
|
+
|
|
9
|
+
function NavigationMenu({ align = "start", className, children, ...props }) {
|
|
10
|
+
return (jsxRuntime.jsxs(navigationMenu.NavigationMenu.Root, { "data-slot": "navigation-menu", className: cn.cn("group/navigation-menu relative flex max-w-max flex-1 items-center justify-center", className), ...props, children: [children, jsxRuntime.jsx(NavigationMenuPositioner, { align: align })] }));
|
|
11
|
+
}
|
|
12
|
+
function NavigationMenuList({ className, ...props }) {
|
|
13
|
+
return (jsxRuntime.jsx(navigationMenu.NavigationMenu.List, { "data-slot": "navigation-menu-list", className: cn.cn("group flex flex-1 list-none items-center justify-center gap-0", className), ...props }));
|
|
14
|
+
}
|
|
15
|
+
function NavigationMenuItem({ className, ...props }) {
|
|
16
|
+
return (jsxRuntime.jsx(navigationMenu.NavigationMenu.Item, { "data-slot": "navigation-menu-item", className: cn.cn("relative", className), ...props }));
|
|
17
|
+
}
|
|
18
|
+
const navigationMenuTriggerStyle = classVarianceAuthority.cva("group/navigation-menu-trigger inline-flex h-9 w-max items-center justify-center rounded-lg px-2.5 py-1.5 text-sm font-medium transition-all outline-none hover:bg-muted focus:bg-muted focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-popup-open:bg-muted/50 data-popup-open:hover:bg-muted data-open:bg-muted/50 data-open:hover:bg-muted data-open:focus:bg-muted");
|
|
19
|
+
function NavigationMenuTrigger({ className, children, ...props }) {
|
|
20
|
+
return (jsxRuntime.jsxs(navigationMenu.NavigationMenu.Trigger, { "data-slot": "navigation-menu-trigger", className: cn.cn(navigationMenuTriggerStyle(), "group", className), ...props, children: [children, " ", jsxRuntime.jsx(lucideReact.ChevronDownIcon, { className: "relative top-px ml-1 size-3 transition duration-300 group-data-popup-open/navigation-menu-trigger:rotate-180 group-data-open/navigation-menu-trigger:rotate-180", "aria-hidden": "true" })] }));
|
|
21
|
+
}
|
|
22
|
+
function NavigationMenuContent({ className, ...props }) {
|
|
23
|
+
return (jsxRuntime.jsx(navigationMenu.NavigationMenu.Content, { "data-slot": "navigation-menu-content", className: cn.cn("data-ending-style:data-activation-direction=left:translate-x-[50%] data-ending-style:data-activation-direction=right:translate-x-[-50%] data-starting-style:data-activation-direction=left:translate-x-[-50%] data-starting-style:data-activation-direction=right:translate-x-[50%] h-full w-auto p-1 transition-[opacity,transform,translate] duration-[0.35s] ease-[cubic-bezier(0.22,1,0.36,1)] group-data-[viewport=false]/navigation-menu:rounded-lg group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground group-data-[viewport=false]/navigation-menu:shadow group-data-[viewport=false]/navigation-menu:ring-1 group-data-[viewport=false]/navigation-menu:ring-foreground/10 group-data-[viewport=false]/navigation-menu:duration-300 data-ending-style:opacity-0 data-starting-style:opacity-0 data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 data-[motion^=from-]:animate-in data-[motion^=from-]:fade-in data-[motion^=to-]:animate-out data-[motion^=to-]:fade-out **:data-[slot=navigation-menu-link]:focus:ring-0 **:data-[slot=navigation-menu-link]:focus:outline-none group-data-[viewport=false]/navigation-menu:data-open:animate-in group-data-[viewport=false]/navigation-menu:data-open:fade-in-0 group-data-[viewport=false]/navigation-menu:data-open:zoom-in-95 group-data-[viewport=false]/navigation-menu:data-closed:animate-out group-data-[viewport=false]/navigation-menu:data-closed:fade-out-0 group-data-[viewport=false]/navigation-menu:data-closed:zoom-out-95", className), ...props }));
|
|
24
|
+
}
|
|
25
|
+
function NavigationMenuPositioner({ className, side = "bottom", sideOffset = 8, align = "start", alignOffset = 0, ...props }) {
|
|
26
|
+
return (jsxRuntime.jsx(navigationMenu.NavigationMenu.Portal, { children: jsxRuntime.jsx(navigationMenu.NavigationMenu.Positioner, { side: side, sideOffset: sideOffset, align: align, alignOffset: alignOffset, className: cn.cn("isolate z-50 h-(--positioner-height) w-(--positioner-width) max-w-(--available-width) transition-[top,left,right,bottom] duration-[0.35s] ease-[cubic-bezier(0.22,1,0.36,1)] data-instant:transition-none data-[side=bottom]:before:top-[-10px] data-[side=bottom]:before:right-0 data-[side=bottom]:before:left-0", className), ...props, children: jsxRuntime.jsx(navigationMenu.NavigationMenu.Popup, { className: "data-[ending-style]:easing-[ease] xs:w-(--popup-width) relative h-(--popup-height) w-(--popup-width) origin-(--transform-origin) rounded-lg bg-popover text-popover-foreground shadow ring-1 ring-foreground/10 transition-[opacity,transform,width,height,scale,translate] duration-[0.35s] ease-[cubic-bezier(0.22,1,0.36,1)] outline-none data-ending-style:scale-90 data-ending-style:opacity-0 data-ending-style:duration-150 data-starting-style:scale-90 data-starting-style:opacity-0", children: jsxRuntime.jsx(navigationMenu.NavigationMenu.Viewport, { className: "relative size-full overflow-hidden" }) }) }) }));
|
|
27
|
+
}
|
|
28
|
+
function NavigationMenuLink({ className, ...props }) {
|
|
29
|
+
return (jsxRuntime.jsx(navigationMenu.NavigationMenu.Link, { "data-slot": "navigation-menu-link", className: cn.cn("flex items-center gap-2 rounded-lg p-2 text-sm transition-all outline-none hover:bg-muted focus:bg-muted focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:outline-1 in-data-[slot=navigation-menu-content]:rounded-md data-active:bg-muted/50 data-active:hover:bg-muted data-active:focus:bg-muted [&_svg:not([class*='size-'])]:size-4", className), ...props }));
|
|
30
|
+
}
|
|
31
|
+
function NavigationMenuIndicator({ className, ...props }) {
|
|
32
|
+
return (jsxRuntime.jsx(navigationMenu.NavigationMenu.Icon, { "data-slot": "navigation-menu-indicator", className: cn.cn("top-full z-1 flex h-1.5 items-end justify-center overflow-hidden data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:animate-in data-[state=visible]:fade-in", className), ...props, children: jsxRuntime.jsx("div", { className: "relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md" }) }));
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
exports.NavigationMenu = NavigationMenu;
|
|
36
|
+
exports.NavigationMenuContent = NavigationMenuContent;
|
|
37
|
+
exports.NavigationMenuIndicator = NavigationMenuIndicator;
|
|
38
|
+
exports.NavigationMenuItem = NavigationMenuItem;
|
|
39
|
+
exports.NavigationMenuLink = NavigationMenuLink;
|
|
40
|
+
exports.NavigationMenuList = NavigationMenuList;
|
|
41
|
+
exports.NavigationMenuPositioner = NavigationMenuPositioner;
|
|
42
|
+
exports.NavigationMenuTrigger = NavigationMenuTrigger;
|
|
43
|
+
exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var cn = require('cn');
|
|
5
|
+
var button = require('./button.cjs');
|
|
6
|
+
var lucideReact = require('lucide-react');
|
|
7
|
+
|
|
8
|
+
function Pagination({ className, ...props }) {
|
|
9
|
+
return (jsxRuntime.jsx("nav", { role: "navigation", "aria-label": "pagination", "data-slot": "pagination", className: cn.cn("mx-auto flex w-full justify-center", className), ...props }));
|
|
10
|
+
}
|
|
11
|
+
function PaginationContent({ className, ...props }) {
|
|
12
|
+
return (jsxRuntime.jsx("ul", { "data-slot": "pagination-content", className: cn.cn("flex items-center gap-0.5", className), ...props }));
|
|
13
|
+
}
|
|
14
|
+
function PaginationItem({ ...props }) {
|
|
15
|
+
return jsxRuntime.jsx("li", { "data-slot": "pagination-item", ...props });
|
|
16
|
+
}
|
|
17
|
+
function PaginationLink({ className, isActive, size = "icon", ...props }) {
|
|
18
|
+
return (jsxRuntime.jsx(button.Button, { variant: isActive ? "outline" : "ghost", size: size, className: cn.cn(className), nativeButton: false, render: jsxRuntime.jsx("a", { "aria-current": isActive ? "page" : undefined, "data-slot": "pagination-link", "data-active": isActive, ...props }) }));
|
|
19
|
+
}
|
|
20
|
+
function PaginationPrevious({ className, text = "Previous", ...props }) {
|
|
21
|
+
return (jsxRuntime.jsxs(PaginationLink, { "aria-label": "Go to previous page", size: "default", className: cn.cn("pl-1.5!", className), ...props, children: [jsxRuntime.jsx(lucideReact.ChevronLeftIcon, { "data-icon": "inline-start" }), jsxRuntime.jsx("span", { className: "hidden sm:block", children: text })] }));
|
|
22
|
+
}
|
|
23
|
+
function PaginationNext({ className, text = "Next", ...props }) {
|
|
24
|
+
return (jsxRuntime.jsxs(PaginationLink, { "aria-label": "Go to next page", size: "default", className: cn.cn("pr-1.5!", className), ...props, children: [jsxRuntime.jsx("span", { className: "hidden sm:block", children: text }), jsxRuntime.jsx(lucideReact.ChevronRightIcon, { "data-icon": "inline-end" })] }));
|
|
25
|
+
}
|
|
26
|
+
function PaginationEllipsis({ className, ...props }) {
|
|
27
|
+
return (jsxRuntime.jsxs("span", { "aria-hidden": true, "data-slot": "pagination-ellipsis", className: cn.cn("flex size-8 items-center justify-center [&_svg:not([class*='size-'])]:size-4", className), ...props, children: [jsxRuntime.jsx(lucideReact.MoreHorizontalIcon, {}), jsxRuntime.jsx("span", { className: "sr-only", children: "More pages" })] }));
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
exports.Pagination = Pagination;
|
|
31
|
+
exports.PaginationContent = PaginationContent;
|
|
32
|
+
exports.PaginationEllipsis = PaginationEllipsis;
|
|
33
|
+
exports.PaginationItem = PaginationItem;
|
|
34
|
+
exports.PaginationLink = PaginationLink;
|
|
35
|
+
exports.PaginationNext = PaginationNext;
|
|
36
|
+
exports.PaginationPrevious = PaginationPrevious;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var popover = require('@base-ui/react/popover');
|
|
5
|
+
var cn = require('cn');
|
|
6
|
+
|
|
7
|
+
function Popover({ ...props }) {
|
|
8
|
+
return jsxRuntime.jsx(popover.Popover.Root, { "data-slot": "popover", ...props });
|
|
9
|
+
}
|
|
10
|
+
function PopoverTrigger({ ...props }) {
|
|
11
|
+
return jsxRuntime.jsx(popover.Popover.Trigger, { "data-slot": "popover-trigger", ...props });
|
|
12
|
+
}
|
|
13
|
+
function PopoverContent({ className, align = "center", alignOffset = 0, side = "bottom", sideOffset = 4, ...props }) {
|
|
14
|
+
return (jsxRuntime.jsx(popover.Popover.Portal, { children: jsxRuntime.jsx(popover.Popover.Positioner, { align: align, alignOffset: alignOffset, side: side, sideOffset: sideOffset, className: "isolate z-50", children: jsxRuntime.jsx(popover.Popover.Popup, { "data-slot": "popover-content", className: cn.cn("z-50 flex w-72 origin-(--transform-origin) flex-col gap-2.5 rounded-lg bg-popover p-2.5 text-sm text-popover-foreground shadow-md ring-1 ring-foreground/10 outline-hidden duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className), ...props }) }) }));
|
|
15
|
+
}
|
|
16
|
+
function PopoverHeader({ className, ...props }) {
|
|
17
|
+
return (jsxRuntime.jsx("div", { "data-slot": "popover-header", className: cn.cn("flex flex-col gap-0.5 text-sm", className), ...props }));
|
|
18
|
+
}
|
|
19
|
+
function PopoverTitle({ className, ...props }) {
|
|
20
|
+
return (jsxRuntime.jsx(popover.Popover.Title, { "data-slot": "popover-title", className: cn.cn("font-medium", className), ...props }));
|
|
21
|
+
}
|
|
22
|
+
function PopoverDescription({ className, ...props }) {
|
|
23
|
+
return (jsxRuntime.jsx(popover.Popover.Description, { "data-slot": "popover-description", className: cn.cn("text-muted-foreground", className), ...props }));
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
exports.Popover = Popover;
|
|
27
|
+
exports.PopoverContent = PopoverContent;
|
|
28
|
+
exports.PopoverDescription = PopoverDescription;
|
|
29
|
+
exports.PopoverHeader = PopoverHeader;
|
|
30
|
+
exports.PopoverTitle = PopoverTitle;
|
|
31
|
+
exports.PopoverTrigger = PopoverTrigger;
|