UNPKG

wix-style-react

Version:
27 lines 1.76 kB
import { dropdownBaseDriverFactory as publicDriverFactory } from './DropdownBase.uni.driver'; import { dropdownLayoutDriverFactory } from '../DropdownLayout/DropdownLayout.uni.driver'; export const dropdownBasePrivateDriverFactory = (base, body) => { const byDataHook = dataHook => base.$(`[data-hook="${dataHook}"]`); const getTargetElement = () => byDataHook('popover-element'); const getContentElement = () => byDataHook('popover-content'); const createDropdownLayoutDriver = () => dropdownLayoutDriverFactory(base); return { ...publicDriverFactory(base, body), /** Returns the native target element */ getTargetElement: () => getTargetElement().getNative(), /** Returns the native DropdownLayout element */ getDropdownElement: () => getContentElement().getNative(), /** Return `true` if the option is hovered by the mouse */ isOptionHovered: async (index) => createDropdownLayoutDriver().isOptionHovered(index), /** Return `true` if the option is selected */ isOptionSelected: async (index) => createDropdownLayoutDriver().isOptionSelected(index), /** Trigger a keyDown event on the target element */ keyDown: async (key) => (await getTargetElement()).pressKey(key), /** Perform a mouseLeave on the target element */ mouseLeaveTarget: async () => (await getTargetElement()).mouse.leave(), getDropdownLayoutDriver: createDropdownLayoutDriver, keyDownListItem: async (position, key) => createDropdownLayoutDriver().keyDownListItem(position, key), isListItemFocused: async (position) => createDropdownLayoutDriver().isListItemFocused(position), }; }; //# sourceMappingURL=DropdownBase.private.uni.driver.js.map