@coorpacademy/components 10.24.0 → 10.24.2

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 (131) hide show
  1. package/es/atom/autocomplete/index.js.map +1 -1
  2. package/es/atom/button-menu/index.js.map +1 -1
  3. package/es/atom/gradient/index.native.js +1 -1
  4. package/es/atom/gradient/index.native.js.map +1 -1
  5. package/es/atom/lottie-wrapper/index.js.map +1 -1
  6. package/es/atom/provider/web-context.js +1 -1
  7. package/es/atom/provider/web-context.js.map +1 -1
  8. package/es/atom/select/index.js.map +1 -1
  9. package/es/atom/select-modal/index.native.js +2 -2
  10. package/es/atom/select-modal/index.native.js.map +1 -1
  11. package/es/hoc/animation-scheduler/index.js +3 -3
  12. package/es/hoc/animation-scheduler/index.js.map +1 -1
  13. package/es/hoc/swapper/index.js +1 -1
  14. package/es/hoc/swapper/index.js.map +1 -1
  15. package/es/hoc/transition/index.js +1 -1
  16. package/es/hoc/transition/index.js.map +1 -1
  17. package/es/molecule/add-to-my-list/index.js +4 -3
  18. package/es/molecule/add-to-my-list/index.js.map +1 -1
  19. package/es/molecule/brand-tabs/index.js +22 -8
  20. package/es/molecule/brand-tabs/index.js.map +1 -1
  21. package/es/molecule/card/index.js +1 -1
  22. package/es/molecule/card/index.js.map +1 -1
  23. package/es/molecule/cm-popin/index.js +3 -3
  24. package/es/molecule/cm-popin/index.js.map +1 -1
  25. package/es/molecule/dashboard/battle-request-list/index.js +1 -1
  26. package/es/molecule/dashboard/battle-request-list/index.js.map +1 -1
  27. package/es/molecule/dashboard/news-list/index.js +1 -1
  28. package/es/molecule/dashboard/news-list/index.js.map +1 -1
  29. package/es/molecule/dashboard/review-banner/index.js +1 -1
  30. package/es/molecule/dashboard/review-banner/index.js.map +1 -1
  31. package/es/molecule/dashboard/start-battle/index.js +1 -1
  32. package/es/molecule/dashboard/start-battle/index.js.map +1 -1
  33. package/es/molecule/discipline-partners/index.js +1 -1
  34. package/es/molecule/discipline-partners/index.js.map +1 -1
  35. package/es/molecule/drag-and-drop/upload-report.js +43 -21
  36. package/es/molecule/drag-and-drop/upload-report.js.map +1 -1
  37. package/es/molecule/draggable/style.css +2 -0
  38. package/es/molecule/feedback/index.js +2 -2
  39. package/es/molecule/feedback/index.js.map +1 -1
  40. package/es/molecule/filters/index.js.map +1 -1
  41. package/es/molecule/menu-list/index.js +2 -1
  42. package/es/molecule/menu-list/index.js.map +1 -1
  43. package/es/molecule/questions/free-text/index.js.map +1 -1
  44. package/es/molecule/questions/free-text/index.native.js +12 -6
  45. package/es/molecule/questions/free-text/index.native.js.map +1 -1
  46. package/es/molecule/questions/mobile/template/index.native.js +42 -67
  47. package/es/molecule/questions/mobile/template/index.native.js.map +1 -1
  48. package/es/molecule/share/index.js +1 -1
  49. package/es/molecule/share/index.js.map +1 -1
  50. package/es/molecule/skill-card/index.js.map +1 -1
  51. package/es/organism/review-stacked-slides/index.js +6 -3
  52. package/es/organism/review-stacked-slides/index.js.map +1 -1
  53. package/es/organism/review-stacked-slides/index.native.js +6 -3
  54. package/es/organism/review-stacked-slides/index.native.js.map +1 -1
  55. package/es/template/app-player/popin-end/summary.js +4 -3
  56. package/es/template/app-player/popin-end/summary.js.map +1 -1
  57. package/es/template/app-review/template-context.js +1 -1
  58. package/es/template/app-review/template-context.js.map +1 -1
  59. package/es/template/common/dashboard/index.js +1 -1
  60. package/es/template/common/dashboard/index.js.map +1 -1
  61. package/es/template/common/discipline/index.js +1 -1
  62. package/es/template/common/discipline/index.js.map +1 -1
  63. package/es/template/teams-dashboard/index.js.map +1 -1
  64. package/es/util/navigation.js.map +1 -1
  65. package/es/util/proptypes.js.map +1 -1
  66. package/lib/atom/autocomplete/index.js.map +1 -1
  67. package/lib/atom/button-menu/index.js.map +1 -1
  68. package/lib/atom/gradient/index.native.js +1 -1
  69. package/lib/atom/gradient/index.native.js.map +1 -1
  70. package/lib/atom/lottie-wrapper/index.js.map +1 -1
  71. package/lib/atom/provider/web-context.js +1 -1
  72. package/lib/atom/provider/web-context.js.map +1 -1
  73. package/lib/atom/select/index.js.map +1 -1
  74. package/lib/atom/select-modal/index.native.js +2 -2
  75. package/lib/atom/select-modal/index.native.js.map +1 -1
  76. package/lib/hoc/animation-scheduler/index.js +3 -3
  77. package/lib/hoc/animation-scheduler/index.js.map +1 -1
  78. package/lib/hoc/swapper/index.js +1 -1
  79. package/lib/hoc/swapper/index.js.map +1 -1
  80. package/lib/hoc/transition/index.js +1 -1
  81. package/lib/hoc/transition/index.js.map +1 -1
  82. package/lib/molecule/add-to-my-list/index.js +3 -2
  83. package/lib/molecule/add-to-my-list/index.js.map +1 -1
  84. package/lib/molecule/brand-tabs/index.js +22 -8
  85. package/lib/molecule/brand-tabs/index.js.map +1 -1
  86. package/lib/molecule/card/index.js +1 -1
  87. package/lib/molecule/card/index.js.map +1 -1
  88. package/lib/molecule/cm-popin/index.js +3 -3
  89. package/lib/molecule/cm-popin/index.js.map +1 -1
  90. package/lib/molecule/dashboard/battle-request-list/index.js +1 -1
  91. package/lib/molecule/dashboard/battle-request-list/index.js.map +1 -1
  92. package/lib/molecule/dashboard/news-list/index.js +1 -1
  93. package/lib/molecule/dashboard/news-list/index.js.map +1 -1
  94. package/lib/molecule/dashboard/review-banner/index.js +1 -1
  95. package/lib/molecule/dashboard/review-banner/index.js.map +1 -1
  96. package/lib/molecule/dashboard/start-battle/index.js +1 -1
  97. package/lib/molecule/dashboard/start-battle/index.js.map +1 -1
  98. package/lib/molecule/discipline-partners/index.js +1 -1
  99. package/lib/molecule/discipline-partners/index.js.map +1 -1
  100. package/lib/molecule/drag-and-drop/upload-report.js +43 -22
  101. package/lib/molecule/drag-and-drop/upload-report.js.map +1 -1
  102. package/lib/molecule/draggable/style.css +2 -0
  103. package/lib/molecule/feedback/index.js +2 -2
  104. package/lib/molecule/feedback/index.js.map +1 -1
  105. package/lib/molecule/filters/index.js.map +1 -1
  106. package/lib/molecule/menu-list/index.js +2 -1
  107. package/lib/molecule/menu-list/index.js.map +1 -1
  108. package/lib/molecule/questions/free-text/index.js.map +1 -1
  109. package/lib/molecule/questions/free-text/index.native.js +13 -6
  110. package/lib/molecule/questions/free-text/index.native.js.map +1 -1
  111. package/lib/molecule/questions/mobile/template/index.native.js +43 -67
  112. package/lib/molecule/questions/mobile/template/index.native.js.map +1 -1
  113. package/lib/molecule/share/index.js +1 -1
  114. package/lib/molecule/share/index.js.map +1 -1
  115. package/lib/molecule/skill-card/index.js.map +1 -1
  116. package/lib/organism/review-stacked-slides/index.js +6 -3
  117. package/lib/organism/review-stacked-slides/index.js.map +1 -1
  118. package/lib/organism/review-stacked-slides/index.native.js +6 -3
  119. package/lib/organism/review-stacked-slides/index.native.js.map +1 -1
  120. package/lib/template/app-player/popin-end/summary.js +4 -3
  121. package/lib/template/app-player/popin-end/summary.js.map +1 -1
  122. package/lib/template/app-review/template-context.js +1 -1
  123. package/lib/template/app-review/template-context.js.map +1 -1
  124. package/lib/template/common/dashboard/index.js +1 -1
  125. package/lib/template/common/dashboard/index.js.map +1 -1
  126. package/lib/template/common/discipline/index.js +1 -1
  127. package/lib/template/common/discipline/index.js.map +1 -1
  128. package/lib/template/teams-dashboard/index.js.map +1 -1
  129. package/lib/util/navigation.js.map +1 -1
  130. package/lib/util/proptypes.js.map +1 -1
  131. package/package.json +6 -5
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useMemo","Autosuggest","PropTypes","classnames","getClassState","style","renderSuggestion","suggestion","name","Autocomplete","props","placeholder","value","description","required","modified","error","suggestions","onChange","onFetch","onClear","onBlur","onSuggestionSelected","title","propsTitle","className","default","handleChange","e","handleBlur","selectedSuggestion","handleSuggestionsFetchRequested","handleSuggestionsClearRequested","handleSuggestionsSelected","data","inputProps","isNoTitle","container","input","suggestionsContainer","suggestionsContainerOpen","suggestionsList","suggestionHighlighted","propTypes","string","bool","arrayOf","shape","oneOfType","number","func"],"sources":["../../../src/atom/autocomplete/index.js"],"sourcesContent":["import React, {useMemo} from 'react';\nimport Autosuggest from 'react-autosuggest';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {noop, isNil} from 'lodash/fp';\nimport getClassState from '../../util/get-class-state';\nimport style from './style.css';\n\nconst renderSuggestion = suggestion => <span>{suggestion.name}</span>;\n\nconst Autocomplete = props => {\n const {\n placeholder = '',\n value,\n description,\n required,\n modified = false,\n error = false,\n suggestions = [],\n onChange = noop,\n onFetch = noop,\n onClear = noop,\n onBlur = noop,\n onSuggestionSelected = noop,\n title: propsTitle\n } = props;\n\n const title = `${propsTitle}${required ? ' *' : ''}`;\n const className = getClassState(style.default, style.modified, style.error, modified, error);\n\n const handleChange = useMemo(() => e => onChange(e), [onChange]);\n const handleBlur = useMemo(() => (e, selectedSuggestion) => onBlur(e, selectedSuggestion), [\n onBlur\n ]);\n const handleSuggestionsFetchRequested = useMemo(() => e => onFetch(e), [onFetch]);\n const handleSuggestionsClearRequested = useMemo(() => e => onClear(e), [onClear]);\n const handleSuggestionsSelected = useMemo(() => (e, data) => onSuggestionSelected(data), [\n onSuggestionSelected\n ]);\n\n const inputProps = {\n placeholder,\n value,\n onChange: handleChange,\n onBlur: handleBlur\n };\n\n return (\n <div className={classnames(className, isNil(title) && style.isNoTitle)}>\n <label>\n <span className={style.title}>{title}</span>\n <div>\n <Autosuggest\n theme={{\n container: style.container,\n input: style.input,\n suggestionsContainer: style.suggestionsContainer,\n suggestionsContainerOpen: style.suggestionsContainerOpen,\n suggestionsList: style.suggestionsList,\n suggestion: style.suggestion,\n suggestionHighlighted: style.suggestionHighlighted\n }}\n suggestions={suggestions}\n onSuggestionsFetchRequested={handleSuggestionsFetchRequested}\n onSuggestionsClearRequested={handleSuggestionsClearRequested}\n getSuggestionValue={noop}\n renderSuggestion={renderSuggestion}\n inputProps={inputProps}\n focusInputOnSuggestionClick={false}\n onSuggestionSelected={handleSuggestionsSelected}\n />\n </div>\n </label>\n <div className={style.description}>{description}</div>\n </div>\n );\n};\n\nAutocomplete.propTypes = {\n title: PropTypes.string,\n placeholder: PropTypes.string,\n value: PropTypes.string,\n description: PropTypes.string,\n required: PropTypes.bool,\n modified: PropTypes.bool,\n error: PropTypes.bool,\n suggestions: PropTypes.arrayOf(\n PropTypes.shape({\n name: PropTypes.string,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n })\n ),\n onChange: PropTypes.func,\n onFetch: PropTypes.func,\n onClear: PropTypes.func,\n onBlur: PropTypes.func,\n onSuggestionSelected: PropTypes.func\n};\n\nexport default Autocomplete;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","useMemo","Autosuggest","PropTypes","classnames","getClassState","style","renderSuggestion","suggestion","name","Autocomplete","props","placeholder","value","description","required","modified","error","suggestions","onChange","onFetch","onClear","onBlur","onSuggestionSelected","title","propsTitle","className","default","handleChange","e","handleBlur","selectedSuggestion","handleSuggestionsFetchRequested","handleSuggestionsClearRequested","handleSuggestionsSelected","data","inputProps","isNoTitle","container","input","suggestionsContainer","suggestionsContainerOpen","suggestionsList","suggestionHighlighted","propTypes","string","bool","arrayOf","shape","oneOfType","number","func"],"sources":["../../../src/atom/autocomplete/index.js"],"sourcesContent":["import React, {useMemo} from 'react';\nimport Autosuggest from 'react-autosuggest';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {noop, isNil} from 'lodash/fp';\nimport getClassState from '../../util/get-class-state';\nimport style from './style.css';\n\nconst renderSuggestion = suggestion => <span>{suggestion.name}</span>;\n\nconst Autocomplete = props => {\n const {\n placeholder = '',\n value,\n description,\n required,\n modified = false,\n error = false,\n suggestions = [],\n onChange = noop,\n onFetch = noop,\n onClear = noop,\n onBlur = noop,\n onSuggestionSelected = noop,\n title: propsTitle\n } = props;\n\n const title = `${propsTitle}${required ? ' *' : ''}`;\n const className = getClassState(style.default, style.modified, style.error, modified, error);\n\n const handleChange = useMemo(() => e => onChange(e), [onChange]);\n const handleBlur = useMemo(\n () => (e, selectedSuggestion) => onBlur(e, selectedSuggestion),\n [onBlur]\n );\n const handleSuggestionsFetchRequested = useMemo(() => e => onFetch(e), [onFetch]);\n const handleSuggestionsClearRequested = useMemo(() => e => onClear(e), [onClear]);\n const handleSuggestionsSelected = useMemo(\n () => (e, data) => onSuggestionSelected(data),\n [onSuggestionSelected]\n );\n\n const inputProps = {\n placeholder,\n value,\n onChange: handleChange,\n onBlur: handleBlur\n };\n\n return (\n <div className={classnames(className, isNil(title) && style.isNoTitle)}>\n <label>\n <span className={style.title}>{title}</span>\n <div>\n <Autosuggest\n theme={{\n container: style.container,\n input: style.input,\n suggestionsContainer: style.suggestionsContainer,\n suggestionsContainerOpen: style.suggestionsContainerOpen,\n suggestionsList: style.suggestionsList,\n suggestion: style.suggestion,\n suggestionHighlighted: style.suggestionHighlighted\n }}\n suggestions={suggestions}\n onSuggestionsFetchRequested={handleSuggestionsFetchRequested}\n onSuggestionsClearRequested={handleSuggestionsClearRequested}\n getSuggestionValue={noop}\n renderSuggestion={renderSuggestion}\n inputProps={inputProps}\n focusInputOnSuggestionClick={false}\n onSuggestionSelected={handleSuggestionsSelected}\n />\n </div>\n </label>\n <div className={style.description}>{description}</div>\n </div>\n );\n};\n\nAutocomplete.propTypes = {\n title: PropTypes.string,\n placeholder: PropTypes.string,\n value: PropTypes.string,\n description: PropTypes.string,\n required: PropTypes.bool,\n modified: PropTypes.bool,\n error: PropTypes.bool,\n suggestions: PropTypes.arrayOf(\n PropTypes.shape({\n name: PropTypes.string,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n })\n ),\n onChange: PropTypes.func,\n onFetch: PropTypes.func,\n onClear: PropTypes.func,\n onBlur: PropTypes.func,\n onSuggestionSelected: PropTypes.func\n};\n\nexport default Autocomplete;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useMemo","useCallback","PropTypes","map","classnames","style","Button","props","dataName","disabled","label","onClick","type","styleButton","button","default","dangerous","handleOnClick","buttonContent","propTypes","string","bool","isRequired","func","oneOf","ButtonMenu","buttons","buildButton","index","buttonList","convert","cap","arrayOf","shape"],"sources":["../../../src/atom/button-menu/index.js"],"sourcesContent":["import React, {useMemo, useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport map from 'lodash/fp/map';\nimport classnames from 'classnames';\nimport style from './style.css';\n\nconst Button = props => {\n const {'data-name': dataName, disabled, label, onClick, type = 'default'} = props;\n const styleButton = classnames(\n style.button,\n type === 'default' && style.default,\n type === 'dangerous' && style.dangerous,\n disabled && style.disabled\n );\n\n const handleOnClick = useCallback(() => onClick(), [onClick]);\n return (\n <button\n type=\"button\"\n aria-label={label}\n title={label}\n data-name={dataName}\n className={styleButton}\n onClick={handleOnClick}\n >\n <div className={style.buttonContent}>\n <span className={style.label}>{label}</span>\n </div>\n </button>\n );\n};\n\nButton.propTypes = {\n 'data-name': PropTypes.string,\n disabled: PropTypes.bool,\n label: PropTypes.string.isRequired,\n onClick: PropTypes.func.isRequired,\n type: PropTypes.oneOf(['default', 'dangerous'])\n};\n\nconst ButtonMenu = props => {\n const {buttons, 'data-name': dataName} = props;\n const buildButton = useCallback((button, index) => {\n return <Button {...button} key={button.label + index} />;\n }, []);\n\n const buttonList = useMemo(() => map.convert({cap: false})(buildButton, buttons), [\n buttons,\n buildButton\n ]);\n\n return <div data-name={dataName}>{buttonList}</div>;\n};\n\nButtonMenu.propTypes = {\n buttons: PropTypes.arrayOf(PropTypes.shape(Button.propTypes)).isRequired,\n 'data-name': PropTypes.string\n};\n\nexport default ButtonMenu;\n"],"mappings":";;AAAA,OAAOA,KAAP,IAAeC,OAAf,EAAwBC,WAAxB,QAA0C,OAA1C;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,GAAP,MAAgB,eAAhB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,MAAM,GAAGC,KAAK,IAAI;EACtB,MAAM;IAAC,aAAaC,QAAd;IAAwBC,QAAxB;IAAkCC,KAAlC;IAAyCC,OAAzC;IAAkDC,IAAI,GAAG;EAAzD,IAAsEL,KAA5E;EACA,MAAMM,WAAW,GAAGT,UAAU,CAC5BC,KAAK,CAACS,MADsB,EAE5BF,IAAI,KAAK,SAAT,IAAsBP,KAAK,CAACU,OAFA,EAG5BH,IAAI,KAAK,WAAT,IAAwBP,KAAK,CAACW,SAHF,EAI5BP,QAAQ,IAAIJ,KAAK,CAACI,QAJU,CAA9B;EAOA,MAAMQ,aAAa,GAAGhB,WAAW,CAAC,MAAMU,OAAO,EAAd,EAAkB,CAACA,OAAD,CAAlB,CAAjC;EACA,oBACE;IACE,IAAI,EAAC,QADP;IAEE,cAAYD,KAFd;IAGE,KAAK,EAAEA,KAHT;IAIE,aAAWF,QAJb;IAKE,SAAS,EAAEK,WALb;IAME,OAAO,EAAEI;EANX,gBAQE;IAAK,SAAS,EAAEZ,KAAK,CAACa;EAAtB,gBACE;IAAM,SAAS,EAAEb,KAAK,CAACK;EAAvB,GAA+BA,KAA/B,CADF,CARF,CADF;AAcD,CAxBD;;AA0BAJ,MAAM,CAACa,SAAP,2CAAmB;EACjB,aAAajB,SAAS,CAACkB,MADN;EAEjBX,QAAQ,EAAEP,SAAS,CAACmB,IAFH;EAGjBX,KAAK,EAAER,SAAS,CAACkB,MAAV,CAAiBE,UAHP;EAIjBX,OAAO,EAAET,SAAS,CAACqB,IAAV,CAAeD,UAJP;EAKjBV,IAAI,EAAEV,SAAS,CAACsB,KAAV,CAAgB,CAAC,SAAD,EAAY,WAAZ,CAAhB;AALW,CAAnB;;AAQA,MAAMC,UAAU,GAAGlB,KAAK,IAAI;EAC1B,MAAM;IAACmB,OAAD;IAAU,aAAalB;EAAvB,IAAmCD,KAAzC;EACA,MAAMoB,WAAW,GAAG1B,WAAW,CAAC,CAACa,MAAD,EAASc,KAAT,KAAmB;IACjD,oBAAO,oBAAC,MAAD,eAAYd,MAAZ;MAAoB,GAAG,EAAEA,MAAM,CAACJ,KAAP,GAAekB;IAAxC,GAAP;EACD,CAF8B,EAE5B,EAF4B,CAA/B;EAIA,MAAMC,UAAU,GAAG7B,OAAO,CAAC,MAAMG,GAAG,CAAC2B,OAAJ,CAAY;IAACC,GAAG,EAAE;EAAN,CAAZ,EAA0BJ,WAA1B,EAAuCD,OAAvC,CAAP,EAAwD,CAChFA,OADgF,EAEhFC,WAFgF,CAAxD,CAA1B;EAKA,oBAAO;IAAK,aAAWnB;EAAhB,GAA2BqB,UAA3B,CAAP;AACD,CAZD;;AAcAJ,UAAU,CAACN,SAAX,2CAAuB;EACrBO,OAAO,EAAExB,SAAS,CAAC8B,OAAV,CAAkB9B,SAAS,CAAC+B,KAAV,CAAgB3B,MAAM,CAACa,SAAvB,CAAlB,EAAqDG,UADzC;EAErB,aAAapB,SAAS,CAACkB;AAFF,CAAvB;AAKA,eAAeK,UAAf"}
1
+ {"version":3,"file":"index.js","names":["React","useMemo","useCallback","PropTypes","map","classnames","style","Button","props","dataName","disabled","label","onClick","type","styleButton","button","default","dangerous","handleOnClick","buttonContent","propTypes","string","bool","isRequired","func","oneOf","ButtonMenu","buttons","buildButton","index","buttonList","convert","cap","arrayOf","shape"],"sources":["../../../src/atom/button-menu/index.js"],"sourcesContent":["import React, {useMemo, useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport map from 'lodash/fp/map';\nimport classnames from 'classnames';\nimport style from './style.css';\n\nconst Button = props => {\n const {'data-name': dataName, disabled, label, onClick, type = 'default'} = props;\n const styleButton = classnames(\n style.button,\n type === 'default' && style.default,\n type === 'dangerous' && style.dangerous,\n disabled && style.disabled\n );\n\n const handleOnClick = useCallback(() => onClick(), [onClick]);\n return (\n <button\n type=\"button\"\n aria-label={label}\n title={label}\n data-name={dataName}\n className={styleButton}\n onClick={handleOnClick}\n >\n <div className={style.buttonContent}>\n <span className={style.label}>{label}</span>\n </div>\n </button>\n );\n};\n\nButton.propTypes = {\n 'data-name': PropTypes.string,\n disabled: PropTypes.bool,\n label: PropTypes.string.isRequired,\n onClick: PropTypes.func.isRequired,\n type: PropTypes.oneOf(['default', 'dangerous'])\n};\n\nconst ButtonMenu = props => {\n const {buttons, 'data-name': dataName} = props;\n const buildButton = useCallback((button, index) => {\n return <Button {...button} key={button.label + index} />;\n }, []);\n\n const buttonList = useMemo(\n () => map.convert({cap: false})(buildButton, buttons),\n [buttons, buildButton]\n );\n\n return <div data-name={dataName}>{buttonList}</div>;\n};\n\nButtonMenu.propTypes = {\n buttons: PropTypes.arrayOf(PropTypes.shape(Button.propTypes)).isRequired,\n 'data-name': PropTypes.string\n};\n\nexport default ButtonMenu;\n"],"mappings":";;AAAA,OAAOA,KAAP,IAAeC,OAAf,EAAwBC,WAAxB,QAA0C,OAA1C;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,GAAP,MAAgB,eAAhB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,MAAM,GAAGC,KAAK,IAAI;EACtB,MAAM;IAAC,aAAaC,QAAd;IAAwBC,QAAxB;IAAkCC,KAAlC;IAAyCC,OAAzC;IAAkDC,IAAI,GAAG;EAAzD,IAAsEL,KAA5E;EACA,MAAMM,WAAW,GAAGT,UAAU,CAC5BC,KAAK,CAACS,MADsB,EAE5BF,IAAI,KAAK,SAAT,IAAsBP,KAAK,CAACU,OAFA,EAG5BH,IAAI,KAAK,WAAT,IAAwBP,KAAK,CAACW,SAHF,EAI5BP,QAAQ,IAAIJ,KAAK,CAACI,QAJU,CAA9B;EAOA,MAAMQ,aAAa,GAAGhB,WAAW,CAAC,MAAMU,OAAO,EAAd,EAAkB,CAACA,OAAD,CAAlB,CAAjC;EACA,oBACE;IACE,IAAI,EAAC,QADP;IAEE,cAAYD,KAFd;IAGE,KAAK,EAAEA,KAHT;IAIE,aAAWF,QAJb;IAKE,SAAS,EAAEK,WALb;IAME,OAAO,EAAEI;EANX,gBAQE;IAAK,SAAS,EAAEZ,KAAK,CAACa;EAAtB,gBACE;IAAM,SAAS,EAAEb,KAAK,CAACK;EAAvB,GAA+BA,KAA/B,CADF,CARF,CADF;AAcD,CAxBD;;AA0BAJ,MAAM,CAACa,SAAP,2CAAmB;EACjB,aAAajB,SAAS,CAACkB,MADN;EAEjBX,QAAQ,EAAEP,SAAS,CAACmB,IAFH;EAGjBX,KAAK,EAAER,SAAS,CAACkB,MAAV,CAAiBE,UAHP;EAIjBX,OAAO,EAAET,SAAS,CAACqB,IAAV,CAAeD,UAJP;EAKjBV,IAAI,EAAEV,SAAS,CAACsB,KAAV,CAAgB,CAAC,SAAD,EAAY,WAAZ,CAAhB;AALW,CAAnB;;AAQA,MAAMC,UAAU,GAAGlB,KAAK,IAAI;EAC1B,MAAM;IAACmB,OAAD;IAAU,aAAalB;EAAvB,IAAmCD,KAAzC;EACA,MAAMoB,WAAW,GAAG1B,WAAW,CAAC,CAACa,MAAD,EAASc,KAAT,KAAmB;IACjD,oBAAO,oBAAC,MAAD,eAAYd,MAAZ;MAAoB,GAAG,EAAEA,MAAM,CAACJ,KAAP,GAAekB;IAAxC,GAAP;EACD,CAF8B,EAE5B,EAF4B,CAA/B;EAIA,MAAMC,UAAU,GAAG7B,OAAO,CACxB,MAAMG,GAAG,CAAC2B,OAAJ,CAAY;IAACC,GAAG,EAAE;EAAN,CAAZ,EAA0BJ,WAA1B,EAAuCD,OAAvC,CADkB,EAExB,CAACA,OAAD,EAAUC,WAAV,CAFwB,CAA1B;EAKA,oBAAO;IAAK,aAAWnB;EAAhB,GAA2BqB,UAA3B,CAAP;AACD,CAZD;;AAcAJ,UAAU,CAACN,SAAX,2CAAuB;EACrBO,OAAO,EAAExB,SAAS,CAAC8B,OAAV,CAAkB9B,SAAS,CAAC+B,KAAV,CAAgB3B,MAAM,CAACa,SAAvB,CAAlB,EAAqDG,UADzC;EAErB,aAAapB,SAAS,CAACkB;AAFF,CAAvB;AAKA,eAAeK,UAAf"}
@@ -39,7 +39,7 @@ const Gradient = ({
39
39
  style: _style,
40
40
  pointerEvents: pointerEvents,
41
41
  testID: testID
42
- }, children);
42
+ }, children) || null;
43
43
  };
