cloud-native-app-initializer/initializer-page/public/chunk-d045279c48fa41927c6c.js.map
2023-03-20 10:04:51 +08:00

1 line
199 KiB
Plaintext

{"version":3,"sources":["webpack:///./src/components/common/form/Radio.js","webpack:///./src/components/common/form/RadioGroup.js","webpack:///./src/components/common/form/Switch.js","webpack:///./src/components/common/form/Placeholder.js","webpack:///./src/components/common/form/Form.js","webpack:///./src/components/common/form/Button.js","webpack:///./src/components/common/icons/Icons.js","webpack:///./src/components/utils/ApiUtils.js","webpack:///./src/components/utils/Theme.js","webpack:///./src/components/reducer/App.js","webpack:///./src/components/reducer/Initializr.js","webpack:///./src/components/utils/Version.js","webpack:///./src/components/common/form/Close.js","webpack:///./src/components/utils/WindowsUtils.js","webpack:///./src/styles/app.scss?4dc7","webpack:///./src/styles/app.scss","webpack:///./src/fonts/karla-v12-latin-regular.eot","webpack:///./src/fonts/karla-v12-latin-regular.woff2","webpack:///./src/fonts/karla-v12-latin-regular.woff","webpack:///./src/fonts/karla-v12-latin-regular.ttf","webpack:///./src/fonts/karla-v12-latin-regular.svg","webpack:///./src/fonts/karla-v12-latin-700.eot","webpack:///./src/fonts/karla-v12-latin-700.woff2","webpack:///./src/fonts/karla-v12-latin-700.woff","webpack:///./src/fonts/karla-v12-latin-700.ttf","webpack:///./src/fonts/karla-v12-latin-700.svg","webpack:///./src/fonts/karla-v8-latin-regular.eot","webpack:///./src/fonts/karla-v8-latin-regular.woff2","webpack:///./src/fonts/karla-v8-latin-regular.woff","webpack:///./src/fonts/karla-v8-latin-regular.ttf","webpack:///./src/fonts/karla-v8-latin-regular.svg","webpack:///./src/fonts/karla-v8-latin-700.eot","webpack:///./src/fonts/karla-v8-latin-700.woff2","webpack:///./src/fonts/karla-v8-latin-700.woff","webpack:///./src/fonts/karla-v8-latin-700.ttf","webpack:///./src/fonts/karla-v8-latin-700.svg","webpack:///./src/components/utils/Hash.js","webpack:///./src/components/common/builder/Control.js","webpack:///./src/components/common/builder/FieldInput.js","webpack:///./src/components/common/builder/FieldRadio.js","webpack:///./src/components/common/builder/FieldError.js","webpack:///./src/components/common/builder/PanelMore.js","webpack:///./src/components/common/builder/Tabs.js","webpack:///./src/components/common/builder/quick-search/Dependencies.js","webpack:///./src/components/common/builder/quick-search/Result.js","webpack:///./src/components/common/builder/quick-search/QuickSearch.js","webpack:///./src/components/common/builder/list/ListItem.js","webpack:///./src/components/common/builder/list/ListGroup.js","webpack:///./src/components/common/builder/list/List.js","webpack:///./src/components/common/layout/Header.js","webpack:///./src/components/common/layout/QuickLinks.js","webpack:///./src/components/common/layout/Layout.js","webpack:///./src/components/common/layout/Footer.js","webpack:///./src/components/common/builder/Loading.js","webpack:///./src/components/common/builder/Warnings.js","webpack:///./src/components/Application.js","webpack:///./src/App.js"],"names":["Radio","handler","value","disabled","error","checked","text","className","href","onClick","event","preventDefault","defaultProps","propTypes","PropTypes","bool","isRequired","string","func","RadioGroup","onChange","options","selected","onChangeHandler","allOptions","map","option","key","push","length","arrayOf","shape","Switch","id","isOn","name","type","htmlFor","Placeholder","count","width","Array","from","item","i","style","number","Form","onSubmit","children","autoComplete","display","node","Button","variant","hotkey","IconCaretDown","aria-hidden","focusable","data-icon","role","xmlns","viewBox","fill","d","IconCheck","IconFolder","IconFile","IconChevronRight","IconList","IconPlus","data-prefix","IconSearch","IconTimes","IconHelp","t","version","p-id","height","PROPERTIES_MAPPING_URL","language","architecture","platformVersion","packaging","jvmVersion","groupId","artifactId","description","packageName","dependencies","getInfo","url","Promise","resolve","reject","fetch","method","headers","Accept","then","response","json","data","getShareUrl","values","props","Object","keys","forEach","key2","get","set","params","querystring","stringify","join","isValidParams","entry","filter","parseParams","queryParams","lists","errors","warnings","toLowerCase","list","res","find","a","currentValue","select","versionMajor","indexOf","parseVersion","releases","parseReleases","release","major","reduce","p","c","qualify","minor","depsWarning","newVal","split","dep","trim","getLists","deps","group","extend","Extend","it","val","versionRange","versionRequirement","weight","project","action","boot","meta","java","getDefaultValues","artifact","share","availableCount","getConfig","defaultValues","isValidDependency","dependency","isInRange","getQueryString","config","bootVersion","baseDir","javaVersion","paramsDependencies","getProject","paramsStr","status","blob","useTheme","isDarkConfig","useState","window","matchMedia","matches","localStorage","getItem","defaultAppContext","more","complete","explore","tab","theme","groupsOpened","groups","reduceDependencies","items","getParent","m","message","parent","valid","rangeToText","reducer","state","newState","keysContext","Error","setItem","g","AppContext","React","createContext","AppProvider","useReducer","dispatch","Provider","defaultInitializrContext","changes","InitializrContext","InitializrProvider","strictRange","halfopenRightRange","halfopenLeftRange","qualifiers","parseQualifier","qual","replace","r","toString","short","compare","b","result","versionA","versionB","parseInt","localeCompare","range","strickMatch","match","horMatch","holMatch","strictMatch","Close","onClose","getProperties","symb","navigator","userAgent","origin","location","pathname","useWindowsUtils","api","content","__esModule","default","module","exports","locals","___CSS_LOADER_API_IMPORT___","___CSS_LOADER_GET_URL_IMPORT___","___CSS_LOADER_URL_IMPORT_0___","___CSS_LOADER_URL_IMPORT_1___","___CSS_LOADER_URL_IMPORT_2___","___CSS_LOADER_URL_IMPORT_3___","___CSS_LOADER_URL_IMPORT_4___","___CSS_LOADER_URL_IMPORT_5___","___CSS_LOADER_URL_IMPORT_6___","___CSS_LOADER_URL_IMPORT_7___","___CSS_LOADER_URL_IMPORT_8___","___CSS_LOADER_URL_IMPORT_9___","___CSS_LOADER_URL_IMPORT_10___","___CSS_LOADER_URL_IMPORT_11___","___CSS_LOADER_URL_IMPORT_12___","___CSS_LOADER_URL_IMPORT_13___","___CSS_LOADER_URL_IMPORT_14___","___CSS_LOADER_URL_IMPORT_15___","___CSS_LOADER_URL_IMPORT_16___","___CSS_LOADER_URL_IMPORT_17___","___CSS_LOADER_URL_IMPORT_18___","___CSS_LOADER_URL_IMPORT_19___","___CSS_LOADER_URL_REPLACEMENT_0___","___CSS_LOADER_URL_REPLACEMENT_1___","hash","___CSS_LOADER_URL_REPLACEMENT_2___","___CSS_LOADER_URL_REPLACEMENT_3___","___CSS_LOADER_URL_REPLACEMENT_4___","___CSS_LOADER_URL_REPLACEMENT_5___","___CSS_LOADER_URL_REPLACEMENT_6___","___CSS_LOADER_URL_REPLACEMENT_7___","___CSS_LOADER_URL_REPLACEMENT_8___","___CSS_LOADER_URL_REPLACEMENT_9___","___CSS_LOADER_URL_REPLACEMENT_10___","___CSS_LOADER_URL_REPLACEMENT_11___","___CSS_LOADER_URL_REPLACEMENT_12___","___CSS_LOADER_URL_REPLACEMENT_13___","___CSS_LOADER_URL_REPLACEMENT_14___","___CSS_LOADER_URL_REPLACEMENT_15___","___CSS_LOADER_URL_REPLACEMENT_16___","___CSS_LOADER_URL_REPLACEMENT_17___","___CSS_LOADER_URL_REPLACEMENT_18___","___CSS_LOADER_URL_REPLACEMENT_19___","___CSS_LOADER_URL_REPLACEMENT_20___","___CSS_LOADER_URL_REPLACEMENT_21___","___CSS_LOADER_URL_REPLACEMENT_22___","___CSS_LOADER_URL_REPLACEMENT_23___","getHash","useHash","setHash","useContext","useEffect","addEventListener","removeEventListener","queryString","parse","substr","safemode","payload","history","pushState","toast","success","Control","FieldInput","inputRef","ref","oneOfType","current","instanceOf","Element","FieldRadio","FieldError","PanelMore","fieldFocusOnOpen","setTimeout","focus","Tabs","changeTab","setCount","change","newTab","aria-label","Dependencies","remove","TransitionGroup","component","CSSTransition","timeout","classNames","Result","add","index","e","onMouseEnter","onMouseLeave","QuickSearch","submit","input","dependenciesContext","query","setQuery","setSelected","setDependencies","setResult","search","setSearch","newDeps","jsSearchUp","JsSearch","addIndex","addDocuments","vals","o","slice","sort","sortResult","onSearch","placeholder","onBlur","onFocus","target","onKeyDown","keyCode","Math","min","max","ListItem","toggle","tabIndex","keyPressed","ListGroup","itemsSelected","isClose","toggleGroup","isItemSelected","keywords","List","dispatchInitializr","dependencyGroup","Header","QuickLinks","help","setHelp","wrapper","useRef","clickOutside","contains","document","rel","Layout","Footer","Date","getFullYear","Loading","special","Warnings","Explore","lazy","Share","Fetch","HotKeys","Application","fetchOpen","shareOpen","exploreOpen","x","y","positionShare","setPositionShare","setBlob","inputMore","inputQuickSearch","windowsUtils","jsonConfig","open","onExplore","catch","update","args","shareSrc","fallback","arch","getBoundingClientRect","shareUrl","position","projectName","render","App","Initializr","closeButton","hideProgressBar","getElementById"],"mappings":"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","file":"chunk-d045279c48fa41927c6c.js","sourcesContent":["import PropTypes from 'prop-types'\nimport React from 'react'\n\nfunction Radio({ handler, value, disabled, error, checked, text }) {\n const onClick = event => {\n event.preventDefault()\n handler(value)\n }\n if (disabled || error) {\n return (\n <span\n className={`radio disabled ${checked ? 'checked' : ''} ${\n error ? 'err' : ''\n }`}\n >\n {text}\n </span>\n )\n }\n return (\n <a\n href='/'\n className={`radio ${checked ? 'checked' : ''}`}\n onClick={onClick}\n >\n {text}\n </a>\n )\n}\n\nRadio.defaultProps = {\n disabled: false,\n error: false,\n}\n\nRadio.propTypes = {\n checked: PropTypes.bool.isRequired,\n text: PropTypes.string.isRequired,\n value: PropTypes.string.isRequired,\n handler: PropTypes.func.isRequired,\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n}\n\nexport default Radio\n","import PropTypes from 'prop-types'\nimport React from 'react'\n\nimport Radio from './Radio'\n\nfunction RadioGroup({ onChange, options, error, selected, disabled }) {\n const onChangeHandler = value => {\n if (onChange) {\n onChange(value)\n }\n }\n const allOptions = options.map(option => {\n return (\n <Radio\n key={option.key}\n checked={!error && selected === option.key}\n text={option.text}\n value={option.key}\n disabled={disabled}\n handler={onChangeHandler}\n />\n )\n })\n if (error) {\n allOptions.push(\n <Radio\n key={allOptions.length + 1}\n checked\n text={error}\n value={error}\n disabled={disabled}\n handler={onChangeHandler}\n error\n />\n )\n }\n return <div className='group-radio'>{allOptions}</div>\n}\n\nRadioGroup.defaultProps = {\n selected: '',\n error: null,\n onChange: null,\n disabled: false,\n options: {\n error: '',\n },\n}\n\nRadioGroup.propTypes = {\n selected: PropTypes.string,\n error: PropTypes.string,\n options: PropTypes.arrayOf(\n PropTypes.shape({\n key: PropTypes.string.isRequired,\n text: PropTypes.string.isRequired,\n })\n ),\n onChange: PropTypes.func,\n disabled: PropTypes.bool,\n}\n\nexport default RadioGroup\n","import PropTypes from 'prop-types'\nimport React from 'react'\n\nconst Switch = ({ id, isOn, onChange }) => {\n return (\n <span className='switch'>\n <input\n checked={isOn}\n onChange={onChange}\n className='switch-checkbox'\n id={id}\n name='switch-new'\n type='checkbox'\n />\n {/* eslint-disable-next-line */}\n <label className='switch-label' htmlFor={id}>\n <span className='switch-button' />\n </label>\n </span>\n )\n}\n\nSwitch.defaultProps = {\n isOn: false,\n onChange: null,\n}\n\nSwitch.propTypes = {\n isOn: PropTypes.bool,\n onChange: PropTypes.func,\n}\n\nexport default Switch\n","import PropTypes from 'prop-types'\nimport React from 'react'\n\nfunction Placeholder({ type, count, width }) {\n if (type === 'radios') {\n const options = Array.from({ length: count }, (item, i) => {\n const id = `p${i}`\n return <span key={id} style={{ width }} className='placeholder-radio' />\n })\n return <span className='placeholder-radios'>{options}</span>\n }\n if (type === 'input') {\n return <span className='placeholder-input' />\n }\n if (type === 'dropdown') {\n return <span className='placeholder-dropdown' />\n }\n if (type === 'text') {\n return <span style={{ width }} className='placeholder-text' />\n }\n if (type === 'button') {\n return <span style={{ width }} className='placeholder-button' />\n }\n if (type === 'tabs') {\n const options = Array.from({ length: count }, (item, i) => {\n return <span key={`p${i}`} className='placeholder-tab' />\n })\n return (\n <span className='placeholder-tabs'>\n <span className='placeholder-header'>{options}</span>\n </span>\n )\n }\n return ''\n}\n\nPlaceholder.defaultProps = {\n width: '150px',\n type: 'radios',\n count: 3,\n}\n\nPlaceholder.propTypes = {\n type: PropTypes.string,\n count: PropTypes.number,\n width: PropTypes.string,\n}\n\nexport default Placeholder\n","import PropTypes from 'prop-types'\nimport React from 'react'\n\nconst Form = ({ onSubmit, children }) => (\n <form onSubmit={onSubmit} autoComplete='off'>\n <input\n style={{ display: 'none' }}\n type='text'\n name='fakeusernameremembered'\n />\n <input\n style={{ display: 'none' }}\n type='password'\n name='fakepasswordremembered'\n />\n {children}\n </form>\n)\n\nForm.defaultProps = {\n children: null,\n}\n\nForm.propTypes = {\n onSubmit: PropTypes.func.isRequired,\n children: PropTypes.node,\n}\n\nexport default Form\n","import PropTypes from 'prop-types'\nimport React from 'react'\n\nfunction Button({ id, onClick, children, variant, hotkey }) {\n return (\n <button\n className={`button ${variant === 'primary' ? 'primary' : ''}`}\n type='button'\n id={id}\n onClick={event => {\n if (onClick) {\n onClick(event)\n }\n }}\n >\n {children}\n {hotkey && (\n <>\n {' '}\n <span className='desktop-only'>- {hotkey}</span>\n </>\n )}\n </button>\n )\n}\n\nButton.defaultProps = {\n onClick: null,\n children: null,\n variant: '',\n hotkey: '',\n}\n\nButton.propTypes = {\n id: PropTypes.string.isRequired,\n variant: PropTypes.string,\n hotkey: PropTypes.string,\n onClick: PropTypes.func,\n children: PropTypes.node,\n}\n\nexport default Button\n","import React from 'react'\n\nexport const IconCaretDown = () => (\n <svg\n aria-hidden='true'\n focusable='false'\n data-icon='caret-down'\n role='img'\n xmlns='http://www.w3.org/2000/svg'\n viewBox='0 0 320 512'\n className='icon-caret-down'\n >\n <path\n fill='currentColor'\n d='M31.3 192h257.3c17.8 0 26.7 21.5 14.1 34.1L174.1 354.8c-7.8 7.8-20.5 7.8-28.3 0L17.2 226.1C4.6 213.5 13.5 192 31.3 192z'\n />\n </svg>\n)\n\nexport const IconCheck = () => (\n <svg\n aria-hidden='true'\n focusable='false'\n data-icon='check'\n role='img'\n xmlns='http://www.w3.org/2000/svg'\n viewBox='0 0 512 512'\n className='icon-check'\n >\n <path\n fill='currentColor'\n d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'\n />\n </svg>\n)\n\nexport const IconFolder = () => (\n <svg\n aria-hidden='true'\n focusable='false'\n data-icon='folder'\n role='img'\n xmlns='http://www.w3.org/2000/svg'\n className='icon-folder'\n viewBox='0 0 512 512'\n >\n <g>\n <path\n fill='#86ad5c'\n d='M430.1,192H81.9c-17.7,0-18.6,9.2-17.6,20.5l13,183c0.9,11.2,3.5,20.5,21.1,20.5h316.2c18,0,20.1-9.2,21.1-20.5l12.1-185.3 C448.7,199,447.8,192,430.1,192z'\n />\n <g>\n <path\n fill='#718c50'\n d='M426.2,143.3c-0.5-12.4-4.5-15.3-15.1-15.3c0,0-121.4,0-143.2,0c-21.8,0-24.4,0.3-40.9-17.4C213.3,95.8,218.7,96,190.4,96 c-22.6,0-75.3,0-75.3,0c-17.4,0-23.6-1.5-25.2,16.6c-1.5,16.7-5,57.2-5.5,63.4h343.4L426.2,143.3z'\n />\n </g>\n </g>\n </svg>\n)\n\nexport const IconFile = () => (\n <svg\n aria-hidden='true'\n focusable='false'\n data-icon='file'\n role='img'\n xmlns='http://www.w3.org/2000/svg'\n className='icon-file'\n viewBox='0 0 1792 1792'\n >\n <path\n fill='currentColor'\n d='M1596 380q28 28 48 76t20 88v1152q0 40-28 68t-68 28h-1344q-40 0-68-28t-28-68v-1600q0-40 28-68t68-28h896q40 0 88 20t76 48zm-444-244v376h376q-10-29-22-41l-313-313q-12-12-41-22zm384 1528v-1024h-416q-40 0-68-28t-28-68v-416h-768v1536h1280z'\n />\n </svg>\n)\n\nexport const IconChevronLeft = () => (\n <svg\n aria-hidden='true'\n focusable='false'\n data-icon='chevron-left'\n role='img'\n xmlns='http://www.w3.org/2000/svg'\n viewBox='0 0 320 512'\n className='icon-chevron-left'\n >\n <path\n fill='currentColor'\n d='M34.52 239.03L228.87 44.69c9.37-9.37 24.57-9.37 33.94 0l22.67 22.67c9.36 9.36 9.37 24.52.04 33.9L131.49 256l154.02 154.75c9.34 9.38 9.32 24.54-.04 33.9l-22.67 22.67c-9.37 9.37-24.57 9.37-33.94 0L34.52 272.97c-9.37-9.37-9.37-24.57 0-33.94z'\n />\n </svg>\n)\n\nexport const IconChevronRight = () => (\n <svg\n aria-hidden='true'\n focusable='false'\n data-icon='chevron-right'\n role='img'\n xmlns='http://www.w3.org/2000/svg'\n viewBox='0 0 320 512'\n className='icon-chevron-right'\n >\n <path\n fill='currentColor'\n d='M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z'\n />\n </svg>\n)\n\nexport const IconChevronDown = () => (\n <svg\n aria-hidden='true'\n focusable='false'\n data-icon='chevron-down'\n role='img'\n xmlns='http://www.w3.org/2000/svg'\n viewBox='0 0 448 512'\n className='icon-chevron-down'\n >\n <path\n fill='currentColor'\n d='M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z'\n />\n </svg>\n)\n\nexport const IconChevronUp = () => (\n <svg\n aria-hidden='true'\n focusable='false'\n data-icon='chevron-up'\n role='img'\n xmlns='http://www.w3.org/2000/svg'\n viewBox='0 0 448 512'\n className='icon-chevron-up'\n >\n <path\n fill='currentColor'\n d='M240.971 130.524l194.343 194.343c9.373 9.373 9.373 24.569 0 33.941l-22.667 22.667c-9.357 9.357-24.522 9.375-33.901.04L224 227.495 69.255 381.516c-9.379 9.335-24.544 9.317-33.901-.04l-22.667-22.667c-9.373-9.373-9.373-24.569 0-33.941L207.03 130.525c9.372-9.373 24.568-9.373 33.941-.001z'\n />\n </svg>\n)\n\nexport const IconGithub = () => (\n <svg\n aria-hidden='true'\n focusable='false'\n data-icon='github'\n role='img'\n xmlns='http://www.w3.org/2000/svg'\n viewBox='0 0 496 512'\n className='icon-github'\n >\n <path\n fill='currentColor'\n d='M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z'\n />\n </svg>\n)\n\nexport const IconList = () => (\n <svg\n aria-hidden='true'\n focusable='false'\n data-icon='list'\n role='img'\n xmlns='http://www.w3.org/2000/svg'\n viewBox='0 0 512 512'\n className='icon-list'\n >\n <path\n fill='currentColor'\n d='M128 116V76c0-8.837 7.163-16 16-16h352c8.837 0 16 7.163 16 16v40c0 8.837-7.163 16-16 16H144c-8.837 0-16-7.163-16-16zm16 176h352c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H144c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h352c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H144c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zM16 144h64c8.837 0 16-7.163 16-16V64c0-8.837-7.163-16-16-16H16C7.163 48 0 55.163 0 64v64c0 8.837 7.163 16 16 16zm0 160h64c8.837 0 16-7.163 16-16v-64c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v64c0 8.837 7.163 16 16 16zm0 160h64c8.837 0 16-7.163 16-16v-64c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v64c0 8.837 7.163 16 16 16z'\n />\n </svg>\n)\n\nexport const IconPlus = () => (\n <svg\n aria-hidden='true'\n focusable='false'\n data-prefix='fas'\n data-icon='plus'\n role='img'\n xmlns='http://www.w3.org/2000/svg'\n viewBox='0 0 448 512'\n className='icon-plus'\n >\n <path\n fill='currentColor'\n d='M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z'\n />\n </svg>\n)\n\nexport const IconSearch = () => (\n <svg\n aria-hidden='true'\n focusable='false'\n data-icon='search'\n role='img'\n xmlns='http://www.w3.org/2000/svg'\n viewBox='0 0 512 512'\n className='icon-search'\n >\n <path\n fill='currentColor'\n d='M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z'\n />\n </svg>\n)\n\nexport const IconTimes = () => (\n <svg\n aria-hidden='true'\n focusable='false'\n data-prefix='fas'\n data-icon='times'\n role='img'\n xmlns='http://www.w3.org/2000/svg'\n viewBox='0 0 352 512'\n className='icon-times'\n >\n <path\n fill='currentColor'\n d='M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z'\n />\n </svg>\n)\n\nexport const IconTwitter = () => (\n <svg\n aria-hidden='true'\n focusable='false'\n data-icon='twitter'\n role='img'\n xmlns='http://www.w3.org/2000/svg'\n viewBox='0 0 512 512'\n className='icon-twitter'\n >\n <path\n fill='currentColor'\n d='M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z'\n />\n </svg>\n)\n\nexport const IconHelp = () => (\n <svg\n t=\"1583993417464\"\n className='icon-help'\n focusable='false'\n aria-hidden='true'\n role='img'\n data-icon='help'\n viewBox=\"0 0 1024 1024\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n p-id=\"1960\"\n width=\"18\"\n height=\"18\">\n <path\n p-id=\"1961\"\n fill='currentColor'\n d=\"M0.12992 518.398052C-6.268452 236.869666 224.072954 6.528259 505.601341 0.129887c281.528386-6.398372 511.869793 223.943034 518.268165 505.471421 6.398372 281.528386-223.943034 511.869793-505.47142 518.268165-281.528386 6.398372-511.869793-223.943034-518.268166-505.471421zM595.178555 767.934577c0-44.788607-38.390234-83.178841-83.178842-83.178842-44.788607 0-83.178841 38.390234-83.178841 83.178842 0 44.788607 38.390234 83.178841 83.178841 83.178841 44.788607 0 83.178841-38.390234 83.178842-83.178841zM300.853423 345.641997v12.796745c0 31.991862 6.398372 63.983724 63.983725 63.983724S435.219244 384.032232 435.219244 345.641997c0-12.796745 38.390234-44.788607 76.780469-44.788607s83.178841 19.195117 83.178842 76.780469c0 38.390234-63.983724 76.780469-95.975587 108.772331-70.382097 63.983724-63.983724 89.577214-63.983724 89.577214 0 38.390234 12.796745 76.780469 70.382097 70.382097 57.585352-6.398372 166.357683-153.560938 166.357682-153.560938 51.186979-57.585352 51.186979-127.967448 51.18698-127.967448 0-121.569076-95.975586-185.5528-211.14629-185.5528-115.170703-6.398372-204.747917 51.186979-211.14629 166.357682z\">\n </path>\n </svg>\n)\n\nexport const IconFeedBack = () => (\n <svg\n t=\"1589424011678\"\n class=\"icon-feedback\"\n focusable='false'\n aria-hidden='true'\n viewBox=\"0 0 1070 1024\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n p-id=\"1374\"\n width=\"32\"\n height=\"32\">\n <path\n fill='currentColor'\n p-id=\"1375\"\n d=\"M1021.713308 633.948781a48.653015 48.653015 0 0 1-48.653014-48.653014l-0.389224-487.673493-728.578895 0.413551a48.653015 48.653015 0 0 1 0-97.30603l678.709554-0.389224v0.413551h51.693829a97.306029 97.306029 0 0 1 95.359908 77.844823L1070.366323 585.295767a48.653015 48.653015 0 0 1-48.653015 48.653014zM924.407279 229.544923l0.413551 307.584359c0 1.216325-0.267592 2.432651-0.364898 3.600323l0.291918 200.912624a96.965458 96.965458 0 0 1-96.138357 86.213142h-51.693828l-270.024232 0.316245-182.448805 181.086521a48.653015 48.653015 0 1 1-68.795362-68.795363l189.162921-187.703331a48.653015 48.653015 0 0 1 40.576614-21.893856h1.946121l340.157552-0.316245v-76.506866 10.217133-17.75835L827.10125 486.5788c0-1.289305 0.267592-2.432651 0.364897-3.721956l-0.218938-164.155271c-1.021713-64.07602-9.000808-73.247114-64.659857-74.487766l64.173326 0.437877 0.486531 70.668504L827.10125 244.019195h-71.665891 7.10334-15.495985l-587.314867 0.316245c-51.085665 1.727182-60.645983 10.922602-62.397491 57.434884l0.291918 382.388368c2.432651 38.533188 14.085048 45.101345 65.851855 46.220364l-65.827529-0.437877v0.997387l194.903977-0.340571a48.653015 48.653015 0 0 1 0 97.306029l-143.526393 0.243265v-0.291918H97.306029a97.111417 97.111417 0 0 1-96.892478-93.073217L0 243.484012a97.062764 97.062764 0 0 1 92.927258-96.332969l736.120112-0.437877A96.989785 96.989785 0 0 1 924.407279 229.544923z m-827.10125 14.912149v33.424621l0.218939-33.230009 31.259562-0.218938H97.306029z m669.708747 485.873331c51.085665-1.240652 59.040433-9.730603 60.18378-65.997814l-0.462204 65.68157z m0 0c-10.460398 0.243265-22.502019 0.243265-36.927638 0.243265z m-603.51632 0l32.281275 0.218939c-12.211907 0-22.84259 0-32.232622-0.194612z m741.958474-632.099966l65.803202 0.437877 0.364898 54.613009c-1.483917-46.512282-10.72799-53.90754-66.192427-55.02656z m0 0l-32.402908-0.170286c12.284886 0 22.939896 0 32.378581 0.194612z m66.435691 97.135743l-0.291918-42.036204c0.364898 11.482111 0.291918 25.202262 0.291918 42.036204z\">\n </path>\n </svg>\n)\n\nexport const IconCloudTookit = () => (\n <svg\n t=\"1587979013746\"\n className='icon-cloud-tookit'\n focusable='false'\n aria-hidden='true'\n role='img'\n data-icon='help'\n viewBox=\"0 0 1024 1024\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n p-id=\"679\"\n width=\"25\"\n height=\"25\">\n <path\n p-id=\"680\"\n fill='currentColor'\n d=\"M228.616 662.377c-18.254-4.236-32.293-19.763-32.293-39.526V405.455c1.404-19.764 14.041-35.291 32.293-39.527l200.78-43.76 21.062-86.112H217.384c-82.839 0-148.83 66.347-148.83 148.225v256.923c0 81.876 67.395 149.636 148.83 149.636h233.074l-21.061-86.112-200.781-42.351z m584.092-426.323H578.226l21.062 86.111 200.785 43.761c18.253 4.237 32.287 19.764 32.287 39.526V622.85c-1.4 19.763-14.035 35.29-32.287 39.526l-200.785 43.762-21.062 86.11h234.482c81.436 0 148.83-66.347 148.83-149.635V384.278c-1.41-81.877-67.394-148.224-148.83-148.224zM429.396 502.86H600.69v21.174H429.396V502.86z\">\n </path>\n </svg>\n)\n\nexport const IconInitialzrTutorial = () => (\n <svg t=\"1603192889200\" class=\"icon-cloud-tookit\" viewBox=\"0 0 1376 1024\" version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\" p-id=\"1399\" width=\"200\" height=\"200\" style={{left: '20px'}}>\n <path\n d=\"M596.800316 1023.986434q-3.66285 0-7.447794-0.217058c-24.581792-1.356611-50.303136-9.048595-80.04005-17.934397-110.238211-32.789288-153.134251-29.397761-187.565038-26.630275-51.008574 4.069833-91.842566 15.926613-127.88772 26.345386-56.177262 16.279332-104.689672 30.293124-147.029502-6.783055C18.802629 974.239508 3.065941 934.6129 0.054264 880.972501V186.04851c0-91.313487 68.49529-165.750733 153.161384-167.093778a1093.645533 1093.645533 0 0 1 405.463899 0 151.831904 151.831904 0 0 1 108.094765 49.774058c28.990777 31.554772 44.958089 73.256995 44.958089 117.31972V879.683721c-3.147338 53.002792-18.870459 92.819325-46.748815 118.36431-19.00612 17.418885-41.403768 25.938403-68.18327 25.938403z m-243.376015-93.60616c69.187162 0 124.021379 16.360729 169.400017 29.845442 57.561005 17.161129 86.294026 24.418998 110.034719 2.713222 18.354947-16.821977 28.922947-45.58213 31.378413-85.466493V186.04851c0-32.165247-11.517627-62.404107-32.43657-85.195171a105.476506 105.476506 0 0 0-75.631063-34.430788h-2.19771l-2.157012-0.406983a1046.245545 1046.245545 0 0 0-391.884223 0l-2.19771 0.420549h-2.238408c-28.326038 0-55.159804 12.209499-75.563233 34.444354-20.918942 22.763933-32.436569 53.016358-32.436569 85.195171v692.943339c2.333371 40.060723 12.630049 68.346063 30.591578 84.109883 10.337376 9.048595 21.488718 12.52152 37.320369 11.626156 17.635943-1.003892 39.72157-7.379964 65.239423-14.759928 36.302911-10.513735 81.491623-23.591465 137.275469-28.068281 12.236631-1.031024 24.066279-1.478706 35.516076-1.478706z\"\n p-id=\"1400\" fill='currentColor'></path>\n <path\n d=\"M1261.064898 1023.986434c-2.4419 0-4.924498-0.067831-7.447794-0.217058-24.581792-1.356611-50.303136-9.048595-80.04005-17.934397-110.251777-32.789288-153.174949-29.397761-187.605737-26.630275-51.008574 4.069833-91.842566 15.926613-127.88772 26.345386-56.177262 16.279332-104.689672 30.293124-147.029501-6.783055-28.027584-24.527527-43.764271-64.154135-46.775948-117.794534l47.413555-2.713222c2.26554 40.521971 12.575784 69.010802 30.605144 84.828887 10.337376 9.048595 21.502285 12.52152 37.320369 11.626156 17.635943-1.003892 39.72157-7.379964 65.239424-14.759928 36.302911-10.513735 81.491623-23.591465 137.275468-28.068282 86.199064-6.932282 152.02183 12.697879 204.916094 28.488832 57.561005 17.161129 86.294026 24.418998 110.034719 2.713222 18.354947-16.821977 28.922947-45.58213 31.378412-85.466494V186.04851c0-32.165247-11.517627-62.404107-32.436569-85.195171a105.476506 105.476506 0 0 0-75.64463-34.430788h-2.19771l-2.157011-0.406983a1046.245545 1046.245545 0 0 0-391.884223 0l-2.19771 0.420549h-2.238408c-28.326038 0-55.159804 12.209499-75.563234 34.444354-20.918942 22.763933-32.436569 53.016358-32.436569 85.195171h-47.481385c0-91.313487 68.49529-165.750733 153.161383-167.093778a1093.645533 1093.645533 0 0 1 405.463899 0 151.831904 151.831904 0 0 1 108.216861 49.746926c28.990777 31.554772 44.958089 73.256995 44.958088 117.31972V879.683721c-3.147338 53.002792-18.870459 92.819325-46.748815 118.36431-19.087517 17.418885-41.444466 25.938403-68.210402 25.938403zM121.362421 229.43293h334.974391v47.481386H121.362421zM121.362421 384.507135h334.974391v47.481386H121.362421z\"\n p-id=\"1401\" fill='currentColor'></path>\n <path\n d=\"M942.342707 431.988521a23.740693 23.740693 0 0 1-23.740693-23.740693V14.681407h47.481386v342.788471l60.626946-50.655856a23.740693 23.740693 0 0 1 30.442351 0l55.376862 46.260436V23.689304h47.481385V403.87954a23.740693 23.740693 0 0 1-38.961868 18.219286l-79.131121-66.12122-84.367638 70.543772a23.740693 23.740693 0 0 1-15.20761 5.467143z\"\n p-id=\"1402\" fill='currentColor'></path>\n </svg>\n)\nexport const IconHot = () => (\n<svg t=\"1603192889200\" class=\"icon-cloud-tookit\" viewBox=\"0 0 1376 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"1399\" width=\"200\" height=\"200\">\n p-id=\"2096\" width=\"200\" height=\"200\">\n <path\n d=\"M498.463465 545.489466c-32.862322 0-49.168055 24.584027-49.168055 61.460069 0 41.015189 16.431161 61.460069 49.168055 61.460068 32.862322 0 49.168055-20.44488 49.168055-61.460068-4.013719-36.876041-16.305732-57.44635-49.168055-61.460069z m0 0\"\n fill=\"#FF0000\" p-id=\"2097\"></path>\n <path\n d=\"M674.816233 164.060755c20.44488 49.168055 24.584027 123.045566-16.431161 164.060754C588.646709 57.44635 412.29394 0 412.29394 0c20.570309 139.476727-73.752082 291.245468-168.074473 406.012739-4.139147-57.44635-8.152866-94.322391-36.876041-147.629593-8.152866 102.475257-82.030377 184.505634-106.614405 282.967172-16.431161 86.169525-4.139147 164.060755 57.320921 233.799119 98.461538 94.322391 352.705537 213.228809 611.088682 4.139147 237.812837-242.077413-36.876041-574.212641-94.322391-615.227829zM379.557047 705.411073h-45.154337v-77.89123H252.372333V705.411073h-45.154336V512.627144h45.154336v77.891229h86.169525v-77.891229h45.154336V705.411073h-4.139147z m118.906418 4.139147c-61.460069-4.139147-94.322391-36.876041-98.461538-98.461538 4.139147-65.599216 36.876041-98.461538 98.461538-102.475257 61.460069 4.139147 90.183244 36.876041 94.322391 102.475257 0 61.460069-32.862322 94.322391-94.322391 98.461538z m221.507104-160.047035v159.921607h-45.154336V549.503185h-61.460068v-36.876041H781.556067v36.876041h-61.585498z m0 0\"\n fill=\"#FF0000\" p-id=\"2098\"></path>\n</svg>\n)","import get from 'lodash.get'\nimport querystring from 'querystring'\nimport set from 'lodash.set'\n\nimport Extend from '../../Extend.json'\nimport {isInRange, parseReleases, parseVersion} from './Version'\n\nconst PROPERTIES_MAPPING_URL = {\n type: 'project',\n language: 'language',\n architecture: 'architecture',\n platformVersion: 'boot',\n packaging: 'meta.packaging',\n jvmVersion: 'meta.java',\n groupId: 'meta.group',\n artifactId: 'meta.artifact',\n name: 'meta.name',\n description: 'meta.description',\n packageName: 'meta.packageName',\n dependencies: 'dependencies',\n}\n\nexport const getInfo = function getInfo(url) {\n return new Promise((resolve, reject) => {\n fetch(`${url}`, {\n method: 'GET',\n headers: {\n Accept: 'application/vnd.initializr.v2.1+json',\n },\n })\n .then(\n response => response.json(),\n () => {\n reject()\n return null\n }\n )\n .then(data => {\n if (data) {\n resolve(data)\n }\n })\n })\n}\n\nexport const getShareUrl = values => {\n const props = {}\n Object.keys(PROPERTIES_MAPPING_URL).forEach(key => {\n const key2 = get(PROPERTIES_MAPPING_URL, key)\n const value = get(values, key2)\n if (key !== 'dependencies') {\n set(props, key, value)\n }\n })\n let params = `${querystring.stringify(props)}`\n if (get(values, 'dependencies', []).length > 0) {\n params = `${params}&dependencies=${get(values, 'dependencies').join(',')}`\n }\n return params\n}\n\nexport const isValidParams = params => {\n return (\n Object.keys(params)\n .map(entry => {\n return !!get(PROPERTIES_MAPPING_URL, entry, null)\n })\n .filter(item => !!item).length > 0\n )\n}\n\nexport const parseParams = (values, queryParams, lists) => {\n const errors = {}\n const warnings = {}\n if (isValidParams(queryParams)) {\n Object.keys(queryParams).forEach(entry => {\n const key = get(PROPERTIES_MAPPING_URL, entry)\n if (key) {\n const value = get(queryParams, entry, '').toLowerCase()\n switch (key) {\n case 'project':\n case 'language':\n case 'architecture':\n case 'meta.packaging':\n case 'meta.java': {\n const list = get(lists, key, [])\n const res = list.find(a => a.key.toLowerCase() === value)\n if (res) {\n set(values, key, res.key)\n } else {\n const currentValue = list.find(\n a => a.key.toLowerCase() === get(values, key)\n )\n set(warnings, key, {\n value: get(queryParams, entry, ''),\n select: currentValue.text,\n })\n }\n break\n }\n case 'boot': {\n const list = get(lists, key, [])\n const res = list.find(a => a.key.toLowerCase() === value)\n let error = false\n if (res) {\n set(values, key, res.key)\n } else {\n error = true\n let versionMajor = value\n if (versionMajor.indexOf('.x') === -1) {\n versionMajor = get(parseVersion(versionMajor), 'major', '')\n }\n if (versionMajor.indexOf('.x') > -1) {\n const releases = parseReleases(list).filter(\n release =>\n release.major.toLowerCase() === versionMajor.toLowerCase()\n )\n if (releases.length > 0) {\n const release = releases.reduce((p, c) => {\n if (p.qualify > c.qualify) {\n return p\n }\n if (p.qualify === c.qualify) {\n if (p.minor > c.minor) {\n return p\n }\n }\n return c\n }, releases[0])\n\n if (release) {\n error = false\n set(values, key, release.version)\n const currentValue = list.find(\n a => a.key.toLowerCase() === release.version.toLowerCase()\n )\n set(warnings, key, {\n value: get(queryParams, entry, ''),\n select: currentValue.text,\n })\n }\n }\n }\n }\n if (error) {\n set(errors, 'boot', {\n value: get(queryParams, entry, ''),\n })\n }\n break\n }\n case 'dependencies': {\n const depsWarning = []\n const newVal = value\n .split(',')\n .map(item => {\n const dep = get(lists, 'dependencies').find(\n d => d.id === item.trim()\n )\n if (dep) {\n return dep.id\n }\n depsWarning.push(item)\n return null\n })\n .filter(item => !!item)\n\n if (depsWarning.length > 0) {\n set(warnings, key, {\n value: depsWarning.join(', '),\n })\n }\n set(values, key, newVal)\n break\n }\n default:\n set(values, key, get(queryParams, entry, ''))\n }\n }\n })\n }\n return {\n values,\n errors,\n warnings,\n }\n}\n\nexport const getLists = json => {\n const deps = []\n get(json, 'dependencies.values', []).forEach(group => {\n group.values.forEach(item => {\n const extend = Extend.find(it => it.id === get(item, 'id', ''))\n const val = {\n id: `${get(item, 'id', '')}`,\n name: `${get(item, 'name', '')}`,\n group: `${group.name}`,\n description: `${get(item, 'description', '')}`,\n versionRange: `${get(item, 'versionRange', '')}`,\n versionRequirement: `${get(item, 'versionRange', '')}`,\n weight: get(extend, 'weight', 50),\n }\n deps.push(val)\n })\n })\n return {\n project: get(json, 'type.values', [])\n .filter(type => type.action === '/starter.zip')\n .map(type => ({\n key: `${type.id}`,\n text: `${type.name}`,\n })),\n language: get(json, 'language.values', []).map(language => ({\n key: `${language.id}`,\n text: `${language.name}`,\n })),\n architecture: get(json, 'architecture.values', []).map(architecture => ({\n key: `${architecture.id}`,\n text: `${architecture.name}`,\n dependencies: get(architecture, 'dependOn', []),\n })),\n boot: get(json, 'bootVersion.values', []).map(boot => ({\n key: `${boot.id}`,\n text: `${boot.name}`,\n })),\n meta: {\n java: get(json, 'javaVersion.values', []).map(java => ({\n key: `${java.id}`,\n text: `${java.name}`,\n })),\n packaging: get(json, 'packaging.values', []).map(packaging => ({\n key: `${packaging.id}`,\n text: `${packaging.name}`,\n })),\n },\n dependencies: deps,\n }\n}\n\nexport const getDefaultValues = json => {\n return {\n project: get(json, 'type.default'),\n language: get(json, 'language.default'),\n architecture: get(json, 'architecture.default'),\n boot: get(json, 'bootVersion.default'),\n meta: {\n name: get(json, 'name.default'),\n group: get(json, 'groupId.default'),\n artifact: get(json, 'artifactId.default'),\n description: get(json, 'description.default'),\n packaging: get(json, 'packaging.default'),\n packageName: get(json, 'packageName.default'),\n java: get(json, 'javaVersion.default'),\n },\n share: get(json, 'share.default'),\n dependencies: [],\n availableCount: [],\n }\n}\n\nexport const getConfig = json => {\n return {\n lists: getLists(json),\n defaultValues: getDefaultValues(json),\n }\n}\n\nexport const isValidDependency = function isValidDependency(boot, dependency) {\n if (!dependency) {\n return false\n }\n return get(dependency, 'versionRange')\n ? isInRange(boot, get(dependency, 'versionRange'))\n : true\n}\n\nexport const getQueryString = function getQueryString(values, config) {\n const params = querystring.stringify({\n type: get(values, 'project'),\n language: get(values, 'language'),\n architecture: get(values, 'architecture'),\n bootVersion: get(values, 'boot'),\n baseDir: get(values, 'meta.artifact'),\n groupId: get(values, 'meta.group'),\n artifactId: get(values, 'meta.artifact'),\n name: get(values, 'meta.name'),\n description: get(values, 'meta.description'),\n packageName: get(values, 'meta.packageName'),\n packaging: get(values, 'meta.packaging'),\n javaVersion: get(values, 'meta.java'),\n })\n let paramsDependencies = get(values, 'dependencies', [])\n .map(dependency => {\n const dep = config.find(it => it.id === dependency)\n return isValidDependency(get(values, 'boot'), dep) ? dependency : null\n })\n .filter(dep => !!dep)\n .join(',')\n if (paramsDependencies) {\n paramsDependencies = `&dependencies=${paramsDependencies}`\n }\n\n return `${params}${paramsDependencies}`\n}\n\nexport const getProject = function getProject(url, values, config) {\n return new Promise((resolve, reject) => {\n\n const paramsStr = getQueryString(values, config)\n\n fetch(`${url}?${paramsStr}`, {\n method: 'GET',\n }).then(\n response => {\n if (response.status === 200) {\n resolve(response.blob())\n return\n }\n reject()\n },\n () => {\n reject()\n }\n )\n })\n}\n","import {useState} from 'react'\n\nfunction getTheme() {\n const isDarkConfig =\n window.matchMedia &&\n window.matchMedia('(prefers-color-scheme: dark)').matches\n\n const theme = localStorage.getItem('springtheme')\n if (!theme) {\n return isDarkConfig ? 'dark' : 'light'\n }\n return theme\n}\n\nexport default function useTheme() {\n const [darkTheme] = useState(getTheme())\n return darkTheme\n}\n","import PropTypes from 'prop-types'\nimport get from 'lodash.get'\nimport set from 'lodash.set'\nimport React, {useReducer} from 'react'\n\nimport useTheme from '../utils/Theme'\nimport {isValidDependency} from '../utils/ApiUtils'\nimport {rangeToText} from '../utils/Version'\n\nexport const defaultAppContext = {\n more: false,\n complete: false,\n explore: false,\n share: false,\n fetch: false,\n tab: 'quicksearch',\n theme: 'light',\n language: 'zh',\n config: {},\n groupsOpened: [],\n dependencies: {\n list: [],\n groups: [],\n },\n}\n\nexport function reduceDependencies(boot, items) {\n const groups = []\n const list = []\n const getParent = (m, name) => {\n return m.find(item => item.group === name)\n }\n for (let i = 0; i < items.length; i += 1) {\n let message = ''\n const dep = items[i]\n let parent = getParent(groups, dep.group)\n if (!parent) {\n parent = {\n group: dep.group,\n items: [],\n }\n groups.push(parent)\n }\n const valid = isValidDependency(boot, dep)\n if (!valid) {\n message = `Requires Spring Boot ${rangeToText(\n get(dep, 'versionRequirement')\n )}.`\n }\n parent.items.push({ ...dep, valid, message })\n list.push({ ...dep, valid, message })\n }\n return {\n list,\n groups,\n }\n}\n\nexport function reducer(state, action) {\n switch (action.type) {\n case 'UPDATE': {\n const newState = { ...state }\n const keysContext = Object.keys(defaultAppContext)\n const keys = Object.keys(get(action, 'payload', {}))\n keys.map(key => {\n if (keysContext.indexOf(key) === -1) {\n throw Error('Error AppProvider, invalid paylaod field action')\n }\n const value = get(action, `payload.${key}`)\n set(newState, key, value)\n if (key === 'theme') {\n localStorage.setItem('springtheme', value)\n }\n return key\n })\n return newState\n }\n case 'TOGGLE_GROUP': {\n const id = get(action, 'payload.id')\n let groupsOpened = [...state.groupsOpened]\n if (groupsOpened.indexOf(id) > -1) {\n groupsOpened = [...groupsOpened.filter(g => g !== id)]\n } else {\n groupsOpened = [...groupsOpened, id]\n }\n return { ...state, groupsOpened }\n }\n case 'UPDATE_DEPENDENCIES': {\n const dependencies = reduceDependencies(\n get(action, 'payload.boot'),\n get(state, 'config.lists.dependencies')\n )\n return { ...state, dependencies }\n }\n case 'SHARE_UPDATE': {\n const share = get(action, 'payload.open', false)\n return { ...state, share }\n }\n case 'EXPLORE_UPDATE': {\n const explore = get(action, 'payload.open', false)\n return { ...state, explore }\n }\n case 'FETCH_UPDATE': {\n const fetch = get(action, 'payload.open', false)\n return { ...state, fetch }\n }\n case 'COMPLETE': {\n const json = get(action, 'payload', {})\n const dependencies = reduceDependencies(\n get(json, 'defaultValues.boot'),\n get(json, 'lists.dependencies')\n )\n return { ...state, complete: true, config: json, dependencies }\n }\n default:\n return state\n }\n}\n\nexport const AppContext = React.createContext({ ...defaultAppContext })\n\nexport function AppProvider({ children }) {\n const theme = useTheme()\n const [state, dispatch] = useReducer(reducer, { ...defaultAppContext, theme })\n return (\n <AppContext.Provider value={{ ...state, dispatch }}>\n {children}\n </AppContext.Provider>\n )\n}\n\nAppProvider.propTypes = {\n children: PropTypes.node.isRequired,\n}\n","import PropTypes from 'prop-types'\nimport get from 'lodash.get'\nimport set from 'lodash.set'\nimport React, {useReducer} from 'react'\n\nimport {getShareUrl, parseParams} from '../utils/ApiUtils'\n\nexport const defaultInitializrContext = {\n values: {\n project: '',\n language: '',\n architecture: '',\n boot: '',\n meta: {\n name: '',\n group: '',\n artifact: '',\n description: '',\n packaging: '',\n packageName: '',\n java: '',\n },\n dependencies: [],\n share: [],\n },\n share: '',\n errors: {},\n warnings: {},\n}\n\nexport function reducer(state, action) {\n switch (action.type) {\n case 'COMPLETE': {\n const json = get(action, 'payload')\n const defaultValues = {\n ...get(json, 'defaultValues'),\n meta: get(json, 'defaultValues.meta'),\n }\n return {\n values: defaultValues,\n share: getShareUrl(defaultValues),\n errors: {},\n warnings: {},\n }\n }\n case 'UPDATE': {\n const changes = get(action, 'payload')\n let errors = { ...state.errors }\n let meta = { ...get(state, 'values.meta') }\n if (get(changes, 'meta')) {\n meta = { ...meta, ...get(changes, 'meta') }\n }\n if (get(changes, 'boot')) {\n const { boot, ...err } = errors\n errors = err\n }\n if (get(changes, 'meta.group')) {\n set(\n meta,\n 'packageName',\n `${get(meta, 'group')}.${get(meta, 'artifact')}`\n )\n }\n if (get(changes, 'meta.artifact')) {\n set(\n meta,\n 'packageName',\n `${get(meta, 'group')}.${get(meta, 'artifact')}`\n )\n set(meta, 'name', `${get(meta, 'artifact')}`)\n }\n const values = {\n ...get(state, 'values'),\n ...changes,\n meta,\n }\n return { ...state, values, share: getShareUrl(values), errors }\n }\n case 'LOAD': {\n const params = get(action, 'payload.params')\n const lists = get(action, 'payload.lists')\n const { values, errors, warnings } = parseParams(\n state.values,\n params,\n lists\n )\n return { ...state, values, errors, warnings, share: getShareUrl(values) }\n }\n case 'ADD_DEPENDENCY': {\n const dependency = get(action, 'payload.id')\n const values = { ...get(state, 'values') }\n if(get(values, 'dependencies', []).filter(item => item === dependency).length == 0){\n values.dependencies = [...get(values, 'dependencies'), dependency]\n }\n return { ...state, values, share: getShareUrl(values) }\n }\n case 'REMOVE_DEPENDENCY': {\n const dependency = get(action, 'payload.id')\n const values = { ...get(state, 'values') }\n values.dependencies = [\n ...get(values, 'dependencies').filter(dep => dep !== dependency),\n ]\n return { ...state, values, share: getShareUrl(values) }\n }\n case 'CLEAR_WARNINGS': {\n return { ...state, warnings: {} }\n }\n default:\n return state\n }\n}\n\nexport const InitializrContext = React.createContext({\n ...defaultInitializrContext,\n})\n\nexport function InitializrProvider({ children }) {\n const [state, dispatch] = useReducer(reducer, { ...defaultInitializrContext })\n return (\n <InitializrContext.Provider value={{ ...state, dispatch }}>\n {children}\n </InitializrContext.Provider>\n )\n}\n\nInitializrProvider.defaultProps = {\n children: null,\n}\n\nInitializrProvider.propTypes = {\n children: PropTypes.node,\n}\n","const strictRange = /\\[(.*),(.*)\\]/\nconst halfopenRightRange = /\\[(.*),(.*)\\)/\nconst halfopenLeftRange = /\\((.*),(.*)\\]/\nconst qualifiers = ['M', 'RC', 'BUILD-SNAPSHOT', 'RELEASE']\n\nexport const parseQualifier = version => {\n const qual = (version || '')\n .replace(/\\d+/g, '')\n .replace(/\\./g, ' ')\n .replace(/\\s/g, '')\n return qualifiers.indexOf(qual) > -1 ? qual : 'RELEASE'\n}\n\nexport const parseVersion = version => {\n const r = version.toString().split('.')\n if (r.length < 2) {\n return {\n version,\n }\n }\n return {\n version,\n short: `${r[0]}.${r[1]}.${r[2]}`,\n major: `${r[0]}.${r[1]}.x`,\n qualify: qualifiers.indexOf(parseQualifier(version)),\n minor: +r[2],\n }\n}\n\nexport const compare = (a, b) => {\n let result\n const versionA = a.split('.')\n const versionB = b.split('.')\n if (versionA.length === 3) {\n versionA[3] = ''\n }\n if (versionB.length === 3) {\n versionB[3] = ''\n }\n for (let i = 0; i < 3; i += 1) {\n result = parseInt(versionA[i], 10) - parseInt(versionB[i], 10)\n if (result !== 0) {\n return result\n }\n }\n const qualify = version => qualifiers.indexOf(parseQualifier(version))\n result = qualify(a) - qualify(b)\n if (result !== 0) {\n return result\n }\n return versionA[3].localeCompare(versionB[3])\n}\n\nexport const parseReleases = releases => {\n return releases.map(release => {\n const version = parseVersion(release.key)\n return version\n })\n}\n\nexport const isInRange = (version, range) => {\n if (!range) {\n return true\n }\n const strickMatch = range.match(strictRange)\n if (strickMatch) {\n return (\n compare(strickMatch[1], version) <= 0 &&\n compare(strickMatch[2], version) >= 0\n )\n }\n const horMatch = range.match(halfopenRightRange)\n if (horMatch) {\n return (\n compare(horMatch[1], version) <= 0 && compare(horMatch[2], version) > 0\n )\n }\n const holMatch = range.match(halfopenLeftRange)\n if (holMatch) {\n return (\n compare(holMatch[1], version) < 0 && compare(holMatch[2], version) >= 0\n )\n }\n return compare(range, version) <= 0\n}\n\nexport const rangeToText = range => {\n const strictMatch = range.match(strictRange)\n if (strictMatch) {\n return `>= ${strictMatch[1]} and <= ${strictMatch[2]}`\n }\n const horMatch = range.match(halfopenRightRange)\n if (horMatch) {\n return `>= ${horMatch[1]} and < ${horMatch[2]}`\n }\n const holMatch = range.match(halfopenLeftRange)\n if (holMatch) {\n return `> ${holMatch[1]} and <= ${holMatch[2]}`\n }\n return `>= ${range}`\n}\n\nexport const getValidDependencies = (boot, dependencies) => {\n return dependencies\n .map(dep => {\n const compatibility = dep.versionRange\n ? isInRange(boot, dep.versionRange)\n : true\n if (!compatibility) {\n return null\n }\n return dep\n })\n .filter(d => !!d)\n}\n","import PropTypes from 'prop-types'\nimport React from 'react'\n\nimport {IconTimes} from '../icons'\n\nconst Close = ({ onClose }) => (\n <a\n href='/#'\n className='toast-close'\n onClick={event => {\n event.preventDefault()\n if (onClose) {\n onClose()\n }\n }}\n >\n <IconTimes />\n </a>\n)\n\nClose.defaultProps = {\n onClose: null,\n}\n\nClose.propTypes = {\n onClose: PropTypes.func,\n}\n\nexport default Close\n","import {useState} from 'react'\n\nfunction getProperties() {\n return {\n symb:\n window.navigator.userAgent.toLowerCase().indexOf('mac') > -1\n ? '⌘'\n : 'Ctrl',\n origin: window.location.origin,\n pathname: window.location.pathname,\n }\n}\n\nexport default function useWindowsUtils() {\n const [symb] = useState(getProperties().symb)\n const [origin] = useState(getProperties().origin)\n const [pathname] = useState(getProperties().pathname)\n return { symb, origin, pathname }\n}\n","var api = require(\"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/sass-loader/dist/cjs.js!./app.scss\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_GET_URL_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/getUrl.js\");\nvar ___CSS_LOADER_URL_IMPORT_0___ = require(\"../fonts/karla-v12-latin-regular.eot\");\nvar ___CSS_LOADER_URL_IMPORT_1___ = require(\"../fonts/karla-v12-latin-regular.woff2\");\nvar ___CSS_LOADER_URL_IMPORT_2___ = require(\"../fonts/karla-v12-latin-regular.woff\");\nvar ___CSS_LOADER_URL_IMPORT_3___ = require(\"../fonts/karla-v12-latin-regular.ttf\");\nvar ___CSS_LOADER_URL_IMPORT_4___ = require(\"../fonts/karla-v12-latin-regular.svg\");\nvar ___CSS_LOADER_URL_IMPORT_5___ = require(\"../fonts/karla-v12-latin-700.eot\");\nvar ___CSS_LOADER_URL_IMPORT_6___ = require(\"../fonts/karla-v12-latin-700.woff2\");\nvar ___CSS_LOADER_URL_IMPORT_7___ = require(\"../fonts/karla-v12-latin-700.woff\");\nvar ___CSS_LOADER_URL_IMPORT_8___ = require(\"../fonts/karla-v12-latin-700.ttf\");\nvar ___CSS_LOADER_URL_IMPORT_9___ = require(\"../fonts/karla-v12-latin-700.svg\");\nvar ___CSS_LOADER_URL_IMPORT_10___ = require(\"../fonts/karla-v8-latin-regular.eot\");\nvar ___CSS_LOADER_URL_IMPORT_11___ = require(\"../fonts/karla-v8-latin-regular.woff2\");\nvar ___CSS_LOADER_URL_IMPORT_12___ = require(\"../fonts/karla-v8-latin-regular.woff\");\nvar ___CSS_LOADER_URL_IMPORT_13___ = require(\"../fonts/karla-v8-latin-regular.ttf\");\nvar ___CSS_LOADER_URL_IMPORT_14___ = require(\"../fonts/karla-v8-latin-regular.svg\");\nvar ___CSS_LOADER_URL_IMPORT_15___ = require(\"../fonts/karla-v8-latin-700.eot\");\nvar ___CSS_LOADER_URL_IMPORT_16___ = require(\"../fonts/karla-v8-latin-700.woff2\");\nvar ___CSS_LOADER_URL_IMPORT_17___ = require(\"../fonts/karla-v8-latin-700.woff\");\nvar ___CSS_LOADER_URL_IMPORT_18___ = require(\"../fonts/karla-v8-latin-700.ttf\");\nvar ___CSS_LOADER_URL_IMPORT_19___ = require(\"../fonts/karla-v8-latin-700.svg\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___, { hash: \"?#iefix\" });\nvar ___CSS_LOADER_URL_REPLACEMENT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);\nvar ___CSS_LOADER_URL_REPLACEMENT_3___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_2___);\nvar ___CSS_LOADER_URL_REPLACEMENT_4___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_3___);\nvar ___CSS_LOADER_URL_REPLACEMENT_5___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_4___, { hash: \"#Karla\" });\nvar ___CSS_LOADER_URL_REPLACEMENT_6___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_5___);\nvar ___CSS_LOADER_URL_REPLACEMENT_7___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_5___, { hash: \"?#iefix\" });\nvar ___CSS_LOADER_URL_REPLACEMENT_8___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_6___);\nvar ___CSS_LOADER_URL_REPLACEMENT_9___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_7___);\nvar ___CSS_LOADER_URL_REPLACEMENT_10___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_8___);\nvar ___CSS_LOADER_URL_REPLACEMENT_11___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_9___, { hash: \"#Karla\" });\nvar ___CSS_LOADER_URL_REPLACEMENT_12___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_10___);\nvar ___CSS_LOADER_URL_REPLACEMENT_13___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_10___, { hash: \"?#iefix\" });\nvar ___CSS_LOADER_URL_REPLACEMENT_14___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_11___);\nvar ___CSS_LOADER_URL_REPLACEMENT_15___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_12___);\nvar ___CSS_LOADER_URL_REPLACEMENT_16___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_13___);\nvar ___CSS_LOADER_URL_REPLACEMENT_17___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_14___, { hash: \"#Karla\" });\nvar ___CSS_LOADER_URL_REPLACEMENT_18___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_15___);\nvar ___CSS_LOADER_URL_REPLACEMENT_19___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_15___, { hash: \"?#iefix\" });\nvar ___CSS_LOADER_URL_REPLACEMENT_20___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_16___);\nvar ___CSS_LOADER_URL_REPLACEMENT_21___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_17___);\nvar ___CSS_LOADER_URL_REPLACEMENT_22___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_18___);\nvar ___CSS_LOADER_URL_REPLACEMENT_23___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_19___, { hash: \"#Karla\" });\n// Module\nexports.push([module.id, \"@font-face{font-family:'Karla';font-style:normal;font-weight:400;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");src:local(\\\"\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \") format(\\\"embedded-opentype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \") format(\\\"woff2\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_3___ + \") format(\\\"woff\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \") format(\\\"truetype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_5___ + \") format(\\\"svg\\\")}@font-face{font-family:'Karla';font-style:normal;font-weight:700;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_6___ + \");src:local(\\\"\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_7___ + \") format(\\\"embedded-opentype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_8___ + \") format(\\\"woff2\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_9___ + \") format(\\\"woff\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_10___ + \") format(\\\"truetype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_11___ + \") format(\\\"svg\\\")}html,body{text-rendering:optimizeLegibility;height:100%}body{color:#222;padding:0;margin:0;font-size:15px;font-family:Karla,Arial,sans-serif;font-weight:400;font-style:normal;position:relative;line-height:32px;background-repeat:repeat-y;background-size:316px 1px;background-color:#fff}body.light{background:linear-gradient(to right, #ff6a00 4px, #f7f7f7 4px 316px, #fff 316px)}div{outline:none}@font-face{font-family:'Karla';font-style:normal;font-weight:400;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_12___ + \");src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_13___ + \") format(\\\"embedded-opentype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \") format(\\\"woff2\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \") format(\\\"woff\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_16___ + \") format(\\\"truetype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_17___ + \") format(\\\"svg\\\")}@font-face{font-family:'Karla';font-style:normal;font-weight:700;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_18___ + \");src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_19___ + \") format(\\\"embedded-opentype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_20___ + \") format(\\\"woff2\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_21___ + \") format(\\\"woff\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_22___ + \") format(\\\"truetype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_23___ + \") format(\\\"svg\\\")}.header{width:316px}.header h1.logo{width:280px;margin:0px 20px 0px 24px}.header h1.logo a{display:block;position:relative;padding:4px 0;color:#000;text-decoration:none;font-size:1.0rem;line-height:1.6rem;font-weight:normal;width:260px;outline:1px dotted transparent}.header h1.logo a span{display:block}.header h1.logo a span.title{display:block;font-size:1.6rem;font-weight:normal;margin-top:10px;letter-spacing:-1px}.header h1.logo a span.title strong{color:#ff6a00}.header h1.logo a svg{width:65px;height:65px;margin-left:-10px;position:absolute;left:0;color:#ff6a00}.header h1.logo a:focus{outline:1px dotted rgba(0,0,0,0.2)}.quick-links{position:absolute;top:10px;right:20px;width:1000px;text-align:right;list-style:none;margin:0px;padding:0px}.quick-links li{position:relative;display:inline-block}.quick-links li a{padding:8px;padding-left:28px;padding-right:4px;position:relative;color:#222;margin:0px 12px;text-decoration:none;cursor:pointer;outline:none;-webkit-transition:color .15s;-moz-transition:color .15s;-ms-transition:color .15s;-o-transition:color .15s;transition:color .15s}.quick-links li a svg{position:absolute;left:4px;top:8px;height:18px}.quick-links li a:hover{color:#ff6a00}.quick-links li a.dropdown{padding-right:8px}.quick-links li a.dropdown svg.icon-caret-down{position:relative;width:10px;top:3px;margin-left:6px}.quick-links ul.dropdown-menu{z-index:999;position:absolute;top:34px;right:0px;width:220px;box-shadow:rgba(0,0,0,0.2) 0px 4px 10px;text-align:left;background:white;padding:0px;margin:0px;list-style:none}.quick-links ul.dropdown-menu li{display:block}.quick-links ul.dropdown-menu li a{display:block;position:relative;color:#222;padding:4px 12px;margin:0px;text-decoration:none;-webkit-transition:background .15s;-moz-transition:background .15s;-ms-transition:background .15s;-o-transition:background .15s;transition:background .15s}.quick-links ul.dropdown-menu li a:hover{background:#e7f1f4}.quick-links .nav-anim-enter{opacity:0.01;transform:scale(0.95)}.quick-links .nav-anim-enter-active{opacity:1;transform:scale(1);transition:all 300ms}.quick-links .nav-anim-exit{opacity:1;transform:scale(1)}.quick-links .nav-anim-exit-active{opacity:0.01;transform:scale(0.95);transition:all 300ms}.quick-links .switch-language{position:relative;padding-left:32px;padding-right:20px}.quick-links .switch-language .switch{position:absolute;top:-3px;left:0}.quick-links .switch-mode{position:relative;padding-left:32px;padding-right:20px}.quick-links .switch-mode .switch{position:absolute;top:-3px;left:0}.quick-links .icon-cloud-tookit{width:25px;height:25px;top:4px;left:0px}.quick-links .icon-feedback{width:20px;height:20px}.footer{background:#f7f7f7;line-height:24px;padding:0 40px 8px 8px;font-weight:400;color:rgba(0,0,0,0.5);font-size:14px;letter-spacing:-0.5px;text-align:right;margin-left:8px}.footer .footer-container{padding:4px 0 0}.footer a{color:#0188ff;text-decoration:underline}.footer a:hover{text-decoration:none}.colset{display:flex;padding-right:8px}.colset .left{font-weight:700;width:280px;text-align:right;position:relative;padding:8px 32px 8px 0px;flex:0 0 280px}.colset .left.nopadding{padding:0;flex:0 0 310px;margin-left:6px}.colset .right{max-width:900px;padding:8px 0px 8px 32px;flex:2 1 0%;min-height:51px}.colset .right.nopadding{max-width:600px;margin-left:28px;flex:2 1 0%;padding:0px}.colset .right.right-md{max-width:500px;padding:8px 0px 8px 32px;flex:2 1 0%;min-height:187px}.dependencies-box{padding:8px 0 8px 32px;flex:2;max-width:900px;-webkit-transition:all .15s;-moz-transition:all .15s;-ms-transition:all .15s;-o-transition:all .15s;transition:all .15s}.dependencies-box .colset-2{padding-top:20px}.dependencies-box.large{max-width:1200px}.colset-2{display:flex;min-height:300px}.colset-2 .column{flex:1 1 0%}.colset-2 .column+.column{padding-left:20px}.control{padding-top:8px}.control+.control{padding-top:16px}label{display:block;color:#706c69;font-size:14px;font-weight:lighter;line-height:17px}.dependencies label{padding:8px 0}.control-input{display:block;border:0;outline:none;border-bottom:3px solid #ebebeb;line-height:16px;font-family:Karla, sans-serif;font-size:15px;box-sizing:border-box;background-clip:padding-box;width:100%;padding:0.35rem 0 0.55rem;border-radius:0;background:#fff;-webkit-transition:border-color .15s;-moz-transition:border-color .15s;-ms-transition:border-color .15s;-o-transition:border-color .15s;transition:border-color .15s}.control-input:hover{border-color:#cbcbcb}.control-input:focus{border-color:#ff6a00}.button{display:inline-block;color:#222;padding:4px 32px;border:2px solid #f1f1f1;background-color:#f1f1f1;border-radius:4px;font-family:Karla, sans-serif;font-size:15px;font-weight:400;cursor:pointer;line-height:32px;-webkit-transition:all .15s;-moz-transition:all .15s;-ms-transition:all .15s;-o-transition:all .15s;transition:all .15s;white-space:nowrap;text-decoration:none;outline:1px dotted transparent}.button:hover{border:2px solid #e4e4e4;background-color:#e4e4e4}.button:focus{outline:1px dotted rgba(0,0,0,0.2)}.button.primary{color:#fff;border:2px solid #ff6a00;background-color:#ff6a00;-webkit-transition:all .15s;-moz-transition:all .15s;-ms-transition:all .15s;-o-transition:all .15s;transition:all .15s}.button.primary:hover{border:2px solid #e65f00;background-color:#e65f00}.button.blue{color:#fff;border:2px solid #3d96f7;background-color:#3d96f7;-webkit-transition:all .15s;-moz-transition:all .15s;-ms-transition:all .15s;-o-transition:all .15s;transition:all .15s}.button.blue:hover{border:2px solid #3391f7;background-color:#3391f7}.button+.button{margin-left:6px}.control-error{padding:16px 0}.control-error p{padding:0;margin:0;line-height:24px}.control-error p a{color:#0188ff;text-decoration:underline}.control-error p a:hover{text-decoration:none}.control-error .title{color:#f30808}.control-warning{padding:6px 0;color:#eb4200}.control-warning a{color:#0188ff;text-decoration:underline}.control-warning a:hover{text-decoration:none}.sticky{position:sticky;bottom:0px;z-index:100}.see-all{position:absolute;top:38px;right:35px;font-weight:400;width:80px;height:22px;line-height:22px;cursor:pointer;text-decoration:underline;color:#097dff;outline:1px dotted transparent}.see-all:focus{outline:1px dotted rgba(0,0,0,0.2)}.submit{bottom:0px;width:auto;background:white;height:36px;padding:18px 0 29px;margin-right:12px;border-top:1px solid #ccc}.colset-submit .right.nopadding{max-width:100%;background:white;margin-left:0;padding-left:28px;max-width:1212px}.radio{display:inline-block;border-bottom:3px solid #e4e4e4;text-decoration:none;color:#888;line-height:32px;padding:0 16px;text-align:center;font-weight:700;cursor:pointer;margin-right:4px;-webkit-transition:all .15s;-moz-transition:all .15s;-ms-transition:all .15s;-o-transition:all .15s;transition:all .15s;outline:1px dotted transparent}.radio:focus{outline:1px dotted rgba(0,0,0,0.2)}.radio:hover{border-color:#cbcbcb;color:#222}.radio.checked{border-bottom-color:#ff6a00;color:#000}.radio.err{color:#8e1313;background:#fbe5e5;border-bottom-color:#d60000;cursor:not-allowed}.dependencies-list,ul.dependencies-list{list-style:none;padding:0;margin:0}.dependencies-list .dependency-item,ul.dependencies-list .dependency-item{position:relative;display:block;text-decoration:none;padding:16px;padding-right:60px;color:rgba(34,34,34,0.8);background:#f7f7f7;cursor:pointer;font-size:14px;display:flex;align-items:center;line-height:24px}.dependencies-list .dependency-item:focus,ul.dependencies-list .dependency-item:focus{outline:1px dotted rgba(0,0,0,0.2)}.dependencies-list .dependency-item strong,ul.dependencies-list .dependency-item strong{color:#222}.dependencies-list .dependency-item input,ul.dependencies-list .dependency-item input{display:none}.dependencies-list .dependency-item div,ul.dependencies-list .dependency-item div{padding:0;margin:0}.dependencies-list .dependency-item span,ul.dependencies-list .dependency-item span{font-size:13px}.dependencies-list .dependency-item .icon,ul.dependencies-list .dependency-item .icon{position:absolute;display:block;border:2px solid #e4e4e4;height:24px;width:24px;margin-top:-12px;top:50%;right:16px;border-radius:14px;color:#222}.dependencies-list .dependency-item .icon-times,.dependencies-list .dependency-item .icon-check,.dependencies-list .dependency-item .icon-plus,ul.dependencies-list .dependency-item .icon-times,ul.dependencies-list .dependency-item .icon-check,ul.dependencies-list .dependency-item .icon-plus{display:block;opacity:0;width:12px;margin:0 auto;position:absolute;top:5px;left:6px}.dependencies-list .dependency-item .icon-times,ul.dependencies-list .dependency-item .icon-times{left:7px;width:10px;color:#d20000}.dependencies-list .dependency-item .icon-check,ul.dependencies-list .dependency-item .icon-check{top:6px}.dependencies-list .dependency-item.selected,ul.dependencies-list .dependency-item.selected{background:#e7f1f4}.dependencies-list .dependency-item.selected .icon,ul.dependencies-list .dependency-item.selected .icon{border-color:rgba(161,200,212,0.6);color:#356574}.dependencies-list .dependency-item.selected .icon-plus,ul.dependencies-list .dependency-item.selected .icon-plus{opacity:1}.dependencies-list .dependency-item.checked,.dependencies-list .dependency-item .selected,ul.dependencies-list .dependency-item.checked,ul.dependencies-list .dependency-item .selected{background:white;box-shadow:0 2px 3px 1px rgba(0,0,0,0.1)}.dependencies-list .dependency-item.checked .icon,.dependencies-list .dependency-item .selected .icon,ul.dependencies-list .dependency-item.checked .icon,ul.dependencies-list .dependency-item .selected .icon{border-color:rgba(0,0,0,0.1);color:#ff6a00}.dependencies-list .dependency-item.checked .icon-check,.dependencies-list .dependency-item .selected .icon-check,ul.dependencies-list .dependency-item.checked .icon-check,ul.dependencies-list .dependency-item .selected .icon-check{opacity:1}.dependencies-list .dependency-item.checked:hover .icon-plus,ul.dependencies-list .dependency-item.checked:hover .icon-plus{opacity:0}.dependencies-list .dependency-item.checked:hover .icon-check,ul.dependencies-list .dependency-item.checked:hover .icon-check{opacity:0}.dependencies-list .dependency-item.checked:hover .icon-times,ul.dependencies-list .dependency-item.checked:hover .icon-times{opacity:1}.dependencies-list .dependency-item.invalid,.dependencies-list .dependency-item.checked.invalid,ul.dependencies-list .dependency-item.invalid,ul.dependencies-list .dependency-item.checked.invalid{opacity:0.6;cursor:not-allowed;background:#f7f7f7}.dependencies-list .dependency-item.invalid:hover,.dependencies-list .dependency-item.checked.invalid:hover,ul.dependencies-list .dependency-item.invalid:hover,ul.dependencies-list .dependency-item.checked.invalid:hover{background:#f7f7f7}.dependencies-list .dependency-item.invalid .warning,.dependencies-list .dependency-item.checked.invalid .warning,ul.dependencies-list .dependency-item.invalid .warning,ul.dependencies-list .dependency-item.checked.invalid .warning{color:#f30808}.dependencies-list .dependency-item.invalid .icon,ul.dependencies-list .dependency-item.invalid .icon{display:none}.dependencies-list .dependency-item.checked.invalid,ul.dependencies-list .dependency-item.checked.invalid{cursor:pointer}.dependencies-list .dependency-item.checked.invalid .icon,ul.dependencies-list .dependency-item.checked.invalid .icon{display:block}.dependencies-list .dependency-item.checked.invalid .icon-check,ul.dependencies-list .dependency-item.checked.invalid .icon-check{opacity:0}.dependencies-list .dependency-item.checked.invalid .icon-times,ul.dependencies-list .dependency-item.checked.invalid .icon-times{opacity:1}.dependencies-list.dependencies-list-checked .dependency-item-span,ul.dependencies-list.dependencies-list-checked .dependency-item-span{padding:6px 0}.dependencies-list.dependencies-list-checked .dependency-item-span>a,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a{position:relative;display:block;text-decoration:none;padding:16px;padding-right:60px;color:rgba(34,34,34,0.8);background:#f7f7f7;cursor:pointer;font-size:14px;display:flex;align-items:center;line-height:24px}.dependencies-list.dependencies-list-checked .dependency-item-span>a:focus,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a:focus{outline:1px dotted rgba(0,0,0,0.2)}.dependencies-list.dependencies-list-checked .dependency-item-span>a strong,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a strong{color:#222}.dependencies-list.dependencies-list-checked .dependency-item-span>a input,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a input{display:none}.dependencies-list.dependencies-list-checked .dependency-item-span>a div,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a div{padding:0;margin:0}.dependencies-list.dependencies-list-checked .dependency-item-span>a span,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a span{font-size:13px}.dependencies-list.dependencies-list-checked .dependency-item-span>a .icon,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a .icon{position:absolute;display:block;border:2px solid #e4e4e4;height:24px;width:24px;margin-top:-12px;top:50%;right:16px;border-radius:14px;color:#222}.dependencies-list.dependencies-list-checked .dependency-item-span>a .icon-times,.dependencies-list.dependencies-list-checked .dependency-item-span>a .icon-check,.dependencies-list.dependencies-list-checked .dependency-item-span>a .icon-plus,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a .icon-times,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a .icon-check,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a .icon-plus{display:block;opacity:0;width:12px;margin:0 auto;position:absolute;top:5px;left:6px}.dependencies-list.dependencies-list-checked .dependency-item-span>a .icon-times,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a .icon-times{left:7px;width:10px;color:#d20000}.dependencies-list.dependencies-list-checked .dependency-item-span>a .icon-check,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a .icon-check{top:6px}.dependencies-list.dependencies-list-checked .dependency-item-span>a.selected,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.selected{background:#e7f1f4}.dependencies-list.dependencies-list-checked .dependency-item-span>a.selected .icon,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.selected .icon{border-color:rgba(161,200,212,0.6);color:#356574}.dependencies-list.dependencies-list-checked .dependency-item-span>a.selected .icon-plus,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.selected .icon-plus{opacity:1}.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked,.dependencies-list.dependencies-list-checked .dependency-item-span>a .selected,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a .selected{background:white;box-shadow:0 2px 3px 1px rgba(0,0,0,0.1)}.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked .icon,.dependencies-list.dependencies-list-checked .dependency-item-span>a .selected .icon,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked .icon,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a .selected .icon{border-color:rgba(0,0,0,0.1);color:#ff6a00}.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked .icon-check,.dependencies-list.dependencies-list-checked .dependency-item-span>a .selected .icon-check,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked .icon-check,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a .selected .icon-check{opacity:1}.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked:hover .icon-plus,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked:hover .icon-plus{opacity:0}.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked:hover .icon-check,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked:hover .icon-check{opacity:0}.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked:hover .icon-times,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked:hover .icon-times{opacity:1}.dependencies-list.dependencies-list-checked .dependency-item-span>a.invalid,.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.invalid,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid{opacity:0.6;cursor:not-allowed;background:#f7f7f7}.dependencies-list.dependencies-list-checked .dependency-item-span>a.invalid:hover,.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid:hover,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.invalid:hover,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid:hover{background:#f7f7f7}.dependencies-list.dependencies-list-checked .dependency-item-span>a.invalid .warning,.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid .warning,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.invalid .warning,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid .warning{color:#f30808}.dependencies-list.dependencies-list-checked .dependency-item-span>a.invalid .icon,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.invalid .icon{display:none}.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid{cursor:pointer}.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid .icon,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid .icon{display:block}.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid .icon-check,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid .icon-check{opacity:0}.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid .icon-times,ul.dependencies-list.dependencies-list-checked .dependency-item-span>a.checked.invalid .icon-times{opacity:1}.dependencies-list .dependency-item-span,ul.dependencies-list .dependency-item-span{display:block;padding-top:4px}.dependencies-list li,ul.dependencies-list li{margin:0}.dependencies-list .fade-enter,ul.dependencies-list .fade-enter{max-height:0;opacity:0}.dependencies-list .fade-enter-active,ul.dependencies-list .fade-enter-active{max-height:200px;opacity:1;transition:all 250ms}.dependencies-list .fade-exit,ul.dependencies-list .fade-exit{max-height:200px;opacity:1}.dependencies-list .fade-exit-active,ul.dependencies-list .fade-exit-active{max-height:0;opacity:0;transition:all 250ms}.more{line-height:16px;padding-top:4px;margin-top:4px}.more div.wrap{border-bottom:3px solid #ebebeb;padding-bottom:4px}.more div.wrap a{position:relative;display:block;height:28px;line-height:28px;margin-top:4px;padding:0 16px 0 24px;color:#222;text-decoration:none;border-radius:4px;outline:1px dotted transparent;-webkit-transition:all .15s;-moz-transition:all .15s;-ms-transition:all .15s;-o-transition:all .15s;transition:all .15s}.more div.wrap a:focus{outline:1px dotted rgba(0,0,0,0.2)}.more div.wrap a:hover{color:#222}.more div.wrap a:hover svg{color:#ff6a00}.more div.wrap a svg{position:absolute;width:8px;left:8px;top:8px;color:#222;-webkit-transition:all .15s;-moz-transition:all .15s;-ms-transition:all .15s;-o-transition:all .15s;transition:all .15s}.more div.wrap a.toggle svg{transform:rotate(90deg)}.demos{line-height:16px}.demos div.wrap{border-bottom:3px solid #ebebeb;padding-bottom:4px}.demos div.wrap a{position:relative;display:block;height:28px;line-height:28px;padding:0 16px 0 24px;color:#222;text-decoration:none;border-radius:4px;outline:1px dotted transparent;-webkit-transition:all .15s;-moz-transition:all .15s;-ms-transition:all .15s;-o-transition:all .15s;transition:all .15s}.demos div.wrap a:focus{outline:1px dotted rgba(0,0,0,0.2)}.demos div.wrap a:hover{color:#222}.demos div.wrap a:hover svg{color:#ff6a00}.demos div.wrap a svg{position:absolute;width:8px;left:8px;top:8px;color:#222;-webkit-transition:all .15s;-moz-transition:all .15s;-ms-transition:all .15s;-o-transition:all .15s;transition:all .15s}.demos div.wrap a.toggle svg{transform:rotate(90deg)}.demos div.wrap a strong{float:right;font-weight:normal;background-color:#f7f7f7;padding:0 8px;margin-left:8px;border-radius:4px;line-height:24px;font-weight:bold;color:rgba(34,34,34,0.7)}.demos div.wrap a strong span{color:#222;padding:0px 3px 0px 3px}.panel{overflow:hidden;max-height:0;-webkit-transition:all .45s;-moz-transition:all .45s;-ms-transition:all .45s;-o-transition:all .45s;transition:all .45s}.panel.panel-active{max-height:600px}.panel .panel-wrap{border:1px solid #f5f5f5;border-top:0 none;padding:12px 24px;padding-bottom:24px}.casePanel{overflow:hidden;max-height:0;-webkit-transition:all .45s;-moz-transition:all .45s;-ms-transition:all .45s;-o-transition:all .45s;transition:all .45s}.casePanel.casePanel-active{max-height:600px}.casePanel .panel-wrap{border:1px solid #f5f5f5;border-top:0 none;padding:8px 16px}.groups{padding:0px 0px 16px 0}.groups .group{line-height:1.4rem;position:relative;padding-bottom:12px}.groups .group a{position:relative;display:block;text-decoration:none;padding:16px;padding-right:60px;color:rgba(34,34,34,0.8);background:#f7f7f7;cursor:pointer;font-size:14px;display:flex;align-items:center;line-height:24px}.groups .group a:focus{outline:1px dotted rgba(0,0,0,0.2)}.groups .group a strong{color:#222}.groups .group a input{display:none}.groups .group a div{padding:0;margin:0}.groups .group a span{font-size:13px}.groups .group a .icon{position:absolute;display:block;border:2px solid #e4e4e4;height:24px;width:24px;margin-top:-12px;top:50%;right:16px;border-radius:14px;color:#222}.groups .group a .icon-times,.groups .group a .icon-check,.groups .group a .icon-plus{display:block;opacity:0;width:12px;margin:0 auto;position:absolute;top:5px;left:6px}.groups .group a .icon-times{left:7px;width:10px;color:#d20000}.groups .group a .icon-check{top:6px}.groups .group a.selected{background:#e7f1f4}.groups .group a.selected .icon{border-color:rgba(161,200,212,0.6);color:#356574}.groups .group a.selected .icon-plus{opacity:1}.groups .group a.checked,.groups .group a .selected{background:white;box-shadow:0 2px 3px 1px rgba(0,0,0,0.1)}.groups .group a.checked .icon,.groups .group a .selected .icon{border-color:rgba(0,0,0,0.1);color:#ff6a00}.groups .group a.checked .icon-check,.groups .group a .selected .icon-check{opacity:1}.groups .group a.checked:hover .icon-plus{opacity:0}.groups .group a.checked:hover .icon-check{opacity:0}.groups .group a.checked:hover .icon-times{opacity:1}.groups .group a.invalid,.groups .group a.checked.invalid{opacity:0.6;cursor:not-allowed;background:#f7f7f7}.groups .group a.invalid:hover,.groups .group a.checked.invalid:hover{background:#f7f7f7}.groups .group a.invalid .warning,.groups .group a.checked.invalid .warning{color:#f30808}.groups .group a.invalid .icon{display:none}.groups .group a.checked.invalid{cursor:pointer}.groups .group a.checked.invalid .icon{display:block}.groups .group a.checked.invalid .icon-check{opacity:0}.groups .group a.checked.invalid .icon-times{opacity:1}.groups .group a:hover{background:#e7f1f4}.groups .group a:hover .icon{border-color:rgba(161,200,212,0.6);color:#15282e}.groups .group a:hover .icon-plus{opacity:1}.groups .group a.checked:hover{background:white}.groups .group a.checked:hover .icon{border-color:rgba(0,0,0,0.1)}.groups .group .group-title{border-bottom:1px solid #e4e4e4;font-weight:bold;margin-top:8px;cursor:pointer}.groups .group .group-title a{display:block;position:relative;margin:4px 0;padding:4px 0;padding-left:26px;line-height:22px;font-size:16px;background:white}.groups .group .group-title a:focus{outline:1px dotted rgba(0,0,0,0.2)}.groups .group .group-title a svg{position:absolute;top:8px;left:8px;width:8px;-webkit-transition:all .15s;-moz-transition:all .15s;-ms-transition:all .15s;-o-transition:all .15s;transition:all .15s}.groups .group .group-title a.toggleGroupItems svg{transform:rotate(90deg)}.groups .group .group-title a:hover svg{color:#ff6a00}.groups .group:first-child{padding-top:8px}.groups div.group-items{padding-top:15px;display:grid;grid-template-columns:repeat(auto-fill, minmax(250px, 1fr));grid-template-rows:repeat(auto-fill, minmax(85, 0.75fr));grid-gap:8px 10px}.search-label{padding-bottom:8px}.search-no-selected{color:rgba(0,0,0,0.4)}.search-more-warning,.search-no-result{padding:8px 0 16px;color:rgba(0,0,0,0.5)}.search-more-warning p,.search-no-result p{padding:0;margin:0;line-height:24px;padding-left:16px}.search-no-result p{padding-left:0}.sticky-label{padding-top:4px;position:sticky;top:0}.tab{position:sticky;top:0;z-index:90;background:white;padding:0 20px;margin:0 -20px;margin-bottom:10px}.tab .tab-container{border-bottom:3px solid #f3f3f3}.tab a{display:inline-block;margin-bottom:-3px;text-decoration:none;color:rgba(34,34,34,0.6);border-bottom:3px solid #f3f3f3;padding:15px 16px 11px;font-weight:bold;line-height:16px;outline:1px dotted transparent;-webkit-transition:all .15s;-moz-transition:all .15s;-ms-transition:all .15s;-o-transition:all .15s;transition:all .15s}.tab a:focus{outline:1px dotted rgba(0,0,0,0.2)}.tab a svg{width:16px}.tab a:hover{color:#222;border-bottom:3px solid #cbcbcb}.tab a.active{color:#222;border-bottom:3px solid #ff6a00}.tab a span{margin:0px 0px 0px 5px;vertical-align:top}.tab strong{float:right;font-weight:normal;background-color:#f7f7f7;padding:0 8px;border-radius:4px;line-height:24px;margin-top:6px;font-weight:bold;color:rgba(34,34,34,0.7)}.tab strong span{color:#222}.placeholder-radios .placeholder-radio{display:inline-block;height:32px;background:#f7f7f7;border-bottom:3px solid #e4e4e4;margin-right:4px}.placeholder-input{display:block;height:32px;background:#f7f7f7;border-bottom:3px solid #e4e4e4;position:relative;margin-top:15px}.placeholder-input:after{display:inline-block;content:' ';position:absolute;top:-15px;left:0;height:15px;background:#f7f7f7;width:70px}.placeholder-text{display:inline-block;height:14px;background:#f7f7f7}.placeholder-dropdown{display:block;margin-top:-3px;height:32px;background:#f7f7f7;border-bottom:3px solid #e4e4e4;position:relative}.placeholder-tabs{display:block;height:378px}.placeholder-tabs .placeholder-header{display:block;height:45px;border-bottom:3px solid #e4e4e4;position:relative}.placeholder-tabs .placeholder-tab{display:inline-block;height:45px;background:#f7f7f7;width:42px}.placeholder-button{display:inline-block;height:44px;background:#f7f7f7;position:relative;border-radius:4px}.placeholder-button+.placeholder-button{margin-left:6px}.warnings{position:relative;margin-bottom:8px;background:#fff0d0;padding:16px;color:#8f2500;line-height:26px;margin-top:-45px}.warnings .close{display:block;position:absolute;top:0;right:0;padding:12px 12px;height:28px;cursor:pointer;opacity:0.7;color:#8f2500}.warnings .close svg{width:14px}.warnings .close:hover{opacity:1}.warnings ul{padding:0;padding-left:20px;margin:0}.warnings li{padding:0;margin:0}.switch-checkbox{height:0;width:0;visibility:hidden;position:absolute}.switch-label{cursor:pointer;width:25px;height:16px;position:relative;display:inline-block}.switch-label::after{content:' ';width:25px;height:6px;background:rgba(0,0,0,0.2);position:absolute;top:0;left:0;z-index:1;border-radius:6px;top:5px}.switch-label .switch-button{content:'';z-index:2;position:absolute;top:0px;left:0;width:16px;height:16px;border-radius:16px;transition:0.2s left;background:#222}.switch-checkbox:checked+.switch-label .switch-button{left:9px;background:#222;width:16px}.switch-label:active .switch-button{width:16px}.Toastify__toast-container{z-index:9999;-webkit-transform:translate3d(0, 0, 9999px);position:fixed;padding:4px;width:400px;box-sizing:border-box;color:#fff}.Toastify__toast-container--top-left{top:1em;left:1em}.Toastify__toast-container--top-center{top:1em;left:50%;margin-left:-200px}.Toastify__toast-container--top-right{top:1em;right:1em}.Toastify__toast-container--bottom-left{bottom:1em;left:1em}.Toastify__toast-container--bottom-center{bottom:1em;left:50%;margin-left:-200px}.Toastify__toast-container--bottom-right{bottom:1em;right:1em}@media only screen and (max-width: 480px){.Toastify__toast-container{width:100vw;padding:0;left:0;margin:0}.Toastify__toast-container--top-left,.Toastify__toast-container--top-center,.Toastify__toast-container--top-right{top:0}.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-right{bottom:0}.Toastify__toast-container--rtl{right:0;left:initial}}.Toastify__toast{position:relative;min-height:64px;box-sizing:border-box;margin-bottom:1rem;padding:8px;border-radius:1px;box-shadow:0 1px 10px 0 rgba(0,0,0,0.1),0 2px 15px 0 rgba(0,0,0,0.05);display:flex;justify-content:space-between;max-height:800px;overflow:hidden;font-family:sans-serif;cursor:pointer;direction:ltr}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--default{background:#fff;color:#aaa}.Toastify__toast--info{background:#3498db}.Toastify__toast--success{background:#ff6a00}.Toastify__toast--warning{background:#e8ba00}.Toastify__toast--error{background:#e74c3c}.Toastify__toast-body{margin:auto 0;flex:1}@media only screen and (max-width: 480px){.Toastify__toast{margin-bottom:0}}.Toastify__close-button{color:#fff;font-weight:bold;font-size:14px;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:0.7;transition:0.3s ease;align-self:flex-start}.Toastify__close-button--default{color:#000;opacity:0.3}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}100%{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:5px;z-index:9999;opacity:0.7;background-color:rgba(255,255,255,0.7);transform-origin:left}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:right}.Toastify__progress-bar--default{background:linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55)}@keyframes Toastify__bounceInRight{from,60%,75%,90%,to{animation-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}from{opacity:0;transform:translate3d(3000px, 0, 0)}60%{opacity:1;transform:translate3d(-25px, 0, 0)}75%{transform:translate3d(10px, 0, 0)}90%{transform:translate3d(-5px, 0, 0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px, 0, 0)}to{opacity:0;transform:translate3d(2000px, 0, 0)}}@keyframes Toastify__bounceInLeft{from,60%,75%,90%,to{animation-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;transform:translate3d(-3000px, 0, 0)}60%{opacity:1;transform:translate3d(25px, 0, 0)}75%{transform:translate3d(-10px, 0, 0)}90%{transform:translate3d(5px, 0, 0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px, 0, 0)}to{opacity:0;transform:translate3d(-2000px, 0, 0)}}@keyframes Toastify__bounceInUp{from,60%,75%,90%,to{animation-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}from{opacity:0;transform:translate3d(0, 3000px, 0)}60%{opacity:1;transform:translate3d(0, -20px, 0)}75%{transform:translate3d(0, 10px, 0)}90%{transform:translate3d(0, -5px, 0)}to{transform:translate3d(0, 0, 0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0, -10px, 0)}40%,45%{opacity:1;transform:translate3d(0, 20px, 0)}to{opacity:0;transform:translate3d(0, -2000px, 0)}}@keyframes Toastify__bounceInDown{from,60%,75%,90%,to{animation-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;transform:translate3d(0, -3000px, 0)}60%{opacity:1;transform:translate3d(0, 25px, 0)}75%{transform:translate3d(0, -10px, 0)}90%{transform:translate3d(0, 5px, 0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0, 10px, 0)}40%,45%{opacity:1;transform:translate3d(0, -20px, 0)}to{opacity:0;transform:translate3d(0, 2000px, 0)}}.Toastify__bounce-enter--top-left,.Toastify__bounce-enter--bottom-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--top-right,.Toastify__bounce-enter--bottom-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--top-left,.Toastify__bounce-exit--bottom-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--top-right,.Toastify__bounce-exit--bottom-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{from{opacity:0;transform:scale3d(0.3, 0.3, 0.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{from{opacity:1}50%{opacity:0;transform:scale3d(0.3, 0.3, 0.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{from{transform:perspective(400px) rotate3d(1, 0, 0, 90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotate3d(1, 0, 0, -20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotate3d(1, 0, 0, 10deg);opacity:1}80%{transform:perspective(400px) rotate3d(1, 0, 0, -5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{from{transform:perspective(400px)}30%{transform:perspective(400px) rotate3d(1, 0, 0, -20deg);opacity:1}to{transform:perspective(400px) rotate3d(1, 0, 0, 90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{from{transform:translate3d(110%, 0, 0);visibility:visible}to{transform:translate3d(0, 0, 0)}}@keyframes Toastify__slideInLeft{from{transform:translate3d(-110%, 0, 0);visibility:visible}to{transform:translate3d(0, 0, 0)}}@keyframes Toastify__slideInUp{from{transform:translate3d(0, 110%, 0);visibility:visible}to{transform:translate3d(0, 0, 0)}}@keyframes Toastify__slideInDown{from{transform:translate3d(0, -110%, 0);visibility:visible}to{transform:translate3d(0, 0, 0)}}@keyframes Toastify__slideOutRight{from{transform:translate3d(0, 0, 0)}to{visibility:hidden;transform:translate3d(110%, 0, 0)}}@keyframes Toastify__slideOutLeft{from{transform:translate3d(0, 0, 0)}to{visibility:hidden;transform:translate3d(-110%, 0, 0)}}@keyframes Toastify__slideOutDown{from{transform:translate3d(0, 0, 0)}to{visibility:hidden;transform:translate3d(0, 500px, 0)}}@keyframes Toastify__slideOutUp{from{transform:translate3d(0, 0, 0)}to{visibility:hidden;transform:translate3d(0, -500px, 0)}}.Toastify__slide-enter--top-left,.Toastify__slide-enter--bottom-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--top-right,.Toastify__slide-enter--bottom-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--top-left,.Toastify__slide-exit--bottom-left{animation-name:Toastify__slideOutLeft}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown}.Toastify__toast-container{line-height:22px}.Toastify__toast{padding:16px}.Toastify__toast{position:relative;min-height:32px;padding:12px}.Toastify__toast .toast-close{display:block;position:absolute;top:0;right:0;padding:6px 8px;height:28px;cursor:pointer;opacity:0;color:white}.Toastify__toast .toast-close svg{width:14px}.Toastify__toast:hover .toast-close{opacity:0.6}@media (max-width: 900px){.desktop-only{display:none}body,body.light{background:none;padding-bottom:94px;min-width:0}.colset{display:block;max-width:none;min-width:0;padding:16px}.colset .left{text-align:left;padding:0;max-width:none;min-width:0;flex:none}.colset .right{padding:0;max-width:none;min-width:0;flex:none}.colset .right.right-md{padding:0;max-width:none;width:auto;flex:0}.header{padding:0;border-top:4px solid #ff6a00;width:auto}.header h1.logo a{margin:0 auto}.quick-links{position:relative;text-align:center;display:block;top:0;right:0;border-top:1px solid #e4e4e4;border-bottom:1px solid #e4e4e4;background:#f7f7f7;padding:0.5rem 0;width:auto}.colset-2{display:block;flex-flow:wrap}.colset-2 .column{padding:0;margin:0;flex:none}.colset-2 .column+.column{margin:0;padding:0;padding-top:24px}.dependencies-box{padding:8px 0}.colset .left.nopadding{margin-left:0;padding:0px;flex:none;width:auto;text-align:center;display:none}.sticky .colset{padding:0}.colset .right.nopadding{padding:0;margin:0;max-width:none;min-width:0;flex:none}.colset .right.nopadding .submit{width:auto;text-align:center}.colset .right.nopadding .placeholder-button{margin:0 auto}.groups .group{padding-right:0;padding-left:0}.groups .group .group-title{position:relative;margin:0;float:none;top:0}.submit{margin-right:0}.tab{padding:0;margin:0}.error{position:relative;left:auto;top:auto;padding:0 40px}.warnings{margin-top:0}.button{padding:4px 18px}.share-area>.button,.share-area{width:90px}}body.dark{background-color:#1b1f23;background:linear-gradient(to right, #ff6a00 4px, #262a2d 4px 316px, #1b1f23 316px);color:#d1d2d3}body.dark .header h1.logo a{color:#fff}body.dark .header h1.logo a span.title strong{color:#ff6a00}body.dark .header h1.logo a svg{color:#ff6a00}body.dark .radio{color:#8d8f91;border-color:#323638}body.dark .radio:hover{color:#d1d2d3;border-color:#4a5053}body.dark .radio.checked{color:#fff;border-bottom-color:#ff6a00}body.dark .radio:hover{border-bottom-color:#ff6a00}body.dark .colset-submit .right.nopadding{background:#1b1f23}body.dark .submit{background:#1b1f23;border-color:#4a5053}body.dark .tab{background:#1b1f23}body.dark .tab .tab-container{border-color:#323638}body.dark .tab a{color:#8d8f91;border-color:#323638}body.dark .tab a:hover{color:#d1d2d3;border-bottom-color:#4a5053}body.dark .tab a.active{color:#fff;border-bottom-color:#ff6a00}body.dark .tab a.active:hover{border-bottom-color:#ff6a00}body.dark .control-input{background:#1b1f23;color:#fff;border-color:#323638}body.dark .control-input:hover{border-color:#4a5053}body.dark .control-input:focus{border-bottom-color:#ff6a00}body.dark .control-input:focus:hover{border-bottom-color:#ff6a00}body.dark .panel .panel-wrap{border-color:#323638}body.dark .casePanel .panel-wrap{border-color:#323638}body.dark .more div.wrap{border-color:#323638}body.dark .more div.wrap a{color:#d1d2d3}body.dark .more div.wrap a:hover{color:#d1d2d3}body.dark .more div.wrap a:hover svg{color:#ff6a00}body.dark .more div.wrap a svg{color:#d1d2d3}body.dark .demos div.wrap{border-color:#323638}body.dark .demos div.wrap a{color:#d1d2d3}body.dark .demos div.wrap a:hover{color:#d1d2d3}body.dark .demos div.wrap a:hover svg{color:#ff6a00}body.dark .demos div.wrap a svg{color:#d1d2d3}body.dark .demos div.wrap a strong{color:#8d8f91;background:#32373b}body.dark .demos div.wrap a strong span{color:#fff}body.dark .button{background:#262a2d;border-color:#262a2d;color:#fff}body.dark .button:hover{background:#32373b;border-color:#32373b}body.dark .button.primary{border-color:#ff6a00;background-color:#ff6a00}body.dark .button.primary:hover{border-color:#e65f00;background-color:#e65f00}body.dark .footer{background:#262a2d;color:#8d8f91}body.dark label{color:#494c4e}body.dark .search-no-selected{color:#d1d2d3}body.dark .groups .group a{background:#262a2d;color:#d1d2d3}body.dark .groups .group a strong{color:#fff}body.dark .groups .group a .icon{border:2px solid #4a5053;color:#d1d2d3}body.dark .groups .group a:hover{background:#32373b}body.dark .groups .group a:hover .icon{color:#d1d2d3}body.dark .groups .group .group-title{border-color:#323638}body.dark .groups .group .group-title a{background:#1b1f23}body.dark .quick-links li a{color:#d1d2d3}body.dark .quick-links li a:hover{color:#ff6a00}body.dark .groups .group a.invalid,body.dark .groups .group a.checked.invalid{background:#23282b}body.dark .groups .group a.invalid strong,body.dark .groups .group a.checked.invalid strong{color:#8d8f91}body.dark .groups .group a.invalid:hover,body.dark .groups .group a.checked.invalid:hover{background:#23282b}body.dark .groups .group a.checked,body.dark .groups .group a.selected{background:#363e44}body.dark .groups .group a.checked:hover,body.dark .groups .group a.selected:hover{background:#444e55}body.dark .groups .group a.checked .icon,body.dark .groups .group a .selected .icon{border-color:#4a5053}body.dark .groups .group a.checked .icon:hover,body.dark .groups .group a .selected .icon:hover{border-color:#4a5053}body.dark .groups .group a.checked:hover .icon,body.dark .groups .group a .selected:hover .icon{border-color:#626a6e}body.dark .tab strong{color:#8d8f91;background:#32373b}body.dark .tab strong span{color:#fff}body.dark .dependencies-list .dependency-item.checked,body.dark .dependencies-list .dependency-item .selected,body.dark ul.dependencies-list .dependency-item.checked,body.dark ul.dependencies-list .dependency-item .selected{background:#262a2d;color:#d1d2d3}body.dark .dependencies-list .dependency-item.checked strong,body.dark .dependencies-list .dependency-item .selected strong,body.dark ul.dependencies-list .dependency-item.checked strong,body.dark ul.dependencies-list .dependency-item .selected strong{color:#fff}body.dark .dependencies-list .dependency-item.checked .icon,body.dark .dependencies-list .dependency-item .selected .icon,body.dark ul.dependencies-list .dependency-item.checked .icon,body.dark ul.dependencies-list .dependency-item .selected .icon{border-color:#4a5053;color:#d1d2d3}body.dark .dependencies-list .dependency-item.checked:hover,body.dark .dependencies-list .dependency-item .selected:hover,body.dark ul.dependencies-list .dependency-item.checked:hover,body.dark ul.dependencies-list .dependency-item .selected:hover{background:#32373b}body.dark .dependencies-list .dependency-item.checked:hover .icon,body.dark .dependencies-list .dependency-item .selected:hover .icon,body.dark ul.dependencies-list .dependency-item.checked:hover .icon,body.dark ul.dependencies-list .dependency-item .selected:hover .icon{color:#d1d2d3}body.dark .dependencies-list .dependency-item,body.dark ul.dependencies-list .dependency-item{background:#262a2d;color:#d1d2d3}body.dark .dependencies-list .dependency-item strong,body.dark ul.dependencies-list .dependency-item strong{color:#fff}body.dark .dependencies-list .dependency-item .icon,body.dark ul.dependencies-list .dependency-item .icon{border:2px solid #4a5053;color:#ff6a00}body.dark .dependencies-list .dependency-item:hover,body.dark ul.dependencies-list .dependency-item:hover{background:#32373b}body.dark .dependencies-list .dependency-item:hover .icon,body.dark ul.dependencies-list .dependency-item:hover .icon{color:#d1d2d3}body.dark .dependencies-list .dependency-item.invalid,body.dark .dependencies-list .dependency-item.checked.invalid,body.dark ul.dependencies-list .dependency-item.invalid,body.dark ul.dependencies-list .dependency-item.checked.invalid{background:#23282b}body.dark .dependencies-list .dependency-item.invalid:hover,body.dark .dependencies-list .dependency-item.checked.invalid:hover,body.dark ul.dependencies-list .dependency-item.invalid:hover,body.dark ul.dependencies-list .dependency-item.checked.invalid:hover{background:#23282b}body.dark .dependencies-list .dependency-item.invalid .warning,body.dark .dependencies-list .dependency-item.checked.invalid .warning,body.dark ul.dependencies-list .dependency-item.invalid .warning,body.dark ul.dependencies-list .dependency-item.checked.invalid .warning{color:#ff7676}body.dark .search-more-warning,body.dark .search-no-result{color:#8d8f91}body.dark .dependencies-list .dependency-item.selected,body.dark ul.dependencies-list .dependency-item.selected{background:#32373b}body.dark .dependencies-list .dependency-item.selected .icon,body.dark ul.dependencies-list .dependency-item.selected .icon{color:#d1d2d3}body.dark .dependencies-list-checked .dependency-item.checked .icon,body.dark ul.dependencies-list-checked .dependency-item.checked .icon{color:#ff6a00}body.dark .quick-links ul.dropdown-menu{background:#32373b}body.dark .quick-links ul.dropdown-menu li a{color:#fff}body.dark .quick-links ul.dropdown-menu li a:hover{background:#262a2d}body.dark .popup-share{background:#32373b}body.dark .popup-share .popup-header{border-color:#4a5053}body.dark .popup-share .popup-header .close{color:#8d8f91}body.dark .popup-share .popup-content label{color:#d1d2d3}body.dark .popup-share .control-input{background:#32373b;border-color:#4a5053}body.dark .popup-share .control-input:focus{border-color:#ff6a00}body.dark .popup-share-overlay{background:rgba(27,31,35,0.95)}body.dark .placeholder-radios .placeholder-radio{background:rgba(255,255,255,0.05);border-color:rgba(255,255,255,0.2)}body.dark .placeholder-input,body.dark .placeholder-dropdown{background:rgba(255,255,255,0.05);border-color:rgba(255,255,255,0.2)}body.dark .placeholder-input::after,body.dark .placeholder-dropdown::after{background:rgba(255,255,255,0.05)}body.dark .placeholder-button{background:rgba(255,255,255,0.05)}body.dark .placeholder-tabs .placeholder-header{border-color:rgba(255,255,255,0.2)}body.dark .placeholder-tabs .placeholder-tab{background:rgba(255,255,255,0.05)}body.dark .placeholder-text{background:rgba(255,255,255,0.05)}body.dark .overlay{background:rgba(27,31,35,0.95)}body.dark .modal-explorer{background:#32373b;box-shadow:0 0 0 black}body.dark .modal-fetch{background:#32373b;box-shadow:0 0 0 black}body.dark .modal-fetch .control-input{background:#32373b;border-color:#4a5053}body.dark .modal-fetch .control-input:focus{border-color:#ff6a00}body.dark .modal-explorer .colset-explorer .head,body.dark .modal-explorer .colset-explorer .foot,body.dark .modal-explorer .colset-explorer .left,body.dark .modal-explorer .colset-explorer .right{color:#d1d2d3;border-color:#4a5053}body.dark .modal-explorer .colset-explorer .head .placeholder-text,body.dark .modal-explorer .colset-explorer .foot .placeholder-text,body.dark .modal-explorer .colset-explorer .left .placeholder-text,body.dark .modal-explorer .colset-explorer .right .placeholder-text{background:rgba(255,255,255,0.05)}body.dark .modal-explorer .close{color:#8d8f91}body.dark .modal-explorer .colset-explorer .head .actions{color:#8d8f91}body.dark .explorer-ul .file.selected,body.dark .explorer-ul .folder.selected{color:#fff;background:#262a2d}body.dark .explorer-ul .file.selected:hover,body.dark .explorer-ul .folder.selected:hover{color:#fff;background:#262a2d}body.dark .explorer-ul .file,body.dark .explorer-ul .folder{color:#d1d2d3}body.dark .explorer-ul .file:hover,body.dark .explorer-ul .folder:hover{background:rgba(255,255,255,0.05);color:#fff}body.dark pre.prism-code span.explorer-number{color:rgba(255,255,255,0.5)}body.dark pre.prism-code span.explorer-number:before{background-color:#262a2d;color:rgba(255,255,255,0.5)}body.dark pre.prism-code:before{color:rgba(255,255,255,0.5);background-color:#262a2d}body.dark .explorer-ul .file.disabled,body.dark .explorer-ul .folder.disabled{color:#d1d2d3}body.dark .explorer-ul .file.disabled:hover,body.dark .explorer-ul .folder.disabled:hover{color:#d1d2d3}body.dark .token.cdata,body.dark .token.comment,body.dark .token.doctype,body.dark .token.prolog{color:#8d8f91}body.dark code[class*='language-'],body.dark pre[class*='language-'],body.dark .token.operator,body.dark .token.punctuation,body.dark .token.operator{color:#d1d2d3}body.dark .switch-label::after{background:rgba(255,255,255,0.2)}body.dark .warnings{background:#ffe09c}body.dark .radio.err{background:#32373b;border-color:#f30808}body.dark .switch-label .switch-button,body.dark .switch-checkbox:checked+.switch-label .switch-button{background:#fff}body.dark .modal-explorer .colset-explorer .foot .action:focus,body.dark .modal-explorer .colset-explorer .head a:focus,body.dark .modal-explorer .close:focus,body.dark .header h1.logo a:focus,body.dark .radio:focus,body.dark .tab a:focus,body.dark .more div.wrap a:focus,body.dark .button:focus,body.dark .groups .group a:focus,body.dark .groups .group .group-title span:focus,body.dark .dependencies-list .dependency-item:focus,body.dark ul.dependencies-list .dependency-item:focus,body.dark .explorer-ul .file:focus,body.dark .explorer-ul .folder:focus{outline-color:#76797a}body.dark .groups .group a.invalid .warning,body.dark .groups .group a.checked.invalid .warning{color:#ff7676}body.dark .footer a,body.dark .popup-share .popup-content .link,body.dark .modal-explorer .colset-explorer .action,body.dark .markdown a,body.dark .markdown-source a{color:#0188ff}@media (max-width: 900px){body.dark{background:#1b1f23}body.dark .quick-links{border-color:#323638;background:#1b1f23}}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","module.exports = __webpack_public_path__ + \"fonts/c1e9a8527a4a4f457a8fdf644d373e9c.eot\";","module.exports = __webpack_public_path__ + \"fonts/7f562c00d80cb9d59bed376763039487.woff2\";","module.exports = __webpack_public_path__ + \"fonts/ae06d340240442c47ff1ccaa5ca4cfbe.woff\";","module.exports = __webpack_public_path__ + \"fonts/3c5ebd87cbd775f3be8ed0551a682ef8.ttf\";","module.exports = __webpack_public_path__ + \"fonts/d12e4e15d6e01ff7ceceea6f00e32159.svg\";","module.exports = __webpack_public_path__ + \"fonts/00f4610c11ae2aeb7db685df41262363.eot\";","module.exports = __webpack_public_path__ + \"fonts/063f63b80a18487346b6bf074d4f094b.woff2\";","module.exports = __webpack_public_path__ + \"fonts/63f573c4f806c10fa904fe911089f058.woff\";","module.exports = __webpack_public_path__ + \"fonts/d4f0ebf5d59c08236fe25bb12820c2bd.ttf\";","module.exports = __webpack_public_path__ + \"fonts/f803d8e8ab86c9c0eb9ad1da9978f9f5.svg\";","module.exports = __webpack_public_path__ + \"fonts/98291d65d7c5a049c81e8f5d786eec98.eot\";","module.exports = __webpack_public_path__ + \"fonts/5a488c3dab6ff8ccfa74bbd909a7bb95.woff2\";","module.exports = __webpack_public_path__ + \"fonts/d85e4310339264b58f21bfcac7130bcc.woff\";","module.exports = __webpack_public_path__ + \"fonts/ab4a5ea7b67c74de76a88b85f6ca2ff5.ttf\";","module.exports = __webpack_public_path__ + \"fonts/303a293f207127f2d21561491c3a71c4.svg\";","module.exports = __webpack_public_path__ + \"fonts/07d5c9e793599811873ff699c36b86c5.eot\";","module.exports = __webpack_public_path__ + \"fonts/b8ecef1f4c0e42d365ec8626607e1406.woff2\";","module.exports = __webpack_public_path__ + \"fonts/f4f638d0cbf629e67fa9c355daa47347.woff\";","module.exports = __webpack_public_path__ + \"fonts/5f8a077b674fd55bfb19713a06aa2add.ttf\";","module.exports = __webpack_public_path__ + \"fonts/083662cca067cf52ac4c2d16ca877db9.svg\";","import queryString from 'query-string'\nimport { toast } from 'react-toastify'\nimport { useContext, useEffect, useState } from 'react'\n\nimport { AppContext } from '../reducer/App'\nimport { InitializrContext } from '../reducer/Initializr'\nimport { isValidParams } from './ApiUtils'\n\nconst getHash = () => {\n return window.location.hash\n}\n\nconst clearHash = () => {\n if (window.location.hash) {\n if (window.history.pushState) {\n window.history.pushState(null, null, window.location.pathname)\n } else {\n window.history.hash = ``\n }\n }\n}\n\nexport default function useHash() {\n const [hash, setHash] = useState(getHash())\n\n const { dispatch } = useContext(InitializrContext)\n const { config, complete } = useContext(AppContext)\n\n useEffect(() => {\n const handler = () => {\n setHash(getHash())\n }\n window.addEventListener('hashchange', handler)\n return () => {\n window.removeEventListener('hashchange', handler)\n }\n }, [])\n\n useEffect(() => {\n if (complete && hash) {\n const params = queryString.parse(`?${hash.substr(2)}`)\n if (params && window.safemode) {\n delete params.artifactId\n delete params.groupId\n delete params.description\n delete params.name\n delete params.packageName\n }\n dispatch({ type: 'LOAD', payload: { params, lists: config.lists } })\n clearHash()\n setHash('')\n if (isValidParams(params)) {\n toast.success(`分享配置 已加载.`)\n }\n }\n }, [complete, hash, dispatch, config])\n\n return null\n}\n","import PropTypes from 'prop-types'\nimport React from 'react'\n\nconst Control = ({ text, children, variant }) => {\n if (variant === 'xl' || variant === 'xxl') {\n return (\n <div className='colset'>\n <div className='left'>\n <div className='sticky-label'>{text}</div>\n </div>\n <div\n className={`dependencies-box ${variant === 'xl' ? 'list' : 'large'}`}\n >\n {children}\n </div>\n </div>\n )\n }\n\n return (\n <div className='colset'>\n <div className='left'>\n <>{text}</>\n </div>\n <div className={`right ${variant === 'md' ? 'right-md' : ''}`}>\n {children}\n </div>\n </div>\n )\n}\n\nControl.defaultProps = {\n children: null,\n variant: '',\n}\n\nControl.propTypes = {\n children: PropTypes.node,\n variant: PropTypes.string,\n text: PropTypes.string.isRequired,\n}\n\nexport default Control\n","import PropTypes from 'prop-types'\nimport React from 'react'\n\nconst FieldInput = ({ id, text, value, onChange, disabled, inputRef }) => (\n <div className='control'>\n <label htmlFor={id}>{text}</label>\n <input\n type='text'\n id={id}\n className='control-input'\n disabled={disabled}\n value={value}\n onChange={onChange}\n ref={inputRef}\n />\n </div>\n)\n\nFieldInput.defaultProps = {\n disabled: false,\n inputRef: null,\n}\n\nFieldInput.propTypes = {\n id: PropTypes.string.isRequired,\n text: PropTypes.string.isRequired,\n value: PropTypes.string.isRequired,\n onChange: PropTypes.func.isRequired,\n inputRef: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.shape({ current: PropTypes.instanceOf(Element) }),\n ]),\n disabled: PropTypes.bool,\n}\n\nexport default FieldInput\n","import PropTypes from 'prop-types'\nimport React from 'react'\n\nimport {RadioGroup} from '../form'\n\nconst FieldRadio = ({ id, text, value, onChange, disabled, options }) => (\n <div className='control'>\n <label htmlFor={id}>{text}</label>\n <RadioGroup\n name='packaging'\n disabled={disabled}\n selected={value}\n options={options}\n onChange={onChange}\n />\n </div>\n)\n\nFieldRadio.defaultProps = {\n disabled: false,\n options: [],\n}\n\nFieldRadio.propTypes = {\n id: PropTypes.string.isRequired,\n text: PropTypes.string.isRequired,\n value: PropTypes.string.isRequired,\n onChange: PropTypes.func.isRequired,\n disabled: PropTypes.bool,\n options: PropTypes.arrayOf(\n PropTypes.shape({\n key: PropTypes.string,\n text: PropTypes.string,\n })\n ),\n}\n\nexport default FieldRadio\n","import PropTypes from 'prop-types'\nimport React from 'react'\n\nfunction FieldError({ children }) {\n return (\n <div className='control-error'>\n <p className='title'>\n <strong>{children}</strong>\n </p>\n </div>\n )\n}\n\nFieldError.propTypes = {\n children: PropTypes.string.isRequired,\n}\n\nexport default FieldError\n","import PropTypes from 'prop-types'\nimport get from 'lodash.get'\nimport React, {useContext, useEffect} from 'react'\n\nimport {AppContext} from '../../reducer/App'\nimport {IconChevronRight} from '../icons'\n\nconst PanelMore = ({ children, fieldFocusOnOpen }) => {\n const { more, dispatch } = useContext(AppContext)\n\n useEffect(() => {\n if (more && fieldFocusOnOpen) {\n setTimeout(() => {\n get(fieldFocusOnOpen, 'current').focus()\n }, 300)\n }\n }, [more, fieldFocusOnOpen])\n\n return (\n <div>\n <div className='more'>\n <div className='wrap'>\n <a\n href='/'\n onClick={event => {\n event.preventDefault()\n dispatch({\n type: 'UPDATE',\n payload: { more: !more },\n })\n }}\n className={more ? 'toggle' : ''}\n >\n <IconChevronRight />\n {!more ? '高级选项' : '高级选项'}\n </a>\n </div>\n </div>\n <div className={`panel ${more ? 'panel-active' : ''}`}>\n <div className='panel-wrap'>{children}</div>\n </div>\n </div>\n )\n}\n\nPanelMore.defaultProps = {\n children: null,\n fieldFocusOnOpen: null,\n}\n\nPanelMore.propTypes = {\n children: PropTypes.node,\n fieldFocusOnOpen: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.shape({ current: PropTypes.instanceOf(Element) }),\n ]),\n}\n\nexport default PanelMore\n","import PropTypes from 'prop-types'\nimport get from 'lodash.get'\nimport React, {useContext, useEffect, useState} from 'react'\n\nimport {AppContext} from '../../reducer/App'\nimport {IconList, IconSearch} from '../icons'\nimport {InitializrContext} from '../../reducer/Initializr'\n\nconst Tabs = ({ changeTab }) => {\n const { dependencies: deps, dispatch, tab } = useContext(AppContext)\n const { values } = useContext(InitializrContext)\n const [count, setCount] = useState(0)\n\n useEffect(() => {\n setCount(\n values.dependencies.filter(d => {\n return get(deps, 'list', []).find(a => a.id === d).valid\n }).length\n )\n }, [deps, values.dependencies])\n\n const change = newTab => {\n dispatch({\n type: 'UPDATE',\n payload: { tab: newTab },\n })\n setTimeout(() => {\n changeTab(newTab)\n })\n }\n\n return (\n <div className='tab'>\n <div className='tab-container'>\n <a\n href='/'\n aria-label='Search'\n onClick={event => {\n event.preventDefault()\n change('quicksearch')\n }}\n className={`quick-search ${tab === 'quicksearch' ? 'active' : ''}`}\n >\n <IconSearch /><span>搜索</span>\n </a>\n <a\n href='/'\n aria-label='List'\n onClick={event => {\n event.preventDefault()\n change('list')\n }}\n className={`list ${tab === 'list' ? 'active' : ''}`}\n >\n <IconList /><span>分组列表</span>\n </a>\n {count > 0 && (\n <>\n <strong>\n <span>{count}</span> 项已选择\n </strong>\n </>\n )}\n </div>\n </div>\n )\n}\n\nTabs.propTypes = {\n changeTab: PropTypes.func.isRequired,\n}\n\nexport default Tabs\n","import PropTypes from 'prop-types'\nimport React from 'react'\nimport {CSSTransition, TransitionGroup} from 'react-transition-group'\n\nimport {IconCheck, IconTimes} from '../../icons'\n\nfunction Dependencies({ list, remove }) {\n return (\n <TransitionGroup\n component='ul'\n className='dependencies-list dependencies-list-checked'\n >\n {list.map(item => {\n return (\n <CSSTransition timeout={500} classNames='fade' key={`f${item.id}`}>\n <li>\n <span className='dependency-item-span'>\n <a\n className={`dependency-item checked ${\n !item.valid ? 'invalid' : ''\n }`}\n href='/'\n onClick={event => {\n event.preventDefault()\n remove(item)\n }}\n key={item.id}\n >\n <div key={`d1${item.id}`}>\n <strong key={`d2${item.id}`}>{item.name}</strong>\n <br key={`d3${item.id}`} />\n {item.valid && (\n <span key={`d4${item.id}`} className='description'>\n {item.description}\n </span>\n )}\n <span key={`d5${item.id}`} className='icon'>\n <IconTimes key={`d6${item.id}`} />\n <IconCheck key={`d7${item.id}`} />\n </span>\n {!item.valid && (\n <span className='warning' key={`warning${item.id}`}>\n {item.message}\n </span>\n )}\n </div>\n </a>\n </span>\n </li>\n </CSSTransition>\n )\n })}\n </TransitionGroup>\n )\n}\n\nDependencies.defaultProps = {\n list: [],\n}\n\nDependencies.propTypes = {\n list: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n group: PropTypes.string.isRequired,\n valid: PropTypes.bool.isRequired,\n description: PropTypes.string.isRequired,\n message: PropTypes.string,\n })\n ),\n remove: PropTypes.func.isRequired,\n}\n\nexport default Dependencies\n","import PropTypes from 'prop-types'\nimport React from 'react'\nimport {CSSTransition, TransitionGroup} from 'react-transition-group'\n\nimport {IconPlus} from '../../icons'\n\nfunction Result({ list, selected, select, add }) {\n return (\n <TransitionGroup component='ul' className='dependencies-list'>\n {list.map((item, index) => {\n return (\n <CSSTransition timeout={500} classNames='fade' key={`f${item.id}`}>\n <li>\n <span className='dependency-item-span'>\n <a\n href='/'\n className={`dependency-item dependency-item-gray ${\n !item.valid ? 'invalid' : ''\n } ${selected === index ? 'selected' : ''}`}\n key={`item${item.id}`}\n selected={selected === index}\n disabled={!item.valid}\n onClick={e => {\n e.preventDefault()\n if (item.valid) {\n add(item)\n }\n }}\n onMouseEnter={() => {\n if (item.valid) {\n select(index)\n }\n }}\n onMouseLeave={() => {\n if (item.valid) {\n select(-1)\n }\n }}\n >\n <div>\n <strong className='title' key={`item${item.id}`}>\n {item.name}\n </strong>\n <br />\n {item.valid && (\n <span key={`d1${item.id}`}>\n <span className='description' key={`d2${item.id}`}>\n {item.description}\n </span>\n <span key={`d3${item.id}`} className='icon'>\n <IconPlus key={`d4${item.id}`} />\n </span>\n </span>\n )}\n {!item.valid && (\n <span className='warning' key={`warning${item.id}`}>\n {item.message}\n </span>\n )}\n </div>\n </a>\n </span>\n </li>\n </CSSTransition>\n )\n })}\n </TransitionGroup>\n )\n // }\n}\n\nResult.defaultProps = {\n list: [],\n selected: null,\n}\n\nResult.propTypes = {\n list: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n group: PropTypes.string.isRequired,\n description: PropTypes.string.isRequired,\n versionRange: PropTypes.string,\n versionRequirement: PropTypes.string,\n })\n ),\n add: PropTypes.func.isRequired,\n selected: PropTypes.number,\n select: PropTypes.func.isRequired,\n}\n\nexport default Result\n","import * as JsSearch from 'js-search'\nimport PropTypes from 'prop-types'\nimport get from 'lodash.get'\nimport React, {useContext, useEffect, useState} from 'react'\n\nimport Dependencies from './Dependencies'\nimport Result from './Result'\nimport {AppContext} from '../../../reducer/App'\nimport {InitializrContext} from '../../../reducer/Initializr'\n\nconst sortResult = dependencies => {\n return dependencies.sort((a, b) => {\n if (a.valid && !b.valid) {\n return -1\n }\n if (!a.valid && b.valid) {\n return 1\n }\n return b.weight - a.weight\n })\n}\n\nconst QuickSearch = ({ submit, input }) => {\n const { values, dispatch } = useContext(InitializrContext)\n const { dependencies: dependenciesContext } = useContext(AppContext)\n const [query, setQuery] = useState('')\n const [selected, setSelected] = useState(0)\n const [dependencies, setDependencies] = useState([])\n const [result, setResult] = useState([])\n const [count, setCount] = useState(0)\n const [search, setSearch] = useState(null)\n\n const add = id => {\n dispatch({\n type: 'ADD_DEPENDENCY',\n payload: { id },\n })\n }\n\n useEffect(() => {\n const newDeps = get(values, 'dependencies', []).map(item => {\n return get(dependenciesContext, 'list', []).find(d => d.id === item)\n })\n setDependencies(newDeps)\n const jsSearchUp = new JsSearch.Search('name')\n jsSearchUp.addIndex('name')\n jsSearchUp.addIndex('id')\n jsSearchUp.addIndex('description')\n jsSearchUp.addIndex('group')\n jsSearchUp.addDocuments(get(dependenciesContext, 'list'))\n setSearch(jsSearchUp)\n }, [values, dependenciesContext, values.dependencies])\n\n const onFocus = () => {\n setSelected(0)\n }\n\n const onBlur = () => {\n setSelected(-1)\n }\n\n const onKeyDown = event => {\n switch (event.keyCode) {\n case 40: // Down\n event.preventDefault()\n setSelected(Math.min(selected + 1, result.length - 1, 4))\n break\n case 38: // Up\n event.preventDefault()\n setSelected(Math.max(selected - 1, 0))\n break\n case 13: // Enter\n event.preventDefault()\n if (result.length > 0) {\n add(result[selected].id)\n setQuery('')\n } else {\n submit()\n }\n break\n case 27: // Escape\n event.preventDefault()\n setQuery('')\n break\n case 39: // Right\n case 37: // Left\n break\n default:\n // Default\n setSelected(0)\n }\n }\n\n useEffect(() => {\n const onSearch = () => {\n if (!search) {\n return\n }\n let vals = search\n .search(query)\n .filter(\n item => !get(values, 'dependencies', []).find(o => o === item.id)\n )\n setCount(vals.length)\n if (vals.length > 5) {\n vals = vals.slice(0, 5)\n }\n vals = sortResult(vals)\n setResult(vals)\n }\n onSearch()\n }, [values, query, search, setResult])\n\n return (\n <div className='colset-2'>\n <div className='column'>\n <label className='search-label' htmlFor='input-quicksearch'>\n {/* eslint-disable-line */}\n 搜索依赖组件\n </label>\n <input\n type='text'\n className='control-input'\n placeholder='Web, Security, JPA, Actuator, Devtools...'\n value={query}\n onBlur={onBlur}\n onFocus={onFocus}\n onChange={event => {\n setQuery(event.target.value)\n setSelected(0)\n }}\n id='input-quicksearch'\n ref={input}\n onKeyDown={onKeyDown}\n />\n <Result\n list={result}\n add={item => {\n add(item.id)\n setQuery('')\n if (input) {\n get(input, 'current').focus()\n }\n }}\n selected={selected}\n select={setSelected}\n />\n {count > 5 && (\n <div className='search-more-warning'>\n <p>\n More than 5 results found.\n <br />\n Refine your search if necessary.\n </p>\n </div>\n )}\n </div>\n <div className='column'>\n {/* eslint-disable-next-line */}\n <label>已选组件</label>\n {get(values, 'dependencies', []).length === 0 ? (\n <div className='search-no-selected'>暂未选择任何组件</div>\n ) : (\n <Dependencies\n list={dependencies}\n remove={item => {\n dispatch({\n type: 'REMOVE_DEPENDENCY',\n payload: { id: item.id },\n })\n }}\n />\n )}\n </div>\n </div>\n )\n}\n\nQuickSearch.defaultProps = {}\n\nQuickSearch.propTypes = {\n submit: PropTypes.func.isRequired,\n input: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.shape({ current: PropTypes.instanceOf(Element) }),\n ]).isRequired,\n}\n\nexport default QuickSearch\n","import PropTypes from 'prop-types'\nimport React from 'react'\n\nimport {IconCheck, IconPlus, IconTimes} from '../../icons'\n\nfunction ListItem({\n id,\n name,\n description,\n valid,\n message,\n onChange,\n selected,\n}) {\n const toggle = event => {\n event.preventDefault()\n if (valid) {\n onChange(!selected)\n }\n }\n const onKeyDown = event => {\n const keyPressed = event.key\n if (keyPressed === 'Enter' || keyPressed === ' ') {\n toggle(event)\n }\n }\n return (\n <a\n href='/'\n onClick={toggle}\n tabIndex={!valid ? -1 : ''}\n className={`${!valid ? 'invalid' : ''} ${selected ? 'checked' : ''}`}\n key={id}\n onKeyDown={onKeyDown}\n >\n <div key={`d${id}`}>\n <input\n type='checkbox'\n value={id}\n key={`ck${id}`}\n checked={selected}\n disabled={!valid}\n onChange={() => {}}\n />\n <strong key={`ck1${id}`}>{name}</strong>\n <br key={`br${id}`} />\n {valid && <span key={`ck2${id}`}>{description}</span>}\n <span key={`ck3${id}`} className='icon'>\n <IconPlus key={`ck4${id}`} />\n <IconTimes key={`ck5${id}`} />\n <IconCheck key={`ck6${id}`} />\n </span>\n {!valid && (\n <span className='warning' key={`warning${id}`}>\n {message}\n </span>\n )}\n </div>\n </a>\n )\n}\n\nListItem.defaultProps = {\n message: '',\n}\n\nListItem.propTypes = {\n id: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n description: PropTypes.string.isRequired,\n valid: PropTypes.bool.isRequired,\n message: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n selected: PropTypes.bool.isRequired,\n}\n\nexport default ListItem\n","import PropTypes from 'prop-types'\nimport React from 'react'\n\nimport ListItem from './ListItem'\nimport {IconChevronRight} from '../../icons'\n\nfunction ListGroup({\n group,\n items,\n itemsSelected,\n isClose,\n add,\n remove,\n toggle,\n}) {\n const toggleGroup = event => {\n event.preventDefault()\n toggle(group)\n }\n const onKeyDown = event => {\n const keyPressed = event.key\n if (keyPressed === 'Enter' || keyPressed === ' ') {\n toggleGroup(event)\n }\n }\n const isItemSelected = item => {\n return !!itemsSelected.find(o => o === item.id)\n }\n return (\n <div className='group'>\n <div className='group-title'>\n <a\n href='/'\n onClick={toggleGroup}\n className={!isClose ? 'toggleGroupItems' : ''}\n tabIndex={0}\n onKeyDown={onKeyDown}\n >\n <IconChevronRight />\n {group}\n </a>\n </div>\n {!isClose && (\n <div className='group-items' key={`links${group}`}>\n {items.map(item => (\n <ListItem\n key={item.id}\n id={item.id}\n name={item.name}\n description={item.description}\n valid={item.valid}\n message={item.message}\n selected={isItemSelected(item)}\n onChange={value => {\n if (value) {\n add(item.id)\n } else {\n remove(item.id)\n }\n }}\n />\n ))}\n </div>\n )}\n </div>\n )\n}\n\nListGroup.propTypes = {\n group: PropTypes.string.isRequired,\n add: PropTypes.func.isRequired,\n remove: PropTypes.func.isRequired,\n toggle: PropTypes.func.isRequired,\n itemsSelected: PropTypes.arrayOf(PropTypes.string).isRequired,\n isClose: PropTypes.bool.isRequired,\n items: PropTypes.arrayOf(\n PropTypes.shape({\n description: PropTypes.string.isRequired,\n group: PropTypes.string.isRequired,\n id: PropTypes.string.isRequired,\n keywords: PropTypes.string,\n name: PropTypes.string.isRequired,\n valid: PropTypes.bool.isRequired,\n })\n ).isRequired,\n}\n\nexport default ListGroup\n","import get from 'lodash.get'\nimport React, {useContext} from 'react'\n\nimport ListGroup from './ListGroup'\nimport {AppContext} from '../../../reducer/App'\nimport {InitializrContext} from '../../../reducer/Initializr'\n\nconst List = () => {\n const { dependencies, dispatch, groupsOpened } = useContext(AppContext)\n const { values, dispatch: dispatchInitializr } = useContext(InitializrContext)\n return (\n <div className='groups'>\n {get(dependencies, 'groups').map(group => {\n return (\n <ListGroup\n group={group.group}\n key={group.group}\n dependencyGroup={group}\n add={id => {\n dispatchInitializr({\n type: 'ADD_DEPENDENCY',\n payload: { id },\n })\n }}\n remove={id => {\n dispatchInitializr({\n type: 'REMOVE_DEPENDENCY',\n payload: { id },\n })\n }}\n toggle={id => {\n dispatch({\n type: 'TOGGLE_GROUP',\n payload: { id },\n })\n }}\n itemsSelected={get(values, 'dependencies', [])}\n isClose={groupsOpened.indexOf(group.group) < 0}\n items={group.items}\n />\n )\n })}\n </div>\n )\n}\n\nexport default List\n","import PropTypes from 'prop-types'\nimport React from 'react'\n\nconst Header = ({ children }) => (\n <div className='header'>\n <h1 className='logo'>\n <a href='/bootstrap.html'>\n <span className='title'>\n <strong>云原生</strong>应用脚手架\n </span>\n <span className='description'>Cloud Native App Initializer</span>\n </a>\n </h1>\n {children}\n </div>\n)\n\nHeader.defaultProps = {\n children: null,\n}\n\nHeader.propTypes = {\n children: PropTypes.node,\n}\n\nexport default Header\n","import get from 'lodash.get'\nimport React, {useContext, useEffect, useRef, useState} from 'react'\nimport {CSSTransition, TransitionGroup} from 'react-transition-group'\n\nimport {AppContext} from '../../reducer/App'\nimport {IconCaretDown, IconHelp} from '../icons'\nimport {Switch} from '../form'\n\nconst QuickLinks = () => {\n const {theme, dispatch, language} = useContext(AppContext)\n const [help, setHelp] = useState(false)\n const wrapper = useRef(null)\n const toggleTheme = () => {\n const newTheme = theme === 'dark' ? 'light' : 'dark'\n dispatch({\n type: 'UPDATE',\n payload: {\n theme: newTheme,\n },\n })\n }\n const toggleLanguage = () => {\n const newLanguage = language === 'en' ? 'zh' : 'en'\n dispatch({\n type: 'UPDATE',\n payload: {\n language: newLanguage,\n },\n })\n }\n useEffect(() => {\n const clickOutside = event => {\n const children = get(wrapper, 'current')\n if (children && !children.contains(event.target)) {\n setHelp(false)\n }\n }\n document.addEventListener('mousedown', clickOutside)\n return () => {\n document.removeEventListener('mousedown', clickOutside)\n }\n }, [setHelp])\n\n /*\n <li>\n <span className='switch-language'>\n <Switch id='language-switch' isOn={language === 'en'} onChange={toggleLanguage} />\n {language === 'en' ? 'English' : '中文'}\n </span>\n </li>\n */\n return (\n <ul className='quick-links'>\n <li>\n <span className='switch-mode'>\n <Switch id='theme-switch' isOn={theme === 'dark'} onChange={toggleTheme}/>\n {theme === 'dark' ? '深色' : '浅色'} 主题\n </span>\n </li>\n <li>\n <a\n href='/'\n className='dropdown'\n tabIndex='-1'\n onClick={e => {\n e.preventDefault()\n setHelp(!help)\n }}\n ref={wrapper}\n >\n <IconHelp/>\n 帮助信息\n <IconCaretDown className='caret'/>\n </a>\n\n <TransitionGroup component={null}>\n {help && (\n <CSSTransition classNames='nav-anim' timeout={500}>\n <ul className='dropdown-menu'>\n <li>\n <a\n id='ql-help-projects'\n target='_blank'\n rel='noopener noreferrer'\n href='https://spring.io/projects'\n tabIndex='-1'\n >\n Spring Projects\n </a>\n </li>\n <li>\n <a\n id='ql-help-guides'\n target='_blank'\n rel='noopener noreferrer'\n tabIndex='-1'\n href='https://spring.io/projects/spring-cloud/'\n >\n Spring Cloud\n </a>\n </li>\n <li>\n <a\n id='ql-help-guides'\n target='_blank'\n rel='noopener noreferrer'\n tabIndex='-1'\n href='https://github.com/alibaba/spring-cloud-alibaba/blob/master/README-zh.md'\n >\n Spring Cloud Alibaba\n </a>\n </li>\n </ul>\n </CSSTransition>\n )}\n </TransitionGroup>\n </li>\n </ul>\n )\n}\n\nexport default QuickLinks\n","import PropTypes from 'prop-types'\nimport React from 'react'\n\nimport Header from './Header'\nimport QuickLinks from './QuickLinks'\n\nconst Layout = ({ children }) => (\n <>\n <Header>\n <QuickLinks />\n </Header>\n <main>{children}</main>\n </>\n)\n\nLayout.propTypes = {\n children: PropTypes.node.isRequired,\n}\n\nexport default Layout\n","import PropTypes from 'prop-types'\nimport React from 'react'\n\nconst Footer = ({ children }) => (\n <div className='sticky'>\n <div className='colset colset-submit'>\n <div className='left nopadding'>\n <footer className='footer'>\n <div className='footer-container'>\n © 1999-{new Date().getFullYear()} Aliyun.com\n <br />\n start.aliyun.com is powered by\n <br />\n <span>\n <a\n tabIndex='-1'\n target='_blank'\n rel='noopener noreferrer'\n href='https://www.aliyun.com'\n >\n Aliyun.com\n </a>\n </span>\n </div>\n </footer>\n </div>\n {children && (\n <div className='right nopadding'>\n <div className='submit'>{children}</div>\n </div>\n )}\n </div>\n </div>\n)\n\nFooter.defaultProps = {\n children: null,\n}\n\nFooter.propTypes = {\n children: PropTypes.node,\n}\n\nexport default Footer\n","import React from 'react'\n\nimport Control from './Control'\nimport {Footer} from '../layout'\nimport {Placeholder} from '../form'\n\nexport default function Loading() {\n return (\n <>\n <Control text='项目构建方式'>\n <Placeholder type='radios' count={2} width='133px' />\n </Control>\n <Control text='开发语言'>\n <Placeholder type='radios' count={3} width='73px' />\n </Control>\n <Control text='Spring Boot 版本'>\n <Placeholder type='radios' count={5} width='105px' />\n </Control>\n <Control text='项目元信息' special='md'>\n <div>\n <div className='control'>\n <Placeholder type='input' />\n </div>\n <div className='control'>\n <Placeholder type='input' />\n </div>\n <div className='control'>\n <Placeholder type='dropdown' />\n </div>\n </div>\n </Control>\n <Control text='组件与示例'>\n <Placeholder type='tabs' count={2} />\n </Control>\n <Footer>\n <Placeholder type='button' width='189px' />\n <Placeholder type='button' width='212px' />\n <Placeholder type='button' width='110px' />\n </Footer>\n </>\n )\n}\n","import get from 'lodash.get'\nimport React, {useContext} from 'react'\n\nimport {IconTimes} from '../icons'\nimport {InitializrContext} from '../../reducer/Initializr'\n\nfunction Warnings() {\n const { warnings, dispatch } = useContext(InitializrContext)\n if (Object.keys(warnings).length > 0) {\n return (\n <div className='colset'>\n <div className='left' />\n <div className='right'>\n <div className='warnings'>\n <a\n className='close'\n href='/#'\n onClick={event => {\n event.preventDefault()\n dispatch({\n type: 'CLEAR_WARNINGS',\n })\n }}\n >\n <IconTimes />\n </a>\n The following attributes could not be handled:\n <ul>\n {get(warnings, 'project') && (\n <li>\n <strong>{get(warnings, 'project.value')}</strong> is not a\n valid project type,{' '}\n <strong>{get(warnings, 'project.select')}</strong> has been\n selected.\n </li>\n )}\n {get(warnings, 'language') && (\n <li>\n <strong>{get(warnings, 'language.value')}</strong> is not a\n valid language,{' '}\n <strong>{get(warnings, 'language.select')}</strong> has been\n selected.\n </li>\n )}\n {get(warnings, 'boot') && (\n <li>\n Spring Boot <strong>{get(warnings, 'boot.value')}</strong> is\n not available, <strong>{get(warnings, 'boot.select')}</strong>{' '}\n has been selected.\n </li>\n )}\n {get(warnings, 'meta.java') && (\n <li>\n <strong>{get(warnings, 'meta.java.value')}</strong> is not a\n valid Java version,{' '}\n <strong>{get(warnings, 'meta.java.select')}</strong> has been\n selected.\n </li>\n )}\n {get(warnings, 'meta.packaging') && (\n <li>\n <strong>{get(warnings, 'meta.packaging.value')}</strong> is\n not a valid packaging,{' '}\n <strong>{get(warnings, 'meta.packaging.select')}</strong> has\n been selected.\n </li>\n )}\n {get(warnings, 'dependencies') && (\n <li>\n The following dependencies are not supported:{' '}\n <strong>{get(warnings, 'dependencies.value')}</strong>.\n </li>\n )}\n </ul>\n </div>\n </div>\n </div>\n )\n }\n return <></>\n}\n\nexport default Warnings\n","import BodyClassName from 'react-body-classname'\nimport get from 'lodash.get'\nimport React, {lazy, Suspense, useContext, useEffect, useRef, useState,} from 'react'\nimport {toast} from 'react-toastify'\n\nimport useHash from './utils/Hash'\nimport useWindowsUtils from './utils/WindowsUtils'\nimport {AppContext} from './reducer/App'\nimport {Button, Form, RadioGroup} from './common/form'\nimport {\n Control,\n FieldError,\n FieldInput,\n FieldRadio,\n List,\n Loading,\n PanelMore,\n QuickSearch,\n Tabs,\n Warnings,\n} from './common/builder'\nimport {Footer, Layout} from './common/layout'\nimport {InitializrContext} from './reducer/Initializr'\nimport {getConfig, getInfo, getProject, getQueryString} from './utils/ApiUtils'\n\nconst Explore = lazy(() => import('./common/explore/Explore.js'))\nconst Share = lazy(() => import('./common/share/Share.js'))\nconst Fetch = lazy(() => import('./common/fetch/Fetch.js'))\nconst HotKeys = lazy(() => import('./common/builder/HotKeys.js'))\n\nexport default function Application() {\n const {\n complete,\n config,\n more,\n tab,\n dispatch,\n theme,\n fetch: fetchOpen,\n share: shareOpen,\n explore: exploreOpen,\n dependencies,\n } = useContext(AppContext)\n const { values, share, dispatch: dispatchInitializr, errors } = useContext(InitializrContext)\n\n const [positionShare, setPositionShare] = useState({ x: 0, y: 0 })\n\n const [blob, setBlob] = useState(null)\n\n\n const inputMore = useRef(null)\n const inputQuickSearch = useRef(null)\n\n const windowsUtils = useWindowsUtils()\n useHash()\n\n useEffect(() => {\n if (windowsUtils.origin) {\n const url = `${windowsUtils.origin}/metadata/client`\n getInfo(url).then(jsonConfig => {\n const response = getConfig(jsonConfig)\n dispatchInitializr({ type: 'COMPLETE', payload: { ...response } })\n dispatch({ type: 'COMPLETE', payload: response })\n })\n }\n }, [dispatch, dispatchInitializr, windowsUtils.origin])\n\n const onSubmit = async () => {\n dispatch({ type: 'FETCH_UPDATE', payload: { open: true } })\n }\n\n const onExplore = async () => {\n const url = `${windowsUtils.origin}/starter.zip`\n dispatch({ type: 'EXPLORE_UPDATE', payload: { open: true } })\n const project = await getProject(\n url,\n values,\n get(dependencies, 'list')\n ).catch(() => {\n toast.error(`Could not connect to server. Please check your network.`)\n })\n setBlob(project)\n }\n\n const onShare = event => {\n const { x, y } = get(event, 'target').getBoundingClientRect()\n setPositionShare({ x, y })\n dispatch({ type: 'SHARE_UPDATE', payload: { open: true } })\n }\n\n const update = args => {\n dispatchInitializr({ type: 'UPDATE', payload: args })\n }\n\n const onRunInSandbox = () => {\n const origin = `${windowsUtils.origin}`\n const config = get(dependencies, 'list')\n const params = getQueryString(values, config, [\"cloudshell\"])\n\n const gitUrl = `${origin}/${params}/${values.meta.artifact}.git`\n\n const handsOnUrl = `${origin}/handson?${params}`\n\n window.open(handsOnUrl)\n\n }\n\n const onExport = () => {\n const origin = `${windowsUtils.origin}`\n const config = get(dependencies, 'list')\n const params = getQueryString(values, config)\n\n const codeupUrl = `${origin}/codeup?${params}`\n\n window.open(codeupUrl)\n }\n\n let shareSrc = get(values, 'share')\n if(shareSrc){\n shareSrc = `${shareSrc}/`\n } else {\n shareSrc = ''\n }\n\n return (\n <Layout>\n <BodyClassName className={theme} />\n <Suspense fallback=''>\n <HotKeys onSubmit={onSubmit} onExplore={onExplore} />\n </Suspense>\n <Form onSubmit={onSubmit}>\n {!complete ? (\n <Loading />\n ) : (\n <>\n <Warnings />\n <Control text='项目构建方式'>\n <RadioGroup\n name='project'\n selected={get(values, 'project')}\n options={get(config, 'lists.project')}\n onChange={value => {\n update({ project: value })\n }}\n />\n </Control>\n <Control text='开发语言'>\n <RadioGroup\n name='language'\n selected={get(values, 'language')}\n options={get(config, 'lists.language')}\n onChange={value => {\n update({ language: value })\n }}\n />\n </Control>\n <Control text='Spring Boot版本'>\n <RadioGroup\n name='boot'\n selected={get(values, 'boot')}\n error={get(errors, 'boot.value', '')}\n options={get(config, 'lists.boot')}\n onChange={value => {\n dispatchInitializr({\n type: 'UPDATE',\n payload: { boot: value },\n config: get(dependencies, 'list'),\n })\n dispatch({\n type: 'UPDATE_DEPENDENCIES',\n payload: { boot: value },\n })\n }}\n />\n {get(errors, 'boot') && (\n <FieldError>\n Spring Boot {get(errors, 'boot.value')} is not supported.\n Please select a valid version\n </FieldError>\n )}\n </Control>\n <Control text='项目基本信息' variant='md'>\n <FieldInput\n id='input-group'\n value={get(values, 'meta.group')}\n text='Group'\n onChange={event => {\n update({ meta: { group: event.target.value } })\n }}\n />\n <FieldInput\n id='input-artifact'\n value={get(values, 'meta.artifact')}\n text='Artifact'\n onChange={event => {\n update({ meta: { artifact: event.target.value } })\n }}\n />\n <PanelMore fieldFocusOnOpen={inputMore}>\n <FieldInput\n id='input-name'\n value={get(values, 'meta.name')}\n text='项目名称'\n disabled={!more}\n inputRef={inputMore}\n onChange={event => {\n update({ meta: { name: event.target.value } })\n }}\n />\n <FieldInput\n id='input-description'\n value={get(values, 'meta.description')}\n text='项目描述'\n disabled={!more}\n onChange={event => {\n update({ meta: { description: event.target.value } })\n }}\n />\n <FieldInput\n id='input-packageName'\n value={get(values, 'meta.packageName')}\n text='基础包'\n disabled={!more}\n onChange={event => {\n update({ meta: { packageName: event.target.value } })\n }}\n />\n <FieldRadio\n id='input-packaging'\n value={get(values, 'meta.packaging')}\n text='打包方式'\n disabled={!more}\n options={get(config, 'lists.meta.packaging')}\n onChange={value => {\n update({ meta: { packaging: value } })\n }}\n />\n <FieldRadio\n id='input-java'\n value={get(values, 'meta.java')}\n text='Java版本'\n disabled={!more}\n options={get(config, 'lists.meta.java')}\n onChange={value => {\n update({ meta: { java: value } })\n }}\n />\n </PanelMore>\n </Control>\n <Control text='应用架构'>\n <RadioGroup\n name='architecture'\n selected={get(values, 'architecture')}\n options={get(config, 'lists.architecture')}\n onChange={value => {\n update({ architecture: value })\n\n get(values, 'dependencies', []).forEach(item => {\n dispatchInitializr({\n type: 'REMOVE_DEPENDENCY',\n payload: { id:item },\n })\n })\n\n get(config, 'lists.architecture', [])\n .filter(item => item.key === value)\n .forEach(arch => {\n get(arch, 'dependencies', []).forEach(dep => {\n dispatchInitializr({\n type: 'ADD_DEPENDENCY',\n payload: { id:dep },\n })\n })\n })\n\n }}\n />\n </Control>\n <Control text='组件与示例' variant={tab === 'quicksearch' ? 'xl' : 'xxl'}>\n <Tabs\n changeTab={newTab => {\n if (\n newTab === 'quicksearch' &&\n get(inputQuickSearch, 'current')\n ) {\n get(inputQuickSearch, 'current').focus()\n }\n }}\n />\n {tab === 'quicksearch' && (\n <QuickSearch submit={onSubmit} input={inputQuickSearch} />\n )}\n {tab === 'list' && <List />}\n </Control>\n <Footer>\n <Button\n id='generate-project'\n variant='primary'\n onClick={onSubmit}\n hotkey={`${windowsUtils.symb} + ⏎`}\n >\n 获取代码\n </Button>\n <Button\n id='explore-project'\n onClick={onExplore}\n hotkey='Ctrl + Space'\n >\n 浏览代码\n </Button>\n <Button id='share-project' onClick={onShare}>\n 分享...\n </Button>\n </Footer>\n </>\n )}\n </Form>\n <Suspense fallback=''>\n <Share\n open={shareOpen || false}\n shareUrl={share}\n shareSrc={shareSrc}\n position={positionShare}\n onClose={() => {\n dispatch({\n type: 'SHARE_UPDATE',\n payload: { open: false },\n })\n }}\n />\n <Explore\n projectName={`${get(values, 'meta.artifact')}.zip`}\n blob={blob}\n open={exploreOpen || false}\n onClose={() => {\n dispatch({\n type: 'EXPLORE_UPDATE',\n payload: { open: false },\n })\n setBlob(null)\n }}\n />\n <Fetch\n open={fetchOpen || false}\n onClose={() => {\n dispatch({\n type: 'FETCH_UPDATE',\n payload: { open: false },\n })\n }}\n />\n </Suspense>\n </Layout>\n )\n}\n","import './styles/app.scss'\n\nimport React from 'react'\nimport {ToastContainer} from 'react-toastify'\nimport {render} from 'react-dom'\n\nimport Application from './components/Application'\nimport Close from './components/common/form/Close'\nimport {AppProvider} from './components/reducer/App'\nimport {InitializrProvider} from './components/reducer/Initializr'\n\nrender(\n <AppProvider>\n <InitializrProvider>\n <ToastContainer\n closeButton={<Close />}\n position='top-center'\n hideProgressBar\n />\n <Application />\n </InitializrProvider>\n </AppProvider>,\n document.getElementById('app')\n)\n"],"sourceRoot":""}