@octanejs/shadcn 0.0.37 → 0.0.39
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{LICENSE → LICENSE.upstream} +1 -1
- package/README.md +22 -19
- package/package.json +17 -11
- package/src/bases/base-ui/ui/accordion.tsrx +1 -1
- package/src/bases/base-ui/ui/alert-dialog.tsrx +1 -1
- package/src/bases/base-ui/ui/alert.tsrx +1 -1
- package/src/bases/base-ui/ui/aspect-ratio.tsrx +1 -1
- package/src/bases/base-ui/ui/avatar.tsrx +1 -1
- package/src/bases/base-ui/ui/badge.tsrx +1 -1
- package/src/bases/base-ui/ui/breadcrumb.tsrx +1 -1
- package/src/bases/base-ui/ui/button.tsrx +1 -1
- package/src/bases/base-ui/ui/card.tsrx +1 -1
- package/src/bases/base-ui/ui/checkbox.tsrx +1 -1
- package/src/bases/base-ui/ui/context-menu.tsrx +22 -17
- package/src/bases/base-ui/ui/dialog.tsrx +31 -40
- package/src/bases/base-ui/ui/dropdown-menu.tsrx +22 -17
- package/src/bases/base-ui/ui/empty.tsrx +1 -1
- package/src/bases/base-ui/ui/field.tsrx +1 -1
- package/src/bases/base-ui/ui/hover-card.tsrx +18 -16
- package/src/bases/base-ui/ui/input.tsrx +1 -1
- package/src/bases/base-ui/ui/item.tsrx +1 -1
- package/src/bases/base-ui/ui/kbd.tsrx +1 -1
- package/src/bases/base-ui/ui/label.tsrx +1 -1
- package/src/bases/base-ui/ui/menubar.tsrx +22 -17
- package/src/bases/base-ui/ui/native-select.tsrx +1 -1
- package/src/bases/base-ui/ui/navigation-menu.tsrx +137 -0
- package/src/bases/base-ui/ui/pagination.tsrx +1 -1
- package/src/bases/base-ui/ui/popover.tsrx +18 -16
- package/src/bases/base-ui/ui/progress.tsrx +1 -1
- package/src/bases/base-ui/ui/radio-group.tsrx +1 -1
- package/src/bases/base-ui/ui/scroll-area.tsrx +44 -0
- package/src/bases/base-ui/ui/select.tsrx +157 -0
- package/src/bases/base-ui/ui/separator.tsrx +1 -1
- package/src/bases/base-ui/ui/sheet.tsrx +1 -1
- package/src/bases/base-ui/ui/sidebar.tsrx +1 -1
- package/src/bases/base-ui/ui/skeleton.tsrx +1 -1
- package/src/bases/base-ui/ui/slider.tsrx +41 -52
- package/src/bases/base-ui/ui/spinner.tsrx +1 -1
- package/src/bases/base-ui/ui/switch.tsrx +1 -1
- package/src/bases/base-ui/ui/table.tsrx +1 -1
- package/src/bases/base-ui/ui/tabs.tsrx +8 -17
- package/src/bases/base-ui/ui/textarea.tsrx +1 -1
- package/src/bases/base-ui/ui/toggle-group.tsrx +22 -32
- package/src/bases/base-ui/ui/toggle.tsrx +1 -1
- package/src/bases/base-ui/ui/tooltip.tsrx +18 -16
- package/src/bases/radix/ui/accordion.tsrx +1 -1
- package/src/bases/radix/ui/alert-dialog.tsrx +1 -1
- package/src/bases/radix/ui/alert.tsrx +1 -1
- package/src/bases/radix/ui/avatar.tsrx +1 -1
- package/src/bases/radix/ui/badge.tsrx +1 -1
- package/src/bases/radix/ui/breadcrumb.tsrx +1 -1
- package/src/bases/radix/ui/button.tsrx +1 -1
- package/src/bases/radix/ui/card.tsrx +1 -1
- package/src/bases/radix/ui/checkbox.tsrx +1 -1
- package/src/bases/radix/ui/context-menu.tsrx +1 -1
- package/src/bases/radix/ui/dialog.tsrx +1 -1
- package/src/bases/radix/ui/dropdown-menu.tsrx +1 -1
- package/src/bases/radix/ui/empty.tsrx +1 -1
- package/src/bases/radix/ui/field.tsrx +1 -1
- package/src/bases/radix/ui/hover-card.tsrx +1 -1
- package/src/bases/radix/ui/input.tsrx +1 -1
- package/src/bases/radix/ui/item.tsrx +1 -1
- package/src/bases/radix/ui/kbd.tsrx +1 -1
- package/src/bases/radix/ui/label.tsrx +1 -1
- package/src/bases/radix/ui/menubar.tsrx +1 -1
- package/src/bases/radix/ui/native-select.tsrx +1 -1
- package/src/bases/radix/ui/navigation-menu.tsrx +1 -1
- package/src/bases/radix/ui/pagination.tsrx +1 -1
- package/src/bases/radix/ui/popover.tsrx +1 -1
- package/src/bases/radix/ui/progress.tsrx +1 -1
- package/src/bases/radix/ui/radio-group.tsrx +1 -1
- package/src/bases/radix/ui/scroll-area.tsrx +1 -1
- package/src/bases/radix/ui/select.tsrx +1 -1
- package/src/bases/radix/ui/separator.tsrx +1 -1
- package/src/bases/radix/ui/sheet.tsrx +1 -1
- package/src/bases/radix/ui/sidebar.tsrx +1 -1
- package/src/bases/radix/ui/skeleton.tsrx +1 -1
- package/src/bases/radix/ui/slider.tsrx +1 -1
- package/src/bases/radix/ui/spinner.tsrx +1 -1
- package/src/bases/radix/ui/switch.tsrx +1 -1
- package/src/bases/radix/ui/table.tsrx +1 -1
- package/src/bases/radix/ui/tabs.tsrx +1 -1
- package/src/bases/radix/ui/textarea.tsrx +1 -1
- package/src/bases/radix/ui/toggle-group.tsrx +1 -1
- package/src/bases/radix/ui/toggle.tsrx +1 -1
- package/src/bases/radix/ui/tooltip.tsrx +1 -1
- package/src/bases/react-aria/ui/accordion.tsrx +1 -1
- package/src/bases/react-aria/ui/alert-dialog.tsrx +1 -1
- package/src/bases/react-aria/ui/alert.tsrx +1 -1
- package/src/bases/react-aria/ui/aspect-ratio.tsrx +1 -1
- package/src/bases/react-aria/ui/avatar.tsrx +1 -1
- package/src/bases/react-aria/ui/badge.tsrx +1 -1
- package/src/bases/react-aria/ui/breadcrumb.tsrx +1 -1
- package/src/bases/react-aria/ui/button.tsrx +1 -1
- package/src/bases/react-aria/ui/card.tsrx +1 -1
- package/src/bases/react-aria/ui/checkbox.tsrx +1 -1
- package/src/bases/react-aria/ui/dialog.tsrx +1 -1
- package/src/bases/react-aria/ui/empty.tsrx +1 -1
- package/src/bases/react-aria/ui/field.tsrx +1 -1
- package/src/bases/react-aria/ui/input.tsrx +1 -1
- package/src/bases/react-aria/ui/item.tsrx +1 -1
- package/src/bases/react-aria/ui/kbd.tsrx +1 -1
- package/src/bases/react-aria/ui/label.tsrx +1 -1
- package/src/bases/react-aria/ui/native-select.tsrx +1 -1
- package/src/bases/react-aria/ui/pagination.tsrx +1 -1
- package/src/bases/react-aria/ui/popover.tsrx +1 -1
- package/src/bases/react-aria/ui/radio-group.tsrx +1 -1
- package/src/bases/react-aria/ui/scroll-area.tsrx +1 -1
- package/src/bases/react-aria/ui/separator.tsrx +1 -1
- package/src/bases/react-aria/ui/sheet.tsrx +1 -1
- package/src/bases/react-aria/ui/skeleton.tsrx +1 -1
- package/src/bases/react-aria/ui/slider.tsrx +1 -1
- package/src/bases/react-aria/ui/spinner.tsrx +1 -1
- package/src/bases/react-aria/ui/switch.tsrx +1 -1
- package/src/bases/react-aria/ui/table.tsrx +1 -1
- package/src/bases/react-aria/ui/tabs.tsrx +1 -1
- package/src/bases/react-aria/ui/textarea.tsrx +1 -1
- package/src/bases/react-aria/ui/toggle.tsrx +1 -1
- package/src/lib/utils.ts +1 -8
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import { cva, type VariantProps } from 'class-variance-authority';
|
|
5
5
|
import { Toggle as TogglePrimitive } from '@octanejs/radix';
|
|
6
6
|
|
|
7
|
-
import { cn } from '
|
|
7
|
+
import { cn } from 'cn';
|
|
8
8
|
|
|
9
9
|
export const toggleVariants = cva(
|
|
10
10
|
'inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-[color,box-shadow] outline-none hover:bg-muted hover:text-muted-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=\'size-\'])]:size-4',
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
import { createElement, type OctaneNode } from 'octane';
|
|
11
11
|
import { Tooltip as TooltipPrimitive } from '@octanejs/radix';
|
|
12
12
|
|
|
13
|
-
import { cn } from '
|
|
13
|
+
import { cn } from 'cn';
|
|
14
14
|
|
|
15
15
|
export interface TooltipProviderProps extends Record<string, unknown> {
|
|
16
16
|
delayDuration?: number;
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
type DisclosureProps,
|
|
12
12
|
} from '@octanejs/aria/components';
|
|
13
13
|
|
|
14
|
-
import { cn } from '
|
|
14
|
+
import { cn } from 'cn';
|
|
15
15
|
import { ChevronDownIcon, ChevronUpIcon } from '@octanejs/lucide';
|
|
16
16
|
|
|
17
17
|
export function Accordion({ className, ...props }: DisclosureGroupProps) {
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
} from '@octanejs/aria/components';
|
|
15
15
|
import type { HeadingProps } from '@octanejs/aria/components';
|
|
16
16
|
|
|
17
|
-
import { cn } from '
|
|
17
|
+
import { cn } from 'cn';
|
|
18
18
|
import type { HostProps } from '../../../lib/types';
|
|
19
19
|
import { Button } from './button.tsrx';
|
|
20
20
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type OctaneNode } from 'octane';
|
|
2
2
|
import { cva, type VariantProps } from 'class-variance-authority';
|
|
3
3
|
|
|
4
|
-
import { cn } from '
|
|
4
|
+
import { cn } from 'cn';
|
|
5
5
|
import type { HostProps } from '../../../lib/types';
|
|
6
6
|
|
|
7
7
|
export const badgeVariants = cva(
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
type LinkProps,
|
|
16
16
|
} from '@octanejs/aria/components';
|
|
17
17
|
|
|
18
|
-
import { cn } from '
|
|
18
|
+
import { cn } from 'cn';
|
|
19
19
|
import type { HostProps } from '../../../lib/types';
|
|
20
20
|
import { ChevronRightIcon, MoreHorizontalIcon } from '@octanejs/lucide';
|
|
21
21
|
|
|
@@ -19,7 +19,7 @@ import type {
|
|
|
19
19
|
LinkProps as LinkPrimitiveProps,
|
|
20
20
|
} from '@octanejs/aria/components';
|
|
21
21
|
|
|
22
|
-
import { cn } from '
|
|
22
|
+
import { cn } from 'cn';
|
|
23
23
|
|
|
24
24
|
export const buttonVariants = cva(
|
|
25
25
|
'group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=\'size-\'])]:size-4',
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
type CheckboxRenderProps,
|
|
12
12
|
} from '@octanejs/aria/components';
|
|
13
13
|
|
|
14
|
-
import { cn } from '
|
|
14
|
+
import { cn } from 'cn';
|
|
15
15
|
import { CheckIcon } from '@octanejs/lucide';
|
|
16
16
|
|
|
17
17
|
export function Checkbox({ className, children, ...props }: CheckboxProps) {
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
type ModalOverlayProps as ModalOverlayPrimitiveProps,
|
|
11
11
|
} from '@octanejs/aria/components';
|
|
12
12
|
|
|
13
|
-
import { cn } from '
|
|
13
|
+
import { cn } from 'cn';
|
|
14
14
|
import type { HostProps } from '../../../lib/types';
|
|
15
15
|
import { Button } from './button.tsrx';
|
|
16
16
|
import { XIcon } from '@octanejs/lucide';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type OctaneNode, useMemo } from 'octane';
|
|
2
2
|
import { cva, type VariantProps } from 'class-variance-authority';
|
|
3
3
|
|
|
4
|
-
import { cn } from '
|
|
4
|
+
import { cn } from 'cn';
|
|
5
5
|
import type { HostProps } from '../../../lib/types';
|
|
6
6
|
import { Label } from './label.tsrx';
|
|
7
7
|
import { Separator } from './separator.tsrx';
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
import { composeRenderProps, Input as InputPrimitive } from '@octanejs/aria/components';
|
|
9
9
|
import type { InputProps as InputPrimitiveProps } from '@octanejs/aria/components';
|
|
10
10
|
|
|
11
|
-
import { cn } from '
|
|
11
|
+
import { cn } from 'cn';
|
|
12
12
|
|
|
13
13
|
export interface InputProps extends InputPrimitiveProps {}
|
|
14
14
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { cva, type VariantProps } from 'class-variance-authority';
|
|
2
2
|
import { Link as LinkPrimitive, type LinkProps } from '@octanejs/aria/components';
|
|
3
3
|
|
|
4
|
-
import { cn } from '
|
|
4
|
+
import { cn } from 'cn';
|
|
5
5
|
import type { HostProps } from '../../../lib/types';
|
|
6
6
|
import { Separator } from './separator.tsrx';
|
|
7
7
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
// utilities-inlined flavor, matching the Radix base.
|
|
6
6
|
import { Keyboard as KbdPrimitive } from '@octanejs/aria/components';
|
|
7
7
|
|
|
8
|
-
import { cn } from '
|
|
8
|
+
import { cn } from 'cn';
|
|
9
9
|
import type { HostProps } from '../../../lib/types';
|
|
10
10
|
|
|
11
11
|
export interface KbdProps extends HostProps<'kbd'> {}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { LabelContext, Label as LabelPrimitive, type LabelProps } from '@octanejs/aria/components';
|
|
2
2
|
|
|
3
|
-
import { cn } from '
|
|
3
|
+
import { cn } from 'cn';
|
|
4
4
|
|
|
5
5
|
export function Label({ className, htmlFor, slot, ...props }: LabelProps) {
|
|
6
6
|
const label = <LabelPrimitive
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
} from '@octanejs/aria/components';
|
|
8
8
|
import type { HeadingProps } from '@octanejs/aria/components';
|
|
9
9
|
|
|
10
|
-
import { cn } from '
|
|
10
|
+
import { cn } from 'cn';
|
|
11
11
|
import type { HostProps } from '../../../lib/types';
|
|
12
12
|
|
|
13
13
|
export function PopoverTrigger({ children, ...props }: DialogTriggerProps) {
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
// reason. The non-conditional utilities stay in step with the Radix base.
|
|
9
9
|
import { Separator as SeparatorPrimitive } from '@octanejs/aria/components';
|
|
10
10
|
|
|
11
|
-
import { cn } from '
|
|
11
|
+
import { cn } from 'cn';
|
|
12
12
|
|
|
13
13
|
export interface SeparatorProps extends Record<string, unknown> {
|
|
14
14
|
className?: string;
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
} from '@octanejs/aria/components';
|
|
15
15
|
import type { HeadingProps } from '@octanejs/aria/components';
|
|
16
16
|
|
|
17
|
-
import { cn } from '
|
|
17
|
+
import { cn } from 'cn';
|
|
18
18
|
import type { HostProps } from '../../../lib/types';
|
|
19
19
|
import { Button } from './button.tsrx';
|
|
20
20
|
import { XIcon } from '@octanejs/lucide';
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
// SVG attribute types do not describe them.
|
|
12
12
|
import { Loader2Icon } from '@octanejs/lucide';
|
|
13
13
|
|
|
14
|
-
import { cn } from '
|
|
14
|
+
import { cn } from 'cn';
|
|
15
15
|
|
|
16
16
|
export interface SpinnerProps extends Record<string, unknown> {
|
|
17
17
|
className?: string;
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
type SwitchRenderProps,
|
|
12
12
|
} from '@octanejs/aria/components';
|
|
13
13
|
|
|
14
|
-
import { cn } from '
|
|
14
|
+
import { cn } from 'cn';
|
|
15
15
|
|
|
16
16
|
export function Switch({ className, size = 'default', children, ...props }: SwitchPrimitiveProps & {
|
|
17
17
|
size?: 'sm' | 'default';
|
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
type TableProps,
|
|
20
20
|
} from '@octanejs/aria/components';
|
|
21
21
|
|
|
22
|
-
import { cn } from '
|
|
22
|
+
import { cn } from 'cn';
|
|
23
23
|
import type { HostProps } from '../../../lib/types';
|
|
24
24
|
|
|
25
25
|
export function Table({ className, ...props }: TableProps) {
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
} from '@octanejs/aria/components';
|
|
8
8
|
import type { TabPanelProps, TabProps, TabsProps } from '@octanejs/aria/components';
|
|
9
9
|
|
|
10
|
-
import { cn } from '
|
|
10
|
+
import { cn } from 'cn';
|
|
11
11
|
|
|
12
12
|
export function Tabs({ className, ...props }: TabsProps) {
|
|
13
13
|
return <TabsPrimitive
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
import { composeRenderProps, TextArea as TextareaPrimitive } from '@octanejs/aria/components';
|
|
8
8
|
import type { TextAreaProps as TextareaPrimitiveProps } from '@octanejs/aria/components';
|
|
9
9
|
|
|
10
|
-
import { cn } from '
|
|
10
|
+
import { cn } from 'cn';
|
|
11
11
|
|
|
12
12
|
export interface TextareaProps extends TextareaPrimitiveProps {}
|
|
13
13
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { cva, type VariantProps } from 'class-variance-authority';
|
|
2
2
|
import { ToggleButton as TogglePrimitive, type ToggleButtonProps } from '@octanejs/aria/components';
|
|
3
3
|
|
|
4
|
-
import { cn } from '
|
|
4
|
+
import { cn } from 'cn';
|
|
5
5
|
|
|
6
6
|
export const toggleVariants = cva(
|
|
7
7
|
'group/toggle inline-flex items-center justify-center gap-1 rounded-lg text-sm font-medium whitespace-nowrap transition-all outline-none hover:bg-muted hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 aria-pressed:bg-muted data-[state=on]:bg-muted dark:aria-invalid:ring-destructive/40 data-selected:bg-muted [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=\'size-\'])]:size-4',
|
package/src/lib/utils.ts
CHANGED
|
@@ -1,8 +1 @@
|
|
|
1
|
-
|
|
2
|
-
// apps/v4/registry/bases/radix/lib/utils.ts — unchanged (framework-free).
|
|
3
|
-
import { clsx, type ClassValue } from 'clsx';
|
|
4
|
-
import { twMerge } from 'tailwind-merge';
|
|
5
|
-
|
|
6
|
-
export function cn(...inputs: ClassValue[]) {
|
|
7
|
-
return twMerge(clsx(inputs));
|
|
8
|
-
}
|
|
1
|
+
export { cn } from 'cn';
|