UNPKG

@atlaskit/editor-plugin-text-formatting

Version:

Text-formatting plugin for @atlaskit/editor-core

55 lines 2.04 kB
import { useMemo } from 'react'; import { expValEqualsNoExposure } from '@atlaskit/tmp-editor-statsig/exp-val-equals-no-exposure'; import { ButtonsMenuMinimal, ToolbarButtonsStrong, ToolbarButtonsStrongItalic, ResponsiveCustomButtonToolbarMinimal, ResponsiveCustomButtonToolbarCompact, ResponsiveCustomMenuMinimal, ResponsiveCustomMenuCompact } from '../constants'; import { useIconList } from './use-icon-list'; export const useResponsiveIconTypeButtons = ({ toolbarSize, responsivenessEnabled }) => { let ResponsiveCustomButtonToolbar = ResponsiveCustomButtonToolbarCompact; if (expValEqualsNoExposure('platform_editor_controls', 'cohort', 'variant1')) { ResponsiveCustomButtonToolbar = ResponsiveCustomButtonToolbarMinimal; } const iconTypeList = useMemo(() => ResponsiveCustomButtonToolbar[toolbarSize], [toolbarSize, ResponsiveCustomButtonToolbar]); if (responsivenessEnabled) { return iconTypeList; } if (expValEqualsNoExposure('platform_editor_controls', 'cohort', 'variant1')) { return ToolbarButtonsStrong; } else { return ToolbarButtonsStrongItalic; } }; export const useResponsiveIconTypeMenu = ({ toolbarSize, responsivenessEnabled }) => { let ResponsiveCustomMenu = ResponsiveCustomMenuCompact; if (expValEqualsNoExposure('platform_editor_controls', 'cohort', 'variant1')) { ResponsiveCustomMenu = ResponsiveCustomMenuMinimal; } const iconTypeList = useMemo(() => ResponsiveCustomMenu[toolbarSize], [toolbarSize, ResponsiveCustomMenu]); if (responsivenessEnabled) { return iconTypeList; } if (expValEqualsNoExposure('platform_editor_controls', 'cohort', 'variant1')) { return ButtonsMenuMinimal; } else { return ToolbarButtonsStrongItalic; } }; export const useResponsiveToolbarButtons = ({ icons, toolbarSize, responsivenessEnabled }) => { const iconTypeList = useResponsiveIconTypeButtons({ toolbarSize, responsivenessEnabled }); const iconsPosition = useIconList({ icons, iconTypeList }); return iconsPosition; };