├── .gitignore ├── CHANGELOG.md ├── CONTRIBUTING.md ├── LICENSE.md ├── README.md ├── index.less ├── lib ├── config.coffee └── isotope-ui.coffee ├── package.json ├── resources ├── cantarell │ ├── cantarell-bold-italic.woff │ ├── cantarell-bold.woff │ ├── cantarell-italic.woff │ ├── cantarell.woff │ └── license.txt ├── clear-sans │ ├── clear-sans-bold-italic.woff │ ├── clear-sans-bold.woff │ ├── clear-sans-italic.woff │ ├── clear-sans-light.woff │ ├── clear-sans-medium-italic.woff │ ├── clear-sans-medium.woff │ ├── clear-sans-thin.woff │ ├── clear-sans.woff │ └── license.txt ├── fira │ ├── fira-bold-italic.otf │ ├── fira-bold.otf │ ├── fira-italic.otf │ ├── fira-light-italic.otf │ ├── fira-light.otf │ ├── fira-medium-italic.otf │ ├── fira-medium.otf │ ├── fira-semibold-italic.otf │ ├── fira-semibold.otf │ ├── fira-ultralight-italic.otf │ ├── fira-ultralight.otf │ └── fira.otf ├── images │ ├── minimal.png │ └── raket.jpg ├── open-sans │ ├── license.txt │ ├── open-sans-bold-italic.woff │ ├── open-sans-bold.woff │ ├── open-sans-italic.woff │ ├── open-sans-light-italic.woff │ ├── open-sans-light.woff │ ├── open-sans-semibold-italic.woff │ ├── open-sans-semibold.woff │ └── open-sans.woff ├── oxygen │ ├── license.txt │ ├── oxygen-bold-italic.otf │ ├── oxygen-bold.otf │ ├── oxygen-italic.otf │ └── oxygen.otf ├── roboto │ ├── license.txt │ ├── roboto-bold-italic.ttf │ ├── roboto-bold.ttf │ ├── roboto-italic.ttf │ ├── roboto-light-italic.ttf │ ├── roboto-light.ttf │ ├── roboto-medium-italic.ttf │ ├── roboto-medium.ttf │ ├── roboto-thin-italic.ttf │ ├── roboto-thin.ttf │ └── roboto.ttf ├── source-sans-pro │ ├── license.txt │ ├── source-sans-pro-bold-italic.woff │ ├── source-sans-pro-bold.woff │ ├── source-sans-pro-extralight-italic.woff │ ├── source-sans-pro-extralight.woff │ ├── source-sans-pro-italic.woff │ ├── source-sans-pro-light-italic.woff │ ├── source-sans-pro-light.woff │ ├── source-sans-pro-semibold-italic.woff │ ├── source-sans-pro-semibold.woff │ └── source-sans-pro.woff └── ubuntu │ ├── license.txt │ ├── ubuntu-bold-italic.ttf │ ├── ubuntu-bold.ttf │ ├── ubuntu-italic.ttf │ ├── ubuntu-light-italic.ttf │ ├── ubuntu-light.ttf │ ├── ubuntu-medium-italic.ttf │ ├── ubuntu-medium.ttf │ └── ubuntu.ttf └── styles ├── atom.less ├── buttons.less ├── config.less ├── dropdowns.less ├── editor-mini.less ├── editor.less ├── fonts.less ├── git.less ├── image-view.less ├── linter.less ├── lists.less ├── messages.less ├── nav.less ├── overlays.less ├── panels.less ├── panes.less ├── progress.less ├── scrollbars.less ├── settings.less ├── spinner.less ├── status-bar.less ├── styleguide.less ├── tabs.less ├── text.less ├── tooltips.less ├── tree-view.less ├── ui-mixins.less ├── ui-variables.less └── utilities.less /.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled source # 2 | ################### 3 | *.com 4 | *.class 5 | *.dll 6 | *.exe 7 | *.o 8 | *.so 9 | 10 | # Packages # 11 | ############ 12 | # it's better to unpack these files and commit the raw source 13 | # git has its own built in compression methods 14 | *.7z 15 | *.dmg 16 | *.gz 17 | *.iso 18 | *.jar 19 | *.rar 20 | *.tar 21 | *.zip 22 | 23 | # Logs and databases # 24 | ###################### 25 | *.log 26 | *.sql 27 | *.sqlite 28 | 29 | # OS generated files # 30 | ###################### 31 | .DS_Store 32 | .DS_Store? 33 | ._* 34 | .Spotlight-V100 35 | .Trashes 36 | ehthumbs.db 37 | Thumbs.db 38 | 39 | # Node installed packages # 40 | ########################### 41 | node_modules/* 42 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # 2.8.5 2 | * Added the ability to switch between even (2.8.4) or minimum (< 2.8.4) tab sizing styles. 3 | 4 | # 2.8.4 5 | * Improved linter styling 6 | * Defaulted TH cells to a normal font weight 7 | * Improved styling for docks 8 | * Made tabs widths even and full-width 9 | * Cleaned up tree view styling 10 | * Made a few little things more Isotope-ish 11 | 12 | # 2.8.1, 2.8.2, 2.8.3 13 | * Fixed horizontal scrolling on the tree view (broken since Atom v1.17.0) 14 | 15 | # 2.8.0 16 | * Updated the default system font stack 17 | * Fixed deprecated (since Atom v1.13.0) selectors 18 | 19 | # 2.7.1 20 | * Added text-color-modified 21 | 22 | # 2.7.0 - Atom 1.1.0 23 | * Removes Markdown customizations that are now integrated into core 24 | 25 | # 2.6.0 - Fresh up 26 | * Back on track to remain the cleanest UI for Atom! 27 | * Lots of little tweaks and tucks. 28 | * Now defaults to the system UI font so it looks awesome everywhere. Packaged fonts still available in settings! 29 | * Spacious mode was constantly 'breaking' so it's gone. Sorry! 30 | 31 | # 2.5.0 - Markdown 32 | * The Markdown Preview tab now has a styling to match the UI. 33 | * Lots of little tweaks 34 | 35 | # 2.4.0 - Minimal mode! 36 | * Added a truly minimal layout mode! 37 | * Removed some of the transitions to make it feel more snappy 38 | * Default font-size now 11px (you can change this!) 39 | 40 | # 2.3.0 41 | * Line-heights for buttons, mini-editor and tabs improved 42 | * Improved rendering for many custom font-sizes 43 | * Transparent bottom panels for gradient and image backgrounds 44 | 45 | # 2.1.0 46 | * Better search panel background 47 | * Solve some minor issues with button groups 48 | 49 | # 2.0.0 - Even better everything 50 | * Improved pretty much everything 51 | * Now uses a stranded modular scale for better rhythm 52 | * Outlined elements for better contrast 53 | * More pizazz to the color variations 54 | * Better tabs, trees, editors, buttons, etc. etc. 55 | 56 | # 1.7.0 - The best Isotope yet 57 | * Improvements to background colors 58 | * Improved contrast 59 | * Better buttons 60 | * Better tabs 61 | 62 | # 1.6.1 - Data attributes 63 | * store settings in data-* attributes for html standards compliance 64 | 65 | # 1.6.0 - Whitespace 66 | * Tweaks to the modular scale and overall spacing and layout improvements 67 | 68 | # 1.5.1 - Seamless 69 | * Tabs are now seamless in views like Settings and Search Results 70 | 71 | # 1.5.0 - Space man 72 | * Back by popular demand: you can opt for a more spacious layout 73 | 74 | # 1.4.0 - Maintenance improvements 75 | Collects a number of almost invisible improvements to make Isotope more sturdy and 'competitive' with core themes. 76 | * Outlined selections introduced in 1.3.0 now in [separate package](https://atom.io/packages/selection-outlines) 77 | * Many small improvements to tabs 78 | * Fixes a number of small issues 79 | * Some cleanup now that core [theme config features are postponed](https://github.com/atom/settings-view/pull/275) 80 | * Pretty progress bars (thanks to @simurai) 81 | * Tighter whitespace in settings-view (and others) 82 | 83 | # 1.3.0 - More awesome 84 | * Now more compact by default (drops the config option) 85 | * Scrollbars look better when always visible 86 | * Subtle outlines make selections more visible (just like Sublime) 87 | * Gutter now styled by syntax theme (drops the config option) 88 | * Cursor better aligned in mini-editor 89 | * Path info more readable in search results 90 | * Better multi-pane support 91 | * Other minor improvements 92 | 93 | # 1.2.10 - Lists 94 | * Improve lists: command palette, autocomplete, etc. 95 | * Tree-view focussed state now visible 96 | 97 | # 1.2.9 - Bold 98 | * Bold font is now thinner for light and thin fonts 99 | 100 | # 1.2.7, 1.2.8 - Mini editor 101 | * Now properly applies fonts to mini editor 102 | 103 | # 1.2.5 - Editor font 104 | * Use the editor's font for the UI 105 | * Minor improvements 106 | 107 | # 1.2.4 - Zen 108 | * Fix [zen](https://atom.io/packages/zen) support 109 | 110 | # 1.2.3 - Fixes 111 | * Rolls back fixed project root folder introduced in 1.1.7 because it causes several layout issues 112 | * Restores low contrast tooltip option 113 | 114 | # 1.2.2 - Key bindings 115 | * Patches a problem where key-bindings might stop working 116 | 117 | # 1.2.0 - Atom API update 118 | * Solve deprecations 119 | * Minor tweaks 120 | 121 | # 1.1.7 - Tree-view root folder 122 | * Project root folder now sticks to the top 123 | * Improvements to tooltips 124 | * Minor corrections 125 | 126 | # 1.1.6 - Hue tweak 127 | * Now defaults to a blue-ish hue for themes with a white (#fff) background 128 | 129 | # 1.1.5 - Backgrounds 130 | * New default background images 131 | * Fix an issue where background images would not be applied 132 | * Background images and gradients no longer labeled experimental 133 | * Improve [merge-conflicts](https://atom.io/packages/merge-conflicts) compatibility 134 | 135 | # 1.1.4 - Minor fixes 136 | * Contrast tweak 137 | * Tweak footer text alignment 138 | * Patch a minor issue with autocomplete-plus 139 | 140 | # 1.1.3 - Spinner aligment 141 | * Fix spinner alignment 142 | 143 | # 1.1.2 - Close icons 144 | * Fix tab-bar close-icon visibility 145 | 146 | # 1.1.1 - List tweaks 147 | * Fix two-item list spacing (e.g. snippets) 148 | * Minor tweaks 149 | 150 | # 1.1.0 - The devil in the details 151 | * Fix color of ignored items in tree-view 152 | * Fix an issue with key bindings in lists 153 | * Fix fonts applied to tooltips 154 | * Implement CSS-only "loading spinners" 155 | * Option added: revert gutter styling to syntax theme 156 | * Option added: low contrast tooltips 157 | * Font option added: system default 158 | * Minor tweaks 159 | 160 | # 1.0.4 - Tree-view overflow and contrast 161 | * Fix a margin on tree-view that causes it to always overflow (#3) 162 | * Improve text constrast 163 | 164 | # 1.0.3 - Tree-view scrollbars 165 | * Improve looks when scrollbar always visible 166 | * Correct border-radius when tree-view at right 167 | 168 | # 1.0.1 - Custom background color 169 | * Set your own background color (experimental) 170 | 171 | # 1.0.0 - First major 172 | * All features in and tested 173 | * Configurable background gradients and images 174 | * Contrast and typography improvements 175 | 176 | # 0.3.6 - Settings-view 177 | * Improved settings-view support 178 | 179 | # 0.3.3 - Better lists and Zen 180 | * Refactored lists and tree-view to handle states and statusses better 181 | * Configurable tree-view selected highlight 182 | * Improve support for zen mode 183 | 184 | # 0.3.2 - Compact mode 185 | * A compact layout option 186 | 187 | # 0.3.0 - Configurable 188 | * You can now configure font family and weight! 189 | * Tweaks minimap package 190 | 191 | # 0.2.2 - Color highlight 192 | * Update atom-color-highlight support 193 | 194 | # 0.2.1 - Tightness 195 | * Hover states 196 | * Cleanup and refactor 197 | * Modified indicators 198 | * Tweaks atom-color-highlight package 199 | * Improved settings-view 200 | 201 | # 0.2.0 - First Real Update 202 | * Improve compatibility with syntax themes 203 | 204 | # 0.1.0 - First Release 205 | * It's a thing 206 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | See the [Atom contributing guide](https://github.com/atom/atom/blob/master/CONTRIBUTING.md) 2 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | Copyright (c) 2014 GitHub Inc. 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining 4 | a copy of this software and associated documentation files (the 5 | "Software"), to deal in the Software without restriction, including 6 | without limitation the rights to use, copy, modify, merge, publish, 7 | distribute, sublicense, and/or sell copies of the Software, and to 8 | permit persons to whom the Software is furnished to do so, subject to 9 | the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Isotope UI theme 2 | 3 | A UI theme that offers endless possibilities: one Atom, many Isotopes ;) Isotope adapts to match any syntax theme and you can change its appearance quite extensively. It provides an easy-on-the-eyes backdrop for your code, with well balanced typography, whitespace and contrast. 4 | 5 | ![isotope](https://github.com/braver/isotope-ui/raw/master/resources/images/minimal.png) 6 | 7 | 8 | 9 | ## Features 10 | 11 | - Automatically adapts to your favourite syntax theme 12 | - Configurable! 13 | 14 | 15 | 16 | ## Configuration 17 | 18 | - Choose from a number of fonts included in this theme, or match the editor's font. Multiple font-weights are available. 19 | - Choose between a flat or gradient background. 20 | - Or even use any image as background (from your computer or [the internets](http://hubblesite.org)). 21 | - Choose low contrast tooltips (or fancy colorful ones). 22 | - Or go super minimal 23 | - Change font-sizes for the entire UI (everything will scale to fit) by putting this in your stylesheet: 24 | 25 | ``` 26 | html, body { font-size: 9px; } 27 | ``` 28 | 29 | 30 | ## Fonts 31 | 32 | This package includes a number of fonts that were designed especially for user interfaces. You can pick and choose without having to install anything on your system: 33 | 34 | - Cantarell - the system font for GNOME 3 (by Dave Crossland) 35 | - Clear Sans - Intel's new font (by Daniel Ratighan) 36 | - Fira Sans - the system font for Firefox OS (by Carrois and Edenspiekermann) 37 | - Open Sans - because we ♥ Open Sans (by Steve Matteson) 38 | - Oxygen - the system font for KDE (by Vernon Adams) 39 | - Roboto - the new font for Android (by Christian Robertson) 40 | - Source Sans Pro - Adobe's UI font also used in Brackets (by Paul D. Hunt) 41 | - Ubuntu - Ubuntu's system font (by Dalton Maag) 42 | - System default - Attempts to match your OS using this stack: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif 43 | -------------------------------------------------------------------------------- /index.less: -------------------------------------------------------------------------------- 1 | // font-face rules 2 | @import "styles/fonts"; 3 | 4 | // everything else 5 | @import (reference) "styles/ui-variables"; 6 | @import (reference) "styles/ui-mixins"; 7 | @import (reference) "octicon-mixins"; 8 | 9 | @import "styles/config"; 10 | @import "styles/atom"; 11 | @import "styles/scrollbars"; 12 | @import "styles/status-bar"; 13 | @import "styles/buttons"; 14 | @import "styles/editor"; 15 | @import "styles/editor-mini"; 16 | @import "styles/image-view"; 17 | @import "styles/git"; 18 | @import "styles/lists"; 19 | @import "styles/messages"; 20 | @import "styles/nav"; 21 | @import "styles/overlays"; 22 | @import "styles/panels"; 23 | @import "styles/panes"; 24 | @import "styles/tabs"; 25 | @import "styles/text"; 26 | @import "styles/tooltips"; 27 | @import "styles/tree-view"; 28 | @import "styles/utilities"; 29 | @import "styles/settings"; 30 | @import "styles/styleguide"; 31 | @import "styles/spinner"; 32 | @import "styles/progress"; 33 | @import "styles/linter"; 34 | -------------------------------------------------------------------------------- /lib/config.coffee: -------------------------------------------------------------------------------- 1 | module.exports = 2 | 3 | apply: () -> 4 | 5 | body = document.querySelector('body') 6 | 7 | 8 | # functions 9 | 10 | applyFont = (font) -> 11 | body.setAttribute('data-isotope-ui-font', font) 12 | 13 | applyFontWeight = (weight) -> 14 | body.setAttribute('data-isotope-ui-fontweight', weight) 15 | 16 | applyBackgroundColor = () -> 17 | if atom.config.get('isotope-ui.customBackgroundColor') 18 | atom.config.set('isotope-ui.backgroundImage', 'false') 19 | atom.config.set('isotope-ui.backgroundGradient', 'false') 20 | body.setAttribute('data-isotope-ui-bg-color', 'true') 21 | body.style.backgroundColor = atom.config.get('isotope-ui.customBackgroundColorPicker').toHexString() 22 | else 23 | body.setAttribute('data-isotope-ui-bg-color', 'false') 24 | body.style.backgroundColor = '' 25 | 26 | applyBackgroundGradient = () -> 27 | if atom.config.get('isotope-ui.backgroundGradient') 28 | atom.config.set('isotope-ui.backgroundImage', 'false') 29 | atom.config.set('isotope-ui.customBackgroundColor', 'false') 30 | body.setAttribute('data-isotope-ui-bg-gradient', 'true') 31 | else 32 | body.setAttribute('data-isotope-ui-bg-gradient', 'false') 33 | 34 | applyBackgroundImage = () -> 35 | if atom.config.get('isotope-ui.backgroundImage') 36 | atom.config.set('isotope-ui.customBackgroundColor', 'false') 37 | atom.config.set('isotope-ui.customBackgroundColor', 'false') 38 | atom.config.set('isotope-ui.backgroundGradient', 'false') 39 | body.setAttribute('data-isotope-ui-bg-image', 'true') 40 | body.style.backgroundImage = 41 | 'url(' + atom.config.get('isotope-ui.backgroundImagePath') + ')' 42 | else 43 | body.setAttribute('data-isotope-ui-bg-image', 'false') 44 | body.style.backgroundImage = '' 45 | 46 | applyTooltipContrast = () -> 47 | if atom.config.get('isotope-ui.lowContrastTooltip') 48 | body.setAttribute('data-isotope-ui-tooltip-lowcontrast', 'true') 49 | else 50 | body.setAttribute('data-isotope-ui-tooltip-lowcontrast', 'false') 51 | 52 | applyEditorFont = () -> 53 | if atom.config.get('isotope-ui.matchEditorFont') 54 | if atom.config.get('editor.fontFamily') is '' 55 | body.style.fontFamily = 'Inconsolata, Monaco, Consolas, "Courier New", Courier' 56 | else 57 | body.style.fontFamily = atom.config.get('editor.fontFamily') 58 | else 59 | body.style.fontFamily = '' 60 | 61 | applyMinimalMode = () -> 62 | if atom.config.get('isotope-ui.minimalMode') 63 | body.setAttribute('data-isotope-ui-minimal', 'true') 64 | else 65 | body.setAttribute('data-isotope-ui-minimal', 'false') 66 | 67 | applyTabSizing = () -> 68 | body.setAttribute('data-isotope-ui-tabsizing', atom.config.get('isotope-ui.tabSizing').toLowerCase()) 69 | 70 | 71 | # run when atom is ready 72 | 73 | applyFont(atom.config.get('isotope-ui.fontFamily')) 74 | applyFontWeight(atom.config.get('isotope-ui.fontWeight')) 75 | applyBackgroundGradient() 76 | applyBackgroundImage() 77 | applyBackgroundColor() 78 | applyTooltipContrast() 79 | applyEditorFont() 80 | applyMinimalMode() 81 | applyTabSizing() 82 | 83 | 84 | # run when configs change 85 | 86 | atom.config.onDidChange 'isotope-ui.fontFamily', -> 87 | applyFont(atom.config.get('isotope-ui.fontFamily')) 88 | 89 | atom.config.onDidChange 'isotope-ui.fontWeight', -> 90 | applyFontWeight(atom.config.get('isotope-ui.fontWeight')) 91 | 92 | atom.config.onDidChange 'isotope-ui.customBackgroundColor', -> 93 | applyBackgroundColor() 94 | 95 | atom.config.onDidChange 'isotope-ui.customBackgroundColorPicker', -> 96 | applyBackgroundColor() 97 | 98 | atom.config.onDidChange 'isotope-ui.backgroundGradient', -> 99 | applyBackgroundGradient() 100 | 101 | atom.config.onDidChange 'isotope-ui.backgroundImage', -> 102 | applyBackgroundImage() 103 | 104 | atom.config.onDidChange 'isotope-ui.backgroundImagePath', -> 105 | applyBackgroundImage() 106 | 107 | atom.config.onDidChange 'isotope-ui.lowContrastTooltip', -> 108 | applyTooltipContrast() 109 | 110 | atom.config.onDidChange 'isotope-ui.matchEditorFont', -> 111 | applyEditorFont() 112 | 113 | atom.config.onDidChange 'isotope-ui.minimalMode', -> 114 | applyMinimalMode() 115 | 116 | atom.config.onDidChange 'editor.fontFamily', -> 117 | applyEditorFont() 118 | 119 | atom.config.onDidChange 'isotope-ui.tabSizing', -> 120 | applyTabSizing() 121 | -------------------------------------------------------------------------------- /lib/isotope-ui.coffee: -------------------------------------------------------------------------------- 1 | module.exports = 2 | 3 | config: 4 | fontFamily: 5 | description: 'Use one of the fonts available in this package. 6 | View the README for descriptions of each.' 7 | type: 'string' 8 | default: 'System Default' 9 | enum: [ 10 | 'Cantarell', 11 | 'Clear Sans', 12 | 'Fira Sans', 13 | 'Open Sans', 14 | 'Oxygen', 15 | 'Roboto', 16 | 'Source Sans Pro', 17 | 'Ubuntu', 18 | 'System Default' 19 | ] 20 | fontWeight: 21 | description: 'Not all fonts come in all weights: Canterell and Oxygen 22 | only have regular, Ubuntu and Open Sans don\'t have thin.' 23 | type: 'string' 24 | default: 'Regular' 25 | enum: [ 26 | 'Extra light / Thin', 27 | 'Light', 28 | 'Regular' 29 | ] 30 | customBackgroundColor: 31 | description: 'Choose a custom background color.' 32 | type: 'boolean' 33 | default: false 34 | customBackgroundColorPicker: 35 | description: 'Choose your background color.' 36 | type: 'color' 37 | default: 'white' 38 | backgroundGradient: 39 | description: 'Apply a subtle gradient to the background.' 40 | type: 'boolean' 41 | default: false 42 | backgroundImage: 43 | description: 'Use an image as a background.' 44 | type: 'boolean' 45 | default: false 46 | backgroundImagePath: 47 | description: 'The path to an image from your computer or 48 | the internets (e.g. hubblesite.org or unsplash.com).' 49 | type: 'string' 50 | default: 'atom://isotope-ui/resources/images/raket.jpg' 51 | lowContrastTooltip: 52 | description: 'Make tooltips low contrast and not so colorful.' 53 | type: 'boolean' 54 | default: false 55 | matchEditorFont: 56 | description: 'Match the font family you set for the editor.' 57 | type: 'boolean' 58 | default: false 59 | minimalMode: 60 | description: 'Make the layout more minimal.' 61 | type: 'boolean' 62 | default: false 63 | tabSizing: 64 | description: 'In Even mode all tabs will be the same size. Great for quickly closing many tabs. In Minimum mode the tabs will only take as little space as needed and also show longer file names.' 65 | type: 'string' 66 | default: 'Even' 67 | enum: [ 68 | 'Even', 69 | 'Minimum' 70 | ] 71 | 72 | 73 | activate: (state) -> 74 | # code in separate file so deferral keeps activation time down 75 | atom.themes.onDidChangeActiveThemes -> 76 | Config = require './config' 77 | Config.apply() 78 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "isotope-ui", 3 | "main": "lib/isotope-ui", 4 | "theme": "ui", 5 | "version": "2.8.5", 6 | "description": "A clean and configurable UI theme.", 7 | "license": "MIT", 8 | "repository": "https://github.com/braver/isotope-ui", 9 | "engines": { 10 | "atom": ">=1.1.0 <2.0.0" 11 | }, 12 | "keywords": [ 13 | "configurable", 14 | "minimal", 15 | "clean", 16 | "compact", 17 | "desaturated" 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /resources/cantarell/cantarell-bold-italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/cantarell/cantarell-bold-italic.woff -------------------------------------------------------------------------------- /resources/cantarell/cantarell-bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/cantarell/cantarell-bold.woff -------------------------------------------------------------------------------- /resources/cantarell/cantarell-italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/cantarell/cantarell-italic.woff -------------------------------------------------------------------------------- /resources/cantarell/cantarell.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/cantarell/cantarell.woff -------------------------------------------------------------------------------- /resources/cantarell/license.txt: -------------------------------------------------------------------------------- 1 | This Font Software is licensed under the SIL Open Font License, Version 1.1. 2 | This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL 3 | 4 | ----------------------------------------------------------- 5 | SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 6 | ----------------------------------------------------------- 7 | 8 | PREAMBLE 9 | The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others. 10 | 11 | The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives. 12 | 13 | DEFINITIONS 14 | "Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation. 15 | 16 | "Reserved Font Name" refers to any names specified as such after the copyright statement(s). 17 | 18 | "Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s). 19 | 20 | "Modified Version" refers to any derivative made by adding to, deleting, or substituting -- in part or in whole -- any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment. 21 | 22 | "Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software. 23 | 24 | PERMISSION & CONDITIONS 25 | Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions: 26 | 27 | 1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself. 28 | 29 | 2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user. 30 | 31 | 3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users. 32 | 33 | 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission. 34 | 35 | 5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software. 36 | 37 | TERMINATION 38 | This license becomes null and void if any of the above conditions are not met. 39 | 40 | DISCLAIMER 41 | THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE. -------------------------------------------------------------------------------- /resources/clear-sans/clear-sans-bold-italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/clear-sans/clear-sans-bold-italic.woff -------------------------------------------------------------------------------- /resources/clear-sans/clear-sans-bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/clear-sans/clear-sans-bold.woff -------------------------------------------------------------------------------- /resources/clear-sans/clear-sans-italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/clear-sans/clear-sans-italic.woff -------------------------------------------------------------------------------- /resources/clear-sans/clear-sans-light.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/clear-sans/clear-sans-light.woff -------------------------------------------------------------------------------- /resources/clear-sans/clear-sans-medium-italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/clear-sans/clear-sans-medium-italic.woff -------------------------------------------------------------------------------- /resources/clear-sans/clear-sans-medium.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/clear-sans/clear-sans-medium.woff -------------------------------------------------------------------------------- /resources/clear-sans/clear-sans-thin.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/clear-sans/clear-sans-thin.woff -------------------------------------------------------------------------------- /resources/clear-sans/clear-sans.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/clear-sans/clear-sans.woff -------------------------------------------------------------------------------- /resources/clear-sans/license.txt: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, 10 | and distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by 13 | the copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all 16 | other entities that control, are controlled by, or are under common 17 | control with that entity. For the purposes of this definition, 18 | "control" means (i) the power, direct or indirect, to cause the 19 | direction or management of such entity, whether by contract or 20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 | outstanding shares, or (iii) beneficial ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity 24 | exercising permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation 28 | source, and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical 31 | transformation or translation of a Source form, including but 32 | not limited to compiled object code, generated documentation, 33 | and conversions to other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or 36 | Object form, made available under the License, as indicated by a 37 | copyright notice that is included in or attached to the work 38 | (an example is provided in the Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object 41 | form, that is based on (or derived from) the Work and for which the 42 | editorial revisions, annotations, elaborations, or other modifications 43 | represent, as a whole, an original work of authorship. For the purposes 44 | of this License, Derivative Works shall not include works that remain 45 | separable from, or merely link (or bind by name) to the interfaces of, 46 | the Work and Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including 49 | the original version of the Work and any modifications or additions 50 | to that Work or Derivative Works thereof, that is intentionally 51 | submitted to Licensor for inclusion in the Work by the copyright owner 52 | or by an individual or Legal Entity authorized to submit on behalf of 53 | the copyright owner. For the purposes of this definition, "submitted" 54 | means any form of electronic, verbal, or written communication sent 55 | to the Licensor or its representatives, including but not limited to 56 | communication on electronic mailing lists, source code control systems, 57 | and issue tracking systems that are managed by, or on behalf of, the 58 | Licensor for the purpose of discussing and improving the Work, but 59 | excluding communication that is conspicuously marked or otherwise 60 | designated in writing by the copyright owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity 63 | on behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. Subject to the terms and conditions of 67 | this License, each Contributor hereby grants to You a perpetual, 68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 | copyright license to reproduce, prepare Derivative Works of, 70 | publicly display, publicly perform, sublicense, and distribute the 71 | Work and such Derivative Works in Source or Object form. 72 | 73 | 3. Grant of Patent License. Subject to the terms and conditions of 74 | this License, each Contributor hereby grants to You a perpetual, 75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 | (except as stated in this section) patent license to make, have made, 77 | use, offer to sell, sell, import, and otherwise transfer the Work, 78 | where such license applies only to those patent claims licensable 79 | by such Contributor that are necessarily infringed by their 80 | Contribution(s) alone or by combination of their Contribution(s) 81 | with the Work to which such Contribution(s) was submitted. If You 82 | institute patent litigation against any entity (including a 83 | cross-claim or counterclaim in a lawsuit) alleging that the Work 84 | or a Contribution incorporated within the Work constitutes direct 85 | or contributory patent infringement, then any patent licenses 86 | granted to You under this License for that Work shall terminate 87 | as of the date such litigation is filed. 88 | 89 | 4. Redistribution. You may reproduce and distribute copies of the 90 | Work or Derivative Works thereof in any medium, with or without 91 | modifications, and in Source or Object form, provided that You 92 | meet the following conditions: 93 | 94 | (a) You must give any other recipients of the Work or 95 | Derivative Works a copy of this License; and 96 | 97 | (b) You must cause any modified files to carry prominent notices 98 | stating that You changed the files; and 99 | 100 | (c) You must retain, in the Source form of any Derivative Works 101 | that You distribute, all copyright, patent, trademark, and 102 | attribution notices from the Source form of the Work, 103 | excluding those notices that do not pertain to any part of 104 | the Derivative Works; and 105 | 106 | (d) If the Work includes a "NOTICE" text file as part of its 107 | distribution, then any Derivative Works that You distribute must 108 | include a readable copy of the attribution notices contained 109 | within such NOTICE file, excluding those notices that do not 110 | pertain to any part of the Derivative Works, in at least one 111 | of the following places: within a NOTICE text file distributed 112 | as part of the Derivative Works; within the Source form or 113 | documentation, if provided along with the Derivative Works; or, 114 | within a display generated by the Derivative Works, if and 115 | wherever such third-party notices normally appear. The contents 116 | of the NOTICE file are for informational purposes only and 117 | do not modify the License. You may add Your own attribution 118 | notices within Derivative Works that You distribute, alongside 119 | or as an addendum to the NOTICE text from the Work, provided 120 | that such additional attribution notices cannot be construed 121 | as modifying the License. 122 | 123 | You may add Your own copyright statement to Your modifications and 124 | may provide additional or different license terms and conditions 125 | for use, reproduction, or distribution of Your modifications, or 126 | for any such Derivative Works as a whole, provided Your use, 127 | reproduction, and distribution of the Work otherwise complies with 128 | the conditions stated in this License. 129 | 130 | 5. Submission of Contributions. Unless You explicitly state otherwise, 131 | any Contribution intentionally submitted for inclusion in the Work 132 | by You to the Licensor shall be under the terms and conditions of 133 | this License, without any additional terms or conditions. 134 | Notwithstanding the above, nothing herein shall supersede or modify 135 | the terms of any separate license agreement you may have executed 136 | with Licensor regarding such Contributions. 137 | 138 | 6. Trademarks. This License does not grant permission to use the trade 139 | names, trademarks, service marks, or product names of the Licensor, 140 | except as required for reasonable and customary use in describing the 141 | origin of the Work and reproducing the content of the NOTICE file. 142 | 143 | 7. Disclaimer of Warranty. Unless required by applicable law or 144 | agreed to in writing, Licensor provides the Work (and each 145 | Contributor provides its Contributions) on an "AS IS" BASIS, 146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 | implied, including, without limitation, any warranties or conditions 148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 | PARTICULAR PURPOSE. You are solely responsible for determining the 150 | appropriateness of using or redistributing the Work and assume any 151 | risks associated with Your exercise of permissions under this License. 152 | 153 | 8. Limitation of Liability. In no event and under no legal theory, 154 | whether in tort (including negligence), contract, or otherwise, 155 | unless required by applicable law (such as deliberate and grossly 156 | negligent acts) or agreed to in writing, shall any Contributor be 157 | liable to You for damages, including any direct, indirect, special, 158 | incidental, or consequential damages of any character arising as a 159 | result of this License or out of the use or inability to use the 160 | Work (including but not limited to damages for loss of goodwill, 161 | work stoppage, computer failure or malfunction, or any and all 162 | other commercial damages or losses), even if such Contributor 163 | has been advised of the possibility of such damages. 164 | 165 | 9. Accepting Warranty or Additional Liability. While redistributing 166 | the Work or Derivative Works thereof, You may choose to offer, 167 | and charge a fee for, acceptance of support, warranty, indemnity, 168 | or other liability obligations and/or rights consistent with this 169 | License. However, in accepting such obligations, You may act only 170 | on Your own behalf and on Your sole responsibility, not on behalf 171 | of any other Contributor, and only if You agree to indemnify, 172 | defend, and hold each Contributor harmless for any liability 173 | incurred by, or claims asserted against, such Contributor by reason 174 | of your accepting any such warranty or additional liability. 175 | 176 | END OF TERMS AND CONDITIONS 177 | 178 | APPENDIX: How to apply the Apache License to your work. 179 | 180 | To apply the Apache License to your work, attach the following 181 | boilerplate notice, with the fields enclosed by brackets "[]" 182 | replaced with your own identifying information. (Don't include 183 | the brackets!) The text should be enclosed in the appropriate 184 | comment syntax for the file format. We also recommend that a 185 | file or class name and description of purpose be included on the 186 | same "printed page" as the copyright notice for easier 187 | identification within third-party archives. 188 | 189 | Copyright [yyyy] [name of copyright owner] 190 | 191 | Licensed under the Apache License, Version 2.0 (the "License"); 192 | you may not use this file except in compliance with the License. 193 | You may obtain a copy of the License at 194 | 195 | http://www.apache.org/licenses/LICENSE-2.0 196 | 197 | Unless required by applicable law or agreed to in writing, software 198 | distributed under the License is distributed on an "AS IS" BASIS, 199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 200 | See the License for the specific language governing permissions and 201 | limitations under the License. -------------------------------------------------------------------------------- /resources/fira/fira-bold-italic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/fira/fira-bold-italic.otf -------------------------------------------------------------------------------- /resources/fira/fira-bold.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/fira/fira-bold.otf -------------------------------------------------------------------------------- /resources/fira/fira-italic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/fira/fira-italic.otf -------------------------------------------------------------------------------- /resources/fira/fira-light-italic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/fira/fira-light-italic.otf -------------------------------------------------------------------------------- /resources/fira/fira-light.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/fira/fira-light.otf -------------------------------------------------------------------------------- /resources/fira/fira-medium-italic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/fira/fira-medium-italic.otf -------------------------------------------------------------------------------- /resources/fira/fira-medium.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/fira/fira-medium.otf -------------------------------------------------------------------------------- /resources/fira/fira-semibold-italic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/fira/fira-semibold-italic.otf -------------------------------------------------------------------------------- /resources/fira/fira-semibold.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/fira/fira-semibold.otf -------------------------------------------------------------------------------- /resources/fira/fira-ultralight-italic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/fira/fira-ultralight-italic.otf -------------------------------------------------------------------------------- /resources/fira/fira-ultralight.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/fira/fira-ultralight.otf -------------------------------------------------------------------------------- /resources/fira/fira.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/fira/fira.otf -------------------------------------------------------------------------------- /resources/images/minimal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/images/minimal.png -------------------------------------------------------------------------------- /resources/images/raket.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/images/raket.jpg -------------------------------------------------------------------------------- /resources/open-sans/license.txt: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, 10 | and distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by 13 | the copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all 16 | other entities that control, are controlled by, or are under common 17 | control with that entity. For the purposes of this definition, 18 | "control" means (i) the power, direct or indirect, to cause the 19 | direction or management of such entity, whether by contract or 20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 | outstanding shares, or (iii) beneficial ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity 24 | exercising permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation 28 | source, and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical 31 | transformation or translation of a Source form, including but 32 | not limited to compiled object code, generated documentation, 33 | and conversions to other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or 36 | Object form, made available under the License, as indicated by a 37 | copyright notice that is included in or attached to the work 38 | (an example is provided in the Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object 41 | form, that is based on (or derived from) the Work and for which the 42 | editorial revisions, annotations, elaborations, or other modifications 43 | represent, as a whole, an original work of authorship. For the purposes 44 | of this License, Derivative Works shall not include works that remain 45 | separable from, or merely link (or bind by name) to the interfaces of, 46 | the Work and Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including 49 | the original version of the Work and any modifications or additions 50 | to that Work or Derivative Works thereof, that is intentionally 51 | submitted to Licensor for inclusion in the Work by the copyright owner 52 | or by an individual or Legal Entity authorized to submit on behalf of 53 | the copyright owner. For the purposes of this definition, "submitted" 54 | means any form of electronic, verbal, or written communication sent 55 | to the Licensor or its representatives, including but not limited to 56 | communication on electronic mailing lists, source code control systems, 57 | and issue tracking systems that are managed by, or on behalf of, the 58 | Licensor for the purpose of discussing and improving the Work, but 59 | excluding communication that is conspicuously marked or otherwise 60 | designated in writing by the copyright owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity 63 | on behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. Subject to the terms and conditions of 67 | this License, each Contributor hereby grants to You a perpetual, 68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 | copyright license to reproduce, prepare Derivative Works of, 70 | publicly display, publicly perform, sublicense, and distribute the 71 | Work and such Derivative Works in Source or Object form. 72 | 73 | 3. Grant of Patent License. Subject to the terms and conditions of 74 | this License, each Contributor hereby grants to You a perpetual, 75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 | (except as stated in this section) patent license to make, have made, 77 | use, offer to sell, sell, import, and otherwise transfer the Work, 78 | where such license applies only to those patent claims licensable 79 | by such Contributor that are necessarily infringed by their 80 | Contribution(s) alone or by combination of their Contribution(s) 81 | with the Work to which such Contribution(s) was submitted. If You 82 | institute patent litigation against any entity (including a 83 | cross-claim or counterclaim in a lawsuit) alleging that the Work 84 | or a Contribution incorporated within the Work constitutes direct 85 | or contributory patent infringement, then any patent licenses 86 | granted to You under this License for that Work shall terminate 87 | as of the date such litigation is filed. 88 | 89 | 4. Redistribution. You may reproduce and distribute copies of the 90 | Work or Derivative Works thereof in any medium, with or without 91 | modifications, and in Source or Object form, provided that You 92 | meet the following conditions: 93 | 94 | (a) You must give any other recipients of the Work or 95 | Derivative Works a copy of this License; and 96 | 97 | (b) You must cause any modified files to carry prominent notices 98 | stating that You changed the files; and 99 | 100 | (c) You must retain, in the Source form of any Derivative Works 101 | that You distribute, all copyright, patent, trademark, and 102 | attribution notices from the Source form of the Work, 103 | excluding those notices that do not pertain to any part of 104 | the Derivative Works; and 105 | 106 | (d) If the Work includes a "NOTICE" text file as part of its 107 | distribution, then any Derivative Works that You distribute must 108 | include a readable copy of the attribution notices contained 109 | within such NOTICE file, excluding those notices that do not 110 | pertain to any part of the Derivative Works, in at least one 111 | of the following places: within a NOTICE text file distributed 112 | as part of the Derivative Works; within the Source form or 113 | documentation, if provided along with the Derivative Works; or, 114 | within a display generated by the Derivative Works, if and 115 | wherever such third-party notices normally appear. The contents 116 | of the NOTICE file are for informational purposes only and 117 | do not modify the License. You may add Your own attribution 118 | notices within Derivative Works that You distribute, alongside 119 | or as an addendum to the NOTICE text from the Work, provided 120 | that such additional attribution notices cannot be construed 121 | as modifying the License. 122 | 123 | You may add Your own copyright statement to Your modifications and 124 | may provide additional or different license terms and conditions 125 | for use, reproduction, or distribution of Your modifications, or 126 | for any such Derivative Works as a whole, provided Your use, 127 | reproduction, and distribution of the Work otherwise complies with 128 | the conditions stated in this License. 129 | 130 | 5. Submission of Contributions. Unless You explicitly state otherwise, 131 | any Contribution intentionally submitted for inclusion in the Work 132 | by You to the Licensor shall be under the terms and conditions of 133 | this License, without any additional terms or conditions. 134 | Notwithstanding the above, nothing herein shall supersede or modify 135 | the terms of any separate license agreement you may have executed 136 | with Licensor regarding such Contributions. 137 | 138 | 6. Trademarks. This License does not grant permission to use the trade 139 | names, trademarks, service marks, or product names of the Licensor, 140 | except as required for reasonable and customary use in describing the 141 | origin of the Work and reproducing the content of the NOTICE file. 142 | 143 | 7. Disclaimer of Warranty. Unless required by applicable law or 144 | agreed to in writing, Licensor provides the Work (and each 145 | Contributor provides its Contributions) on an "AS IS" BASIS, 146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 | implied, including, without limitation, any warranties or conditions 148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 | PARTICULAR PURPOSE. You are solely responsible for determining the 150 | appropriateness of using or redistributing the Work and assume any 151 | risks associated with Your exercise of permissions under this License. 152 | 153 | 8. Limitation of Liability. In no event and under no legal theory, 154 | whether in tort (including negligence), contract, or otherwise, 155 | unless required by applicable law (such as deliberate and grossly 156 | negligent acts) or agreed to in writing, shall any Contributor be 157 | liable to You for damages, including any direct, indirect, special, 158 | incidental, or consequential damages of any character arising as a 159 | result of this License or out of the use or inability to use the 160 | Work (including but not limited to damages for loss of goodwill, 161 | work stoppage, computer failure or malfunction, or any and all 162 | other commercial damages or losses), even if such Contributor 163 | has been advised of the possibility of such damages. 164 | 165 | 9. Accepting Warranty or Additional Liability. While redistributing 166 | the Work or Derivative Works thereof, You may choose to offer, 167 | and charge a fee for, acceptance of support, warranty, indemnity, 168 | or other liability obligations and/or rights consistent with this 169 | License. However, in accepting such obligations, You may act only 170 | on Your own behalf and on Your sole responsibility, not on behalf 171 | of any other Contributor, and only if You agree to indemnify, 172 | defend, and hold each Contributor harmless for any liability 173 | incurred by, or claims asserted against, such Contributor by reason 174 | of your accepting any such warranty or additional liability. 175 | 176 | END OF TERMS AND CONDITIONS 177 | 178 | APPENDIX: How to apply the Apache License to your work. 179 | 180 | To apply the Apache License to your work, attach the following 181 | boilerplate notice, with the fields enclosed by brackets "[]" 182 | replaced with your own identifying information. (Don't include 183 | the brackets!) The text should be enclosed in the appropriate 184 | comment syntax for the file format. We also recommend that a 185 | file or class name and description of purpose be included on the 186 | same "printed page" as the copyright notice for easier 187 | identification within third-party archives. 188 | 189 | Copyright [yyyy] [name of copyright owner] 190 | 191 | Licensed under the Apache License, Version 2.0 (the "License"); 192 | you may not use this file except in compliance with the License. 193 | You may obtain a copy of the License at 194 | 195 | http://www.apache.org/licenses/LICENSE-2.0 196 | 197 | Unless required by applicable law or agreed to in writing, software 198 | distributed under the License is distributed on an "AS IS" BASIS, 199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 200 | See the License for the specific language governing permissions and 201 | limitations under the License. -------------------------------------------------------------------------------- /resources/open-sans/open-sans-bold-italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/open-sans/open-sans-bold-italic.woff -------------------------------------------------------------------------------- /resources/open-sans/open-sans-bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/open-sans/open-sans-bold.woff -------------------------------------------------------------------------------- /resources/open-sans/open-sans-italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/open-sans/open-sans-italic.woff -------------------------------------------------------------------------------- /resources/open-sans/open-sans-light-italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/open-sans/open-sans-light-italic.woff -------------------------------------------------------------------------------- /resources/open-sans/open-sans-light.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/open-sans/open-sans-light.woff -------------------------------------------------------------------------------- /resources/open-sans/open-sans-semibold-italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/open-sans/open-sans-semibold-italic.woff -------------------------------------------------------------------------------- /resources/open-sans/open-sans-semibold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/open-sans/open-sans-semibold.woff -------------------------------------------------------------------------------- /resources/open-sans/open-sans.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/open-sans/open-sans.woff -------------------------------------------------------------------------------- /resources/oxygen/license.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2012, Vernon Adams (vern@newtypography.co.uk) 2 | 3 | This Font Software is licensed under the SIL Open Font License, Version 1.1. 4 | This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL 5 | 6 | ----------------------------------------------------------- 7 | SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 8 | ----------------------------------------------------------- 9 | 10 | PREAMBLE 11 | The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others. 12 | 13 | The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives. 14 | 15 | DEFINITIONS 16 | "Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation. 17 | 18 | "Reserved Font Name" refers to any names specified as such after the copyright statement(s). 19 | 20 | "Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s). 21 | 22 | "Modified Version" refers to any derivative made by adding to, deleting, or substituting -- in part or in whole -- any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment. 23 | 24 | "Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software. 25 | 26 | PERMISSION & CONDITIONS 27 | Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions: 28 | 29 | 1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself. 30 | 31 | 2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user. 32 | 33 | 3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users. 34 | 35 | 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission. 36 | 37 | 5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software. 38 | 39 | TERMINATION 40 | This license becomes null and void if any of the above conditions are not met. 41 | 42 | DISCLAIMER 43 | THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE. -------------------------------------------------------------------------------- /resources/oxygen/oxygen-bold-italic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/oxygen/oxygen-bold-italic.otf -------------------------------------------------------------------------------- /resources/oxygen/oxygen-bold.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/oxygen/oxygen-bold.otf -------------------------------------------------------------------------------- /resources/oxygen/oxygen-italic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/oxygen/oxygen-italic.otf -------------------------------------------------------------------------------- /resources/oxygen/oxygen.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/oxygen/oxygen.otf -------------------------------------------------------------------------------- /resources/roboto/license.txt: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, 10 | and distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by 13 | the copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all 16 | other entities that control, are controlled by, or are under common 17 | control with that entity. For the purposes of this definition, 18 | "control" means (i) the power, direct or indirect, to cause the 19 | direction or management of such entity, whether by contract or 20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 | outstanding shares, or (iii) beneficial ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity 24 | exercising permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation 28 | source, and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical 31 | transformation or translation of a Source form, including but 32 | not limited to compiled object code, generated documentation, 33 | and conversions to other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or 36 | Object form, made available under the License, as indicated by a 37 | copyright notice that is included in or attached to the work 38 | (an example is provided in the Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object 41 | form, that is based on (or derived from) the Work and for which the 42 | editorial revisions, annotations, elaborations, or other modifications 43 | represent, as a whole, an original work of authorship. For the purposes 44 | of this License, Derivative Works shall not include works that remain 45 | separable from, or merely link (or bind by name) to the interfaces of, 46 | the Work and Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including 49 | the original version of the Work and any modifications or additions 50 | to that Work or Derivative Works thereof, that is intentionally 51 | submitted to Licensor for inclusion in the Work by the copyright owner 52 | or by an individual or Legal Entity authorized to submit on behalf of 53 | the copyright owner. For the purposes of this definition, "submitted" 54 | means any form of electronic, verbal, or written communication sent 55 | to the Licensor or its representatives, including but not limited to 56 | communication on electronic mailing lists, source code control systems, 57 | and issue tracking systems that are managed by, or on behalf of, the 58 | Licensor for the purpose of discussing and improving the Work, but 59 | excluding communication that is conspicuously marked or otherwise 60 | designated in writing by the copyright owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity 63 | on behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. Subject to the terms and conditions of 67 | this License, each Contributor hereby grants to You a perpetual, 68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 | copyright license to reproduce, prepare Derivative Works of, 70 | publicly display, publicly perform, sublicense, and distribute the 71 | Work and such Derivative Works in Source or Object form. 72 | 73 | 3. Grant of Patent License. Subject to the terms and conditions of 74 | this License, each Contributor hereby grants to You a perpetual, 75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 | (except as stated in this section) patent license to make, have made, 77 | use, offer to sell, sell, import, and otherwise transfer the Work, 78 | where such license applies only to those patent claims licensable 79 | by such Contributor that are necessarily infringed by their 80 | Contribution(s) alone or by combination of their Contribution(s) 81 | with the Work to which such Contribution(s) was submitted. If You 82 | institute patent litigation against any entity (including a 83 | cross-claim or counterclaim in a lawsuit) alleging that the Work 84 | or a Contribution incorporated within the Work constitutes direct 85 | or contributory patent infringement, then any patent licenses 86 | granted to You under this License for that Work shall terminate 87 | as of the date such litigation is filed. 88 | 89 | 4. Redistribution. You may reproduce and distribute copies of the 90 | Work or Derivative Works thereof in any medium, with or without 91 | modifications, and in Source or Object form, provided that You 92 | meet the following conditions: 93 | 94 | (a) You must give any other recipients of the Work or 95 | Derivative Works a copy of this License; and 96 | 97 | (b) You must cause any modified files to carry prominent notices 98 | stating that You changed the files; and 99 | 100 | (c) You must retain, in the Source form of any Derivative Works 101 | that You distribute, all copyright, patent, trademark, and 102 | attribution notices from the Source form of the Work, 103 | excluding those notices that do not pertain to any part of 104 | the Derivative Works; and 105 | 106 | (d) If the Work includes a "NOTICE" text file as part of its 107 | distribution, then any Derivative Works that You distribute must 108 | include a readable copy of the attribution notices contained 109 | within such NOTICE file, excluding those notices that do not 110 | pertain to any part of the Derivative Works, in at least one 111 | of the following places: within a NOTICE text file distributed 112 | as part of the Derivative Works; within the Source form or 113 | documentation, if provided along with the Derivative Works; or, 114 | within a display generated by the Derivative Works, if and 115 | wherever such third-party notices normally appear. The contents 116 | of the NOTICE file are for informational purposes only and 117 | do not modify the License. You may add Your own attribution 118 | notices within Derivative Works that You distribute, alongside 119 | or as an addendum to the NOTICE text from the Work, provided 120 | that such additional attribution notices cannot be construed 121 | as modifying the License. 122 | 123 | You may add Your own copyright statement to Your modifications and 124 | may provide additional or different license terms and conditions 125 | for use, reproduction, or distribution of Your modifications, or 126 | for any such Derivative Works as a whole, provided Your use, 127 | reproduction, and distribution of the Work otherwise complies with 128 | the conditions stated in this License. 129 | 130 | 5. Submission of Contributions. Unless You explicitly state otherwise, 131 | any Contribution intentionally submitted for inclusion in the Work 132 | by You to the Licensor shall be under the terms and conditions of 133 | this License, without any additional terms or conditions. 134 | Notwithstanding the above, nothing herein shall supersede or modify 135 | the terms of any separate license agreement you may have executed 136 | with Licensor regarding such Contributions. 137 | 138 | 6. Trademarks. This License does not grant permission to use the trade 139 | names, trademarks, service marks, or product names of the Licensor, 140 | except as required for reasonable and customary use in describing the 141 | origin of the Work and reproducing the content of the NOTICE file. 142 | 143 | 7. Disclaimer of Warranty. Unless required by applicable law or 144 | agreed to in writing, Licensor provides the Work (and each 145 | Contributor provides its Contributions) on an "AS IS" BASIS, 146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 | implied, including, without limitation, any warranties or conditions 148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 | PARTICULAR PURPOSE. You are solely responsible for determining the 150 | appropriateness of using or redistributing the Work and assume any 151 | risks associated with Your exercise of permissions under this License. 152 | 153 | 8. Limitation of Liability. In no event and under no legal theory, 154 | whether in tort (including negligence), contract, or otherwise, 155 | unless required by applicable law (such as deliberate and grossly 156 | negligent acts) or agreed to in writing, shall any Contributor be 157 | liable to You for damages, including any direct, indirect, special, 158 | incidental, or consequential damages of any character arising as a 159 | result of this License or out of the use or inability to use the 160 | Work (including but not limited to damages for loss of goodwill, 161 | work stoppage, computer failure or malfunction, or any and all 162 | other commercial damages or losses), even if such Contributor 163 | has been advised of the possibility of such damages. 164 | 165 | 9. Accepting Warranty or Additional Liability. While redistributing 166 | the Work or Derivative Works thereof, You may choose to offer, 167 | and charge a fee for, acceptance of support, warranty, indemnity, 168 | or other liability obligations and/or rights consistent with this 169 | License. However, in accepting such obligations, You may act only 170 | on Your own behalf and on Your sole responsibility, not on behalf 171 | of any other Contributor, and only if You agree to indemnify, 172 | defend, and hold each Contributor harmless for any liability 173 | incurred by, or claims asserted against, such Contributor by reason 174 | of your accepting any such warranty or additional liability. 175 | 176 | END OF TERMS AND CONDITIONS 177 | 178 | APPENDIX: How to apply the Apache License to your work. 179 | 180 | To apply the Apache License to your work, attach the following 181 | boilerplate notice, with the fields enclosed by brackets "[]" 182 | replaced with your own identifying information. (Don't include 183 | the brackets!) The text should be enclosed in the appropriate 184 | comment syntax for the file format. We also recommend that a 185 | file or class name and description of purpose be included on the 186 | same "printed page" as the copyright notice for easier 187 | identification within third-party archives. 188 | 189 | Copyright [yyyy] [name of copyright owner] 190 | 191 | Licensed under the Apache License, Version 2.0 (the "License"); 192 | you may not use this file except in compliance with the License. 193 | You may obtain a copy of the License at 194 | 195 | http://www.apache.org/licenses/LICENSE-2.0 196 | 197 | Unless required by applicable law or agreed to in writing, software 198 | distributed under the License is distributed on an "AS IS" BASIS, 199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 200 | See the License for the specific language governing permissions and 201 | limitations under the License. -------------------------------------------------------------------------------- /resources/roboto/roboto-bold-italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/roboto/roboto-bold-italic.ttf -------------------------------------------------------------------------------- /resources/roboto/roboto-bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/roboto/roboto-bold.ttf -------------------------------------------------------------------------------- /resources/roboto/roboto-italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/roboto/roboto-italic.ttf -------------------------------------------------------------------------------- /resources/roboto/roboto-light-italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/roboto/roboto-light-italic.ttf -------------------------------------------------------------------------------- /resources/roboto/roboto-light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/roboto/roboto-light.ttf -------------------------------------------------------------------------------- /resources/roboto/roboto-medium-italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/roboto/roboto-medium-italic.ttf -------------------------------------------------------------------------------- /resources/roboto/roboto-medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/roboto/roboto-medium.ttf -------------------------------------------------------------------------------- /resources/roboto/roboto-thin-italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/roboto/roboto-thin-italic.ttf -------------------------------------------------------------------------------- /resources/roboto/roboto-thin.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/roboto/roboto-thin.ttf -------------------------------------------------------------------------------- /resources/roboto/roboto.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/roboto/roboto.ttf -------------------------------------------------------------------------------- /resources/source-sans-pro/license.txt: -------------------------------------------------------------------------------- 1 | Copyright 2010, 2012 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of Adobe Systems Incorporated in the United States and/or other countries. 2 | 3 | This Font Software is licensed under the SIL Open Font License, Version 1.1. 4 | This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL 5 | 6 | ----------------------------------------------------------- 7 | SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 8 | ----------------------------------------------------------- 9 | 10 | PREAMBLE 11 | The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others. 12 | 13 | The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives. 14 | 15 | DEFINITIONS 16 | "Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation. 17 | 18 | "Reserved Font Name" refers to any names specified as such after the copyright statement(s). 19 | 20 | "Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s). 21 | 22 | "Modified Version" refers to any derivative made by adding to, deleting, or substituting -- in part or in whole -- any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment. 23 | 24 | "Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software. 25 | 26 | PERMISSION & CONDITIONS 27 | Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions: 28 | 29 | 1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself. 30 | 31 | 2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user. 32 | 33 | 3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users. 34 | 35 | 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission. 36 | 37 | 5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software. 38 | 39 | TERMINATION 40 | This license becomes null and void if any of the above conditions are not met. 41 | 42 | DISCLAIMER 43 | THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE. -------------------------------------------------------------------------------- /resources/source-sans-pro/source-sans-pro-bold-italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/source-sans-pro/source-sans-pro-bold-italic.woff -------------------------------------------------------------------------------- /resources/source-sans-pro/source-sans-pro-bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/source-sans-pro/source-sans-pro-bold.woff -------------------------------------------------------------------------------- /resources/source-sans-pro/source-sans-pro-extralight-italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/source-sans-pro/source-sans-pro-extralight-italic.woff -------------------------------------------------------------------------------- /resources/source-sans-pro/source-sans-pro-extralight.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/source-sans-pro/source-sans-pro-extralight.woff -------------------------------------------------------------------------------- /resources/source-sans-pro/source-sans-pro-italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/source-sans-pro/source-sans-pro-italic.woff -------------------------------------------------------------------------------- /resources/source-sans-pro/source-sans-pro-light-italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/source-sans-pro/source-sans-pro-light-italic.woff -------------------------------------------------------------------------------- /resources/source-sans-pro/source-sans-pro-light.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/source-sans-pro/source-sans-pro-light.woff -------------------------------------------------------------------------------- /resources/source-sans-pro/source-sans-pro-semibold-italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/source-sans-pro/source-sans-pro-semibold-italic.woff -------------------------------------------------------------------------------- /resources/source-sans-pro/source-sans-pro-semibold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/source-sans-pro/source-sans-pro-semibold.woff -------------------------------------------------------------------------------- /resources/source-sans-pro/source-sans-pro.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/source-sans-pro/source-sans-pro.woff -------------------------------------------------------------------------------- /resources/ubuntu/license.txt: -------------------------------------------------------------------------------- 1 | ------------------------------- 2 | UBUNTU FONT LICENCE Version 1.0 3 | ------------------------------- 4 | 5 | PREAMBLE 6 | This licence allows the licensed fonts to be used, studied, modified and 7 | redistributed freely. The fonts, including any derivative works, can be 8 | bundled, embedded, and redistributed provided the terms of this licence 9 | are met. The fonts and derivatives, however, cannot be released under 10 | any other licence. The requirement for fonts to remain under this 11 | licence does not require any document created using the fonts or their 12 | derivatives to be published under this licence, as long as the primary 13 | purpose of the document is not to be a vehicle for the distribution of 14 | the fonts. 15 | 16 | DEFINITIONS 17 | "Font Software" refers to the set of files released by the Copyright 18 | Holder(s) under this licence and clearly marked as such. This may 19 | include source files, build scripts and documentation. 20 | 21 | "Original Version" refers to the collection of Font Software components 22 | as received under this licence. 23 | 24 | "Modified Version" refers to any derivative made by adding to, deleting, 25 | or substituting -- in part or in whole -- any of the components of the 26 | Original Version, by changing formats or by porting the Font Software to 27 | a new environment. 28 | 29 | "Copyright Holder(s)" refers to all individuals and companies who have a 30 | copyright ownership of the Font Software. 31 | 32 | "Substantially Changed" refers to Modified Versions which can be easily 33 | identified as dissimilar to the Font Software by users of the Font 34 | Software comparing the Original Version with the Modified Version. 35 | 36 | To "Propagate" a work means to do anything with it that, without 37 | permission, would make you directly or secondarily liable for 38 | infringement under applicable copyright law, except executing it on a 39 | computer or modifying a private copy. Propagation includes copying, 40 | distribution (with or without modification and with or without charging 41 | a redistribution fee), making available to the public, and in some 42 | countries other activities as well. 43 | 44 | PERMISSION & CONDITIONS 45 | This licence does not grant any rights under trademark law and all such 46 | rights are reserved. 47 | 48 | Permission is hereby granted, free of charge, to any person obtaining a 49 | copy of the Font Software, to propagate the Font Software, subject to 50 | the below conditions: 51 | 52 | 1) Each copy of the Font Software must contain the above copyright 53 | notice and this licence. These can be included either as stand-alone 54 | text files, human-readable headers or in the appropriate machine- 55 | readable metadata fields within text or binary files as long as those 56 | fields can be easily viewed by the user. 57 | 58 | 2) The font name complies with the following: 59 | (a) The Original Version must retain its name, unmodified. 60 | (b) Modified Versions which are Substantially Changed must be renamed to 61 | avoid use of the name of the Original Version or similar names entirely. 62 | (c) Modified Versions which are not Substantially Changed must be 63 | renamed to both (i) retain the name of the Original Version and (ii) add 64 | additional naming elements to distinguish the Modified Version from the 65 | Original Version. The name of such Modified Versions must be the name of 66 | the Original Version, with "derivative X" where X represents the name of 67 | the new work, appended to that name. 68 | 69 | 3) The name(s) of the Copyright Holder(s) and any contributor to the 70 | Font Software shall not be used to promote, endorse or advertise any 71 | Modified Version, except (i) as required by this licence, (ii) to 72 | acknowledge the contribution(s) of the Copyright Holder(s) or (iii) with 73 | their explicit written permission. 74 | 75 | 4) The Font Software, modified or unmodified, in part or in whole, must 76 | be distributed entirely under this licence, and must not be distributed 77 | under any other licence. The requirement for fonts to remain under this 78 | licence does not affect any document created using the Font Software, 79 | except any version of the Font Software extracted from a document 80 | created using the Font Software may only be distributed under this 81 | licence. 82 | 83 | TERMINATION 84 | This licence becomes null and void if any of the above conditions are 85 | not met. 86 | 87 | DISCLAIMER 88 | THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 89 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF 90 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF 91 | COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE 92 | COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 93 | INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL 94 | DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 95 | FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER 96 | DEALINGS IN THE FONT SOFTWARE. -------------------------------------------------------------------------------- /resources/ubuntu/ubuntu-bold-italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/ubuntu/ubuntu-bold-italic.ttf -------------------------------------------------------------------------------- /resources/ubuntu/ubuntu-bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/ubuntu/ubuntu-bold.ttf -------------------------------------------------------------------------------- /resources/ubuntu/ubuntu-italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/ubuntu/ubuntu-italic.ttf -------------------------------------------------------------------------------- /resources/ubuntu/ubuntu-light-italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/ubuntu/ubuntu-light-italic.ttf -------------------------------------------------------------------------------- /resources/ubuntu/ubuntu-light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/ubuntu/ubuntu-light.ttf -------------------------------------------------------------------------------- /resources/ubuntu/ubuntu-medium-italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/ubuntu/ubuntu-medium-italic.ttf -------------------------------------------------------------------------------- /resources/ubuntu/ubuntu-medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/ubuntu/ubuntu-medium.ttf -------------------------------------------------------------------------------- /resources/ubuntu/ubuntu.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/braver/isotope-ui/5bf266e2cc677700fc9eb413bb84ac747b793d22/resources/ubuntu/ubuntu.ttf -------------------------------------------------------------------------------- /styles/atom.less: -------------------------------------------------------------------------------- 1 | * { 2 | box-sizing: border-box; 3 | } 4 | *:focus:active { 5 | outline: none !important; 6 | } 7 | 8 | html, 9 | body { 10 | font-weight: @font-weight; 11 | } 12 | 13 | atom-workspace { 14 | background-color: @app-background-color; 15 | font-family: inherit; 16 | } 17 | 18 | h1, 19 | h2, 20 | h3, 21 | h4, 22 | h5, 23 | h6 { 24 | line-height: 1; 25 | margin-bottom: @scale-a-l * 1rem; 26 | } 27 | h1 { 28 | font-size: @scale-a-xxl * 1rem; 29 | } 30 | h2 { 31 | font-size: @scale-a-xl * 1rem; 32 | } 33 | h3 { 34 | font-size: @scale-a-l * 1rem; 35 | } 36 | h4, 37 | h5, 38 | h6 { 39 | font-size: 1rem; 40 | } 41 | 42 | p { 43 | line-height: @scale-b-l * 1rem; 44 | margin-bottom: @scale-b-l * 1rem; 45 | } 46 | 47 | label { 48 | font-weight: normal; 49 | } 50 | 51 | pre { 52 | box-shadow: none; 53 | color: @base-fg; 54 | background: @level-3-bg; 55 | border-radius: @component-border-radius; 56 | border: none; 57 | margin: 0; 58 | } 59 | 60 | code { 61 | color: @fg-highlight; 62 | background: @level-2-bg; 63 | border-radius: @component-border-radius; 64 | } 65 | 66 | .atom-dock-toggle-button .atom-dock-toggle-button-inner { 67 | border-radius: 0; 68 | } 69 | 70 | .inset-panel { 71 | border-radius: 0; 72 | } 73 | 74 | .atom-dock-resize-handle { 75 | position: relative; 76 | background-color: @stroke; 77 | } 78 | 79 | .atom-dock-toggle-button .atom-dock-toggle-button-inner.left .icon-chevron-left { 80 | transform: translateX(11px); 81 | } 82 | 83 | .atom-dock-toggle-button .atom-dock-toggle-button-inner.left .icon-chevron-right { 84 | transform: translateX(12px); 85 | } 86 | 87 | .atom-dock-toggle-button .atom-dock-toggle-button-inner.right .icon-chevron-left { 88 | transform: translateX(-11px); 89 | } 90 | 91 | .atom-dock-toggle-button .atom-dock-toggle-button-inner.right .icon-chevron-right { 92 | transform: translateX(-12px); 93 | } 94 | 95 | .atom-dock-toggle-button .atom-dock-toggle-button-inner.top .icon-chevron-up { 96 | transform: translateY(10px); 97 | } 98 | 99 | .atom-dock-toggle-button .atom-dock-toggle-button-inner.top .icon-chevron-down { 100 | transform: translateY(11px); 101 | } 102 | 103 | .atom-dock-toggle-button .atom-dock-toggle-button-inner.bottom .icon-chevron-up { 104 | transform: translateY(-11px); 105 | } 106 | 107 | .atom-dock-toggle-button .atom-dock-toggle-button-inner.bottom .icon-chevron-down { 108 | transform: translateY(-10px); 109 | } 110 | 111 | .atom-dock-resize-handle::before { 112 | display: block; 113 | content: ''; 114 | position: absolute; 115 | z-index: 3; 116 | top: 0; 117 | left: 0; 118 | bottom: 0; 119 | right: 0; 120 | background-color: transparent; 121 | } 122 | 123 | .atom-dock-resize-handle.left, 124 | .atom-dock-resize-handle.right { 125 | width: 1px; 126 | 127 | &::before { 128 | left: -4px; 129 | right: -4px; 130 | } 131 | } 132 | 133 | .atom-dock-resize-handle.top, 134 | .atom-dock-resize-handle.bottom { 135 | height: 1px; 136 | 137 | &::before { 138 | top: -4px; 139 | bottom: -4px; 140 | } 141 | } 142 | 143 | th { 144 | font-weight: normal !important; 145 | } 146 | -------------------------------------------------------------------------------- /styles/buttons.less: -------------------------------------------------------------------------------- 1 | // text color indicates state, background indicates interaction 2 | // on how to transition background images: 3 | // http://codersblock.com/blog/gradient-animation-trick/ 4 | 5 | .btn-mixin (@bg, @fg) { 6 | 7 | @bg-level1: @bg; 8 | @bg-level2: lighten(@bg, 12%); 9 | 10 | color: @fg; 11 | background-color: transparent; 12 | background-image: linear-gradient( 13 | mix(#00D4FF, @bg-level1 , 3%) 0%, 14 | darken(@bg-level1, 6%) 50%, 15 | darken(@bg-level1, 12%) 100%); 16 | background-size: auto 400%; 17 | background-position: 0 50%; 18 | 19 | border-radius: @component-border-radius; 20 | box-sizing: border-box; 21 | border: 1px solid @stroke; 22 | transition: all .2s .1s; 23 | height: ~"calc("@component-line-height ~"+ 4px)"; 24 | line-height: ~"calc("@component-line-height ~"- 4px)"; 25 | 26 | &.btn-xs { 27 | padding: 0 @space; 28 | line-height: @scale-b-l * 1rem; 29 | } 30 | &.btn-sm { 31 | padding: 0 @space; 32 | line-height: @scale-b-xl * 1rem; 33 | } 34 | &.btn-lg { 35 | padding: 0 @space; 36 | line-height: pow(@scale-b, 4) * 1rem; 37 | } 38 | 39 | &:focus, 40 | &:hover, 41 | &:active { 42 | color: @fg; 43 | border: 1px solid @stroke; 44 | } 45 | &:not([disabled]):focus, 46 | &:not([disabled]):hover { 47 | background-position: 0 0; 48 | transition: all .1s; 49 | } 50 | &:not([disabled]):active { 51 | color: @fg; 52 | background-image: linear-gradient( 53 | mix(#00D4FF, @bg-level1 , 3%) 0%, 54 | darken(@bg-level1, 6%) 50%, 55 | darken(@bg-level1, 12%) 100%); 56 | background-position: 0 100%; 57 | } 58 | &.selected { 59 | color: @fg-selected; 60 | background-image: linear-gradient( 61 | mix(#00D4FF, @bg-level2 , 3%) 0%, 62 | darken(@bg-level2, 6%) 50%, 63 | darken(@bg-level2 , 12%) 100%); 64 | background-size: auto 200%; 65 | background-position: 0 100%; 66 | &:hover { 67 | color: @fg-selected; 68 | } 69 | &:not([disabled]):hover { 70 | background-position: 0 50%; 71 | } 72 | &:not([disabled]):active { 73 | background-position: 0 0; 74 | } 75 | } 76 | &[disabled] { 77 | background: transparent; 78 | } 79 | } 80 | 81 | .btn, 82 | .btn.icon { 83 | .btn-mixin(@button-background-color, @base-fg); 84 | } 85 | .btn-variant(@var) {} 86 | 87 | .btn.btn-primary { 88 | .btn-mixin(@button-background-color, @fg-highlight); 89 | } 90 | .btn.btn-info { 91 | .btn-mixin(@bg-info, @fg-highlight); 92 | } 93 | .btn.btn-success { 94 | .btn-mixin(@bg-success, @fg-highlight); 95 | } 96 | .btn.btn-warning { 97 | .btn-mixin(@bg-warning, @fg-highlight); 98 | } 99 | .btn.btn-error { 100 | .btn-mixin(@bg-error, @fg-highlight); 101 | } 102 | 103 | .btn-group { 104 | >.btn { 105 | border-color: @stroke; 106 | margin: -1px 0 0 0; 107 | } 108 | > .btn:first-child { 109 | border-left: 1px solid @stroke; 110 | } 111 | > .btn:last-child { 112 | border-right: 1px solid @stroke; 113 | } 114 | } 115 | .find-and-replace, 116 | .project-find { 117 | .btn-group > .btn { 118 | border-color: @stroke; 119 | } 120 | .find-meta-container { 121 | margin: 0; 122 | padding: 0; 123 | top: 0.5rem; 124 | right: @component-padding; 125 | line-height: @component-line-height; 126 | .result-counter { 127 | margin: 0; 128 | } 129 | } 130 | } 131 | 132 | .settings-view .package-card .meta-controls .status-indicator { 133 | box-sizing: content-box; 134 | } 135 | 136 | //no real sense in the default courier for these 137 | .project-find .btn-group.btn-group-options .btn, 138 | .find-and-replace .btn-group-options.btn-group .btn, { 139 | font-family: inherit; 140 | } 141 | -------------------------------------------------------------------------------- /styles/config.less: -------------------------------------------------------------------------------- 1 | //config variables (defined in isotope-ui.coffee) are passed on in attributes 2 | //this stylesheet does the css interpretation 3 | 4 | //font family 5 | [data-isotope-ui-font='Cantarell'] { 6 | &, 7 | atom-text-editor.mini { 8 | font-family: 'Cantarell', @font-family; 9 | } 10 | } 11 | [data-isotope-ui-font='Clear Sans'] { 12 | &, 13 | atom-text-editor.mini { 14 | font-family: 'Clear Sans', @font-family; 15 | } 16 | &[data-isotope-ui-fontweight='Extra light / Thin'] { 17 | &, 18 | atom-text-editor.mini { 19 | font-family: 'Clear Sans Thin', @font-family; 20 | } 21 | } 22 | &[data-isotope-ui-fontweight='Light'] { 23 | &, 24 | atom-text-editor.mini { 25 | font-family: 'Clear Sans Light', @font-family; 26 | } 27 | } 28 | } 29 | [data-isotope-ui-font='Fira Sans'] { 30 | &, 31 | atom-text-editor.mini { 32 | font-family: 'Fira Sans', @font-family; 33 | } 34 | &[data-isotope-ui-fontweight='Extra light / Thin'] { 35 | &, 36 | atom-text-editor.mini { 37 | font-family: 'Fira Sans Thin', @font-family; 38 | } 39 | } 40 | &[data-isotope-ui-fontweight='Light'] { 41 | &, 42 | atom-text-editor.mini { 43 | font-family: 'Fira Sans Light', @font-family; 44 | } 45 | } 46 | } 47 | [data-isotope-ui-font='Open Sans'] { 48 | &, 49 | atom-text-editor.mini { 50 | font-family: 'Open Sans', @font-family; 51 | } 52 | &[data-isotope-ui-fontweight='Extra light / Thin'], 53 | &[data-isotope-ui-fontweight='Light'] { 54 | &, 55 | atom-text-editor.mini { 56 | font-family: 'Open Sans Light', @font-family; 57 | } 58 | } 59 | } 60 | [data-isotope-ui-font='Oxygen'] { 61 | &, 62 | atom-text-editor.mini { 63 | font-family: 'Oxygen', @font-family; 64 | } 65 | } 66 | [data-isotope-ui-font='Roboto'] { 67 | &, 68 | atom-text-editor.mini { 69 | font-family: 'Roboto', @font-family; 70 | } 71 | &[data-isotope-ui-fontweight='Extra light / Thin'] { 72 | &, 73 | atom-text-editor.mini { 74 | font-family: 'Roboto Thin', @font-family; 75 | } 76 | } 77 | &[data-isotope-ui-fontweight='Light'] { 78 | &, 79 | atom-text-editor.mini { 80 | font-family: 'Roboto Light', @font-family; 81 | } 82 | } 83 | } 84 | [data-isotope-ui-font='Source Sans Pro'] { 85 | &, 86 | atom-text-editor.mini { 87 | font-family: 'Source Sans Pro', @font-family; 88 | } 89 | &[data-isotope-ui-fontweight='Extra light / Thin'] { 90 | &, 91 | atom-text-editor.mini { 92 | font-family: 'Source Sans Pro Thin', @font-family; 93 | } 94 | } 95 | &[data-isotope-ui-fontweight='Light'] { 96 | &, 97 | atom-text-editor.mini { 98 | font-family: 'Source Sans Pro Light', @font-family; 99 | } 100 | } 101 | } 102 | [data-isotope-ui-font='Ubuntu'] { 103 | &, 104 | atom-text-editor.mini { 105 | font-family: 'Ubuntu', @font-family; 106 | } 107 | &[data-isotope-ui-fontweight='Extra light / Thin'], 108 | &[data-isotope-ui-fontweight='Light'] { 109 | &, 110 | atom-text-editor.mini { 111 | font-family: 'Ubuntu Light', @font-family; 112 | } 113 | } 114 | } 115 | [data-isotope-ui-font='System Default'] { 116 | &, 117 | atom-text-editor.mini { 118 | font-family: @font-family; 119 | } 120 | } 121 | 122 | //font weight 123 | [data-isotope-ui-fontweight='Extra light / Thin'] { 124 | font-weight: 200; 125 | } 126 | [data-isotope-ui-fontweight='Light'] { 127 | font-weight: 300; 128 | } 129 | [data-isotope-ui-fontweight='Regular'] { 130 | font-weight: 400; 131 | } 132 | 133 | [data-isotope-ui-bg-color='true'], 134 | [data-isotope-ui-bg-gradient='true'], 135 | [data-isotope-ui-bg-image='true'] { 136 | atom-workspace:not(.zen) { 137 | 138 | /* 139 | These selectors aren't reliable, but I haven't found out 140 | how to target these UI elements reliably 141 | and it seems to work just fine 142 | */ 143 | 144 | // make tree-view transparent 145 | .tool-panel.tool-panel:first-child:not(.panel-bottom), 146 | // make tab-bar transparent 147 | atom-pane-container atom-pane, 148 | .tab-bar, 149 | // make status-bar transparent 150 | .status-bar, 151 | .tool-panel.tool-panel.panel-bottom { 152 | background-color: transparent !important; //also overrule an inline style 153 | } 154 | } 155 | } 156 | 157 | [data-isotope-ui-bg-gradient='true']{ 158 | atom-workspace { 159 | background-image: linear-gradient( 160 | lighten( spin(@app-background-color, 60), 1.5%) 0%, 161 | darken(@app-background-color, 6%) 100%); 162 | &:before { 163 | //add grain to prevent stair-stepping 164 | content: ''; 165 | display: block; 166 | position: absolute; 167 | top: 0; 168 | left: 0; 169 | bottom: 0; 170 | right: 0; 171 | background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAMAAAAp4XiDAAAAUVBMVEWFhYWDg4N3d3dtbW17e3t1dXWBgYGHh4d5eXlzc3OLi4ubm5uVlZWPj4+NjY19fX2JiYl/f39ra2uRkZGZmZlpaWmXl5dvb29xcXGTk5NnZ2c8TV1mAAAAG3RSTlNAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAvEOwtAAAFVklEQVR4XpWWB67c2BUFb3g557T/hRo9/WUMZHlgr4Bg8Z4qQgQJlHI4A8SzFVrapvmTF9O7dmYRFZ60YiBhJRCgh1FYhiLAmdvX0CzTOpNE77ME0Zty/nWWzchDtiqrmQDeuv3powQ5ta2eN0FY0InkqDD73lT9c9lEzwUNqgFHs9VQce3TVClFCQrSTfOiYkVJQBmpbq2L6iZavPnAPcoU0dSw0SUTqz/GtrGuXfbyyBniKykOWQWGqwwMA7QiYAxi+IlPdqo+hYHnUt5ZPfnsHJyNiDtnpJyayNBkF6cWoYGAMY92U2hXHF/C1M8uP/ZtYdiuj26UdAdQQSXQErwSOMzt/XWRWAz5GuSBIkwG1H3FabJ2OsUOUhGC6tK4EMtJO0ttC6IBD3kM0ve0tJwMdSfjZo+EEISaeTr9P3wYrGjXqyC1krcKdhMpxEnt5JetoulscpyzhXN5FRpuPHvbeQaKxFAEB6EN+cYN6xD7RYGpXpNndMmZgM5Dcs3YSNFDHUo2LGfZuukSWyUYirJAdYbF3MfqEKmjM+I2EfhA94iG3L7uKrR+GdWD73ydlIB+6hgref1QTlmgmbM3/LeX5GI1Ux1RWpgxpLuZ2+I+IjzZ8wqE4nilvQdkUdfhzI5QDWy+kw5Wgg2pGpeEVeCCA7b85BO3F9DzxB3cdqvBzWcmzbyMiqhzuYqtHRVG2y4x+KOlnyqla8AoWWpuBoYRxzXrfKuILl6SfiWCbjxoZJUaCBj1CjH7GIaDbc9kqBY3W/Rgjda1iqQcOJu2WW+76pZC9QG7M00dffe9hNnseupFL53r8F7YHSwJWUKP2q+k7RdsxyOB11n0xtOvnW4irMMFNV4H0uqwS5ExsmP9AxbDTc9JwgneAT5vTiUSm1E7BSflSt3bfa1tv8Di3R8n3Af7MNWzs49hmauE2wP+ttrq+AsWpFG2awvsuOqbipWHgtuvuaAE+A1Z/7gC9hesnr+7wqCwG8c5yAg3AL1fm8T9AZtp/bbJGwl1pNrE7RuOX7PeMRUERVaPpEs+yqeoSmuOlokqw49pgomjLeh7icHNlG19yjs6XXOMedYm5xH2YxpV2tc0Ro2jJfxC50ApuxGob7lMsxfTbeUv07TyYxpeLucEH1gNd4IKH2LAg5TdVhlCafZvpskfncCfx8pOhJzd76bJWeYFnFciwcYfubRc12Ip/ppIhA1/mSZ/RxjFDrJC5xifFjJpY2Xl5zXdguFqYyTR1zSp1Y9p+tktDYYSNflcxI0iyO4TPBdlRcpeqjK/piF5bklq77VSEaA+z8qmJTFzIWiitbnzR794USKBUaT0NTEsVjZqLaFVqJoPN9ODG70IPbfBHKK+/q/AWR0tJzYHRULOa4MP+W/HfGadZUbfw177G7j/OGbIs8TahLyynl4X4RinF793Oz+BU0saXtUHrVBFT/DnA3ctNPoGbs4hRIjTok8i+algT1lTHi4SxFvONKNrgQFAq2/gFnWMXgwffgYMJpiKYkmW3tTg3ZQ9Jq+f8XN+A5eeUKHWvJWJ2sgJ1Sop+wwhqFVijqWaJhwtD8MNlSBeWNNWTa5Z5kPZw5+LbVT99wqTdx29lMUH4OIG/D86ruKEauBjvH5xy6um/Sfj7ei6UUVk4AIl3MyD4MSSTOFgSwsH/QJWaQ5as7ZcmgBZkzjjU1UrQ74ci1gWBCSGHtuV1H2mhSnO3Wp/3fEV5a+4wz//6qy8JxjZsmxxy5+4w9CDNJY09T072iKG0EnOS0arEYgXqYnXcYHwjTtUNAcMelOd4xpkoqiTYICWFq0JSiPfPDQdnt+4/wuqcXY47QILbgAAAABJRU5ErkJggg==); 172 | opacity: .20; 173 | } 174 | } 175 | } 176 | 177 | [data-isotope-ui-bg-image='true'] { 178 | background-size: cover; 179 | background-repeat: no-repeat; 180 | background-image: url(atom://isotope-ui/resources/images/raket.jpg); 181 | atom-workspace { 182 | background: transparent; 183 | // make text stand out against any background 184 | .status-bar, 185 | .tree-view.list-tree, // sadly loses status-indication 186 | .tab-bar .tab:not(.active) { 187 | & * { 188 | color: #fafafa; 189 | text-shadow: 0 0 3px rgba(0,0,0,.6); 190 | } 191 | } 192 | .background-tips { 193 | color: @base-fg; 194 | text-shadow: 0 0 3px rgba(0,0,0,.6); 195 | } 196 | // hide custom status indicator 197 | .status-bar .buffer-modified:after { 198 | display: none; 199 | } 200 | 201 | // restore tree-view selected item color 202 | .tree-view.list-tree li { 203 | &.selected > span, 204 | &:not(.list-nested-item).selected > span, 205 | &.list-nested-item.selected > .list-item > span { 206 | // only use @color if it has enough contrast with the background 207 | color: @base-fg; 208 | text-shadow: none; 209 | } 210 | 211 | // replace status indication because we don't have different colors anymore 212 | &.status-modified, 213 | &:not(.list-nested-item).status-modified, 214 | &.list-nested-item.status-modified > .list-item { 215 | > .name:after { 216 | content: ' *'; 217 | } 218 | } 219 | &.status-added, 220 | &:not(.list-nested-item).status-added, 221 | &.list-nested-item.status-added > .list-item { 222 | > .name:after { 223 | content: ' +'; 224 | } 225 | } 226 | &:not(.list-nested-item).status-ignored, 227 | &.list-nested-item.status-ignored > .list-item { 228 | opacity: 0.66; 229 | } 230 | } 231 | } 232 | } 233 | 234 | [data-isotope-ui-bg-color='true'], 235 | [data-isotope-ui-bg-image='true'] { 236 | atom-workspace { 237 | background: transparent; 238 | } 239 | } 240 | -------------------------------------------------------------------------------- /styles/dropdowns.less: -------------------------------------------------------------------------------- 1 | .dropdown-menu { 2 | background-color: @overlay-background-color; 3 | border-radius: @component-border-radius; 4 | border: 1px solid @input-border-color; 5 | padding: 0; 6 | 7 | > li > a { 8 | color: @base-fg; 9 | } 10 | 11 | > li > a:hover { 12 | color: @fg-highlight; 13 | background-color: @level-2-bg; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /styles/editor-mini.less: -------------------------------------------------------------------------------- 1 | atom-text-editor.mini { 2 | border-radius: @component-border-radius; 3 | box-shadow: 0 0 0 1px @stroke; 4 | font-family: @font-family; 5 | font-size: @scale-a-m * 1rem; 6 | background: @input-background-color; 7 | color: @base-fg; 8 | padding-left: @space; 9 | line-height: ~"calc("@component-line-height ~"+ 2px)"; 10 | max-height: ~"calc("@component-line-height ~"+ 2px)"; 11 | height: ~"calc("@component-line-height ~"+ 2px)"; 12 | 13 | & { 14 | background: @level-3-bg; 15 | color: @base-fg; 16 | 17 | .placeholder-text { 18 | color: @fg-subtle; 19 | } 20 | .selection .region { 21 | background: @level-2-bg; 22 | } 23 | .cursor { 24 | border-color: @fg-subtle; 25 | } 26 | .markup.underline { 27 | color: @base-fg; 28 | } 29 | } 30 | 31 | &.is-focused { 32 | background: @input-background-color; 33 | box-shadow: 0 0 0 1px @ui-accent; 34 | color: @fg-highlight; 35 | 36 | .selection .region { 37 | background: @level-2-bg; 38 | } 39 | .placeholder-text { 40 | color: @base-fg; 41 | } 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /styles/editor.less: -------------------------------------------------------------------------------- 1 | atom-text-editor { 2 | .ui-site-1 { 3 | background: @ui-site-color-1; 4 | .text-subtle { 5 | color: fade(@fg-highlight, 60%); 6 | } 7 | } 8 | .ui-site-2 { 9 | background: @ui-site-color-2; 10 | .text-subtle { 11 | color: fade(@fg-highlight, 60%); 12 | } 13 | } 14 | .ui-site-3 { 15 | background: @ui-site-color-3; 16 | .text-subtle { 17 | color: fade(@fg-highlight, 60%); 18 | } 19 | } 20 | .ui-site-4 { 21 | background: @ui-site-color-4; 22 | .text-subtle { 23 | color: fade(@fg-highlight, 60%); 24 | } 25 | } 26 | .ui-site-5 { 27 | background: @ui-site-color-5; 28 | .text-subtle { 29 | color: fade(@fg-highlight, 60%); 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /styles/fonts.less: -------------------------------------------------------------------------------- 1 | //Cantarell 2 | @font-face { 3 | font-family: 'Cantarell'; 4 | font-weight: 400; 5 | font-style: normal; 6 | src: url('atom://isotope-ui/resources/cantarell/cantarell.woff'); 7 | } 8 | @font-face { 9 | font-family: 'Cantarell'; 10 | font-weight: 400; 11 | font-style: italic; 12 | src: url('atom://isotope-ui/resources/cantarell/cantarell-italic.woff'); 13 | } 14 | @font-face { 15 | font-family: 'Cantarell'; 16 | font-weight: 700; 17 | font-style: normal; 18 | src: url('atom://isotope-ui/resources/cantarell/cantarell-bold.woff'); 19 | } 20 | @font-face { 21 | font-family: 'Cantarell'; 22 | font-weight: 700; 23 | font-style: italic; 24 | src: url('atom://isotope-ui/resources/cantarell/cantarell-bold-italic.woff'); 25 | } 26 | 27 | 28 | //Clear Sans 29 | @font-face { 30 | font-family: 'Clear Sans Thin'; 31 | font-weight: 200; 32 | font-style: normal; 33 | src: url('atom://isotope-ui/resources/clear-sans/clear-sans-thin.woff'); 34 | } 35 | @font-face { 36 | font-family: 'Clear Sans Thin'; 37 | font-weight: 200; 38 | font-style: italic; 39 | src: url('atom://isotope-ui/resources/clear-sans/clear-sans-thin.woff'); 40 | } 41 | @font-face { 42 | font-family: 'Clear Sans Thin'; 43 | font-weight: 700; 44 | font-style: normal; 45 | src: url('atom://isotope-ui/resources/clear-sans/clear-sans-medium.woff'); 46 | } 47 | @font-face { 48 | font-family: 'Clear Sans Thin'; 49 | font-weight: 700; 50 | font-style: italic; 51 | src: url('atom://isotope-ui/resources/clear-sans/clear-sans-medium-italic.woff'); 52 | } 53 | @font-face { 54 | font-family: 'Clear Sans Light'; 55 | font-weight: 300; 56 | font-style: normal; 57 | src: url('atom://isotope-ui/resources/clear-sans/clear-sans-light.woff'); 58 | } 59 | @font-face { 60 | font-family: 'Clear Sans Light'; 61 | font-weight: 300; 62 | font-style: italic; 63 | src: url('atom://isotope-ui/resources/clear-sans/clear-sans-light.woff'); 64 | } 65 | @font-face { 66 | font-family: 'Clear Sans Light'; 67 | font-weight: 700; 68 | font-style: normal; 69 | src: url('atom://isotope-ui/resources/clear-sans/clear-sans-medium.woff'); 70 | } 71 | @font-face { 72 | font-family: 'Clear Sans Light'; 73 | font-weight: 700; 74 | font-style: italic; 75 | src: url('atom://isotope-ui/resources/clear-sans/clear-sans-medium-italic.woff'); 76 | } 77 | @font-face { 78 | font-family: 'Clear Sans'; 79 | font-weight: 400; 80 | font-style: normal; 81 | src: url('atom://isotope-ui/resources/clear-sans/clear-sans.woff'); 82 | } 83 | @font-face { 84 | font-family: 'Clear Sans'; 85 | font-weight: 400; 86 | font-style: italic; 87 | src: url('atom://isotope-ui/resources/clear-sans/clear-sans-italic.woff'); 88 | } 89 | @font-face { 90 | font-family: 'Clear Sans'; 91 | font-weight: 700; 92 | font-style: normal; 93 | src: url('atom://isotope-ui/resources/clear-sans/clear-sans-bold.woff'); 94 | } 95 | @font-face { 96 | font-family: 'Clear Sans'; 97 | font-weight: 700; 98 | font-style: italic; 99 | src: url('atom://isotope-ui/resources/clear-sans/clear-sans-bold-italic.woff'); 100 | } 101 | 102 | 103 | //Fira Sans 104 | @font-face { 105 | font-family: 'Fira Sans Thin'; 106 | font-weight: 200; 107 | font-style: normal; 108 | src: url('atom://isotope-ui/resources/fira/fira-ultralight.otf'); 109 | } 110 | @font-face { 111 | font-family: 'Fira Sans Thin'; 112 | font-weight: 200; 113 | font-style: italic; 114 | src: url('atom://isotope-ui/resources/fira/fira-ultralight-italic.otf'); 115 | } 116 | @font-face { 117 | font-family: 'Fira Sans Thin'; 118 | font-weight: 700; 119 | font-style: normal; 120 | src: url('atom://isotope-ui/resources/fira/fira-medium.otf'); 121 | } 122 | @font-face { 123 | font-family: 'Fira Sans Thin'; 124 | font-weight: 700; 125 | font-style: italic; 126 | src: url('atom://isotope-ui/resources/fira/fira-medium-italic.otf'); 127 | } 128 | @font-face { 129 | font-family: 'Fira Sans Light'; 130 | font-weight: 300; 131 | font-style: normal; 132 | src: url('atom://isotope-ui/resources/fira/fira-light.otf'); 133 | } 134 | @font-face { 135 | font-family: 'Fira Sans Light'; 136 | font-weight: 300; 137 | font-style: italic; 138 | src: url('atom://isotope-ui/resources/fira/fira-light-italic.otf'); 139 | } 140 | @font-face { 141 | font-family: 'Fira Sans Light'; 142 | font-weight: 700; 143 | font-style: normal; 144 | src: url('atom://isotope-ui/resources/fira/fira-semibold.otf'); 145 | } 146 | @font-face { 147 | font-family: 'Fira Sans Light'; 148 | font-weight: 700; 149 | font-style: italic; 150 | src: url('atom://isotope-ui/resources/fira/fira-semibold-italic.otf'); 151 | } 152 | @font-face { 153 | font-family: 'Fira Sans'; 154 | font-weight: 400; 155 | font-style: normal; 156 | src: url('atom://isotope-ui/resources/fira/fira.otf'); 157 | } 158 | @font-face { 159 | font-family: 'Fira Sans'; 160 | font-weight: 400; 161 | font-style: italic; 162 | src: url('atom://isotope-ui/resources/fira/fira-italic.otf'); 163 | } 164 | @font-face { 165 | font-family: 'Fira Sans'; 166 | font-weight: 700; 167 | font-style: normal; 168 | src: url('atom://isotope-ui/resources/fira/fira-bold.otf'); 169 | } 170 | @font-face { 171 | font-family: 'Fira Sans'; 172 | font-weight: 700; 173 | font-style: italic; 174 | src: url('atom://isotope-ui/resources/fira/fira-bold-italic.otf'); 175 | } 176 | 177 | 178 | //Open Sans 179 | @font-face { 180 | font-family: 'Open Sans Light'; 181 | font-weight: 300; 182 | font-style: normal; 183 | src: url('atom://isotope-ui/resources/open-sans/open-sans-light.woff'); 184 | } 185 | @font-face { 186 | font-family: 'Open Sans Light'; 187 | font-weight: 300; 188 | font-style: italic; 189 | src: url('atom://isotope-ui/resources/open-sans/open-sans-light-italic.woff'); 190 | } 191 | @font-face { 192 | font-family: 'Open Sans Light'; 193 | font-weight: 700; 194 | font-style: normal; 195 | src: url('atom://isotope-ui/resources/open-sans/open-sans-semibold.woff'); 196 | } 197 | @font-face { 198 | font-family: 'Open Sans Light'; 199 | font-weight: 700; 200 | font-style: italic; 201 | src: url('atom://isotope-ui/resources/open-sans/open-sans-semibold-italic.woff'); 202 | } 203 | @font-face { 204 | font-family: 'Open Sans'; 205 | font-weight: 400; 206 | font-style: normal; 207 | src: url('atom://isotope-ui/resources/open-sans/open-sans.woff'); 208 | } 209 | @font-face { 210 | font-family: 'Open Sans'; 211 | font-weight: 400; 212 | font-style: italic; 213 | src: url('atom://isotope-ui/resources/open-sans/open-sans-italic.woff'); 214 | } 215 | @font-face { 216 | font-family: 'Open Sans'; 217 | font-weight: 700; 218 | font-style: normal; 219 | src: url('atom://isotope-ui/resources/open-sans/open-sans-bold.woff'); 220 | } 221 | @font-face { 222 | font-family: 'Open Sans'; 223 | font-weight: 700; 224 | font-style: italic; 225 | src: url('atom://isotope-ui/resources/open-sans/open-sans-bold-italic.woff'); 226 | } 227 | 228 | 229 | //Oxygen 230 | @font-face { 231 | font-family: 'Oxygen'; 232 | font-weight: 400; 233 | font-style: normal; 234 | src: url('atom://isotope-ui/resources/oxygen/oxygen.otf'); 235 | } 236 | @font-face { 237 | font-family: 'Oxygen'; 238 | font-weight: 400; 239 | font-style: italic; 240 | src: url('atom://isotope-ui/resources/oxygen/oxygen-italic.otf'); 241 | } 242 | @font-face { 243 | font-family: 'Oxygen'; 244 | font-weight: 700; 245 | font-style: normal; 246 | src: url('atom://isotope-ui/resources/oxygen/oxygen-bold.otf'); 247 | } 248 | @font-face { 249 | font-family: 'Oxygen'; 250 | font-weight: 700; 251 | font-style: italic; 252 | src: url('atom://isotope-ui/resources/oxygen/oxygen-bold-italic.otf'); 253 | } 254 | 255 | 256 | //Roboto 257 | @font-face { 258 | font-family: 'Roboto Thin'; 259 | font-weight: 200; 260 | font-style: normal; 261 | src: url('atom://isotope-ui/resources/roboto/roboto-thin.ttf'); 262 | } 263 | @font-face { 264 | font-family: 'Roboto Thin'; 265 | font-weight: 200; 266 | font-style: italic; 267 | src: url('atom://isotope-ui/resources/roboto/roboto-thin-italic.ttf'); 268 | } 269 | @font-face { 270 | font-family: 'Roboto Thin'; 271 | font-weight: 700; 272 | font-style: normal; 273 | src: url('atom://isotope-ui/resources/roboto/roboto-medium.ttf'); 274 | } 275 | @font-face { 276 | font-family: 'Roboto Thin'; 277 | font-weight: 700; 278 | font-style: italic; 279 | src: url('atom://isotope-ui/resources/roboto/roboto-medium-italic.ttf'); 280 | } 281 | @font-face { 282 | font-family: 'Roboto Light'; 283 | font-weight: 300; 284 | font-style: normal; 285 | src: url('atom://isotope-ui/resources/roboto/roboto-light.ttf'); 286 | } 287 | @font-face { 288 | font-family: 'Roboto Light'; 289 | font-weight: 300; 290 | font-style: italic; 291 | src: url('atom://isotope-ui/resources/roboto/roboto-light-italic.ttf'); 292 | } 293 | @font-face { 294 | font-family: 'Roboto Light'; 295 | font-weight: 700; 296 | font-style: normal; 297 | src: url('atom://isotope-ui/resources/roboto/roboto-medium.ttf'); 298 | } 299 | @font-face { 300 | font-family: 'Roboto Light'; 301 | font-weight: 700; 302 | font-style: italic; 303 | src: url('atom://isotope-ui/resources/roboto/roboto-medium-italic.ttf'); 304 | } 305 | @font-face { 306 | font-family: 'Roboto'; 307 | font-weight: 400; 308 | font-style: normal; 309 | src: url('atom://isotope-ui/resources/roboto/roboto.ttf'); 310 | } 311 | @font-face { 312 | font-family: 'Roboto'; 313 | font-weight: 400; 314 | font-style: italic; 315 | src: url('atom://isotope-ui/resources/roboto/roboto-italic.ttf'); 316 | } 317 | @font-face { 318 | font-family: 'Roboto'; 319 | font-weight: 700; 320 | font-style: normal; 321 | src: url('atom://isotope-ui/resources/roboto/roboto-bold.ttf'); 322 | } 323 | @font-face { 324 | font-family: 'Roboto'; 325 | font-weight: 700; 326 | font-style: italic; 327 | src: url('atom://isotope-ui/resources/roboto/roboto-bold-italic.ttf'); 328 | } 329 | 330 | 331 | //Source Sans Pro 332 | @font-face { 333 | font-family: 'Source Sans Pro Thin'; 334 | font-weight: 200; 335 | font-style: normal; 336 | src: url('atom://isotope-ui/resources/source-sans-pro/source-sans-pro-extralight.woff'); 337 | } 338 | @font-face { 339 | font-family: 'Source Sans Pro Thin'; 340 | font-weight: 200; 341 | font-style: italic; 342 | src: url('atom://isotope-ui/resources/source-sans-pro/source-sans-pro-extralight-italic.woff'); 343 | } 344 | @font-face { 345 | font-family: 'Source Sans Pro Thin'; 346 | font-weight: 700; 347 | font-style: normal; 348 | src: url('atom://isotope-ui/resources/source-sans-pro/source-sans-pro-semibold.woff'); 349 | } 350 | @font-face { 351 | font-family: 'Source Sans Pro Thin'; 352 | font-weight: 700; 353 | font-style: italic; 354 | src: url('atom://isotope-ui/resources/source-sans-pro/source-sans-pro-semibold-italic.woff'); 355 | } 356 | @font-face { 357 | font-family: 'Source Sans Pro Light'; 358 | font-weight: 300; 359 | font-style: normal; 360 | src: url('atom://isotope-ui/resources/source-sans-pro/source-sans-pro-light.woff'); 361 | } 362 | @font-face { 363 | font-family: 'Source Sans Pro Light'; 364 | font-weight: 300; 365 | font-style: italic; 366 | src: url('atom://isotope-ui/resources/source-sans-pro/source-sans-pro-light-italic.woff'); 367 | } 368 | @font-face { 369 | font-family: 'Source Sans Pro Light'; 370 | font-weight: 700; 371 | font-style: normal; 372 | src: url('atom://isotope-ui/resources/source-sans-pro/source-sans-pro-semibold.woff'); 373 | } 374 | @font-face { 375 | font-family: 'Source Sans Pro Light'; 376 | font-weight: 700; 377 | font-style: italic; 378 | src: url('atom://isotope-ui/resources/source-sans-pro/source-sans-pro-semibold-italic.woff'); 379 | } 380 | @font-face { 381 | font-family: 'Source Sans Pro'; 382 | font-weight: 400; 383 | font-style: normal; 384 | src: url('atom://isotope-ui/resources/source-sans-pro/source-sans-pro.woff'); 385 | } 386 | @font-face { 387 | font-family: 'Source Sans Pro'; 388 | font-weight: 400; 389 | font-style: italic; 390 | src: url('atom://isotope-ui/resources/source-sans-pro/source-sans-pro-italic.woff'); 391 | } 392 | @font-face { 393 | font-family: 'Source Sans Pro'; 394 | font-weight: 700; 395 | font-style: normal; 396 | src: url('atom://isotope-ui/resources/source-sans-pro/source-sans-pro-bold.woff'); 397 | } 398 | @font-face { 399 | font-family: 'Source Sans Pro'; 400 | font-weight: 700; 401 | font-style: italic; 402 | src: url('atom://isotope-ui/resources/source-sans-pro/source-sans-pro-bold-italic.woff'); 403 | } 404 | 405 | 406 | //Ubuntu 407 | @font-face { 408 | font-family: 'Ubuntu Light'; 409 | font-weight: 300; 410 | font-style: normal; 411 | src: url('atom://isotope-ui/resources/ubuntu/ubuntu-light.ttf'); 412 | } 413 | @font-face { 414 | font-family: 'Ubuntu Light'; 415 | font-weight: 300; 416 | font-style: italic; 417 | src: url('atom://isotope-ui/resources/ubuntu/ubuntu-light-italic.ttf'); 418 | } 419 | @font-face { 420 | font-family: 'Ubuntu Light'; 421 | font-weight: 700; 422 | font-style: normal; 423 | src: url('atom://isotope-ui/resources/ubuntu/ubuntu-medium.ttf'); 424 | } 425 | @font-face { 426 | font-family: 'Ubuntu Light'; 427 | font-weight: 700; 428 | font-style: italic; 429 | src: url('atom://isotope-ui/resources/ubuntu/ubuntu-medium-italic.ttf'); 430 | } 431 | @font-face { 432 | font-family: 'Ubuntu'; 433 | font-weight: 400; 434 | font-style: normal; 435 | src: url('atom://isotope-ui/resources/ubuntu/ubuntu.ttf'); 436 | } 437 | @font-face { 438 | font-family: 'Ubuntu'; 439 | font-weight: 400; 440 | font-style: italic; 441 | src: url('atom://isotope-ui/resources/ubuntu/ubuntu-italic.ttf'); 442 | } 443 | @font-face { 444 | font-family: 'Ubuntu'; 445 | font-weight: 700; 446 | font-style: normal; 447 | src: url('atom://isotope-ui/resources/ubuntu/ubuntu-bold.ttf'); 448 | } 449 | @font-face { 450 | font-family: 'Ubuntu'; 451 | font-weight: 700; 452 | font-style: italic; 453 | src: url('atom://isotope-ui/resources/ubuntu/ubuntu-bold-italic.ttf'); 454 | } 455 | -------------------------------------------------------------------------------- /styles/git.less: -------------------------------------------------------------------------------- 1 | .status { color: @base-fg; } 2 | .status-added { color: @fg-added; } 3 | .status-ignored { color: @fg-subtle; } 4 | .status-modified { color: @fg-modified; } 5 | .status-removed { color: @fg-removed; } 6 | .status-renamed { color: @fg-renamed; } 7 | -------------------------------------------------------------------------------- /styles/image-view.less: -------------------------------------------------------------------------------- 1 | .image-view { 2 | 3 | .image-container { 4 | padding: 0; 5 | } 6 | 7 | img { 8 | border: none; 9 | box-shadow: none; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /styles/linter.less: -------------------------------------------------------------------------------- 1 | .sb-table { 2 | font-family: inherit; 3 | } 4 | 5 | .sb-table.linter th { 6 | border-color: @stroke; 7 | } 8 | -------------------------------------------------------------------------------- /styles/lists.less: -------------------------------------------------------------------------------- 1 | @list-item-height: @component-line-height; 2 | @tree-item-height: @scale-a-xxxl * 1rem; 3 | 4 | 5 | //a mixin for creating a number of color variations 6 | .li-variation-mixin(@class, @color, @hover) { 7 | li { 8 | &.@{class}, 9 | &:not(.list-nested-item).@{class}, 10 | &.list-nested-item.@{class} > .list-item { 11 | color: @color; 12 | &:hover { 13 | color: @hover; 14 | } 15 | } 16 | } 17 | } 18 | 19 | //the main mixin 20 | .li-mixin(@color, @height:@list-item-height) { 21 | li { 22 | padding-left: @space; 23 | 24 | &, 25 | &:not(.list-nested-item), 26 | &.list-nested-item > .list-item { 27 | min-height: @height; 28 | line-height: @height; 29 | color: @color; 30 | &:before { 31 | height: @height; 32 | line-height: @height; 33 | } 34 | &:hover { 35 | color: lighten(@color, 12%); 36 | } 37 | 38 | &.path-details { // search 39 | color: @fg-highlight; 40 | } 41 | } 42 | &.selected { 43 | color: @fg-selected; 44 | 45 | &:before { 46 | line-height: @height; 47 | min-height: @height; 48 | background-color: @level-2-bg; 49 | } 50 | } 51 | } 52 | 53 | .li-variation-mixin( status-modified, @fg-modified, lighten(@fg-modified, 12%) ); 54 | .li-variation-mixin( status-added, @fg-added, lighten(@fg-added, 12%) ); 55 | .li-variation-mixin( status-ignored, @fg-ignored, lighten(@fg-ignored, 12%) ); 56 | .li-variation-mixin( text-subtle, @fg-subtle, lighten(@fg-subtle, 12%) ); 57 | .li-variation-mixin( text-info, @fg-info, lighten(@fg-info, 12%) ); 58 | .li-variation-mixin( text-success, @fg-success, lighten(@fg-success, 12%) ); 59 | .li-variation-mixin( text-warning, @fg-warning, lighten(@fg-warning, 12%) ); 60 | .li-variation-mixin( text-error, @fg-error, lighten(@fg-error, 12%) ); 61 | } 62 | 63 | .command-palette .list-group .character-match { 64 | font-weight: inherit; 65 | } 66 | 67 | .list-group { 68 | .li-mixin (@base-fg, @list-item-height); 69 | 70 | } 71 | .list-tree { 72 | .li-mixin (@base-fg, @tree-item-height); 73 | } 74 | 75 | .list-group, 76 | .list-tree { 77 | 78 | .icon { 79 | line-height: inherit; 80 | position: relative; 81 | &::before { 82 | height: 16px; 83 | line-height: 16px; 84 | } 85 | } 86 | button { //e.g. open file list package 87 | padding: 0; 88 | height: 100%; 89 | line-height: 100%; 90 | margin-right: @space; 91 | } 92 | .no-icon { 93 | padding-left: @component-icon-size + @component-icon-padding; 94 | } 95 | .status { 96 | float: left; 97 | } 98 | .two-lines { 99 | height: auto; 100 | } 101 | .primary-line { 102 | line-height: @list-item-height; 103 | } 104 | .secondary-line { 105 | line-height: 1; 106 | padding-bottom: @space; 107 | } 108 | .secondary-line, 109 | .key-binding { 110 | background: transparent; 111 | color: @fg-subtle; 112 | box-shadow: none; 113 | } 114 | } 115 | 116 | .select-list ol.list-group { 117 | margin: 0; 118 | 119 | li { 120 | &.selected { 121 | color: @fg-selected; 122 | background-color: @level-3-bg; 123 | &:before{ 124 | display: none; 125 | } 126 | } 127 | } 128 | 129 | &.mark-active { 130 | @active-icon-size: 14px; 131 | 132 | // pad in front of the text where the icon would be We'll pad the non- 133 | // active items with a 'fake' icon so other classes can pad the item 134 | // without worrying about the icon padding. 135 | li::before, 136 | li.selected:before { 137 | content: ''; 138 | background-color: transparent; 139 | position: static; 140 | display: inline-block; 141 | left: auto; 142 | right: auto; 143 | width: @active-icon-size; 144 | float: left; 145 | } 146 | > li:not(.active):before { 147 | margin-right: @component-icon-padding; 148 | } 149 | li.active { 150 | .octicon(check, @active-icon-size); 151 | &::before { //icon 152 | margin-right: @component-icon-padding; 153 | color: @fg-success; 154 | height: @list-item-height; 155 | line-height: @list-item-height; 156 | } 157 | } 158 | } 159 | } 160 | 161 | .select-list.popover-list { 162 | background-color: @overlay-background-color; 163 | box-shadow: @shadow; 164 | padding: @space; 165 | border-radius: @component-border-radius; 166 | 167 | atom-text-editor.mini { 168 | margin-bottom: @space; 169 | } 170 | 171 | .list-group li { 172 | padding-left: @space; 173 | } 174 | } 175 | 176 | li.ui-draggable-dragging, 177 | li.ui-sortable-helper { 178 | height: @list-item-height; 179 | line-height: @list-item-height; 180 | border: 0; 181 | border-radius: 0; 182 | list-style: none; 183 | padding: 0 @component-padding; 184 | background: @level-2-bg; 185 | box-shadow: @shadow; 186 | } 187 | -------------------------------------------------------------------------------- /styles/messages.less: -------------------------------------------------------------------------------- 1 | ul.background-message { 2 | color: @fg-faded; 3 | font-size: @scale-b-xxl * 1rem; 4 | } 5 | atom-notifications { 6 | atom-notification { 7 | &:first-child.has-close .message { 8 | padding-right: 12rem; 9 | } 10 | &:only-child.has-close .message, 11 | &.has-close .message { 12 | padding-right: 4rem; 13 | } 14 | .message p { 15 | line-height: 1rem; 16 | } 17 | .close { 18 | height: 3rem; 19 | line-height: 3rem; 20 | } 21 | &.icon:before { 22 | padding-top: ~"calc((3rem - 16px) / 2)"; 23 | } 24 | .close-all.btn { 25 | border: none !important; 26 | color: inherit; 27 | &:hover, 28 | &:active { 29 | background: transparent !important; 30 | box-shadow: none !important; 31 | } 32 | } 33 | .close-all.btn.btn-error, 34 | .btn-copy-report { 35 | &:hover, 36 | &:active { 37 | color: darken(@fg-error, 32%); 38 | } 39 | } 40 | .close-all.btn.btn-warning { 41 | &:hover, 42 | &:active { 43 | color: darken(@fg-warning, 32%); 44 | } 45 | } 46 | .close-all.btn.btn-success { 47 | &:hover, 48 | &:active { 49 | color: darken(@fg-success, 32%); 50 | } 51 | } 52 | .btn.btn-error { 53 | height: 2rem; 54 | line-height: ~"calc(2rem - 2px)"; 55 | } 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /styles/nav.less: -------------------------------------------------------------------------------- 1 | //not sure what this is for 2 | .nav-tabs { 3 | border-bottom: 1px solid @stroke; 4 | li { 5 | a, 6 | &.active a { 7 | border: none; 8 | margin-right: 0px; 9 | margin-bottom: 1px; 10 | } 11 | 12 | a:hover, 13 | &.active a, 14 | &.active a:hover { 15 | background-color: @level-2-bg; 16 | border: none; 17 | color: @fg-selected; 18 | border-bottom-left-radius: 0px; 19 | border-bottom-right-radius: 0px; 20 | } 21 | 22 | &.active a { 23 | background-color: @level-3-bg; 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /styles/overlays.less: -------------------------------------------------------------------------------- 1 | @overlay-backdrop-color: hsla( @ui-hue, @ui-saturation, 6%, .6); 2 | 3 | atom-panel.modal { 4 | color: @base-fg; 5 | padding: @component-padding; 6 | background-color: transparent; 7 | padding: @component-padding; 8 | 9 | atom-text-editor.mini { 10 | margin-bottom: @component-padding; 11 | } 12 | 13 | .select-list ol.list-group, 14 | &.select-list ol.list-group { 15 | border: 1px solid @overlay-border-color; 16 | background-color: @level-2-bg; 17 | 18 | li { 19 | border-bottom: 1px solid @level-3-bg; 20 | 21 | .status.icon { 22 | float: right; 23 | margin-right: @component-icon-padding; 24 | margin-left: @component-icon-padding; 25 | &:before { 26 | margin-right: 0; 27 | } 28 | } 29 | } 30 | } 31 | 32 | > * { 33 | position: relative; 34 | } 35 | 36 | // Container 37 | &:before { 38 | content: ""; 39 | position: absolute; 40 | top: 0; 41 | left: 0; 42 | right: 0; 43 | bottom: 0; 44 | z-index: 0; 45 | background-color: @overlay-background-color; 46 | border: 1px solid @stroke; 47 | border-top: 1px solid @stroke; 48 | border-radius: 0 0 @component-border-radius @component-border-radius; 49 | box-shadow: @shadow; 50 | } 51 | // Backdrop 52 | &:after { 53 | content: ""; 54 | position: fixed; 55 | top: 0; 56 | left: 0; 57 | right: 0; 58 | bottom: 0; 59 | z-index: -1; 60 | background: @overlay-backdrop-color; 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /styles/panels.less: -------------------------------------------------------------------------------- 1 | atom-panel { 2 | &.top, 3 | &.right, 4 | &.bottom, 5 | &.left { 6 | background: @level-3-bg; 7 | } 8 | } 9 | 10 | .panel { 11 | &.bordered { 12 | border-radius: @component-border-radius; 13 | } 14 | } 15 | 16 | .tool-panel { 17 | &.tool-panel { 18 | color: @fg-subtle; 19 | background-color: @tool-panel-background-color; 20 | 21 | &.panel-bottom { 22 | background-color: @level-2-bg; 23 | } 24 | } 25 | } 26 | 27 | .inset-panel { 28 | background-color: @level-1-bg; 29 | &.bordered { 30 | border-radius: @component-border-radius; 31 | } 32 | } 33 | 34 | .panel-heading { 35 | color: @base-fg; 36 | font-weight: bold; 37 | background-color: @panel-heading-background-color; 38 | } 39 | -------------------------------------------------------------------------------- /styles/panes.less: -------------------------------------------------------------------------------- 1 | atom-pane-container atom-pane .item-views .pane-item { 2 | background-color: @level-3-bg; 3 | color: @base-fg; 4 | } 5 | 6 | atom-pane-container { 7 | atom-pane { 8 | position: relative; 9 | background-color: @level-2-bg !important; //overrule an inline style 10 | } 11 | 12 | atom-pane-axis.horizontal > * { 13 | border-right: 1px solid @pane-item-border-color; 14 | &:last-child { border-right: none; } 15 | } 16 | 17 | atom-pane-axis.vertical > * { 18 | border-bottom: 1px solid @pane-item-border-color; 19 | &:last-child { border-bottom: none; } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /styles/progress.less: -------------------------------------------------------------------------------- 1 | @height: 8px; 2 | 3 | @-webkit-keyframes animate { 4 | 0% { 5 | -webkit-transform: translate(-25%); 6 | } 7 | 100% { 8 | -webkit-transform: translate(25%); 9 | } 10 | } 11 | 12 | progress { 13 | -webkit-appearance: none; 14 | max-height: @height; 15 | box-sizing: border-box; 16 | border: 1px solid @stroke; 17 | position: relative; 18 | overflow: hidden; 19 | border-radius: @height; 20 | background-clip: padding-box; 21 | 22 | &::-webkit-progress-bar { 23 | background: #fff; 24 | } 25 | &::-webkit-progress-value { 26 | background-color: @ui-accent; 27 | box-shadow: inset 0 0 2px @ui-accent; 28 | } 29 | 30 | &:not([value]) { 31 | &::-webkit-progress-bar { 32 | background: mix(@ui-accent, #fff, 50%); 33 | } 34 | &::after { 35 | content:''; 36 | display: block; 37 | position: absolute; 38 | left: 25%; 39 | top: 0; 40 | width: 50%; 41 | height: 100%; 42 | background: @ui-accent; 43 | z-index: 1; 44 | background: radial-gradient(circle, @ui-accent, mix(@ui-accent, #fff, 50%)); 45 | transform: translate(0); 46 | -webkit-animation: animate 3s alternate ease-in-out 7; // stop animation after 7 runs (21s) to limit CPU usage 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /styles/scrollbars.less: -------------------------------------------------------------------------------- 1 | .scrollbars-visible-always { 2 | /deep/ ::-webkit-scrollbar { 3 | width: @component-padding; 4 | height: @component-padding; 5 | } 6 | 7 | atom-text-editor { 8 | /deep/ ::-webkit-scrollbar-track { 9 | background: @ui-theme-color; 10 | } 11 | } 12 | 13 | /deep/ ::-webkit-scrollbar-track { 14 | background: transparent; 15 | } 16 | 17 | /deep/ ::-webkit-scrollbar-thumb, 18 | /deep/ ::-webkit-scrollbar-corner { 19 | border-radius: @component-padding; 20 | border: 3px solid transparent; 21 | background: @level-1-bg; 22 | background-clip: content-box; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /styles/settings.less: -------------------------------------------------------------------------------- 1 | .settings-view { 2 | .settings-panel label, 3 | .breadcrumb, 4 | .setting-title, 5 | .package-readme { 6 | font-size: inherit; 7 | } 8 | .section-container { 9 | max-width: 60rem; 10 | } 11 | .config-menu { 12 | background: @level-3-bg; 13 | .nav > li > a:hover { 14 | background: transparent; 15 | } 16 | } 17 | .form-control { 18 | height: @component-line-height * @scale-a; 19 | padding: 0; 20 | line-height: @component-line-height * @scale-a; 21 | border-radius: @component-border-radius; 22 | max-width: 40rem; 23 | } 24 | atom-text-editor.mini { 25 | background: @level-2-bg; 26 | } 27 | 28 | .link { 29 | &, 30 | &:hover { 31 | color: @fg-highlight; 32 | } 33 | } 34 | 35 | .section:first-of-type { 36 | border-top: none; 37 | } 38 | 39 | section .section-heading, 40 | .section .section-heading { 41 | font-size: @scale-a-xl * 1rem; 42 | 43 | &.icon:before { 44 | font-size: 24px; 45 | height: 24px; 46 | width: 24px; 47 | } 48 | } 49 | 50 | 51 | .package-card { 52 | font-size: inherit; 53 | background: @level-2-bg; 54 | &:hover { 55 | background: @level-1-bg; 56 | } 57 | 58 | .card-name { 59 | a { 60 | color: @fg-highlight; 61 | } 62 | } 63 | .package-name, 64 | .package-description { 65 | line-height: @scale-a-l * 1rem; 66 | } 67 | .meta-user .avatar { 68 | height: @component-line-height; 69 | width: @component-line-height; 70 | } 71 | .meta-controls .status-indicator{ 72 | max-height: @component-line-height; 73 | } 74 | } 75 | 76 | 77 | //alerts like "checking for updates" 78 | .alert-mixin (@bg, @fg) { 79 | color: @fg; 80 | border-color: @bg; 81 | background-color: transparent; 82 | } 83 | .alert { .alert-mixin( @base-fg, @base-fg ); } 84 | .alert-success { .alert-mixin( @bg-success, @fg-success ); } 85 | .alert-info { .alert-mixin( @bg-info, @fg-info ); } 86 | .alert-warning { .alert-mixin( @bg-warning, @fg-warning ); } 87 | .alert-danger { .alert-mixin( @bg-error, @fg-error ); } 88 | 89 | .checkbox { 90 | font-size: 1rem; 91 | padding-left: 2rem; 92 | 93 | input[type="checkbox"] { 94 | margin-left: -2rem; 95 | &:checked { 96 | background: @fg-success; 97 | } 98 | } 99 | } 100 | } 101 | -------------------------------------------------------------------------------- /styles/spinner.less: -------------------------------------------------------------------------------- 1 | /* 2 | Thanks to: http://stephanwagner.me/only-css-loading-spinner 3 | */ 4 | 5 | @keyframes spinner { 6 | to {transform: rotate(360deg);} 7 | } 8 | 9 | @-webkit-keyframes spinner { 10 | to {-webkit-transform: rotate(360deg);} 11 | } 12 | 13 | .loading-spinner(@size) { 14 | min-width: @size; 15 | min-height: @size; 16 | display: block; 17 | position: relative; 18 | 19 | &:before { 20 | content: ''; 21 | position: absolute; 22 | top: 50%; 23 | left: 50%; 24 | width: @size; 25 | height: @size; 26 | margin-top: @size / -2; 27 | margin-left: @size / -2; 28 | border-radius: 50%; 29 | border: 2px solid @base-fg; 30 | border-top-color: @base-bg; 31 | animation: spinner .7s cubic-bezier(0.645, 0.045, 0.355, 1) infinite; 32 | -webkit-animation: spinner .7s cubic-bezier(0.645, 0.045, 0.355, 1) infinite; 33 | } 34 | 35 | &.inline-block { 36 | display: inline-block; 37 | min-height: 1em; // fixes alignment if spinner larger than text 38 | } 39 | } 40 | 41 | 42 | // rounded values to ensure circles 43 | .loading-spinner-large { 44 | @large: round(@scale-a-xl * 24); 45 | .loading-spinner(@large * 1px); 46 | } 47 | 48 | .loading-spinner-medium { 49 | @medium: round(@scale-a-l * 24); 50 | .loading-spinner(@medium * 1px); 51 | } 52 | 53 | .loading-spinner-small { 54 | @small: 24; 55 | .loading-spinner(@small * 1px); 56 | } 57 | 58 | .loading-spinner-tiny { 59 | @tiny: .8 * 24; 60 | .loading-spinner(@tiny * 1px); 61 | } 62 | -------------------------------------------------------------------------------- /styles/status-bar.less: -------------------------------------------------------------------------------- 1 | .status-bar { 2 | 3 | height: ~"calc("@component-line-height ~"+ 3px)"; 4 | line-height: ~"calc("@component-line-height ~"+ 2px)"; 5 | background: @tool-panel-background-color; 6 | border: none; 7 | font-size: 1rem; 8 | 9 | > * { 10 | padding: 0 @space; 11 | } 12 | 13 | .status-bar-left > *, 14 | .status-bar-left .inline-block, 15 | .status-bar-right > *, 16 | .status-bar-right .inline-block { 17 | vertical-align: top; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /styles/styleguide.less: -------------------------------------------------------------------------------- 1 | .styleguide section.bordered, 2 | .styleguide section.collapsed { 3 | padding: @component-padding 0; // stops jumping of the title when collapsing 4 | } 5 | 6 | .styleguide atom-panel.modal:after { 7 | position: absolute; // prevent overlay backdrop from leaking outside 8 | left: -@component-padding/2; 9 | right: -@component-padding/2; 10 | bottom: -@component-padding/2; 11 | } 12 | .styleguide .atom-panel.modal:after { 13 | position: absolute; // prevent overlay backdrop from leaking outside 14 | } 15 | 16 | .styleguide .select-list atom-text-editor[mini], 17 | .styleguide .popover-list atom-text-editor[mini] { 18 | } 19 | 20 | .example { 21 | border: none; 22 | 23 | .example-rendered { 24 | border: 1px solid @stroke; 25 | border-right: none; 26 | background: @level-2-bg; 27 | } 28 | 29 | .example-code { 30 | border: 1px solid @stroke; 31 | border-radius: 0 @component-border-radius @component-border-radius 0; 32 | 33 | .btn-group .btn.selected { 34 | background: @level-3-bg; 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /styles/tabs.less: -------------------------------------------------------------------------------- 1 | @modified-icon-width: @component-icon-size / 2; 2 | @tab-top-padding: @space/3; 3 | @tab-max-width: none; 4 | @tab-min-width: 60px; 5 | 6 | @tab-text-color: @fg-subtle; 7 | 8 | .close-icon-mixin() { 9 | margin-top: -9px; 10 | margin-right: -6px; 11 | top: 50%; 12 | right: @scale-a-l * 1rem; 13 | width: 12px; 14 | height: 12px; 15 | border: none !important; //overrule default modified indicator 16 | background: transparent; 17 | opacity: 0; 18 | 19 | &:before { 20 | position: absolute; 21 | top: 0; 22 | right: 0; 23 | text-align: center; 24 | line-height: 1; 25 | color: inherit; 26 | } 27 | 28 | &:hover { 29 | color: @ui-accent; 30 | opacity: 1; 31 | } 32 | } 33 | 34 | .tab-bar { 35 | position: relative; 36 | overflow-x: auto; 37 | overflow-y: hidden; 38 | background: @tab-bar-background-color; 39 | height: ~"calc("@tab-height~"- 2px)"; 40 | 41 | &:before { 42 | content: ''; 43 | position: absolute; 44 | top: ~"calc("@tab-height + @tab-top-padding ~"- 2px)"; 45 | left: 0; 46 | width: 100%; 47 | height: 1px; 48 | margin-top: -1px; 49 | border-top: 1px solid @item-views-stroke; 50 | z-index: 1; 51 | } 52 | 53 | &::-webkit-scrollbar { 54 | display: none; 55 | } 56 | 57 | .tab { 58 | max-width: @tab-max-width; 59 | height: ~"calc("@tab-height ~"- 2px)"; 60 | line-height: ~"calc("@tab-height ~"- 4px)"; 61 | font-size: inherit; 62 | padding: 0; 63 | margin: 0; 64 | color: @tab-text-color; 65 | background: transparent; 66 | border: 1px solid transparent; 67 | border-bottom: none; 68 | text-align: center; 69 | transition: background .1s; 70 | 71 | &:hover { 72 | color: @base-fg; 73 | background: fade(@level-3-bg, 30%); 74 | .close-icon { 75 | opacity: 1; 76 | color: @base-fg; 77 | transition: opacity .1s; 78 | } 79 | } 80 | 81 | .title { 82 | padding: 0 30px 0 @space; 83 | } 84 | 85 | .close-icon { 86 | .close-icon-mixin(); 87 | } 88 | } 89 | 90 | .tab.modified { 91 | .close-icon:before { 92 | content: "\f052"; 93 | } 94 | &:not(:hover) .close-icon { 95 | .close-icon-mixin(); 96 | opacity: 1; 97 | transform: scale(1); 98 | &:before { 99 | display: block; // overrule default style 100 | } 101 | } 102 | &:hover .close-icon { 103 | color: @base-fg; 104 | transform: scale(1); 105 | 106 | &:hover { 107 | color: @ui-accent; 108 | } 109 | } 110 | } 111 | 112 | .tab.is-dragging { 113 | .close-icon, 114 | &:before { 115 | visibility: hidden; 116 | } 117 | &::after { 118 | background: darken(@tab-background-color, 6%); 119 | border-color: transparent; 120 | opacity: .5; 121 | } 122 | } 123 | 124 | .placeholder { 125 | margin: 0; 126 | height: @tab-height + @tab-top-padding; 127 | background: @ui-accent; 128 | pointer-events: none; 129 | &:after { 130 | display: none; 131 | } 132 | 133 | &:last-child { 134 | margin-left: -2px; 135 | 136 | &:after { 137 | margin-left: -10px; 138 | border-color: transparent @ui-accent transparent transparent; 139 | } 140 | } 141 | } 142 | } 143 | 144 | atom-pane .tab-bar .tab.active { 145 | z-index: 1; 146 | background: fade(@level-3-bg, 60%); 147 | min-width: @tab-min-width; 148 | border-color: @item-views-stroke; 149 | .title { 150 | padding-right: 30px; //overrule default 151 | } 152 | .close-icon { 153 | opacity: 1; 154 | } 155 | } 156 | 157 | // active tab in the active pane 158 | atom-pane.active .tab-bar .tab.active { 159 | &:not([data-type="TextEditor"]) { 160 | background-color: @level-3-bg; 161 | color: contrast(@level-3-bg, @base-fg, @level-1-bg); 162 | & .close-icon { 163 | color:contrast(@level-3-bg, @base-fg, @level-1-bg); 164 | } 165 | &:hover .close-icon { 166 | color: contrast(@level-3-bg, @base-fg, @level-1-bg); 167 | 168 | &:hover { 169 | color: @ui-accent; 170 | } 171 | } 172 | &[data-type="GitControlView"] { 173 | background-color: @level-2-bg; 174 | color: contrast(@level-2-bg, @base-fg, @level-1-bg); 175 | & .close-icon { 176 | color:contrast(@level-2-bg, @base-fg, @level-1-bg); 177 | } 178 | &:hover .close-icon { 179 | color: contrast(@level-2-bg, @base-fg, @level-1-bg); 180 | 181 | &:hover { 182 | color: @ui-accent; 183 | } 184 | } 185 | } 186 | } 187 | &, 188 | &[data-type="MarkdownPreviewView"] { 189 | background-color: @tab-background-color-active; 190 | color: contrast(@ui-theme-color, @base-fg, @level-1-bg); 191 | 192 | .close-icon { 193 | color: contrast(@ui-theme-color, @base-fg, @level-1-bg); 194 | } 195 | 196 | &:hover .close-icon { 197 | color: contrast(@ui-theme-color, @base-fg, @level-1-bg); 198 | } 199 | &:hover .close-icon:hover { 200 | color: @ui-accent; 201 | } 202 | } 203 | } 204 | 205 | body:not([data-isotope-ui-minimal='true']) { 206 | .tab-bar { 207 | height: ~"calc("@tab-height + @tab-top-padding ~"- 2px)"; 208 | 209 | .tab { 210 | top: @tab-top-padding; 211 | border-top-left-radius: @component-border-radius; 212 | border-top-right-radius: @component-border-radius; 213 | height: ~"calc("@tab-height + @tab-top-padding ~"- 1px)"; 214 | border-bottom: none; 215 | } 216 | } 217 | atom-pane.active .tab-bar .tab.active { 218 | box-shadow: inset .5*@tab-height @tab-height @tab-height -1*@tab-height rgba(255,255,255,.05); 219 | } 220 | } 221 | 222 | body[data-isotope-ui-minimal='true'] { 223 | .tab-bar::before { 224 | top: ~"calc("@tab-height ~"- 2px)"; 225 | } 226 | .tab-bar .tab .close-icon { 227 | margin-top: -7px !important; 228 | } 229 | } 230 | 231 | .tab-bar { 232 | .tab, 233 | .tab.active { 234 | flex: 1 1 0; 235 | min-width: 7em; 236 | max-width: none; 237 | } 238 | } 239 | 240 | body[data-isotope-ui-tabsizing="minimum"] .tab-bar { 241 | .tab, 242 | .tab.active { 243 | flex: 0 0 auto; 244 | min-width: 2.75em; 245 | max-width: 7em * 3.3; 246 | } 247 | } 248 | -------------------------------------------------------------------------------- /styles/text.less: -------------------------------------------------------------------------------- 1 | .selected { 2 | color: @fg-highlight; 3 | } 4 | 5 | .text-smaller { 6 | font-size: @scale-a-s * 1rem; 7 | } 8 | 9 | .text-subtle { 10 | color: @fg-subtle; 11 | } 12 | .text-highlight { 13 | color: @fg-highlight; 14 | } 15 | 16 | .text-error { 17 | color: @fg-error; 18 | } 19 | .text-info { 20 | color: @fg-info; 21 | &:hover { 22 | color: @fg-info; 23 | } 24 | } 25 | .text-warning { 26 | color: @fg-warning; 27 | &:hover { 28 | color: @fg-warning; 29 | } 30 | } 31 | .text-success { 32 | color: @fg-success; 33 | &:hover { 34 | color: @fg-success; 35 | } 36 | } 37 | 38 | .highlight-mixin { 39 | padding: 1px 4px; 40 | text-shadow: none; 41 | border-radius: @component-border-radius; 42 | color: @fg-highlight; 43 | } 44 | .highlight { 45 | .highlight-mixin(); 46 | background-color: @level-2-bg; 47 | } 48 | .highlight-color-mixin(@name, @color, @base-fg) { 49 | .highlight-@{name} { 50 | .highlight-mixin(); 51 | background-color: fadeout(@color, 50%); 52 | } 53 | } 54 | .highlight-color-mixin(info, @bg-info, @fg-info); 55 | .highlight-color-mixin(warning, @bg-warning, @fg-warning); 56 | .highlight-color-mixin(error, @bg-error, @fg-error); 57 | .highlight-color-mixin(success, @bg-success, @fg-success); 58 | -------------------------------------------------------------------------------- /styles/tooltips.less: -------------------------------------------------------------------------------- 1 | @tooltip-background-color: @ui-accent; 2 | @tooltip-text-color: contrast(@tooltip-background-color, white, hsl(0,0%,20%), 60 ); 3 | @tooltip-text-key-color: darken(@tooltip-text-color, 12%); 4 | 5 | .tooltip { 6 | white-space: nowrap; 7 | font-size: @scale-a-m * 1rem; 8 | -webkit-filter: drop-shadow(0 0 3px fadeOut(@stroke, 50%)); 9 | 10 | .tooltip-inner { 11 | line-height: @component-line-height; 12 | padding: 0 @space; 13 | border-radius: @component-border-radius; 14 | background-color: @tooltip-background-color; 15 | color: @tooltip-text-color; 16 | white-space: nowrap; 17 | max-width: none; 18 | } 19 | 20 | .keystroke { 21 | margin: 0 0 0 1rem; 22 | color: @tooltip-text-key-color; 23 | } 24 | 25 | &.in { 26 | opacity: 1; 27 | transition: opacity .1s ease-out; 28 | } 29 | 30 | &.top .tooltip-arrow { 31 | border-top-color: @tooltip-background-color; 32 | } 33 | &.top-left .tooltip-arrow { 34 | border-top-color: @tooltip-background-color; 35 | } 36 | &.top-right .tooltip-arrow { 37 | border-top-color: @tooltip-background-color; 38 | } 39 | &.right .tooltip-arrow { 40 | border-right-color: @tooltip-background-color; 41 | } 42 | &.left .tooltip-arrow { 43 | border-left-color: @tooltip-background-color; 44 | } 45 | &.bottom .tooltip-arrow { 46 | border-bottom-color: @tooltip-background-color; 47 | } 48 | &.bottom-left .tooltip-arrow { 49 | border-bottom-color: @tooltip-background-color; 50 | } 51 | &.bottom-right .tooltip-arrow { 52 | border-bottom-color: @tooltip-background-color; 53 | } 54 | } 55 | 56 | [data-isotope-ui-tooltip-lowcontrast='true'] { 57 | .tooltip { 58 | .tooltip-inner { 59 | background: @level-1-bg; 60 | } 61 | .keystroke { 62 | color: @base-fg; 63 | } 64 | &.top .tooltip-arrow { 65 | border-top-color: @level-1-bg; 66 | } 67 | &.top-left .tooltip-arrow { 68 | border-top-color: @level-1-bg; 69 | } 70 | &.top-right .tooltip-arrow { 71 | border-top-color: @level-1-bg; 72 | } 73 | &.right .tooltip-arrow { 74 | border-right-color: @level-1-bg; 75 | } 76 | &.left .tooltip-arrow { 77 | border-left-color: @level-1-bg; 78 | } 79 | &.bottom .tooltip-arrow { 80 | border-bottom-color: @level-1-bg; 81 | } 82 | &.bottom-left .tooltip-arrow { 83 | border-bottom-color: @level-1-bg; 84 | } 85 | &.bottom-right .tooltip-arrow { 86 | border-bottom-color: @level-1-bg; 87 | } 88 | } 89 | } 90 | -------------------------------------------------------------------------------- /styles/tree-view.less: -------------------------------------------------------------------------------- 1 | .project-root(@height) { 2 | li.project-root, 3 | li.project-root:not(.list-nested-item), 4 | li.project-root.list-nested-item > .list-item { 5 | //align it with tab titles 6 | min-height: @height; 7 | line-height: @height; 8 | } 9 | li.project-root.selected:before, 10 | li.project-root:not(.list-nested-item).selected:before, 11 | li.project-root.list-nested-item.selected > .list-item:before { 12 | height: @height; 13 | min-height: @height; 14 | line-height: @height; 15 | } 16 | } 17 | 18 | .tree-view.list-tree { 19 | 20 | .li-mixin (@fg-subtle, @scale-b-xl * 1rem); 21 | 22 | padding: @space/3 0 0 0; 23 | 24 | li { 25 | &.selected, 26 | &:not(.list-nested-item).selected, 27 | &.list-nested-item.selected > .list-item { 28 | color: @base-fg; 29 | &:before { 30 | box-sizing: content-box; 31 | margin-top: -1px; 32 | border-top: 1px solid mix(@level-2-bg, @level-3-bg); 33 | border-bottom: 1px solid mix(@level-2-bg, @level-3-bg); 34 | background-color: mix(@level-2-bg, @level-3-bg); 35 | } 36 | } 37 | .icon { 38 | padding-left: 22px; 39 | &::before { 40 | position: absolute; 41 | left: 0; 42 | top: 0; 43 | } 44 | &[data-name=".gitignore"]::before { 45 | top: -1px; 46 | } 47 | &[data-name="Gruntfile.js"]::before { 48 | top: -1px; 49 | } 50 | } 51 | 52 | //add these variations in here as well for specicifty 53 | .li-variation-mixin ( status-modified, @fg-modified, lighten(@fg-modified, 12%) ); 54 | .li-variation-mixin ( status-added, @fg-added, lighten(@fg-added, 12%) ); 55 | } 56 | 57 | .project-root(~"calc("@tab-height ~"- 2px)"); 58 | 59 | // hide pointer icons in treeview 60 | &.has-collapsable-children { 61 | .list-nested-item > .list-item:before { 62 | display: none; 63 | } 64 | .list-nested-item > .list-tree > li, 65 | .list-nested-item > .list-group > li { 66 | margin-left: 0; 67 | } 68 | } 69 | 70 | // correct git icon size 71 | .icon-file-directory[data-name=".git"] { 72 | &:before { 73 | top: 2px; 74 | font-size: medium; 75 | } 76 | } 77 | 78 | &:focus { 79 | li { 80 | &.selected, 81 | &:not(.list-nested-item).selected, 82 | &.list-nested-item.selected > .list-item { 83 | &:before { 84 | background-color: @level-3-bg; 85 | border-color: @level-3-bg; 86 | } 87 | } 88 | } 89 | } 90 | } 91 | 92 | body[data-isotope-ui-minimal='true'] { 93 | .tree-view.list-tree { 94 | padding-top: 1px; 95 | .project-root(~"calc("@tab-height~"- 4px)"); 96 | } 97 | } 98 | 99 | .tree-view > ol { 100 | padding: .5rem 0; 101 | } 102 | 103 | .tree-view span.name { 104 | padding-right: .5rem; 105 | } 106 | -------------------------------------------------------------------------------- /styles/ui-mixins.less: -------------------------------------------------------------------------------- 1 | // there's probably a .octicon mixin we should use... 2 | .icon () { 3 | -webkit-font-smoothing: antialiased; 4 | display: inline-block; 5 | font-family: 'Octicons Regular'; 6 | font-size: @component-icon-size; 7 | font-style: normal; 8 | font-weight: normal; 9 | height: @component-icon-size; 10 | line-height: @component-line-height; 11 | position: relative; 12 | text-align: center; 13 | text-decoration: none; 14 | width: @component-icon-size; 15 | } 16 | -------------------------------------------------------------------------------- /styles/ui-variables.less: -------------------------------------------------------------------------------- 1 | @import "syntax-variables"; 2 | 3 | 4 | //provide defaults, users can set configs that are handled in config.less 5 | @font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; 6 | @font-size: 11px; 7 | @font-weight: 400; 8 | 9 | 10 | // a modular scale maintains relations across all sizes and spaces 11 | // hhttp://www.modularscale.com 12 | // rounding prevents stray pixel rounding error glitches 13 | @scale-a: 1.15; 14 | @scale-b: 1.3; 15 | 16 | @scale-a-s: round(pow(@scale-a, -1), 1); 17 | @scale-a-m: 1; 18 | @scale-a-l: round(pow(@scale-a, 1), 1); 19 | @scale-a-xl: round(pow(@scale-a, 2), 1); 20 | @scale-a-xxl: round(pow(@scale-a, 3), 1); 21 | @scale-a-xxxl: round(pow(@scale-a, 4), 1); 22 | 23 | @scale-b-s: round(pow(@scale-b, -1), 1); 24 | @scale-b-m: 1; 25 | @scale-b-l: round(pow(@scale-b, 1), 1); 26 | @scale-b-xl: round(pow(@scale-b, 2), 1); 27 | @scale-b-xxl: round(pow(@scale-b, 3), 1); 28 | 29 | @space: round(@scale-b-s, 1) * 1rem; 30 | 31 | // leading color 32 | @ui-theme-color: @syntax-background-color; 33 | 34 | // Tend towards blue instead of red when base color is white 35 | .ui-hue() when (hsvhue(@ui-theme-color) = 0) and (hsvsaturation(@ui-theme-color) = 0%) { 36 | @ui-hue: 180; 37 | } 38 | .ui-hue() when (hsvhue(@ui-theme-color) > 0), (hsvsaturation(@ui-theme-color) > 0%) { 39 | @ui-hue: hsvhue(@ui-theme-color); 40 | } 41 | .ui-hue(); 42 | 43 | .ui-saturation() when (hsvhue(@ui-theme-color) >= 180) { 44 | @ui-saturation: min(hsvsaturation(@ui-theme-color), 24%); 45 | } 46 | .ui-saturation() when (hsvhue(@ui-theme-color) > 280), (hsvhue(@ui-theme-color) < 180) { 47 | @ui-saturation: min(hsvsaturation(@ui-theme-color), 6%); 48 | } 49 | .ui-saturation(); 50 | 51 | .ui-brightness() when (hsvvalue(@ui-theme-color) >= 50%) { 52 | @ui-brightness: hsvvalue(@ui-theme-color) - 80%; 53 | } 54 | .ui-brightness() when (hsvvalue(@ui-theme-color) < 50%) { 55 | @ui-brightness: hsvvalue(@ui-theme-color) + 6%; 56 | } 57 | .ui-brightness(); 58 | 59 | @ui-accent: spin( hsl( @ui-hue, 60% + @ui-saturation, 60%), 66 ); 60 | 61 | 62 | 63 | // background 64 | @base-bg: hsv(@ui-hue, @ui-saturation, @ui-brightness); 65 | 66 | @level-1-bg: lighten(@base-bg, 6%); 67 | @level-2-bg: darken(@base-bg, 0%); 68 | @level-3-bg: darken(@base-bg, 6%); 69 | 70 | @stroke: darken(@base-bg, 6%); 71 | @item-views-stroke: darken(@base-bg, 7%); 72 | 73 | @bg-info: hsl(200, 60%, 50%); 74 | @bg-success: hsl(140, 60%, 50%); 75 | @bg-warning: hsl(40, 60%, 50%); 76 | @bg-error: hsl(350, 60%, 50%); 77 | 78 | 79 | // foreground 80 | @base-fg: hsl(@ui-hue, @ui-saturation, max(24%, (@ui-brightness) * 2.8) ); 81 | 82 | @fg-subtle: mix(@base-fg, @base-bg, 76%); 83 | @fg-faded: mix(@base-fg, @base-bg, 36%); 84 | @fg-ignored: mix(@base-fg, @base-bg, 48%); 85 | @fg-highlight: hsl(@ui-hue, @ui-saturation, 86%); 86 | @fg-selected: hsl(@ui-hue, @ui-saturation, 98%); 87 | 88 | @fg-info: hsl(200, 60%, 60%); 89 | @fg-success: hsl(140, 60%, 60%); 90 | @fg-warning: hsl(40, 60%, 60%); 91 | @fg-error: hsl(350, 60%, 60%); 92 | 93 | @fg-added: @fg-success; 94 | @fg-renamed: @fg-info; 95 | @fg-modified: @fg-warning; 96 | @fg-removed: @fg-error; 97 | 98 | @shadow: 0 0 2rem rgba(0,0,0,.3); 99 | 100 | 101 | // other required vars 102 | // may or may not be used elsewhere in this package 103 | // https://atom.io/docs/v0.174.0/theme-variables 104 | // translate to vars required for other packages 105 | @text-color: @base-fg; 106 | @text-color-subtle: @fg-subtle; 107 | @text-color-highlight: @fg-highlight; 108 | @text-color-selected: @fg-selected; 109 | @text-color-info: @fg-info; 110 | @text-color-success: @fg-success; 111 | @text-color-warning: @fg-warning; 112 | @text-color-error: @fg-error; 113 | @text-color-modified: @fg-warning; 114 | 115 | @background-color-info: @bg-info; 116 | @background-color-success: @bg-success; 117 | @background-color-warning: @bg-warning; 118 | @background-color-error: @bg-error; 119 | @background-color-highlight: @ui-theme-color; 120 | @background-color-selected: @level-2-bg; 121 | 122 | @app-background-color: @level-2-bg; 123 | @base-background-color: @app-background-color; 124 | @base-border-color: @stroke; 125 | 126 | @pane-item-background-color: @level-3-bg; 127 | @pane-item-border-color: @stroke; 128 | 129 | @input-background-color: @level-1-bg; 130 | @input-border-color: @stroke; 131 | 132 | @tool-panel-background-color: @level-2-bg; 133 | @tool-panel-border-color: @stroke; 134 | 135 | @inset-panel-background-color: @level-3-bg; 136 | @inset-panel-border-color: @stroke; 137 | 138 | @panel-heading-background-color: @level-3-bg; 139 | @panel-heading-border-color: @stroke; 140 | 141 | @overlay-background-color: @level-2-bg; 142 | @overlay-border-color: @stroke; 143 | 144 | @button-background-color: @level-1-bg; 145 | @button-background-color-hover: @level-2-bg; 146 | @button-background-color-selected: @level-1-bg; 147 | @button-border-color: @stroke; 148 | 149 | @tab-bar-background-color: @app-background-color; 150 | @tab-bar-border-color: @tab-bar-background-color; 151 | @tab-background-color: @level-2-bg; 152 | @tab-background-color-active: @ui-theme-color; 153 | @tab-border-color: @tab-background-color; 154 | 155 | @tree-view-background-color: @level-3-bg; 156 | @tree-view-border-color: @level-3-bg; 157 | 158 | @ui-site-color-1: @bg-success; // green 159 | @ui-site-color-2: spin(@bg-success, 60); // blue 160 | @ui-site-color-3: spin(@bg-success, -120); // orange 161 | @ui-site-color-4: spin(@bg-success, -210); // pink 162 | @ui-site-color-5: spin(@bg-success, -100); // yellow 163 | 164 | 165 | @disclosure-arrow-size: 1rem; 166 | 167 | @component-padding: @scale-a-m * 1rem; 168 | @component-icon-padding: @space; 169 | @component-icon-size: 16/12 * 1rem; 170 | @component-line-height: round(@scale-b-xxl) * 1rem; 171 | @component-border-radius: 4px; 172 | 173 | @tab-height: @component-line-height + (@scale-b-s * 1rem); 174 | -------------------------------------------------------------------------------- /styles/utilities.less: -------------------------------------------------------------------------------- 1 | .key-binding { 2 | display: inline-block; 3 | margin-right: @component-icon-padding; 4 | font-family: sans-serif; 5 | border-radius: 2px; 6 | } 7 | kbd { 8 | padding: 0; 9 | } 10 | 11 | .badge { 12 | color: @fg-highlight; 13 | background: @level-2-bg; 14 | border-radius: 2 * @component-border-radius; 15 | } 16 | 17 | .label { 18 | font-weight: @font-weight; 19 | } 20 | .label-primary { 21 | background: @ui-accent; 22 | } 23 | 24 | .inline-block { 25 | margin-right: @space; 26 | } 27 | .inline-block-tight { 28 | margin-right: 2px; 29 | } 30 | .inline-block .inline-block { 31 | vertical-align: top; 32 | } 33 | 34 | .fuzzy-finder .list-group .character-match, 35 | autocomplete-suggestion-list .character-match { 36 | font-weight: bolder; 37 | } 38 | autocomplete-suggestion-list.select-list.popover-list * { 39 | font-size: 1rem !important; 40 | } 41 | --------------------------------------------------------------------------------