@codecademy/gamut
68.2.268.2.3-alpha.d44ad5.0
dist/Tip/shared/popoverAlignmentUtils.js+
dist/Tip/shared/popoverAlignmentUtils.jsNew file+49
Index: package/dist/Tip/shared/popoverAlignmentUtils.js
===================================================================
--- package/dist/Tip/shared/popoverAlignmentUtils.js
+++ package/dist/Tip/shared/popoverAlignmentUtils.js
@@ -0,0 +1,49 @@
+import { CheckerDense } from '@codecademy/gamut-patterns';
+export const getAlignmentStyles = ({
+ alignment,
+ avatar,
+ type
+}) => {
+ if (avatar) return 'avatarAligned';
+ if (type === 'preview') return 'previewAligned';
+ if (alignment.startsWith('left') || alignment.startsWith('right')) return 'horizontalCenter';
+ return alignment.includes('center') ? 'vertCenter' : 'aligned';
+};
+export const getPopoverAlignmentAndPattern = ({
+ alignment = 'top-left',
+ type
+}) => {
+ const popoverAlignment = {
+ align: 'right',
+ beak: 'right',
+ position: 'above',
+ pattern: undefined
+ };
+ if (type === 'tool') {
+ popoverAlignment.align = 'center';
+ }
+ if (type === 'preview') {
+ popoverAlignment.pattern = CheckerDense;
+ }
+ if (alignment.includes('center')) {
+ popoverAlignment.beak = 'center';
+ }
+ if (alignment.includes('right-') || alignment.includes('left-')) {
+ if (alignment.includes('left-')) {
+ popoverAlignment.align = 'left';
+ } else {
+ popoverAlignment.align = 'right';
+ }
+ return {
+ beak: 'center',
+ position: 'center',
+ align: popoverAlignment.align
+ };
+ }
+ if (alignment.includes('bottom')) popoverAlignment.position = 'below';
+ if (alignment.includes('-right')) {
+ popoverAlignment.align = 'left';
+ popoverAlignment.beak = 'left';
+ }
+ return popoverAlignment;
+};
\ No newline at end of file