From e26d386ed09f970be617dafd1e27d49c0b122285 Mon Sep 17 00:00:00 2001 From: Lawrence Hsu Date: Fri, 8 Nov 2013 22:24:25 -0800 Subject: [PATCH 01/45] Added Modal Window animation. --- src/styles/brackets_patterns_override.less | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/styles/brackets_patterns_override.less b/src/styles/brackets_patterns_override.less index 3b839c2305d..7fc2496c183 100644 --- a/src/styles/brackets_patterns_override.less +++ b/src/styles/brackets_patterns_override.less @@ -500,6 +500,7 @@ a:focus { position: relative; top: 0; margin: auto; + -webkit-animation: modal 270ms cubic-bezier(.05, .97, .33, 1.03) 1; } .modal .close { @@ -570,7 +571,18 @@ a:focus { } .last-backdrop { /* Only show the last modal backdrop */ - opacity: 0.5; + -webkit-animation: backdrop 280ms linear 1; + opacity: 0.4; +} + +@-webkit-keyframes backdrop { + 0% { opacity: 0; -webkit-transform: translateZ(0); } + 100% { opacity: 0.4; -webkit-transform: translateZ(0); } +} + +@-webkit-keyframes modal { + 0% { opacity: 0; -webkit-transform: translateZ(0) scale(0); } + 100% { opacity: 1; -webkit-transform: translateZ(0) scale(1); } } From bb515c5550bd14ad7e69c9857cb057958ec645f2 Mon Sep 17 00:00:00 2001 From: Lawrence Hsu Date: Fri, 8 Nov 2013 22:31:25 -0800 Subject: [PATCH 02/45] Tweak. --- src/styles/brackets_patterns_override.less | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/styles/brackets_patterns_override.less b/src/styles/brackets_patterns_override.less index 7fc2496c183..f0b2058774d 100644 --- a/src/styles/brackets_patterns_override.less +++ b/src/styles/brackets_patterns_override.less @@ -571,7 +571,7 @@ a:focus { } .last-backdrop { /* Only show the last modal backdrop */ - -webkit-animation: backdrop 280ms linear 1; + -webkit-animation: backdrop 200ms linear 1; opacity: 0.4; } From 171888efbcca403ba9b29a250f414c84e79a9640 Mon Sep 17 00:00:00 2001 From: Lawrence Hsu Date: Sat, 9 Nov 2013 08:41:13 -0800 Subject: [PATCH 03/45] Added dropdown animation. --- src/styles/brackets_patterns_override.less | 25 +++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/src/styles/brackets_patterns_override.less b/src/styles/brackets_patterns_override.less index f0b2058774d..6c6cfefe3bd 100644 --- a/src/styles/brackets_patterns_override.less +++ b/src/styles/brackets_patterns_override.less @@ -226,6 +226,20 @@ a:focus { @menubar-h-padding: 9px; @item-highlight-color: #e0f0fa; +// Dropdown Menu Animation +#project-dropdown.dropdown-menu, +.dropdown.open .dropdown-menu, +.codehint-menu.open { + -webkit-animation: dropdown 90ms cubic-bezier(0, .97, .2, .99) 1; + -webkit-backface-visibility: hidden; + -webkit-transform-origin: 0 0; +} + +@-webkit-keyframes dropdown { + 0% { opacity: 0.5; -webkit-transform: translate3d(0, 0, 0) scale(0.5); } + 100% { opacity: 1; -webkit-transform: translate3d(0, 0, 0) scale(1); } +} + .toolbar .nav, .context-menu, .codehint-menu { // The 1px adjustments here are to account for the border around the top-level menu items. @@ -500,7 +514,8 @@ a:focus { position: relative; top: 0; margin: auto; - -webkit-animation: modal 270ms cubic-bezier(.05, .97, .33, 1.03) 1; + -webkit-animation: modal 240ms cubic-bezier(0, 1.05, .35, 1) 1; + -webkit-backface-visibility: hidden; } .modal .close { @@ -576,13 +591,13 @@ a:focus { } @-webkit-keyframes backdrop { - 0% { opacity: 0; -webkit-transform: translateZ(0); } - 100% { opacity: 0.4; -webkit-transform: translateZ(0); } + 0% { opacity: 0; -webkit-transform: translate3d(0, 0, 0); } + 100% { opacity: 0.4; -webkit-transform: translate3d(0, 0, 0); } } @-webkit-keyframes modal { - 0% { opacity: 0; -webkit-transform: translateZ(0) scale(0); } - 100% { opacity: 1; -webkit-transform: translateZ(0) scale(1); } + 0% { opacity: 0; -webkit-transform: translate3d(0, 0, 0) scale(0); } + 100% { opacity: 1; -webkit-transform: translate3d(0, 0, 0) scale(1); } } From 1c59bdeb7dff0d474f2721cbf7eaa62b1a02c471 Mon Sep 17 00:00:00 2001 From: Lawrence Hsu Date: Sat, 9 Nov 2013 08:48:45 -0800 Subject: [PATCH 04/45] Removed context menu animation due to project manager selection performance issue. --- src/styles/brackets_patterns_override.less | 1 - 1 file changed, 1 deletion(-) diff --git a/src/styles/brackets_patterns_override.less b/src/styles/brackets_patterns_override.less index 6c6cfefe3bd..b47e5c5982c 100644 --- a/src/styles/brackets_patterns_override.less +++ b/src/styles/brackets_patterns_override.less @@ -228,7 +228,6 @@ a:focus { // Dropdown Menu Animation #project-dropdown.dropdown-menu, -.dropdown.open .dropdown-menu, .codehint-menu.open { -webkit-animation: dropdown 90ms cubic-bezier(0, .97, .2, .99) 1; -webkit-backface-visibility: hidden; From 362856b339224e5dc260c35f64079e52020f443c Mon Sep 17 00:00:00 2001 From: Lawrence Hsu Date: Sat, 9 Nov 2013 09:05:07 -0800 Subject: [PATCH 05/45] Removed quick open dropdown border. #5029 is no longer an issue. --- src/styles/brackets.less | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/styles/brackets.less b/src/styles/brackets.less index c6c19d0137e..7107d24ea27 100644 --- a/src/styles/brackets.less +++ b/src/styles/brackets.less @@ -1068,13 +1068,9 @@ a, img { /* Quick Open search bar & dropdown */ .smart_autocomplete_container { - - // the borders show up even if the container is empty, must set height to zero using JS. - border: 1px solid @tc-gray-panel-border; - background-color: @tc-gray-panel; border-radius: 0 0 4px 4px; - box-shadow: @tc-normal-shadow-bottom; + box-shadow: @tc-dropdown-shadow; // so that border won't show when height is 0. box-sizing: border-box; From 9357b94d03c0fc7d6d67e270a2ddadc3a629099f Mon Sep 17 00:00:00 2001 From: Lawrence Hsu Date: Sat, 9 Nov 2013 10:17:59 -0800 Subject: [PATCH 06/45] Removed backface-visibility property as it's not needed. --- src/styles/brackets_patterns_override.less | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/styles/brackets_patterns_override.less b/src/styles/brackets_patterns_override.less index b47e5c5982c..fa9dd4e4837 100644 --- a/src/styles/brackets_patterns_override.less +++ b/src/styles/brackets_patterns_override.less @@ -230,7 +230,6 @@ a:focus { #project-dropdown.dropdown-menu, .codehint-menu.open { -webkit-animation: dropdown 90ms cubic-bezier(0, .97, .2, .99) 1; - -webkit-backface-visibility: hidden; -webkit-transform-origin: 0 0; } @@ -514,7 +513,6 @@ a:focus { top: 0; margin: auto; -webkit-animation: modal 240ms cubic-bezier(0, 1.05, .35, 1) 1; - -webkit-backface-visibility: hidden; } .modal .close { From 01d19c040ead8463d8d92e0738041a2960eb016c Mon Sep 17 00:00:00 2001 From: Lawrence Hsu Date: Sat, 9 Nov 2013 10:54:54 -0800 Subject: [PATCH 07/45] Added JSTree transition. --- src/styles/jsTreeTheme.less | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/styles/jsTreeTheme.less b/src/styles/jsTreeTheme.less index bfb77100fa9..585bcae06d0 100644 --- a/src/styles/jsTreeTheme.less +++ b/src/styles/jsTreeTheme.less @@ -70,6 +70,10 @@ } &.jstree-closed, &.jstree-open { margin-left: 10px; + > ul { + -webkit-animation: jstree 90ms cubic-bezier(.01, .91, 0, .99) 1; + -webkit-transform-origin: 0 0; + } > a { color: @project-panel-text-2; } @@ -79,6 +83,11 @@ } } +@-webkit-keyframes jstree { + 0% { opacity: 0.5; -webkit-transform: translate3d(0, 0, 0) scale(0.5); } + 100% { opacity: 1; -webkit-transform: translate3d(0, 0, 0) scale(1); } +} + .jstree ins { position: absolute; } From a9577bef0f2add05cd52926319fb34eca16497e0 Mon Sep 17 00:00:00 2001 From: Lawrence Hsu Date: Sat, 9 Nov 2013 11:23:14 -0800 Subject: [PATCH 08/45] JSTree animation tweaks. --- src/styles/brackets.less | 2 ++ src/styles/jsTreeTheme.less | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/styles/brackets.less b/src/styles/brackets.less index 7107d24ea27..d4b90a8d099 100644 --- a/src/styles/brackets.less +++ b/src/styles/brackets.less @@ -631,12 +631,14 @@ a, img { .jstree-brackets .jstree-no-dots .jstree-open > ins { background-position: 7px -8px; -webkit-transform: translateZ(0) rotate(90deg); + -webkit-transition: -webkit-transform 190ms cubic-bezier(.01, .91, 0, .99); -webkit-filter: drop-shadow(1px 0 1px rgba(0, 0, 0, 0.36)); } .jstree-brackets .jstree-no-dots .jstree-closed > ins { background-position: 7px -8px; -webkit-transform: translateZ(0); /* Need this to make sure that the svg isn't blurry on retina. */ + -webkit-transition: -webkit-transform 90ms cubic-bezier(.01, .91, 0, .99); -webkit-filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.36)); } diff --git a/src/styles/jsTreeTheme.less b/src/styles/jsTreeTheme.less index 585bcae06d0..9f426e0056a 100644 --- a/src/styles/jsTreeTheme.less +++ b/src/styles/jsTreeTheme.less @@ -84,7 +84,7 @@ } @-webkit-keyframes jstree { - 0% { opacity: 0.5; -webkit-transform: translate3d(0, 0, 0) scale(0.5); } + 0% { opacity: 0.6; -webkit-transform: translate3d(0, 0, 0) scale(0.6); } 100% { opacity: 1; -webkit-transform: translate3d(0, 0, 0) scale(1); } } From 7ecb72f7d30656cdf7992804824d456851eb8626 Mon Sep 17 00:00:00 2001 From: Lawrence Hsu Date: Sat, 9 Nov 2013 11:59:44 -0800 Subject: [PATCH 09/45] Quick Open animation tweaks. --- src/styles/brackets.less | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/styles/brackets.less b/src/styles/brackets.less index d4b90a8d099..f42f7982736 100644 --- a/src/styles/brackets.less +++ b/src/styles/brackets.less @@ -1073,6 +1073,10 @@ a, img { background-color: @tc-gray-panel; border-radius: 0 0 4px 4px; box-shadow: @tc-dropdown-shadow; + opacity: 0; + -webkit-animation: autocomplete 90ms cubic-bezier(.01, .91, 0, .99) 190ms 1; + -webkit-animation-fill-mode: forwards; + -webkit-transform-origin: 0 0; // so that border won't show when height is 0. box-sizing: border-box; @@ -1113,6 +1117,11 @@ a, img { } } +@-webkit-keyframes autocomplete { + 0% { opacity: 0.6; -webkit-transform: translate3d(0, 0, 0) scale(0.6); } + 100% { opacity: 1; -webkit-transform: translate3d(0, 0, 0) scale(1); } +} + .quicksearch-pathmatch, .quicksearch-namematch { font-weight: @font-weight-semibold; From ab092cd40afb1971565515f96a1e6620ecc310c4 Mon Sep 17 00:00:00 2001 From: Lawrence Hsu Date: Sat, 9 Nov 2013 12:33:35 -0800 Subject: [PATCH 10/45] Muted Extension Manager keyword text. --- src/styles/brackets_colors.less | 3 ++- src/styles/brackets_patterns_override.less | 7 +++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/styles/brackets_colors.less b/src/styles/brackets_colors.less index 194c4a7c8f4..78b74649923 100644 --- a/src/styles/brackets_colors.less +++ b/src/styles/brackets_colors.less @@ -115,6 +115,7 @@ @tc-input-small-glow: 0 0 0 1px #6fb5f1; @tc-light-weight-text: #000; @tc-light-weight-quiet-text: #777; -@tc-warning-background: #FDF5CC; +@tc-warning-background: #FDF5CC; @tc-warning-text: #635301; +@tc-error-text: #F74687; @tc-lighter-gray: #e6e9e9; diff --git a/src/styles/brackets_patterns_override.less b/src/styles/brackets_patterns_override.less index fa9dd4e4837..587d58ee78f 100644 --- a/src/styles/brackets_patterns_override.less +++ b/src/styles/brackets_patterns_override.less @@ -855,12 +855,15 @@ a[href^="http"] { .user-select(text); cursor: text; } + .ext-keywords { + color: @tc-input-placeholder-text; + } .muted { - color: #888; + color: @tc-input-placeholder-text; } .error { font-weight: @font-weight-semibold; - color: #ff5656; + color: @tc-error-text; } .ext-version, .ext-date, From 3ebc6955076e3ce4ad2822e68d6c32e93140c843 Mon Sep 17 00:00:00 2001 From: Lawrence Hsu Date: Sat, 9 Nov 2013 12:37:02 -0800 Subject: [PATCH 11/45] Added input glow transition. --- src/styles/brackets_patterns_override.less | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/styles/brackets_patterns_override.less b/src/styles/brackets_patterns_override.less index 587d58ee78f..14dbc5471bf 100644 --- a/src/styles/brackets_patterns_override.less +++ b/src/styles/brackets_patterns_override.less @@ -965,7 +965,7 @@ input[type="color"], -webkit-font-smoothing: antialiased; .border-radius(@tc-control-border-radius); .box-shadow(@tc-input-inner-shadow); - .transition(~"border linear 0s, box-shadow linear 0s"); + .transition(~"border linear 180ms, box-shadow linear 180ms"); &::-webkit-input-placeholder { color: @tc-input-placeholder-text; From 67fba824dde6c926f7270a0bc164ace8d38ba9b5 Mon Sep 17 00:00:00 2001 From: Lawrence Hsu Date: Sat, 9 Nov 2013 13:08:18 -0800 Subject: [PATCH 12/45] Added pressed state to Project Dropdown button. --- .../default/RecentProjects/styles/styles.css | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/extensions/default/RecentProjects/styles/styles.css b/src/extensions/default/RecentProjects/styles/styles.css index f7a818bb012..d247265fdbd 100644 --- a/src/extensions/default/RecentProjects/styles/styles.css +++ b/src/extensions/default/RecentProjects/styles/styles.css @@ -44,9 +44,18 @@ #project-dropdown-toggle:hover { border-radius: 3px; border: 1px solid #2d2f31; - box-shadow: inset 0 1px 0 rgba(255,255,255,0.15); + box-shadow: inset 0 1px 0 rgba(255,255,255,0.09); text-decoration: none; } + +#project-dropdown-toggle:active { + background: #404141; + border-radius: 3px; + border: 1px solid #2d2f31; + box-shadow: inset 0 1px 1px rgba(0,0,0,0.23); + text-decoration: none; +} + #project-dropdown-toggle:hover .dropdown-arrow { background-image: url("down-arrow.svg"); } From 451c34d75bd015bca1ce9e3c7a958f9bfed3eecc Mon Sep 17 00:00:00 2001 From: Lawrence Hsu Date: Sat, 9 Nov 2013 13:26:54 -0800 Subject: [PATCH 13/45] Replaced clear icon with unicode character to keep it consistent with other components. Removed unused images. --- src/htmlContent/extension-manager-dialog.html | 2 +- src/styles/brackets_patterns_override.less | 11 +++-- src/styles/images/bracketsSprites.svg | 22 --------- src/styles/images/settings_small.svg | 47 ------------------- src/styles/images/stepper-arrow-sprites.svg | 4 -- src/styles/images/topcoat-cancel-15.svg | 40 ---------------- 6 files changed, 8 insertions(+), 118 deletions(-) delete mode 100644 src/styles/images/bracketsSprites.svg delete mode 100644 src/styles/images/settings_small.svg delete mode 100644 src/styles/images/stepper-arrow-sprites.svg delete mode 100644 src/styles/images/topcoat-cancel-15.svg diff --git a/src/htmlContent/extension-manager-dialog.html b/src/htmlContent/extension-manager-dialog.html index ae730ba6ef8..dc9b6766358 100644 --- a/src/htmlContent/extension-manager-dialog.html +++ b/src/htmlContent/extension-manager-dialog.html @@ -8,7 +8,7 @@

  • {{Strings.EXTENSIONS_INSTALLED_TITLE}}
  • - +
    diff --git a/src/styles/brackets_patterns_override.less b/src/styles/brackets_patterns_override.less index 14dbc5471bf..abd05a5547a 100644 --- a/src/styles/brackets_patterns_override.less +++ b/src/styles/brackets_patterns_override.less @@ -781,14 +781,17 @@ a[href^="http"] { padding-right: 20px; } .search-clear { + background: transparent; position: relative; display: block; float: right; - left: -5px; - margin: 7px 0 0 -20px; + font-size: 20px; + left: -6px; + line-height: 0; + margin: 6px 0 0 -20px; opacity: 0.5; - background: url("images/topcoat-cancel-15.svg") no-repeat; - width: 15px; + padding: 0; + width: 16px; height: 16px; z-index: 1; border: 0; diff --git a/src/styles/images/bracketsSprites.svg b/src/styles/images/bracketsSprites.svg deleted file mode 100644 index e36a1638f0e..00000000000 --- a/src/styles/images/bracketsSprites.svg +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/styles/images/settings_small.svg b/src/styles/images/settings_small.svg deleted file mode 100644 index cb543712e47..00000000000 --- a/src/styles/images/settings_small.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/styles/images/stepper-arrow-sprites.svg b/src/styles/images/stepper-arrow-sprites.svg deleted file mode 100644 index ef9816797fe..00000000000 --- a/src/styles/images/stepper-arrow-sprites.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/src/styles/images/topcoat-cancel-15.svg b/src/styles/images/topcoat-cancel-15.svg deleted file mode 100644 index 970ba5d7c65..00000000000 --- a/src/styles/images/topcoat-cancel-15.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - From 9e5ac07475c12f63678047e8fe9f2508b812fbbc Mon Sep 17 00:00:00 2001 From: Lawrence Hsu Date: Sat, 9 Nov 2013 14:44:29 -0800 Subject: [PATCH 14/45] Replaced Recent Project close icon with unicode character and removed svg icon. --- src/extensions/default/RecentProjects/main.js | 2 +- .../default/RecentProjects/styles/close-btn.svg | 13 ------------- .../default/RecentProjects/styles/styles.css | 9 ++++++--- 3 files changed, 7 insertions(+), 17 deletions(-) delete mode 100644 src/extensions/default/RecentProjects/styles/close-btn.svg diff --git a/src/extensions/default/RecentProjects/main.js b/src/extensions/default/RecentProjects/main.js index e204b3c0f3c..b4ca4c4991e 100644 --- a/src/extensions/default/RecentProjects/main.js +++ b/src/extensions/default/RecentProjects/main.js @@ -116,7 +116,7 @@ define(function (require, exports, module) { * Create the "delete" button that shows up when you hover over a project. */ function renderDelete() { - return $("
    ") + return $("
    ×
    ") .mouseup(function (e) { // Don't let the click bubble upward. e.stopPropagation(); diff --git a/src/extensions/default/RecentProjects/styles/close-btn.svg b/src/extensions/default/RecentProjects/styles/close-btn.svg deleted file mode 100644 index e9aa501f042..00000000000 --- a/src/extensions/default/RecentProjects/styles/close-btn.svg +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/src/extensions/default/RecentProjects/styles/styles.css b/src/extensions/default/RecentProjects/styles/styles.css index d247265fdbd..708cc418a2f 100644 --- a/src/extensions/default/RecentProjects/styles/styles.css +++ b/src/extensions/default/RecentProjects/styles/styles.css @@ -18,11 +18,14 @@ left: 7px; width: 16px; height: 16px; - background-image: url("close-btn.svg"); - background-position: 0 0; + font-size: 20px; + color: rgba(0, 0, 0, 0.5); + line-height: 15px; + text-align: center; } + .trash-icon:hover { - background-position: -15px 0; + color: rgba(0, 0, 0, 1); } #project-dropdown-toggle { From a64f5f7d1a2c5a84ed25be1058b6013a5e3d5bfb Mon Sep 17 00:00:00 2001 From: Lawrence Hsu Date: Sat, 9 Nov 2013 15:04:43 -0800 Subject: [PATCH 15/45] Replaced sidebar selection bg with CSS and removed bg image. --- src/styles/brackets.less | 10 ++++++---- src/styles/brackets_colors.less | 3 +++ src/styles/images/active_back.png | Bin 49135 -> 0 bytes 3 files changed, 9 insertions(+), 4 deletions(-) delete mode 100644 src/styles/images/active_back.png diff --git a/src/styles/brackets.less b/src/styles/brackets.less index f42f7982736..554cb068415 100644 --- a/src/styles/brackets.less +++ b/src/styles/brackets.less @@ -540,13 +540,15 @@ a, img { } .sidebar-selection { - background: url("images/active_back.png") no-repeat top right; + background: @tc-sidebar-selection; + border-top: 1px solid @tc-sidebar-selection-highlight; + border-bottom: 1px solid @tc-sidebar-selection-shadow; height: 22px; position: absolute; } .sidebar-selection-triangle { - background: url("images/active_back.png"); + background: @tc-sidebar-selection; width: 9px; /* quiet scrollbar width */ height: 22px; position: fixed; @@ -559,11 +561,11 @@ a, img { border-top: @sidebar-triangle-size solid transparent; border-bottom: (@sidebar-triangle-size - 1) solid transparent; - border-left: @sidebar-triangle-size solid #2D2E30; + border-left: @sidebar-triangle-size solid @tc-sidebar-selection; display: block; position: absolute; - top: -1px; + top: 0; right: -9px; width: 0; height: 0; diff --git a/src/styles/brackets_colors.less b/src/styles/brackets_colors.less index 78b74649923..d029c2a25b3 100644 --- a/src/styles/brackets_colors.less +++ b/src/styles/brackets_colors.less @@ -119,3 +119,6 @@ @tc-warning-text: #635301; @tc-error-text: #F74687; @tc-lighter-gray: #e6e9e9; +@tc-sidebar-selection: #2D2E30; +@tc-sidebar-selection-highlight:#232426; +@tc-sidebar-selection-shadow: #444546; diff --git a/src/styles/images/active_back.png b/src/styles/images/active_back.png deleted file mode 100644 index 9ce588ada50580d117c4b922e8d7140e3456e2a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 49135 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

    S@@bvH(JmD%rKilODGAIV6}atRsqQ~!q(Qb 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 Date: Sat, 9 Nov 2013 15:07:48 -0800 Subject: [PATCH 16/45] Sidebar selection tweak. --- src/styles/brackets.less | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/styles/brackets.less b/src/styles/brackets.less index 554cb068415..485408c1a2f 100644 --- a/src/styles/brackets.less +++ b/src/styles/brackets.less @@ -549,6 +549,8 @@ a, img { .sidebar-selection-triangle { background: @tc-sidebar-selection; + border-top: 1px solid @tc-sidebar-selection-highlight; + border-bottom: 1px solid @tc-sidebar-selection-shadow; width: 9px; /* quiet scrollbar width */ height: 22px; position: fixed; @@ -565,7 +567,7 @@ a, img { display: block; position: absolute; - top: 0; + top: -1px; right: -9px; width: 0; height: 0; From a5f070b6e9d8abe575139e1125c3166fa2d2e6cf Mon Sep 17 00:00:00 2001 From: Lawrence Hsu Date: Sat, 9 Nov 2013 18:12:55 -0800 Subject: [PATCH 17/45] Tweaked sidebar selection shadow and highlight. --- src/styles/brackets.less | 8 ++-- src/styles/brackets_colors.less | 78 ++++++++++++++++----------------- 2 files changed, 43 insertions(+), 43 deletions(-) diff --git a/src/styles/brackets.less b/src/styles/brackets.less index 485408c1a2f..6b664fb9ab2 100644 --- a/src/styles/brackets.less +++ b/src/styles/brackets.less @@ -541,16 +541,16 @@ a, img { .sidebar-selection { background: @tc-sidebar-selection; - border-top: 1px solid @tc-sidebar-selection-highlight; - border-bottom: 1px solid @tc-sidebar-selection-shadow; + border-top: 1px solid @tc-sidebar-selection-shadow; + border-bottom: 1px solid @tc-sidebar-selection-highlight; height: 22px; position: absolute; } .sidebar-selection-triangle { background: @tc-sidebar-selection; - border-top: 1px solid @tc-sidebar-selection-highlight; - border-bottom: 1px solid @tc-sidebar-selection-shadow; + border-top: 1px solid @tc-sidebar-selection-shadow; + border-bottom: 1px solid @tc-sidebar-selection-highlight; width: 9px; /* quiet scrollbar width */ height: 22px; position: fixed; diff --git a/src/styles/brackets_colors.less b/src/styles/brackets_colors.less index d029c2a25b3..7c0d8584d0d 100644 --- a/src/styles/brackets_colors.less +++ b/src/styles/brackets_colors.less @@ -83,42 +83,42 @@ @tc-gray-component-focused-border: #0940fd; @tc-gray-component-triangle: #878787; -@tc-button-background: #e5e9e9; -@tc-button-highlight: inset 0 1px 0 #fff; -@tc-button-down-background: #d3d7d7; -@tc-button-down-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.12); -@tc-inline-border-radius: 2px; -@tc-control-border-radius: 3px; -@tc-panel-border-radius: 5px; -@tc-small-shadow-top: 0 -1px 3px rgba(0, 0, 0, 0.12); -@tc-small-shadow-bottom: 0 1px 3px rgba(0, 0, 0, 0.12); -@tc-normal-shadow-bottom: 0 5px 10px rgba(0, 0, 0, 0.1); -@tc-highlight: #e0f0fa; -@tc-selected-row: #d0d5d5; -@tc-hover-highlight: rgba(255, 255, 255, 0.6); -@tc-text: #454545; -@tc-emphasized-text: #333; -@tc-quiet-text: #aaa; -@tc-text-shadow: 0 1px 0 #fff; -@tc-call-to-action: #288edf; -@tc-call-to-action-border: #0055ad; -@tc-call-to-action-highlight: inset 0 1px 0 rgba(255,255,255,0.36); -@tc-call-to-action-down: #0380e8; -@tc-call-to-action-down-shadow: inset 0 1px 0 rgba(0,0,0,0.12); -@tc-call-to-action-text: #ffffff; -@tc-call-to-action-text-shadow: 0 -1px 0 rgba(0,0,0,0.36); -@tc-input-background: #ffffff; -@tc-input-border: #9c9e9e; -@tc-input-inner-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.12); -@tc-input-placeholder-text: #888; -@tc-input-glow: 0 0 0 2px #6fb5f1; -@tc-input-small-glow: 0 0 0 1px #6fb5f1; -@tc-light-weight-text: #000; -@tc-light-weight-quiet-text: #777; -@tc-warning-background: #FDF5CC; -@tc-warning-text: #635301; -@tc-error-text: #F74687; -@tc-lighter-gray: #e6e9e9; -@tc-sidebar-selection: #2D2E30; -@tc-sidebar-selection-highlight:#232426; -@tc-sidebar-selection-shadow: #444546; +@tc-button-background: #e5e9e9; +@tc-button-highlight: inset 0 1px 0 #fff; +@tc-button-down-background: #d3d7d7; +@tc-button-down-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.12); +@tc-inline-border-radius: 2px; +@tc-control-border-radius: 3px; +@tc-panel-border-radius: 5px; +@tc-small-shadow-top: 0 -1px 3px rgba(0, 0, 0, 0.12); +@tc-small-shadow-bottom: 0 1px 3px rgba(0, 0, 0, 0.12); +@tc-normal-shadow-bottom: 0 5px 10px rgba(0, 0, 0, 0.1); +@tc-highlight: #e0f0fa; +@tc-selected-row: #d0d5d5; +@tc-hover-highlight: rgba(255, 255, 255, 0.6); +@tc-text: #454545; +@tc-emphasized-text: #333; +@tc-quiet-text: #aaa; +@tc-text-shadow: 0 1px 0 #fff; +@tc-call-to-action: #288edf; +@tc-call-to-action-border: #0055ad; +@tc-call-to-action-highlight: inset 0 1px 0 rgba(255,255,255,0.36); +@tc-call-to-action-down: #0380e8; +@tc-call-to-action-down-shadow: inset 0 1px 0 rgba(0,0,0,0.12); +@tc-call-to-action-text: #ffffff; +@tc-call-to-action-text-shadow: 0 -1px 0 rgba(0,0,0,0.36); +@tc-input-background: #ffffff; +@tc-input-border: #9c9e9e; +@tc-input-inner-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.12); +@tc-input-placeholder-text: #888; +@tc-input-glow: 0 0 0 2px #6fb5f1; +@tc-input-small-glow: 0 0 0 1px #6fb5f1; +@tc-light-weight-text: #000; +@tc-light-weight-quiet-text: #777; +@tc-warning-background: #FDF5CC; +@tc-warning-text: #635301; +@tc-error-text: #F74687; +@tc-lighter-gray: #e6e9e9; +@tc-sidebar-selection: #2D2E30; +@tc-sidebar-selection-highlight: rgba(255, 255, 255, 0.12); +@tc-sidebar-selection-shadow: rgba(0, 0, 0, 0.12); From a706a32356980f39d5e498f0b0050e8fcd5a0346 Mon Sep 17 00:00:00 2001 From: Lawrence Hsu Date: Sun, 10 Nov 2013 09:21:16 -0800 Subject: [PATCH 18/45] Removed close and dirty icons and replaced them with unicode characters because they're similar except unicode looks better and we have more control over it using CSS. --- src/editor/InlineTextEditor.js | 1 + src/styles/brackets.less | 54 ++++++++++++++++++--------------- src/styles/images/close_btn.svg | 15 --------- 3 files changed, 30 insertions(+), 40 deletions(-) delete mode 100644 src/styles/images/close_btn.svg diff --git a/src/editor/InlineTextEditor.js b/src/editor/InlineTextEditor.js index ed2c809aa15..c7d00d4bf25 100644 --- a/src/editor/InlineTextEditor.js +++ b/src/editor/InlineTextEditor.js @@ -226,6 +226,7 @@ define(function (require, exports, module) { // dirty indicator, with file path stored on it var $dirtyIndicatorDiv = $("

    ") .addClass("dirty-indicator") + .html("•") .width(0); // initialize indicator as hidden $dirtyIndicatorDiv.data("fullPath", doc.file.fullPath); diff --git a/src/styles/brackets.less b/src/styles/brackets.less index 6b664fb9ab2..9eea0d22ee5 100644 --- a/src/styles/brackets.less +++ b/src/styles/brackets.less @@ -646,41 +646,44 @@ a, img { -webkit-filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.36)); } -/** Classes for icons from bracketSprites.png +/** Unicode Icon container */ -.bracket-sprite { - background-image: url("images/close_btn.svg"); - background-repeat: no-repeat; - background-color: transparent; - vertical-align: middle; - width: 15px; +.unicode-icon-container { + display: inline-block; + width: 16px; height: 16px; + font-size: 20px; + line-height: 15px; + text-align: center; } - .file-status-icon { margin: 2px 0 0 8px; - .bracket-sprite; - display: inline-block; position: absolute; left: 0px; top: 1px; - &.dirty { - background-position: -30px 1px; + &.dirty:before, + &.can-close:before { + .unicode-icon-container; + color: rgba(255, 255, 255, 0.5); } - - &.can-close { - background-position: 0 0; + + &.dirty:before { + content: "\2022"; + line-height: 11px; } - - &.can-close:hover { - background-position: -15px 0; + + &.can-close:before { + content: "\00D7"; + } + + &.can-close:hover:before { + color: rgba(255, 255, 255, 0.7); } - &.can-close:active { - background-position: -15px 0; - opacity: @tc-icon-down; + &.can-close:active:before { + color: rgba(255, 255, 255, 0.3); } } @@ -726,10 +729,11 @@ a, img { cursor: pointer; .dirty-indicator { - .bracket-sprite; - display: inline-block; - background-position: -32px 2px; - padding-top: 5px; + .unicode-icon-container; + color: @tc-quiet-text; + overflow: hidden; + position: relative; + top: 1px; } .line-number { diff --git a/src/styles/images/close_btn.svg b/src/styles/images/close_btn.svg deleted file mode 100644 index 1588c01c792..00000000000 --- a/src/styles/images/close_btn.svg +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - From b635d86789d0ab74018bff707482800ed2cd3e4b Mon Sep 17 00:00:00 2001 From: Lawrence Hsu Date: Mon, 6 Jan 2014 15:47:00 -0800 Subject: [PATCH 19/45] Tweaked working files dirty and close icon vertical centering. --- src/styles/brackets.less | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/styles/brackets.less b/src/styles/brackets.less index cddb0f516b7..bb05fd500ba 100644 --- a/src/styles/brackets.less +++ b/src/styles/brackets.less @@ -703,10 +703,10 @@ a, img { } .file-status-icon { - margin: 2px 0 0 8px; + margin: 0 0 0 8px; position: absolute; - left: 0px; - top: 1px; + left: 0; + top: 0; &.dirty:before, &.can-close:before { @@ -716,11 +716,12 @@ a, img { &.dirty:before { content: "\2022"; - line-height: 11px; + line-height: 1em; } &.can-close:before { content: "\00D7"; + line-height: 1.1em; } &.can-close:hover:before { From 7737c879972852a810bf5cc9e95d21929704fb75 Mon Sep 17 00:00:00 2001 From: Lawrence Hsu Date: Mon, 6 Jan 2014 15:48:43 -0800 Subject: [PATCH 20/45] Removed JSTree Animation. --- src/styles/jsTreeTheme.less | 9 --------- 1 file changed, 9 deletions(-) diff --git a/src/styles/jsTreeTheme.less b/src/styles/jsTreeTheme.less index 9f426e0056a..bfb77100fa9 100644 --- a/src/styles/jsTreeTheme.less +++ b/src/styles/jsTreeTheme.less @@ -70,10 +70,6 @@ } &.jstree-closed, &.jstree-open { margin-left: 10px; - > ul { - -webkit-animation: jstree 90ms cubic-bezier(.01, .91, 0, .99) 1; - -webkit-transform-origin: 0 0; - } > a { color: @project-panel-text-2; } @@ -83,11 +79,6 @@ } } -@-webkit-keyframes jstree { - 0% { opacity: 0.6; -webkit-transform: translate3d(0, 0, 0) scale(0.6); } - 100% { opacity: 1; -webkit-transform: translate3d(0, 0, 0) scale(1); } -} - .jstree ins { position: absolute; } From 0db8c9206a1de70b5304464451303b8383f6e568 Mon Sep 17 00:00:00 2001 From: Lawrence Hsu Date: Mon, 6 Jan 2014 15:53:52 -0800 Subject: [PATCH 21/45] Tweaked Project Panel Highlight. --- src/styles/brackets.less | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/styles/brackets.less b/src/styles/brackets.less index bb05fd500ba..5419faa4404 100644 --- a/src/styles/brackets.less +++ b/src/styles/brackets.less @@ -524,7 +524,7 @@ a, img { } #project-files-header { - border-top: 1px solid #56595a; + border-top: 1px solid rgba(255, 255, 255, 0.05); padding: 8px 0 9px 12px; font-size: 13px; color: @project-panel-text-2; From 1ae3c6d3a57ab3267324334249c455d6c2dd005f Mon Sep 17 00:00:00 2001 From: Lawrence Hsu Date: Mon, 6 Jan 2014 16:00:02 -0800 Subject: [PATCH 22/45] Tweaked Extension Manager Dialog version alert text. --- src/styles/brackets_patterns_override.less | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/styles/brackets_patterns_override.less b/src/styles/brackets_patterns_override.less index abd05a5547a..0b5aca4c18f 100644 --- a/src/styles/brackets_patterns_override.less +++ b/src/styles/brackets_patterns_override.less @@ -864,6 +864,10 @@ a[href^="http"] { .muted { color: @tc-input-placeholder-text; } + .alert { + font-size: 11px; + margin: 0 0 10px; + } .error { font-weight: @font-weight-semibold; color: @tc-error-text; From 666fde0c76e25acaf8cc478c6ca403e052eb9397 Mon Sep 17 00:00:00 2001 From: Lawrence Hsu Date: Mon, 6 Jan 2014 16:02:59 -0800 Subject: [PATCH 23/45] Tweaked about dialog icon. --- src/styles/brackets_patterns_override.less | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/styles/brackets_patterns_override.less b/src/styles/brackets_patterns_override.less index 0b5aca4c18f..b021fb1b155 100644 --- a/src/styles/brackets_patterns_override.less +++ b/src/styles/brackets_patterns_override.less @@ -901,8 +901,10 @@ a[href^="http"] { position: relative; .about-icon { position: absolute; - left: 10px; // relative to border of modal-body (bounds outside padding) - top: 11px; + left: 19px; // relative to border of modal-body (bounds outside padding) + top: 15px; + width: 100px; + height: 100px; } .about-text { // Icon is 120px, so we need at least that much left padding/margin to avoid overlap From 39b3353e24080e7c521c89df796d162dce7088ff Mon Sep 17 00:00:00 2001 From: Lawrence Hsu Date: Mon, 6 Jan 2014 16:05:28 -0800 Subject: [PATCH 24/45] Tweaked Modal Dialog border color. --- src/styles/brackets_patterns_override.less | 1 + 1 file changed, 1 insertion(+) diff --git a/src/styles/brackets_patterns_override.less b/src/styles/brackets_patterns_override.less index b021fb1b155..382b1f9726f 100644 --- a/src/styles/brackets_patterns_override.less +++ b/src/styles/brackets_patterns_override.less @@ -508,6 +508,7 @@ a:focus { .modal { background-color: @tc-gray-panel; + border: 1px solid rgba(0, 0, 0, 0.1); min-width: 200px; position: relative; top: 0; From 8cd2c0f8fa839bba6a1cf5cc9dda03efcdf4725f Mon Sep 17 00:00:00 2001 From: Lawrence Hsu Date: Mon, 6 Jan 2014 16:10:42 -0800 Subject: [PATCH 25/45] Tweaked quick open dropdown menu drop-shadow. --- src/styles/brackets.less | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/styles/brackets.less b/src/styles/brackets.less index 5419faa4404..63f150eb2a4 100644 --- a/src/styles/brackets.less +++ b/src/styles/brackets.less @@ -1126,7 +1126,7 @@ a, img { .smart_autocomplete_container { background-color: @tc-gray-panel; border-radius: 0 0 4px 4px; - box-shadow: @tc-dropdown-shadow; + box-shadow: 0 3px 9px rgba(0, 0, 0, 0.09); opacity: 0; -webkit-animation: autocomplete 90ms cubic-bezier(.01, .91, 0, .99) 190ms 1; -webkit-animation-fill-mode: forwards; From e4f126efd2970eff2109cb3125c49992c9f9d6da Mon Sep 17 00:00:00 2001 From: Lawrence Hsu Date: Mon, 6 Jan 2014 16:13:05 -0800 Subject: [PATCH 26/45] Removed code hint animation. --- src/styles/brackets_patterns_override.less | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/styles/brackets_patterns_override.less b/src/styles/brackets_patterns_override.less index 382b1f9726f..0938c2460f2 100644 --- a/src/styles/brackets_patterns_override.less +++ b/src/styles/brackets_patterns_override.less @@ -227,8 +227,7 @@ a:focus { @item-highlight-color: #e0f0fa; // Dropdown Menu Animation -#project-dropdown.dropdown-menu, -.codehint-menu.open { +#project-dropdown.dropdown-menu { -webkit-animation: dropdown 90ms cubic-bezier(0, .97, .2, .99) 1; -webkit-transform-origin: 0 0; } From 570fff5aab1ea2e1eb16c6ca46208ec948164e31 Mon Sep 17 00:00:00 2001 From: Lawrence Hsu Date: Tue, 11 Feb 2014 13:24:59 -0800 Subject: [PATCH 27/45] Adding Quick Open dropdown border back. --- src/styles/brackets.less | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/styles/brackets.less b/src/styles/brackets.less index 63f150eb2a4..06dcc7b657f 100644 --- a/src/styles/brackets.less +++ b/src/styles/brackets.less @@ -1124,9 +1124,11 @@ a, img { /* Quick Open search bar & dropdown */ .smart_autocomplete_container { + // the borders show up even if the container is empty, must set height to zero using JS. + border: 1px solid @tc-gray-panel-border; background-color: @tc-gray-panel; border-radius: 0 0 4px 4px; - box-shadow: 0 3px 9px rgba(0, 0, 0, 0.09); + box-shadow: @tc-normal-shadow-bottom; opacity: 0; -webkit-animation: autocomplete 90ms cubic-bezier(.01, .91, 0, .99) 190ms 1; -webkit-animation-fill-mode: forwards; From 8e35a1a7196e564a4b41029300df7d57eded2369 Mon Sep 17 00:00:00 2001 From: Lawrence Hsu Date: Wed, 12 Feb 2014 07:06:18 -0800 Subject: [PATCH 28/45] Tweaked UI components. --- src/styles/brackets.less | 4 ++-- src/styles/brackets_colors.less | 24 ++++++++++++---------- src/styles/brackets_patterns_override.less | 3 +-- 3 files changed, 16 insertions(+), 15 deletions(-) diff --git a/src/styles/brackets.less b/src/styles/brackets.less index 06dcc7b657f..4e61a58f787 100644 --- a/src/styles/brackets.less +++ b/src/styles/brackets.less @@ -1047,8 +1047,8 @@ a, img { position: relative; top: -3px; &.no-results { - border: 1px solid #bc0023; - box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.12), 0 0 0 2px rgba(255, 0, 120, 0.5); + border: 1px solid @tc-gray-component-error-border; + box-shadow: @tc-input-inner-shadow, @tc-input-error-glow; } } diff --git a/src/styles/brackets_colors.less b/src/styles/brackets_colors.less index 7c0d8584d0d..a5feb85b8b1 100644 --- a/src/styles/brackets_colors.less +++ b/src/styles/brackets_colors.less @@ -75,18 +75,19 @@ @tc-dropdown-shadow: 0 3px 9px rgba(0, 0, 0, 0.24); @tc-gray-panel: #dfe2e2; @tc-gray-panel-border: rgba(0, 0, 0, 0.12); -@tc-gray-panel-bevel: inset 0 1px 0 rgba(255, 255, 255, 0.6); +@tc-gray-panel-bevel: inset 0 1px 0 rgba(255, 255, 255, 0.3); @tc-gray-panel-top-bar: #d4d7d7; @tc-gray-panel-top-bar-shadow: 1px solid rgba(0, 0, 0, 0.03); @tc-gray-panel-separator: #c3c6c5; -@tc-gray-component-border: #9c9e9e; -@tc-gray-component-focused-border: #0940fd; +@tc-gray-component-border: #b2b5b5; +@tc-gray-component-focused-border: #2893ef; +@tc-gray-component-error-border: #fa689d; @tc-gray-component-triangle: #878787; @tc-button-background: #e5e9e9; -@tc-button-highlight: inset 0 1px 0 #fff; +@tc-button-highlight: inset 0 1px 0 #f3f3f3; @tc-button-down-background: #d3d7d7; -@tc-button-down-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.12); +@tc-button-down-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.06); @tc-inline-border-radius: 2px; @tc-control-border-radius: 3px; @tc-panel-border-radius: 5px; @@ -101,18 +102,19 @@ @tc-quiet-text: #aaa; @tc-text-shadow: 0 1px 0 #fff; @tc-call-to-action: #288edf; -@tc-call-to-action-border: #0055ad; -@tc-call-to-action-highlight: inset 0 1px 0 rgba(255,255,255,0.36); +@tc-call-to-action-border: #1474bf; +@tc-call-to-action-highlight: inset 0 1px 0 #48a0e8; @tc-call-to-action-down: #0380e8; @tc-call-to-action-down-shadow: inset 0 1px 0 rgba(0,0,0,0.12); @tc-call-to-action-text: #ffffff; @tc-call-to-action-text-shadow: 0 -1px 0 rgba(0,0,0,0.36); @tc-input-background: #ffffff; -@tc-input-border: #9c9e9e; -@tc-input-inner-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.12); +@tc-input-border: #b2b5b5; +@tc-input-inner-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.06); @tc-input-placeholder-text: #888; -@tc-input-glow: 0 0 0 2px #6fb5f1; -@tc-input-small-glow: 0 0 0 1px #6fb5f1; +@tc-input-glow: 0 0 0 2px #94ceff; +@tc-input-small-glow: 0 0 0 1px #94ceff; +@tc-input-error-glow: 0 0 0 2px #ffb0cd; @tc-light-weight-text: #000; @tc-light-weight-quiet-text: #777; @tc-warning-background: #FDF5CC; diff --git a/src/styles/brackets_patterns_override.less b/src/styles/brackets_patterns_override.less index 0938c2460f2..dfc10b58c12 100644 --- a/src/styles/brackets_patterns_override.less +++ b/src/styles/brackets_patterns_override.less @@ -1047,7 +1047,6 @@ input[type="color"], background-image: none; background-color: @tc-button-background; - text-shadow: @tc-text-shadow; color: @tc-text; cursor: default; font-size: (@baseFontSize + 1); @@ -1091,7 +1090,7 @@ input[type="color"], border: 1px solid @tc-call-to-action-border; box-shadow: @tc-call-to-action-highlight; color: @tc-call-to-action-text; - text-shadow: @tc-call-to-action-text-shadow; + text-shadow: none; &.active, &:active { background-image: none; From 2e3ab005f38e74761aada4e4bfe12f6776d2c442 Mon Sep 17 00:00:00 2001 From: Lawrence Hsu Date: Tue, 25 Feb 2014 12:33:00 -0800 Subject: [PATCH 29/45] Inline color picker tweaks. --- .../default/InlineColorEditor/css/main.css | 32 +++++++++---------- src/styles/brackets_colors.less | 7 ++-- src/styles/brackets_patterns_override.less | 2 +- 3 files changed, 20 insertions(+), 21 deletions(-) diff --git a/src/extensions/default/InlineColorEditor/css/main.css b/src/extensions/default/InlineColorEditor/css/main.css index 07d0da004cd..231556332b0 100644 --- a/src/extensions/default/InlineColorEditor/css/main.css +++ b/src/extensions/default/InlineColorEditor/css/main.css @@ -80,7 +80,7 @@ } .color-editor aside ul.swatches li:focus { outline: none; - box-shadow: 0 0 0 2px #6fb5f1; + box-shadow: 0 0 0 1px #94ceff; border-radius: 2px; } .color-editor aside ul.swatches li .swatch-bg { @@ -148,7 +148,7 @@ } .color-editor section .color-selection-field .selector-base:focus { outline: none; - box-shadow: 0 0 0 5px #6fb5f1; + box-shadow: 0 0 0 5px #94ceff; border-radius: 10px; } .color-editor section .color-selection-field .selector { @@ -181,7 +181,7 @@ } .color-editor section .slider .selector-base:focus { outline: none; - box-shadow: 0 0 0 5px #6fb5f1; + box-shadow: 0 0 0 5px #94ceff; border-radius: 1px; } .color-editor section .slider .selector { @@ -210,7 +210,7 @@ width: 118px; height: 23px; margin-right: 5px; - border-color: #aaa; + border-color: #b2b5b5; box-sizing: border-box; display: inline-block; color: #222; @@ -219,8 +219,8 @@ display: inline-block; height: 23px; padding: 0 0 0 4px; - border: 1px solid #9c9e9e; - box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.12); + border: 1px solid #b2b5b5; + box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.06); background: #fff; font-family: "SourceSansPro"; font-size: 12px; @@ -232,8 +232,8 @@ .color-editor section footer input:focus { background: #fff; outline: none; - box-shadow: 0 0 0 2px #6fb5f1; - border: 1px solid #0940fd; + box-shadow: 0 0 0 1px #94ceff; + border: 1px solid #2893ef; z-index: 911; } @media all and (-webkit-min-device-pixel-ratio : 2), (min-device-pixel-ratio : 2) { @@ -284,21 +284,21 @@ padding: 2px 4px 4px; height: 15px; font-size: 12px; - text-shadow: 0 1px #fff; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.76); background-color: #e5e9e9; - border: 1px solid #9c9e9e; + border: 1px solid #b2b5b5; border-right: 1px solid transparent; margin-left: -3px; - box-shadow: inset 0 1px 0 #fff; + box-shadow: inset 0 1px 0 #f3f3f3; } .color-editor .button-bar a:focus, .color-editor .button-bar li.selected a:focus{ outline: none; position: relative; - border: 1px solid #0940fd; - border-right: 1px solid #063dfa !important; /* we need this !important, sorry! */ - box-shadow: 0 0 0 2px #65aeed; + border: 1px solid #2893ef; + border-right: 1px solid #2893ef !important; /* we need this !important, sorry! */ + box-shadow: 0 0 0 1px #94ceff; z-index: 999; } .color-editor .button-bar li:first-child { @@ -310,13 +310,13 @@ border-bottom-left-radius: 3px; } .color-editor .button-bar li:last-child a { - border-right: 1px solid #9c9e9e; + border-right: 1px solid #b2b5b5; border-top-right-radius: 3px; border-bottom-right-radius: 3px; } .color-editor .button-bar li.selected a { background-color: #d3d7d7; - box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.12); + box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.06); background-image: none; } .color-editor .button-bar li.disabled a { diff --git a/src/styles/brackets_colors.less b/src/styles/brackets_colors.less index a5feb85b8b1..f8ce57df783 100644 --- a/src/styles/brackets_colors.less +++ b/src/styles/brackets_colors.less @@ -100,7 +100,7 @@ @tc-text: #454545; @tc-emphasized-text: #333; @tc-quiet-text: #aaa; -@tc-text-shadow: 0 1px 0 #fff; +@tc-text-shadow: 0 1px 0 rgba(255, 255, 255, 0.75); @tc-call-to-action: #288edf; @tc-call-to-action-border: #1474bf; @tc-call-to-action-highlight: inset 0 1px 0 #48a0e8; @@ -112,9 +112,8 @@ @tc-input-border: #b2b5b5; @tc-input-inner-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.06); @tc-input-placeholder-text: #888; -@tc-input-glow: 0 0 0 2px #94ceff; -@tc-input-small-glow: 0 0 0 1px #94ceff; -@tc-input-error-glow: 0 0 0 2px #ffb0cd; +@tc-input-glow: 0 0 0 1px #94ceff; +@tc-input-error-glow: 0 0 0 1px #ffb0cd; @tc-light-weight-text: #000; @tc-light-weight-quiet-text: #777; @tc-warning-background: #FDF5CC; diff --git a/src/styles/brackets_patterns_override.less b/src/styles/brackets_patterns_override.less index dfc10b58c12..f5b509fae6f 100644 --- a/src/styles/brackets_patterns_override.less +++ b/src/styles/brackets_patterns_override.less @@ -1122,7 +1122,7 @@ input[type="color"], line-height: 14px; &:focus { border: 1px solid @tc-gray-component-focused-border; - box-shadow: @tc-button-highlight, @tc-input-small-glow; + box-shadow: @tc-button-highlight, @tc-input-glow; outline: none; } } From a96145a1cc96f0b601477eccf3d99994e8887ba5 Mon Sep 17 00:00:00 2001 From: Lawrence Hsu Date: Sun, 9 Mar 2014 10:43:41 -0700 Subject: [PATCH 30/45] Replaced double triangle with single triangle for #7134 --- .../RecentProjects/styles/down-arrow.svg | 17 +++++++++-------- .../default/RecentProjects/styles/styles.css | 9 +++++---- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/src/extensions/default/RecentProjects/styles/down-arrow.svg b/src/extensions/default/RecentProjects/styles/down-arrow.svg index 3f68e6680ce..247638fdba9 100644 --- a/src/extensions/default/RecentProjects/styles/down-arrow.svg +++ b/src/extensions/default/RecentProjects/styles/down-arrow.svg @@ -1,11 +1,12 @@ - - - down-arrow - - - - - + + down-arrow.svg + + + + \ No newline at end of file diff --git a/src/extensions/default/RecentProjects/styles/styles.css b/src/extensions/default/RecentProjects/styles/styles.css index 708cc418a2f..386f942fb87 100644 --- a/src/extensions/default/RecentProjects/styles/styles.css +++ b/src/extensions/default/RecentProjects/styles/styles.css @@ -5,12 +5,13 @@ } .dropdown-arrow { display: inline-block; - width: 5px; - height: 10px; - margin-left: 4px; + width: 6px; + height: 5px; + margin-left: 5px; background-image: url("down-arrow.svg"); + background-repeat: no-repeat; position: relative; - top: 1px; + top: 0; } .trash-icon { From 2e1fb17ac142f3fa2c379d17d35f25ee40143111 Mon Sep 17 00:00:00 2001 From: Lawrence Hsu Date: Sun, 9 Mar 2014 10:50:12 -0700 Subject: [PATCH 31/45] Triangle tweak. --- src/extensions/default/RecentProjects/styles/down-arrow.svg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/extensions/default/RecentProjects/styles/down-arrow.svg b/src/extensions/default/RecentProjects/styles/down-arrow.svg index 247638fdba9..f0ef4ed613c 100644 --- a/src/extensions/default/RecentProjects/styles/down-arrow.svg +++ b/src/extensions/default/RecentProjects/styles/down-arrow.svg @@ -1,10 +1,10 @@ +width="7px" height="5px" viewBox="0 0 7 5"> down-arrow.svg - + From 7f85594ed166769cfd83ba0e76fdea68e892fdd7 Mon Sep 17 00:00:00 2001 From: Lawrence Hsu Date: Sun, 9 Mar 2014 12:20:35 -0700 Subject: [PATCH 32/45] Forgot to update css. --- src/extensions/default/RecentProjects/styles/styles.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/extensions/default/RecentProjects/styles/styles.css b/src/extensions/default/RecentProjects/styles/styles.css index 386f942fb87..79c20fb59a3 100644 --- a/src/extensions/default/RecentProjects/styles/styles.css +++ b/src/extensions/default/RecentProjects/styles/styles.css @@ -5,9 +5,9 @@ } .dropdown-arrow { display: inline-block; - width: 6px; + width: 7px; height: 5px; - margin-left: 5px; + margin-left: 4px; background-image: url("down-arrow.svg"); background-repeat: no-repeat; position: relative; From 140372aea3dfd50d8765efec3c95712d57e1cb34 Mon Sep 17 00:00:00 2001 From: Lawrence Hsu Date: Mon, 17 Mar 2014 11:45:00 -0700 Subject: [PATCH 33/45] Adding animation to all drop-down menus except for code hint drop-downs. --- src/styles/brackets_patterns_override.less | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/styles/brackets_patterns_override.less b/src/styles/brackets_patterns_override.less index ea05da8f4a5..7f03920e4dd 100644 --- a/src/styles/brackets_patterns_override.less +++ b/src/styles/brackets_patterns_override.less @@ -230,7 +230,7 @@ a:focus { @item-highlight-color: #e0f0fa; // Dropdown Menu Animation -#project-dropdown.dropdown-menu { +.dropdown-menu { -webkit-animation: dropdown 90ms cubic-bezier(0, .97, .2, .99) 1; -webkit-transform-origin: 0 0; } @@ -240,6 +240,12 @@ a:focus { 100% { opacity: 1; -webkit-transform: translate3d(0, 0, 0) scale(1); } } +// Code hints don't need scaling navigation so we're removing it + +.codehint-menu.open .dropdown-menu { + -webkit-animation: none; +} + .toolbar .nav, .context-menu, .codehint-menu { // The 1px adjustments here are to account for the border around the top-level menu items. From 26de829b7214d1bd5f29be452a8ebe4ffc8224e8 Mon Sep 17 00:00:00 2001 From: Lawrence Hsu Date: Mon, 17 Mar 2014 12:15:14 -0700 Subject: [PATCH 34/45] Refactored sidebar quiet dark buttons because we have more than one now (plus Brackets Git extension can also benefit from this). --- src/extensions/default/RecentProjects/main.js | 2 +- .../default/RecentProjects/styles/styles.css | 21 ------------------- src/htmlContent/main-view.html | 2 +- src/styles/brackets.less | 6 ------ src/styles/brackets_colors.less | 2 ++ src/styles/brackets_patterns_override.less | 15 +++++++++++++ 6 files changed, 19 insertions(+), 29 deletions(-) diff --git a/src/extensions/default/RecentProjects/main.js b/src/extensions/default/RecentProjects/main.js index 2bb087de082..b441d220d38 100644 --- a/src/extensions/default/RecentProjects/main.js +++ b/src/extensions/default/RecentProjects/main.js @@ -458,7 +458,7 @@ define(function (require, exports, module) { AppInit.htmlReady(function () { $("#project-title") - .wrap("
    ") + .wrap("
    ") .after(""); var cmenuAdapter = { diff --git a/src/extensions/default/RecentProjects/styles/styles.css b/src/extensions/default/RecentProjects/styles/styles.css index 79c20fb59a3..8844e5f581a 100644 --- a/src/extensions/default/RecentProjects/styles/styles.css +++ b/src/extensions/default/RecentProjects/styles/styles.css @@ -1,8 +1,3 @@ -#project-dropdown { - border-radius: 3px; - box-shadow: 0 3px 9px rgba(0, 0, 0, .3); - border: none; -} .dropdown-arrow { display: inline-block; width: 7px; @@ -30,7 +25,6 @@ } #project-dropdown-toggle { - border: 1px solid transparent; display: inline-block; /* adjust margins to keep position #project-title position stable after extension is loaded */ margin: -3px 0px -2px -6px; @@ -45,21 +39,6 @@ line-height: 21px; } -#project-dropdown-toggle:hover { - border-radius: 3px; - border: 1px solid #2d2f31; - box-shadow: inset 0 1px 0 rgba(255,255,255,0.09); - text-decoration: none; -} - -#project-dropdown-toggle:active { - background: #404141; - border-radius: 3px; - border: 1px solid #2d2f31; - box-shadow: inset 0 1px 1px rgba(0,0,0,0.23); - text-decoration: none; -} - #project-dropdown-toggle:hover .dropdown-arrow { background-image: url("down-arrow.svg"); } diff --git a/src/htmlContent/main-view.html b/src/htmlContent/main-view.html index 1664af2e5e2..6211d33481c 100644 --- a/src/htmlContent/main-view.html +++ b/src/htmlContent/main-view.html @@ -42,7 +42,7 @@