Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

updated to latest YiiBooster version

  • Loading branch information...
commit 06ab1d8138e6a19e02b2a549e7f61d6c482f0a45 1 parent b9f12ee
Antonio Ramirez authored
Showing with 13,574 additions and 85 deletions.
  1. +3 −3 backend/config/main.php
  2. +2 −2 common/extensions/bootstrap/assets/css/bootstrap-responsive.min.css
  3. +154 −0 common/extensions/bootstrap/assets/css/bootstrap-toggle-buttons.css
  4. +2 −2 common/extensions/bootstrap/assets/css/bootstrap.min.css
  5. +215 −0 common/extensions/bootstrap/assets/js/jquery.bootstrap.wizard.js
  6. +17 −2 common/extensions/bootstrap/assets/js/jquery.stickytableheaders.js
  7. +271 −0 common/extensions/bootstrap/assets/js/jquery.toggle.buttons.js
  8. +34 −0 common/extensions/bootstrap/assets/less/accordion.less
  9. +65 −0 common/extensions/bootstrap/assets/less/alerts.less
  10. +1 −1  common/extensions/bootstrap/assets/less/bootstrap-yii.less
  11. +62 −0 common/extensions/bootstrap/assets/less/bootstrap.less
  12. +118 −0 common/extensions/bootstrap/assets/less/box.less
  13. +24 −0 common/extensions/bootstrap/assets/less/breadcrumbs.less
  14. +245 −0 common/extensions/bootstrap/assets/less/button-groups.less
  15. +231 −0 common/extensions/bootstrap/assets/less/buttons.less
  16. +131 −0 common/extensions/bootstrap/assets/less/carousel.less
  17. +31 −0 common/extensions/bootstrap/assets/less/close.less
  18. +58 −0 common/extensions/bootstrap/assets/less/code.less
  19. +121 −0 common/extensions/bootstrap/assets/less/colorpicker.less
  20. +22 −0 common/extensions/bootstrap/assets/less/component-animations.less
  21. +122 −0 common/extensions/bootstrap/assets/less/datepicker.less
  22. +172 −0 common/extensions/bootstrap/assets/less/daterangepicker.less
  23. +210 −0 common/extensions/bootstrap/assets/less/dropdowns.less
  24. +9 −0 common/extensions/bootstrap/assets/less/easypiechart.less
  25. +19 −0 common/extensions/bootstrap/assets/less/editable-tooltip.less
  26. +196 −0 common/extensions/bootstrap/assets/less/editable.less
  27. +650 −0 common/extensions/bootstrap/assets/less/forms.less
  28. +21 −0 common/extensions/bootstrap/assets/less/grid.less
  29. +24 −0 common/extensions/bootstrap/assets/less/hero-unit.less
  30. +1,724 −0 common/extensions/bootstrap/assets/less/jquery-ui.less
  31. +26 −0 common/extensions/bootstrap/assets/less/jquery-ui/bootstrap.less
  32. +479 −0 common/extensions/bootstrap/assets/less/jquery-ui/forms.less
  33. +222 −0 common/extensions/bootstrap/assets/less/jquery-ui/mixins.less
  34. +1,065 −0 common/extensions/bootstrap/assets/less/jquery-ui/patterns.less
  35. +142 −0 common/extensions/bootstrap/assets/less/jquery-ui/reset.less
  36. +139 −0 common/extensions/bootstrap/assets/less/jquery-ui/scaffolding.less
  37. +224 −0 common/extensions/bootstrap/assets/less/jquery-ui/tables.less
  38. +187 −0 common/extensions/bootstrap/assets/less/jquery-ui/type.less
  39. +60 −0 common/extensions/bootstrap/assets/less/jquery-ui/variables.less
  40. +72 −0 common/extensions/bootstrap/assets/less/labels-badges.less
  41. +16 −0 common/extensions/bootstrap/assets/less/layouts.less
  42. +681 −0 common/extensions/bootstrap/assets/less/mixins.less
  43. +98 −0 common/extensions/bootstrap/assets/less/modals.less
  44. +475 −0 common/extensions/bootstrap/assets/less/navbar.less
  45. +384 −0 common/extensions/bootstrap/assets/less/navs.less
  46. +40 −0 common/extensions/bootstrap/assets/less/pager.less
  47. +64 −0 common/extensions/bootstrap/assets/less/pagination.less
  48. +46 −0 common/extensions/bootstrap/assets/less/picker.less
  49. +117 −0 common/extensions/bootstrap/assets/less/popovers.less
  50. +122 −0 common/extensions/bootstrap/assets/less/progress-bars.less
  51. +531 −0 common/extensions/bootstrap/assets/less/redactor.less
  52. +6 −0 common/extensions/bootstrap/assets/less/relational.less
  53. +137 −0 common/extensions/bootstrap/assets/less/reset.less
  54. +28 −0 common/extensions/bootstrap/assets/less/responsive-1200px-min.less
  55. +174 −0 common/extensions/bootstrap/assets/less/responsive-767px-max.less
  56. +19 −0 common/extensions/bootstrap/assets/less/responsive-768px-979px.less
  57. +181 −0 common/extensions/bootstrap/assets/less/responsive-navbar.less
  58. +43 −0 common/extensions/bootstrap/assets/less/responsive-utilities.less
  59. +48 −0 common/extensions/bootstrap/assets/less/responsive.less
  60. +52 −0 common/extensions/bootstrap/assets/less/scaffolding.less
  61. +193 −0 common/extensions/bootstrap/assets/less/sprites.less
  62. +245 −0 common/extensions/bootstrap/assets/less/tables.less
  63. +52 −0 common/extensions/bootstrap/assets/less/thumbnails.less
  64. +141 −0 common/extensions/bootstrap/assets/less/toggle-buttons.less
  65. +70 −0 common/extensions/bootstrap/assets/less/tooltip.less
  66. +221 −0 common/extensions/bootstrap/assets/less/type.less
  67. +30 −0 common/extensions/bootstrap/assets/less/utilities.less
  68. +279 −0 common/extensions/bootstrap/assets/less/variables.less
  69. +29 −0 common/extensions/bootstrap/assets/less/wells.less
  70. +86 −0 common/extensions/bootstrap/assets/less/wysihtml5.less
  71. +51 −0 common/extensions/bootstrap/assets/less/wysiwyg-color.less
  72. +3 −3 common/extensions/bootstrap/components/Bootstrap.php
  73. +12 −0 common/extensions/bootstrap/widgets/TbActiveForm.php
  74. +1 −1  common/extensions/bootstrap/widgets/TbBreadcrumbs.php
  75. +35 −0 common/extensions/bootstrap/widgets/TbDataColumn.php
  76. +0 −4 common/extensions/bootstrap/widgets/TbDatePicker.php
  77. +20 −11 common/extensions/bootstrap/widgets/TbDateRangePicker.php
  78. +2 −2 common/extensions/bootstrap/widgets/TbEditableColumn.php
  79. +1 −1  common/extensions/bootstrap/widgets/TbEditableDetailView.php
  80. +5 −5 common/extensions/bootstrap/widgets/TbEditableField.php
  81. +5 −5 common/extensions/bootstrap/widgets/TbEditableSaver.php
  82. +10 −10 common/extensions/bootstrap/widgets/TbExtendedGridView.php
  83. +185 −0 common/extensions/bootstrap/widgets/TbForm.php
  84. +89 −0 common/extensions/bootstrap/widgets/TbFormButtonElement.php
  85. +156 −0 common/extensions/bootstrap/widgets/TbFormInputElement.php
  86. +1 −1  common/extensions/bootstrap/widgets/TbGridView.php
  87. +26 −5 common/extensions/bootstrap/widgets/TbJEditableColumn.php
  88. +115 −0 common/extensions/bootstrap/widgets/TbJsonCheckBoxColumn.php
  89. +1 −1  common/extensions/bootstrap/widgets/TbJsonGridView.php
  90. +0 −4 common/extensions/bootstrap/widgets/TbRedactorJs.php
  91. +22 −2 common/extensions/bootstrap/widgets/TbRelationalColumn.php
  92. +144 −0 common/extensions/bootstrap/widgets/TbTabView.php
  93. +205 −0 common/extensions/bootstrap/widgets/TbToggleButton.php
  94. +225 −0 common/extensions/bootstrap/widgets/TbWizard.php
  95. +30 −16 common/extensions/bootstrap/widgets/input/TbInput.php
  96. +25 −0 common/extensions/bootstrap/widgets/input/TbInputHorizontal.php
  97. +23 −0 common/extensions/bootstrap/widgets/input/TbInputVertical.php
  98. +4 −4 frontend/config/main.php