44
44
 
45
45
  export default Gradient;
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.js","names":["React","LinearGradient","Color","Gradient","children","colors","transparencyPosition","height","style","testID","pointerEvents","calculatedColors","length","r","g","b","object","_style","push"],"sources":["../../../src/atom/gradient/index.native.tsx"],"sourcesContent":["import React, {ReactNode} from 'react';\nimport {ViewStyle} from 'react-native';\nimport LinearGradient from 'react-native-linear-gradient';\nimport Color from 'color';\n\nexport type Props = {\n children?: ReactNode;\n colors: Array<string>;\n transparencyPosition?: 'top' | 'bottom';\n height?: number;\n style?: ViewStyle | ViewStyle[] | undefined;\n testID?: string;\n pointerEvents?: 'auto' | 'none' | 'box-none' | 'box-only' | undefined;\n};\n\nconst Gradient = ({\n children,\n colors,\n transparencyPosition = 'top',\n height,\n style,\n testID,\n pointerEvents\n}: Props) => {\n let calculatedColors = colors;\n if (colors.length === 1) {\n const {r, g, b} = Color(colors[0]).object();\n calculatedColors =\n transparencyPosition === 'top'\n ? [`rgba(${r}, ${g}, ${b}, 0)`, colors[0], colors[0]]\n : [colors[0], colors[0], `rgba(${r}, ${g}, ${b}, 0)`];\n }\n\n const _style = [];\n\n if (style) {\n _style.push(style);\n }\n if (height) {\n _style.push({height});\n }\n\n return (\n <LinearGradient\n colors={calculatedColors}\n style={_style}\n pointerEvents={pointerEvents}\n testID={testID}\n >\n {children}\n </LinearGradient>\n );\n};\n\nexport default Gradient;\n"],"mappings":"AAAA,OAAOA,KAAP,MAA+B,OAA/B;AAEA,OAAOC,cAAP,MAA2B,8BAA3B;AACA,OAAOC,KAAP,MAAkB,OAAlB;;AAYA,MAAMC,QAAQ,GAAG,CAAC;EAChBC,QADgB;EAEhBC,MAFgB;EAGhBC,oBAAoB,GAAG,KAHP;EAIhBC,MAJgB;EAKhBC,KALgB;EAMhBC,MANgB;EAOhBC;AAPgB,CAAD,KAQJ;EACX,IAAIC,gBAAgB,GAAGN,MAAvB;;EACA,IAAIA,MAAM,CAACO,MAAP,KAAkB,CAAtB,EAAyB;IACvB,MAAM;MAACC,CAAD;MAAIC,CAAJ;MAAOC;IAAP,IAAYb,KAAK,CAACG,MAAM,CAAC,CAAD,CAAP,CAAL,CAAiBW,MAAjB,EAAlB;IACAL,gBAAgB,GACdL,oBAAoB,KAAK,KAAzB,GACI,CAAE,QAAOO,CAAE,KAAIC,CAAE,KAAIC,CAAE,MAAvB,EAA8BV,MAAM,CAAC,CAAD,CAApC,EAAyCA,MAAM,CAAC,CAAD,CAA/C,CADJ,GAEI,CAACA,MAAM,CAAC,CAAD,CAAP,EAAYA,MAAM,CAAC,CAAD,CAAlB,EAAwB,QAAOQ,CAAE,KAAIC,CAAE,KAAIC,CAAE,MAA7C,CAHN;EAID;;EAED,MAAME,MAAM,GAAG,EAAf;;EAEA,IAAIT,KAAJ,EAAW;IACTS,MAAM,CAACC,IAAP,CAAYV,KAAZ;EACD;;EACD,IAAID,MAAJ,EAAY;IACVU,MAAM,CAACC,IAAP,CAAY;MAACX;IAAD,CAAZ;EACD;;EAED,oBACE,oBAAC,cAAD;IACE,MAAM,EAAEI,gBADV;IAEE,KAAK,EAAEM,MAFT;IAGE,aAAa,EAAEP,aAHjB;IAIE,MAAM,EAAED;EAJV,GAMGL,QANH,CADF;AAUD,CArCD;;AAuCA,eAAeD,QAAf"}
1
+ {"version":3,"file":"index.native.js","names":["React","LinearGradient","Color","Gradient","children","colors","transparencyPosition","height","style","testID","pointerEvents","calculatedColors","length","r","g","b","object","_style","push"],"sources":["../../../src/atom/gradient/index.native.tsx"],"sourcesContent":["import React, {ReactNode} from 'react';\nimport {ViewStyle} from 'react-native';\nimport LinearGradient from 'react-native-linear-gradient';\nimport Color from 'color';\n\nexport type Props = {\n children?: ReactNode;\n colors: Array<string>;\n transparencyPosition?: 'top' | 'bottom';\n height?: number;\n style?: ViewStyle | ViewStyle[] | undefined;\n testID?: string;\n pointerEvents?: 'auto' | 'none' | 'box-none' | 'box-only' | undefined;\n};\n\nconst Gradient = ({\n children,\n colors,\n transparencyPosition = 'top',\n height,\n style,\n testID,\n pointerEvents\n}: Props) => {\n let calculatedColors = colors;\n if (colors.length === 1) {\n const {r, g, b} = Color(colors[0]).object();\n calculatedColors =\n transparencyPosition === 'top'\n ? [`rgba(${r}, ${g}, ${b}, 0)`, colors[0], colors[0]]\n : [colors[0], colors[0], `rgba(${r}, ${g}, ${b}, 0)`];\n }\n\n const _style = [];\n\n if (style) {\n _style.push(style);\n }\n if (height) {\n _style.push({height});\n }\n\n return (\n (\n <LinearGradient\n colors={calculatedColors}\n style={_style}\n pointerEvents={pointerEvents}\n testID={testID}\n >\n {children}\n </LinearGradient>\n ) || null\n );\n};\n\nexport default Gradient;\n"],"mappings":"AAAA,OAAOA,KAAP,MAA+B,OAA/B;AAEA,OAAOC,cAAP,MAA2B,8BAA3B;AACA,OAAOC,KAAP,MAAkB,OAAlB;;AAYA,MAAMC,QAAQ,GAAG,CAAC;EAChBC,QADgB;EAEhBC,MAFgB;EAGhBC,oBAAoB,GAAG,KAHP;EAIhBC,MAJgB;EAKhBC,KALgB;EAMhBC,MANgB;EAOhBC;AAPgB,CAAD,KAQJ;EACX,IAAIC,gBAAgB,GAAGN,MAAvB;;EACA,IAAIA,MAAM,CAACO,MAAP,KAAkB,CAAtB,EAAyB;IACvB,MAAM;MAACC,CAAD;MAAIC,CAAJ;MAAOC;IAAP,IAAYb,KAAK,CAACG,MAAM,CAAC,CAAD,CAAP,CAAL,CAAiBW,MAAjB,EAAlB;IACAL,gBAAgB,GACdL,oBAAoB,KAAK,KAAzB,GACI,CAAE,QAAOO,CAAE,KAAIC,CAAE,KAAIC,CAAE,MAAvB,EAA8BV,MAAM,CAAC,CAAD,CAApC,EAAyCA,MAAM,CAAC,CAAD,CAA/C,CADJ,GAEI,CAACA,MAAM,CAAC,CAAD,CAAP,EAAYA,MAAM,CAAC,CAAD,CAAlB,EAAwB,QAAOQ,CAAE,KAAIC,CAAE,KAAIC,CAAE,MAA7C,CAHN;EAID;;EAED,MAAME,MAAM,GAAG,EAAf;;EAEA,IAAIT,KAAJ,EAAW;IACTS,MAAM,CAACC,IAAP,CAAYV,KAAZ;EACD;;EACD,IAAID,MAAJ,EAAY;IACVU,MAAM,CAACC,IAAP,CAAY;MAACX;IAAD,CAAZ;EACD;;EAED,OACE,aACE,oBAAC,cAAD;IACE,MAAM,EAAEI,gBADV;IAEE,KAAK,EAAEM,MAFT;IAGE,aAAa,EAAEP,aAHjB;IAIE,MAAM,EAAED;EAJV,GAMGL,QANH,CADF,IASK,IAVP;AAYD,CAvCD;;AAyCA,eAAeD,QAAf"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useMemo","useRef","useEffect","useState","classnames","lottie","get","has","includes","keys","omit","unfetch","style","propTypes","ANIMATION_CONTROL","isIE11","window","userAgent","hasMsCrypto","hasRevision","hasTrident","fetchAndLoadAnimation","_lottie","_fetch","animationSrc","containerRef","loop","animationClassnames","hideOnTransparent","autoplay","animationUrl","URL","toString","fetchResult","headers","animationData","json","animation","loadAnimation","container","current","renderer","rendererSettings","className","preserveAspectRatio","LottieWrapper","props","dataName","ariaLabel","width","height","ie11ImageBackup","backupImageClassName","animationControl","animationClassName","animationItem","setAnimationItem","isAnimationVisible","setIsAnimationVisible","_isIE11","wrapperClassName","lottieContainer","lottieAnimationClassName","ie11BackupImageClassName","backupImage","stop","destroy","name","maxWidth","maxHeight","opacity","transition"],"sources":["../../../src/atom/lottie-wrapper/index.js"],"sourcesContent":["import React, {useMemo, useRef, useEffect, useState} from 'react';\nimport classnames from 'classnames';\nimport lottie from 'lottie-web';\nimport get from 'lodash/fp/get';\nimport has from 'lodash/fp/has';\nimport includes from 'lodash/fp/includes';\nimport keys from 'lodash/fp/keys';\nimport omit from 'lodash/fp/omit';\nimport unfetch from 'isomorphic-unfetch';\nimport style from './style.css';\nimport propTypes, {ANIMATION_CONTROL} from './prop-types';\n\nconst isIE11 = () => {\n if (typeof window === 'undefined') return;\n const userAgent = get('navigator.userAgent', window);\n const hasMsCrypto = has('msCrypto', window);\n const hasRevision = includes('rv:', userAgent);\n const hasTrident = includes('Trident/', userAgent);\n\n return hasMsCrypto || (hasRevision && hasTrident);\n};\n\nexport const fetchAndLoadAnimation = async (\n _lottie,\n _fetch,\n animationSrc,\n containerRef,\n loop,\n animationClassnames,\n hideOnTransparent,\n autoplay\n) => {\n const animationUrl = new URL(animationSrc).toString();\n const fetchResult = await _fetch(animationUrl, {\n headers: {\n 'X-Requested-With': 'XMLHttpRequest',\n 'Content-Type': 'application/json'\n }\n });\n\n const animationData = await fetchResult.json();\n\n const animation =\n _lottie.loadAnimation &&\n _lottie.loadAnimation({\n container: containerRef.current, // the dom element that will contain the animation\n renderer: 'svg',\n autoplay,\n loop,\n animationData,\n rendererSettings: {\n className: animationClassnames,\n hideOnTransparent,\n preserveAspectRatio: 'xMidYMid meet' // same options as a preserveAspectRatio prop\n }\n });\n return animation;\n};\n\nconst LottieWrapper = props => {\n const {\n className,\n 'data-name': dataName,\n 'aria-label': ariaLabel,\n animationSrc,\n loop = false,\n rendererSettings = {},\n width,\n height,\n ie11ImageBackup,\n backupImageClassName,\n autoplay = true,\n animationControl\n } = props;\n\n const {className: animationClassName, hideOnTransparent = true} = rendererSettings;\n\n const containerRef = useRef(null);\n\n // lottie's animation instance\n const [animationItem, setAnimationItem] = useState(null);\n\n const [isAnimationVisible, setIsAnimationVisible] = useState(autoplay);\n\n const _isIE11 = useMemo(() => isIE11(), []);\n\n const wrapperClassName = useMemo(() => classnames(className, style.lottieContainer), [className]);\n\n const lottieAnimationClassName = useMemo(() => classnames(animationClassName, style.animation), [\n animationClassName\n ]);\n\n const ie11BackupImageClassName = useMemo(\n () => classnames(backupImageClassName, style.backupImage),\n [backupImageClassName]\n );\n\n useEffect(() => {\n // enzyme does not handle well the state update after an async useEffect in tests\n // to remove when the migration towards @testing-library/react is done\n /* istanbul ignore next */\n if (includes(animationControl, keys(omit('loading', ANIMATION_CONTROL))) && !autoplay) {\n setIsAnimationVisible(true);\n if (animationItem) animationItem[animationControl]();\n if (animationControl === ANIMATION_CONTROL.stop) setIsAnimationVisible(false);\n }\n }, [animationControl, animationItem, autoplay]);\n\n useEffect(() => {\n const loadAnimation = async () => {\n if (!_isIE11 && !animationItem) {\n /* istanbul ignore else */\n if (typeof window !== 'undefined') {\n window.lottie = lottie;\n }\n const animation = await fetchAndLoadAnimation(\n lottie,\n unfetch,\n animationSrc,\n containerRef,\n loop,\n lottieAnimationClassName,\n hideOnTransparent,\n autoplay\n );\n\n /* istanbul ignore next */\n setAnimationItem(animation);\n }\n };\n\n loadAnimation();\n return () => animationItem && /* istanbul ignore next */ lottie.destroy(animationItem.name);\n }, [\n lottieAnimationClassName,\n containerRef,\n hideOnTransparent,\n loop,\n animationSrc,\n _isIE11,\n animationItem,\n autoplay\n ]);\n\n return (\n <div\n ref={containerRef}\n aria-label={ariaLabel}\n data-name={dataName}\n className={wrapperClassName}\n style={{\n ...(width && {\n width: `${width}px`,\n maxWidth: `${width}px`\n }),\n ...(height && {\n height: `${height}px`,\n maxHeight: `${height}px`\n }),\n opacity: isAnimationVisible ? 1 : 0,\n transition: 'opacity 0.25s ease-in'\n }}\n >\n {_isIE11 ? (\n <img\n src={ie11ImageBackup}\n className={ie11BackupImageClassName}\n data-name=\"ie11-backup-image\"\n />\n ) : null}\n </div>\n );\n};\n\nLottieWrapper.propTypes = propTypes;\n\nexport default LottieWrapper;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","useMemo","useRef","useEffect","useState","classnames","lottie","get","has","includes","keys","omit","unfetch","style","propTypes","ANIMATION_CONTROL","isIE11","window","userAgent","hasMsCrypto","hasRevision","hasTrident","fetchAndLoadAnimation","_lottie","_fetch","animationSrc","containerRef","loop","animationClassnames","hideOnTransparent","autoplay","animationUrl","URL","toString","fetchResult","headers","animationData","json","animation","loadAnimation","container","current","renderer","rendererSettings","className","preserveAspectRatio","LottieWrapper","props","dataName","ariaLabel","width","height","ie11ImageBackup","backupImageClassName","animationControl","animationClassName","animationItem","setAnimationItem","isAnimationVisible","setIsAnimationVisible","_isIE11","wrapperClassName","lottieContainer","lottieAnimationClassName","ie11BackupImageClassName","backupImage","stop","destroy","name","maxWidth","maxHeight","opacity","transition"],"sources":["../../../src/atom/lottie-wrapper/index.js"],"sourcesContent":["import React, {useMemo, useRef, useEffect, useState} from 'react';\nimport classnames from 'classnames';\nimport lottie from 'lottie-web';\nimport get from 'lodash/fp/get';\nimport has from 'lodash/fp/has';\nimport includes from 'lodash/fp/includes';\nimport keys from 'lodash/fp/keys';\nimport omit from 'lodash/fp/omit';\nimport unfetch from 'isomorphic-unfetch';\nimport style from './style.css';\nimport propTypes, {ANIMATION_CONTROL} from './prop-types';\n\nconst isIE11 = () => {\n if (typeof window === 'undefined') return;\n const userAgent = get('navigator.userAgent', window);\n const hasMsCrypto = has('msCrypto', window);\n const hasRevision = includes('rv:', userAgent);\n const hasTrident = includes('Trident/', userAgent);\n\n return hasMsCrypto || (hasRevision && hasTrident);\n};\n\nexport const fetchAndLoadAnimation = async (\n _lottie,\n _fetch,\n animationSrc,\n containerRef,\n loop,\n animationClassnames,\n hideOnTransparent,\n autoplay\n) => {\n const animationUrl = new URL(animationSrc).toString();\n const fetchResult = await _fetch(animationUrl, {\n headers: {\n 'X-Requested-With': 'XMLHttpRequest',\n 'Content-Type': 'application/json'\n }\n });\n\n const animationData = await fetchResult.json();\n\n const animation =\n _lottie.loadAnimation &&\n _lottie.loadAnimation({\n container: containerRef.current, // the dom element that will contain the animation\n renderer: 'svg',\n autoplay,\n loop,\n animationData,\n rendererSettings: {\n className: animationClassnames,\n hideOnTransparent,\n preserveAspectRatio: 'xMidYMid meet' // same options as a preserveAspectRatio prop\n }\n });\n return animation;\n};\n\nconst LottieWrapper = props => {\n const {\n className,\n 'data-name': dataName,\n 'aria-label': ariaLabel,\n animationSrc,\n loop = false,\n rendererSettings = {},\n width,\n height,\n ie11ImageBackup,\n backupImageClassName,\n autoplay = true,\n animationControl\n } = props;\n\n const {className: animationClassName, hideOnTransparent = true} = rendererSettings;\n\n const containerRef = useRef(null);\n\n // lottie's animation instance\n const [animationItem, setAnimationItem] = useState(null);\n\n const [isAnimationVisible, setIsAnimationVisible] = useState(autoplay);\n\n const _isIE11 = useMemo(() => isIE11(), []);\n\n const wrapperClassName = useMemo(() => classnames(className, style.lottieContainer), [className]);\n\n const lottieAnimationClassName = useMemo(\n () => classnames(animationClassName, style.animation),\n [animationClassName]\n );\n\n const ie11BackupImageClassName = useMemo(\n () => classnames(backupImageClassName, style.backupImage),\n [backupImageClassName]\n );\n\n useEffect(() => {\n // enzyme does not handle well the state update after an async useEffect in tests\n // to remove when the migration towards @testing-library/react is done\n /* istanbul ignore next */\n if (includes(animationControl, keys(omit('loading', ANIMATION_CONTROL))) && !autoplay) {\n setIsAnimationVisible(true);\n if (animationItem) animationItem[animationControl]();\n if (animationControl === ANIMATION_CONTROL.stop) setIsAnimationVisible(false);\n }\n }, [animationControl, animationItem, autoplay]);\n\n useEffect(() => {\n const loadAnimation = async () => {\n if (!_isIE11 && !animationItem) {\n /* istanbul ignore else */\n if (typeof window !== 'undefined') {\n window.lottie = lottie;\n }\n const animation = await fetchAndLoadAnimation(\n lottie,\n unfetch,\n animationSrc,\n containerRef,\n loop,\n lottieAnimationClassName,\n hideOnTransparent,\n autoplay\n );\n\n /* istanbul ignore next */\n setAnimationItem(animation);\n }\n };\n\n loadAnimation();\n return () => animationItem && /* istanbul ignore next */ lottie.destroy(animationItem.name);\n }, [\n lottieAnimationClassName,\n containerRef,\n hideOnTransparent,\n loop,\n animationSrc,\n _isIE11,\n animationItem,\n autoplay\n ]);\n\n return (\n <div\n ref={containerRef}\n aria-label={ariaLabel}\n data-name={dataName}\n className={wrapperClassName}\n style={{\n ...(width && {\n width: `${width}px`,\n maxWidth: `${width}px`\n }),\n ...(height && {\n height: `${height}px`,\n maxHeight: `${height}px`\n }),\n opacity: isAnimationVisible ? 1 : 0,\n transition: 'opacity 0.25s ease-in'\n }}\n >\n {_isIE11 ? (\n <img\n src={ie11ImageBackup}\n className={ie11BackupImageClassName}\n data-name=\"ie11-backup-image\"\n />\n ) : null}\n </div>\n );\n};\n\nLottieWrapper.propTypes = propTypes;\n\nexport default LottieWrapper;\n"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  function _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }
2
2
 
3
3
  import React, { createContext, useContext } from 'react';
4
- const Context = /*#__PURE__*/createContext({
4
+ const Context = createContext({
5
5
  translate: key => key
6
6
  });
7
7
 
@@ -1 +1 @@
1
- {"version":3,"file":"web-context.js","names":["React","createContext","useContext","Context","translate","key","WebContext","skin","children","values","useWebContext","context","Error"],"sources":["../../../src/atom/provider/web-context.tsx"],"sourcesContent":["import React, {createContext, useContext} from 'react';\n\ntype Skin = {\n common: {\n primary: string;\n };\n};\n\ntype WebContextValues = {\n skin?: Skin;\n translate: (key: string) => string;\n};\n\nconst Context = createContext({\n translate: (key: string) => key\n});\n\ntype Props = WebContextValues & {\n children: any;\n};\n\nconst WebContext = ({skin, translate, children}: Props) => {\n const values = {skin, translate};\n return <Context.Provider value={{...values}}>{children}</Context.Provider>;\n};\n\nexport const useWebContext = (): WebContextValues => {\n const context = useContext(Context);\n\n if (!context) {\n throw new Error('❌ [WebContext] useWebContext must be used within a provider <WebContext>');\n }\n\n return context;\n};\n\nexport default WebContext;\n"],"mappings":";;AAAA,OAAOA,KAAP,IAAeC,aAAf,EAA8BC,UAA9B,QAA+C,OAA/C;AAaA,MAAMC,OAAO,gBAAGF,aAAa,CAAC;EAC5BG,SAAS,EAAGC,GAAD,IAAiBA;AADA,CAAD,CAA7B;;AAQA,MAAMC,UAAU,GAAG,CAAC;EAACC,IAAD;EAAOH,SAAP;EAAkBI;AAAlB,CAAD,KAAwC;EACzD,MAAMC,MAAM,GAAG;IAACF,IAAD;IAAOH;EAAP,CAAf;EACA,oBAAO,oBAAC,OAAD,CAAS,QAAT;IAAkB,KAAK,eAAMK,MAAN;EAAvB,GAAuCD,QAAvC,CAAP;AACD,CAHD;;AAKA,OAAO,MAAME,aAAa,GAAG,MAAwB;EACnD,MAAMC,OAAO,GAAGT,UAAU,CAACC,OAAD,CAA1B;;EAEA,IAAI,CAACQ,OAAL,EAAc;IACZ,MAAM,IAAIC,KAAJ,CAAU,0EAAV,CAAN;EACD;;EAED,OAAOD,OAAP;AACD,CARM;AAUP,eAAeL,UAAf"}
1
+ {"version":3,"file":"web-context.js","names":["React","createContext","useContext","Context","translate","key","WebContext","skin","children","values","useWebContext","context","Error"],"sources":["../../../src/atom/provider/web-context.tsx"],"sourcesContent":["import React, {createContext, useContext} from 'react';\n\ntype Skin = {\n common: {\n primary: string;\n };\n};\n\ntype WebContextValues = {\n skin?: Skin;\n translate: (key: string) => string;\n};\n\nconst Context = createContext({\n translate: (key: string) => key\n});\n\ntype Props = WebContextValues & {\n children: any;\n};\n\nconst WebContext = ({skin, translate, children}: Props) => {\n const values = {skin, translate};\n return <Context.Provider value={{...values}}>{children}</Context.Provider>;\n};\n\nexport const useWebContext = (): WebContextValues => {\n const context = useContext(Context);\n\n if (!context) {\n throw new Error('❌ [WebContext] useWebContext must be used within a provider <WebContext>');\n }\n\n return context;\n};\n\nexport default WebContext;\n"],"mappings":";;AAAA,OAAOA,KAAP,IAAeC,aAAf,EAA8BC,UAA9B,QAA+C,OAA/C;AAaA,MAAMC,OAAO,GAAGF,aAAa,CAAC;EAC5BG,SAAS,EAAGC,GAAD,IAAiBA;AADA,CAAD,CAA7B;;AAQA,MAAMC,UAAU,GAAG,CAAC;EAACC,IAAD;EAAOH,SAAP;EAAkBI;AAAlB,CAAD,KAAwC;EACzD,MAAMC,MAAM,GAAG;IAACF,IAAD;IAAOH;EAAP,CAAf;EACA,oBAAO,oBAAC,OAAD,CAAS,QAAT;IAAkB,KAAK,eAAMK,MAAN;EAAvB,GAAuCD,QAAvC,CAAP;AACD,CAHD;;AAKA,OAAO,MAAME,aAAa,GAAG,MAAwB;EACnD,MAAMC,OAAO,GAAGT,UAAU,CAACC,OAAD,CAA1B;;EAEA,IAAI,CAACQ,OAAL,EAAc;IACZ,MAAM,IAAIC,KAAJ,CAAU,0EAAV,CAAN;EACD;;EAED,OAAOD,OAAP;AACD,CARM;AAUP,eAAeL,UAAf"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useMemo","PropTypes","classnames","filter","find","get","getOr","includes","keys","map","size","NovaCompositionNavigationArrowDown","ArrowDown","Provider","GetSkinFromContext","getClassState","style","themeStyle","invalid","header","mooc","question","sort","thematiques","player","template","coorpmanager","Select","props","legacyContext","name","options","className","borderClassName","onChange","multiple","disabled","required","description","theme","modified","error","title","propTitle","skin","optionList","option","index","value","selectOption","titleView","selected","selectedLabel","isSelectedInValidOption","validOption","handleChange","e","target","selectedOptions","black","color","shouldUseSkinFontColor","arrowColor","undefined","arrowView","selectedArrow","arrow","behaviourClassName","default","composedClassName","unselected","labelSize","isLongLabel","selectWrapper","selectSpan","noLabelCommon","longLabel","selectBox","SelectOptionPropTypes","string","isRequired","oneOfType","number","bool","contextTypes","childContextTypes","propTypes","func","oneOf","arrayOf","shape"],"sources":["../../../src/atom/select/index.js"],"sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport filter from 'lodash/fp/filter';\nimport find from 'lodash/fp/find';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport includes from 'lodash/fp/includes';\nimport keys from 'lodash/fp/keys';\nimport map from 'lodash/fp/map';\nimport size from 'lodash/fp/size';\nimport {NovaCompositionNavigationArrowDown as ArrowDown} from '@coorpacademy/nova-icons';\nimport Provider, {GetSkinFromContext} from '../provider';\nimport getClassState from '../../util/get-class-state';\nimport style from './style.css';\n\nconst themeStyle = {\n filter: style.filter,\n invalid: style.invalid,\n header: style.header,\n mooc: style.mooc,\n question: style.question,\n sort: style.sort,\n thematiques: style.thematiques,\n player: style.player,\n template: style.template,\n coorpmanager: null\n};\n\nconst Select = (props, legacyContext) => {\n const {\n name,\n options = [],\n className,\n borderClassName,\n onChange,\n multiple = false,\n disabled,\n required,\n description,\n theme,\n modified = false,\n error = false,\n title: propTitle\n } = props;\n\n const skin = GetSkinFromContext(legacyContext);\n const title = useMemo(() => (propTitle ? `${propTitle}${required ? '*' : ''}` : null), [\n propTitle,\n required\n ]);\n\n const optionList =\n options &&\n options.map((option, index) => {\n return (\n <option key={index} value={option.value} className={style.selectOption}>\n {option.name}\n </option>\n );\n });\n\n const titleView = title ? <span className={style.title}>{title} </span> : null;\n\n const selected = useMemo(\n () =>\n multiple\n ? map(get('value'), filter({selected: true}, options))\n : get('value', find({selected: true}, options)),\n [multiple, options]\n );\n const selectedLabel = useMemo(\n () =>\n multiple\n ? map(get('name'), filter({selected: true}, options))\n : get('name', find({selected: true}, options)),\n [multiple, options]\n );\n\n const isSelectedInValidOption = useMemo(\n () =>\n theme === 'player' &&\n getOr(false, 'name', find({validOption: false, selected: true}, options)),\n [options, theme]\n );\n\n const handleChange = useMemo(\n () =>\n multiple\n ? e => {\n onChange(map(get('value'), e.target.selectedOptions));\n }\n : e => {\n onChange(e.target.value);\n },\n [onChange, multiple]\n );\n\n const black = useMemo(() => getOr('#14171A', 'common.black', skin), [skin]);\n const color = useMemo(() => getOr('#00B0FF', 'common.primary', skin), [skin]);\n const shouldUseSkinFontColor = useMemo(\n () =>\n !isSelectedInValidOption && selected && includes(theme, ['question', 'template', 'player']),\n [isSelectedInValidOption, selected, theme]\n );\n const arrowColor = selected ? color : undefined;\n\n const arrowView = !multiple ? (\n <ArrowDown\n color={includes(theme, ['question', 'template', 'player']) ? arrowColor : black}\n className={shouldUseSkinFontColor ? style.selectedArrow : style.arrow}\n />\n ) : null;\n const behaviourClassName = useMemo(\n () => getClassState(style.default, style.modified, style.error, modified, error),\n [error, modified]\n );\n const composedClassName = useMemo(\n () =>\n classnames(\n theme && theme !== 'coorpmanager' ? themeStyle[theme] : behaviourClassName,\n selected ? style.selected : style.unselected,\n className\n ),\n [behaviourClassName, className, selected, theme]\n );\n\n const labelSize = useMemo(() => size(selectedLabel), [selectedLabel]);\n\n const isLongLabel = useMemo(() => labelSize >= 65, [labelSize]);\n\n return (\n <div\n className={classnames(\n composedClassName,\n theme === 'coorpmanager' ? style.coorpmanager : null\n )}\n >\n <label\n data-name=\"select-wrapper\"\n style={{\n ...(shouldUseSkinFontColor && {\n color\n })\n }}\n className={style.selectWrapper}\n >\n {titleView}\n <span\n data-name=\"select-span\"\n className={classnames(\n style.selectSpan,\n includes(theme, ['player', 'invalid', 'question', 'thematiques', 'template'])\n ? style.noLabelCommon\n : null,\n borderClassName,\n isLongLabel ? style.longLabel : null\n )}\n style={{\n ...(shouldUseSkinFontColor && {\n color\n })\n }}\n >\n {selectedLabel}\n </span>\n {arrowView}\n <select\n data-name=\"native-select\"\n className={style.selectBox}\n title={selectedLabel}\n name={name}\n onChange={handleChange}\n value={selected}\n multiple={multiple}\n disabled={disabled}\n >\n {optionList}\n </select>\n </label>\n <div className={style.description}>{description}</div>\n </div>\n );\n};\n\nexport const SelectOptionPropTypes = {\n name: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n selected: PropTypes.bool,\n validOption: PropTypes.bool\n};\n\nSelect.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nSelect.propTypes = {\n title: PropTypes.string,\n name: PropTypes.string,\n className: PropTypes.string,\n borderClassName: PropTypes.string,\n disabled: PropTypes.bool,\n multiple: PropTypes.bool,\n description: PropTypes.string,\n required: PropTypes.bool,\n onChange: PropTypes.func,\n theme: PropTypes.oneOf(keys(themeStyle)),\n options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes)),\n modified: PropTypes.bool,\n error: PropTypes.bool\n};\n\nexport default Select;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","useMemo","PropTypes","classnames","filter","find","get","getOr","includes","keys","map","size","NovaCompositionNavigationArrowDown","ArrowDown","Provider","GetSkinFromContext","getClassState","style","themeStyle","invalid","header","mooc","question","sort","thematiques","player","template","coorpmanager","Select","props","legacyContext","name","options","className","borderClassName","onChange","multiple","disabled","required","description","theme","modified","error","title","propTitle","skin","optionList","option","index","value","selectOption","titleView","selected","selectedLabel","isSelectedInValidOption","validOption","handleChange","e","target","selectedOptions","black","color","shouldUseSkinFontColor","arrowColor","undefined","arrowView","selectedArrow","arrow","behaviourClassName","default","composedClassName","unselected","labelSize","isLongLabel","selectWrapper","selectSpan","noLabelCommon","longLabel","selectBox","SelectOptionPropTypes","string","isRequired","oneOfType","number","bool","contextTypes","childContextTypes","propTypes","func","oneOf","arrayOf","shape"],"sources":["../../../src/atom/select/index.js"],"sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport filter from 'lodash/fp/filter';\nimport find from 'lodash/fp/find';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport includes from 'lodash/fp/includes';\nimport keys from 'lodash/fp/keys';\nimport map from 'lodash/fp/map';\nimport size from 'lodash/fp/size';\nimport {NovaCompositionNavigationArrowDown as ArrowDown} from '@coorpacademy/nova-icons';\nimport Provider, {GetSkinFromContext} from '../provider';\nimport getClassState from '../../util/get-class-state';\nimport style from './style.css';\n\nconst themeStyle = {\n filter: style.filter,\n invalid: style.invalid,\n header: style.header,\n mooc: style.mooc,\n question: style.question,\n sort: style.sort,\n thematiques: style.thematiques,\n player: style.player,\n template: style.template,\n coorpmanager: null\n};\n\nconst Select = (props, legacyContext) => {\n const {\n name,\n options = [],\n className,\n borderClassName,\n onChange,\n multiple = false,\n disabled,\n required,\n description,\n theme,\n modified = false,\n error = false,\n title: propTitle\n } = props;\n\n const skin = GetSkinFromContext(legacyContext);\n const title = useMemo(\n () => (propTitle ? `${propTitle}${required ? '*' : ''}` : null),\n [propTitle, required]\n );\n\n const optionList =\n options &&\n options.map((option, index) => {\n return (\n <option key={index} value={option.value} className={style.selectOption}>\n {option.name}\n </option>\n );\n });\n\n const titleView = title ? <span className={style.title}>{title} </span> : null;\n\n const selected = useMemo(\n () =>\n multiple\n ? map(get('value'), filter({selected: true}, options))\n : get('value', find({selected: true}, options)),\n [multiple, options]\n );\n const selectedLabel = useMemo(\n () =>\n multiple\n ? map(get('name'), filter({selected: true}, options))\n : get('name', find({selected: true}, options)),\n [multiple, options]\n );\n\n const isSelectedInValidOption = useMemo(\n () =>\n theme === 'player' &&\n getOr(false, 'name', find({validOption: false, selected: true}, options)),\n [options, theme]\n );\n\n const handleChange = useMemo(\n () =>\n multiple\n ? e => {\n onChange(map(get('value'), e.target.selectedOptions));\n }\n : e => {\n onChange(e.target.value);\n },\n [onChange, multiple]\n );\n\n const black = useMemo(() => getOr('#14171A', 'common.black', skin), [skin]);\n const color = useMemo(() => getOr('#00B0FF', 'common.primary', skin), [skin]);\n const shouldUseSkinFontColor = useMemo(\n () =>\n !isSelectedInValidOption && selected && includes(theme, ['question', 'template', 'player']),\n [isSelectedInValidOption, selected, theme]\n );\n const arrowColor = selected ? color : undefined;\n\n const arrowView = !multiple ? (\n <ArrowDown\n color={includes(theme, ['question', 'template', 'player']) ? arrowColor : black}\n className={shouldUseSkinFontColor ? style.selectedArrow : style.arrow}\n />\n ) : null;\n const behaviourClassName = useMemo(\n () => getClassState(style.default, style.modified, style.error, modified, error),\n [error, modified]\n );\n const composedClassName = useMemo(\n () =>\n classnames(\n theme && theme !== 'coorpmanager' ? themeStyle[theme] : behaviourClassName,\n selected ? style.selected : style.unselected,\n className\n ),\n [behaviourClassName, className, selected, theme]\n );\n\n const labelSize = useMemo(() => size(selectedLabel), [selectedLabel]);\n\n const isLongLabel = useMemo(() => labelSize >= 65, [labelSize]);\n\n return (\n <div\n className={classnames(\n composedClassName,\n theme === 'coorpmanager' ? style.coorpmanager : null\n )}\n >\n <label\n data-name=\"select-wrapper\"\n style={{\n ...(shouldUseSkinFontColor && {\n color\n })\n }}\n className={style.selectWrapper}\n >\n {titleView}\n <span\n data-name=\"select-span\"\n className={classnames(\n style.selectSpan,\n includes(theme, ['player', 'invalid', 'question', 'thematiques', 'template'])\n ? style.noLabelCommon\n : null,\n borderClassName,\n isLongLabel ? style.longLabel : null\n )}\n style={{\n ...(shouldUseSkinFontColor && {\n color\n })\n }}\n >\n {selectedLabel}\n </span>\n {arrowView}\n <select\n data-name=\"native-select\"\n className={style.selectBox}\n title={selectedLabel}\n name={name}\n onChange={handleChange}\n value={selected}\n multiple={multiple}\n disabled={disabled}\n >\n {optionList}\n </select>\n </label>\n <div className={style.description}>{description}</div>\n </div>\n );\n};\n\nexport const SelectOptionPropTypes = {\n name: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n selected: PropTypes.bool,\n validOption: PropTypes.bool\n};\n\nSelect.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nSelect.propTypes = {\n title: PropTypes.string,\n name: PropTypes.string,\n className: PropTypes.string,\n borderClassName: PropTypes.string,\n disabled: PropTypes.bool,\n multiple: PropTypes.bool,\n description: PropTypes.string,\n required: PropTypes.bool,\n onChange: PropTypes.func,\n theme: PropTypes.oneOf(keys(themeStyle)),\n options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes)),\n modified: PropTypes.bool,\n error: PropTypes.bool\n};\n\nexport default Select;\n"],"mappings":"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"}
@@ -78,10 +78,10 @@ const Select = props => {
78
78
 
79
79
  const selectedItem = values.find(item => item.selected);
80
80
  const text = selectedItem && selectedItem.text || placeholder || null;
81
- const textStyles = [styleSheet.text];
81
+ let textStyles = [styleSheet.text];
82
82
 
83
83
  if (textStyle) {
84
- textStyles.push(textStyle);
84
+ textStyles = [styleSheet.text, ...textStyle];
85
85
  }
86
86
 
87
87
  if (color) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.js","names":["React","useState","useEffect","useCallback","View","StyleSheet","NovaCompositionNavigationArrowDown","ArrowDown","Modal","Touchable","ANALYTICS_EVENT_TYPE","Space","Text","ModalSelect","useTemplateContext","ICON_WIDTH","createStyleSheet","theme","create","container","alignItems","flexDirection","text","flex","color","colors","gray","medium","textAlign","logEvent","eventName","analyticsID","analytics","questionType","id","Select","props","templateContext","styleSheet","setStylesheet","_stylesheet","onBlur","onFocus","onChange","values","placeholder","value","style","textStyle","isFocused","isDisabled","testID","handleFocus","OPEN_SELECT","handleBlur","CLOSE_SELECT","handleChange","_value","selectedItem","find","item","selected","textStyles","push","dark"],"sources":["../../../src/atom/select-modal/index.native.tsx"],"sourcesContent":["import React, {useState, useEffect, useCallback} from 'react';\nimport {View, StyleSheet, ViewStyle, TextStyle} from 'react-native';\nimport {NovaCompositionNavigationArrowDown as ArrowDown} from '@coorpacademy/nova-icons';\nimport Modal from 'react-native-modal';\nimport Touchable from '../../hoc/touchable/index.native';\nimport type {QuestionType} from '../../molecule/questions/types';\nimport {Theme} from '../../variables/theme.native';\n\nimport {ANALYTICS_EVENT_TYPE, Analytics} from '../../variables/analytics';\nimport Space from '../space/index.native';\nimport Text from '../text/index.native';\nimport ModalSelect, {OnChangeFunction} from '../../hoc/modal/select/index.native';\nimport {useTemplateContext} from '../../template/app-review/template-context';\n\nexport type ChoiceItem = {\n text: string;\n selected: boolean;\n _id: string;\n};\n\nexport type Props = {\n analyticsID: string;\n questionType: QuestionType;\n isDisabled?: boolean;\n isFocused?: boolean;\n values: Array<ChoiceItem>;\n value?: string;\n placeholder?: string;\n color?: string;\n onChange: OnChangeFunction;\n onFocus: () => void;\n onBlur: () => void;\n style?: ViewStyle[];\n textStyle?: ViewStyle;\n testID?: string;\n};\n\ntype StyleSheetType = {\n container: ViewStyle;\n text: ViewStyle;\n};\n\nconst ICON_WIDTH = 15;\n\nconst createStyleSheet = (theme: Theme): StyleSheetType =>\n StyleSheet.create({\n container: {\n alignItems: 'center',\n flexDirection: 'row'\n },\n text: {\n flex: 1,\n color: theme.colors.gray.medium,\n textAlign: 'center'\n }\n });\n\nconst logEvent = (\n eventName: string,\n analyticsID: String,\n analytics: Analytics,\n questionType: QuestionType\n) => {\n analytics &&\n analytics.logEvent(eventName, {\n id: analyticsID,\n questionType\n });\n};\n\nconst Select = (props: Props) => {\n const templateContext = useTemplateContext();\n const {theme, analytics} = templateContext;\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(theme);\n setStylesheet(_stylesheet);\n }, [theme]);\n\n const {\n analyticsID,\n onBlur,\n onFocus,\n onChange,\n values,\n placeholder,\n value,\n style,\n textStyle,\n color,\n questionType,\n isFocused = false,\n isDisabled = false,\n testID = 'select'\n } = props;\n\n const handleFocus = useCallback(() => {\n if (!onFocus) return;\n\n analytics && logEvent(ANALYTICS_EVENT_TYPE.OPEN_SELECT, analyticsID, analytics, questionType);\n onFocus();\n }, [analytics, analyticsID, onFocus, questionType]);\n\n const handleBlur = useCallback(() => {\n if (!onBlur) return;\n\n analytics && logEvent(ANALYTICS_EVENT_TYPE.CLOSE_SELECT, analyticsID, analytics, questionType);\n onBlur();\n }, [analytics, analyticsID, onBlur, questionType]);\n\n const handleChange = useCallback(\n _value => {\n onChange(_value);\n handleBlur();\n },\n [onChange, handleBlur]\n );\n\n if (!styleSheet) {\n return null;\n }\n\n const selectedItem = values.find(item => item.selected);\n const text = (selectedItem && selectedItem.text) || placeholder || null;\n const textStyles: TextStyle[] = [styleSheet.text];\n\n if (textStyle) {\n textStyles.push(textStyle);\n }\n if (color) {\n textStyles.push({color});\n }\n\n return (\n <>\n <Touchable\n disabled={isDisabled}\n onPress={handleFocus}\n analyticsID={analyticsID}\n testID={`${testID}-input`}\n >\n <View style={[styleSheet.container, style]}>\n <Text style={textStyles}>{text}</Text>\n <Space type=\"tiny\" />\n <ArrowDown\n color={color || theme.colors.gray.dark}\n height={ICON_WIDTH}\n width={ICON_WIDTH}\n />\n </View>\n </Touchable>\n <Modal\n isVisible={isFocused}\n onSwipeComplete={handleBlur}\n onBackdropPress={handleBlur}\n testID={testID}\n >\n <ModalSelect\n value={value}\n values={values}\n onChange={handleChange}\n onClose={handleBlur}\n testID={`${testID}-modal`}\n />\n </Modal>\n </>\n );\n};\n\nexport default Select;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.native.js","names":["React","useState","useEffect","useCallback","View","StyleSheet","NovaCompositionNavigationArrowDown","ArrowDown","Modal","Touchable","ANALYTICS_EVENT_TYPE","Space","Text","ModalSelect","useTemplateContext","ICON_WIDTH","createStyleSheet","theme","create","container","alignItems","flexDirection","text","flex","color","colors","gray","medium","textAlign","logEvent","eventName","analyticsID","analytics","questionType","id","Select","props","templateContext","styleSheet","setStylesheet","_stylesheet","onBlur","onFocus","onChange","values","placeholder","value","style","textStyle","isFocused","isDisabled","testID","handleFocus","OPEN_SELECT","handleBlur","CLOSE_SELECT","handleChange","_value","selectedItem","find","item","selected","textStyles","push","dark"],"sources":["../../../src/atom/select-modal/index.native.tsx"],"sourcesContent":["import React, {useState, useEffect, useCallback} from 'react';\nimport {View, StyleSheet, ViewStyle, TextStyle} from 'react-native';\nimport {NovaCompositionNavigationArrowDown as ArrowDown} from '@coorpacademy/nova-icons';\nimport Modal from 'react-native-modal';\nimport Touchable from '../../hoc/touchable/index.native';\nimport type {QuestionType} from '../../molecule/questions/types';\nimport {Theme} from '../../variables/theme.native';\n\nimport {ANALYTICS_EVENT_TYPE, Analytics} from '../../variables/analytics';\nimport Space from '../space/index.native';\nimport Text from '../text/index.native';\nimport ModalSelect, {OnChangeFunction} from '../../hoc/modal/select/index.native';\nimport {useTemplateContext} from '../../template/app-review/template-context';\n\nexport type ChoiceItem = {\n text: string;\n selected: boolean;\n _id: string;\n};\n\nexport type Props = {\n analyticsID: string;\n questionType: QuestionType;\n isDisabled?: boolean;\n isFocused?: boolean;\n values: Array<ChoiceItem>;\n value?: string;\n placeholder?: string;\n color?: string;\n onChange: OnChangeFunction;\n onFocus: () => void;\n onBlur: () => void;\n style?: ViewStyle[];\n textStyle?: ViewStyle[];\n testID?: string;\n};\n\ntype StyleSheetType = {\n container: ViewStyle;\n text: ViewStyle;\n};\n\nconst ICON_WIDTH = 15;\n\nconst createStyleSheet = (theme: Theme): StyleSheetType =>\n StyleSheet.create({\n container: {\n alignItems: 'center',\n flexDirection: 'row'\n },\n text: {\n flex: 1,\n color: theme.colors.gray.medium,\n textAlign: 'center'\n }\n });\n\nconst logEvent = (\n eventName: string,\n analyticsID: String,\n analytics: Analytics,\n questionType: QuestionType\n) => {\n analytics &&\n analytics.logEvent(eventName, {\n id: analyticsID,\n questionType\n });\n};\n\nconst Select = (props: Props) => {\n const templateContext = useTemplateContext();\n const {theme, analytics} = templateContext;\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(theme);\n setStylesheet(_stylesheet);\n }, [theme]);\n\n const {\n analyticsID,\n onBlur,\n onFocus,\n onChange,\n values,\n placeholder,\n value,\n style,\n textStyle,\n color,\n questionType,\n isFocused = false,\n isDisabled = false,\n testID = 'select'\n } = props;\n\n const handleFocus = useCallback(() => {\n if (!onFocus) return;\n\n analytics && logEvent(ANALYTICS_EVENT_TYPE.OPEN_SELECT, analyticsID, analytics, questionType);\n onFocus();\n }, [analytics, analyticsID, onFocus, questionType]);\n\n const handleBlur = useCallback(() => {\n if (!onBlur) return;\n\n analytics && logEvent(ANALYTICS_EVENT_TYPE.CLOSE_SELECT, analyticsID, analytics, questionType);\n onBlur();\n }, [analytics, analyticsID, onBlur, questionType]);\n\n const handleChange = useCallback(\n _value => {\n onChange(_value);\n handleBlur();\n },\n [onChange, handleBlur]\n );\n\n if (!styleSheet) {\n return null;\n }\n\n const selectedItem = values.find(item => item.selected);\n const text = (selectedItem && selectedItem.text) || placeholder || null;\n let textStyles: TextStyle[] = [styleSheet.text];\n\n if (textStyle) {\n textStyles = [styleSheet.text, ...textStyle];\n }\n if (color) {\n textStyles.push({color});\n }\n\n return (\n <>\n <Touchable\n disabled={isDisabled}\n onPress={handleFocus}\n analyticsID={analyticsID}\n testID={`${testID}-input`}\n >\n <View style={[styleSheet.container, style]}>\n <Text style={textStyles}>{text}</Text>\n <Space type=\"tiny\" />\n <ArrowDown\n color={color || theme.colors.gray.dark}\n height={ICON_WIDTH}\n width={ICON_WIDTH}\n />\n </View>\n </Touchable>\n <Modal\n isVisible={isFocused}\n onSwipeComplete={handleBlur}\n onBackdropPress={handleBlur}\n testID={testID}\n >\n <ModalSelect\n value={value}\n values={values}\n onChange={handleChange}\n onClose={handleBlur}\n testID={`${testID}-modal`}\n />\n </Modal>\n </>\n );\n};\n\nexport default Select;\n"],"mappings":"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"}
@@ -26,7 +26,7 @@ const AnimationAdapter = ({
26
26
  name,
27
27
  children
28
28
  }) => {
29
- return React.Children.map(children, child => /*#__PURE__*/React.cloneElement(child, {
29
+ return React.Children.map(children, child => React.cloneElement(child, {
30
30
  animated,
31
31
  onAnimationEnd: () => onAnimationEnd(name)
32
32
  }));
@@ -47,7 +47,7 @@ const walker = (type, handler) => children => {
47
47
  if (_isNil(child) || _isString(child)) return child;
48
48
  const newChild = child.type === type ? handler(child) : child;
49
49
  if (React.Children.count(newChild.props.children) === 0) return newChild;
50
- return /*#__PURE__*/React.cloneElement(newChild, {}, walker(type, handler)(newChild.props.children));
50
+ return React.cloneElement(newChild, {}, walker(type, handler)(newChild.props.children));
51
51
  });
52
52
  };
53
53
 
@@ -136,7 +136,7 @@ class AnimationScheduler extends React.Component {
136
136
  onAnimationEnd = _noop,
137
137
  after
138
138
  } = child.props;
139
- return /*#__PURE__*/React.cloneElement(child, {
139
+ return React.cloneElement(child, {
140
140
  animated: parentAnimated ? this.isAnimated(after) || animated : animated,
141
141
  onAnimationEnd: name => {
142
142
  this.handlerAnimationEnd(name);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","PropTypes","Animation","Transition","AnimationAdapter","animated","onAnimationEnd","name","children","Children","map","child","cloneElement","propTypes","string","isRequired","func","bool","pickByWithKey","convert","cap","walker","type","handler","index","newChild","count","props","reduceChildren","fun","acc","newAcc","getAnimationNames","mergeAnimationStates","animations","names","value","key","AnimationScheduler","Component","getDerivedStateFromProps","state","constructor","isAnimated","after","handlerAnimationEnd","setState","hasPendingAnimation","processAnimation","parentAnimated","render","bind","node"],"sources":["../../../src/hoc/animation-scheduler/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {\n assign,\n every,\n getOr,\n get,\n includes,\n isArray,\n isNil,\n isString,\n noop,\n pickBy,\n some,\n negate,\n identity,\n values,\n pipe,\n reduce,\n set\n} from 'lodash/fp';\nimport Animation from '../animation';\nimport Transition from '../transition';\n\nconst AnimationAdapter = ({animated, onAnimationEnd = noop, name, children}) => {\n return React.Children.map(children, child =>\n React.cloneElement(child, {\n animated,\n onAnimationEnd: () => onAnimationEnd(name)\n })\n );\n};\n\nAnimationAdapter.propTypes = {\n name: PropTypes.string.isRequired,\n onAnimationEnd: PropTypes.func,\n animated: PropTypes.bool\n};\n\nconst pickByWithKey = pickBy.convert({cap: true});\n\nconst walker = (type, handler) => children => {\n return React.Children.map(children, (child, index) => {\n if (isNil(child) || isString(child)) return child;\n const newChild = child.type === type ? handler(child) : child;\n if (React.Children.count(newChild.props.children) === 0) return newChild;\n return React.cloneElement(newChild, {}, walker(type, handler)(newChild.props.children));\n });\n};\n\nconst reduceChildren = fun => acc => children => {\n let newAcc = acc;\n React.Children.map(children, child => {\n newAcc = fun(newAcc, child);\n return child;\n });\n return newAcc;\n};\n\nconst getAnimationNames = reduceChildren((acc, child) => {\n if (isString(child)) return acc;\n\n const {\n type,\n props: {children}\n } = child;\n if (Animation !== type && Transition !== type && AnimationAdapter !== type)\n return [...acc, ...getAnimationNames(children)];\n\n const {\n props: {name}\n } = child;\n return [name, ...acc, ...getAnimationNames(children)];\n})([]);\n\nconst mergeAnimationStates = (animations, children) => {\n const names = getAnimationNames(children);\n\n return pipe(\n pickByWithKey((value, key) => includes(key, names)),\n assign(reduce((acc, name) => set(name, false, acc), {}, names))\n )(animations);\n};\n\nclass AnimationScheduler extends React.Component {\n static propTypes = {\n onAnimationEnd: PropTypes.func,\n animated: PropTypes.bool,\n children: PropTypes.node\n };\n\n static getDerivedStateFromProps(props, state) {\n const {children} = props;\n const {animations} = state;\n return {\n animations: mergeAnimationStates(animations, children)\n };\n }\n\n constructor(props) {\n super(props);\n\n const {children} = props;\n this.state = {\n animations: mergeAnimationStates({}, children)\n };\n }\n\n isAnimated(after) {\n if (isNil(after)) return true;\n\n const {animations} = this.state;\n\n const isAnimated = every(\n name => getOr(false, name, animations),\n isArray(after) ? after : [after]\n );\n\n return isAnimated;\n }\n\n handlerAnimationEnd(name) {\n this.setState(set(['animations', name], true), () => {\n const hasPendingAnimation = pipe(\n get('state.animations'),\n values,\n some(negate(identity))\n )(this);\n const {onAnimationEnd = noop} = this.props;\n if (!hasPendingAnimation) return onAnimationEnd();\n });\n }\n\n processAnimation(child) {\n const {animated: parentAnimated} = this.props;\n const {animated, onAnimationEnd = noop, after} = child.props;\n\n return React.cloneElement(child, {\n animated: parentAnimated ? this.isAnimated(after) || animated : animated,\n onAnimationEnd: name => {\n this.handlerAnimationEnd(name);\n return onAnimationEnd(name);\n }\n });\n }\n\n render() {\n const {children} = this.props;\n return pipe(\n walker(Animation, this.processAnimation.bind(this)),\n walker(Transition, this.processAnimation.bind(this)),\n walker(AnimationAdapter, this.processAnimation.bind(this))\n )(children);\n }\n}\n\nexport default AnimationScheduler;\n\nexport {AnimationAdapter};\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AAoBA,OAAOC,SAAP,MAAsB,cAAtB;AACA,OAAOC,UAAP,MAAuB,eAAvB;;AAEA,MAAMC,gBAAgB,GAAG,CAAC;EAACC,QAAD;EAAWC,cAAc,QAAzB;EAAkCC,IAAlC;EAAwCC;AAAxC,CAAD,KAAuD;EAC9E,OAAOR,KAAK,CAACS,QAAN,CAAeC,GAAf,CAAmBF,QAAnB,EAA6BG,KAAK,iBACvCX,KAAK,CAACY,YAAN,CAAmBD,KAAnB,EAA0B;IACxBN,QADwB;IAExBC,cAAc,EAAE,MAAMA,cAAc,CAACC,IAAD;EAFZ,CAA1B,CADK,CAAP;AAMD,CAPD;;AASAH,gBAAgB,CAACS,SAAjB,2CAA6B;EAC3BN,IAAI,EAAEN,SAAS,CAACa,MAAV,CAAiBC,UADI;EAE3BT,cAAc,EAAEL,SAAS,CAACe,IAFC;EAG3BX,QAAQ,EAAEJ,SAAS,CAACgB;AAHO,CAA7B;;AAMA,MAAMC,aAAa,GAAG,QAAOC,OAAP,CAAe;EAACC,GAAG,EAAE;AAAN,CAAf,CAAtB;;AAEA,MAAMC,MAAM,GAAG,CAACC,IAAD,EAAOC,OAAP,KAAmBf,QAAQ,IAAI;EAC5C,OAAOR,KAAK,CAACS,QAAN,CAAeC,GAAf,CAAmBF,QAAnB,EAA6B,CAACG,KAAD,EAAQa,KAAR,KAAkB;IACpD,IAAI,OAAMb,KAAN,KAAgB,UAASA,KAAT,CAApB,EAAqC,OAAOA,KAAP;IACrC,MAAMc,QAAQ,GAAGd,KAAK,CAACW,IAAN,KAAeA,IAAf,GAAsBC,OAAO,CAACZ,KAAD,CAA7B,GAAuCA,KAAxD;IACA,IAAIX,KAAK,CAACS,QAAN,CAAeiB,KAAf,CAAqBD,QAAQ,CAACE,KAAT,CAAenB,QAApC,MAAkD,CAAtD,EAAyD,OAAOiB,QAAP;IACzD,oBAAOzB,KAAK,CAACY,YAAN,CAAmBa,QAAnB,EAA6B,EAA7B,EAAiCJ,MAAM,CAACC,IAAD,EAAOC,OAAP,CAAN,CAAsBE,QAAQ,CAACE,KAAT,CAAenB,QAArC,CAAjC,CAAP;EACD,CALM,CAAP;AAMD,CAPD;;AASA,MAAMoB,cAAc,GAAGC,GAAG,IAAIC,GAAG,IAAItB,QAAQ,IAAI;EAC/C,IAAIuB,MAAM,GAAGD,GAAb;EACA9B,KAAK,CAACS,QAAN,CAAeC,GAAf,CAAmBF,QAAnB,EAA6BG,KAAK,IAAI;IACpCoB,MAAM,GAAGF,GAAG,CAACE,MAAD,EAASpB,KAAT,CAAZ;IACA,OAAOA,KAAP;EACD,CAHD;EAIA,OAAOoB,MAAP;AACD,CAPD;;AASA,MAAMC,iBAAiB,GAAGJ,cAAc,CAAC,CAACE,GAAD,EAAMnB,KAAN,KAAgB;EACvD,IAAI,UAASA,KAAT,CAAJ,EAAqB,OAAOmB,GAAP;EAErB,MAAM;IACJR,IADI;IAEJK,KAAK,EAAE;MAACnB;IAAD;EAFH,IAGFG,KAHJ;EAIA,IAAIT,SAAS,KAAKoB,IAAd,IAAsBnB,UAAU,KAAKmB,IAArC,IAA6ClB,gBAAgB,KAAKkB,IAAtE,EACE,OAAO,CAAC,GAAGQ,GAAJ,EAAS,GAAGE,iBAAiB,CAACxB,QAAD,CAA7B,CAAP;EAEF,MAAM;IACJmB,KAAK,EAAE;MAACpB;IAAD;EADH,IAEFI,KAFJ;EAGA,OAAO,CAACJ,IAAD,EAAO,GAAGuB,GAAV,EAAe,GAAGE,iBAAiB,CAACxB,QAAD,CAAnC,CAAP;AACD,CAduC,CAAd,CAcvB,EAduB,CAA1B;;AAgBA,MAAMyB,oBAAoB,GAAG,CAACC,UAAD,EAAa1B,QAAb,KAA0B;EACrD,MAAM2B,KAAK,GAAGH,iBAAiB,CAACxB,QAAD,CAA/B;EAEA,OAAO,MACLU,aAAa,CAAC,CAACkB,KAAD,EAAQC,GAAR,KAAgB,UAASA,GAAT,EAAcF,KAAd,CAAjB,CADR,EAEL,QAAO,QAAO,CAACL,GAAD,EAAMvB,IAAN,KAAe,KAAIA,IAAJ,EAAU,KAAV,EAAiBuB,GAAjB,CAAtB,EAA6C,EAA7C,EAAiDK,KAAjD,CAAP,CAFK,EAGLD,UAHK,CAAP;AAID,CAPD;;AASA,MAAMI,kBAAN,SAAiCtC,KAAK,CAACuC,SAAvC,CAAiD;EAOhB,OAAxBC,wBAAwB,CAACb,KAAD,EAAQc,KAAR,EAAe;IAC5C,MAAM;MAACjC;IAAD,IAAamB,KAAnB;IACA,MAAM;MAACO;IAAD,IAAeO,KAArB;IACA,OAAO;MACLP,UAAU,EAAED,oBAAoB,CAACC,UAAD,EAAa1B,QAAb;IAD3B,CAAP;EAGD;;EAEDkC,WAAW,CAACf,KAAD,EAAQ;IACjB,MAAMA,KAAN;IAEA,MAAM;MAACnB;IAAD,IAAamB,KAAnB;IACA,KAAKc,KAAL,GAAa;MACXP,UAAU,EAAED,oBAAoB,CAAC,EAAD,EAAKzB,QAAL;IADrB,CAAb;EAGD;;EAEDmC,UAAU,CAACC,KAAD,EAAQ;IAChB,IAAI,OAAMA,KAAN,CAAJ,EAAkB,OAAO,IAAP;IAElB,MAAM;MAACV;IAAD,IAAe,KAAKO,KAA1B;;IAEA,MAAME,UAAU,GAAG,OACjBpC,IAAI,IAAI,OAAM,KAAN,EAAaA,IAAb,EAAmB2B,UAAnB,CADS,EAEjB,SAAQU,KAAR,IAAiBA,KAAjB,GAAyB,CAACA,KAAD,CAFR,CAAnB;;IAKA,OAAOD,UAAP;EACD;;EAEDE,mBAAmB,CAACtC,IAAD,EAAO;IACxB,KAAKuC,QAAL,CAAc,KAAI,CAAC,YAAD,EAAevC,IAAf,CAAJ,EAA0B,IAA1B,CAAd,EAA+C,MAAM;MACnD,MAAMwC,mBAAmB,GAAG,MAC1B,KAAI,kBAAJ,CAD0B,WAG1B,MAAK,kBAAL,CAH0B,EAI1B,IAJ0B,CAA5B;;MAKA,MAAM;QAACzC,cAAc;MAAf,IAA0B,KAAKqB,KAArC;MACA,IAAI,CAACoB,mBAAL,EAA0B,OAAOzC,cAAc,EAArB;IAC3B,CARD;EASD;;EAED0C,gBAAgB,CAACrC,KAAD,EAAQ;IACtB,MAAM;MAACN,QAAQ,EAAE4C;IAAX,IAA6B,KAAKtB,KAAxC;IACA,MAAM;MAACtB,QAAD;MAAWC,cAAc,QAAzB;MAAkCsC;IAAlC,IAA2CjC,KAAK,CAACgB,KAAvD;IAEA,oBAAO3B,KAAK,CAACY,YAAN,CAAmBD,KAAnB,EAA0B;MAC/BN,QAAQ,EAAE4C,cAAc,GAAG,KAAKN,UAAL,CAAgBC,KAAhB,KAA0BvC,QAA7B,GAAwCA,QADjC;MAE/BC,cAAc,EAAEC,IAAI,IAAI;QACtB,KAAKsC,mBAAL,CAAyBtC,IAAzB;QACA,OAAOD,cAAc,CAACC,IAAD,CAArB;MACD;IAL8B,CAA1B,CAAP;EAOD;;EAED2C,MAAM,GAAG;IACP,MAAM;MAAC1C;IAAD,IAAa,KAAKmB,KAAxB;IACA,OAAO,MACLN,MAAM,CAACnB,SAAD,EAAY,KAAK8C,gBAAL,CAAsBG,IAAtB,CAA2B,IAA3B,CAAZ,CADD,EAEL9B,MAAM,CAAClB,UAAD,EAAa,KAAK6C,gBAAL,CAAsBG,IAAtB,CAA2B,IAA3B,CAAb,CAFD,EAGL9B,MAAM,CAACjB,gBAAD,EAAmB,KAAK4C,gBAAL,CAAsBG,IAAtB,CAA2B,IAA3B,CAAnB,CAHD,EAIL3C,QAJK,CAAP;EAKD;;AArE8C;;AAA3C8B,kB,CACGzB,S,2CAAY;EACjBP,cAAc,EAAEL,SAAS,CAACe,IADT;EAEjBX,QAAQ,EAAEJ,SAAS,CAACgB,IAFH;EAGjBT,QAAQ,EAAEP,SAAS,CAACmD;AAHH,C;AAuErB,eAAed,kBAAf;AAEA,SAAQlC,gBAAR"}
1
+ {"version":3,"file":"index.js","names":["React","PropTypes","Animation","Transition","AnimationAdapter","animated","onAnimationEnd","name","children","Children","map","child","cloneElement","propTypes","string","isRequired","func","bool","pickByWithKey","convert","cap","walker","type","handler","index","newChild","count","props","reduceChildren","fun","acc","newAcc","getAnimationNames","mergeAnimationStates","animations","names","value","key","AnimationScheduler","Component","getDerivedStateFromProps","state","constructor","isAnimated","after","handlerAnimationEnd","setState","hasPendingAnimation","processAnimation","parentAnimated","render","bind","node"],"sources":["../../../src/hoc/animation-scheduler/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {\n assign,\n every,\n getOr,\n get,\n includes,\n isArray,\n isNil,\n isString,\n noop,\n pickBy,\n some,\n negate,\n identity,\n values,\n pipe,\n reduce,\n set\n} from 'lodash/fp';\nimport Animation from '../animation';\nimport Transition from '../transition';\n\nconst AnimationAdapter = ({animated, onAnimationEnd = noop, name, children}) => {\n return React.Children.map(children, child =>\n React.cloneElement(child, {\n animated,\n onAnimationEnd: () => onAnimationEnd(name)\n })\n );\n};\n\nAnimationAdapter.propTypes = {\n name: PropTypes.string.isRequired,\n onAnimationEnd: PropTypes.func,\n animated: PropTypes.bool\n};\n\nconst pickByWithKey = pickBy.convert({cap: true});\n\nconst walker = (type, handler) => children => {\n return React.Children.map(children, (child, index) => {\n if (isNil(child) || isString(child)) return child;\n const newChild = child.type === type ? handler(child) : child;\n if (React.Children.count(newChild.props.children) === 0) return newChild;\n return React.cloneElement(newChild, {}, walker(type, handler)(newChild.props.children));\n });\n};\n\nconst reduceChildren = fun => acc => children => {\n let newAcc = acc;\n React.Children.map(children, child => {\n newAcc = fun(newAcc, child);\n return child;\n });\n return newAcc;\n};\n\nconst getAnimationNames = reduceChildren((acc, child) => {\n if (isString(child)) return acc;\n\n const {\n type,\n props: {children}\n } = child;\n if (Animation !== type && Transition !== type && AnimationAdapter !== type)\n return [...acc, ...getAnimationNames(children)];\n\n const {\n props: {name}\n } = child;\n return [name, ...acc, ...getAnimationNames(children)];\n})([]);\n\nconst mergeAnimationStates = (animations, children) => {\n const names = getAnimationNames(children);\n\n return pipe(\n pickByWithKey((value, key) => includes(key, names)),\n assign(reduce((acc, name) => set(name, false, acc), {}, names))\n )(animations);\n};\n\nclass AnimationScheduler extends React.Component {\n static propTypes = {\n onAnimationEnd: PropTypes.func,\n animated: PropTypes.bool,\n children: PropTypes.node\n };\n\n static getDerivedStateFromProps(props, state) {\n const {children} = props;\n const {animations} = state;\n return {\n animations: mergeAnimationStates(animations, children)\n };\n }\n\n constructor(props) {\n super(props);\n\n const {children} = props;\n this.state = {\n animations: mergeAnimationStates({}, children)\n };\n }\n\n isAnimated(after) {\n if (isNil(after)) return true;\n\n const {animations} = this.state;\n\n const isAnimated = every(\n name => getOr(false, name, animations),\n isArray(after) ? after : [after]\n );\n\n return isAnimated;\n }\n\n handlerAnimationEnd(name) {\n this.setState(set(['animations', name], true), () => {\n const hasPendingAnimation = pipe(\n get('state.animations'),\n values,\n some(negate(identity))\n )(this);\n const {onAnimationEnd = noop} = this.props;\n if (!hasPendingAnimation) return onAnimationEnd();\n });\n }\n\n processAnimation(child) {\n const {animated: parentAnimated} = this.props;\n const {animated, onAnimationEnd = noop, after} = child.props;\n\n return React.cloneElement(child, {\n animated: parentAnimated ? this.isAnimated(after) || animated : animated,\n onAnimationEnd: name => {\n this.handlerAnimationEnd(name);\n return onAnimationEnd(name);\n }\n });\n }\n\n render() {\n const {children} = this.props;\n return pipe(\n walker(Animation, this.processAnimation.bind(this)),\n walker(Transition, this.processAnimation.bind(this)),\n walker(AnimationAdapter, this.processAnimation.bind(this))\n )(children);\n }\n}\n\nexport default AnimationScheduler;\n\nexport {AnimationAdapter};\n"],"mappings":"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"}
@@ -40,7 +40,7 @@ class Swapper extends React.Component {
40
40
  props = _objectWithoutPropertiesLoose(_this$props, _excluded);
41
41
 
42
42
  const child = React.Children.only(children);
43
- return init ? /*#__PURE__*/React.cloneElement(child, props) : child;
43
+ return init ? React.cloneElement(child, props) : child;
44
44
  }
45
45
 
46
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","PropTypes","safeCancelAnimationFrame","requestId","cancelAnimationFrame","Swapper","Component","constructor","props","state","init","componentDidMount","requestAnimationFrame","requestID","setState","componentWillUnmount","undefined","render","children","child","Children","only","cloneElement","propTypes","node"],"sources":["../../../src/hoc/swapper/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport const safeCancelAnimationFrame = requestId => requestId && cancelAnimationFrame(requestId);\n\nclass Swapper extends React.Component {\n static propTypes = {\n children: PropTypes.node\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n init: true\n };\n }\n\n componentDidMount() {\n if (typeof requestAnimationFrame !== 'undefined') {\n this.requestID = requestAnimationFrame(() => this.setState({init: false}));\n }\n }\n\n componentWillUnmount() {\n if (this.requestID !== undefined) {\n safeCancelAnimationFrame(this.requestID);\n }\n }\n\n render() {\n const {init} = this.state;\n const {children, ...props} = this.props;\n const child = React.Children.only(children);\n\n return init ? React.cloneElement(child, props) : child;\n }\n}\n\nexport default Swapper;\n"],"mappings":";;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AAEA,OAAO,MAAMC,wBAAwB,GAAGC,SAAS,IAAIA,SAAS,IAAIC,oBAAoB,CAACD,SAAD,CAA/E;;AAEP,MAAME,OAAN,SAAsBL,KAAK,CAACM,SAA5B,CAAsC;EAKpCC,WAAW,CAACC,KAAD,EAAQ;IACjB,MAAMA,KAAN;IAEA,KAAKC,KAAL,GAAa;MACXC,IAAI,EAAE;IADK,CAAb;EAGD;;EAEDC,iBAAiB,GAAG;IAClB,IAAI,OAAOC,qBAAP,KAAiC,WAArC,EAAkD;MAChD,KAAKC,SAAL,GAAiBD,qBAAqB,CAAC,MAAM,KAAKE,QAAL,CAAc;QAACJ,IAAI,EAAE;MAAP,CAAd,CAAP,CAAtC;IACD;EACF;;EAEDK,oBAAoB,GAAG;IACrB,IAAI,KAAKF,SAAL,KAAmBG,SAAvB,EAAkC;MAChCd,wBAAwB,CAAC,KAAKW,SAAN,CAAxB;IACD;EACF;;EAEDI,MAAM,GAAG;IACP,MAAM;MAACP;IAAD,IAAS,KAAKD,KAApB;;IACA,oBAA6B,KAAKD,KAAlC;IAAA,MAAM;MAACU;IAAD,CAAN;IAAA,MAAoBV,KAApB;;IACA,MAAMW,KAAK,GAAGnB,KAAK,CAACoB,QAAN,CAAeC,IAAf,CAAoBH,QAApB,CAAd;IAEA,OAAOR,IAAI,gBAAGV,KAAK,CAACsB,YAAN,CAAmBH,KAAnB,EAA0BX,KAA1B,CAAH,GAAsCW,KAAjD;EACD;;AA/BmC;;AAAhCd,O,CACGkB,S,2CAAY;EACjBL,QAAQ,EAAEjB,SAAS,CAACuB;AADH,C;AAiCrB,eAAenB,OAAf"}
1
+ {"version":3,"file":"index.js","names":["React","PropTypes","safeCancelAnimationFrame","requestId","cancelAnimationFrame","Swapper","Component","constructor","props","state","init","componentDidMount","requestAnimationFrame","requestID","setState","componentWillUnmount","undefined","render","children","child","Children","only","cloneElement","propTypes","node"],"sources":["../../../src/hoc/swapper/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport const safeCancelAnimationFrame = requestId => requestId && cancelAnimationFrame(requestId);\n\nclass Swapper extends React.Component {\n static propTypes = {\n children: PropTypes.node\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n init: true\n };\n }\n\n componentDidMount() {\n if (typeof requestAnimationFrame !== 'undefined') {\n this.requestID = requestAnimationFrame(() => this.setState({init: false}));\n }\n }\n\n componentWillUnmount() {\n if (this.requestID !== undefined) {\n safeCancelAnimationFrame(this.requestID);\n }\n }\n\n render() {\n const {init} = this.state;\n const {children, ...props} = this.props;\n const child = React.Children.only(children);\n\n return init ? React.cloneElement(child, props) : child;\n }\n}\n\nexport default Swapper;\n"],"mappings":";;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AAEA,OAAO,MAAMC,wBAAwB,GAAGC,SAAS,IAAIA,SAAS,IAAIC,oBAAoB,CAACD,SAAD,CAA/E;;AAEP,MAAME,OAAN,SAAsBL,KAAK,CAACM,SAA5B,CAAsC;EAKpCC,WAAW,CAACC,KAAD,EAAQ;IACjB,MAAMA,KAAN;IAEA,KAAKC,KAAL,GAAa;MACXC,IAAI,EAAE;IADK,CAAb;EAGD;;EAEDC,iBAAiB,GAAG;IAClB,IAAI,OAAOC,qBAAP,KAAiC,WAArC,EAAkD;MAChD,KAAKC,SAAL,GAAiBD,qBAAqB,CAAC,MAAM,KAAKE,QAAL,CAAc;QAACJ,IAAI,EAAE;MAAP,CAAd,CAAP,CAAtC;IACD;EACF;;EAEDK,oBAAoB,GAAG;IACrB,IAAI,KAAKF,SAAL,KAAmBG,SAAvB,EAAkC;MAChCd,wBAAwB,CAAC,KAAKW,SAAN,CAAxB;IACD;EACF;;EAEDI,MAAM,GAAG;IACP,MAAM;MAACP;IAAD,IAAS,KAAKD,KAApB;;IACA,oBAA6B,KAAKD,KAAlC;IAAA,MAAM;MAACU;IAAD,CAAN;IAAA,MAAoBV,KAApB;;IACA,MAAMW,KAAK,GAAGnB,KAAK,CAACoB,QAAN,CAAeC,IAAf,CAAoBH,QAApB,CAAd;IAEA,OAAOR,IAAI,GAAGV,KAAK,CAACsB,YAAN,CAAmBH,KAAnB,EAA0BX,KAA1B,CAAH,GAAsCW,KAAjD;EACD;;AA/BmC;;AAAhCd,O,CACGkB,S,2CAAY;EACjBL,QAAQ,EAAEjB,SAAS,CAACuB;AADH,C;AAiCrB,eAAenB,OAAf"}
@@ -24,7 +24,7 @@ const Transition = props => {
24
24
  const handlerAnimationEnd = useMemo(() => () => {
25
25
  return onAnimationEnd(name);
26
26
  }, []);
27
- return /*#__PURE__*/React.cloneElement(child, {
27
+ return React.cloneElement(child, {
28
28
  className: classnames(propClassName, className),
29
29
  onTransitionEnd: handlerAnimationEnd,
30
30
  onAnimationEnd: handlerAnimationEnd
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useMemo","PropTypes","classnames","Transition","props","name","children","className","animated","onAnimationEnd","Child","child","propClassName","handlerAnimationEnd","cloneElement","onTransitionEnd","Children","map","propTypes","string","isRequired","func","bool"],"sources":["../../../src/hoc/transition/index.js"],"sourcesContent":["import React, {useMemo} from 'react';\nimport {noop} from 'lodash/fp';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\n\nconst Transition = props => {\n const {name, children, className, animated, onAnimationEnd = noop} = props;\n\n if (!animated) return children;\n\n const Child = ({child}) => {\n const {\n props: {className: propClassName}\n } = child;\n\n const handlerAnimationEnd = useMemo(\n () => () => {\n return onAnimationEnd(name);\n },\n []\n );\n\n return React.cloneElement(child, {\n className: classnames(propClassName, className),\n onTransitionEnd: handlerAnimationEnd,\n onAnimationEnd: handlerAnimationEnd\n });\n };\n\n return React.Children.map(children, child => <Child child={child} />);\n};\n\nTransition.propTypes = {\n name: PropTypes.string.isRequired,\n onAnimationEnd: PropTypes.func,\n animated: PropTypes.bool\n};\n\nexport default Transition;\n"],"mappings":";AAAA,OAAOA,KAAP,IAAeC,OAAf,QAA6B,OAA7B;AAEA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;;AAEA,MAAMC,UAAU,GAAGC,KAAK,IAAI;EAC1B,MAAM;IAACC,IAAD;IAAOC,QAAP;IAAiBC,SAAjB;IAA4BC,QAA5B;IAAsCC,cAAc;EAApD,IAA+DL,KAArE;EAEA,IAAI,CAACI,QAAL,EAAe,OAAOF,QAAP;;EAEf,MAAMI,KAAK,GAAG,CAAC;IAACC;EAAD,CAAD,KAAa;IACzB,MAAM;MACJP,KAAK,EAAE;QAACG,SAAS,EAAEK;MAAZ;IADH,IAEFD,KAFJ;IAIA,MAAME,mBAAmB,GAAGb,OAAO,CACjC,MAAM,MAAM;MACV,OAAOS,cAAc,CAACJ,IAAD,CAArB;IACD,CAHgC,EAIjC,EAJiC,CAAnC;IAOA,oBAAON,KAAK,CAACe,YAAN,CAAmBH,KAAnB,EAA0B;MAC/BJ,SAAS,EAAEL,UAAU,CAACU,aAAD,EAAgBL,SAAhB,CADU;MAE/BQ,eAAe,EAAEF,mBAFc;MAG/BJ,cAAc,EAAEI;IAHe,CAA1B,CAAP;EAKD,CAjBD;;EAmBA,OAAOd,KAAK,CAACiB,QAAN,CAAeC,GAAf,CAAmBX,QAAnB,EAA6BK,KAAK,iBAAI,oBAAC,KAAD;IAAO,KAAK,EAAEA;EAAd,EAAtC,CAAP;AACD,CAzBD;;AA2BAR,UAAU,CAACe,SAAX,2CAAuB;EACrBb,IAAI,EAAEJ,SAAS,CAACkB,MAAV,CAAiBC,UADF;EAErBX,cAAc,EAAER,SAAS,CAACoB,IAFL;EAGrBb,QAAQ,EAAEP,SAAS,CAACqB;AAHC,CAAvB;AAMA,eAAenB,UAAf"}
1
+ {"version":3,"file":"index.js","names":["React","useMemo","PropTypes","classnames","Transition","props","name","children","className","animated","onAnimationEnd","Child","child","propClassName","handlerAnimationEnd","cloneElement","onTransitionEnd","Children","map","propTypes","string","isRequired","func","bool"],"sources":["../../../src/hoc/transition/index.js"],"sourcesContent":["import React, {useMemo} from 'react';\nimport {noop} from 'lodash/fp';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\n\nconst Transition = props => {\n const {name, children, className, animated, onAnimationEnd = noop} = props;\n\n if (!animated) return children;\n\n const Child = ({child}) => {\n const {\n props: {className: propClassName}\n } = child;\n\n const handlerAnimationEnd = useMemo(\n () => () => {\n return onAnimationEnd(name);\n },\n []\n );\n\n return React.cloneElement(child, {\n className: classnames(propClassName, className),\n onTransitionEnd: handlerAnimationEnd,\n onAnimationEnd: handlerAnimationEnd\n });\n };\n\n return React.Children.map(children, child => <Child child={child} />);\n};\n\nTransition.propTypes = {\n name: PropTypes.string.isRequired,\n onAnimationEnd: PropTypes.func,\n animated: PropTypes.bool\n};\n\nexport default Transition;\n"],"mappings":";AAAA,OAAOA,KAAP,IAAeC,OAAf,QAA6B,OAA7B;AAEA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;;AAEA,MAAMC,UAAU,GAAGC,KAAK,IAAI;EAC1B,MAAM;IAACC,IAAD;IAAOC,QAAP;IAAiBC,SAAjB;IAA4BC,QAA5B;IAAsCC,cAAc;EAApD,IAA+DL,KAArE;EAEA,IAAI,CAACI,QAAL,EAAe,OAAOF,QAAP;;EAEf,MAAMI,KAAK,GAAG,CAAC;IAACC;EAAD,CAAD,KAAa;IACzB,MAAM;MACJP,KAAK,EAAE;QAACG,SAAS,EAAEK;MAAZ;IADH,IAEFD,KAFJ;IAIA,MAAME,mBAAmB,GAAGb,OAAO,CACjC,MAAM,MAAM;MACV,OAAOS,cAAc,CAACJ,IAAD,CAArB;IACD,CAHgC,EAIjC,EAJiC,CAAnC;IAOA,OAAON,KAAK,CAACe,YAAN,CAAmBH,KAAnB,EAA0B;MAC/BJ,SAAS,EAAEL,UAAU,CAACU,aAAD,EAAgBL,SAAhB,CADU;MAE/BQ,eAAe,EAAEF,mBAFc;MAG/BJ,cAAc,EAAEI;IAHe,CAA1B,CAAP;EAKD,CAjBD;;EAmBA,OAAOd,KAAK,CAACiB,QAAN,CAAeC,GAAf,CAAmBX,QAAnB,EAA6BK,KAAK,iBAAI,oBAAC,KAAD;IAAO,KAAK,EAAEA;EAAd,EAAtC,CAAP;AACD,CAzBD;;AA2BAR,UAAU,CAACe,SAAX,2CAAuB;EACrBb,IAAI,EAAEJ,SAAS,CAACkB,MAAV,CAAiBC,UADF;EAErBX,cAAc,EAAER,SAAS,CAACoB,IAFL;EAGrBb,QAAQ,EAAEP,SAAS,CAACqB;AAHC,CAAvB;AAMA,eAAenB,UAAf"}
@@ -1,4 +1,4 @@
1
- import React, { useState, useContext, useEffect } from 'react';
1
+ import React, { useState, useContext, useEffect, useMemo } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import classnames from 'classnames';
4
4
  import { NovaCompositionCoorpacademyCheck as CheckIcon, NovaCompositionNavigationMore as MoreIcon } from '@coorpacademy/nova-icons';
@@ -8,7 +8,7 @@ const ADD_TO_MY_LIST_STATUS = {
8
8
  IDLE: 'IDLE',
9
9
  SUCCESS: 'SUCCESS'
10
10
  };
11
- const StatusContext = /*#__PURE__*/React.createContext(ADD_TO_MY_LIST_STATUS.IDLE);
11
+ const StatusContext = React.createContext(ADD_TO_MY_LIST_STATUS.IDLE);
12
12
  export const AddToMyListStatusProvider = ({
13
13
  children
14
14
  }) => {
@@ -23,8 +23,9 @@ export const AddToMyListStatusProvider = ({
23
23
 
24
24
  return () => clearTimeout(timeoutId);
25
25
  }, [status]);
26
+ const statusValue = useMemo(() => [status, setStatus], [status, setStatus]);
26
27
  return /*#__PURE__*/React.createElement(StatusContext.Provider, {
27
- value: [status, setStatus]
28
+ value: statusValue
28
29
  }, children);
29
30
  };
30
31
  export const AddToMyListFeedback = ({
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useState","useContext","useEffect","PropTypes","classnames","NovaCompositionCoorpacademyCheck","CheckIcon","NovaCompositionNavigationMore","MoreIcon","Link","styles","ADD_TO_MY_LIST_STATUS","IDLE","SUCCESS","StatusContext","createContext","AddToMyListStatusProvider","children","status","setStatus","timeoutId","DURATION","setTimeout","clearTimeout","AddToMyListFeedback","addToMyListText","removeFromMyListText","favorite","feedback","checkIcon","AddToMyList","style","addToMyListButton","onFavoriteClick","cb","onClick","container","cta","wrapper","shareIcon","propTypes","node","string","bool","func"],"sources":["../../../src/molecule/add-to-my-list/index.js"],"sourcesContent":["import React, {useState, useContext, useEffect} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {\n NovaCompositionCoorpacademyCheck as CheckIcon,\n NovaCompositionNavigationMore as MoreIcon\n} from '@coorpacademy/nova-icons';\nimport Link from '../../atom/link';\nimport styles from './style.css';\n\nconst ADD_TO_MY_LIST_STATUS = {\n IDLE: 'IDLE',\n SUCCESS: 'SUCCESS'\n};\n\nconst StatusContext = React.createContext(ADD_TO_MY_LIST_STATUS.IDLE);\n\nexport const AddToMyListStatusProvider = ({children}) => {\n const [status, setStatus] = useState(ADD_TO_MY_LIST_STATUS.IDLE);\n useEffect(() => {\n let timeoutId;\n const DURATION = 3000;\n if (status !== ADD_TO_MY_LIST_STATUS.IDLE) {\n timeoutId = setTimeout(() => setStatus(ADD_TO_MY_LIST_STATUS.IDLE), DURATION);\n }\n return () => clearTimeout(timeoutId);\n }, [status]);\n return <StatusContext.Provider value={[status, setStatus]}>{children}</StatusContext.Provider>;\n};\n\nexport const AddToMyListFeedback = ({addToMyListText, removeFromMyListText, favorite}) => {\n const [status] = useContext(StatusContext);\n if (status === ADD_TO_MY_LIST_STATUS.IDLE) return null;\n\n return (\n <div className={classnames(styles.feedback)} data-name={'add-to-my-list-feedback'}>\n <CheckIcon className={styles.checkIcon} width={13} height={13} />\n <p>{favorite ? addToMyListText : removeFromMyListText}</p>\n </div>\n );\n};\n\nconst AddToMyList = ({style, addToMyListButton, favorite, onFavoriteClick}) => {\n const [, setStatus] = useContext(StatusContext);\n const cb = () => setStatus(ADD_TO_MY_LIST_STATUS.SUCCESS);\n\n function onClick() {\n onFavoriteClick(cb);\n }\n\n return (\n <div className={(styles.container, style)}>\n <Link data-name={'add-to-my-list-button'} onClick={onClick} className={styles.cta}>\n <div className={styles.wrapper}>\n {favorite ? (\n <CheckIcon className={styles.shareIcon} width={15} height={15} />\n ) : (\n <MoreIcon className={styles.shareIcon} width={12} height={12} />\n )}\n <p>{addToMyListButton}</p>\n </div>\n </Link>\n </div>\n );\n};\n\nAddToMyListStatusProvider.propTypes = {\n children: PropTypes.node\n};\n\nAddToMyListFeedback.propTypes = {\n addToMyListText: PropTypes.string,\n removeFromMyListText: PropTypes.string,\n favorite: PropTypes.bool\n};\n\nAddToMyList.propTypes = {\n style: PropTypes.string,\n addToMyListButton: PropTypes.string,\n favorite: PropTypes.bool,\n onFavoriteClick: PropTypes.func\n};\n\nexport default AddToMyList;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","useState","useContext","useEffect","useMemo","PropTypes","classnames","NovaCompositionCoorpacademyCheck","CheckIcon","NovaCompositionNavigationMore","MoreIcon","Link","styles","ADD_TO_MY_LIST_STATUS","IDLE","SUCCESS","StatusContext","createContext","AddToMyListStatusProvider","children","status","setStatus","timeoutId","DURATION","setTimeout","clearTimeout","statusValue","AddToMyListFeedback","addToMyListText","removeFromMyListText","favorite","feedback","checkIcon","AddToMyList","style","addToMyListButton","onFavoriteClick","cb","onClick","container","cta","wrapper","shareIcon","propTypes","node","string","bool","func"],"sources":["../../../src/molecule/add-to-my-list/index.js"],"sourcesContent":["import React, {useState, useContext, useEffect, useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {\n NovaCompositionCoorpacademyCheck as CheckIcon,\n NovaCompositionNavigationMore as MoreIcon\n} from '@coorpacademy/nova-icons';\nimport Link from '../../atom/link';\nimport styles from './style.css';\n\nconst ADD_TO_MY_LIST_STATUS = {\n IDLE: 'IDLE',\n SUCCESS: 'SUCCESS'\n};\n\nconst StatusContext = React.createContext(ADD_TO_MY_LIST_STATUS.IDLE);\n\nexport const AddToMyListStatusProvider = ({children}) => {\n const [status, setStatus] = useState(ADD_TO_MY_LIST_STATUS.IDLE);\n useEffect(() => {\n let timeoutId;\n const DURATION = 3000;\n if (status !== ADD_TO_MY_LIST_STATUS.IDLE) {\n timeoutId = setTimeout(() => setStatus(ADD_TO_MY_LIST_STATUS.IDLE), DURATION);\n }\n return () => clearTimeout(timeoutId);\n }, [status]);\n const statusValue = useMemo(() => [status, setStatus], [status, setStatus]);\n return <StatusContext.Provider value={statusValue}>{children}</StatusContext.Provider>;\n};\n\nexport const AddToMyListFeedback = ({addToMyListText, removeFromMyListText, favorite}) => {\n const [status] = useContext(StatusContext);\n if (status === ADD_TO_MY_LIST_STATUS.IDLE) return null;\n\n return (\n <div className={classnames(styles.feedback)} data-name={'add-to-my-list-feedback'}>\n <CheckIcon className={styles.checkIcon} width={13} height={13} />\n <p>{favorite ? addToMyListText : removeFromMyListText}</p>\n </div>\n );\n};\n\nconst AddToMyList = ({style, addToMyListButton, favorite, onFavoriteClick}) => {\n const [, setStatus] = useContext(StatusContext);\n const cb = () => setStatus(ADD_TO_MY_LIST_STATUS.SUCCESS);\n\n function onClick() {\n onFavoriteClick(cb);\n }\n\n return (\n <div className={(styles.container, style)}>\n <Link data-name={'add-to-my-list-button'} onClick={onClick} className={styles.cta}>\n <div className={styles.wrapper}>\n {favorite ? (\n <CheckIcon className={styles.shareIcon} width={15} height={15} />\n ) : (\n <MoreIcon className={styles.shareIcon} width={12} height={12} />\n )}\n <p>{addToMyListButton}</p>\n </div>\n </Link>\n </div>\n );\n};\n\nAddToMyListStatusProvider.propTypes = {\n children: PropTypes.node\n};\n\nAddToMyListFeedback.propTypes = {\n addToMyListText: PropTypes.string,\n removeFromMyListText: PropTypes.string,\n favorite: PropTypes.bool\n};\n\nAddToMyList.propTypes = {\n style: PropTypes.string,\n addToMyListButton: PropTypes.string,\n favorite: PropTypes.bool,\n onFavoriteClick: PropTypes.func\n};\n\nexport default AddToMyList;\n"],"mappings":"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"}
@@ -4,7 +4,11 @@ import PropTypes from 'prop-types';
4
4
  import Link from '../../atom/link';
5
5
  import style from './style.css';
6
6
 
7
- const buildTab = isLightTab => (tab, index) => {
7
+ const Tab = ({
8
+ tab,
9
+ index,
10
+ isLightTab
11
+ }) => {
8
12
  const {
9
13
  title,
10
14
  href,
@@ -24,25 +28,35 @@ const buildTab = isLightTab => (tab, index) => {
24
28
  }, title));
25
29
  };
26
30
 
31
+ Tab.propTypes = process.env.NODE_ENV !== "production" ? {
32
+ tab: PropTypes.shape({
33
+ title: Link.propTypes.children,
34
+ href: Link.propTypes.href,
35
+ selected: PropTypes.bool,
36
+ onClick: PropTypes.func
37
+ }),
38
+ index: PropTypes.number,
39
+ isLightTab: PropTypes.bool
40
+ } : {};
41
+
27
42
  const BrandTabs = props => {
28
43
  const {
29
44
  tabs,
30
45
  type = 'default'
31
46
  } = props;
32
47
  const isLightTab = type === 'light';
33
- const tabsList = tabs.map(buildTab(isLightTab));
48
+ const tabsList = tabs.map((tab, index) => Tab({
49
+ tab,
50
+ index,
51
+ isLightTab
52
+ }));
34
53
  return /*#__PURE__*/React.createElement("div", {
35
54
  className: isLightTab ? style.lightwrapper : style.wrapper
36
55
  }, tabsList);
37
56
  };
38
57
 
39
58
  BrandTabs.propTypes = process.env.NODE_ENV !== "production" ? {
40
- tabs: PropTypes.arrayOf(PropTypes.shape({
41
- title: Link.propTypes.children,
42
- href: Link.propTypes.href,
43
- selected: PropTypes.bool,
44
- onClick: PropTypes.func
45
- })),
59
+ tabs: PropTypes.arrayOf(PropTypes.shape(Tab.propTypes)),
46
60
  type: PropTypes.oneOf(['default', 'light'])
47
61
  } : {};
48
62
  export default BrandTabs;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","PropTypes","Link","style","buildTab","isLightTab","tab","index","title","href","selected","onClick","selectedStyle","selectedlight","unselectedStyle","lighttab","className","BrandTabs","props","tabs","type","tabsList","map","lightwrapper","wrapper","propTypes","arrayOf","shape","children","bool","func","oneOf"],"sources":["../../../src/molecule/brand-tabs/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {snakeCase} from 'lodash/fp';\nimport Link from '../../atom/link';\nimport style from './style.css';\n\nconst buildTab = isLightTab => (tab, index) => {\n const {title, href, selected, onClick} = tab;\n const selectedStyle = isLightTab ? style.selectedlight : style.selected;\n const unselectedStyle = isLightTab ? style.lighttab : style.tab;\n const className = selected ? selectedStyle : unselectedStyle;\n\n return (\n <div\n data-name={`brand_tab_${snakeCase(title)}`}\n className={className}\n key={index}\n onClick={onClick}\n >\n <Link href={href}>{title}</Link>\n </div>\n );\n};\n\nconst BrandTabs = props => {\n const {tabs, type = 'default'} = props;\n const isLightTab = type === 'light';\n const tabsList = tabs.map(buildTab(isLightTab));\n\n return <div className={isLightTab ? style.lightwrapper : style.wrapper}>{tabsList}</div>;\n};\n\nBrandTabs.propTypes = {\n tabs: PropTypes.arrayOf(\n PropTypes.shape({\n title: Link.propTypes.children,\n href: Link.propTypes.href,\n selected: PropTypes.bool,\n onClick: PropTypes.func\n })\n ),\n type: PropTypes.oneOf(['default', 'light'])\n};\nexport default BrandTabs;\n"],"mappings":";AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AAEA,OAAOC,IAAP,MAAiB,iBAAjB;AACA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,QAAQ,GAAGC,UAAU,IAAI,CAACC,GAAD,EAAMC,KAAN,KAAgB;EAC7C,MAAM;IAACC,KAAD;IAAQC,IAAR;IAAcC,QAAd;IAAwBC;EAAxB,IAAmCL,GAAzC;EACA,MAAMM,aAAa,GAAGP,UAAU,GAAGF,KAAK,CAACU,aAAT,GAAyBV,KAAK,CAACO,QAA/D;EACA,MAAMI,eAAe,GAAGT,UAAU,GAAGF,KAAK,CAACY,QAAT,GAAoBZ,KAAK,CAACG,GAA5D;EACA,MAAMU,SAAS,GAAGN,QAAQ,GAAGE,aAAH,GAAmBE,eAA7C;EAEA,oBACE;IACE,aAAY,aAAY,WAAUN,KAAV,CAAiB,EAD3C;IAEE,SAAS,EAAEQ,SAFb;IAGE,GAAG,EAAET,KAHP;IAIE,OAAO,EAAEI;EAJX,gBAME,oBAAC,IAAD;IAAM,IAAI,EAAEF;EAAZ,GAAmBD,KAAnB,CANF,CADF;AAUD,CAhBD;;AAkBA,MAAMS,SAAS,GAAGC,KAAK,IAAI;EACzB,MAAM;IAACC,IAAD;IAAOC,IAAI,GAAG;EAAd,IAA2BF,KAAjC;EACA,MAAMb,UAAU,GAAGe,IAAI,KAAK,OAA5B;EACA,MAAMC,QAAQ,GAAGF,IAAI,CAACG,GAAL,CAASlB,QAAQ,CAACC,UAAD,CAAjB,CAAjB;EAEA,oBAAO;IAAK,SAAS,EAAEA,UAAU,GAAGF,KAAK,CAACoB,YAAT,GAAwBpB,KAAK,CAACqB;EAAxD,GAAkEH,QAAlE,CAAP;AACD,CAND;;AAQAJ,SAAS,CAACQ,SAAV,2CAAsB;EACpBN,IAAI,EAAElB,SAAS,CAACyB,OAAV,CACJzB,SAAS,CAAC0B,KAAV,CAAgB;IACdnB,KAAK,EAAEN,IAAI,CAACuB,SAAL,CAAeG,QADR;IAEdnB,IAAI,EAAEP,IAAI,CAACuB,SAAL,CAAehB,IAFP;IAGdC,QAAQ,EAAET,SAAS,CAAC4B,IAHN;IAIdlB,OAAO,EAAEV,SAAS,CAAC6B;EAJL,CAAhB,CADI,CADc;EASpBV,IAAI,EAAEnB,SAAS,CAAC8B,KAAV,CAAgB,CAAC,SAAD,EAAY,OAAZ,CAAhB;AATc,CAAtB;AAWA,eAAed,SAAf"}
1
+ {"version":3,"file":"index.js","names":["React","PropTypes","Link","style","Tab","tab","index","isLightTab","title","href","selected","onClick","selectedStyle","selectedlight","unselectedStyle","lighttab","className","propTypes","shape","children","bool","func","number","BrandTabs","props","tabs","type","tabsList","map","lightwrapper","wrapper","arrayOf","oneOf"],"sources":["../../../src/molecule/brand-tabs/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {snakeCase} from 'lodash/fp';\nimport Link from '../../atom/link';\nimport style from './style.css';\n\nconst Tab = ({tab, index, isLightTab}) => {\n const {title, href, selected, onClick} = tab;\n const selectedStyle = isLightTab ? style.selectedlight : style.selected;\n const unselectedStyle = isLightTab ? style.lighttab : style.tab;\n const className = selected ? selectedStyle : unselectedStyle;\n\n return (\n <div\n data-name={`brand_tab_${snakeCase(title)}`}\n className={className}\n key={index}\n onClick={onClick}\n >\n <Link href={href}>{title}</Link>\n </div>\n );\n};\nTab.propTypes = {\n tab: PropTypes.shape({\n title: Link.propTypes.children,\n href: Link.propTypes.href,\n selected: PropTypes.bool,\n onClick: PropTypes.func\n }),\n index: PropTypes.number,\n isLightTab: PropTypes.bool\n};\n\nconst BrandTabs = props => {\n const {tabs, type = 'default'} = props;\n const isLightTab = type === 'light';\n const tabsList = tabs.map((tab, index) => Tab({tab, index, isLightTab}));\n\n return <div className={isLightTab ? style.lightwrapper : style.wrapper}>{tabsList}</div>;\n};\n\nBrandTabs.propTypes = {\n tabs: PropTypes.arrayOf(PropTypes.shape(Tab.propTypes)),\n type: PropTypes.oneOf(['default', 'light'])\n};\nexport default BrandTabs;\n"],"mappings":";AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AAEA,OAAOC,IAAP,MAAiB,iBAAjB;AACA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,GAAG,GAAG,CAAC;EAACC,GAAD;EAAMC,KAAN;EAAaC;AAAb,CAAD,KAA8B;EACxC,MAAM;IAACC,KAAD;IAAQC,IAAR;IAAcC,QAAd;IAAwBC;EAAxB,IAAmCN,GAAzC;EACA,MAAMO,aAAa,GAAGL,UAAU,GAAGJ,KAAK,CAACU,aAAT,GAAyBV,KAAK,CAACO,QAA/D;EACA,MAAMI,eAAe,GAAGP,UAAU,GAAGJ,KAAK,CAACY,QAAT,GAAoBZ,KAAK,CAACE,GAA5D;EACA,MAAMW,SAAS,GAAGN,QAAQ,GAAGE,aAAH,GAAmBE,eAA7C;EAEA,oBACE;IACE,aAAY,aAAY,WAAUN,KAAV,CAAiB,EAD3C;IAEE,SAAS,EAAEQ,SAFb;IAGE,GAAG,EAAEV,KAHP;IAIE,OAAO,EAAEK;EAJX,gBAME,oBAAC,IAAD;IAAM,IAAI,EAAEF;EAAZ,GAAmBD,KAAnB,CANF,CADF;AAUD,CAhBD;;AAiBAJ,GAAG,CAACa,SAAJ,2CAAgB;EACdZ,GAAG,EAAEJ,SAAS,CAACiB,KAAV,CAAgB;IACnBV,KAAK,EAAEN,IAAI,CAACe,SAAL,CAAeE,QADH;IAEnBV,IAAI,EAAEP,IAAI,CAACe,SAAL,CAAeR,IAFF;IAGnBC,QAAQ,EAAET,SAAS,CAACmB,IAHD;IAInBT,OAAO,EAAEV,SAAS,CAACoB;EAJA,CAAhB,CADS;EAOdf,KAAK,EAAEL,SAAS,CAACqB,MAPH;EAQdf,UAAU,EAAEN,SAAS,CAACmB;AARR,CAAhB;;AAWA,MAAMG,SAAS,GAAGC,KAAK,IAAI;EACzB,MAAM;IAACC,IAAD;IAAOC,IAAI,GAAG;EAAd,IAA2BF,KAAjC;EACA,MAAMjB,UAAU,GAAGmB,IAAI,KAAK,OAA5B;EACA,MAAMC,QAAQ,GAAGF,IAAI,CAACG,GAAL,CAAS,CAACvB,GAAD,EAAMC,KAAN,KAAgBF,GAAG,CAAC;IAACC,GAAD;IAAMC,KAAN;IAAaC;EAAb,CAAD,CAA5B,CAAjB;EAEA,oBAAO;IAAK,SAAS,EAAEA,UAAU,GAAGJ,KAAK,CAAC0B,YAAT,GAAwB1B,KAAK,CAAC2B;EAAxD,GAAkEH,QAAlE,CAAP;AACD,CAND;;AAQAJ,SAAS,CAACN,SAAV,2CAAsB;EACpBQ,IAAI,EAAExB,SAAS,CAAC8B,OAAV,CAAkB9B,SAAS,CAACiB,KAAV,CAAgBd,GAAG,CAACa,SAApB,CAAlB,CADc;EAEpBS,IAAI,EAAEzB,SAAS,CAAC+B,KAAV,CAAgB,CAAC,SAAD,EAAY,OAAZ,CAAhB;AAFc,CAAtB;AAIA,eAAeT,SAAf"}
@@ -107,7 +107,7 @@ CardBackground.propTypes = process.env.NODE_ENV !== "production" ? {
107
107
  empty: PropTypes.bool,
108
108
  'aria-label': PropTypes.string
109
109
  } : {};
110
- const Card = /*#__PURE__*/memo(function Card(props, context) {
110
+ const Card = memo(function Card(props, context) {
111
111
  const {
112
112
  skin
113
113
  } = context;