{
  "version": 3,
  "sources": ["../../../../../node_modules/memoizerific/memoizerific.js", "../../../../../addons/viewport/manager.js", "../../../../../addons/viewport/dist/esm/manager.js", "global-externals:react", "global-externals:@storybook/addons", "../../../../../addons/viewport/dist/esm/constants.js", "../../../../../addons/viewport/dist/esm/Tool.js", "global-externals:@storybook/theming", "global-externals:@storybook/components", "global-externals:@storybook/api", "../../../../../addons/viewport/dist/esm/shortcuts.js", "../../../../../addons/viewport/dist/esm/defaults.js"],
  "sourcesContent": ["(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.memoizerific = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(_dereq_,module,exports){\nmodule.exports = function(forceSimilar) {\n\tif (typeof Map !== 'function' || forceSimilar) {\n\t\tvar Similar = _dereq_('./similar');\n\t\treturn new Similar();\n\t}\n\telse {\n\t\treturn new Map();\n\t}\n}\n\n},{\"./similar\":2}],2:[function(_dereq_,module,exports){\nfunction Similar() {\n\tthis.list = [];\n\tthis.lastItem = undefined;\n\tthis.size = 0;\n\n\treturn this;\n}\n\nSimilar.prototype.get = function(key) {\n\tvar index;\n\n\tif (this.lastItem && this.isEqual(this.lastItem.key, key)) {\n\t\treturn this.lastItem.val;\n\t}\n\n\tindex = this.indexOf(key);\n\tif (index >= 0) {\n\t\tthis.lastItem = this.list[index];\n\t\treturn this.list[index].val;\n\t}\n\n\treturn undefined;\n};\n\nSimilar.prototype.set = function(key, val) {\n\tvar index;\n\n\tif (this.lastItem && this.isEqual(this.lastItem.key, key)) {\n\t\tthis.lastItem.val = val;\n\t\treturn this;\n\t}\n\n\tindex = this.indexOf(key);\n\tif (index >= 0) {\n\t\tthis.lastItem = this.list[index];\n\t\tthis.list[index].val = val;\n\t\treturn this;\n\t}\n\n\tthis.lastItem = { key: key, val: val };\n\tthis.list.push(this.lastItem);\n\tthis.size++;\n\n\treturn this;\n};\n\nSimilar.prototype.delete = function(key) {\n\tvar index;\n\n\tif (this.lastItem && this.isEqual(this.lastItem.key, key)) {\n\t\tthis.lastItem = undefined;\n\t}\n\n\tindex = this.indexOf(key);\n\tif (index >= 0) {\n\t\tthis.size--;\n\t\treturn this.list.splice(index, 1)[0];\n\t}\n\n\treturn undefined;\n};\n\n\n// important that has() doesn't use get() in case an existing key has a falsy value, in which case has() would return false\nSimilar.prototype.has = function(key) {\n\tvar index;\n\n\tif (this.lastItem && this.isEqual(this.lastItem.key, key)) {\n\t\treturn true;\n\t}\n\n\tindex = this.indexOf(key);\n\tif (index >= 0) {\n\t\tthis.lastItem = this.list[index];\n\t\treturn true;\n\t}\n\n\treturn false;\n};\n\nSimilar.prototype.forEach = function(callback, thisArg) {\n\tvar i;\n\tfor (i = 0; i < this.size; i++) {\n\t\tcallback.call(thisArg || this, this.list[i].val, this.list[i].key, this);\n\t}\n};\n\nSimilar.prototype.indexOf = function(key) {\n\tvar i;\n\tfor (i = 0; i < this.size; i++) {\n\t\tif (this.isEqual(this.list[i].key, key)) {\n\t\t\treturn i;\n\t\t}\n\t}\n\treturn -1;\n};\n\n// check if the numbers are equal, or whether they are both precisely NaN (isNaN returns true for all non-numbers)\nSimilar.prototype.isEqual = function(val1, val2) {\n\treturn val1 === val2 || (val1 !== val1 && val2 !== val2);\n};\n\nmodule.exports = Similar;\n},{}],3:[function(_dereq_,module,exports){\nvar MapOrSimilar = _dereq_('map-or-similar');\n\nmodule.exports = function (limit) {\n\tvar cache = new MapOrSimilar(undefined === 'true'),\n\t\tlru = [];\n\n\treturn function (fn) {\n\t\tvar memoizerific = function () {\n\t\t\tvar currentCache = cache,\n\t\t\t\tnewMap,\n\t\t\t\tfnResult,\n\t\t\t\targsLengthMinusOne = arguments.length - 1,\n\t\t\t\tlruPath = Array(argsLengthMinusOne + 1),\n\t\t\t\tisMemoized = true,\n\t\t\t\ti;\n\n\t\t\tif ((memoizerific.numArgs || memoizerific.numArgs === 0) && memoizerific.numArgs !== argsLengthMinusOne + 1) {\n\t\t\t\tthrow new Error('Memoizerific functions should always be called with the same number of arguments');\n\t\t\t}\n\n\t\t\t// loop through each argument to traverse the map tree\n\t\t\tfor (i = 0; i < argsLengthMinusOne; i++) {\n\t\t\t\tlruPath[i] = {\n\t\t\t\t\tcacheItem: currentCache,\n\t\t\t\t\targ: arguments[i]\n\t\t\t\t};\n\n\t\t\t\t// climb through the hierarchical map tree until the second-last argument has been found, or an argument is missing.\n\t\t\t\t// if all arguments up to the second-last have been found, this will potentially be a cache hit (determined later)\n\t\t\t\tif (currentCache.has(arguments[i])) {\n\t\t\t\t\tcurrentCache = currentCache.get(arguments[i]);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tisMemoized = false;\n\n\t\t\t\t// make maps until last value\n\t\t\t\tnewMap = new MapOrSimilar(undefined === 'true');\n\t\t\t\tcurrentCache.set(arguments[i], newMap);\n\t\t\t\tcurrentCache = newMap;\n\t\t\t}\n\n\t\t\t// we are at the last arg, check if it is really memoized\n\t\t\tif (isMemoized) {\n\t\t\t\tif (currentCache.has(arguments[argsLengthMinusOne])) {\n\t\t\t\t\tfnResult = currentCache.get(arguments[argsLengthMinusOne]);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tisMemoized = false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!isMemoized) {\n\t\t\t\tfnResult = fn.apply(null, arguments);\n\t\t\t\tcurrentCache.set(arguments[argsLengthMinusOne], fnResult);\n\t\t\t}\n\n\t\t\tif (limit > 0) {\n\t\t\t\tlruPath[argsLengthMinusOne] = {\n\t\t\t\t\tcacheItem: currentCache,\n\t\t\t\t\targ: arguments[argsLengthMinusOne]\n\t\t\t\t};\n\n\t\t\t\tif (isMemoized) {\n\t\t\t\t\tmoveToMostRecentLru(lru, lruPath);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tlru.push(lruPath);\n\t\t\t\t}\n\n\t\t\t\tif (lru.length > limit) {\n\t\t\t\t\tremoveCachedResult(lru.shift());\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tmemoizerific.wasMemoized = isMemoized;\n\t\t\tmemoizerific.numArgs = argsLengthMinusOne + 1;\n\n\t\t\treturn fnResult;\n\t\t};\n\n\t\tmemoizerific.limit = limit;\n\t\tmemoizerific.wasMemoized = false;\n\t\tmemoizerific.cache = cache;\n\t\tmemoizerific.lru = lru;\n\n\t\treturn memoizerific;\n\t};\n};\n\n// move current args to most recent position\nfunction moveToMostRecentLru(lru, lruPath) {\n\tvar lruLen = lru.length,\n\t\tlruPathLen = lruPath.length,\n\t\tisMatch,\n\t\ti, ii;\n\n\tfor (i = 0; i < lruLen; i++) {\n\t\tisMatch = true;\n\t\tfor (ii = 0; ii < lruPathLen; ii++) {\n\t\t\tif (!isEqual(lru[i][ii].arg, lruPath[ii].arg)) {\n\t\t\t\tisMatch = false;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (isMatch) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\tlru.push(lru.splice(i, 1)[0]);\n}\n\n// remove least recently used cache item and all dead branches\nfunction removeCachedResult(removedLru) {\n\tvar removedLruLen = removedLru.length,\n\t\tcurrentLru = removedLru[removedLruLen - 1],\n\t\ttmp,\n\t\ti;\n\n\tcurrentLru.cacheItem.delete(currentLru.arg);\n\n\t// walk down the tree removing dead branches (size 0) along the way\n\tfor (i = removedLruLen - 2; i >= 0; i--) {\n\t\tcurrentLru = removedLru[i];\n\t\ttmp = currentLru.cacheItem.get(currentLru.arg);\n\n\t\tif (!tmp || !tmp.size) {\n\t\t\tcurrentLru.cacheItem.delete(currentLru.arg);\n\t\t} else {\n\t\t\tbreak;\n\t\t}\n\t}\n}\n\n// check if the numbers are equal, or whether they are both precisely NaN (isNaN returns true for all non-numbers)\nfunction isEqual(val1, val2) {\n\treturn val1 === val2 || (val1 !== val1 && val2 !== val2);\n}\n},{\"map-or-similar\":1}]},{},[3])(3)\n});", "import './dist/esm/manager';\n", "import * as React from 'react';\nimport { addons, types } from '@storybook/addons';\nimport { ADDON_ID } from './constants';\nimport { ViewportTool } from './Tool';\naddons.register(ADDON_ID, () => {\n  addons.add(ADDON_ID, {\n    title: 'viewport / media-queries',\n    type: types.TOOL,\n    match: ({\n      viewMode\n    }) => viewMode === 'story',\n    render: () => /*#__PURE__*/React.createElement(ViewportTool, null)\n  });\n});", "export default __REACT__;\nconst { Children, Component, Fragment, Profiler, PureComponent, StrictMode, Suspense, cloneElement, createContext, createElement, createFactory, createRef, forwardRef, isValidElement, lazy, memo, useCallback, useContext, useDebugValue, useEffect, useImperativeHandle, useLayoutEffect, useMemo, useReducer, useRef, useState, version } = __REACT__;\nexport { Children, Component, Fragment, Profiler, PureComponent, StrictMode, Suspense, cloneElement, createContext, createElement, createFactory, createRef, forwardRef, isValidElement, lazy, memo, useCallback, useContext, useDebugValue, useEffect, useImperativeHandle, useLayoutEffect, useMemo, useReducer, useRef, useState, version };", "export default __STORYBOOKADDONS__;\nconst { AddonStore, Channel, HooksContext, addons, applyHooks, isSupportedType, makeDecorator, mockChannel, types, useArgs, useCallback, useChannel, useEffect, useGlobals, useMemo, useParameter, useReducer, useRef, useState, useStoryContext } = __STORYBOOKADDONS__;\nexport { AddonStore, Channel, HooksContext, addons, applyHooks, isSupportedType, makeDecorator, mockChannel, types, useArgs, useCallback, useChannel, useEffect, useGlobals, useMemo, useParameter, useReducer, useRef, useState, useStoryContext };", "export const ADDON_ID = 'storybook/viewport';\nexport const PARAM_KEY = 'viewport';\nexport const UPDATE = `${ADDON_ID}/update`;\nexport const CONFIGURE = `${ADDON_ID}/configure`;\nexport const SET = `${ADDON_ID}/setStoryDefaultViewport`;\nexport const CHANGED = `${ADDON_ID}/viewportChanged`;", "const _excluded = [\"name\"],\n      _excluded2 = [\"width\", \"height\"];\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\n/* eslint-disable no-fallthrough */\nimport React, { Fragment, useEffect, useRef, memo } from 'react';\nimport memoize from 'memoizerific';\nimport { styled, Global, withTheme } from '@storybook/theming';\nimport { Icons, IconButton, WithTooltip, TooltipLinkList } from '@storybook/components';\nimport { useStorybookApi, useParameter, useAddonState } from '@storybook/api';\nimport { registerShortcuts } from './shortcuts';\nimport { PARAM_KEY, ADDON_ID } from './constants';\nimport { MINIMAL_VIEWPORTS } from './defaults';\nconst toList = memoize(50)(items => [...baseViewports, ...Object.entries(items).map(([id, _ref]) => {\n  let {\n    name\n  } = _ref,\n      rest = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n  return Object.assign({}, rest, {\n    id,\n    title: name\n  });\n})]);\nconst responsiveViewport = {\n  id: 'reset',\n  title: 'Reset viewport',\n  styles: null,\n  type: 'other'\n};\nconst baseViewports = [responsiveViewport];\nconst toLinks = memoize(50)((list, active, set, state, close) => {\n  return list.map(i => {\n    switch (i.id) {\n      case responsiveViewport.id:\n        {\n          if (active.id === i.id) {\n            return null;\n          }\n        }\n\n      default:\n        {\n          return Object.assign({}, i, {\n            onClick: () => {\n              set(Object.assign({}, state, {\n                selected: i.id\n              }));\n              close();\n            }\n          });\n        }\n    }\n  }).filter(Boolean);\n});\nconst iframeId = 'storybook-preview-iframe';\nconst wrapperId = 'storybook-preview-wrapper';\n\nconst flip = _ref2 => {\n  let {\n    width,\n    height\n  } = _ref2,\n      styles = _objectWithoutPropertiesLoose(_ref2, _excluded2);\n\n  return Object.assign({}, styles, {\n    height: width,\n    width: height\n  });\n};\n\nconst ActiveViewportSize = styled.div(() => ({\n  display: 'inline-flex'\n}));\nconst ActiveViewportLabel = styled.div(({\n  theme\n}) => ({\n  display: 'inline-block',\n  textDecoration: 'none',\n  padding: 10,\n  fontWeight: theme.typography.weight.bold,\n  fontSize: theme.typography.size.s2 - 1,\n  lineHeight: '1',\n  height: 40,\n  border: 'none',\n  borderTop: '3px solid transparent',\n  borderBottom: '3px solid transparent',\n  background: 'transparent'\n}));\nconst IconButtonWithLabel = styled(IconButton)(() => ({\n  display: 'inline-flex',\n  alignItems: 'center'\n}));\nconst IconButtonLabel = styled.div(({\n  theme\n}) => ({\n  fontSize: theme.typography.size.s2 - 1,\n  marginLeft: 10\n}));\n\nconst getStyles = (prevStyles, styles, isRotated) => {\n  if (styles === null) {\n    return null;\n  }\n\n  const result = typeof styles === 'function' ? styles(prevStyles) : styles;\n  return isRotated ? flip(result) : result;\n};\n\nexport const ViewportTool = /*#__PURE__*/memo(withTheme(({\n  theme\n}) => {\n  const {\n    viewports = MINIMAL_VIEWPORTS,\n    defaultViewport = responsiveViewport.id,\n    disable\n  } = useParameter(PARAM_KEY, {});\n  const [state, setState] = useAddonState(ADDON_ID, {\n    selected: defaultViewport,\n    isRotated: false\n  });\n  const list = toList(viewports);\n  const api = useStorybookApi();\n\n  if (!list.find(i => i.id === defaultViewport)) {\n    // eslint-disable-next-line no-console\n    console.warn(`Cannot find \"defaultViewport\" of \"${defaultViewport}\" in addon-viewport configs, please check the \"viewports\" setting in the configuration.`);\n  }\n\n  useEffect(() => {\n    registerShortcuts(api, setState, Object.keys(viewports));\n  }, [viewports]);\n  useEffect(() => {\n    setState({\n      selected: defaultViewport || (viewports[state.selected] ? state.selected : responsiveViewport.id),\n      isRotated: state.isRotated\n    });\n  }, [defaultViewport]);\n  const {\n    selected,\n    isRotated\n  } = state;\n  const item = list.find(i => i.id === selected) || list.find(i => i.id === defaultViewport) || list.find(i => i.default) || responsiveViewport;\n  const ref = useRef();\n  const styles = getStyles(ref.current, item.styles, isRotated);\n  useEffect(() => {\n    ref.current = styles;\n  }, [item]);\n\n  if (disable || Object.entries(viewports).length === 0) {\n    return null;\n  }\n\n  return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(WithTooltip, {\n    placement: \"top\",\n    trigger: \"click\",\n    tooltip: ({\n      onHide\n    }) => /*#__PURE__*/React.createElement(TooltipLinkList, {\n      links: toLinks(list, item, setState, state, onHide)\n    }),\n    closeOnClick: true\n  }, /*#__PURE__*/React.createElement(IconButtonWithLabel, {\n    key: \"viewport\",\n    title: \"Change the size of the preview\",\n    active: !!styles,\n    onDoubleClick: () => {\n      setState(Object.assign({}, state, {\n        selected: responsiveViewport.id\n      }));\n    }\n  }, /*#__PURE__*/React.createElement(Icons, {\n    icon: \"grow\"\n  }), styles ? /*#__PURE__*/React.createElement(IconButtonLabel, null, isRotated ? `${item.title} (L)` : `${item.title} (P)`) : null)), styles ? /*#__PURE__*/React.createElement(ActiveViewportSize, null, /*#__PURE__*/React.createElement(Global, {\n    styles: {\n      [`#${iframeId}`]: Object.assign({\n        margin: `auto`,\n        transition: 'width .3s, height .3s',\n        position: 'relative',\n        border: `1px solid black`,\n        boxShadow: '0 0 100px 100vw rgba(0,0,0,0.5)'\n      }, styles),\n      [`#${wrapperId}`]: {\n        padding: theme.layoutMargin,\n        alignContent: 'center',\n        alignItems: 'center',\n        justifyContent: 'center',\n        justifyItems: 'center',\n        overflow: 'auto',\n        display: 'grid',\n        gridTemplateColumns: '100%',\n        gridTemplateRows: '100%'\n      }\n    }\n  }), /*#__PURE__*/React.createElement(ActiveViewportLabel, {\n    title: \"Viewport width\"\n  }, styles.width.replace('px', '')), /*#__PURE__*/React.createElement(IconButton, {\n    key: \"viewport-rotate\",\n    title: \"Rotate viewport\",\n    onClick: () => {\n      setState(Object.assign({}, state, {\n        isRotated: !isRotated\n      }));\n    }\n  }, /*#__PURE__*/React.createElement(Icons, {\n    icon: \"transfer\"\n  })), /*#__PURE__*/React.createElement(ActiveViewportLabel, {\n    title: \"Viewport height\"\n  }, styles.height.replace('px', ''))) : null);\n}));", "export default __STORYBOOKTHEMING__;\nconst { CacheProvider, ClassNames, Global, ThemeProvider, background, color, convert, create, createCache, createGlobal, createReset, css, darken, ensure, ignoreSsrWarning, isPropValid, jsx, keyframes, lighten, styled, themes, typography, useTheme, withTheme } = __STORYBOOKTHEMING__;\nexport { CacheProvider, ClassNames, Global, ThemeProvider, background, color, convert, create, createCache, createGlobal, createReset, css, darken, ensure, ignoreSsrWarning, isPropValid, jsx, keyframes, lighten, styled, themes, typography, useTheme, withTheme };", "export default __STORYBOOKCOMPONENTS__;\nconst { A, ActionBar, AddonPanel, Badge, Bar, Blockquote, Button, Code, DL, Div, DocumentWrapper, FlexBar, Form, H1, H2, H3, H4, H5, H6, HR, IconButton, IconButtonSkeleton, Icons, Img, LI, Link, Loader, OL, P, Placeholder, Pre, ResetWrapper, ScrollArea, Separator, Spaced, Span, StorybookIcon, StorybookLogo, Symbols, SyntaxHighlighter, TT, TabBar, TabButton, TabWrapper, Table, Tabs, TabsState, TooltipLinkList, TooltipMessage, TooltipNote, UL, WithTooltip, WithTooltipPure, Zoom, codeCommon, components, createCopyToClipboardFunction, getStoryHref, interleaveSeparators, nameSpaceClassNames, resetComponents, withReset } = __STORYBOOKCOMPONENTS__;\nexport { A, ActionBar, AddonPanel, Badge, Bar, Blockquote, Button, Code, DL, Div, DocumentWrapper, FlexBar, Form, H1, H2, H3, H4, H5, H6, HR, IconButton, IconButtonSkeleton, Icons, Img, LI, Link, Loader, OL, P, Placeholder, Pre, ResetWrapper, ScrollArea, Separator, Spaced, Span, StorybookIcon, StorybookLogo, Symbols, SyntaxHighlighter, TT, TabBar, TabButton, TabWrapper, Table, Tabs, TabsState, TooltipLinkList, TooltipMessage, TooltipNote, UL, WithTooltip, WithTooltipPure, Zoom, codeCommon, components, createCopyToClipboardFunction, getStoryHref, interleaveSeparators, nameSpaceClassNames, resetComponents, withReset };", "export default __STORYBOOKAPI__;\nconst { ActiveTabs, Consumer, ManagerContext, Provider, combineParameters, merge, useAddonState, useArgTypes, useArgs, useChannel, useGlobalTypes, useGlobals, useParameter, useSharedState, useStoryPrepared, useStorybookApi, useStorybookState } = __STORYBOOKAPI__;\nexport { ActiveTabs, Consumer, ManagerContext, Provider, combineParameters, merge, useAddonState, useArgTypes, useArgs, useChannel, useGlobalTypes, useGlobals, useParameter, useSharedState, useStoryPrepared, useStorybookApi, useStorybookState };", "import { ADDON_ID } from './constants';\n\nconst getCurrentViewportIndex = (viewportsKeys, current) => viewportsKeys.indexOf(current);\n\nconst getNextViewport = (viewportsKeys, current) => {\n  const currentViewportIndex = getCurrentViewportIndex(viewportsKeys, current);\n  return currentViewportIndex === viewportsKeys.length - 1 ? viewportsKeys[0] : viewportsKeys[currentViewportIndex + 1];\n};\n\nconst getPreviousViewport = (viewportsKeys, current) => {\n  const currentViewportIndex = getCurrentViewportIndex(viewportsKeys, current);\n  return currentViewportIndex < 1 ? viewportsKeys[viewportsKeys.length - 1] : viewportsKeys[currentViewportIndex - 1];\n};\n\nexport const registerShortcuts = async (api, setState, viewportsKeys) => {\n  await api.setAddonShortcut(ADDON_ID, {\n    label: 'Previous viewport',\n    defaultShortcut: ['shift', 'V'],\n    actionName: 'previous',\n    action: () => {\n      const {\n        selected,\n        isRotated\n      } = api.getAddonState(ADDON_ID);\n      setState({\n        selected: getPreviousViewport(viewportsKeys, selected),\n        isRotated\n      });\n    }\n  });\n  await api.setAddonShortcut(ADDON_ID, {\n    label: 'Next viewport',\n    defaultShortcut: ['V'],\n    actionName: 'next',\n    action: () => {\n      const {\n        selected,\n        isRotated\n      } = api.getAddonState(ADDON_ID);\n      setState({\n        selected: getNextViewport(viewportsKeys, selected),\n        isRotated\n      });\n    }\n  });\n  await api.setAddonShortcut(ADDON_ID, {\n    label: 'Reset viewport',\n    defaultShortcut: ['alt', 'V'],\n    actionName: 'reset',\n    action: () => {\n      const {\n        isRotated\n      } = api.getAddonState(ADDON_ID);\n      setState({\n        selected: 'reset',\n        isRotated\n      });\n    }\n  });\n};", "export const INITIAL_VIEWPORTS = {\n  iphone5: {\n    name: 'iPhone 5',\n    styles: {\n      height: '568px',\n      width: '320px'\n    },\n    type: 'mobile'\n  },\n  iphone6: {\n    name: 'iPhone 6',\n    styles: {\n      height: '667px',\n      width: '375px'\n    },\n    type: 'mobile'\n  },\n  iphone6p: {\n    name: 'iPhone 6 Plus',\n    styles: {\n      height: '736px',\n      width: '414px'\n    },\n    type: 'mobile'\n  },\n  iphone8p: {\n    name: 'iPhone 8 Plus',\n    styles: {\n      height: '736px',\n      width: '414px'\n    },\n    type: 'mobile'\n  },\n  iphonex: {\n    name: 'iPhone X',\n    styles: {\n      height: '812px',\n      width: '375px'\n    },\n    type: 'mobile'\n  },\n  iphonexr: {\n    name: 'iPhone XR',\n    styles: {\n      height: '896px',\n      width: '414px'\n    },\n    type: 'mobile'\n  },\n  iphonexsmax: {\n    name: 'iPhone XS Max',\n    styles: {\n      height: '896px',\n      width: '414px'\n    },\n    type: 'mobile'\n  },\n  iphonese2: {\n    name: 'iPhone SE (2nd generation)',\n    styles: {\n      height: '667px',\n      width: '375px'\n    },\n    type: 'mobile'\n  },\n  iphone12mini: {\n    name: 'iPhone 12 mini',\n    styles: {\n      height: '812px',\n      width: '375px'\n    },\n    type: 'mobile'\n  },\n  iphone12: {\n    name: 'iPhone 12',\n    styles: {\n      height: '844px',\n      width: '390px'\n    },\n    type: 'mobile'\n  },\n  iphone12promax: {\n    name: 'iPhone 12 Pro Max',\n    styles: {\n      height: '926px',\n      width: '428px'\n    },\n    type: 'mobile'\n  },\n  ipad: {\n    name: 'iPad',\n    styles: {\n      height: '1024px',\n      width: '768px'\n    },\n    type: 'tablet'\n  },\n  ipad10p: {\n    name: 'iPad Pro 10.5-in',\n    styles: {\n      height: '1112px',\n      width: '834px'\n    },\n    type: 'tablet'\n  },\n  ipad12p: {\n    name: 'iPad Pro 12.9-in',\n    styles: {\n      height: '1366px',\n      width: '1024px'\n    },\n    type: 'tablet'\n  },\n  galaxys5: {\n    name: 'Galaxy S5',\n    styles: {\n      height: '640px',\n      width: '360px'\n    },\n    type: 'mobile'\n  },\n  galaxys9: {\n    name: 'Galaxy S9',\n    styles: {\n      height: '740px',\n      width: '360px'\n    },\n    type: 'mobile'\n  },\n  nexus5x: {\n    name: 'Nexus 5X',\n    styles: {\n      height: '660px',\n      width: '412px'\n    },\n    type: 'mobile'\n  },\n  nexus6p: {\n    name: 'Nexus 6P',\n    styles: {\n      height: '732px',\n      width: '412px'\n    },\n    type: 'mobile'\n  },\n  pixel: {\n    name: 'Pixel',\n    styles: {\n      height: '960px',\n      width: '540px'\n    },\n    type: 'mobile'\n  },\n  pixelxl: {\n    name: 'Pixel XL',\n    styles: {\n      height: '1280px',\n      width: '720px'\n    },\n    type: 'mobile'\n  }\n};\nexport const DEFAULT_VIEWPORT = 'responsive';\nexport const MINIMAL_VIEWPORTS = {\n  mobile1: {\n    name: 'Small mobile',\n    styles: {\n      height: '568px',\n      width: '320px'\n    },\n    type: 'mobile'\n  },\n  mobile2: {\n    name: 'Large mobile',\n    styles: {\n      height: '896px',\n      width: '414px'\n    },\n    type: 'mobile'\n  },\n  tablet: {\n    name: 'Tablet',\n    styles: {\n      height: '1112px',\n      width: '834px'\n    },\n    type: 'tablet'\n  }\n};"],
  "mappings": "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",
  "names": []
}