View
6 backend/config/main.php
@@ -96,10 +96,10 @@
'urlSuffix' => '/',
'rules' => $params['url.rules']
),
+ /* make sure you have your cache set correctly before uncommenting */
+ /* 'cache' => $params['cache.core'], */
+ /* 'contentCache' => $params['cache.content'] */
),
- /* make sure you have your cache set correctly before uncommenting */
- /* 'cache' => $params['cache.core'], */
- /* 'contentCache' => $params['cache.content'] */
),
CMap::mergeArray($mainEnvConfiguration, $mainLocalConfiguration)
);
View
4 common/extensions/bootstrap/assets/css/bootstrap-responsive.min.css
@@ -1,9 +1,9 @@
/*!
- * Bootstrap Responsive v2.1.0
+ * Bootstrap Responsive v2.1.1
*
* Copyright 2012 Twitter, Inc
* Licensed under the Apache License v2.0
* http://www.apache.org/licenses/LICENSE-2.0
*
* Designed and built with all the love in the world @twitter by @mdo and @fat.
- */.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;line-height:0;content:""}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.hidden{display:none;visibility:hidden}.visible-phone{display:none!important}.visible-tablet{display:none!important}.hidden-desktop{display:none!important}.visible-desktop{display:inherit!important}@media(min-width:768px) and (max-width:979px){.hidden-desktop{display:inherit!important}.visible-desktop{display:none!important}.visible-tablet{display:inherit!important}.hidden-tablet{display:none!important}}@media(max-width:767px){.hidden-desktop{display:inherit!important}.visible-desktop{display:none!important}.visible-phone{display:inherit!important}.hidden-phone{display:none!important}}@media(min-width:1200px){.row{margin-left:-30px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;margin-left:30px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:1170px}.span12{width:1170px}.span11{width:1070px}.span10{width:970px}.span9{width:870px}.span8{width:770px}.span7{width:670px}.span6{width:570px}.span5{width:470px}.span4{width:370px}.span3{width:270px}.span2{width:170px}.span1{width:70px}.offset12{margin-left:1230px}.offset11{margin-left:1130px}.offset10{margin-left:1030px}.offset9{margin-left:930px}.offset8{margin-left:830px}.offset7{margin-left:730px}.offset6{margin-left:630px}.offset5{margin-left:530px}.offset4{margin-left:430px}.offset3{margin-left:330px}.offset2{margin-left:230px}.offset1{margin-left:130px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.564102564102564%;*margin-left:2.5109110747408616%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.45299145299145%;*width:91.39979996362975%}.row-fluid .span10{width:82.90598290598291%;*width:82.8527914166212%}.row-fluid .span9{width:74.35897435897436%;*width:74.30578286961266%}.row-fluid .span8{width:65.81196581196582%;*width:65.75877432260411%}.row-fluid .span7{width:57.26495726495726%;*width:57.21176577559556%}.row-fluid .span6{width:48.717948717948715%;*width:48.664757228587014%}.row-fluid .span5{width:40.17094017094017%;*width:40.11774868157847%}.row-fluid .span4{width:31.623931623931625%;*width:31.570740134569924%}.row-fluid .span3{width:23.076923076923077%;*width:23.023731587561375%}.row-fluid .span2{width:14.52991452991453%;*width:14.476723040552828%}.row-fluid .span1{width:5.982905982905983%;*width:5.929714493544281%}.row-fluid .offset12{margin-left:105.12820512820512%;*margin-left:105.02182214948171%}.row-fluid .offset12:first-child{margin-left:102.56410256410257%;*margin-left:102.45771958537915%}.row-fluid .offset11{margin-left:96.58119658119658%;*margin-left:96.47481360247316%}.row-fluid .offset11:first-child{margin-left:94.01709401709402%;*margin-left:93.91071103837061%}.row-fluid .offset10{margin-left:88.03418803418803%;*margin-left:87.92780505546462%}.row-fluid .offset10:first-child{margin-left:85.47008547008548%;*margin-left:85.36370249136206%}.row-fluid .offset9{margin-left:79.48717948717949%;*margin-left:79.38079650845607%}.row-fluid .offset9:first-child{margin-left:76.92307692307693%;*margin-left:76.81669394435352%}.row-fluid .offset8{margin-left:70.94017094017094%;*margin-left:70.83378796144753%}.row-fluid .offset8:first-child{margin-left:68.37606837606839%;*margin-left:68.26968539734497%}.row-fluid .offset7{margin-left:62.393162393162385%;*margin-left:62.28677941443899%}.row-fluid .offset7:first-child{margin-left:59.82905982905982%;*margin-left:59.72267685033642%}.row-fluid .offset6{margin-left:53.84615384615384%;*margin-left:53.739770867430444%}.row-fluid .offset6:first-child{margin-left:51.28205128205128%;*margin-left:51.175668303327875%}.row-fluid .offset5{margin-left:45.299145299145295%;*margin-left:45.1927623204219%}.row-fluid .offset5:first-child{margin-left:42.73504273504273%;*margin-left:42.62865975631933%}.row-fluid .offset4{margin-left:36.75213675213675%;*margin-left:36.645753773413354%}.row-fluid .offset4:first-child{margin-left:34.18803418803419%;*margin-left:34.081651209310785%}.row-fluid .offset3{margin-left:28.205128205128204%;*margin-left:28.0987452264048%}.row-fluid .offset3:first-child{margin-left:25.641025641025642%;*margin-left:25.53464266230224%}.row-fluid .offset2{margin-left:19.65811965811966%;*margin-left:19.551736679396257%}.row-fluid .offset2:first-child{margin-left:17.094017094017094%;*margin-left:16.98763411529369%}.row-fluid .offset1{margin-left:11.11111111111111%;*margin-left:11.004728132387708%}.row-fluid .offset1:first-child{margin-left:8.547008547008547%;*margin-left:8.440625568285142%}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:30px}input.span12,textarea.span12,.uneditable-input.span12{width:1156px}input.span11,textarea.span11,.uneditable-input.span11{width:1056px}input.span10,textarea.span10,.uneditable-input.span10{width:956px}input.span9,textarea.span9,.uneditable-input.span9{width:856px}input.span8,textarea.span8,.uneditable-input.span8{width:756px}input.span7,textarea.span7,.uneditable-input.span7{width:656px}input.span6,textarea.span6,.uneditable-input.span6{width:556px}input.span5,textarea.span5,.uneditable-input.span5{width:456px}input.span4,textarea.span4,.uneditable-input.span4{width:356px}input.span3,textarea.span3,.uneditable-input.span3{width:256px}input.span2,textarea.span2,.uneditable-input.span2{width:156px}input.span1,textarea.span1,.uneditable-input.span1{width:56px}.thumbnails{margin-left:-30px}.thumbnails>li{margin-left:30px}.row-fluid .thumbnails{margin-left:0}}@media(min-width:768px) and (max-width:979px){.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;margin-left:20px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:724px}.span12{width:724px}.span11{width:662px}.span10{width:600px}.span9{width:538px}.span8{width:476px}.span7{width:414px}.span6{width:352px}.span5{width:290px}.span4{width:228px}.span3{width:166px}.span2{width:104px}.span1{width:42px}.offset12{margin-left:764px}.offset11{margin-left:702px}.offset10{margin-left:640px}.offset9{margin-left:578px}.offset8{margin-left:516px}.offset7{margin-left:454px}.offset6{margin-left:392px}.offset5{margin-left:330px}.offset4{margin-left:268px}.offset3{margin-left:206px}.offset2{margin-left:144px}.offset1{margin-left:82px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.7624309392265194%;*margin-left:2.709239449864817%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.43646408839778%;*width:91.38327259903608%}.row-fluid .span10{width:82.87292817679558%;*width:82.81973668743387%}.row-fluid .span9{width:74.30939226519337%;*width:74.25620077583166%}.row-fluid .span8{width:65.74585635359117%;*width:65.69266486422946%}.row-fluid .span7{width:57.18232044198895%;*width:57.12912895262725%}.row-fluid .span6{width:48.61878453038674%;*width:48.56559304102504%}.row-fluid .span5{width:40.05524861878453%;*width:40.00205712942283%}.row-fluid .span4{width:31.491712707182323%;*width:31.43852121782062%}.row-fluid .span3{width:22.92817679558011%;*width:22.87498530621841%}.row-fluid .span2{width:14.3646408839779%;*width:14.311449394616199%}.row-fluid .span1{width:5.801104972375691%;*width:5.747913483013988%}.row-fluid .offset12{margin-left:105.52486187845304%;*margin-left:105.41847889972962%}.row-fluid .offset12:first-child{margin-left:102.76243093922652%;*margin-left:102.6560479605031%}.row-fluid .offset11{margin-left:96.96132596685082%;*margin-left:96.8549429881274%}.row-fluid .offset11:first-child{margin-left:94.1988950276243%;*margin-left:94.09251204890089%}.row-fluid .offset10{margin-left:88.39779005524862%;*margin-left:88.2914070765252%}.row-fluid .offset10:first-child{margin-left:85.6353591160221%;*margin-left:85.52897613729868%}.row-fluid .offset9{margin-left:79.8342541436464%;*margin-left:79.72787116492299%}.row-fluid .offset9:first-child{margin-left:77.07182320441989%;*margin-left:76.96544022569647%}.row-fluid .offset8{margin-left:71.2707182320442%;*margin-left:71.16433525332079%}.row-fluid .offset8:first-child{margin-left:68.50828729281768%;*margin-left:68.40190431409427%}.row-fluid .offset7{margin-left:62.70718232044199%;*margin-left:62.600799341718584%}.row-fluid .offset7:first-child{margin-left:59.94475138121547%;*margin-left:59.838368402492065%}.row-fluid .offset6{margin-left:54.14364640883978%;*margin-left:54.037263430116376%}.row-fluid .offset6:first-child{margin-left:51.38121546961326%;*margin-left:51.27483249088986%}.row-fluid .offset5{margin-left:45.58011049723757%;*margin-left:45.47372751851417%}.row-fluid .offset5:first-child{margin-left:42.81767955801105%;*margin-left:42.71129657928765%}.row-fluid .offset4{margin-left:37.01657458563536%;*margin-left:36.91019160691196%}.row-fluid .offset4:first-child{margin-left:34.25414364640884%;*margin-left:34.14776066768544%}.row-fluid .offset3{margin-left:28.45303867403315%;*margin-left:28.346655695309746%}.row-fluid .offset3:first-child{margin-left:25.69060773480663%;*margin-left:25.584224756083227%}.row-fluid .offset2{margin-left:19.88950276243094%;*margin-left:19.783119783707537%}.row-fluid .offset2:first-child{margin-left:17.12707182320442%;*margin-left:17.02068884448102%}.row-fluid .offset1{margin-left:11.32596685082873%;*margin-left:11.219583872105325%}.row-fluid .offset1:first-child{margin-left:8.56353591160221%;*margin-left:8.457152932878806%}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:20px}input.span12,textarea.span12,.uneditable-input.span12{width:710px}input.span11,textarea.span11,.uneditable-input.span11{width:648px}input.span10,textarea.span10,.uneditable-input.span10{width:586px}input.span9,textarea.span9,.uneditable-input.span9{width:524px}input.span8,textarea.span8,.uneditable-input.span8{width:462px}input.span7,textarea.span7,.uneditable-input.span7{width:400px}input.span6,textarea.span6,.uneditable-input.span6{width:338px}input.span5,textarea.span5,.uneditable-input.span5{width:276px}input.span4,textarea.span4,.uneditable-input.span4{width:214px}input.span3,textarea.span3,.uneditable-input.span3{width:152px}input.span2,textarea.span2,.uneditable-input.span2{width:90px}input.span1,textarea.span1,.uneditable-input.span1{width:28px}}@media(max-width:767px){body{padding-right:20px;padding-left:20px}.navbar-fixed-top,.navbar-fixed-bottom{margin-right:-20px;margin-left:-20px}.container-fluid{padding:0}.dl-horizontal dt{float:none;width:auto;clear:none;text-align:left}.dl-horizontal dd{margin-left:0}.container{width:auto}.row-fluid{width:100%}.row,.thumbnails{margin-left:0}.thumbnails>li{float:none;margin-left:0}[class*="span"],.row-fluid [class*="span"]{display:block;float:none;width:auto;margin-left:0}.span12,.row-fluid .span12{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.input-large,.input-xlarge,.input-xxlarge,input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.input-prepend input,.input-append input,.input-prepend input[class*="span"],.input-append input[class*="span"]{display:inline-block;width:auto}.modal{position:fixed;top:20px;right:20px;left:20px;width:auto;margin:0}.modal.fade.in{top:auto}}@media(max-width:480px){.nav-collapse{-webkit-transform:translate3d(0,0,0)}.page-header h1 small{display:block;line-height:20px}input[type="checkbox"],input[type="radio"]{border:1px solid #ccc}.form-horizontal .control-group>label{float:none;width:auto;padding-top:0;text-align:left}.form-horizontal .controls{margin-left:0}.form-horizontal .control-list{padding-top:0}.form-horizontal .form-actions{padding-right:10px;padding-left:10px}.modal{top:10px;right:10px;left:10px}.modal-header .close{padding:10px;margin:-10px}.carousel-caption{position:static}}@media(max-width:979px){body{padding-top:0}.navbar-fixed-top,.navbar-fixed-bottom{position:static}.navbar-fixed-top{margin-bottom:20px}.navbar-fixed-bottom{margin-top:20px}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding:5px}.navbar .container{width:auto;padding:0}.navbar .brand{padding-right:10px;padding-left:10px;margin:0 0 0 -5px}.nav-collapse{clear:both}.nav-collapse .nav{float:none;margin:0 0 10px}.nav-collapse .nav>li{float:none}.nav-collapse .nav>li>a{margin-bottom:2px}.nav-collapse .nav>.divider-vertical{display:none}.nav-collapse .nav .nav-header{color:#555;text-shadow:none}.nav-collapse .nav>li>a,.nav-collapse .dropdown-menu a{padding:9px 15px;font-weight:bold;color:#555;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.nav-collapse .btn{padding:4px 10px 4px;font-weight:normal;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.nav-collapse .dropdown-menu li+li a{margin-bottom:2px}.nav-collapse .nav>li>a:hover,.nav-collapse .dropdown-menu a:hover{background-color:#f2f2f2}.navbar-inverse .nav-collapse .nav>li>a:hover,.navbar-inverse .nav-collapse .dropdown-menu a:hover{background-color:#111}.nav-collapse.in .btn-group{padding:0;margin-top:5px}.nav-collapse .dropdown-menu{position:static;top:auto;left:auto;display:block;float:none;max-width:none;padding:0;margin:0 15px;background-color:transparent;border:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.nav-collapse .dropdown-menu:before,.nav-collapse .dropdown-menu:after{display:none}.nav-collapse .dropdown-menu .divider{display:none}.nav-collapse .navbar-form,.nav-collapse .navbar-search{float:none;padding:10px 15px;margin:10px 0;border-top:1px solid #f2f2f2;border-bottom:1px solid #f2f2f2;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1)}.navbar .nav-collapse .nav.pull-right{float:none;margin-left:0}.nav-collapse,.nav-collapse.collapse{height:0;overflow:hidden}.navbar .btn-navbar{display:block}.navbar-static .navbar-inner{padding-right:10px;padding-left:10px}}@media(min-width:980px){.nav-collapse.collapse{height:auto!important;overflow:visible!important}}
+ */.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;line-height:0;content:""}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.hidden{display:none;visibility:hidden}.visible-phone{display:none!important}.visible-tablet{display:none!important}.hidden-desktop{display:none!important}.visible-desktop{display:inherit!important}@media(min-width:768px) and (max-width:979px){.hidden-desktop{display:inherit!important}.visible-desktop{display:none!important}.visible-tablet{display:inherit!important}.hidden-tablet{display:none!important}}@media(max-width:767px){.hidden-desktop{display:inherit!important}.visible-desktop{display:none!important}.visible-phone{display:inherit!important}.hidden-phone{display:none!important}}@media(min-width:1200px){.row{margin-left:-30px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:30px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:1170px}.span12{width:1170px}.span11{width:1070px}.span10{width:970px}.span9{width:870px}.span8{width:770px}.span7{width:670px}.span6{width:570px}.span5{width:470px}.span4{width:370px}.span3{width:270px}.span2{width:170px}.span1{width:70px}.offset12{margin-left:1230px}.offset11{margin-left:1130px}.offset10{margin-left:1030px}.offset9{margin-left:930px}.offset8{margin-left:830px}.offset7{margin-left:730px}.offset6{margin-left:630px}.offset5{margin-left:530px}.offset4{margin-left:430px}.offset3{margin-left:330px}.offset2{margin-left:230px}.offset1{margin-left:130px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.564102564102564%;*margin-left:2.5109110747408616%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.45299145299145%;*width:91.39979996362975%}.row-fluid .span10{width:82.90598290598291%;*width:82.8527914166212%}.row-fluid .span9{width:74.35897435897436%;*width:74.30578286961266%}.row-fluid .span8{width:65.81196581196582%;*width:65.75877432260411%}.row-fluid .span7{width:57.26495726495726%;*width:57.21176577559556%}.row-fluid .span6{width:48.717948717948715%;*width:48.664757228587014%}.row-fluid .span5{width:40.17094017094017%;*width:40.11774868157847%}.row-fluid .span4{width:31.623931623931625%;*width:31.570740134569924%}.row-fluid .span3{width:23.076923076923077%;*width:23.023731587561375%}.row-fluid .span2{width:14.52991452991453%;*width:14.476723040552828%}.row-fluid .span1{width:5.982905982905983%;*width:5.929714493544281%}.row-fluid .offset12{margin-left:105.12820512820512%;*margin-left:105.02182214948171%}.row-fluid .offset12:first-child{margin-left:102.56410256410257%;*margin-left:102.45771958537915%}.row-fluid .offset11{margin-left:96.58119658119658%;*margin-left:96.47481360247316%}.row-fluid .offset11:first-child{margin-left:94.01709401709402%;*margin-left:93.91071103837061%}.row-fluid .offset10{margin-left:88.03418803418803%;*margin-left:87.92780505546462%}.row-fluid .offset10:first-child{margin-left:85.47008547008548%;*margin-left:85.36370249136206%}.row-fluid .offset9{margin-left:79.48717948717949%;*margin-left:79.38079650845607%}.row-fluid .offset9:first-child{margin-left:76.92307692307693%;*margin-left:76.81669394435352%}.row-fluid .offset8{margin-left:70.94017094017094%;*margin-left:70.83378796144753%}.row-fluid .offset8:first-child{margin-left:68.37606837606839%;*margin-left:68.26968539734497%}.row-fluid .offset7{margin-left:62.393162393162385%;*margin-left:62.28677941443899%}.row-fluid .offset7:first-child{margin-left:59.82905982905982%;*margin-left:59.72267685033642%}.row-fluid .offset6{margin-left:53.84615384615384%;*margin-left:53.739770867430444%}.row-fluid .offset6:first-child{margin-left:51.28205128205128%;*margin-left:51.175668303327875%}.row-fluid .offset5{margin-left:45.299145299145295%;*margin-left:45.1927623204219%}.row-fluid .offset5:first-child{margin-left:42.73504273504273%;*margin-left:42.62865975631933%}.row-fluid .offset4{margin-left:36.75213675213675%;*margin-left:36.645753773413354%}.row-fluid .offset4:first-child{margin-left:34.18803418803419%;*margin-left:34.081651209310785%}.row-fluid .offset3{margin-left:28.205128205128204%;*margin-left:28.0987452264048%}.row-fluid .offset3:first-child{margin-left:25.641025641025642%;*margin-left:25.53464266230224%}.row-fluid .offset2{margin-left:19.65811965811966%;*margin-left:19.551736679396257%}.row-fluid .offset2:first-child{margin-left:17.094017094017094%;*margin-left:16.98763411529369%}.row-fluid .offset1{margin-left:11.11111111111111%;*margin-left:11.004728132387708%}.row-fluid .offset1:first-child{margin-left:8.547008547008547%;*margin-left:8.440625568285142%}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:30px}input.span12,textarea.span12,.uneditable-input.span12{width:1156px}input.span11,textarea.span11,.uneditable-input.span11{width:1056px}input.span10,textarea.span10,.uneditable-input.span10{width:956px}input.span9,textarea.span9,.uneditable-input.span9{width:856px}input.span8,textarea.span8,.uneditable-input.span8{width:756px}input.span7,textarea.span7,.uneditable-input.span7{width:656px}input.span6,textarea.span6,.uneditable-input.span6{width:556px}input.span5,textarea.span5,.uneditable-input.span5{width:456px}input.span4,textarea.span4,.uneditable-input.span4{width:356px}input.span3,textarea.span3,.uneditable-input.span3{width:256px}input.span2,textarea.span2,.uneditable-input.span2{width:156px}input.span1,textarea.span1,.uneditable-input.span1{width:56px}.thumbnails{margin-left:-30px}.thumbnails>li{margin-left:30px}.row-fluid .thumbnails{margin-left:0}}@media(min-width:768px) and (max-width:979px){.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:20px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:724px}.span12{width:724px}.span11{width:662px}.span10{width:600px}.span9{width:538px}.span8{width:476px}.span7{width:414px}.span6{width:352px}.span5{width:290px}.span4{width:228px}.span3{width:166px}.span2{width:104px}.span1{width:42px}.offset12{margin-left:764px}.offset11{margin-left:702px}.offset10{margin-left:640px}.offset9{margin-left:578px}.offset8{margin-left:516px}.offset7{margin-left:454px}.offset6{margin-left:392px}.offset5{margin-left:330px}.offset4{margin-left:268px}.offset3{margin-left:206px}.offset2{margin-left:144px}.offset1{margin-left:82px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.7624309392265194%;*margin-left:2.709239449864817%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.43646408839778%;*width:91.38327259903608%}.row-fluid .span10{width:82.87292817679558%;*width:82.81973668743387%}.row-fluid .span9{width:74.30939226519337%;*width:74.25620077583166%}.row-fluid .span8{width:65.74585635359117%;*width:65.69266486422946%}.row-fluid .span7{width:57.18232044198895%;*width:57.12912895262725%}.row-fluid .span6{width:48.61878453038674%;*width:48.56559304102504%}.row-fluid .span5{width:40.05524861878453%;*width:40.00205712942283%}.row-fluid .span4{width:31.491712707182323%;*width:31.43852121782062%}.row-fluid .span3{width:22.92817679558011%;*width:22.87498530621841%}.row-fluid .span2{width:14.3646408839779%;*width:14.311449394616199%}.row-fluid .span1{width:5.801104972375691%;*width:5.747913483013988%}.row-fluid .offset12{margin-left:105.52486187845304%;*margin-left:105.41847889972962%}.row-fluid .offset12:first-child{margin-left:102.76243093922652%;*margin-left:102.6560479605031%}.row-fluid .offset11{margin-left:96.96132596685082%;*margin-left:96.8549429881274%}.row-fluid .offset11:first-child{margin-left:94.1988950276243%;*margin-left:94.09251204890089%}.row-fluid .offset10{margin-left:88.39779005524862%;*margin-left:88.2914070765252%}.row-fluid .offset10:first-child{margin-left:85.6353591160221%;*margin-left:85.52897613729868%}.row-fluid .offset9{margin-left:79.8342541436464%;*margin-left:79.72787116492299%}.row-fluid .offset9:first-child{margin-left:77.07182320441989%;*margin-left:76.96544022569647%}.row-fluid .offset8{margin-left:71.2707182320442%;*margin-left:71.16433525332079%}.row-fluid .offset8:first-child{margin-left:68.50828729281768%;*margin-left:68.40190431409427%}.row-fluid .offset7{margin-left:62.70718232044199%;*margin-left:62.600799341718584%}.row-fluid .offset7:first-child{margin-left:59.94475138121547%;*margin-left:59.838368402492065%}.row-fluid .offset6{margin-left:54.14364640883978%;*margin-left:54.037263430116376%}.row-fluid .offset6:first-child{margin-left:51.38121546961326%;*margin-left:51.27483249088986%}.row-fluid .offset5{margin-left:45.58011049723757%;*margin-left:45.47372751851417%}.row-fluid .offset5:first-child{margin-left:42.81767955801105%;*margin-left:42.71129657928765%}.row-fluid .offset4{margin-left:37.01657458563536%;*margin-left:36.91019160691196%}.row-fluid .offset4:first-child{margin-left:34.25414364640884%;*margin-left:34.14776066768544%}.row-fluid .offset3{margin-left:28.45303867403315%;*margin-left:28.346655695309746%}.row-fluid .offset3:first-child{margin-left:25.69060773480663%;*margin-left:25.584224756083227%}.row-fluid .offset2{margin-left:19.88950276243094%;*margin-left:19.783119783707537%}.row-fluid .offset2:first-child{margin-left:17.12707182320442%;*margin-left:17.02068884448102%}.row-fluid .offset1{margin-left:11.32596685082873%;*margin-left:11.219583872105325%}.row-fluid .offset1:first-child{margin-left:8.56353591160221%;*margin-left:8.457152932878806%}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:20px}input.span12,textarea.span12,.uneditable-input.span12{width:710px}input.span11,textarea.span11,.uneditable-input.span11{width:648px}input.span10,textarea.span10,.uneditable-input.span10{width:586px}input.span9,textarea.span9,.uneditable-input.span9{width:524px}input.span8,textarea.span8,.uneditable-input.span8{width:462px}input.span7,textarea.span7,.uneditable-input.span7{width:400px}input.span6,textarea.span6,.uneditable-input.span6{width:338px}input.span5,textarea.span5,.uneditable-input.span5{width:276px}input.span4,textarea.span4,.uneditable-input.span4{width:214px}input.span3,textarea.span3,.uneditable-input.span3{width:152px}input.span2,textarea.span2,.uneditable-input.span2{width:90px}input.span1,textarea.span1,.uneditable-input.span1{width:28px}}@media(max-width:767px){body{padding-right:20px;padding-left:20px}.navbar-fixed-top,.navbar-fixed-bottom,.navbar-static-top{margin-right:-20px;margin-left:-20px}.container-fluid{padding:0}.dl-horizontal dt{float:none;width:auto;clear:none;text-align:left}.dl-horizontal dd{margin-left:0}.container{width:auto}.row-fluid{width:100%}.row,.thumbnails{margin-left:0}.thumbnails>li{float:none;margin-left:0}[class*="span"],.row-fluid [class*="span"]{display:block;float:none;width:100%;margin-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.span12,.row-fluid .span12{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.input-large,.input-xlarge,.input-xxlarge,input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.input-prepend input,.input-append input,.input-prepend input[class*="span"],.input-append input[class*="span"]{display:inline-block;width:auto}.controls-row [class*="span"]+[class*="span"]{margin-left:0}.modal{position:fixed;top:20px;right:20px;left:20px;width:auto;margin:0}.modal.fade.in{top:auto}}@media(max-width:480px){.nav-collapse{-webkit-transform:translate3d(0,0,0)}.page-header h1 small{display:block;line-height:20px}input[type="checkbox"],input[type="radio"]{border:1px solid #ccc}.form-horizontal .control-label{float:none;width:auto;padding-top:0;text-align:left}.form-horizontal .controls{margin-left:0}.form-horizontal .control-list{padding-top:0}.form-horizontal .form-actions{padding-right:10px;padding-left:10px}.modal{top:10px;right:10px;left:10px}.modal-header .close{padding:10px;margin:-10px}.carousel-caption{position:static}}@media(max-width:979px){body{padding-top:0}.navbar-fixed-top,.navbar-fixed-bottom{position:static}.navbar-fixed-top{margin-bottom:20px}.navbar-fixed-bottom{margin-top:20px}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding:5px}.navbar .container{width:auto;padding:0}.navbar .brand{padding-right:10px;padding-left:10px;margin:0 0 0 -5px}.nav-collapse{clear:both}.nav-collapse .nav{float:none;margin:0 0 10px}.nav-collapse .nav>li{float:none}.nav-collapse .nav>li>a{margin-bottom:2px}.nav-collapse .nav>.divider-vertical{display:none}.nav-collapse .nav .nav-header{color:#777;text-shadow:none}.nav-collapse .nav>li>a,.nav-collapse .dropdown-menu a{padding:9px 15px;font-weight:bold;color:#777;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.nav-collapse .btn{padding:4px 10px 4px;font-weight:normal;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.nav-collapse .dropdown-menu li+li a{margin-bottom:2px}.nav-collapse .nav>li>a:hover,.nav-collapse .dropdown-menu a:hover{background-color:#f2f2f2}.navbar-inverse .nav-collapse .nav>li>a:hover,.navbar-inverse .nav-collapse .dropdown-menu a:hover{background-color:#111}.nav-collapse.in .btn-group{padding:0;margin-top:5px}.nav-collapse .dropdown-menu{position:static;top:auto;left:auto;display:block;float:none;max-width:none;padding:0;margin:0 15px;background-color:transparent;border:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.nav-collapse .dropdown-menu:before,.nav-collapse .dropdown-menu:after{display:none}.nav-collapse .dropdown-menu .divider{display:none}.nav-collapse .nav>li>.dropdown-menu:before,.nav-collapse .nav>li>.dropdown-menu:after{display:none}.nav-collapse .navbar-form,.nav-collapse .navbar-search{float:none;padding:10px 15px;margin:10px 0;border-top:1px solid #f2f2f2;border-bottom:1px solid #f2f2f2;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1)}.navbar-inverse .nav-collapse .navbar-form,.navbar-inverse .nav-collapse .navbar-search{border-top-color:#111;border-bottom-color:#111}.navbar .nav-collapse .nav.pull-right{float:none;margin-left:0}.nav-collapse,.nav-collapse.collapse{height:0;overflow:hidden}.navbar .btn-navbar{display:block}.navbar-static .navbar-inner{padding-right:10px;padding-left:10px}}@media(min-width:980px){.nav-collapse.collapse{height:auto!important;overflow:visible!important}}
View
154 common/extensions/bootstrap/assets/css/bootstrap-toggle-buttons.css
@@ -0,0 +1,154 @@
+.toggle-button {
+ display: inline-block;
+ cursor: pointer;
+ -webkit-border-radius: 5px;
+ -moz-border-radius: 5px;
+ -ms-border-radius: 5px;
+ -o-border-radius: 5px;
+ border-radius: 5px;
+ border: 1px solid;
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+ position: relative;
+ text-align: left;
+ overflow: hidden;
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -khtml-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+
+.toggle-button.deactivate {
+ filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);
+ opacity: 0.5;
+ cursor: default !important;
+}
+
+.toggle-button.deactivate label, .toggle-button.deactivate span {
+ cursor: default !important;
+}
+
+.toggle-button > div {
+ display: inline-block;
+ width: 150px;
+ position: absolute;
+ top: 0;
+}
+
+.toggle-button > div.disabled {
+ left: -50%;
+}
+
+.toggle-button input[type=checkbox] {
+ display: none;
+}
+
+.toggle-button span, .toggle-button label {
+ cursor: pointer;
+ position: relative;
+ float: left;
+ display: inline-block;
+}
+
+.toggle-button label {
+ background: #fefefe;
+ margin-left: -4px;
+ margin-right: -4px;
+ border: 1px solid #E6E6E6;
+ margin-top: -1px;
+ z-index: 100;
+ background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #fefefe), color-stop(100%, #e6e6e6));
+ background-image: -webkit-linear-gradient(top, #fefefe, #e6e6e6);
+ background-image: -moz-linear-gradient(top, #fefefe, #e6e6e6);
+ background-image: -o-linear-gradient(top, #fefefe, #e6e6e6);
+ background-image: linear-gradient(top, #fefefe, #e6e6e6);
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ -ms-border-radius: 4px;
+ -o-border-radius: 4px;
+ border-radius: 4px;
+}
+
+.toggle-button span {
+ color: #fefefe;
+ text-align: center;
+ font-weight: bold;
+ z-index: 1;
+}
+
+.toggle-button span.labelLeft {
+ -moz-border-radius-topleft: 4px;
+ -webkit-border-top-left-radius: 4px;
+ border-top-left-radius: 4px;
+ -moz-border-radius-bottomleft: 4px;
+ -webkit-border-bottom-left-radius: 4px;
+ border-bottom-left-radius: 4px;
+ padding-left: 3px;
+}
+
+.toggle-button span.labelRight {
+ -moz-border-radius-bottomright: 4px;
+ -webkit-border-bottom-right-radius: 4px;
+ border-bottom-right-radius: 4px;
+ -moz-border-radius-bottomright: 4px;
+ -webkit-border-bottom-right-radius: 4px;
+ border-bottom-right-radius: 4px;
+ color: black;
+ background-image: -webkit-gradient(linear, 50% 100%, 50% 0%, color-stop(0%, #fefefe), color-stop(100%, #e6e6e6));
+ background-image: -webkit-linear-gradient(bottom, #fefefe, #e6e6e6);
+ background-image: -moz-linear-gradient(bottom, #fefefe, #e6e6e6);
+ background-image: -o-linear-gradient(bottom, #fefefe, #e6e6e6);
+ background-image: linear-gradient(bottom, #fefefe, #e6e6e6);
+ padding-right: 3px;
+}
+
+.toggle-button span.primary, .toggle-button span.labelLeft {
+ color: #fefefe;
+ background: #0088cc;
+ background-image: -webkit-gradient(linear, 50% 100%, 50% 0%, color-stop(0%, #0088cc), color-stop(100%, #0055cc));
+ background-image: -webkit-linear-gradient(bottom, #0088cc, #0055cc);
+ background-image: -moz-linear-gradient(bottom, #0088cc, #0055cc);
+ background-image: -o-linear-gradient(bottom, #0088cc, #0055cc);
+ background-image: linear-gradient(bottom, #0088cc, #0055cc);
+}
+
+.toggle-button span.info {
+ color: #fefefe;
+ background: #5bc0de;
+ background-image: -webkit-gradient(linear, 50% 100%, 50% 0%, color-stop(0%, #5bc0de), color-stop(100%, #2f96b4));
+ background-image: -webkit-linear-gradient(bottom, #5bc0de, #2f96b4);
+ background-image: -moz-linear-gradient(bottom, #5bc0de, #2f96b4);
+ background-image: -o-linear-gradient(bottom, #5bc0de, #2f96b4);
+ background-image: linear-gradient(bottom, #5bc0de, #2f96b4);
+}
+
+.toggle-button span.success {
+ color: #fefefe;
+ background: #62c462;
+ background-image: -webkit-gradient(linear, 50% 100%, 50% 0%, color-stop(0%, #62c462), color-stop(100%, #51a351));
+ background-image: -webkit-linear-gradient(bottom, #62c462, #51a351);
+ background-image: -moz-linear-gradient(bottom, #62c462, #51a351);
+ background-image: -o-linear-gradient(bottom, #62c462, #51a351);
+ background-image: linear-gradient(bottom, #62c462, #51a351);
+}
+
+.toggle-button span.warning {
+ color: #fefefe;
+ background: #dbb450;
+ background-image: -webkit-gradient(linear, 50% 100%, 50% 0%, color-stop(0%, #dbb450), color-stop(100%, #f89406));
+ background-image: -webkit-linear-gradient(bottom, #dbb450, #f89406);
+ background-image: -moz-linear-gradient(bottom, #dbb450, #f89406);
+ background-image: -o-linear-gradient(bottom, #dbb450, #f89406);
+ background-image: linear-gradient(bottom, #dbb450, #f89406);
+}
+
+.toggle-button span.danger {
+ color: #fefefe;
+ background: #ee5f5b;
+ background-image: -webkit-gradient(linear, 50% 100%, 50% 0%, color-stop(0%, #ee5f5b), color-stop(100%, #bd362f));
+ background-image: -webkit-linear-gradient(bottom, #ee5f5b, #bd362f);
+ background-image: -moz-linear-gradient(bottom, #ee5f5b, #bd362f);
+ background-image: -o-linear-gradient(bottom, #ee5f5b, #bd362f);
+ background-image: linear-gradient(bottom, #ee5f5b, #bd362f);
+}
View
4 common/extensions/bootstrap/assets/css/bootstrap.min.css
2 additions, 2 deletions not shown
View
215 common/extensions/bootstrap/assets/js/jquery.bootstrap.wizard.js
@@ -0,0 +1,215 @@
+/*!
+ * jQuery twitter bootstrap wizard plugin
+ * Examples and documentation at: http://github.com/VinceG/twitter-bootstrap-wizard
+ * version 1.0
+ * Requires jQuery v1.3.2 or later
+ * Dual licensed under the MIT and GPL licenses:
+ * http://www.opensource.org/licenses/mit-license.php
+ * http://www.gnu.org/licenses/gpl.html
+ * Authors: Vadim Vincent Gabriel (http://vadimg.com)
+ */
+;(function($) {
+var bootstrapWizardCreate = function(element, options) {
+ var element = $(element);
+ var obj = this;
+
+ // Merge options with defaults
+ //var $settings = $.extend($.fn.bootstrapWizard.defaults, options || {});
+ var $settings = $.extend({}, $.fn.bootstrapWizard.defaults, options);
+ var $activeTab = null;
+ var $navigation = null;
+
+ this.fixNavigationButtons = function() {
+ // Get the current active tab
+ if(!$activeTab.length) {
+ // Select first one
+ $navigation.find('a:first').tab('show');
+ $activeTab = $navigation.find('li:first');
+ }
+
+ // See if we currently in the first then disable the previous and last buttons
+ if(obj.firstIndex() >= obj.currentIndex()) {
+ $('li.previous', element).addClass('disabled');
+ } else{
+ $('li.previous', element).removeClass('disabled');
+ }
+
+ if(obj.currentIndex() >= obj.navigationLength()) {
+ $('li.next', element).addClass('disabled');
+ } else {
+ $('li.next', element).removeClass('disabled');
+ }
+
+ if($settings.onTabShow && typeof $settings.onTabShow === 'function' && $settings.onTabShow($activeTab, $navigation, obj.currentIndex())===false){
+ return false;
+ }
+ };
+
+ this.next = function(e) {
+
+ // If we clicked the last then dont activate this
+ if(element.hasClass('last')) {
+ return false;
+ }
+
+ if($settings.onNext && typeof $settings.onNext === 'function' && $settings.onNext($activeTab, $navigation, obj.nextIndex())===false){
+ return false;
+ }
+
+ // Did we click the last button
+ $index = obj.nextIndex();
+ if($index > obj.navigationLength()) {
+ } else {
+ $navigation.find('li:eq('+$index+') a').tab('show');
+ }
+ };
+
+ this.previous = function(e) {
+
+ // If we clicked the first then dont activate this
+ if(element.hasClass('first')) {
+ return false;
+ }
+
+ if($settings.onPrevious && typeof $settings.onPrevious === 'function' && $settings.onPrevious($activeTab, $navigation, obj.previousIndex())===false){
+ return false;
+ }
+
+ $index = obj.previousIndex();
+ if($index < 0) {
+ } else {
+ $navigation.find('li:eq('+$index+') a').tab('show');
+ }
+ };
+
+ this.first = function(e) {
+ if($settings.onFirst && typeof $settings.onFirst === 'function' && $settings.onFirst($activeTab, $navigation, obj.firstIndex())===false){
+ return false;
+ }
+
+ // If the element is disabled then we won't do anything
+ if(element.hasClass('disabled')) {
+ return false;
+ }
+ $navigation.find('li:eq(0) a').tab('show');
+
+ };
+ this.last = function(e) {
+ if($settings.onLast && typeof $settings.onLast === 'function' && $settings.onLast($activeTab, $navigation, obj.lastIndex())===false){
+ return false;
+ }
+
+ // If the element is disabled then we won't do anything
+ if(element.hasClass('disabled')) {
+ return false;
+ }
+ $navigation.find('li:eq('+obj.navigationLength()+') a').tab('show');
+ };
+ this.currentIndex = function() {
+ return $navigation.find('li').index($activeTab);
+ };
+ this.firstIndex = function() {
+ return 0;
+ };
+ this.lastIndex = function() {
+ return obj.navigationLength();
+ };
+ this.getIndex = function(elem) {
+ return $navigation.find('li').index(elem);
+ };
+ this.nextIndex = function() {
+ return $navigation.find('li').index($activeTab) + 1;
+ };
+ this.previousIndex = function() {
+ return $navigation.find('li').index($activeTab) - 1;
+ };
+ this.navigationLength = function() {
+ return $navigation.find('li').length - 1;
+ };
+ this.activeTab = function() {
+ return $activeTab;
+ };
+ this.nextTab = function() {
+ return $navigation.find('li:eq('+(obj.currentIndex()+1)+')').length ? $navigation.find('li:eq('+(obj.currentIndex()+1)+')') : null;
+ };
+ this.previousTab = function() {
+ if(obj.currentIndex() <= 0) {
+ return null;
+ }
+ return $navigation.find('li:eq('+parseInt(obj.currentIndex()-1)+')');
+ };
+
+ $navigation = element.find('ul:first', element);
+ $activeTab = $navigation.find('li.active', element);
+
+ if(!$navigation.hasClass($settings.class)) {
+ $navigation.addClass($settings.class);
+ }
+
+ // Load onShow
+ if($settings.onInit && typeof $settings.onInit === 'function'){
+ $settings.onInit($activeTab, $navigation, 0);
+ }
+
+ // Next/Previous events
+ $($settings.nextSelector, element).bind('click', obj.next);
+ $($settings.previousSelector, element).bind('click', obj.previous);
+ $($settings.lastSelector, element).bind('click', obj.last);
+ $($settings.firstSelector, element).bind('click', obj.first);
+
+ // Load onShow
+ if($settings.onShow && typeof $settings.onShow === 'function'){
+ $settings.onShow($activeTab, $navigation, obj.nextIndex());
+ }
+
+ // Work the next/previous buttons
+ obj.fixNavigationButtons();
+
+ $('a[data-toggle="tab"]', element).on('click', function (e) {
+ if($settings.onTabClick && typeof $settings.onTabClick === 'function' && $settings.onTabClick($activeTab, $navigation, obj.currentIndex())===false){
+ return false;
+ }
+ });
+
+ $('a[data-toggle="tab"]', element).on('show', function (e) {
+ $element = $(e.target).parent();
+ // If it's disabled then do not change
+ if($element.hasClass('disabled')) {
+ return false;
+ }
+
+ $activeTab = $element; // activated tab
+ obj.fixNavigationButtons();
+
+ });
+};
+$.fn.bootstrapWizard = function(options) {
+ return this.each(function(index){
+ var element = $(this);
+ // Return early if this element already has a plugin instance
+ if (element.data('bootstrapWizard')) return;
+ // pass options to plugin constructor
+ var wizard = new bootstrapWizardCreate(element, options);
+ // Store plugin object in this element's data
+ element.data('bootstrapWizard', wizard);
+ });
+};
+
+// expose options
+$.fn.bootstrapWizard.defaults = {
+ 'class' : 'nav nav-pills',
+ 'nextSelector': '.wizard li.next',
+ 'previousSelector': '.wizard li.previous',
+ 'firstSelector': '.wizard li.first',
+ 'lastSelector': '.wizard li.last',
+ 'onShow' : null,
+ 'onInit': null,
+ 'onNext': null,
+ 'onPrevious': null,
+ 'onLast': null,
+ 'onFirst': null,
+ 'onTabClick': null,
+ 'onTabShow': null
+};
+
+})(jQuery);
View
19 common/extensions/bootstrap/assets/js/jquery.stickytableheaders.js
@@ -40,6 +40,12 @@
base.$originalHeader = $('thead:first', this);
base.$clonedHeader = base.$originalHeader.clone();
+ // check whether the cloned header has filters
+ if($('tr.filters', base.$clonedHeader).length)
+ {
+ // remove them, they will have to be added dynamically
+ $('tr.filters', base.$clonedHeader).remove();
+ }
base.$clonedHeader.addClass('tableFloatingHeader');
base.$clonedHeader.css({
'position': 'fixed',
@@ -82,13 +88,17 @@
var offset = $this.offset();
var scrollTop = base.$window.scrollTop() + newTopOffset;
var scrollLeft = base.$window.scrollLeft();
-
+ var filters = null;
if ((scrollTop > offset.top) && (scrollTop < offset.top + $this.height())) {
var newLeft = offset.left - scrollLeft;
if (base.isCloneVisible && (newLeft === base.leftOffset) && (newTopOffset === base.topOffset)) {
return;
}
-
+ filters = $('tr.filters', base.$originalHeader);
+ if(filters.length)
+ {
+ filters.insertAfter(base.$clonedHeader.children().eq(0));
+ }
base.$clonedHeader.css({
'top': newTopOffset,
'margin-top': 0,
@@ -101,7 +111,12 @@
base.topOffset = newTopOffset;
}
else if (base.isCloneVisible) {
+ filters = $('tr.filters', base.$clonedHeader);
base.$clonedHeader.css('display', 'none');
+ if(filters.length)
+ {
+ filters.insertAfter(base.$originalHeader.children().eq(0));
+ }
base.$originalHeader.css('visibility', 'visible');
base.isCloneVisible = false;
}
View
271 common/extensions/bootstrap/assets/js/jquery.toggle.buttons.js
@@ -0,0 +1,271 @@
+!function ($) {
+ "use strict";
+ // version: 2.7
+ // by Mattia Larentis - follow me on twitter! @SpiritualGuru
+
+ var addToAttribute = function (obj, array, value) {
+ var i = 0
+ , length = array.length;
+
+ for (; i < length; i++) {
+ obj = obj[array[i]] = obj[array[i]] || i == ( length - 1) ? value : {}
+ }
+ };
+
+ $.fn.toggleButtons = function (method) {
+ var $element
+ , $div
+ , transitionSpeed = 0.05
+ , methods = {
+ init: function (opt) {
+ this.each(function () {
+ var $spanLeft
+ , $spanRight
+ , options
+ , moving
+ , dataAttribute = {};
+
+ $element = $(this);
+ $element.addClass('toggle-button');
+
+ $.each($element.data(), function (i, el) {
+ var key
+ , tmp = {};
+
+ if (i.indexOf("togglebutton") === 0) {
+ key = i.match(/[A-Z][a-z]+/g);
+ key = $.map(key, function (n) {
+ return (n.toLowerCase());
+ });
+
+ addToAttribute(tmp, key, el);
+ dataAttribute = $.extend(true, dataAttribute, tmp);
+ }
+ });
+
+ options = $.extend(true, {}, $.fn.toggleButtons.defaults, opt, dataAttribute);
+
+ $(this).data('options', options);
+
+ $spanLeft = $('<span></span>').addClass("labelLeft").text(options.label.enabled === undefined ? "ON" : options.label.enabled);
+ $spanRight = $('<span></span>').addClass("labelRight").text(options.label.disabled === undefined ? "OFF " : options.label.disabled);
+
+ // html layout
+ $div = $element.find('input:checkbox').wrap($('<div></div>')).parent();
+ $div.append($spanLeft);
+ $div.append($('<label></label>').attr('for', $element.find('input').attr('id')));
+ $div.append($spanRight);
+
+ if ($element.find('input').is(':checked'))
+ $element.find('>div').css('left', "0");
+ else $element.find('>div').css('left', "-50%");
+
+ if (options.animated) {
+ if (options.transitionspeed !== undefined)
+ if (/^(\d*%$)/.test(options.transitionspeed)) // is a percent value?
+ transitionSpeed = 0.05 * parseInt(options.transitionspeed) / 100;
+ else
+ transitionSpeed = options.transitionspeed;
+ }
+ else transitionSpeed = 0;
+
+ $(this).data('transitionSpeed', transitionSpeed * 1000);
+
+
+ options["width"] /= 2;
+
+ // width of the bootstrap-toggle-button
+ $element
+ .css('width', options.width * 2)
+ .find('>div').css('width', options.width * 3)
+ .find('>span, >label').css('width', options.width);
+
+ // height of the bootstrap-toggle-button
+ $element
+ .css('height', options.height)
+ .find('span, label')
+ .css('height', options.height)
+ .filter('span')
+ .css('line-height', options.height + "px");
+
+ if ($element.find('input').is(':disabled'))
+ $(this).addClass('deactivate');
+
+ $element.find('span').css(options.font);
+
+
+ // enabled custom color
+ if (options.style.enabled === undefined) {
+ if (options.style.custom !== undefined && options.style.custom.enabled !== undefined && options.style.custom.enabled.background !== undefined) {
+ $spanLeft.css('color', options.style.custom.enabled.color);
+ if (options.style.custom.enabled.gradient === undefined)
+ $spanLeft.css('background', options.style.custom.enabled.background);
+ else $.each(["-webkit-", "-moz-", "-o-", ""], function (i, el) {
+ $spanLeft.css('background-image', el + 'linear-gradient(top, ' + options.style.custom.enabled.background + ',' + options.style.custom.enabled.gradient + ')');
+ });
+ }
+ }
+ else $spanLeft.addClass(options.style.enabled);
+
+ // disabled custom color
+ if (options.style.disabled === undefined) {
+ if (options.style.custom !== undefined && options.style.custom.disabled !== undefined && options.style.custom.disabled.background !== undefined) {
+ $spanRight.css('color', options.style.custom.disabled.color);
+ if (options.style.custom.disabled.gradient === undefined)
+ $spanRight.css('background', options.style.custom.disabled.background);
+ else $.each(["-webkit-", "-moz-", "-o-", ""], function (i, el) {
+ $spanRight.css('background-image', el + 'linear-gradient(top, ' + options.style.custom.disabled.background + ',' + options.style.custom.disabled.gradient + ')');
+ });
+ }
+ }
+ else $spanRight.addClass(options.style.disabled);
+
+ var changeStatus = function ($this) {
+ $this.siblings('label')
+ .trigger('mousedown')
+ .trigger('mouseup')
+ .trigger('click');
+ };
+
+ $spanLeft.on('click', function (e) {
+ changeStatus($(this));
+ });
+ $spanRight.on('click', function (e) {
+ changeStatus($(this));
+ });
+
+ $('.toggle-button').find('input').on('change', function (e, skipOnChange) {
+ var $element = $(this).parent()
+ , active = $(this).is(':checked')
+ , $toggleButton = $(this).closest('.toggle-button');
+
+ e.preventDefault();
+ e.stopImmediatePropagation();
+
+ $element.stop().animate({'left': active ? '0' : '-50%'}, $toggleButton.data('transitionSpeed'));
+
+ options = $toggleButton.data('options');
+
+ if (!skipOnChange)
+ options.onChange($element, active, e);
+ });
+
+ $('.toggle-button').find('label').on('mousedown touchstart', function (e) {
+ moving = false;
+ e.preventDefault();
+ e.stopImmediatePropagation();
+
+ if ($(this).closest('.toggle-button').is('.deactivate'))
+ $(this).off('click');
+ else {
+ $(this).on('mousemove touchmove', function (e) {
+ var $element = $(this).closest('.toggle-button')
+ , relativeX = (e.pageX || e.originalEvent.targetTouches[0].pageX) - $element.offset().left
+ , percent = ((relativeX / (options.width * 2)) * 100);
+ moving = true;
+
+ e.stopImmediatePropagation();
+ e.preventDefault();
+
+ if (percent < 25)
+ percent = 25;
+ else if (percent > 75)
+ percent = 75;
+
+ $element.find('>div').css('left', (percent - 75) + "%");
+ });
+
+ $(this).on('click touchend', function (e) {
+ var $target = $(e.target)
+ , $myCheckBox = $target.siblings('input');
+
+ e.stopImmediatePropagation();
+ e.preventDefault();
+ $(this).off('mouseleave');
+
+ if (moving)
+ if (parseInt($(this).parent().css('left')) < -25)
+ $myCheckBox.attr('checked', false);
+ else $myCheckBox.attr('checked', true);
+ else $myCheckBox.attr("checked", !$myCheckBox.is(":checked"));
+
+ $myCheckBox.trigger('change');
+ });
+
+ $(this).on('mouseleave', function (e) {
+ var $myCheckBox = $(this).siblings('input');
+
+ e.preventDefault();
+ e.stopImmediatePropagation();
+
+ $(this).off('mouseleave');
+ $(this).trigger('mouseup');
+
+ if (parseInt($(this).parent().css('left')) < -25)
+ $myCheckBox.attr('checked', false);
+ else $myCheckBox.attr('checked', true);
+
+ $myCheckBox.trigger('change');
+ });
+
+ $(this).on('mouseup', function (e) {
+ e.stopImmediatePropagation();
+ e.preventDefault();
+ $(this).off('mousemove');
+ });
+ }
+ });
+ }
+ );
+ return this;
+ },
+ toggleActivation: function () {
+ $(this).toggleClass('deactivate');
+ },
+ toggleState: function (skipOnChange) {
+ var $input = $(this).find('input');
+ $input.attr('checked', !$input.is(':checked')).trigger('change', skipOnChange);
+ },
+ setState: function(value, skipOnChange) {
+ $(this).find('input').attr('checked', value).trigger('change', skipOnChange);
+ }
+ };
+
+ if (methods[method])
+ return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
+ else if (typeof method === 'object' || !method)
+ return methods.init.apply(this, arguments);
+ else
+ $.error('Method ' + method + ' does not exist!');
+ };
+
+ $.fn.toggleButtons.defaults = {
+ onChange: function () {
+ },
+ width: 100,
+ height: 25,
+ font: {},
+ animated: true,
+ transitionspeed: undefined,
+ label: {
+ enabled: undefined,
+ disabled: undefined
+ },
+ style: {
+ enabled: undefined,
+ disabled: undefined,
+ custom: {
+ enabled: {
+ background: undefined,
+ gradient: undefined,
+ color: "#FFFFFF"
+ },
+ disabled: {
+ background: undefined,
+ gradient: undefined,
+ color: "#FFFFFF"
+ }
+ }
+ }
+ };
+}(jQuery);
View
34 common/extensions/bootstrap/assets/less/accordion.less
@@ -0,0 +1,34 @@
+//
+// Accordion
+// --------------------------------------------------
+
+
+// Parent container
+.accordion {
+ margin-bottom: @baseLineHeight;
+}
+
+// Group == heading + body
+.accordion-group {
+ margin-bottom: 2px;
+ border: 1px solid #e5e5e5;
+ .border-radius(4px);
+}
+.accordion-heading {
+ border-bottom: 0;
+}
+.accordion-heading .accordion-toggle {
+ display: block;
+ padding: 8px 15px;
+}
+
+// General toggle styles
+.accordion-toggle {
+ cursor: pointer;
+}
+
+// Inner needs the styles because you can't animate properly with any styles on the element
+.accordion-inner {
+ padding: 9px 15px;
+ border-top: 1px solid #e5e5e5;
+}
View
65 common/extensions/bootstrap/assets/less/alerts.less
@@ -0,0 +1,65 @@
+//
+// Alerts
+// --------------------------------------------------
+
+
+// Base styles
+// -------------------------
+
+.alert {
+ padding: 8px 35px 8px 14px;
+ margin-bottom: @baseLineHeight;
+ text-shadow: 0 1px 0 rgba(255,255,255,.5);
+ background-color: @warningBackground;
+ border: 1px solid @warningBorder;
+ .border-radius(4px);
+ color: @warningText;
+}
+.alert h4 {
+ margin: 0;
+}
+
+// Adjust close link position
+.alert .close {
+ position: relative;
+ top: -2px;
+ right: -21px;
+ line-height: @baseLineHeight;
+}
+
+
+// Alternate styles
+// -------------------------
+
+.alert-success {
+ background-color: @successBackground;
+ border-color: @successBorder;
+ color: @successText;
+}
+.alert-danger,
+.alert-error {
+ background-color: @errorBackground;
+ border-color: @errorBorder;
+ color: @errorText;
+}
+.alert-info {
+ background-color: @infoBackground;
+ border-color: @infoBorder;
+ color: @infoText;
+}
+
+
+// Block alerts
+// -------------------------
+
+.alert-block {
+ padding-top: 14px;
+ padding-bottom: 14px;
+}
+.alert-block > p,
+.alert-block > ul {
+ margin-bottom: 0;
+}
+.alert-block p + p {
+ margin-top: 5px;
+}
View
2  common/extensions/bootstrap/assets/less/bootstrap-yii.less
@@ -2,7 +2,7 @@
Imports
*/
-@import "../../lib/bootstrap/less/mixins.less";
+@import "mixins.less";
/*
Grid view
View
62 common/extensions/bootstrap/assets/less/bootstrap.less
@@ -0,0 +1,62 @@
+/*!
+ * Bootstrap v2.1.1
+ *
+ * Copyright 2012 Twitter, Inc
+ * Licensed under the Apache License v2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Designed and built with all the love in the world @twitter by @mdo and @fat.
+ */
+
+// CSS Reset
+@import "reset.less";
+
+// Core variables and mixins
+@import "variables.less"; // Modify this for custom colors, font-sizes, etc
+@import "mixins.less";
+
+// Grid system and page structure
+@import "scaffolding.less";
+@import "grid.less";
+@import "layouts.less";
+
+// Base CSS
+@import "type.less";
+@import "code.less";
+@import "forms.less";
+@import "tables.less";
+
+// Components: common
+@import "sprites.less";
+@import "dropdowns.less";
+@import "wells.less";
+@import "component-animations.less";
+@import "close.less";
+
+// Components: Buttons & Alerts
+@import "buttons.less";
+@import "button-groups.less";
+@import "alerts.less"; // Note: alerts share common CSS with buttons and thus have styles in buttons.less
+
+// Components: Nav
+@import "navs.less";
+@import "navbar.less";
+@import "breadcrumbs.less";
+@import "pagination.less";
+@import "pager.less";
+
+// Components: Popovers
+@import "modals.less";
+@import "tooltip.less";
+@import "popovers.less";
+
+// Components: Misc
+@import "thumbnails.less";
+@import "labels-badges.less";
+@import "progress-bars.less";
+@import "accordion.less";
+@import "carousel.less";
+@import "hero-unit.less";
+
+// Utility classes
+@import "utilities.less"; // Has to be last to override when necessary
View
118 common/extensions/bootstrap/assets/less/box.less
@@ -0,0 +1,118 @@
+.bootstrap-widget-nopad {
+ .bootstrap-widget-content {
+ padding: 0;
+ }
+}
+.bootstrap-widget-plain {
+ background: transparent;
+ border: none;
+ .widget-content {
+ padding: 0;
+ background: transparent;
+ border: none;
+ }
+}
+.bootstrap-widget-content {
+ padding: 20px 15px 15px;
+ background: #FFF;
+ border: 1px solid #D5D5D5;
+ -moz-border-radius: 5px;
+ -webkit-border-radius: 5px;
+ border-radius: 5px;
+ zoom: 1;
+}
+.bootstrap-widget-content:before,.bootstrap-widget-content:after {
+ content: "";
+ display: table;
+}
+.bootstrap-widget-header+.bootstrap-widget-content {
+ border-top: none;
+ -webkit-border-top-left-radius: 0;
+ -webkit-border-top-right-radius: 0;
+ -moz-border-radius-topleft: 0;
+ -moz-border-radius-topright: 0;
+ border-top-left-radius: 0;
+ border-top-right-radius: 0;
+}
+.bootstrap-widget-box {
+ .bootstrap-widget-content {
+ background: #E3E3E3;
+ background: #FFF;
+ }
+}
+.bootstrap-widget {
+ position: relative;
+ clear: both;
+ width: auto;
+ margin-bottom: 2em;
+}
+.bootstrap-widget-table {
+ .table {
+ margin-bottom: 0;
+ border: none;
+ tr {
+ th:first-child {
+ border-left: none;
+ }
+ td:first-child {
+ border-left: none;
+ }
+ }
+ }
+ .bootstrap-widget-content {
+ padding: 0;
+ }
+}
+.bootstrap-widget-content:after {
+ clear: both;
+}
+.bootstrap-widget-header {
+ position: relative;
+ height: 40px;
+ background: #E9E9E9;
+ background: -moz-linear-gradient(top, #FAFAFA 0%, #E9E9E9 100%);
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #FAFAFA), color-stop(100%, #E9E9E9));
+ background: -webkit-linear-gradient(top, #FAFAFA 0%, #E9E9E9 100%);
+ background: -o-linear-gradient(top, #FAFAFA 0%, #E9E9E9 100%);
+ background: -ms-linear-gradient(top, #FAFAFA 0%, #E9E9E9 100%);
+ background: linear-gradient(top, #FAFAFA 0%, #E9E9E9 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#FAFAFA', endColorstr = '#E9E9E9');
+ -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#FAFAFA', endColorstr='#E9E9E9')";
+ border: 1px solid #D5D5D5;
+ -webkit-border-top-left-radius: 4px;
+ -webkit-border-top-right-radius: 4px;
+ -moz-border-radius-topleft: 4px;
+ -moz-border-radius-topright: 4px;
+ border-top-left-radius: 4px;
+ border-top-right-radius: 4px;
+ -webkit-background-clip: padding-box;
+ h3 {
+ position: relative;
+ top: 2px;
+ left: 10px;
+ display: inline-block;
+ margin-right: 3em;
+ font-size: 14px;
+ font-weight: 800;
+ color: #555;
+ line-height: 18px;
+ text-shadow: 1px 1px 2px rgba(255, 255, 255, .5);
+ }
+ .bootstrap-toolbar {
+ margin: 3px 2px;
+ ul.dropdown-menu {
+ i {
+ margin-left: -18px;
+ margin-right: 1px;
+ }
+ }
+ }
+}
+.bootstrap-widget-header [class^="icon-"], .bootstrap-widget-header [class*=" icon-"] {
+ display: inline-block;
+ margin-left: 13px;
+ margin-right: -2px;
+ font-size: 16px;
+ color: #555;
+ vertical-align: middle;
+}
View
24 common/extensions/bootstrap/assets/less/breadcrumbs.less
@@ -0,0 +1,24 @@
+//
+// Breadcrumbs
+// --------------------------------------------------
+
+
+.breadcrumb {
+ padding: 8px 15px;
+ margin: 0 0 @baseLineHeight;
+ list-style: none;
+ background-color: #f5f5f5;
+ .border-radius(4px);
+ li {
+ display: inline-block;
+ .ie7-inline-block();
+ text-shadow: 0 1px 0 @white;
+ }
+ .divider {
+ padding: 0 5px;
+ color: #ccc;
+ }
+ .active {
+ color: @grayLight;
+ }
+}
View
245 common/extensions/bootstrap/assets/less/button-groups.less
@@ -0,0 +1,245 @@
+//
+// Button groups
+// --------------------------------------------------
+
+
+// Make the div behave like a button
+.btn-group {
+ position: relative;
+ font-size: 0; // remove as part 1 of font-size inline-block hack
+ vertical-align: middle; // match .btn alignment given font-size hack above
+ white-space: nowrap; // prevent buttons from wrapping when in tight spaces (e.g., the table on the tests page)
+ .ie7-restore-left-whitespace();
+}
+
+// Space out series of button groups
+.btn-group + .btn-group {
+ margin-left: 5px;
+}
+
+// Optional: Group multiple button groups together for a toolbar
+.btn-toolbar {
+ font-size: 0; // Hack to remove whitespace that results from using inline-block
+ margin-top: @baseLineHeight / 2;
+ margin-bottom: @baseLineHeight / 2;
+ .btn-group {
+ display: inline-block;
+ .ie7-inline-block();
+ }
+ .btn + .btn,
+ .btn-group + .btn,
+ .btn + .btn-group {
+ margin-left: 5px;
+ }
+}
+
+// Float them, remove border radius, then re-add to first and last elements
+.btn-group > .btn {
+ position: relative;
+ .border-radius(0);
+}
+.btn-group > .btn + .btn {
+ margin-left: -1px;
+}
+.btn-group > .btn,
+.btn-group > .dropdown-menu {
+ font-size: @baseFontSize; // redeclare as part 2 of font-size inline-block hack
+}
+
+// Reset fonts for other sizes
+.btn-group > .btn-mini {
+ font-size: 11px;
+}
+.btn-group > .btn-small {
+ font-size: 12px;
+}
+.btn-group > .btn-large {
+ font-size: 16px;
+}
+
+// Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match
+.btn-group > .btn:first-child {
+ margin-left: 0;
+ -webkit-border-top-left-radius: 4px;
+ -moz-border-radius-topleft: 4px;
+ border-top-left-radius: 4px;
+ -webkit-border-bottom-left-radius: 4px;
+ -moz-border-radius-bottomleft: 4px;
+ border-bottom-left-radius: 4px;
+}
+// Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu immediately after it
+.btn-group > .btn:last-child,
+.btn-group > .dropdown-toggle {
+ -webkit-border-top-right-radius: 4px;
+ -moz-border-radius-topright: 4px;
+ border-top-right-radius: 4px;
+ -webkit-border-bottom-right-radius: 4px;
+ -moz-border-radius-bottomright: 4px;
+ border-bottom-right-radius: 4px;
+}
+// Reset corners for large buttons
+.btn-group > .btn.large:first-child {
+ margin-left: 0;
+ -webkit-border-top-left-radius: 6px;
+ -moz-border-radius-topleft: 6px;
+ border-top-left-radius: 6px;
+ -webkit-border-bottom-left-radius: 6px;
+ -moz-border-radius-bottomleft: 6px;
+ border-bottom-left-radius: 6px;
+}
+.btn-group > .btn.large:last-child,
+.btn-group > .large.dropdown-toggle {
+ -webkit-border-top-right-radius: 6px;
+ -moz-border-radius-topright: 6px;
+ border-top-right-radius: 6px;
+ -webkit-border-bottom-right-radius: 6px;
+ -moz-border-radius-bottomright: 6px;
+ border-bottom-right-radius: 6px;
+}
+
+// On hover/focus/active, bring the proper btn to front
+.btn-group > .btn:hover,
+.btn-group > .btn:focus,
+.btn-group > .btn:active,
+.btn-group > .btn.active {
+ z-index: 2;
+}
+
+// On active and open, don't show outline
+.btn-group .dropdown-toggle:active,
+.btn-group.open .dropdown-toggle {
+ outline: 0;
+}
+
+
+
+// Split button dropdowns
+// ----------------------
+
+// Give the line between buttons some depth
+.btn-group > .btn + .dropdown-toggle {
+ padding-left: 8px;
+ padding-right: 8px;
+ .box-shadow(inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05));
+ *padding-top: 5px;
+ *padding-bottom: 5px;
+}
+.btn-group > .btn-mini + .dropdown-toggle {
+ padding-left: 5px;
+ padding-right: 5px;
+ *padding-top: 2px;
+ *padding-bottom: 2px;
+}
+.btn-group > .btn-small + .dropdown-toggle {
+ *padding-top: 5px;
+ *padding-bottom: 4px;
+}
+.btn-group > .btn-large + .dropdown-toggle {
+ padding-left: 12px;
+ padding-right: 12px;
+ *padding-top: 7px;
+ *padding-bottom: 7px;
+}
+
+.btn-group.open {
+
+ // The clickable button for toggling the menu
+ // Remove the gradient and set the same inset shadow as the :active state
+ .dropdown-toggle {
+ background-image: none;
+ .box-shadow(inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05));
+ }
+
+ // Keep the hover's background when dropdown is open
+ .btn.dropdown-toggle {
+ background-color: @btnBackgroundHighlight;
+ }
+ .btn-primary.dropdown-toggle {
+ background-color: @btnPrimaryBackgroundHighlight;
+ }
+ .btn-warning.dropdown-toggle {
+ background-color: @btnWarningBackgroundHighlight;
+ }
+ .btn-danger.dropdown-toggle {
+ background-color: @btnDangerBackgroundHighlight;
+ }
+ .btn-success.dropdown-toggle {
+ background-color: @btnSuccessBackgroundHighlight;
+ }
+ .btn-info.dropdown-toggle {
+ background-color: @btnInfoBackgroundHighlight;
+ }
+ .btn-inverse.dropdown-toggle {
+ background-color: @btnInverseBackgroundHighlight;
+ }
+}
+
+
+// Reposition the caret
+.btn .caret {
+ margin-top: 8px;
+ margin-left: 0;
+}
+// Carets in other button sizes
+.btn-mini .caret,
+.btn-small .caret,
+.btn-large .caret {
+ margin-top: 6px;
+}
+.btn-large .caret {
+ border-left-width: 5px;
+ border-right-width: 5px;
+ border-top-width: 5px;
+}
+// Upside down carets for .dropup
+.dropup .btn-large .caret {
+ border-bottom: 5px solid @black;
+ border-top: 0;
+}
+
+
+
+// Account for other colors
+.btn-primary,
+.btn-warning,
+.btn-danger,
+.btn-info,
+.btn-success,
+.btn-inverse {
+ .caret {
+ border-top-color: @white;
+ border-bottom-color: @white;
+ }
+}
+
+
+
+// Vertical button groups
+// ----------------------
+
+.btn-group-vertical {
+ display: inline-block; // makes buttons only take up the width they need
+ .ie7-inline-block();
+}
+.btn-group-vertical .btn {
+ display: block;
+ float: none;
+ width: 100%;
+ .border-radius(0);
+}
+.btn-group-vertical .btn + .btn {
+ margin-left: 0;
+ margin-top: -1px;
+}
+.btn-group-vertical .btn:first-child {
+ .border-radius(4px 4px 0 0);
+}
+.btn-group-vertical .btn:last-child {
+ .border-radius(0 0 4px 4px);
+}
+.btn-group-vertical .btn-large:first-child {
+ .border-radius(6px 6px 0 0);
+}
+.btn-group-vertical .btn-large:last-child {
+ .border-radius(0 0 6px 6px);
+}
View
231 common/extensions/bootstrap/assets/less/buttons.less
@@ -0,0 +1,231 @@
+//
+// Buttons
+// --------------------------------------------------
+
+
+// Base styles
+// --------------------------------------------------
+
+// Core
+.btn {
+ display: inline-block;
+ .ie7-inline-block();
+ padding: 4px 14px;
+ margin-bottom: 0; // For input.btn
+ font-size: @baseFontSize;
+ line-height: @baseLineHeight;
+ *line-height: @baseLineHeight;
+ text-align: center;
+ vertical-align: middle;
+ cursor: pointer;
+ .buttonBackground(@btnBackground, @btnBackgroundHighlight, @grayDark, 0 1px 1px rgba(255,255,255,.75));
+ border: 1px solid @btnBorder;
+ *border: 0; // Remove the border to prevent IE7's black border on input:focus
+ border-bottom-color: darken(@btnBorder, 10%);
+ .border-radius(4px);
+ .ie7-restore-left-whitespace(); // Give IE7 some love
+ .box-shadow(inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05));
+
+ // Hover state
+ &:hover {
+ color: @grayDark;
+ text-decoration: none;
+ background-color: darken(@white, 10%);
+ *background-color: darken(@white, 15%); /* Buttons in IE7 don't get borders, so darken on hover */
+ background-position: 0 -15px;
+
+ // transition is only when going to hover, otherwise the background
+ // behind the gradient (there for IE<=9 fallback) gets mismatched
+ .transition(background-position .1s linear);
+ }
+
+ // Focus state for keyboard and accessibility
+ &:focus {
+ .tab-focus();
+ }
+
+ // Active state
+ &.active,
+ &:active {
+ background-color: darken(@white, 10%);
+ background-color: darken(@white, 15%) e("\9");
+ background-image: none;
+ outline: 0;
+ .box-shadow(inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05));
+ }
+
+ // Disabled state
+ &.disabled,
+ &[disabled] {
+ cursor: default;
+ background-color: darken(@white, 10%);
+ background-image: none;
+ .opacity(65);
+ .box-shadow(none);
+ }
+
+}
+
+
+
+// Button Sizes
+// --------------------------------------------------
+
+// Large
+.btn-large {
+ padding: 9px 14px;
+ font-size: @baseFontSize + 2px;
+ line-height: normal;
+ .border-radius(5px);
+}
+.btn-large [class^="icon-"] {
+ margin-top: 2px;
+}
+
+// Small
+.btn-small {
+ padding: 3px 9px;
+ font-size: @baseFontSize - 2px;
+ line-height: @baseLineHeight - 2px;
+}
+.btn-small [class^="icon-"] {
+ margin-top: 0;
+}
+
+// Mini
+.btn-mini {
+ padding: 2px 6px;
+ font-size: @baseFontSize - 3px;
+ line-height: @baseLineHeight - 3px;
+}
+
+
+// Block button
+// -------------------------
+
+.btn-block {
+ display: block;
+ width: 100%;
+ padding-left: 0;
+ padding-right: 0;
+ .box-sizing(border-box);
+}
+
+// Vertically space out multiple block buttons
+.btn-block + .btn-block {
+ margin-top: 5px;
+}
+
+// Specificity overrides
+input[type="submit"],
+input[type="reset"],
+input[type="button"] {
+ &.btn-block {
+ width: 100%;
+ }
+}
+
+
+
+// Alternate buttons
+// --------------------------------------------------
+
+// Provide *some* extra contrast for those who can get it
+.btn-primary.active,
+.btn-warning.active,
+.btn-danger.active,
+.btn-success.active,
+.btn-info.active,
+.btn-inverse.active {
+ color: rgba(255,255,255,.75);
+}
+
+// Set the backgrounds
+// -------------------------
+.btn {
+ // reset here as of 2.0.3 due to Recess property order
+ border-color: #c5c5c5;
+ border-color: rgba(0,0,0,.15) rgba(0,0,0,.15) rgba(0,0,0,.25);
+}
+.btn-primary {
+ .buttonBackground(@btnPrimaryBackground, @btnPrimaryBackgroundHighlight);
+}
+// Warning appears are orange
+.btn-warning {
+ .buttonBackground(@btnWarningBackground, @btnWarningBackgroundHighlight);
+}
+// Danger and error appear as red
+.btn-danger {
+ .buttonBackground(@btnDangerBackground, @btnDangerBackgroundHighlight);
+}
+// Success appears as green
+.btn-success {
+ .buttonBackground(@btnSuccessBackground, @btnSuccessBackgroundHighlight);
+}
+// Info appears as a neutral blue
+.btn-info {
+ .buttonBackground(@btnInfoBackground, @btnInfoBackgroundHighlight);
+}
+// Inverse appears as dark gray
+.btn-inverse {
+ .buttonBackground(@btnInverseBackground, @btnInverseBackgroundHighlight);
+}
+
+
+// Cross-browser Jank
+// --------------------------------------------------
+
+button.btn,
+input[type="submit"].btn {
+
+ // Firefox 3.6 only I believe
+ &::-moz-focus-inner {
+ padding: 0;
+ border: 0;
+ }
+
+ // IE7 has some default padding on button controls
+ *padding-top: 3px;
+ *padding-bottom: 3px;
+
+ &.btn-large {
+ *padding-top: 7px;
+ *padding-bottom: 7px;
+ }
+ &.btn-small {
+ *padding-top: 3px;
+ *padding-bottom: 3px;
+ }
+ &.btn-mini {
+ *padding-top: 1px;
+ *padding-bottom: 1px;
+ }
+}
+
+
+// Link buttons
+// --------------------------------------------------
+
+// Make a button look and behave like a link
+.btn-link,
+.btn-link:active,
+.btn-link[disabled] {
+ background-color: transparent;
+ background-image: none;
+ .box-shadow(none);
+}
+.btn-link {
+ border-color: transparent;
+ cursor: pointer;
+ color: @linkColor;
+ .border-radius(0);
+}
+.btn-link:hover {
+ color: @linkColorHover;
+ text-decoration: underline;
+ background-color: transparent;
+}
+.btn-link[disabled]:hover {
+ color: @grayDark;
+ text-decoration: none;
+}
View
131 common/extensions/bootstrap/assets/less/carousel.less
@@ -0,0 +1,131 @@
+//
+// Carousel
+// --------------------------------------------------
+
+
+.carousel {
+ position: relative;
+ margin-bottom: @baseLineHeight;
+ line-height: 1;
+}
+
+.carousel-inner {
+ overflow: hidden;
+ width: 100%;
+ position: relative;
+}
+
+.carousel {
+
+ .item {
+ display: none;
+ position: relative;
+ .transition(.6s ease-in-out left);
+ }
+
+ // Account for jankitude on images
+ .item > img {
+ display: block;
+ line-height: 1;
+ }
+
+ .active,
+ .next,
+ .prev { display: block; }
+
+ .active {
+ left: 0;
+ }
+
+ .next,
+ .prev {
+ position: absolute;
+ top: 0;
+ width: 100%;
+ }
+
+ .next {
+ left: 100%;
+ }
+ .prev {
+ left: -100%;
+ }
+ .next.left,
+ .prev.right {
+ left: 0;
+ }
+
+ .active.left {
+ left: -100%;
+ }
+ .active.right {
+ left: 100%;
+ }
+
+}
+
+// Left/right controls for nav
+// ---------------------------
+
+.carousel-control {
+ position: absolute;
+ top: 40%;
+ left: 15px;
+ width: 40px;
+ height: 40px;
+ margin-top: -20px;
+ font-size: 60px;
+ font-weight: 100;
+ line-height: 30px;
+ color: @white;
+ text-align: center;
+ background: @grayDarker;
+ border: 3px solid @white;
+ .border-radius(23px);
+ .opacity(50);
+
+ // we can't have this transition here
+ // because webkit cancels the carousel
+ // animation if you trip this while
+ // in the middle of another animation
+ // ;_;
+ // .transition(opacity .2s linear);
+
+ // Reposition the right one
+ &.right {
+ left: auto;
+ right: 15px;
+ }
+
+ // Hover state
+ &:hover {
+ color: @white;
+ text-decoration: none;
+ .opacity(90);
+ }
+}
+
+
+// Caption for text below images
+// -----------------------------
+
+.carousel-caption {
+ position: absolute;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ padding: 15px;
+ background: @grayDark;
+ background: rgba(0,0,0,.75);
+}
+.carousel-caption h4,
+.carousel-caption p {
+ color: @white;
+ line-height: @baseLineHeight;
+}
+.carousel-caption h4 {
+ margin: 0 0 5px;
+}
+.carousel-caption p {
+ margin-bottom: 0;
+}
View
31 common/extensions/bootstrap/assets/less/close.less
@@ -0,0 +1,31 @@
+//
+// Close icons
+// --------------------------------------------------
+
+
+.close {
+ float: right;
+ font-size: 20px;
+ font-weight: bold;
+ line-height: @baseLineHeight;
+ color: @black;
+ text-shadow: 0 1px 0 rgba(255,255,255,1);
+ .opacity(20);
+ &:hover {
+ color: @black;
+ text-decoration: none;
+ cursor: pointer;
+ .opacity(40);
+ }
+}
+
+// Additional properties for button version
+// iOS requires the button element instead of an anchor tag.
+// If you want the anchor version, it requires `href="#"`.
+button.close {
+ padding: 0;
+ cursor: pointer;
+ background: transparent;
+ border: 0;
+ -webkit-appearance: none;
+}
View
58 common/extensions/bootstrap/assets/less/code.less
@@ -0,0 +1,58 @@
+//
+// Code (inline and blocK)
+// --------------------------------------------------
+
+
+// Inline and block code styles
+code,
+pre {
+ padding: 0 3px 2px;
+ #font > #family > .monospace;
+ font-size: @baseFontSize - 2;
+ color: @grayDark;
+ .border-radius(3px);
+}
+
+// Inline code
+code {
+ padding: 2px 4px;
+ color: #d14;
+ background-color: #f7f7f9;
+ border: 1px solid #e1e1e8;
+}
+
+// Blocks of code
+pre {
+ display: block;
+ padding: (@baseLineHeight - 1) / 2;
+ margin: 0 0 @baseLineHeight / 2;
+ font-size: @baseFontSize - 1; // 14px to 13px
+ line-height: @baseLineHeight;
+ word-break: break-all;
+ word-wrap: break-word;
+ white-space: pre;
+ white-space: pre-wrap;
+ background-color: #f5f5f5;
+ border: 1px solid #ccc; // fallback for IE7-8
+ border: 1px solid rgba(0,0,0,.15);
+ .border-radius(4px);
+
+ // Make prettyprint styles more spaced out for readability
+ &.prettyprint {
+ margin-bottom: @baseLineHeight;
+ }
+
+ // Account for some code outputs that place code tags in pre tags
+ code {
+ padding: 0;
+ color: inherit;
+ background-color: transparent;
+ border: 0;
+ }
+}
+
+// Enable scrollable blocks of code
+.pre-scrollable {
+ max-height: 340px;
+ overflow-y: scroll;
+}
View
121 common/extensions/bootstrap/assets/less/colorpicker.less
@@ -0,0 +1,121 @@
+/*!
+ * Colorpicker for Bootstrap
+ *
+ * Copyright 2012 Stefan Petre
+ * Licensed under the Apache License v2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ */
+
+.colorpicker-saturation {
+ width: 100px;
+ height: 100px;
+ background-image: url(../img/saturation.png);
+ cursor: crosshair;
+ float: left;
+ i {
+ display: block;
+ height: 5px;
+ width: 5px;
+ border: 1px solid #000;
+ .border-radius();
+ position: absolute;
+ top: 0;
+ left: 0;
+ margin: -4px 0 0 -4px;
+ b{
+ display: block;
+ height: 5px;
+ width: 5px;
+ border: 1px solid #fff;
+ .border-radius();
+ }
+ }
+}
+.colorpicker-hue,
+.colorpicker-alpha {
+ width: 15px;
+ height: 100px;
+ float: left;
+ cursor: row-resize;
+ margin-left: 4px;
+ margin-bottom: 4px;
+ i {
+ display: block;
+ height: 1px;
+ background: #000;
+ border-top: 1px solid #fff;
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ margin-top: -1px;
+ }
+}
+.colorpicker-hue {
+ background-image: url(../img/hue.png);
+}
+.colorpicker-alpha {
+ background-image: url(../img/alpha.png);
+ display:none;
+}
+.colorpicker {
+ .clearfix();
+ top: 0;
+ left: 0;
+ padding: 4px;
+ min-width: 120px;
+ margin-top: 1px;
+ .border-radius(4px);
+ &:before {
+ content: '';
+ display: inline-block;
+ border-left: 7px solid transparent;
+ border-right: 7px solid transparent;
+ border-bottom: 7px solid #ccc;
+ border-bottom-color: rgba(0,0,0,.2);
+ position: absolute;
+ top: -7px;
+ left: 6px;
+ }
+ &:after {
+ content: '';
+ display: inline-block;
+ border-left: 6px solid transparent;
+ border-right: 6px solid transparent;
+ border-bottom: 6px solid @white;
+ position: absolute;
+ top: -6px;
+ left: 7px;
+ }
+ div {
+ position: relative;
+ }
+ &.alpha {
+ min-width: 140px;
+ .colorpicker-alpha {
+ display: block;
+ }
+ }
+}
+.colorpicker-color {
+ height: 10px;
+ margin-top: 5px;
+ clear: both;
+ background-image: url(../img/alpha.png);
+ background-position: 0 100%;
+ div {
+ height: 10px;
+ }
+}
+.input-append,
+.input-prepend {
+ &.color {
+ .add-on i {
+ display: block;
+ cursor: pointer;
+ width: 16px;
+ height: 16px;
+ }
+ }
+}
View
22 common/extensions/bootstrap/assets/less/component-animations.less
@@ -0,0 +1,22 @@
+//
+// Component animations
+// --------------------------------------------------
+
+
+.fade {
+ opacity: 0;
+ .transition(opacity .15s linear);
+ &.in {
+ opacity: 1;
+ }
+}
+
+.collapse {
+ position: relative;
+ height: 0;
+ overflow: hidden;
+ .transition(height .35s ease);
+ &.in {
+ height: auto;
+ }
+}
View
122 common/extensions/bootstrap/assets/less/datepicker.less
@@ -0,0 +1,122 @@
+/*!
+ * Datepicker for Bootstrap
+ *
+ * Copyright 2012 Stefan Petre
+ * Licensed under the Apache License v2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ */
+
+.datepicker {
+ top: 0;
+ left: 0;
+ padding: 4px;
+ margin-top: 1px;
+ .border-radius(4px);
+ &:before {
+ content: '';
+ display: inline-block;
+ border-left: 7px solid transparent;
+ border-right: 7px solid transparent;
+ border-bottom: 7px solid #ccc;
+ border-bottom-color: rgba(0,0,0,.2);
+ position: absolute;
+ top: -7px;
+ left: 6px;
+ }
+ &:after {
+ content: '';
+ display: inline-block;
+ border-left: 6px solid transparent;
+ border-right: 6px solid transparent;
+ border-bottom: 6px solid @white;
+ position: absolute;
+ top: -6px;
+ left: 7px;
+ }
+ >div {
+ display: none;
+ }
+ &.days div.datepicker-days {
+ display: block;
+ }
+ &.months div.datepicker-months {
+ display: block;
+ }
+ &.years div.datepicker-years {
+ display: block;
+ }
+ table{
+ width: 100%;
+ margin: 0;
+ }
+ td,
+ th{
+ text-align: center;
+ width: 20px;
+ height: 20px;
+ .border-radius(4px);
+ }
+ td {
+ &.day:hover {
+ background: @grayLighter;
+ cursor: pointer;
+ }
+ &.old,
+ &.new {
+ color: @grayLight;
+ }
+ &.active,
+ &.active:hover {
+ .buttonBackground(@primaryButtonBackground, spin(@primaryButtonBackground, 20));
+ color: #fff;
+ text-shadow: 0 -1px 0 rgba(0,0,0,.25);
+ }
+ span {
+ display: block;
+ width: 47px;
+ height: 54px;
+ line-height: 54px;
+ float: left;
+ margin: 2px;
+ cursor: pointer;
+ .border-radius(4px);
+ &:hover {
+ background: @grayLighter;
+ }
+ &.active {
+ .buttonBackground(@primaryButtonBackground, spin(@primaryButtonBackground, 20));
+ color: #fff;
+ text-shadow: 0 -1px 0 rgba(0,0,0,.25);
+ }
+ &.old {
+ color: @grayLight;
+ }
+ }
+ }
+
+ th.switch {
+ width: 145px;
+ }
+
+ thead tr:first-child th {
+ cursor: pointer;
+ &:hover{
+ background: @grayLighter;
+ }
+ }
+ /*.dow {
+ border-top: 1px solid #ddd !important;
+ }*/
+}
+.input-append,
+.input-prepend {
+ &.date {
+ .add-on i {
+ display: block;
+ cursor: pointer;
+ width: 16px;
+ height: 16px;
+ }
+ }
+}
View
172 common/extensions/bootstrap/assets/less/daterangepicker.less
@@ -0,0 +1,172 @@
+.daterangepicker.opensright:after {
+ position: absolute;
+ top: -6px;
+ left: 10px;
+ display: inline-block;
+ border-right: 6px solid transparent;
+ border-bottom: 6px solid #fff;
+ border-left: 6px solid transparent;
+ content: '';
+}
+
+.daterangepicker td, .daterangepicker th {
+ text-align: center;
+ width: 20px;
+ height: 20px;
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+ cursor: pointer;
+ white-space: nowrap;
+}
+
+.daterangepicker .ranges li.active, .daterangepicker .ranges li:hover {
+ background: #08c;
+ border: 1px solid #08c;
+ color: #fff;
+}
+
+.daterangepicker {
+ position: absolute;
+ background: #fff;
+ top: 100px;
+ left: 20px;
+ padding: 4px;
+ margin-top: 1px;
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+
+ .calendar {
+ display: none;
+ max-width: 230px;
+ border: 1px solid #ddd;
+ padding: 4px;
+ border-radius: 4px;
+ background: #fff;
+ }
+
+ table {
+ width: 100%;
+ margin: 0;
+ }
+
+ td.off {
+ color: #999;
+ }
+
+ .ranges {
+ width: 160px;
+ text-align: left;
+
+ label {
+ color: #333;
+ font-size: 11px;
+ margin-bottom: 2px;
+ text-transform: uppercase;
+ text-shadow: 1px 1px 0 #fff;
+ }
+
+ ul {
+ list-style: none;
+ margin: 0;
+ padding: 0;
+ }
+