first commit
This commit is contained in:
236
resources/css/presets/aura/dialog/index.js
Normal file
236
resources/css/presets/aura/dialog/index.js
Normal file
@@ -0,0 +1,236 @@
|
||||
export default {
|
||||
root: ({ state }) => ({
|
||||
class: [
|
||||
// Shape
|
||||
'rounded-lg',
|
||||
'shadow-xl',
|
||||
'border-0',
|
||||
|
||||
// Size
|
||||
'max-h-[90vh]',
|
||||
{ 'sm:w-full sm:max-w-lg': !state.maximized },
|
||||
'm-0',
|
||||
|
||||
// Transitions
|
||||
'transform',
|
||||
'scale-100',
|
||||
|
||||
// Color
|
||||
'dark:border',
|
||||
'dark:border-surface-700',
|
||||
|
||||
// Maximized State
|
||||
{
|
||||
'transition-none': state.maximized,
|
||||
'transform-none': state.maximized,
|
||||
'!w-screen': state.maximized,
|
||||
'!h-screen': state.maximized,
|
||||
'!max-h-full': state.maximized,
|
||||
'!top-0': state.maximized,
|
||||
'!left-0': state.maximized
|
||||
}
|
||||
]
|
||||
}),
|
||||
header: {
|
||||
class: [
|
||||
// Flexbox and Alignment
|
||||
'flex items-center justify-between',
|
||||
'shrink-0',
|
||||
|
||||
// Spacing
|
||||
'p-6 pt-4',
|
||||
|
||||
// Shape
|
||||
'rounded-tl-lg',
|
||||
'rounded-tr-lg',
|
||||
|
||||
// Colors
|
||||
'bg-surface-0 dark:bg-surface-800',
|
||||
'text-surface-700 dark:text-surface-0/80'
|
||||
]
|
||||
},
|
||||
title: {
|
||||
class: ['font-semibold text-base leading-6']
|
||||
},
|
||||
icons: {
|
||||
class: ['flex items-center']
|
||||
},
|
||||
closeButton: {
|
||||
class: [
|
||||
'relative',
|
||||
|
||||
// Flexbox and Alignment
|
||||
'flex items-center justify-center',
|
||||
|
||||
// Size and Spacing
|
||||
'mr-2',
|
||||
'last:mr-0',
|
||||
'w-6 h-6',
|
||||
|
||||
// Shape
|
||||
'border-0',
|
||||
'rounded-full',
|
||||
|
||||
// Colors
|
||||
'text-surface-500',
|
||||
'bg-transparent',
|
||||
|
||||
// Transitions
|
||||
'transition duration-200 ease-in-out',
|
||||
|
||||
// States
|
||||
'hover:text-surface-700 dark:hover:text-white/80',
|
||||
'hover:bg-surface-100 dark:hover:bg-surface-800/80',
|
||||
'focus:outline-none focus:outline-offset-0 focus:ring-1 focus:ring-inset',
|
||||
'focus:ring-primary-500 dark:focus:ring-primary-400',
|
||||
|
||||
// Misc
|
||||
'overflow-hidden'
|
||||
]
|
||||
},
|
||||
maximizablebutton: {
|
||||
class: [
|
||||
'relative',
|
||||
|
||||
// Flexbox and Alignment
|
||||
'flex items-center justify-center',
|
||||
|
||||
// Size and Spacing
|
||||
'mr-2',
|
||||
'last:mr-0',
|
||||
'w-6 h-6',
|
||||
|
||||
// Shape
|
||||
'border-0',
|
||||
'rounded-full',
|
||||
|
||||
// Colors
|
||||
'text-surface-500',
|
||||
'bg-transparent',
|
||||
|
||||
// Transitions
|
||||
'transition duration-200 ease-in-out',
|
||||
|
||||
// States
|
||||
'hover:text-surface-700 dark:hover:text-white/80',
|
||||
'hover:bg-surface-100 dark:hover:bg-surface-800/80',
|
||||
'focus:outline-none focus:outline-offset-0 focus:ring-1 focus:ring-inset',
|
||||
'focus:ring-primary-500 dark:focus:ring-primary-400',
|
||||
|
||||
// Misc
|
||||
'overflow-hidden'
|
||||
]
|
||||
},
|
||||
closeButtonIcon: {
|
||||
class: [
|
||||
// Display
|
||||
'inline-block',
|
||||
|
||||
// Size
|
||||
'w-3',
|
||||
'h-3'
|
||||
]
|
||||
},
|
||||
maximizableicon: {
|
||||
class: [
|
||||
// Display
|
||||
'inline-block',
|
||||
|
||||
// Size
|
||||
'w-3',
|
||||
'h-3'
|
||||
]
|
||||
},
|
||||
content: ({ state, instance }) => ({
|
||||
class: [
|
||||
// Font
|
||||
'text-sm',
|
||||
// Spacing
|
||||
'px-6',
|
||||
'pb-3',
|
||||
'pt-0',
|
||||
|
||||
// Shape
|
||||
{
|
||||
grow: state.maximized,
|
||||
'rounded-bl-lg': !instance.$slots.footer,
|
||||
'rounded-br-lg': !instance.$slots.footer
|
||||
},
|
||||
|
||||
// Colors
|
||||
'bg-surface-0 dark:bg-surface-800',
|
||||
'text-surface-600 dark:text-surface-0/70',
|
||||
|
||||
// Misc
|
||||
'overflow-y-auto'
|
||||
]
|
||||
}),
|
||||
footer: {
|
||||
class: [
|
||||
// Flexbox and Alignment
|
||||
'flex items-center justify-end',
|
||||
'shrink-0',
|
||||
'text-right',
|
||||
'gap-3',
|
||||
|
||||
// Spacing
|
||||
'px-6',
|
||||
'py-3',
|
||||
|
||||
// Shape
|
||||
'border-t-0',
|
||||
'rounded-b-lg',
|
||||
|
||||
// Colors
|
||||
'bg-surface-50 dark:bg-surface-700',
|
||||
'text-surface-700 dark:text-surface-0/80'
|
||||
]
|
||||
},
|
||||
mask: ({ props }) => ({
|
||||
class: [
|
||||
// Transitions
|
||||
'transition',
|
||||
'duration-300',
|
||||
{ 'p-5': !props.position == 'full' },
|
||||
|
||||
// Background and Effects
|
||||
{ 'has-[.mask-active]:bg-transparent dark:has-[.mask-active]:bg-transparent bg-surface-500/70 dark:bg-surface-700/70': props.modal, 'has-[.mask-active]:backdrop-blur-none backdrop-blur-sm': props.modal }
|
||||
]
|
||||
}),
|
||||
transition: ({ props }) => {
|
||||
return props.position === 'top'
|
||||
? {
|
||||
enterFromClass: 'opacity-0 scale-75 translate-x-0 -translate-y-full translate-z-0 mask-active',
|
||||
enterActiveClass: 'transition-all duration-200 ease-out',
|
||||
leaveActiveClass: 'transition-all duration-200 ease-out',
|
||||
leaveToClass: 'opacity-0 scale-75 translate-x-0 -translate-y-full translate-z-0 mask-active'
|
||||
}
|
||||
: props.position === 'bottom'
|
||||
? {
|
||||
enterFromClass: 'opacity-0 scale-75 translate-y-full mask-active',
|
||||
enterActiveClass: 'transition-all duration-200 ease-out',
|
||||
leaveActiveClass: 'transition-all duration-200 ease-out',
|
||||
leaveToClass: 'opacity-0 scale-75 translate-x-0 translate-y-full translate-z-0 mask-active'
|
||||
}
|
||||
: props.position === 'left' || props.position === 'topleft' || props.position === 'bottomleft'
|
||||
? {
|
||||
enterFromClass: 'opacity-0 scale-75 -translate-x-full translate-y-0 translate-z-0 mask-active',
|
||||
enterActiveClass: 'transition-all duration-200 ease-out',
|
||||
leaveActiveClass: 'transition-all duration-200 ease-out',
|
||||
leaveToClass: 'opacity-0 scale-75 -translate-x-full translate-y-0 translate-z-0 mask-active'
|
||||
}
|
||||
: props.position === 'right' || props.position === 'topright' || props.position === 'bottomright'
|
||||
? {
|
||||
enterFromClass: 'opacity-0 scale-75 translate-x-full translate-y-0 translate-z-0 mask-active',
|
||||
enterActiveClass: 'transition-all duration-200 ease-out',
|
||||
leaveActiveClass: 'transition-all duration-200 ease-out',
|
||||
leaveToClass: 'opacity-0 scale-75 opacity-0 scale-75 translate-x-full translate-y-0 translate-z-0 mask-active'
|
||||
}
|
||||
: {
|
||||
enterFromClass: 'opacity-0 scale-75 mask-active',
|
||||
enterActiveClass: 'transition-all duration-200 ease-out',
|
||||
leaveActiveClass: 'transition-all duration-200 ease-out',
|
||||
leaveToClass: 'opacity-0 scale-75 mask-active'
|
||||
};
|
||||
}
|
||||
};
|
Reference in New Issue
Block a user