@wix/design-system
Version:
@wix/design-system
55 lines (54 loc) • 2.69 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.default = void 0;
var _Tooltip = require("../Tooltip/Tooltip.driver");
var _deprecationTestkitLog = _interopRequireDefault(require("../utils/deprecationTestkitLog"));
var getTextElement = element => element.querySelector("[data-hook=\"loader-text\"]");
var getStatusIndicatorElement = element => element.querySelector("[data-hook=\"loader-status-indicator\"]");
var loaderDriverFactory = _ref => {
var {
element,
eventTrigger
} = _ref;
(0, _deprecationTestkitLog.default)('loaderTestkitFactory legacy testkit is deprecated and will be removed in next major release. Please use the LoaderTestkit unidriver testkit instead.');
var tooltipTestkit = () => (0, _Tooltip.tooltipLegacyDriverFactory)({
element: element.querySelector("[data-hook=\"loader-tooltip\"]"),
eventTrigger
});
return {
component: () => element,
exists: () => !!element,
/** returns the loader color ('blue' or 'white') */
getColor: () => element.getAttribute('data-color'),
/** returns the element text */
getText: () => getTextElement(element).textContent,
/** true if the element has text */
hasText: () => !!getTextElement(element),
/** true if the status indicator is rendered */
statusIndicatorExists: () => !!getStatusIndicatorElement(element),
/** true when using the large loader */
isLarge: () => element.getAttribute('data-size') === 'large',
/** true when using the medium loader */
isMedium: () => element.getAttribute('data-size') === 'medium',
/** true when using the small loader */
isSmall: () => element.getAttribute('data-size') === 'small',
/** true when using the tiny loader */
isTiny: () => element.getAttribute('data-size') === 'tiny',
/** true when loader is in loading status */
isLoading: () => element.getAttribute('data-status') === 'loading',
/** true when loader is in loading-with-errors status */
isLoadingWithErrors: () => element.getAttribute('data-status') === 'loadingWithErrors',
/** true when loader is in error status */
isError: () => element.getAttribute('data-status') === 'error',
/** true when loader is in success status */
isSuccess: () => element.getAttribute('data-status') === 'success',
/** trigger the tooltip and returns the value of the tooltip message (async function) */
getStatusMessage: () => {
tooltipTestkit().mouseEnter();
return tooltipTestkit().getTooltipText();
}
};
};
var _default = exports.default = loaderDriverFactory;
//# sourceMappingURL=Loader.driver.js.map