@coorpacademy/components 11.2.7-alpha.3 → 11.2.8

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 (110) hide show
  1. package/es/atom/html/index.native.d.ts.map +1 -1
  2. package/es/atom/html/index.native.js +3 -3
  3. package/es/atom/html/index.native.js.map +1 -1
  4. package/es/atom/review-presentation/index.d.ts.map +1 -1
  5. package/es/atom/review-presentation/index.js +5 -9
  6. package/es/atom/review-presentation/index.js.map +1 -1
  7. package/es/atom/review-presentation/index.native.js.map +1 -1
  8. package/es/atom/review-presentation/prop-types.d.ts +9 -11
  9. package/es/atom/review-presentation/prop-types.d.ts.map +1 -1
  10. package/es/atom/review-presentation/prop-types.js +1 -2
  11. package/es/atom/review-presentation/prop-types.js.map +1 -1
  12. package/es/atom/select-modal/index.native.d.ts +1 -1
  13. package/es/atom/select-modal/index.native.d.ts.map +1 -1
  14. package/es/atom/select-modal/index.native.js +5 -2
  15. package/es/atom/select-modal/index.native.js.map +1 -1
  16. package/es/molecule/filters/index.d.ts +2 -0
  17. package/es/molecule/filters/index.d.ts.map +1 -1
  18. package/es/molecule/filters/index.js +10 -4
  19. package/es/molecule/filters/index.js.map +1 -1
  20. package/es/molecule/questions/mobile/template/index.native.d.ts.map +1 -1
  21. package/es/molecule/questions/mobile/template/index.native.js +0 -13
  22. package/es/molecule/questions/mobile/template/index.native.js.map +1 -1
  23. package/es/molecule/review-correction-popin/index.native.d.ts.map +1 -1
  24. package/es/molecule/review-correction-popin/index.native.js +4 -3
  25. package/es/molecule/review-correction-popin/index.native.js.map +1 -1
  26. package/es/organism/mooc-footer/index.d.ts +1 -0
  27. package/es/organism/mooc-footer/index.d.ts.map +1 -1
  28. package/es/organism/mooc-footer/index.js +3 -1
  29. package/es/organism/mooc-footer/index.js.map +1 -1
  30. package/es/organism/mooc-header/index.d.ts.map +1 -1
  31. package/es/organism/mooc-header/index.js +4 -3
  32. package/es/organism/mooc-header/index.js.map +1 -1
  33. package/es/organism/review-congrats/index.native.d.ts.map +1 -1
  34. package/es/organism/review-congrats/index.native.js +6 -5
  35. package/es/organism/review-congrats/index.native.js.map +1 -1
  36. package/es/organism/review-slide/index.native.d.ts.map +1 -1
  37. package/es/organism/review-slide/index.native.js +3 -1
  38. package/es/organism/review-slide/index.native.js.map +1 -1
  39. package/es/organism/review-stacked-slides/index.native.d.ts +0 -1
  40. package/es/organism/review-stacked-slides/index.native.d.ts.map +1 -1
  41. package/es/organism/review-stacked-slides/index.native.js +37 -32
  42. package/es/organism/review-stacked-slides/index.native.js.map +1 -1
  43. package/es/template/activity/stars-summary.css +2 -0
  44. package/es/template/activity/stars-summary.js +2 -2
  45. package/es/template/activity/stars-summary.js.map +1 -1
  46. package/es/template/app-review/index.d.ts +0 -4
  47. package/es/template/app-review/index.d.ts.map +1 -1
  48. package/es/template/app-review/prop-types.d.ts +0 -4
  49. package/es/template/app-review/prop-types.d.ts.map +1 -1
  50. package/es/template/common/search-page/index.d.ts +4 -0
  51. package/es/template/common/search-page/index.d.ts.map +1 -1
  52. package/es/template/common/search-page/index.js +10 -3
  53. package/es/template/common/search-page/index.js.map +1 -1
  54. package/es/template/review-dashboard-skills/index.d.ts +0 -4
  55. package/lib/atom/html/index.native.d.ts.map +1 -1
  56. package/lib/atom/html/index.native.js +2 -2
  57. package/lib/atom/html/index.native.js.map +1 -1
  58. package/lib/atom/review-presentation/index.d.ts.map +1 -1
  59. package/lib/atom/review-presentation/index.js +5 -9
  60. package/lib/atom/review-presentation/index.js.map +1 -1
  61. package/lib/atom/review-presentation/index.native.js.map +1 -1
  62. package/lib/atom/review-presentation/prop-types.d.ts +9 -11
  63. package/lib/atom/review-presentation/prop-types.d.ts.map +1 -1
  64. package/lib/atom/review-presentation/prop-types.js +1 -2
  65. package/lib/atom/review-presentation/prop-types.js.map +1 -1
  66. package/lib/atom/select-modal/index.native.d.ts +1 -1
  67. package/lib/atom/select-modal/index.native.d.ts.map +1 -1
  68. package/lib/atom/select-modal/index.native.js +5 -2
  69. package/lib/atom/select-modal/index.native.js.map +1 -1
  70. package/lib/molecule/filters/index.d.ts +2 -0
  71. package/lib/molecule/filters/index.d.ts.map +1 -1
  72. package/lib/molecule/filters/index.js +10 -4
  73. package/lib/molecule/filters/index.js.map +1 -1
  74. package/lib/molecule/questions/mobile/template/index.native.d.ts.map +1 -1
  75. package/lib/molecule/questions/mobile/template/index.native.js +0 -13
  76. package/lib/molecule/questions/mobile/template/index.native.js.map +1 -1
  77. package/lib/molecule/review-correction-popin/index.native.d.ts.map +1 -1
  78. package/lib/molecule/review-correction-popin/index.native.js +4 -3
  79. package/lib/molecule/review-correction-popin/index.native.js.map +1 -1
  80. package/lib/organism/mooc-footer/index.d.ts +1 -0
  81. package/lib/organism/mooc-footer/index.d.ts.map +1 -1
  82. package/lib/organism/mooc-footer/index.js +3 -1
  83. package/lib/organism/mooc-footer/index.js.map +1 -1
  84. package/lib/organism/mooc-header/index.d.ts.map +1 -1
  85. package/lib/organism/mooc-header/index.js +4 -3
  86. package/lib/organism/mooc-header/index.js.map +1 -1
  87. package/lib/organism/review-congrats/index.native.d.ts.map +1 -1
  88. package/lib/organism/review-congrats/index.native.js +6 -5
  89. package/lib/organism/review-congrats/index.native.js.map +1 -1
  90. package/lib/organism/review-slide/index.native.d.ts.map +1 -1
  91. package/lib/organism/review-slide/index.native.js +3 -1
  92. package/lib/organism/review-slide/index.native.js.map +1 -1
  93. package/lib/organism/review-stacked-slides/index.native.d.ts +0 -1
  94. package/lib/organism/review-stacked-slides/index.native.d.ts.map +1 -1
  95. package/lib/organism/review-stacked-slides/index.native.js +38 -34
  96. package/lib/organism/review-stacked-slides/index.native.js.map +1 -1
  97. package/lib/template/activity/stars-summary.css +2 -0
  98. package/lib/template/activity/stars-summary.js +2 -2
  99. package/lib/template/activity/stars-summary.js.map +1 -1
  100. package/lib/template/app-review/index.d.ts +0 -4
  101. package/lib/template/app-review/index.d.ts.map +1 -1
  102. package/lib/template/app-review/prop-types.d.ts +0 -4
  103. package/lib/template/app-review/prop-types.d.ts.map +1 -1
  104. package/lib/template/common/search-page/index.d.ts +4 -0
  105. package/lib/template/common/search-page/index.d.ts.map +1 -1
  106. package/lib/template/common/search-page/index.js +10 -3
  107. package/lib/template/common/search-page/index.js.map +1 -1
  108. package/lib/template/review-dashboard-skills/index.d.ts +0 -4
  109. package/locales/.mtslconfig.json +1 -0
  110. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.js","names":["React","useEffect","useState","View","trim","Html","Select","Space","FreeText","useTemplateContext","parseTemplateString","BOX_STYLE","createStyleSheet","theme","container","width","flexDirection","flexWrap","justifyContent","alignItems","spaced","paddingVertical","spacing","tiny","htmlText","color","colors","black","fontWeight","bold","lineHeight","selectInput","padding","borderRadius","radius","regular","minWidth","marginHorizontal","backgroundColor","white","selectText","gray","medium","fontSize","textAlign","Item","props","part","index","isDisabled","focusedSelectId","choices","onInputChange","handleBlur","handleFocus","styles","templateContext","brandTheme","translations","inputNames","map","choice","name","id","isFocused","coloredText","primary","type","includes","value","choiceIndex","findIndex","disabledSuffix","selectedSuffix","handleInputChange","_item","_value","selectInputStyle","push","selectTextStyle","items","selectAnAnswer","QuestionTemplate","template","styleSheet","setStylesheet","_stylesheet","parts"],"sources":["../../../../../src/molecule/questions/mobile/template/index.native.tsx"],"sourcesContent":["import React, {useEffect, useState} from 'react';\nimport {TextStyle, View, ViewStyle} from 'react-native';\n\nimport trim from 'lodash/fp/trim';\n\nimport Html from '../../../../atom/html/index.native';\nimport Select from '../../../../atom/select-modal/index.native';\nimport Space from '../../../../atom/space/index.native';\nimport type {TemplateListOfChoices, TemplateTextChoice} from '../../types';\nimport FreeText from '../../free-text/index.native';\nimport {\n FocusedSelectId,\n HandleBlur,\n HandleFocus,\n useTemplateContext\n} from '../../../../template/app-review/template-context';\nimport {Theme} from '../../../../variables/theme.native';\nimport parseTemplateString from '../../../../util/parse-template-string';\nimport {BOX_STYLE} from '../../../../variables/shadow';\n\ntype StyleSheetType = {\n container: ViewStyle;\n spaced: ViewStyle;\n htmlText: TextStyle;\n selectInput: ViewStyle;\n selectText: TextStyle;\n};\n\nconst createStyleSheet = (theme: Theme): StyleSheetType => ({\n container: {\n width: '100%',\n flexDirection: 'row',\n flexWrap: 'wrap',\n justifyContent: 'center',\n alignItems: 'center'\n },\n spaced: {\n paddingVertical: theme.spacing.tiny\n },\n htmlText: {\n color: theme.colors.black,\n fontWeight: theme.fontWeight.bold,\n lineHeight: 25\n },\n // eslint-disable-next-line @coorpacademy/coorpacademy/no-overwriting-spread\n selectInput: {\n padding: theme.spacing.tiny,\n borderRadius: theme.radius.regular,\n minWidth: 175,\n marginHorizontal: 12,\n paddingVertical: 16,\n ...BOX_STYLE,\n backgroundColor: theme.colors.white\n },\n selectText: {\n color: theme.colors.gray.medium,\n fontWeight: theme.fontWeight.bold,\n fontSize: theme.fontSize.regular,\n textAlign: 'center'\n }\n});\n\ntype TemplatePart = {\n type: 'string' | 'answerField';\n value: string;\n};\n\ntype ItemProps = {\n part: TemplatePart;\n choices: Array<TemplateTextChoice | TemplateListOfChoices>;\n index: number;\n isDisabled?: boolean;\n onInputChange: (item: TemplateTextChoice | TemplateListOfChoices, value: string) => void;\n focusedSelectId: FocusedSelectId;\n handleBlur: HandleBlur;\n handleFocus: HandleFocus;\n styles: StyleSheetType;\n};\n\nconst Item = (props: ItemProps) => {\n const {\n part,\n index,\n isDisabled = false,\n focusedSelectId,\n choices,\n onInputChange,\n handleBlur,\n handleFocus,\n styles\n } = props;\n\n const templateContext = useTemplateContext();\n const {theme, brandTheme, translations} = templateContext;\n\n const inputNames = choices.map(choice => choice.name);\n const id = `question-part-${index + 1}`;\n const isFocused = focusedSelectId === id;\n\n const coloredText = brandTheme && {\n color: brandTheme.colors?.primary\n };\n\n if (part.type === 'answerField' && inputNames.includes(part.value)) {\n const choiceIndex = choices.findIndex(choice => choice.name === part.value);\n const choice = choices[choiceIndex];\n const {value} = choice;\n\n if (!choice || !choice.type || !choice.name) {\n return null;\n }\n\n const disabledSuffix = isDisabled ? '-disabled' : '';\n const selectedSuffix = value ? '-selected' : '';\n\n const handleInputChange =\n (_item: TemplateTextChoice | TemplateListOfChoices) => (_value: string) =>\n onInputChange(_item, _value);\n\n if (choice.type === 'text') {\n return (\n <View style={styles.spaced} testID={id}>\n <FreeText\n key={id}\n isDisabled={isDisabled}\n onChange={handleInputChange(choice)}\n value={value}\n testID={`${id}-text${selectedSuffix}${disabledSuffix}`}\n questionType=\"template\"\n />\n </View>\n );\n }\n\n const selectInputStyle: TextStyle[] = [styles.selectInput];\n if (coloredText && value) {\n selectInputStyle.push(coloredText);\n }\n\n const selectTextStyle: TextStyle[] = [styles.selectText];\n if (coloredText && value) {\n selectTextStyle.push(coloredText);\n }\n\n if (choice.type === 'select') {\n return (\n <View style={styles.spaced} testID={id}>\n <Select\n isDisabled={isDisabled}\n questionType=\"template\"\n values={choice.items}\n value={value}\n placeholder={translations.selectAnAnswer}\n isFocused={isFocused}\n onBlur={handleBlur}\n onFocus={handleFocus(id)}\n onChange={handleInputChange(choice)}\n textStyle={selectTextStyle}\n style={selectInputStyle}\n analyticsID={`${id}-select${selectedSuffix}${disabledSuffix}`}\n testID={`${id}-select${selectedSuffix}${disabledSuffix}`}\n />\n </View>\n );\n }\n }\n\n return (\n <Html key={id} fontSize={theme.fontSize.regular} testID={id} style={styles.htmlText}>\n {trim(part.value || '')}\n </Html>\n );\n};\n\nexport type Props = {\n isDisabled?: boolean;\n template: string;\n choices: Array<TemplateTextChoice | TemplateListOfChoices>;\n onInputChange: (item: TemplateTextChoice | TemplateListOfChoices, value: string) => void;\n focusedSelectId: FocusedSelectId;\n handleBlur: HandleBlur;\n handleFocus: HandleFocus;\n};\n\nconst QuestionTemplate = (props: Props) => {\n const {\n template,\n onInputChange,\n choices,\n handleBlur,\n handleFocus,\n focusedSelectId,\n isDisabled = false\n } = props;\n\n const templateContext = useTemplateContext();\n const {theme} = templateContext;\n\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(theme);\n setStylesheet(_stylesheet);\n }, [theme]);\n\n if (!template || !styleSheet) {\n return null;\n }\n\n const parts: TemplatePart[] = parseTemplateString(template);\n\n return (\n <View style={styleSheet.container} testID=\"question-template\">\n {parts.map((part, id) => (\n <View key={`question-part-${id}`} style={{flexDirection: 'row'}}>\n <Item\n part={part}\n choices={choices}\n index={id}\n focusedSelectId={focusedSelectId}\n isDisabled={isDisabled}\n handleBlur={handleBlur}\n handleFocus={handleFocus}\n onInputChange={onInputChange}\n styles={styleSheet}\n />\n <Space type=\"micro\" />\n </View>\n ))}\n </View>\n );\n};\n\nexport default QuestionTemplate;\n"],"mappings":";;AAAA,OAAOA,KAAP,IAAeC,SAAf,EAA0BC,QAA1B,QAAyC,OAAzC;AACA,SAAmBC,IAAnB,QAAyC,cAAzC;AAEA,OAAOC,IAAP,MAAiB,gBAAjB;AAEA,OAAOC,IAAP,MAAiB,oCAAjB;AACA,OAAOC,MAAP,MAAmB,4CAAnB;AACA,OAAOC,KAAP,MAAkB,qCAAlB;AAEA,OAAOC,QAAP,MAAqB,8BAArB;AACA,SAIEC,kBAJF,QAKO,kDALP;AAOA,OAAOC,mBAAP,MAAgC,wCAAhC;AACA,SAAQC,SAAR,QAAwB,8BAAxB;;AAUA,MAAMC,gBAAgB,GAAIC,KAAD,KAAmC;EAC1DC,SAAS,EAAE;IACTC,KAAK,EAAE,MADE;IAETC,aAAa,EAAE,KAFN;IAGTC,QAAQ,EAAE,MAHD;IAITC,cAAc,EAAE,QAJP;IAKTC,UAAU,EAAE;EALH,CAD+C;EAQ1DC,MAAM,EAAE;IACNC,eAAe,EAAER,KAAK,CAACS,OAAN,CAAcC;EADzB,CARkD;EAW1DC,QAAQ,EAAE;IACRC,KAAK,EAAEZ,KAAK,CAACa,MAAN,CAAaC,KADZ;IAERC,UAAU,EAAEf,KAAK,CAACe,UAAN,CAAiBC,IAFrB;IAGRC,UAAU,EAAE;EAHJ,CAXgD;EAgB1D;EACAC,WAAW;IACTC,OAAO,EAAEnB,KAAK,CAACS,OAAN,CAAcC,IADd;IAETU,YAAY,EAAEpB,KAAK,CAACqB,MAAN,CAAaC,OAFlB;IAGTC,QAAQ,EAAE,GAHD;IAITC,gBAAgB,EAAE,EAJT;IAKThB,eAAe,EAAE;EALR,GAMNV,SANM;IAOT2B,eAAe,EAAEzB,KAAK,CAACa,MAAN,CAAaa;EAPrB,EAjB+C;EA0B1DC,UAAU,EAAE;IACVf,KAAK,EAAEZ,KAAK,CAACa,MAAN,CAAae,IAAb,CAAkBC,MADf;IAEVd,UAAU,EAAEf,KAAK,CAACe,UAAN,CAAiBC,IAFnB;IAGVc,QAAQ,EAAE9B,KAAK,CAAC8B,QAAN,CAAeR,OAHf;IAIVS,SAAS,EAAE;EAJD;AA1B8C,CAAnC,CAAzB;;AAmDA,MAAMC,IAAI,GAAIC,KAAD,IAAsB;EACjC,MAAM;IACJC,IADI;IAEJC,KAFI;IAGJC,UAAU,GAAG,KAHT;IAIJC,eAJI;IAKJC,OALI;IAMJC,aANI;IAOJC,UAPI;IAQJC,WARI;IASJC;EATI,IAUFT,KAVJ;EAYA,MAAMU,eAAe,GAAG/C,kBAAkB,EAA1C;EACA,MAAM;IAACI,KAAD;IAAQ4C,UAAR;IAAoBC;EAApB,IAAoCF,eAA1C;EAEA,MAAMG,UAAU,GAAGR,OAAO,CAACS,GAAR,CAAYC,MAAM,IAAIA,MAAM,CAACC,IAA7B,CAAnB;EACA,MAAMC,EAAE,GAAI,iBAAgBf,KAAK,GAAG,CAAE,EAAtC;EACA,MAAMgB,SAAS,GAAGd,eAAe,KAAKa,EAAtC;EAEA,MAAME,WAAW,GAAGR,UAAU,IAAI;IAChChC,KAAK,EAAEgC,UAAU,CAAC/B,MAAX,EAAmBwC;EADM,CAAlC;;EAIA,IAAInB,IAAI,CAACoB,IAAL,KAAc,aAAd,IAA+BR,UAAU,CAACS,QAAX,CAAoBrB,IAAI,CAACsB,KAAzB,CAAnC,EAAoE;IAClE,MAAMC,WAAW,GAAGnB,OAAO,CAACoB,SAAR,CAAkBV,MAAM,IAAIA,MAAM,CAACC,IAAP,KAAgBf,IAAI,CAACsB,KAAjD,CAApB;IACA,MAAMR,MAAM,GAAGV,OAAO,CAACmB,WAAD,CAAtB;IACA,MAAM;MAACD;IAAD,IAAUR,MAAhB;;IAEA,IAAI,CAACA,MAAD,IAAW,CAACA,MAAM,CAACM,IAAnB,IAA2B,CAACN,MAAM,CAACC,IAAvC,EAA6C;MAC3C,OAAO,IAAP;IACD;;IAED,MAAMU,cAAc,GAAGvB,UAAU,GAAG,WAAH,GAAiB,EAAlD;IACA,MAAMwB,cAAc,GAAGJ,KAAK,GAAG,WAAH,GAAiB,EAA7C;;IAEA,MAAMK,iBAAiB,GACpBC,KAAD,IAAwDC,MAAD,IACrDxB,aAAa,CAACuB,KAAD,EAAQC,MAAR,CAFjB;;IAIA,IAAIf,MAAM,CAACM,IAAP,KAAgB,MAApB,EAA4B;MAC1B,oBACE,oBAAC,IAAD;QAAM,KAAK,EAAEZ,MAAM,CAACnC,MAApB;QAA4B,MAAM,EAAE2C;MAApC,gBACE,oBAAC,QAAD;QACE,GAAG,EAAEA,EADP;QAEE,UAAU,EAAEd,UAFd;QAGE,QAAQ,EAAEyB,iBAAiB,CAACb,MAAD,CAH7B;QAIE,KAAK,EAAEQ,KAJT;QAKE,MAAM,EAAG,GAAEN,EAAG,QAAOU,cAAe,GAAED,cAAe,EALvD;QAME,YAAY,EAAC;MANf,EADF,CADF;IAYD;;IAED,MAAMK,gBAA6B,GAAG,CAACtB,MAAM,CAACxB,WAAR,CAAtC;;IACA,IAAIkC,WAAW,IAAII,KAAnB,EAA0B;MACxBQ,gBAAgB,CAACC,IAAjB,CAAsBb,WAAtB;IACD;;IAED,MAAMc,eAA4B,GAAG,CAACxB,MAAM,CAACf,UAAR,CAArC;;IACA,IAAIyB,WAAW,IAAII,KAAnB,EAA0B;MACxBU,eAAe,CAACD,IAAhB,CAAqBb,WAArB;IACD;;IAED,IAAIJ,MAAM,CAACM,IAAP,KAAgB,QAApB,EAA8B;MAC5B,oBACE,oBAAC,IAAD;QAAM,KAAK,EAAEZ,MAAM,CAACnC,MAApB;QAA4B,MAAM,EAAE2C;MAApC,gBACE,oBAAC,MAAD;QACE,UAAU,EAAEd,UADd;QAEE,YAAY,EAAC,UAFf;QAGE,MAAM,EAAEY,MAAM,CAACmB,KAHjB;QAIE,KAAK,EAAEX,KAJT;QAKE,WAAW,EAAEX,YAAY,CAACuB,cAL5B;QAME,SAAS,EAAEjB,SANb;QAOE,MAAM,EAAEX,UAPV;QAQE,OAAO,EAAEC,WAAW,CAACS,EAAD,CARtB;QASE,QAAQ,EAAEW,iBAAiB,CAACb,MAAD,CAT7B;QAUE,SAAS,EAAEkB,eAVb;QAWE,KAAK,EAAEF,gBAXT;QAYE,WAAW,EAAG,GAAEd,EAAG,UAASU,cAAe,GAAED,cAAe,EAZ9D;QAaE,MAAM,EAAG,GAAET,EAAG,UAASU,cAAe,GAAED,cAAe;MAbzD,EADF,CADF;IAmBD;EACF;;EAED,oBACE,oBAAC,IAAD;IAAM,GAAG,EAAET,EAAX;IAAe,QAAQ,EAAElD,KAAK,CAAC8B,QAAN,CAAeR,OAAxC;IAAiD,MAAM,EAAE4B,EAAzD;IAA6D,KAAK,EAAER,MAAM,CAAC/B;EAA3E,GACGpB,IAAI,CAAC2C,IAAI,CAACsB,KAAL,IAAc,EAAf,CADP,CADF;AAKD,CA7FD;;AAyGA,MAAMa,gBAAgB,GAAIpC,KAAD,IAAkB;EACzC,MAAM;IACJqC,QADI;IAEJ/B,aAFI;IAGJD,OAHI;IAIJE,UAJI;IAKJC,WALI;IAMJJ,eANI;IAOJD,UAAU,GAAG;EAPT,IAQFH,KARJ;EAUA,MAAMU,eAAe,GAAG/C,kBAAkB,EAA1C;EACA,MAAM;IAACI;EAAD,IAAU2C,eAAhB;EAEA,MAAM,CAAC4B,UAAD,EAAaC,aAAb,IAA8BnF,QAAQ,CAAwB,IAAxB,CAA5C;EAEAD,SAAS,CAAC,MAAM;IACd,MAAMqF,WAAW,GAAG1E,gBAAgB,CAACC,KAAD,CAApC;;IACAwE,aAAa,CAACC,WAAD,CAAb;EACD,CAHQ,EAGN,CAACzE,KAAD,CAHM,CAAT;;EAKA,IAAI,CAACsE,QAAD,IAAa,CAACC,UAAlB,EAA8B;IAC5B,OAAO,IAAP;EACD;;EAED,MAAMG,KAAqB,GAAG7E,mBAAmB,CAACyE,QAAD,CAAjD;EAEA,oBACE,oBAAC,IAAD;IAAM,KAAK,EAAEC,UAAU,CAACtE,SAAxB;IAAmC,MAAM,EAAC;EAA1C,GACGyE,KAAK,CAAC3B,GAAN,CAAU,CAACb,IAAD,EAAOgB,EAAP,kBACT,oBAAC,IAAD;IAAM,GAAG,EAAG,iBAAgBA,EAAG,EAA/B;IAAkC,KAAK,EAAE;MAAC/C,aAAa,EAAE;IAAhB;EAAzC,gBACE,oBAAC,IAAD;IACE,IAAI,EAAE+B,IADR;IAEE,OAAO,EAAEI,OAFX;IAGE,KAAK,EAAEY,EAHT;IAIE,eAAe,EAAEb,eAJnB;IAKE,UAAU,EAAED,UALd;IAME,UAAU,EAAEI,UANd;IAOE,WAAW,EAAEC,WAPf;IAQE,aAAa,EAAEF,aARjB;IASE,MAAM,EAAEgC;EATV,EADF,eAYE,oBAAC,KAAD;IAAO,IAAI,EAAC;EAAZ,EAZF,CADD,CADH,CADF;AAoBD,CA/CD;;AAiDA,eAAeF,gBAAf"}
1
+ {"version":3,"file":"index.native.js","names":["React","useEffect","useState","View","trim","Html","Select","Space","FreeText","useTemplateContext","parseTemplateString","BOX_STYLE","createStyleSheet","theme","container","width","flexDirection","flexWrap","justifyContent","alignItems","spaced","paddingVertical","spacing","tiny","htmlText","color","colors","black","fontWeight","bold","lineHeight","selectInput","padding","borderRadius","radius","regular","minWidth","marginHorizontal","backgroundColor","white","selectText","gray","medium","fontSize","textAlign","Item","props","part","index","isDisabled","focusedSelectId","choices","onInputChange","handleBlur","handleFocus","styles","templateContext","translations","inputNames","map","choice","name","id","isFocused","type","includes","value","choiceIndex","findIndex","disabledSuffix","selectedSuffix","handleInputChange","_item","_value","selectInputStyle","selectTextStyle","items","selectAnAnswer","QuestionTemplate","template","styleSheet","setStylesheet","_stylesheet","parts"],"sources":["../../../../../src/molecule/questions/mobile/template/index.native.tsx"],"sourcesContent":["import React, {useEffect, useState} from 'react';\nimport {TextStyle, View, ViewStyle} from 'react-native';\n\nimport trim from 'lodash/fp/trim';\n\nimport Html from '../../../../atom/html/index.native';\nimport Select from '../../../../atom/select-modal/index.native';\nimport Space from '../../../../atom/space/index.native';\nimport type {TemplateListOfChoices, TemplateTextChoice} from '../../types';\nimport FreeText from '../../free-text/index.native';\nimport {\n FocusedSelectId,\n HandleBlur,\n HandleFocus,\n useTemplateContext\n} from '../../../../template/app-review/template-context';\nimport {Theme} from '../../../../variables/theme.native';\nimport parseTemplateString from '../../../../util/parse-template-string';\nimport {BOX_STYLE} from '../../../../variables/shadow';\n\ntype StyleSheetType = {\n container: ViewStyle;\n spaced: ViewStyle;\n htmlText: TextStyle;\n selectInput: ViewStyle;\n selectText: TextStyle;\n};\n\nconst createStyleSheet = (theme: Theme): StyleSheetType => ({\n container: {\n width: '100%',\n flexDirection: 'row',\n flexWrap: 'wrap',\n justifyContent: 'center',\n alignItems: 'center'\n },\n spaced: {\n paddingVertical: theme.spacing.tiny\n },\n htmlText: {\n color: theme.colors.black,\n fontWeight: theme.fontWeight.bold,\n lineHeight: 25\n },\n // eslint-disable-next-line @coorpacademy/coorpacademy/no-overwriting-spread\n selectInput: {\n padding: theme.spacing.tiny,\n borderRadius: theme.radius.regular,\n minWidth: 175,\n marginHorizontal: 12,\n paddingVertical: 16,\n ...BOX_STYLE,\n backgroundColor: theme.colors.white\n },\n selectText: {\n color: theme.colors.gray.medium,\n fontWeight: theme.fontWeight.bold,\n fontSize: theme.fontSize.regular,\n textAlign: 'center'\n }\n});\n\ntype TemplatePart = {\n type: 'string' | 'answerField';\n value: string;\n};\n\ntype ItemProps = {\n part: TemplatePart;\n choices: Array<TemplateTextChoice | TemplateListOfChoices>;\n index: number;\n isDisabled?: boolean;\n onInputChange: (item: TemplateTextChoice | TemplateListOfChoices, value: string) => void;\n focusedSelectId: FocusedSelectId;\n handleBlur: HandleBlur;\n handleFocus: HandleFocus;\n styles: StyleSheetType;\n};\n\nconst Item = (props: ItemProps) => {\n const {\n part,\n index,\n isDisabled = false,\n focusedSelectId,\n choices,\n onInputChange,\n handleBlur,\n handleFocus,\n styles\n } = props;\n\n const templateContext = useTemplateContext();\n const {theme, translations} = templateContext;\n\n const inputNames = choices.map(choice => choice.name);\n const id = `question-part-${index + 1}`;\n const isFocused = focusedSelectId === id;\n\n if (part.type === 'answerField' && inputNames.includes(part.value)) {\n const choiceIndex = choices.findIndex(choice => choice.name === part.value);\n const choice = choices[choiceIndex];\n const {value} = choice;\n\n if (!choice || !choice.type || !choice.name) {\n return null;\n }\n\n const disabledSuffix = isDisabled ? '-disabled' : '';\n const selectedSuffix = value ? '-selected' : '';\n\n const handleInputChange =\n (_item: TemplateTextChoice | TemplateListOfChoices) => (_value: string) =>\n onInputChange(_item, _value);\n\n if (choice.type === 'text') {\n return (\n <View style={styles.spaced} testID={id}>\n <FreeText\n key={id}\n isDisabled={isDisabled}\n onChange={handleInputChange(choice)}\n value={value}\n testID={`${id}-text${selectedSuffix}${disabledSuffix}`}\n questionType=\"template\"\n />\n </View>\n );\n }\n\n const selectInputStyle: TextStyle[] = [styles.selectInput];\n const selectTextStyle: TextStyle[] = [styles.selectText];\n\n if (choice.type === 'select') {\n return (\n <View style={styles.spaced} testID={id}>\n <Select\n isDisabled={isDisabled}\n questionType=\"template\"\n values={choice.items}\n value={value}\n placeholder={translations.selectAnAnswer}\n isFocused={isFocused}\n onBlur={handleBlur}\n onFocus={handleFocus(id)}\n onChange={handleInputChange(choice)}\n textStyle={selectTextStyle}\n style={selectInputStyle}\n analyticsID={`${id}-select${selectedSuffix}${disabledSuffix}`}\n testID={`${id}-select${selectedSuffix}${disabledSuffix}`}\n />\n </View>\n );\n }\n }\n\n return (\n <Html key={id} fontSize={theme.fontSize.regular} testID={id} style={styles.htmlText}>\n {trim(part.value || '')}\n </Html>\n );\n};\n\nexport type Props = {\n isDisabled?: boolean;\n template: string;\n choices: Array<TemplateTextChoice | TemplateListOfChoices>;\n onInputChange: (item: TemplateTextChoice | TemplateListOfChoices, value: string) => void;\n focusedSelectId: FocusedSelectId;\n handleBlur: HandleBlur;\n handleFocus: HandleFocus;\n};\n\nconst QuestionTemplate = (props: Props) => {\n const {\n template,\n onInputChange,\n choices,\n handleBlur,\n handleFocus,\n focusedSelectId,\n isDisabled = false\n } = props;\n\n const templateContext = useTemplateContext();\n const {theme} = templateContext;\n\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(theme);\n setStylesheet(_stylesheet);\n }, [theme]);\n\n if (!template || !styleSheet) {\n return null;\n }\n\n const parts: TemplatePart[] = parseTemplateString(template);\n\n return (\n <View style={styleSheet.container} testID=\"question-template\">\n {parts.map((part, id) => (\n <View key={`question-part-${id}`} style={{flexDirection: 'row'}}>\n <Item\n part={part}\n choices={choices}\n index={id}\n focusedSelectId={focusedSelectId}\n isDisabled={isDisabled}\n handleBlur={handleBlur}\n handleFocus={handleFocus}\n onInputChange={onInputChange}\n styles={styleSheet}\n />\n <Space type=\"micro\" />\n </View>\n ))}\n </View>\n );\n};\n\nexport default QuestionTemplate;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/molecule/review-correction-popin/index.native.tsx"],"names":[],"mappings":";AAaA,OAAO,EAAgC,0BAA0B,EAAC,MAAM,cAAc,CAAC;AA4PvF,QAAA,MAAM,qBAAqB,kDAMxB,0BAA0B,uBAiD5B,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/molecule/review-correction-popin/index.native.tsx"],"names":[],"mappings":";AAaA,OAAO,EAAgC,0BAA0B,EAAC,MAAM,cAAc,CAAC;AA6PvF,QAAA,MAAM,qBAAqB,kDAMxB,0BAA0B,uBAiD5B,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
@@ -11,9 +11,10 @@ import { useTemplateContext } from '../../template/app-review/template-context';
11
11
 
12
12
  const createStyleSheet = (theme, type) => StyleSheet.create({
13
13
  wrapper: {
14
- height: 'auto',
15
- color: theme.colors.white,
16
- display: 'flex'
14
+ backgroundColor: '#00000000',
15
+ height: 2000,
16
+ display: 'flex',
17
+ justifyContent: 'flex-end'
17
18
  },
18
19
  popin: {
19
20
  padding: theme.spacing.medium,
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.js","names":["React","useCallback","useEffect","useState","Animated","Easing","StyleSheet","View","NovaCompositionCoorpacademyCheck","RightIcon","NovaSolidStatusClose","WrongIcon","NovaLineLoginKey1","KlfIcon","useAnimateProp","Html","Text","Touchable","useTemplateContext","createStyleSheet","theme","type","create","wrapper","height","color","colors","white","display","popin","padding","spacing","medium","borderRadius","flexDirection","alignItems","backgroundColor","negative","positive","shadowColor","shadowOpacity","shadowOffset","width","shadowRadius","elevation","correctionSection","iconCircle","justifyContent","opacity","icon","resultLabel","fontSize","fontWeight","lineHeight","marginLeft","textTransform","feedbackSection","marginVertical","labelContainer","alignSelf","paddingHorizontal","tiny","paddingVertical","micro","marginBottom","label","extraBold","htmlInfoMessage","button","base","small","buttonText","cta","bold","textAlign","containerButtonKlf","buttonKlf","buttonKlfActive","buttonKlfText","iconKey","marginRight","containerTooltip","zIndex","position","black","buttonTooltip","bottom","right","htmlTooltipText","text","primary","triangleTooltip","borderStyle","borderLeftWidth","borderRightWidth","borderBottomWidth","borderTopWidth","borderLeftColor","borderTopColor","borderRightColor","borderBottomColor","transform","rotate","left","top","KlfButton","klf","styleSheet","displayTooltip","setDisplayTooltip","fadeIn","property","fromValue","toValue","easing","bezier","handlePressKey","start","revert","tooltip","animatedStyle","ICONS","wrong","ReviewCorrectionPopin","information","next","templateContext","setStylesheet","handlePressNext","onClick","Icon","_stylesheet","message"],"sources":["../../../src/molecule/review-correction-popin/index.native.tsx"],"sourcesContent":["import React, {useCallback, useEffect, useState} from 'react';\nimport {Animated, Easing, TextStyle, StyleSheet, View, ViewStyle} from 'react-native';\nimport {\n NovaCompositionCoorpacademyCheck as RightIcon,\n NovaSolidStatusClose as WrongIcon,\n NovaLineLoginKey1 as KlfIcon\n} from '@coorpacademy/nova-icons';\nimport {useAnimateProp} from '@coorpacademy/react-native-animation';\nimport Html from '../../atom/html/index.native';\nimport {Theme} from '../../variables/theme.native';\nimport Text from '../../atom/text/index.native';\nimport Touchable from '../../hoc/touchable/index.native';\nimport {useTemplateContext} from '../../template/app-review/template-context';\nimport {ReviewCorrectionPopinKLFProps, ReviewCorrectionPopinProps} from './prop-types';\n\ninterface StyleSheetType {\n wrapper: ViewStyle;\n popin: ViewStyle;\n correctionSection: ViewStyle;\n iconCircle: ViewStyle;\n icon: ViewStyle;\n resultLabel: TextStyle;\n feedbackSection: ViewStyle;\n labelContainer: ViewStyle;\n label: TextStyle;\n htmlInfoMessage: TextStyle;\n button: ViewStyle;\n buttonText: TextStyle;\n buttonKlf: ViewStyle;\n buttonKlfActive: TextStyle;\n buttonKlfText: TextStyle;\n iconKey: ViewStyle;\n containerTooltip: ViewStyle;\n buttonTooltip: ViewStyle;\n containerButtonKlf: ViewStyle;\n triangleTooltip: ViewStyle;\n htmlTooltipText: TextStyle;\n}\n\nconst createStyleSheet = (theme: Theme, type: string): StyleSheetType =>\n StyleSheet.create({\n wrapper: {\n height: 'auto',\n color: theme.colors.white,\n display: 'flex'\n },\n popin: {\n padding: theme.spacing.medium,\n borderRadius: 16,\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'flex-start',\n backgroundColor: type === 'wrong' ? theme.colors.negative : theme.colors.positive,\n shadowColor: type === 'wrong' ? theme.colors.negative : theme.colors.positive,\n shadowOpacity: 0.5,\n shadowOffset: {width: 0, height: 0},\n shadowRadius: 15,\n elevation: 4\n },\n correctionSection: {\n flexDirection: 'row',\n alignItems: 'center',\n width: '80%'\n },\n iconCircle: {\n width: 60,\n height: 60,\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: theme.colors.white,\n opacity: 0.7,\n borderRadius: 50\n },\n icon: {\n height: 30,\n width: 30\n },\n resultLabel: {\n color: theme.colors.white,\n fontSize: 24,\n fontWeight: '600',\n lineHeight: 24,\n marginLeft: 12,\n textTransform: 'uppercase'\n },\n feedbackSection: {\n marginVertical: theme.spacing.medium\n },\n labelContainer: {\n alignSelf: 'flex-start',\n backgroundColor: 'rgba(255, 255, 255, 0.3)',\n borderRadius: 56,\n paddingHorizontal: theme.spacing.tiny,\n paddingVertical: theme.spacing.micro,\n marginBottom: 8\n },\n label: {\n color: theme.colors.white,\n fontSize: 14,\n fontWeight: theme.fontWeight.extraBold,\n lineHeight: 17\n },\n htmlInfoMessage: {\n color: theme.colors.white,\n fontSize: 16,\n fontWeight: '600',\n lineHeight: 19\n },\n button: {\n alignSelf: 'stretch',\n backgroundColor: theme.colors.white,\n borderRadius: 7,\n paddingHorizontal: theme.spacing.base,\n paddingVertical: theme.spacing.small\n },\n buttonText: {\n color: theme.colors.cta,\n fontSize: 14,\n fontWeight: theme.fontWeight.bold,\n lineHeight: 20,\n textAlign: 'center'\n },\n containerButtonKlf: {\n width: '100%'\n },\n buttonKlf: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: 'rgba(255, 255, 255, 0.1)',\n borderRadius: 7,\n paddingHorizontal: theme.spacing.base,\n paddingVertical: theme.spacing.small,\n marginBottom: theme.spacing.tiny\n },\n buttonKlfActive: {\n backgroundColor:\n 'linear-gradient(0deg, rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.25)), rgba(255, 255, 255, 0.1)'\n },\n buttonKlfText: {\n color: 'white',\n fontSize: 14,\n fontWeight: theme.fontWeight.bold,\n lineHeight: 20,\n textAlign: 'center'\n },\n iconKey: {\n width: 12,\n height: 12,\n marginRight: theme.spacing.tiny\n },\n containerTooltip: {\n zIndex: 30,\n position: 'relative',\n shadowColor: theme.colors.black,\n shadowOpacity: 0.3,\n shadowOffset: {width: 0, height: 0},\n shadowRadius: 8\n },\n buttonTooltip: {\n flexDirection: 'column',\n justifyContent: 'center',\n backgroundColor: theme.colors.white,\n borderRadius: 15,\n padding: theme.spacing.small,\n width: '112%',\n position: 'absolute',\n bottom: 4,\n right: -15,\n zIndex: 20\n },\n htmlTooltipText: {\n color: theme.colors.text.primary,\n fontSize: 16,\n fontWeight: '600',\n lineHeight: 22,\n textAlign: 'center'\n },\n triangleTooltip: {\n width: 0,\n height: 0,\n backgroundColor: 'transparent',\n borderStyle: 'solid',\n borderLeftWidth: 13,\n borderRightWidth: 13,\n borderBottomWidth: 13,\n borderTopWidth: 13,\n borderLeftColor: 'transparent',\n borderTopColor: 'transparent',\n borderRightColor: theme.colors.white,\n borderBottomColor: theme.colors.white,\n transform: [{rotate: '45deg'}],\n position: 'absolute',\n left: 110,\n top: -20,\n borderRadius: 4\n }\n });\n\nconst KlfButton = ({\n klf,\n styleSheet\n}: {\n klf: ReviewCorrectionPopinKLFProps;\n styleSheet: StyleSheetType;\n}) => {\n const [displayTooltip, setDisplayTooltip] = useState(false);\n const fadeIn = useAnimateProp({\n property: 'opacity',\n fromValue: 0,\n toValue: 1,\n easing: Easing.bezier(0.25, 1, 0.5, 1)\n });\n\n const handlePressKey = useCallback(() => {\n setDisplayTooltip(!displayTooltip);\n !displayTooltip ? fadeIn.start() : fadeIn.revert();\n }, [displayTooltip, fadeIn]);\n\n const {\n buttonKlf,\n buttonKlfActive,\n buttonKlfText,\n containerButtonKlf,\n containerTooltip,\n buttonTooltip,\n htmlTooltipText,\n iconKey,\n triangleTooltip\n } = styleSheet;\n\n const {label, tooltip} = klf;\n\n return (\n <View style={containerButtonKlf}>\n <Animated.View style={[containerTooltip, fadeIn.animatedStyle]}>\n <Touchable\n style={buttonTooltip}\n accessibilityLabel={`aria-label-tooltip`}\n isHighlight\n onPress={handlePressKey}\n testID=\"button-tooltip\"\n >\n <Html style={htmlTooltipText}>{tooltip}</Html>\n </Touchable>\n <View style={triangleTooltip} />\n </Animated.View>\n <Touchable\n style={displayTooltip ? {...buttonKlf, ...buttonKlfActive} : buttonKlf}\n accessibilityLabel={`aria-label-${label}`}\n onPress={handlePressKey}\n testID=\"button-klf\"\n >\n <KlfIcon style={iconKey} color=\"white\" />\n <Text style={buttonKlfText}>{label}</Text>\n </Touchable>\n </View>\n );\n};\n\nconst ICONS = {\n right: RightIcon,\n wrong: WrongIcon\n};\n\nconst ReviewCorrectionPopin = ({\n information,\n klf,\n next,\n type,\n resultLabel\n}: ReviewCorrectionPopinProps) => {\n const templateContext = useTemplateContext();\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n const {theme} = templateContext;\n const handlePressNext = next.onClick;\n\n const Icon = ICONS[type];\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(theme, type);\n setStylesheet(_stylesheet);\n }, [theme, type]);\n\n if (!styleSheet) {\n return null;\n }\n\n return (\n <View style={styleSheet.wrapper}>\n <View style={styleSheet.popin}>\n <View style={styleSheet.correctionSection}>\n <View style={styleSheet.iconCircle}>\n <Icon\n style={styleSheet.icon}\n color={type === 'wrong' ? theme.colors.negative : theme.colors.positive}\n />\n </View>\n <Text style={styleSheet.resultLabel}>{resultLabel}</Text>\n </View>\n <View style={styleSheet.feedbackSection} accessibilityLabel=\"answer-information\">\n <View style={styleSheet.labelContainer} needsOffscreenAlphaCompositing>\n <Text accessibilityLabel={information.label} style={styleSheet.label}>\n {information.label}\n </Text>\n </View>\n <Html style={styleSheet.htmlInfoMessage}>{information.message}</Html>\n </View>\n {klf && type === 'wrong' ? <KlfButton styleSheet={styleSheet} klf={klf} /> : null}\n <Touchable\n style={styleSheet.button}\n onPress={handlePressNext}\n accessibilityLabel={next['aria-label']}\n testID={next['data-name']}\n >\n <Text style={styleSheet.buttonText}>{next.label}</Text>\n </Touchable>\n </View>\n </View>\n );\n};\n\nexport default ReviewCorrectionPopin;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.native.js","names":["React","useCallback","useEffect","useState","Animated","Easing","StyleSheet","View","NovaCompositionCoorpacademyCheck","RightIcon","NovaSolidStatusClose","WrongIcon","NovaLineLoginKey1","KlfIcon","useAnimateProp","Html","Text","Touchable","useTemplateContext","createStyleSheet","theme","type","create","wrapper","backgroundColor","height","display","justifyContent","popin","padding","spacing","medium","borderRadius","flexDirection","alignItems","colors","negative","positive","shadowColor","shadowOpacity","shadowOffset","width","shadowRadius","elevation","correctionSection","iconCircle","white","opacity","icon","resultLabel","color","fontSize","fontWeight","lineHeight","marginLeft","textTransform","feedbackSection","marginVertical","labelContainer","alignSelf","paddingHorizontal","tiny","paddingVertical","micro","marginBottom","label","extraBold","htmlInfoMessage","button","base","small","buttonText","cta","bold","textAlign","containerButtonKlf","buttonKlf","buttonKlfActive","buttonKlfText","iconKey","marginRight","containerTooltip","zIndex","position","black","buttonTooltip","bottom","right","htmlTooltipText","text","primary","triangleTooltip","borderStyle","borderLeftWidth","borderRightWidth","borderBottomWidth","borderTopWidth","borderLeftColor","borderTopColor","borderRightColor","borderBottomColor","transform","rotate","left","top","KlfButton","klf","styleSheet","displayTooltip","setDisplayTooltip","fadeIn","property","fromValue","toValue","easing","bezier","handlePressKey","start","revert","tooltip","animatedStyle","ICONS","wrong","ReviewCorrectionPopin","information","next","templateContext","setStylesheet","handlePressNext","onClick","Icon","_stylesheet","message"],"sources":["../../../src/molecule/review-correction-popin/index.native.tsx"],"sourcesContent":["import React, {useCallback, useEffect, useState} from 'react';\nimport {Animated, Easing, TextStyle, StyleSheet, View, ViewStyle} from 'react-native';\nimport {\n NovaCompositionCoorpacademyCheck as RightIcon,\n NovaSolidStatusClose as WrongIcon,\n NovaLineLoginKey1 as KlfIcon\n} from '@coorpacademy/nova-icons';\nimport {useAnimateProp} from '@coorpacademy/react-native-animation';\nimport Html from '../../atom/html/index.native';\nimport {Theme} from '../../variables/theme.native';\nimport Text from '../../atom/text/index.native';\nimport Touchable from '../../hoc/touchable/index.native';\nimport {useTemplateContext} from '../../template/app-review/template-context';\nimport {ReviewCorrectionPopinKLFProps, ReviewCorrectionPopinProps} from './prop-types';\n\ninterface StyleSheetType {\n wrapper: ViewStyle;\n popin: ViewStyle;\n correctionSection: ViewStyle;\n iconCircle: ViewStyle;\n icon: ViewStyle;\n resultLabel: TextStyle;\n feedbackSection: ViewStyle;\n labelContainer: ViewStyle;\n label: TextStyle;\n htmlInfoMessage: TextStyle;\n button: ViewStyle;\n buttonText: TextStyle;\n buttonKlf: ViewStyle;\n buttonKlfActive: TextStyle;\n buttonKlfText: TextStyle;\n iconKey: ViewStyle;\n containerTooltip: ViewStyle;\n buttonTooltip: ViewStyle;\n containerButtonKlf: ViewStyle;\n triangleTooltip: ViewStyle;\n htmlTooltipText: TextStyle;\n}\n\nconst createStyleSheet = (theme: Theme, type: string): StyleSheetType =>\n StyleSheet.create({\n wrapper: {\n backgroundColor: '#00000000',\n height: 2000,\n display: 'flex',\n justifyContent: 'flex-end'\n },\n popin: {\n padding: theme.spacing.medium,\n borderRadius: 16,\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'flex-start',\n backgroundColor: type === 'wrong' ? theme.colors.negative : theme.colors.positive,\n shadowColor: type === 'wrong' ? theme.colors.negative : theme.colors.positive,\n shadowOpacity: 0.5,\n shadowOffset: {width: 0, height: 0},\n shadowRadius: 15,\n elevation: 4\n },\n correctionSection: {\n flexDirection: 'row',\n alignItems: 'center',\n width: '80%'\n },\n iconCircle: {\n width: 60,\n height: 60,\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: theme.colors.white,\n opacity: 0.7,\n borderRadius: 50\n },\n icon: {\n height: 30,\n width: 30\n },\n resultLabel: {\n color: theme.colors.white,\n fontSize: 24,\n fontWeight: '600',\n lineHeight: 24,\n marginLeft: 12,\n textTransform: 'uppercase'\n },\n feedbackSection: {\n marginVertical: theme.spacing.medium\n },\n labelContainer: {\n alignSelf: 'flex-start',\n backgroundColor: 'rgba(255, 255, 255, 0.3)',\n borderRadius: 56,\n paddingHorizontal: theme.spacing.tiny,\n paddingVertical: theme.spacing.micro,\n marginBottom: 8\n },\n label: {\n color: theme.colors.white,\n fontSize: 14,\n fontWeight: theme.fontWeight.extraBold,\n lineHeight: 17\n },\n htmlInfoMessage: {\n color: theme.colors.white,\n fontSize: 16,\n fontWeight: '600',\n lineHeight: 19\n },\n button: {\n alignSelf: 'stretch',\n backgroundColor: theme.colors.white,\n borderRadius: 7,\n paddingHorizontal: theme.spacing.base,\n paddingVertical: theme.spacing.small\n },\n buttonText: {\n color: theme.colors.cta,\n fontSize: 14,\n fontWeight: theme.fontWeight.bold,\n lineHeight: 20,\n textAlign: 'center'\n },\n containerButtonKlf: {\n width: '100%'\n },\n buttonKlf: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: 'rgba(255, 255, 255, 0.1)',\n borderRadius: 7,\n paddingHorizontal: theme.spacing.base,\n paddingVertical: theme.spacing.small,\n marginBottom: theme.spacing.tiny\n },\n buttonKlfActive: {\n backgroundColor:\n 'linear-gradient(0deg, rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.25)), rgba(255, 255, 255, 0.1)'\n },\n buttonKlfText: {\n color: 'white',\n fontSize: 14,\n fontWeight: theme.fontWeight.bold,\n lineHeight: 20,\n textAlign: 'center'\n },\n iconKey: {\n width: 12,\n height: 12,\n marginRight: theme.spacing.tiny\n },\n containerTooltip: {\n zIndex: 30,\n position: 'relative',\n shadowColor: theme.colors.black,\n shadowOpacity: 0.3,\n shadowOffset: {width: 0, height: 0},\n shadowRadius: 8\n },\n buttonTooltip: {\n flexDirection: 'column',\n justifyContent: 'center',\n backgroundColor: theme.colors.white,\n borderRadius: 15,\n padding: theme.spacing.small,\n width: '112%',\n position: 'absolute',\n bottom: 4,\n right: -15,\n zIndex: 20\n },\n htmlTooltipText: {\n color: theme.colors.text.primary,\n fontSize: 16,\n fontWeight: '600',\n lineHeight: 22,\n textAlign: 'center'\n },\n triangleTooltip: {\n width: 0,\n height: 0,\n backgroundColor: 'transparent',\n borderStyle: 'solid',\n borderLeftWidth: 13,\n borderRightWidth: 13,\n borderBottomWidth: 13,\n borderTopWidth: 13,\n borderLeftColor: 'transparent',\n borderTopColor: 'transparent',\n borderRightColor: theme.colors.white,\n borderBottomColor: theme.colors.white,\n transform: [{rotate: '45deg'}],\n position: 'absolute',\n left: 110,\n top: -20,\n borderRadius: 4\n }\n });\n\nconst KlfButton = ({\n klf,\n styleSheet\n}: {\n klf: ReviewCorrectionPopinKLFProps;\n styleSheet: StyleSheetType;\n}) => {\n const [displayTooltip, setDisplayTooltip] = useState(false);\n const fadeIn = useAnimateProp({\n property: 'opacity',\n fromValue: 0,\n toValue: 1,\n easing: Easing.bezier(0.25, 1, 0.5, 1)\n });\n\n const handlePressKey = useCallback(() => {\n setDisplayTooltip(!displayTooltip);\n !displayTooltip ? fadeIn.start() : fadeIn.revert();\n }, [displayTooltip, fadeIn]);\n\n const {\n buttonKlf,\n buttonKlfActive,\n buttonKlfText,\n containerButtonKlf,\n containerTooltip,\n buttonTooltip,\n htmlTooltipText,\n iconKey,\n triangleTooltip\n } = styleSheet;\n\n const {label, tooltip} = klf;\n\n return (\n <View style={containerButtonKlf}>\n <Animated.View style={[containerTooltip, fadeIn.animatedStyle]}>\n <Touchable\n style={buttonTooltip}\n accessibilityLabel={`aria-label-tooltip`}\n isHighlight\n onPress={handlePressKey}\n testID=\"button-tooltip\"\n >\n <Html style={htmlTooltipText}>{tooltip}</Html>\n </Touchable>\n <View style={triangleTooltip} />\n </Animated.View>\n <Touchable\n style={displayTooltip ? {...buttonKlf, ...buttonKlfActive} : buttonKlf}\n accessibilityLabel={`aria-label-${label}`}\n onPress={handlePressKey}\n testID=\"button-klf\"\n >\n <KlfIcon style={iconKey} color=\"white\" />\n <Text style={buttonKlfText}>{label}</Text>\n </Touchable>\n </View>\n );\n};\n\nconst ICONS = {\n right: RightIcon,\n wrong: WrongIcon\n};\n\nconst ReviewCorrectionPopin = ({\n information,\n klf,\n next,\n type,\n resultLabel\n}: ReviewCorrectionPopinProps) => {\n const templateContext = useTemplateContext();\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n const {theme} = templateContext;\n const handlePressNext = next.onClick;\n\n const Icon = ICONS[type];\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(theme, type);\n setStylesheet(_stylesheet);\n }, [theme, type]);\n\n if (!styleSheet) {\n return null;\n }\n\n return (\n <View style={styleSheet.wrapper}>\n <View style={styleSheet.popin}>\n <View style={styleSheet.correctionSection}>\n <View style={styleSheet.iconCircle}>\n <Icon\n style={styleSheet.icon}\n color={type === 'wrong' ? theme.colors.negative : theme.colors.positive}\n />\n </View>\n <Text style={styleSheet.resultLabel}>{resultLabel}</Text>\n </View>\n <View style={styleSheet.feedbackSection} accessibilityLabel=\"answer-information\">\n <View style={styleSheet.labelContainer} needsOffscreenAlphaCompositing>\n <Text accessibilityLabel={information.label} style={styleSheet.label}>\n {information.label}\n </Text>\n </View>\n <Html style={styleSheet.htmlInfoMessage}>{information.message}</Html>\n </View>\n {klf && type === 'wrong' ? <KlfButton styleSheet={styleSheet} klf={klf} /> : null}\n <Touchable\n style={styleSheet.button}\n onPress={handlePressNext}\n accessibilityLabel={next['aria-label']}\n testID={next['data-name']}\n >\n <Text style={styleSheet.buttonText}>{next.label}</Text>\n </Touchable>\n </View>\n </View>\n );\n};\n\nexport default ReviewCorrectionPopin;\n"],"mappings":"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"}
@@ -18,6 +18,7 @@ declare namespace MoocFooter {
18
18
  title: PropTypes.Requireable<string>;
19
19
  link: PropTypes.Requireable<string>;
20
20
  target: PropTypes.Requireable<string>;
21
+ ariaLabel: PropTypes.Requireable<string>;
21
22
  }> | null | undefined)[]>;
22
23
  }> | null | undefined)[]>;
23
24
  socialLinks: PropTypes.Requireable<(PropTypes.InferProps<{
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/organism/mooc-footer/index.js"],"names":[],"mappings":";AA+CA,qDA+HC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/organism/mooc-footer/index.js"],"names":[],"mappings":";AA+CA,qDAgIC"}
@@ -93,6 +93,7 @@ function MoocFooter(props) {
93
93
  "data-text": page.title,
94
94
  className: style.pageLink,
95
95
  target: page.target,
96
+ "aria-label": page.ariaLabel ? page.ariaLabel : page.title,
96
97
  "data-name": page.title
97
98
  }, page.title));
98
99
  }));
