AccordionContainer.less 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. /* Accordion
  2. *
  3. * Styling AccordionContainer basically means styling the accordion pane (dijitAccordionInnerContainer)
  4. * and the title inside of it (dijitAccordionTitle). There are 4 basic states to style:
  5. *
  6. * 1. closed pane (and default styling):
  7. * .dijitAccordionInnerContainer - container for each accordion child
  8. * .dijitAccordionTitle - title for each accordion child
  9. *
  10. * 2. active closed pane (ie, mouse down on a title bar)
  11. * .dijitAccordionInnerContainerActive - for background-color, border
  12. * .dijitAccordionInnerContainerActive dijitAccordionTitle - for text color
  13. *
  14. * 3. open pane (expanded child)
  15. * .dijitAccordionChildWrapper - wraps around the child widget (typically ContentPane)
  16. * setting a margin so that there's blue trim all the way around the child
  17. *
  18. * These rules need to override the closed pane active:
  19. *
  20. * .dijitAccordionInnerContainerSelected - for background-color, border
  21. * .dijitAccordionInnerContainerSelected .dijitAccordionTitle - for text color
  22. *
  23. * 4. hovered pane, open or closed
  24. * The selectors below affect hovering over both a closed pane (ie, hovering a title bar),
  25. * and hovering over an open pane. Also, treat mouse down on an open pane as a hover:
  26. *
  27. * .dijitAccordionInnerContainerHover, .dijitAccordionInnerContainerSelectedActive - for background-color, border
  28. * .dijitAccordionInnerContainerHover .dijitAccordionTitle - for text color
  29. */
  30. @import "../variables";
  31. .claro .dijitAccordionContainer {
  32. border:none;
  33. }
  34. .claro .dijitAccordionInnerContainer {
  35. background-color: @unselected-background-color; /* gray, for closed pane */
  36. border:solid 1px @border-color;
  37. margin-bottom:1px;
  38. .transition-property(background-color,border);
  39. .transition-duration(.3s);
  40. .transition-timing-function(linear);
  41. }
  42. .claro .dijitAccordionTitle {
  43. background-color: transparent; /* pick up color from dijitAccordionInnerContainer */
  44. .standard-gradient("../");
  45. padding: 5px 7px 2px 7px;
  46. min-height:17px;
  47. color:@unselected-text-color;
  48. }
  49. .claro .dijitAccordionContainer .dijitAccordionChildWrapper {
  50. /* this extends the blue trim styling of the title bar to wrapping around the node.
  51. * done by setting margin
  52. */
  53. background-color:@pane-background-color;
  54. border:1px solid @selected-border-color;
  55. margin: 0 2px 2px;
  56. }
  57. .claro .dijitAccordionContainer .dijitAccordionContainer-child {
  58. /* this is affecting the child widget itself */
  59. padding: 9px;
  60. }
  61. /* Active state for closed pane */
  62. .claro .dijitAccordionInnerContainerActive {
  63. border:1px solid @selected-border-color;
  64. background-color:@pressed-background-color;
  65. .transition-duration(.1s);
  66. }
  67. .claro .dijitAccordionInnerContainerActive .dijitAccordionTitle {
  68. .active-gradient("../");
  69. color:@selected-text-color;
  70. }
  71. /* Open (a.k.a. selected) pane */
  72. .claro .dijitAccordionInnerContainerSelected {
  73. border-color:@selected-border-color;
  74. background-color: @selected-background-color;
  75. }
  76. .claro .dijitAccordionInnerContainerSelected .dijitAccordionTitle {
  77. color:@selected-text-color;
  78. .standard-gradient("../"); /* avoid effect when clicking the title of the open pane */
  79. }
  80. /* Hovering open or closed pane */
  81. .claro .dijitAccordionInnerContainerHover .dijitAccordionTitle {
  82. /* both open and closed */
  83. color:@hovered-text-color;
  84. }
  85. // TODO: why do we have any hover effect on the selected pane?
  86. // Since you can't click it, there shouldn't be a hover effect.
  87. .claro .dijitAccordionInnerContainerHover,
  88. .claro .dijitAccordionInnerContainerSelectedActive {
  89. /* note: clicking the currently selected Accordion pane should have no effect, so treating same as hover. */
  90. border:1px solid @hovered-border-color;
  91. background-color:@hovered-background-color;
  92. .transition-duration(.2s);
  93. }
  94. .claro .dijitAccordionInnerContainerSelectedHover .dijitAccordionChildWrapper,
  95. .claro .dijitAccordionInnerContainerSelectedActive .dijitAccordionChildWrapper {
  96. background-color:@pane-background-color;
  97. border:1px solid @hovered-border-color;
  98. .box-shadow(inset 0 0 3px rgba(0, 0, 0, .25));
  99. }