{"ast":null,"code":"function _extends() {\n  _extends = Object.assign || function (target) {\n    for (var i = 1; i < arguments.length; i++) {\n      var source = arguments[i];\n\n      for (var key in source) {\n        if (Object.prototype.hasOwnProperty.call(source, key)) {\n          target[key] = source[key];\n        }\n      }\n    }\n\n    return target;\n  };\n\n  return _extends.apply(this, arguments);\n}\n\nfunction _slicedToArray(arr, i) {\n  return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n\nfunction _nonIterableRest() {\n  throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n  if (!o) return;\n  if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n  var n = Object.prototype.toString.call(o).slice(8, -1);\n  if (n === \"Object\" && o.constructor) n = o.constructor.name;\n  if (n === \"Map\" || n === \"Set\") return Array.from(n);\n  if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n  if (len == null || len > arr.length) len = arr.length;\n\n  for (var i = 0, arr2 = new Array(len); i < len; i++) {\n    arr2[i] = arr[i];\n  }\n\n  return arr2;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n  if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n  var _arr = [];\n  var _n = true;\n  var _d = false;\n  var _e = undefined;\n\n  try {\n    for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n      _arr.push(_s.value);\n\n      if (i && _arr.length === i) break;\n    }\n  } catch (err) {\n    _d = true;\n    _e = err;\n  } finally {\n    try {\n      if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n    } finally {\n      if (_d) throw _e;\n    }\n  }\n\n  return _arr;\n}\n\nfunction _arrayWithHoles(arr) {\n  if (Array.isArray(arr)) return arr;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n  if (source == null) return {};\n\n  var target = _objectWithoutPropertiesLoose(source, excluded);\n\n  var key, i;\n\n  if (Object.getOwnPropertySymbols) {\n    var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n    for (i = 0; i < sourceSymbolKeys.length; i++) {\n      key = sourceSymbolKeys[i];\n      if (excluded.indexOf(key) >= 0) continue;\n      if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n      target[key] = source[key];\n    }\n  }\n\n  return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n  if (source == null) return {};\n  var target = {};\n  var sourceKeys = Object.keys(source);\n  var key, i;\n\n  for (i = 0; i < sourceKeys.length; i++) {\n    key = sourceKeys[i];\n    if (excluded.indexOf(key) >= 0) continue;\n    target[key] = source[key];\n  }\n\n  return target;\n}\n\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport cx from \"classnames\";\nimport { DialogOverlay, DialogContent } from \"@reach/dialog\";\nimport LoadingAnimation from \"../loading-animation\";\nimport partition from \"../utils/partition\";\nimport Action from \"./action\";\nimport IconButton from \"../buttons/icon-button\";\nimport { PortalNode } from \"../portal\";\nimport { motion, AnimatePresence } from \"framer-motion\";\nvar AnimatedDialogContent = motion.custom(DialogContent);\n_c = AnimatedDialogContent;\nvar DEFAULT = \"p-0 pb-8 bg-white font-sans rounded shadow w-4/5\";\nvar HEADER_DEFAULT = \"flex items-center justify-between px-8\";\nvar SIZES = {\n  sm: \"max-w-lg\",\n  md: \"max-w-2xl\"\n};\n\nvar byType = function byType(type) {\n  return function (component) {\n    return component.type === type;\n  };\n};\n\nfunction Modal(_ref) {\n  var children = _ref.children,\n      label = _ref.label,\n      onClose = _ref.onClose,\n      className = _ref.className,\n      _ref$size = _ref.size,\n      size = _ref$size === void 0 ? \"md\" : _ref$size,\n      _ref$loading = _ref.loading,\n      loading = _ref$loading === void 0 ? false : _ref$loading,\n      props = _objectWithoutProperties(_ref, [\"children\", \"label\", \"onClose\", \"className\", \"size\", \"loading\"]);\n\n  var _partition = partition(React.Children.toArray(children), byType(Action)),\n      _partition2 = _slicedToArray(_partition, 2),\n      actions = _partition2[0],\n      description = _partition2[1];\n\n  var headerClassName = cx(HEADER_DEFAULT, {\n    \"border-b border-gray-300 py-4 mb-6\": actions.length > 0,\n    \"pt-6 pb-2\": actions.length === 0\n  });\n  return /*#__PURE__*/React.createElement(DialogOverlay, _extends({\n    onDismiss: onClose\n  }, props), /*#__PURE__*/React.createElement(AnimatePresence, null, /*#__PURE__*/React.createElement(AnimatedDialogContent, {\n    key: \"modal-content\",\n    \"aria-label\": label,\n    className: cx(className, DEFAULT, SIZES[size]),\n    initial: {\n      opacity: 0,\n      y: -15\n    },\n    animate: {\n      opacity: 1,\n      y: 0\n    },\n    exit: {\n      opacity: 0\n    }\n  }, /*#__PURE__*/React.createElement(\"header\", {\n    className: headerClassName\n  }, /*#__PURE__*/React.createElement(\"h2\", {\n    className: \"text-gray-700 text-lg font-semibold mr-8\"\n  }, label), /*#__PURE__*/React.createElement(IconButton, {\n    icon: \"times\",\n    color: \"plain\",\n    className: \"-mr-3 focus:outline-none\",\n    label: \"Close\",\n    onClick: onClose\n  })), loading ? /*#__PURE__*/React.createElement(\"div\", {\n    className: \"flex justify-center\"\n  }, /*#__PURE__*/React.createElement(LoadingAnimation, null)) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(PortalNode, {\n    className: \"px-8\"\n  }, description), !!actions.length && /*#__PURE__*/React.createElement(\"div\", {\n    className: \"py-6 px-8 mt-8 -mb-8 bg-gray-100 rounded-b\"\n  }, /*#__PURE__*/React.createElement(\"div\", {\n    className: \"-mx-1\"\n  }, actions))))));\n}\n\n_c2 = Modal;\nModal.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n  label: PropTypes.string.isRequired,\n  onClose: PropTypes.func.isRequired,\n  loading: PropTypes.bool,\n  size: PropTypes.oneOf([\"sm\", \"md\"])\n};\nexport default Modal;\n\nvar _c, _c2;\n\n$RefreshReg$(_c, \"AnimatedDialogContent\");\n$RefreshReg$(_c2, \"Modal\");","map":{"version":3,"sources":["/Users/silverdust/Projects/ConvertKit/convertkit-design/docs/node_modules/@convertkit/design/modals/modal.js"],"names":["_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","len","arr2","Symbol","iterator","_arr","_n","_d","_e","undefined","_i","_s","next","done","push","value","err","isArray","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","React","PropTypes","cx","DialogOverlay","DialogContent","LoadingAnimation","partition","Action","IconButton","PortalNode","motion","AnimatePresence","AnimatedDialogContent","custom","DEFAULT","HEADER_DEFAULT","SIZES","sm","md","byType","type","component","Modal","_ref","children","label","onClose","className","_ref$size","size","_ref$loading","loading","props","_partition","Children","toArray","_partition2","actions","description","headerClassName","createElement","onDismiss","initial","opacity","y","animate","exit","icon","color","onClick","Fragment","propTypes","node","string","isRequired","func","bool","oneOf"],"mappings":"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","sourcesContent":["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); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(n); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _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; }\n\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport cx from \"classnames\";\nimport { DialogOverlay, DialogContent } from \"@reach/dialog\";\nimport LoadingAnimation from \"../loading-animation\";\nimport partition from \"../utils/partition\";\nimport Action from \"./action\";\nimport IconButton from \"../buttons/icon-button\";\nimport { PortalNode } from \"../portal\";\nimport { motion, AnimatePresence } from \"framer-motion\";\nvar AnimatedDialogContent = motion.custom(DialogContent);\nvar DEFAULT = \"p-0 pb-8 bg-white font-sans rounded shadow w-4/5\";\nvar HEADER_DEFAULT = \"flex items-center justify-between px-8\";\nvar SIZES = {\n  sm: \"max-w-lg\",\n  md: \"max-w-2xl\"\n};\n\nvar byType = function byType(type) {\n  return function (component) {\n    return component.type === type;\n  };\n};\n\nfunction Modal(_ref) {\n  var children = _ref.children,\n      label = _ref.label,\n      onClose = _ref.onClose,\n      className = _ref.className,\n      _ref$size = _ref.size,\n      size = _ref$size === void 0 ? \"md\" : _ref$size,\n      _ref$loading = _ref.loading,\n      loading = _ref$loading === void 0 ? false : _ref$loading,\n      props = _objectWithoutProperties(_ref, [\"children\", \"label\", \"onClose\", \"className\", \"size\", \"loading\"]);\n\n  var _partition = partition(React.Children.toArray(children), byType(Action)),\n      _partition2 = _slicedToArray(_partition, 2),\n      actions = _partition2[0],\n      description = _partition2[1];\n\n  var headerClassName = cx(HEADER_DEFAULT, {\n    \"border-b border-gray-300 py-4 mb-6\": actions.length > 0,\n    \"pt-6 pb-2\": actions.length === 0\n  });\n  return /*#__PURE__*/React.createElement(DialogOverlay, _extends({\n    onDismiss: onClose\n  }, props), /*#__PURE__*/React.createElement(AnimatePresence, null, /*#__PURE__*/React.createElement(AnimatedDialogContent, {\n    key: \"modal-content\",\n    \"aria-label\": label,\n    className: cx(className, DEFAULT, SIZES[size]),\n    initial: {\n      opacity: 0,\n      y: -15\n    },\n    animate: {\n      opacity: 1,\n      y: 0\n    },\n    exit: {\n      opacity: 0\n    }\n  }, /*#__PURE__*/React.createElement(\"header\", {\n    className: headerClassName\n  }, /*#__PURE__*/React.createElement(\"h2\", {\n    className: \"text-gray-700 text-lg font-semibold mr-8\"\n  }, label), /*#__PURE__*/React.createElement(IconButton, {\n    icon: \"times\",\n    color: \"plain\",\n    className: \"-mr-3 focus:outline-none\",\n    label: \"Close\",\n    onClick: onClose\n  })), loading ? /*#__PURE__*/React.createElement(\"div\", {\n    className: \"flex justify-center\"\n  }, /*#__PURE__*/React.createElement(LoadingAnimation, null)) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(PortalNode, {\n    className: \"px-8\"\n  }, description), !!actions.length && /*#__PURE__*/React.createElement(\"div\", {\n    className: \"py-6 px-8 mt-8 -mb-8 bg-gray-100 rounded-b\"\n  }, /*#__PURE__*/React.createElement(\"div\", {\n    className: \"-mx-1\"\n  }, actions))))));\n}\n\nModal.propTypes = {\n  children: PropTypes.node,\n  className: PropTypes.string,\n  label: PropTypes.string.isRequired,\n  onClose: PropTypes.func.isRequired,\n  loading: PropTypes.bool,\n  size: PropTypes.oneOf([\"sm\", \"md\"])\n};\nexport default Modal;"]},"metadata":{},"sourceType":"module"}