tembro 4.2.0 → 5.0.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/CHANGELOG.md +34 -0
- package/dist/components/patterns/index.d.ts +0 -8
- package/dist/components/patterns/public.d.ts +0 -8
- package/dist/components/ui/hover-card/index.cjs +1 -0
- package/dist/components/ui/hover-card/index.d.ts +11 -0
- package/dist/components/ui/hover-card/index.js +1 -0
- package/dist/components/ui/menubar/index.cjs +1 -0
- package/dist/components/ui/menubar/index.d.ts +42 -0
- package/dist/components/ui/menubar/index.js +1 -0
- package/dist/components/ui/navigation-menu/index.cjs +1 -0
- package/dist/components/ui/navigation-menu/index.d.ts +20 -0
- package/dist/components/ui/navigation-menu/index.js +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/src/components/patterns/index.cjs +1 -1
- package/dist/src/components/patterns/index.js +2 -10
- package/dist/src/components/patterns/public.cjs +1 -1
- package/dist/src/components/patterns/public.js +2 -10
- package/dist/src/components/ui/hover-card/index.cjs +1 -0
- package/dist/src/components/ui/hover-card/index.js +50 -0
- package/dist/src/components/ui/menubar/index.cjs +1 -0
- package/dist/src/components/ui/menubar/index.js +132 -0
- package/dist/src/components/ui/navigation-menu/index.cjs +1 -0
- package/dist/src/components/ui/navigation-menu/index.js +73 -0
- package/dist/src/components/ui/popover/index.cjs +1 -1
- package/dist/src/components/ui/popover/index.js +1 -1
- package/dist/src/index.cjs +1 -1
- package/dist/src/index.js +25 -29
- package/dist/src/public-component-surface.cjs +1 -1
- package/dist/src/public-component-surface.js +16 -42
- package/package.json +1 -1
- package/packages/cli/dist/index.cjs +100 -100
- package/packages/cli/vendor/src/components/patterns/index.ts +0 -8
- package/packages/cli/vendor/src/components/patterns/public.ts +0 -8
- package/packages/cli/vendor/src/components/ui/hover-card/index.tsx +72 -0
- package/packages/cli/vendor/src/components/ui/menubar/index.tsx +140 -0
- package/packages/cli/vendor/src/components/ui/navigation-menu/index.tsx +100 -0
- package/packages/cli/vendor/src/components/ui/popover/index.tsx +1 -1
- package/packages/cli/vendor/src/index.ts +6 -2
- package/packages/cli/vendor/src/public-component-surface.ts +4 -10
- package/packages/cli/vendor/templates/showcase/src/showcase/data/registry.ts +10 -10
- package/packages/cli/vendor/templates/showcase/src/showcase/layout/HeroSection.tsx +2 -2
- package/packages/cli/vendor/templates/showcase/src/showcase/layout/WorkbenchSidebar.tsx +1 -1
- package/registry.json +2124 -258
- package/dist/components/patterns/bulk-action-bar.cjs +0 -1
- package/dist/components/patterns/bulk-action-bar.d.ts +0 -10
- package/dist/components/patterns/bulk-action-bar.js +0 -1
- package/dist/components/patterns/data-view.cjs +0 -1
- package/dist/components/patterns/data-view.d.ts +0 -17
- package/dist/components/patterns/data-view.js +0 -1
- package/dist/components/patterns/detail-layout.cjs +0 -1
- package/dist/components/patterns/detail-layout.d.ts +0 -16
- package/dist/components/patterns/detail-layout.js +0 -1
- package/dist/components/patterns/form-builder.cjs +0 -1
- package/dist/components/patterns/form-builder.d.ts +0 -110
- package/dist/components/patterns/form-builder.js +0 -1
- package/dist/components/patterns/page-toolbar.cjs +0 -1
- package/dist/components/patterns/page-toolbar.d.ts +0 -11
- package/dist/components/patterns/page-toolbar.js +0 -1
- package/dist/components/patterns/resource-detail-page.cjs +0 -1
- package/dist/components/patterns/resource-detail-page.d.ts +0 -39
- package/dist/components/patterns/resource-detail-page.js +0 -1
- package/dist/components/patterns/resource-page.cjs +0 -1
- package/dist/components/patterns/resource-page.d.ts +0 -30
- package/dist/components/patterns/resource-page.js +0 -1
- package/dist/components/patterns/settings-page.cjs +0 -1
- package/dist/components/patterns/settings-page.d.ts +0 -21
- package/dist/components/patterns/settings-page.js +0 -1
- package/dist/src/components/patterns/bulk-action-bar.cjs +0 -1
- package/dist/src/components/patterns/bulk-action-bar.js +0 -34
- package/dist/src/components/patterns/data-view.cjs +0 -1
- package/dist/src/components/patterns/data-view.js +0 -47
- package/dist/src/components/patterns/detail-layout.cjs +0 -1
- package/dist/src/components/patterns/detail-layout.js +0 -65
- package/dist/src/components/patterns/form-builder.cjs +0 -1
- package/dist/src/components/patterns/form-builder.js +0 -263
- package/dist/src/components/patterns/page-toolbar.cjs +0 -1
- package/dist/src/components/patterns/page-toolbar.js +0 -41
- package/dist/src/components/patterns/resource-detail-page.cjs +0 -1
- package/dist/src/components/patterns/resource-detail-page.js +0 -100
- package/dist/src/components/patterns/resource-page.cjs +0 -1
- package/dist/src/components/patterns/resource-page.js +0 -88
- package/dist/src/components/patterns/settings-page.cjs +0 -1
- package/dist/src/components/patterns/settings-page.js +0 -64
- package/packages/cli/vendor/src/components/patterns/bulk-action-bar.tsx +0 -53
- package/packages/cli/vendor/src/components/patterns/data-view.tsx +0 -64
- package/packages/cli/vendor/src/components/patterns/detail-layout.tsx +0 -75
- package/packages/cli/vendor/src/components/patterns/form-builder.tsx +0 -472
- package/packages/cli/vendor/src/components/patterns/page-toolbar.tsx +0 -61
- package/packages/cli/vendor/src/components/patterns/resource-detail-page.tsx +0 -164
- package/packages/cli/vendor/src/components/patterns/resource-page.tsx +0 -149
- package/packages/cli/vendor/src/components/patterns/settings-page.tsx +0 -84
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,40 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## 5.0.0 - 2026-07-18
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
- Added `HoverCard`, `Menubar`, and `NavigationMenu` as real source-copy primitives backed by Base UI.
|
|
10
|
+
|
|
11
|
+
### Removed
|
|
12
|
+
|
|
13
|
+
- Removed composed page/pattern components from the package code and registry: `form-builder`, `page-toolbar`, `bulk-action-bar`, `detail-layout`, `settings-page`, `data-view`, `resource-page`, and `resource-detail-page`.
|
|
14
|
+
- Removed related root exports, CLI registry entries, docs surface entries, and source-copy vendor files for those pattern components.
|
|
15
|
+
|
|
16
|
+
### Changed
|
|
17
|
+
|
|
18
|
+
- Kept `empty-state` as the only `patterns` component because it is still a reusable primitive-level surface.
|
|
19
|
+
|
|
20
|
+
## 4.2.1 - 2026-07-18
|
|
21
|
+
|
|
22
|
+
### Changed
|
|
23
|
+
|
|
24
|
+
- Hardened `PopoverContent` with default surface background, border, text color and shadow so combobox and dropdown panels do not blend into content behind them.
|
|
25
|
+
- Republished the expanded 4.2 component surface with the popover layering fix included in CLI source-copy assets.
|
|
26
|
+
|
|
27
|
+
## 4.2.0 - 2026-07-18
|
|
28
|
+
|
|
29
|
+
### Added
|
|
30
|
+
|
|
31
|
+
- Added source-copy `Combobox` with grouped options, search, clear controls, controlled/uncontrolled state, custom renderers and custom filtering.
|
|
32
|
+
- Promoted common primitives to the documented public surface: `textarea`, `combobox`, `async-select`, `switch`, `radio-group`, `dropdown-menu`, `popover`, `tooltip`, `pagination`, `toast`, `notification-center` and `breadcrumbs`.
|
|
33
|
+
- Added chat demo snippets and registry/showcase coverage for newly promoted components.
|
|
34
|
+
|
|
35
|
+
### Changed
|
|
36
|
+
|
|
37
|
+
- Moved composed page-pattern surfaces such as `resource-page`, `settings-page`, `data-view`, `detail-layout`, `page-toolbar`, `bulk-action-bar` and `form-builder` out of the primary install surface so the component set focuses on reusable primitives.
|
|
38
|
+
|
|
5
39
|
## 4.1.0 - 2026-07-17
|
|
6
40
|
|
|
7
41
|
### Added
|
|
@@ -1,9 +1 @@
|
|
|
1
|
-
export * from './form-builder';
|
|
2
|
-
export * from './resource-page';
|
|
3
|
-
export * from './resource-detail-page';
|
|
4
1
|
export * from "./empty-state";
|
|
5
|
-
export * from "./page-toolbar";
|
|
6
|
-
export * from "./bulk-action-bar";
|
|
7
|
-
export * from "./detail-layout";
|
|
8
|
-
export * from "./settings-page";
|
|
9
|
-
export * from "./data-view";
|
|
@@ -1,9 +1 @@
|
|
|
1
|
-
export * from "./form-builder";
|
|
2
|
-
export * from "./resource-page";
|
|
3
|
-
export * from "./resource-detail-page";
|
|
4
1
|
export * from "./empty-state";
|
|
5
|
-
export * from "./page-toolbar";
|
|
6
|
-
export * from "./bulk-action-bar";
|
|
7
|
-
export * from "./detail-layout";
|
|
8
|
-
export * from "./settings-page";
|
|
9
|
-
export * from "./data-view";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require("../../../src/components/ui/hover-card/index.cjs")
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { PreviewCard as PreviewCardPrimitive } from "@base-ui/react/preview-card";
|
|
3
|
+
export type HoverCardProps = PreviewCardPrimitive.Root.Props;
|
|
4
|
+
export type HoverCardTriggerProps = PreviewCardPrimitive.Trigger.Props;
|
|
5
|
+
export type HoverCardContentProps = PreviewCardPrimitive.Popup.Props & Pick<PreviewCardPrimitive.Positioner.Props, "align" | "alignOffset" | "collisionBoundary" | "collisionPadding" | "side" | "sideOffset">;
|
|
6
|
+
export type HoverCardArrowProps = PreviewCardPrimitive.Arrow.Props;
|
|
7
|
+
declare function HoverCard({ ...props }: HoverCardProps): React.JSX.Element;
|
|
8
|
+
declare function HoverCardTrigger({ ...props }: HoverCardTriggerProps): React.JSX.Element;
|
|
9
|
+
declare function HoverCardContent({ className, align, alignOffset, collisionPadding, side, sideOffset, ...props }: HoverCardContentProps): React.JSX.Element;
|
|
10
|
+
declare function HoverCardArrow({ className, ...props }: HoverCardArrowProps): React.JSX.Element;
|
|
11
|
+
export { HoverCard, HoverCardArrow, HoverCardContent, HoverCardTrigger };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "../../../src/components/ui/hover-card/index.js"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require("../../../src/components/ui/menubar/index.cjs")
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { Menubar as MenubarPrimitive } from "@base-ui/react/menubar";
|
|
3
|
+
import { Menu as MenuPrimitive } from "@base-ui/react/menu";
|
|
4
|
+
export type MenubarProps = MenubarPrimitive.Props;
|
|
5
|
+
export type MenubarMenuProps = MenuPrimitive.Root.Props;
|
|
6
|
+
export type MenubarTriggerProps = MenuPrimitive.Trigger.Props;
|
|
7
|
+
export type MenubarContentProps = MenuPrimitive.Popup.Props & Pick<MenuPrimitive.Positioner.Props, "align" | "alignOffset" | "side" | "sideOffset">;
|
|
8
|
+
export type MenubarItemProps = MenuPrimitive.Item.Props & {
|
|
9
|
+
inset?: boolean;
|
|
10
|
+
variant?: "default" | "destructive";
|
|
11
|
+
};
|
|
12
|
+
export type MenubarCheckboxItemProps = MenuPrimitive.CheckboxItem.Props & {
|
|
13
|
+
inset?: boolean;
|
|
14
|
+
};
|
|
15
|
+
export type MenubarRadioGroupProps = MenuPrimitive.RadioGroup.Props;
|
|
16
|
+
export type MenubarRadioItemProps = MenuPrimitive.RadioItem.Props & {
|
|
17
|
+
inset?: boolean;
|
|
18
|
+
};
|
|
19
|
+
export type MenubarSubProps = MenuPrimitive.SubmenuRoot.Props;
|
|
20
|
+
export type MenubarSubTriggerProps = MenuPrimitive.SubmenuTrigger.Props & {
|
|
21
|
+
inset?: boolean;
|
|
22
|
+
};
|
|
23
|
+
export type MenubarSeparatorProps = MenuPrimitive.Separator.Props;
|
|
24
|
+
export type MenubarLabelProps = React.ComponentProps<"div"> & {
|
|
25
|
+
inset?: boolean;
|
|
26
|
+
};
|
|
27
|
+
export type MenubarShortcutProps = React.ComponentProps<"span">;
|
|
28
|
+
declare function Menubar({ className, ...props }: MenubarProps): React.JSX.Element;
|
|
29
|
+
declare function MenubarMenu({ ...props }: MenubarMenuProps): React.JSX.Element;
|
|
30
|
+
declare function MenubarTrigger({ className, ...props }: MenubarTriggerProps): React.JSX.Element;
|
|
31
|
+
declare function MenubarContent({ className, align, alignOffset, side, sideOffset, ...props }: MenubarContentProps): React.JSX.Element;
|
|
32
|
+
declare function MenubarItem({ className, inset, variant, ...props }: MenubarItemProps): React.JSX.Element;
|
|
33
|
+
declare function MenubarCheckboxItem({ className, children, checked, inset, ...props }: MenubarCheckboxItemProps): React.JSX.Element;
|
|
34
|
+
declare function MenubarRadioGroup({ ...props }: MenubarRadioGroupProps): React.JSX.Element;
|
|
35
|
+
declare function MenubarRadioItem({ className, children, inset, ...props }: MenubarRadioItemProps): React.JSX.Element;
|
|
36
|
+
declare function MenubarSub({ ...props }: MenubarSubProps): React.JSX.Element;
|
|
37
|
+
declare function MenubarSubTrigger({ className, children, inset, ...props }: MenubarSubTriggerProps): React.JSX.Element;
|
|
38
|
+
declare function MenubarSubContent(props: MenubarContentProps): React.JSX.Element;
|
|
39
|
+
declare function MenubarSeparator({ className, ...props }: MenubarSeparatorProps): React.JSX.Element;
|
|
40
|
+
declare function MenubarLabel({ className, inset, ...props }: MenubarLabelProps): React.JSX.Element;
|
|
41
|
+
declare function MenubarShortcut({ className, ...props }: MenubarShortcutProps): React.JSX.Element;
|
|
42
|
+
export { Menubar, MenubarCheckboxItem, MenubarContent, MenubarItem, MenubarLabel, MenubarMenu, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "../../../src/components/ui/menubar/index.js"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require("../../../src/components/ui/navigation-menu/index.cjs")
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { NavigationMenu as NavigationMenuPrimitive } from "@base-ui/react/navigation-menu";
|
|
2
|
+
export type NavigationMenuProps = NavigationMenuPrimitive.Root.Props;
|
|
3
|
+
export type NavigationMenuListProps = NavigationMenuPrimitive.List.Props;
|
|
4
|
+
export type NavigationMenuItemProps = NavigationMenuPrimitive.Item.Props;
|
|
5
|
+
export type NavigationMenuTriggerProps = NavigationMenuPrimitive.Trigger.Props;
|
|
6
|
+
export type NavigationMenuContentProps = NavigationMenuPrimitive.Content.Props;
|
|
7
|
+
export type NavigationMenuLinkProps = NavigationMenuPrimitive.Link.Props;
|
|
8
|
+
export type NavigationMenuViewportProps = NavigationMenuPrimitive.Viewport.Props;
|
|
9
|
+
export type NavigationMenuPositionerProps = NavigationMenuPrimitive.Positioner.Props;
|
|
10
|
+
export type NavigationMenuArrowProps = NavigationMenuPrimitive.Arrow.Props;
|
|
11
|
+
declare function NavigationMenu({ className, ...props }: NavigationMenuProps): import("react").JSX.Element;
|
|
12
|
+
declare function NavigationMenuList({ className, ...props }: NavigationMenuListProps): import("react").JSX.Element;
|
|
13
|
+
declare function NavigationMenuItem({ className, ...props }: NavigationMenuItemProps): import("react").JSX.Element;
|
|
14
|
+
declare function NavigationMenuTrigger({ className, children, ...props }: NavigationMenuTriggerProps): import("react").JSX.Element;
|
|
15
|
+
declare function NavigationMenuContent({ className, ...props }: NavigationMenuContentProps): import("react").JSX.Element;
|
|
16
|
+
declare function NavigationMenuLink({ className, ...props }: NavigationMenuLinkProps): import("react").JSX.Element;
|
|
17
|
+
declare function NavigationMenuPositioner({ className, sideOffset, ...props }: NavigationMenuPositionerProps): import("react").JSX.Element;
|
|
18
|
+
declare function NavigationMenuViewport({ className, ...props }: NavigationMenuViewportProps): import("react").JSX.Element;
|
|
19
|
+
declare function NavigationMenuArrow({ className, ...props }: NavigationMenuArrowProps): import("react").JSX.Element;
|
|
20
|
+
export { NavigationMenu, NavigationMenuArrow, NavigationMenuContent, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuPositioner, NavigationMenuTrigger, NavigationMenuViewport, };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "../../../src/components/ui/navigation-menu/index.js"
|
package/dist/index.d.ts
CHANGED
|
@@ -9,10 +9,14 @@ export * from './components/ui/tabs';
|
|
|
9
9
|
export * from './components/ui/dialog';
|
|
10
10
|
export * from './components/ui/dropdown-menu';
|
|
11
11
|
export * from './components/ui/popover';
|
|
12
|
+
export * from './components/ui/hover-card';
|
|
13
|
+
export * from './components/ui/menubar';
|
|
14
|
+
export * from './components/ui/navigation-menu';
|
|
12
15
|
export * from './components/ui/select';
|
|
13
16
|
export * from './components/ui/table';
|
|
14
17
|
export * from './components/ui/accordion';
|
|
15
18
|
export * from './components/ui/collapse';
|
|
19
|
+
export * from './components/ui/command';
|
|
16
20
|
export * from './components/ui/skeleton';
|
|
17
21
|
export * from './components/ui/divider';
|
|
18
22
|
export * from './components/ui/segmented-control';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./empty-state.cjs");exports.EmptyState=e.EmptyState,exports.ErrorState=e.ErrorState;
|
|
@@ -1,10 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
import { PageToolbar as r } from "./page-toolbar.js";
|
|
4
|
-
import { DataView as i } from "./data-view.js";
|
|
5
|
-
import { DetailLayout as a } from "./detail-layout.js";
|
|
6
|
-
import { FormBuilder as o, asyncSelectField as s, customField as c, dateField as l, dateRangeField as u, formSection as d, inputField as f, numberField as p, phoneField as m, renderFormBuilderField as h, selectField as g, switchField as _, textareaField as v } from "./form-builder.js";
|
|
7
|
-
import { ResourcePage as y, ResourcePageSection as b } from "./resource-page.js";
|
|
8
|
-
import { ResourceDetailPage as x } from "./resource-detail-page.js";
|
|
9
|
-
import { SettingsPage as S } from "./settings-page.js";
|
|
10
|
-
export { e as BulkActionBar, i as DataView, a as DetailLayout, t as EmptyState, n as ErrorState, o as FormBuilder, r as PageToolbar, x as ResourceDetailPage, y as ResourcePage, b as ResourcePageSection, S as SettingsPage, s as asyncSelectField, c as customField, l as dateField, u as dateRangeField, d as formSection, f as inputField, p as numberField, m as phoneField, h as renderFormBuilderField, g as selectField, _ as switchField, v as textareaField };
|
|
1
|
+
import { EmptyState as e, ErrorState as t } from "./empty-state.js";
|
|
2
|
+
export { e as EmptyState, t as ErrorState };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./empty-state.cjs");exports.EmptyState=e.EmptyState,exports.ErrorState=e.ErrorState;
|
|
@@ -1,10 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
import { PageToolbar as r } from "./page-toolbar.js";
|
|
4
|
-
import { DataView as i } from "./data-view.js";
|
|
5
|
-
import { DetailLayout as a } from "./detail-layout.js";
|
|
6
|
-
import { FormBuilder as o, asyncSelectField as s, customField as c, dateField as l, dateRangeField as u, formSection as d, inputField as f, numberField as p, phoneField as m, renderFormBuilderField as h, selectField as g, switchField as _, textareaField as v } from "./form-builder.js";
|
|
7
|
-
import { ResourcePage as y, ResourcePageSection as b } from "./resource-page.js";
|
|
8
|
-
import { ResourceDetailPage as x } from "./resource-detail-page.js";
|
|
9
|
-
import { SettingsPage as S } from "./settings-page.js";
|
|
10
|
-
export { e as BulkActionBar, i as DataView, a as DetailLayout, t as EmptyState, n as ErrorState, o as FormBuilder, r as PageToolbar, x as ResourceDetailPage, y as ResourcePage, b as ResourcePageSection, S as SettingsPage, s as asyncSelectField, c as customField, l as dateField, u as dateRangeField, d as formSection, f as inputField, p as numberField, m as phoneField, h as renderFormBuilderField, g as selectField, _ as switchField, v as textareaField };
|
|
1
|
+
import { EmptyState as e, ErrorState as t } from "./empty-state.js";
|
|
2
|
+
export { e as EmptyState, t as ErrorState };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../lib/utils.cjs");let n=require("react");n=e.__toESM(n,1);let r=require("react/jsx-runtime"),i=require("@base-ui/react/preview-card");function a({...e}){return(0,r.jsx)(i.PreviewCard.Root,{"data-slot":`hover-card`,...e})}function o({...e}){if(!(`render`in e)&&n.isValidElement(e.children)){let{children:t,...n}=e;return(0,r.jsx)(i.PreviewCard.Trigger,{"data-slot":`hover-card-trigger`,render:t,...n})}return(0,r.jsx)(i.PreviewCard.Trigger,{"data-slot":`hover-card-trigger`,...e})}function s({className:e,align:n=`center`,alignOffset:a=0,collisionPadding:o=12,side:s=`bottom`,sideOffset:c=8,...l}){return(0,r.jsx)(i.PreviewCard.Portal,{children:(0,r.jsx)(i.PreviewCard.Positioner,{align:n,alignOffset:a,collisionPadding:o,side:s,sideOffset:c,className:`isolate z-50 outline-none`,children:(0,r.jsx)(i.PreviewCard.Popup,{"data-slot":`hover-card-content`,className:t.cn(`z-50 grid max-h-[min(var(--available-height),calc(100dvh-1rem))] w-80 max-w-[calc(100vw-1rem)] origin-(--transform-origin) gap-3 overflow-y-auto rounded-[var(--radius-lg)] border border-border bg-popover p-4 text-popover-foreground shadow-lg outline-none 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`,e),...l})})})}function c({className:e,...n}){return(0,r.jsx)(i.PreviewCard.Arrow,{"data-slot":`hover-card-arrow`,className:t.cn(`z-50 flex size-3 rotate-45 border border-border bg-popover`,e),...n})}exports.HoverCard=a,exports.HoverCardArrow=c,exports.HoverCardContent=s,exports.HoverCardTrigger=o;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { cn as e } from "../../../lib/utils.js";
|
|
3
|
+
import * as t from "react";
|
|
4
|
+
import { jsx as n } from "react/jsx-runtime";
|
|
5
|
+
import { PreviewCard as r } from "@base-ui/react/preview-card";
|
|
6
|
+
//#region src/components/ui/hover-card/index.tsx
|
|
7
|
+
function i({ ...e }) {
|
|
8
|
+
return /* @__PURE__ */ n(r.Root, {
|
|
9
|
+
"data-slot": "hover-card",
|
|
10
|
+
...e
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
function a({ ...e }) {
|
|
14
|
+
if (!("render" in e) && t.isValidElement(e.children)) {
|
|
15
|
+
let { children: t, ...i } = e;
|
|
16
|
+
return /* @__PURE__ */ n(r.Trigger, {
|
|
17
|
+
"data-slot": "hover-card-trigger",
|
|
18
|
+
render: t,
|
|
19
|
+
...i
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
return /* @__PURE__ */ n(r.Trigger, {
|
|
23
|
+
"data-slot": "hover-card-trigger",
|
|
24
|
+
...e
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
function o({ className: t, align: i = "center", alignOffset: a = 0, collisionPadding: o = 12, side: s = "bottom", sideOffset: c = 8, ...l }) {
|
|
28
|
+
return /* @__PURE__ */ n(r.Portal, { children: /* @__PURE__ */ n(r.Positioner, {
|
|
29
|
+
align: i,
|
|
30
|
+
alignOffset: a,
|
|
31
|
+
collisionPadding: o,
|
|
32
|
+
side: s,
|
|
33
|
+
sideOffset: c,
|
|
34
|
+
className: "isolate z-50 outline-none",
|
|
35
|
+
children: /* @__PURE__ */ n(r.Popup, {
|
|
36
|
+
"data-slot": "hover-card-content",
|
|
37
|
+
className: e("z-50 grid max-h-[min(var(--available-height),calc(100dvh-1rem))] w-80 max-w-[calc(100vw-1rem)] origin-(--transform-origin) gap-3 overflow-y-auto rounded-[var(--radius-lg)] border border-border bg-popover p-4 text-popover-foreground shadow-lg outline-none 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", t),
|
|
38
|
+
...l
|
|
39
|
+
})
|
|
40
|
+
}) });
|
|
41
|
+
}
|
|
42
|
+
function s({ className: t, ...i }) {
|
|
43
|
+
return /* @__PURE__ */ n(r.Arrow, {
|
|
44
|
+
"data-slot": "hover-card-arrow",
|
|
45
|
+
className: e("z-50 flex size-3 rotate-45 border border-border bg-popover", t),
|
|
46
|
+
...i
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
//#endregion
|
|
50
|
+
export { i as HoverCard, s as HoverCardArrow, o as HoverCardContent, a as HoverCardTrigger };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../lib/utils.cjs");let n=require("react");n=e.__toESM(n,1);let r=require("lucide-react"),i=require("react/jsx-runtime"),a=require("@base-ui/react/menu"),o=require("@base-ui/react/menubar");var s=`relative flex min-h-8 cursor-default select-none items-center gap-2 rounded-[var(--radius-md)] px-2.5 py-1.5 text-sm outline-none transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset=true]:pl-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus-visible:bg-destructive/10 data-[variant=destructive]:hover:bg-destructive/10`;function c({className:e,...n}){return(0,i.jsx)(o.Menubar,{"data-slot":`menubar`,className:t.cn(`flex h-10 items-center gap-1 rounded-[var(--radius-lg)] border border-border bg-card p-1 text-card-foreground shadow-sm`,e),...n})}function l({...e}){return(0,i.jsx)(a.Menu.Root,{"data-slot":`menubar-menu`,...e})}function u({className:e,...n}){return(0,i.jsx)(a.Menu.Trigger,{"data-slot":`menubar-trigger`,className:t.cn(`inline-flex h-8 items-center justify-center rounded-[var(--radius-md)] px-3 text-sm font-medium outline-none transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground data-[popup-open]:bg-accent data-[popup-open]:text-accent-foreground disabled:pointer-events-none disabled:opacity-50`,e),...n})}function d({className:e,align:n=`start`,alignOffset:r=0,side:o=`bottom`,sideOffset:s=6,...c}){return(0,i.jsx)(a.Menu.Portal,{children:(0,i.jsx)(a.Menu.Positioner,{align:n,alignOffset:r,side:o,sideOffset:s,className:`isolate z-50 outline-none`,children:(0,i.jsx)(a.Menu.Popup,{"data-slot":`menubar-content`,className:t.cn(`z-50 min-w-48 origin-(--transform-origin) overflow-hidden rounded-[var(--radius-lg)] border border-border bg-popover p-1 text-popover-foreground shadow-lg outline-none duration-100 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`,e),...c})})})}function f({className:e,inset:n,variant:r=`default`,...o}){return(0,i.jsx)(a.Menu.Item,{"data-slot":`menubar-item`,"data-inset":n||void 0,"data-variant":r,className:t.cn(s,e),...o})}function p({className:e,children:n,checked:o,inset:c,...l}){return(0,i.jsxs)(a.Menu.CheckboxItem,{"data-slot":`menubar-checkbox-item`,"data-inset":c||void 0,className:t.cn(s,`pl-8`,e),checked:o,...l,children:[(0,i.jsx)(`span`,{className:`absolute left-2 inline-flex size-4 items-center justify-center`,children:(0,i.jsx)(a.Menu.CheckboxItemIndicator,{children:(0,i.jsx)(r.CheckIcon,{className:`size-4`})})}),n]})}function m({...e}){return(0,i.jsx)(a.Menu.RadioGroup,{"data-slot":`menubar-radio-group`,...e})}function h({className:e,children:n,inset:o,...c}){return(0,i.jsxs)(a.Menu.RadioItem,{"data-slot":`menubar-radio-item`,"data-inset":o||void 0,className:t.cn(s,`pl-8`,e),...c,children:[(0,i.jsx)(`span`,{className:`absolute left-2 inline-flex size-4 items-center justify-center`,children:(0,i.jsx)(a.Menu.RadioItemIndicator,{children:(0,i.jsx)(r.CheckIcon,{className:`size-4`})})}),n]})}function g({...e}){return(0,i.jsx)(a.Menu.SubmenuRoot,{"data-slot":`menubar-sub`,...e})}function _({className:e,children:n,inset:o,...c}){return(0,i.jsxs)(a.Menu.SubmenuTrigger,{"data-slot":`menubar-sub-trigger`,"data-inset":o||void 0,className:t.cn(s,e),...c,children:[n,(0,i.jsx)(r.ChevronRightIcon,{className:`ml-auto size-4`})]})}function v(e){return(0,i.jsx)(d,{"data-slot":`menubar-sub-content`,side:`right`,align:`start`,alignOffset:-4,sideOffset:0,...e})}function y({className:e,...n}){return(0,i.jsx)(a.Menu.Separator,{"data-slot":`menubar-separator`,className:t.cn(`-mx-1 my-1 h-px bg-border`,e),...n})}function b({className:e,inset:n,...r}){return(0,i.jsx)(`div`,{"data-slot":`menubar-label`,"data-inset":n||void 0,className:t.cn(`px-2.5 py-1.5 text-xs font-semibold text-muted-foreground data-[inset=true]:pl-8`,e),...r})}function x({className:e,...n}){return(0,i.jsx)(`span`,{"data-slot":`menubar-shortcut`,className:t.cn(`ml-auto text-xs tracking-widest text-muted-foreground`,e),...n})}exports.Menubar=c,exports.MenubarCheckboxItem=p,exports.MenubarContent=d,exports.MenubarItem=f,exports.MenubarLabel=b,exports.MenubarMenu=l,exports.MenubarRadioGroup=m,exports.MenubarRadioItem=h,exports.MenubarSeparator=y,exports.MenubarShortcut=x,exports.MenubarSub=g,exports.MenubarSubContent=v,exports.MenubarSubTrigger=_,exports.MenubarTrigger=u;
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { cn as e } from "../../../lib/utils.js";
|
|
3
|
+
import "react";
|
|
4
|
+
import { CheckIcon as t, ChevronRightIcon as n } from "lucide-react";
|
|
5
|
+
import { jsx as r, jsxs as i } from "react/jsx-runtime";
|
|
6
|
+
import { Menu as a } from "@base-ui/react/menu";
|
|
7
|
+
import { Menubar as o } from "@base-ui/react/menubar";
|
|
8
|
+
//#region src/components/ui/menubar/index.tsx
|
|
9
|
+
var s = "relative flex min-h-8 cursor-default select-none items-center gap-2 rounded-[var(--radius-md)] px-2.5 py-1.5 text-sm outline-none transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset=true]:pl-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus-visible:bg-destructive/10 data-[variant=destructive]:hover:bg-destructive/10";
|
|
10
|
+
function c({ className: t, ...n }) {
|
|
11
|
+
return /* @__PURE__ */ r(o, {
|
|
12
|
+
"data-slot": "menubar",
|
|
13
|
+
className: e("flex h-10 items-center gap-1 rounded-[var(--radius-lg)] border border-border bg-card p-1 text-card-foreground shadow-sm", t),
|
|
14
|
+
...n
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
function l({ ...e }) {
|
|
18
|
+
return /* @__PURE__ */ r(a.Root, {
|
|
19
|
+
"data-slot": "menubar-menu",
|
|
20
|
+
...e
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
function u({ className: t, ...n }) {
|
|
24
|
+
return /* @__PURE__ */ r(a.Trigger, {
|
|
25
|
+
"data-slot": "menubar-trigger",
|
|
26
|
+
className: e("inline-flex h-8 items-center justify-center rounded-[var(--radius-md)] px-3 text-sm font-medium outline-none transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground data-[popup-open]:bg-accent data-[popup-open]:text-accent-foreground disabled:pointer-events-none disabled:opacity-50", t),
|
|
27
|
+
...n
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
function d({ className: t, align: n = "start", alignOffset: i = 0, side: o = "bottom", sideOffset: s = 6, ...c }) {
|
|
31
|
+
return /* @__PURE__ */ r(a.Portal, { children: /* @__PURE__ */ r(a.Positioner, {
|
|
32
|
+
align: n,
|
|
33
|
+
alignOffset: i,
|
|
34
|
+
side: o,
|
|
35
|
+
sideOffset: s,
|
|
36
|
+
className: "isolate z-50 outline-none",
|
|
37
|
+
children: /* @__PURE__ */ r(a.Popup, {
|
|
38
|
+
"data-slot": "menubar-content",
|
|
39
|
+
className: e("z-50 min-w-48 origin-(--transform-origin) overflow-hidden rounded-[var(--radius-lg)] border border-border bg-popover p-1 text-popover-foreground shadow-lg outline-none duration-100 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", t),
|
|
40
|
+
...c
|
|
41
|
+
})
|
|
42
|
+
}) });
|
|
43
|
+
}
|
|
44
|
+
function f({ className: t, inset: n, variant: i = "default", ...o }) {
|
|
45
|
+
return /* @__PURE__ */ r(a.Item, {
|
|
46
|
+
"data-slot": "menubar-item",
|
|
47
|
+
"data-inset": n || void 0,
|
|
48
|
+
"data-variant": i,
|
|
49
|
+
className: e(s, t),
|
|
50
|
+
...o
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
function p({ className: n, children: o, checked: c, inset: l, ...u }) {
|
|
54
|
+
return /* @__PURE__ */ i(a.CheckboxItem, {
|
|
55
|
+
"data-slot": "menubar-checkbox-item",
|
|
56
|
+
"data-inset": l || void 0,
|
|
57
|
+
className: e(s, "pl-8", n),
|
|
58
|
+
checked: c,
|
|
59
|
+
...u,
|
|
60
|
+
children: [/* @__PURE__ */ r("span", {
|
|
61
|
+
className: "absolute left-2 inline-flex size-4 items-center justify-center",
|
|
62
|
+
children: /* @__PURE__ */ r(a.CheckboxItemIndicator, { children: /* @__PURE__ */ r(t, { className: "size-4" }) })
|
|
63
|
+
}), o]
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
function m({ ...e }) {
|
|
67
|
+
return /* @__PURE__ */ r(a.RadioGroup, {
|
|
68
|
+
"data-slot": "menubar-radio-group",
|
|
69
|
+
...e
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
function h({ className: n, children: o, inset: c, ...l }) {
|
|
73
|
+
return /* @__PURE__ */ i(a.RadioItem, {
|
|
74
|
+
"data-slot": "menubar-radio-item",
|
|
75
|
+
"data-inset": c || void 0,
|
|
76
|
+
className: e(s, "pl-8", n),
|
|
77
|
+
...l,
|
|
78
|
+
children: [/* @__PURE__ */ r("span", {
|
|
79
|
+
className: "absolute left-2 inline-flex size-4 items-center justify-center",
|
|
80
|
+
children: /* @__PURE__ */ r(a.RadioItemIndicator, { children: /* @__PURE__ */ r(t, { className: "size-4" }) })
|
|
81
|
+
}), o]
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
function g({ ...e }) {
|
|
85
|
+
return /* @__PURE__ */ r(a.SubmenuRoot, {
|
|
86
|
+
"data-slot": "menubar-sub",
|
|
87
|
+
...e
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
function _({ className: t, children: o, inset: c, ...l }) {
|
|
91
|
+
return /* @__PURE__ */ i(a.SubmenuTrigger, {
|
|
92
|
+
"data-slot": "menubar-sub-trigger",
|
|
93
|
+
"data-inset": c || void 0,
|
|
94
|
+
className: e(s, t),
|
|
95
|
+
...l,
|
|
96
|
+
children: [o, /* @__PURE__ */ r(n, { className: "ml-auto size-4" })]
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
function v(e) {
|
|
100
|
+
return /* @__PURE__ */ r(d, {
|
|
101
|
+
"data-slot": "menubar-sub-content",
|
|
102
|
+
side: "right",
|
|
103
|
+
align: "start",
|
|
104
|
+
alignOffset: -4,
|
|
105
|
+
sideOffset: 0,
|
|
106
|
+
...e
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
function y({ className: t, ...n }) {
|
|
110
|
+
return /* @__PURE__ */ r(a.Separator, {
|
|
111
|
+
"data-slot": "menubar-separator",
|
|
112
|
+
className: e("-mx-1 my-1 h-px bg-border", t),
|
|
113
|
+
...n
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
function b({ className: t, inset: n, ...i }) {
|
|
117
|
+
return /* @__PURE__ */ r("div", {
|
|
118
|
+
"data-slot": "menubar-label",
|
|
119
|
+
"data-inset": n || void 0,
|
|
120
|
+
className: e("px-2.5 py-1.5 text-xs font-semibold text-muted-foreground data-[inset=true]:pl-8", t),
|
|
121
|
+
...i
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
function x({ className: t, ...n }) {
|
|
125
|
+
return /* @__PURE__ */ r("span", {
|
|
126
|
+
"data-slot": "menubar-shortcut",
|
|
127
|
+
className: e("ml-auto text-xs tracking-widest text-muted-foreground", t),
|
|
128
|
+
...n
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
//#endregion
|
|
132
|
+
export { c as Menubar, p as MenubarCheckboxItem, d as MenubarContent, f as MenubarItem, b as MenubarLabel, l as MenubarMenu, m as MenubarRadioGroup, h as MenubarRadioItem, y as MenubarSeparator, x as MenubarShortcut, g as MenubarSub, v as MenubarSubContent, _ as MenubarSubTrigger, u as MenubarTrigger };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../lib/utils.cjs");let t=require("lucide-react"),n=require("react/jsx-runtime"),r=require("@base-ui/react/navigation-menu");function i({className:t,...i}){return(0,n.jsx)(r.NavigationMenu.Root,{"data-slot":`navigation-menu`,className:e.cn(`relative z-10 flex max-w-max flex-1 items-center justify-center`,t),...i})}function a({className:t,...i}){return(0,n.jsx)(r.NavigationMenu.List,{"data-slot":`navigation-menu-list`,className:e.cn(`flex flex-1 list-none items-center justify-center gap-1`,t),...i})}function o({className:t,...i}){return(0,n.jsx)(r.NavigationMenu.Item,{"data-slot":`navigation-menu-item`,className:e.cn(`relative`,t),...i})}function s({className:i,children:a,...o}){return(0,n.jsxs)(r.NavigationMenu.Trigger,{"data-slot":`navigation-menu-trigger`,className:e.cn(`group inline-flex h-10 items-center justify-center gap-1 rounded-[var(--radius-md)] px-4 py-2 text-sm font-medium outline-none transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground data-[popup-open]:bg-accent data-[popup-open]:text-accent-foreground disabled:pointer-events-none disabled:opacity-50`,i),...o,children:[a,(0,n.jsx)(t.ChevronDownIcon,{className:`size-4 shrink-0 transition-transform duration-200 group-data-[popup-open]:rotate-180`})]})}function c({className:t,...i}){return(0,n.jsx)(r.NavigationMenu.Content,{"data-slot":`navigation-menu-content`,className:e.cn(`left-0 top-0 w-full p-4 md:absolute md:w-auto`,t),...i})}function l({className:t,...i}){return(0,n.jsx)(r.NavigationMenu.Link,{"data-slot":`navigation-menu-link`,className:e.cn(`block select-none rounded-[var(--radius-md)] p-3 text-sm leading-none no-underline outline-none transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground data-[active]:bg-accent data-[active]:text-accent-foreground`,t),...i})}function u({className:t,sideOffset:i=8,...a}){return(0,n.jsx)(r.NavigationMenu.Portal,{children:(0,n.jsx)(r.NavigationMenu.Positioner,{"data-slot":`navigation-menu-positioner`,sideOffset:i,className:e.cn(`isolate z-50 flex justify-center`,t),...a})})}function d({className:t,...i}){return(0,n.jsx)(r.NavigationMenu.Viewport,{"data-slot":`navigation-menu-viewport`,className:e.cn(`relative h-(--height) w-full min-w-80 origin-(--transform-origin) overflow-hidden rounded-[var(--radius-lg)] border border-border bg-popover text-popover-foreground shadow-lg duration-100 md:w-(--width) 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`,t),...i})}function f({className:t,...i}){return(0,n.jsx)(r.NavigationMenu.Arrow,{"data-slot":`navigation-menu-arrow`,className:e.cn(`z-50 flex size-3 rotate-45 border border-border bg-popover`,t),...i})}exports.NavigationMenu=i,exports.NavigationMenuArrow=f,exports.NavigationMenuContent=c,exports.NavigationMenuItem=o,exports.NavigationMenuLink=l,exports.NavigationMenuList=a,exports.NavigationMenuPositioner=u,exports.NavigationMenuTrigger=s,exports.NavigationMenuViewport=d;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { cn as e } from "../../../lib/utils.js";
|
|
3
|
+
import { ChevronDownIcon as t } from "lucide-react";
|
|
4
|
+
import { jsx as n, jsxs as r } from "react/jsx-runtime";
|
|
5
|
+
import { NavigationMenu as i } from "@base-ui/react/navigation-menu";
|
|
6
|
+
//#region src/components/ui/navigation-menu/index.tsx
|
|
7
|
+
function a({ className: t, ...r }) {
|
|
8
|
+
return /* @__PURE__ */ n(i.Root, {
|
|
9
|
+
"data-slot": "navigation-menu",
|
|
10
|
+
className: e("relative z-10 flex max-w-max flex-1 items-center justify-center", t),
|
|
11
|
+
...r
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
function o({ className: t, ...r }) {
|
|
15
|
+
return /* @__PURE__ */ n(i.List, {
|
|
16
|
+
"data-slot": "navigation-menu-list",
|
|
17
|
+
className: e("flex flex-1 list-none items-center justify-center gap-1", t),
|
|
18
|
+
...r
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
function s({ className: t, ...r }) {
|
|
22
|
+
return /* @__PURE__ */ n(i.Item, {
|
|
23
|
+
"data-slot": "navigation-menu-item",
|
|
24
|
+
className: e("relative", t),
|
|
25
|
+
...r
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
function c({ className: a, children: o, ...s }) {
|
|
29
|
+
return /* @__PURE__ */ r(i.Trigger, {
|
|
30
|
+
"data-slot": "navigation-menu-trigger",
|
|
31
|
+
className: e("group inline-flex h-10 items-center justify-center gap-1 rounded-[var(--radius-md)] px-4 py-2 text-sm font-medium outline-none transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground data-[popup-open]:bg-accent data-[popup-open]:text-accent-foreground disabled:pointer-events-none disabled:opacity-50", a),
|
|
32
|
+
...s,
|
|
33
|
+
children: [o, /* @__PURE__ */ n(t, { className: "size-4 shrink-0 transition-transform duration-200 group-data-[popup-open]:rotate-180" })]
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
function l({ className: t, ...r }) {
|
|
37
|
+
return /* @__PURE__ */ n(i.Content, {
|
|
38
|
+
"data-slot": "navigation-menu-content",
|
|
39
|
+
className: e("left-0 top-0 w-full p-4 md:absolute md:w-auto", t),
|
|
40
|
+
...r
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
function u({ className: t, ...r }) {
|
|
44
|
+
return /* @__PURE__ */ n(i.Link, {
|
|
45
|
+
"data-slot": "navigation-menu-link",
|
|
46
|
+
className: e("block select-none rounded-[var(--radius-md)] p-3 text-sm leading-none no-underline outline-none transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground data-[active]:bg-accent data-[active]:text-accent-foreground", t),
|
|
47
|
+
...r
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
function d({ className: t, sideOffset: r = 8, ...a }) {
|
|
51
|
+
return /* @__PURE__ */ n(i.Portal, { children: /* @__PURE__ */ n(i.Positioner, {
|
|
52
|
+
"data-slot": "navigation-menu-positioner",
|
|
53
|
+
sideOffset: r,
|
|
54
|
+
className: e("isolate z-50 flex justify-center", t),
|
|
55
|
+
...a
|
|
56
|
+
}) });
|
|
57
|
+
}
|
|
58
|
+
function f({ className: t, ...r }) {
|
|
59
|
+
return /* @__PURE__ */ n(i.Viewport, {
|
|
60
|
+
"data-slot": "navigation-menu-viewport",
|
|
61
|
+
className: e("relative h-(--height) w-full min-w-80 origin-(--transform-origin) overflow-hidden rounded-[var(--radius-lg)] border border-border bg-popover text-popover-foreground shadow-lg duration-100 md:w-(--width) 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", t),
|
|
62
|
+
...r
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
function p({ className: t, ...r }) {
|
|
66
|
+
return /* @__PURE__ */ n(i.Arrow, {
|
|
67
|
+
"data-slot": "navigation-menu-arrow",
|
|
68
|
+
className: e("z-50 flex size-3 rotate-45 border border-border bg-popover", t),
|
|
69
|
+
...r
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
//#endregion
|
|
73
|
+
export { a as NavigationMenu, p as NavigationMenuArrow, l as NavigationMenuContent, s as NavigationMenuItem, u as NavigationMenuLink, o as NavigationMenuList, d as NavigationMenuPositioner, c as NavigationMenuTrigger, f as NavigationMenuViewport };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../lib/utils.cjs");let n=require("react");n=e.__toESM(n,1);let r=require("react/jsx-runtime"),i=require("@base-ui/react/popover");function a({...e}){return(0,r.jsx)(i.Popover.Root,{"data-slot":`popover`,...e})}function o({...e}){return(0,r.jsx)(i.Popover.Trigger,{"data-slot":`popover-trigger`,...e})}function s({className:e,align:n=`center`,alignOffset:a=0,collisionPadding:o=12,side:s=`bottom`,sideOffset:c=4,...l}){return(0,r.jsx)(i.Popover.Portal,{children:(0,r.jsx)(i.Popover.Positioner,{align:n,alignOffset:a,collisionPadding:o,side:s,sideOffset:c,className:`isolate z-50`,children:(0,r.jsx)(i.Popover.Popup,{"data-slot":`popover-content`,className:t.cn(`z-50 flex max-h-[min(var(--available-height),calc(100dvh-1rem))] w-[min(var(--anchor-width),20rem)] min-w-60 max-w-[calc(100vw-1rem)] origin-(--transform-origin) flex-col gap-3 overflow-y-auto 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`,e),...l})})})}function c({className:e,...t}){return(0,r.jsx)(`div`,{"data-slot":`popover-header`,className:e,...t})}function l({className:e,...t}){return(0,r.jsx)(i.Popover.Title,{"data-slot":`popover-title`,className:e,...t})}function u({className:e,...t}){return(0,r.jsx)(i.Popover.Description,{"data-slot":`popover-description`,className:e,...t})}exports.Popover=a,exports.PopoverContent=s,exports.PopoverDescription=u,exports.PopoverHeader=c,exports.PopoverTitle=l,exports.PopoverTrigger=o;
|
|
1
|
+
"use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../lib/utils.cjs");let n=require("react");n=e.__toESM(n,1);let r=require("react/jsx-runtime"),i=require("@base-ui/react/popover");function a({...e}){return(0,r.jsx)(i.Popover.Root,{"data-slot":`popover`,...e})}function o({...e}){return(0,r.jsx)(i.Popover.Trigger,{"data-slot":`popover-trigger`,...e})}function s({className:e,align:n=`center`,alignOffset:a=0,collisionPadding:o=12,side:s=`bottom`,sideOffset:c=4,...l}){return(0,r.jsx)(i.Popover.Portal,{children:(0,r.jsx)(i.Popover.Positioner,{align:n,alignOffset:a,collisionPadding:o,side:s,sideOffset:c,className:`isolate z-50`,children:(0,r.jsx)(i.Popover.Popup,{"data-slot":`popover-content`,className:t.cn(`z-50 flex max-h-[min(var(--available-height),calc(100dvh-1rem))] w-[min(var(--anchor-width),20rem)] min-w-60 max-w-[calc(100vw-1rem)] origin-(--transform-origin) flex-col gap-3 overflow-y-auto rounded-[var(--radius-lg)] border border-border bg-popover text-popover-foreground shadow-lg 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`,e),...l})})})}function c({className:e,...t}){return(0,r.jsx)(`div`,{"data-slot":`popover-header`,className:e,...t})}function l({className:e,...t}){return(0,r.jsx)(i.Popover.Title,{"data-slot":`popover-title`,className:e,...t})}function u({className:e,...t}){return(0,r.jsx)(i.Popover.Description,{"data-slot":`popover-description`,className:e,...t})}exports.Popover=a,exports.PopoverContent=s,exports.PopoverDescription=u,exports.PopoverHeader=c,exports.PopoverTitle=l,exports.PopoverTrigger=o;
|
|
@@ -26,7 +26,7 @@ function a({ className: r, align: i = "center", alignOffset: a = 0, collisionPad
|
|
|
26
26
|
className: "isolate z-50",
|
|
27
27
|
children: /* @__PURE__ */ t(n.Popup, {
|
|
28
28
|
"data-slot": "popover-content",
|
|
29
|
-
className: e("z-50 flex max-h-[min(var(--available-height),calc(100dvh-1rem))] w-[min(var(--anchor-width),20rem)] min-w-60 max-w-[calc(100vw-1rem)] origin-(--transform-origin) flex-col gap-3 overflow-y-auto 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", r),
|
|
29
|
+
className: e("z-50 flex max-h-[min(var(--available-height),calc(100dvh-1rem))] w-[min(var(--anchor-width),20rem)] min-w-60 max-w-[calc(100vw-1rem)] origin-(--transform-origin) flex-col gap-3 overflow-y-auto rounded-[var(--radius-lg)] border border-border bg-popover text-popover-foreground shadow-lg 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", r),
|
|
30
30
|
...l
|
|
31
31
|
})
|
|
32
32
|
}) });
|