$type-icons: (object-literal), (class), ("class.tsd-has-type-parameter"), (interface), ("interface.tsd-has-type-parameter"), (namespace, module), (enum), (enum-member), (signature), (type-alias), ("type-alias.tsd-has-type-parameter"); $member-icons: (variable, property), (get-signature), (set-signature), (accessor), (function, method, call-signature), ("function.tsd-has-type-parameter", "method.tsd-has-type-parameter"), (constructor, constructor-signature), (index-signature), (event), (property), (function, method, call-signature), (event); // parameter // type-literal // type-parameter .tsd-kind-icon { display: block; position: relative; padding-left: 20px; text-indent: -20px; &:before { content: ""; display: inline-block; vertical-align: middle; width: 17px; height: 17px; margin: 0 3px 2px 0; background-image: url(../../images/icons.png); @include retina { background-image: url(../../images/icons@2x.png); background-size: 238px 204px; } } } .tsd-signature.tsd-kind-icon:before { background-position: 0 -153px; } $icon-size: 17px; $type: -0 * $icon-size; $type-protected: -1 * $icon-size; $type-private: -2 * $icon-size; $member-class-public: -3 * $icon-size; $member-class-public-inherited: -4 * $icon-size; $member-class-protected: -5 * $icon-size; $member-class-protected-inherited: -6 * $icon-size; $member-private: -7 * $icon-size; $member: -8 * $icon-size; $member-protected: -9 * $icon-size; $member-enum: -10 * $icon-size; $member-enum-protected: -11 * $icon-size; $member-interface: -12 * $icon-size; $member-interface-inherited: -13 * $icon-size; @for $index from 1 through length($type-icons) { @each $kind in nth($type-icons, $index) { $selector: ".tsd-kind-" + $kind; $offset: -#{17 * ($index)}px; #{$selector} { > .tsd-kind-icon:before { background-position: $type $offset; } &.tsd-is-protected > .tsd-kind-icon:before { background-position: $type-protected $offset; } &.tsd-is-private > .tsd-kind-icon:before { background-position: $type-private $offset; } } } } @for $index from 1 through length($member-icons) { @each $kind in nth($member-icons, $index) { $offset: -#{17 * ($index - 1)}px; $selector: ".tsd-kind-" + $kind; @if $index == 10 { $selector: ".tsd-is-static"; } @else if $index > 10 { $selector: ".tsd-is-static.tsd-kind-" + $kind; } #{$selector} { > .tsd-kind-icon:before { background-position: $member $offset; } &.tsd-is-protected > .tsd-kind-icon:before { background-position: $member-protected $offset; } &.tsd-is-private > .tsd-kind-icon:before { background-position: $member-private $offset; } &.tsd-parent-kind-class { > .tsd-kind-icon:before { background-position: $member-class-public $offset; } &.tsd-is-inherited > .tsd-kind-icon:before { background-position: $member-class-public-inherited $offset; } &.tsd-is-protected > .tsd-kind-icon:before { background-position: $member-class-protected $offset; } &.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { background-position: $member-class-protected-inherited $offset; } &.tsd-is-private > .tsd-kind-icon:before { background-position: $member-private $offset; } } &.tsd-parent-kind-enum { > .tsd-kind-icon:before { background-position: $member-enum $offset; } &.tsd-is-protected > .tsd-kind-icon:before { background-position: $member-enum-protected $offset; } &.tsd-is-private > .tsd-kind-icon:before { background-position: $member-private $offset; } } &.tsd-parent-kind-interface { > .tsd-kind-icon:before { background-position: $member-interface $offset; } &.tsd-is-inherited > .tsd-kind-icon:before { background-position: $member-interface-inherited $offset; } } } } }