2
root: ({ state }) => ({
14
'bg-surface-0 dark:bg-surface-900',
15
'[&:last-child]:border-b',
16
'border-surface-200 dark:border-surface-700',
24
'transition-none': state.maximized,
25
'transform-none': state.maximized,
26
'!w-screen': state.maximized,
27
'!h-screen': state.maximized,
28
'!max-h-full': state.maximized,
29
'!top-0': state.maximized,
30
'!left-0': state.maximized,
37
'flex items-center justify-between',
48
'text-surface-700 dark:text-surface-0/80',
50
'border-surface-200 dark:border-surface-700',
54
class: ['font-semibold text-xl leading-[normal]'],
57
class: ['flex items-center'],
59
content: ({ state, instance }) => ({
68
grow: state.maximized,
69
'rounded-bl-lg': !instance.$slots.footer,
70
'rounded-br-lg': !instance.$slots.footer,
74
'text-surface-700 dark:text-surface-0/80',
75
'border border-t-0 border-b-0',
76
'border-surface-200 dark:border-surface-700',
85
'flex items-center justify-end',
99
'bg-surface-0 dark:bg-surface-900',
100
'text-surface-700 dark:text-surface-0/80',
101
'border border-t-0 border-b-0',
102
'border-surface-200 dark:border-surface-700',
105
mask: ({ props }) => ({
110
{ 'p-5': !props.position == 'full' },
113
{ 'has-[.mask-active]:bg-transparent bg-black/40': props.modal },
116
transition: ({ props }) => {
117
return props.position === 'top'
120
'opacity-0 scale-75 translate-x-0 -translate-y-full translate-z-0 mask-active',
121
enterActiveClass: 'transition-all duration-200 ease-out',
122
leaveActiveClass: 'transition-all duration-200 ease-out',
124
'opacity-0 scale-75 translate-x-0 -translate-y-full translate-z-0 mask-active',
126
: props.position === 'bottom'
128
enterFromClass: 'opacity-0 scale-75 translate-y-full mask-active',
129
enterActiveClass: 'transition-all duration-200 ease-out',
130
leaveActiveClass: 'transition-all duration-200 ease-out',
132
'opacity-0 scale-75 translate-x-0 translate-y-full translate-z-0 mask-active',
134
: props.position === 'left' ||
135
props.position === 'topleft' ||
136
props.position === 'bottomleft'
139
'opacity-0 scale-75 -translate-x-full translate-y-0 translate-z-0 mask-active',
140
enterActiveClass: 'transition-all duration-200 ease-out',
141
leaveActiveClass: 'transition-all duration-200 ease-out',
143
'opacity-0 scale-75 -translate-x-full translate-y-0 translate-z-0 mask-active',
145
: props.position === 'right' ||
146
props.position === 'topright' ||
147
props.position === 'bottomright'
150
'opacity-0 scale-75 translate-x-full translate-y-0 translate-z-0 mask-active',
151
enterActiveClass: 'transition-all duration-200 ease-out',
152
leaveActiveClass: 'transition-all duration-200 ease-out',
154
'opacity-0 scale-75 translate-x-full translate-y-0 translate-z-0 mask-active',
157
enterFromClass: 'opacity-0 scale-75 mask-active',
158
enterActiveClass: 'transition-all duration-200 ease-out',
159
leaveActiveClass: 'transition-all duration-200 ease-out',
160
leaveToClass: 'opacity-0 scale-75 mask-active',