_graph.sass 8.1 KB
Newer Older
arturo's avatar
arturo committed
1 2
.graph-layout
  position: relative
arturo's avatar
arturo committed
3
  z-index: 0 // new stacking context "graph"
arturo's avatar
arturo committed
4 5
  width: 100%
  height: $layout-height
6

arturo's avatar
arturo committed
7 8 9 10 11
  &__frame
    @include fit-positions

    position: absolute
    display: flex
arturo's avatar
arturo committed
12
    z-index: z-index('graph', 'frame')
arturo's avatar
arturo committed
13
    width: 100%
arturo's avatar
arturo committed
14
    height: $sidebar-height
arturo's avatar
arturo committed
15 16
    justify-content: flex-end
    pointer-events: none
arturo's avatar
arturo committed
17 18

    @include right-handed
arturo's avatar
arturo committed
19
      flex-direction: row
arturo's avatar
arturo committed
20
    @include left-handed
arturo's avatar
arturo committed
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
      flex-direction: row-reverse

  &__sidebar
    width: $sidebar-width
    height: inherit
    flex-grow: 0
    pointer-events: all

    &__inner
      position: fixed
      height: inherit
      width: inherit

      @include right-handed
        border-left: 1px solid $border-color
      @include left-handed
        border-right: 1px solid $border-color

  &__focus
    flex-grow: 1
    pointer-events: all
    position: relative
arturo's avatar
arturo committed
43 44 45
    // (?) last resort solution to have a fixed scrollable child, with
    //     its dimension relative to its parent
    //     (flaw: no overflow)
arturo's avatar
arturo committed
46
    // contain: layout
arturo's avatar
arturo committed
47 48 49 50 51 52 53

    &__inner
      @include fit-positions

      position: absolute
      background-color: $body-bg

arturo's avatar
arturo committed
54 55
  &__toolbar
    position: absolute
arturo's avatar
arturo committed
56
    z-index: z-index('graph', 'toolbar')
arturo's avatar
arturo committed
57
    background-color: $body-bg
58
    // width: 100%
arturo's avatar
arturo committed
59 60 61 62
    border-bottom: 1px solid $border-color

    .b-fieldset
      background-color: $body-bg
63 64 65 66 67 68 69 70 71 72
      // flex-grow: 1

      button
        .b-icon
          $button-icon-margin: 0.4em

          @include right-handed
            margin-right: $button-icon-margin
          @include left-handed
            margin-left: $button-icon-margin
arturo's avatar
arturo committed
73

arturo's avatar
arturo committed
74 75


arturo's avatar
arturo committed
76 77 78 79 80 81
  &__content
    width: 100%
    height: 100%


/////////////////////////////////////////////
82 83 84

.graph-topbar
  @include aside-topbar
arturo's avatar
arturo committed
85 86

  display: flex
87
  // padding: $grah-topbar-item-margin $topbar-item-margin $grah-topbar-item-margin 0
arturo's avatar
arturo committed
88 89 90

  &__toolbar,
  &__sidebar
91 92 93
    // width: $topbar-fixed-button-width
    margin-top: $topbar-item-margin
    margin-bottom: $topbar-item-margin
arturo's avatar
arturo committed
94 95
    margin-left: $topbar-item-margin
    margin-right: $topbar-item-margin
96 97
    padding-left: $topbar-item-margin
    padding-right: $topbar-item-margin
arturo's avatar
arturo committed
98 99 100

  &__search
    width: $topbar-input-width
101 102
    margin-top: $topbar-item-margin
    margin-bottom: $topbar-item-margin
arturo's avatar
arturo committed
103 104 105 106 107
    margin-left: $topbar-item-margin
    margin-right: $topbar-item-margin

    [type="submit"]
      display: none
108 109 110 111 112
    
    .form-control
      height: 2rem
      padding-top: 0
      padding-bottom: 0
arturo's avatar
arturo committed
113

arturo's avatar
arturo committed
114 115 116 117 118 119
/////////////////////////////////////////////

.graph-doc-focus
  @include term-window

  &__header
120
    // avoid overlap with document side controls
arturo's avatar
arturo committed
121
    @include right-handed