@@ -160,7 +161,8 @@ MoocFooter.propTypes = process.env.NODE_ENV !== "production" ? {
160
161
  pages: PropTypes.arrayOf(PropTypes.shape({
161
162
  title: PropTypes.string,
162
163
  link: PropTypes.string,
163
- target: PropTypes.string
164
+ target: PropTypes.string,
165
+ ariaLabel: PropTypes.string
164
166
  }))
165
167
  })),
166
168
  socialLinks: PropTypes.arrayOf(PropTypes.shape({
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","PropTypes","NovaCompositionCoorpacademyCoorpApp","CoorpAppLogo","NovaCompositionCoorpacademyCoorpLogo","CoorpLogo","Link","SocialLink","Picture","style","socialLinksTypes","StoresLinks","onAppStoreButtonClick","appStoreButtonImageUrl","playStoreButtonImageUrl","onPlayStoreButtonClick","androidAlt","iosAlt","storeLinksContainer","imgApple","img","propTypes","func","string","MoocFooter","props","headSection","socialLinks","logoAriaLabel","socialLinksAriaLabel","siteMapSections","headSectionView","headSpacingContainer","headSectionWrapper","logoAndLabelWrapper","logoWrapper","coorpAppLogo","marketingLabel","title","mobileAppLinks","renderPagesFromSection","pages","pagesList","map","page","pindex","handleClick","onClick","link","pageLink","target","sections","section","index","sectionWrapper","sectionTitle","socialLinksView","socialLink","type","socialNetworks","logoSocialNetworksContainer","coorpLogo","socialNetworksWrapper","siteMap","siteMapSpacingContainer","siteMapContainer","sectionsContainer","shape","arrayOf","oneOf"],"sources":["../../../src/organism/mooc-footer/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {isEmpty} from 'lodash/fp';\nimport {\n NovaCompositionCoorpacademyCoorpApp as CoorpAppLogo,\n NovaCompositionCoorpacademyCoorpLogo as CoorpLogo\n} from '@coorpacademy/nova-icons';\nimport Link from '../../atom/link';\nimport SocialLink from '../../atom/social-link';\nimport Picture from '../../atom/picture';\nimport style from './style.css';\n\nconst socialLinksTypes = ['facebook', 'twitter', 'linkedin', 'youtube', 'instagram'];\n\nconst StoresLinks = ({\n onAppStoreButtonClick,\n appStoreButtonImageUrl,\n playStoreButtonImageUrl,\n onPlayStoreButtonClick,\n 'android-alt': androidAlt,\n 'ios-alt': iosAlt\n}) => (\n <div className={style.storeLinksContainer}>\n <Picture\n className={style.imgApple}\n src={appStoreButtonImageUrl}\n onClick={onAppStoreButtonClick}\n alt={iosAlt}\n />\n <Picture\n className={style.img}\n src={playStoreButtonImageUrl}\n onClick={onPlayStoreButtonClick}\n alt={androidAlt}\n />\n </div>\n);\n\nStoresLinks.propTypes = {\n onAppStoreButtonClick: PropTypes.func,\n appStoreButtonImageUrl: PropTypes.string,\n playStoreButtonImageUrl: PropTypes.string,\n onPlayStoreButtonClick: PropTypes.func,\n 'android-alt': PropTypes.string,\n 'ios-alt': PropTypes.string\n};\n\nfunction MoocFooter(props) {\n const {\n headSection = {},\n socialLinks = [],\n 'logo-aria-label': logoAriaLabel,\n 'social-links-aria-label': socialLinksAriaLabel,\n siteMapSections = []\n } = props;\n\n // Header section of the footer (the marketing banner)\n\n const headSectionView = !isEmpty(headSection) ? (\n <div data-name=\"headSpacingContainer\" className={style.headSpacingContainer}>\n <div data-name=\"headSection\" className={style.headSectionWrapper}>\n <div className={style.logoAndLabelWrapper}>\n <div className={style.logoWrapper}>\n <CoorpAppLogo\n className={style.coorpAppLogo}\n aria-label={headSection['logo-aria-label']}\n />\n </div>\n <div data-name=\"mobile-marketing-text\" className={style.marketingLabel}>\n {headSection.title}\n </div>\n </div>\n <div data-name=\"mobile-apps-buttons-wrapper\" className={style.mobileAppLinks}>\n <StoresLinks\n // ignored due to naming conventions in JSX rather than a linting error\n // eslint-disable-next-line react/jsx-handler-names\n onAppStoreButtonClick={headSection.onAppStoreButtonClick}\n appStoreButtonImageUrl={headSection.appStoreButtonImageUrl}\n playStoreButtonImageUrl={headSection.playStoreButtonImageUrl}\n // eslint-disable-next-line react/jsx-handler-names\n onPlayStoreButtonClick={headSection.onPlayStoreButtonClick}\n android-alt={headSection['android-alt']}\n ios-alt={headSection['ios-alt']}\n />\n </div>\n </div>\n </div>\n ) : null;\n\n // Sitemap section of the footer (contains HELP, TOOLBOX... and other pages, as well as social links)\n\n const renderPagesFromSection = pages => {\n return (\n <ul className={style.pagesList} data-name=\"pages-list\">\n {pages.map((page, pindex) => {\n const handleClick = page.onClick;\n return (\n <li key={pindex}>\n <Link\n href={page.link}\n onClick={handleClick}\n title={page.title}\n data-text={page.title}\n className={style.pageLink}\n target={page.target}\n data-name={page.title}\n >\n {page.title}\n </Link>\n </li>\n );\n })}\n </ul>\n );\n };\n\n const sections = !isEmpty(siteMapSections)\n ? siteMapSections.map((section, index) => {\n return (\n <div key={index} className={style.sectionWrapper}>\n <p className={style.sectionTitle}>{section.title}</p>\n {renderPagesFromSection(section.pages)}\n </div>\n );\n })\n : null;\n\n const socialLinksView = socialLinks.map((socialLink, index) => {\n return (\n <li className={style.socialLink} key={index}>\n <SocialLink\n type={socialLink.type}\n link={socialLink.link}\n mode=\"footer\"\n aria-label={socialLink['aria-label']}\n />\n </li>\n );\n });\n\n const socialNetworks = (\n <div data-name=\"logo-social-networks-container\" className={style.logoSocialNetworksContainer}>\n <CoorpLogo\n className={style.coorpLogo}\n data-name=\"coorp-social-networks-logo\"\n aria-label={logoAriaLabel}\n />\n <ul\n data-name=\"social-networks-wrapper\"\n className={style.socialNetworksWrapper}\n aria-label={socialLinksAriaLabel}\n >\n {socialLinksView}\n </ul>\n </div>\n );\n\n const siteMap = (\n <div data-name=\"site-map-spacing-container\" className={style.siteMapSpacingContainer}>\n <div data-name=\"site-map\" className={style.siteMapContainer}>\n <div data-name=\"sections\" className={style.sectionsContainer}>\n {sections}\n </div>\n {socialNetworks}\n </div>\n </div>\n );\n\n return (\n <footer data-name=\"mooc-footer\">\n {headSectionView}\n {siteMap}\n </footer>\n );\n}\n\nMoocFooter.propTypes = {\n headSection: PropTypes.shape({\n title: PropTypes.string,\n onAppStoreButtonClick: PropTypes.func,\n appStoreButtonImageUrl: PropTypes.string,\n playStoreButtonImageUrl: PropTypes.string,\n onPlayStoreButtonClick: PropTypes.func,\n 'logo-aria-label': PropTypes.string,\n 'android-alt': PropTypes.string,\n 'ios-alt': PropTypes.string\n }),\n siteMapSections: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n pages: PropTypes.arrayOf(\n PropTypes.shape({title: PropTypes.string, link: PropTypes.string, target: PropTypes.string})\n )\n })\n ),\n socialLinks: PropTypes.arrayOf(\n PropTypes.shape({\n type: PropTypes.oneOf(socialLinksTypes),\n link: PropTypes.string,\n onClick: PropTypes.func,\n 'aria-label': PropTypes.string\n })\n ),\n 'logo-aria-label': PropTypes.string,\n 'social-links-aria-label': PropTypes.string\n};\n\nexport default MoocFooter;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","PropTypes","NovaCompositionCoorpacademyCoorpApp","CoorpAppLogo","NovaCompositionCoorpacademyCoorpLogo","CoorpLogo","Link","SocialLink","Picture","style","socialLinksTypes","StoresLinks","onAppStoreButtonClick","appStoreButtonImageUrl","playStoreButtonImageUrl","onPlayStoreButtonClick","androidAlt","iosAlt","storeLinksContainer","imgApple","img","propTypes","func","string","MoocFooter","props","headSection","socialLinks","logoAriaLabel","socialLinksAriaLabel","siteMapSections","headSectionView","headSpacingContainer","headSectionWrapper","logoAndLabelWrapper","logoWrapper","coorpAppLogo","marketingLabel","title","mobileAppLinks","renderPagesFromSection","pages","pagesList","map","page","pindex","handleClick","onClick","link","pageLink","target","ariaLabel","sections","section","index","sectionWrapper","sectionTitle","socialLinksView","socialLink","type","socialNetworks","logoSocialNetworksContainer","coorpLogo","socialNetworksWrapper","siteMap","siteMapSpacingContainer","siteMapContainer","sectionsContainer","shape","arrayOf","oneOf"],"sources":["../../../src/organism/mooc-footer/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {isEmpty} from 'lodash/fp';\nimport {\n NovaCompositionCoorpacademyCoorpApp as CoorpAppLogo,\n NovaCompositionCoorpacademyCoorpLogo as CoorpLogo\n} from '@coorpacademy/nova-icons';\nimport Link from '../../atom/link';\nimport SocialLink from '../../atom/social-link';\nimport Picture from '../../atom/picture';\nimport style from './style.css';\n\nconst socialLinksTypes = ['facebook', 'twitter', 'linkedin', 'youtube', 'instagram'];\n\nconst StoresLinks = ({\n onAppStoreButtonClick,\n appStoreButtonImageUrl,\n playStoreButtonImageUrl,\n onPlayStoreButtonClick,\n 'android-alt': androidAlt,\n 'ios-alt': iosAlt\n}) => (\n <div className={style.storeLinksContainer}>\n <Picture\n className={style.imgApple}\n src={appStoreButtonImageUrl}\n onClick={onAppStoreButtonClick}\n alt={iosAlt}\n />\n <Picture\n className={style.img}\n src={playStoreButtonImageUrl}\n onClick={onPlayStoreButtonClick}\n alt={androidAlt}\n />\n </div>\n);\n\nStoresLinks.propTypes = {\n onAppStoreButtonClick: PropTypes.func,\n appStoreButtonImageUrl: PropTypes.string,\n playStoreButtonImageUrl: PropTypes.string,\n onPlayStoreButtonClick: PropTypes.func,\n 'android-alt': PropTypes.string,\n 'ios-alt': PropTypes.string\n};\n\nfunction MoocFooter(props) {\n const {\n headSection = {},\n socialLinks = [],\n 'logo-aria-label': logoAriaLabel,\n 'social-links-aria-label': socialLinksAriaLabel,\n siteMapSections = []\n } = props;\n\n // Header section of the footer (the marketing banner)\n\n const headSectionView = !isEmpty(headSection) ? (\n <div data-name=\"headSpacingContainer\" className={style.headSpacingContainer}>\n <div data-name=\"headSection\" className={style.headSectionWrapper}>\n <div className={style.logoAndLabelWrapper}>\n <div className={style.logoWrapper}>\n <CoorpAppLogo\n className={style.coorpAppLogo}\n aria-label={headSection['logo-aria-label']}\n />\n </div>\n <div data-name=\"mobile-marketing-text\" className={style.marketingLabel}>\n {headSection.title}\n </div>\n </div>\n <div data-name=\"mobile-apps-buttons-wrapper\" className={style.mobileAppLinks}>\n <StoresLinks\n // ignored due to naming conventions in JSX rather than a linting error\n // eslint-disable-next-line react/jsx-handler-names\n onAppStoreButtonClick={headSection.onAppStoreButtonClick}\n appStoreButtonImageUrl={headSection.appStoreButtonImageUrl}\n playStoreButtonImageUrl={headSection.playStoreButtonImageUrl}\n // eslint-disable-next-line react/jsx-handler-names\n onPlayStoreButtonClick={headSection.onPlayStoreButtonClick}\n android-alt={headSection['android-alt']}\n ios-alt={headSection['ios-alt']}\n />\n </div>\n </div>\n </div>\n ) : null;\n\n // Sitemap section of the footer (contains HELP, TOOLBOX... and other pages, as well as social links)\n\n const renderPagesFromSection = pages => {\n return (\n <ul className={style.pagesList} data-name=\"pages-list\">\n {pages.map((page, pindex) => {\n const handleClick = page.onClick;\n return (\n <li key={pindex}>\n <Link\n href={page.link}\n onClick={handleClick}\n title={page.title}\n data-text={page.title}\n className={style.pageLink}\n target={page.target}\n aria-label={page.ariaLabel ? page.ariaLabel : page.title}\n data-name={page.title}\n >\n {page.title}\n </Link>\n </li>\n );\n })}\n </ul>\n );\n };\n\n const sections = !isEmpty(siteMapSections)\n ? siteMapSections.map((section, index) => {\n return (\n <div key={index} className={style.sectionWrapper}>\n <p className={style.sectionTitle}>{section.title}</p>\n {renderPagesFromSection(section.pages)}\n </div>\n );\n })\n : null;\n\n const socialLinksView = socialLinks.map((socialLink, index) => {\n return (\n <li className={style.socialLink} key={index}>\n <SocialLink\n type={socialLink.type}\n link={socialLink.link}\n mode=\"footer\"\n aria-label={socialLink['aria-label']}\n />\n </li>\n );\n });\n\n const socialNetworks = (\n <div data-name=\"logo-social-networks-container\" className={style.logoSocialNetworksContainer}>\n <CoorpLogo\n className={style.coorpLogo}\n data-name=\"coorp-social-networks-logo\"\n aria-label={logoAriaLabel}\n />\n <ul\n data-name=\"social-networks-wrapper\"\n className={style.socialNetworksWrapper}\n aria-label={socialLinksAriaLabel}\n >\n {socialLinksView}\n </ul>\n </div>\n );\n\n const siteMap = (\n <div data-name=\"site-map-spacing-container\" className={style.siteMapSpacingContainer}>\n <div data-name=\"site-map\" className={style.siteMapContainer}>\n <div data-name=\"sections\" className={style.sectionsContainer}>\n {sections}\n </div>\n {socialNetworks}\n </div>\n </div>\n );\n\n return (\n <footer data-name=\"mooc-footer\">\n {headSectionView}\n {siteMap}\n </footer>\n );\n}\n\nMoocFooter.propTypes = {\n headSection: PropTypes.shape({\n title: PropTypes.string,\n onAppStoreButtonClick: PropTypes.func,\n appStoreButtonImageUrl: PropTypes.string,\n playStoreButtonImageUrl: PropTypes.string,\n onPlayStoreButtonClick: PropTypes.func,\n 'logo-aria-label': PropTypes.string,\n 'android-alt': PropTypes.string,\n 'ios-alt': PropTypes.string\n }),\n siteMapSections: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n pages: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n link: PropTypes.string,\n target: PropTypes.string,\n ariaLabel: PropTypes.string\n })\n )\n })\n ),\n socialLinks: PropTypes.arrayOf(\n PropTypes.shape({\n type: PropTypes.oneOf(socialLinksTypes),\n link: PropTypes.string,\n onClick: PropTypes.func,\n 'aria-label': PropTypes.string\n })\n ),\n 'logo-aria-label': PropTypes.string,\n 'social-links-aria-label': PropTypes.string\n};\n\nexport default MoocFooter;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/organism/mooc-header/index.js"],"names":[],"mappings":";AAwBA;IACE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA2FE;IAEF;;;;;;;;;;;;;;;;;;;;;;;MAGE;IAEF,wBAmBC;IAjBC;;;;MAIC;IA6CH,6BAIC;IAED,yBAGC;IAxBD,qCAQC;IAED,wBAGC;IAjBD,+BAEC;IA4BD,2BAKC;IAED,0BAKC;IAED,sBAIC;IAED,qBAIC;IAED,yBAQC;IAED,0BAQC;IArFD,2EASC;IAGC,kBAAsB;IA2ExB,6BA0YC;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/organism/mooc-header/index.js"],"names":[],"mappings":";AAwBA;IACE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA2FE;IAEF;;;;;;;;;;;;;;;;;;;;;;;MAGE;IAEF,wBAmBC;IAjBC;;;;MAIC;IA6CH,6BAIC;IAED,yBAGC;IAxBD,qCAQC;IAED,wBAGC;IAjBD,+BAEC;IA4BD,2BAKC;IAED,0BAKC;IAED,sBAIC;IAED,qBAIC;IAED,yBAQC;IAED,0BAQC;IArFD,2EASC;IAGC,kBAAsB;IA2ExB,6BAqYC;CACF"}
@@ -416,11 +416,12 @@ class MoocHeader extends React.Component {
416
416
  settingView = /*#__PURE__*/React.createElement("div", {
417
417
  "data-name": `setting-${settingName}`,
418
418
  className: style.setting,
419
- key: settingName,
420
- "aria-label": ariaLabel || title
419
+ key: settingName
421
420
  }, /*#__PURE__*/React.createElement("span", {
422
421
  className: style.label
423
- }, title), /*#__PURE__*/React.createElement(Select, selectProps));
422
+ }, title), /*#__PURE__*/React.createElement(Select, _extends({}, selectProps, {
423
+ moreAriaLabel: ariaLabel || title
424
+ })));
424
425
  break;
425
426
  }
426
427
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","PropTypes","classnames","NovaCompositionNavigationArrowDown","ArrowDown","NovaCompositionNavigationBurger","BurgerIcon","NovaCompositionNavigationClose","CloseIcon","NovaCompositionCoorpacademyStar","StarIcon","NovaCompositionCoorpacademyCharts","ChartsIcon","NovaSolidVoteRewardsRewardsTrophy5","TrophyIcon","NovaCompositionCoorpacademyCog","CogIcon","NovaSolidTimeAlarm","AlarmIcon","Provider","Cta","Select","Picture","InputSwitch","Link","Search","SearchForm","style","MoocHeader","Component","constructor","props","state","isSettingsOpen","isMenuOpen","isFocus","handleSettingsToggle","bind","handleMenuToggle","_checkOnClose","handleLinkClick","setMenuSettings","handleSubmitSearch","handleResetSearch","handleOnFocus","handleOnBlur","handleOnMenuOpen","handleOnMenuClose","componentDidUpdate","prevProps","prevState","prevContext","document","addEventListener","removeEventListener","el","menuSettings","clickEvent","menu","contains","target","setState","onSubmitSearch","onResetSearch","onMenuOpen","onMenuClose","render","logo","pages","items","settings","user","links","search","searchResetAriaLabel","settingsAriaLabel","closeSettingsAriaLabel","activePageAriaLabel","translate","skin","context","logoAriaLabel","logoButtonAriaLabel","logoUrl","logoMobileUrl","pagesView","linksView","userView","settingsView","notificationsView","searchFormView","moreAriaLabel","closeLabel","primaryColor","mediumColor","darkColor","white","iconWrapperStyle","backgroundColor","displayedPages","displayed","map","item","index","activeColor","selected","color","pageCountAriaLabel","itemLabel","title","pageBadge","counter","href","itemBadge","name","itemName","activePage","bar","optionsView","more","option","value","noItems","currentOption","caret","optionsGroup","ctas","cta","length","ctaLink","nbNotifications","notificationsAriaLabel","notifications","notificationPageView","notification","active","stats","stat","stars","iconWrapper","label","ranking","badge","avatarWrapper","avatar","userLink","picture","profileAvatarAlt","settingsElements","setting","settingView","options","type","settingName","hoverColor","ariaLabel","link","selectProps","values","theme","onChange","switchProps","id","settingsToggle","settingsWrapper","settingsWrapperHidden","settingsGroup","closeSettings","hiddenSearchBar","searchBar","wrapper","open","header","logoWrapper","navMobile","burgerHidden","burger","close","closeHidden","menuWrapper","hiddenMenuWrapper","contextTypes","childContextTypes","propTypes","shape","src","string","srcMobile","func","arrayOf","oneOf","bool","number"],"sources":["../../../src/organism/mooc-header/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {getOr, get, isEmpty} from 'lodash/fp';\nimport classnames from 'classnames';\nimport {\n NovaCompositionNavigationArrowDown as ArrowDown,\n NovaCompositionNavigationBurger as BurgerIcon,\n NovaCompositionNavigationClose as CloseIcon,\n NovaCompositionCoorpacademyStar as StarIcon,\n NovaCompositionCoorpacademyCharts as ChartsIcon,\n NovaSolidVoteRewardsRewardsTrophy5 as TrophyIcon,\n NovaCompositionCoorpacademyCog as CogIcon,\n NovaSolidTimeAlarm as AlarmIcon\n} from '@coorpacademy/nova-icons';\nimport Provider from '../../atom/provider';\nimport Cta from '../../atom/cta';\nimport Select from '../../atom/select';\nimport Picture from '../../atom/picture';\nimport InputSwitch from '../../atom/input-switch';\nimport Link from '../../atom/link';\nimport Search from '../../atom/input-search';\nimport SearchForm from '../../molecule/search-form';\nimport style from './style.css';\n\nclass MoocHeader extends React.Component {\n static propTypes = {\n logo: PropTypes.shape({\n src: PropTypes.string,\n srcMobile: PropTypes.string,\n href: PropTypes.string,\n 'aria-label': PropTypes.string,\n 'button-aria-label': PropTypes.string\n }),\n search: PropTypes.shape(Search.propTypes),\n 'search-reset-aria-label': PropTypes.string,\n onSubmitSearch: PropTypes.func,\n onResetSearch: PropTypes.func,\n pages: PropTypes.shape({\n displayed: PropTypes.arrayOf(\n PropTypes.shape({\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n title: PropTypes.string,\n name: PropTypes.string,\n href: PropTypes.string,\n selected: PropTypes.bool,\n counter: PropTypes.number,\n 'page-count-aria-label': PropTypes.string\n })\n ),\n more: PropTypes.arrayOf(\n PropTypes.shape({\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n title: PropTypes.string,\n name: PropTypes.string,\n href: PropTypes.string,\n selected: PropTypes.bool,\n counter: PropTypes.number\n })\n )\n }),\n links: PropTypes.arrayOf(PropTypes.shape(Cta.propTypes)),\n user: PropTypes.shape({\n picture: PropTypes.string,\n 'picture-aria-label': PropTypes.string,\n profileAvatarAlt: PropTypes.string,\n href: PropTypes.string,\n notifications: PropTypes.shape({\n href: PropTypes.string,\n value: PropTypes.number,\n 'aria-label': PropTypes.string\n }),\n stats: PropTypes.shape({\n stars: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n }),\n ranking: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n }),\n badge: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n })\n })\n }),\n 'settings-aria-label': PropTypes.string,\n 'close-settings-aria-label': PropTypes.string,\n 'active-page-aria-label': PropTypes.string,\n settings: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n name: PropTypes.string,\n type: PropTypes.oneOf(['select', 'switch', 'link']),\n color: PropTypes.string,\n 'aria-label': PropTypes.string,\n options: PropTypes.shape({\n href: PropTypes.string,\n onChange: PropTypes.func,\n value: PropTypes.bool,\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n values: PropTypes.arrayOf(\n PropTypes.shape({\n value: PropTypes.string,\n name: PropTypes.string,\n selected: PropTypes.bool\n })\n )\n })\n })\n ),\n onMenuOpen: PropTypes.func,\n onMenuClose: PropTypes.func\n };\n\n static contextTypes = {\n translate: Provider.childContextTypes.translate,\n skin: Provider.childContextTypes.skin\n };\n\n constructor(props) {\n super(props);\n this.state = {\n isSettingsOpen: false,\n isMenuOpen: false,\n isFocus: false\n };\n\n this.handleSettingsToggle = this.handleSettingsToggle.bind(this);\n this.handleMenuToggle = this.handleMenuToggle.bind(this);\n this._checkOnClose = this._checkOnClose.bind(this);\n this.handleLinkClick = this.handleLinkClick.bind(this);\n this.setMenuSettings = this.setMenuSettings.bind(this);\n this.handleSubmitSearch = this.handleSubmitSearch.bind(this);\n this.handleResetSearch = this.handleResetSearch.bind(this);\n this.handleOnFocus = this.handleOnFocus.bind(this);\n this.handleOnBlur = this.handleOnBlur.bind(this);\n this.handleOnMenuOpen = this.handleOnMenuOpen.bind(this);\n this.handleOnMenuClose = this.handleOnMenuClose.bind(this);\n }\n\n componentDidUpdate(prevProps, prevState, prevContext) {\n const {isSettingsOpen} = this.state;\n if (isSettingsOpen) {\n document.addEventListener('click', this._checkOnClose);\n document.addEventListener('touchstart', this._checkOnClose);\n } else {\n document.removeEventListener('click', this._checkOnClose);\n document.removeEventListener('touchstart', this._checkOnClose);\n }\n }\n\n setMenuSettings(el) {\n this.menuSettings = el;\n }\n\n _checkOnClose(clickEvent) {\n const {isSettingsOpen} = this.state;\n if (isSettingsOpen) {\n const menu = this.menuSettings;\n if (menu && !menu.contains(clickEvent.target)) {\n this.handleSettingsToggle();\n }\n }\n }\n\n handleLinkClick() {\n const {isMenuOpen} = this.state;\n isMenuOpen && this.handleMenuToggle();\n }\n\n handleSettingsToggle() {\n this.setState(prevState => ({\n isSettingsOpen: !prevState.isSettingsOpen\n }));\n }\n\n handleMenuToggle() {\n const {isMenuOpen} = this.state;\n isMenuOpen ? this.handleOnMenuClose() : this.handleOnMenuOpen();\n }\n\n handleSubmitSearch() {\n const {onSubmitSearch} = this.props;\n if (onSubmitSearch) {\n onSubmitSearch();\n }\n }\n\n handleResetSearch() {\n const {onResetSearch} = this.props;\n if (onResetSearch) {\n onResetSearch();\n }\n }\n\n handleOnFocus() {\n this.setState(prevState => ({\n isFocus: true\n }));\n }\n\n handleOnBlur() {\n this.setState(prevState => ({\n isFocus: false\n }));\n }\n\n handleOnMenuOpen() {\n const {onMenuOpen} = this.props;\n if (onMenuOpen) {\n onMenuOpen();\n }\n this.setState(() => ({\n isMenuOpen: true\n }));\n }\n\n handleOnMenuClose() {\n const {onMenuClose} = this.props;\n if (onMenuClose) {\n onMenuClose();\n }\n this.setState(() => ({\n isMenuOpen: false\n }));\n }\n\n render() {\n if (isEmpty(this.props)) return null;\n const {\n logo = {},\n pages: items,\n settings,\n user,\n links,\n search,\n 'search-reset-aria-label': searchResetAriaLabel,\n 'settings-aria-label': settingsAriaLabel,\n 'close-settings-aria-label': closeSettingsAriaLabel,\n 'active-page-aria-label': activePageAriaLabel\n } = this.props;\n const {isFocus, isSettingsOpen, isMenuOpen} = this.state;\n const {translate, skin} = this.context;\n const {'aria-label': logoAriaLabel, 'button-aria-label': logoButtonAriaLabel} = logo;\n const logoUrl = get('src', logo) || get('images.logo', skin);\n const logoMobileUrl = get('srcMobile', logo) || getOr(logoUrl, 'images.logo-mobile', skin);\n\n let pagesView = null;\n let linksView = null;\n let userView = null;\n let settingsView = null;\n let notificationsView = null;\n let searchFormView = null;\n\n const moreAriaLabel = translate('More');\n const closeLabel = translate('Close');\n const primaryColor = get('common.primary', skin);\n const mediumColor = get('common.medium', skin);\n const darkColor = get('common.dark', skin);\n const white = get('common.white', skin);\n const iconWrapperStyle = {backgroundColor: primaryColor};\n\n if (items) {\n const displayedPages = items.displayed.map((item, index) => {\n const activeColor = item.selected\n ? {\n color: primaryColor\n }\n : null;\n\n const {'page-count-aria-label': pageCountAriaLabel} = item;\n const itemLabel = item.selected ? `${item.title}. ${activePageAriaLabel}` : item.title;\n const pageBadge =\n item.counter > 0 ? (\n <Link\n href={item.href}\n data-name=\"item-badge\"\n className={style.itemBadge}\n aria-label={pageCountAriaLabel}\n >\n {item.counter}\n </Link>\n ) : null;\n\n const {name: itemName = index} = item;\n\n return (\n <Link\n key={itemName}\n data-name={`item-${itemName}`}\n href={item.href}\n className={item.selected ? style.activePage : style.item}\n skinHover\n onClick={this.handleLinkClick}\n target={item.target || null}\n aria-label={itemLabel}\n style={{\n ...activeColor\n }}\n >\n {item.title}\n {pageBadge}\n <span\n className={style.bar}\n style={{\n backgroundColor: primaryColor\n }}\n />\n </Link>\n );\n });\n\n const optionsView = items.more.map((item, index) => {\n const activeColor = item.selected\n ? {\n color: primaryColor\n }\n : null;\n const itemLabel = item.selected ? `${item.title}. ${activePageAriaLabel}` : item.title;\n const {name: itemName = index} = item;\n return (\n <Link\n href={item.href}\n key={itemName}\n className={style.option}\n data-name={`item-more-${itemName}`}\n target={item.target || null}\n aria-label={itemLabel}\n onClick={this.handleLinkClick}\n skinHover\n style={{\n ...activeColor\n }}\n >\n {item.title}\n </Link>\n );\n });\n\n pagesView = (\n <div className={search.value || isFocus ? style.noItems : style.items}>\n {displayedPages}\n <div className={style.more}>\n <div className={style.currentOption} aria-haspopup=\"true\" data-name=\"item-more\">\n {moreAriaLabel}\n <ArrowDown color={mediumColor} className={style.caret} aria-label={moreAriaLabel} />\n </div>\n <div className={style.optionsGroup}>{optionsView}</div>\n </div>\n </div>\n );\n }\n\n if (links) {\n const ctas = links.map((cta, index) => {\n return (\n <Cta {...cta} key={index} className={index + 1 === links.length ? null : style.ctaLink} />\n );\n });\n\n linksView = <div className={style.links}>{ctas}</div>;\n }\n\n if (user) {\n const nbNotifications = getOr(0, 'notifications.value', user);\n const notificationsAriaLabel = getOr('', 'notifications.aria-label', user);\n\n notificationsView =\n nbNotifications > 0 ? (\n <Link\n href={user.notifications.href}\n data-name=\"user-notifications\"\n className={style.notifications}\n >\n {nbNotifications}\n </Link>\n ) : null;\n const notificationPageView = (\n <Link\n className={classnames(style.notification, nbNotifications > 0 ? style.active : null)}\n data-name=\"stat-notifications\"\n href={user.notifications.href}\n aria-label={notificationsAriaLabel}\n >\n <div>\n <AlarmIcon width={16} height={16} />\n </div>\n {notificationsView}\n </Link>\n );\n userView = (\n <div className={style.user}>\n <div className={style.stats}>\n <Link\n className={style.stat}\n data-name=\"stat-stars\"\n href={user.stats.stars.href}\n onClick={this.handleLinkClick}\n aria-label={user.stats.stars['aria-label']}\n >\n <div className={style.iconWrapper} style={iconWrapperStyle}>\n <StarIcon className={style.stars} color={white} />\n </div>\n <div data-name=\"value\" className={style.label}>\n {user.stats.stars.label}\n </div>\n </Link>\n <Link\n className={style.stat}\n data-name=\"stat-ranking\"\n href={user.stats.ranking.href}\n onClick={this.handleLinkClick}\n aria-label={user.stats.ranking['aria-label']}\n >\n <div className={style.iconWrapper} style={iconWrapperStyle}>\n <ChartsIcon className={style.ranking} color={white} />\n </div>\n\n <div data-name=\"value\" className={style.label}>\n {user.stats.ranking.label}\n </div>\n </Link>\n <Link\n className={style.stat}\n data-name=\"stat-badge\"\n href={user.stats.badge.href}\n onClick={this.handleLinkClick}\n aria-label={user.stats.badge['aria-label']}\n >\n <div className={style.iconWrapper} style={iconWrapperStyle}>\n <TrophyIcon className={style.badge} color={white} />\n </div>\n <div className={style.label}>{user.stats.badge.label}</div>\n </Link>\n </div>\n <div className={style.avatarWrapper}>\n {notificationPageView}\n <div className={style.avatar} data-name=\"user-avatar\">\n <Link\n href={user.href}\n className={style.userLink}\n onClick={this.handleLinkClick}\n aria-label={user['picture-aria-label']}\n >\n <Picture src={user.picture} alt={user.profileAvatarAlt} />\n </Link>\n </div>\n </div>\n </div>\n );\n }\n\n if (settings) {\n const settingsElements = settings.map((setting, index) => {\n let settingView = null;\n const {\n options,\n type,\n title,\n name: settingName = index,\n color,\n hoverColor,\n 'aria-label': ariaLabel\n } = setting;\n\n switch (type) {\n case 'link': {\n settingView = (\n <div data-name={`setting-${settingName}`} className={style.setting} key={settingName}>\n <Link\n className={style.link}\n href={options.href}\n skinHover\n hoverColor={hoverColor}\n onClick={this.handleLinkClick}\n target={options.target || null}\n aria-label={ariaLabel || title}\n style={{\n color\n }}\n >\n {title}\n </Link>\n </div>\n );\n break;\n }\n case 'select': {\n const selectProps = {};\n selectProps.options = options.values;\n selectProps.title = '';\n selectProps.theme = 'header';\n selectProps.onChange = options.onChange;\n\n settingView = (\n <div\n data-name={`setting-${settingName}`}\n className={style.setting}\n key={settingName}\n aria-label={ariaLabel || title}\n >\n <span className={style.label}>{title}</span>\n <Select {...selectProps} />\n </div>\n );\n break;\n }\n case 'switch': {\n const switchProps = {};\n switchProps.value = options.value;\n switchProps.id = `input-switch-${index}`;\n switchProps.onChange = options.onChange;\n\n settingView = (\n <div\n data-name={`setting-${settingName}`}\n className={style.setting}\n key={settingName}\n aria-label={ariaLabel || title}\n >\n <span className={style.label}>{title}</span>\n <InputSwitch {...switchProps} />\n </div>\n );\n break;\n }\n }\n\n return settingView;\n });\n\n settingsView = (\n <div className={style.settings} ref={this.setMenuSettings}>\n <CogIcon\n data-name=\"settings-toggle\"\n color={darkColor}\n className={style.settingsToggle}\n onClick={this.handleSettingsToggle}\n aria-expanded={isSettingsOpen}\n aria-label={settingsAriaLabel}\n />\n <div className={isSettingsOpen ? style.settingsWrapper : style.settingsWrapperHidden}>\n <div data-name=\"settings\" className={style.settingsGroup}>\n {settingsElements}\n </div>\n <div\n className={style.closeSettings}\n onClick={this.handleSettingsToggle}\n aria-label={closeSettingsAriaLabel}\n >\n {closeLabel}\n </div>\n </div>\n </div>\n );\n }\n\n if (search) {\n searchFormView = (\n <div\n data-name=\"Search-Bar\"\n className={isMenuOpen ? style.hiddenSearchBar : style.searchBar}\n >\n <SearchForm\n search={search}\n onSubmit={this.handleSubmitSearch}\n onReset={this.handleResetSearch}\n onSearchFocus={this.handleOnFocus}\n onSearchBlur={this.handleOnBlur}\n search-reset-aria-label={searchResetAriaLabel}\n />\n </div>\n );\n }\n\n return (\n <header className={style.wrapper}>\n <div\n data-name=\"moocHeader\"\n data-open={isMenuOpen}\n className={isMenuOpen ? style.open : style.header}\n >\n <div className={style.logoWrapper}>\n <div\n className={style.navMobile}\n data-name=\"nav-mobile\"\n aria-label={logoButtonAriaLabel}\n >\n <BurgerIcon\n role=\"button\"\n data-name=\"nav-mobile-open\"\n color={mediumColor}\n className={isMenuOpen ? style.burgerHidden : style.burger}\n onClick={this.handleOnMenuOpen}\n />\n <CloseIcon\n data-name=\"nav-mobile-close\"\n color={mediumColor}\n className={isMenuOpen ? style.close : style.closeHidden}\n onClick={this.handleOnMenuClose}\n />\n <Link data-name=\"logo-mobile\" href={logo.href}>\n <Picture src={logoMobileUrl} alt={logoAriaLabel} />\n </Link>\n </div>\n <Link className={style.logo} data-name=\"logo\" href={logo.href}>\n <Picture src={logoUrl} alt={logoAriaLabel} />\n </Link>\n </div>\n {searchFormView}\n <div\n className={isMenuOpen ? style.menuWrapper : style.hiddenMenuWrapper}\n data-name=\"menu-wrapper\"\n >\n {pagesView}\n {userView || linksView}\n {settingsView}\n </div>\n </div>\n </header>\n );\n }\n}\n\nexport default MoocHeader;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","PropTypes","classnames","NovaCompositionNavigationArrowDown","ArrowDown","NovaCompositionNavigationBurger","BurgerIcon","NovaCompositionNavigationClose","CloseIcon","NovaCompositionCoorpacademyStar","StarIcon","NovaCompositionCoorpacademyCharts","ChartsIcon","NovaSolidVoteRewardsRewardsTrophy5","TrophyIcon","NovaCompositionCoorpacademyCog","CogIcon","NovaSolidTimeAlarm","AlarmIcon","Provider","Cta","Select","Picture","InputSwitch","Link","Search","SearchForm","style","MoocHeader","Component","constructor","props","state","isSettingsOpen","isMenuOpen","isFocus","handleSettingsToggle","bind","handleMenuToggle","_checkOnClose","handleLinkClick","setMenuSettings","handleSubmitSearch","handleResetSearch","handleOnFocus","handleOnBlur","handleOnMenuOpen","handleOnMenuClose","componentDidUpdate","prevProps","prevState","prevContext","document","addEventListener","removeEventListener","el","menuSettings","clickEvent","menu","contains","target","setState","onSubmitSearch","onResetSearch","onMenuOpen","onMenuClose","render","logo","pages","items","settings","user","links","search","searchResetAriaLabel","settingsAriaLabel","closeSettingsAriaLabel","activePageAriaLabel","translate","skin","context","logoAriaLabel","logoButtonAriaLabel","logoUrl","logoMobileUrl","pagesView","linksView","userView","settingsView","notificationsView","searchFormView","moreAriaLabel","closeLabel","primaryColor","mediumColor","darkColor","white","iconWrapperStyle","backgroundColor","displayedPages","displayed","map","item","index","activeColor","selected","color","pageCountAriaLabel","itemLabel","title","pageBadge","counter","href","itemBadge","name","itemName","activePage","bar","optionsView","more","option","value","noItems","currentOption","caret","optionsGroup","ctas","cta","length","ctaLink","nbNotifications","notificationsAriaLabel","notifications","notificationPageView","notification","active","stats","stat","stars","iconWrapper","label","ranking","badge","avatarWrapper","avatar","userLink","picture","profileAvatarAlt","settingsElements","setting","settingView","options","type","settingName","hoverColor","ariaLabel","link","selectProps","values","theme","onChange","switchProps","id","settingsToggle","settingsWrapper","settingsWrapperHidden","settingsGroup","closeSettings","hiddenSearchBar","searchBar","wrapper","open","header","logoWrapper","navMobile","burgerHidden","burger","close","closeHidden","menuWrapper","hiddenMenuWrapper","contextTypes","childContextTypes","propTypes","shape","src","string","srcMobile","func","arrayOf","oneOf","bool","number"],"sources":["../../../src/organism/mooc-header/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {getOr, get, isEmpty} from 'lodash/fp';\nimport classnames from 'classnames';\nimport {\n NovaCompositionNavigationArrowDown as ArrowDown,\n NovaCompositionNavigationBurger as BurgerIcon,\n NovaCompositionNavigationClose as CloseIcon,\n NovaCompositionCoorpacademyStar as StarIcon,\n NovaCompositionCoorpacademyCharts as ChartsIcon,\n NovaSolidVoteRewardsRewardsTrophy5 as TrophyIcon,\n NovaCompositionCoorpacademyCog as CogIcon,\n NovaSolidTimeAlarm as AlarmIcon\n} from '@coorpacademy/nova-icons';\nimport Provider from '../../atom/provider';\nimport Cta from '../../atom/cta';\nimport Select from '../../atom/select';\nimport Picture from '../../atom/picture';\nimport InputSwitch from '../../atom/input-switch';\nimport Link from '../../atom/link';\nimport Search from '../../atom/input-search';\nimport SearchForm from '../../molecule/search-form';\nimport style from './style.css';\n\nclass MoocHeader extends React.Component {\n static propTypes = {\n logo: PropTypes.shape({\n src: PropTypes.string,\n srcMobile: PropTypes.string,\n href: PropTypes.string,\n 'aria-label': PropTypes.string,\n 'button-aria-label': PropTypes.string\n }),\n search: PropTypes.shape(Search.propTypes),\n 'search-reset-aria-label': PropTypes.string,\n onSubmitSearch: PropTypes.func,\n onResetSearch: PropTypes.func,\n pages: PropTypes.shape({\n displayed: PropTypes.arrayOf(\n PropTypes.shape({\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n title: PropTypes.string,\n name: PropTypes.string,\n href: PropTypes.string,\n selected: PropTypes.bool,\n counter: PropTypes.number,\n 'page-count-aria-label': PropTypes.string\n })\n ),\n more: PropTypes.arrayOf(\n PropTypes.shape({\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n title: PropTypes.string,\n name: PropTypes.string,\n href: PropTypes.string,\n selected: PropTypes.bool,\n counter: PropTypes.number\n })\n )\n }),\n links: PropTypes.arrayOf(PropTypes.shape(Cta.propTypes)),\n user: PropTypes.shape({\n picture: PropTypes.string,\n 'picture-aria-label': PropTypes.string,\n profileAvatarAlt: PropTypes.string,\n href: PropTypes.string,\n notifications: PropTypes.shape({\n href: PropTypes.string,\n value: PropTypes.number,\n 'aria-label': PropTypes.string\n }),\n stats: PropTypes.shape({\n stars: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n }),\n ranking: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n }),\n badge: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n })\n })\n }),\n 'settings-aria-label': PropTypes.string,\n 'close-settings-aria-label': PropTypes.string,\n 'active-page-aria-label': PropTypes.string,\n settings: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n name: PropTypes.string,\n type: PropTypes.oneOf(['select', 'switch', 'link']),\n color: PropTypes.string,\n 'aria-label': PropTypes.string,\n options: PropTypes.shape({\n href: PropTypes.string,\n onChange: PropTypes.func,\n value: PropTypes.bool,\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n values: PropTypes.arrayOf(\n PropTypes.shape({\n value: PropTypes.string,\n name: PropTypes.string,\n selected: PropTypes.bool\n })\n )\n })\n })\n ),\n onMenuOpen: PropTypes.func,\n onMenuClose: PropTypes.func\n };\n\n static contextTypes = {\n translate: Provider.childContextTypes.translate,\n skin: Provider.childContextTypes.skin\n };\n\n constructor(props) {\n super(props);\n this.state = {\n isSettingsOpen: false,\n isMenuOpen: false,\n isFocus: false\n };\n\n this.handleSettingsToggle = this.handleSettingsToggle.bind(this);\n this.handleMenuToggle = this.handleMenuToggle.bind(this);\n this._checkOnClose = this._checkOnClose.bind(this);\n this.handleLinkClick = this.handleLinkClick.bind(this);\n this.setMenuSettings = this.setMenuSettings.bind(this);\n this.handleSubmitSearch = this.handleSubmitSearch.bind(this);\n this.handleResetSearch = this.handleResetSearch.bind(this);\n this.handleOnFocus = this.handleOnFocus.bind(this);\n this.handleOnBlur = this.handleOnBlur.bind(this);\n this.handleOnMenuOpen = this.handleOnMenuOpen.bind(this);\n this.handleOnMenuClose = this.handleOnMenuClose.bind(this);\n }\n\n componentDidUpdate(prevProps, prevState, prevContext) {\n const {isSettingsOpen} = this.state;\n if (isSettingsOpen) {\n document.addEventListener('click', this._checkOnClose);\n document.addEventListener('touchstart', this._checkOnClose);\n } else {\n document.removeEventListener('click', this._checkOnClose);\n document.removeEventListener('touchstart', this._checkOnClose);\n }\n }\n\n setMenuSettings(el) {\n this.menuSettings = el;\n }\n\n _checkOnClose(clickEvent) {\n const {isSettingsOpen} = this.state;\n if (isSettingsOpen) {\n const menu = this.menuSettings;\n if (menu && !menu.contains(clickEvent.target)) {\n this.handleSettingsToggle();\n }\n }\n }\n\n handleLinkClick() {\n const {isMenuOpen} = this.state;\n isMenuOpen && this.handleMenuToggle();\n }\n\n handleSettingsToggle() {\n this.setState(prevState => ({\n isSettingsOpen: !prevState.isSettingsOpen\n }));\n }\n\n handleMenuToggle() {\n const {isMenuOpen} = this.state;\n isMenuOpen ? this.handleOnMenuClose() : this.handleOnMenuOpen();\n }\n\n handleSubmitSearch() {\n const {onSubmitSearch} = this.props;\n if (onSubmitSearch) {\n onSubmitSearch();\n }\n }\n\n handleResetSearch() {\n const {onResetSearch} = this.props;\n if (onResetSearch) {\n onResetSearch();\n }\n }\n\n handleOnFocus() {\n this.setState(prevState => ({\n isFocus: true\n }));\n }\n\n handleOnBlur() {\n this.setState(prevState => ({\n isFocus: false\n }));\n }\n\n handleOnMenuOpen() {\n const {onMenuOpen} = this.props;\n if (onMenuOpen) {\n onMenuOpen();\n }\n this.setState(() => ({\n isMenuOpen: true\n }));\n }\n\n handleOnMenuClose() {\n const {onMenuClose} = this.props;\n if (onMenuClose) {\n onMenuClose();\n }\n this.setState(() => ({\n isMenuOpen: false\n }));\n }\n\n render() {\n if (isEmpty(this.props)) return null;\n const {\n logo = {},\n pages: items,\n settings,\n user,\n links,\n search,\n 'search-reset-aria-label': searchResetAriaLabel,\n 'settings-aria-label': settingsAriaLabel,\n 'close-settings-aria-label': closeSettingsAriaLabel,\n 'active-page-aria-label': activePageAriaLabel\n } = this.props;\n const {isFocus, isSettingsOpen, isMenuOpen} = this.state;\n const {translate, skin} = this.context;\n const {'aria-label': logoAriaLabel, 'button-aria-label': logoButtonAriaLabel} = logo;\n const logoUrl = get('src', logo) || get('images.logo', skin);\n const logoMobileUrl = get('srcMobile', logo) || getOr(logoUrl, 'images.logo-mobile', skin);\n\n let pagesView = null;\n let linksView = null;\n let userView = null;\n let settingsView = null;\n let notificationsView = null;\n let searchFormView = null;\n\n const moreAriaLabel = translate('More');\n const closeLabel = translate('Close');\n const primaryColor = get('common.primary', skin);\n const mediumColor = get('common.medium', skin);\n const darkColor = get('common.dark', skin);\n const white = get('common.white', skin);\n const iconWrapperStyle = {backgroundColor: primaryColor};\n\n if (items) {\n const displayedPages = items.displayed.map((item, index) => {\n const activeColor = item.selected\n ? {\n color: primaryColor\n }\n : null;\n\n const {'page-count-aria-label': pageCountAriaLabel} = item;\n const itemLabel = item.selected ? `${item.title}. ${activePageAriaLabel}` : item.title;\n const pageBadge =\n item.counter > 0 ? (\n <Link\n href={item.href}\n data-name=\"item-badge\"\n className={style.itemBadge}\n aria-label={pageCountAriaLabel}\n >\n {item.counter}\n </Link>\n ) : null;\n\n const {name: itemName = index} = item;\n\n return (\n <Link\n key={itemName}\n data-name={`item-${itemName}`}\n href={item.href}\n className={item.selected ? style.activePage : style.item}\n skinHover\n onClick={this.handleLinkClick}\n target={item.target || null}\n aria-label={itemLabel}\n style={{\n ...activeColor\n }}\n >\n {item.title}\n {pageBadge}\n <span\n className={style.bar}\n style={{\n backgroundColor: primaryColor\n }}\n />\n </Link>\n );\n });\n\n const optionsView = items.more.map((item, index) => {\n const activeColor = item.selected\n ? {\n color: primaryColor\n }\n : null;\n const itemLabel = item.selected ? `${item.title}. ${activePageAriaLabel}` : item.title;\n const {name: itemName = index} = item;\n return (\n <Link\n href={item.href}\n key={itemName}\n className={style.option}\n data-name={`item-more-${itemName}`}\n target={item.target || null}\n aria-label={itemLabel}\n onClick={this.handleLinkClick}\n skinHover\n style={{\n ...activeColor\n }}\n >\n {item.title}\n </Link>\n );\n });\n\n pagesView = (\n <div className={search.value || isFocus ? style.noItems : style.items}>\n {displayedPages}\n <div className={style.more}>\n <div className={style.currentOption} aria-haspopup=\"true\" data-name=\"item-more\">\n {moreAriaLabel}\n <ArrowDown color={mediumColor} className={style.caret} aria-label={moreAriaLabel} />\n </div>\n <div className={style.optionsGroup}>{optionsView}</div>\n </div>\n </div>\n );\n }\n\n if (links) {\n const ctas = links.map((cta, index) => {\n return (\n <Cta {...cta} key={index} className={index + 1 === links.length ? null : style.ctaLink} />\n );\n });\n\n linksView = <div className={style.links}>{ctas}</div>;\n }\n\n if (user) {\n const nbNotifications = getOr(0, 'notifications.value', user);\n const notificationsAriaLabel = getOr('', 'notifications.aria-label', user);\n\n notificationsView =\n nbNotifications > 0 ? (\n <Link\n href={user.notifications.href}\n data-name=\"user-notifications\"\n className={style.notifications}\n >\n {nbNotifications}\n </Link>\n ) : null;\n const notificationPageView = (\n <Link\n className={classnames(style.notification, nbNotifications > 0 ? style.active : null)}\n data-name=\"stat-notifications\"\n href={user.notifications.href}\n aria-label={notificationsAriaLabel}\n >\n <div>\n <AlarmIcon width={16} height={16} />\n </div>\n {notificationsView}\n </Link>\n );\n userView = (\n <div className={style.user}>\n <div className={style.stats}>\n <Link\n className={style.stat}\n data-name=\"stat-stars\"\n href={user.stats.stars.href}\n onClick={this.handleLinkClick}\n aria-label={user.stats.stars['aria-label']}\n >\n <div className={style.iconWrapper} style={iconWrapperStyle}>\n <StarIcon className={style.stars} color={white} />\n </div>\n <div data-name=\"value\" className={style.label}>\n {user.stats.stars.label}\n </div>\n </Link>\n <Link\n className={style.stat}\n data-name=\"stat-ranking\"\n href={user.stats.ranking.href}\n onClick={this.handleLinkClick}\n aria-label={user.stats.ranking['aria-label']}\n >\n <div className={style.iconWrapper} style={iconWrapperStyle}>\n <ChartsIcon className={style.ranking} color={white} />\n </div>\n\n <div data-name=\"value\" className={style.label}>\n {user.stats.ranking.label}\n </div>\n </Link>\n <Link\n className={style.stat}\n data-name=\"stat-badge\"\n href={user.stats.badge.href}\n onClick={this.handleLinkClick}\n aria-label={user.stats.badge['aria-label']}\n >\n <div className={style.iconWrapper} style={iconWrapperStyle}>\n <TrophyIcon className={style.badge} color={white} />\n </div>\n <div className={style.label}>{user.stats.badge.label}</div>\n </Link>\n </div>\n <div className={style.avatarWrapper}>\n {notificationPageView}\n <div className={style.avatar} data-name=\"user-avatar\">\n <Link\n href={user.href}\n className={style.userLink}\n onClick={this.handleLinkClick}\n aria-label={user['picture-aria-label']}\n >\n <Picture src={user.picture} alt={user.profileAvatarAlt} />\n </Link>\n </div>\n </div>\n </div>\n );\n }\n\n if (settings) {\n const settingsElements = settings.map((setting, index) => {\n let settingView = null;\n const {\n options,\n type,\n title,\n name: settingName = index,\n color,\n hoverColor,\n 'aria-label': ariaLabel\n } = setting;\n\n switch (type) {\n case 'link': {\n settingView = (\n <div data-name={`setting-${settingName}`} className={style.setting} key={settingName}>\n <Link\n className={style.link}\n href={options.href}\n skinHover\n hoverColor={hoverColor}\n onClick={this.handleLinkClick}\n target={options.target || null}\n aria-label={ariaLabel || title}\n style={{\n color\n }}\n >\n {title}\n </Link>\n </div>\n );\n break;\n }\n case 'select': {\n const selectProps = {};\n selectProps.options = options.values;\n selectProps.title = '';\n selectProps.theme = 'header';\n selectProps.onChange = options.onChange;\n\n settingView = (\n <div data-name={`setting-${settingName}`} className={style.setting} key={settingName}>\n <span className={style.label}>{title}</span>\n <Select {...selectProps} moreAriaLabel={ariaLabel || title} />\n </div>\n );\n break;\n }\n case 'switch': {\n const switchProps = {};\n switchProps.value = options.value;\n switchProps.id = `input-switch-${index}`;\n switchProps.onChange = options.onChange;\n\n settingView = (\n <div\n data-name={`setting-${settingName}`}\n className={style.setting}\n key={settingName}\n aria-label={ariaLabel || title}\n >\n <span className={style.label}>{title}</span>\n <InputSwitch {...switchProps} />\n </div>\n );\n break;\n }\n }\n\n return settingView;\n });\n\n settingsView = (\n <div className={style.settings} ref={this.setMenuSettings}>\n <CogIcon\n data-name=\"settings-toggle\"\n color={darkColor}\n className={style.settingsToggle}\n onClick={this.handleSettingsToggle}\n aria-expanded={isSettingsOpen}\n aria-label={settingsAriaLabel}\n />\n <div className={isSettingsOpen ? style.settingsWrapper : style.settingsWrapperHidden}>\n <div data-name=\"settings\" className={style.settingsGroup}>\n {settingsElements}\n </div>\n <div\n className={style.closeSettings}\n onClick={this.handleSettingsToggle}\n aria-label={closeSettingsAriaLabel}\n >\n {closeLabel}\n </div>\n </div>\n </div>\n );\n }\n\n if (search) {\n searchFormView = (\n <div\n data-name=\"Search-Bar\"\n className={isMenuOpen ? style.hiddenSearchBar : style.searchBar}\n >\n <SearchForm\n search={search}\n onSubmit={this.handleSubmitSearch}\n onReset={this.handleResetSearch}\n onSearchFocus={this.handleOnFocus}\n onSearchBlur={this.handleOnBlur}\n search-reset-aria-label={searchResetAriaLabel}\n />\n </div>\n );\n }\n\n return (\n <header className={style.wrapper}>\n <div\n data-name=\"moocHeader\"\n data-open={isMenuOpen}\n className={isMenuOpen ? style.open : style.header}\n >\n <div className={style.logoWrapper}>\n <div\n className={style.navMobile}\n data-name=\"nav-mobile\"\n aria-label={logoButtonAriaLabel}\n >\n <BurgerIcon\n role=\"button\"\n data-name=\"nav-mobile-open\"\n color={mediumColor}\n className={isMenuOpen ? style.burgerHidden : style.burger}\n onClick={this.handleOnMenuOpen}\n />\n <CloseIcon\n data-name=\"nav-mobile-close\"\n color={mediumColor}\n className={isMenuOpen ? style.close : style.closeHidden}\n onClick={this.handleOnMenuClose}\n />\n <Link data-name=\"logo-mobile\" href={logo.href}>\n <Picture src={logoMobileUrl} alt={logoAriaLabel} />\n </Link>\n </div>\n <Link className={style.logo} data-name=\"logo\" href={logo.href}>\n <Picture src={logoUrl} alt={logoAriaLabel} />\n </Link>\n </div>\n {searchFormView}\n <div\n className={isMenuOpen ? style.menuWrapper : style.hiddenMenuWrapper}\n data-name=\"menu-wrapper\"\n >\n {pagesView}\n {userView || linksView}\n {settingsView}\n </div>\n </div>\n </header>\n );\n }\n}\n\nexport default MoocHeader;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/organism/review-congrats/index.native.tsx"],"names":[],"mappings":";AAsBA,OAAO,EAAC,mBAAmB,EAAC,MAAM,cAAc,CAAC;AAkEjD,QAAA,MAAM,cAAc,UAAW,mBAAmB,uBA+JjD,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/organism/review-congrats/index.native.tsx"],"names":[],"mappings":";AAsBA,OAAO,EAAC,mBAAmB,EAAC,MAAM,cAAc,CAAC;AAkEjD,QAAA,MAAM,cAAc,UAAW,mBAAmB,uBAsKjD,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -27,7 +27,7 @@ const createStyleSheet = theme => StyleSheet.create({
27
27
  paddingHorizontal: 20,
28
28
  flexDirection: 'column',
29
29
  justifyContent: 'space-between',
30
- flex: 1
30
+ height: 114
31
31
  },
32
32
  title: {
33
33
  fontWeight: '400',
@@ -108,14 +108,14 @@ const ReviewCongrats = props => {
108
108
  }));
109
109
  const animatedRank = [fadeInRank.animatedStyle, translateRank.animatedStyle];
110
110
  const fadeInStars = useAnimateProp(_extends({}, fadeIn, {
111
- delay: 1000
111
+ delay: cardCongratsRank ? 1000 : 0
112
112
  }));
113
113
  const translateStars = useTranslateX(_extends({}, translateHorizontally, {
114
- delay: 1000
114
+ delay: cardCongratsRank ? 1000 : 0
115
115
  }));
116
116
  const showButton1 = useAnimateProp(fadeIn);
117
117
  const showButton2 = useAnimateProp(fadeIn);
118
- const congratsSequence = sequence([parallel([showCongrats, translateCongrats]), parallel([showConfettis, fadeInRank, translateRank]), parallel([fadeInStars, translateStars]), sequence([showButton1, showButton2])]);
118
+ const congratsSequence = sequence([parallel([showCongrats, translateCongrats]), parallel([showConfettis, cardCongratsRank ? sequence([parallel([fadeInRank, translateRank]), parallel([fadeInStars, translateStars])]) : parallel([fadeInStars, translateStars])]), sequence([showButton1, showButton2])]);
119
119
  useEffect(() => {
120
120
  congratsSequence.start(); // (required only once on mount)
121
121
  // eslint-disable-next-line react-hooks/exhaustive-deps
@@ -132,6 +132,7 @@ const ReviewCongrats = props => {
132
132
 
133
133
  const handleContinueRevisingPress = buttonRevising?.onClick || _noop;
134
134
  const handleReviseAnotherSkillPress = buttonRevisingSkill?.onClick || _noop;
135
+ const showStarLottieAnimation = !cardCongratsRank || isRankShown;
135
136
  return /*#__PURE__*/React.createElement(Animated.View, {
136
137
  style: [styleSheet.congrats, translateCongrats.animatedStyle, showCongrats.animatedStyle],
137
138
  accessibilityLabel: ariaLabel
@@ -156,7 +157,7 @@ const ReviewCongrats = props => {
156
157
  })) : null, /*#__PURE__*/React.createElement(Animated.View, {
157
158
  style: [fadeInStars.animatedStyle, translateStars.animatedStyle]
158
159
  }, /*#__PURE__*/React.createElement(CardCongrats, {
159
- animationUri: isRankShown ? cardCongratsStar.animationLottie.animationSrc : null,
160
+ animationUri: showStarLottieAnimation ? cardCongratsStar.animationLottie.animationSrc : null,
160
161
  Icon: StarIcon,
161
162
  text: cardCongratsStar.reviewCardTitle,
162
163
  value: cardCongratsStar.reviewCardValue,