@mopinion/survey
Version:
Collect customer feedback with the Mopinion survey library
33 lines (32 loc) • 1.31 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = ShiftFocusToTop;
var _preact = require("preact");
var _form = require("../../form");
var _utils = require("../../../utils");
var _HandleTabIndex = _interopRequireDefault(require("./HandleTabIndex"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
function ShiftFocusToTop(_ref) {
var formIsCompleted = _ref.formIsCompleted;
var _useFormStore = (0, _form.useFormStore)(),
shiftFocusToTopRef = _useFormStore.shiftFocusToTopRef,
actionButtonRef = _useFormStore.actionButtonRef,
brandingRef = _useFormStore.brandingRef,
closeButtonRef = _useFormStore.closeButtonRef;
return (0, _preact.h)(_HandleTabIndex["default"], {
ref: shiftFocusToTopRef,
useTabIndexWhenOpen: true,
component: "div",
onFocus: function onFocus(e) {
if (e.relatedTarget === closeButtonRef.current && !formIsCompleted) {
var _actionButtonRef$curr;
(0, _utils.tryFocus)((_actionButtonRef$curr = actionButtonRef.current) !== null && _actionButtonRef$curr !== void 0 ? _actionButtonRef$curr : brandingRef.current);
} else {
(0, _utils.tryFocus)(closeButtonRef.current);
}
}
});
}
//# sourceMappingURL=ShiftFocusToTop.js.map