@khanacademy/perseus 1.1.2 → 1.3.0

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 (34) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/dist/es/index.css +4 -5
  3. package/dist/es/index.js +1282 -1429
  4. package/dist/es/index.js.map +1 -1
  5. package/dist/index.css +4 -5
  6. package/dist/index.js +1283 -1429
  7. package/dist/index.js.map +1 -1
  8. package/package.json +7 -7
  9. package/src/__tests__/__snapshots__/renderer_test.jsx.snap +21 -3
  10. package/src/components/highlighting/ui/highlight-tooltip.jsx +29 -23
  11. package/src/components/highlighting/ui/selection-tracker.jsx +17 -28
  12. package/src/styles/articles.less +0 -2
  13. package/src/styles/perseus-renderer.less +1 -1
  14. package/src/styles/widgets/passage.less +7 -3
  15. package/src/widgets/__stories__/passage-ref.stories.jsx +6 -2
  16. package/src/widgets/__stories__/passage.stories.jsx +9 -1
  17. package/src/widgets/__stories__/radio.stories.jsx +11 -0
  18. package/src/widgets/__testdata__/passage-ref_testdata.js +62 -0
  19. package/src/widgets/__testdata__/passage_testdata.js +25 -0
  20. package/src/widgets/__testdata__/radio_testdata.js +52 -0
  21. package/src/widgets/__tests__/__snapshots__/dropdown_test.jsx.snap +16 -2
  22. package/src/widgets/__tests__/__snapshots__/passage-ref_test.jsx.snap +18 -18
  23. package/src/widgets/__tests__/__snapshots__/passage_test.jsx.snap +36 -36
  24. package/src/widgets/__tests__/passage_test.jsx +6 -8
  25. package/src/widgets/__tests__/radio_test.jsx +3 -1
  26. package/src/widgets/passage.jsx +12 -41
  27. package/src/widgets/radio/widget.jsx +128 -129
  28. package/src/components/new-tooltip/README.md +0 -3
  29. package/src/components/new-tooltip/__stories__/new-tooltip.stories.jsx +0 -665
  30. package/src/components/new-tooltip/__tests__/style-constants_test.js +0 -8
  31. package/src/components/new-tooltip/new-tooltip.jsx +0 -155
  32. package/src/components/new-tooltip/style-constants.js +0 -13
  33. package/src/components/new-tooltip/types.js +0 -183
  34. package/src/widgets/passage/get-line-height-for-node.js +0 -9
package/dist/es/index.js CHANGED
@@ -19,13 +19,14 @@ import { pureMarkdownRules } from '@khanacademy/pure-markdown';
19
19
  import { StyleSheet, css } from 'aphrodite';
20
20
  import MathQuill from 'mathquill';
21
21
  import { TextField } from '@khanacademy/wonder-blocks-form';
22
- import { Popover, PopoverContentCore, PopoverContent } from '@khanacademy/wonder-blocks-popover';
22
+ import Spacing from '@khanacademy/wonder-blocks-spacing';
23
+ import Tooltip$1 from '@khanacademy/wonder-blocks-tooltip';
23
24
  import Button from '@khanacademy/wonder-blocks-button';
24
25
  import Clickable from '@khanacademy/wonder-blocks-clickable';
25
26
  import Color from '@khanacademy/wonder-blocks-color';
26
27
  import { View, Text } from '@khanacademy/wonder-blocks-core';
27
28
  import { Strut } from '@khanacademy/wonder-blocks-layout';
28
- import Spacing from '@khanacademy/wonder-blocks-spacing';
29
+ import { Popover, PopoverContent, PopoverContentCore } from '@khanacademy/wonder-blocks-popover';
29
30
  import { OptionItem, SingleSelect } from '@khanacademy/wonder-blocks-dropdown';
30
31
  import debounce$1 from 'lodash.debounce';
31
32
  import Link from '@khanacademy/wonder-blocks-link';
@@ -24583,1191 +24584,52 @@ var styles$y = StyleSheet.create({
24583
24584
  }
24584
24585
  });
24585
24586
 
24586
- var black = "#000000";
24587
- var grayDarker = "#333333";
24588
- var grayDark = "#555555";
24589
- var gray = "#999999";
24590
- var grayLight = "#AAAAAA";
24591
- var grayLighter = "#DDDDDD";
24592
- var white = "#FFFFFF";
24593
- var blue = "#005A88";
24594
- var blueDark = "#2C3747";
24595
- var green = "#76A005";
24596
- var red = "#CF5044";
24597
- var yellow = "#FFC40D";
24598
- var orange = "#BF4F04";
24599
- var pink = "#C3325F";
24600
- var purple = "#7A43B6";
24601
- var bodyBackground = "#FFFFFF";
24602
- var textColor = "#444444";
24603
- var linkColor = "#005987";
24604
- var linkColorHover = "#678D00";
24605
- var sansFontFamily = "'Helvetica Neue',Helvetica,Arial,sans-serif";
24606
- var serifFontFamily = "Georgia,'Times New Roman',Times,serif";
24607
- var monoFontFamily = "Monaco,Menlo,Consolas,'Courier New',monospace";
24608
- var baseFontSize = "14px";
24609
- var baseFontFamily = "inherit";
24610
- var baseLineHeight = "20px";
24611
- var altFontFamily = "Georgia,'Times New Roman',Times,serif";
24612
- var headingsFontFamily = "inherit";
24613
- var headingsFontWeight = "bold";
24614
- var headingsColor = "inherit";
24615
- var fontSizeLarge = "18px";
24616
- var fontSizeSmall = "12px";
24617
- var fontSizeMini = "10.5px";
24618
- var paddingLarge = "11px 19px";
24619
- var paddingSmall = "2px 10px";
24620
- var paddingMini = "0 6px";
24621
- var baseBorderRadius = "4px";
24622
- var borderRadiusLarge = "6px";
24623
- var borderRadiusSmall = "3px";
24624
- var tableBackground = "#000000";
24625
- var tableBackgroundAccent = "#F9F9F9";
24626
- var tableBackgroundHover = "#F5F5F5";
24627
- var tableBorder = "#DDDDDD";
24628
- var btnBackground = "#FFFFFF";
24629
- var btnBackgroundHighlight = "rgb(230, 230, 230)";
24630
- var btnBorder = "#CCCCCC";
24631
- var btnPrimaryBackground = "#0088CC";
24632
- var btnPrimaryBackgroundHighlight = "rgb(0, 68, 204)";
24633
- var btnInfoBackground = "#5BC0DE";
24634
- var btnInfoBackgroundHighlight = "#2F96B4";
24635
- var btnSuccessBackground = "#62C462";
24636
- var btnSuccessBackgroundHighlight = "#51A351";
24637
- var btnWarningBackground = "rgb(251, 180, 81)";
24638
- var btnWarningBackgroundHighlight = "#F89406";
24639
- var btnDangerBackground = "#EE5F5B";
24640
- var btnDangerBackgroundHighlight = "#BD362F";
24641
- var btnInverseBackground = "#444444";
24642
- var btnInverseBackgroundHighlight = "#222222";
24643
- var inputBackground = "#FFFFFF";
24644
- var inputBorder = "#CCCCCC";
24645
- var inputBorderRadius = "4px";
24646
- var inputDisabledBackground = "#EEEEEE";
24647
- var formActionsBackground = "#F5F5F5";
24648
- var inputHeight = "30px";
24649
- var dropdownBackground = "#FFFFFF";
24650
- var dropdownBorder = "rgba(0, 0, 0, 0.2)";
24651
- var dropdownDividerTop = "#E5E5E5";
24652
- var dropdownDividerBottom = "#FFFFFF";
24653
- var dropdownLinkColor = "#333333";
24654
- var dropdownLinkColorHover = "#FFFFFF";
24655
- var dropdownLinkColorActive = "#FFFFFF";
24656
- var dropdownLinkBackgroundActive = "#0088CC";
24657
- var dropdownLinkBackgroundHover = "#0088CC";
24658
- var zindexDropdown = 1000;
24659
- var zindexPopover = 1010;
24660
- var zindexTooltip = 1030;
24661
- var zindexFixedNavbar = 1030;
24662
- var zindexHeader = 1060;
24663
- var zindexModalBackdrop = 1070;
24664
- var zindexModal = 1080;
24665
- var zindexAboveModal = 1090;
24666
- var iconSpritePath = "../img/glyphicons-halflings.png";
24667
- var iconWhiteSpritePath = "../img/glyphicons-halflings-white.png";
24668
- var placeholderText = "#999999";
24669
- var hrBorder = "#EEEEEE";
24670
- var horizontalComponentOffset = "180px";
24671
- var wellBackground = "#F5F5F5";
24672
- var navbarCollapseWidth = "979px";
24673
- var navbarCollapseDesktopWidth = "980px";
24674
- var navbarHeight = "40px";
24675
- var navbarBackgroundHighlight = "#FFFFFF";
24676
- var navbarBackground = "rgb(242, 242, 242)";
24677
- var navbarBorder = "rgb(212, 212, 212)";
24678
- var navbarText = "#777777";
24679
- var navbarLinkColor = "#777777";
24680
- var navbarLinkColorHover = "#333333";
24681
- var navbarLinkColorActive = "#555555";
24682
- var navbarLinkBackgroundHover = "#000000";
24683
- var navbarLinkBackgroundActive = "rgb(230, 230, 230)";
24684
- var navbarBrandColor = "#777777";
24685
- var navbarInverseBackground = "#111111";
24686
- var navbarInverseBackgroundHighlight = "#222222";
24687
- var navbarInverseBorder = "#252525";
24688
- var navbarInverseText = "#999999";
24689
- var navbarInverseLinkColor = "#999999";
24690
- var navbarInverseLinkColorHover = "#FFFFFF";
24691
- var navbarInverseLinkColorActive = "#FFFFFF";
24692
- var navbarInverseLinkBackgroundHover = "#000000";
24693
- var navbarInverseLinkBackgroundActive = "#111111";
24694
- var navbarInverseSearchBackground = "rgb(82, 82, 82)";
24695
- var navbarInverseSearchBackgroundFocus = "#FFFFFF";
24696
- var navbarInverseSearchBorder = "#111111";
24697
- var navbarInverseSearchPlaceholderColor = "#CCCCCC";
24698
- var navbarInverseBrandColor = "#999999";
24699
- var paginationBackground = "#FFFFFF";
24700
- var paginationBorder = "#DDDDDD";
24701
- var paginationActiveBackground = "#F5F5F5";
24702
- var heroUnitBackground = "#EEEEEE";
24703
- var heroUnitHeadingColor = "inherit";
24704
- var heroUnitLeadColor = "inherit";
24705
- var warningText = "#C09853";
24706
- var warningBackground = "#FCF8E3";
24707
- var warningBorder = "rgb(251, 239, 213)";
24708
- var errorText = "#B94A48";
24709
- var errorBackground = "#F2DEDE";
24710
- var errorBorder = "rgb(238, 211, 215)";
24711
- var successText = "#468847";
24712
- var successBackground = "#DFF0D8";
24713
- var successBorder = "rgb(212, 232, 197)";
24714
- var infoText = "#4A7C17";
24715
- var infoBackground = "#EDF2DF";
24716
- var infoBorder = "rgb(228, 232, 197)";
24717
- var tooltipColor = "#FFFFFF";
24718
- var tooltipBackground = "#000000";
24719
- var tooltipArrowWidth = "5px";
24720
- var tooltipArrowColor = "#000000";
24721
- var popoverBackground = "#FFFFFF";
24722
- var popoverArrowWidth = "10px";
24723
- var popoverArrowColor = "#FFFFFF";
24724
- var popoverTitleBackground = "rgb(247, 247, 247)";
24725
- var popoverArrowOuterWidth = "11px";
24726
- var popoverArrowOuterColor = "rgba(0, 0, 0, 0.25)";
24727
- var gridColumns = "12";
24728
- var gridColumnWidth = "60px";
24729
- var gridGutterWidth = "20px";
24730
- var gridRowWidth = "940px";
24731
- var gridColumnWidth1200 = "70px";
24732
- var gridGutterWidth1200 = "30px";
24733
- var gridRowWidth1200 = "1170px";
24734
- var gridColumnWidth768 = "42px";
24735
- var gridGutterWidth768 = "20px";
24736
- var gridRowWidth768 = "724px";
24737
- var fluidGridColumnWidth = "6.382978723404255%";
24738
- var fluidGridGutterWidth = "2.127659574468085%";
24739
- var fluidGridColumnWidth1200 = "5.982905982905983%";
24740
- var fluidGridGutterWidth1200 = "2.564102564102564%";
24741
- var fluidGridColumnWidth768 = "5.801104972375691%";
24742
- var fluidGridGutterWidth768 = "2.7624309392265194%";
24743
- var kaGreen = "#71B307";
24744
- var kaGreenLight = "#BED47A";
24745
- var kaBlue = "#314453";
24746
- var kaBlueLight = "#4D6779";
24747
- var grayExtraDark = "#111111";
24748
- var grayExtraLight = "#EEEEEE";
24749
- var graySuperLight = "#F7F7F7";
24750
- var whiteDark = "#FDFDFD";
24751
- var dark = "#21242C";
24752
- var blueDarkUnsaturated = "#3B414E";
24753
- var blueDarkSaturated = "#1F3043";
24754
- var blueLight = "#A9C0D1";
24755
- var greenLight = "#C6D1AD";
24756
- var greenDark = "#356700";
24757
- var yellowGreen = "#9DB63B";
24758
- var okGreen = "#A7CF5B";
24759
- var alertRed = "#C42420";
24760
- var coral = "#EE6666";
24761
- var grayBlue = "#9AB3B9";
24762
- var lightPageBackground = "#FDFDFD";
24763
- var yclaBlue = "#49BAD5";
24764
- var yclaTeal = "#56D0B3";
24765
- var yclaTealDark = "#50C1A7";
24766
- var yclaGreenDark = "#3D9A82";
24767
- var yclaGreen = "#81C262";
24768
- var learnstormBlue = "#4898FC";
24769
- var homepageBlue = "#46A8BF";
24770
- var backgroundBlue = "#00294A";
24771
- var teacherSignupBlue = "#335d7d";
24772
- var homepageGreen = "#2B8E7B";
24773
- var streakColor = "#F79734";
24774
- var facebookColor = "#1A60A2";
24775
- var blueGoogleColor = "#2CAFE2";
24776
- var redGoogleColor = "#BF4434";
24777
- var homepageColor = "#2D585E";
24778
- var lightTextColor = "#898989";
24779
- var fontSizeTiny = "11px";
24780
- var fontSizeNormal = "14px";
24781
- var fontSizeMedium = "16px";
24782
- var fontSizeExtraLarge = "24px";
24783
- var fontSizeHuge = "36px";
24784
- var fontSizeBakana = "48px";
24785
- var fontSizeBananas = "60px";
24786
- var fixedWidthFontFamily = "'Helvetica Neue',Helvetica,Arial,sans-serif";
24787
- var contentPadding = "20px";
24788
- var primaryButtonBackground = "#89B908";
24789
- var primaryButtonBorder = "#76A005";
24790
- var buttonTextColor = "rgb(122, 122, 122)";
24791
- var buttonBorderRadius = "3px";
24792
- var basicBorderColor = "#CCCCCC";
24793
- var minContainerWidth = "1000px";
24794
- var maxContainerWidth = "1200px";
24795
- var formHintColor = "#999999";
24796
- var guidelineExampleText = "#606060";
24797
- var hoverCardWidth = "450px";
24798
- var menuHighlightColor = "#96AB4F";
24799
- var menuHighlightBorderColor = "#76A005";
24800
- var menuActiveTextColor = "#FFFFFF";
24801
- var menuInactiveTextColor = "#444444";
24802
- var menuSubheaderTextColor = "rgb(120, 120, 120)";
24803
- var menuBorderColor = "#94A170";
24804
- var unreadBackgroundColor = "#ECEEF4";
24805
- var menuLineHeight = "18px";
24806
- var menuSubheaderLineHeight = "17px";
24807
- var menuSubheaderFontSize = "9px";
24808
- var notificationBarColor = "#4858A4";
24809
- var modalBodyTopPadding = "20px";
24810
- var modalDialogPadding = "15px";
24811
- var modalSectionPadding = "9px";
24812
- var mathDomain1 = "#11ACCD";
24813
- var mathDomain2 = "#63D9EA";
24814
- var mathDomain3 = "#027d97";
24815
- var mathDomain4 = "#085566";
24816
- var partnerContentDomain1 = "#01A995";
24817
- var partnerContentDomain2 = "#01D1C1";
24818
- var partnerContentDomain3 = "#208170";
24819
- var partnerContentDomain4 = "#144F44";
24820
- var csDomain1 = "#1FAB54";
24821
- var csDomain2 = "#74CF70";
24822
- var csDomain3 = "#0D923F";
24823
- var csDomain4 = "#085E29";
24824
- var economicsDomain1 = "#E07D10";
24825
- var economicsDomain2 = "#FFBE26";
24826
- var economicsDomain3 = "#A75A05";
24827
- var economicsDomain4 = "#953C02";
24828
- var collegeCareersMoreDomain1 = "#01A995";
24829
- var collegeCareersMoreDomain2 = "#01D1C1";
24830
- var collegeCareersMoreDomain3 = "#208170";
24831
- var collegeCareersMoreDomain4 = "#144F44";
24832
- var humanitiesDomain1 = "#E84D39";
24833
- var humanitiesDomain2 = "#FF8482";
24834
- var humanitiesDomain3 = "#BE2612";
24835
- var humanitiesDomain4 = "#8C1C0D";
24836
- var gtpDomain1 = "#1865F2";
24837
- var gtpDomain2 = "#1865F2";
24838
- var gtpDomain3 = "#1865F2";
24839
- var gtpDomain4 = "#1865F2";
24840
- var scienceDomain1 = "#CA337C";
24841
- var scienceDomain2 = "#FF92C6";
24842
- var scienceDomain3 = "#9E034E";
24843
- var scienceDomain4 = "#6B0235";
24844
- var testPrepDomain1 = "#1865F2";
24845
- var testPrepDomain2 = "#1865F2";
24846
- var testPrepDomain3 = "#1865F2";
24847
- var testPrepDomain4 = "#1865F2";
24848
- var defaultDomain1 = "#1865F2";
24849
- var defaultDomain2 = "#66afe9";
24850
- var defaultDomain3 = "#1152b0";
24851
- var defaultDomain4 = "#0d3d82";
24852
- var defaultDomainColor = "#314453";
24853
- var defaultSubjectColor = "#4D6779";
24854
- var defaultTopicColor = "#6A8DA6";
24855
- var defaultHoverColor = "#314453";
24856
- var defaultLinkColor = "#314453";
24857
- var defaultLinkHoverColor = "#6A8DA6";
24858
- var scienceDomainColor = "#94424F";
24859
- var scienceSubjectColor = "#9D4A5A";
24860
- var scienceTopicColor = "#C55F73";
24861
- var scienceHoverColor = "#94424F";
24862
- var scienceLinkColor = "#94424F";
24863
- var scienceLinkHoverColor = "#C55F73";
24864
- var humanitiesDomainColor = "#AD3434";
24865
- var humanitiesSubjectColor = "#C13B31";
24866
- var humanitiesTopicColor = "#D24A45";
24867
- var humanitiesHoverColor = "#AD3434";
24868
- var humanitiesLinkColor = "#AD3434";
24869
- var humanitiesLinkHoverColor = "#D24A45";
24870
- var economicsDomainColor = "#B77033";
24871
- var economicsSubjectColor = "#BF7B34";
24872
- var economicsTopicColor = "#D1933B";
24873
- var economicsHoverColor = "#B77033";
24874
- var economicsLinkColor = "#B77033";
24875
- var economicsLinkHoverColor = "#D1933B";
24876
- var csDomainColor = "#437A39";
24877
- var csSubjectColor = "#53893E";
24878
- var csTopicColor = "#689B51";
24879
- var csHoverColor = "#437A39";
24880
- var csLinkColor = "#437A39";
24881
- var csLinkHoverColor = "#689B51";
24882
- var partnerContentDomainColor = "#218270";
24883
- var partnerContentSubjectColor = "#2C8D7B";
24884
- var partnerContentTopicColor = "#329A86";
24885
- var partnerContentHoverColor = "#218270";
24886
- var partnerContentLinkColor = "#218270";
24887
- var partnerContentLinkHoverColor = "#329A86";
24888
- var essayDomainColor = "#0071B3";
24889
- var mathDomainColor = "#1C758A";
24890
- var mathSubjectColor = "#46A8BF";
24891
- var mathTopicColor = "#4FBAD4";
24892
- var mathHoverColor = "#1C758A";
24893
- var mathLinkColor = "#1C758A";
24894
- var mathLinkHoverColor = "#4FBAD4";
24895
- var testPrepDomainColor = "#644172";
24896
- var testPrepSubjectColor = "#7E5F8E";
24897
- var testPrepTopicColor = "#9A72AC";
24898
- var testPrepHoverColor = "#644172";
24899
- var testPrepLinkColor = "#644172";
24900
- var testPrepLinkHoverColor = "#9A72AC";
24901
- var collegeCareersMoreDomainColor = "#218270";
24902
- var collegeCareersMoreSubjectColor = "#2C8D7B";
24903
- var collegeCareersMoreTopicColor = "#329A86";
24904
- var collegeCareersMoreHoverColor = "#218270";
24905
- var collegeCareersMoreLinkColor = "#218270";
24906
- var collegeCareersMoreLinkHoverColor = "#329A86";
24907
- var satDomainColor = "#0084CE";
24908
- var satSubjectColor = "#0084CE";
24909
- var satTopicColor = "#0084CE";
24910
- var satHoverColor = "#0084CE";
24911
- var satLinkColor = "#0084CE";
24912
- var satLinkHoverColor = "#0084CE";
24913
- var colorProficient = "#1C758A";
24914
- var colorPracticed = "rgb(158, 221, 235)";
24915
- var colorMastery1 = "rgb(90, 197, 221)";
24916
- var colorMastery2 = "rgb(42, 174, 203)";
24917
- var colorMastery3 = "#1C758A";
24918
- var colorSuggested = "#73982C";
24919
- var colorReview = "#E35D04";
24920
- var colorNotStarted = "#CCCCCC";
24921
- var colorStarted = "#C7E5F7";
24922
- var colorStruggling = "#C30202";
24923
- var colorPersonal = "#00809C";
24924
- var colorPractice = "#96D9FF";
24925
- var colorEnergyPoints = "#005987";
24926
- var pureSmMin$1 = "568px";
24927
- var pureMdMin$1 = "768px";
24928
- var pureLgMin$1 = "1024px";
24929
- var pureXlMin$1 = "1200px";
24930
- var pureXsMax$1 = "567px";
24931
- var pureSmMax$1 = "767px";
24932
- var pureMdMax$1 = "1023px";
24933
- var pureLgMax$1 = "1199px";
24587
+ /**
24588
+ * A tooltip to point to the focus of a highlight.
24589
+ *
24590
+ * We use the NewTooltip component, which positions itself not by coordinate,
24591
+ * but by watching the position of a target DOM element. So, we render a 0x0
24592
+ * DOM element, absolute-position it to the position of the the highlight
24593
+ * focus, and point the tooltip at that 0x0 element.
24594
+ *
24595
+ * This technique enables NewTooltip to use its existing visibility-watching
24596
+ * and scroll-tracking logic to effectively "watch" the focus of this
24597
+ * highlight. So, we get lots of the repositioning logic for free! But we _do_
24598
+ * still have to notify the tooltip to remeasure itself when the highlight
24599
+ * focus _changes_.
24600
+ */
24934
24601
 
