// LMS -- views -- student notes // ==================== // in this document: // -------------------- // +notes // +base // ++header +and search // +local variables/utilities // +individual group of notes // +tabbed views // +search - no results // +search - error // +case - no notes made // +notes: // -------------------- // * this Sass partial contains all of the styling needed for the student notes listing view. // * for other notes styling referenced here, see the Sass partial contains the in-line student notes UI. // +local variables/utilities: // -------------------- $divider-visual-primary: ($baseline/5) solid $gray-l4; $divider-visual-secondary: ($baseline/10) solid $gray-l4; $divider-visual-tertiary: ($baseline/20) solid $gray-l4; %notes-tab-control { @include transition(none); @extend %shame-link-base; display: inline-block; vertical-align: middle; border-bottom: ($baseline/5) solid $transparent; } .view-student-notes { // +base: // -------------------- .wrapper-student-notes { @include clearfix(); padding-bottom: $baseline; .student-notes { @include clearfix(); @extend .content; // needed extend carried over from course handouts UI, but should be cleaned up width: 100%; } } // +header +and search: // -------------------- .title-search-container { @include clearfix(); margin-bottom: $baseline; .wrapper-title { @include float(left); width: flex-grid(7,12); .page-title { @extend %t-title4; @extend %t-weight1; margin-bottom: 0; .page-subtitle { @extend %t-title7; @extend %t-weight2; display: block; margin-top: ($baseline/4); color: $gray-l1; letter-spacing: 0; } } } .wrapper-notes-search { @include float(right); width: flex-grid(5,12); @include text-align(right); } .search-notes-input, .search-notes-submit { display: inline-block; vertical-align: middle; } .search-notes-input { @extend %t-demi-strong; position: relative; @include right(-6px); // manually positioning input right next to submit width: 55%; padding: ($baseline/2) ($baseline*0.75); color: $gray-d3; } .search-notes-submit { @extend %btn-inherited-primary; @extend %t-action2; padding: 8px $baseline 9px $baseline; // manually syncing up height with search input } } // +individual group of notes // -------------------- .note-group { border-top: $divider-visual-primary; margin: 0; padding-top: ($baseline*1.5); // course structure labels .course-title, .tags-title { @extend %t-title6; @extend %t-weight4; margin: 0 0 ($baseline/2) 0; color: $gray-d3; } .course-subtitle { @extend %t-title7; @extend %t-weight4; margin: 0 0 ($baseline/4) 0; border-bottom: $divider-visual-tertiary; padding-bottom: ($baseline/2); color: $gray-d3; } .tags-title { border-bottom: $divider-visual-tertiary; padding-bottom: ($baseline/2); } // individual note .note { @include clearfix(); margin: ($baseline*1.5) 0; .wrapper-note-excerpts { @include transition(box-shadow $tmg-avg ease-in-out 0, border-color $tmg-avg ease-in-out 0); display: inline-block; width: flex-grid(9, 12); border: 1px solid $gray-l5; border-radius: ($baseline/10); // note - highlighted content .note-excerpt { @include transition(background-color $tmg-avg ease-in-out 0); padding: $baseline; background: $student-notes-highlight-color; .note-excerpt-p, .note-excerpt-ul, .note-excerpt-ol { @extend %t-copy-base; } } .note-excerpt-more-link { @extend %t-copy-sub1; @extend %t-weight2; @extend %shame-link-text; display: inline; @include margin-left($baseline/4); } // note - comment made on highlighted content .note-comments { @extend %ui-no-list; border-top: ($baseline/5) solid $student-notes-highlight-color-focus; .note-comment { @include transition(color $tmg-avg ease-in-out 0); padding: ($baseline*0.75) $baseline; color: $gray; .note-comment-title { @extend %t-title8; letter-spacing: ($baseline/20); margin: 0 0 ($baseline/4) 0; color: $gray-l2; } .note-comment-p, .note-comment-ul, .note-comment-ol { @extend %t-copy-sub1; @extend %t-weight2; padding: 0; margin: 0; background: transparent; } .note-comment-p { word-wrap: break-word; } .note-comment-ul, .note-comment-ol { padding: auto; margin: auto; } // CASE: when a comment has a term that matches a notes search query .note-highlight { background-color: $result-highlight-color-base; } } } } // note reference .reference { @extend %t-copy-sub1; display: inline-block; width: flex-grid(3, 12); vertical-align: top; .wrapper-reference-content { padding: 0 $baseline; color: $gray-l2; .reference-title { @extend %t-title8; @extend %t-weight3; margin-top: ($baseline/2); text-transform: uppercase; letter-spacing: ($baseline/20); color: $gray-l2; // CASE: first reference title of a note &:first-child { margin-top: 0; } } .reference-meta { @extend %t-weight2; color: $m-gray-d2; } .reference-meta.reference-tags { word-wrap: break-word; // CASE: tag matches a search query .note-highlight { background-color: $result-highlight-color-base; } } // Put commas between tags. span.reference-meta.reference-tags:after { content: ","; color: $m-gray-d2; } // But not after the last tag. span.reference-meta.reference-tags:last-child:after { content: ""; } // needed for poor base LMS styling scope a.reference-meta { @extend %shame-link-text; } } } // STATE: hover/focus &:hover, &:focus { .wrapper-note-excerpts { box-shadow: 0 2px 0 1px $shadow-l2; border-color: $gray-l4; } .note-excerpt { background: $student-notes-highlight-color-focus; } .note-comment { color: $gray-d2; } } } } // +tabbed views // -------------------- .wrapper-tabs { .tab-panel, .inline-error, .ui-loading { @extend %no-outline; border-top: $divider-visual-primary; .listing-tools { @include margin($baseline $baseline (-$baseline/2) 0); } .note-group:first-of-type { border-top: none; } } .tab-panel.note-group { padding-top: 0; } .inline-error { margin: ($baseline/2) 0; border-bottom: 1px solid $red; padding: 0 0 ($baseline/2) 0; color: $red; } .tab-list { @include clearfix(); position: relative; top: ($baseline/5); .tabs-label, .tabs { display: inline-block; vertical-align: middle; } .tabs-label { @extend %hd-lv5; margin-bottom: 0; padding: ($baseline*0.75) 0; @include padding-right($baseline); color: $gray-l2; font-weight: $font-semibold !important; // needed for poor base LMS styling scope } .tabs { @include clearfix(); @extend %ui-no-list; position: relative; bottom: -($baseline/4); } .tab { position: relative; display: inline; .tab-label { @extend %notes-tab-control; padding: ($baseline/2) ($baseline*0.75); text-align: center; .icon { @include margin-right($baseline/10); } } // STATE: active/current tab being viewed &.is-active { .tab-label { border-bottom-color: $gray-d3; color: $gray-d3; } // CASE: tab-label can be closed .action-close { border-bottom: ($baseline/5) solid $gray-d3; } } // CASE: tab-label can be closed .action-close { @extend %notes-tab-control; position: relative; @include left(-($baseline*0.75)); padding: ($baseline/2); } } } } // +search - no results // -------------------- // NOTE: not a lot of elements/classes to reference in this DOM #no-results-panel { p { @extend %t-copy-lead1; margin: ($baseline*1.5) 0; } } // +search - error // -------------------- .wrapper-msg { margin-bottom: $baseline; } // +case - no notes made // -------------------- .placeholder { background: $gray-l5; border-top: ($baseline/4) solid $active-color; padding: ($baseline*1.5); } .placeholder-title { @extend %hd-lv3; margin-bottom: $baseline; text-transform: none; // reset needed for poor h2 element styling letter-spacing: 0; // reset needed for poor h2 element styling } .placeholder-copy { @extend %t-copy-sub1; ul { @extend %ui-no-list; li { @extend %wipe-last-child; display: block; margin-bottom: ($baseline/2); } } p, ul { margin-bottom: $baseline; } } .placeholder-cta-copy { @extend %t-strong; a { @extend %t-strong; } } }