|
|
|
/* TabContainer
|
|
|
|
*
|
|
|
|
* Styling TabContainer means styling the TabList and Its content container (dijitTitlePane)
|
|
|
|
*
|
|
|
|
* Tab List: (including 4 kinds of tab location)
|
|
|
|
* .dijitTabContainerTop-tabs - tablist container at top
|
|
|
|
* .dijitTabContainerBottom-tabs - tablist container at bottom
|
|
|
|
* .dijitTabContainerLeft-tabs - tablist container at left
|
|
|
|
* .dijitTabContainerRight-tabs - tablist container at right
|
|
|
|
*
|
|
|
|
* Tab Strip Button:
|
|
|
|
* .dijitTabStripIcon - tab strip button icon
|
|
|
|
* .dijitTabStripMenuIcon - down arrow icon position
|
|
|
|
* .dijitTabStripSlideLeftIcon - left arrow icon position
|
|
|
|
* .dijitTabStripSlideRightIcon - right arrow icon position
|
|
|
|
*
|
|
|
|
* .tabStripButtonDisabled - styles for disabled tab strip buttons
|
|
|
|
*
|
|
|
|
* Tab Button:
|
|
|
|
* .dijitTabContainerTop-tabs .dijitTabInnerDiv/.dijitTabContent - styles for top tab button container
|
|
|
|
* .dijitTabContainerBottom-tabs .dijitTabInnerDiv/.dijitTabContent - styles for bottom tab button container
|
|
|
|
* .dijitTabContainerLeft-tabs .dijitTabInnerDiv/.dijitTabContent - styles for left tab button container
|
|
|
|
* .dijitTabContainerRight-tabs .dijitTabInnerDiv/.dijitTabContent - styles for right tab button container
|
|
|
|
*
|
|
|
|
* .dijitTabContainerTop-tabs .dijitTabChecked .dijitTabInnerDiv/.dijitTabContent
|
|
|
|
* - styles for selected status of top tab button
|
|
|
|
* same to Bottom, Left, Right Tabs
|
|
|
|
*
|
|
|
|
* .dijitTabHover .dijitTabInnerDiv - styles when mouse hover on tab buttons
|
|
|
|
* .dijitTabActive .dijitTabInnerDiv - styles when mouse down on tab buttons
|
|
|
|
* .dijitTabChecked .dijitTabInnerDiv - styles when on buttons of selected tab
|
|
|
|
*
|
|
|
|
* .dijitTabCloseButton - the close action buttons lie at the right top of each tab button on closable tabs
|
|
|
|
* .dijitTabCloseButtonHover - styles when mouse hover on close action button
|
|
|
|
* .dijitTabCloseButtonActive - styles when mouse down on close action button
|
|
|
|
*
|
|
|
|
* Tab Button: (checked status)
|
|
|
|
*
|
|
|
|
* Tab Content Container:
|
|
|
|
* .dijitTabContainerTop-dijitContentPane
|
|
|
|
* .dijitTabContainerBottom-dijitContentPane
|
|
|
|
* .dijitTabContainerLeft-dijitContentPane
|
|
|
|
* .dijitTabContainerRight-dijitContentPane - for background and padding
|
|
|
|
*
|
|
|
|
* Nested Tabs:
|
|
|
|
* .dijitTabContainerNested - Container for nested tabs
|
|
|
|
* .dijitTabContainerTabListNested - tab list container for nested tabs
|
|
|
|
*/
|
|
|
|
|
|
|
|
@import "../variables";
|
|
|
|
|
|
|
|
/*** some common features ***/
|
|
|
|
.claro .dijitTabPaneWrapper {
|
|
|
|
background:@pane-background-color;
|
|
|
|
}
|
|
|
|
.claro .dijitTabPaneWrapper,
|
|
|
|
.claro .dijitTabContainerTop-tabs,
|
|
|
|
.claro .dijitTabContainerBottom-tabs,
|
|
|
|
.claro .dijitTabContainerLeft-tabs,
|
|
|
|
.claro .dijitTabContainerRight-tabs {
|
|
|
|
/* todo: add common class name for this div */
|
|
|
|
border-color: @border-color;
|
|
|
|
}
|
|
|
|
.claro .dijitTabCloseButton {
|
|
|
|
background: url("../@{image-layout-tab-close}") no-repeat;
|
|
|
|
width: 14px;
|
|
|
|
height: 14px;
|
|
|
|
margin-left: 5px;
|
|
|
|
margin-right:-5px;
|
|
|
|
}
|
|
|
|
.claro .dijitTabCloseButtonHover {
|
|
|
|
background-position:-14px;
|
|
|
|
}
|
|
|
|
.claro .dijitTabCloseButtonActive {
|
|
|
|
background-position:-28px;
|
|
|
|
}
|
|
|
|
.claro .dijitTabSpacer {
|
|
|
|
/* set the spacer invisible. note that height:0 doesn't work on IE/quirks, it's still 10px. */
|
|
|
|
display: none;
|
|
|
|
}
|
|
|
|
.claro .dijitTabInnerDiv {
|
|
|
|
background-color:@unselected-background-color;
|
|
|
|
.transition-property(background-color, border);
|
|
|
|
.transition-duration(.35s);
|
|
|
|
color:@unselected-text-color;
|
|
|
|
}
|
|
|
|
.claro .dijitTabHover .dijitTabInnerDiv {
|
|
|
|
background-color:@hovered-background-color;
|
|
|
|
.transition-duration(.25s);
|
|
|
|
color:@hovered-text-color;
|
|
|
|
}
|
|
|
|
.claro .dijitTabActive .dijitTabInnerDiv {
|
|
|
|
background-color:@pressed-background-color;
|
|
|
|
color:@selected-text-color;
|
|
|
|
.transition-duration(.1s);
|
|
|
|
}
|
|
|
|
.claro .dijitTabChecked .dijitTabInnerDiv {
|
|
|
|
background-color:@selected-background-color;
|
|
|
|
color:@selected-text-color;
|
|
|
|
}
|
|
|
|
|
|
|
|
.claro .dijitTabContent {
|
|
|
|
border: 1px solid @border-color;
|
|
|
|
}
|
|
|
|
.claro .dijitTabHover .dijitTabContent {
|
|
|
|
border-color: @hovered-border-color;
|
|
|
|
}
|
|
|
|
.claro .dijitTabActive .dijitTabContent {
|
|
|
|
border-color: @pressed-border-color;
|
|
|
|
}
|
|
|
|
.claro .dijitTabChecked .dijitTabContent {
|
|
|
|
color:@selected-text-color; // todo: redundant with .claro .dijitTabChecked .dijitTabInnerDiv above?
|
|
|
|
border-color: @border-color; // don't use @selected-border-color because need to match border of TabContainer
|
|
|
|
}
|
|
|
|
|
|
|
|
.claro .tabStripButton .dijitTabInnerDiv {
|
|
|
|
background-color: transparent;
|
|
|
|
}
|
|
|
|
.claro .tabStripButton .dijitTabContent {
|
|
|
|
border: none;
|
|
|
|
}
|
|
|
|
/*** end common ***/
|
|
|
|
|
|
|
|
|
|
|
|
/*************** top tab ***************/
|
|
|
|
.claro .dijitTabContainerTop-tabs .dijitTab {
|
|
|
|
top: 1px; /* used for overlap */
|
|
|
|
margin-right: 1px;
|
|
|
|
padding-top: 3px;
|
|
|
|
}
|
|
|
|
.dj_ie7 .claro .dijitTabContainerTop-tabs .dijitTab {
|
|
|
|
top: 3px;
|
|
|
|
}
|
|
|
|
/* for top tab padding. change height when status changes */
|
|
|
|
.claro .dijitTabContainerTop-tabs .dijitTabContent {
|
|
|
|
padding:3px 6px;
|
|
|
|
border-bottom-width: 0;
|
|
|
|
background-image:url("../@{image-layout-tab-top}");
|
|
|
|
background-position:0 0;
|
|
|
|
background-repeat:repeat-x;
|
|
|
|
min-width: 60px;
|
|
|
|
text-align: center;
|
|
|
|
}
|
|
|
|
.claro .dijitTabContainerTop-tabs .dijitTabChecked .dijitTabContent {
|
|
|
|
padding-bottom: 4px;
|
|
|
|
padding-top: 6px;
|
|
|
|
}
|
|
|
|
|
|
|
|
/* normal status */
|
|
|
|
.claro .dijitTabContainerTop-tabs .dijitTabInnerDiv {
|
|
|
|
background-image:url("../@{image-layout-tab-top}");
|
|
|
|
background-position:0 -248px;
|
|
|
|
background-position:bottom;
|
|
|
|
background-repeat:repeat-x;
|
|
|
|
.box-shadow(0 -1px 1px rgba(0, 0, 0, 0.04));
|
|
|
|
}
|
|
|
|
|
|
|
|
/* checked status */
|
|
|
|
.claro .dijitTabContainerTop-tabs .dijitTabChecked .dijitTabInnerDiv {
|
|
|
|
background-image:none;
|
|
|
|
.box-shadow(0 -1px 2px rgba(0, 0, 0, 0.05));
|
|
|
|
}
|
|
|
|
.claro .dijitTabContainerTop-tabs .dijitTabChecked .dijitTabContent {
|
|
|
|
background-position:0 -102px;
|
|
|
|
background-repeat:repeat-x;
|
|
|
|
}
|
|
|
|
/** end top tab **/
|
|
|
|
|
|
|
|
|
|
|
|
/*************** bottom tab ***************/
|
|
|
|
.claro .dijitTabContainerBottom-tabs .dijitTab {
|
|
|
|
top: -1px; /* used for overlap */
|
|
|
|
margin-right: 1px;
|
|
|
|
}
|
|
|
|
/* calculate the position and size */
|
|
|
|
.claro .dijitTabContainerBottom-tabs .dijitTabContent {
|
|
|
|
padding:3px 6px;
|
|
|
|
border-top-width: 0;
|
|
|
|
background-image: url("../@{image-layout-tab-bottom}");
|
|
|
|
background-position:0 -249px;
|
|
|
|
background-repeat: repeat-x;
|
|
|
|
background-position:bottom;
|
|
|
|
min-width: 60px;
|
|
|
|
text-align: center;
|
|
|
|
}
|
|
|
|
.claro .dijitTabContainerBottom-tabs .dijitTab {
|
|
|
|
padding-bottom: 3px;
|
|
|
|
}
|
|
|
|
/* normal status */
|
|
|
|
.claro .dijitTabContainerBottom-tabs .dijitTabInnerDiv {
|
|
|
|
background-image: url("../@{image-layout-tab-bottom}");
|
|
|
|
background-position: top;
|
|
|
|
background-repeat: repeat-x;
|
|
|
|
.box-shadow(0 1px 1px rgba(0, 0, 0, 0.04));
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
/* checked status */
|
|
|
|
.claro .dijitTabContainerBottom-tabs .dijitTabChecked .dijitTabContent {
|
|
|
|
padding-bottom: 7px;
|
|
|
|
padding-top: 4px;
|
|
|
|
background-position:0 -119px;
|
|
|
|
}
|
|
|
|
.claro .dijitTabContainerBottom-tabs .dijitTabChecked {
|
|
|
|
padding-bottom: 0;
|
|
|
|
}
|
|
|
|
.claro .dijitTabContainerBottom-tabs .dijitTabChecked .dijitTabInnerDiv {
|
|
|
|
background-image:none;
|
|
|
|
.box-shadow(0 1px 2px rgba(0, 0, 0, 0.05));
|
|
|
|
}
|
|
|
|
/** end bottom tab **/
|
|
|
|
|
|
|
|
/*************** left tab ***************/
|
|
|
|
.claro .dijitTabContainerLeft-tabs .dijitTab {
|
|
|
|
border-right-width: 0;
|
|
|
|
left: 1px; /* used for overlap */
|
|
|
|
margin-bottom: 1px;
|
|
|
|
}
|
|
|
|
/* normal status */
|
|
|
|
.claro .dijitTabContainerLeft-tabs .dijitTabInnerDiv {
|
|
|
|
background-image: url("../@{image-layout-tab-left}");
|
|
|
|
background-position: -347px -340px;
|
|
|
|
background-repeat: repeat-y;
|
|
|
|
}
|
|
|
|
.claro .dijitTabContainerLeft-tabs .dijitTabContent {
|
|
|
|
padding:3px 8px 4px 4px;
|
|
|
|
background-image: url("../@{image-layout-tab-left}");
|
|
|
|
background-repeat: repeat-y;
|
|
|
|
background-position:0 0;
|
|
|
|
}
|
|
|
|
/* checked status */
|
|
|
|
.claro .dijitTabContainerLeft-tabs .dijitTabChecked .dijitTabContent {
|
|
|
|
padding-right: 9px;
|
|
|
|
border-right: none;
|
|
|
|
background-image: none;
|
|
|
|
}
|
|
|
|
.claro .dijitTabContainerLeft-tabs .dijitTabChecked .dijitTabInnerDiv {
|
|
|
|
background-position:0 -179px;
|
|
|
|
background-repeat:repeat-y;
|
|
|
|
.box-shadow(-1px 0 2px rgba(0, 0, 0, .05));
|
|
|
|
}
|
|
|
|
/** end left tab **/
|
|
|
|
|
|
|
|
/*************** right tab ***************/
|
|
|
|
.claro .dijitTabContainerRight-tabs .dijitTab {
|
|
|
|
border-left-width: 0;
|
|
|
|
left: -1px; /* used for overlap */
|
|
|
|
margin-bottom: 1px;
|
|
|
|
}
|
|
|
|
/* normal status */
|
|
|
|
.claro .dijitTabContainerRight-tabs .dijitTabInnerDiv {
|
|
|
|
background-image: url("../@{image-layout-tab-right}");
|
|
|
|
background-repeat: repeat-y;
|
|
|
|
background-position: -1px -347px;
|
|
|
|
}
|
|
|
|
.claro .dijitTabContainerRight-tabs .dijitTabContent {
|
|
|
|
padding:3px 8px 4px 4px;
|
|
|
|
background-image: url("../@{image-layout-tab-right}");
|
|
|
|
background-position:right top;
|
|
|
|
background-repeat: repeat-y;
|
|
|
|
}
|
|
|
|
/* checked status */
|
|
|
|
.claro .dijitTabContainerRight-tabs .dijitTabChecked .dijitTabContent {
|
|
|
|
padding-left: 5px;
|
|
|
|
border-left: none;
|
|
|
|
background-image: none;
|
|
|
|
}
|
|
|
|
.claro .dijitTabContainerRight-tabs .dijitTabChecked .dijitTabInnerDiv {
|
|
|
|
background-position:-348px -179px;
|
|
|
|
.box-shadow(1px 0 2px rgba(0, 0, 0, 0.07));
|
|
|
|
}
|
|
|
|
/** end right tab **/
|
|
|
|
|
|
|
|
/** round corner **/
|
|
|
|
.claro .dijitTabContainerTop-tabs .dijitTabInnerDiv,
|
|
|
|
.claro .dijitTabContainerTop-tabs .dijitTabContent {
|
|
|
|
.border-radius(2px 2px 0 0);
|
|
|
|
}
|
|
|
|
.claro .dijitTabContainerBottom-tabs .dijitTabInnerDiv,
|
|
|
|
.claro .dijitTabContainerBottom-tabs .dijitTabContent{
|
|
|
|
.border-radius(0 0 2px 2px);
|
|
|
|
}
|
|
|
|
.claro .dijitTabContainerLeft-tabs .dijitTabInnerDiv,
|
|
|
|
.claro .dijitTabContainerLeft-tabs .dijitTabContent{
|
|
|
|
.border-radius(2px 0 0 2px);
|
|
|
|
}
|
|
|
|
|
|
|
|
.claro .dijitTabContainerRight-tabs .dijitTabInnerDiv,
|
|
|
|
.claro .dijitTabContainerRight-tabs .dijitTabContent{
|
|
|
|
.border-radius(0 2px 2px 0);
|
|
|
|
}
|
|
|
|
|
|
|
|
/************ left/right scroll buttons + menu button ************/
|
|
|
|
.claro .tabStripButton {
|
|
|
|
background-color:@button-background-color;
|
|
|
|
border: 1px solid @border-color;
|
|
|
|
}
|
|
|
|
.claro .dijitTabListContainer-top .tabStripButton {
|
|
|
|
padding: 4px 3px;
|
|
|
|
margin-top:7px;
|
|
|
|
background-image: url("../@{image-layout-tab-top}");
|
|
|
|
background-position:0 0;
|
|
|
|
}
|
|
|
|
.claro .dijitTabListContainer-bottom .tabStripButton {
|
|
|
|
padding:5px 3px;
|
|
|
|
margin-bottom:4px;
|
|
|
|
background-image: url("../@{image-layout-tab-top}");
|
|
|
|
background-position:0 -248px;
|
|
|
|
background-position:bottom;
|
|
|
|
}
|
|
|
|
.claro .tabStripButtonHover {
|
|
|
|
background-color:@hovered-background-color;
|
|
|
|
}
|
|
|
|
.claro .tabStripButtonActive {
|
|
|
|
background-color:@pressed-background-color;
|
|
|
|
}
|
|
|
|
.claro .dijitTabStripIcon {
|
|
|
|
height:15px;
|
|
|
|
width:15px;
|
|
|
|
margin: 0 auto;
|
|
|
|
background:url("../@{image-form-button-arrows}") no-repeat -75px 50%;
|
|
|
|
background-color: transparent;
|
|
|
|
}
|
|
|
|
.claro .dijitTabStripSlideRightIcon{
|
|
|
|
background-position: -24px 50%;
|
|
|
|
}
|
|
|
|
.claro .dijitTabStripMenuIcon {
|
|
|
|
background-position: -51px 50%;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*disabled styles for tab strip buttons*/
|
|
|
|
.claro .dijitTabListContainer-top .tabStripButtonDisabled,
|
|
|
|
.claro .dijitTabListContainer-bottom .tabStripButtonDisabled {
|
|
|
|
background-color:@tab-disabled-background-color;
|
|
|
|
border:1px solid @border-color; /* to match border of TabContainer itself */
|
|
|
|
}
|
|
|
|
.claro .tabStripButtonDisabled .dijitTabStripSlideLeftIcon {
|
|
|
|
background-position:-175px 50%;
|
|
|
|
}
|
|
|
|
.claro .tabStripButtonDisabled .dijitTabStripSlideRightIcon {
|
|
|
|
background-position: -124px 50%;
|
|
|
|
}
|
|
|
|
.claro .tabStripButtonDisabled .dijitTabStripMenuIcon {
|
|
|
|
background-position: -151px 50%;
|
|
|
|
}
|
|
|
|
/* Nested Tabs */
|
|
|
|
.claro .dijitTabContainerNested .dijitTabListWrapper {
|
|
|
|
height: auto;
|
|
|
|
}
|
|
|
|
.claro .dijitTabContainerNested .dijitTabContainerTop-tabs {
|
|
|
|
border-bottom:solid 1px @border-color;
|
|
|
|
padding:1px 2px 4px;
|
|
|
|
margin-top:-2px;
|
|
|
|
}
|
|
|
|
.claro .dijitTabContainerTabListNested .dijitTabContent {
|
|
|
|
background:rgba(255, 255, 255, 0) none repeat scroll 0 0;
|
|
|
|
border: none;
|
|
|
|
padding: 4px;
|
|
|
|
border-color: rgba(118,157,192,0);
|
|
|
|
.transition-property(background-color, border-color);
|
|
|
|
.transition-duration(.3s);
|
|
|
|
.border-radius(2px);
|
|
|
|
}
|
|
|
|
.claro .dijitTabContainerTabListNested .dijitTab .dijitTabInnerDiv {
|
|
|
|
/* 4 element selector to override box-shadow setting from above rule:
|
|
|
|
* .claro .dijitTabContainerTop-tabs .dijitTabChecked .dijitTabInnerDiv { ... }
|
|
|
|
*/
|
|
|
|
background: none;
|
|
|
|
border: none;
|
|
|
|
top: 0;/* to override top: 1px/-1px for normal tabs */
|
|
|
|
.box-shadow(none);
|
|
|
|
}
|
|
|
|
.claro .dijitTabContainerTabListNested .dijitTabHover .dijitTabContent {
|
|
|
|
background-color: @nestedtab-hovered-background-color;
|
|
|
|
border:solid 1px @nestedtab-hovered-border-color;
|
|
|
|
padding: 3px;
|
|
|
|
.transition-duration(.2s);
|
|
|
|
}
|
|
|
|
.claro .dijitTabContainerTabListNested .dijitTabHover .tabLabel {
|
|
|
|
text-decoration: none;
|
|
|
|
}
|
|
|
|
.claro .dijitTabContainerTabListNested .dijitTabActive .dijitTabContent {
|
|
|
|
border:solid 1px @nestedtab-selected-border-color;
|
|
|
|
padding: 3px;
|
|
|
|
background: @nestedtab-selected-background-color url("../@{image-layout-tab-nested}") repeat-x;
|
|
|
|
.transition-duration(.1s);
|
|
|
|
}
|
|
|
|
.claro .dijitTabContainerTabListNested .dijitTabChecked .dijitTabContent {
|
|
|
|
padding: 3px;
|
|
|
|
border:solid 1px @selected-border-color;
|
|
|
|
background-position: 0 105px;
|
|
|
|
background-color:@selected-background-color;
|
|
|
|
}
|
|
|
|
.claro .dijitTabContainerTabListNested .dijitTabChecked .tabLabel {
|
|
|
|
text-decoration: none;
|
|
|
|
background-image:none;
|
|
|
|
}
|
|
|
|
.claro .dijitTabPaneWrapperNested {
|
|
|
|
border: none;/* prevent double border */
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.dj_ie6 .claro .dijitTabContent,
|
|
|
|
.dj_ie6 .claro .dijitTabInnerDiv,
|
|
|
|
.dj_ie6 .dijitTabListContainer-top .tabStripButton,
|
|
|
|
.dj_ie6 .dijitTabListContainer-bottom .tabStripButton{
|
|
|
|
background-image: none;
|
|
|
|
}
|