24935
- var globalConstants = /*#__PURE__*/Object.freeze({
24936
- __proto__: null,
24937
- black: black,
24938
- grayDarker: grayDarker,
24939
- grayDark: grayDark,
24940
- gray: gray,
24941
- grayLight: grayLight,
24942
- grayLighter: grayLighter,
24943
- white: white,
24944
- blue: blue,
24945
- blueDark: blueDark,
24946
- green: green,
24947
- red: red,
24948
- yellow: yellow,
24949
- orange: orange,
24950
- pink: pink,
24951
- purple: purple,
24952
- bodyBackground: bodyBackground,
24953
- textColor: textColor,
24954
- linkColor: linkColor,
24955
- linkColorHover: linkColorHover,
24956
- sansFontFamily: sansFontFamily,
24957
- serifFontFamily: serifFontFamily,
24958
- monoFontFamily: monoFontFamily,
24959
- baseFontSize: baseFontSize,
24960
- baseFontFamily: baseFontFamily,
24961
- baseLineHeight: baseLineHeight,
24962
- altFontFamily: altFontFamily,
24963
- headingsFontFamily: headingsFontFamily,
24964
- headingsFontWeight: headingsFontWeight,
24965
- headingsColor: headingsColor,
24966
- fontSizeLarge: fontSizeLarge,
24967
- fontSizeSmall: fontSizeSmall,
24968
- fontSizeMini: fontSizeMini,
24969
- paddingLarge: paddingLarge,
24970
- paddingSmall: paddingSmall,
24971
- paddingMini: paddingMini,
24972
- baseBorderRadius: baseBorderRadius,
24973
- borderRadiusLarge: borderRadiusLarge,
24974
- borderRadiusSmall: borderRadiusSmall,
24975
- tableBackground: tableBackground,
24976
- tableBackgroundAccent: tableBackgroundAccent,
24977
- tableBackgroundHover: tableBackgroundHover,
24978
- tableBorder: tableBorder,
24979
- btnBackground: btnBackground,
24980
- btnBackgroundHighlight: btnBackgroundHighlight,
24981
- btnBorder: btnBorder,
24982
- btnPrimaryBackground: btnPrimaryBackground,
24983
- btnPrimaryBackgroundHighlight: btnPrimaryBackgroundHighlight,
24984
- btnInfoBackground: btnInfoBackground,
24985
- btnInfoBackgroundHighlight: btnInfoBackgroundHighlight,
24986
- btnSuccessBackground: btnSuccessBackground,
24987
- btnSuccessBackgroundHighlight: btnSuccessBackgroundHighlight,
24988
- btnWarningBackground: btnWarningBackground,
24989
- btnWarningBackgroundHighlight: btnWarningBackgroundHighlight,
24990
- btnDangerBackground: btnDangerBackground,
24991
- btnDangerBackgroundHighlight: btnDangerBackgroundHighlight,
24992
- btnInverseBackground: btnInverseBackground,
24993
- btnInverseBackgroundHighlight: btnInverseBackgroundHighlight,
24994
- inputBackground: inputBackground,
24995
- inputBorder: inputBorder,
24996
- inputBorderRadius: inputBorderRadius,
24997
- inputDisabledBackground: inputDisabledBackground,
24998
- formActionsBackground: formActionsBackground,
24999
- inputHeight: inputHeight,
25000
- dropdownBackground: dropdownBackground,
25001
- dropdownBorder: dropdownBorder,
25002
- dropdownDividerTop: dropdownDividerTop,
25003
- dropdownDividerBottom: dropdownDividerBottom,
25004
- dropdownLinkColor: dropdownLinkColor,
25005
- dropdownLinkColorHover: dropdownLinkColorHover,
25006
- dropdownLinkColorActive: dropdownLinkColorActive,
25007
- dropdownLinkBackgroundActive: dropdownLinkBackgroundActive,
25008
- dropdownLinkBackgroundHover: dropdownLinkBackgroundHover,
25009
- zindexDropdown: zindexDropdown,
25010
- zindexPopover: zindexPopover,
25011
- zindexTooltip: zindexTooltip,
25012
- zindexFixedNavbar: zindexFixedNavbar,
25013
- zindexHeader: zindexHeader,
25014
- zindexModalBackdrop: zindexModalBackdrop,
25015
- zindexModal: zindexModal,
25016
- zindexAboveModal: zindexAboveModal,
25017
- iconSpritePath: iconSpritePath,
25018
- iconWhiteSpritePath: iconWhiteSpritePath,
25019
- placeholderText: placeholderText,
25020
- hrBorder: hrBorder,
25021
- horizontalComponentOffset: horizontalComponentOffset,
25022
- wellBackground: wellBackground,
25023
- navbarCollapseWidth: navbarCollapseWidth,
25024
- navbarCollapseDesktopWidth: navbarCollapseDesktopWidth,
25025
- navbarHeight: navbarHeight,
25026
- navbarBackgroundHighlight: navbarBackgroundHighlight,
25027
- navbarBackground: navbarBackground,
25028
- navbarBorder: navbarBorder,
25029
- navbarText: navbarText,
25030
- navbarLinkColor: navbarLinkColor,
25031
- navbarLinkColorHover: navbarLinkColorHover,
25032
- navbarLinkColorActive: navbarLinkColorActive,
25033
- navbarLinkBackgroundHover: navbarLinkBackgroundHover,
25034
- navbarLinkBackgroundActive: navbarLinkBackgroundActive,
25035
- navbarBrandColor: navbarBrandColor,
25036
- navbarInverseBackground: navbarInverseBackground,
25037
- navbarInverseBackgroundHighlight: navbarInverseBackgroundHighlight,
25038
- navbarInverseBorder: navbarInverseBorder,
25039
- navbarInverseText: navbarInverseText,
25040
- navbarInverseLinkColor: navbarInverseLinkColor,
25041
- navbarInverseLinkColorHover: navbarInverseLinkColorHover,
25042
- navbarInverseLinkColorActive: navbarInverseLinkColorActive,
25043
- navbarInverseLinkBackgroundHover: navbarInverseLinkBackgroundHover,
25044
- navbarInverseLinkBackgroundActive: navbarInverseLinkBackgroundActive,
25045
- navbarInverseSearchBackground: navbarInverseSearchBackground,
25046
- navbarInverseSearchBackgroundFocus: navbarInverseSearchBackgroundFocus,
25047
- navbarInverseSearchBorder: navbarInverseSearchBorder,
25048
- navbarInverseSearchPlaceholderColor: navbarInverseSearchPlaceholderColor,
25049
- navbarInverseBrandColor: navbarInverseBrandColor,
25050
- paginationBackground: paginationBackground,
25051
- paginationBorder: paginationBorder,
25052
- paginationActiveBackground: paginationActiveBackground,
25053
- heroUnitBackground: heroUnitBackground,
25054
- heroUnitHeadingColor: heroUnitHeadingColor,
25055
- heroUnitLeadColor: heroUnitLeadColor,
25056
- warningText: warningText,
25057
- warningBackground: warningBackground,
25058
- warningBorder: warningBorder,
25059
- errorText: errorText,
25060
- errorBackground: errorBackground,
25061
- errorBorder: errorBorder,
25062
- successText: successText,
25063
- successBackground: successBackground,
25064
- successBorder: successBorder,
25065
- infoText: infoText,
25066
- infoBackground: infoBackground,
25067
- infoBorder: infoBorder,
25068
- tooltipColor: tooltipColor,
25069
- tooltipBackground: tooltipBackground,
25070
- tooltipArrowWidth: tooltipArrowWidth,
25071
- tooltipArrowColor: tooltipArrowColor,
25072
- popoverBackground: popoverBackground,
25073
- popoverArrowWidth: popoverArrowWidth,
25074
- popoverArrowColor: popoverArrowColor,
25075
- popoverTitleBackground: popoverTitleBackground,
25076
- popoverArrowOuterWidth: popoverArrowOuterWidth,
25077
- popoverArrowOuterColor: popoverArrowOuterColor,
25078
- gridColumns: gridColumns,
25079
- gridColumnWidth: gridColumnWidth,
25080
- gridGutterWidth: gridGutterWidth,
25081
- gridRowWidth: gridRowWidth,
25082
- gridColumnWidth1200: gridColumnWidth1200,
25083
- gridGutterWidth1200: gridGutterWidth1200,
25084
- gridRowWidth1200: gridRowWidth1200,
25085
- gridColumnWidth768: gridColumnWidth768,
25086
- gridGutterWidth768: gridGutterWidth768,
25087
- gridRowWidth768: gridRowWidth768,
25088
- fluidGridColumnWidth: fluidGridColumnWidth,
25089
- fluidGridGutterWidth: fluidGridGutterWidth,
25090
- fluidGridColumnWidth1200: fluidGridColumnWidth1200,
25091
- fluidGridGutterWidth1200: fluidGridGutterWidth1200,
25092
- fluidGridColumnWidth768: fluidGridColumnWidth768,
25093
- fluidGridGutterWidth768: fluidGridGutterWidth768,
25094
- kaGreen: kaGreen,
25095
- kaGreenLight: kaGreenLight,
25096
- kaBlue: kaBlue,
25097
- kaBlueLight: kaBlueLight,
25098
- grayExtraDark: grayExtraDark,
25099
- grayExtraLight: grayExtraLight,
25100
- graySuperLight: graySuperLight,
25101
- whiteDark: whiteDark,
25102
- dark: dark,
25103
- blueDarkUnsaturated: blueDarkUnsaturated,
25104
- blueDarkSaturated: blueDarkSaturated,
25105
- blueLight: blueLight,
25106
- greenLight: greenLight,
25107
- greenDark: greenDark,
25108
- yellowGreen: yellowGreen,
25109
- okGreen: okGreen,
25110
- alertRed: alertRed,
25111
- coral: coral,
25112
- grayBlue: grayBlue,
25113
- lightPageBackground: lightPageBackground,
25114
- yclaBlue: yclaBlue,
25115
- yclaTeal: yclaTeal,
25116
- yclaTealDark: yclaTealDark,
25117
- yclaGreenDark: yclaGreenDark,
25118
- yclaGreen: yclaGreen,
25119
- learnstormBlue: learnstormBlue,
25120
- homepageBlue: homepageBlue,
25121
- backgroundBlue: backgroundBlue,
25122
- teacherSignupBlue: teacherSignupBlue,
25123
- homepageGreen: homepageGreen,
25124
- streakColor: streakColor,
25125
- facebookColor: facebookColor,
25126
- blueGoogleColor: blueGoogleColor,
25127
- redGoogleColor: redGoogleColor,
25128
- homepageColor: homepageColor,
25129
- lightTextColor: lightTextColor,
25130
- fontSizeTiny: fontSizeTiny,
25131
- fontSizeNormal: fontSizeNormal,
25132
- fontSizeMedium: fontSizeMedium,
25133
- fontSizeExtraLarge: fontSizeExtraLarge,
25134
- fontSizeHuge: fontSizeHuge,
25135
- fontSizeBakana: fontSizeBakana,
25136
- fontSizeBananas: fontSizeBananas,
25137
- fixedWidthFontFamily: fixedWidthFontFamily,
25138
- contentPadding: contentPadding,
25139
- primaryButtonBackground: primaryButtonBackground,
25140
- primaryButtonBorder: primaryButtonBorder,
25141
- buttonTextColor: buttonTextColor,
25142
- buttonBorderRadius: buttonBorderRadius,
25143
- basicBorderColor: basicBorderColor,
25144
- minContainerWidth: minContainerWidth,
25145
- maxContainerWidth: maxContainerWidth,
25146
- formHintColor: formHintColor,
25147
- guidelineExampleText: guidelineExampleText,
25148
- hoverCardWidth: hoverCardWidth,
25149
- menuHighlightColor: menuHighlightColor,
25150
- menuHighlightBorderColor: menuHighlightBorderColor,
25151
- menuActiveTextColor: menuActiveTextColor,
25152
- menuInactiveTextColor: menuInactiveTextColor,
25153
- menuSubheaderTextColor: menuSubheaderTextColor,
25154
- menuBorderColor: menuBorderColor,
25155
- unreadBackgroundColor: unreadBackgroundColor,
25156
- menuLineHeight: menuLineHeight,
25157
- menuSubheaderLineHeight: menuSubheaderLineHeight,
25158
- menuSubheaderFontSize: menuSubheaderFontSize,
25159
- notificationBarColor: notificationBarColor,
25160
- modalBodyTopPadding: modalBodyTopPadding,
25161
- modalDialogPadding: modalDialogPadding,
25162
- modalSectionPadding: modalSectionPadding,
25163
- mathDomain1: mathDomain1,
25164
- mathDomain2: mathDomain2,
25165
- mathDomain3: mathDomain3,
25166
- mathDomain4: mathDomain4,
25167
- partnerContentDomain1: partnerContentDomain1,
25168
- partnerContentDomain2: partnerContentDomain2,
25169
- partnerContentDomain3: partnerContentDomain3,
25170
- partnerContentDomain4: partnerContentDomain4,
25171
- csDomain1: csDomain1,
25172
- csDomain2: csDomain2,
25173
- csDomain3: csDomain3,
25174
- csDomain4: csDomain4,
25175
- economicsDomain1: economicsDomain1,
25176
- economicsDomain2: economicsDomain2,
25177
- economicsDomain3: economicsDomain3,
25178
- economicsDomain4: economicsDomain4,
25179
- collegeCareersMoreDomain1: collegeCareersMoreDomain1,
25180
- collegeCareersMoreDomain2: collegeCareersMoreDomain2,
25181
- collegeCareersMoreDomain3: collegeCareersMoreDomain3,
25182
- collegeCareersMoreDomain4: collegeCareersMoreDomain4,
25183
- humanitiesDomain1: humanitiesDomain1,
25184
- humanitiesDomain2: humanitiesDomain2,
25185
- humanitiesDomain3: humanitiesDomain3,
25186
- humanitiesDomain4: humanitiesDomain4,
25187
- gtpDomain1: gtpDomain1,
25188
- gtpDomain2: gtpDomain2,
25189
- gtpDomain3: gtpDomain3,
25190
- gtpDomain4: gtpDomain4,
25191
- scienceDomain1: scienceDomain1,
25192
- scienceDomain2: scienceDomain2,
25193
- scienceDomain3: scienceDomain3,
25194
- scienceDomain4: scienceDomain4,
25195
- testPrepDomain1: testPrepDomain1,
25196
- testPrepDomain2: testPrepDomain2,
25197
- testPrepDomain3: testPrepDomain3,
25198
- testPrepDomain4: testPrepDomain4,
25199
- defaultDomain1: defaultDomain1,
25200
- defaultDomain2: defaultDomain2,
25201
- defaultDomain3: defaultDomain3,
25202
- defaultDomain4: defaultDomain4,
25203
- defaultDomainColor: defaultDomainColor,
25204
- defaultSubjectColor: defaultSubjectColor,
25205
- defaultTopicColor: defaultTopicColor,
25206
- defaultHoverColor: defaultHoverColor,
25207
- defaultLinkColor: defaultLinkColor,
25208
- defaultLinkHoverColor: defaultLinkHoverColor,
25209
- scienceDomainColor: scienceDomainColor,
25210
- scienceSubjectColor: scienceSubjectColor,
25211
- scienceTopicColor: scienceTopicColor,
25212
- scienceHoverColor: scienceHoverColor,
25213
- scienceLinkColor: scienceLinkColor,
25214
- scienceLinkHoverColor: scienceLinkHoverColor,
25215
- humanitiesDomainColor: humanitiesDomainColor,
25216
- humanitiesSubjectColor: humanitiesSubjectColor,
25217
- humanitiesTopicColor: humanitiesTopicColor,
25218
- humanitiesHoverColor: humanitiesHoverColor,
25219
- humanitiesLinkColor: humanitiesLinkColor,
25220
- humanitiesLinkHoverColor: humanitiesLinkHoverColor,
25221
- economicsDomainColor: economicsDomainColor,
25222
- economicsSubjectColor: economicsSubjectColor,
25223
- economicsTopicColor: economicsTopicColor,
25224
- economicsHoverColor: economicsHoverColor,
25225
- economicsLinkColor: economicsLinkColor,
25226
- economicsLinkHoverColor: economicsLinkHoverColor,
25227
- csDomainColor: csDomainColor,
25228
- csSubjectColor: csSubjectColor,
25229
- csTopicColor: csTopicColor,
25230
- csHoverColor: csHoverColor,
25231
- csLinkColor: csLinkColor,
25232
- csLinkHoverColor: csLinkHoverColor,
25233
- partnerContentDomainColor: partnerContentDomainColor,
25234
- partnerContentSubjectColor: partnerContentSubjectColor,
25235
- partnerContentTopicColor: partnerContentTopicColor,
25236
- partnerContentHoverColor: partnerContentHoverColor,
25237
- partnerContentLinkColor: partnerContentLinkColor,
25238
- partnerContentLinkHoverColor: partnerContentLinkHoverColor,
25239
- essayDomainColor: essayDomainColor,
25240
- mathDomainColor: mathDomainColor,
25241
- mathSubjectColor: mathSubjectColor,
25242
- mathTopicColor: mathTopicColor,
25243
- mathHoverColor: mathHoverColor,
25244
- mathLinkColor: mathLinkColor,
25245
- mathLinkHoverColor: mathLinkHoverColor,
25246
- testPrepDomainColor: testPrepDomainColor,
25247
- testPrepSubjectColor: testPrepSubjectColor,
25248
- testPrepTopicColor: testPrepTopicColor,
25249
- testPrepHoverColor: testPrepHoverColor,
25250
- testPrepLinkColor: testPrepLinkColor,
25251
- testPrepLinkHoverColor: testPrepLinkHoverColor,
25252
- collegeCareersMoreDomainColor: collegeCareersMoreDomainColor,
25253
- collegeCareersMoreSubjectColor: collegeCareersMoreSubjectColor,
25254
- collegeCareersMoreTopicColor: collegeCareersMoreTopicColor,
25255
- collegeCareersMoreHoverColor: collegeCareersMoreHoverColor,
25256
- collegeCareersMoreLinkColor: collegeCareersMoreLinkColor,
25257
- collegeCareersMoreLinkHoverColor: collegeCareersMoreLinkHoverColor,
25258
- satDomainColor: satDomainColor,
25259
- satSubjectColor: satSubjectColor,
25260
- satTopicColor: satTopicColor,
25261
- satHoverColor: satHoverColor,
25262
- satLinkColor: satLinkColor,
25263
- satLinkHoverColor: satLinkHoverColor,
25264
- colorProficient: colorProficient,
25265
- colorPracticed: colorPracticed,
25266
- colorMastery1: colorMastery1,
25267
- colorMastery2: colorMastery2,
25268
- colorMastery3: colorMastery3,
25269
- colorSuggested: colorSuggested,
25270
- colorReview: colorReview,
25271
- colorNotStarted: colorNotStarted,
25272
- colorStarted: colorStarted,
25273
- colorStruggling: colorStruggling,
25274
- colorPersonal: colorPersonal,
25275
- colorPractice: colorPractice,
25276
- colorEnergyPoints: colorEnergyPoints,
25277
- pureSmMin: pureSmMin$1,
25278
- pureMdMin: pureMdMin$1,
25279
- pureLgMin: pureLgMin$1,
25280
- pureXlMin: pureXlMin$1,
25281
- pureXsMax: pureXsMax$1,
25282
- pureSmMax: pureSmMax$1,
25283
- pureMdMax: pureMdMax$1,
25284
- pureLgMax: pureLgMax$1
25285
- });
25286
-
25287
- /**
25288
- * A default set of media queries to use for different screen sizes. Based on
25289
- * the breakpoints from purecss.
25290
- *
25291
- * Use like:
25292
- * StyleSheet.create({
25293
- * blah: {
25294
- * [mediaQueries.xs]: {
25295
- *
25296
- * },
25297
- * },
25298
- * });
25299
- */
25300
- var {
25301
- pureXsMax,
25302
- pureSmMin,
25303
- pureSmMax,
25304
- pureMdMin,
25305
- pureMdMax,
25306
- pureLgMin,
25307
- pureLgMax,
25308
- pureXlMin
25309
- } = constants$1;
25310
- var mediaQueries = {
25311
- xs: "@media screen and (max-width: ".concat(pureXsMax, ")"),
25312
- sm: "@media screen and (min-width: ".concat(pureSmMin, ") and ") + "(max-width: ".concat(pureSmMax, ")"),
25313
- md: "@media screen and (min-width: ".concat(pureMdMin, ") and ") + "(max-width: ".concat(pureMdMax, ")"),
25314
- lg: "@media screen and (min-width: ".concat(pureLgMin, ") and ") + "(max-width: ".concat(pureLgMax, ")"),
25315
- xl: "@media screen and (min-width: ".concat(pureXlMin, ")"),
25316
- xsOrSmaller: "@media screen and (max-width: ".concat(pureXsMax, ")"),
25317
- smOrSmaller: "@media screen and (max-width: ".concat(pureSmMax, ")"),
25318
- mdOrSmaller: "@media screen and (max-width: ".concat(pureMdMax, ")"),
25319
- lgOrSmaller: "@media screen and (max-width: ".concat(pureLgMax, ")"),
25320
- smOrLarger: "@media screen and (min-width: ".concat(pureSmMin, ")"),
25321
- mdOrLarger: "@media screen and (min-width: ".concat(pureMdMin, ")"),
25322
- lgOrLarger: "@media screen and (min-width: ".concat(pureLgMin, ")"),
25323
- xlOrLarger: "@media screen and (min-width: ".concat(pureXlMin, ")")
25324
- };
25325
-
25326
- var colors$1 = {
25327
- white: "#FFFFFF",
25328
- gray98: "#FAFAFA",
25329
- gray97: "#F6F7F7",
25330
- gray95: "#F0F1F2",
25331
- gray90: "#E3E5E6",
25332
- gray85: "#D6D8DA",
25333
- gray76: "#BABEC2",
25334
- gray72: "#999A9D",
25335
- gray68: "#888D93",
25336
- gray55: "#707378",
25337
- gray41: "#626569",
25338
- gray25: "#3B3E40",
25339
- gray17: "#21242C",
25340
- gray10: "#1499af",
25341
- black: "#000000",
25342
- // These colors are pulled out from constants.js, which is itself generated
25343
- // from variables.less. We should probably avoid duplicating these here.
25344
- alertRed,
25345
- homepageBlue,
25346
- kaBlue,
25347
- kaBlueLight,
25348
- kaGreen,
25349
- kaGreenLight,
25350
- learnstormBlue,
25351
- backgroundBlue,
25352
- adminGreen: "#78C008",
25353
- kaBlueExtraLight: "#39c2db",
25354
- kaBlueHover: "#0c7f99",
25355
- kaGreenHover: "#518005",
25356
- // Domain-agnostic colors related to the study guide experience in the
25357
- // content library.
25358
- skyDark: "#001f4d",
25359
- recommendationGold: "#ffbe26",
25360
- starAced: "#ff9c39",
25361
- // We interploate the domain colors into this colors object for
25362
- // historical reasons, but everyone using domain-specific colors
25363
- // should switch to using the domainColors() function to look up
25364
- // colors instead.
25365
- //
25366
- // TODO(davidflanagan): remove this line once everything is
25367
- // working correctly with the domainColors() accessor.
25368
- // ...domainToColorsMap,
25369
- // mission: missionColors,
25370
- // Colors for various OAuth providers
25371
- google: "#C1432f",
25372
- modernGoogle: "#be2612",
25373
- modernGoogleHover: "#8c1c0d",
25374
- facebook: "#4267B2",
25375
- modernFacebook: "#4267B2",
25376
- modernFacebookHover: "#00294a",
25377
- wonderBlocksGold: "#FFB100",
25378
- wonderBlocksLightBlue: "#37C5FD",
25379
- // We're using rgba instead of opacity to avoid affecting the focus outline
25380
- // when we just want to make the color transparent.
25381
- breadcrumbs: "rgba(255, 255, 255, 0.7)"
25382
- };
25383
- var borderRadius = 4;
25384
- var breadcrumbStyles = {
25385
- color: colors$1.breadcrumbs,
25386
- fontFamily: "inherit",
25387
- fontSize: 15,
25388
- fontWeight: "bold",
25389
- letterSpacing: 0.8,
25390
- lineHeight: "19px",
25391
- textTransform: "uppercase",
25392
- // Disable subpixel antialiasing for OSX (improves light on dark text)
25393
- MozOsxFontSmoothing: "grayscale",
25394
- WebkitFontSmoothing: "antialiased"
25395
- };
25396
- var fonts = {
25397
- // The body of the page is setup to use 'Helvetica' by default and
25398
- // 'Lato' if/once it downloads. For your elements to follow this
25399
- // pattern, all you need is to make the text in your element
25400
- // inherit from the body using the "inherit" value.
25401
- regular: "inherit"
25402
- };
25403
- var typography = {
25404
- // For subject names
25405
- subjectHeadingDesktop: {
25406
- fontFamily: "inherit",
25407
- fontSize: 50,
25408
- fontWeight: "bold",
25409
- lineHeight: "61px"
25410
- },
25411
- subjectHeadingMobile: {
25412
- fontFamily: "inherit",
25413
- fontSize: 35,
25414
- fontWeight: "bold",
25415
- lineHeight: "37px"
25416
- },
25417
- // For the most important thing on the page
25418
- conceptHeadingDesktop: {
25419
- fontFamily: "inherit",
25420
- fontSize: 35,
25421
- fontWeight: "bold",
25422
- lineHeight: "37px"
25423
- },
25424
- conceptHeadingMobile: {
25425
- fontFamily: "inherit",
25426
- fontSize: 23,
25427
- fontWeight: "bold",
25428
- lineHeight: "27px"
25429
- },
25430
- // For sections or modules
25431
- subheadingDesktop: {
25432
- fontFamily: "inherit",
25433
- fontSize: 23,
25434
- fontWeight: "bold",
25435
- lineHeight: "27px"
25436
- },
25437
- subheadingMobile: {
25438
- fontFamily: "inherit",
25439
- fontSize: 20,
25440
- fontWeight: "bold",
25441
- lineHeight: "24px"
25442
- },
25443
- smallSubheadingDesktop: {
25444
- fontFamily: "inherit",
25445
- fontSize: 20,
25446
- lineHeight: 1.25
25447
- },
25448
- smallSubheadingMobile: {
25449
- fontFamily: "inherit",
25450
- fontSize: 15,
25451
- lineHeight: 1.25
25452
- },
25453
- // For callouts
25454
- smallHeading: {
25455
- color: colors$1.gray25,
25456
- fontFamily: "inherit",
25457
- fontSize: 17,
25458
- fontWeight: "bold",
25459
- lineHeight: "23px"
25460
- },
25461
- smallHeadingMobile: {
25462
- color: colors$1.gray25,
25463
- fontFamily: "inherit",
25464
- fontSize: 15,
25465
- fontWeight: "bold",
25466
- lineHeight: "18px"
25467
- },
25468
- // Accent headings
25469
- accentHeading: {
25470
- color: colors$1.gray68,
25471
- fontFamily: "inherit",
25472
- fontSize: 15,
25473
- fontWeight: "bold",
25474
- letterSpacing: 0.8,
25475
- lineHeight: "19px",
25476
- textTransform: "uppercase"
25477
- },
25478
- bodyLarge: {
25479
- // For articles with multiple paragraphs
25480
- fontFamily: fonts.regular,
25481
- fontSize: 20,
25482
- lineHeight: "30px"
25483
- },
25484
- bodySmall: {
25485
- // For small blocks of copy
25486
- fontFamily: fonts.regular,
25487
- fontSize: 17,
25488
- fontWeight: "normal",
25489
- lineHeight: "23px"
25490
- },
25491
- bodySmallBold: {
25492
- // For small blocks of copy
25493
- fontFamily: fonts.regular,
25494
- fontSize: 17,
25495
- fontWeight: "bold",
25496
- lineHeight: "23px"
25497
- },
25498
- bodyXsmall: {
25499
- // For metadata, descriptions, etc
25500
- fontFamily: fonts.regular,
25501
- fontSize: 15,
25502
- lineHeight: "22px"
25503
- },
25504
- bodyXsmallBold: {
25505
- // For emphasized metadata, descriptions, etc
25506
- fontFamily: "inherit",
25507
- fontSize: 15,
25508
- fontWeight: "bold",
25509
- lineHeight: "22px"
25510
- },
25511
- breadcrumb: breadcrumbStyles,
25512
- // For in-page tabs, breadcrumbs
25513
- breadcrumbSmall: _objectSpread2(_objectSpread2({}, breadcrumbStyles), {}, {
25514
- fontSize: 12,
25515
- lineHeight: "13px"
25516
- }),
25517
- labelLarge: {
25518
- // For chiclets and thumbnail titles
25519
- fontFamily: "inherit",
25520
- fontSize: 23,
25521
- fontWeight: "bold",
25522
- lineHeight: "27px"
25523
- },
25524
- labelMedium: {
25525
- // For chiclets and thumbnail titles
25526
- fontFamily: "inherit",
25527
- fontSize: 15,
25528
- fontWeight: "bold",
25529
- lineHeight: "18px"
25530
- },
25531
- labelSmall: {
25532
- // Generally used with labelLarge, for breadcrumbs in thumbnails
25533
- fontFamily: fonts.regular,
25534
- fontSize: 12,
25535
- lineHeight: "14px"
25536
- },
25537
- caption: {
25538
- // For image captions
25539
- fontFamily: fonts.regular,
25540
- fontSize: 14,
25541
- fontStyle: "italic",
25542
- lineHeight: "17px"
25543
- },
25544
- desktopScalingOnMobile: {
25545
- // For when you need Mobile Safari and friends to stick to desktop
25546
- // sizes
25547
- MozTextSizeAdjust: "100%",
25548
- MsTextSizeAdjust: "100%",
25549
- WebkitTextSizeAdjust: "100%"
25550
- },
25551
- // TODO (josh): This should move to within <ModalHeader>
25552
- modalSubtitle: {
25553
- fontSize: 12,
25554
- lineHeight: 1.65,
25555
- // NOTE (josh): Font smoothing used here to create a 'medium' weight
25556
- // font, between normal and bold, on webkit browsers.
25557
- // This prop is an a11y risk when used on non-bold text, since it
25558
- // makes text very thin, but it's fine on bold text.
25559
- WebkitFontSmoothing: "antialiased",
25560
- fontWeight: "bold"
25561
- },
25562
- // HACK(kevinb): temporary wonder blocks styles for header only
25563
- // TODO(kevinb): use components from wonder-blocks-typography instead
25564
- wonderBlocksHeader: {
25565
- paddingLeft: 16,
25566
- paddingRight: 16,
25567
- paddingBottom: 24,
25568
- paddingTop: 34,
25569
- [mediaQueries.mdOrLarger]: {
25570
- paddingBottom: 32
25571
- }
25572
- },
25573
- // HACK(kevinb): temporary wonder blocks styles for header only
25574
- // TODO(kevinb): use components from wonder-blocks-typography instead
25575
- wonderBlocksTitle: {
25576
- color: colors$1.white,
25577
- fontWeight: 900,
25578
- // "Black" weight
25579
- fontSize: 28,
25580
- lineHeight: "32px",
25581
- margin: 0,
25582
- [mediaQueries.mdOrLarger]: {
25583
- fontSize: 36,
25584
- lineHeight: "40px"
25585
- }
25586
- },
25587
- // HACK(kevinb): temporary wonder blocks styles for header only
25588
- // TODO(kevinb): use components from wonder-blocks-typography instead
25589
- wonderBlocksLabelLarge: {
25590
- fontSize: 16,
25591
- lineHeight: "20px",
25592
- fontWeight: 700 // Bold
25593
-
25594
- }
25595
- };
25596
-
25597
- var globalStyles = /*#__PURE__*/Object.freeze({
25598
- __proto__: null,
25599
- colors: colors$1,
25600
- borderRadius: borderRadius,
25601
- fonts: fonts,
25602
- typography: typography
25603
- });
25604
-
25605
- var DefaultPropValues = Object.freeze({
25606
- side: "top",
25607
- offset: 0,
25608
- offsetFrom: "bubble",
25609
- tooltipMargin: 0,
25610
- noPadding: false,
25611
- color: colors$1.gray17,
25612
- inverted: false,
25613
- dismissOnClickClose: false,
25614
- toggleOnHover: true,
25615
- showOnMount: false
25616
- });
24602
+ class HighlightTooltip extends React.PureComponent {
24603
+ _getFocusRect() {
24604
+ var {
24605
+ focusNode,
24606
+ focusOffset,
24607
+ offsetParent
24608
+ } = this.props; // Get a range of *just* the focus point of the selection.
25617
24609
 
25618
- class NewTooltip extends React.Component {
25619
- constructor(props) {
25620
- super(props);
24610
+ var focusRange = document.createRange();
24611
+ focusRange.setStart(focusNode, focusOffset);
24612
+ focusRange.setEnd(focusNode, focusOffset); // Then, get the bounding box of the collapsed range. This will be a
24613
+ // zero-width rectangle, but still have positioning information, which
24614
+ // we can use the position the tooltip.
24615
+ //
24616
+ // NOTE(mdr): If we used getClientBoundingRect here instead, Safari
24617
+ // would return an unpositioned rect. But all tested browsers at
24618
+ // time of writing (latest Chrome, Firefox, Safari) return at least
24619
+ // one rectangle from getClientRects, and it's well-positioned.
25621
24620
 
25622
- _defineProperty(this, "_handleDismiss", () => {
25623
- if (this.props.dismissed == null) {
25624
- // We're serving as an "uncontrolled component": our dismissed
25625
- // state is managed by us, not by incoming props.
25626
- this.setState({
25627
- dismissed: true
25628
- });
25629
- }
24621
+ var focusRect = focusRange.getClientRects()[0]; // NOTE(mdr): ...except in the case where the focus is between two
24622
+ // paragraphs, in which case the focus range has no client rects?
24623
+ // Not sure why, or in what browsers (only noticed in Chrome 60),
24624
+ // but let's catch that case and bail out.
24625
+ // TODO(mdr): Instead, we should somehow walk back the range until we
24626
+ // find an appropriate position for the tooltip. Sounds tricky!
25630
24627
 
25631
- this.props.onDismiss && this.props.onDismiss();
25632
- });
25633
-
25634
- _defineProperty(this, "_popoverContentColor", () => {
25635
- var {
25636
- inverted,
25637
- color
25638
- } = this.props;
25639
-
25640
- if (inverted) {
25641
- return "darkBlue";
25642
- } else if (color === "blue") {
25643
- return "blue";
25644
- }
25645
-
25646
- return "white";
25647
- });
25648
-
25649
- this.state = {
25650
- dismissed: props.dismissed != null ? props.dismissed : false,
25651
- hovered: false
25652
- };
25653
- }
25654
-
25655
- UNSAFE_componentWillReceiveProps(nextProps) {
25656
- if (Object.keys(nextProps).includes("dismissed")) {
25657
- this.setState({
25658
- dismissed: nextProps.dismissed
25659
- });
25660
- }
25661
- }
25662
-
25663
- _shouldShowTooltip() {
25664
- var {
25665
- toggleOnHover,
25666
- showOnMount
25667
- } = this.props;
25668
- var {
25669
- dismissed
25670
- } = this.state; // If the tooltip was dismissed, or we're not sure yet, don't show it.
25671
-
25672
- if (dismissed) {
25673
- return false;
25674
- } // If the tooltip should show on mount, and nothing has changed yet
25675
- // that would cause it to hide (i.e., the `dismissed` case above fell
25676
- // through), show the tooltip.
25677
-
25678
-
25679
- if (showOnMount) {
25680
- return true;
25681
- } // If the target is hovered, and our visibility is hover-based, show
25682
- // the tooltip.
25683
-
25684
-
25685
- if (toggleOnHover && this.state.hovered) {
25686
- return true;
25687
- }
25688
-
25689
- return false;
25690
- }
25691
-
25692
- render() {
25693
- var {
25694
- side,
25695
- children,
25696
- content,
25697
- dismissOnClickClose
25698
- } = this.props;
25699
- var {
25700
- onMouseEnter: _onMouseEnter,
25701
- onMouseLeave: _onMouseLeave
25702
- } = this.props;
25703
- return /*#__PURE__*/React.createElement(Popover, {
25704
- content: /*#__PURE__*/React.createElement(PopoverContentCore, {
25705
- color: this._popoverContentColor(),
25706
- closeButtonVisible: dismissOnClickClose,
25707
- style: {}
25708
- }, content),
25709
- placement: side,
25710
- opened: this._shouldShowTooltip(),
25711
- onClose: this._handleDismiss,
25712
- dismissEnabled: false,
25713
- testId: "question-id"
25714
- }, /*#__PURE__*/React.createElement("div", {
25715
- onMouseEnter: () => {
25716
- _onMouseEnter && _onMouseEnter();
25717
- this.setState({
25718
- hovered: true
25719
- });
25720
- },
25721
- onMouseLeave: () => {
25722
- _onMouseLeave && _onMouseLeave();
25723
- this.setState({
25724
- hovered: false
25725
- });
25726
- }
25727
- }, children));
25728
- }
25729
-
25730
- }
25731
-
25732
- _defineProperty(NewTooltip, "defaultProps", DefaultPropValues);
25733
-
25734
- class HighlightTooltip extends React.PureComponent {
25735
- constructor() {
25736
- super(...arguments);
25737
-
25738
- _defineProperty(this, "_tooltip", void 0);
25739
- }
25740
-
25741
- _getFocusRect() {
25742
- var {
25743
- focusNode,
25744
- focusOffset,
25745
- offsetParent
25746
- } = this.props; // Get a range of *just* the focus point of the selection.
25747
-
25748
- var focusRange = document.createRange();
25749
- focusRange.setStart(focusNode, focusOffset);
25750
- focusRange.setEnd(focusNode, focusOffset); // Then, get the bounding box of the collapsed range. This will be a
25751
- // zero-width rectangle, but still have positioning information, which
25752
- // we can use the position the tooltip.
25753
- //
25754
- // NOTE(mdr): If we used getClientBoundingRect here instead, Safari
25755
- // would return an unpositioned rect. But all tested browsers at
25756
- // time of writing (latest Chrome, Firefox, Safari) return at least
25757
- // one rectangle from getClientRects, and it's well-positioned.
25758
-
25759
- var focusRect = focusRange.getClientRects()[0]; // NOTE(mdr): ...except in the case where the focus is between two
25760
- // paragraphs, in which case the focus range has no client rects?
25761
- // Not sure why, or in what browsers (only noticed in Chrome 60),
25762
- // but let's catch that case and bail out.
25763
- // TODO(mdr): Instead, we should somehow walk back the range until we
25764
- // find an appropriate position for the tooltip. Sounds tricky!
25765
-
25766
- if (!focusRect) {
25767
- Log.log("[Highlighting] Known bug: Could not determine the focus " + 'position, so did not show an "Add Highlight" tooltip. ' + "https://app.asana.com/0/329800276300868/413878480039713 " + "(see also /r/asana-links)");
25768
- return null;
25769
- } // Compute the desired position of the tooltip relative to the offset
25770
- // parent.
24628
+ if (!focusRect) {
24629
+ Log.log("[Highlighting] Known bug: Could not determine the focus " + 'position, so did not show an "Add Highlight" tooltip. ' + "https://app.asana.com/0/329800276300868/413878480039713 " + "(see also /r/asana-links)");
24630
+ return null;
24631
+ } // Compute the desired position of the tooltip relative to the offset
24632
+ // parent.
25771
24633
 
25772
24634
 
25773
24635
  var {
@@ -25791,29 +24653,30 @@ class HighlightTooltip extends React.PureComponent {
25791
24653
 
25792
24654
  if (!focusRect) {
25793
24655
  return null;
25794
- }
24656
+ } // using div instead of TooltipContent because
24657
+ // TooltipContent wouldn't let me overwrite
24658
+ // user-select and onClick
24659
+
25795
24660
 
25796
24661
  var content = /*#__PURE__*/React.createElement("div", {
25797
- className: css(styles$x.tooltipLabel)
24662
+ className: css(styles$x.tooltipLabel),
24663
+ onClick: this.props.onClick
25798
24664
  }, this.props.label);
25799
- return /*#__PURE__*/React.createElement(NewTooltip, {
25800
- content: content,
25801
- color: colors$1.kaBlue,
25802
- inverted: true,
25803
- onClick: this.props.onClick,
24665
+ var style = {
24666
+ position: "absolute",
24667
+ left: focusRect.left,
24668
+ // offset the spacing WB provides around tooltips
24669
+ top: "calc(".concat(Math.round(focusRect.top), "px + 0.95em)"),
24670
+ height: 0
24671
+ };
24672
+ return /*#__PURE__*/React.createElement("div", {
24673
+ style: style,
25804
24674
  onMouseEnter: this.props.onMouseEnter,
25805
- onMouseLeave: this.props.onMouseLeave,
25806
- toggleOnHover: false,
25807
- showOnMount: true,
25808
- ref: e => this._tooltip = e
25809
- }, /*#__PURE__*/React.createElement("div", {
25810
- style: {
25811
- position: "absolute",
25812
- left: focusRect.left,
25813
- top: focusRect.top,
25814
- height: focusRect.height
25815
- }
25816
- }));
24675
+ onMouseLeave: this.props.onMouseLeave
24676
+ }, /*#__PURE__*/React.createElement(Tooltip$1, {
24677
+ content: content,
24678
+ opened: true
24679
+ }, /*#__PURE__*/React.createElement("div", null)));
25817
24680
  }
25818
24681
 
25819
24682
  }
@@ -25825,7 +24688,10 @@ var styles$x = StyleSheet.create({
25825
24688
  // the user accidentally selects the "Add highlight" tooltip text, then
25826
24689
  // we lose our reference to the _actual_ text they want to highlight,
25827
24690
  // and the "Add highlight" action fails.
25828
- userSelect: "none"
24691
+ userSelect: "none",
24692
+ fontFamily: "\"Lato\", sans-serif",
24693
+ padding: "10px ".concat(Spacing.medium_16, "px"),
24694
+ cursor: "pointer"
25829
24695
  }
25830
24696
  });
25831
24697
 
@@ -25976,7 +24842,7 @@ class SelectionTracker extends React.PureComponent {
25976
24842
  });
25977
24843
 
25978
24844
  _defineProperty(this, "_handleSelectionChange", () => {
25979
- this._updateTrackedSelection(this.props.buildHighlight);
24845
+ this._updateTrackedSelection();
25980
24846
 
25981
24847
  if (this.state.mouseState === "down") {
25982
24848
  this.setState({
@@ -26002,15 +24868,15 @@ class SelectionTracker extends React.PureComponent {
26002
24868
  this._updateListeners(false, this.props.enabled);
26003
24869
  }
26004
24870
 
26005
- UNSAFE_componentWillReceiveProps(nextProps) {
26006
- if (this.props.buildHighlight !== nextProps.buildHighlight) {
24871
+ componentDidUpdate(prevProps) {
24872
+ if (this.props.buildHighlight !== prevProps.buildHighlight) {
26007
24873
  // The highlight-building function changed, so the
26008
24874
  // proposedHighlight we built with it might be different, or no
26009
24875
  // longer be valid. Update accordingly.
26010
- this._updateTrackedSelection(nextProps.buildHighlight);
24876
+ this._updateTrackedSelection();
26011
24877
  }
26012
24878
 
26013
- this._updateListeners(this.props.enabled, nextProps.enabled);
24879
+ this._updateListeners(prevProps.enabled, this.props.enabled);
26014
24880
  }
26015
24881
 
26016
24882
  componentWillUnmount() {
@@ -26067,15 +24933,18 @@ class SelectionTracker extends React.PureComponent {
26067
24933
  };
26068
24934
  }
26069
24935
  /**
26070
- * Compute the current TrackedSelection from the document state.
24936
+ * Compute and update the TrackedSelection to reflect the document state.
26071
24937
  */
26072
24938
 
26073
24939
 
26074
- _computeTrackedSelection(buildHighlight) {
24940
+ _updateTrackedSelection() {
26075
24941
  var focusAndRange = this._computeFocusAndRange();
26076
24942
 
26077
24943
  if (!focusAndRange) {
26078
- return null;
24944
+ this.setState({
24945
+ trackedSelection: null
24946
+ });
24947
+ return;
26079
24948
  }
26080
24949
 
26081
24950
  var {
@@ -26083,26 +24952,20 @@ class SelectionTracker extends React.PureComponent {
26083
24952
  focusOffset,
26084
24953
  range
26085
24954
  } = focusAndRange;
26086
- var proposedHighlight = buildHighlight(range);
24955
+ var proposedHighlight = this.props.buildHighlight(range);
26087
24956
 
26088
24957
  if (!proposedHighlight) {
26089
- return null;
24958
+ this.setState({
24959
+ trackedSelection: null
24960
+ });
24961
+ return;
26090
24962
  }
26091
24963
 
26092
- return {
24964
+ var trackedSelection = {
26093
24965
  focusNode,
26094
24966
  focusOffset,
26095
24967
  proposedHighlight
26096
24968
  };
26097
- }
26098
- /**
26099
- * Update the TrackedSelection to reflect the document state.
26100
- */
26101
-
26102
-
26103
- _updateTrackedSelection(buildHighlight) {
26104
- var trackedSelection = this._computeTrackedSelection(buildHighlight);
26105
-
26106
24969
  this.setState({
26107
24970
  trackedSelection
26108
24971
  });
@@ -26481,10 +25344,6 @@ var styles$w = StyleSheet.create({
26481
25344
  }
26482
25345
  });
26483
25346
 
26484
- var getLineHeightForNode = (line1, line2) => {
26485
- return $(line2).offset().top - $(line1).offset().top;
26486
- };
26487
-
26488
25347
  function getInitialParseState() {
26489
25348
  return {
26490
25349
  currentRef: [],
@@ -26853,65 +25712,40 @@ var PassageMarkdown = {
26853
25712
  getInitialParseState
26854
25713
  };
26855
25714
 
26856
- // A fake paragraph to measure the line height of the passage. In CSS we always
26857
- // set the line height to 22 pixels, but when using the browser zoom feature,
26858
- // the line height often ends up being a fractional number of pixels close to
26859
- // 22 pixels.
25715
+ // A fake paragraph to measure the line height of the passage,
25716
+ // so we can adapt to browser zoom
26860
25717
  class LineHeightMeasurer extends React.Component {
26861
25718
  constructor() {
26862
25719
  super(...arguments);
26863
25720
 
26864
- _defineProperty(this, "_cachedLineHeight", void 0);
26865
-
26866
- _defineProperty(this, "body", void 0);
26867
-
26868
- _defineProperty(this, "end", void 0);
25721
+ _defineProperty(this, "_line", void 0);
26869
25722
  }
26870
25723
 
26871
25724
  measureLineHeight() {
26872
- if (typeof this._cachedLineHeight !== "number") {
26873
- this.forceMeasureLineHeight();
25725
+ if (!this._line) {
25726
+ return 0;
26874
25727
  }
26875
25728
 
26876
- return this._cachedLineHeight;
26877
- }
26878
-
26879
- forceMeasureLineHeight() {
26880
- var body = this.body;
26881
- var end = this.end;
26882
-
26883
- if (!body || !end) {
26884
- return;
26885
- } // Add some text which magically fills an entire line.
26886
-
26887
-
26888
- body.textContent = " \u0080"; // Now, the line height is the difference between the top of the
26889
- // second line and the top of the first line.
26890
-
26891
- this._cachedLineHeight = getLineHeightForNode(body, end); // Clear out the first line so it doesn't overlap the passage.
26892
-
26893
- body.textContent = "";
25729
+ return this._line.clientHeight;
26894
25730
  }
26895
25731
 
26896
25732
  render() {
26897
25733
  return /*#__PURE__*/React.createElement("div", {
26898
- className: css(styles$v.measurer)
26899
- }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", {
26900
- ref: _ref => this.body = _ref,
25734
+ className: css(styles$v.measurer),
25735
+ "aria-hidden": "true"
25736
+ }, /*#__PURE__*/React.createElement("div", {
25737
+ ref: _ref => this._line = _ref,
26901
25738
  className: "paragraph"
26902
- }), /*#__PURE__*/React.createElement("div", {
26903
- ref: _ref2 => this.end = _ref2
26904
- })));
25739
+ }, "Line Height Measurement"));
26905
25740
  }
26906
25741
 
26907
25742
  }
26908
-
26909
25743
  var styles$v = StyleSheet.create({
26910
25744
  measurer: {
26911
25745
  position: "absolute",
26912
- width: "100%",
26913
25746
  top: 0,
26914
25747
  left: 0,
25748
+ visibility: "hidden",
26915
25749
  // keep from blocking text selection
26916
25750
  zIndex: -1
26917
25751
  }
@@ -26958,7 +25792,7 @@ class Passage extends React.Component {
26958
25792
  // listen for resize events.
26959
25793
 
26960
25794
 
26961
- (_this$_lineHeightMeas = this._lineHeightMeasurerRef) === null || _this$_lineHeightMeas === void 0 ? void 0 : _this$_lineHeightMeas.forceMeasureLineHeight();
25795
+ (_this$_lineHeightMeas = this._lineHeightMeasurerRef) === null || _this$_lineHeightMeas === void 0 ? void 0 : _this$_lineHeightMeas.measureLineHeight();
26962
25796
 
26963
25797
  this._updateState();
26964
25798
  }, 500);
@@ -27252,9 +26086,9 @@ class Passage extends React.Component {
27252
26086
  onSerializedHighlightsUpdate: this._handleSerializedHighlightsUpdate,
27253
26087
  serializedHighlights: this.props.highlights
27254
26088
  }, /*#__PURE__*/React.createElement("div", {
27255
- ref: _ref4 => this._contentRef = _ref4
26089
+ ref: _ref3 => this._contentRef = _ref3
27256
26090
  }, /*#__PURE__*/React.createElement(LineHeightMeasurer, {
27257
- ref: _ref3 => this._lineHeightMeasurerRef = _ref3
26091
+ ref: _ref2 => this._lineHeightMeasurerRef = _ref2
27258
26092
  }), PassageMarkdown.output(parsed)));
27259
26093
  }
27260
26094
 
@@ -27522,6 +26356,45 @@ var PassageRef$1 = {
27522
26356
  }
27523
26357
  };
27524
26358
 
26359
+ /**
26360
+ * A default set of media queries to use for different screen sizes. Based on
26361
+ * the breakpoints from purecss.
26362
+ *
26363
+ * Use like:
26364
+ * StyleSheet.create({
26365
+ * blah: {
26366
+ * [mediaQueries.xs]: {
26367
+ *
26368
+ * },
26369
+ * },
26370
+ * });
26371
+ */
26372
+ var {
26373
+ pureXsMax: pureXsMax$1,
26374
+ pureSmMin: pureSmMin$1,
26375
+ pureSmMax: pureSmMax$1,
26376
+ pureMdMin: pureMdMin$1,
26377
+ pureMdMax: pureMdMax$1,
26378
+ pureLgMin: pureLgMin$1,
26379
+ pureLgMax: pureLgMax$1,
26380
+ pureXlMin: pureXlMin$1
26381
+ } = constants$1;
26382
+ var mediaQueries = {
26383
+ xs: "@media screen and (max-width: ".concat(pureXsMax$1, ")"),
26384
+ sm: "@media screen and (min-width: ".concat(pureSmMin$1, ") and ") + "(max-width: ".concat(pureSmMax$1, ")"),
26385
+ md: "@media screen and (min-width: ".concat(pureMdMin$1, ") and ") + "(max-width: ".concat(pureMdMax$1, ")"),
26386
+ lg: "@media screen and (min-width: ".concat(pureLgMin$1, ") and ") + "(max-width: ".concat(pureLgMax$1, ")"),
26387
+ xl: "@media screen and (min-width: ".concat(pureXlMin$1, ")"),
26388
+ xsOrSmaller: "@media screen and (max-width: ".concat(pureXsMax$1, ")"),
26389
+ smOrSmaller: "@media screen and (max-width: ".concat(pureSmMax$1, ")"),
26390
+ mdOrSmaller: "@media screen and (max-width: ".concat(pureMdMax$1, ")"),
26391
+ lgOrSmaller: "@media screen and (max-width: ".concat(pureLgMax$1, ")"),
26392
+ smOrLarger: "@media screen and (min-width: ".concat(pureSmMin$1, ")"),
26393
+ mdOrLarger: "@media screen and (min-width: ".concat(pureMdMin$1, ")"),
26394
+ lgOrLarger: "@media screen and (min-width: ".concat(pureLgMin$1, ")"),
26395
+ xlOrLarger: "@media screen and (min-width: ".concat(pureXlMin$1, ")")
26396
+ };
26397
+
27525
26398
  var {
27526
26399
  zIndexAboveScratchpad,
27527
26400
  zIndexInteractiveComponent,
@@ -29251,6 +28124,129 @@ class Radio$1 extends React.Component {
29251
28124
  });
29252
28125
  }
29253
28126
 
28127
+ static validate(userInput, rubric) {
28128
+ var numSelected = userInput.choicesSelected.reduce((sum, selected) => {
28129
+ return sum + (selected ? 1 : 0);
28130
+ }, 0);
28131
+
28132
+ if (numSelected === 0) {
28133
+ return {
28134
+ type: "invalid",
28135
+ message: null
28136
+ };
28137
+ }
28138
+
28139
+ if (userInput.numCorrect && userInput.numCorrect > 1 && numSelected !== userInput.numCorrect) {
28140
+ return {
28141
+ type: "invalid",
28142
+ message: i18n._("Please choose the correct number of answers.")
28143
+ }; // If NOTA and some other answer are checked, ...
28144
+ }
28145
+
28146
+ if (userInput.noneOfTheAboveSelected && numSelected > 1) {
28147
+ return {
28148
+ type: "invalid",
28149
+ message: i18n._("'None of the above' may not be selected " + "when other answers are selected.")
28150
+ };
28151
+ }
28152
+
28153
+ var correct = userInput.choicesSelected.every((selected, i) => {
28154
+ var isCorrect;
28155
+
28156
+ if (userInput.noneOfTheAboveIndex === i) {
28157
+ isCorrect = rubric.choices.every((choice, j) => {
28158
+ return i === j || !choice.correct;
28159
+ });
28160
+ } else {
28161
+ isCorrect = !!rubric.choices[i].correct;
28162
+ }
28163
+
28164
+ return isCorrect === selected;
28165
+ });
28166
+ return {
28167
+ type: "points",
28168
+ earned: correct ? 1 : 0,
28169
+ total: 1,
28170
+ message: null
28171
+ };
28172
+ }
28173
+
28174
+ static getUserInputFromProps(props) {
28175
+ // Return checked inputs in the form {choicesSelected: [bool]}. (Dear
28176
+ // future timeline implementers: this used to be {value: i} before
28177
+ // multiple select was added)
28178
+ if (props.choiceStates) {
28179
+ var noneOfTheAboveIndex = null;
28180
+ var noneOfTheAboveSelected = false;
28181
+ var choiceStates = props.choiceStates;
28182
+ var choicesSelected = choiceStates.map(() => false);
28183
+ var countChoices = props.countChoices;
28184
+ var numCorrect = props.numCorrect;
28185
+
28186
+ for (var i = 0; i < choicesSelected.length; i++) {
28187
+ var index = props.choices[i].originalIndex;
28188
+ choicesSelected[index] = choiceStates[i].selected;
28189
+
28190
+ if (props.choices[i].isNoneOfTheAbove) {
28191
+ noneOfTheAboveIndex = index;
28192
+
28193
+ if (choicesSelected[i]) {
28194
+ noneOfTheAboveSelected = true;
28195
+ }
28196
+ }
28197
+ }
28198
+
28199
+ return {
28200
+ countChoices,
28201
+ choicesSelected,
28202
+ numCorrect,
28203
+ noneOfTheAboveIndex,
28204
+ noneOfTheAboveSelected
28205
+ }; // Support legacy choiceState implementation
28206
+ }
28207
+ /* istanbul ignore if - props.values is deprecated */
28208
+
28209
+
28210
+ var {
28211
+ values
28212
+ } = props;
28213
+
28214
+ if (values) {
28215
+ var _noneOfTheAboveIndex = null;
28216
+ var _noneOfTheAboveSelected = false;
28217
+ var _choicesSelected = [...values];
28218
+ var _countChoices = props.countChoices;
28219
+ var _numCorrect = props.numCorrect;
28220
+ var valuesLength = values.length;
28221
+
28222
+ for (var _i = 0; _i < valuesLength; _i++) {
28223
+ var _index = props.choices[_i].originalIndex;
28224
+ _choicesSelected[_index] = values[_i];
28225
+
28226
+ if (props.choices[_i].isNoneOfTheAbove) {
28227
+ _noneOfTheAboveIndex = _index;
28228
+
28229
+ if (_choicesSelected[_i]) {
28230
+ _noneOfTheAboveSelected = true;
28231
+ }
28232
+ }
28233
+ }
28234
+
28235
+ return {
28236
+ choicesSelected: _choicesSelected,
28237
+ noneOfTheAboveIndex: _noneOfTheAboveIndex,
28238
+ noneOfTheAboveSelected: _noneOfTheAboveSelected,
28239
+ countChoices: _countChoices,
28240
+ numCorrect: _numCorrect
28241
+ };
28242
+ } // Nothing checked
28243
+
28244
+
28245
+ return {
28246
+ choicesSelected: props.choices.map(() => false)
28247
+ };
28248
+ }
28249
+
29254
28250
  // TODO(LP-10672): I think this might be unused right now. I can't find anywhere
29255
28251
  // that we pass a value to `.focus()` and it seems to have been used for
29256
28252
  // adding hints when editing.
@@ -29381,129 +28377,6 @@ class Radio$1 extends React.Component {
29381
28377
  });
29382
28378
  }
29383
28379
 
29384
- static validate(userInput, rubric) {
29385
- var numSelected = userInput.choicesSelected.reduce((sum, selected) => {
29386
- return sum + (selected ? 1 : 0);
29387
- }, 0);
29388
-
29389
- if (numSelected === 0) {
29390
- return {
29391
- type: "invalid",
29392
- message: null
29393
- };
29394
- }
29395
-
29396
- if (userInput.numCorrect && userInput.numCorrect > 1 && numSelected !== userInput.numCorrect) {
29397
- return {
29398
- type: "invalid",
29399
- message: i18n._("Please choose the correct number of answers.")
29400
- }; // If NOTA and some other answer are checked, ...
29401
- }
29402
-
29403
- if (userInput.noneOfTheAboveSelected && numSelected > 1) {
29404
- return {
29405
- type: "invalid",
29406
- message: i18n._("'None of the above' may not be selected " + "when other answers are selected.")
29407
- };
29408
- }
29409
-
29410
- var correct = userInput.choicesSelected.every((selected, i) => {
29411
- var isCorrect;
29412
-
29413
- if (userInput.noneOfTheAboveIndex === i) {
29414
- isCorrect = rubric.choices.every((choice, j) => {
29415
- return i === j || !choice.correct;
29416
- });
29417
- } else {
29418
- isCorrect = !!rubric.choices[i].correct;
29419
- }
29420
-
29421
- return isCorrect === selected;
29422
- });
29423
- return {
29424
- type: "points",
29425
- earned: correct ? 1 : 0,
29426
- total: 1,
29427
- message: null
29428
- };
29429
- }
29430
-
29431
- static getUserInputFromProps(props) {
29432
- // Return checked inputs in the form {choicesSelected: [bool]}. (Dear
29433
- // future timeline implementers: this used to be {value: i} before
29434
- // multiple select was added)
29435
- if (props.choiceStates) {
29436
- var noneOfTheAboveIndex = null;
29437
- var noneOfTheAboveSelected = false;
29438
- var choiceStates = props.choiceStates;
29439
- var choicesSelected = choiceStates.map(() => false);
29440
- var countChoices = props.countChoices;
29441
- var numCorrect = props.numCorrect;
29442
-
29443
- for (var i = 0; i < choicesSelected.length; i++) {
29444
- var index = props.choices[i].originalIndex;
29445
- choicesSelected[index] = choiceStates[i].selected;
29446
-
29447
- if (props.choices[i].isNoneOfTheAbove) {
29448
- noneOfTheAboveIndex = index;
29449
-
29450
- if (choicesSelected[i]) {
29451
- noneOfTheAboveSelected = true;
29452
- }
29453
- }
29454
- }
29455
-
29456
- return {
29457
- countChoices,
29458
- choicesSelected,
29459
- numCorrect,
29460
- noneOfTheAboveIndex,
29461
- noneOfTheAboveSelected
29462
- }; // Support legacy choiceState implementation
29463
- }
29464
- /* istanbul ignore if - props.values is deprecated */
29465
-
29466
-
29467
- var {
29468
- values
29469
- } = props;
29470
-
29471
- if (values) {
29472
- var _noneOfTheAboveIndex = null;
29473
- var _noneOfTheAboveSelected = false;
29474
- var _choicesSelected = [...values];
29475
- var _countChoices = props.countChoices;
29476
- var _numCorrect = props.numCorrect;
29477
- var valuesLength = values.length;
29478
-
29479
- for (var _i = 0; _i < valuesLength; _i++) {
29480
- var _index = props.choices[_i].originalIndex;
29481
- _choicesSelected[_index] = values[_i];
29482
-
29483
- if (props.choices[_i].isNoneOfTheAbove) {
29484
- _noneOfTheAboveIndex = _index;
29485
-
29486
- if (_choicesSelected[_i]) {
29487
- _noneOfTheAboveSelected = true;
29488
- }
29489
- }
29490
- }
29491
-
29492
- return {
29493
- choicesSelected: _choicesSelected,
29494
- noneOfTheAboveIndex: _noneOfTheAboveIndex,
29495
- noneOfTheAboveSelected: _noneOfTheAboveSelected,
29496
- countChoices: _countChoices,
29497
- numCorrect: _numCorrect
29498
- };
29499
- } // Nothing checked
29500
-
29501
-
29502
- return {
29503
- choicesSelected: props.choices.map(() => false)
29504
- };
29505
- }
29506
-
29507
28380
  }
29508
28381
 
29509
28382
  _defineProperty(Radio$1, "defaultProps", {
@@ -36195,51 +35068,1031 @@ class InteractiveGraph extends React.Component {
36195
35068
  // actually just wrong
36196
35069
 
36197
35070
 
36198
- if (!hasValue || _.isEqual(state, rubric.graph)) {
36199
- // We're where we started.
36200
- return {
36201
- type: "invalid",
36202
- message: null
36203
- };
35071
+ if (!hasValue || _.isEqual(state, rubric.graph)) {
35072
+ // We're where we started.
35073
+ return {
35074
+ type: "invalid",
35075
+ message: null
35076
+ };
35077
+ }
35078
+
35079
+ return {
35080
+ type: "points",
35081
+ earned: 0,
35082
+ total: 1,
35083
+ message: null
35084
+ };
35085
+ }
35086
+
35087
+ static getUserInputFromProps(props) {
35088
+ return props.graph;
35089
+ }
35090
+
35091
+ }
35092
+
35093
+ _defineProperty(InteractiveGraph, "defaultProps", {
35094
+ labels: ["x", "y"],
35095
+ range: [[-10, 10], [-10, 10]],
35096
+ step: [1, 1],
35097
+ // $FlowFixMe[prop-missing]
35098
+ backgroundImage: defaultBackgroundImage$1,
35099
+ markings: "graph",
35100
+ showTooltips: false,
35101
+ showProtractor: false,
35102
+ showRuler: false,
35103
+ rulerLabel: "",
35104
+ rulerTicks: 10,
35105
+ graph: {
35106
+ type: "linear"
35107
+ }
35108
+ });
35109
+
35110
+ var InteractiveGraph$1 = {
35111
+ name: "interactive-graph",
35112
+ displayName: "Interactive graph",
35113
+ widget: InteractiveGraph
35114
+ };
35115
+
35116
+ var black = "#000000";
35117
+ var grayDarker = "#333333";
35118
+ var grayDark = "#555555";
35119
+ var gray = "#999999";
35120
+ var grayLight = "#AAAAAA";
35121
+ var grayLighter = "#DDDDDD";
35122
+ var white = "#FFFFFF";
35123
+ var blue = "#005A88";
35124
+ var blueDark = "#2C3747";
35125
+ var green = "#76A005";
35126
+ var red = "#CF5044";
35127
+ var yellow = "#FFC40D";
35128
+ var orange = "#BF4F04";
35129
+ var pink = "#C3325F";
35130
+ var purple = "#7A43B6";
35131
+ var bodyBackground = "#FFFFFF";
35132
+ var textColor = "#444444";
35133
+ var linkColor = "#005987";
35134
+ var linkColorHover = "#678D00";
35135
+ var sansFontFamily = "'Helvetica Neue',Helvetica,Arial,sans-serif";
35136
+ var serifFontFamily = "Georgia,'Times New Roman',Times,serif";
35137
+ var monoFontFamily = "Monaco,Menlo,Consolas,'Courier New',monospace";
35138
+ var baseFontSize = "14px";
35139
+ var baseFontFamily = "inherit";
35140
+ var baseLineHeight = "20px";
35141
+ var altFontFamily = "Georgia,'Times New Roman',Times,serif";
35142
+ var headingsFontFamily = "inherit";
35143
+ var headingsFontWeight = "bold";
35144
+ var headingsColor = "inherit";
35145
+ var fontSizeLarge = "18px";
35146
+ var fontSizeSmall = "12px";
35147
+ var fontSizeMini = "10.5px";
35148
+ var paddingLarge = "11px 19px";
35149
+ var paddingSmall = "2px 10px";
35150
+ var paddingMini = "0 6px";
35151
+ var baseBorderRadius = "4px";
35152
+ var borderRadiusLarge = "6px";
35153
+ var borderRadiusSmall = "3px";
35154
+ var tableBackground = "#000000";
35155
+ var tableBackgroundAccent = "#F9F9F9";
35156
+ var tableBackgroundHover = "#F5F5F5";
35157
+ var tableBorder = "#DDDDDD";
35158
+ var btnBackground = "#FFFFFF";
35159
+ var btnBackgroundHighlight = "rgb(230, 230, 230)";
35160
+ var btnBorder = "#CCCCCC";
35161
+ var btnPrimaryBackground = "#0088CC";
35162
+ var btnPrimaryBackgroundHighlight = "rgb(0, 68, 204)";
35163
+ var btnInfoBackground = "#5BC0DE";
35164
+ var btnInfoBackgroundHighlight = "#2F96B4";
35165
+ var btnSuccessBackground = "#62C462";
35166
+ var btnSuccessBackgroundHighlight = "#51A351";
35167
+ var btnWarningBackground = "rgb(251, 180, 81)";
35168
+ var btnWarningBackgroundHighlight = "#F89406";
35169
+ var btnDangerBackground = "#EE5F5B";
35170
+ var btnDangerBackgroundHighlight = "#BD362F";
35171
+ var btnInverseBackground = "#444444";
35172
+ var btnInverseBackgroundHighlight = "#222222";
35173
+ var inputBackground = "#FFFFFF";
35174
+ var inputBorder = "#CCCCCC";
35175
+ var inputBorderRadius = "4px";
35176
+ var inputDisabledBackground = "#EEEEEE";
35177
+ var formActionsBackground = "#F5F5F5";
35178
+ var inputHeight = "30px";
35179
+ var dropdownBackground = "#FFFFFF";
35180
+ var dropdownBorder = "rgba(0, 0, 0, 0.2)";
35181
+ var dropdownDividerTop = "#E5E5E5";
35182
+ var dropdownDividerBottom = "#FFFFFF";
35183
+ var dropdownLinkColor = "#333333";
35184
+ var dropdownLinkColorHover = "#FFFFFF";
35185
+ var dropdownLinkColorActive = "#FFFFFF";
35186
+ var dropdownLinkBackgroundActive = "#0088CC";
35187
+ var dropdownLinkBackgroundHover = "#0088CC";
35188
+ var zindexDropdown = 1000;
35189
+ var zindexPopover = 1010;
35190
+ var zindexTooltip = 1030;
35191
+ var zindexFixedNavbar = 1030;
35192
+ var zindexHeader = 1060;
35193
+ var zindexModalBackdrop = 1070;
35194
+ var zindexModal = 1080;
35195
+ var zindexAboveModal = 1090;
35196
+ var iconSpritePath = "../img/glyphicons-halflings.png";
35197
+ var iconWhiteSpritePath = "../img/glyphicons-halflings-white.png";
35198
+ var placeholderText = "#999999";
35199
+ var hrBorder = "#EEEEEE";
35200
+ var horizontalComponentOffset = "180px";
35201
+ var wellBackground = "#F5F5F5";
35202
+ var navbarCollapseWidth = "979px";
35203
+ var navbarCollapseDesktopWidth = "980px";
35204
+ var navbarHeight = "40px";
35205
+ var navbarBackgroundHighlight = "#FFFFFF";
35206
+ var navbarBackground = "rgb(242, 242, 242)";
35207
+ var navbarBorder = "rgb(212, 212, 212)";
35208
+ var navbarText = "#777777";
35209
+ var navbarLinkColor = "#777777";
35210
+ var navbarLinkColorHover = "#333333";
35211
+ var navbarLinkColorActive = "#555555";
35212
+ var navbarLinkBackgroundHover = "#000000";
35213
+ var navbarLinkBackgroundActive = "rgb(230, 230, 230)";
35214
+ var navbarBrandColor = "#777777";
35215
+ var navbarInverseBackground = "#111111";
35216
+ var navbarInverseBackgroundHighlight = "#222222";
35217
+ var navbarInverseBorder = "#252525";
35218
+ var navbarInverseText = "#999999";
35219
+ var navbarInverseLinkColor = "#999999";
35220
+ var navbarInverseLinkColorHover = "#FFFFFF";
35221
+ var navbarInverseLinkColorActive = "#FFFFFF";
35222
+ var navbarInverseLinkBackgroundHover = "#000000";
35223
+ var navbarInverseLinkBackgroundActive = "#111111";
35224
+ var navbarInverseSearchBackground = "rgb(82, 82, 82)";
35225
+ var navbarInverseSearchBackgroundFocus = "#FFFFFF";
35226
+ var navbarInverseSearchBorder = "#111111";
35227
+ var navbarInverseSearchPlaceholderColor = "#CCCCCC";
35228
+ var navbarInverseBrandColor = "#999999";
35229
+ var paginationBackground = "#FFFFFF";
35230
+ var paginationBorder = "#DDDDDD";
35231
+ var paginationActiveBackground = "#F5F5F5";
35232
+ var heroUnitBackground = "#EEEEEE";
35233
+ var heroUnitHeadingColor = "inherit";
35234
+ var heroUnitLeadColor = "inherit";
35235
+ var warningText = "#C09853";
35236
+ var warningBackground = "#FCF8E3";
35237
+ var warningBorder = "rgb(251, 239, 213)";
35238
+ var errorText = "#B94A48";
35239
+ var errorBackground = "#F2DEDE";
35240
+ var errorBorder = "rgb(238, 211, 215)";
35241
+ var successText = "#468847";
35242
+ var successBackground = "#DFF0D8";
35243
+ var successBorder = "rgb(212, 232, 197)";
35244
+ var infoText = "#4A7C17";
35245
+ var infoBackground = "#EDF2DF";
35246
+ var infoBorder = "rgb(228, 232, 197)";
35247
+ var tooltipColor = "#FFFFFF";
35248
+ var tooltipBackground = "#000000";
35249
+ var tooltipArrowWidth = "5px";
35250
+ var tooltipArrowColor = "#000000";
35251
+ var popoverBackground = "#FFFFFF";
35252
+ var popoverArrowWidth = "10px";
35253
+ var popoverArrowColor = "#FFFFFF";
35254
+ var popoverTitleBackground = "rgb(247, 247, 247)";
35255
+ var popoverArrowOuterWidth = "11px";
35256
+ var popoverArrowOuterColor = "rgba(0, 0, 0, 0.25)";
35257
+ var gridColumns = "12";
35258
+ var gridColumnWidth = "60px";
35259
+ var gridGutterWidth = "20px";
35260
+ var gridRowWidth = "940px";
35261
+ var gridColumnWidth1200 = "70px";
35262
+ var gridGutterWidth1200 = "30px";
35263
+ var gridRowWidth1200 = "1170px";
35264
+ var gridColumnWidth768 = "42px";
35265
+ var gridGutterWidth768 = "20px";
35266
+ var gridRowWidth768 = "724px";
35267
+ var fluidGridColumnWidth = "6.382978723404255%";
35268
+ var fluidGridGutterWidth = "2.127659574468085%";
35269
+ var fluidGridColumnWidth1200 = "5.982905982905983%";
35270
+ var fluidGridGutterWidth1200 = "2.564102564102564%";
35271
+ var fluidGridColumnWidth768 = "5.801104972375691%";
35272
+ var fluidGridGutterWidth768 = "2.7624309392265194%";
35273
+ var kaGreen = "#71B307";
35274
+ var kaGreenLight = "#BED47A";
35275
+ var kaBlue = "#314453";
35276
+ var kaBlueLight = "#4D6779";
35277
+ var grayExtraDark = "#111111";
35278
+ var grayExtraLight = "#EEEEEE";
35279
+ var graySuperLight = "#F7F7F7";
35280
+ var whiteDark = "#FDFDFD";
35281
+ var dark = "#21242C";
35282
+ var blueDarkUnsaturated = "#3B414E";
35283
+ var blueDarkSaturated = "#1F3043";
35284
+ var blueLight = "#A9C0D1";
35285
+ var greenLight = "#C6D1AD";
35286
+ var greenDark = "#356700";
35287
+ var yellowGreen = "#9DB63B";
35288
+ var okGreen = "#A7CF5B";
35289
+ var alertRed = "#C42420";
35290
+ var coral = "#EE6666";
35291
+ var grayBlue = "#9AB3B9";
35292
+ var lightPageBackground = "#FDFDFD";
35293
+ var yclaBlue = "#49BAD5";
35294
+ var yclaTeal = "#56D0B3";
35295
+ var yclaTealDark = "#50C1A7";
35296
+ var yclaGreenDark = "#3D9A82";
35297
+ var yclaGreen = "#81C262";
35298
+ var learnstormBlue = "#4898FC";
35299
+ var homepageBlue = "#46A8BF";
35300
+ var backgroundBlue = "#00294A";
35301
+ var teacherSignupBlue = "#335d7d";
35302
+ var homepageGreen = "#2B8E7B";
35303
+ var streakColor = "#F79734";
35304
+ var facebookColor = "#1A60A2";
35305
+ var blueGoogleColor = "#2CAFE2";
35306
+ var redGoogleColor = "#BF4434";
35307
+ var homepageColor = "#2D585E";
35308
+ var lightTextColor = "#898989";
35309
+ var fontSizeTiny = "11px";
35310
+ var fontSizeNormal = "14px";
35311
+ var fontSizeMedium = "16px";
35312
+ var fontSizeExtraLarge = "24px";
35313
+ var fontSizeHuge = "36px";
35314
+ var fontSizeBakana = "48px";
35315
+ var fontSizeBananas = "60px";
35316
+ var fixedWidthFontFamily = "'Helvetica Neue',Helvetica,Arial,sans-serif";
35317
+ var contentPadding = "20px";
35318
+ var primaryButtonBackground = "#89B908";
35319
+ var primaryButtonBorder = "#76A005";
35320
+ var buttonTextColor = "rgb(122, 122, 122)";
35321
+ var buttonBorderRadius = "3px";
35322
+ var basicBorderColor = "#CCCCCC";
35323
+ var minContainerWidth = "1000px";
35324
+ var maxContainerWidth = "1200px";
35325
+ var formHintColor = "#999999";
35326
+ var guidelineExampleText = "#606060";
35327
+ var hoverCardWidth = "450px";
35328
+ var menuHighlightColor = "#96AB4F";
35329
+ var menuHighlightBorderColor = "#76A005";
35330
+ var menuActiveTextColor = "#FFFFFF";
35331
+ var menuInactiveTextColor = "#444444";
35332
+ var menuSubheaderTextColor = "rgb(120, 120, 120)";
35333
+ var menuBorderColor = "#94A170";
35334
+ var unreadBackgroundColor = "#ECEEF4";
35335
+ var menuLineHeight = "18px";
35336
+ var menuSubheaderLineHeight = "17px";
35337
+ var menuSubheaderFontSize = "9px";
35338
+ var notificationBarColor = "#4858A4";
35339
+ var modalBodyTopPadding = "20px";
35340
+ var modalDialogPadding = "15px";
35341
+ var modalSectionPadding = "9px";
35342
+ var mathDomain1 = "#11ACCD";
35343
+ var mathDomain2 = "#63D9EA";
35344
+ var mathDomain3 = "#027d97";
35345
+ var mathDomain4 = "#085566";
35346
+ var partnerContentDomain1 = "#01A995";
35347
+ var partnerContentDomain2 = "#01D1C1";
35348
+ var partnerContentDomain3 = "#208170";
35349
+ var partnerContentDomain4 = "#144F44";
35350
+ var csDomain1 = "#1FAB54";
35351
+ var csDomain2 = "#74CF70";
35352
+ var csDomain3 = "#0D923F";
35353
+ var csDomain4 = "#085E29";
35354
+ var economicsDomain1 = "#E07D10";
35355
+ var economicsDomain2 = "#FFBE26";
35356
+ var economicsDomain3 = "#A75A05";
35357
+ var economicsDomain4 = "#953C02";
35358
+ var collegeCareersMoreDomain1 = "#01A995";
35359
+ var collegeCareersMoreDomain2 = "#01D1C1";
35360
+ var collegeCareersMoreDomain3 = "#208170";
35361
+ var collegeCareersMoreDomain4 = "#144F44";
35362
+ var humanitiesDomain1 = "#E84D39";
35363
+ var humanitiesDomain2 = "#FF8482";
35364
+ var humanitiesDomain3 = "#BE2612";
35365
+ var humanitiesDomain4 = "#8C1C0D";
35366
+ var gtpDomain1 = "#1865F2";
35367
+ var gtpDomain2 = "#1865F2";
35368
+ var gtpDomain3 = "#1865F2";
35369
+ var gtpDomain4 = "#1865F2";
35370
+ var scienceDomain1 = "#CA337C";
35371
+ var scienceDomain2 = "#FF92C6";
35372
+ var scienceDomain3 = "#9E034E";
35373
+ var scienceDomain4 = "#6B0235";
35374
+ var testPrepDomain1 = "#1865F2";
35375
+ var testPrepDomain2 = "#1865F2";
35376
+ var testPrepDomain3 = "#1865F2";
35377
+ var testPrepDomain4 = "#1865F2";
35378
+ var defaultDomain1 = "#1865F2";
35379
+ var defaultDomain2 = "#66afe9";
35380
+ var defaultDomain3 = "#1152b0";
35381
+ var defaultDomain4 = "#0d3d82";
35382
+ var defaultDomainColor = "#314453";
35383
+ var defaultSubjectColor = "#4D6779";
35384
+ var defaultTopicColor = "#6A8DA6";
35385
+ var defaultHoverColor = "#314453";
35386
+ var defaultLinkColor = "#314453";
35387
+ var defaultLinkHoverColor = "#6A8DA6";
35388
+ var scienceDomainColor = "#94424F";
35389
+ var scienceSubjectColor = "#9D4A5A";
35390
+ var scienceTopicColor = "#C55F73";
35391
+ var scienceHoverColor = "#94424F";
35392
+ var scienceLinkColor = "#94424F";
35393
+ var scienceLinkHoverColor = "#C55F73";
35394
+ var humanitiesDomainColor = "#AD3434";
35395
+ var humanitiesSubjectColor = "#C13B31";
35396
+ var humanitiesTopicColor = "#D24A45";
35397
+ var humanitiesHoverColor = "#AD3434";
35398
+ var humanitiesLinkColor = "#AD3434";
35399
+ var humanitiesLinkHoverColor = "#D24A45";
35400
+ var economicsDomainColor = "#B77033";
35401
+ var economicsSubjectColor = "#BF7B34";
35402
+ var economicsTopicColor = "#D1933B";
35403
+ var economicsHoverColor = "#B77033";
35404
+ var economicsLinkColor = "#B77033";
35405
+ var economicsLinkHoverColor = "#D1933B";
35406
+ var csDomainColor = "#437A39";
35407
+ var csSubjectColor = "#53893E";
35408
+ var csTopicColor = "#689B51";
35409
+ var csHoverColor = "#437A39";
35410
+ var csLinkColor = "#437A39";
35411
+ var csLinkHoverColor = "#689B51";
35412
+ var partnerContentDomainColor = "#218270";
35413
+ var partnerContentSubjectColor = "#2C8D7B";
35414
+ var partnerContentTopicColor = "#329A86";
35415
+ var partnerContentHoverColor = "#218270";
35416
+ var partnerContentLinkColor = "#218270";
35417
+ var partnerContentLinkHoverColor = "#329A86";
35418
+ var essayDomainColor = "#0071B3";
35419
+ var mathDomainColor = "#1C758A";
35420
+ var mathSubjectColor = "#46A8BF";
35421
+ var mathTopicColor = "#4FBAD4";
35422
+ var mathHoverColor = "#1C758A";
35423
+ var mathLinkColor = "#1C758A";
35424
+ var mathLinkHoverColor = "#4FBAD4";
35425
+ var testPrepDomainColor = "#644172";
35426
+ var testPrepSubjectColor = "#7E5F8E";
35427
+ var testPrepTopicColor = "#9A72AC";
35428
+ var testPrepHoverColor = "#644172";
35429
+ var testPrepLinkColor = "#644172";
35430
+ var testPrepLinkHoverColor = "#9A72AC";
35431
+ var collegeCareersMoreDomainColor = "#218270";
35432
+ var collegeCareersMoreSubjectColor = "#2C8D7B";
35433
+ var collegeCareersMoreTopicColor = "#329A86";
35434
+ var collegeCareersMoreHoverColor = "#218270";
35435
+ var collegeCareersMoreLinkColor = "#218270";
35436
+ var collegeCareersMoreLinkHoverColor = "#329A86";
35437
+ var satDomainColor = "#0084CE";
35438
+ var satSubjectColor = "#0084CE";
35439
+ var satTopicColor = "#0084CE";
35440
+ var satHoverColor = "#0084CE";
35441
+ var satLinkColor = "#0084CE";
35442
+ var satLinkHoverColor = "#0084CE";
35443
+ var colorProficient = "#1C758A";
35444
+ var colorPracticed = "rgb(158, 221, 235)";
35445
+ var colorMastery1 = "rgb(90, 197, 221)";
35446
+ var colorMastery2 = "rgb(42, 174, 203)";
35447
+ var colorMastery3 = "#1C758A";
35448
+ var colorSuggested = "#73982C";
35449
+ var colorReview = "#E35D04";
35450
+ var colorNotStarted = "#CCCCCC";
35451
+ var colorStarted = "#C7E5F7";
35452
+ var colorStruggling = "#C30202";
35453
+ var colorPersonal = "#00809C";
35454
+ var colorPractice = "#96D9FF";
35455
+ var colorEnergyPoints = "#005987";
35456
+ var pureSmMin = "568px";
35457
+ var pureMdMin = "768px";
35458
+ var pureLgMin = "1024px";
35459
+ var pureXlMin = "1200px";
35460
+ var pureXsMax = "567px";
35461
+ var pureSmMax = "767px";
35462
+ var pureMdMax = "1023px";
35463
+ var pureLgMax = "1199px";
35464
+
35465
+ var globalConstants = /*#__PURE__*/Object.freeze({
35466
+ __proto__: null,
35467
+ black: black,
35468
+ grayDarker: grayDarker,
35469
+ grayDark: grayDark,
35470
+ gray: gray,
35471
+ grayLight: grayLight,
35472
+ grayLighter: grayLighter,
35473
+ white: white,
35474
+ blue: blue,
35475
+ blueDark: blueDark,
35476
+ green: green,
35477
+ red: red,
35478
+ yellow: yellow,
35479
+ orange: orange,
35480
+ pink: pink,
35481
+ purple: purple,
35482
+ bodyBackground: bodyBackground,
35483
+ textColor: textColor,
35484
+ linkColor: linkColor,
35485
+ linkColorHover: linkColorHover,
35486
+ sansFontFamily: sansFontFamily,
35487
+ serifFontFamily: serifFontFamily,
35488
+ monoFontFamily: monoFontFamily,
35489
+ baseFontSize: baseFontSize,
35490
+ baseFontFamily: baseFontFamily,
35491
+ baseLineHeight: baseLineHeight,
35492
+ altFontFamily: altFontFamily,
35493
+ headingsFontFamily: headingsFontFamily,
35494
+ headingsFontWeight: headingsFontWeight,
35495
+ headingsColor: headingsColor,
35496
+ fontSizeLarge: fontSizeLarge,
35497
+ fontSizeSmall: fontSizeSmall,
35498
+ fontSizeMini: fontSizeMini,
35499
+ paddingLarge: paddingLarge,
35500
+ paddingSmall: paddingSmall,
35501
+ paddingMini: paddingMini,
35502
+ baseBorderRadius: baseBorderRadius,
35503
+ borderRadiusLarge: borderRadiusLarge,
35504
+ borderRadiusSmall: borderRadiusSmall,
35505
+ tableBackground: tableBackground,
35506
+ tableBackgroundAccent: tableBackgroundAccent,
35507
+ tableBackgroundHover: tableBackgroundHover,
35508
+ tableBorder: tableBorder,
35509
+ btnBackground: btnBackground,
35510
+ btnBackgroundHighlight: btnBackgroundHighlight,
35511
+ btnBorder: btnBorder,
35512
+ btnPrimaryBackground: btnPrimaryBackground,
35513
+ btnPrimaryBackgroundHighlight: btnPrimaryBackgroundHighlight,
35514
+ btnInfoBackground: btnInfoBackground,
35515
+ btnInfoBackgroundHighlight: btnInfoBackgroundHighlight,
35516
+ btnSuccessBackground: btnSuccessBackground,
35517
+ btnSuccessBackgroundHighlight: btnSuccessBackgroundHighlight,
35518
+ btnWarningBackground: btnWarningBackground,
35519
+ btnWarningBackgroundHighlight: btnWarningBackgroundHighlight,
35520
+ btnDangerBackground: btnDangerBackground,
35521
+ btnDangerBackgroundHighlight: btnDangerBackgroundHighlight,
35522
+ btnInverseBackground: btnInverseBackground,
35523
+ btnInverseBackgroundHighlight: btnInverseBackgroundHighlight,
35524
+ inputBackground: inputBackground,
35525
+ inputBorder: inputBorder,
35526
+ inputBorderRadius: inputBorderRadius,
35527
+ inputDisabledBackground: inputDisabledBackground,
35528
+ formActionsBackground: formActionsBackground,
35529
+ inputHeight: inputHeight,
35530
+ dropdownBackground: dropdownBackground,
35531
+ dropdownBorder: dropdownBorder,
35532
+ dropdownDividerTop: dropdownDividerTop,
35533
+ dropdownDividerBottom: dropdownDividerBottom,
35534
+ dropdownLinkColor: dropdownLinkColor,
35535
+ dropdownLinkColorHover: dropdownLinkColorHover,
35536
+ dropdownLinkColorActive: dropdownLinkColorActive,
35537
+ dropdownLinkBackgroundActive: dropdownLinkBackgroundActive,
35538
+ dropdownLinkBackgroundHover: dropdownLinkBackgroundHover,
35539
+ zindexDropdown: zindexDropdown,
35540
+ zindexPopover: zindexPopover,
35541
+ zindexTooltip: zindexTooltip,
35542
+ zindexFixedNavbar: zindexFixedNavbar,
35543
+ zindexHeader: zindexHeader,
35544
+ zindexModalBackdrop: zindexModalBackdrop,
35545
+ zindexModal: zindexModal,
35546
+ zindexAboveModal: zindexAboveModal,
35547
+ iconSpritePath: iconSpritePath,
35548
+ iconWhiteSpritePath: iconWhiteSpritePath,
35549
+ placeholderText: placeholderText,
35550
+ hrBorder: hrBorder,
35551
+ horizontalComponentOffset: horizontalComponentOffset,
35552
+ wellBackground: wellBackground,
35553
+ navbarCollapseWidth: navbarCollapseWidth,
35554
+ navbarCollapseDesktopWidth: navbarCollapseDesktopWidth,
35555
+ navbarHeight: navbarHeight,
35556
+ navbarBackgroundHighlight: navbarBackgroundHighlight,
35557
+ navbarBackground: navbarBackground,
35558
+ navbarBorder: navbarBorder,
35559
+ navbarText: navbarText,
35560
+ navbarLinkColor: navbarLinkColor,
35561
+ navbarLinkColorHover: navbarLinkColorHover,
35562
+ navbarLinkColorActive: navbarLinkColorActive,
35563
+ navbarLinkBackgroundHover: navbarLinkBackgroundHover,
35564
+ navbarLinkBackgroundActive: navbarLinkBackgroundActive,
35565
+ navbarBrandColor: navbarBrandColor,
35566
+ navbarInverseBackground: navbarInverseBackground,
35567
+ navbarInverseBackgroundHighlight: navbarInverseBackgroundHighlight,
35568
+ navbarInverseBorder: navbarInverseBorder,
35569
+ navbarInverseText: navbarInverseText,
35570
+ navbarInverseLinkColor: navbarInverseLinkColor,
35571
+ navbarInverseLinkColorHover: navbarInverseLinkColorHover,
35572
+ navbarInverseLinkColorActive: navbarInverseLinkColorActive,
35573
+ navbarInverseLinkBackgroundHover: navbarInverseLinkBackgroundHover,
35574
+ navbarInverseLinkBackgroundActive: navbarInverseLinkBackgroundActive,
35575
+ navbarInverseSearchBackground: navbarInverseSearchBackground,
35576
+ navbarInverseSearchBackgroundFocus: navbarInverseSearchBackgroundFocus,
35577
+ navbarInverseSearchBorder: navbarInverseSearchBorder,
35578
+ navbarInverseSearchPlaceholderColor: navbarInverseSearchPlaceholderColor,
35579
+ navbarInverseBrandColor: navbarInverseBrandColor,
35580
+ paginationBackground: paginationBackground,
35581
+ paginationBorder: paginationBorder,
35582
+ paginationActiveBackground: paginationActiveBackground,
35583
+ heroUnitBackground: heroUnitBackground,
35584
+ heroUnitHeadingColor: heroUnitHeadingColor,
35585
+ heroUnitLeadColor: heroUnitLeadColor,
35586
+ warningText: warningText,
35587
+ warningBackground: warningBackground,
35588
+ warningBorder: warningBorder,
35589
+ errorText: errorText,
35590
+ errorBackground: errorBackground,
35591
+ errorBorder: errorBorder,
35592
+ successText: successText,
35593
+ successBackground: successBackground,
35594
+ successBorder: successBorder,
35595
+ infoText: infoText,
35596
+ infoBackground: infoBackground,
35597
+ infoBorder: infoBorder,
35598
+ tooltipColor: tooltipColor,
35599
+ tooltipBackground: tooltipBackground,
35600
+ tooltipArrowWidth: tooltipArrowWidth,
35601
+ tooltipArrowColor: tooltipArrowColor,
35602
+ popoverBackground: popoverBackground,
35603
+ popoverArrowWidth: popoverArrowWidth,
35604
+ popoverArrowColor: popoverArrowColor,
35605
+ popoverTitleBackground: popoverTitleBackground,
35606
+ popoverArrowOuterWidth: popoverArrowOuterWidth,
35607
+ popoverArrowOuterColor: popoverArrowOuterColor,
35608
+ gridColumns: gridColumns,
35609
+ gridColumnWidth: gridColumnWidth,
35610
+ gridGutterWidth: gridGutterWidth,
35611
+ gridRowWidth: gridRowWidth,
35612
+ gridColumnWidth1200: gridColumnWidth1200,
35613
+ gridGutterWidth1200: gridGutterWidth1200,
35614
+ gridRowWidth1200: gridRowWidth1200,
35615
+ gridColumnWidth768: gridColumnWidth768,
35616
+ gridGutterWidth768: gridGutterWidth768,
35617
+ gridRowWidth768: gridRowWidth768,
35618
+ fluidGridColumnWidth: fluidGridColumnWidth,
35619
+ fluidGridGutterWidth: fluidGridGutterWidth,
35620
+ fluidGridColumnWidth1200: fluidGridColumnWidth1200,
35621
+ fluidGridGutterWidth1200: fluidGridGutterWidth1200,
35622
+ fluidGridColumnWidth768: fluidGridColumnWidth768,
35623
+ fluidGridGutterWidth768: fluidGridGutterWidth768,
35624
+ kaGreen: kaGreen,
35625
+ kaGreenLight: kaGreenLight,
35626
+ kaBlue: kaBlue,
35627
+ kaBlueLight: kaBlueLight,
35628
+ grayExtraDark: grayExtraDark,
35629
+ grayExtraLight: grayExtraLight,
35630
+ graySuperLight: graySuperLight,
35631
+ whiteDark: whiteDark,
35632
+ dark: dark,
35633
+ blueDarkUnsaturated: blueDarkUnsaturated,
35634
+ blueDarkSaturated: blueDarkSaturated,
35635
+ blueLight: blueLight,
35636
+ greenLight: greenLight,
35637
+ greenDark: greenDark,
35638
+ yellowGreen: yellowGreen,
35639
+ okGreen: okGreen,
35640
+ alertRed: alertRed,
35641
+ coral: coral,
35642
+ grayBlue: grayBlue,
35643
+ lightPageBackground: lightPageBackground,
35644
+ yclaBlue: yclaBlue,
35645
+ yclaTeal: yclaTeal,
35646
+ yclaTealDark: yclaTealDark,
35647
+ yclaGreenDark: yclaGreenDark,
35648
+ yclaGreen: yclaGreen,
35649
+ learnstormBlue: learnstormBlue,
35650
+ homepageBlue: homepageBlue,
35651
+ backgroundBlue: backgroundBlue,
35652
+ teacherSignupBlue: teacherSignupBlue,
35653
+ homepageGreen: homepageGreen,
35654
+ streakColor: streakColor,
35655
+ facebookColor: facebookColor,
35656
+ blueGoogleColor: blueGoogleColor,
35657
+ redGoogleColor: redGoogleColor,
35658
+ homepageColor: homepageColor,
35659
+ lightTextColor: lightTextColor,
35660
+ fontSizeTiny: fontSizeTiny,
35661
+ fontSizeNormal: fontSizeNormal,
35662
+ fontSizeMedium: fontSizeMedium,
35663
+ fontSizeExtraLarge: fontSizeExtraLarge,
35664
+ fontSizeHuge: fontSizeHuge,
35665
+ fontSizeBakana: fontSizeBakana,
35666
+ fontSizeBananas: fontSizeBananas,
35667
+ fixedWidthFontFamily: fixedWidthFontFamily,
35668
+ contentPadding: contentPadding,
35669
+ primaryButtonBackground: primaryButtonBackground,
35670
+ primaryButtonBorder: primaryButtonBorder,
35671
+ buttonTextColor: buttonTextColor,
35672
+ buttonBorderRadius: buttonBorderRadius,
35673
+ basicBorderColor: basicBorderColor,
35674
+ minContainerWidth: minContainerWidth,
35675
+ maxContainerWidth: maxContainerWidth,
35676
+ formHintColor: formHintColor,
35677
+ guidelineExampleText: guidelineExampleText,
35678
+ hoverCardWidth: hoverCardWidth,
35679
+ menuHighlightColor: menuHighlightColor,
35680
+ menuHighlightBorderColor: menuHighlightBorderColor,
35681
+ menuActiveTextColor: menuActiveTextColor,
35682
+ menuInactiveTextColor: menuInactiveTextColor,
35683
+ menuSubheaderTextColor: menuSubheaderTextColor,
35684
+ menuBorderColor: menuBorderColor,
35685
+ unreadBackgroundColor: unreadBackgroundColor,
35686
+ menuLineHeight: menuLineHeight,
35687
+ menuSubheaderLineHeight: menuSubheaderLineHeight,
35688
+ menuSubheaderFontSize: menuSubheaderFontSize,
35689
+ notificationBarColor: notificationBarColor,
35690
+ modalBodyTopPadding: modalBodyTopPadding,
35691
+ modalDialogPadding: modalDialogPadding,
35692
+ modalSectionPadding: modalSectionPadding,
35693
+ mathDomain1: mathDomain1,
35694
+ mathDomain2: mathDomain2,
35695
+ mathDomain3: mathDomain3,
35696
+ mathDomain4: mathDomain4,
35697
+ partnerContentDomain1: partnerContentDomain1,
35698
+ partnerContentDomain2: partnerContentDomain2,
35699
+ partnerContentDomain3: partnerContentDomain3,
35700
+ partnerContentDomain4: partnerContentDomain4,
35701
+ csDomain1: csDomain1,
35702
+ csDomain2: csDomain2,
35703
+ csDomain3: csDomain3,
35704
+ csDomain4: csDomain4,
35705
+ economicsDomain1: economicsDomain1,
35706
+ economicsDomain2: economicsDomain2,
35707
+ economicsDomain3: economicsDomain3,
35708
+ economicsDomain4: economicsDomain4,
35709
+ collegeCareersMoreDomain1: collegeCareersMoreDomain1,
35710
+ collegeCareersMoreDomain2: collegeCareersMoreDomain2,
35711
+ collegeCareersMoreDomain3: collegeCareersMoreDomain3,
35712
+ collegeCareersMoreDomain4: collegeCareersMoreDomain4,
35713
+ humanitiesDomain1: humanitiesDomain1,
35714
+ humanitiesDomain2: humanitiesDomain2,
35715
+ humanitiesDomain3: humanitiesDomain3,
35716
+ humanitiesDomain4: humanitiesDomain4,
35717
+ gtpDomain1: gtpDomain1,
35718
+ gtpDomain2: gtpDomain2,
35719
+ gtpDomain3: gtpDomain3,
35720
+ gtpDomain4: gtpDomain4,
35721
+ scienceDomain1: scienceDomain1,
35722
+ scienceDomain2: scienceDomain2,
35723
+ scienceDomain3: scienceDomain3,
35724
+ scienceDomain4: scienceDomain4,
35725
+ testPrepDomain1: testPrepDomain1,
35726
+ testPrepDomain2: testPrepDomain2,
35727
+ testPrepDomain3: testPrepDomain3,
35728
+ testPrepDomain4: testPrepDomain4,
35729
+ defaultDomain1: defaultDomain1,
35730
+ defaultDomain2: defaultDomain2,
35731
+ defaultDomain3: defaultDomain3,
35732
+ defaultDomain4: defaultDomain4,
35733
+ defaultDomainColor: defaultDomainColor,
35734
+ defaultSubjectColor: defaultSubjectColor,
35735
+ defaultTopicColor: defaultTopicColor,
35736
+ defaultHoverColor: defaultHoverColor,
35737
+ defaultLinkColor: defaultLinkColor,
35738
+ defaultLinkHoverColor: defaultLinkHoverColor,
35739
+ scienceDomainColor: scienceDomainColor,
35740
+ scienceSubjectColor: scienceSubjectColor,
35741
+ scienceTopicColor: scienceTopicColor,
35742
+ scienceHoverColor: scienceHoverColor,
35743
+ scienceLinkColor: scienceLinkColor,
35744
+ scienceLinkHoverColor: scienceLinkHoverColor,
35745
+ humanitiesDomainColor: humanitiesDomainColor,
35746
+ humanitiesSubjectColor: humanitiesSubjectColor,
35747
+ humanitiesTopicColor: humanitiesTopicColor,
35748
+ humanitiesHoverColor: humanitiesHoverColor,
35749
+ humanitiesLinkColor: humanitiesLinkColor,
35750
+ humanitiesLinkHoverColor: humanitiesLinkHoverColor,
35751
+ economicsDomainColor: economicsDomainColor,
35752
+ economicsSubjectColor: economicsSubjectColor,
35753
+ economicsTopicColor: economicsTopicColor,
35754
+ economicsHoverColor: economicsHoverColor,
35755
+ economicsLinkColor: economicsLinkColor,
35756
+ economicsLinkHoverColor: economicsLinkHoverColor,
35757
+ csDomainColor: csDomainColor,
35758
+ csSubjectColor: csSubjectColor,
35759
+ csTopicColor: csTopicColor,
35760
+ csHoverColor: csHoverColor,
35761
+ csLinkColor: csLinkColor,
35762
+ csLinkHoverColor: csLinkHoverColor,
35763
+ partnerContentDomainColor: partnerContentDomainColor,
35764
+ partnerContentSubjectColor: partnerContentSubjectColor,
35765
+ partnerContentTopicColor: partnerContentTopicColor,
35766
+ partnerContentHoverColor: partnerContentHoverColor,
35767
+ partnerContentLinkColor: partnerContentLinkColor,
35768
+ partnerContentLinkHoverColor: partnerContentLinkHoverColor,
35769
+ essayDomainColor: essayDomainColor,
35770
+ mathDomainColor: mathDomainColor,
35771
+ mathSubjectColor: mathSubjectColor,
35772
+ mathTopicColor: mathTopicColor,
35773
+ mathHoverColor: mathHoverColor,
35774
+ mathLinkColor: mathLinkColor,
35775
+ mathLinkHoverColor: mathLinkHoverColor,
35776
+ testPrepDomainColor: testPrepDomainColor,
35777
+ testPrepSubjectColor: testPrepSubjectColor,
35778
+ testPrepTopicColor: testPrepTopicColor,
35779
+ testPrepHoverColor: testPrepHoverColor,
35780
+ testPrepLinkColor: testPrepLinkColor,
35781
+ testPrepLinkHoverColor: testPrepLinkHoverColor,
35782
+ collegeCareersMoreDomainColor: collegeCareersMoreDomainColor,
35783
+ collegeCareersMoreSubjectColor: collegeCareersMoreSubjectColor,
35784
+ collegeCareersMoreTopicColor: collegeCareersMoreTopicColor,
35785
+ collegeCareersMoreHoverColor: collegeCareersMoreHoverColor,
35786
+ collegeCareersMoreLinkColor: collegeCareersMoreLinkColor,
35787
+ collegeCareersMoreLinkHoverColor: collegeCareersMoreLinkHoverColor,
35788
+ satDomainColor: satDomainColor,
35789
+ satSubjectColor: satSubjectColor,
35790
+ satTopicColor: satTopicColor,
35791
+ satHoverColor: satHoverColor,
35792
+ satLinkColor: satLinkColor,
35793
+ satLinkHoverColor: satLinkHoverColor,
35794
+ colorProficient: colorProficient,
35795
+ colorPracticed: colorPracticed,
35796
+ colorMastery1: colorMastery1,
35797
+ colorMastery2: colorMastery2,
35798
+ colorMastery3: colorMastery3,
35799
+ colorSuggested: colorSuggested,
35800
+ colorReview: colorReview,
35801
+ colorNotStarted: colorNotStarted,
35802
+ colorStarted: colorStarted,
35803
+ colorStruggling: colorStruggling,
35804
+ colorPersonal: colorPersonal,
35805
+ colorPractice: colorPractice,
35806
+ colorEnergyPoints: colorEnergyPoints,
35807
+ pureSmMin: pureSmMin,
35808
+ pureMdMin: pureMdMin,
35809
+ pureLgMin: pureLgMin,
35810
+ pureXlMin: pureXlMin,
35811
+ pureXsMax: pureXsMax,
35812
+ pureSmMax: pureSmMax,
35813
+ pureMdMax: pureMdMax,
35814
+ pureLgMax: pureLgMax
35815
+ });
35816
+
35817
+ var colors$1 = {
35818
+ white: "#FFFFFF",
35819
+ gray98: "#FAFAFA",
35820
+ gray97: "#F6F7F7",
35821
+ gray95: "#F0F1F2",
35822
+ gray90: "#E3E5E6",
35823
+ gray85: "#D6D8DA",
35824
+ gray76: "#BABEC2",
35825
+ gray72: "#999A9D",
35826
+ gray68: "#888D93",
35827
+ gray55: "#707378",
35828
+ gray41: "#626569",
35829
+ gray25: "#3B3E40",
35830
+ gray17: "#21242C",
35831
+ gray10: "#1499af",
35832
+ black: "#000000",
35833
+ // These colors are pulled out from constants.js, which is itself generated
35834
+ // from variables.less. We should probably avoid duplicating these here.
35835
+ alertRed,
35836
+ homepageBlue,
35837
+ kaBlue,
35838
+ kaBlueLight,
35839
+ kaGreen,
35840
+ kaGreenLight,
35841
+ learnstormBlue,
35842
+ backgroundBlue,
35843
+ adminGreen: "#78C008",
35844
+ kaBlueExtraLight: "#39c2db",
35845
+ kaBlueHover: "#0c7f99",
35846
+ kaGreenHover: "#518005",
35847
+ // Domain-agnostic colors related to the study guide experience in the
35848
+ // content library.
35849
+ skyDark: "#001f4d",
35850
+ recommendationGold: "#ffbe26",
35851
+ starAced: "#ff9c39",
35852
+ // We interploate the domain colors into this colors object for
35853
+ // historical reasons, but everyone using domain-specific colors
35854
+ // should switch to using the domainColors() function to look up
35855
+ // colors instead.
35856
+ //
35857
+ // TODO(davidflanagan): remove this line once everything is
35858
+ // working correctly with the domainColors() accessor.
35859
+ // ...domainToColorsMap,
35860
+ // mission: missionColors,
35861
+ // Colors for various OAuth providers
35862
+ google: "#C1432f",
35863
+ modernGoogle: "#be2612",
35864
+ modernGoogleHover: "#8c1c0d",
35865
+ facebook: "#4267B2",
35866
+ modernFacebook: "#4267B2",
35867
+ modernFacebookHover: "#00294a",
35868
+ wonderBlocksGold: "#FFB100",
35869
+ wonderBlocksLightBlue: "#37C5FD",
35870
+ // We're using rgba instead of opacity to avoid affecting the focus outline
35871
+ // when we just want to make the color transparent.
35872
+ breadcrumbs: "rgba(255, 255, 255, 0.7)"
35873
+ };
35874
+ var borderRadius = 4;
35875
+ var breadcrumbStyles = {
35876
+ color: colors$1.breadcrumbs,
35877
+ fontFamily: "inherit",
35878
+ fontSize: 15,
35879
+ fontWeight: "bold",
35880
+ letterSpacing: 0.8,
35881
+ lineHeight: "19px",
35882
+ textTransform: "uppercase",
35883
+ // Disable subpixel antialiasing for OSX (improves light on dark text)
35884
+ MozOsxFontSmoothing: "grayscale",
35885
+ WebkitFontSmoothing: "antialiased"
35886
+ };
35887
+ var fonts = {
35888
+ // The body of the page is setup to use 'Helvetica' by default and
35889
+ // 'Lato' if/once it downloads. For your elements to follow this
35890
+ // pattern, all you need is to make the text in your element
35891
+ // inherit from the body using the "inherit" value.
35892
+ regular: "inherit"
35893
+ };
35894
+ var typography = {
35895
+ // For subject names
35896
+ subjectHeadingDesktop: {
35897
+ fontFamily: "inherit",
35898
+ fontSize: 50,
35899
+ fontWeight: "bold",
35900
+ lineHeight: "61px"
35901
+ },
35902
+ subjectHeadingMobile: {
35903
+ fontFamily: "inherit",
35904
+ fontSize: 35,
35905
+ fontWeight: "bold",
35906
+ lineHeight: "37px"
35907
+ },
35908
+ // For the most important thing on the page
35909
+ conceptHeadingDesktop: {
35910
+ fontFamily: "inherit",
35911
+ fontSize: 35,
35912
+ fontWeight: "bold",
35913
+ lineHeight: "37px"
35914
+ },
35915
+ conceptHeadingMobile: {
35916
+ fontFamily: "inherit",
35917
+ fontSize: 23,
35918
+ fontWeight: "bold",
35919
+ lineHeight: "27px"
35920
+ },
35921
+ // For sections or modules
35922
+ subheadingDesktop: {
35923
+ fontFamily: "inherit",
35924
+ fontSize: 23,
35925
+ fontWeight: "bold",
35926
+ lineHeight: "27px"
35927
+ },
35928
+ subheadingMobile: {
35929
+ fontFamily: "inherit",
35930
+ fontSize: 20,
35931
+ fontWeight: "bold",
35932
+ lineHeight: "24px"
35933
+ },
35934
+ smallSubheadingDesktop: {
35935
+ fontFamily: "inherit",
35936
+ fontSize: 20,
35937
+ lineHeight: 1.25
35938
+ },
35939
+ smallSubheadingMobile: {
35940
+ fontFamily: "inherit",
35941
+ fontSize: 15,
35942
+ lineHeight: 1.25
35943
+ },
35944
+ // For callouts
35945
+ smallHeading: {
35946
+ color: colors$1.gray25,
35947
+ fontFamily: "inherit",
35948
+ fontSize: 17,
35949
+ fontWeight: "bold",
35950
+ lineHeight: "23px"
35951
+ },
35952
+ smallHeadingMobile: {
35953
+ color: colors$1.gray25,
35954
+ fontFamily: "inherit",
35955
+ fontSize: 15,
35956
+ fontWeight: "bold",
35957
+ lineHeight: "18px"
35958
+ },
35959
+ // Accent headings
35960
+ accentHeading: {
35961
+ color: colors$1.gray68,
35962
+ fontFamily: "inherit",
35963
+ fontSize: 15,
35964
+ fontWeight: "bold",
35965
+ letterSpacing: 0.8,
35966
+ lineHeight: "19px",
35967
+ textTransform: "uppercase"
35968
+ },
35969
+ bodyLarge: {
35970
+ // For articles with multiple paragraphs
35971
+ fontFamily: fonts.regular,
35972
+ fontSize: 20,
35973
+ lineHeight: "30px"
35974
+ },
35975
+ bodySmall: {
35976
+ // For small blocks of copy
35977
+ fontFamily: fonts.regular,
35978
+ fontSize: 17,
35979
+ fontWeight: "normal",
35980
+ lineHeight: "23px"
35981
+ },
35982
+ bodySmallBold: {
35983
+ // For small blocks of copy
35984
+ fontFamily: fonts.regular,
35985
+ fontSize: 17,
35986
+ fontWeight: "bold",
35987
+ lineHeight: "23px"
35988
+ },
35989
+ bodyXsmall: {
35990
+ // For metadata, descriptions, etc
35991
+ fontFamily: fonts.regular,
35992
+ fontSize: 15,
35993
+ lineHeight: "22px"
35994
+ },
35995
+ bodyXsmallBold: {
35996
+ // For emphasized metadata, descriptions, etc
35997
+ fontFamily: "inherit",
35998
+ fontSize: 15,
35999
+ fontWeight: "bold",
36000
+ lineHeight: "22px"
36001
+ },
36002
+ breadcrumb: breadcrumbStyles,
36003
+ // For in-page tabs, breadcrumbs
36004
+ breadcrumbSmall: _objectSpread2(_objectSpread2({}, breadcrumbStyles), {}, {
36005
+ fontSize: 12,
36006
+ lineHeight: "13px"
36007
+ }),
36008
+ labelLarge: {
36009
+ // For chiclets and thumbnail titles
36010
+ fontFamily: "inherit",
36011
+ fontSize: 23,
36012
+ fontWeight: "bold",
36013
+ lineHeight: "27px"
36014
+ },
36015
+ labelMedium: {
36016
+ // For chiclets and thumbnail titles
36017
+ fontFamily: "inherit",
36018
+ fontSize: 15,
36019
+ fontWeight: "bold",
36020
+ lineHeight: "18px"
36021
+ },
36022
+ labelSmall: {
36023
+ // Generally used with labelLarge, for breadcrumbs in thumbnails
36024
+ fontFamily: fonts.regular,
36025
+ fontSize: 12,
36026
+ lineHeight: "14px"
36027
+ },
36028
+ caption: {
36029
+ // For image captions
36030
+ fontFamily: fonts.regular,
36031
+ fontSize: 14,
36032
+ fontStyle: "italic",
36033
+ lineHeight: "17px"
36034
+ },
36035
+ desktopScalingOnMobile: {
36036
+ // For when you need Mobile Safari and friends to stick to desktop
36037
+ // sizes
36038
+ MozTextSizeAdjust: "100%",
36039
+ MsTextSizeAdjust: "100%",
36040
+ WebkitTextSizeAdjust: "100%"
36041
+ },
36042
+ // TODO (josh): This should move to within <ModalHeader>
36043
+ modalSubtitle: {
36044
+ fontSize: 12,
36045
+ lineHeight: 1.65,
36046
+ // NOTE (josh): Font smoothing used here to create a 'medium' weight
36047
+ // font, between normal and bold, on webkit browsers.
36048
+ // This prop is an a11y risk when used on non-bold text, since it
36049
+ // makes text very thin, but it's fine on bold text.
36050
+ WebkitFontSmoothing: "antialiased",
36051
+ fontWeight: "bold"
36052
+ },
36053
+ // HACK(kevinb): temporary wonder blocks styles for header only
36054
+ // TODO(kevinb): use components from wonder-blocks-typography instead
36055
+ wonderBlocksHeader: {
36056
+ paddingLeft: 16,
36057
+ paddingRight: 16,
36058
+ paddingBottom: 24,
36059
+ paddingTop: 34,
36060
+ [mediaQueries.mdOrLarger]: {
36061
+ paddingBottom: 32
36204
36062
  }
36063
+ },
36064
+ // HACK(kevinb): temporary wonder blocks styles for header only
36065
+ // TODO(kevinb): use components from wonder-blocks-typography instead
36066
+ wonderBlocksTitle: {
36067
+ color: colors$1.white,
36068
+ fontWeight: 900,
36069
+ // "Black" weight
36070
+ fontSize: 28,
36071
+ lineHeight: "32px",
36072
+ margin: 0,
36073
+ [mediaQueries.mdOrLarger]: {
36074
+ fontSize: 36,
36075
+ lineHeight: "40px"
36076
+ }
36077
+ },
36078
+ // HACK(kevinb): temporary wonder blocks styles for header only
36079
+ // TODO(kevinb): use components from wonder-blocks-typography instead
36080
+ wonderBlocksLabelLarge: {
36081
+ fontSize: 16,
36082
+ lineHeight: "20px",
36083
+ fontWeight: 700 // Bold
36205
36084
 
36206
- return {
36207
- type: "points",
36208
- earned: 0,
36209
- total: 1,
36210
- message: null
36211
- };
36212
- }
36213
-
36214
- static getUserInputFromProps(props) {
36215
- return props.graph;
36216
36085
  }
36086
+ };
36217
36087
 
36218
- }
36219
-
36220
- _defineProperty(InteractiveGraph, "defaultProps", {
36221
- labels: ["x", "y"],
36222
- range: [[-10, 10], [-10, 10]],
36223
- step: [1, 1],
36224
- // $FlowFixMe[prop-missing]
36225
- backgroundImage: defaultBackgroundImage$1,
36226
- markings: "graph",
36227
- showTooltips: false,
36228
- showProtractor: false,
36229
- showRuler: false,
36230
- rulerLabel: "",
36231
- rulerTicks: 10,
36232
- graph: {
36233
- type: "linear"
36234
- }
36088
+ var globalStyles = /*#__PURE__*/Object.freeze({
36089
+ __proto__: null,
36090
+ colors: colors$1,
36091
+ borderRadius: borderRadius,
36092
+ fonts: fonts,
36093
+ typography: typography
36235
36094
  });
36236
36095
 
36237
- var InteractiveGraph$1 = {
36238
- name: "interactive-graph",
36239
- displayName: "Interactive graph",
36240
- widget: InteractiveGraph
36241
- };
36242
-
36243
36096
  class AnswerChoice extends React.Component {
36244
36097
  constructor() {
36245
36098
  super(...arguments);