@brightspace-ui/core 3.267.3 → 3.268.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/components/collapsible-panel/README.md +11 -15
  2. package/components/demo/code-view.js +6 -10
  3. package/components/demo/demo-page-settings.js +25 -29
  4. package/components/demo/demo-page.js +32 -36
  5. package/components/demo/demo-snippet.js +95 -99
  6. package/components/description-list/README.md +25 -33
  7. package/components/description-list/demo/description-list-test.js +36 -39
  8. package/components/dialog/README.md +3 -5
  9. package/components/form/docs/form-element-mixin.md +11 -14
  10. package/components/form/docs/form-element-nesting.md +4 -6
  11. package/components/form/docs/form-element-wrapping.md +1 -3
  12. package/components/hierarchical-view/README.md +8 -11
  13. package/components/inputs/docs/input-select-styles.md +4 -9
  14. package/components/inputs/docs/styling-native-inputs.md +11 -25
  15. package/components/inputs/input-select-styles.js +30 -25
  16. package/components/link/README.md +1 -1
  17. package/components/list/README.md +8 -16
  18. package/components/menu/menu-item-checkbox.js +1 -3
  19. package/components/menu/menu-item-link.js +27 -33
  20. package/components/menu/menu-item-mixin.js +52 -54
  21. package/components/menu/menu-item-radio.js +1 -3
  22. package/components/menu/menu-item-return.js +18 -22
  23. package/components/menu/menu-item-selectable-mixin.js +12 -14
  24. package/components/menu/menu-item-separator.js +9 -11
  25. package/components/menu/menu-item.js +11 -15
  26. package/components/menu/menu.js +50 -54
  27. package/components/meter/meter-circle.js +3 -4
  28. package/components/meter/meter-linear.js +86 -88
  29. package/components/meter/meter-mixin.js +34 -36
  30. package/components/meter/meter-radial.js +3 -4
  31. package/components/more-less/more-less.js +57 -61
  32. package/components/object-property-list/object-property-list-item-link.js +18 -19
  33. package/components/object-property-list/object-property-list-item-tooltip-help.js +8 -9
  34. package/components/object-property-list/object-property-list-item.js +52 -55
  35. package/components/object-property-list/object-property-list.js +24 -27
  36. package/components/offscreen/README.md +1 -1
  37. package/components/offscreen/offscreen.js +13 -15
  38. package/components/offscreen/screen-reader-pause.js +1 -3
  39. package/components/overflow-group/README.md +1 -3
  40. package/components/overflow-group/overflow-group-mixin.js +55 -59
  41. package/components/overflow-group/overflow-group.js +38 -42
  42. package/components/page/page-header-button.js +41 -45
  43. package/components/page/page-header-custom.js +108 -112
  44. package/components/page/page-header-immersive.js +65 -69
  45. package/components/page/page-header-separator.js +12 -14
  46. package/components/paging/pageable-mixin.js +3 -5
  47. package/components/paging/pageable-subscriber-mixin.js +8 -10
  48. package/components/paging/pager-load-more.js +47 -51
  49. package/components/popover/popover-mixin.js +186 -190
  50. package/components/progress/progress.js +160 -164
  51. package/components/scroll-wrapper/scroll-wrapper.js +109 -113
  52. package/components/selection/README.md +5 -7
  53. package/components/selection/demo/demo-selection.js +5 -7
  54. package/components/selection/selection-action-dropdown.js +9 -13
  55. package/components/selection/selection-action-menu-item.js +11 -15
  56. package/components/selection/selection-action.js +20 -24
  57. package/components/selection/selection-controls.js +92 -96
  58. package/components/selection/selection-input.js +40 -44
  59. package/components/selection/selection-mixin.js +11 -13
  60. package/components/selection/selection-observer-mixin.js +14 -16
  61. package/components/selection/selection-select-all-pages.js +8 -10
  62. package/components/selection/selection-select-all.js +16 -20
  63. package/components/selection/selection-summary.js +18 -22
  64. package/components/skeleton/README.md +2 -6
  65. package/components/skeleton/skeleton-group-mixin.js +3 -5
  66. package/components/skeleton/skeleton-mixin.js +7 -9
  67. package/components/skip-nav/skip-nav-custom.js +33 -37
  68. package/components/sorting/sort.js +11 -13
  69. package/components/status-indicator/status-indicator.js +75 -79
  70. package/components/switch/switch-mixin.js +145 -149
  71. package/components/switch/switch-visibility.js +11 -15
  72. package/components/switch/switch.js +5 -7
  73. package/components/table/README.md +19 -37
  74. package/components/table/demo/table-test.js +27 -31
  75. package/components/table/table-col-sort-button-item.js +1 -3
  76. package/components/table/table-col-sort-button.js +105 -109
  77. package/components/table/table-controls.js +18 -21
  78. package/components/table/table-wrapper.js +124 -128
  79. package/components/tabs/tab-internal.js +72 -76
  80. package/components/tabs/tab-mixin.js +22 -24
  81. package/components/tabs/tab-panel-mixin.js +47 -51
  82. package/components/tabs/tab.js +7 -9
  83. package/components/tabs/tabs.js +171 -175
  84. package/components/tag-list/tag-list-item-mixin.js +103 -107
  85. package/components/tag-list/tag-list-item.js +13 -15
  86. package/components/tag-list/tag-list.js +54 -58
  87. package/components/tooltip/tooltip-help.js +67 -71
  88. package/components/tooltip/tooltip.js +103 -107
  89. package/components/typography/README.md +5 -7
  90. package/components/validation/validation-custom-mixin.js +4 -6
  91. package/components/view-switcher/view-switcher-button.js +42 -46
  92. package/components/view-switcher/view-switcher.js +26 -29
  93. package/controllers/subscriber/README.md +7 -11
  94. package/custom-elements.json +1026 -3850
  95. package/helpers/focus.js +5 -1
  96. package/mixins/arrow-keys/arrow-keys-mixin.js +10 -12
  97. package/mixins/async-container/async-container-mixin.js +10 -12
  98. package/mixins/collection/collection-mixin.js +7 -9
  99. package/mixins/interactive/interactive-mixin.js +10 -14
  100. package/mixins/labelled/README.md +3 -5
  101. package/mixins/labelled/labelled-mixin.js +26 -30
  102. package/mixins/provider/README.md +5 -7
  103. package/mixins/rtl/README.md +5 -7
  104. package/mixins/rtl/rtl-mixin.js +7 -9
  105. package/mixins/theme/theme-mixin.js +6 -8
  106. package/mixins/visible-on-ancestor/README.md +1 -3
  107. package/mixins/visible-on-ancestor/visible-on-ancestor-mixin.js +11 -13
  108. package/package.json +1 -1
  109. package/templates/primary-secondary/primary-secondary.js +373 -377
