@coorpacademy/components 10.22.24 → 10.22.25-alpha.20

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 (83) hide show
  1. package/es/atom/choice/index.native.js +4 -4
  2. package/es/atom/choice/index.native.js.map +1 -1
  3. package/es/atom/select-modal/index.native.js +1 -1
  4. package/es/atom/select-modal/index.native.js.map +1 -1
  5. package/es/molecule/answer/index.native.js +85 -0
  6. package/es/molecule/answer/index.native.js.map +1 -0
  7. package/es/molecule/answer/prop-types.js +22 -3
  8. package/es/molecule/answer/prop-types.js.map +1 -1
  9. package/es/molecule/questions/mobile/draggable/index.native.js +8 -29
  10. package/es/molecule/questions/mobile/draggable/index.native.js.map +1 -1
  11. package/es/molecule/questions/mobile/switch/index.native.js +57 -54
  12. package/es/molecule/questions/mobile/switch/index.native.js.map +1 -1
  13. package/es/molecule/questions/mobile/template/index.native.js +18 -23
  14. package/es/molecule/questions/mobile/template/index.native.js.map +1 -1
  15. package/es/organism/review-congrats/index.js +3 -1
  16. package/es/organism/review-congrats/index.js.map +1 -1
  17. package/es/organism/review-congrats/style.css +5 -0
  18. package/es/organism/review-slide/index.js +1 -8
  19. package/es/organism/review-slide/index.js.map +1 -1
  20. package/es/organism/review-slide/index.native.js +213 -0
  21. package/es/organism/review-slide/index.native.js.map +1 -0
  22. package/es/organism/review-slide/prop-types.js +4 -3
  23. package/es/organism/review-slide/prop-types.js.map +1 -1
  24. package/es/organism/review-stacked-slides/index.native.js +34 -0
  25. package/es/organism/review-stacked-slides/index.native.js.map +1 -0
  26. package/es/organism/review-stacked-slides/prop-types.js +3 -2
  27. package/es/organism/review-stacked-slides/prop-types.js.map +1 -1
  28. package/es/template/app-player/loading/index.js +9 -3
  29. package/es/template/app-player/loading/index.js.map +1 -1
  30. package/es/template/app-player/popin-correction/index.js +6 -3
  31. package/es/template/app-player/popin-correction/index.js.map +1 -1
  32. package/es/template/app-player/popin-end/index.js +6 -3
  33. package/es/template/app-player/popin-end/index.js.map +1 -1
  34. package/es/template/app-review/player/index.native.js +33 -230
  35. package/es/template/app-review/player/index.native.js.map +1 -1
  36. package/es/template/app-review/player/prop-types.js.map +1 -1
  37. package/es/template/app-review/player/style.css +7 -0
  38. package/es/template/app-review/template-context.js +3 -1
  39. package/es/template/app-review/template-context.js.map +1 -1
  40. package/lib/atom/choice/index.native.js +4 -4
  41. package/lib/atom/choice/index.native.js.map +1 -1
  42. package/lib/atom/select-modal/index.native.js +1 -1
  43. package/lib/atom/select-modal/index.native.js.map +1 -1
  44. package/lib/molecule/answer/index.native.js +94 -0
  45. package/lib/molecule/answer/index.native.js.map +1 -0
  46. package/lib/molecule/answer/prop-types.js +25 -3
  47. package/lib/molecule/answer/prop-types.js.map +1 -1
  48. package/lib/molecule/questions/mobile/draggable/index.native.js +8 -31
  49. package/lib/molecule/questions/mobile/draggable/index.native.js.map +1 -1
  50. package/lib/molecule/questions/mobile/switch/index.native.js +64 -62
  51. package/lib/molecule/questions/mobile/switch/index.native.js.map +1 -1
  52. package/lib/molecule/questions/mobile/template/index.native.js +18 -23
  53. package/lib/molecule/questions/mobile/template/index.native.js.map +1 -1
  54. package/lib/organism/review-congrats/index.js +3 -1
  55. package/lib/organism/review-congrats/index.js.map +1 -1
  56. package/lib/organism/review-congrats/style.css +5 -0
  57. package/lib/organism/review-slide/index.js +1 -8
  58. package/lib/organism/review-slide/index.js.map +1 -1
  59. package/lib/organism/review-slide/index.native.js +232 -0
  60. package/lib/organism/review-slide/index.native.js.map +1 -0
  61. package/lib/organism/review-slide/prop-types.js +6 -5
  62. package/lib/organism/review-slide/prop-types.js.map +1 -1
  63. package/lib/organism/review-stacked-slides/index.native.js +47 -0
  64. package/lib/organism/review-stacked-slides/index.native.js.map +1 -0
  65. package/lib/organism/review-stacked-slides/prop-types.js +3 -2
  66. package/lib/organism/review-stacked-slides/prop-types.js.map +1 -1
  67. package/lib/template/app-player/loading/index.js +11 -3
  68. package/lib/template/app-player/loading/index.js.map +1 -1
  69. package/lib/template/app-player/popin-correction/index.js +7 -3
  70. package/lib/template/app-player/popin-correction/index.js.map +1 -1
  71. package/lib/template/app-player/popin-end/index.js +7 -3
  72. package/lib/template/app-player/popin-end/index.js.map +1 -1
  73. package/lib/template/app-review/player/index.native.js +36 -233
  74. package/lib/template/app-review/player/index.native.js.map +1 -1
  75. package/lib/template/app-review/player/prop-types.js.map +1 -1
  76. package/lib/template/app-review/player/style.css +7 -0
  77. package/lib/template/app-review/template-context.js +3 -1
  78. package/lib/template/app-review/template-context.js.map +1 -1
  79. package/package.json +2 -2
  80. package/es/molecule/questions/qcm/index.native.js +0 -50
  81. package/es/molecule/questions/qcm/index.native.js.map +0 -1
  82. package/lib/molecule/questions/qcm/index.native.js +0 -62
  83. package/lib/molecule/questions/qcm/index.native.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/molecule/questions/mobile/template/index.native.tsx"],"names":["createStyleSheet","theme","section","width","flexDirection","flexWrap","justifyContent","alignItems","spaced","paddingVertical","spacing","tiny","input","padding","borderWidth","borderColor","colors","gray","lightMedium","borderRadius","radius","common","backgroundColor","white","minWidth","htmlText","color","black","fontWeight","bold","lineHeight","text","medium","fontSize","regular","textAlign","Section","items","index","focusedSelectId","onInputChange","userChoices","handleBlur","handleFocus","isDisabled","styles","prefix","map","part","id","Item","props","templateContext","brandTheme","translations","inputNames","item","name","isFocused","selectedStyle","primary","type","includes","value","itemIndex","findIndex","_item","disabledSuffix","selectedSuffix","handleInputChange","_value","selectAnAnswer","QuestionTemplate","template","styleSheet","setStylesheet","_stylesheet","parts","sections","reduce","result","slice","concat","flex"],"mappings":"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","sourcesContent":["import React, {useEffect, useState} from 'react';\nimport {View} from 'react-native';\n\nimport trim from 'lodash/fp/trim';\nimport last from 'lodash/fp/last';\n\nimport Html from '../../../../atom/html/index.native';\nimport Select from '../../../../atom/select-modal/index.native';\nimport Space from '../../../../atom/space/index.native';\nimport {FocusedSelectId, HandleBlur, HandleFocus} from '../../../../types/app-review.d';\nimport type {Choice} from '../../../../types/progression-engine.d';\nimport FreeText from '../../free-text/index.native';\nimport {useTemplateContext} from '../../../../template/app-review/template-context';\nimport {Theme} from '../../../../variables/theme.native';\nimport parseTemplateString from '../../../../util/parse-template-string';\n\nconst createStyleSheet = (theme: Theme) => ({\n section: {\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 input: {\n padding: theme.spacing.tiny,\n borderWidth: 1,\n borderColor: theme.colors.gray.lightMedium,\n borderRadius: theme.radius.common,\n backgroundColor: theme.colors.white,\n minWidth: 175\n },\n htmlText: {\n padding: theme.spacing.tiny,\n color: theme.colors.black,\n fontWeight: theme.fontWeight.bold,\n lineHeight: 30\n },\n text: {\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 SectionProps = {\n isDisabled: boolean;\n userChoices: Array<string>;\n section: Array<TemplatePart>;\n items: Array<Choice>;\n index: number;\n onInputChange: (item: Choice, value: string) => void;\n focusedSelectId: FocusedSelectId;\n handleBlur: HandleBlur;\n handleFocus: HandleFocus;\n styles: any;\n};\n\nconst Section = ({\n section,\n items,\n index,\n focusedSelectId,\n onInputChange,\n userChoices,\n handleBlur,\n handleFocus,\n isDisabled,\n styles\n}: SectionProps) => {\n const prefix = `question-section-${index + 1}`;\n\n return (\n <View style={styles.section} key={`container-${prefix}`}>\n {section.map((part, id) => {\n return (\n <View key={`${prefix}-${id}`} style={{flexDirection: 'row'}}>\n <Item\n prefix={prefix}\n part={part}\n items={items}\n index={id}\n focusedSelectId={focusedSelectId}\n isDisabled={isDisabled}\n userChoices={userChoices}\n handleBlur={handleBlur}\n handleFocus={handleFocus}\n onInputChange={onInputChange}\n styles={styles}\n />\n <Space type=\"micro\" />\n </View>\n );\n })}\n </View>\n );\n};\n\ntype ItemProps = {\n part: TemplatePart;\n items: Array<Choice>;\n index: number;\n prefix: string;\n isDisabled?: boolean;\n userChoices: Array<string>;\n onInputChange: (item: Choice, value: string) => void;\n focusedSelectId: FocusedSelectId;\n handleBlur: HandleBlur;\n handleFocus: HandleFocus;\n styles: any;\n};\n\nconst Item = (props: ItemProps) => {\n const {\n part,\n index,\n prefix,\n isDisabled = false,\n focusedSelectId,\n items,\n userChoices,\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 = items.map(item => item.name);\n const id = `${prefix}-part-${index + 1}`;\n const isFocused = focusedSelectId === id;\n\n const selectedStyle = brandTheme && {\n borderColor: brandTheme.colors.primary,\n color: brandTheme.colors.primary\n };\n\n if (part.type === 'answerField' && inputNames.includes(part.value)) {\n const itemIndex = items.findIndex(_item => _item.name === part.value);\n const item = items[itemIndex];\n const value = userChoices[itemIndex];\n\n if (!item || !item.type || !item.name) {\n return null;\n }\n\n const disabledSuffix = isDisabled ? '-disabled' : '';\n const selectedSuffix = value ? '-selected' : '';\n\n const handleInputChange = (_item: Choice) => (_value: string) => onInputChange(_item, _value);\n\n if (item.type === 'text') {\n return (\n <View style={styles.spaced} testID={id}>\n <FreeText\n key={id}\n isDisabled={isDisabled}\n onChange={handleInputChange(item)}\n value={value}\n testID={`${id}-text${selectedSuffix}${disabledSuffix}`}\n questionType=\"template\"\n />\n </View>\n );\n }\n\n if (item.type === 'select') {\n return (\n <View style={styles.spaced} testID={id}>\n <Select\n isDisabled={isDisabled}\n questionType=\"template\"\n values={item.items}\n value={value}\n placeholder={translations.selectAnAnswer}\n isFocused={isFocused}\n onBlur={handleBlur}\n onFocus={handleFocus(id)}\n onChange={handleInputChange(item)}\n textStyle={styles.text}\n style={[styles.input, value && selectedStyle]}\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 items: Array<Choice>;\n userChoices: Array<string>;\n onInputChange: (item: Choice, 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 userChoices,\n items,\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<any | 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 = parseTemplateString(template);\n\n const sections: Array<Array<TemplatePart>> = parts.reduce((result, item) => {\n const section = last(result) || [];\n return result.slice(0, -1).concat([section.concat([item])]);\n }, []);\n\n return (\n <View style={{flex: 1}} testID=\"question-template\">\n {sections.map((section, index) => (\n <Section\n key={index}\n section={section}\n items={items}\n index={index}\n handleBlur={handleBlur}\n handleFocus={handleFocus}\n focusedSelectId={focusedSelectId}\n onInputChange={onInputChange}\n userChoices={userChoices}\n isDisabled={isDisabled}\n styles={styleSheet}\n />\n ))}\n </View>\n );\n};\n\nexport default QuestionTemplate;\n"],"file":"index.native.js"}
1
+ {"version":3,"sources":["../../../../../src/molecule/questions/mobile/template/index.native.tsx"],"names":["createStyleSheet","theme","section","width","flexDirection","flexWrap","justifyContent","alignItems","spaced","paddingVertical","spacing","tiny","input","padding","borderWidth","borderColor","colors","gray","lightMedium","borderRadius","radius","common","backgroundColor","white","minWidth","htmlText","color","black","fontWeight","bold","lineHeight","text","medium","fontSize","regular","textAlign","Section","choices","index","focusedSelectId","onInputChange","handleBlur","handleFocus","isDisabled","styles","prefix","map","part","id","Item","props","templateContext","brandTheme","translations","inputNames","choice","name","isFocused","selectedStyle","primary","type","includes","value","choiceIndex","findIndex","disabledSuffix","selectedSuffix","handleInputChange","_item","_value","items","selectAnAnswer","QuestionTemplate","template","styleSheet","setStylesheet","_stylesheet","parts","sections","reduce","result","item","slice","concat"],"mappings":"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","sourcesContent":["import React, {useEffect, useState} from 'react';\nimport {View} from 'react-native';\n\nimport trim from 'lodash/fp/trim';\nimport last from 'lodash/fp/last';\n\nimport Html from '../../../../atom/html/index.native';\nimport Select from '../../../../atom/select-modal/index.native';\nimport Space from '../../../../atom/space/index.native';\nimport {FocusedSelectId, HandleBlur, HandleFocus} from '../../../../types/app-review.d';\nimport type {Choice} from '../../../../types/progression-engine.d';\nimport FreeText from '../../free-text/index.native';\nimport {useTemplateContext} from '../../../../template/app-review/template-context';\nimport {Theme} from '../../../../variables/theme.native';\nimport parseTemplateString from '../../../../util/parse-template-string';\n\nconst createStyleSheet = (theme: Theme) => ({\n section: {\n // backgroundColor: '#188', // flex-debug\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 input: {\n padding: theme.spacing.tiny,\n borderWidth: 1,\n borderColor: theme.colors.gray.lightMedium,\n borderRadius: theme.radius.common,\n backgroundColor: theme.colors.white,\n minWidth: 175\n },\n htmlText: {\n padding: theme.spacing.tiny,\n color: theme.colors.black,\n fontWeight: theme.fontWeight.bold,\n lineHeight: 30\n },\n text: {\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 SectionProps = {\n isDisabled: boolean;\n section: Array<TemplatePart>;\n choices: Array<Choice>;\n index: number;\n onInputChange: (item: Choice, value: string) => void;\n focusedSelectId: FocusedSelectId;\n handleBlur: HandleBlur;\n handleFocus: HandleFocus;\n styles: any;\n};\n\nconst Section = ({\n section,\n choices,\n index,\n focusedSelectId,\n onInputChange,\n handleBlur,\n handleFocus,\n isDisabled,\n styles\n}: SectionProps) => {\n const prefix = `question-section-${index + 1}`;\n\n return (\n <View style={styles.section} key={`container-${prefix}`}>\n {section.map((part, id) => {\n return (\n <View key={`${prefix}-${id}`} style={{flexDirection: 'row'}}>\n <Item\n prefix={prefix}\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={styles}\n />\n <Space type=\"micro\" />\n </View>\n );\n })}\n </View>\n );\n};\n\ntype ItemProps = {\n part: TemplatePart;\n choices: Array<Choice>;\n index: number;\n prefix: string;\n isDisabled?: boolean;\n onInputChange: (item: Choice, value: string) => void;\n focusedSelectId: FocusedSelectId;\n handleBlur: HandleBlur;\n handleFocus: HandleFocus;\n styles: any;\n};\n\nconst Item = (props: ItemProps) => {\n const {\n part,\n index,\n prefix,\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 = `${prefix}-part-${index + 1}`;\n const isFocused = focusedSelectId === id;\n\n const selectedStyle = brandTheme && {\n borderColor: brandTheme.colors.primary,\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 = (_item: Choice) => (_value: string) => 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 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={styles.text}\n style={[styles.input, value && selectedStyle]}\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<Choice>;\n onInputChange: (item: Choice, 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<any | 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 = parseTemplateString(template);\n\n const sections: Array<Array<TemplatePart>> = parts.reduce((result, item) => {\n const section = last(result) || [];\n return result.slice(0, -1).concat([section.concat([item])]);\n }, []);\n\n return (\n <View testID=\"question-template\">\n {sections.map((section, index) => (\n <Section\n key={index}\n section={section}\n choices={choices}\n index={index}\n handleBlur={handleBlur}\n handleFocus={handleFocus}\n focusedSelectId={focusedSelectId}\n onInputChange={onInputChange}\n isDisabled={isDisabled}\n styles={styleSheet}\n />\n ))}\n </View>\n );\n};\n\nexport default QuestionTemplate;\n"],"file":"index.native.js"}
@@ -66,11 +66,13 @@ const ReviewCongrats = props => {
66
66
  }, title), /*#__PURE__*/_react.default.createElement("div", {
67
67
  ref: container,
68
68
  className: _style.default.containerCards
69
- }, /*#__PURE__*/_react.default.createElement(_reviewCardCongrats.default, _extends({}, cardCongratsStar, {
69
+ }, cardCongratsRank ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_reviewCardCongrats.default, _extends({}, cardCongratsStar, {
70
70
  className: _style.default.cardStar
71
71
  })), /*#__PURE__*/_react.default.createElement(_reviewCardCongrats.default, _extends({}, cardCongratsRank, {
72
72
  timerAnimation: 1800,
73
73
  className: _style.default.cardRank
74
+ }))) : /*#__PURE__*/_react.default.createElement(_reviewCardCongrats.default, _extends({}, cardCongratsStar, {
75
+ className: _style.default.cardStarNoRank
74
76
  }))), /*#__PURE__*/_react.default.createElement("div", {
75
77
  className: _style.default.buttonContainer
76
78
  }, /*#__PURE__*/_react.default.createElement(_buttonLink.default, _extends({}, buttonRevising, {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/organism/review-congrats/index.js"],"names":["setScroll","container","current","scrollTo","left","behavior","ReviewCongrats","props","ariaLabel","dataName","animationLottie","title","cardCongratsStar","cardCongratsRank","buttonRevising","buttonRevisingSkill","timer","setTimeout","clearTimeout","style","mainContainer","lottie","ie11Backup","containerCongrats","containerCards","cardStar","cardRank","buttonContainer","buttonRevise","propTypes"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEO,MAAMA,SAAS,GAAGC,SAAS,IAAI,MAAM;AAC1CA,EAAAA,SAAS,CAACC,OAAV,EAAmBC,QAAnB,IACEF,SAAS,CAACC,OAAV,CAAkBC,QAAlB,CAA2B;AACzBC,IAAAA,IAAI,EAAE,IADmB;AAEzBC,IAAAA,QAAQ,EAAE;AAFe,GAA3B,CADF;AAKD,CANM;;;;AAQP,MAAMC,cAAc,GAAGC,KAAK,IAAI;AAC9B,QAAM;AACJ,kBAAcC,SADV;AAEJ,iBAAaC,QAFT;AAGJC,IAAAA,eAHI;AAIJC,IAAAA,KAJI;AAKJC,IAAAA,gBALI;AAMJC,IAAAA,gBANI;AAOJC,IAAAA,cAPI;AAQJC,IAAAA;AARI,MASFR,KATJ;AAWA,QAAMN,SAAS,GAAG,mBAAO,IAAP,CAAlB;AAEA,wBAAU,MAAM;AACd,UAAMe,KAAK,GAAGC,UAAU,CAACjB,SAAS,CAACC,SAAD,CAAV,EAAuB,IAAvB,CAAxB;AACA,WAAO,MAAMe,KAAK,IAAIE,YAAY,CAACF,KAAD,CAAlC;AACD,GAHD,EAGG,EAHH;AAKA,sBACE;AAAK,IAAA,SAAS,EAAEG,eAAMC,aAAtB;AAAqC,kBAAYZ,SAAjD;AAA4D,iBAAWC;AAAvE,kBACE,6BAAC,sBAAD,eACMC,eADN;AAEE,IAAA,IAAI,EAAE,KAFR;AAGE,IAAA,gBAAgB,EAAE,MAHpB;AAIE,IAAA,QAAQ,MAJV;AAKE,iBAAU,gBALZ;AAME,IAAA,SAAS,EAAES,eAAME,MANnB;AAOE,IAAA,oBAAoB,EAAEF,eAAMG;AAP9B,KADF,eAUE;AAAK,IAAA,SAAS,EAAEH,eAAMI;AAAtB,kBACE;AAAK,IAAA,SAAS,EAAEJ,eAAMR;AAAtB,KAA8BA,KAA9B,CADF,eAEE;AAAK,IAAA,GAAG,EAAEV,SAAV;AAAqB,IAAA,SAAS,EAAEkB,eAAMK;AAAtC,kBACE,6BAAC,2BAAD,eAAgCZ,gBAAhC;AAAkD,IAAA,SAAS,EAAEO,eAAMM;AAAnE,KADF,eAEE,6BAAC,2BAAD,eACMZ,gBADN;AAEE,IAAA,cAAc,EAAE,IAFlB;AAGE,IAAA,SAAS,EAAEM,eAAMO;AAHnB,KAFF,CAFF,eAUE;AAAK,IAAA,SAAS,EAAEP,eAAMQ;AAAtB,kBACE,6BAAC,mBAAD,eACMb,cADN;AAEE,IAAA,SAAS,EAAEK,eAAMS,YAFnB;AAGE,iBAAU;AAHZ,KADF,eAME,6BAAC,mBAAD,eAAgBb,mBAAhB;AAAqC,IAAA,SAAS,EAAEI,eAAMS;AAAtD,KANF,CAVF,CAVF,CADF;AAgCD,CAnDD;;AAqDAtB,cAAc,CAACuB,SAAf,2CAA2BA,kBAA3B;eAEevB,c","sourcesContent":["import React, {useEffect, useRef} from 'react';\nimport AtomLottieWrapper from '../../atom/lottie-wrapper';\nimport ButtonLink from '../../atom/button-link';\nimport MoleculeReviewCardCongrats from '../../molecule/review-card-congrats';\nimport style from './style.css';\nimport propTypes from './prop-types';\n\nexport const setScroll = container => () => {\n container.current?.scrollTo &&\n container.current.scrollTo({\n left: 1000,\n behavior: 'smooth'\n });\n};\n\nconst ReviewCongrats = props => {\n const {\n 'aria-label': ariaLabel,\n 'data-name': dataName,\n animationLottie,\n title,\n cardCongratsStar,\n cardCongratsRank,\n buttonRevising,\n buttonRevisingSkill\n } = props;\n\n const container = useRef(null);\n\n useEffect(() => {\n const timer = setTimeout(setScroll(container), 2000);\n return () => timer && clearTimeout(timer);\n }, []);\n\n return (\n <div className={style.mainContainer} aria-label={ariaLabel} data-name={dataName}>\n <AtomLottieWrapper\n {...animationLottie}\n loop={false}\n animationControl={'play'}\n autoplay\n data-name=\"lottie-wrapper\"\n className={style.lottie}\n backupImageClassName={style.ie11Backup}\n />\n <div className={style.containerCongrats}>\n <div className={style.title}>{title}</div>\n <div ref={container} className={style.containerCards}>\n <MoleculeReviewCardCongrats {...cardCongratsStar} className={style.cardStar} />\n <MoleculeReviewCardCongrats\n {...cardCongratsRank}\n timerAnimation={1800}\n className={style.cardRank}\n />\n </div>\n <div className={style.buttonContainer}>\n <ButtonLink\n {...buttonRevising}\n className={style.buttonRevise}\n data-name=\"revise-skill-link\"\n />\n <ButtonLink {...buttonRevisingSkill} className={style.buttonRevise} />\n </div>\n </div>\n </div>\n );\n};\n\nReviewCongrats.propTypes = propTypes;\n\nexport default ReviewCongrats;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/organism/review-congrats/index.js"],"names":["setScroll","container","current","scrollTo","left","behavior","ReviewCongrats","props","ariaLabel","dataName","animationLottie","title","cardCongratsStar","cardCongratsRank","buttonRevising","buttonRevisingSkill","timer","setTimeout","clearTimeout","style","mainContainer","lottie","ie11Backup","containerCongrats","containerCards","cardStar","cardRank","cardStarNoRank","buttonContainer","buttonRevise","propTypes"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEO,MAAMA,SAAS,GAAGC,SAAS,IAAI,MAAM;AAC1CA,EAAAA,SAAS,CAACC,OAAV,EAAmBC,QAAnB,IACEF,SAAS,CAACC,OAAV,CAAkBC,QAAlB,CAA2B;AACzBC,IAAAA,IAAI,EAAE,IADmB;AAEzBC,IAAAA,QAAQ,EAAE;AAFe,GAA3B,CADF;AAKD,CANM;;;;AAQP,MAAMC,cAAc,GAAGC,KAAK,IAAI;AAC9B,QAAM;AACJ,kBAAcC,SADV;AAEJ,iBAAaC,QAFT;AAGJC,IAAAA,eAHI;AAIJC,IAAAA,KAJI;AAKJC,IAAAA,gBALI;AAMJC,IAAAA,gBANI;AAOJC,IAAAA,cAPI;AAQJC,IAAAA;AARI,MASFR,KATJ;AAWA,QAAMN,SAAS,GAAG,mBAAO,IAAP,CAAlB;AAEA,wBAAU,MAAM;AACd,UAAMe,KAAK,GAAGC,UAAU,CAACjB,SAAS,CAACC,SAAD,CAAV,EAAuB,IAAvB,CAAxB;AACA,WAAO,MAAMe,KAAK,IAAIE,YAAY,CAACF,KAAD,CAAlC;AACD,GAHD,EAGG,EAHH;AAKA,sBACE;AAAK,IAAA,SAAS,EAAEG,eAAMC,aAAtB;AAAqC,kBAAYZ,SAAjD;AAA4D,iBAAWC;AAAvE,kBACE,6BAAC,sBAAD,eACMC,eADN;AAEE,IAAA,IAAI,EAAE,KAFR;AAGE,IAAA,gBAAgB,EAAE,MAHpB;AAIE,IAAA,QAAQ,MAJV;AAKE,iBAAU,gBALZ;AAME,IAAA,SAAS,EAAES,eAAME,MANnB;AAOE,IAAA,oBAAoB,EAAEF,eAAMG;AAP9B,KADF,eAUE;AAAK,IAAA,SAAS,EAAEH,eAAMI;AAAtB,kBACE;AAAK,IAAA,SAAS,EAAEJ,eAAMR;AAAtB,KAA8BA,KAA9B,CADF,eAEE;AAAK,IAAA,GAAG,EAAEV,SAAV;AAAqB,IAAA,SAAS,EAAEkB,eAAMK;AAAtC,KACGX,gBAAgB,gBACf,yEACE,6BAAC,2BAAD,eAAgCD,gBAAhC;AAAkD,IAAA,SAAS,EAAEO,eAAMM;AAAnE,KADF,eAEE,6BAAC,2BAAD,eACMZ,gBADN;AAEE,IAAA,cAAc,EAAE,IAFlB;AAGE,IAAA,SAAS,EAAEM,eAAMO;AAHnB,KAFF,CADe,gBAUf,6BAAC,2BAAD,eAAgCd,gBAAhC;AAAkD,IAAA,SAAS,EAAEO,eAAMQ;AAAnE,KAXJ,CAFF,eAgBE;AAAK,IAAA,SAAS,EAAER,eAAMS;AAAtB,kBACE,6BAAC,mBAAD,eACMd,cADN;AAEE,IAAA,SAAS,EAAEK,eAAMU,YAFnB;AAGE,iBAAU;AAHZ,KADF,eAME,6BAAC,mBAAD,eAAgBd,mBAAhB;AAAqC,IAAA,SAAS,EAAEI,eAAMU;AAAtD,KANF,CAhBF,CAVF,CADF;AAsCD,CAzDD;;AA2DAvB,cAAc,CAACwB,SAAf,2CAA2BA,kBAA3B;eAEexB,c","sourcesContent":["import React, {useEffect, useRef} from 'react';\nimport AtomLottieWrapper from '../../atom/lottie-wrapper';\nimport ButtonLink from '../../atom/button-link';\nimport MoleculeReviewCardCongrats from '../../molecule/review-card-congrats';\nimport style from './style.css';\nimport propTypes from './prop-types';\n\nexport const setScroll = container => () => {\n container.current?.scrollTo &&\n container.current.scrollTo({\n left: 1000,\n behavior: 'smooth'\n });\n};\n\nconst ReviewCongrats = props => {\n const {\n 'aria-label': ariaLabel,\n 'data-name': dataName,\n animationLottie,\n title,\n cardCongratsStar,\n cardCongratsRank,\n buttonRevising,\n buttonRevisingSkill\n } = props;\n\n const container = useRef(null);\n\n useEffect(() => {\n const timer = setTimeout(setScroll(container), 2000);\n return () => timer && clearTimeout(timer);\n }, []);\n\n return (\n <div className={style.mainContainer} aria-label={ariaLabel} data-name={dataName}>\n <AtomLottieWrapper\n {...animationLottie}\n loop={false}\n animationControl={'play'}\n autoplay\n data-name=\"lottie-wrapper\"\n className={style.lottie}\n backupImageClassName={style.ie11Backup}\n />\n <div className={style.containerCongrats}>\n <div className={style.title}>{title}</div>\n <div ref={container} className={style.containerCards}>\n {cardCongratsRank ? (\n <>\n <MoleculeReviewCardCongrats {...cardCongratsStar} className={style.cardStar} />\n <MoleculeReviewCardCongrats\n {...cardCongratsRank}\n timerAnimation={1800}\n className={style.cardRank}\n />\n </>\n ) : (\n <MoleculeReviewCardCongrats {...cardCongratsStar} className={style.cardStarNoRank} />\n )}\n </div>\n <div className={style.buttonContainer}>\n <ButtonLink\n {...buttonRevising}\n className={style.buttonRevise}\n data-name=\"revise-skill-link\"\n />\n <ButtonLink {...buttonRevisingSkill} className={style.buttonRevise} />\n </div>\n </div>\n </div>\n );\n};\n\nReviewCongrats.propTypes = propTypes;\n\nexport default ReviewCongrats;\n"],"file":"index.js"}
@@ -129,6 +129,11 @@
129
129
  opacity: 0;
130
130
  }
131
131
 
132
+ .cardStarNoRank {
133
+ animation: translateYCardStar 0.5s ease-out 0.8s forwards;
134
+ opacity: 0;
135
+ }
136
+
132
137
  .cardRank {
133
138
  animation: translateCardRank 0.2s ease-in-out 2s forwards;
134
139
  position: absolute;
@@ -129,13 +129,6 @@ const QuestionContainer = props => {
129
129
  questionOrigin
130
130
  } = props;
131
131
  if (!answerUI || !questionText) return null;
132
- const answerProps = (0, _get.default)(['model', 'choices'], answerUI) ?
133
- /* istanbul ignore next */
134
- _extends(_extends({}, answerUI), {}, {
135
- model: _extends(_extends({}, answerUI.model), {}, {
136
- answers: answerUI.model.choices
137
- })
138
- }) : answerUI;
139
132
  return /*#__PURE__*/_react.default.createElement("div", {
140
133
  key: "content-container",
141
134
  className: _style.default.slideContentContainer
@@ -155,7 +148,7 @@ const QuestionContainer = props => {
155
148
  }, (0, _get.default)('help', answerUI)), /*#__PURE__*/_react.default.createElement("div", {
156
149
  key: "answer-container",
157
150
  className: _style.default.answerContainer
158
- }, /*#__PURE__*/_react.default.createElement(_answer.default, _extends({}, answerProps, {
151
+ }, /*#__PURE__*/_react.default.createElement(_answer.default, _extends({}, answerUI, {
159
152
  key: "answer"
160
153
  }))));
161
154
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/organism/review-slide/index.js"],"names":["CorrectionPopin","correctionPopinProps","slideIndex","showCorrectionPopin","animateCorrectionPopin","klf","information","label","message","next","_correctionPopinProps","onClick","console","log","type","resultLabel","style","correctionPopinWrapper","popinAnimation","propTypes","PropTypes","string","bool","ValidateButton","validateButton","primarySkinColor","disabled","validateButtonProps","className","customStyle","backgroundColor","validateButtonWrapper","QuestionContainer","props","answerUI","questionText","questionOrigin","answerProps","model","answers","choices","slideContentContainer","question","__html","help","answerContainer","shape","slide","ReviewSlide","skin","loading","loadingAriaLabel","parentContentTitle","loader"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,MAAMA,eAAe,GAAG,CAAC;AACvBC,EAAAA,oBADuB;AAEvBC,EAAAA,UAFuB;AAGvBC,EAAAA,mBAHuB;AAIvBC,EAAAA;AAJuB,CAAD,KAKlB;AACJ,MAAI,CAACD,mBAAL,EAA0B,OAAO,IAAP;AAE1B,QAAME,GAAG,GAAG,oBAAM,EAAN,EAAU,KAAV,EAAiBJ,oBAAjB,CAAZ;AACA,QAAMK,WAAW,GAAG,oBAAM;AAACC,IAAAA,KAAK,EAAE,EAAR;AAAYC,IAAAA,OAAO,EAAE;AAArB,GAAN,EAAgC,aAAhC,EAA+CP,oBAA/C,CAApB;AACA,QAAMQ,IAAI,GAAG,kBAAI,MAAJ,EAAYR,oBAAZ,CAAb;AAEA,QAAMS,qBAAqB,GAAG;AAC5BD,IAAAA,IAAI,EAAE;AACJE,MAAAA,OAAO,EAAE,MAAM;AACb;AACAC,QAAAA,OAAO,CAACC,GAAR,CAAY,YAAZ;AACD,OAJG;AAKJN,MAAAA,KAAK,EAAEE,IAAI,IAAIA,IAAI,CAACF,KALhB;AAMJ,mBAAc,wBAAuBL,UAAW,EAN5C;AAOJ,oBAAcO,IAAI,IAAIA,IAAI,CAAC,YAAD;AAPtB,KADsB;AAU5BJ,IAAAA,GAV4B;AAW5BC,IAAAA,WAX4B;AAY5BQ,IAAAA,IAAI,EAAEb,oBAAoB,CAACa,IAZC;AAa5BC,IAAAA,WAAW,EAAEd,oBAAoB,CAACc;AAbN,GAA9B;AAgBA,sBACE;AACE,IAAA,SAAS,EAAE,yBACTC,eAAMC,sBADG,EAETb,sBAAsB,GAAGY,eAAME,cAAT,GAA0B,IAFvC;AADb,kBAME,6BAAC,8BAAD,EAA2BR,qBAA3B,CANF,CADF;AAUD,CAtCD;;AAwCAV,eAAe,CAACmB,SAAhB,2CAA4B;AAC1BjB,EAAAA,UAAU,EAAEkB,mBAAUC,MADI;AAE1BlB,EAAAA,mBAAmB,EAAEiB,mBAAUE,IAFL;AAG1BlB,EAAAA,sBAAsB,EAAEgB,mBAAUE,IAHR;AAI1BrB,EAAAA,oBAAoB,EAAEkB,oBAAUlB;AAJN,CAA5B;;AAOA,MAAMsB,cAAc,GAAG,CAAC;AAACrB,EAAAA,UAAD;AAAasB,EAAAA,cAAb;AAA6BC,EAAAA;AAA7B,CAAD,KAAoD;AACzE,QAAM;AAAClB,IAAAA,KAAD;AAAQI,IAAAA,OAAR;AAAiBe,IAAAA;AAAjB,MAA6BF,cAAnC;AACA,QAAMG,mBAAmB,GAAG;AAC1Bb,IAAAA,IAAI,EAAE,SADoB;AAE1BP,IAAAA,KAF0B;AAG1B,kBAAcA,KAHY;AAI1B,iBAAc,yBAAwBL,UAAW,EAJvB;AAK1BS,IAAAA,OAL0B;AAM1Be,IAAAA,QAN0B;AAO1BE,IAAAA,SAAS,EAAEZ,eAAMQ,cAPS;AAQ1BK,IAAAA,WAAW,EAAE;AACXC,MAAAA,eAAe,EAAEL;AADN;AAGb;;;;;;;;;;;;;AAX0B,GAA5B;AA0BA,sBACE;AAAK,IAAA,GAAG,EAAC,gBAAT;AAA0B,IAAA,SAAS,EAAET,eAAMe;AAA3C,kBACE,6BAAC,mBAAD,EAAgBJ,mBAAhB,CADF,CADF;AAKD,CAjCD;;AAmCAJ,cAAc,CAACJ,SAAf,2CAA2B;AACzBjB,EAAAA,UAAU,EAAEkB,mBAAUC,MADG;AAEzBG,EAAAA,cAAc,EAAEL,oBAAUK,cAFD;AAGzBC,EAAAA,gBAAgB,EAAEL,mBAAUC;AAHH,CAA3B;;AAMA,MAAMW,iBAAiB,GAAGC,KAAK,IAAI;AACjC,QAAM;AAACC,IAAAA,QAAD;AAAWC,IAAAA,YAAX;AAAyBC,IAAAA;AAAzB,MAA2CH,KAAjD;AACA,MAAI,CAACC,QAAD,IAAa,CAACC,YAAlB,EAAgC,OAAO,IAAP;AAEhC,QAAME,WAAW,GAAG,kBAAI,CAAC,OAAD,EAAU,SAAV,CAAJ,EAA0BH,QAA1B;AAChB;AADgB,wBAEXA,QAFW;AAGdI,IAAAA,KAAK,wBACAJ,QAAQ,CAACI,KADT;AAEHC,MAAAA,OAAO,EAAEL,QAAQ,CAACI,KAAT,CAAeE;AAFrB;AAHS,OAQhBN,QARJ;AAUA,sBACE;AAAK,IAAA,GAAG,EAAC,mBAAT;AAA6B,IAAA,SAAS,EAAElB,eAAMyB;AAA9C,kBACE;AAAK,IAAA,GAAG,EAAC,aAAT;AAAuB,IAAA,SAAS,EAAEzB,eAAMoB;AAAxC,KACGA,cADH,CADF,eAIE;AACE,IAAA,GAAG,EAAC,OADN;AAEE,IAAA,SAAS,EAAEpB,eAAM0B,QAFnB,CAGE;AAHF;AAIE,IAAA,uBAAuB,EAAE;AAACC,MAAAA,MAAM,EAAER;AAAT;AAJ3B,IAJF,eAUE;AAAK,IAAA,GAAG,EAAC,MAAT;AAAgB,IAAA,SAAS,EAAEnB,eAAM4B;AAAjC,KACG,kBAAI,MAAJ,EAAYV,QAAZ,CADH,CAVF,eAaE;AAAK,IAAA,GAAG,EAAC,kBAAT;AAA4B,IAAA,SAAS,EAAElB,eAAM6B;AAA7C,kBACE,6BAAC,eAAD,eAAYR,WAAZ;AAAyB,IAAA,GAAG,EAAC;AAA7B,KADF,CAbF,CADF;AAmBD,CAjCD;;AAmCAL,iBAAiB,CAACb,SAAlB,2CAA8B;AAC5Be,EAAAA,QAAQ,EAAEd,mBAAU0B,KAAV,CAAgB3B,oBAAU4B,KAAV,CAAgBb,QAAhC,CADkB;AAE5BC,EAAAA,YAAY,EAAEf,mBAAUC,MAFI;AAG5Be,EAAAA,cAAc,EAAEhB,mBAAUC;AAHE,CAA9B;;AAMA,MAAM2B,WAAW,GAAGf,KAAK,IAAI;AAC3B,QAAM;AAACc,IAAAA,KAAD;AAAQvB,IAAAA,cAAR;AAAwBvB,IAAAA,oBAAxB;AAA8CC,IAAAA,UAAU,GAAG;AAA3D,MAAkE+B,KAAxE;AAEA,QAAMgB,IAAI,GAAG,mCAAb;AACA,QAAMxB,gBAAgB,GAAG,oBAAQ,MAAM,oBAAM,SAAN,EAAiB,gBAAjB,EAAmCwB,IAAnC,CAAd,EAAwD,CAACA,IAAD,CAAxD,CAAzB;AACA,QAAM;AACJC,IAAAA,OADI;AAEJC,IAAAA,gBAFI;AAGJC,IAAAA,kBAHI;AAIJjB,IAAAA,YAJI;AAKJD,IAAAA,QALI;AAMJ/B,IAAAA,mBANI;AAOJC,IAAAA;AAPI,MAQF2C,KARJ;AAUA,sBACE;AAAK,iBAAY,iBAAjB;AAAmC,IAAA,SAAS,EAAE/B,eAAM+B;AAApD,KACGG,OAAO,gBACN,6BAAC,eAAD;AAAQ,IAAA,SAAS,EAAElC,eAAMqC,MAAzB;AAAiC,IAAA,KAAK,EAAC,SAAvC;AAAiD,kBAAYF;AAA7D,IADM,GAGN,cACE,6BAAC,iBAAD;AACE,IAAA,cAAc,EAAEC,kBADlB;AAEE,IAAA,YAAY,EAAEjB,YAFhB;AAGE,IAAA,QAAQ,EAAED,QAHZ;AAIE,IAAA,GAAG,EAAC;AAJN,IADF,eAOE,6BAAC,cAAD;AACE,IAAA,UAAU,EAAEhC,UADd;AAEE,IAAA,cAAc,EAAEsB,cAFlB;AAGE,IAAA,gBAAgB,EAAEC,gBAHpB;AAIE,IAAA,GAAG,EAAC;AAJN,IAPF,eAaE,6BAAC,eAAD;AACE,IAAA,oBAAoB,EAAExB,oBADxB;AAEE,IAAA,UAAU,EAAEC,UAFd;AAGE,IAAA,mBAAmB,EAAEC,mBAHvB;AAIE,IAAA,sBAAsB,EAAEC,sBAJ1B;AAKE,IAAA,GAAG,EAAC;AALN,IAbF,CAJJ,CADF;AA6BD,CA5CD;;AA8CA4C,WAAW,CAAC7B,SAAZ,2CAAwBA,mBAAxB;eAEe6B,W","sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport Answer from '../../molecule/answer';\nimport ButtonLink from '../../atom/button-link';\nimport Loader from '../../atom/loader';\nimport ReviewCorrectionPopin from '../../molecule/review-correction-popin';\nimport {GetSkinFromContext} from '../../atom/provider';\nimport propTypes from './prop-types';\nimport style from './style.css';\n\nconst CorrectionPopin = ({\n correctionPopinProps,\n slideIndex,\n showCorrectionPopin,\n animateCorrectionPopin\n}) => {\n if (!showCorrectionPopin) return null;\n\n const klf = getOr({}, 'klf', correctionPopinProps);\n const information = getOr({label: '', message: ''}, 'information', correctionPopinProps);\n const next = get('next', correctionPopinProps);\n\n const _correctionPopinProps = {\n next: {\n onClick: () => {\n // eslint-disable-next-line no-console\n console.log('Next Slide');\n },\n label: next && next.label,\n 'data-name': `next-question-button-${slideIndex}`,\n 'aria-label': next && next['aria-label']\n },\n klf,\n information,\n type: correctionPopinProps.type,\n resultLabel: correctionPopinProps.resultLabel\n };\n\n return (\n <div\n className={classnames(\n style.correctionPopinWrapper,\n animateCorrectionPopin ? style.popinAnimation : null\n )}\n >\n <ReviewCorrectionPopin {..._correctionPopinProps} />\n </div>\n );\n};\n\nCorrectionPopin.propTypes = {\n slideIndex: PropTypes.string,\n showCorrectionPopin: PropTypes.bool,\n animateCorrectionPopin: PropTypes.bool,\n correctionPopinProps: propTypes.correctionPopinProps\n};\n\nconst ValidateButton = ({slideIndex, validateButton, primarySkinColor}) => {\n const {label, onClick, disabled} = validateButton;\n const validateButtonProps = {\n type: 'primary',\n label,\n 'aria-label': label,\n 'data-name': `slide-validate-button-${slideIndex}`,\n onClick,\n disabled,\n className: style.validateButton,\n customStyle: {\n backgroundColor: primarySkinColor\n }\n /*\n slide validation action, this will trigger the correction popin\n (with the useEffect that fires the dispatchers, if there is a nextContent content,\n it will be loaded here) but will not trigger any animations unless the endReview\n signal is received (all slide will disappear, also fired in a useEffect),\n\n if it is the last slide and the content needs to be different, then that update will\n be handled on the next slide logic but the content will be carried from here.\n onClick: async () => {\n // endReview based on nextContent ref exit node values: 'successExitNode' : 'failExitNode'\n await validateSlide();\n },\n */\n };\n\n return (\n <div key=\"button-wrapper\" className={style.validateButtonWrapper}>\n <ButtonLink {...validateButtonProps} />\n </div>\n );\n};\n\nValidateButton.propTypes = {\n slideIndex: PropTypes.string,\n validateButton: propTypes.validateButton,\n primarySkinColor: PropTypes.string\n};\n\nconst QuestionContainer = props => {\n const {answerUI, questionText, questionOrigin} = props;\n if (!answerUI || !questionText) return null;\n\n const answerProps = get(['model', 'choices'], answerUI)\n ? /* istanbul ignore next */ {\n ...answerUI,\n model: {\n ...answerUI.model,\n answers: answerUI.model.choices\n }\n }\n : answerUI;\n\n return (\n <div key=\"content-container\" className={style.slideContentContainer}>\n <div key=\"from-course\" className={style.questionOrigin}>\n {questionOrigin}\n </div>\n <div\n key=\"title\"\n className={style.question}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: questionText}}\n />\n <div key=\"help\" className={style.help}>\n {get('help', answerUI)}\n </div>\n <div key=\"answer-container\" className={style.answerContainer}>\n <Answer {...answerProps} key=\"answer\" />\n </div>\n </div>\n );\n};\n\nQuestionContainer.propTypes = {\n answerUI: PropTypes.shape(propTypes.slide.answerUI),\n questionText: PropTypes.string,\n questionOrigin: PropTypes.string\n};\n\nconst ReviewSlide = props => {\n const {slide, validateButton, correctionPopinProps, slideIndex = '0'} = props;\n\n const skin = GetSkinFromContext();\n const primarySkinColor = useMemo(() => getOr('#00B0FF', 'common.primary', skin), [skin]);\n const {\n loading,\n loadingAriaLabel,\n parentContentTitle,\n questionText,\n answerUI,\n showCorrectionPopin,\n animateCorrectionPopin\n } = slide;\n\n return (\n <div data-name={`slide-container`} className={style.slide}>\n {loading ? (\n <Loader className={style.loader} theme=\"default\" aria-label={loadingAriaLabel} />\n ) : (\n [\n <QuestionContainer\n questionOrigin={parentContentTitle}\n questionText={questionText}\n answerUI={answerUI}\n key=\"question-container\"\n />,\n <ValidateButton\n slideIndex={slideIndex}\n validateButton={validateButton}\n primarySkinColor={primarySkinColor}\n key=\"validate-button\"\n />,\n <CorrectionPopin\n correctionPopinProps={correctionPopinProps}\n slideIndex={slideIndex}\n showCorrectionPopin={showCorrectionPopin}\n animateCorrectionPopin={animateCorrectionPopin}\n key=\"correction-popin\"\n />\n ]\n )}\n </div>\n );\n};\n\nReviewSlide.propTypes = propTypes;\n\nexport default ReviewSlide;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/organism/review-slide/index.js"],"names":["CorrectionPopin","correctionPopinProps","slideIndex","showCorrectionPopin","animateCorrectionPopin","klf","information","label","message","next","_correctionPopinProps","onClick","console","log","type","resultLabel","style","correctionPopinWrapper","popinAnimation","propTypes","PropTypes","string","bool","ValidateButton","validateButton","primarySkinColor","disabled","validateButtonProps","className","customStyle","backgroundColor","validateButtonWrapper","QuestionContainer","props","answerUI","questionText","questionOrigin","slideContentContainer","question","__html","help","answerContainer","shape","slide","ReviewSlide","skin","loading","loadingAriaLabel","parentContentTitle","loader"],"mappings":"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","sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport Answer from '../../molecule/answer';\nimport ButtonLink from '../../atom/button-link';\nimport Loader from '../../atom/loader';\nimport ReviewCorrectionPopin from '../../molecule/review-correction-popin';\nimport {GetSkinFromContext} from '../../atom/provider';\nimport propTypes from './prop-types';\nimport style from './style.css';\n\nconst CorrectionPopin = ({\n correctionPopinProps,\n slideIndex,\n showCorrectionPopin,\n animateCorrectionPopin\n}) => {\n if (!showCorrectionPopin) return null;\n\n const klf = getOr({}, 'klf', correctionPopinProps);\n const information = getOr({label: '', message: ''}, 'information', correctionPopinProps);\n const next = get('next', correctionPopinProps);\n\n const _correctionPopinProps = {\n next: {\n onClick: () => {\n // eslint-disable-next-line no-console\n console.log('Next Slide');\n },\n label: next && next.label,\n 'data-name': `next-question-button-${slideIndex}`,\n 'aria-label': next && next['aria-label']\n },\n klf,\n information,\n type: correctionPopinProps.type,\n resultLabel: correctionPopinProps.resultLabel\n };\n\n return (\n <div\n className={classnames(\n style.correctionPopinWrapper,\n animateCorrectionPopin ? style.popinAnimation : null\n )}\n >\n <ReviewCorrectionPopin {..._correctionPopinProps} />\n </div>\n );\n};\n\nCorrectionPopin.propTypes = {\n slideIndex: PropTypes.string,\n showCorrectionPopin: PropTypes.bool,\n animateCorrectionPopin: PropTypes.bool,\n correctionPopinProps: propTypes.correctionPopinProps\n};\n\nconst ValidateButton = ({slideIndex, validateButton, primarySkinColor}) => {\n const {label, onClick, disabled} = validateButton;\n const validateButtonProps = {\n type: 'primary',\n label,\n 'aria-label': label,\n 'data-name': `slide-validate-button-${slideIndex}`,\n onClick,\n disabled,\n className: style.validateButton,\n customStyle: {\n backgroundColor: primarySkinColor\n }\n /*\n slide validation action, this will trigger the correction popin\n (with the useEffect that fires the dispatchers, if there is a nextContent content,\n it will be loaded here) but will not trigger any animations unless the endReview\n signal is received (all slide will disappear, also fired in a useEffect),\n\n if it is the last slide and the content needs to be different, then that update will\n be handled on the next slide logic but the content will be carried from here.\n onClick: async () => {\n // endReview based on nextContent ref exit node values: 'successExitNode' : 'failExitNode'\n await validateSlide();\n },\n */\n };\n\n return (\n <div key=\"button-wrapper\" className={style.validateButtonWrapper}>\n <ButtonLink {...validateButtonProps} />\n </div>\n );\n};\n\nValidateButton.propTypes = {\n slideIndex: PropTypes.string,\n validateButton: propTypes.validateButton,\n primarySkinColor: PropTypes.string\n};\n\nconst QuestionContainer = props => {\n const {answerUI, questionText, questionOrigin} = props;\n if (!answerUI || !questionText) return null;\n\n return (\n <div key=\"content-container\" className={style.slideContentContainer}>\n <div key=\"from-course\" className={style.questionOrigin}>\n {questionOrigin}\n </div>\n <div\n key=\"title\"\n className={style.question}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: questionText}}\n />\n <div key=\"help\" className={style.help}>\n {get('help', answerUI)}\n </div>\n <div key=\"answer-container\" className={style.answerContainer}>\n <Answer {...answerUI} key=\"answer\" />\n </div>\n </div>\n );\n};\n\nQuestionContainer.propTypes = {\n answerUI: PropTypes.shape(propTypes.slide.answerUI),\n questionText: PropTypes.string,\n questionOrigin: PropTypes.string\n};\n\nconst ReviewSlide = props => {\n const {slide, validateButton, correctionPopinProps, slideIndex = '0'} = props;\n\n const skin = GetSkinFromContext();\n const primarySkinColor = useMemo(() => getOr('#00B0FF', 'common.primary', skin), [skin]);\n const {\n loading,\n loadingAriaLabel,\n parentContentTitle,\n questionText,\n answerUI,\n showCorrectionPopin,\n animateCorrectionPopin\n } = slide;\n\n return (\n <div data-name={`slide-container`} className={style.slide}>\n {loading ? (\n <Loader className={style.loader} theme=\"default\" aria-label={loadingAriaLabel} />\n ) : (\n [\n <QuestionContainer\n questionOrigin={parentContentTitle}\n questionText={questionText}\n answerUI={answerUI}\n key=\"question-container\"\n />,\n <ValidateButton\n slideIndex={slideIndex}\n validateButton={validateButton}\n primarySkinColor={primarySkinColor}\n key=\"validate-button\"\n />,\n <CorrectionPopin\n correctionPopinProps={correctionPopinProps}\n slideIndex={slideIndex}\n showCorrectionPopin={showCorrectionPopin}\n animateCorrectionPopin={animateCorrectionPopin}\n key=\"correction-popin\"\n />\n ]\n )}\n </div>\n );\n};\n\nReviewSlide.propTypes = propTypes;\n\nexport default ReviewSlide;\n"],"file":"index.js"}
@@ -0,0 +1,232 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.default = void 0;
5
+
6
+ var _react = _interopRequireWildcard(require("react"));
7
+
8
+ var _reactNative = require("react-native");
9
+
10
+ var _get = _interopRequireDefault(require("lodash/fp/get"));
11
+
12
+ var _getOr = _interopRequireDefault(require("lodash/fp/getOr"));
13
+
14
+ var _index = _interopRequireDefault(require("../../atom/text/index.native"));
15
+
16
+ var _index2 = _interopRequireDefault(require("../../molecule/answer/index.native"));
17
+
18
+ var _templateContext = require("../../template/app-review/template-context");
19
+
20
+ var _index3 = _interopRequireDefault(require("../../hoc/touchable/index.native"));
21
+
22
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
+
24
+ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
25
+
26
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
+
28
+ // import Loader from '../../atom/loader';
29
+ // import ReviewCorrectionPopin from '../../molecule/review-correction-popin';
30
+ const CorrectionPopin = ({
31
+ correctionPopinProps,
32
+ slideIndex,
33
+ showCorrectionPopin,
34
+ animateCorrectionPopin
35
+ }) => {
36
+ if (!showCorrectionPopin) return null;
37
+ const klf = (0, _getOr.default)({}, 'klf', correctionPopinProps);
38
+ const information = (0, _getOr.default)({
39
+ label: '',
40
+ message: ''
41
+ }, 'information', correctionPopinProps);
42
+ const next = (0, _get.default)('next', correctionPopinProps);
43
+ const _correctionPopinProps = {
44
+ next: {
45
+ onClick: () => {
46
+ // eslint-disable-next-line no-console
47
+ console.log('Next Slide');
48
+ },
49
+ label: next && next.label,
50
+ 'data-name': `next-question-button-${slideIndex}`,
51
+ 'aria-label': next && next['aria-label']
52
+ },
53
+ klf,
54
+ information,
55
+ type: correctionPopinProps.type,
56
+ resultLabel: correctionPopinProps.resultLabel
57
+ };
58
+ return /*#__PURE__*/_react.default.createElement(_index.default, null, "ReviewCorrectionPopin") // <ReviewCorrectionPopin {..._correctionPopinProps} />
59
+ ;
60
+ }; // const ValidateButton = ({slideIndex, validateButton, primarySkinColor}) => {
61
+ // const {label, onClick, disabled} = validateButton;
62
+ // const validateButtonProps = {
63
+ // type: 'primary',
64
+ // label,
65
+ // 'aria-label': label,
66
+ // 'data-name': `slide-validate-button-${slideIndex}`,
67
+ // onClick,
68
+ // disabled,
69
+ // customStyle: {
70
+ // backgroundColor: primarySkinColor
71
+ // }
72
+ // };
73
+ // return <Button title="validate todo" />;
74
+ // };
75
+
76
+
77
+ const createQuestionStyle = (theme, brandTheme) => _reactNative.StyleSheet.create({
78
+ questionHeading: {
79
+ // backgroundColor: '#f00', // flex-debug
80
+ justifyContent: 'space-between'
81
+ },
82
+ questionOrigin: {
83
+ fontSize: 12,
84
+ lineHeight: 16,
85
+ color: theme.colors.text.primary,
86
+ marginBottom: theme.spacing.tiny,
87
+ marginTop: theme.spacing.small,
88
+ textAlign: 'center'
89
+ },
90
+ questionText: {
91
+ fontSize: 16,
92
+ lineHeight: 22,
93
+ fontWeight: '700',
94
+ color: theme.colors.text.primary,
95
+ textAlign: 'center'
96
+ },
97
+ questionHelp: {
98
+ // backgroundColor: '#38295b', // flex-debug
99
+ fontSize: 12,
100
+ lineHeight: 16,
101
+ color: theme.colors.gray.medium,
102
+ marginBottom: 0,
103
+ marginTop: theme.spacing.small,
104
+ textAlign: 'center'
105
+ },
106
+ choicesContainer: {
107
+ flex: 1,
108
+ width: '100%',
109
+ // backgroundColor: '#ff0', // flex-debug
110
+ justifyContent: 'center'
111
+ },
112
+ validateButton: {
113
+ backgroundColor: brandTheme?.colors.primary || theme.colors.text.primary,
114
+ borderRadius: 7,
115
+ width: '100%'
116
+ },
117
+ validateButtonText: {
118
+ fontSize: 14,
119
+ lineHeight: 20,
120
+ fontWeight: '700',
121
+ color: theme.colors.white,
122
+ marginBottom: 16,
123
+ marginTop: 16,
124
+ textAlign: 'center'
125
+ }
126
+ });
127
+
128
+ const Question = props => {
129
+ const {
130
+ answerUI,
131
+ questionText,
132
+ questionOrigin
133
+ } = props;
134
+ const {
135
+ theme,
136
+ brandTheme
137
+ } = (0, _templateContext.useTemplateContext)();
138
+ const [style, setStyle] = (0, _react.useState)(null);
139
+ (0, _react.useEffect)(() => {
140
+ const questionStyle = createQuestionStyle(theme, brandTheme);
141
+ setStyle(questionStyle);
142
+ }, [theme, brandTheme]);
143
+ if (!answerUI || !questionText || !style) return null;
144
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
145
+ style: style.questionHeading
146
+ }, /*#__PURE__*/_react.default.createElement(_index.default, {
147
+ style: style.questionOrigin
148
+ }, questionOrigin), /*#__PURE__*/_react.default.createElement(_index.default, {
149
+ style: style.questionText
150
+ }, questionText), /*#__PURE__*/_react.default.createElement(_index.default, {
151
+ style: style.questionHelp
152
+ }, (0, _get.default)('help', answerUI))), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
153
+ style: style.choicesContainer
154
+ }, /*#__PURE__*/_react.default.createElement(_index2.default, answerUI)), /*#__PURE__*/_react.default.createElement(_index3.default, {
155
+ style: style.validateButton
156
+ }, /*#__PURE__*/_react.default.createElement(_index.default, {
157
+ style: style.validateButtonText
158
+ }, "@todo validate")));
159
+ };
160
+
161
+ const creatSlideStyle = (num, screenWidth, screenHeight) => {
162
+ const slideWidth = screenWidth - 40 - num * 8;
163
+ const slideHeight = screenHeight * 0.75;
164
+ return _reactNative.StyleSheet.create({
165
+ slide: {
166
+ position: 'absolute',
167
+ top: num * -5,
168
+ left: -slideWidth / 2,
169
+ flex: 1,
170
+ backgroundColor: '#fff',
171
+ // theme.colors.white
172
+ height: slideHeight,
173
+ width: slideWidth,
174
+ justifyContent: 'space-between',
175
+ alignItems: 'center',
176
+ padding: 25,
177
+ shadowColor: '#000',
178
+ shadowOffset: {
179
+ width: 0,
180
+ height: -1
181
+ },
182
+ shadowOpacity: 0.05,
183
+ shadowRadius: 16,
184
+ elevation: 10 - num * 1,
185
+ borderRadius: 16
186
+ }
187
+ });
188
+ };
189
+
190
+ const Slide = props => {
191
+ const {
192
+ slide,
193
+ validateButton,
194
+ correctionPopinProps,
195
+ num,
196
+ slideIndex = '0'
197
+ } = props;
198
+ const {
199
+ width,
200
+ height
201
+ } = (0, _reactNative.useWindowDimensions)();
202
+ const slideStyle = creatSlideStyle(num, width, height);
203
+ const {
204
+ loading,
205
+ parentContentTitle,
206
+ questionText,
207
+ answerUI,
208
+ showCorrectionPopin,
209
+ animateCorrectionPopin
210
+ } = slide;
211
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
212
+ style: slideStyle.slide
213
+ }, loading ?
214
+ /*#__PURE__*/
215
+ // <Loader className={style.loader} theme="default" aria-label={loadingAriaLabel} />
216
+ _react.default.createElement(_index.default, null, "@todo loader ", num) : [/*#__PURE__*/_react.default.createElement(Question, {
217
+ questionOrigin: parentContentTitle,
218
+ questionText: questionText,
219
+ answerUI: answerUI,
220
+ key: "question-container"
221
+ }), /*#__PURE__*/_react.default.createElement(CorrectionPopin, {
222
+ correctionPopinProps: correctionPopinProps,
223
+ slideIndex: slideIndex,
224
+ showCorrectionPopin: showCorrectionPopin,
225
+ animateCorrectionPopin: animateCorrectionPopin,
226
+ key: "correction-popin"
227
+ })]);
228
+ };
229
+
230
+ var _default = Slide;
231
+ exports.default = _default;
232
+ //# sourceMappingURL=index.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/organism/review-slide/index.native.tsx"],"names":["CorrectionPopin","correctionPopinProps","slideIndex","showCorrectionPopin","animateCorrectionPopin","klf","information","label","message","next","_correctionPopinProps","onClick","console","log","type","resultLabel","createQuestionStyle","theme","brandTheme","StyleSheet","create","questionHeading","justifyContent","questionOrigin","fontSize","lineHeight","color","colors","text","primary","marginBottom","spacing","tiny","marginTop","small","textAlign","questionText","fontWeight","questionHelp","gray","medium","choicesContainer","flex","width","validateButton","backgroundColor","borderRadius","validateButtonText","white","Question","props","answerUI","style","setStyle","questionStyle","creatSlideStyle","num","screenWidth","screenHeight","slideWidth","slideHeight","slide","position","top","left","height","alignItems","padding","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","Slide","slideStyle","loading","parentContentTitle"],"mappings":"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","sourcesContent":["import React, {useEffect, useMemo, useState} from 'react';\nimport {StyleSheet, useWindowDimensions, View} from 'react-native';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport Text from '../../atom/text/index.native';\nimport Answer from '../../molecule/answer/index.native';\n// import Loader from '../../atom/loader';\n// import ReviewCorrectionPopin from '../../molecule/review-correction-popin';\nimport {useTemplateContext} from '../../template/app-review/template-context';\nimport {Theme} from '../../variables/theme.native';\nimport Touchable from '../../hoc/touchable/index.native';\nimport {Props, SlideProps} from './prop-types';\n\nconst CorrectionPopin = ({\n correctionPopinProps,\n slideIndex,\n showCorrectionPopin,\n animateCorrectionPopin\n}) => {\n if (!showCorrectionPopin) return null;\n\n const klf = getOr({}, 'klf', correctionPopinProps);\n const information = getOr({label: '', message: ''}, 'information', correctionPopinProps);\n const next = get('next', correctionPopinProps);\n\n const _correctionPopinProps = {\n next: {\n onClick: () => {\n // eslint-disable-next-line no-console\n console.log('Next Slide');\n },\n label: next && next.label,\n 'data-name': `next-question-button-${slideIndex}`,\n 'aria-label': next && next['aria-label']\n },\n klf,\n information,\n type: correctionPopinProps.type,\n resultLabel: correctionPopinProps.resultLabel\n };\n\n return (\n <Text>ReviewCorrectionPopin</Text>\n // <ReviewCorrectionPopin {..._correctionPopinProps} />\n );\n};\n\n// const ValidateButton = ({slideIndex, validateButton, primarySkinColor}) => {\n// const {label, onClick, disabled} = validateButton;\n// const validateButtonProps = {\n// type: 'primary',\n// label,\n// 'aria-label': label,\n// 'data-name': `slide-validate-button-${slideIndex}`,\n// onClick,\n// disabled,\n// customStyle: {\n// backgroundColor: primarySkinColor\n// }\n// };\n\n// return <Button title=\"validate todo\" />;\n// };\n\nconst createQuestionStyle = (theme: Theme, brandTheme: any) =>\n StyleSheet.create({\n questionHeading: {\n // backgroundColor: '#f00', // flex-debug\n justifyContent: 'space-between'\n },\n questionOrigin: {\n fontSize: 12,\n lineHeight: 16,\n color: theme.colors.text.primary,\n marginBottom: theme.spacing.tiny,\n marginTop: theme.spacing.small,\n textAlign: 'center'\n },\n questionText: {\n fontSize: 16,\n lineHeight: 22,\n fontWeight: '700',\n color: theme.colors.text.primary,\n textAlign: 'center'\n },\n questionHelp: {\n // backgroundColor: '#38295b', // flex-debug\n fontSize: 12,\n lineHeight: 16,\n color: theme.colors.gray.medium,\n marginBottom: 0,\n marginTop: theme.spacing.small,\n textAlign: 'center'\n },\n choicesContainer: {\n flex: 1,\n width: '100%',\n // backgroundColor: '#ff0', // flex-debug\n justifyContent: 'center'\n },\n validateButton: {\n backgroundColor: brandTheme?.colors.primary || theme.colors.text.primary,\n borderRadius: 7,\n width: '100%'\n },\n validateButtonText: {\n fontSize: 14,\n lineHeight: 20,\n fontWeight: '700',\n color: theme.colors.white,\n marginBottom: 16,\n marginTop: 16,\n textAlign: 'center'\n }\n });\n\ntype QuestionProps = {\n answerUI: SlideProps['answerUI'];\n questionText: SlideProps['questionText'];\n questionOrigin: SlideProps['parentContentTitle'];\n};\n\nconst Question = (props: QuestionProps) => {\n const {answerUI, questionText, questionOrigin} = props;\n const {theme, brandTheme} = useTemplateContext();\n const [style, setStyle] = useState<any | null>(null);\n\n useEffect(() => {\n const questionStyle = createQuestionStyle(theme, brandTheme);\n setStyle(questionStyle);\n }, [theme, brandTheme]);\n\n if (!answerUI || !questionText || !style) return null;\n\n return (\n <>\n <View style={style.questionHeading}>\n <Text style={style.questionOrigin}>{questionOrigin}</Text>\n <Text style={style.questionText}>{questionText}</Text>\n <Text style={style.questionHelp}>{get('help', answerUI)}</Text>\n </View>\n <View style={style.choicesContainer}>\n <Answer {...answerUI} />\n </View>\n <Touchable style={style.validateButton}>\n <Text style={style.validateButtonText}>@todo validate</Text>\n </Touchable>\n </>\n );\n};\n\nconst creatSlideStyle = (num: number, screenWidth: number, screenHeight: number) => {\n const slideWidth = screenWidth - 40 - num * 8;\n const slideHeight = screenHeight * 0.75;\n\n return StyleSheet.create({\n slide: {\n position: 'absolute',\n top: num * -5,\n left: -slideWidth / 2,\n flex: 1,\n backgroundColor: '#fff', // theme.colors.white\n height: slideHeight,\n width: slideWidth,\n justifyContent: 'space-between',\n alignItems: 'center',\n padding: 25,\n shadowColor: '#000',\n shadowOffset: {width: 0, height: -1},\n shadowOpacity: 0.05,\n shadowRadius: 16,\n elevation: 10 - num * 1,\n borderRadius: 16\n }\n });\n};\n\nconst Slide = (props: Props) => {\n const {slide, validateButton, correctionPopinProps, num, slideIndex = '0'} = props;\n\n const {width, height} = useWindowDimensions();\n const slideStyle = creatSlideStyle(num, width, height);\n\n const {\n loading,\n parentContentTitle,\n questionText,\n answerUI,\n showCorrectionPopin,\n animateCorrectionPopin\n } = slide;\n\n return (\n <View style={slideStyle.slide}>\n {loading ? (\n // <Loader className={style.loader} theme=\"default\" aria-label={loadingAriaLabel} />\n <Text>@todo loader {num}</Text>\n ) : (\n [\n <Question\n questionOrigin={parentContentTitle}\n questionText={questionText}\n answerUI={answerUI}\n key=\"question-container\"\n />,\n <CorrectionPopin\n correctionPopinProps={correctionPopinProps}\n slideIndex={slideIndex}\n showCorrectionPopin={showCorrectionPopin}\n animateCorrectionPopin={animateCorrectionPopin}\n key=\"correction-popin\"\n />\n ]\n )}\n </View>\n );\n};\n\nexport default Slide;\n"],"file":"index.native.js"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.default = exports.SlideProp = void 0;
4
+ exports.default = exports.SlidePropsTypes = void 0;
5
5
 
6
6
  var _propTypes = _interopRequireDefault(require("prop-types"));
7
7
 
@@ -11,7 +11,7 @@ var _propTypes3 = _interopRequireDefault(require("../../molecule/answer/prop-typ
11
11
 
12
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
13
 
14
- const SlideProp = _propTypes.default.shape({
14
+ const SlidePropsTypes = _propTypes.default.shape({
15
15
  hidden: _propTypes.default.bool,
16
16
  position: _propTypes.default.number,
17
17
  loading: _propTypes.default.bool,
@@ -26,10 +26,10 @@ const SlideProp = _propTypes.default.shape({
26
26
  answerUI: _propTypes.default.shape(_propTypes3.default)
27
27
  });
28
28
 
29
- exports.SlideProp = SlideProp;
30
- var _default = {
29
+ exports.SlidePropsTypes = SlidePropsTypes;
30
+ const propTypes = {
31
31
  slideIndex: _propTypes.default.string,
32
- slide: SlideProp,
32
+ slide: SlidePropsTypes,
33
33
  validateButton: _propTypes.default.shape({
34
34
  label: _propTypes.default.string.isRequired,
35
35
  onClick: _propTypes.default.func.isRequired,
@@ -48,5 +48,6 @@ var _default = {
48
48
  type: _propTypes2.default.type
49
49
  })
50
50
  };
51
+ var _default = propTypes;
51
52
  exports.default = _default;
52
53
  //# sourceMappingURL=prop-types.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/organism/review-slide/prop-types.js"],"names":["SlideProp","PropTypes","shape","hidden","bool","position","number","loading","loadingAriaLabel","string","animationType","isCorrect","animateCorrectionPopin","showCorrectionPopin","parentContentTitle","questionText","answerUI","AnswerPropTypes","slideIndex","slide","validateButton","label","isRequired","onClick","func","disabled","correctionPopinProps","klf","ReviewCorrectionPopinPropTypes","information","next","resultLabel","type"],"mappings":";;;;;AAAA;;AACA;;AACA;;;;AAEO,MAAMA,SAAS,GAAGC,mBAAUC,KAAV,CAAgB;AACvCC,EAAAA,MAAM,EAAEF,mBAAUG,IADqB;AAEvCC,EAAAA,QAAQ,EAAEJ,mBAAUK,MAFmB;AAGvCC,EAAAA,OAAO,EAAEN,mBAAUG,IAHoB;AAIvCI,EAAAA,gBAAgB,EAAEP,mBAAUQ,MAJW;AAKvCC,EAAAA,aAAa,EAAET,mBAAUQ,MALc;AAKN;AACjCE,EAAAA,SAAS,EAAEV,mBAAUG,IANkB;AAOvCQ,EAAAA,sBAAsB,EAAEX,mBAAUG,IAPK;AAQvCS,EAAAA,mBAAmB,EAAEZ,mBAAUG,IARQ;AASvCU,EAAAA,kBAAkB,EAAEb,mBAAUQ,MATS;AAUvCM,EAAAA,YAAY,EAAEd,mBAAUQ,MAVe;AAWvCO,EAAAA,QAAQ,EAAEf,mBAAUC,KAAV,CAAgBe,mBAAhB;AAX6B,CAAhB,CAAlB;;;eAcQ;AACbC,EAAAA,UAAU,EAAEjB,mBAAUQ,MADT;AAEbU,EAAAA,KAAK,EAAEnB,SAFM;AAGboB,EAAAA,cAAc,EAAEnB,mBAAUC,KAAV,CAAgB;AAC9BmB,IAAAA,KAAK,EAAEpB,mBAAUQ,MAAV,CAAiBa,UADM;AAE9BC,IAAAA,OAAO,EAAEtB,mBAAUuB,IAAV,CAAeF,UAFM;AAG9BG,IAAAA,QAAQ,EAAExB,mBAAUG;AAHU,GAAhB,CAHH;AAQbsB,EAAAA,oBAAoB,EAAEzB,mBAAUC,KAAV,CAAgB;AACpCyB,IAAAA,GAAG,EAAEC,oBAA+BD,GADA;AAEpCE,IAAAA,WAAW,EAAED,oBAA+BC,WAFR;AAGpCC,IAAAA,IAAI,EAAE7B,mBAAUC,KAAV,CAAgB;AACpBmB,MAAAA,KAAK,EAAEpB,mBAAUQ,MADG;AAEpB,oBAAcR,mBAAUQ,MAFJ,CAEW;AAC/B;;AAHoB,KAAhB,CAH8B;AAQpCsB,IAAAA,WAAW,EAAEH,oBAA+BG,WARR;AASpCC,IAAAA,IAAI,EAAEJ,oBAA+BI;AATD,GAAhB;AART,C","sourcesContent":["import PropTypes from 'prop-types';\nimport ReviewCorrectionPopinPropTypes from '../../molecule/review-correction-popin/prop-types';\nimport AnswerPropTypes from '../../molecule/answer/prop-types';\n\nexport const SlideProp = PropTypes.shape({\n hidden: PropTypes.bool,\n position: PropTypes.number,\n loading: PropTypes.bool,\n loadingAriaLabel: PropTypes.string,\n animationType: PropTypes.string, // 'unstack' | 'restack'\n isCorrect: PropTypes.bool,\n animateCorrectionPopin: PropTypes.bool,\n showCorrectionPopin: PropTypes.bool,\n parentContentTitle: PropTypes.string,\n questionText: PropTypes.string,\n answerUI: PropTypes.shape(AnswerPropTypes)\n});\n\nexport default {\n slideIndex: PropTypes.string,\n slide: SlideProp,\n validateButton: PropTypes.shape({\n label: PropTypes.string.isRequired,\n onClick: PropTypes.func.isRequired,\n disabled: PropTypes.bool\n }),\n correctionPopinProps: PropTypes.shape({\n klf: ReviewCorrectionPopinPropTypes.klf,\n information: ReviewCorrectionPopinPropTypes.information,\n next: PropTypes.shape({\n label: PropTypes.string,\n 'aria-label': PropTypes.string // Pourquoi le onClick du next n'est pas ici !\n // updateSlidesOnNext: PropTypes.func.isRequired ???\n }),\n resultLabel: ReviewCorrectionPopinPropTypes.resultLabel,\n type: ReviewCorrectionPopinPropTypes.type\n })\n};\n"],"file":"prop-types.js"}
1
+ {"version":3,"sources":["../../../src/organism/review-slide/prop-types.ts"],"names":["SlidePropsTypes","PropTypes","shape","hidden","bool","position","number","loading","loadingAriaLabel","string","animationType","isCorrect","animateCorrectionPopin","showCorrectionPopin","parentContentTitle","questionText","answerUI","AnswerPropTypes","propTypes","slideIndex","slide","validateButton","label","isRequired","onClick","func","disabled","correctionPopinProps","klf","ReviewCorrectionPopinPropTypes","information","next","resultLabel","type"],"mappings":";;;;;AAAA;;AACA;;AACA;;;;AAEO,MAAMA,eAAe,GAAGC,mBAAUC,KAAV,CAAgB;AAC7CC,EAAAA,MAAM,EAAEF,mBAAUG,IAD2B;AAE7CC,EAAAA,QAAQ,EAAEJ,mBAAUK,MAFyB;AAG7CC,EAAAA,OAAO,EAAEN,mBAAUG,IAH0B;AAI7CI,EAAAA,gBAAgB,EAAEP,mBAAUQ,MAJiB;AAK7CC,EAAAA,aAAa,EAAET,mBAAUQ,MALoB;AAKZ;AACjCE,EAAAA,SAAS,EAAEV,mBAAUG,IANwB;AAO7CQ,EAAAA,sBAAsB,EAAEX,mBAAUG,IAPW;AAQ7CS,EAAAA,mBAAmB,EAAEZ,mBAAUG,IARc;AAS7CU,EAAAA,kBAAkB,EAAEb,mBAAUQ,MATe;AAU7CM,EAAAA,YAAY,EAAEd,mBAAUQ,MAVqB;AAW7CO,EAAAA,QAAQ,EAAEf,mBAAUC,KAAV,CAAgBe,mBAAhB;AAXmC,CAAhB,CAAxB;;;AAcP,MAAMC,SAAS,GAAG;AAChBC,EAAAA,UAAU,EAAElB,mBAAUQ,MADN;AAEhBW,EAAAA,KAAK,EAAEpB,eAFS;AAGhBqB,EAAAA,cAAc,EAAEpB,mBAAUC,KAAV,CAAgB;AAC9BoB,IAAAA,KAAK,EAAErB,mBAAUQ,MAAV,CAAiBc,UADM;AAE9BC,IAAAA,OAAO,EAAEvB,mBAAUwB,IAAV,CAAeF,UAFM;AAG9BG,IAAAA,QAAQ,EAAEzB,mBAAUG;AAHU,GAAhB,CAHA;AAQhBuB,EAAAA,oBAAoB,EAAE1B,mBAAUC,KAAV,CAAgB;AACpC0B,IAAAA,GAAG,EAAEC,oBAA+BD,GADA;AAEpCE,IAAAA,WAAW,EAAED,oBAA+BC,WAFR;AAGpCC,IAAAA,IAAI,EAAE9B,mBAAUC,KAAV,CAAgB;AACpBoB,MAAAA,KAAK,EAAErB,mBAAUQ,MADG;AAEpB,oBAAcR,mBAAUQ,MAFJ,CAEW;AAC/B;;AAHoB,KAAhB,CAH8B;AAQpCuB,IAAAA,WAAW,EAAEH,oBAA+BG,WARR;AASpCC,IAAAA,IAAI,EAAEJ,oBAA+BI;AATD,GAAhB;AARN,CAAlB;eAqBef,S","sourcesContent":["import PropTypes from 'prop-types';\nimport ReviewCorrectionPopinPropTypes from '../../molecule/review-correction-popin/prop-types';\nimport AnswerPropTypes, {Props as AnswerProps} from '../../molecule/answer/prop-types';\n\nexport const SlidePropsTypes = PropTypes.shape({\n hidden: PropTypes.bool,\n position: PropTypes.number,\n loading: PropTypes.bool,\n loadingAriaLabel: PropTypes.string,\n animationType: PropTypes.string, // 'unstack' | 'restack'\n isCorrect: PropTypes.bool,\n animateCorrectionPopin: PropTypes.bool,\n showCorrectionPopin: PropTypes.bool,\n parentContentTitle: PropTypes.string,\n questionText: PropTypes.string,\n answerUI: PropTypes.shape(AnswerPropTypes)\n});\n\nconst propTypes = {\n slideIndex: PropTypes.string,\n slide: SlidePropsTypes,\n validateButton: PropTypes.shape({\n label: PropTypes.string.isRequired,\n onClick: PropTypes.func.isRequired,\n disabled: PropTypes.bool\n }),\n correctionPopinProps: PropTypes.shape({\n klf: ReviewCorrectionPopinPropTypes.klf,\n information: ReviewCorrectionPopinPropTypes.information,\n next: PropTypes.shape({\n label: PropTypes.string,\n 'aria-label': PropTypes.string // Pourquoi le onClick du next n'est pas ici !\n // updateSlidesOnNext: PropTypes.func.isRequired ???\n }),\n resultLabel: ReviewCorrectionPopinPropTypes.resultLabel,\n type: ReviewCorrectionPopinPropTypes.type\n })\n};\n\nexport default propTypes;\n\nexport type Props = PropTypes.InferProps<typeof propTypes> & {\n num: number;\n};\n\nexport type SlideProps = {\n hidden: boolean;\n position: number;\n loading: boolean;\n loadingAriaLabel: string;\n animationType: 'unstack' | 'restack';\n isCorrect: boolean;\n animateCorrectionPopin: boolean;\n showCorrectionPopin: boolean;\n parentContentTitle: string;\n questionText: string;\n answerUI: AnswerProps;\n};\n"],"file":"prop-types.js"}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.default = exports.TOTAL_SLIDES_STACK = void 0;
5
+
6
+ var _react = _interopRequireDefault(require("react"));
7
+
8
+ var _reactNative = require("react-native");
9
+
10
+ var _keys = _interopRequireDefault(require("lodash/fp/keys"));
11
+
12
+ var _index = _interopRequireDefault(require("../review-slide/index.native"));
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+
16
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
17
+
18
+ const TOTAL_SLIDES_STACK = 5;
19
+ exports.TOTAL_SLIDES_STACK = TOTAL_SLIDES_STACK;
20
+
21
+ const StackedSlides = props => {
22
+ const {
23
+ slides = {},
24
+ endReview,
25
+ validateButton,
26
+ correctionPopinProps
27
+ } = props;
28
+ const indexes = (0, _keys.default)(slides).reverse();
29
+ const stackedSlides = indexes.map(slideIndex => {
30
+ const slide = slides[slideIndex]; // const {animationType, hidden, position} = slide;
31
+
32
+ return /*#__PURE__*/_react.default.createElement(_index.default, _extends({
33
+ num: Number.parseInt(slideIndex),
34
+ slideIndex,
35
+ slide,
36
+ validateButton,
37
+ correctionPopinProps
38
+ }, {
39
+ key: slideIndex
40
+ }));
41
+ });
42
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, null, stackedSlides);
43
+ };
44
+
45
+ var _default = StackedSlides;
46
+ exports.default = _default;
47
+ //# sourceMappingURL=index.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/organism/review-stacked-slides/index.native.tsx"],"names":["TOTAL_SLIDES_STACK","StackedSlides","props","slides","endReview","validateButton","correctionPopinProps","indexes","reverse","stackedSlides","map","slideIndex","slide","num","Number","parseInt"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;;;;;AAGO,MAAMA,kBAAkB,GAAG,CAA3B;;;AAEP,MAAMC,aAAa,GAAIC,KAAD,IAAkB;AACtC,QAAM;AAACC,IAAAA,MAAM,GAAG,EAAV;AAAcC,IAAAA,SAAd;AAAyBC,IAAAA,cAAzB;AAAyCC,IAAAA;AAAzC,MAAiEJ,KAAvE;AAEA,QAAMK,OAAO,GAAG,mBAAKJ,MAAL,EAAaK,OAAb,EAAhB;AACA,QAAMC,aAAa,GAAGF,OAAO,CAACG,GAAR,CAAYC,UAAU,IAAI;AAC9C,UAAMC,KAAK,GAAGT,MAAM,CAACQ,UAAD,CAApB,CAD8C,CAE9C;;AAEA,wBACE,6BAAC,cAAD,WACM;AACFE,MAAAA,GAAG,EAAEC,MAAM,CAACC,QAAP,CAAgBJ,UAAhB,CADH;AAEFA,MAAAA,UAFE;AAGFC,MAAAA,KAHE;AAIFP,MAAAA,cAJE;AAKFC,MAAAA;AALE,KADN;AAQE,MAAA,GAAG,EAAEK;AARP,OADF;AAYD,GAhBqB,CAAtB;AAkBA,sBAAO,6BAAC,iBAAD,QAAOF,aAAP,CAAP;AACD,CAvBD;;eAyBeR,a","sourcesContent":["import React from 'react';\nimport {View} from 'react-native';\nimport keys from 'lodash/fp/keys';\nimport Slide from '../review-slide/index.native';\nimport {Props} from './prop-types';\n\nexport const TOTAL_SLIDES_STACK = 5;\n\nconst StackedSlides = (props: Props) => {\n const {slides = {}, endReview, validateButton, correctionPopinProps} = props;\n\n const indexes = keys(slides).reverse();\n const stackedSlides = indexes.map(slideIndex => {\n const slide = slides[slideIndex];\n // const {animationType, hidden, position} = slide;\n\n return (\n <Slide\n {...{\n num: Number.parseInt(slideIndex),\n slideIndex,\n slide,\n validateButton,\n correctionPopinProps\n }}\n key={slideIndex}\n />\n );\n });\n\n return <View>{stackedSlides}</View>;\n};\n\nexport default StackedSlides;\n"],"file":"index.native.js"}
@@ -13,7 +13,7 @@ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj;
13
13
 
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
15
 
16
- var _default = {
16
+ const propTypes = {
17
17
  validateButton: _propTypes2.default.validateButton,
18
18
  correctionPopinProps: _propTypes2.default.correctionPopinProps,
19
19
  slides: _propTypes.default.shape({
@@ -22,8 +22,9 @@ var _default = {
22
22
  '2': _propTypes2.SlideProp,
23
23
  '3': _propTypes2.SlideProp,
24
24
  '4': _propTypes2.SlideProp
25
- }),
25
+ }).isRequired,
26
26
  endReview: _propTypes.default.bool
27
27
  };
28
+ var _default = propTypes;
28
29
  exports.default = _default;
29
30
  //# sourceMappingURL=prop-types.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/organism/review-stacked-slides/prop-types.js"],"names":["validateButton","ReviewSlideProps","correctionPopinProps","slides","PropTypes","shape","SlideProp","endReview","bool"],"mappings":";;;;;AAAA;;AACA;;;;;;;;eAEe;AACbA,EAAAA,cAAc,EAAEC,oBAAiBD,cADpB;AAEbE,EAAAA,oBAAoB,EAAED,oBAAiBC,oBAF1B;AAGbC,EAAAA,MAAM,EAAEC,mBAAUC,KAAV,CAAgB;AACtB,SAAKC,qBADiB;AAEtB,SAAKA,qBAFiB;AAGtB,SAAKA,qBAHiB;AAItB,SAAKA,qBAJiB;AAKtB,SAAKA;AALiB,GAAhB,CAHK;AAUbC,EAAAA,SAAS,EAAEH,mBAAUI;AAVR,C","sourcesContent":["import PropTypes from 'prop-types';\nimport ReviewSlideProps, {SlideProp} from '../review-slide/prop-types';\n\nexport default {\n validateButton: ReviewSlideProps.validateButton,\n correctionPopinProps: ReviewSlideProps.correctionPopinProps,\n slides: PropTypes.shape({\n '0': SlideProp,\n '1': SlideProp,\n '2': SlideProp,\n '3': SlideProp,\n '4': SlideProp\n }),\n endReview: PropTypes.bool\n};\n"],"file":"prop-types.js"}
1
+ {"version":3,"sources":["../../../src/organism/review-stacked-slides/prop-types.ts"],"names":["propTypes","validateButton","ReviewSlideProps","correctionPopinProps","slides","PropTypes","shape","SlideProp","isRequired","endReview","bool"],"mappings":";;;;;AAAA;;AACA;;;;;;;;AAEA,MAAMA,SAAS,GAAG;AAChBC,EAAAA,cAAc,EAAEC,oBAAiBD,cADjB;AAEhBE,EAAAA,oBAAoB,EAAED,oBAAiBC,oBAFvB;AAGhBC,EAAAA,MAAM,EAAEC,mBAAUC,KAAV,CAAgB;AACtB,SAAKC,qBADiB;AAEtB,SAAKA,qBAFiB;AAGtB,SAAKA,qBAHiB;AAItB,SAAKA,qBAJiB;AAKtB,SAAKA;AALiB,GAAhB,EAMLC,UATa;AAUhBC,EAAAA,SAAS,EAAEJ,mBAAUK;AAVL,CAAlB;eAaeV,S","sourcesContent":["import PropTypes from 'prop-types';\nimport ReviewSlideProps, {SlideProp} from '../review-slide/prop-types';\n\nconst propTypes = {\n validateButton: ReviewSlideProps.validateButton,\n correctionPopinProps: ReviewSlideProps.correctionPopinProps,\n slides: PropTypes.shape({\n '0': SlideProp,\n '1': SlideProp,\n '2': SlideProp,\n '3': SlideProp,\n '4': SlideProp\n }).isRequired,\n endReview: PropTypes.bool\n};\n\nexport default propTypes;\n\nexport type Props = PropTypes.InferProps<typeof propTypes>;\n"],"file":"prop-types.js"}