122
      margin-left: space-x(4)
arturo's avatar
arturo committed
123
    @include left-handed
124
      margin-right: space-x(4)
arturo's avatar
arturo committed
125

126 127 128 129
  // remove document header top spacing due to the already presence of
  // the inner column top teaser
  .document-layout__header
    padding-top: initial
arturo's avatar
arturo committed
130 131 132 133

/////////////////////////////////////////////

.graph-sidebar
arturo's avatar
arturo committed
134
  @include term-window
arturo's avatar
arturo committed
135 136 137 138

  $margin-x: $sidebar-tab-margin-x
  $margin-y: space-x(2)

139 140 141 142 143
  &__close
    position: absolute
    right: 0
    margin-right: space-x(3)

arturo's avatar
arturo committed
144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164
  &__legend-tab
    padding: $margin-y $margin-x

  &__data-tab
    padding: $margin-y $margin-x

  &__community-tab
    padding: $margin-y $margin-x

  &__separator
    margin-top: $margin-y
    margin-bottom: $margin-y
    color: $gray-500
    text-align: center


.graph-legend
  $legend-code-width: 24px
  $legend-code-height: 12px

  &__item
arturo's avatar
arturo committed
165 166
    display: flex
    align-items: baseline
arturo's avatar
arturo committed
167
    list-style: none
arturo's avatar
arturo committed
168 169 170 171 172 173 174 175 176 177
    position: relative

    &:not(:first-child)
      margin-top: space-x(3)

  &__title
    color: $gray-800
    font-size: 15px
    font-weight: bold
    margin-bottom: space-x(0.25)
arturo's avatar
arturo committed
178 179 180 181 182 183 184 185

  &__code
    width: $legend-code-width
    height: $legend-code-height
    display: inline-block
    margin-right: space-x(2.5)
    border: 1px solid $gray-500

arturo's avatar
arturo committed
186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211

.graph-legend-nodes

  &__item
    display: inline-block

    &:first-child
      margin-top: space-x(0.75)

    &:not(:last-child)
      margin-bottom: space-x(0.5)
      margin-right: space-x(0.5)

    &--count
      color: $gray-800
      font-size: 12px
      font-weight: bold


  &__badge
    font-size: 13px
    white-space: normal
    word-break: break-word

    &--selected
      background-color: darken($light, 10%) // from Bootstrap "_badge.scss"
arturo's avatar
arturo committed
212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235


.graph-documentation

  &__text-section
    margin-bottom: space-x(3)
    font-size: 15px
    line-height: 1.5

    p
      margin-bottom: space-x(1)

    li
      list-style-type: circle
      padding-left: space-x(0.5)
      margin-left: space-x(3)
      line-height: 1.4

      &:not(:last-child)
        margin-bottom: space-x(1.5)


.graph-selected-nodes

236 237 238 239 240
  &__list
    display: flex
    gap: space-x(0.5)
    flex-wrap: wrap
    padding-right: space-x(4)
arturo's avatar
arturo committed
241 242 243 244 245 246

  &__badge
    font-size: $font-size-base
    white-space: normal
    word-break: break-word

arturo's avatar
arturo committed
247 248 249 250
  &__expand
    // Following <list-group-item> spacing
    $position-x: $list-group-item-padding-x
    // Empirical: fit well with icon overlay
251
    $position-y: 0.75rem
arturo's avatar
arturo committed
252

arturo's avatar
arturo committed
253 254
    position: absolute
    right: $position-x
255
    top: $position-y
arturo's avatar
arturo committed
256

arturo's avatar
arturo committed
257 258 259 260
  &__actions

    .b-button-group
      width: 100%
arturo's avatar
arturo committed
261
    .b-button
arturo's avatar
arturo committed
262
      width: 50%
arturo's avatar
arturo committed
263 264 265 266


.graph-neighborhood

267 268 269 270 271
  &__parent
    display: flex
    list-style: none
    flex-wrap: wrap

arturo's avatar
arturo committed
272 273 274
  &__counter
    font-weight: bold

arturo's avatar
arturo committed
275 276 277 278
  &__expand
    // Following <list-group-item> spacing
    $position-x: $list-group-item-padding-x
    // Empirical: fit well with icon overlay
