diff --git a/src/__celerity_resource_map__.php b/src/__celerity_resource_map__.php index 72ca5f3e7a..fb8ecbb0c1 100644 --- a/src/__celerity_resource_map__.php +++ b/src/__celerity_resource_map__.php @@ -7,17 +7,97 @@ */ celerity_register_resource_map(array( - 'phabricator-core-css' => + 'aphront-dialog-view-css' => array( - 'path' => '/res/ffa0140c/rsrc/css/base.css', + 'path' => '/res/2ef90210/rsrc/css/aphront/dialog-view.css', 'type' => 'css', 'requires' => array( ), ), - 'phabricator-syntax-css' => + 'aphront-form-view-css' => array( - 'path' => '/res/bf911307/rsrc/css/syntax.css', + 'path' => '/res/517031e5/rsrc/css/aphront/form-view.css', + 'type' => 'css', + 'requires' => + array( + ), + ), + 'aphront-panel-view-css' => + array( + 'path' => '/res/d96d5826/rsrc/css/aphront/panel-view.css', + 'type' => 'css', + 'requires' => + array( + ), + ), + 'aphront-side-nav-view-css' => + array( + 'path' => '/res/89b99d7d/rsrc/css/aphront/side-nav-view.css', + 'type' => 'css', + 'requires' => + array( + ), + ), + 'aphront-table-view-css' => + array( + 'path' => '/res/639b3af2/rsrc/css/aphront/table-view.css', + 'type' => 'css', + 'requires' => + array( + ), + ), + 'phabricator-standard-page-view' => + array( + 'path' => '/res/f1a74aa4/rsrc/css/application/base/standard-page-view.css', + 'type' => 'css', + 'requires' => + array( + ), + ), + 'differential-changeset-view-css' => + array( + 'path' => '/res/08a5c816/rsrc/css/application/differential/changeset-view.css', + 'type' => 'css', + 'requires' => + array( + ), + ), + 'differential-core-view-css' => + array( + 'path' => '/res/f750b85d/rsrc/css/application/differential/core.css', + 'type' => 'css', + 'requires' => + array( + ), + ), + 'differential-table-of-contents-css' => + array( + 'path' => '/res/cd5c966d/rsrc/css/application/differential/table-of-contents.css', + 'type' => 'css', + 'requires' => + array( + ), + ), + 'phabricator-directory-css' => + array( + 'path' => '/res/795c7b4e/rsrc/css/application/directory/phabricator-directory.css', + 'type' => 'css', + 'requires' => + array( + ), + ), + 'phabricator-core-buttons-css' => + array( + 'path' => '/res/5f44fe89/rsrc/css/core/buttons.css', + 'type' => 'css', + 'requires' => + array( + ), + ), + 'phabricator-core-css' => + array( + 'path' => '/res/39ce37c2/rsrc/css/core/core.css', 'type' => 'css', 'requires' => array( diff --git a/src/applications/directory/controller/main/PhabricatorDirectoryMainController.php b/src/applications/directory/controller/main/PhabricatorDirectoryMainController.php index 3ae36f0ea7..13af2686f1 100644 --- a/src/applications/directory/controller/main/PhabricatorDirectoryMainController.php +++ b/src/applications/directory/controller/main/PhabricatorDirectoryMainController.php @@ -20,6 +20,8 @@ class PhabricatorDirectoryMainController extends PhabricatorDirectoryController { public function processRequest() { + + $items = id(new PhabricatorDirectoryItem())->loadAll(); $items = msort($items, 'getSortKey'); @@ -30,6 +32,8 @@ class PhabricatorDirectoryMainController $category_map[0] = 'Free Radicals'; $items = mgroup($items, 'getCategoryID'); + require_celerity_resource('phabricator-directory-css'); + $content = array(); foreach ($category_map as $id => $category_name) { $category_items = idx($items, $id); diff --git a/src/applications/directory/controller/main/__init__.php b/src/applications/directory/controller/main/__init__.php index 9d1846c24e..a059f07cff 100644 --- a/src/applications/directory/controller/main/__init__.php +++ b/src/applications/directory/controller/main/__init__.php @@ -9,6 +9,7 @@ phutil_require_module('phabricator', 'applications/directory/controller/base'); phutil_require_module('phabricator', 'applications/directory/storage/category'); phutil_require_module('phabricator', 'applications/directory/storage/item'); +phutil_require_module('phabricator', 'infratructure/celerity/api'); phutil_require_module('phutil', 'markup'); phutil_require_module('phutil', 'utils'); diff --git a/src/view/control/table/AphrontTableView.php b/src/view/control/table/AphrontTableView.php index 94925d15b5..f7d4d8d44a 100755 --- a/src/view/control/table/AphrontTableView.php +++ b/src/view/control/table/AphrontTableView.php @@ -61,6 +61,8 @@ class AphrontTableView extends AphrontView { } public function render() { + require_celerity_resource('aphront-table-view-css'); + $class = $this->className; if ($class !== null) { $class = ' class="aphront-table-view '.$class.'"'; diff --git a/src/view/control/table/__init__.php b/src/view/control/table/__init__.php index 3fe5b8a8a9..b7edc7e84a 100644 --- a/src/view/control/table/__init__.php +++ b/src/view/control/table/__init__.php @@ -6,6 +6,7 @@ +phutil_require_module('phabricator', 'infratructure/celerity/api'); phutil_require_module('phabricator', 'view/base'); phutil_require_module('phutil', 'utils'); diff --git a/src/view/dialog/AphrontDialogView.php b/src/view/dialog/AphrontDialogView.php index 9ffb498154..600adbe158 100755 --- a/src/view/dialog/AphrontDialogView.php +++ b/src/view/dialog/AphrontDialogView.php @@ -48,6 +48,7 @@ class AphrontDialogView extends AphrontView { } final public function render() { + require_celerity_resource('aphront-dialog-view-css'); $buttons = array(); if ($this->submitButton) { diff --git a/src/view/dialog/__init__.php b/src/view/dialog/__init__.php index 8516283058..f01e8af4d8 100644 --- a/src/view/dialog/__init__.php +++ b/src/view/dialog/__init__.php @@ -6,6 +6,7 @@ +phutil_require_module('phabricator', 'infratructure/celerity/api'); phutil_require_module('phabricator', 'view/base'); phutil_require_module('phutil', 'markup'); diff --git a/src/view/form/base/AphrontFormView.php b/src/view/form/base/AphrontFormView.php index 5cf93d98f4..25a051f5c3 100755 --- a/src/view/form/base/AphrontFormView.php +++ b/src/view/form/base/AphrontFormView.php @@ -40,6 +40,7 @@ final class AphrontFormView extends AphrontView { } public function render() { + require_celerity_resource('aphront-form-view-css'); return phutil_render_tag( 'form', array( diff --git a/src/view/form/base/__init__.php b/src/view/form/base/__init__.php index 6258e19e4c..a5fe0834f2 100644 --- a/src/view/form/base/__init__.php +++ b/src/view/form/base/__init__.php @@ -6,6 +6,7 @@ +phutil_require_module('phabricator', 'infratructure/celerity/api'); phutil_require_module('phabricator', 'view/base'); phutil_require_module('phutil', 'markup'); diff --git a/src/view/layout/panel/AphrontPanelView.php b/src/view/layout/panel/AphrontPanelView.php index 2672002d51..026c7f7094 100755 --- a/src/view/layout/panel/AphrontPanelView.php +++ b/src/view/layout/panel/AphrontPanelView.php @@ -64,6 +64,8 @@ final class AphrontPanelView extends AphrontView { $table = $this->renderChildren(); + require_celerity_resource('aphront-panel-view-css'); + $class = array('aphront-panel-view'); if ($this->width) { $class[] = 'aphront-panel-width-'.$this->width; diff --git a/src/view/layout/panel/__init__.php b/src/view/layout/panel/__init__.php index fa47c4179a..b785c8826c 100644 --- a/src/view/layout/panel/__init__.php +++ b/src/view/layout/panel/__init__.php @@ -6,6 +6,7 @@ +phutil_require_module('phabricator', 'infratructure/celerity/api'); phutil_require_module('phabricator', 'view/base'); phutil_require_module('phutil', 'markup'); diff --git a/src/view/layout/sidenav/AphrontSideNavView.php b/src/view/layout/sidenav/AphrontSideNavView.php index c0ababfad0..6a2d52573a 100755 --- a/src/view/layout/sidenav/AphrontSideNavView.php +++ b/src/view/layout/sidenav/AphrontSideNavView.php @@ -29,6 +29,8 @@ final class AphrontSideNavView extends AphrontView { $view = new AphrontNullView(); $view->appendChild($this->items); + require_celerity_resource('aphront-side-nav-view-css'); + return ''. ''. diff --git a/src/view/layout/sidenav/__init__.php b/src/view/layout/sidenav/__init__.php index b32c493b63..cc651dfe31 100644 --- a/src/view/layout/sidenav/__init__.php +++ b/src/view/layout/sidenav/__init__.php @@ -6,6 +6,7 @@ +phutil_require_module('phabricator', 'infratructure/celerity/api'); phutil_require_module('phabricator', 'view/base'); phutil_require_module('phabricator', 'view/null'); diff --git a/src/view/page/standard/PhabricatorStandardPageView.php b/src/view/page/standard/PhabricatorStandardPageView.php index d44ed78aac..235df76475 100755 --- a/src/view/page/standard/PhabricatorStandardPageView.php +++ b/src/view/page/standard/PhabricatorStandardPageView.php @@ -53,10 +53,12 @@ class PhabricatorStandardPageView extends AphrontPageView { return $this->getGlyph().' '.parent::getTitle(); } - + protected function willRenderPage() { require_celerity_resource('phabricator-core-css'); - + require_celerity_resource('phabricator-core-buttons-css'); + require_celerity_resource('phabricator-standard-page-view'); + $this->bodyContent = $this->renderChildren(); } @@ -88,25 +90,25 @@ class PhabricatorStandardPageView extends AphrontPageView { array( 'href' => idx($tab, 'href'), 'class' => ($name == $this->selectedTab) - ? 'aphront-selected-tab' + ? 'phabricator-selected-tab' : null, ), phutil_escape_html(idx($tab, 'name'))); } $tabs = implode('', $tabs); if ($tabs) { - $tabs = ''.$tabs.''; + $tabs = ''.$tabs.''; } return - '
'. - '
'. + '
'. + '
'. 'Phabricator '. phutil_render_tag( 'a', array( 'href' => $this->getBaseURI(), - 'class' => 'aphront-head-appname', + 'class' => 'phabricator-head-appname', ), phutil_escape_html($this->getApplicationName())). $tabs. diff --git a/webroot/rsrc/css/aphront/dialog-view.css b/webroot/rsrc/css/aphront/dialog-view.css new file mode 100644 index 0000000000..bc80a7961f --- /dev/null +++ b/webroot/rsrc/css/aphront/dialog-view.css @@ -0,0 +1,42 @@ +/** + * @provides aphront-dialog-view-css + */ + + + +.aphront-dialog-view { + width: 480px; + padding: 8px; + background: #666; + margin: auto; +} + +.aphront-dialog-head { + background: #003366; + border: none; + font-size: 15px; + padding: 5px 12px 6px; + color: #ffffff; +} + + +.aphront-dialog-body { + background: #ffffff; + padding: 16px 12px; + border: none; + overflow: hidden; +} + +.aphront-dialog-tail { + border: none; + background: #ededed; + padding: 0.5em; + text-align: right; +} + +.aphront-dialog-tail button, +.aphront-dialog-tail a.button { + float: right; + margin-left: .5em; +} + diff --git a/webroot/rsrc/css/aphront/form-view.css b/webroot/rsrc/css/aphront/form-view.css new file mode 100644 index 0000000000..e3e7cc8bb3 --- /dev/null +++ b/webroot/rsrc/css/aphront/form-view.css @@ -0,0 +1,79 @@ +/** + * @provides aphront-form-view-css + */ + +.aphront-form-view { + background: #e7e7e7; + border: 1px solid #c4c4c4; + padding: 1em; +} + +.aphront-form-view label { + padding-top: 4px; + width: 14%; + float: left; + text-align: right; + font-weight: bold; + font-size: 13px; + color: #666666; +} + +.aphront-form-input { + margin-left: 15%; + margin-right: 25%; + width: 60%; +} + +.aphront-form-error { + width: 23%; + float: right; + color: #aa0000; + font-weight: bold; + padding-top: 4px; +} + +.aphront-form-input input, +.aphront-form-input textarea { + font-size: 12px; + width: 100%; +} + +.aphront-form-input textarea { + height: 12em; +} + +.aphront-form-control { + padding: 4px; +} + +.aphront-form-control-submit button, +.aphront-form-control-submit a.button { + float: right; + margin: 1em 0 0em 2%; +} + +.aphront-form-view .aphront-form-caption { + font-size: 11px; + color: #444444; + text-align: right; + clear: both; + margin-right: 25%; + margin-left: 15%; +} + +.aphront-error-view { + width: 720px; + margin: 1em auto; + border: 1px solid #aa0000; + padding: 1em; + background: #f9b9bc; +} + +.aphront-form-instructions { + margin: 2em 3%; +} + +.aphront-form-control-static .aphront-form-input { + padding-top: 4px; + font-size: 13px; +} diff --git a/webroot/rsrc/css/aphront/panel-view.css b/webroot/rsrc/css/aphront/panel-view.css new file mode 100644 index 0000000000..6b816b4f7c --- /dev/null +++ b/webroot/rsrc/css/aphront/panel-view.css @@ -0,0 +1,35 @@ +/** + * @provides aphront-panel-view-css + */ + + +.aphront-panel-view { + background: #f3f3f3; + border: 1px solid #c0c0c0; + border-width: 1px 0 0; + padding: 1em 2em; + margin: 1em 2em; +} + +.aphront-panel-view h1 { + font-size: 14px; + font-weight: bold; + padding: 2px 0 8px; +} + +.aphront-panel-view a.create-button { + float: right; +} + +.aphront-panel-width-form { + width: 720px; + margin-right: auto; + margin-left: auto; +} + +.aphront-panel-width-wide { + width: 1080px; + margin-right: auto; + margin-left: auto; +} + diff --git a/webroot/rsrc/css/aphront/side-nav-view.css b/webroot/rsrc/css/aphront/side-nav-view.css new file mode 100644 index 0000000000..058fbe077f --- /dev/null +++ b/webroot/rsrc/css/aphront/side-nav-view.css @@ -0,0 +1,42 @@ +/** + * @provides aphront-side-nav-view-css + */ + +table.aphront-side-nav-view { + width: 100%; +} + +td.aphront-side-nav-content { + width: 100%; +} + +th.aphront-side-nav-navigation { + border-right: 1px solid #bbbbbb; +} + +th.aphront-side-nav-navigation a { + display: block; + margin: 0 0 2px; + min-width: 150px; + padding: 3px 8px 3px 24px; + font-weight: bold; + white-space: nowrap; + text-decoration: none; +} + +th.aphront-side-nav-navigation a:hover { + text-decoration: none; + background: #f3f3f9; +} + +th.aphront-side-nav-navigation hr { + height: 1px; + background: #eeeeee; + border: 0px; + margin: 12px 0px; +} + +th.aphront-side-nav-navigation a.aphront-side-nav-selected, +th.aphront-side-nav-navigation a.aphront-side-nav-selected:hover { + background: #d8dfea; +} diff --git a/webroot/rsrc/css/aphront/table-view.css b/webroot/rsrc/css/aphront/table-view.css new file mode 100644 index 0000000000..42ab197eaa --- /dev/null +++ b/webroot/rsrc/css/aphront/table-view.css @@ -0,0 +1,72 @@ +/** + * @provides aphront-table-view-css + */ + +.aphront-table-view { + width: 100%; + border-collapse: collapse; + background: #fdfdfd; + border: 1px solid #003366; +} + +.aphront-table-view tr.alt { + background: #efefef; +} + +.aphront-table-view th { + font-size: 12px; + font-weight: bold; + padding: 4px 8px; + background: #003366; + color: white; + white-space: nowrap; +} + +.aphront-table-view td.header { + padding: 4px 8px; + background: #3b5998; + color: white; + white-space: nowrap; + text-align: right; +} + +.aphront-table-view td { + vertical-align: top; + padding: 4px 8px; + font-size: 11px; + white-space: nowrap; +} + +.aphront-table-view td.action { + padding-top: 1px; + padding-bottom: 1px; +} + +.aphront-table-view td.larger { + font-size: 14px; +} + +.aphront-table-view td.pri { + font-weight: bold; +} + +.aphront-table-view td.wide { + white-space: normal; + width: 100%; +} + +.aphront-table-view td.right { + text-align: right; +} + +.aphront-table-view td.mono { + font-family: "Monaco", monospace; + font-size: 10px; +} + +.aphront-table-view tr.no-data td { + padding: 1em; + text-align: center; + color: #888888; + font-style: italic; +} diff --git a/webroot/rsrc/css/application/base/standard-page-view.css b/webroot/rsrc/css/application/base/standard-page-view.css new file mode 100644 index 0000000000..cdc97ace79 --- /dev/null +++ b/webroot/rsrc/css/application/base/standard-page-view.css @@ -0,0 +1,48 @@ +/** + * @provides phabricator-standard-page-view + */ + + +.phabricator-standard-page { + background: #ffffff; + border-bottom: 1px solid #888888; + font-size: 14px; + + -webkit-box-shadow: 0 0 6px #000; + -mox-box-shadow: 0 0 6px #000; + box-shadow: 0 0 6px #000; +} + +.phabricator-standard-header { + background: #003366; + color: white; + padding: 1em 1em 0.5em 1em; + overflow: hidden; + position: relative; +} + +.phabricator-standard-header a { + color: white; +} + +.phabricator-standard-header .phabricator-head-tabs { + padding: 0 1em; + font-size: 13px; + font-weight: bold; +} + +.phabricator-standard-header .phabricator-head-tabs a { + border-bottom: 3px solid transparent; + padding: 0.5em 0.75em; + position: relative; + bottom: 2px; +} + +.phabricator-standard-header .phabricator-head-tabs a.phabricator-selected-tab { + border-bottom-color: #cccccc; +} + +.phabricator-standard-header .phabricator-head-appname { + padding: 0 1em; + text-transform: uppercase; +} diff --git a/webroot/rsrc/css/application/differential/changeset-view.css b/webroot/rsrc/css/application/differential/changeset-view.css new file mode 100644 index 0000000000..a3d0eb14d0 --- /dev/null +++ b/webroot/rsrc/css/application/differential/changeset-view.css @@ -0,0 +1,110 @@ +/** + * @provides differential-changeset-view-css + */ + +.differential-diff { + background: #ffffff; + font-family: "Menlo", "Consolas", "Monaco", monospace; + font-size: 10px; + width: 100%; +} + +.differential-diff td { + /* using monospace fonts makes ex/em most useful: + * + * Unfortunately, firefox 3.6 renders diffs columns for added and removed + * files "way-too-wide" when given em as the dimension measurement, so we + * use an eyeballed ex equivalent and reset it to the ch character width + * measurement for browsers that support that css3 measurement. + */ + width: 88ex; + width: 81ch; + /* + Disable ligatures in Firefox. Firefox 3 has fancypants ligature support, but + it gets applied to monospaced fonts, which sucks because it means that the + "fi" ligature only takes up one character, e.g. It's probably the font's + fault that it even specifies ligatures (seriously, what the hell?) but + that's hard to fix and this is "easy" to "fix": custom letter spacing + disables ligatures, as long as it's at least 0.008333-repeating pixels of + custom letter spacing. I have no idea where this number comes from, but note + that .83333.. = 5/6. -epriestley + */ + letter-spacing: 0.0083334px; + vertical-align: top; + white-space: pre; + padding: 0 8px 1px; + line-height: 16px; + overflow: hidden; +} + +.differential-diff th { + text-align: right; + padding: 2px 6px; + width: 44px; + vertical-align: top; + background: #eeeeee; + color: #888888; + cursor: pointer; + border-style: solid; + border-width: 0px 1px; + border-color: #eeeeee #999999 #eeeeee #dddddd; + font-weight: bold; + font-family: "Verdana"; + font-size: 11px; + overflow: hidden; +} + +.differential-diff td.old { + background: #ffd0d0; + color: #161111; +} + +.differential-diff td.new { + background: #d0ffd0; + color: #111611; +} + +.differential-diff td.old-full, +.differential-diff td.old span.bright { + background: #ffaaaa; + color: #221111; +} + +.differential-diff td.new-full, +.differential-diff td.new span.bright { + background: #aaffaa; + color: #112211; +} + +.differential-diff td.show-more, +.differential-diff td.differential-shield { + background: #ffffee; + padding: 1em; + text-align: center; + font-family: "Verdana"; + font-size: 11px; + border: 1px solid #ccccaa; + white-space: normal; +} + +.differential-diff td.show-more { + color: #999966; +} + +.differential-diff td.differential-shield { + text-align: center; + max-width: 1160px; +} + +.differential-diff td.differential-shield a { + font-weight: bold; +} + +.differential-meta-notice { + border: 1px solid #ffdd99; + background: #ffeeaa; + font-family: "Verdana"; + font-size: 11px; + padding: 1em; + margin: 0 0 6px 0; +} diff --git a/webroot/rsrc/css/application/differential/core.css b/webroot/rsrc/css/application/differential/core.css new file mode 100644 index 0000000000..f2aad4918a --- /dev/null +++ b/webroot/rsrc/css/application/differential/core.css @@ -0,0 +1,9 @@ +/** + * @provides differential-core-view-css + */ + +.differential-primary-pane { + margin: 0 40px; + max-width: 1162px; +} + diff --git a/webroot/rsrc/css/application/differential/table-of-contents.css b/webroot/rsrc/css/application/differential/table-of-contents.css new file mode 100644 index 0000000000..a50c91705c --- /dev/null +++ b/webroot/rsrc/css/application/differential/table-of-contents.css @@ -0,0 +1,40 @@ +/** + * @provides differential-table-of-contents-css + */ + +.differential-toc { + margin: 25px 0; + max-width: 1118px; + border: 1px solid #666622; + background: #efefdf; + padding: 15px 20px; + font-size: 13px; +} + +.differential-toc-meta { + color: #666666; + padding-left: 1em; +} + +.differential-toc-char, +.differential-toc-prop { + width: 1.25em; + text-align: center; + font-weight: bold; +} + +.differential-toc-ftype { + padding: 0 .5em; + text-align: center; + color: #666666; +} + +.differential-toc-file { + color: #444444; +} + +.differential-toc h1 { + border-bottom: 1px solid #aaaa99; + padding-bottom: 8px; + margin-bottom: 8px; +} diff --git a/webroot/rsrc/css/application/directory/phabricator-directory.css b/webroot/rsrc/css/application/directory/phabricator-directory.css new file mode 100644 index 0000000000..27ccb828e8 --- /dev/null +++ b/webroot/rsrc/css/application/directory/phabricator-directory.css @@ -0,0 +1,38 @@ +/** + * @provides phabricator-directory-css + */ + + + +.aphront-directory-list { + margin: 1em 3% 8em; +} + +.aphront-directory-category h1 { + border-bottom: 1px solid #cccccc; + margin-bottom: .5em; + padding-bottom: .1em; +} + +.aphront-directory-list h2 { + font-size: 14px; + font-weight: bold; + padding: 0; + margin: 0; +} + +.aphront-directory-list p { + color: #444444; + font-size: 12px; + padding: .05em .5em .5em; +} + +.aphront-directory-category { + padding: 10px; + width: 300px; + float: left; +} + +.aphront-directory-group { + padding: 0 .5em 3em; +} diff --git a/webroot/rsrc/css/base.css b/webroot/rsrc/css/base.css deleted file mode 100644 index c5033f27d6..0000000000 --- a/webroot/rsrc/css/base.css +++ /dev/null @@ -1,764 +0,0 @@ -/** - * @provides phabricator-core-css - */ - -html { - overflow-y: scroll; -} - -body, div, dl, dt, dd, ul, ol, li, -h1, h2, h3, h4, h5, h6, -pre, form, fieldset, -p, blockquote, th, td, button { - margin: 0; - padding: 0; - outline: 0; - border: 0; -} - -html { - padding-bottom: 16em; -} - -table { - border-collapse: collapse; - border-spacing: 0; -} - -fieldset, img { - border: 0; -} - -address, caption, cite, code, dfn, th, var { - font-style: normal; - font-weight: normal; -} - -ol, ul { - list-style: none; -} - -caption, th { - text-align: left; -} - -td, th { - vertical-align: top; -} - -h1, h2, h3, h4, h5, h6 { - font-size: 100%; - font-weight: bold; -} - -body { - font: 13px/1.231 'lucida grande', tahoma, verdana, arial, sans-serif; - background: #ACACAC; - direction: ltr; - text-align: left; - unicode-bidi: embed; - *font-size: small; -} - -select, input, button, textarea, button { - font: 99% 'lucida grande', tahoma, verdana, arial, clean, sans-serif; -} - -table { - font-size: inherit; - font: 100%; -} - -h1 { - font-size: 16px; -} - -h2 { - font-size: 14px; -} - -a { - -moz-outline-style: none; - text-decoration: none; - cursor: pointer; -} - -a:visited { - color: #3b5998; -} - -a:link { - color: #3b5998; -} - -a:hover { - text-decoration: underline; -} - -img { - display: block; -} - -/******************************************************************************/ - -/* Buttons */ - -/******************************************************************************/ - -button, -a.button, -a.button:visited, -input.inputsubmit { - background: #5e77aa url('/rsrc/image/sprite.png') 0 0 repeat-x; - border: 1px solid #29447e; - border-bottom-color: #1a356e; - color: #fff; - cursor: pointer; - font-weight: bold; - text-align: center; - white-space: nowrap; - display: inline-block; - font-size: 13px; - overflow: visible; - padding: 2px 8px 3px 8px; - line-height: 18px; - vertical-align: baseline; - width: auto; - box-shadow: 0px 1px 0px rgba(0,0,0,.12); - -moz-box-shadow: 0px 1px 0px rgba(0,0,0,.12); - -webkit-box-shadow: 0px 1px 0px rgba(0,0,0,.12); -} - -button { - *padding: 2px 4px 1px 8px; - _padding-right: 6px; -} - -a.button, -a.button:visited { - *padding: 3px 8px 4px; -} - -/* Buttons with images (full size only) */ -button.icon, -a.icon, -a.icon:visited { - padding-left: 0; - position: relative; - text-indent: 29px; -} - -/* Fix for IE7 within table cells ? */ -td button { - *width: 100%; - *padding-right: 8px; -} - -button:active, -a.button:active { - background-color: #4f6aa3; - background-position: 0 -100px; - border-bottom-color: #29447e; -} - -button.green, -a.green, -a.green:visited { - background-color: #6da952; - background-position: 0 -50px; - border: 1px solid #3b6e22; - border-bottom-color: #2c5a15; -} - -button.green:active, -a.green:active { - background-color: #5e9d43; - background-position: 0 -150px; - border-bottom-color: #3b6e22; -} - -button.grey, -input.inputaux, -a.grey, -a.grey:visited, -a.button.disabled, -button.disabled { - background-color: #e4e5e5; - background-position: 0 -250px; - border: 1px solid #999; - border-bottom-color: #888; - color: #333; - box-shadow: 0px 1px 0px rgba(0,0,0,.07); - -moz-box-shadow: 0px 1px 0px rgba(0,0,0,.07); - -webkit-box-shadow: 0px 1px 0px rgba(0,0,0,.07); -} - -a.disabled, -button.disabled { - filter:alpha(opacity=50); - -moz-opacity:0.5; - -khtml-opacity: 0.5; - opacity: 0.5; -} - -button.grey:active, -a.grey:active, -button.grey_active { - background-color: #dddddd; - background-position: 0 -200px; - border-bottom-color: #999; -} - -button:active::-moz-focus-inner, -button:focus::-moz-focus-inner { - border-color: #405071; -} - -button.green:active::-moz-focus-inner, -button.green:focus::-moz-focus-inner { - border-color: #4c713b; -} - -button.grey:active::-moz-focus-inner, -button.grey:focus::-moz-focus-inner { - border-color: #666; -} - -a.button:hover { - text-decoration: none; -} - -button.small, -a.small, -a.small:visited { - padding: 2px 7px; - height: auto; - font-size: 11px; - line-height: 16px; -} - - -/******************************************************************************/ - -/* Aphront */ - -/******************************************************************************/ - -.aphront-standard-page { - background: #ffffff; - border-bottom: 1px solid #888888; - font-size: 14px; - - -webkit-box-shadow: 0 0 6px #000; - -mox-box-shadow: 0 0 6px #000; - box-shadow: 0 0 6px #000; -} - -.aphront-standard-header { - background: #003366; - color: white; - padding: 1em 1em 0.5em 1em; - overflow: hidden; - position: relative; -} - -.aphront-standard-header a { - color: white; -} - -.aphront-standard-header .aphront-head-tabs { - padding: 0 1em; - font-size: 13px; - font-weight: bold; -} - -.aphront-standard-header .aphront-head-tabs a { - border-bottom: 3px solid transparent; - padding: 0.5em 0.75em; - position: relative; - bottom: 2px; -} - -.aphront-standard-header .aphront-head-tabs a.aphront-selected-tab { - border-bottom-color: #cccccc; -} - -.aphront-standard-header .aphront-head-appname { - padding: 0 1em; - text-transform: uppercase; -} - - -.aphront-directory-list { - margin: 1em 3% 8em; -} - -.aphront-directory-category h1 { - border-bottom: 1px solid #cccccc; - margin-bottom: .5em; - padding-bottom: .1em; -} - -.aphront-directory-list h2 { - font-size: 14px; - font-weight: bold; - padding: 0; - margin: 0; -} - -.aphront-directory-list p { - color: #444444; - font-size: 12px; - padding: .05em .5em .5em; -} - -.aphront-directory-category { - padding: 10px; - width: 300px; - float: left; -} - -.aphront-directory-group { - padding: 0 .5em 3em; -} - - -.aphront-panel-view { - background: #f3f3f3; - border: 1px solid #c0c0c0; - border-width: 1px 0 0; - padding: 1em 2em; - margin: 1em 2em; -} - -.aphront-panel-view h1 { - font-size: 14px; - font-weight: bold; - padding: 2px 0 8px; -} - -.aphront-panel-view a.create-button { - float: right; -} - -.aphront-panel-width-form { - width: 720px; - margin-right: auto; - margin-left: auto; -} - -.aphront-panel-width-wide { - width: 1080px; - margin-right: auto; - margin-left: auto; -} - -.aphront-table-view { - width: 100%; - border-collapse: collapse; - background: #fdfdfd; - border: 1px solid #003366; -} - -.aphront-table-view tr.alt { - background: #efefef; -} - -.aphront-table-view th { - font-size: 12px; - font-weight: bold; - padding: 4px 8px; - background: #003366; - color: white; - white-space: nowrap; -} - -.aphront-table-view td.header { - padding: 4px 8px; - background: #3b5998; - color: white; - white-space: nowrap; - text-align: right; -} - -.aphront-table-view td { - vertical-align: top; - padding: 4px 8px; - font-size: 11px; - white-space: nowrap; -} - -.aphront-table-view td.action { - padding-top: 1px; - padding-bottom: 1px; -} - -.aphront-table-view td.larger { - font-size: 14px; -} - -.aphront-table-view td.pri { - font-weight: bold; -} - -.aphront-table-view td.wide { - white-space: normal; - width: 100%; -} - -.aphront-table-view td.right { - text-align: right; -} - -.aphront-table-view td.mono { - font-family: "Monaco", monospace; - font-size: 10px; -} - -.aphront-table-view tr.no-data td { - padding: 1em; - text-align: center; - color: #888888; - font-style: italic; -} - - -/******************************************************************************/ - -/* forms */ - -/******************************************************************************/ - -.aphront-form-view { - background: #e7e7e7; - border: 1px solid #c4c4c4; - padding: 1em; -} - -.aphront-form-view label { - padding-top: 4px; - width: 14%; - float: left; - text-align: right; - font-weight: bold; - font-size: 13px; - color: #666666; -} - -.aphront-form-input { - margin-left: 15%; - margin-right: 25%; - width: 60%; -} - -.aphront-form-error { - width: 23%; - float: right; - color: #aa0000; - font-weight: bold; - padding-top: 4px; -} - -.aphront-form-input input, -.aphront-form-input textarea { - font-size: 12px; - width: 100%; -} - -.aphront-form-input textarea { - height: 12em; -} - -.aphront-form-control { - padding: 4px; -} - -.aphront-form-control-submit button, -.aphront-form-control-submit a.button { - float: right; - margin: 1em 0 0em 2%; -} - -.aphront-form-view .aphront-form-caption { - font-size: 11px; - color: #444444; - text-align: right; - clear: both; - margin-right: 25%; - margin-left: 15%; -} - -.aphront-error-view { - width: 720px; - margin: 1em auto; - border: 1px solid #aa0000; - padding: 1em; - background: #f9b9bc; -} - -.aphront-form-instructions { - margin: 2em 3%; -} - -.aphront-form-control-static .aphront-form-input { - padding-top: 4px; - font-size: 13px; -} - -/******************************************************************************/ - -/* dialog */ - -/******************************************************************************/ - - -.aphront-dialog-view { - width: 480px; - padding: 8px; - background: #666; - margin: auto; -} - -.aphront-dialog-head { - background: #003366; - border: none; - font-size: 15px; - padding: 5px 12px 6px; - color: #ffffff; -} - - -.aphront-dialog-body { - background: #ffffff; - padding: 16px 12px; - border: none; - overflow: hidden; -} - -.aphront-dialog-tail { - border: none; - background: #ededed; - padding: 0.5em; - text-align: right; -} - -.aphront-dialog-tail button, -.aphront-dialog-tail a.button { - float: right; - margin-left: .5em; -} - - - -/******************************************************************************/ - -/* side nav */ - -/******************************************************************************/ - - -table.aphront-side-nav-view { - width: 100%; -} - -td.aphront-side-nav-content { - width: 100%; -} - -th.aphront-side-nav-navigation { - border-right: 1px solid #bbbbbb; -} - -th.aphront-side-nav-navigation a { - display: block; - margin: 0 0 2px; - min-width: 150px; - padding: 3px 8px 3px 24px; - font-weight: bold; - white-space: nowrap; - text-decoration: none; -} - -th.aphront-side-nav-navigation a:hover { - text-decoration: none; - background: #f3f3f9; -} - -th.aphront-side-nav-navigation hr { - height: 1px; - background: #eeeeee; - border: 0px; - margin: 12px 0px; -} - -th.aphront-side-nav-navigation a.aphront-side-nav-selected, -th.aphront-side-nav-navigation a.aphront-side-nav-selected:hover { - background: #d8dfea; -} - - - -/******************************************************************************/ - -/* differential toc */ - -/******************************************************************************/ - -.differential-toc { - margin: 25px 0; - max-width: 1118px; - border: 1px solid #666622; - background: #efefdf; - padding: 15px 20px; - font-size: 13px; -} - -.differential-toc-meta { - color: #666666; - padding-left: 1em; -} - -.differential-toc-char, -.differential-toc-prop { - width: 1.25em; - text-align: center; - font-weight: bold; -} - -.differential-toc-ftype { - padding: 0 .5em; - text-align: center; - color: #666666; -} - -.differential-toc-file { - color: #444444; -} - -.differential-toc h1 { - border-bottom: 1px solid #aaaa99; - padding-bottom: 8px; - margin-bottom: 8px; -} - - -/******************************************************************************/ - -/* changeset view */ - -/******************************************************************************/ - -.differential-diff { - background: #ffffff; - font-family: "Menlo", "Consolas", "Monaco", monospace; - font-size: 10px; - width: 100%; -} - -.differential-diff td { - /* using monospace fonts makes ex/em most useful: - * - * Unfortunately, firefox 3.6 renders diffs columns for added and removed - * files "way-too-wide" when given em as the dimension measurement, so we - * use an eyeballed ex equivalent and reset it to the ch character width - * measurement for browsers that support that css3 measurement. - */ - width: 88ex; - width: 81ch; - /* - Disable ligatures in Firefox. Firefox 3 has fancypants ligature support, but - it gets applied to monospaced fonts, which sucks because it means that the - "fi" ligature only takes up one character, e.g. It's probably the font's - fault that it even specifies ligatures (seriously, what the hell?) but - that's hard to fix and this is "easy" to "fix": custom letter spacing - disables ligatures, as long as it's at least 0.008333-repeating pixels of - custom letter spacing. I have no idea where this number comes from, but note - that .83333.. = 5/6. -epriestley - */ - letter-spacing: 0.0083334px; - vertical-align: top; - white-space: pre; - padding: 0 8px 1px; - line-height: 16px; - overflow: hidden; -} - -.differential-diff th { - text-align: right; - padding: 2px 6px; - width: 44px; - vertical-align: top; - background: #eeeeee; - color: #888888; - cursor: pointer; - border-style: solid; - border-width: 0px 1px; - border-color: #eeeeee #999999 #eeeeee #dddddd; - font-weight: bold; - font-family: "Verdana"; - font-size: 11px; - overflow: hidden; -} - -.differential-diff td.old { - background: #ffd0d0; - color: #161111; -} - -.differential-diff td.new { - background: #d0ffd0; - color: #111611; -} - -.differential-diff td.old-full, -.differential-diff td.old span.bright { - background: #ffaaaa; - color: #221111; -} - -.differential-diff td.new-full, -.differential-diff td.new span.bright { - background: #aaffaa; - color: #112211; -} - -.differential-diff td.show-more, -.differential-diff td.differential-shield { - background: #ffffee; - padding: 1em; - text-align: center; - font-family: "Verdana"; - font-size: 11px; - border: 1px solid #ccccaa; - white-space: normal; -} - -.differential-diff td.show-more { - color: #999966; -} - -.differential-diff td.differential-shield { - text-align: center; - max-width: 1160px; -} - -.differential-diff td.differential-shield a { - font-weight: bold; -} - - -.differential-primary-pane { - margin: 0 40px; - max-width: 1162px; -} - -/************* meta notice ************************************************ */ - -.differential-meta-notice { - border: 1px solid #ffdd99; - background: #ffeeaa; - font-family: "Verdana"; - font-size: 11px; - padding: 1em; - margin: 0 0 6px 0; -} diff --git a/webroot/rsrc/css/core/buttons.css b/webroot/rsrc/css/core/buttons.css new file mode 100644 index 0000000000..380aa90e8b --- /dev/null +++ b/webroot/rsrc/css/core/buttons.css @@ -0,0 +1,139 @@ +/** + * @provides phabricator-core-buttons-css + */ + + +button, +a.button, +a.button:visited, +input.inputsubmit { + background: #5e77aa url('/rsrc/image/sprite.png') 0 0 repeat-x; + border: 1px solid #29447e; + border-bottom-color: #1a356e; + color: #fff; + cursor: pointer; + font-weight: bold; + text-align: center; + white-space: nowrap; + display: inline-block; + font-size: 13px; + overflow: visible; + padding: 2px 8px 3px 8px; + line-height: 18px; + vertical-align: baseline; + width: auto; + box-shadow: 0px 1px 0px rgba(0,0,0,.12); + -moz-box-shadow: 0px 1px 0px rgba(0,0,0,.12); + -webkit-box-shadow: 0px 1px 0px rgba(0,0,0,.12); +} + +button { + *padding: 2px 4px 1px 8px; + _padding-right: 6px; +} + +a.button, +a.button:visited { + *padding: 3px 8px 4px; +} + +/* Buttons with images (full size only) */ +button.icon, +a.icon, +a.icon:visited { + padding-left: 0; + position: relative; + text-indent: 29px; +} + +/* Fix for IE7 within table cells ? */ +td button { + *width: 100%; + *padding-right: 8px; +} + +button:active, +a.button:active { + background-color: #4f6aa3; + background-position: 0 -100px; + border-bottom-color: #29447e; +} + +button.green, +a.green, +a.green:visited { + background-color: #6da952; + background-position: 0 -50px; + border: 1px solid #3b6e22; + border-bottom-color: #2c5a15; +} + +button.green:active, +a.green:active { + background-color: #5e9d43; + background-position: 0 -150px; + border-bottom-color: #3b6e22; +} + +button.grey, +input.inputaux, +a.grey, +a.grey:visited, +a.button.disabled, +button.disabled { + background-color: #e4e5e5; + background-position: 0 -250px; + border: 1px solid #999; + border-bottom-color: #888; + color: #333; + box-shadow: 0px 1px 0px rgba(0,0,0,.07); + -moz-box-shadow: 0px 1px 0px rgba(0,0,0,.07); + -webkit-box-shadow: 0px 1px 0px rgba(0,0,0,.07); +} + +a.disabled, +button.disabled { + filter:alpha(opacity=50); + -moz-opacity:0.5; + -khtml-opacity: 0.5; + opacity: 0.5; +} + +button.grey:active, +a.grey:active, +button.grey_active { + background-color: #dddddd; + background-position: 0 -200px; + border-bottom-color: #999; +} + +button:active::-moz-focus-inner, +button:focus::-moz-focus-inner { + border-color: #405071; +} + +button.green:active::-moz-focus-inner, +button.green:focus::-moz-focus-inner { + border-color: #4c713b; +} + +button.grey:active::-moz-focus-inner, +button.grey:focus::-moz-focus-inner { + border-color: #666; +} + +a.button:hover { + text-decoration: none; +} + +button.small, +a.small, +a.small:visited { + padding: 2px 7px; + height: auto; + font-size: 11px; + line-height: 16px; +} + + + diff --git a/webroot/rsrc/css/core/core.css b/webroot/rsrc/css/core/core.css new file mode 100644 index 0000000000..8fc344c0e1 --- /dev/null +++ b/webroot/rsrc/css/core/core.css @@ -0,0 +1,101 @@ +/** + * @provides phabricator-core-css + */ + + +html { + overflow-y: scroll; +} + +body, div, dl, dt, dd, ul, ol, li, +h1, h2, h3, h4, h5, h6, +pre, form, fieldset, +p, blockquote, th, td, button { + margin: 0; + padding: 0; + outline: 0; + border: 0; +} + +html { + padding-bottom: 16em; +} + +table { + border-collapse: collapse; + border-spacing: 0; +} + +fieldset, img { + border: 0; +} + +address, caption, cite, code, dfn, th, var { + font-style: normal; + font-weight: normal; +} + +ol, ul { + list-style: none; +} + +caption, th { + text-align: left; +} + +td, th { + vertical-align: top; +} + +h1, h2, h3, h4, h5, h6 { + font-size: 100%; + font-weight: bold; +} + +body { + font: 13px/1.231 'lucida grande', tahoma, verdana, arial, sans-serif; + background: #ACACAC; + direction: ltr; + text-align: left; + unicode-bidi: embed; + *font-size: small; +} + +select, input, button, textarea, button { + font: 99% 'lucida grande', tahoma, verdana, arial, clean, sans-serif; +} + +table { + font-size: inherit; + font: 100%; +} + +h1 { + font-size: 16px; +} + +h2 { + font-size: 14px; +} + +a { + -moz-outline-style: none; + text-decoration: none; + cursor: pointer; +} + +a:visited { + color: #3b5998; +} + +a:link { + color: #3b5998; +} + +a:hover { + text-decoration: underline; +} + +img { + display: block; +} diff --git a/webroot/rsrc/css/syntax.css b/webroot/rsrc/css/syntax.css deleted file mode 100644 index dfa773dfd7..0000000000 --- a/webroot/rsrc/css/syntax.css +++ /dev/null @@ -1,123 +0,0 @@ -/** - * @provides phabricator-syntax-css - */ - -.remarkup-code .uu { /* Forbidden Unicode */ - color: #aa0066; -} - -.remarkup-code .over-the-line { - color: #aa0066; - margin-right: 1px; -} - -.remarkup-code td span { - padding: 1px 0 3px; -} - - -.remarkup-code .hll { - background-color: #ffffcc; -} - -.remarkup-code .c, /* Comment */ -.remarkup-code .cm, /* Comment.Multiline */ -.remarkup-code .c1, /* Comment.Single */ -.remarkup-code .cs { /* Comment.Special */ - color: #666666; -} - -.remarkup-code .sd, /* Literal.String.Doc */ -.remarkup-code .sh { /* Literal.String.Heredoc */ - color: #000000; -} - -.remarkup-code .s, /* Literal.String */ -.remarkup-code .sb, /* Literal.String.Backtick */ -.remarkup-code .sc, /* Literal.String.Char */ -.remarkup-code .s2, /* Literal.String.Double */ -.remarkup-code .s1, /* Literal.String.Single */ -.remarkup-code .sx { /* Literal.String.Other */ - color: #766510; -} - -.remarkup-code .sr { /* Literal.String.Regex */ - color: #BB6688; -} - -.remarkup-code .nv, /* Name.Variable */ -.remarkup-code .vi, /* Name.Variable.Instance */ -.remarkup-code .vg { /* Name.Variable.Global */ - color: #001294; -} - -.remarkup-code .na { /* Name.Attribute */ - color: #354BB3; -} - -.remarkup-code .kc, /* Keyword.Constant */ -.remarkup-code .no { /* Name.Constant */ - color: #000A65; -} - -.remarkup-code .k, /* Keyword */ -.remarkup-code .kd, /* Keyword.Declaration */ -.remarkup-code .kn, /* Keyword.Namespace */ -.remarkup-code .kt { /* Keyword.Type */ - color: #AA4000; -} - -.remarkup-code .cp, /* Comment.Preproc */ -.remarkup-code .kp, /* Keyword.Pseudo */ -.remarkup-code .kr, /* Keyword.Reserved */ -.remarkup-code .nb, /* Name.Builtin */ -.remarkup-code .bp { /* Name.Builtin.Pseudo */ - color: #304A96; -} - -.remarkup-code .nc, /* Name.Class */ -.remarkup-code .nt, /* Name.Tag */ -.remarkup-code .vc { /* Name.Variable.Class */ - color: #00702A; -} - -.remarkup-code .nf, /* Name.Function */ -.remarkup-code .nx { /* Name.Other */ - color: #004012; -} - -.remarkup-code .o, /* Operator */ -.remarkup-code .ss { /* Literal.String.Symbol */ - color: #AA2211; -} - -.remarkup-code .m, /* Literal.Number */ -.remarkup-code .mf, /* Literal.Number.Float */ -.remarkup-code .mh, /* Literal.Number.Hex */ -.remarkup-code .mi, /* Literal.Number.Integer */ -.remarkup-code .mo, /* Literal.Number.Oct */ -.remarkup-code .il { /* Literal.Number.Integer.Long */ - color: #601200; -} - -.remarkup-code .gd { color: #A00000 } /* Generic.Deleted */ -.remarkup-code .ge { } /* Generic.Emph */ -.remarkup-code .gr { color: #FF0000 } /* Generic.Error */ -.remarkup-code .gh { color: #000080; } /* Generic.Heading */ -.remarkup-code .gi { color: #00A000 } /* Generic.Inserted */ -.remarkup-code .go { color: #808080 } /* Generic.Output */ -.remarkup-code .gp { color: #000080 } /* Generic.Prompt */ -.remarkup-code .gs { } /* Generic.Strong */ -.remarkup-code .gu { color: #800080 } /* Generic.Subheading */ -.remarkup-code .gt { color: #0040D0 } /* Generic.Traceback */ -.remarkup-code .nd { color: #AA22FF } /* Name.Decorator */ -.remarkup-code .ni { color: #999999 } /* Name.Entity */ -.remarkup-code .ne { color: #D2413A } /* Name.Exception */ -.remarkup-code .nl { color: #A0A000 } /* Name.Label */ -.remarkup-code .nn { color: #0000FF } /* Name.Namespace */ -.remarkup-code .ow { color: #AA22FF } /* Operator.Word */ -.remarkup-code .w { color: #bbbbbb } /* Text.Whitespace */ -.remarkup-code .se { color: #BB6622 } /* Literal.String.Escape */ -.remarkup-code .si { color: #BB6688 } /* Literal.String.Interpol */ - -