jobiqo-cl
Version:
[](https://circleci.com/gh/jobiqo/jobiqo-cl)
125 lines (104 loc) • 5.6 kB
JavaScript
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
var React = require('react');
var React__default = _interopDefault(React);
var index = require('../../../prop-types/index.js');
var index$2 = require('../../utils/es/index.js');
var index$4 = require('../../auto-id/es/index.js');
var index$1 = require('../../dialog/es/index.js');
var invariant = require('../../../invariant/invariant.js');
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
var AlertDialogContext = React.createContext({}); ////////////////////////////////////////////////////////////////////////////////
// AlertDialogOverlay
var AlertDialogOverlay = React__default.forwardRef(function AlertDialogOverlay(_ref, forwardRef) {
var leastDestructiveRef = _ref.leastDestructiveRef,
props = _objectWithoutPropertiesLoose(_ref, ["leastDestructiveRef"]);
var id = index$4.useId(props.id);
var labelId = index$2.makeId("alert-dialog", id);
var descriptionId = index$2.makeId("alert-dialog-description", id);
return React__default.createElement(AlertDialogContext.Provider, {
value: {
labelId: labelId,
descriptionId: descriptionId,
leastDestructiveRef: leastDestructiveRef
}
}, React__default.createElement(index$1.DialogOverlay, _extends({
ref: forwardRef,
"data-reach-alert-dialog-overlay": true,
initialFocusRef: leastDestructiveRef
}, props)));
});
AlertDialogOverlay.displayName = "AlertDialogOverlay";
if (process.env.NODE_ENV !== "production") {
AlertDialogOverlay.propTypes = {
isOpen: index.default.bool,
onDismiss: index.default.func,
leastDestructiveRef: index.default.oneOfType([index.default.func, index.default.object]),
children: index.default.node
};
} ////////////////////////////////////////////////////////////////////////////////
// AlertDialogContent
var AlertDialogContent = React__default.forwardRef(function AlertDialogContent(_ref2, forwardRef) {
var children = _ref2.children,
props = _objectWithoutPropertiesLoose(_ref2, ["children"]);
var _React$useContext = React__default.useContext(AlertDialogContext),
labelId = _React$useContext.labelId,
leastDestructiveRef = _React$useContext.leastDestructiveRef;
React__default.useEffect(function () {
!document.getElementById(labelId) ? process.env.NODE_ENV !== "production" ? invariant.default(false, "@reach/alert-dialog: You must render a `<AlertDialogLabel>`\n inside an `<AlertDialog/>`.") : invariant.default(false) : void 0;
!leastDestructiveRef ? process.env.NODE_ENV !== "production" ? invariant.default(false, "@reach/alert-dialog: You must provide a `leastDestructiveRef` to\n `<AlertDialog>` or `<AlertDialogOverlay/>`. Please see\n https://ui.reach.tech/alert-dialog/#alertdialogoverlay-leastdestructiveref") : invariant.default(false) : void 0;
}, [labelId, leastDestructiveRef]);
return React__default.createElement(index$1.DialogContent, _extends({
ref: forwardRef // lol: remove in 1.0
,
"data-reach-alert-dialong-content": true,
"data-reach-alert-dialog-content": true,
role: "alertdialog",
"aria-labelledby": labelId
}, props), children);
});
AlertDialogContent.displayName = "AlertDialogContent";
if (process.env.NODE_ENV !== "production") {
AlertDialogContent.propTypes = {
children: index.default.node
};
} ////////////////////////////////////////////////////////////////////////////////
// AlertDialogLabel
function AlertDialogLabel(props) {
var _React$useContext2 = React__default.useContext(AlertDialogContext),
labelId = _React$useContext2.labelId;
return React__default.createElement("div", _extends({
id: labelId,
"data-reach-alert-dialog-label": true
}, props));
}
AlertDialogLabel.displayName = "AlertDialogLabel"; ////////////////////////////////////////////////////////////////////////////////
// AlertDialog
function AlertDialog(_ref3) {
var id = _ref3.id,
isOpen = _ref3.isOpen,
onDismiss = _ref3.onDismiss,
leastDestructiveRef = _ref3.leastDestructiveRef,
props = _objectWithoutPropertiesLoose(_ref3, ["id", "isOpen", "onDismiss", "leastDestructiveRef"]);
return React__default.createElement(AlertDialogOverlay, {
isOpen: isOpen,
onDismiss: onDismiss,
leastDestructiveRef: leastDestructiveRef,
id: id
}, React__default.createElement(AlertDialogContent, props));
}
AlertDialog.displayName = "AlertDialog";
if (process.env.NODE_ENV !== "production") {
AlertDialog.propTypes = {
isOpen: index.default.bool,
onDismiss: index.default.func,
leastDestructiveRef: index.default.oneOfType([index.default.func, index.default.object]),
children: index.default.node
};
}
exports.AlertDialog = AlertDialog;
exports.AlertDialogContent = AlertDialogContent;
exports.AlertDialogLabel = AlertDialogLabel;
exports.AlertDialogOverlay = AlertDialogOverlay;