279
    $position-y: 0.75rem
arturo's avatar
arturo committed
280 281 282

    position: absolute
    right: $position-x
283
    top: $position-y
arturo's avatar
arturo committed
284

arturo's avatar
arturo committed
285
  &__badge
286 287 288
    border: 1px solid
    border-radius: space-x(0.75)

arturo's avatar
arturo committed
289 290 291
    white-space: normal
    word-break: break-word

292 293 294 295
    // Show on one line
    margin-right: space-x(0.75)
    margin-bottom: space-x(0.75)

arturo's avatar
arturo committed
296
    &:not(:last-child)
297
      //margin-bottom: space-x(0.75)
arturo's avatar
arturo committed
298

299 300 301 302 303 304
    .badge
      // reduce bootstrap padding due to a vertical asymmetry (empirical)
      $padding-top: 0.15em

      padding-top: $padding-top

305 306 307
      color: inherit
      background-color: rgba(0, 0, 0, 0)

arturo's avatar
arturo committed
308 309 310 311
  &__show-more
    margin-top: space-x(2)


arturo's avatar
arturo committed
312 313 314 315 316 317 318 319 320 321 322 323
.graph-doc-list

  &__item
    @include clickable

    display: flex
    align-items: flex-start
    transition: $transition-base

    &:hover
      background-color: $gray-50

arturo's avatar
arturo committed
324
    &--selected::before
arturo's avatar
arturo committed
325 326
      @include fit-positions

arturo's avatar
arturo committed
327 328 329 330 331 332 333 334 335 336 337 338
      content: ""
      position: absolute
      z-index: 1
      width: 2px
      background-color: $info

    // (following list group item border radius)
    &--selected:first-child::before
      border-top-left-radius: $list-group-border-radius
    &--selected:last-child::before
      border-bottom-left-radius: $list-group-border-radius

arturo's avatar
arturo committed
339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357
    &__main
      flex-grow: 1
      padding-right: $card-spacer-x

    &__title,
    &__source,
    &__date
      line-height: 1.3
      margin-bottom: space-x(0.5)

    &__source
      font-size: 15px
      color: $gray-700

    &__date
      font-size: 14px
      color: $gray-600


arturo's avatar
arturo committed
358 359 360 361 362 363 364 365 366 367 368 369 370
.graph-contact-list

  &__item

    &__title,
    &__subtitle
      line-height: 1.3
      margin-bottom: space-x(0.25)

    &__subtitle
      font-size: 15px
      color: $gray-700

arturo's avatar
arturo committed
371

arturo's avatar
arturo committed
372 373 374 375 376 377 378 379 380
/////////////////////////////////////////////

.graph-toolbar
  $self: &
  $section-margin: space-x(2)
  $item-margin: space-x(1)

  display: flex
  padding: #{ $section-margin / 2 }
381
  padding-top: $section-margin
arturo's avatar
arturo committed
382 383 384 385 386 387

  &__gap
    width: $item-margin
    display: inline-block

  &__section
388
    margin: #{ $section-margin / 4 }
arturo's avatar
arturo committed
389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412

    // Selection settings
    &--selection

      .b-fieldset__content
        display: flex

      #{ $self }__gap
        width: #{ $item-margin * 2 }

      .range-simple
        flex-grow: 1

    // Controls
    &--controls

      .b-fieldset__content
        position: relative

      #{ $self }__gap
        width: #{ $item-margin * 2 }

      .range-control,
      .range-simple
arturo's avatar
arturo committed
413 414
        // flex-basis: calc(50% - #{ $item-margin * 2 })
        flex-basis: 100%
415 416 417 418 419 420 421 422
        min-width: 150px
  
  &__region_advanced
    .btn-advanced.collapsed .b-icon
      transform: rotate(180)
      


arturo's avatar
arturo committed
423 424 425 426 427 428 429 430 431 432


// Atlas button animation
.on-running-animation .b-icon
  animation-name: pulse
  animation-duration: 0.5s
  animation-timing-function: ease
  animation-direction: alternate
  animation-iteration-count: infinite
  animation-play-state: running