@ptengine/design-components 0.7.0 → 0.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +24 -0
- package/dist/components/ui/search-input.d.ts +1 -1
- package/dist/components/ui/select.d.ts +1 -1
- package/dist/components/ui/select.d.ts.map +1 -1
- package/dist/index.cjs +2 -2
- package/dist/index.js +90 -90
- package/package.json +1 -1
- package/src/components/ui/alert-dialog.tsx +2 -2
- package/src/components/ui/alert.tsx +1 -1
- package/src/components/ui/attachment.tsx +4 -4
- package/src/components/ui/bubble.tsx +1 -1
- package/src/components/ui/button-group.tsx +1 -1
- package/src/components/ui/button.tsx +7 -7
- package/src/components/ui/calendar.tsx +3 -3
- package/src/components/ui/chart.tsx +1 -1
- package/src/components/ui/checkbox.tsx +1 -1
- package/src/components/ui/command.tsx +3 -3
- package/src/components/ui/context-menu.tsx +6 -6
- package/src/components/ui/dialog.tsx +4 -4
- package/src/components/ui/drawer.tsx +1 -1
- package/src/components/ui/dropdown-menu.tsx +6 -6
- package/src/components/ui/empty.tsx +2 -2
- package/src/components/ui/hover-card.tsx +1 -1
- package/src/components/ui/input-group.tsx +1 -1
- package/src/components/ui/input-otp.tsx +1 -1
- package/src/components/ui/input.tsx +1 -1
- package/src/components/ui/item.tsx +3 -3
- package/src/components/ui/kbd.tsx +1 -1
- package/src/components/ui/menubar.tsx +8 -8
- package/src/components/ui/native-select.tsx +1 -1
- package/src/components/ui/navigation-menu.tsx +3 -3
- package/src/components/ui/popover.tsx +1 -1
- package/src/components/ui/prompt-picker.tsx +7 -7
- package/src/components/ui/resizable.tsx +1 -1
- package/src/components/ui/search-input.tsx +1 -1
- package/src/components/ui/select.tsx +3 -3
- package/src/components/ui/sheet.tsx +2 -2
- package/src/components/ui/sidebar.tsx +9 -9
- package/src/components/ui/skeleton.tsx +1 -1
- package/src/components/ui/tabs.tsx +2 -2
- package/src/components/ui/textarea.tsx +1 -1
- package/src/components/ui/toggle.tsx +2 -2
- package/src/components/ui/tooltip.tsx +1 -1
package/package.json
CHANGED
|
@@ -19,7 +19,7 @@ const AlertDialogOverlay = React.forwardRef<
|
|
|
19
19
|
/* 稳定钩子,供消费方测试查询遮罩层;勿改名。 */
|
|
20
20
|
data-slot="alert-dialog-overlay"
|
|
21
21
|
className={cn(
|
|
22
|
-
'ptx-fixed ptx-inset-0 ptx-z-[var(--pt-z-overlay,50)] ptx-bg-[rgb(var(--
|
|
22
|
+
'ptx-fixed ptx-inset-0 ptx-z-[var(--pt-z-overlay,50)] ptx-bg-[rgb(var(--ptx-black)/0.8)] data-[state=open]:ptx-animate-in data-[state=closed]:ptx-animate-out data-[state=closed]:ptx-fade-out-0 data-[state=open]:ptx-fade-in-0',
|
|
23
23
|
className
|
|
24
24
|
)}
|
|
25
25
|
{...props}
|
|
@@ -36,7 +36,7 @@ const AlertDialogContent = React.forwardRef<
|
|
|
36
36
|
<AlertDialogPrimitive.Content
|
|
37
37
|
ref={ref}
|
|
38
38
|
className={cn(
|
|
39
|
-
'ptx-fixed ptx-left-[50%] ptx-top-[50%] ptx-z-[var(--pt-z-overlay,50)] ptx-grid ptx-w-full ptx-max-w-lg ptx-translate-x-[-50%] ptx-translate-y-[-50%] ptx-gap-[16px] ptx-border ptx-bg-background ptx-p-[24px] ptx-shadow-lg ptx-duration-200 data-[state=open]:ptx-animate-in data-[state=closed]:ptx-animate-out data-[state=closed]:ptx-fade-out-0 data-[state=open]:ptx-fade-in-0 data-[state=closed]:ptx-zoom-out-95 data-[state=open]:ptx-zoom-in-95 data-[state=closed]:ptx-slide-out-to-left-1/2 data-[state=closed]:ptx-slide-out-to-top-[48%] data-[state=open]:ptx-slide-in-from-left-1/2 data-[state=open]:ptx-slide-in-from-top-[48%] sm:ptx-rounded-[var(--
|
|
39
|
+
'ptx-fixed ptx-left-[50%] ptx-top-[50%] ptx-z-[var(--pt-z-overlay,50)] ptx-grid ptx-w-full ptx-max-w-lg ptx-translate-x-[-50%] ptx-translate-y-[-50%] ptx-gap-[16px] ptx-border ptx-bg-background ptx-p-[24px] ptx-shadow-lg ptx-duration-200 data-[state=open]:ptx-animate-in data-[state=closed]:ptx-animate-out data-[state=closed]:ptx-fade-out-0 data-[state=open]:ptx-fade-in-0 data-[state=closed]:ptx-zoom-out-95 data-[state=open]:ptx-zoom-in-95 data-[state=closed]:ptx-slide-out-to-left-1/2 data-[state=closed]:ptx-slide-out-to-top-[48%] data-[state=open]:ptx-slide-in-from-left-1/2 data-[state=open]:ptx-slide-in-from-top-[48%] sm:ptx-rounded-[var(--ptx-radius)]',
|
|
40
40
|
className
|
|
41
41
|
)}
|
|
42
42
|
{...props}
|
|
@@ -4,7 +4,7 @@ import { cva, type VariantProps } from 'class-variance-authority';
|
|
|
4
4
|
import { cn } from '../../lib/utils';
|
|
5
5
|
|
|
6
6
|
const alertVariants = cva(
|
|
7
|
-
'ptx-relative ptx-w-full ptx-rounded-[var(--
|
|
7
|
+
'ptx-relative ptx-w-full ptx-rounded-[var(--ptx-radius)] ptx-border ptx-px-[16px] ptx-py-[12px] ptx-text-sm [&>svg+div]:ptx-translate-y-[-3px] [&>svg]:ptx-absolute [&>svg]:ptx-left-[16px] [&>svg]:ptx-top-[16px] [&>svg]:ptx-size-[16px] [&>svg~*]:ptx-pl-[28px]',
|
|
8
8
|
{
|
|
9
9
|
variants: {
|
|
10
10
|
variant: {
|
|
@@ -6,14 +6,14 @@ import { cn } from '../../lib/utils';
|
|
|
6
6
|
import { Button } from './button';
|
|
7
7
|
|
|
8
8
|
const attachmentVariants = cva(
|
|
9
|
-
'group/attachment ptx-relative ptx-isolate ptx-flex ptx-w-fit ptx-max-w-full ptx-min-w-0 ptx-shrink-0 ptx-flex-wrap ptx-rounded-[var(--
|
|
9
|
+
'group/attachment ptx-relative ptx-isolate ptx-flex ptx-w-fit ptx-max-w-full ptx-min-w-0 ptx-shrink-0 ptx-flex-wrap ptx-rounded-[var(--ptx-radius)] ptx-border ptx-bg-card ptx-text-card-foreground ptx-transition-colors focus-within:ptx-ring-1 focus-within:ptx-ring-ring data-[state=error]:ptx-border-destructive/30 data-[state=idle]:ptx-border-dashed after:ptx-pointer-events-none after:ptx-absolute after:ptx-inset-0 after:ptx-rounded-[inherit] after:ptx-bg-[rgb(var(--ptx-interaction-hover))] after:ptx-opacity-0 after:ptx-transition-opacity has-[>a,>button]:hover:after:ptx-opacity-100 has-[>a,>button]:active:after:ptx-bg-[rgb(var(--ptx-interaction-press))] has-[>a,>button]:active:after:ptx-opacity-100',
|
|
10
10
|
{
|
|
11
11
|
variants: {
|
|
12
12
|
size: {
|
|
13
13
|
default:
|
|
14
14
|
'ptx-gap-[8px] ptx-text-sm has-[[data-slot=attachment-content]]:ptx-px-[10px] has-[[data-slot=attachment-content]]:ptx-py-[8px] has-[[data-slot=attachment-media]]:ptx-p-[8px]',
|
|
15
15
|
sm: 'ptx-gap-[10px] ptx-text-xs has-[[data-slot=attachment-content]]:ptx-px-[8px] has-[[data-slot=attachment-content]]:ptx-py-[6px] has-[[data-slot=attachment-media]]:ptx-p-[6px]',
|
|
16
|
-
xs: 'ptx-gap-[6px] ptx-rounded-[var(--
|
|
16
|
+
xs: 'ptx-gap-[6px] ptx-rounded-[var(--ptx-radius-md)] ptx-text-xs has-[[data-slot=attachment-content]]:ptx-px-[6px] has-[[data-slot=attachment-content]]:ptx-py-[4px] has-[[data-slot=attachment-media]]:ptx-p-[4px]'
|
|
17
17
|
},
|
|
18
18
|
orientation: {
|
|
19
19
|
horizontal: 'ptx-min-w-[160px] ptx-items-center',
|
|
@@ -46,7 +46,7 @@ function Attachment({
|
|
|
46
46
|
}
|
|
47
47
|
|
|
48
48
|
const attachmentMediaVariants = cva(
|
|
49
|
-
"ptx-relative ptx-flex ptx-aspect-square ptx-w-[40px] ptx-shrink-0 ptx-items-center ptx-justify-center ptx-overflow-hidden ptx-rounded-[var(--
|
|
49
|
+
"ptx-relative ptx-flex ptx-aspect-square ptx-w-[40px] ptx-shrink-0 ptx-items-center ptx-justify-center ptx-overflow-hidden ptx-rounded-[var(--ptx-radius-md)] ptx-bg-muted ptx-text-foreground group-data-[orientation=vertical]/attachment:ptx-w-full group-data-[size=sm]/attachment:ptx-w-[32px] group-data-[size=xs]/attachment:ptx-w-[28px] group-data-[size=xs]/attachment:ptx-rounded-[var(--ptx-radius-sm)] group-data-[state=error]/attachment:ptx-bg-destructive/10 group-data-[state=error]/attachment:ptx-text-destructive group-data-[orientation=vertical]/attachment:[&>[data-slot=spinner]]:!ptx-size-[24px] [&_svg]:ptx-pointer-events-none [&_svg:not([class*='size-'])]:ptx-size-[16px] group-data-[orientation=vertical]/attachment:[&_svg:not([class*='size-'])]:ptx-size-[24px] group-data-[size=xs]/attachment:[&_svg:not([class*='size-'])]:ptx-size-[14px]",
|
|
50
50
|
{
|
|
51
51
|
variants: {
|
|
52
52
|
variant: {
|
|
@@ -133,7 +133,7 @@ function AttachmentAction({ className, variant, size, ...props }: React.Componen
|
|
|
133
133
|
data-slot="attachment-action"
|
|
134
134
|
variant={variant ?? 'ghost'}
|
|
135
135
|
size={size ?? 'icon'}
|
|
136
|
-
className={cn('ptx-h-[24px] ptx-w-[24px] ptx-rounded-[var(--
|
|
136
|
+
className={cn('ptx-h-[24px] ptx-w-[24px] ptx-rounded-[var(--ptx-radius-sm)] [&_svg]:ptx-size-[14px]', className)}
|
|
137
137
|
{...props}
|
|
138
138
|
/>
|
|
139
139
|
);
|
|
@@ -71,7 +71,7 @@ function BubbleContent({
|
|
|
71
71
|
<Comp
|
|
72
72
|
data-slot="bubble-content"
|
|
73
73
|
className={cn(
|
|
74
|
-
'ptx-w-fit ptx-max-w-full ptx-min-w-0 ptx-overflow-hidden ptx-break-words ptx-rounded-[var(--
|
|
74
|
+
'ptx-w-fit ptx-max-w-full ptx-min-w-0 ptx-overflow-hidden ptx-break-words ptx-rounded-[var(--ptx-radius)] ptx-border ptx-border-transparent ptx-px-[12px] ptx-py-[8px] ptx-text-sm ptx-leading-relaxed group-data-[align=end]/bubble:ptx-self-end',
|
|
75
75
|
'[&:is(button,a)]:ptx-state-layer [&:is(button)]:ptx-text-left [&:is(button,a)]:ptx-cursor-pointer [&:is(button,a)]:focus-visible:ptx-outline-none [&:is(button,a)]:focus-visible:ptx-ring-1 [&:is(button,a)]:focus-visible:ptx-ring-ring',
|
|
76
76
|
className
|
|
77
77
|
)}
|
|
@@ -48,7 +48,7 @@ function ButtonGroupText({
|
|
|
48
48
|
<Comp
|
|
49
49
|
data-slot="button-group-text"
|
|
50
50
|
className={cn(
|
|
51
|
-
"ptx-flex ptx-items-center ptx-gap-[8px] ptx-rounded-[var(--
|
|
51
|
+
"ptx-flex ptx-items-center ptx-gap-[8px] ptx-rounded-[var(--ptx-radius-md)] ptx-border ptx-bg-muted ptx-px-[16px] ptx-text-sm ptx-font-medium ptx-text-foreground [&_svg]:ptx-pointer-events-none [&_svg:not([class*='size-'])]:ptx-size-[16px]",
|
|
52
52
|
className
|
|
53
53
|
)}
|
|
54
54
|
{...props}
|
|
@@ -5,7 +5,7 @@ import { cva, type VariantProps } from 'class-variance-authority';
|
|
|
5
5
|
import { cn } from '../../lib/utils';
|
|
6
6
|
|
|
7
7
|
const buttonVariants = cva(
|
|
8
|
-
'ptx-inline-flex ptx-items-center ptx-justify-center ptx-gap-[8px] ptx-whitespace-nowrap ptx-rounded-[var(--
|
|
8
|
+
'ptx-inline-flex ptx-items-center ptx-justify-center ptx-gap-[8px] ptx-whitespace-nowrap ptx-rounded-[var(--ptx-radius-md)] ptx-text-sm ptx-font-medium ptx-transition-colors focus-visible:ptx-outline-none focus-visible:ptx-ring-2 focus-visible:ptx-ring-ring focus-visible:ptx-ring-offset-2 disabled:ptx-cursor-not-allowed disabled:ptx-opacity-50 [&_svg]:ptx-pointer-events-none [&_svg]:ptx-size-[16px] [&_svg]:ptx-shrink-0',
|
|
9
9
|
{
|
|
10
10
|
variants: {
|
|
11
11
|
variant: {
|
|
@@ -18,17 +18,17 @@ const buttonVariants = cva(
|
|
|
18
18
|
ghost: 'ptx-state-layer ptx-text-foreground',
|
|
19
19
|
/* 静默警示钮:常态同 ghost/secondary,hover/按下 内容变 --pt-red(删除等场景) */
|
|
20
20
|
'ghost-destructive':
|
|
21
|
-
'ptx-state-layer ptx-text-foreground hover:ptx-text-[rgb(var(--
|
|
21
|
+
'ptx-state-layer ptx-text-foreground hover:ptx-text-[rgb(var(--ptx-red))] active:ptx-text-[rgb(var(--ptx-red))]',
|
|
22
22
|
'secondary-destructive':
|
|
23
|
-
'ptx-state-layer ptx-border ptx-border-input ptx-bg-background ptx-text-foreground [--pt-state-layer-border:1px] hover:ptx-text-[rgb(var(--
|
|
23
|
+
'ptx-state-layer ptx-border ptx-border-input ptx-bg-background ptx-text-foreground [--pt-state-layer-border:1px] hover:ptx-text-[rgb(var(--ptx-red))] active:ptx-text-[rgb(var(--ptx-red))]',
|
|
24
24
|
link: 'ptx-text-primary ptx-underline-offset-4 hover:ptx-underline'
|
|
25
25
|
},
|
|
26
26
|
/* 控件三档刻度:sm 24(字12/图16)· default 32(字13/图16)· lg 40(字14/图20);语义图标 16/16/20 */
|
|
27
27
|
size: {
|
|
28
|
-
sm: 'ptx-h-[24px] ptx-gap-[4px] ptx-rounded-[var(--
|
|
29
|
-
default: 'ptx-h-[32px] ptx-rounded-[var(--
|
|
30
|
-
lg: 'ptx-h-[40px] ptx-rounded-[var(--
|
|
31
|
-
'icon-sm': 'ptx-h-[24px] ptx-w-[24px] ptx-rounded-[var(--
|
|
28
|
+
sm: 'ptx-h-[24px] ptx-gap-[4px] ptx-rounded-[var(--ptx-radius-sm)] ptx-px-[8px] ptx-text-2xs',
|
|
29
|
+
default: 'ptx-h-[32px] ptx-rounded-[var(--ptx-radius-md)] ptx-px-[12px] ptx-text-xs',
|
|
30
|
+
lg: 'ptx-h-[40px] ptx-rounded-[var(--ptx-radius-md)] ptx-px-[16px] ptx-text-sm [&_svg]:ptx-size-[20px]',
|
|
31
|
+
'icon-sm': 'ptx-h-[24px] ptx-w-[24px] ptx-rounded-[var(--ptx-radius-sm)]',
|
|
32
32
|
icon: 'ptx-h-[32px] ptx-w-[32px]',
|
|
33
33
|
'icon-lg': 'ptx-h-[40px] ptx-w-[40px] [&_svg]:ptx-size-[20px]'
|
|
34
34
|
}
|
|
@@ -23,7 +23,7 @@ function Calendar({ className, classNames, showOutsideDays = true, ...props }: C
|
|
|
23
23
|
month_grid: 'ptx-w-full ptx-border-collapse',
|
|
24
24
|
weekdays: 'ptx-flex',
|
|
25
25
|
weekday:
|
|
26
|
-
'ptx-w-[32px] ptx-rounded-[var(--
|
|
26
|
+
'ptx-w-[32px] ptx-rounded-[var(--ptx-radius-md)] ptx-text-2xs ptx-font-normal ptx-text-muted-foreground',
|
|
27
27
|
week: 'ptx-mt-[8px] ptx-flex ptx-w-full',
|
|
28
28
|
day: 'ptx-relative ptx-p-0 ptx-text-center ptx-text-sm focus-within:ptx-relative focus-within:ptx-z-20',
|
|
29
29
|
day_button: cn(
|
|
@@ -33,9 +33,9 @@ function Calendar({ className, classNames, showOutsideDays = true, ...props }: C
|
|
|
33
33
|
/* range 端点:黑底白字按钮;格子层同时铺 8% 底带并只圆外侧角,
|
|
34
34
|
让中段底带连续延伸到端点下方不断开 */
|
|
35
35
|
range_start:
|
|
36
|
-
'day-range-start ptx-bg-selected ptx-rounded-l-[var(--
|
|
36
|
+
'day-range-start ptx-bg-selected ptx-rounded-l-[var(--ptx-radius-md)] [&>button]:ptx-bg-primary [&>button]:ptx-text-primary-foreground [&>button]:ptx-font-medium',
|
|
37
37
|
range_end:
|
|
38
|
-
'day-range-end ptx-bg-selected ptx-rounded-r-[var(--
|
|
38
|
+
'day-range-end ptx-bg-selected ptx-rounded-r-[var(--ptx-radius-md)] [&>button]:ptx-bg-primary [&>button]:ptx-text-primary-foreground [&>button]:ptx-font-medium',
|
|
39
39
|
/* 单选模式选中=黑底白字;range 模式交给 range_start/end/middle 三键,不在此重复设底 */
|
|
40
40
|
selected:
|
|
41
41
|
props.mode === 'range'
|
|
@@ -160,7 +160,7 @@ const ChartTooltipContent = React.forwardRef<
|
|
|
160
160
|
<div
|
|
161
161
|
ref={ref}
|
|
162
162
|
className={cn(
|
|
163
|
-
'ptx-grid ptx-min-w-[8rem] ptx-items-start ptx-gap-[6px] ptx-rounded-[var(--
|
|
163
|
+
'ptx-grid ptx-min-w-[8rem] ptx-items-start ptx-gap-[6px] ptx-rounded-[var(--ptx-radius)] ptx-border ptx-bg-background ptx-px-[10px] ptx-py-[6px] ptx-text-xs ptx-shadow-xl',
|
|
164
164
|
className
|
|
165
165
|
)}
|
|
166
166
|
>
|
|
@@ -11,7 +11,7 @@ const Checkbox = React.forwardRef<
|
|
|
11
11
|
<CheckboxPrimitive.Root
|
|
12
12
|
ref={ref}
|
|
13
13
|
className={cn(
|
|
14
|
-
'peer ptx-h-[16px] ptx-w-[16px] ptx-shrink-0 ptx-rounded-[var(--
|
|
14
|
+
'peer ptx-h-[16px] ptx-w-[16px] ptx-shrink-0 ptx-rounded-[var(--ptx-radius-sm)] ptx-border ptx-border-neutral ptx-transition-colors enabled:hover:ptx-border-strong data-[state=unchecked]:enabled:active:ptx-bg-press focus-visible:ptx-outline-none focus-visible:ptx-ring-1 focus-visible:ptx-ring-ring disabled:ptx-cursor-not-allowed disabled:ptx-border-weak disabled:ptx-bg-disable disabled:ptx-text-disabled enabled:data-[state=checked]:ptx-border-primary enabled:data-[state=checked]:ptx-bg-primary enabled:data-[state=checked]:ptx-text-primary-foreground',
|
|
15
15
|
className
|
|
16
16
|
)}
|
|
17
17
|
{...props}
|
|
@@ -13,7 +13,7 @@ const Command = React.forwardRef<
|
|
|
13
13
|
<CommandPrimitive
|
|
14
14
|
ref={ref}
|
|
15
15
|
className={cn(
|
|
16
|
-
'ptx-flex ptx-h-full ptx-w-full ptx-flex-col ptx-overflow-hidden ptx-rounded-[var(--
|
|
16
|
+
'ptx-flex ptx-h-full ptx-w-full ptx-flex-col ptx-overflow-hidden ptx-rounded-[var(--ptx-radius-md)] ptx-bg-popover ptx-text-popover-foreground',
|
|
17
17
|
className
|
|
18
18
|
)}
|
|
19
19
|
{...props}
|
|
@@ -42,7 +42,7 @@ const CommandInput = React.forwardRef<
|
|
|
42
42
|
<CommandPrimitive.Input
|
|
43
43
|
ref={ref}
|
|
44
44
|
className={cn(
|
|
45
|
-
'ptx-flex ptx-h-[40px] ptx-w-full ptx-rounded-[var(--
|
|
45
|
+
'ptx-flex ptx-h-[40px] ptx-w-full ptx-rounded-[var(--ptx-radius-md)] ptx-bg-transparent ptx-py-[12px] ptx-text-sm ptx-text-foreground ptx-outline-none placeholder:ptx-text-muted-foreground disabled:ptx-cursor-not-allowed disabled:ptx-opacity-50',
|
|
46
46
|
className
|
|
47
47
|
)}
|
|
48
48
|
{...props}
|
|
@@ -105,7 +105,7 @@ const CommandItem = React.forwardRef<
|
|
|
105
105
|
<CommandPrimitive.Item
|
|
106
106
|
ref={ref}
|
|
107
107
|
className={cn(
|
|
108
|
-
'ptx-relative ptx-flex ptx-cursor-default ptx-select-none ptx-items-center ptx-gap-[8px] ptx-rounded-[var(--
|
|
108
|
+
'ptx-relative ptx-flex ptx-cursor-default ptx-select-none ptx-items-center ptx-gap-[8px] ptx-rounded-[var(--ptx-radius-sm)] ptx-px-[8px] ptx-py-[6px] ptx-text-sm ptx-outline-none data-[disabled=true]:ptx-pointer-events-none data-[selected=true]:ptx-bg-accent data-[selected=true]:ptx-text-accent-foreground data-[disabled=true]:ptx-opacity-50 [&_svg]:ptx-pointer-events-none [&_svg]:ptx-size-[16px] [&_svg]:ptx-shrink-0',
|
|
109
109
|
className
|
|
110
110
|
)}
|
|
111
111
|
{...props}
|
|
@@ -25,7 +25,7 @@ const ContextMenuSubTrigger = React.forwardRef<
|
|
|
25
25
|
<ContextMenuPrimitive.SubTrigger
|
|
26
26
|
ref={ref}
|
|
27
27
|
className={cn(
|
|
28
|
-
'ptx-flex ptx-cursor-default ptx-select-none ptx-items-center ptx-rounded-[var(--
|
|
28
|
+
'ptx-flex ptx-cursor-default ptx-select-none ptx-items-center ptx-rounded-[var(--ptx-radius-sm)] ptx-px-[8px] ptx-py-[6px] ptx-text-sm ptx-outline-none focus:ptx-bg-accent focus:ptx-text-accent-foreground data-[state=open]:ptx-bg-accent data-[state=open]:ptx-text-accent-foreground',
|
|
29
29
|
inset && 'ptx-pl-[32px]',
|
|
30
30
|
className
|
|
31
31
|
)}
|
|
@@ -44,7 +44,7 @@ const ContextMenuSubContent = React.forwardRef<
|
|
|
44
44
|
<ContextMenuPrimitive.SubContent
|
|
45
45
|
ref={ref}
|
|
46
46
|
className={cn(
|
|
47
|
-
'ptx-z-[var(--pt-z-popup,50)] ptx-min-w-[8rem] ptx-overflow-hidden ptx-rounded-[var(--
|
|
47
|
+
'ptx-z-[var(--pt-z-popup,50)] ptx-min-w-[8rem] ptx-overflow-hidden ptx-rounded-[var(--ptx-radius-md)] ptx-border ptx-bg-popover ptx-p-[4px] ptx-text-popover-foreground ptx-shadow-lg data-[state=open]:ptx-animate-in data-[state=closed]:ptx-animate-out data-[state=closed]:ptx-fade-out-0 data-[state=open]:ptx-fade-in-0 data-[state=closed]:ptx-zoom-out-95 data-[state=open]:ptx-zoom-in-95 data-[side=bottom]:ptx-slide-in-from-top-2 data-[side=left]:ptx-slide-in-from-right-2 data-[side=right]:ptx-slide-in-from-left-2 data-[side=top]:ptx-slide-in-from-bottom-2',
|
|
48
48
|
className
|
|
49
49
|
)}
|
|
50
50
|
{...props}
|
|
@@ -60,7 +60,7 @@ const ContextMenuContent = React.forwardRef<
|
|
|
60
60
|
<ContextMenuPrimitive.Content
|
|
61
61
|
ref={ref}
|
|
62
62
|
className={cn(
|
|
63
|
-
'ptx-z-[var(--pt-z-popup,50)] ptx-min-w-[8rem] ptx-overflow-hidden ptx-rounded-[var(--
|
|
63
|
+
'ptx-z-[var(--pt-z-popup,50)] ptx-min-w-[8rem] ptx-overflow-hidden ptx-rounded-[var(--ptx-radius-md)] ptx-border ptx-bg-popover ptx-p-[4px] ptx-text-popover-foreground ptx-shadow-md data-[state=open]:ptx-animate-in data-[state=closed]:ptx-animate-out data-[state=closed]:ptx-fade-out-0 data-[state=open]:ptx-fade-in-0 data-[state=closed]:ptx-zoom-out-95 data-[state=open]:ptx-zoom-in-95 data-[side=bottom]:ptx-slide-in-from-top-2 data-[side=left]:ptx-slide-in-from-right-2 data-[side=right]:ptx-slide-in-from-left-2 data-[side=top]:ptx-slide-in-from-bottom-2',
|
|
64
64
|
className
|
|
65
65
|
)}
|
|
66
66
|
{...props}
|
|
@@ -78,7 +78,7 @@ const ContextMenuItem = React.forwardRef<
|
|
|
78
78
|
<ContextMenuPrimitive.Item
|
|
79
79
|
ref={ref}
|
|
80
80
|
className={cn(
|
|
81
|
-
'ptx-relative ptx-flex ptx-cursor-default ptx-select-none ptx-items-center ptx-gap-[8px] ptx-rounded-[var(--
|
|
81
|
+
'ptx-relative ptx-flex ptx-cursor-default ptx-select-none ptx-items-center ptx-gap-[8px] ptx-rounded-[var(--ptx-radius-sm)] ptx-px-[8px] ptx-py-[6px] ptx-text-sm ptx-outline-none ptx-transition-colors focus:ptx-bg-accent focus:ptx-text-accent-foreground data-[disabled]:ptx-pointer-events-none data-[disabled]:ptx-opacity-50 [&>svg]:ptx-size-[16px] [&>svg]:ptx-shrink-0',
|
|
82
82
|
inset && 'ptx-pl-[32px]',
|
|
83
83
|
className
|
|
84
84
|
)}
|
|
@@ -94,7 +94,7 @@ const ContextMenuCheckboxItem = React.forwardRef<
|
|
|
94
94
|
<ContextMenuPrimitive.CheckboxItem
|
|
95
95
|
ref={ref}
|
|
96
96
|
className={cn(
|
|
97
|
-
'ptx-relative ptx-flex ptx-cursor-default ptx-select-none ptx-items-center ptx-rounded-[var(--
|
|
97
|
+
'ptx-relative ptx-flex ptx-cursor-default ptx-select-none ptx-items-center ptx-rounded-[var(--ptx-radius-sm)] ptx-py-[6px] ptx-pl-[32px] ptx-pr-[8px] ptx-text-sm ptx-outline-none ptx-transition-colors focus:ptx-bg-accent focus:ptx-text-accent-foreground data-[disabled]:ptx-pointer-events-none data-[disabled]:ptx-opacity-50',
|
|
98
98
|
className
|
|
99
99
|
)}
|
|
100
100
|
checked={checked}
|
|
@@ -117,7 +117,7 @@ const ContextMenuRadioItem = React.forwardRef<
|
|
|
117
117
|
<ContextMenuPrimitive.RadioItem
|
|
118
118
|
ref={ref}
|
|
119
119
|
className={cn(
|
|
120
|
-
'ptx-relative ptx-flex ptx-cursor-default ptx-select-none ptx-items-center ptx-rounded-[var(--
|
|
120
|
+
'ptx-relative ptx-flex ptx-cursor-default ptx-select-none ptx-items-center ptx-rounded-[var(--ptx-radius-sm)] ptx-py-[6px] ptx-pl-[32px] ptx-pr-[8px] ptx-text-sm ptx-outline-none ptx-transition-colors focus:ptx-bg-accent focus:ptx-text-accent-foreground data-[disabled]:ptx-pointer-events-none data-[disabled]:ptx-opacity-50',
|
|
121
121
|
className
|
|
122
122
|
)}
|
|
123
123
|
{...props}
|
|
@@ -22,7 +22,7 @@ const DialogOverlay = React.forwardRef<
|
|
|
22
22
|
/* 稳定钩子,供消费方测试查询遮罩层;勿改名。 */
|
|
23
23
|
data-slot="dialog-overlay"
|
|
24
24
|
className={cn(
|
|
25
|
-
'ptx-fixed ptx-inset-0 ptx-z-[var(--pt-z-overlay,50)] ptx-bg-[rgb(var(--
|
|
25
|
+
'ptx-fixed ptx-inset-0 ptx-z-[var(--pt-z-overlay,50)] ptx-bg-[rgb(var(--ptx-black)/0.45)] data-[state=open]:ptx-animate-in data-[state=closed]:ptx-animate-out data-[state=closed]:ptx-fade-out-0 data-[state=open]:ptx-fade-in-0',
|
|
26
26
|
className
|
|
27
27
|
)}
|
|
28
28
|
{...props}
|
|
@@ -54,7 +54,7 @@ const DialogContent = React.forwardRef<
|
|
|
54
54
|
className={cn(
|
|
55
55
|
// outline-none:打开时焦点落在本容器(onOpenAutoFocus),浏览器在"键盘型"
|
|
56
56
|
// 触发下会给焦点元素画默认蓝框 —— 容器是模态本体,遮罩+弹窗已是焦点指示,抑制之
|
|
57
|
-
'ptx-fixed ptx-left-[50%] ptx-top-[50%] ptx-z-[var(--pt-z-overlay,50)] ptx-grid ptx-w-full ptx-translate-x-[-50%] ptx-translate-y-[-50%] ptx-gap-[16px] ptx-border ptx-bg-background ptx-p-[24px] ptx-shadow-lg ptx-outline-none ptx-duration-200 data-[state=open]:ptx-animate-in data-[state=closed]:ptx-animate-out data-[state=closed]:ptx-fade-out-0 data-[state=open]:ptx-fade-in-0 data-[state=closed]:ptx-zoom-out-95 data-[state=open]:ptx-zoom-in-95 data-[state=closed]:ptx-slide-out-to-left-1/2 data-[state=closed]:ptx-slide-out-to-top-[48%] data-[state=open]:ptx-slide-in-from-left-1/2 data-[state=open]:ptx-slide-in-from-top-[48%] sm:ptx-rounded-[var(--
|
|
57
|
+
'ptx-fixed ptx-left-[50%] ptx-top-[50%] ptx-z-[var(--pt-z-overlay,50)] ptx-grid ptx-w-full ptx-translate-x-[-50%] ptx-translate-y-[-50%] ptx-gap-[16px] ptx-border ptx-bg-background ptx-p-[24px] ptx-shadow-lg ptx-outline-none ptx-duration-200 data-[state=open]:ptx-animate-in data-[state=closed]:ptx-animate-out data-[state=closed]:ptx-fade-out-0 data-[state=open]:ptx-fade-in-0 data-[state=closed]:ptx-zoom-out-95 data-[state=open]:ptx-zoom-in-95 data-[state=closed]:ptx-slide-out-to-left-1/2 data-[state=closed]:ptx-slide-out-to-top-[48%] data-[state=open]:ptx-slide-in-from-left-1/2 data-[state=open]:ptx-slide-in-from-top-[48%] sm:ptx-rounded-[var(--ptx-radius)]',
|
|
58
58
|
dialogSizeClasses[size],
|
|
59
59
|
className
|
|
60
60
|
)}
|
|
@@ -106,7 +106,7 @@ const DialogTitle = React.forwardRef<
|
|
|
106
106
|
<DialogPrimitive.Title
|
|
107
107
|
ref={ref}
|
|
108
108
|
className={cn(
|
|
109
|
-
'ptx-text-lg ptx-font-semibold ptx-leading-none ptx-tracking-tight ptx-text-[rgb(var(--
|
|
109
|
+
'ptx-text-lg ptx-font-semibold ptx-leading-none ptx-tracking-tight ptx-text-[rgb(var(--ptx-text-strong))]',
|
|
110
110
|
className
|
|
111
111
|
)}
|
|
112
112
|
{...props}
|
|
@@ -120,7 +120,7 @@ const DialogDescription = React.forwardRef<
|
|
|
120
120
|
>(({ className, ...props }, ref) => (
|
|
121
121
|
<DialogPrimitive.Description
|
|
122
122
|
ref={ref}
|
|
123
|
-
className={cn('ptx-text-sm ptx-text-[rgb(var(--
|
|
123
|
+
className={cn('ptx-text-sm ptx-text-[rgb(var(--ptx-text-standard))]', className)}
|
|
124
124
|
{...props}
|
|
125
125
|
/>
|
|
126
126
|
));
|
|
@@ -25,7 +25,7 @@ const DrawerOverlay = React.forwardRef<
|
|
|
25
25
|
ref={ref}
|
|
26
26
|
/* 稳定钩子,供消费方测试查询遮罩层;勿改名。 */
|
|
27
27
|
data-slot="drawer-overlay"
|
|
28
|
-
className={cn('ptx-fixed ptx-inset-0 ptx-z-[var(--pt-z-overlay,50)] ptx-bg-[rgb(var(--
|
|
28
|
+
className={cn('ptx-fixed ptx-inset-0 ptx-z-[var(--pt-z-overlay,50)] ptx-bg-[rgb(var(--ptx-black)/0.8)]', className)}
|
|
29
29
|
{...props}
|
|
30
30
|
/>
|
|
31
31
|
));
|
|
@@ -25,7 +25,7 @@ const DropdownMenuSubTrigger = React.forwardRef<
|
|
|
25
25
|
<DropdownMenuPrimitive.SubTrigger
|
|
26
26
|
ref={ref}
|
|
27
27
|
className={cn(
|
|
28
|
-
'ptx-flex ptx-cursor-default ptx-select-none ptx-items-center ptx-rounded-[var(--
|
|
28
|
+
'ptx-flex ptx-cursor-default ptx-select-none ptx-items-center ptx-rounded-[var(--ptx-radius-sm)] ptx-px-[8px] ptx-py-[6px] ptx-text-sm ptx-outline-none focus:ptx-bg-accent data-[state=open]:ptx-bg-accent',
|
|
29
29
|
inset && 'ptx-pl-[32px]',
|
|
30
30
|
className
|
|
31
31
|
)}
|
|
@@ -44,7 +44,7 @@ const DropdownMenuSubContent = React.forwardRef<
|
|
|
44
44
|
<DropdownMenuPrimitive.SubContent
|
|
45
45
|
ref={ref}
|
|
46
46
|
className={cn(
|
|
47
|
-
'ptx-z-[var(--pt-z-popup,50)] ptx-min-w-[8rem] ptx-overflow-hidden ptx-rounded-[var(--
|
|
47
|
+
'ptx-z-[var(--pt-z-popup,50)] ptx-min-w-[8rem] ptx-overflow-hidden ptx-rounded-[var(--ptx-radius-md)] ptx-border ptx-bg-popover ptx-p-[4px] ptx-text-popover-foreground ptx-shadow-lg data-[state=open]:ptx-animate-in data-[state=closed]:ptx-animate-out data-[state=closed]:ptx-fade-out-0 data-[state=open]:ptx-fade-in-0 data-[state=closed]:ptx-zoom-out-95 data-[state=open]:ptx-zoom-in-95 data-[side=bottom]:ptx-slide-in-from-top-2 data-[side=left]:ptx-slide-in-from-right-2 data-[side=right]:ptx-slide-in-from-left-2 data-[side=top]:ptx-slide-in-from-bottom-2',
|
|
48
48
|
className
|
|
49
49
|
)}
|
|
50
50
|
{...props}
|
|
@@ -61,7 +61,7 @@ const DropdownMenuContent = React.forwardRef<
|
|
|
61
61
|
ref={ref}
|
|
62
62
|
sideOffset={sideOffset}
|
|
63
63
|
className={cn(
|
|
64
|
-
'ptx-z-[var(--pt-z-popup,50)] ptx-min-w-[8rem] ptx-overflow-hidden ptx-rounded-[var(--
|
|
64
|
+
'ptx-z-[var(--pt-z-popup,50)] ptx-min-w-[8rem] ptx-overflow-hidden ptx-rounded-[var(--ptx-radius-md)] ptx-border ptx-bg-popover ptx-p-[4px] ptx-text-popover-foreground ptx-shadow-md',
|
|
65
65
|
'data-[state=open]:ptx-animate-in data-[state=closed]:ptx-animate-out data-[state=closed]:ptx-fade-out-0 data-[state=open]:ptx-fade-in-0 data-[state=closed]:ptx-zoom-out-95 data-[state=open]:ptx-zoom-in-95 data-[side=bottom]:ptx-slide-in-from-top-2 data-[side=left]:ptx-slide-in-from-right-2 data-[side=right]:ptx-slide-in-from-left-2 data-[side=top]:ptx-slide-in-from-bottom-2',
|
|
66
66
|
className
|
|
67
67
|
)}
|
|
@@ -80,7 +80,7 @@ const DropdownMenuItem = React.forwardRef<
|
|
|
80
80
|
<DropdownMenuPrimitive.Item
|
|
81
81
|
ref={ref}
|
|
82
82
|
className={cn(
|
|
83
|
-
'ptx-relative ptx-flex ptx-cursor-default ptx-select-none ptx-items-center ptx-gap-[8px] ptx-rounded-[var(--
|
|
83
|
+
'ptx-relative ptx-flex ptx-cursor-default ptx-select-none ptx-items-center ptx-gap-[8px] ptx-rounded-[var(--ptx-radius-sm)] ptx-px-[8px] ptx-py-[6px] ptx-text-sm ptx-outline-none ptx-transition-colors focus:ptx-bg-accent focus:ptx-text-accent-foreground data-[disabled]:ptx-pointer-events-none data-[disabled]:ptx-opacity-50 [&>svg]:ptx-size-[16px] [&>svg]:ptx-shrink-0',
|
|
84
84
|
inset && 'ptx-pl-[32px]',
|
|
85
85
|
className
|
|
86
86
|
)}
|
|
@@ -96,7 +96,7 @@ const DropdownMenuCheckboxItem = React.forwardRef<
|
|
|
96
96
|
<DropdownMenuPrimitive.CheckboxItem
|
|
97
97
|
ref={ref}
|
|
98
98
|
className={cn(
|
|
99
|
-
'ptx-relative ptx-flex ptx-cursor-default ptx-select-none ptx-items-center ptx-rounded-[var(--
|
|
99
|
+
'ptx-relative ptx-flex ptx-cursor-default ptx-select-none ptx-items-center ptx-rounded-[var(--ptx-radius-sm)] ptx-py-[6px] ptx-pl-[32px] ptx-pr-[8px] ptx-text-sm ptx-outline-none ptx-transition-colors focus:ptx-bg-accent focus:ptx-text-accent-foreground data-[disabled]:ptx-pointer-events-none data-[disabled]:ptx-opacity-50',
|
|
100
100
|
className
|
|
101
101
|
)}
|
|
102
102
|
checked={checked}
|
|
@@ -119,7 +119,7 @@ const DropdownMenuRadioItem = React.forwardRef<
|
|
|
119
119
|
<DropdownMenuPrimitive.RadioItem
|
|
120
120
|
ref={ref}
|
|
121
121
|
className={cn(
|
|
122
|
-
'ptx-relative ptx-flex ptx-cursor-default ptx-select-none ptx-items-center ptx-rounded-[var(--
|
|
122
|
+
'ptx-relative ptx-flex ptx-cursor-default ptx-select-none ptx-items-center ptx-rounded-[var(--ptx-radius-sm)] ptx-py-[6px] ptx-pl-[32px] ptx-pr-[8px] ptx-text-sm ptx-outline-none ptx-transition-colors focus:ptx-bg-accent focus:ptx-text-accent-foreground data-[disabled]:ptx-pointer-events-none data-[disabled]:ptx-opacity-50',
|
|
123
123
|
className
|
|
124
124
|
)}
|
|
125
125
|
{...props}
|
|
@@ -7,7 +7,7 @@ function Empty({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) {
|
|
|
7
7
|
return (
|
|
8
8
|
<div
|
|
9
9
|
className={cn(
|
|
10
|
-
'ptx-flex ptx-min-w-0 ptx-flex-1 ptx-flex-col ptx-items-center ptx-justify-center ptx-gap-[24px] ptx-text-balance ptx-rounded-[var(--
|
|
10
|
+
'ptx-flex ptx-min-w-0 ptx-flex-1 ptx-flex-col ptx-items-center ptx-justify-center ptx-gap-[24px] ptx-text-balance ptx-rounded-[var(--ptx-radius)] ptx-border ptx-border-dashed ptx-p-[24px] ptx-text-center ptx-text-foreground md:ptx-p-[48px]',
|
|
11
11
|
className
|
|
12
12
|
)}
|
|
13
13
|
{...props}
|
|
@@ -28,7 +28,7 @@ const emptyMediaVariants = cva('ptx-flex ptx-shrink-0 ptx-items-center ptx-justi
|
|
|
28
28
|
variants: {
|
|
29
29
|
variant: {
|
|
30
30
|
default: '',
|
|
31
|
-
icon: 'ptx-size-[40px] ptx-rounded-[var(--
|
|
31
|
+
icon: 'ptx-size-[40px] ptx-rounded-[var(--ptx-radius)] ptx-bg-secondary ptx-text-foreground [&_svg]:ptx-size-[24px]'
|
|
32
32
|
}
|
|
33
33
|
},
|
|
34
34
|
defaultVariants: {
|
|
@@ -16,7 +16,7 @@ const HoverCardContent = React.forwardRef<
|
|
|
16
16
|
align={align}
|
|
17
17
|
sideOffset={sideOffset}
|
|
18
18
|
className={cn(
|
|
19
|
-
'ptx-z-[var(--pt-z-popup,50)] ptx-w-[256px] ptx-rounded-[var(--
|
|
19
|
+
'ptx-z-[var(--pt-z-popup,50)] ptx-w-[256px] ptx-rounded-[var(--ptx-radius-md)] ptx-border ptx-bg-popover ptx-p-[16px] ptx-text-popover-foreground ptx-shadow-md ptx-outline-none data-[state=open]:ptx-animate-in data-[state=closed]:ptx-animate-out data-[state=closed]:ptx-fade-out-0 data-[state=open]:ptx-fade-in-0 data-[state=closed]:ptx-zoom-out-95 data-[state=open]:ptx-zoom-in-95 data-[side=bottom]:ptx-slide-in-from-top-2 data-[side=left]:ptx-slide-in-from-right-2 data-[side=right]:ptx-slide-in-from-left-2 data-[side=top]:ptx-slide-in-from-bottom-2',
|
|
20
20
|
className
|
|
21
21
|
)}
|
|
22
22
|
{...props}
|
|
@@ -9,7 +9,7 @@ function InputGroup({ className, ...props }: React.HTMLAttributes<HTMLDivElement
|
|
|
9
9
|
<div
|
|
10
10
|
role="group"
|
|
11
11
|
className={cn(
|
|
12
|
-
'group/input-group ptx-relative ptx-flex ptx-h-[32px] ptx-w-full ptx-items-center ptx-gap-[8px] ptx-rounded-[var(--
|
|
12
|
+
'group/input-group ptx-relative ptx-flex ptx-h-[32px] ptx-w-full ptx-items-center ptx-gap-[8px] ptx-rounded-[var(--ptx-radius-md)] ptx-border ptx-border-input ptx-px-[12px] ptx-transition-colors',
|
|
13
13
|
'hover:ptx-border-neutral',
|
|
14
14
|
'has-[input:focus-visible]:ptx-ring-1 has-[input:focus-visible]:ptx-ring-ring',
|
|
15
15
|
'has-[input[aria-invalid=true]]:ptx-border-destructive has-[input[aria-invalid=true]]:hover:ptx-border-destructive',
|
|
@@ -38,7 +38,7 @@ const InputOTPSlot = React.forwardRef<
|
|
|
38
38
|
<div
|
|
39
39
|
ref={ref}
|
|
40
40
|
className={cn(
|
|
41
|
-
'ptx-relative ptx-flex ptx-h-[32px] ptx-w-[36px] ptx-items-center ptx-justify-center ptx-border-y ptx-border-r ptx-border-input ptx-text-xs ptx-text-foreground ptx-transition-all first:ptx-rounded-l-[var(--
|
|
41
|
+
'ptx-relative ptx-flex ptx-h-[32px] ptx-w-[36px] ptx-items-center ptx-justify-center ptx-border-y ptx-border-r ptx-border-input ptx-text-xs ptx-text-foreground ptx-transition-all first:ptx-rounded-l-[var(--ptx-radius-md)] first:ptx-border-l last:ptx-rounded-r-[var(--ptx-radius-md)] group-hover/input-otp:ptx-border-neutral',
|
|
42
42
|
isActive && 'ptx-z-10 ptx-ring-1 ptx-ring-ring',
|
|
43
43
|
className
|
|
44
44
|
)}
|
|
@@ -10,7 +10,7 @@ const Input = React.forwardRef<HTMLInputElement, InputProps>(
|
|
|
10
10
|
<input
|
|
11
11
|
type={type}
|
|
12
12
|
className={cn(
|
|
13
|
-
'ptx-flex ptx-h-[32px] ptx-w-full ptx-rounded-[var(--
|
|
13
|
+
'ptx-flex ptx-h-[32px] ptx-w-full ptx-rounded-[var(--ptx-radius-md)] ptx-border ptx-border-input ptx-bg-transparent ptx-px-[12px] ptx-py-[4px] ptx-text-xs ptx-transition-colors file:ptx-border-0 file:ptx-bg-transparent file:ptx-text-sm file:ptx-font-medium placeholder:ptx-text-muted-foreground enabled:hover:ptx-border-neutral focus-visible:ptx-outline-none focus-visible:ptx-ring-1 focus-visible:ptx-ring-ring disabled:ptx-cursor-not-allowed disabled:ptx-opacity-50 aria-[invalid=true]:ptx-border-destructive aria-[invalid=true]:enabled:hover:ptx-border-destructive aria-[invalid=true]:focus-visible:ptx-ring-destructive/30',
|
|
14
14
|
className
|
|
15
15
|
)}
|
|
16
16
|
ref={ref}
|
|
@@ -14,7 +14,7 @@ function ItemSeparator({ className, ...props }: React.ComponentProps<typeof Sepa
|
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
const itemVariants = cva(
|
|
17
|
-
'group/item ptx-flex ptx-flex-wrap ptx-items-center ptx-rounded-[var(--
|
|
17
|
+
'group/item ptx-flex ptx-flex-wrap ptx-items-center ptx-rounded-[var(--ptx-radius-md)] ptx-border ptx-text-sm ptx-text-foreground ptx-outline-none ptx-transition-colors',
|
|
18
18
|
{
|
|
19
19
|
variants: {
|
|
20
20
|
variant: {
|
|
@@ -49,8 +49,8 @@ const itemMediaVariants = cva('ptx-flex ptx-shrink-0 ptx-items-center ptx-justif
|
|
|
49
49
|
variants: {
|
|
50
50
|
variant: {
|
|
51
51
|
default: 'ptx-bg-transparent [&_svg]:ptx-size-[20px] [&_svg]:ptx-text-muted-foreground',
|
|
52
|
-
icon: 'ptx-size-[32px] ptx-rounded-[var(--
|
|
53
|
-
image: 'ptx-size-[40px] ptx-overflow-hidden ptx-rounded-[var(--
|
|
52
|
+
icon: 'ptx-size-[32px] ptx-rounded-[var(--ptx-radius-sm)] ptx-border ptx-bg-secondary [&_svg]:ptx-size-[16px] [&_svg]:ptx-text-foreground',
|
|
53
|
+
image: 'ptx-size-[40px] ptx-overflow-hidden ptx-rounded-[var(--ptx-radius-sm)] [&_img]:ptx-size-full [&_img]:ptx-object-cover'
|
|
54
54
|
}
|
|
55
55
|
},
|
|
56
56
|
defaultVariants: {
|
|
@@ -6,7 +6,7 @@ function Kbd({ className, ...props }: React.HTMLAttributes<HTMLElement>) {
|
|
|
6
6
|
return (
|
|
7
7
|
<kbd
|
|
8
8
|
className={cn(
|
|
9
|
-
'ptx-pointer-events-none ptx-inline-flex ptx-h-[20px] ptx-w-fit ptx-min-w-[20px] ptx-select-none ptx-items-center ptx-justify-center ptx-gap-[4px] ptx-rounded-[var(--
|
|
9
|
+
'ptx-pointer-events-none ptx-inline-flex ptx-h-[20px] ptx-w-fit ptx-min-w-[20px] ptx-select-none ptx-items-center ptx-justify-center ptx-gap-[4px] ptx-rounded-[var(--ptx-radius-sm)] ptx-bg-muted ptx-px-[4px] ptx-font-sans ptx-text-2xs ptx-font-medium ptx-text-muted-foreground [&_svg]:ptx-size-[12px]',
|
|
10
10
|
className
|
|
11
11
|
)}
|
|
12
12
|
{...props}
|
|
@@ -22,7 +22,7 @@ const Menubar = React.forwardRef<
|
|
|
22
22
|
>(({ className, ...props }, ref) => (
|
|
23
23
|
<MenubarPrimitive.Root
|
|
24
24
|
ref={ref}
|
|
25
|
-
className={cn('ptx-flex ptx-h-[32px] ptx-items-center ptx-gap-[4px] ptx-rounded-[var(--
|
|
25
|
+
className={cn('ptx-flex ptx-h-[32px] ptx-items-center ptx-gap-[4px] ptx-rounded-[var(--ptx-radius-md)] ptx-border ptx-bg-background ptx-p-[4px]', className)}
|
|
26
26
|
{...props}
|
|
27
27
|
/>
|
|
28
28
|
));
|
|
@@ -35,7 +35,7 @@ const MenubarTrigger = React.forwardRef<
|
|
|
35
35
|
<MenubarPrimitive.Trigger
|
|
36
36
|
ref={ref}
|
|
37
37
|
className={cn(
|
|
38
|
-
'ptx-flex ptx-cursor-default ptx-select-none ptx-items-center ptx-rounded-[var(--
|
|
38
|
+
'ptx-flex ptx-cursor-default ptx-select-none ptx-items-center ptx-rounded-[var(--ptx-radius-sm)] ptx-px-[12px] ptx-py-[4px] ptx-text-sm ptx-font-medium ptx-text-foreground ptx-outline-none focus:ptx-bg-accent focus:ptx-text-accent-foreground data-[state=open]:ptx-bg-accent data-[state=open]:ptx-text-accent-foreground',
|
|
39
39
|
className
|
|
40
40
|
)}
|
|
41
41
|
{...props}
|
|
@@ -52,7 +52,7 @@ const MenubarSubTrigger = React.forwardRef<
|
|
|
52
52
|
<MenubarPrimitive.SubTrigger
|
|
53
53
|
ref={ref}
|
|
54
54
|
className={cn(
|
|
55
|
-
'ptx-flex ptx-cursor-default ptx-select-none ptx-items-center ptx-rounded-[var(--
|
|
55
|
+
'ptx-flex ptx-cursor-default ptx-select-none ptx-items-center ptx-rounded-[var(--ptx-radius-sm)] ptx-px-[8px] ptx-py-[6px] ptx-text-sm ptx-outline-none focus:ptx-bg-accent focus:ptx-text-accent-foreground data-[state=open]:ptx-bg-accent data-[state=open]:ptx-text-accent-foreground',
|
|
56
56
|
inset && 'ptx-pl-[32px]',
|
|
57
57
|
className
|
|
58
58
|
)}
|
|
@@ -71,7 +71,7 @@ const MenubarSubContent = React.forwardRef<
|
|
|
71
71
|
<MenubarPrimitive.SubContent
|
|
72
72
|
ref={ref}
|
|
73
73
|
className={cn(
|
|
74
|
-
'ptx-z-[var(--pt-z-popup,50)] ptx-min-w-[8rem] ptx-overflow-hidden ptx-rounded-[var(--
|
|
74
|
+
'ptx-z-[var(--pt-z-popup,50)] ptx-min-w-[8rem] ptx-overflow-hidden ptx-rounded-[var(--ptx-radius-md)] ptx-border ptx-bg-popover ptx-p-[4px] ptx-text-popover-foreground ptx-shadow-lg data-[state=open]:ptx-animate-in data-[state=closed]:ptx-animate-out data-[state=closed]:ptx-fade-out-0 data-[state=open]:ptx-fade-in-0 data-[state=closed]:ptx-zoom-out-95 data-[state=open]:ptx-zoom-in-95 data-[side=bottom]:ptx-slide-in-from-top-2 data-[side=left]:ptx-slide-in-from-right-2 data-[side=right]:ptx-slide-in-from-left-2 data-[side=top]:ptx-slide-in-from-bottom-2',
|
|
75
75
|
className
|
|
76
76
|
)}
|
|
77
77
|
{...props}
|
|
@@ -90,7 +90,7 @@ const MenubarContent = React.forwardRef<
|
|
|
90
90
|
alignOffset={alignOffset}
|
|
91
91
|
sideOffset={sideOffset}
|
|
92
92
|
className={cn(
|
|
93
|
-
'ptx-z-[var(--pt-z-popup,50)] ptx-min-w-[12rem] ptx-overflow-hidden ptx-rounded-[var(--
|
|
93
|
+
'ptx-z-[var(--pt-z-popup,50)] ptx-min-w-[12rem] ptx-overflow-hidden ptx-rounded-[var(--ptx-radius-md)] ptx-border ptx-bg-popover ptx-p-[4px] ptx-text-popover-foreground ptx-shadow-md data-[state=open]:ptx-animate-in data-[state=closed]:ptx-fade-out-0 data-[state=open]:ptx-fade-in-0 data-[state=closed]:ptx-zoom-out-95 data-[state=open]:ptx-zoom-in-95 data-[side=bottom]:ptx-slide-in-from-top-2 data-[side=left]:ptx-slide-in-from-right-2 data-[side=right]:ptx-slide-in-from-left-2 data-[side=top]:ptx-slide-in-from-bottom-2',
|
|
94
94
|
className
|
|
95
95
|
)}
|
|
96
96
|
{...props}
|
|
@@ -108,7 +108,7 @@ const MenubarItem = React.forwardRef<
|
|
|
108
108
|
<MenubarPrimitive.Item
|
|
109
109
|
ref={ref}
|
|
110
110
|
className={cn(
|
|
111
|
-
'ptx-relative ptx-flex ptx-cursor-default ptx-select-none ptx-items-center ptx-rounded-[var(--
|
|
111
|
+
'ptx-relative ptx-flex ptx-cursor-default ptx-select-none ptx-items-center ptx-rounded-[var(--ptx-radius-sm)] ptx-px-[8px] ptx-py-[6px] ptx-text-sm ptx-outline-none focus:ptx-bg-accent focus:ptx-text-accent-foreground data-[disabled]:ptx-pointer-events-none data-[disabled]:ptx-opacity-50',
|
|
112
112
|
inset && 'ptx-pl-[32px]',
|
|
113
113
|
className
|
|
114
114
|
)}
|
|
@@ -124,7 +124,7 @@ const MenubarCheckboxItem = React.forwardRef<
|
|
|
124
124
|
<MenubarPrimitive.CheckboxItem
|
|
125
125
|
ref={ref}
|
|
126
126
|
className={cn(
|
|
127
|
-
'ptx-relative ptx-flex ptx-cursor-default ptx-select-none ptx-items-center ptx-rounded-[var(--
|
|
127
|
+
'ptx-relative ptx-flex ptx-cursor-default ptx-select-none ptx-items-center ptx-rounded-[var(--ptx-radius-sm)] ptx-py-[6px] ptx-pl-[32px] ptx-pr-[8px] ptx-text-sm ptx-outline-none focus:ptx-bg-accent focus:ptx-text-accent-foreground data-[disabled]:ptx-pointer-events-none data-[disabled]:ptx-opacity-50',
|
|
128
128
|
className
|
|
129
129
|
)}
|
|
130
130
|
checked={checked}
|
|
@@ -147,7 +147,7 @@ const MenubarRadioItem = React.forwardRef<
|
|
|
147
147
|
<MenubarPrimitive.RadioItem
|
|
148
148
|
ref={ref}
|
|
149
149
|
className={cn(
|
|
150
|
-
'ptx-relative ptx-flex ptx-cursor-default ptx-select-none ptx-items-center ptx-rounded-[var(--
|
|
150
|
+
'ptx-relative ptx-flex ptx-cursor-default ptx-select-none ptx-items-center ptx-rounded-[var(--ptx-radius-sm)] ptx-py-[6px] ptx-pl-[32px] ptx-pr-[8px] ptx-text-sm ptx-outline-none focus:ptx-bg-accent focus:ptx-text-accent-foreground data-[disabled]:ptx-pointer-events-none data-[disabled]:ptx-opacity-50',
|
|
151
151
|
className
|
|
152
152
|
)}
|
|
153
153
|
{...props}
|
|
@@ -11,7 +11,7 @@ const NativeSelect = React.forwardRef<
|
|
|
11
11
|
<select
|
|
12
12
|
ref={ref}
|
|
13
13
|
className={cn(
|
|
14
|
-
'ptx-h-[32px] ptx-w-full ptx-appearance-none ptx-rounded-[var(--
|
|
14
|
+
'ptx-h-[32px] ptx-w-full ptx-appearance-none ptx-rounded-[var(--ptx-radius-md)] ptx-border ptx-border-input ptx-bg-transparent ptx-pl-[12px] ptx-pr-[32px] ptx-text-xs ptx-text-foreground ptx-transition-colors enabled:hover:ptx-border-neutral focus-visible:ptx-outline-none focus-visible:ptx-ring-1 focus-visible:ptx-ring-ring disabled:ptx-cursor-not-allowed disabled:ptx-opacity-50 aria-[invalid=true]:ptx-border-destructive aria-[invalid=true]:enabled:hover:ptx-border-destructive aria-[invalid=true]:focus-visible:ptx-ring-destructive/30',
|
|
15
15
|
className
|
|
16
16
|
)}
|
|
17
17
|
{...props}
|
|
@@ -35,7 +35,7 @@ NavigationMenuList.displayName = NavigationMenuPrimitive.List.displayName;
|
|
|
35
35
|
const NavigationMenuItem = NavigationMenuPrimitive.Item;
|
|
36
36
|
|
|
37
37
|
const navigationMenuTriggerStyle = cva(
|
|
38
|
-
'ptx-state-layer group ptx-inline-flex ptx-h-[32px] ptx-w-max ptx-items-center ptx-justify-center ptx-rounded-[var(--
|
|
38
|
+
'ptx-state-layer group ptx-inline-flex ptx-h-[32px] ptx-w-max ptx-items-center ptx-justify-center ptx-rounded-[var(--ptx-radius-md)] ptx-bg-background ptx-px-[16px] ptx-py-[8px] ptx-text-sm ptx-font-medium ptx-text-foreground ptx-transition-colors focus:ptx-bg-accent focus:ptx-text-accent-foreground focus:ptx-outline-none disabled:ptx-cursor-not-allowed disabled:ptx-opacity-50 data-[state=open]:ptx-bg-accent'
|
|
39
39
|
);
|
|
40
40
|
|
|
41
41
|
const NavigationMenuTrigger = React.forwardRef<
|
|
@@ -80,7 +80,7 @@ const NavigationMenuViewport = React.forwardRef<
|
|
|
80
80
|
<div className={cn('ptx-absolute ptx-left-0 ptx-top-full ptx-flex ptx-justify-center')}>
|
|
81
81
|
<NavigationMenuPrimitive.Viewport
|
|
82
82
|
className={cn(
|
|
83
|
-
'origin-top-center ptx-relative ptx-mt-[6px] ptx-h-[var(--radix-navigation-menu-viewport-height)] ptx-w-full ptx-overflow-hidden ptx-rounded-[var(--
|
|
83
|
+
'origin-top-center ptx-relative ptx-mt-[6px] ptx-h-[var(--radix-navigation-menu-viewport-height)] ptx-w-full ptx-overflow-hidden ptx-rounded-[var(--ptx-radius-md)] ptx-border ptx-bg-popover ptx-text-popover-foreground ptx-shadow-md data-[state=open]:ptx-animate-in data-[state=closed]:ptx-animate-out data-[state=closed]:ptx-zoom-out-95 data-[state=open]:ptx-zoom-in-90 md:ptx-w-[var(--radix-navigation-menu-viewport-width)]',
|
|
84
84
|
className
|
|
85
85
|
)}
|
|
86
86
|
ref={ref}
|
|
@@ -102,7 +102,7 @@ const NavigationMenuIndicator = React.forwardRef<
|
|
|
102
102
|
)}
|
|
103
103
|
{...props}
|
|
104
104
|
>
|
|
105
|
-
<div className="ptx-relative ptx-top-[60%] ptx-h-[8px] ptx-w-[8px] ptx-rotate-45 ptx-rounded-tl-[var(--
|
|
105
|
+
<div className="ptx-relative ptx-top-[60%] ptx-h-[8px] ptx-w-[8px] ptx-rotate-45 ptx-rounded-tl-[var(--ptx-radius-sm)] ptx-bg-border" />
|
|
106
106
|
</NavigationMenuPrimitive.Indicator>
|
|
107
107
|
));
|
|
108
108
|
NavigationMenuIndicator.displayName = NavigationMenuPrimitive.Indicator.displayName;
|
|
@@ -19,7 +19,7 @@ const PopoverContent = React.forwardRef<
|
|
|
19
19
|
align={align}
|
|
20
20
|
sideOffset={sideOffset}
|
|
21
21
|
className={cn(
|
|
22
|
-
'ptx-z-[var(--pt-z-popup,50)] ptx-w-[288px] ptx-rounded-[var(--
|
|
22
|
+
'ptx-z-[var(--pt-z-popup,50)] ptx-w-[288px] ptx-rounded-[var(--ptx-radius-md)] ptx-border ptx-bg-popover ptx-p-[16px] ptx-text-popover-foreground ptx-shadow-md ptx-outline-none data-[state=open]:ptx-animate-in data-[state=closed]:ptx-animate-out data-[state=closed]:ptx-fade-out-0 data-[state=open]:ptx-fade-in-0 data-[state=closed]:ptx-zoom-out-95 data-[state=open]:ptx-zoom-in-95 data-[side=bottom]:ptx-slide-in-from-top-2 data-[side=left]:ptx-slide-in-from-right-2 data-[side=right]:ptx-slide-in-from-left-2 data-[side=top]:ptx-slide-in-from-bottom-2',
|
|
23
23
|
className
|
|
24
24
|
)}
|
|
25
25
|
{...props}
|