@@ -554,431 +554,427 @@ class MobileTouchResizer extends Resizer {
554
554
  */
555
555
  class TemplatePrimarySecondary extends LocalizeCoreElement(LitElement) {
556
556
 
557
- static get properties() {
558
- return {
559
- /**
560
- * Controls whether the primary and secondary panels have shaded backgrounds
561
- * @type {'primary'|'secondary'|'none'}
562
- */
563
- backgroundShading: { type: String, attribute: 'background-shading' },
564
- /**
565
- * Controls how the primary panel's contents overflow
566
- * @type {'default'|'hidden'}
567
- */
568
- primaryOverflow: { attribute: 'primary-overflow', reflect: true, type: String },
569
- /**
570
- * Whether the panels are user resizable. This only applies to desktop users,
571
- * mobile users will always be able to resize.
572
- * @type {boolean}
573
- */
574
- resizable: { type: Boolean, reflect: true },
575
- /**
576
- * When set to true, the secondary panel will be displayed on the left (or the
577
- * right in RTL) in the desktop view. This attribute has no effect on the mobile view.
578
- * @type {boolean}
579
- */
580
- secondaryFirst: { type: Boolean, attribute: 'secondary-first', reflect: true },
581
- /**
582
- * The key used to persist the divider's position to local storage. This key
583
- * should not be shared between pages so that users can save different divider
584
- * positions on different pages. If no key is provided, the template will fall
585
- * back its default size.
586
- * @type {string}
587
- */
588
- storageKey: { type: String, attribute: 'storage-key' },
589
- /**
590
- * Whether content fills the screen or not
591
- * @type {'fullscreen'|'normal'}
592
- */
593
- widthType: { type: String, attribute: 'width-type', reflect: true },
594
- /**
595
- * Whether to render an encompassing form over all panels
596
- * @type {boolean}
597
- */
598
- hasForm: { type: Boolean, attribute: 'has-form' },
599
- _formErrorSummary: { type: Array },
600
- _hasFooter: { type: Boolean, attribute: false },
601
- _isCollapsed: { type: Boolean, attribute: false },
602
- _isExpanded: { type: Boolean, attribute: false },
603
- _isMobile: { type: Boolean, attribute: false },
604
- _size: { type: Number, attribute: false },
605
- _sizeAsPercent: { state: true }
606
- };
607
- }
557
+ static properties = {
558
+ /**
559
+ * Controls whether the primary and secondary panels have shaded backgrounds
560
+ * @type {'primary'|'secondary'|'none'}
561
+ */
562
+ backgroundShading: { type: String, attribute: 'background-shading' },
563
+ /**
564
+ * Controls how the primary panel's contents overflow
565
+ * @type {'default'|'hidden'}
566
+ */
567
+ primaryOverflow: { attribute: 'primary-overflow', reflect: true, type: String },
568
+ /**
569
+ * Whether the panels are user resizable. This only applies to desktop users,
570
+ * mobile users will always be able to resize.
571
+ * @type {boolean}
572
+ */
573
+ resizable: { type: Boolean, reflect: true },
574
+ /**
575
+ * When set to true, the secondary panel will be displayed on the left (or the
576
+ * right in RTL) in the desktop view. This attribute has no effect on the mobile view.
577
+ * @type {boolean}
578
+ */
579
+ secondaryFirst: { type: Boolean, attribute: 'secondary-first', reflect: true },
580
+ /**
581
+ * The key used to persist the divider's position to local storage. This key
582
+ * should not be shared between pages so that users can save different divider
583
+ * positions on different pages. If no key is provided, the template will fall
584
+ * back its default size.
585
+ * @type {string}
586
+ */
587
+ storageKey: { type: String, attribute: 'storage-key' },
588
+ /**
589
+ * Whether content fills the screen or not
590
+ * @type {'fullscreen'|'normal'}
591
+ */
592
+ widthType: { type: String, attribute: 'width-type', reflect: true },
593
+ /**
594
+ * Whether to render an encompassing form over all panels
595
+ * @type {boolean}
596
+ */
597
+ hasForm: { type: Boolean, attribute: 'has-form' },
598
+ _formErrorSummary: { type: Array },
599
+ _hasFooter: { type: Boolean, attribute: false },
600
+ _isCollapsed: { type: Boolean, attribute: false },
601
+ _isExpanded: { type: Boolean, attribute: false },
602
+ _isMobile: { type: Boolean, attribute: false },
603
+ _size: { type: Number, attribute: false },
604
+ _sizeAsPercent: { state: true }
605
+ };
606
+
607
+ static styles = css`
608
+ :host,
609
+ :host > d2l-form {
610
+ bottom: 0;
611
+ left: 0;
612
+ overflow: hidden;
613
+ position: absolute;
614
+ right: 0;
615
+ top: 0;
616
+ }
608
617
 
609
- static get styles() {
610
- return css`
611
- :host,
612
- :host > d2l-form {
613
- bottom: 0;
614
- left: 0;
615
- overflow: hidden;
616
- position: absolute;
617
- right: 0;
618
- top: 0;
619
- }
618
+ :host([hidden]) {
619
+ display: none;
620
+ }
621
+ :host([width-type="normal"]) .d2l-template-primary-secondary-content,
622
+ :host([width-type="normal"]) .d2l-template-primary-secondary-footer {
623
+ margin: 0 auto;
624
+ max-width: 1230px;
625
+ width: 100%;
626
+ }
627
+ .d2l-template-primary-secondary-container {
628
+ display: flex;
629
+ flex-direction: column;
630
+ height: 100%;
631
+ width: 100%;
632
+ }
633
+ .d2l-template-primary-secondary-content {
634
+ display: flex;
635
+ height: 100%;
636
+ overflow: hidden;
637
+ }
620
638
 
621
- :host([hidden]) {
622
- display: none;
623
- }
624
- :host([width-type="normal"]) .d2l-template-primary-secondary-content,
625
- :host([width-type="normal"]) .d2l-template-primary-secondary-footer {
626
- margin: 0 auto;
627
- max-width: 1230px;
628
- width: 100%;
629
- }
630
- .d2l-template-primary-secondary-container {
631
- display: flex;
632
- flex-direction: column;
633
- height: 100%;
634
- width: 100%;
635
- }
636
- .d2l-template-primary-secondary-content {
637
- display: flex;
638
- height: 100%;
639
- overflow: hidden;
640
- }
639
+ main {
640
+ flex: 2 0 0;
641
+ overflow-x: hidden;
642
+ transition: none;
643
+ }
644
+ main d2l-form-error-summary {
645
+ margin-inline: var(--d2l-template-primary-secondary-form-error-inline-margin, 20px);
646
+ }
641
647
 
642
- main {
643
- flex: 2 0 0;
644
- overflow-x: hidden;
648
+ :host([resizable]) main {
649
+ flex: 1 0 0;
650
+ }
651
+ :host([primary-overflow="hidden"]) main {
652
+ overflow: hidden;
653
+ }
654
+ .d2l-template-primary-secondary-secondary-container {
655
+ flex: 1 0 0;
656
+ min-width: ${desktopMinSize}px;
657
+ overflow: hidden;
658
+ }
659
+ :host([resizable]) .d2l-template-primary-secondary-secondary-container {
660
+ flex: none;
661
+ min-width: 0;
662
+ }
663
+ [data-animate-resize] .d2l-template-primary-secondary-secondary-container {
664
+ transition: width 400ms cubic-bezier(0, 0.7, 0.5, 1), height 400ms cubic-bezier(0, 0.7, 0.5, 1);
665
+ }
666
+ .d2l-template-primary-secondary-divider-shadow {
667
+ display: none;
668
+ }
669
+ aside {
670
+ height: 100%;
671
+ min-width: ${desktopMinSize}px;
672
+ overflow-x: hidden;
673
+ overflow-y: scroll;
674
+ width: 100%;
675
+ }
676
+
677
+ /* prevent margin colapse on slotted children */
678
+ aside::before,
679
+ aside::after {
680
+ content: " ";
681
+ display: table;
682
+ }
683
+ [data-background-shading="primary"] > main,
684
+ [data-background-shading="secondary"] > .d2l-template-primary-secondary-secondary-container {
685
+ background-color: var(--d2l-color-gypsum);
686
+ }
687
+ :host([resizable]) [data-is-collapsed] aside {
688
+ visibility: hidden;
689
+ }
690
+ :host([resizable]:not([secondary-first])) aside {
691
+ float: inline-start;
692
+ }
693
+ .d2l-template-primary-secondary-divider,
694
+ .d2l-template-primary-secondary-divider-not-resizable {
695
+ background-color: var(--d2l-color-mica);
696
+ flex: none;
697
+ outline: none;
698
+ position: relative;
699
+ width: 1px;
700
+ z-index: 1;
701
+ }
702
+ .d2l-template-primary-secondary-divider-handle {
703
+ display: none;
704
+ position: absolute;
705
+ top: calc(50%);
706
+ width: 100%;
707
+ }
708
+ :host([resizable]) .d2l-template-primary-secondary-divider {
709
+ background-color: var(--d2l-color-gypsum);
710
+ cursor: ew-resize;
711
+ width: 0.45rem;
712
+ }
713
+ :host([resizable]) [data-is-expanded] .d2l-template-primary-secondary-divider {
714
+ cursor: var(--d2l-cursor-resize-inline-end, e-resize);
715
+ }
716
+ :host([resizable]) [data-is-collapsed] .d2l-template-primary-secondary-divider {
717
+ cursor: var(--d2l-cursor-resize-inline-start, w-resize);
718
+ }
719
+ :host([resizable]) .d2l-template-primary-secondary-divider-handle {
720
+ align-items: center;
721
+ display: flex;
722
+ justify-content: center;
723
+ }
724
+ :host([resizable]) [data-background-shading="secondary"] .d2l-template-primary-secondary-divider {
725
+ box-shadow: calc(1px * var(--d2l-length-factor, 1)) 0 0 0 rgba(0, 0, 0, 0.15);
726
+ }
727
+ :host([resizable]) [data-background-shading="primary"] .d2l-template-primary-secondary-divider {
728
+ box-shadow: calc(-1px * var(--d2l-length-factor, 1)) 0 0 0 rgba(0, 0, 0, 0.15);
729
+ }
730
+ .d2l-template-primary-secondary-divider-handle-desktop {
731
+ align-items: center;
732
+ display: flex;
733
+ justify-content: center;
734
+ position: absolute;
735
+ }
736
+ .d2l-template-primary-secondary-divider-handle-left,
737
+ .d2l-template-primary-secondary-divider-handle-right {
738
+ color: var(--d2l-color-celestine);
739
+ display: none;
740
+ position: absolute;
741
+ }
742
+ .d2l-template-primary-secondary-divider-handle-left {
743
+ inset-inline-start: -1rem;
744
+ }
745
+ .d2l-template-primary-secondary-divider-handle-right {
746
+ inset-inline-end: -1rem;
747
+ }
748
+ .d2l-template-primary-secondary-divider-handle-line {
749
+ display: flex;
750
+ height: 0.9rem;
751
+ justify-content: space-between;
752
+ width: 0.25rem;
753
+ }
754
+ .d2l-template-primary-secondary-divider-handle-line::before,
755
+ .d2l-template-primary-secondary-divider-handle-line::after {
756
+ background-color: var(--d2l-color-galena);
757
+ border-radius: 0.05rem;
758
+ content: "";
759
+ display: inline-block;
760
+ width: 0.1rem;
761
+ }
762
+ .d2l-template-primary-secondary-divider:${unsafeCSS(getFocusPseudoClass())} .d2l-template-primary-secondary-divider-handle-right,
763
+ .d2l-template-primary-secondary-divider:${unsafeCSS(getFocusPseudoClass())} .d2l-template-primary-secondary-divider-handle-left {
764
+ display: block;
765
+ }
766
+ :host(:not([secondary-first])) [data-is-expanded] .d2l-template-primary-secondary-divider-handle-left,
767
+ :host([secondary-first]) [data-is-expanded] .d2l-template-primary-secondary-divider-handle-right {
768
+ display: none;
769
+ }
770
+ d2l-icon {
771
+ display: none;
772
+ }
773
+
774
+ footer {
775
+ background-color: white;
776
+ box-shadow: 0 -2px 4px rgba(32, 33, 34, 0.2); /* ferrite */
777
+ padding: 0.75rem 1rem;
778
+ z-index: 1; /* ensures the footer box-shadow is over main areas with background colours set */
779
+ }
780
+ header {
781
+ z-index: 14; /* ensures the header box-shadow is over main areas with background colours set, and opt-in on top of sticky header */
782
+ }
783
+
784
+ :host([resizable]) .d2l-template-primary-secondary-divider:focus,
785
+ :host([resizable]) .d2l-template-primary-secondary-divider:hover {
786
+ background-color: var(--d2l-color-mica);
787
+ box-shadow: none;
788
+ }
789
+ :host([resizable]) .d2l-template-primary-secondary-divider:${unsafeCSS(getFocusPseudoClass())} {
790
+ background-color: var(--d2l-color-celestine);
791
+ }
792
+ .d2l-template-primary-secondary-divider:focus .d2l-template-primary-secondary-divider-handle-line::before,
793
+ .d2l-template-primary-secondary-divider:focus .d2l-template-primary-secondary-divider-handle-line::after,
794
+ .d2l-template-primary-secondary-divider:hover .d2l-template-primary-secondary-divider-handle-line::before,
795
+ .d2l-template-primary-secondary-divider:hover .d2l-template-primary-secondary-divider-handle-line::after {
796
+ background-color: var(--d2l-color-ferrite);
797
+ }
798
+ .d2l-template-primary-secondary-divider:${unsafeCSS(getFocusPseudoClass())} .d2l-template-primary-secondary-divider-handle-line::before,
799
+ .d2l-template-primary-secondary-divider:${unsafeCSS(getFocusPseudoClass())} .d2l-template-primary-secondary-divider-handle-line::after {
800
+ background-color: white;
801
+ }
802
+
803
+ .d2l-template-primary-secondary-divider,
804
+ .d2l-template-primary-secondary-divider-handle-mobile,
805
+ .d2l-template-primary-secondary-divider-handle-line::before,
806
+ .d2l-template-primary-secondary-divider-handle-line::after {
807
+ transition: background-color 100ms, box-shadow 100ms;
808
+ }
809
+ .d2l-template-primary-secondary-divider:hover,
810
+ .d2l-template-primary-secondary-divider:hover .d2l-template-primary-secondary-divider-handle-mobile,
811
+ .d2l-template-primary-secondary-divider:hover .d2l-template-primary-secondary-divider-handle-line::before,
812
+ .d2l-template-primary-secondary-divider:hover .d2l-template-primary-secondary-divider-handle-line::after {
813
+ transition-delay: 100ms;
814
+ }
815
+
816
+ .d2l-template-scroll::-webkit-scrollbar {
817
+ width: 8px;
818
+ }
819
+
820
+ .d2l-template-scroll::-webkit-scrollbar-track {
821
+ background: rgba(255, 255, 255, 0.4);
822
+ }
823
+
824
+ .d2l-template-scroll::-webkit-scrollbar-thumb {
825
+ background: var(--d2l-color-galena);
826
+ border-radius: 4px;
827
+ }
828
+
829
+ .d2l-template-scroll::-webkit-scrollbar-thumb:hover {
830
+ background: var(--d2l-color-tungsten);
831
+ }
832
+
833
+ /* For Firefox */
834
+ .d2l-template-scroll {
835
+ scrollbar-color: var(--d2l-color-galena) rgba(255, 255, 255, 0.4);
836
+ scrollbar-width: thin;
837
+ }
838
+
839
+ @media (prefers-reduced-motion: reduce) {
840
+ .d2l-template-primary-secondary-divider,
841
+ .d2l-template-primary-secondary-divider-handle-line::before,
842
+ .d2l-template-primary-secondary-divider-handle-line::after,
843
+ .d2l-template-primary-secondary-divider-handle-mobile {
645
844
  transition: none;
646
845
  }
647
- main d2l-form-error-summary {
648
- margin-inline: var(--d2l-template-primary-secondary-form-error-inline-margin, 20px);
846
+ }
847
+ @media only screen and (max-width: 767px) {
848
+
849
+ .d2l-template-primary-secondary-content {
850
+ flex-direction: column;
649
851
  }
650
852
 
651
- :host([resizable]) main {
853
+ main {
652
854
  flex: 1 0 0;
653
855
  }
654
- :host([primary-overflow="hidden"]) main {
655
- overflow: hidden;
656
- }
657
856
  .d2l-template-primary-secondary-secondary-container {
658
- flex: 1 0 0;
659
- min-width: ${desktopMinSize}px;
660
- overflow: hidden;
661
- }
662
- :host([resizable]) .d2l-template-primary-secondary-secondary-container {
663
857
  flex: none;
664
- min-width: 0;
665
858
  }
666
- [data-animate-resize] .d2l-template-primary-secondary-secondary-container {
667
- transition: width 400ms cubic-bezier(0, 0.7, 0.5, 1), height 400ms cubic-bezier(0, 0.7, 0.5, 1);
859
+ aside,
860
+ .d2l-template-primary-secondary-secondary-container {
861
+ min-width: auto;
668
862
  }
669
- .d2l-template-primary-secondary-divider-shadow {
863
+ [data-is-collapsed] aside {
670
864
  display: none;
671
865
  }
672
- aside {
673
- height: 100%;
674
- min-width: ${desktopMinSize}px;
675
- overflow-x: hidden;
676
- overflow-y: scroll;
677
- width: 100%;
678
- }
679
866
 
680
- /* prevent margin colapse on slotted children */
681
- aside::before,
682
- aside::after {
683
- content: " ";
684
- display: table;
685
- }
686
- [data-background-shading="primary"] > main,
687
- [data-background-shading="secondary"] > .d2l-template-primary-secondary-secondary-container {
688
- background-color: var(--d2l-color-gypsum);
689
- }
690
- :host([resizable]) [data-is-collapsed] aside {
691
- visibility: hidden;
692
- }
693
- :host([resizable]:not([secondary-first])) aside {
694
- float: inline-start;
695
- }
696
- .d2l-template-primary-secondary-divider,
697
- .d2l-template-primary-secondary-divider-not-resizable {
698
- background-color: var(--d2l-color-mica);
699
- flex: none;
700
- outline: none;
701
- position: relative;
702
- width: 1px;
703
- z-index: 1;
704
- }
705
- .d2l-template-primary-secondary-divider-handle {
867
+ .d2l-template-primary-secondary-divider-handle-desktop {
706
868
  display: none;
707
- position: absolute;
708
- top: calc(50%);
709
- width: 100%;
710
- }
711
- :host([resizable]) .d2l-template-primary-secondary-divider {
712
- background-color: var(--d2l-color-gypsum);
713
- cursor: ew-resize;
714
- width: 0.45rem;
715
869
  }
716
- :host([resizable]) [data-is-expanded] .d2l-template-primary-secondary-divider {
717
- cursor: var(--d2l-cursor-resize-inline-end, e-resize);
870
+ /* Attribute selector is only used to increase specificity */
871
+ :host([resizable]) .d2l-template-primary-secondary-divider,
872
+ :host(:not([resizable])) .d2l-template-primary-secondary-divider {
873
+ background-color: var(--d2l-color-celestine);
874
+ cursor: ns-resize;
875
+ height: 0.1rem;
876
+ width: 100%;
718
877
  }
719
- :host([resizable]) [data-is-collapsed] .d2l-template-primary-secondary-divider {
720
- cursor: var(--d2l-cursor-resize-inline-start, w-resize);
878
+ :host([resizable]) [data-is-collapsed] .d2l-template-primary-secondary-divider,
879
+ :host(:not([resizable])) [data-is-collapsed] .d2l-template-primary-secondary-divider {
880
+ cursor: n-resize;
721
881
  }
722
- :host([resizable]) .d2l-template-primary-secondary-divider-handle {
723
- align-items: center;
724
- display: flex;
725
- justify-content: center;
882
+ :host([resizable]) [data-is-expanded] .d2l-template-primary-secondary-divider,
883
+ :host(:not([resizable])) [data-is-expanded] .d2l-template-primary-secondary-divider {
884
+ cursor: s-resize;
726
885
  }
727
- :host([resizable]) [data-background-shading="secondary"] .d2l-template-primary-secondary-divider {
728
- box-shadow: calc(1px * var(--d2l-length-factor, 1)) 0 0 0 rgba(0, 0, 0, 0.15);
886
+
887
+ /* Attribute selector is only used to increase specificity */
888
+ :host([resizable]) .d2l-template-primary-secondary-divider:hover,
889
+ :host(:not([resizable])) .d2l-template-primary-secondary-divider:hover,
890
+ :host([resizable]) .d2l-template-primary-secondary-divider:focus,
891
+ :host(:not([resizable])) .d2l-template-primary-secondary-divider:focus {
892
+ background-color: var(--d2l-color-celestine-minus-1);
729
893
  }
730
- :host([resizable]) [data-background-shading="primary"] .d2l-template-primary-secondary-divider {
731
- box-shadow: calc(-1px * var(--d2l-length-factor, 1)) 0 0 0 rgba(0, 0, 0, 0.15);
894
+ .d2l-template-primary-secondary-divider-handle {
895
+ border-radius: 0;
896
+ bottom: 0.1rem;
897
+ display: block;
898
+ inset-inline-end: calc(17px + 0.2rem);
899
+ overflow: hidden;
900
+ top: auto;
732
901
  }
733
- .d2l-template-primary-secondary-divider-handle-desktop {
902
+ .d2l-template-primary-secondary-divider-handle-mobile {
734
903
  align-items: center;
904
+ background-color: var(--d2l-color-celestine);
905
+ border-radius: 0.25rem 0.25rem 0 0;
906
+ bottom: 0;
735
907
  display: flex;
736
908
  justify-content: center;
737
909
  position: absolute;
910
+ right: 0;
738
911
  }
739
- .d2l-template-primary-secondary-divider-handle-left,
740
- .d2l-template-primary-secondary-divider-handle-right {
741
- color: var(--d2l-color-celestine);
742
- display: none;
743
- position: absolute;
744
- }
745
- .d2l-template-primary-secondary-divider-handle-left {
746
- inset-inline-start: -1rem;
747
- }
748
- .d2l-template-primary-secondary-divider-handle-right {
749
- inset-inline-end: -1rem;
750
- }
751
- .d2l-template-primary-secondary-divider-handle-line {
752
- display: flex;
753
- height: 0.9rem;
754
- justify-content: space-between;
755
- width: 0.25rem;
756
- }
757
- .d2l-template-primary-secondary-divider-handle-line::before,
758
- .d2l-template-primary-secondary-divider-handle-line::after {
759
- background-color: var(--d2l-color-galena);
760
- border-radius: 0.05rem;
761
- content: "";
762
- display: inline-block;
763
- width: 0.1rem;
764
- }
765
- .d2l-template-primary-secondary-divider:${unsafeCSS(getFocusPseudoClass())} .d2l-template-primary-secondary-divider-handle-right,
766
- .d2l-template-primary-secondary-divider:${unsafeCSS(getFocusPseudoClass())} .d2l-template-primary-secondary-divider-handle-left {
767
- display: block;
768
- }
769
- :host(:not([secondary-first])) [data-is-expanded] .d2l-template-primary-secondary-divider-handle-left,
770
- :host([secondary-first]) [data-is-expanded] .d2l-template-primary-secondary-divider-handle-right {
771
- display: none;
772
- }
773
- d2l-icon {
774
- display: none;
775
- }
776
-
777
- footer {
778
- background-color: white;
779
- box-shadow: 0 -2px 4px rgba(32, 33, 34, 0.2); /* ferrite */
780
- padding: 0.75rem 1rem;
781
- z-index: 1; /* ensures the footer box-shadow is over main areas with background colours set */
912
+ .d2l-template-primary-secondary-divider:hover .d2l-template-primary-secondary-divider-handle-mobile,
913
+ .d2l-template-primary-secondary-divider:focus .d2l-template-primary-secondary-divider-handle-mobile {
914
+ background-color: var(--d2l-color-celestine-minus-1);
782
915
  }
783
- header {
784
- z-index: 14; /* ensures the header box-shadow is over main areas with background colours set, and opt-in on top of sticky header */
916
+ .d2l-template-primary-secondary-divider-handle,
917
+ .d2l-template-primary-secondary-divider-handle-mobile {
918
+ height: 1rem;
919
+ width: 2.2rem;
785
920
  }
786
-
787
- :host([resizable]) .d2l-template-primary-secondary-divider:focus,
788
- :host([resizable]) .d2l-template-primary-secondary-divider:hover {
789
- background-color: var(--d2l-color-mica);
921
+ .d2l-template-primary-secondary-divider:${unsafeCSS(getFocusPseudoClass())} .d2l-template-primary-secondary-divider-handle {
790
922
  box-shadow: none;
923
+ height: 1.2rem;
924
+ inset-inline-end: 17px;
925
+ width: 2.6rem;
791
926
  }
792
- :host([resizable]) .d2l-template-primary-secondary-divider:${unsafeCSS(getFocusPseudoClass())} {
793
- background-color: var(--d2l-color-celestine);
794
- }
795
- .d2l-template-primary-secondary-divider:focus .d2l-template-primary-secondary-divider-handle-line::before,
796
- .d2l-template-primary-secondary-divider:focus .d2l-template-primary-secondary-divider-handle-line::after,
797
- .d2l-template-primary-secondary-divider:hover .d2l-template-primary-secondary-divider-handle-line::before,
798
- .d2l-template-primary-secondary-divider:hover .d2l-template-primary-secondary-divider-handle-line::after {
799
- background-color: var(--d2l-color-ferrite);
800
- }
801
- .d2l-template-primary-secondary-divider:${unsafeCSS(getFocusPseudoClass())} .d2l-template-primary-secondary-divider-handle-line::before,
802
- .d2l-template-primary-secondary-divider:${unsafeCSS(getFocusPseudoClass())} .d2l-template-primary-secondary-divider-handle-line::after {
803
- background-color: white;
804
- }
805
-
806
- .d2l-template-primary-secondary-divider,
807
- .d2l-template-primary-secondary-divider-handle-mobile,
808
- .d2l-template-primary-secondary-divider-handle-line::before,
809
- .d2l-template-primary-secondary-divider-handle-line::after {
810
- transition: background-color 100ms, box-shadow 100ms;
811
- }
812
- .d2l-template-primary-secondary-divider:hover,
813
- .d2l-template-primary-secondary-divider:hover .d2l-template-primary-secondary-divider-handle-mobile,
814
- .d2l-template-primary-secondary-divider:hover .d2l-template-primary-secondary-divider-handle-line::before,
815
- .d2l-template-primary-secondary-divider:hover .d2l-template-primary-secondary-divider-handle-line::after {
816
- transition-delay: 100ms;
927
+ d2l-icon {
928
+ color: white;
929
+ display: block;
817
930
  }
818
-
819
- .d2l-template-scroll::-webkit-scrollbar {
820
- width: 8px;
931
+ ${getFocusRingStyles(pseudoClass => `.d2l-template-primary-secondary-divider:${pseudoClass} .d2l-template-primary-secondary-divider-handle-mobile`, { extraStyles: css`right: 0.2rem; box-shadow: 0 0 0 2px #ffffff;` })}
932
+ .d2l-template-primary-secondary-divider-shadow {
933
+ box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.25);
934
+ display: block;
935
+ height: 100%;
936
+ position: absolute;
937
+ width: 100%;
938
+ z-index: -1;
821
939
  }
940
+ }
822
941
 
823
- .d2l-template-scroll::-webkit-scrollbar-track {
824
- background: rgba(255, 255, 255, 0.4);
942
+ @media print {
943
+ :host {
944
+ overflow: visible;
945
+ position: relative;
825
946
  }
826
947
 
827
- .d2l-template-scroll::-webkit-scrollbar-thumb {
828
- background: var(--d2l-color-galena);
829
- border-radius: 4px;
948
+ .d2l-template-primary-secondary-content {
949
+ flex-direction: column;
830
950
  }
831
951
 
832
- .d2l-template-scroll::-webkit-scrollbar-thumb:hover {
833
- background: var(--d2l-color-tungsten);
952
+ .d2l-template-primary-secondary-content,
953
+ .d2l-template-primary-secondary-content > main,
954
+ .d2l-template-primary-secondary-secondary-container {
955
+ overflow: visible;
834
956
  }
835
957
 
836
- /* For Firefox */
837
- .d2l-template-scroll {
838
- scrollbar-color: var(--d2l-color-galena) rgba(255, 255, 255, 0.4);
839
- scrollbar-width: thin;
958
+ .d2l-template-primary-secondary-content > main {
959
+ background: none;
840
960
  }
841
961
 
842
- @media (prefers-reduced-motion: reduce) {
843
- .d2l-template-primary-secondary-divider,
844
- .d2l-template-primary-secondary-divider-handle-line::before,
845
- .d2l-template-primary-secondary-divider-handle-line::after,
846
- .d2l-template-primary-secondary-divider-handle-mobile {
847
- transition: none;
848
- }
962
+ .d2l-template-primary-secondary-divider-not-resizable,
963
+ .d2l-template-primary-secondary-divider {
964
+ display: none;
849
965
  }
850
- @media only screen and (max-width: 767px) {
851
966
 
852
- .d2l-template-primary-secondary-content {
853
- flex-direction: column;
854
- }
855
-
856
- main {
857
- flex: 1 0 0;
858
- }
859
- .d2l-template-primary-secondary-secondary-container {
860
- flex: none;
861
- }
862
- aside,
863
- .d2l-template-primary-secondary-secondary-container {
864
- min-width: auto;
865
- }
866
- [data-is-collapsed] aside {
867
- display: none;
868
- }
869
-
870
- .d2l-template-primary-secondary-divider-handle-desktop {
871
- display: none;
872
- }
873
- /* Attribute selector is only used to increase specificity */
874
- :host([resizable]) .d2l-template-primary-secondary-divider,
875
- :host(:not([resizable])) .d2l-template-primary-secondary-divider {
876
- background-color: var(--d2l-color-celestine);
877
- cursor: ns-resize;
878
- height: 0.1rem;
879
- width: 100%;
880
- }
881
- :host([resizable]) [data-is-collapsed] .d2l-template-primary-secondary-divider,
882
- :host(:not([resizable])) [data-is-collapsed] .d2l-template-primary-secondary-divider {
883
- cursor: n-resize;
884
- }
885
- :host([resizable]) [data-is-expanded] .d2l-template-primary-secondary-divider,
886
- :host(:not([resizable])) [data-is-expanded] .d2l-template-primary-secondary-divider {
887
- cursor: s-resize;
888
- }
889
-
890
- /* Attribute selector is only used to increase specificity */
891
- :host([resizable]) .d2l-template-primary-secondary-divider:hover,
892
- :host(:not([resizable])) .d2l-template-primary-secondary-divider:hover,
893
- :host([resizable]) .d2l-template-primary-secondary-divider:focus,
894
- :host(:not([resizable])) .d2l-template-primary-secondary-divider:focus {
895
- background-color: var(--d2l-color-celestine-minus-1);
896
- }
897
- .d2l-template-primary-secondary-divider-handle {
898
- border-radius: 0;
899
- bottom: 0.1rem;
900
- display: block;
901
- inset-inline-end: calc(17px + 0.2rem);
902
- overflow: hidden;
903
- top: auto;
904
- }
905
- .d2l-template-primary-secondary-divider-handle-mobile {
906
- align-items: center;
907
- background-color: var(--d2l-color-celestine);
908
- border-radius: 0.25rem 0.25rem 0 0;
909
- bottom: 0;
910
- display: flex;
911
- justify-content: center;
912
- position: absolute;
913
- right: 0;
914
- }
915
- .d2l-template-primary-secondary-divider:hover .d2l-template-primary-secondary-divider-handle-mobile,
916
- .d2l-template-primary-secondary-divider:focus .d2l-template-primary-secondary-divider-handle-mobile {
917
- background-color: var(--d2l-color-celestine-minus-1);
918
- }
919
- .d2l-template-primary-secondary-divider-handle,
920
- .d2l-template-primary-secondary-divider-handle-mobile {
921
- height: 1rem;
922
- width: 2.2rem;
923
- }
924
- .d2l-template-primary-secondary-divider:${unsafeCSS(getFocusPseudoClass())} .d2l-template-primary-secondary-divider-handle {
925
- box-shadow: none;
926
- height: 1.2rem;
927
- inset-inline-end: 17px;
928
- width: 2.6rem;
929
- }
930
- d2l-icon {
931
- color: white;
932
- display: block;
933
- }
934
- ${getFocusRingStyles(pseudoClass => `.d2l-template-primary-secondary-divider:${pseudoClass} .d2l-template-primary-secondary-divider-handle-mobile`, { extraStyles: css`right: 0.2rem; box-shadow: 0 0 0 2px #ffffff;` })}
935
- .d2l-template-primary-secondary-divider-shadow {
936
- box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.25);
937
- display: block;
938
- height: 100%;
939
- position: absolute;
940
- width: 100%;
941
- z-index: -1;
942
- }
967
+ .d2l-template-primary-secondary-container > footer {
968
+ box-shadow: none;
969
+ padding: 0;
943
970
  }
944
971
 
945
- @media print {
946
- :host {
947
- overflow: visible;
948
- position: relative;
949
- }
950
-
951
- .d2l-template-primary-secondary-content {
952
- flex-direction: column;
953
- }
954
-
955
- .d2l-template-primary-secondary-content,
956
- .d2l-template-primary-secondary-content > main,
957
- .d2l-template-primary-secondary-secondary-container {
958
- overflow: visible;
959
- }
960
-
961
- .d2l-template-primary-secondary-content > main {
962
- background: none;
963
- }
964
-
965
- .d2l-template-primary-secondary-divider-not-resizable,
966
- .d2l-template-primary-secondary-divider {
967
- display: none;
968
- }
969
-
970
- .d2l-template-primary-secondary-container > footer {
971
- box-shadow: none;
972
- padding: 0;
973
- }
974
-
975
- .d2l-template-primary-secondary-container,
976
- .d2l-template-primary-secondary-content {
977
- height: auto;
978
- }
972
+ .d2l-template-primary-secondary-container,
973
+ .d2l-template-primary-secondary-content {
974
+ height: auto;
979
975
  }
980
- `;
981
- }
976
+ }
977
+ `;
982
978
 
983
979
  constructor() {
984
980
  super();