* store background image, not background selection in presets
* move localStorage into save utils
* curry omit util fn
* clean up manual image upload by URL
* refactor image changes
* separate uploadImage from selectImage
* upgrade visual regression testing tests
* add TODOs
* Add preset feature without create
* fix lint errors
* Add presets to Editor state
* add remove, update -> apply, omit presets
* replace name with index, add undo functionality
* fix reduce function
* Tweaks:
- Make remove filter setState atomic
- Remove broken sCU in BackgroundSelect
- Touch up style of arrow functions a little
- Remove titleBar from default settings
- Don't expose SETTINGS_KEYS
- Use hasOwnProperty instead of includes()
* refactor preset state into Settings
* move format code into editor and make it work again
* omit custom in applyPreset
* move presets array state into Settings
* keep custom sCU in BackgroundSelect
* pull out inline objects
* revert pages/index
* increase Presets font-size, remove margin-top
* Add ability to create presets
* also enable passing exportSize as prop
* move selectedPreset back into Settings (my bad Sean)
* replace splice with filter, getSavedX -> getX
* Revert "move selectedPreset back into Settings (my bad Sean)"
This reverts commit ae5da4700ea36ad7c31e697e83a2724be4b448f4.
* make sure background updates remove selected preset
* selectedPreset -> preset
* use onChange instead of selectPreset
* use preset id's instead of indexes
* bug fixes
* use disabled instead of pointer-events
* make .settings-presets-applied flex 💪
* make .settings-presets-arrow flex 💪
* move getPresets outside of `setState`
* move inline styles to style tag
* refactor using omitBy and isFunction
* remove lodash.isfunction
* fix applyPreset to disclude preset field
* move omit to getSettingsFromProps
* replace lodash.omit with omitBy solution
* .includes -> .indexOf
* add default preset and presetApplied state
* fix lint error
* remove presetApplied
* add more default presets
* fix default preset functionality
* tweaks
* preserve preset list scrollLeft b/w updates with a hack
* Use ref for preset content
* remove forwardRef
* clean up things
* introduce toggle fn
* remove constructor from Collapse (ignore)
* prettier (ignore)
* make Collapse a PureComponent (ignore)
* give ExportSizeSelect a display name (ignore)
* give ThemeSelect a display name (ignore)
* Toggle: displayName, PureComponent, remove constructor (ignore)
* Meta and Slider display names (ignore)
* remove ThemeSelect constructor (ignore)
* fix lint-staged, prettier
* add basic format with basic parser
* remove format loading
* change formatCode to be sync
* prettier adjustments
* prettier our code
* move prettify into settings menu
* Perf improvements. Limit rerender on keystrokes
* Spread settings props, make dropdowns and carbon pure
* Remove last TODO
* Pass state into value of titleBar input
* Clean up