From 11a1d4ac2f6757476c5b17aeb86cc6ed8ed906bc Mon Sep 17 00:00:00 2001 From: KorbinAncell Date: Mon, 2 Nov 2020 22:49:36 -0800 Subject: [PATCH] Deprecate the v5 components. --- components/dropdown/legacy-dropdown/index.js | 52 +++++++++++++++++--- 1 file changed, 44 insertions(+), 8 deletions(-) diff --git a/components/dropdown/legacy-dropdown/index.js b/components/dropdown/legacy-dropdown/index.js index df10be813..5aaaade25 100644 --- a/components/dropdown/legacy-dropdown/index.js +++ b/components/dropdown/legacy-dropdown/index.js @@ -1,8 +1,44 @@ -export { Dropdown } from './component'; -export { MenuItem, MenuSeparator, MenuCheckbox } from './dropdown-children'; -export { DropdownMenu } from './dropdown-menu'; -export { DropdownToggle } from './dropdown-toggle'; -export { useDropdownContext } from './dropdown-utils'; -export { DropdownCore } from './dropdown-core'; -export { DropdownToggleCore } from './dropdown-toggle-core'; -export { DropdownMenuCore } from './dropdown-menu-core'; +import { deprecateComponent } from '../../utils'; + +import { Dropdown as DropdownComponent } from './component'; +import { DropdownMenu as DropdownMenuComponent } from './dropdown-menu'; +import { DropdownToggle as DropdownToggleComponent } from './dropdown-toggle'; +import { + MenuItem as MenuItemComponent, + MenuSeparator as MenuSeparatorComponent, + MenuCheckbox as MenuCheckboxComponent, +} from './dropdown-children'; + +const v6ImportHelpText = `You can opt into this new API by importing { Dropdown } from @faithlife/styled-ui/v6 +Learn more at https://faithlife.github.io/styled-ui/#/dropdown/variations/v6`; + +const depWarning = (name, newName) => + `${name} will be moving to ${newName} in Styled-UI version 6.\n${v6ImportHelpText}`; + +const Dropdown = deprecateComponent( + DropdownComponent, + `Prefer the Styled-UI version 6 Dropdown.\n${v6ImportHelpText}`, +); +const DropdownMenu = deprecateComponent( + DropdownMenuComponent, + depWarning('DropdownMenu', 'Dropdown.Menu'), +); +const DropdownToggle = deprecateComponent( + DropdownToggleComponent, + depWarning('DropdownToggle', 'Dropdown.Toggle'), +); +const MenuItem = deprecateComponent(MenuItemComponent, depWarning('MenuItem', 'Dropdown.Item')); +const MenuSeparator = deprecateComponent( + MenuSeparatorComponent, + depWarning('MenuSeparator', 'Menu.Separator'), +); +const MenuCheckbox = deprecateComponent( + MenuCheckboxComponent, + depWarning('MenuCheckbox', 'Dropdown.CheckboxItem'), +); + +export { Dropdown, DropdownMenu, DropdownToggle, MenuItem, MenuSeparator, MenuCheckbox }; +export { useDropdownContext as useDropdownContextComponent } from './dropdown-utils'; +export { DropdownCore as DropdownCoreComponent } from './dropdown-core'; +export { DropdownToggleCore as DropdownToggleCoreComponent } from './dropdown-toggle-core'; +export { DropdownMenuCore as DropdownMenuCoreComponent } from './dropdown-menu-core';