diff options
| author | nohros | 2014-02-06 20:06:45 -0200 | 
|---|---|---|
| committer | nohros | 2014-02-06 20:06:45 -0200 | 
| commit | 13d4234f89d9045e3ee2352f1c359b560e198000 (patch) | |
| tree | d78f11652cd8e58b6eb1077d55cf626062d89a1b | |
| parent | 70469eef704a7ad1fdd23fdc3ff37fa3db0e1343 (diff) | |
| download | nsPopover-13d4234f89d9045e3ee2352f1c359b560e198000.tar.bz2 | |
Added a new theme that make the popover looks like a tooltip.0.5.2
| -rw-r--r-- | example/index.html | 27 | ||||
| -rw-r--r-- | sass/ns-popover.scss | 131 | 
2 files changed, 142 insertions, 16 deletions
| diff --git a/example/index.html b/example/index.html index 7b46b64..8460374 100644 --- a/example/index.html +++ b/example/index.html @@ -12,14 +12,17 @@    <script src="index.js"></script>
    <script type="text/ng-template" id="menu">
 -    <ul>
 -      <li ng-repeat="item in items"><a>{{item.name}}</a></li>
 -    </ul>
 +    <div class="triangle"></div>
 +    <div class="ns-popover-tooltip">
 +      <ul>
 +        <li ng-repeat="item in items"><a>{{item.name}}</a></li>
 +      </ul>
 +    </div>
    </script>
    <script type="text/ng-template" id="tooltip">
 -    <div class="arrow-up"></div>
 -    <div class="tooltip">
 +    <div class="triangle"></div>
 +    <div class="ns-popover-tooltip">
        Cool! The <b>nsPopover</b> could be used as a tooptip.
      </div>
    </script>
 @@ -29,31 +32,35 @@  <section viewport-width>
    <h1> Popovers </h1>
 -  <article>
 +    <article>
      <button ns-popover
              ns-popover-template="menu"
 -            ns-popover-trigger="click">
 +            ns-popover-trigger="click"
 +            ns-popover-theme="ns-popover-tooltip-theme">
        Popover on bottom
      </button>
      <button ns-popover
              ns-popover-template="menu"
              ns-popover-trigger="click"
 -            ns-popover-placement="top|left">
 +            ns-popover-placement="top|left"
 +            ns-popover-theme="ns-popover-tooltip-theme">
        Popover on top
      </button>
      <button ns-popover
              ns-popover-template="tooltip"
              ns-popover-trigger="click"
 -            ns-popover-placement="left">
 +            ns-popover-placement="left"
 +            ns-popover-theme="ns-popover-tooltip-theme">
        Popover on left
      </button>
      <button ns-popover
              ns-popover-template="tooltip"
              ns-popover-trigger="click"
 -            ns-popover-placement="right">
 +            ns-popover-placement="right"
 +            ns-popover-theme="ns-popover-tooltip-theme">
        Popover on right
      </button>
    </article>
 diff --git a/sass/ns-popover.scss b/sass/ns-popover.scss index c79e37f..bf6f7da 100644 --- a/sass/ns-popover.scss +++ b/sass/ns-popover.scss @@ -1,9 +1,15 @@ +$popover-triangle-size: 0.6875rem !default;
 +$popover-triangle-color: #fff;
 +
  .ns-popover-list-theme {
    box-sizing: border-box;
    border: solid 1px #d2d2d2;
    border-radius: 3px;
    z-index: 100;
    background-color: #fff;
 +  -webkit-box-shadow: 0 0.3125rem 0.625rem rgba(0,0,0,0.2);
 +     -moz-box-shadow: 0 0.3125rem 0.625rem rgba(0,0,0,0.2);
 +          box-shadow: 0 0.3125rem 0.625rem rgba(0,0,0,0.2);
    ul, .list {
      padding: 0;
 @@ -25,16 +31,129 @@    }
  }
 +// @mixins
 +//
 +// We use this to create equilateral triangles
 +// $triangle-size - Used to set border-size. No default, set a px or em size.
 +// $triangle-color - Used to set border-color which makes up triangle. No default
 +// $triangle-direction - Used to determine which direction triangle points. Options: top, bottom, left, right
 +@mixin triangle($triangle-direction, $triangle-size:$popover-triangle-size, $triangle-color:$popover-triangle-color) {
 +  content: "";
 +  display: block;
 +  width: 0;
 +  height: 0;
 +  border: solid $triangle-size;
 +  border-color: transparent;
 +  position: absolute;
 +
 +  &:after {
 +    content: " ";
 +    display: block;
 +    width:0;
 +    height:0;
 +    border: solid ($triangle-size - 0.0625rem);
 +    border-color: transparent;
 +    position: absolute;
 +  }
 +
 +  @if ($triangle-direction == top) {
 +    border-top-color: rgba(0,0,0,0.25);
 +    left:50%;
 +    bottom: -$triangle-size;
 +    margin-left: -$triangle-size;
 +
 +    &:after {
 +      border-top-color: $triangle-color;
 +      border-bottom-width: 0;
 +      bottom: 0.0625rem;
 +      margin-left: -($triangle-size - 0.0625rem);
 +    }
 +  }
 +
 +  @if ($triangle-direction == bottom) {
 +    border-bottom-color: rgba(0,0,0,0.25);
 +    left:50%;
 +    top: -$triangle-size;
 +    margin-left: -$triangle-size;
 +
 +    &:after {
 +      border-bottom-color: $triangle-color;
 +      border-top-width: 0;
 +      top: 0.0625rem;
 +      margin-left: -($triangle-size - 0.0625rem);
 +    }
 +  }
 +
 +  @if ($triangle-direction == left) {
 +    border-left-color: rgba(0,0,0,0.25);
 +    top:50%;
 +    right: -$triangle-size;
 +    margin-top: -$triangle-size;
 +
 +    &:after {
 +      border-left-color: $triangle-color;
 +      border-right-width: 0;
 +      right: 0.0625rem;
 +      bottom: -($triangle-size - 0.0625rem);
 +    }
 +  }
 +
 +  @if ($triangle-direction == right) {
 +    border-right-color: rgba(0,0,0,0.25);
 +    top:50%;
 +    left: -$triangle-size;
 +    margin-top: -$triangle-size;
 +
 +    &:after {
 +      border-right-color: $triangle-color;
 +      border-left-width: 0;
 +      left: 0.0625rem;
 +      bottom: -($triangle-size - 0.0625rem);
 +    }
 +  }
 +}
 +
  .ns-popover-tooltip-theme {
    box-sizing: border-box;
    z-index: 100;
    background-color: transparent;
 -  &.ns-popover-center-align {
 -    width: 0;
 -    height: 0;
 -    border-style: none solid solid solid;
 -    border-width: 0 0.3125rem 0.3125rem 0.3125rem;
 -    border-color: #fff transparent transparent transparent;
 +  .ns-popover-tooltip {
 +    box-sizing: border-box;
 +    border: solid 1px #d2d2d2;
 +    border-radius: 3px;
 +    z-index: 100;
 +    background-color: #fff;
 +    padding: 0.5625rem 0.875rem;
 +    max-width: 20rem;
 +    font-size: 0.875rem;
 +    -webkit-box-shadow: 0 0.3125rem 0.625rem rgba(0,0,0,0.2);
 +       -moz-box-shadow: 0 0.3125rem 0.625rem rgba(0,0,0,0.2);
 +            box-shadow: 0 0.3125rem 0.625rem rgba(0,0,0,0.2);
 +    margin: $popover-triangle-size - 0.0625rem;
 +  }
 +
 +  &.ns-popover-bottom-placement {
 +    .triangle {
 +      @include triangle("bottom");
 +    }
 +  }
 +
 +  &.ns-popover-top-placement {
 +    .triangle {
 +      @include triangle("top");
 +    }
 +  }
 +
 +  &.ns-popover-right-placement {
 +    .triangle {
 +      @include triangle("right");
 +    }
 +  }
 +
 +  &.ns-popover-left-placement {
 +    .triangle {
 +      @include triangle("left");
 +    }
    }
  }
\ No newline at end of file | 
