Page MenuHomestyx hydra

No OneTemporary

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
@@ -1,58 +1,138 @@
<?php
/**
* This file is automatically generated. Use 'celerity_mapper.php' to rebuild
* it.
* @generated
*/
celerity_register_resource_map(array(
- 'phabricator-core-css' =>
+ 'aphront-dialog-view-css' =>
+ array(
+ 'path' => '/res/2ef90210/rsrc/css/aphront/dialog-view.css',
+ 'type' => 'css',
+ 'requires' =>
+ array(
+ ),
+ ),
+ 'aphront-form-view-css' =>
+ array(
+ '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/ffa0140c/rsrc/css/base.css',
+ 'path' => '/res/f1a74aa4/rsrc/css/application/base/standard-page-view.css',
'type' => 'css',
'requires' =>
array(
),
),
- 'phabricator-syntax-css' =>
+ '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/bf911307/rsrc/css/syntax.css',
+ 'path' => '/res/39ce37c2/rsrc/css/core/core.css',
'type' => 'css',
'requires' =>
array(
),
),
'javelin-init-dev' =>
array(
'path' => '/res/c57a9e89/rsrc/js/javelin/init.dev.js',
'type' => 'js',
'requires' =>
array(
),
),
'javelin-init-prod' =>
array(
'path' => '/res/f0172c54/rsrc/js/javelin/init.min.js',
'type' => 'js',
'requires' =>
array(
),
),
'javelin-lib-dev' =>
array(
'path' => '/res/3e747182/rsrc/js/javelin/javelin.dev.js',
'type' => 'js',
'requires' =>
array(
),
),
'javelin-lib-prod' =>
array(
'path' => '/res/9438670e/rsrc/js/javelin/javelin.min.js',
'type' => 'js',
'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
@@ -1,76 +1,80 @@
<?php
/*
* Copyright 2011 Facebook, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
class PhabricatorDirectoryMainController
extends PhabricatorDirectoryController {
public function processRequest() {
+
+
$items = id(new PhabricatorDirectoryItem())->loadAll();
$items = msort($items, 'getSortKey');
$categories = id(new PhabricatorDirectoryCategory())->loadAll();
$categories = msort($categories, 'getSequence');
$category_map = mpull($categories, 'getName', 'getID');
$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);
if (!$category_items) {
continue;
}
$item_markup = array();
foreach ($category_items as $item) {
$item_markup[] =
'<div>'.
'<h2>'.
phutil_render_tag(
'a',
array(
'href' => $item->getHref(),
),
phutil_escape_html($item->getName())).
'</h2>'.
'<p>'.phutil_escape_html($item->getDescription()).'</p>'.
'</div>';
}
$content[] =
'<div class="aphront-directory-category">'.
'<h1>'.phutil_escape_html($category_name).'</h1>'.
'<div class="aphront-directory-group">'.
implode("\n", $item_markup).
'</div>'.
'</div>';
}
$content =
'<div class="aphront-directory-list">'.
implode("\n", $content).
'</div>';
return $this->buildStandardPageResponse($content, array(
'title' => 'Directory',
'tab' => 'directory',
));
}
}
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
@@ -1,17 +1,18 @@
<?php
/**
* This file is automatically generated. Lint this module to rebuild it.
* @generated
*/
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');
phutil_require_source('PhabricatorDirectoryMainController.php');
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
@@ -1,134 +1,136 @@
<?php
/*
* Copyright 2011 Facebook, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
class AphrontTableView extends AphrontView {
protected $data;
protected $headers;
protected $rowClasses = array();
protected $columnClasses = array();
protected $zebraStripes = true;
protected $noDataString;
protected $className;
public function __construct(array $data) {
$this->data = $data;
}
public function setHeaders(array $headers) {
$this->headers = $headers;
return $this;
}
public function setColumnClasses(array $column_classes) {
$this->columnClasses = $column_classes;
return $this;
}
public function setRowClasses(array $row_classes) {
$this->rowClasses = $row_classes;
return $this;
}
public function setNoDataString($no_data_string) {
$this->noDataString = $no_data_string;
return $this;
}
public function setClassName($class_name) {
$this->className = $class_name;
return $this;
}
public function setZebraStripes($zebra_stripes) {
$this->zebraStripes = $zebra_stripes;
return $this;
}
public function render() {
+ require_celerity_resource('aphront-table-view-css');
+
$class = $this->className;
if ($class !== null) {
$class = ' class="aphront-table-view '.$class.'"';
} else {
$class = ' class="aphront-table-view"';
}
$table = array('<table'.$class.'>');
$col_classes = array();
foreach ($this->columnClasses as $key => $class) {
if (strlen($class)) {
$col_classes[] = ' class="'.$class.'"';
} else {
$col_classes[] = null;
}
}
$headers = $this->headers;
if ($headers) {
$table[] = '<tr>';
foreach ($headers as $col_num => $header) {
$class = idx($col_classes, $col_num);
$table[] = '<th'.$class.'>'.$header.'</th>';
}
$table[] = '</tr>';
}
$data = $this->data;
if ($data) {
$row_num = 0;
foreach ($data as $row) {
while (count($row) > count($col_classes)) {
$col_classes[] = null;
}
$class = idx($this->rowClasses, $row_num);
if ($this->zebraStripes && ($row_num % 2)) {
if ($class !== null) {
$class = 'alt alt-'.$class;
} else {
$class = 'alt';
}
}
if ($class !== null) {
$class = ' class="'.$class.'"';
}
$table[] = '<tr'.$class.'>';
$col_num = 0;
foreach ($row as $value) {
$class = $col_classes[$col_num];
if ($class !== null) {
$table[] = '<td'.$class.'>';
} else {
$table[] = '<td>';
}
$table[] = $value.'</td>';
++$col_num;
}
++$row_num;
}
} else {
$colspan = max(count($headers), 1);
$table[] =
'<tr class="no-data"><td colspan="'.$colspan.'">'.
coalesce($this->noDataString, 'No data available.').
'</td></tr>';
}
$table[] = '</table>';
return implode('', $table);
}
}
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
@@ -1,14 +1,15 @@
<?php
/**
* This file is automatically generated. Lint this module to rebuild it.
* @generated
*/
+phutil_require_module('phabricator', 'infratructure/celerity/api');
phutil_require_module('phabricator', 'view/base');
phutil_require_module('phutil', 'utils');
phutil_require_source('AphrontTableView.php');
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
@@ -1,90 +1,91 @@
<?php
/*
* Copyright 2011 Facebook, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
class AphrontDialogView extends AphrontView {
private $title;
private $submitButton;
private $cancelURI;
private $submitURI;
public function setSubmitURI($uri) {
$this->submitURI = $uri;
return $this;
}
public function setTitle($title) {
$this->title = $title;
return $this;
}
public function getTitle() {
return $this->title;
}
public function addSubmitButton($text = 'Okay') {
$this->submitButton = $text;
return $this;
}
public function addCancelButton($uri) {
$this->cancelURI = $uri;
return $this;
}
final public function render() {
+ require_celerity_resource('aphront-dialog-view-css');
$buttons = array();
if ($this->submitButton) {
$buttons[] =
'<button name="__submit__">'.
phutil_escape_html($this->submitButton).
'</button>';
}
if ($this->cancelURI) {
$buttons[] = phutil_render_tag(
'a',
array(
'href' => $this->cancelURI,
'class' => 'button grey',
),
'Cancel');
}
return phutil_render_tag(
'form',
array(
'class' => 'aphront-dialog-view',
'action' => $this->submitURI,
'method' => 'post',
),
'<input type="hidden" name="__form__" value="1" />'.
'<div class="aphront-dialog-head">'.
phutil_escape_html($this->title).
'</div>'.
'<div class="aphront-dialog-body">'.
$this->renderChildren().
'</div>'.
'<div class="aphront-dialog-tail">'.
implode('', $buttons).
'<div style="clear: both;"></div>'.
'</div>');
}
}
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
@@ -1,14 +1,15 @@
<?php
/**
* This file is automatically generated. Lint this module to rebuild it.
* @generated
*/
+phutil_require_module('phabricator', 'infratructure/celerity/api');
phutil_require_module('phabricator', 'view/base');
phutil_require_module('phutil', 'markup');
phutil_require_source('AphrontDialogView.php');
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
@@ -1,72 +1,73 @@
<?php
/*
* Copyright 2011 Facebook, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
final class AphrontFormView extends AphrontView {
private $action;
private $method = 'POST';
private $header;
private $data = array();
private $encType;
public function setAction($action) {
$this->action = $action;
return $this;
}
public function setMethod($method) {
$this->method = $method;
return $this;
}
public function setEncType($enc_type) {
$this->encType = $enc_type;
return $this;
}
public function render() {
+ require_celerity_resource('aphront-form-view-css');
return phutil_render_tag(
'form',
array(
'action' => $this->action,
'method' => $this->method,
'class' => 'aphront-form-view',
'enctype' => $this->encType,
),
$this->renderDataInputs().
$this->renderChildren());
}
private function renderDataInputs() {
$data = $this->data + array(
'__form__' => 1,
);
$inputs = array();
foreach ($data as $key => $value) {
$inputs[] = phutil_render_tag(
'input',
array(
'type' => 'hidden',
'name' => $key,
'value' => $value,
));
}
return implode("\n", $inputs);
}
}
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
@@ -1,14 +1,15 @@
<?php
/**
* This file is automatically generated. Lint this module to rebuild it.
* @generated
*/
+phutil_require_module('phabricator', 'infratructure/celerity/api');
phutil_require_module('phabricator', 'view/base');
phutil_require_module('phutil', 'markup');
phutil_require_source('AphrontFormView.php');
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
@@ -1,80 +1,82 @@
<?php
/*
* Copyright 2011 Facebook, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
final class AphrontPanelView extends AphrontView {
const WIDTH_FULL = 'full';
const WIDTH_FORM = 'form';
const WIDTH_WIDE = 'wide';
private $createButton;
private $header;
private $width;
public function setCreateButton($create_button, $href) {
$this->createButton = phutil_render_tag(
'a',
array(
'href' => $href,
'class' => 'create-button button green',
),
$create_button);
return $this;
}
public function setHeader($header) {
$this->header = $header;
return $this;
}
public function setWidth($width) {
$this->width = $width;
return $this;
}
public function render() {
if ($this->header !== null) {
$header = '<h1>'.$this->header.'</h1>';
} else {
$header = null;
}
if ($this->createButton !== null) {
$button = $this->createButton;
} else {
$button = null;
}
$table = $this->renderChildren();
+ require_celerity_resource('aphront-panel-view-css');
+
$class = array('aphront-panel-view');
if ($this->width) {
$class[] = 'aphront-panel-width-'.$this->width;
}
return
'<div class="'.implode(' ', $class).'">'.
$button.
$header.
$table.
'</div>';
}
}
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
@@ -1,14 +1,15 @@
<?php
/**
* This file is automatically generated. Lint this module to rebuild it.
* @generated
*/
+phutil_require_module('phabricator', 'infratructure/celerity/api');
phutil_require_module('phabricator', 'view/base');
phutil_require_module('phutil', 'markup');
phutil_require_source('AphrontPanelView.php');
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
@@ -1,45 +1,47 @@
<?php
/*
* Copyright 2011 Facebook, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
final class AphrontSideNavView extends AphrontView {
protected $items = array();
public function addNavItem($item) {
$this->items[] = $item;
return $this;
}
public function render() {
$view = new AphrontNullView();
$view->appendChild($this->items);
+ require_celerity_resource('aphront-side-nav-view-css');
+
return
'<table class="aphront-side-nav-view">'.
'<tr>'.
'<th class="aphront-side-nav-navigation">'.
$view->render().
'</th>'.
'<td class="aphront-side-nav-content">'.
$this->renderChildren().
'</td>'.
'</tr>'.
'</table>';
}
}
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
@@ -1,13 +1,14 @@
<?php
/**
* This file is automatically generated. Lint this module to rebuild it.
* @generated
*/
+phutil_require_module('phabricator', 'infratructure/celerity/api');
phutil_require_module('phabricator', 'view/base');
phutil_require_module('phabricator', 'view/null');
phutil_require_source('AphrontSideNavView.php');
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
@@ -1,128 +1,130 @@
<?php
/*
* Copyright 2011 Facebook, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
class PhabricatorStandardPageView extends AphrontPageView {
private $baseURI;
private $applicationName;
private $tabs = array();
private $selectedTab;
private $glyph;
private $bodyContent;
public function setApplicationName($application_name) {
$this->applicationName = $application_name;
return $this;
}
public function getApplicationName() {
return $this->applicationName;
}
public function setBaseURI($base_uri) {
$this->baseURI = $base_uri;
return $this;
}
public function getBaseURI() {
return $this->baseURI;
}
public function setTabs(array $tabs, $selected_tab) {
$this->tabs = $tabs;
$this->selectedTab = $selected_tab;
return $this;
}
public function getTitle() {
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();
}
protected function getHead() {
$response = CelerityAPI::getStaticResourceResponse();
return
$response->renderResourcesOfType('css').
'<script type="text/javascript">window.__DEV__=1;</script>'.
'<script type="text/javascript" src="/rsrc/js/javelin/init.dev.js">'.
'</script>';
}
public function setGlyph($glyph) {
$this->glyph = $glyph;
return $this;
}
public function getGlyph() {
return $this->glyph;
}
protected function getBody() {
$tabs = array();
foreach ($this->tabs as $name => $tab) {
$tabs[] = phutil_render_tag(
'a',
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 = '<span class="aphront-head-tabs">'.$tabs.'</span>';
+ $tabs = '<span class="phabricator-head-tabs">'.$tabs.'</span>';
}
return
- '<div class="aphront-standard-page">'.
- '<div class="aphront-standard-header">'.
+ '<div class="phabricator-standard-page">'.
+ '<div class="phabricator-standard-header">'.
'<a href="/">Phabricator</a> '.
phutil_render_tag(
'a',
array(
'href' => $this->getBaseURI(),
- 'class' => 'aphront-head-appname',
+ 'class' => 'phabricator-head-appname',
),
phutil_escape_html($this->getApplicationName())).
$tabs.
'</div>'.
$this->bodyContent.
'<div style="clear: both;"></div>'.
'</div>';
}
protected function getTail() {
$response = CelerityAPI::getStaticResourceResponse();
return
$response->renderResourcesOfType('js').
'<script type="text/javascript">'.
'JX.Stratcom.mergeData(0, {});'.
'</script>';
}
}
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 */
-
-

File Metadata

Mime Type
text/x-diff
Expires
Fri, Nov 14, 3:02 AM (1 d, 2 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
336727
Default Alt Text
(61 KB)

Event Timeline