You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@usergrid.apache.org by sn...@apache.org on 2014/03/31 19:21:53 UTC

[41/53] [partial] adding bower

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/a704d594/portal/dist/appsvc-ui/2.0.2/bower_components/apigee-sdk/samples/collections/css/theme.min.css
----------------------------------------------------------------------
diff --git a/portal/dist/appsvc-ui/2.0.2/bower_components/apigee-sdk/samples/collections/css/theme.min.css b/portal/dist/appsvc-ui/2.0.2/bower_components/apigee-sdk/samples/collections/css/theme.min.css
new file mode 100644
index 0000000..8f685dd
--- /dev/null
+++ b/portal/dist/appsvc-ui/2.0.2/bower_components/apigee-sdk/samples/collections/css/theme.min.css
@@ -0,0 +1,213 @@
+/*!
+* jQuery Mobile 1.4.0
+* Git HEAD hash: f09aae0e035d6805e461a7be246d04a0dbc98f69 <> Date: Thu Dec 19 2013 17:34:22 UTC
+* http://jquerymobile.com
+*
+* Copyright 2010, 2013 jQuery Foundation, Inc. and other contributors
+* Released under the MIT license.
+* http://jquery.org/license
+*
+*/
+
+
+/* Globals */
+/* Font
+-----------------------------------------------------------------------------------------------------------*/
+html {
+	font-size: 100%;
+}
+body,
+input,
+select,
+textarea,
+button,
+.ui-btn {
+	font-size: 1em;
+	line-height: 1.3;
+	 font-family: sans-serif /*{global-font-family}*/;
+}
+legend,
+.ui-input-text input,
+.ui-input-search input {
+	color: inherit;
+	text-shadow: inherit;
+}
+/* Form labels (overrides font-weight bold in bars, and mini font-size) */
+.ui-mobile label,
+div.ui-controlgroup-label {
+	font-weight: normal;
+	font-size: 16px;
+}
+/* Separators
+-----------------------------------------------------------------------------------------------------------*/
+/* Field contain separator (< 28em) */
+.ui-field-contain {
+	border-bottom-color: #828282;
+	border-bottom-color: rgba(0,0,0,.15);
+	border-bottom-width: 1px;
+	border-bottom-style: solid;
+}
+/* Table opt-in classes: strokes between each row, and alternating row stripes */
+/* Classes table-stroke and table-stripe are deprecated in 1.4. */
+.table-stroke thead th,
+.table-stripe thead th,
+.table-stripe tbody tr:last-child {
+	border-bottom: 1px solid #d6d6d6; /* non-RGBA fallback */
+	border-bottom: 1px solid rgba(0,0,0,.1);
+}
+.table-stroke tbody th,
+.table-stroke tbody td {
+	border-bottom: 1px solid #e6e6e6; /* non-RGBA fallback  */
+	border-bottom: 1px solid rgba(0,0,0,.05);
+}
+.table-stripe.table-stroke tbody tr:last-child th,
+.table-stripe.table-stroke tbody tr:last-child td {
+	border-bottom: 0;
+}
+.table-stripe tbody tr:nth-child(odd) td,
+.table-stripe tbody tr:nth-child(odd) th {
+	background-color: #eeeeee; /* non-RGBA fallback  */
+	background-color: rgba(0,0,0,.04);
+}
+/* Buttons
+-----------------------------------------------------------------------------------------------------------*/
+.ui-btn,
+label.ui-btn {
+	font-weight: bold;
+	border-width: 1px;
+	border-style: solid;
+}
+.ui-btn:link {
+	text-decoration: none !important;
+}
+.ui-btn-active {
+	cursor: pointer;
+}
+/* Corner rounding
+-----------------------------------------------------------------------------------------------------------*/
+/* Class ui-btn-corner-all deprecated in 1.4 */
+.ui-corner-all {
+	-webkit-border-radius: .6em /*{global-radii-blocks}*/;
+	border-radius: .6em /*{global-radii-blocks}*/;
+}
+/* Buttons */
+.ui-btn-corner-all,
+.ui-btn.ui-corner-all,
+/* Slider track */
+.ui-slider-track.ui-corner-all,
+/* Flipswitch */
+.ui-flipswitch.ui-corner-all,
+/* Count bubble */
+.ui-li-count {
+	-webkit-border-radius: .3125em /*{global-radii-buttons}*/;
+	border-radius: .3125em /*{global-radii-buttons}*/;
+}
+/* Icon-only buttons */
+.ui-btn-icon-notext.ui-btn-corner-all,
+.ui-btn-icon-notext.ui-corner-all {
+	-webkit-border-radius: 1em;
+	border-radius: 1em;
+}
+/* Radius clip workaround for cleaning up corner trapping */
+.ui-btn-corner-all,
+.ui-corner-all {
+	-webkit-background-clip: padding;
+	background-clip: padding-box;
+}
+/* Popup arrow */
+.ui-popup.ui-corner-all > .ui-popup-arrow-guide {
+	left: .6em /*{global-radii-blocks}*/;
+	right: .6em /*{global-radii-blocks}*/;
+	top: .6em /*{global-radii-blocks}*/;
+	bottom: .6em /*{global-radii-blocks}*/;
+}
+/* Shadow
+-----------------------------------------------------------------------------------------------------------*/
+.ui-shadow {
+	-webkit-box-shadow: 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.2) /*{global-box-shadow-color}*/;
+	-moz-box-shadow: 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.2) /*{global-box-shadow-color}*/;
+	box-shadow: 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.2) /*{global-box-shadow-color}*/;
+}
+.ui-shadow-inset {
+	-webkit-box-shadow: inset 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.2) /*{global-box-shadow-color}*/;
+	-moz-box-shadow: inset 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.2) /*{global-box-shadow-color}*/;
+	box-shadow: inset 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.2) /*{global-box-shadow-color}*/;
+}
+.ui-overlay-shadow {
+	-webkit-box-shadow: 0 0 12px 		rgba(0,0,0,.6);
+	-moz-box-shadow: 0 0 12px 			rgba(0,0,0,.6);
+	box-shadow: 0 0 12px 				rgba(0,0,0,.6);
+}
+/* Icons
+-----------------------------------------------------------------------------------------------------------*/
+.ui-btn-icon-left:after,
+.ui-btn-icon-right:after,
+.ui-btn-icon-top:after,
+.ui-btn-icon-bottom:after,
+.ui-btn-icon-notext:after {
+	background-color: #666666 /*{global-icon-color}*/;
+	background-color: rgba(0,0,0,.3) /*{global-icon-disc}*/;
+	background-position: center center;
+	background-repeat: no-repeat;
+	-webkit-border-radius: 1em;
+	border-radius: 1em;
+}
+/* Alt icons */
+.ui-alt-icon.ui-btn:after,
+.ui-alt-icon .ui-btn:after,
+html .ui-alt-icon.ui-checkbox-off:after,
+html .ui-alt-icon.ui-radio-off:after,
+html .ui-alt-icon .ui-checkbox-off:after,
+html .ui-alt-icon .ui-radio-off:after {
+	background-color: #666666 /*{global-icon-color}*/;
+	background-color: 					rgba(0,0,0,.15);
+}
+/* No disc */
+.ui-nodisc-icon.ui-btn:after,
+.ui-nodisc-icon .ui-btn:after {
+	background-color: transparent;
+}
+/* Icon shadow */
+.ui-shadow-icon.ui-btn:after,
+.ui-shadow-icon .ui-btn:after {
+	-webkit-box-shadow: 0 1px 0 rgba(255,255,255,.3) /*{global-icon-shadow}*/;
+	-moz-box-shadow: 0 1px 0 rgba(255,255,255,.3) /*{global-icon-shadow}*/;
+	box-shadow: 0 1px 0 rgba(255,255,255,.3) /*{global-icon-shadow}*/;
+}
+/* Checkbox and radio */
+.ui-btn.ui-checkbox-off:after,
+.ui-btn.ui-checkbox-on:after,
+.ui-btn.ui-radio-off:after,
+.ui-btn.ui-radio-on:after {
+	display: block;
+	width: 18px;
+	height: 18px;
+	margin: -9px 2px 0 2px;
+}
+.ui-checkbox-off:after,
+.ui-btn.ui-radio-off:after {
+	filter: Alpha(Opacity=30);
+	opacity: .3;
+}
+.ui-btn.ui-checkbox-off:after,
+.ui-btn.ui-checkbox-on:after {
+	-webkit-border-radius: .1875em;
+	border-radius: .1875em;
+}
+.ui-radio .ui-btn.ui-radio-on:after {
+	background-image: none;
+	background-color: #fff;
+	width: 8px;
+	height: 8px;
+	border-width: 5px;
+	border-style: solid; 
+}
+.ui-alt-icon.ui-btn.ui-radio-on:after,
+.ui-alt-icon .ui-btn.ui-radio-on:after {
+	background-color: #000;
+}
+/* Loader */
+.ui-icon-loading {
+	background: url(images/ajax-loader.gif);
+	background-size: 2.875em 2.875em;
+}.ui-bar-a,.ui-page-theme-a .ui-bar-inherit,html .ui-bar-a .ui-bar-inherit,html .ui-body-a .ui-bar-inherit,html body .ui-group-theme-a .ui-bar-inherit{background:#e9e9e9 ;border-color:#dddddd ;color:#333333 ;text-shadow:0  1px  0  #eeeeee ;font-weight:bold;}.ui-bar-a{border-width:1px;border-style:solid;}.ui-overlay-a,.ui-page-theme-a,.ui-page-theme-a .ui-panel-wrapper{background:#f9f9f9 ;border-color:#bbbbbb ;color:#333333 ;text-shadow:0  1px  0  #f3f3f3 ;}.ui-body-a,.ui-page-theme-a .ui-body-inherit,html .ui-bar-a .ui-body-inherit,html .ui-body-a .ui-body-inherit,html body .ui-group-theme-a .ui-body-inherit,html .ui-panel-page-container-a{background:#ffffff ;border-color:#dddddd ;color:#333333 ;text-shadow:0  1px  0  #f3f3f3 ;}.ui-body-a{border-width:1px;border-style:solid;}.ui-page-theme-a a,html .ui-bar-a a,html .ui-body-a a,html body .ui-group-theme-a a{color:#3388cc ;font-weight:bold;}.ui-page-theme-a a:visited,html .ui-bar-a a:visited,html .ui-body-a a:visited,html body .ui-gr
 oup-theme-a a:visited{   color:#3388cc ;}.ui-page-theme-a a:hover,html .ui-bar-a a:hover,html .ui-body-a a:hover,html body .ui-group-theme-a a:hover{color:#005599 ;}.ui-page-theme-a a:active,html .ui-bar-a a:active,html .ui-body-a a:active,html body .ui-group-theme-a a:active{color:#005599 ;}.ui-page-theme-a .ui-btn,html .ui-bar-a .ui-btn,html .ui-body-a .ui-btn,html body .ui-group-theme-a .ui-btn,html head + body .ui-btn.ui-btn-a,.ui-page-theme-a .ui-btn:visited,html .ui-bar-a .ui-btn:visited,html .ui-body-a .ui-btn:visited,html body .ui-group-theme-a .ui-btn:visited,html head + body .ui-btn.ui-btn-a:visited{background:#f6f6f6 ;border-color:#dddddd ;color:#333333 ;text-shadow:0  1px  0  #f3f3f3 ;}.ui-page-theme-a .ui-btn:hover,html .ui-bar-a .ui-btn:hover,html .ui-body-a .ui-btn:hover,html body .ui-group-theme-a .ui-btn:hover,html head + body .ui-btn.ui-btn-a:hover{background:#ededed ;border-color:#dddddd ;color:#333333 ;text-shadow:0  1px  0  #f3f3f3 ;}.ui-page-theme-a .ui-btn:act
 ive,html .ui-bar-a .ui-btn:active,html .ui-body-a .ui-btn:active,html body .ui-group-theme-a .ui-btn:active,html head + body .ui-btn.ui-btn-a:active{background:#e8e8e8 ;border-color:#dddddd ;color:#333333 ;text-shadow:0  1px  0  #f3f3f3 ;}.ui-page-theme-a .ui-btn.ui-btn-active,html .ui-bar-a .ui-btn.ui-btn-active,html .ui-body-a .ui-btn.ui-btn-active,html body .ui-group-theme-a .ui-btn.ui-btn-active,html head + body .ui-btn.ui-btn-a.ui-btn-active,.ui-page-theme-a .ui-checkbox-on:after,html .ui-bar-a .ui-checkbox-on:after,html .ui-body-a .ui-checkbox-on:after,html body .ui-group-theme-a .ui-checkbox-on:after,.ui-btn.ui-checkbox-on.ui-btn-a:after,.ui-page-theme-a .ui-flipswitch-active,html .ui-bar-a .ui-flipswitch-active,html .ui-body-a .ui-flipswitch-active,html body .ui-group-theme-a .ui-flipswitch-active,html body .ui-flipswitch.ui-bar-a.ui-flipswitch-active,.ui-page-theme-a .ui-slider-track .ui-btn-active,html .ui-bar-a .ui-slider-track .ui-btn-active,html .ui-body-a .ui-slider-tr
 ack .ui-btn-active,html body .ui-group-theme-a .ui-slider-track .ui-btn-active,html body div.ui-slider-track.ui-body-a .ui-btn-active{background-color:#3388cc ;border-color:#3388cc ;color:#ffffff ;text-shadow:0  1px  0  #005599 ;}.ui-page-theme-a .ui-radio-on:after,html .ui-bar-a .ui-radio-on:after,html .ui-body-a .ui-radio-on:after,html body .ui-group-theme-a .ui-radio-on:after,.ui-btn.ui-radio-on.ui-btn-a:after{border-color:#3388cc ;}.ui-page-theme-a .ui-btn:focus,html .ui-bar-a .ui-btn:focus,html .ui-body-a .ui-btn:focus,html body .ui-group-theme-a .ui-btn:focus,html head + body .ui-btn.ui-btn-a:focus,.ui-page-theme-a .ui-focus,html .ui-bar-a .ui-focus,html .ui-body-a .ui-focus,html body .ui-group-theme-a .ui-focus,html head + body .ui-btn-a.ui-focus,html head + body .ui-body-a.ui-focus{-webkit-box-shadow:0 0 12px #3388cc ;-moz-box-shadow:0 0 12px #3388cc ;box-shadow:0 0 12px #3388cc ;}.ui-bar-b,.ui-page-theme-b .ui-bar-inherit,html .ui-bar-b .ui-bar-inherit,html .ui-body-b .ui-b
 ar-inherit,html body .ui-group-theme-b .ui-bar-inherit{background:#fc4c02 ;border-color:#8a2901 ;color:#ffffff ;text-shadow:0  1px  0  #444444 ;font-weight:bold;}.ui-bar-b{border-width:1px;border-style:solid;}.ui-overlay-b,.ui-page-theme-b,.ui-page-theme-b .ui-panel-wrapper{background: ;border-color:#bbbbbb ;color:#333333 ;text-shadow:0  1px  0  #f3f3f3 ;}.ui-body-b,.ui-page-theme-b .ui-body-inherit,html .ui-bar-b .ui-body-inherit,html .ui-body-b .ui-body-inherit,html body .ui-group-theme-b .ui-body-inherit,html .ui-panel-page-container-b{background:#ffffff ;border-color:#8c8c8c ;color:#000000 ;text-shadow:0  1px  0  #eeeeee ;}.ui-body-b{border-width:1px;border-style:solid;}.ui-page-theme-b a,html .ui-bar-b a,html .ui-body-b a,html body .ui-group-theme-b a{color:#3388cc ;font-weight:bold;}.ui-page-theme-b a:visited,html .ui-bar-b a:visited,html .ui-body-b a:visited,html body .ui-group-theme-b a:visited{   color:#3388cc ;}.ui-page-theme-b a:hover,html .ui-bar-b a:hover,html .ui-body-
 b a:hover,html body .ui-group-theme-b a:hover{color:#005599 ;}.ui-page-theme-b a:active,html .ui-bar-b a:active,html .ui-body-b a:active,html body .ui-group-theme-b a:active{color:#005599 ;}.ui-page-theme-b .ui-btn,html .ui-bar-b .ui-btn,html .ui-body-b .ui-btn,html body .ui-group-theme-b .ui-btn,html head + body .ui-btn.ui-btn-b,.ui-page-theme-b .ui-btn:visited,html .ui-bar-b .ui-btn:visited,html .ui-body-b .ui-btn:visited,html body .ui-group-theme-b .ui-btn:visited,html head + body .ui-btn.ui-btn-b:visited{background: #FC4C02  ;border-color:#dddddd ;color:#ffffff ;text-shadow:0  1.5px  0  #000000 ;}.ui-page-theme-b .ui-btn:hover,html .ui-bar-b .ui-btn:hover,html .ui-body-b .ui-btn:hover,html body .ui-group-theme-b .ui-btn:hover,html head + body .ui-btn.ui-btn-b:hover{background:#ededed ;border-color:#dddddd ;color:#333333 ;text-shadow:0  1px  0  #f3f3f3 ;}.ui-page-theme-b .ui-btn:active,html .ui-bar-b .ui-btn:active,html .ui-body-b .ui-btn:active,html body .ui-group-theme-b .ui-bt
 n:active,html head + body .ui-btn.ui-btn-b:active{background:#e8e8e8 ;border-color:#dddddd ;color:#333333 ;text-shadow:0  1px  0  #f3f3f3 ;}.ui-page-theme-b .ui-btn.ui-btn-active,html .ui-bar-b .ui-btn.ui-btn-active,html .ui-body-b .ui-btn.ui-btn-active,html body .ui-group-theme-b .ui-btn.ui-btn-active,html head + body .ui-btn.ui-btn-b.ui-btn-active,.ui-page-theme-b .ui-checkbox-on:after,html .ui-bar-b .ui-checkbox-on:after,html .ui-body-b .ui-checkbox-on:after,html body .ui-group-theme-b .ui-checkbox-on:after,.ui-btn.ui-checkbox-on.ui-btn-b:after,.ui-page-theme-b .ui-flipswitch-active,html .ui-bar-b .ui-flipswitch-active,html .ui-body-b .ui-flipswitch-active,html body .ui-group-theme-b .ui-flipswitch-active,html body .ui-flipswitch.ui-bar-b.ui-flipswitch-active,.ui-page-theme-b .ui-slider-track .ui-btn-active,html .ui-bar-b .ui-slider-track .ui-btn-active,html .ui-body-b .ui-slider-track .ui-btn-active,html body .ui-group-theme-b .ui-slider-track .ui-btn-active,html body div.ui-sli
 der-track.ui-body-b .ui-btn-active{background-color:#3388cc ;border-color:#3388cc ;color:#ffffff ;text-shadow:0  1px  0  #005599 ;}.ui-page-theme-b .ui-radio-on:after,html .ui-bar-b .ui-radio-on:after,html .ui-body-b .ui-radio-on:after,html body .ui-group-theme-b .ui-radio-on:after,.ui-btn.ui-radio-on.ui-btn-b:after{border-color:#3388cc ;}.ui-page-theme-b .ui-btn:focus,html .ui-bar-b .ui-btn:focus,html .ui-body-b .ui-btn:focus,html body .ui-group-theme-b .ui-btn:focus,html head + body .ui-btn.ui-btn-b:focus,.ui-page-theme-b .ui-focus,html .ui-bar-b .ui-focus,html .ui-body-b .ui-focus,html body .ui-group-theme-b .ui-focus,html head + body .ui-btn-b.ui-focus,html head + body .ui-body-b.ui-focus{-webkit-box-shadow:0 0 12px #3388cc ;-moz-box-shadow:0 0 12px #3388cc ;box-shadow:0 0 12px #3388cc ;}.ui-bar-c,.ui-page-theme-c .ui-bar-inherit,html .ui-bar-c .ui-bar-inherit,html .ui-body-c .ui-bar-inherit,html body .ui-group-theme-c .ui-bar-inherit{background:#e9e9e9 ;border-color:#dddddd ;co
 lor:#333333 ;text-shadow:0  1px  0  #eeeeee ;font-weight:bold;}.ui-bar-c{border-width:1px;border-style:solid;}.ui-overlay-c,.ui-page-theme-c,.ui-page-theme-c .ui-panel-wrapper{background:#f9f9f9 ;border-color:#bbbbbb ;color:#333333 ;text-shadow:0  1px  0  #f3f3f3 ;}.ui-body-c,.ui-page-theme-c .ui-body-inherit,html .ui-bar-c .ui-body-inherit,html .ui-body-c .ui-body-inherit,html body .ui-group-theme-c .ui-body-inherit,html .ui-panel-page-container-c{background:#ffffff ;border-color:#dddddd ;color:#333333 ;text-shadow:0  1px  0  #f3f3f3 ;}.ui-body-c{border-width:1px;border-style:solid;}.ui-page-theme-c a,html .ui-bar-c a,html .ui-body-c a,html body .ui-group-theme-c a{color:#3388cc ;font-weight:bold;}.ui-page-theme-c a:visited,html .ui-bar-c a:visited,html .ui-body-c a:visited,html body .ui-group-theme-c a:visited{   color:#3388cc ;}.ui-page-theme-c a:hover,html .ui-bar-c a:hover,html .ui-body-c a:hover,html body .ui-group-theme-c a:hover{color:#005599 ;}.ui-page-theme-c a:active,html
  .ui-bar-c a:active,html .ui-body-c a:active,html body .ui-group-theme-c a:active{color:#005599 ;}.ui-page-theme-c .ui-btn,html .ui-bar-c .ui-btn,html .ui-body-c .ui-btn,html body .ui-group-theme-c .ui-btn,html head + body .ui-btn.ui-btn-c,.ui-page-theme-c .ui-btn:visited,html .ui-bar-c .ui-btn:visited,html .ui-body-c .ui-btn:visited,html body .ui-group-theme-c .ui-btn:visited,html head + body .ui-btn.ui-btn-c:visited{background:#f6f6f6 ;border-color:#dddddd ;color:#333333 ;text-shadow:0  1px  0  #f3f3f3 ;}.ui-page-theme-c .ui-btn:hover,html .ui-bar-c .ui-btn:hover,html .ui-body-c .ui-btn:hover,html body .ui-group-theme-c .ui-btn:hover,html head + body .ui-btn.ui-btn-c:hover{background:#ededed ;border-color:#dddddd ;color:#333333 ;text-shadow:0  1px  0  #f3f3f3 ;}.ui-page-theme-c .ui-btn:active,html .ui-bar-c .ui-btn:active,html .ui-body-c .ui-btn:active,html body .ui-group-theme-c .ui-btn:active,html head + body .ui-btn.ui-btn-c:active{background:#e8e8e8 ;border-color:#dddddd ;colo
 r:#333333 ;text-shadow:0  1px  0  #f3f3f3 ;}.ui-page-theme-c .ui-btn.ui-btn-active,html .ui-bar-c .ui-btn.ui-btn-active,html .ui-body-c .ui-btn.ui-btn-active,html body .ui-group-theme-c .ui-btn.ui-btn-active,html head + body .ui-btn.ui-btn-c.ui-btn-active,.ui-page-theme-c .ui-checkbox-on:after,html .ui-bar-c .ui-checkbox-on:after,html .ui-body-c .ui-checkbox-on:after,html body .ui-group-theme-c .ui-checkbox-on:after,.ui-btn.ui-checkbox-on.ui-btn-c:after,.ui-page-theme-c .ui-flipswitch-active,html .ui-bar-c .ui-flipswitch-active,html .ui-body-c .ui-flipswitch-active,html body .ui-group-theme-c .ui-flipswitch-active,html body .ui-flipswitch.ui-bar-c.ui-flipswitch-active,.ui-page-theme-c .ui-slider-track .ui-btn-active,html .ui-bar-c .ui-slider-track .ui-btn-active,html .ui-body-c .ui-slider-track .ui-btn-active,html body .ui-group-theme-c .ui-slider-track .ui-btn-active,html body div.ui-slider-track.ui-body-c .ui-btn-active{background-color:#3388cc ;border-color:#3388cc ;color:#ffffff
  ;text-shadow:0  1px  0  #005599 ;}.ui-page-theme-c .ui-radio-on:after,html .ui-bar-c .ui-radio-on:after,html .ui-body-c .ui-radio-on:after,html body .ui-group-theme-c .ui-radio-on:after,.ui-btn.ui-radio-on.ui-btn-c:after{border-color:#3388cc ;}.ui-page-theme-c .ui-btn:focus,html .ui-bar-c .ui-btn:focus,html .ui-body-c .ui-btn:focus,html body .ui-group-theme-c .ui-btn:focus,html head + body .ui-btn.ui-btn-c:focus,.ui-page-theme-c .ui-focus,html .ui-bar-c .ui-focus,html .ui-body-c .ui-focus,html body .ui-group-theme-c .ui-focus,html head + body .ui-btn-c.ui-focus,html head + body .ui-body-c.ui-focus{-webkit-box-shadow:0 0 12px #3388cc ;-moz-box-shadow:0 0 12px #3388cc ;box-shadow:0 0 12px #3388cc ;}.ui-disabled,.ui-state-disabled,button[disabled],.ui-select .ui-btn.ui-state-disabled{filter:Alpha(Opacity=30);opacity:.3;cursor:default !important;pointer-events:none;}.ui-btn:focus,.ui-btn.ui-focus{outline:0;}.ui-noboxshadow .ui-shadow,.ui-noboxshadow .ui-shadow-inset,.ui-noboxshadow .ui
 -overlay-shadow,.ui-noboxshadow .ui-shadow-icon.ui-btn:after,.ui-noboxshadow .ui-shadow-icon .ui-btn:after,.ui-noboxshadow .ui-focus,.ui-noboxshadow .ui-btn:focus,.ui-noboxshadow  input:focus,.ui-noboxshadow .ui-panel{-webkit-box-shadow:none !important;-moz-box-shadow:none !important;box-shadow:none !important;}.ui-noboxshadow .ui-btn:focus,.ui-noboxshadow .ui-focus{outline-width:1px;outline-style:auto;}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/a704d594/portal/dist/appsvc-ui/2.0.2/bower_components/apigee-sdk/samples/collections/js/index.js
----------------------------------------------------------------------
diff --git a/portal/dist/appsvc-ui/2.0.2/bower_components/apigee-sdk/samples/collections/js/index.js b/portal/dist/appsvc-ui/2.0.2/bower_components/apigee-sdk/samples/collections/js/index.js
new file mode 100644
index 0000000..581d714
--- /dev/null
+++ b/portal/dist/appsvc-ui/2.0.2/bower_components/apigee-sdk/samples/collections/js/index.js
@@ -0,0 +1,360 @@
+/* APIGEE JavaScript SDK COLLECTION EXAMPLE APP
+
+This sample app will show you how to perform basic operations on collections using the Apigee JavaScript SDK, including:
+	
+	- creating an empty collection
+	- adding one or more entities to a collection
+	- retrieving and paging through a collection
+	- deleting entities from a collection
+	
+This file contains the functions that make the actual API requests. To run the app, open index.html in your browser. */
+
+/* Before we make any requests, we prompt the user for their Apigee organization name, then initialize the SDK by
+   instantiating the Apigee.Client class. 
+   
+   Note that this app is designed to use the unsecured 'sandbox' application that was included when you created your organization. */
+   
+var dataClient;
+
+function promptClientCredsAndInitializeSDK(){
+	var APIGEE_ORGNAME;
+	var APIGEE_APPNAME='sandbox';
+	if("undefined"===typeof APIGEE_ORGNAME){
+	    APIGEE_ORGNAME=prompt("What is the Organization Name you registered at http://apigee.com/usergrid?");
+	}
+	initializeSDK(APIGEE_ORGNAME,APIGEE_APPNAME);
+}            
+
+
+function initializeSDK(ORGNAME,APPNAME){	
+	dataClient = new Apigee.Client({
+	    orgName:ORGNAME,
+	    appName:APPNAME,
+		logging: true, //optional - turn on logging, off by default
+		buildCurl: true //optional - log network calls in the console, off by default
+	
+	});	
+}
+
+
+/* 1. Create an empty collection
+
+	To start, let's declare a function to create an empty collection in Apigee for us to work with: */
+	   
+function createCollection () {
+	/*			
+	First, we specify the properties for your new collection:
+    
+    -The endpoint from 'books' will be the name of your collection, which will
+     hold any entities of that type. 
+      
+     Collection names are the pluralized version of the entity type, e.g. all entities of type 
+     book will be saved in the books collection. */
+
+	var properties = {
+        endpoint:'books',
+        method:'POST' //HTTP method. Since we are creating an entity, we use 'POST'. 
+    };
+    
+    /* Next, we call the request() method. Notice that the method is prepended by dataClient, 
+       so that the Apigee API knows what data store we want to work with. */
+
+    dataClient.request(properties, function (error, response) { 
+        if (error) { 
+           // Error - there was a problem creating the collection
+           document.getElementById('result-text').innerHTML
+            +=  "Error! Unable to create your collection. "
+            +   "Did you enter the correct organization name?"
+            +   "<br/><br/>"
+            +   "Error message:"
+            +	"<pre>" + JSON.stringify(error) + "</pre>";
+        } else { 
+            // Success - the collection was created properly
+            document.getElementById('result-text').innerHTML
+            +=  "Success!"
+            +	"<br /><br />"
+            +	"Here is the response from the Apigee API. By the way, you "
+            +   "don't have to create an empty collection. Creating a new entity "
+            + 	"will automatically create the corresponding collection for you."
+            +	"<br /><br />"
+            +   "<pre>" + JSON.stringify(response, undefined, 4) + "</pre>";
+        }
+    });
+}
+
+
+
+/* 2. Add entities to a collection
+
+   Now we'll add some entities to our collection so that we have data to work with. */
+   
+function addEntity () {
+   
+   /* We start by creating a local colleciton object to work with */				   				   
+   var options = {
+	   client:dataClient, //our Apigee.Client object
+	   type:'book' //the entity type associated with our collection
+   }				   
+   collection = new Apigee.Collection(options); //this creates our local object
+   
+   /* Next, we define the entity we want to add */				   				   
+   var properties = {
+	   title:'A Moveable Feast'
+   }
+ 
+   /* And now we call addEntity() to add the entity to our collection! */				   
+   collection.addEntity(properties, function (error, response){
+	  if (error) {
+		  // Error - there was a problem adding the entity
+          document.getElementById('result-text').innerHTML
+          +=  "Error! Unable to add your entity. "
+          +   "<br/><br/>"
+          +   "Error message:" 
+          +	  "<pre>" + JSON.stringify(error); + "</pre>"
+	  } else {
+		  // Success - the entity was created properly
+          document.getElementById('result-text').innerHTML
+          +=  "Success! A single entity has been added to your collection:"
+          +	  "<br /><br />"
+          +	  "<pre>" + JSON.stringify(response._data, undefined, 4); + "</pre>"
+          +	  "<br /><br />"
+          +	  "and..."
+          
+          	/* We can also add multiple entities at once, using the request() method. 
+			   To do this, we create a JSON array with all the entities we want to add.*/
+			var entityArray = [
+			   {
+				   type:'book', //the entity type should correspond to the collection type
+				   title:'For Whom the Bell Tolls'
+			   },
+			   {
+				   type:'book',
+				   title:'The Old Man and the Sea'
+			   },
+			   {
+				   type:'book',
+				   title:'A Farewell to Arms'
+			   },
+			   {
+				   type:'book',
+				   title:'The Sun Also Rises'
+			   }
+			]
+			
+			/* Next we call request() to initiate the POST request, and pass our entity
+			   array in the 'body' property of our request properties*/
+			var properties = {
+				endpoint:'books',
+				method:'POST',
+				body:entityArray
+			}
+								
+			dataClient.request(properties, function (error, response) { 
+		        if (error) { 
+		           // Error - there was a problem adding the array
+		           document.getElementById('result-text').innerHTML
+		            +=  "Error! Unable to add your entity array. "
+		            +   "<br/><br/>"
+		            +   "Error message:"
+		            +	"<pre>" + JSON.stringify(error); + "</pre>"
+		        } else { 
+		            // Success - the entities were created properly
+		            document.getElementById('result-text').innerHTML
+		            +=	"<br /><br />"
+		            +   "So has your array. We added this array three times, so that there's "
+		            + 	"plenty of data in your collection to work with when we look at paging next."
+		            +	"<br /><br />"
+					+	"<pre>" + JSON.stringify(response.entities, undefined, 4); + "</pre>"
+		        }
+		    });		          
+		}
+	});
+    
+    /* We're going to add the entity array a couple more times so that we have a
+       good amount of data to work with when we look at paging later. */
+    for (i=1;i<=2;i++) {
+        dataClient.request(properties, function (error, response) { 
+            if (error) { 
+               //Error
+            } else { 
+                //Success
+            }
+        });
+	}
+}
+
+
+
+/* 3. Retrieve a collection
+
+   Now that we have data in our collection, let's declare a function to retrieve it: */
+   
+function retrieveCollection () {
+	
+	/* We start by creating a local colleciton object to work with */				   				   
+	var options = {
+	   client:dataClient, //our Apigee.Client object
+	   type:'books' //the entity type associated with our collection
+	}
+	
+	collection = new Apigee.Collection(options); //this creates our local object
+	
+	/* Next we call fetch(), which initiates our GET request to the API: */
+	collection.fetch(function (error, response) { 
+		if (error) { 
+		  // Error - there was a problem retrieving the collection
+          document.getElementById('result-text').innerHTML
+            +=  "Error! Unable to retrieve your collection. "
+            + 	"<br /><br />"
+            +   "Check that the 'type' of the collection is correct."
+            +   "<br/><br/>"
+            +   "Error message:" + JSON.stringify(error);		                 
+		} else { 
+		  // Success - the collection was found and retrieved by the Apigee API
+		  document.getElementById('result-text').innerHTML
+            +=  "Success! Here is the collection we retrieved. Notice that only "
+            +  	"the first 10 entities in the collection are retrieved. "
+            +	"We'll show you how to page through to get more results later."
+            +   "<br/><br/>"
+            +   "<pre>" + JSON.stringify(response, undefined, 4); + "</pre>"
+		} 
+	});
+	
+}
+
+
+
+/* 4. Using cursors (paging through a collection)
+
+   By default, the Apigee API only returns the first 10 entities in a collection. 
+   This is why our retrieveCollection() function only gave us back the first 
+   10 entities in our collection.
+   
+   To get the next 10 results, we send a new GET request that references the 
+   'cursor' property of the previous response by using the hasNextPage() and 
+   getNextPage() methods. */
+   	         
+function pageCollection() {
+
+	/* We start by creating a local colleciton object to work with */				   				   
+	var options = {
+	   client:dataClient, //our Apigee.Client object
+	   type:'book' //the entity type associated with our collection
+	}
+	
+	collection = new Apigee.Collection(options); //this creates our local object				
+	
+	/* Then we call fetch, just like in our retrieveCollection() function above */
+	collection.fetch(function (error, response) { 					
+	    if (error) { 
+		  // Error - there was a problem retrieving the collection
+          document.getElementById('result-text').innerHTML
+            +=  "Error! Unable to retrieve your collection. "
+            + 	"<br /><br />"	                        
+            +   "Check that the 'type' of the collection is correct."
+            +   "<br/><br/>"
+            +   "Error message:" 
+            +	"<pre>" + JSON.stringify(error); + "</pre>"		                 
+		} else { 
+		  /* Success - the collection was found and retrieved by the Apigee API, so we use 
+		     hasNextPage() to check if the 'cursor' property exists. If it does, we use 
+		     getNextPage() to initiate another GET and retrieve the next 10 entities. */
+			 if (collection.hasNextPage()) {
+				 collection.getNextPage(function (error, response){
+					if (error) { 
+					  // Error - there was a problem retrieving the next set of entities
+	                  document.getElementById('result-text').innerHTML
+                        +=  "Error! Unable to retrieve the next result set. "
+                        +   "<br/><br/>"
+                        +   "Error message:" 
+                        +	"<pre>" + JSON.stringify(error); + "</pre>"		                 
+					} else { 
+					  // Success - the next set of entities in the collection was found
+					  document.getElementById('result-text').innerHTML
+                        +=  "Success! Here are the next 10 entities in our collection."
+                        +   "<br/><br/>"
+                        +   "<pre>" + JSON.stringify(response, undefined, 4); + "</pre>"
+					}	 
+				 });
+			 } else {
+			 	//if hasNextPage() returns false, there was no cursor in the last response
+				document.getElementById('result-text').innerHTML
+					+= "There are no more entities in this collection."
+			 }
+		}
+	});
+	
+	/* You can also use these other useful SDK methods for paging through results:
+	   - hasPreviousPage() and getPreviousPage() page through the collection in reverse
+	   - hasNextEntity() and getNextEntity() iterate through entities in the current result set. */
+
+}
+
+
+/* 5. Delete a collection
+
+   At this time, it is not possible to delete a collection, but you can delete entities from a 
+   collection, including performing batch deletes. Please be aware that removing entities from 
+   a collection will delete the entities. */
+			
+function deleteCollection () {
+
+	/* Let's start by batch deleting the first 5 entities in our collection. To do this, we specify 
+	   a query string with the 'qs' property in the format {ql:<query string>}. 
+	   
+	   In this case, by specifying limit=5 we ask the API to only return the first 5 entities in 
+	   the collection, rather than the default 10. */			
+
+	var options = {
+		method:'DELETE',
+		endpoint:'books',
+		qs:{ql:'limit=5'}
+	}
+		
+	/* Next, we call the request() method. Notice that the method is prepended by dataClient, 
+       so that the Apigee API knows what data store we want to work with. */				
+    dataClient.request(options, function (error, response) { 
+        if (error) { 
+           // Error - there was a problem deleting the collection
+           document.getElementById('result-text').innerHTML
+            +=  "Error! Unable to delete your collection. "
+            +   "Did you enter the correct organization name?"
+            +   "<br/><br/>"
+            +   "Error message:" 
+            +	"<pre>" + JSON.stringify(error); + "</pre>"
+        } else { 
+            // Success - all entities in the collection were deleted
+            document.getElementById('result-text').innerHTML
+            +=  "Success! The first 5 entities in your collection were deleted."
+            +	"<br /><br />"
+            +	"and..."
+        }
+    });
+    
+    /* We can also delete specific entities from our collection using a query string. 
+       In this example, we'll delete all entities with the title 'For Whom the Bell Tolls'. */
+    
+    var options = {
+    	method:'DELETE',
+		endpoint:'books',
+		qs:{ql:"title='For Whom the Bell Tolls'"}
+	}
+
+    dataClient.request(options, function (error, response) { 
+        if (error) { 
+           // Error - there was a problem deleting the entities
+           document.getElementById('result-text').innerHTML
+            +=  "Error! Unable to delete your collection. "
+            +   "Did you enter the correct organization name?"
+            +   "<br/><br/>"
+            +   "Error message:" + JSON.stringify(error);
+        } else { 
+            // Success - entities were deleted
+            document.getElementById('result-text').innerHTML
+            +=  "<br /><br />"
+            + 	"All entities with title 'For Whom the Bell Tolls' have been "
+            +	"deleted from your collection."
+        }
+    });
+    
+}