mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-07 10:04:11 +00:00
72 lines
2.4 KiB
TypeScript
72 lines
2.4 KiB
TypeScript
import { animate, group, state, style, transition, trigger } from '@angular/animations';
|
|
|
|
export const slide = trigger('slide', [
|
|
state('expanded', style({ height: '*' })),
|
|
state('collapsed', style({ height: 0 })),
|
|
state('void', style({ height: 0 })),
|
|
state('*', style({ height: '*' })),
|
|
transition(':enter', [animate('200ms')]),
|
|
transition(':leave', [animate('200ms')]),
|
|
transition('expanded <=> collapsed', animate(250))
|
|
]);
|
|
|
|
export const slideMobileNav = trigger('slideMobileNav', [
|
|
|
|
state('expanded', style({ height: '*', minHeight: '*' })),
|
|
|
|
state('collapsed', style({ height: 0, minHeight: 0 })),
|
|
|
|
transition('expanded <=> collapsed', animate('300ms'))
|
|
]);
|
|
|
|
const collapsedSidebarStyle = style({ maxWidth: '{{collapsedWidth}}' });
|
|
const expandedSidebarStyle = style({ maxWidth: '{{expandedWidth}}' });
|
|
const unpinnedSidebarPageStyle = style({ paddingLeft: '{{collapsedWidth}}' });
|
|
const pinnedSidebarPageStyle = style({ paddingLeft: '{{expandedWidth}}' });
|
|
const hiddenSidebarPageStyle = style({ paddingLeft: '0' });
|
|
const options = { params: { collapsedWidth: '*', expandedWidth: '*' } };
|
|
const animation = '300ms ease-in-out';
|
|
|
|
export const slideSidebar = trigger('slideSidebar', [
|
|
state('collapsed', collapsedSidebarStyle, options),
|
|
state('expanded', expandedSidebarStyle, options),
|
|
transition('expanded => collapsed', animate(animation, collapsedSidebarStyle)),
|
|
transition('collapsed => expanded', animate(animation, expandedSidebarStyle)),
|
|
]);
|
|
|
|
export const slideSidebarPadding = trigger('slideSidebarPadding', [
|
|
state('hidden', hiddenSidebarPageStyle),
|
|
state('unpinned', unpinnedSidebarPageStyle, options),
|
|
state('pinned', pinnedSidebarPageStyle, options),
|
|
transition('hidden <=> unpinned', animate(animation)),
|
|
transition('hidden <=> pinned', animate(animation)),
|
|
transition('unpinned <=> pinned', animate(animation)),
|
|
]);
|
|
|
|
export const expandSearchInput = trigger('toggleAnimation', [
|
|
state('collapsed', style({
|
|
width: '0',
|
|
opacity: '0'
|
|
})),
|
|
state('expanded', style({
|
|
width: '250px',
|
|
opacity: '1'
|
|
})),
|
|
transition('* => collapsed', group([
|
|
animate('300ms ease-in-out', style({
|
|
width: '30px'
|
|
})),
|
|
animate('300ms ease-in', style({
|
|
opacity: '0'
|
|
}))
|
|
])),
|
|
transition('* => expanded', group([
|
|
animate('300ms ease-out', style({
|
|
opacity: '1'
|
|
})),
|
|
animate('300ms ease-in-out', style({
|
|
width: '250px'
|
|
}))
|
|
]))
|
|
]);
|