tembro 4.2.1 → 6.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 +29 -0
- package/dist/components/charts/progress-circle.d.ts +12 -3
- package/dist/components/data-table/data-table.d.ts +2 -2
- package/dist/components/feedback/index.d.ts +0 -2
- package/dist/components/layout/section.d.ts +1 -8
- 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/components/ui/number-field/index.cjs +1 -0
- package/dist/components/ui/number-field/index.d.ts +18 -0
- package/dist/components/ui/number-field/index.js +1 -0
- package/dist/components/ui/toggle-group/index.cjs +1 -0
- package/dist/components/ui/toggle-group/index.d.ts +13 -0
- package/dist/components/ui/toggle-group/index.js +1 -0
- package/dist/components/ui/toolbar/index.cjs +1 -0
- package/dist/components/ui/toolbar/index.d.ts +14 -0
- package/dist/components/ui/toolbar/index.js +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/src/components/charts/progress-circle.cjs +1 -1
- package/dist/src/components/charts/progress-circle.js +57 -3
- package/dist/src/components/data-table/data-table.cjs +1 -1
- package/dist/src/components/data-table/data-table.js +102 -100
- package/dist/src/components/feedback/index.cjs +1 -1
- package/dist/src/components/feedback/index.js +2 -4
- package/dist/src/components/layout/index.cjs +1 -1
- package/dist/src/components/layout/index.js +3 -3
- package/dist/src/components/layout/public.cjs +1 -1
- package/dist/src/components/layout/public.js +3 -3
- package/dist/src/components/layout/section.cjs +1 -1
- package/dist/src/components/layout/section.js +2 -26
- 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/number-field/index.cjs +1 -0
- package/dist/src/components/ui/number-field/index.js +73 -0
- package/dist/src/components/ui/toggle-group/index.cjs +1 -0
- package/dist/src/components/ui/toggle-group/index.js +32 -0
- package/dist/src/components/ui/toolbar/index.cjs +1 -0
- package/dist/src/components/ui/toolbar/index.js +50 -0
- package/dist/src/index.cjs +1 -1
- package/dist/src/index.js +92 -95
- package/dist/src/public-component-surface.cjs +1 -1
- package/dist/src/public-component-surface.js +31 -42
- package/package.json +1 -1
- package/packages/cli/dist/index.cjs +112 -112
- package/packages/cli/vendor/src/components/charts/progress-circle.tsx +78 -3
- package/packages/cli/vendor/src/components/data-table/data-table.tsx +4 -4
- package/packages/cli/vendor/src/components/feedback/index.ts +0 -2
- package/packages/cli/vendor/src/components/layout/section.tsx +1 -28
- 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/number-field/index.tsx +89 -0
- package/packages/cli/vendor/src/components/ui/toggle-group/index.tsx +72 -0
- package/packages/cli/vendor/src/components/ui/toolbar/index.tsx +67 -0
- package/packages/cli/vendor/src/index.ts +12 -5
- package/packages/cli/vendor/src/public-component-surface.ts +7 -10
- package/packages/cli/vendor/templates/showcase/src/showcase/data/registry.ts +14 -12
- 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/packages/cli/vendor/templates/showcase/src/showcase/sections/ComponentLivePreview.tsx +2 -2
- package/packages/cli/vendor/templates/showcase/src/showcase/sections/FormsSection.tsx +2 -2
- package/packages/cli/vendor/templates/styles/globals.css +5 -5
- package/registry.json +2630 -233
- package/dist/components/charts/progress-ring.cjs +0 -1
- package/dist/components/charts/progress-ring.d.ts +0 -13
- package/dist/components/charts/progress-ring.js +0 -1
- package/dist/components/feedback/loading-state.cjs +0 -1
- package/dist/components/feedback/loading-state.d.ts +0 -9
- package/dist/components/feedback/loading-state.js +0 -1
- package/dist/components/feedback/page-state.cjs +0 -1
- package/dist/components/feedback/page-state.d.ts +0 -18
- package/dist/components/feedback/page-state.js +0 -1
- package/dist/components/layout/page-container.cjs +0 -1
- package/dist/components/layout/page-container.d.ts +0 -7
- package/dist/components/layout/page-container.js +0 -1
- package/dist/components/layout/page-header.cjs +0 -1
- package/dist/components/layout/page-header.d.ts +0 -23
- package/dist/components/layout/page-header.js +0 -1
- package/dist/components/layout/section-header.cjs +0 -1
- package/dist/components/layout/section-header.d.ts +0 -14
- package/dist/components/layout/section-header.js +0 -1
- package/dist/components/layout/sidebar-nav.cjs +0 -1
- package/dist/components/layout/sidebar-nav.d.ts +0 -37
- package/dist/components/layout/sidebar-nav.js +0 -1
- package/dist/components/layout/sticky-footer-bar.cjs +0 -1
- package/dist/components/layout/sticky-footer-bar.d.ts +0 -7
- package/dist/components/layout/sticky-footer-bar.js +0 -1
- 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/charts/progress-ring.cjs +0 -1
- package/dist/src/components/charts/progress-ring.js +0 -57
- package/dist/src/components/feedback/loading-state.cjs +0 -1
- package/dist/src/components/feedback/loading-state.js +0 -15
- package/dist/src/components/feedback/page-state.cjs +0 -1
- package/dist/src/components/feedback/page-state.js +0 -28
- package/dist/src/components/layout/page-container.cjs +0 -1
- package/dist/src/components/layout/page-container.js +0 -21
- package/dist/src/components/layout/page-header.cjs +0 -1
- package/dist/src/components/layout/page-header.js +0 -92
- package/dist/src/components/layout/section-header.cjs +0 -1
- package/dist/src/components/layout/section-header.js +0 -44
- package/dist/src/components/layout/sidebar-nav.cjs +0 -1
- package/dist/src/components/layout/sidebar-nav.js +0 -220
- package/dist/src/components/layout/sticky-footer-bar.cjs +0 -1
- package/dist/src/components/layout/sticky-footer-bar.js +0 -20
- 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/charts/progress-ring.tsx +0 -56
- package/packages/cli/vendor/src/components/feedback/loading-state.tsx +0 -15
- package/packages/cli/vendor/src/components/feedback/page-state.tsx +0 -29
- package/packages/cli/vendor/src/components/layout/page-container.tsx +0 -30
- package/packages/cli/vendor/src/components/layout/page-header.tsx +0 -104
- package/packages/cli/vendor/src/components/layout/section-header.tsx +0 -56
- package/packages/cli/vendor/src/components/layout/sidebar-nav.tsx +0 -377
- package/packages/cli/vendor/src/components/layout/sticky-footer-bar.tsx +0 -23
- 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,35 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## 6.0.0 - 2026-07-18
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
- Added `NumberField`, `ToggleGroup`, and `Toolbar` as canonical product UI primitives.
|
|
10
|
+
|
|
11
|
+
### Removed
|
|
12
|
+
|
|
13
|
+
- Removed duplicate composition wrappers from code and registry: `loading-state`, `page-state`, `page-header`, `page-container`, `section-header`, `sidebar-nav`, `sticky-footer-bar`, and `progress-ring`.
|
|
14
|
+
|
|
15
|
+
### Changed
|
|
16
|
+
|
|
17
|
+
- Updated `DataTable` loading customization to use `StateView` props and made `ProgressCircle` independent from the removed ring alias.
|
|
18
|
+
|
|
19
|
+
## 5.0.0 - 2026-07-18
|
|
20
|
+
|
|
21
|
+
### Added
|
|
22
|
+
|
|
23
|
+
- Added `HoverCard`, `Menubar`, and `NavigationMenu` as real source-copy primitives backed by Base UI.
|
|
24
|
+
|
|
25
|
+
### Removed
|
|
26
|
+
|
|
27
|
+
- 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`.
|
|
28
|
+
- Removed related root exports, CLI registry entries, docs surface entries, and source-copy vendor files for those pattern components.
|
|
29
|
+
|
|
30
|
+
### Changed
|
|
31
|
+
|
|
32
|
+
- Kept `empty-state` as the only `patterns` component because it is still a reusable primitive-level surface.
|
|
33
|
+
|
|
5
34
|
## 4.2.1 - 2026-07-18
|
|
6
35
|
|
|
7
36
|
### Changed
|
|
@@ -1,4 +1,13 @@
|
|
|
1
|
-
import
|
|
2
|
-
export type ProgressCircleProps =
|
|
3
|
-
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
export type ProgressCircleProps = React.ComponentProps<"svg"> & {
|
|
3
|
+
value?: number;
|
|
4
|
+
max?: number;
|
|
5
|
+
size?: number;
|
|
6
|
+
strokeWidth?: number;
|
|
7
|
+
label?: React.ReactNode;
|
|
8
|
+
description?: React.ReactNode;
|
|
9
|
+
tone?: "default" | "success" | "warning" | "danger";
|
|
10
|
+
loading?: boolean;
|
|
11
|
+
};
|
|
12
|
+
declare function ProgressCircle({ value, max, size, strokeWidth, label, description, tone, loading, className, ...props }: ProgressCircleProps): React.JSX.Element;
|
|
4
13
|
export { ProgressCircle };
|
|
@@ -5,7 +5,7 @@ import { type DataTablePaginationProps } from "@/components/data-table/data-tabl
|
|
|
5
5
|
import { type DataTableRowAction } from "@/components/data-table/data-table-row-actions";
|
|
6
6
|
import { type DataTableToolbarProps } from "@/components/data-table/data-table-toolbar";
|
|
7
7
|
import { type DataStateProps } from "@/components/display/data-state";
|
|
8
|
-
import { type
|
|
8
|
+
import { type StateViewProps } from "@/components/feedback/state-view";
|
|
9
9
|
import { type InputSearchProps } from "@/components/ui/input";
|
|
10
10
|
export type DataTableDensity = "compact" | "default" | "comfortable";
|
|
11
11
|
export type DataTableLoadingVariant = "skeleton" | "state";
|
|
@@ -66,7 +66,7 @@ export type DataTableProps<TData, TValue = unknown> = Omit<React.ComponentProps<
|
|
|
66
66
|
isError?: boolean;
|
|
67
67
|
emptyState?: Omit<DataStateProps, "status">;
|
|
68
68
|
errorState?: Omit<DataStateProps, "status">;
|
|
69
|
-
loadingState?:
|
|
69
|
+
loadingState?: Omit<StateViewProps, "status">;
|
|
70
70
|
loadingVariant?: DataTableLoadingVariant;
|
|
71
71
|
toolbar?: React.ReactNode | ((table: TanStackTable<TData>) => React.ReactNode);
|
|
72
72
|
toolbarProps?: DataTableToolbarProps | ((table: TanStackTable<TData>) => DataTableToolbarProps);
|
|
@@ -11,13 +11,6 @@ export type SectionProps = React.ComponentProps<"section"> & {
|
|
|
11
11
|
bodyClassName?: string;
|
|
12
12
|
};
|
|
13
13
|
declare function Section({ title, description, actions, padded, bordered, variant, density, headerClassName, bodyClassName, className, children, ...props }: SectionProps): React.JSX.Element;
|
|
14
|
-
export type ToolbarProps = React.ComponentProps<"div"> & {
|
|
15
|
-
title?: React.ReactNode;
|
|
16
|
-
description?: React.ReactNode;
|
|
17
|
-
filters?: React.ReactNode;
|
|
18
|
-
actions?: React.ReactNode;
|
|
19
|
-
};
|
|
20
|
-
declare function Toolbar({ title, description, filters, actions, className, children, ...props }: ToolbarProps): React.JSX.Element;
|
|
21
14
|
export type SplitLayoutProps = React.ComponentProps<"div"> & {
|
|
22
15
|
aside: React.ReactNode;
|
|
23
16
|
asidePosition?: "start" | "end";
|
|
@@ -26,4 +19,4 @@ export type SplitLayoutProps = React.ComponentProps<"div"> & {
|
|
|
26
19
|
asideWidth?: React.CSSProperties["width"];
|
|
27
20
|
};
|
|
28
21
|
declare function SplitLayout({ aside, asidePosition, asideClassName, contentClassName, asideWidth, className, children, style, ...props }: SplitLayoutProps): React.JSX.Element;
|
|
29
|
-
export { Section, SplitLayout
|
|
22
|
+
export { Section, SplitLayout };
|
|
@@ -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"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require("../../../src/components/ui/number-field/index.cjs")
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { NumberField as NumberFieldPrimitive } from "@base-ui/react/number-field";
|
|
3
|
+
export type NumberFieldProps = NumberFieldPrimitive.Root.Props;
|
|
4
|
+
export type NumberFieldGroupProps = NumberFieldPrimitive.Group.Props;
|
|
5
|
+
export type NumberFieldInputProps = NumberFieldPrimitive.Input.Props;
|
|
6
|
+
export type NumberFieldIncrementProps = NumberFieldPrimitive.Increment.Props;
|
|
7
|
+
export type NumberFieldDecrementProps = NumberFieldPrimitive.Decrement.Props;
|
|
8
|
+
export type NumberFieldScrubAreaProps = NumberFieldPrimitive.ScrubArea.Props;
|
|
9
|
+
export type NumberFieldScrubAreaCursorProps = NumberFieldPrimitive.ScrubAreaCursor.Props;
|
|
10
|
+
declare function NumberField({ className, ...props }: NumberFieldProps): React.JSX.Element;
|
|
11
|
+
declare function NumberFieldGroup({ className, ...props }: NumberFieldGroupProps): React.JSX.Element;
|
|
12
|
+
declare function NumberFieldInput({ className, ...props }: NumberFieldInputProps): React.JSX.Element;
|
|
13
|
+
declare function NumberFieldIncrement({ className, children, ...props }: NumberFieldIncrementProps): React.JSX.Element;
|
|
14
|
+
declare function NumberFieldDecrement({ className, children, ...props }: NumberFieldDecrementProps): React.JSX.Element;
|
|
15
|
+
declare function NumberFieldStepper({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
|
|
16
|
+
declare function NumberFieldScrubArea({ className, ...props }: NumberFieldScrubAreaProps): React.JSX.Element;
|
|
17
|
+
declare function NumberFieldScrubAreaCursor({ className, ...props }: NumberFieldScrubAreaCursorProps): React.JSX.Element;
|
|
18
|
+
export { NumberField, NumberFieldDecrement, NumberFieldGroup, NumberFieldIncrement, NumberFieldInput, NumberFieldScrubArea, NumberFieldScrubAreaCursor, NumberFieldStepper, };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "../../../src/components/ui/number-field/index.js"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require("../../../src/components/ui/toggle-group/index.cjs")
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Toggle } from "@base-ui/react/toggle";
|
|
2
|
+
import { ToggleGroup as ToggleGroupPrimitive } from "@base-ui/react/toggle-group";
|
|
3
|
+
export type ToggleGroupProps<TValue extends string = string> = ToggleGroupPrimitive.Props<TValue> & {
|
|
4
|
+
variant?: "default" | "outline" | "ghost";
|
|
5
|
+
size?: "sm" | "md" | "lg";
|
|
6
|
+
};
|
|
7
|
+
export type ToggleGroupItemProps<TValue extends string = string> = Toggle.Props<TValue> & {
|
|
8
|
+
variant?: ToggleGroupProps<TValue>["variant"];
|
|
9
|
+
size?: ToggleGroupProps<TValue>["size"];
|
|
10
|
+
};
|
|
11
|
+
declare function ToggleGroup<TValue extends string = string>({ className, variant, size, orientation, ...props }: ToggleGroupProps<TValue>): import("react").JSX.Element;
|
|
12
|
+
declare function ToggleGroupItem<TValue extends string = string>({ className, variant, size, ...props }: ToggleGroupItemProps<TValue>): import("react").JSX.Element;
|
|
13
|
+
export { ToggleGroup, ToggleGroupItem };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "../../../src/components/ui/toggle-group/index.js"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require("../../../src/components/ui/toolbar/index.cjs")
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Toolbar as ToolbarPrimitive } from "@base-ui/react/toolbar";
|
|
2
|
+
export type ToolbarProps = ToolbarPrimitive.Root.Props;
|
|
3
|
+
export type ToolbarGroupProps = ToolbarPrimitive.Group.Props;
|
|
4
|
+
export type ToolbarButtonProps = ToolbarPrimitive.Button.Props;
|
|
5
|
+
export type ToolbarLinkProps = ToolbarPrimitive.Link.Props;
|
|
6
|
+
export type ToolbarInputProps = ToolbarPrimitive.Input.Props;
|
|
7
|
+
export type ToolbarSeparatorProps = ToolbarPrimitive.Separator.Props;
|
|
8
|
+
declare function Toolbar({ className, orientation, ...props }: ToolbarProps): import("react").JSX.Element;
|
|
9
|
+
declare function ToolbarGroup({ className, ...props }: ToolbarGroupProps): import("react").JSX.Element;
|
|
10
|
+
declare function ToolbarButton({ className, ...props }: ToolbarButtonProps): import("react").JSX.Element;
|
|
11
|
+
declare function ToolbarLink({ className, ...props }: ToolbarLinkProps): import("react").JSX.Element;
|
|
12
|
+
declare function ToolbarInput({ className, ...props }: ToolbarInputProps): import("react").JSX.Element;
|
|
13
|
+
declare function ToolbarSeparator({ className, ...props }: ToolbarSeparatorProps): import("react").JSX.Element;
|
|
14
|
+
export { Toolbar, ToolbarButton, ToolbarGroup, ToolbarInput, ToolbarLink, ToolbarSeparator };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "../../../src/components/ui/toolbar/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';
|
|
@@ -22,6 +26,9 @@ export * from './components/ui/kbd';
|
|
|
22
26
|
export * from './components/ui/radio-group';
|
|
23
27
|
export * from './components/ui/scroll-box';
|
|
24
28
|
export * from './components/ui/right-click-menu';
|
|
29
|
+
export * from './components/ui/number-field';
|
|
30
|
+
export * from './components/ui/toggle-group';
|
|
31
|
+
export * from './components/ui/toolbar';
|
|
25
32
|
export * from './components/actions/public';
|
|
26
33
|
export * from './components/layout/public';
|
|
27
34
|
export * from './components/navigation';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});
|
|
1
|
+
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");var i={default:`stroke-primary`,success:`stroke-[color:var(--aui-success,var(--primary))]`,warning:`stroke-[color:var(--aui-warning,var(--primary))]`,danger:`stroke-destructive`};function a({value:e,max:n=100,size:a=120,strokeWidth:o=10,label:s,description:c,tone:l=`default`,loading:u=!1,className:d,...f}){let p=(a-o)/2,m=2*Math.PI*p,h=typeof e==`number`?Math.min(Math.max(e/n,0),1):0,g=m-h*m,_=s??(typeof e==`number`?`${Math.round(h*100)}%`:void 0);return(0,r.jsxs)(`svg`,{"data-slot":`progress-circle`,viewBox:`0 0 ${a} ${a}`,className:t.cn(`h-auto w-full max-w-32`,d),role:`img`,...f,children:[(0,r.jsx)(`circle`,{cx:a/2,cy:a/2,r:p,fill:`none`,strokeWidth:o,className:`stroke-muted`}),(0,r.jsx)(`circle`,{cx:a/2,cy:a/2,r:p,fill:`none`,strokeWidth:o,strokeLinecap:`round`,strokeDasharray:m,strokeDashoffset:u?m*.28:g,className:t.cn(`origin-center -rotate-90 transition-[stroke-dashoffset]`,i[l],u&&`animate-pulse`)}),_?(0,r.jsx)(`text`,{x:`50%`,y:c?`46%`:`52%`,textAnchor:`middle`,dominantBaseline:`middle`,className:`fill-foreground text-lg font-semibold`,children:_}):null,c?(0,r.jsx)(`text`,{x:`50%`,y:`62%`,textAnchor:`middle`,dominantBaseline:`middle`,className:`fill-muted-foreground text-[10px]`,children:c}):null]})}exports.ProgressCircle=a;
|
|
@@ -1,5 +1,59 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { cn as e } from "../../lib/utils.js";
|
|
2
|
+
import "react";
|
|
3
|
+
import { jsx as t, jsxs as n } from "react/jsx-runtime";
|
|
2
4
|
//#region src/components/charts/progress-circle.tsx
|
|
3
|
-
var
|
|
5
|
+
var r = {
|
|
6
|
+
default: "stroke-primary",
|
|
7
|
+
success: "stroke-[color:var(--aui-success,var(--primary))]",
|
|
8
|
+
warning: "stroke-[color:var(--aui-warning,var(--primary))]",
|
|
9
|
+
danger: "stroke-destructive"
|
|
10
|
+
};
|
|
11
|
+
function i({ value: i, max: a = 100, size: o = 120, strokeWidth: s = 10, label: c, description: l, tone: u = "default", loading: d = !1, className: f, ...p }) {
|
|
12
|
+
let m = (o - s) / 2, h = 2 * Math.PI * m, g = typeof i == "number" ? Math.min(Math.max(i / a, 0), 1) : 0, _ = h - g * h, v = c ?? (typeof i == "number" ? `${Math.round(g * 100)}%` : void 0);
|
|
13
|
+
return /* @__PURE__ */ n("svg", {
|
|
14
|
+
"data-slot": "progress-circle",
|
|
15
|
+
viewBox: `0 0 ${o} ${o}`,
|
|
16
|
+
className: e("h-auto w-full max-w-32", f),
|
|
17
|
+
role: "img",
|
|
18
|
+
...p,
|
|
19
|
+
children: [
|
|
20
|
+
/* @__PURE__ */ t("circle", {
|
|
21
|
+
cx: o / 2,
|
|
22
|
+
cy: o / 2,
|
|
23
|
+
r: m,
|
|
24
|
+
fill: "none",
|
|
25
|
+
strokeWidth: s,
|
|
26
|
+
className: "stroke-muted"
|
|
27
|
+
}),
|
|
28
|
+
/* @__PURE__ */ t("circle", {
|
|
29
|
+
cx: o / 2,
|
|
30
|
+
cy: o / 2,
|
|
31
|
+
r: m,
|
|
32
|
+
fill: "none",
|
|
33
|
+
strokeWidth: s,
|
|
34
|
+
strokeLinecap: "round",
|
|
35
|
+
strokeDasharray: h,
|
|
36
|
+
strokeDashoffset: d ? h * .28 : _,
|
|
37
|
+
className: e("origin-center -rotate-90 transition-[stroke-dashoffset]", r[u], d && "animate-pulse")
|
|
38
|
+
}),
|
|
39
|
+
v ? /* @__PURE__ */ t("text", {
|
|
40
|
+
x: "50%",
|
|
41
|
+
y: l ? "46%" : "52%",
|
|
42
|
+
textAnchor: "middle",
|
|
43
|
+
dominantBaseline: "middle",
|
|
44
|
+
className: "fill-foreground text-lg font-semibold",
|
|
45
|
+
children: v
|
|
46
|
+
}) : null,
|
|
47
|
+
l ? /* @__PURE__ */ t("text", {
|
|
48
|
+
x: "50%",
|
|
49
|
+
y: "62%",
|
|
50
|
+
textAnchor: "middle",
|
|
51
|
+
dominantBaseline: "middle",
|
|
52
|
+
className: "fill-muted-foreground text-[10px]",
|
|
53
|
+
children: l
|
|
54
|
+
}) : null
|
|
55
|
+
]
|
|
56
|
+
});
|
|
57
|
+
}
|
|
4
58
|
//#endregion
|
|
5
|
-
export {
|
|
59
|
+
export { i as ProgressCircle };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs"),n=require("../ui/button/index.cjs"),r=require("../ui/input/index.cjs"),i=require("./data-table-actions-column.cjs"),ee=require("./data-table-bulk-actions.cjs"),te=require("./data-table-column-visibility-menu.cjs"),ne=require("./data-table-pagination.cjs"),re=require("./data-table-toolbar.cjs"),ie=require("../../../node_modules/@tanstack/react-virtual/dist/esm/index.cjs"),ae=require("../display/data-state.cjs"),a=require("../feedback/loading-state.cjs"),oe=require("../../hooks/use-is-mobile.cjs"),o=require("../ui/table/index.cjs");let s=require("react");s=e.__toESM(s,1);let c=require("react/jsx-runtime"),l=require("@tanstack/react-table");var se={compact:`h-8 px-2 py-1.5`,default:`h-10 px-2 py-2`,comfortable:`h-12 px-3 py-3`},ce={compact:`px-2 py-1.5`,default:`p-2`,comfortable:`px-3 py-3`};function le(e,t){return typeof t==`function`?t(e):t}function ue(e,t){return typeof t==`function`?t(e):t}function de(e,t){return typeof t==`function`?t(e):t}function fe(e){return e==null||e===``}function pe(e){let t=e.column.columnDef.header;return typeof t==`string`?t:typeof t==`number`?String(t):e.column.id===`actions`?`Actions`:e.column.id}function u({className:e,columns:u,data:d,title:f,description:p,features:m,search:h,filters:g,summary:_,toolbarActions:v,rowActions:y,bulkActions:b,onRefresh:me,onExport:he,refreshLabel:ge=`Refresh`,exportLabel:_e=`Export`,getRowId:ve,isLoading:x=!1,isError:ye=!1,emptyState:be,errorState:xe,loadingState:Se,loadingVariant:Ce=`skeleton`,toolbar:S,toolbarProps:C,pagination:w,sorting:we,onSortingChange:Te,columnVisibility:Ee,onColumnVisibilityChange:De,rowSelection:Oe,onRowSelectionChange:ke,enableRowSelection:Ae,renderMobileCard:T,mobileLayout:je=`auto`,onRowClick:E,onRowDoubleClick:Me,getRowDisabled:D,density:O=`default`,striped:k=!1,bordered:A=!1,stickyHeader:j=!1,skeletonRows:Ne=6,skeletonCellClassName:Pe,cellFallback:M=`-`,tableClassName:Fe,tableWrapperClassName:Ie,headerCellClassName:Le,cellClassName:Re,rowClassName:N,renderExpandedRow:P,expanded:ze,onExpandedChange:Be,getRowCanExpand:Ve,columnPinning:F,onColumnPinningChange:He,virtualization:Ue,...We}){let Ge=s.useMemo(()=>{let e=u;return!y||m?.rowActions===!1?e:[...e,i.createDataTableActionsColumn({getActions:y})]},[u,m?.rowActions,y]),I=w===!1?void 0:w,Ke=I?{pageIndex:I.pageIndex,pageSize:I.pageSize}:void 0,qe=!!(I&&I.manual!==!1),Je=Oe??{},L=(0,l.useReactTable)({data:d,columns:Ge,getRowId:ve,getCoreRowModel:(0,l.getCoreRowModel)(),getPaginationRowModel:I&&!qe?(0,l.getPaginationRowModel)():void 0,manualPagination:qe,pageCount:I?.pageCount,state:{sorting:we,columnVisibility:Ee,rowSelection:Je,pagination:Ke,expanded:ze,...F?{columnPinning:F}:{}},onSortingChange:Te,onColumnVisibilityChange:De,onRowSelectionChange:ke,onExpandedChange:Be,onColumnPinningChange:He,enableRowSelection:Ae,getRowCanExpand:Ve,getExpandedRowModel:(0,l.getExpandedRowModel)()}),R=L.getRowModel().rows,Ye=s.useRef(null),z=Ue===!1?void 0:Ue,B=!!(z&&z.enabled!==!1&&R.length>0),V=z?.height??480,Xe=z?.onRangeChange,H=ie.useVirtualizer({count:B?R.length:0,getScrollElement:()=>Ye.current,estimateSize:()=>z?.estimateRowHeight??48,getItemKey:e=>R[e]?.id??e,overscan:z?.overscan??8,initialRect:{width:0,height:typeof V==`number`?V:480},onChange(e){if(!Xe)return;let t=e.getVirtualItems();Xe({startIndex:t[0]?.index??-1,endIndex:t.at(-1)?.index??-1})}}),Ze=B?H.getVirtualItems():[],U=z?.estimateRowHeight??48,Qe=B?Math.min(R.length,Math.ceil((typeof V==`number`?V:480)/U)+(z?.overscan??8)):0,W=Ze.length>0?Ze:Array.from({length:Qe},(e,t)=>({key:R[t]?.id??t,index:t,start:t*U,end:(t+1)*U,size:U,lane:0})),$e=W[0]?.start??0,et=W.length?Math.max(H.getTotalSize()-W[W.length-1].end,0):0,G=L.getSelectedRowModel().rows.map(e=>e.original),tt=G.length,K=s.useMemo(()=>({table:L,data:d,selectedRows:G}),[d,G,L]),nt=L.getVisibleLeafColumns(),rt=Math.max(nt.length,1),it=typeof S==`function`?S(L):S,at=typeof C==`function`?C(L):C,q=typeof g==`function`?g(K):g,J=typeof _==`function`?_(K):_,ot=!!(h&&m?.search!==!1),st=!!(m?.columnVisibility&&L.getAllLeafColumns().some(e=>e.getCanHide())),Y=!!(m?.refresh&&me),X=!!(m?.export&&he),ct=!!(m?.bulkActions!==!1&&b?.length),lt=st&&!!(f||p||h||q||J||v||Y||X),ut=ot&&h?(0,c.jsx)(r.Input,{type:`search`,value:h.value,onValueChange:h.onValueChange,placeholder:h.placeholder??`Search...`,wrapperClassName:h.wrapperClassName??h.className,inputClassName:h.inputClassName,disabled:h.disabled,clearable:h.clearable,clearLabel:h.clearLabel,searchIcon:h.searchIcon}):void 0,dt=(0,c.jsxs)(c.Fragment,{children:[typeof v==`function`?v(K):v,lt&&(0,c.jsx)(te.DataTableColumnVisibilityMenu,{table:L}),Y&&(0,c.jsx)(n.Button,{type:`button`,variant:`outline`,size:`sm`,disabled:x,onClick:()=>me?.(K),children:ge}),X&&(0,c.jsx)(n.Button,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>he?.(K),children:_e})]}),ft=ct?(0,c.jsx)(ee.DataTableBulkActions,{rows:G,actions:b??[],selectedLabel:()=>`Actions`,clearLabel:null,onClearSelection:()=>L.resetRowSelection(),hideWhenEmpty:!1}):void 0,pt=!!(it||at||f||p||ut||q||J||v||lt||Y||X||ft),mt=!!(I&&!I.hidden),Z=x&&Ce===`skeleton`,ht=oe.useIsMobile(),gt=je!==`scroll`&&ht,_t=(e,t)=>t>0?(0,c.jsx)(o.TableRow,{"aria-hidden":`true`,className:`pointer-events-none border-0 hover:bg-transparent`,children:(0,c.jsx)(o.TableCell,{colSpan:rt,className:`border-0 p-0`,style:{height:t}})},e):null,vt=e=>(0,c.jsx)(o.TableRow,{children:(0,c.jsx)(o.TableCell,{colSpan:rt,className:`p-0`,children:e})}),yt=()=>Array.from({length:Math.max(Ne,1)},(e,n)=>(0,c.jsx)(o.TableRow,{"aria-hidden":`true`,children:nt.map(e=>(0,c.jsx)(o.TableCell,{className:t.cn(ce[O],A&&`border-r last:border-r-0`),children:(0,c.jsx)(`div`,{className:t.cn(`h-4 w-full max-w-40 animate-pulse rounded-md bg-muted`,n%3==1&&`max-w-24`,n%3==2&&`max-w-32`,Pe)})},`${e.id}-${n}`))},`skeleton-${n}`)),Q=Z?null:x?(0,c.jsx)(a.LoadingState,{label:`Loading data...`,...Se}):ye?(0,c.jsx)(ae.DataState,{status:`error`,title:`Could not load data`,description:`Please try again.`,variant:`plain`,...xe}):R.length===0?(0,c.jsx)(ae.DataState,{status:`empty`,variant:`plain`,...be}):null,$=(e,n,r)=>{let i=D?.(e)??!1;return(0,c.jsxs)(s.Fragment,{children:[(0,c.jsx)(o.TableRow,{ref:r&&z?.measureRows!==!1?H.measureElement:void 0,"data-index":r?.index,"data-state":e.getIsSelected()?`selected`:void 0,"data-striped":k&&n%2==1?`true`:void 0,"data-disabled":i||void 0,className:t.cn(E&&!i&&`cursor-pointer`,!i&&`transition-colors hover:bg-[color:color-mix(in_oklch,var(--primary),transparent_96%)] data-[state=selected]:bg-[color:color-mix(in_oklch,var(--primary),transparent_90%)]`,i&&`pointer-events-none opacity-55`,le(e,N)),onClick:()=>{i||E?.(e)},onDoubleClick:()=>{i||Me?.(e)},children:e.getVisibleCells().map(e=>{let n=(0,l.flexRender)(e.column.columnDef.cell,e.getContext());return(0,c.jsx)(o.TableCell,{style:{...e.column.getIsPinned()===`left`?{left:`${e.column.getStart(`left`)}px`,position:`sticky`,zIndex:10}:{},...e.column.getIsPinned()===`right`?{right:`${e.column.getAfter(`right`)}px`,position:`sticky`,zIndex:10}:{}},className:t.cn(ce[O],e.column.getIsPinned()&&`bg-card shadow-[1px_0_0_var(--border)]`,A&&`border-r last:border-r-0`,de(e,Re)),children:fe(n)?M:n},e.id)})}),e.getIsExpanded()&&P?(0,c.jsx)(o.TableRow,{className:`bg-muted/50 hover:bg-muted/50`,children:(0,c.jsx)(o.TableCell,{colSpan:e.getVisibleCells().length,children:P(e)})}):null]},e.id)},bt=e=>{let n=D?.(e)??!1,r=e.getVisibleCells();return(0,c.jsx)(`article`,{"data-slot":`data-table-mobile-card`,"data-state":e.getIsSelected()?`selected`:void 0,"data-disabled":n||void 0,className:t.cn(`grid gap-3 rounded-[var(--aui-card-radius,var(--radius-lg))] border border-[color:var(--aui-card-border,var(--border))] bg-card p-3 shadow-[var(--aui-card-shadow,0_10px_24px_rgba(15,23,42,0.07))]`,E&&!n&&`cursor-pointer transition-colors hover:bg-[color:color-mix(in_oklch,var(--primary),transparent_96%)]`,n&&`pointer-events-none opacity-55`,le(e,N)),role:E&&!n?`button`:void 0,tabIndex:E&&!n?0:void 0,onClick:()=>{n||E?.(e)},onKeyDown:t=>{t.target!==t.currentTarget||n||!E||(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),E(e))},children:r.map(e=>{let t=(0,l.flexRender)(e.column.columnDef.cell,e.getContext());return(0,c.jsxs)(`div`,{"data-slot":`data-table-mobile-cell`,className:`grid grid-cols-[minmax(7rem,0.42fr)_minmax(0,1fr)] items-start gap-3 text-sm`,children:[(0,c.jsx)(`span`,{className:`min-w-0 text-xs font-semibold uppercase tracking-wide text-muted-foreground`,children:pe(e)}),(0,c.jsx)(`div`,{className:`min-w-0 text-right text-foreground/92 [&>*]:ml-auto`,children:fe(t)?M:t})]},e.id)})},e.id)};return(0,c.jsxs)(`div`,{"data-slot":`data-table`,className:t.cn(`grid gap-3`,e),...We,children:[pt&&(it??(0,c.jsx)(re.DataTableToolbar,{title:f,description:p,search:ut,filters:q,summary:J,actions:dt,selectionActions:ft,selectedCount:tt,totalCount:I?I.rowCount??d.length:d.length,variant:`plain`,...at})),gt&&(0,c.jsx)(`div`,{className:`grid gap-3`,children:Q??(Z?(0,c.jsx)(a.LoadingState,{label:`Loading data...`,...Se}):R.map(e=>(0,c.jsx)(s.Fragment,{children:T?T(e):bt(e)},e.id)))}),!gt&&(0,c.jsxs)(`div`,{"data-slot":`data-table-wrapper`,"data-density":O,"data-striped":k||void 0,"data-bordered":A||void 0,"data-virtualized":B||void 0,className:t.cn(`overflow-hidden rounded-[var(--aui-card-radius,var(--radius-lg))] border border-[color:var(--aui-card-border,var(--border))] bg-card shadow-[var(--aui-card-shadow,0_10px_24px_rgba(15,23,42,0.07))] backdrop-blur`,Ie),children:[(0,c.jsxs)(o.Table,{containerRef:Ye,containerStyle:B?{height:V,overscrollBehavior:`contain`}:void 0,containerClassName:t.cn(`rounded-none border-0 bg-transparent shadow-none ring-0`,B&&`overflow-auto`),className:t.cn(`text-[0.95rem]`,Fe),"aria-rowcount":R.length,children:[(0,c.jsx)(o.TableHeader,{className:t.cn((j||B)&&`sticky top-0 z-10 shadow-sm backdrop-blur`),children:L.getHeaderGroups().map(e=>(0,c.jsx)(o.TableRow,{children:e.headers.map(e=>(0,c.jsx)(o.TableHead,{style:{width:e.getSize(),...e.column.getIsPinned()===`left`?{left:`${e.column.getStart(`left`)}px`,position:`sticky`,zIndex:j?20:11}:{},...e.column.getIsPinned()===`right`?{right:`${e.column.getAfter(`right`)}px`,position:`sticky`,zIndex:j?20:11}:{}},className:t.cn(se[O],`bg-[color:color-mix(in_oklch,var(--card),var(--background)_10%)] text-muted-foreground`,(j||B)&&`bg-[color:color-mix(in_oklch,var(--card),transparent_12%)] backdrop-blur`,e.column.getIsPinned()&&`bg-card shadow-[1px_0_0_var(--border)]`,A&&`border-r last:border-r-0`,ue(e,Le)),children:e.isPlaceholder?null:(0,l.flexRender)(e.column.columnDef.header,e.getContext())},e.id))},e.id))}),(0,c.jsx)(o.TableBody,{children:Q?vt(Q):Z?yt():B?[_t(`virtual-top`,$e),...W.map(e=>$(R[e.index],e.index,e)),_t(`virtual-bottom`,et)]:R.map((e,t)=>$(e,t))})]}),mt&&I&&(0,c.jsx)(ne.DataTablePagination,{pageIndex:I.pageIndex,pageSize:I.pageSize,pageCount:I.pageCount,rowCount:I.rowCount,pageSizeOptions:I.pageSizeOptions,showPageSize:I.showPageSize,labels:I.labels,disabled:x,onPageChange:I.onPageChange,onPageSizeChange:I.onPageSizeChange})]})]})}exports.DataTable=u;
|
|
1
|
+
"use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs"),n=require("../ui/button/index.cjs"),r=require("../feedback/state-view.cjs"),i=require("../ui/input/index.cjs"),ee=require("./data-table-actions-column.cjs"),te=require("./data-table-bulk-actions.cjs"),ne=require("./data-table-column-visibility-menu.cjs"),re=require("./data-table-pagination.cjs"),ie=require("./data-table-toolbar.cjs"),ae=require("../../../node_modules/@tanstack/react-virtual/dist/esm/index.cjs"),oe=require("../display/data-state.cjs"),se=require("../../hooks/use-is-mobile.cjs"),a=require("../ui/table/index.cjs");let o=require("react");o=e.__toESM(o,1);let s=require("react/jsx-runtime"),c=require("@tanstack/react-table");var ce={compact:`h-8 px-2 py-1.5`,default:`h-10 px-2 py-2`,comfortable:`h-12 px-3 py-3`},le={compact:`px-2 py-1.5`,default:`p-2`,comfortable:`px-3 py-3`};function ue(e,t){return typeof t==`function`?t(e):t}function de(e,t){return typeof t==`function`?t(e):t}function fe(e,t){return typeof t==`function`?t(e):t}function pe(e){return e==null||e===``}function me(e){let t=e.column.columnDef.header;return typeof t==`string`?t:typeof t==`number`?String(t):e.column.id===`actions`?`Actions`:e.column.id}function l({className:e,columns:l,data:u,title:d,description:f,features:p,search:m,filters:h,summary:g,toolbarActions:_,rowActions:v,bulkActions:y,onRefresh:he,onExport:b,refreshLabel:ge=`Refresh`,exportLabel:_e=`Export`,getRowId:ve,isLoading:x=!1,isError:ye=!1,emptyState:be,errorState:xe,loadingState:Se,loadingVariant:Ce=`skeleton`,toolbar:S,toolbarProps:C,pagination:w,sorting:we,onSortingChange:Te,columnVisibility:Ee,onColumnVisibilityChange:De,rowSelection:Oe,onRowSelectionChange:ke,enableRowSelection:Ae,renderMobileCard:T,mobileLayout:je=`auto`,onRowClick:E,onRowDoubleClick:Me,getRowDisabled:D,density:O=`default`,striped:k=!1,bordered:A=!1,stickyHeader:j=!1,skeletonRows:Ne=6,skeletonCellClassName:Pe,cellFallback:M=`-`,tableClassName:Fe,tableWrapperClassName:Ie,headerCellClassName:Le,cellClassName:Re,rowClassName:N,renderExpandedRow:P,expanded:ze,onExpandedChange:Be,getRowCanExpand:Ve,columnPinning:F,onColumnPinningChange:He,virtualization:Ue,...We}){let Ge=o.useMemo(()=>{let e=l;return!v||p?.rowActions===!1?e:[...e,ee.createDataTableActionsColumn({getActions:v})]},[l,p?.rowActions,v]),I=w===!1?void 0:w,Ke=I?{pageIndex:I.pageIndex,pageSize:I.pageSize}:void 0,qe=!!(I&&I.manual!==!1),Je=Oe??{},L=(0,c.useReactTable)({data:u,columns:Ge,getRowId:ve,getCoreRowModel:(0,c.getCoreRowModel)(),getPaginationRowModel:I&&!qe?(0,c.getPaginationRowModel)():void 0,manualPagination:qe,pageCount:I?.pageCount,state:{sorting:we,columnVisibility:Ee,rowSelection:Je,pagination:Ke,expanded:ze,...F?{columnPinning:F}:{}},onSortingChange:Te,onColumnVisibilityChange:De,onRowSelectionChange:ke,onExpandedChange:Be,onColumnPinningChange:He,enableRowSelection:Ae,getRowCanExpand:Ve,getExpandedRowModel:(0,c.getExpandedRowModel)()}),R=L.getRowModel().rows,Ye=o.useRef(null),z=Ue===!1?void 0:Ue,B=!!(z&&z.enabled!==!1&&R.length>0),V=z?.height??480,Xe=z?.onRangeChange,H=ae.useVirtualizer({count:B?R.length:0,getScrollElement:()=>Ye.current,estimateSize:()=>z?.estimateRowHeight??48,getItemKey:e=>R[e]?.id??e,overscan:z?.overscan??8,initialRect:{width:0,height:typeof V==`number`?V:480},onChange(e){if(!Xe)return;let t=e.getVirtualItems();Xe({startIndex:t[0]?.index??-1,endIndex:t.at(-1)?.index??-1})}}),Ze=B?H.getVirtualItems():[],U=z?.estimateRowHeight??48,Qe=B?Math.min(R.length,Math.ceil((typeof V==`number`?V:480)/U)+(z?.overscan??8)):0,W=Ze.length>0?Ze:Array.from({length:Qe},(e,t)=>({key:R[t]?.id??t,index:t,start:t*U,end:(t+1)*U,size:U,lane:0})),$e=W[0]?.start??0,et=W.length?Math.max(H.getTotalSize()-W[W.length-1].end,0):0,G=L.getSelectedRowModel().rows.map(e=>e.original),tt=G.length,K=o.useMemo(()=>({table:L,data:u,selectedRows:G}),[u,G,L]),nt=L.getVisibleLeafColumns(),rt=Math.max(nt.length,1),it=typeof S==`function`?S(L):S,at=typeof C==`function`?C(L):C,q=typeof h==`function`?h(K):h,J=typeof g==`function`?g(K):g,ot=!!(m&&p?.search!==!1),st=!!(p?.columnVisibility&&L.getAllLeafColumns().some(e=>e.getCanHide())),Y=!!(p?.refresh&&he),X=!!(p?.export&&b),ct=!!(p?.bulkActions!==!1&&y?.length),lt=st&&!!(d||f||m||q||J||_||Y||X),ut=ot&&m?(0,s.jsx)(i.Input,{type:`search`,value:m.value,onValueChange:m.onValueChange,placeholder:m.placeholder??`Search...`,wrapperClassName:m.wrapperClassName??m.className,inputClassName:m.inputClassName,disabled:m.disabled,clearable:m.clearable,clearLabel:m.clearLabel,searchIcon:m.searchIcon}):void 0,dt=(0,s.jsxs)(s.Fragment,{children:[typeof _==`function`?_(K):_,lt&&(0,s.jsx)(ne.DataTableColumnVisibilityMenu,{table:L}),Y&&(0,s.jsx)(n.Button,{type:`button`,variant:`outline`,size:`sm`,disabled:x,onClick:()=>he?.(K),children:ge}),X&&(0,s.jsx)(n.Button,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>b?.(K),children:_e})]}),ft=ct?(0,s.jsx)(te.DataTableBulkActions,{rows:G,actions:y??[],selectedLabel:()=>`Actions`,clearLabel:null,onClearSelection:()=>L.resetRowSelection(),hideWhenEmpty:!1}):void 0,pt=!!(it||at||d||f||ut||q||J||_||lt||Y||X||ft),mt=!!(I&&!I.hidden),Z=x&&Ce===`skeleton`,ht=se.useIsMobile(),gt=je!==`scroll`&&ht,_t=(e,t)=>t>0?(0,s.jsx)(a.TableRow,{"aria-hidden":`true`,className:`pointer-events-none border-0 hover:bg-transparent`,children:(0,s.jsx)(a.TableCell,{colSpan:rt,className:`border-0 p-0`,style:{height:t}})},e):null,vt=e=>(0,s.jsx)(a.TableRow,{children:(0,s.jsx)(a.TableCell,{colSpan:rt,className:`p-0`,children:e})}),yt=()=>Array.from({length:Math.max(Ne,1)},(e,n)=>(0,s.jsx)(a.TableRow,{"aria-hidden":`true`,children:nt.map(e=>(0,s.jsx)(a.TableCell,{className:t.cn(le[O],A&&`border-r last:border-r-0`),children:(0,s.jsx)(`div`,{className:t.cn(`h-4 w-full max-w-40 animate-pulse rounded-md bg-muted`,n%3==1&&`max-w-24`,n%3==2&&`max-w-32`,Pe)})},`${e.id}-${n}`))},`skeleton-${n}`)),Q=Z?null:x?(0,s.jsx)(r.StateView,{status:`loading`,title:`Loading data...`,...Se}):ye?(0,s.jsx)(oe.DataState,{status:`error`,title:`Could not load data`,description:`Please try again.`,variant:`plain`,...xe}):R.length===0?(0,s.jsx)(oe.DataState,{status:`empty`,variant:`plain`,...be}):null,$=(e,n,r)=>{let i=D?.(e)??!1;return(0,s.jsxs)(o.Fragment,{children:[(0,s.jsx)(a.TableRow,{ref:r&&z?.measureRows!==!1?H.measureElement:void 0,"data-index":r?.index,"data-state":e.getIsSelected()?`selected`:void 0,"data-striped":k&&n%2==1?`true`:void 0,"data-disabled":i||void 0,className:t.cn(E&&!i&&`cursor-pointer`,!i&&`transition-colors hover:bg-[color:color-mix(in_oklch,var(--primary),transparent_96%)] data-[state=selected]:bg-[color:color-mix(in_oklch,var(--primary),transparent_90%)]`,i&&`pointer-events-none opacity-55`,ue(e,N)),onClick:()=>{i||E?.(e)},onDoubleClick:()=>{i||Me?.(e)},children:e.getVisibleCells().map(e=>{let n=(0,c.flexRender)(e.column.columnDef.cell,e.getContext());return(0,s.jsx)(a.TableCell,{style:{...e.column.getIsPinned()===`left`?{left:`${e.column.getStart(`left`)}px`,position:`sticky`,zIndex:10}:{},...e.column.getIsPinned()===`right`?{right:`${e.column.getAfter(`right`)}px`,position:`sticky`,zIndex:10}:{}},className:t.cn(le[O],e.column.getIsPinned()&&`bg-card shadow-[1px_0_0_var(--border)]`,A&&`border-r last:border-r-0`,fe(e,Re)),children:pe(n)?M:n},e.id)})}),e.getIsExpanded()&&P?(0,s.jsx)(a.TableRow,{className:`bg-muted/50 hover:bg-muted/50`,children:(0,s.jsx)(a.TableCell,{colSpan:e.getVisibleCells().length,children:P(e)})}):null]},e.id)},bt=e=>{let n=D?.(e)??!1,r=e.getVisibleCells();return(0,s.jsx)(`article`,{"data-slot":`data-table-mobile-card`,"data-state":e.getIsSelected()?`selected`:void 0,"data-disabled":n||void 0,className:t.cn(`grid gap-3 rounded-[var(--aui-card-radius,var(--radius-lg))] border border-[color:var(--aui-card-border,var(--border))] bg-card p-3 shadow-[var(--aui-card-shadow,0_10px_24px_rgba(15,23,42,0.07))]`,E&&!n&&`cursor-pointer transition-colors hover:bg-[color:color-mix(in_oklch,var(--primary),transparent_96%)]`,n&&`pointer-events-none opacity-55`,ue(e,N)),role:E&&!n?`button`:void 0,tabIndex:E&&!n?0:void 0,onClick:()=>{n||E?.(e)},onKeyDown:t=>{t.target!==t.currentTarget||n||!E||(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),E(e))},children:r.map(e=>{let t=(0,c.flexRender)(e.column.columnDef.cell,e.getContext());return(0,s.jsxs)(`div`,{"data-slot":`data-table-mobile-cell`,className:`grid grid-cols-[minmax(7rem,0.42fr)_minmax(0,1fr)] items-start gap-3 text-sm`,children:[(0,s.jsx)(`span`,{className:`min-w-0 text-xs font-semibold uppercase tracking-wide text-muted-foreground`,children:me(e)}),(0,s.jsx)(`div`,{className:`min-w-0 text-right text-foreground/92 [&>*]:ml-auto`,children:pe(t)?M:t})]},e.id)})},e.id)};return(0,s.jsxs)(`div`,{"data-slot":`data-table`,className:t.cn(`grid gap-3`,e),...We,children:[pt&&(it??(0,s.jsx)(ie.DataTableToolbar,{title:d,description:f,search:ut,filters:q,summary:J,actions:dt,selectionActions:ft,selectedCount:tt,totalCount:I?I.rowCount??u.length:u.length,variant:`plain`,...at})),gt&&(0,s.jsx)(`div`,{className:`grid gap-3`,children:Q??(Z?(0,s.jsx)(r.StateView,{status:`loading`,title:`Loading data...`,...Se}):R.map(e=>(0,s.jsx)(o.Fragment,{children:T?T(e):bt(e)},e.id)))}),!gt&&(0,s.jsxs)(`div`,{"data-slot":`data-table-wrapper`,"data-density":O,"data-striped":k||void 0,"data-bordered":A||void 0,"data-virtualized":B||void 0,className:t.cn(`overflow-hidden rounded-[var(--aui-card-radius,var(--radius-lg))] border border-[color:var(--aui-card-border,var(--border))] bg-card shadow-[var(--aui-card-shadow,0_10px_24px_rgba(15,23,42,0.07))] backdrop-blur`,Ie),children:[(0,s.jsxs)(a.Table,{containerRef:Ye,containerStyle:B?{height:V,overscrollBehavior:`contain`}:void 0,containerClassName:t.cn(`rounded-none border-0 bg-transparent shadow-none ring-0`,B&&`overflow-auto`),className:t.cn(`text-[0.95rem]`,Fe),"aria-rowcount":R.length,children:[(0,s.jsx)(a.TableHeader,{className:t.cn((j||B)&&`sticky top-0 z-10 shadow-sm backdrop-blur`),children:L.getHeaderGroups().map(e=>(0,s.jsx)(a.TableRow,{children:e.headers.map(e=>(0,s.jsx)(a.TableHead,{style:{width:e.getSize(),...e.column.getIsPinned()===`left`?{left:`${e.column.getStart(`left`)}px`,position:`sticky`,zIndex:j?20:11}:{},...e.column.getIsPinned()===`right`?{right:`${e.column.getAfter(`right`)}px`,position:`sticky`,zIndex:j?20:11}:{}},className:t.cn(ce[O],`bg-[color:color-mix(in_oklch,var(--card),var(--background)_10%)] text-muted-foreground`,(j||B)&&`bg-[color:color-mix(in_oklch,var(--card),transparent_12%)] backdrop-blur`,e.column.getIsPinned()&&`bg-card shadow-[1px_0_0_var(--border)]`,A&&`border-r last:border-r-0`,de(e,Le)),children:e.isPlaceholder?null:(0,c.flexRender)(e.column.columnDef.header,e.getContext())},e.id))},e.id))}),(0,s.jsx)(a.TableBody,{children:Q?vt(Q):Z?yt():B?[_t(`virtual-top`,$e),...W.map(e=>$(R[e.index],e.index,e)),_t(`virtual-bottom`,et)]:R.map((e,t)=>$(e,t))})]}),mt&&I&&(0,s.jsx)(re.DataTablePagination,{pageIndex:I.pageIndex,pageSize:I.pageSize,pageCount:I.pageCount,rowCount:I.rowCount,pageSizeOptions:I.pageSizeOptions,showPageSize:I.showPageSize,labels:I.labels,disabled:x,onPageChange:I.onPageChange,onPageSizeChange:I.onPageSizeChange})]})]})}exports.DataTable=l;
|