@coorpacademy/components 10.22.16 → 10.22.19

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 (63) hide show
  1. package/es/atom/input-switch/index.js +4 -2
  2. package/es/atom/input-switch/index.js.map +1 -1
  3. package/es/atom/provider/index.js +15 -0
  4. package/es/atom/provider/index.js.map +1 -1
  5. package/es/atom/provider/web-context.js +27 -0
  6. package/es/atom/provider/web-context.js.map +1 -0
  7. package/es/atom/range/handle.js +59 -59
  8. package/es/atom/range/handle.js.map +1 -1
  9. package/es/atom/range/index.js +55 -43
  10. package/es/atom/range/index.js.map +1 -1
  11. package/es/atom/select/index.js +3 -5
  12. package/es/atom/select/index.js.map +1 -1
  13. package/es/molecule/cm-popin/index.js +4 -2
  14. package/es/molecule/cm-popin/index.js.map +1 -1
  15. package/es/molecule/news/index.js +9 -7
  16. package/es/molecule/news/index.js.map +1 -1
  17. package/es/molecule/news/style.css +2 -0
  18. package/es/molecule/questions/free-text/index.js +4 -3
  19. package/es/molecule/questions/free-text/index.js.map +1 -1
  20. package/es/molecule/questions/qcm/index.js +3 -5
  21. package/es/molecule/questions/qcm/index.js.map +1 -1
  22. package/es/molecule/questions/qcm-drag/index.js +3 -8
  23. package/es/molecule/questions/qcm-drag/index.js.map +1 -1
  24. package/es/molecule/questions/qcm-graphic/index.js +3 -5
  25. package/es/molecule/questions/qcm-graphic/index.js.map +1 -1
  26. package/es/molecule/questions/question-range/index.js +3 -5
  27. package/es/molecule/questions/question-range/index.js.map +1 -1
  28. package/es/organism/review-slide/index.js +5 -10
  29. package/es/organism/review-slide/index.js.map +1 -1
  30. package/es/template/app-review/template-context.js +3 -7
  31. package/es/template/app-review/template-context.js.map +1 -1
  32. package/lib/atom/input-switch/index.js +4 -2
  33. package/lib/atom/input-switch/index.js.map +1 -1
  34. package/lib/atom/provider/index.js +23 -1
  35. package/lib/atom/provider/index.js.map +1 -1
  36. package/lib/atom/provider/web-context.js +40 -0
  37. package/lib/atom/provider/web-context.js.map +1 -0
  38. package/lib/atom/range/handle.js +61 -57
  39. package/lib/atom/range/handle.js.map +1 -1
  40. package/lib/atom/range/index.js +55 -43
  41. package/lib/atom/range/index.js.map +1 -1
  42. package/lib/atom/select/index.js +3 -5
  43. package/lib/atom/select/index.js.map +1 -1
  44. package/lib/molecule/cm-popin/index.js +4 -2
  45. package/lib/molecule/cm-popin/index.js.map +1 -1
  46. package/lib/molecule/news/index.js +9 -7
  47. package/lib/molecule/news/index.js.map +1 -1
  48. package/lib/molecule/news/style.css +2 -0
  49. package/lib/molecule/questions/free-text/index.js +4 -3
  50. package/lib/molecule/questions/free-text/index.js.map +1 -1
  51. package/lib/molecule/questions/qcm/index.js +3 -5
  52. package/lib/molecule/questions/qcm/index.js.map +1 -1
  53. package/lib/molecule/questions/qcm-drag/index.js +7 -8
  54. package/lib/molecule/questions/qcm-drag/index.js.map +1 -1
  55. package/lib/molecule/questions/qcm-graphic/index.js +7 -5
  56. package/lib/molecule/questions/qcm-graphic/index.js.map +1 -1
  57. package/lib/molecule/questions/question-range/index.js +7 -5
  58. package/lib/molecule/questions/question-range/index.js.map +1 -1
  59. package/lib/organism/review-slide/index.js +6 -11
  60. package/lib/organism/review-slide/index.js.map +1 -1
  61. package/lib/template/app-review/template-context.js +3 -6
  62. package/lib/template/app-review/template-context.js.map +1 -1
  63. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/organism/review-slide/index.js"],"names":["React","useMemo","PropTypes","classnames","get","getOr","Answer","ButtonLink","Loader","Provider","ReviewCorrectionPopin","propTypes","style","CorrectionPopin","correctionPopinProps","slideIndex","showCorrectionPopin","animateCorrectionPopin","klf","information","label","message","next","_correctionPopinProps","onClick","console","log","type","resultLabel","correctionPopinWrapper","popinAnimation","string","bool","ValidateButton","validateButton","primarySkinColor","disabled","validateButtonProps","className","customStyle","backgroundColor","validateButtonWrapper","QuestionContainer","props","answerUI","questionText","questionOrigin","answerProps","model","answers","choices","slideContentContainer","question","help","answerContainer","shape","slide","Slide","context","skin","loading","loadingAriaLabel","parentContentTitle","loader","contextTypes","childContextTypes"],"mappings":"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","sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport Answer from '../../molecule/answer';\nimport ButtonLink from '../../atom/button-link';\nimport Loader from '../../atom/loader';\nimport Provider from '../../atom/provider';\nimport ReviewCorrectionPopin from '../../molecule/review-correction-popin';\nimport propTypes from './prop-types';\nimport style from './style.css';\n\nconst CorrectionPopin = ({\n correctionPopinProps,\n slideIndex,\n showCorrectionPopin,\n animateCorrectionPopin\n}) => {\n if (!showCorrectionPopin) return null;\n\n const klf = getOr({}, 'klf', correctionPopinProps);\n const information = getOr({label: '', message: ''}, 'information', correctionPopinProps);\n const next = get('next', correctionPopinProps);\n\n const _correctionPopinProps = {\n next: {\n onClick: () => {\n // eslint-disable-next-line no-console\n console.log('Next Slide');\n },\n label: next && next.label,\n 'data-name': `next-question-button-${slideIndex}`,\n 'aria-label': next && next['aria-label']\n },\n klf,\n information,\n type: correctionPopinProps.type,\n resultLabel: correctionPopinProps.resultLabel\n };\n\n return (\n <div\n className={classnames(\n style.correctionPopinWrapper,\n animateCorrectionPopin ? style.popinAnimation : null\n )}\n >\n <ReviewCorrectionPopin {..._correctionPopinProps} />\n </div>\n );\n};\n\nCorrectionPopin.propTypes = {\n slideIndex: PropTypes.string,\n showCorrectionPopin: PropTypes.bool,\n animateCorrectionPopin: PropTypes.bool,\n correctionPopinProps: propTypes.correctionPopinProps\n};\n\nconst ValidateButton = ({slideIndex, validateButton, primarySkinColor}) => {\n const {label, onClick, disabled} = validateButton;\n const validateButtonProps = {\n type: 'primary',\n label,\n 'aria-label': label,\n 'data-name': `slide-validate-button-${slideIndex}`,\n onClick,\n disabled,\n className: style.validateButton,\n customStyle: {\n backgroundColor: primarySkinColor\n }\n /*\n slide validation action, this will trigger the correction popin\n (with the useEffect that fires the dispatchers, if there is a nextContent content,\n it will be loaded here) but will not trigger any animations unless the endReview\n signal is received (all slide will disappear, also fired in a useEffect),\n\n if it is the last slide and the content needs to be different, then that update will\n be handled on the next slide logic but the content will be carried from here.\n onClick: async () => {\n // endReview based on nextContent ref exit node values: 'successExitNode' : 'failExitNode'\n await validateSlide();\n },\n */\n };\n\n return (\n <div key=\"button-wrapper\" className={style.validateButtonWrapper}>\n <ButtonLink {...validateButtonProps} />\n </div>\n );\n};\n\nValidateButton.propTypes = {\n slideIndex: PropTypes.string,\n validateButton: propTypes.validateButton,\n primarySkinColor: PropTypes.string\n};\n\nconst QuestionContainer = props => {\n const {answerUI, questionText, questionOrigin} = props;\n if (!answerUI || !questionText) return null;\n\n const answerProps = get(['model', 'choices'], answerUI)\n ? /* istanbul ignore next */ {\n ...answerUI,\n model: {\n ...answerUI.model,\n answers: answerUI.model.choices\n }\n }\n : answerUI;\n\n return (\n <div key=\"content-container\" className={style.slideContentContainer}>\n <div key=\"from-course\" className={style.questionOrigin}>\n {questionOrigin}\n </div>\n <div key=\"title\" className={style.question}>\n {questionText}\n </div>\n <div key=\"help\" className={style.help}>\n {get('help', answerUI)}\n </div>\n <div key=\"answer-container\" className={style.answerContainer}>\n <Answer {...answerProps} key=\"answer\" />\n </div>\n </div>\n );\n};\n\nQuestionContainer.propTypes = {\n answerUI: PropTypes.shape(propTypes.slide.answerUI),\n questionText: PropTypes.string,\n questionOrigin: PropTypes.string\n};\n\nconst Slide = (props, context) => {\n const {slide, validateButton, correctionPopinProps, slideIndex = '0'} = props;\n\n const {skin} = context;\n const primarySkinColor = useMemo(() => getOr('#00B0FF', 'common.primary', skin), [skin]);\n const {\n loading,\n loadingAriaLabel,\n parentContentTitle,\n questionText,\n answerUI,\n showCorrectionPopin,\n animateCorrectionPopin\n } = slide;\n\n return (\n <div data-name={`slide-container`} className={style.slide}>\n {loading ? (\n <Loader className={style.loader} theme=\"default\" aria-label={loadingAriaLabel} />\n ) : (\n [\n <QuestionContainer\n questionOrigin={parentContentTitle}\n questionText={questionText}\n answerUI={answerUI}\n key=\"question-container\"\n />,\n <ValidateButton\n slideIndex={slideIndex}\n validateButton={validateButton}\n primarySkinColor={primarySkinColor}\n key=\"validate-button\"\n />,\n <CorrectionPopin\n correctionPopinProps={correctionPopinProps}\n slideIndex={slideIndex}\n showCorrectionPopin={showCorrectionPopin}\n animateCorrectionPopin={animateCorrectionPopin}\n key=\"correction-popin\"\n />\n ]\n )}\n </div>\n );\n};\n\nSlide.propTypes = propTypes;\n\nSlide.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nexport default Slide;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/organism/review-slide/index.js"],"names":["React","useMemo","PropTypes","classnames","get","getOr","Answer","ButtonLink","Loader","ReviewCorrectionPopin","GetSkinFromContext","propTypes","style","CorrectionPopin","correctionPopinProps","slideIndex","showCorrectionPopin","animateCorrectionPopin","klf","information","label","message","next","_correctionPopinProps","onClick","console","log","type","resultLabel","correctionPopinWrapper","popinAnimation","string","bool","ValidateButton","validateButton","primarySkinColor","disabled","validateButtonProps","className","customStyle","backgroundColor","validateButtonWrapper","QuestionContainer","props","answerUI","questionText","questionOrigin","answerProps","model","answers","choices","slideContentContainer","question","help","answerContainer","shape","slide","ReviewSlide","skin","loading","loadingAriaLabel","parentContentTitle","loader"],"mappings":"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","sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport Answer from '../../molecule/answer';\nimport ButtonLink from '../../atom/button-link';\nimport Loader from '../../atom/loader';\nimport ReviewCorrectionPopin from '../../molecule/review-correction-popin';\nimport {GetSkinFromContext} from '../../atom/provider';\nimport propTypes from './prop-types';\nimport style from './style.css';\n\nconst CorrectionPopin = ({\n correctionPopinProps,\n slideIndex,\n showCorrectionPopin,\n animateCorrectionPopin\n}) => {\n if (!showCorrectionPopin) return null;\n\n const klf = getOr({}, 'klf', correctionPopinProps);\n const information = getOr({label: '', message: ''}, 'information', correctionPopinProps);\n const next = get('next', correctionPopinProps);\n\n const _correctionPopinProps = {\n next: {\n onClick: () => {\n // eslint-disable-next-line no-console\n console.log('Next Slide');\n },\n label: next && next.label,\n 'data-name': `next-question-button-${slideIndex}`,\n 'aria-label': next && next['aria-label']\n },\n klf,\n information,\n type: correctionPopinProps.type,\n resultLabel: correctionPopinProps.resultLabel\n };\n\n return (\n <div\n className={classnames(\n style.correctionPopinWrapper,\n animateCorrectionPopin ? style.popinAnimation : null\n )}\n >\n <ReviewCorrectionPopin {..._correctionPopinProps} />\n </div>\n );\n};\n\nCorrectionPopin.propTypes = {\n slideIndex: PropTypes.string,\n showCorrectionPopin: PropTypes.bool,\n animateCorrectionPopin: PropTypes.bool,\n correctionPopinProps: propTypes.correctionPopinProps\n};\n\nconst ValidateButton = ({slideIndex, validateButton, primarySkinColor}) => {\n const {label, onClick, disabled} = validateButton;\n const validateButtonProps = {\n type: 'primary',\n label,\n 'aria-label': label,\n 'data-name': `slide-validate-button-${slideIndex}`,\n onClick,\n disabled,\n className: style.validateButton,\n customStyle: {\n backgroundColor: primarySkinColor\n }\n /*\n slide validation action, this will trigger the correction popin\n (with the useEffect that fires the dispatchers, if there is a nextContent content,\n it will be loaded here) but will not trigger any animations unless the endReview\n signal is received (all slide will disappear, also fired in a useEffect),\n\n if it is the last slide and the content needs to be different, then that update will\n be handled on the next slide logic but the content will be carried from here.\n onClick: async () => {\n // endReview based on nextContent ref exit node values: 'successExitNode' : 'failExitNode'\n await validateSlide();\n },\n */\n };\n\n return (\n <div key=\"button-wrapper\" className={style.validateButtonWrapper}>\n <ButtonLink {...validateButtonProps} />\n </div>\n );\n};\n\nValidateButton.propTypes = {\n slideIndex: PropTypes.string,\n validateButton: propTypes.validateButton,\n primarySkinColor: PropTypes.string\n};\n\nconst QuestionContainer = props => {\n const {answerUI, questionText, questionOrigin} = props;\n if (!answerUI || !questionText) return null;\n\n const answerProps = get(['model', 'choices'], answerUI)\n ? /* istanbul ignore next */ {\n ...answerUI,\n model: {\n ...answerUI.model,\n answers: answerUI.model.choices\n }\n }\n : answerUI;\n\n return (\n <div key=\"content-container\" className={style.slideContentContainer}>\n <div key=\"from-course\" className={style.questionOrigin}>\n {questionOrigin}\n </div>\n <div key=\"title\" className={style.question}>\n {questionText}\n </div>\n <div key=\"help\" className={style.help}>\n {get('help', answerUI)}\n </div>\n <div key=\"answer-container\" className={style.answerContainer}>\n <Answer {...answerProps} key=\"answer\" />\n </div>\n </div>\n );\n};\n\nQuestionContainer.propTypes = {\n answerUI: PropTypes.shape(propTypes.slide.answerUI),\n questionText: PropTypes.string,\n questionOrigin: PropTypes.string\n};\n\nconst ReviewSlide = props => {\n const {slide, validateButton, correctionPopinProps, slideIndex = '0'} = props;\n\n const skin = GetSkinFromContext();\n const primarySkinColor = useMemo(() => getOr('#00B0FF', 'common.primary', skin), [skin]);\n const {\n loading,\n loadingAriaLabel,\n parentContentTitle,\n questionText,\n answerUI,\n showCorrectionPopin,\n animateCorrectionPopin\n } = slide;\n\n return (\n <div data-name={`slide-container`} className={style.slide}>\n {loading ? (\n <Loader className={style.loader} theme=\"default\" aria-label={loadingAriaLabel} />\n ) : (\n [\n <QuestionContainer\n questionOrigin={parentContentTitle}\n questionText={questionText}\n answerUI={answerUI}\n key=\"question-container\"\n />,\n <ValidateButton\n slideIndex={slideIndex}\n validateButton={validateButton}\n primarySkinColor={primarySkinColor}\n key=\"validate-button\"\n />,\n <CorrectionPopin\n correctionPopinProps={correctionPopinProps}\n slideIndex={slideIndex}\n showCorrectionPopin={showCorrectionPopin}\n animateCorrectionPopin={animateCorrectionPopin}\n key=\"correction-popin\"\n />\n ]\n )}\n </div>\n );\n};\n\nReviewSlide.propTypes = propTypes;\n\nexport default ReviewSlide;\n"],"file":"index.js"}
@@ -1,16 +1,14 @@
1
1
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
2
 
3
- // -----------------------------------------------------------------------------
4
3
  import React, { createContext, useContext } from 'react';
5
4
  import defaultTheme from '../../variables/theme.native';
6
- // -----------------------------------------------------------------------------
7
5
  const Context = createContext({
8
6
  theme: defaultTheme,
9
7
  translations: {},
10
8
  display: {
11
9
  statusBarHeight: 42
12
10
  }
13
- }); // -----------------------------------------------------------------------------
11
+ });
14
12
 
15
13
  const useTemplateContext = () => {
16
14
  const context = useContext(Context);
@@ -20,8 +18,7 @@ const useTemplateContext = () => {
20
18
  }
21
19
 
22
20
  return context;
23
- }; // -----------------------------------------------------------------------------
24
-
21
+ };
25
22
 
26
23
  const TemplateContext = ({
27
24
  values,
@@ -30,8 +27,7 @@ const TemplateContext = ({
30
27
  return /*#__PURE__*/React.createElement(Context.Provider, {
31
28
  value: _extends({}, values)
32
29
  }, children);
33
- }; // -----------------------------------------------------------------------------
34
-
30
+ };
35
31
 
36
32
  export { TemplateContext, useTemplateContext };
37
33
  //# sourceMappingURL=template-context.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/template/app-review/template-context.tsx"],"names":["React","createContext","useContext","defaultTheme","Context","theme","translations","display","statusBarHeight","useTemplateContext","context","Error","TemplateContext","values","children"],"mappings":";;AAAA;AAEA,OAAOA,KAAP,IAAeC,aAAf,EAA8BC,UAA9B,QAA+C,OAA/C;AAGA,OAAOC,YAAP,MAAkC,8BAAlC;AAgBA;AAEA,MAAMC,OAAO,GAAGH,aAAa,CAAC;AAC5BI,EAAAA,KAAK,EAAEF,YADqB;AAE5BG,EAAAA,YAAY,EAAE,EAFc;AAG5BC,EAAAA,OAAO,EAAE;AACPC,IAAAA,eAAe,EAAE;AADV;AAHmB,CAAD,CAA7B,C,CAQA;;AAEA,MAAMC,kBAAkB,GAAG,MAA6B;AACtD,QAAMC,OAAO,GAAGR,UAAU,CAACE,OAAD,CAA1B;;AAEA,MAAI,CAACM,OAAL,EAAc;AACZ,UAAM,IAAIC,KAAJ,CACH,yFADG,CAAN;AAGD;;AAED,SAAOD,OAAP;AACD,CAVD,C,CAYA;;;AAEA,MAAME,eAAe,GAAG,CAAC;AAACC,EAAAA,MAAD;AAASC,EAAAA;AAAT,CAAD,KAA+B;AACrD,sBAAO,oBAAC,OAAD,CAAS,QAAT;AAAkB,IAAA,KAAK,eAAMD,MAAN;AAAvB,KAAuCC,QAAvC,CAAP;AACD,CAFD,C,CAIA;;;AAEA,SAAQF,eAAR,EAAyBH,kBAAzB","sourcesContent":["// -----------------------------------------------------------------------------\n\nimport React, {createContext, useContext} from 'react';\nimport {Translations} from '../../types/translations';\nimport {Analytics} from '../../variables/analytics';\nimport defaultTheme, {Theme} from '../../variables/theme.native';\nimport {Vibration} from '../../variables/vibration';\n\nexport type TemplateContextValues = {\n analytics?: Analytics;\n brandTheme?: any;\n theme: Theme;\n translations: Translations;\n vibration?: Vibration;\n display: {\n statusBarHeight: number;\n };\n};\n\ntype Props = {values: TemplateContextValues; children: any};\n\n// -----------------------------------------------------------------------------\n\nconst Context = createContext({\n theme: defaultTheme,\n translations: {},\n display: {\n statusBarHeight: 42\n }\n});\n\n// -----------------------------------------------------------------------------\n\nconst useTemplateContext = (): TemplateContextValues => {\n const context = useContext(Context);\n\n if (!context) {\n throw new Error(\n `❌ [TemplateContext] useTemplateContext must be used within a provider <TemplateContext>`\n );\n }\n\n return context;\n};\n\n// -----------------------------------------------------------------------------\n\nconst TemplateContext = ({values, children}: Props) => {\n return <Context.Provider value={{...values}}>{children}</Context.Provider>;\n};\n\n// -----------------------------------------------------------------------------\n\nexport {TemplateContext, useTemplateContext};\n"],"file":"template-context.js"}
1
+ {"version":3,"sources":["../../../src/template/app-review/template-context.tsx"],"names":["React","createContext","useContext","defaultTheme","Context","theme","translations","display","statusBarHeight","useTemplateContext","context","Error","TemplateContext","values","children"],"mappings":";;AAAA,OAAOA,KAAP,IAAeC,aAAf,EAA8BC,UAA9B,QAA+C,OAA/C;AAGA,OAAOC,YAAP,MAAkC,8BAAlC;AAgBA,MAAMC,OAAO,GAAGH,aAAa,CAAC;AAC5BI,EAAAA,KAAK,EAAEF,YADqB;AAE5BG,EAAAA,YAAY,EAAE,EAFc;AAG5BC,EAAAA,OAAO,EAAE;AACPC,IAAAA,eAAe,EAAE;AADV;AAHmB,CAAD,CAA7B;;AAQA,MAAMC,kBAAkB,GAAG,MAA6B;AACtD,QAAMC,OAAO,GAAGR,UAAU,CAACE,OAAD,CAA1B;;AAEA,MAAI,CAACM,OAAL,EAAc;AACZ,UAAM,IAAIC,KAAJ,CACH,yFADG,CAAN;AAGD;;AAED,SAAOD,OAAP;AACD,CAVD;;AAYA,MAAME,eAAe,GAAG,CAAC;AAACC,EAAAA,MAAD;AAASC,EAAAA;AAAT,CAAD,KAA+B;AACrD,sBAAO,oBAAC,OAAD,CAAS,QAAT;AAAkB,IAAA,KAAK,eAAMD,MAAN;AAAvB,KAAuCC,QAAvC,CAAP;AACD,CAFD;;AAIA,SAAQF,eAAR,EAAyBH,kBAAzB","sourcesContent":["import React, {createContext, useContext} from 'react';\nimport {Translations} from '../../types/translations';\nimport {Analytics} from '../../variables/analytics';\nimport defaultTheme, {Theme} from '../../variables/theme.native';\nimport {Vibration} from '../../variables/vibration';\n\nexport type TemplateContextValues = {\n analytics?: Analytics;\n brandTheme?: any;\n theme: Theme;\n translations: Translations;\n vibration?: Vibration;\n display: {\n statusBarHeight: number;\n };\n};\n\ntype Props = {values: TemplateContextValues; children: any};\n\nconst Context = createContext({\n theme: defaultTheme,\n translations: {},\n display: {\n statusBarHeight: 42\n }\n});\n\nconst useTemplateContext = (): TemplateContextValues => {\n const context = useContext(Context);\n\n if (!context) {\n throw new Error(\n `❌ [TemplateContext] useTemplateContext must be used within a provider <TemplateContext>`\n );\n }\n\n return context;\n};\n\nconst TemplateContext = ({values, children}: Props) => {\n return <Context.Provider value={{...values}}>{children}</Context.Provider>;\n};\n\nexport {TemplateContext, useTemplateContext};\n"],"file":"template-context.js"}
@@ -34,7 +34,8 @@ const InputSwitch = props => {
34
34
  theme = 'default',
35
35
  titlePosition = 'left',
36
36
  details = '',
37
- requiredSelection = false
37
+ requiredSelection = false,
38
+ 'data-name': dataName
38
39
  } = props;
39
40
  const idSwitch = id || (0, _uniqueId2.default)('input-switch-');
40
41
  const isDisabled = disabled ? 'disabled' : '';
@@ -75,7 +76,7 @@ const InputSwitch = props => {
75
76
  const className = (0, _getClassState.default)(defaultClass, modifiedClass, null, modified);
76
77
  return /*#__PURE__*/_react.default.createElement("div", {
77
78
  className: className,
78
- "data-name": `switch-input-${theme}`
79
+ "data-name": `switch-input-${theme}${dataName}`
79
80
  }, titlePosition === 'left' ? titleView : null, /*#__PURE__*/_react.default.createElement("div", {
80
81
  className: requiredSelection ? _style.default.requiredSelection : null
81
82
  }, /*#__PURE__*/_react.default.createElement("div", {
@@ -110,6 +111,7 @@ InputSwitch.propTypes = process.env.NODE_ENV !== "production" ? {
110
111
  titlePosition: _propTypes.default.oneOf(['right', 'left']),
111
112
  theme: _propTypes.default.oneOf(['default', 'coorpmanager', 'mooc']),
112
113
  details: _propTypes.default.string,
114
+ 'data-name': _propTypes.default.string,
113
115
  requiredSelection: _propTypes.default.bool
114
116
  } : {};
115
117
  var _default = InputSwitch;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/atom/input-switch/index.js"],"names":["InputSwitch","props","title","name","id","value","disabled","onChange","description","modified","theme","titlePosition","details","requiredSelection","idSwitch","isDisabled","handleChange","e","target","checked","titleView","style","descriptionView","getClass","defaultClass","coorpmanager","modifiedClass","coorpmanagerModified","partielUncheck","default","className","btnSwitchContainer","checkbox","alignedTextContainer","detailsTxt","propTypes","PropTypes","string","bool","func","oneOf"],"mappings":"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","sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport {noop, uniqueId} from 'lodash/fp';\nimport getClassState from '../../util/get-class-state';\nimport style from './style.css';\n\nconst InputSwitch = props => {\n const {\n title,\n name,\n id,\n value,\n disabled,\n onChange = noop,\n description,\n modified = false,\n theme = 'default',\n titlePosition = 'left',\n details = '',\n requiredSelection = false\n } = props;\n\n const idSwitch = id || uniqueId('input-switch-');\n const isDisabled = disabled ? 'disabled' : '';\n const handleChange = useMemo(() => e => onChange(e.target.checked), [onChange]);\n\n const titleView = title ? <span className={style.title}>{`${title} `}</span> : null;\n\n const descriptionView = description ? (\n <div className={style.description}>{description}</div>\n ) : null;\n\n const getClass = () => {\n switch (theme) {\n case 'coorpmanager':\n return {\n defaultClass: style.coorpmanager,\n modifiedClass: style.coorpmanagerModified\n };\n case 'mooc':\n return {\n defaultClass: style.partielUncheck,\n modifiedClass: style.coorpmanagerModified\n };\n default:\n return {defaultClass: style.default, modifiedClass: style.modified};\n }\n };\n const {defaultClass, modifiedClass} = getClass();\n const className = getClassState(defaultClass, modifiedClass, null, modified);\n\n return (\n <div className={className} data-name={`switch-input-${theme}`}>\n {titlePosition === 'left' ? titleView : null}\n <div className={requiredSelection ? style.requiredSelection : null}>\n <div className={style.btnSwitchContainer}>\n <input\n type=\"checkbox\"\n id={idSwitch}\n name={name}\n onChange={handleChange}\n checked={value}\n disabled={isDisabled}\n className={style.checkbox}\n />\n <label htmlFor={idSwitch} data-name=\"input-switch-label\" />\n </div>\n </div>\n <div className={!details ? style.alignedTextContainer : null}>\n {titlePosition === 'right' ? titleView : null}\n {details ? <div className={style.detailsTxt}>{details}</div> : null}\n </div>\n {descriptionView}\n </div>\n );\n};\n\nInputSwitch.propTypes = {\n title: PropTypes.string,\n name: PropTypes.string,\n id: PropTypes.string,\n value: PropTypes.bool,\n disabled: PropTypes.bool,\n onChange: PropTypes.func,\n description: PropTypes.string,\n modified: PropTypes.bool,\n titlePosition: PropTypes.oneOf(['right', 'left']),\n theme: PropTypes.oneOf(['default', 'coorpmanager', 'mooc']),\n details: PropTypes.string,\n requiredSelection: PropTypes.bool\n};\nexport default InputSwitch;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/atom/input-switch/index.js"],"names":["InputSwitch","props","title","name","id","value","disabled","onChange","description","modified","theme","titlePosition","details","requiredSelection","dataName","idSwitch","isDisabled","handleChange","e","target","checked","titleView","style","descriptionView","getClass","defaultClass","coorpmanager","modifiedClass","coorpmanagerModified","partielUncheck","default","className","btnSwitchContainer","checkbox","alignedTextContainer","detailsTxt","propTypes","PropTypes","string","bool","func","oneOf"],"mappings":"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","sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport {noop, uniqueId} from 'lodash/fp';\nimport getClassState from '../../util/get-class-state';\nimport style from './style.css';\n\nconst InputSwitch = props => {\n const {\n title,\n name,\n id,\n value,\n disabled,\n onChange = noop,\n description,\n modified = false,\n theme = 'default',\n titlePosition = 'left',\n details = '',\n requiredSelection = false,\n 'data-name': dataName\n } = props;\n\n const idSwitch = id || uniqueId('input-switch-');\n const isDisabled = disabled ? 'disabled' : '';\n const handleChange = useMemo(() => e => onChange(e.target.checked), [onChange]);\n\n const titleView = title ? <span className={style.title}>{`${title} `}</span> : null;\n\n const descriptionView = description ? (\n <div className={style.description}>{description}</div>\n ) : null;\n\n const getClass = () => {\n switch (theme) {\n case 'coorpmanager':\n return {\n defaultClass: style.coorpmanager,\n modifiedClass: style.coorpmanagerModified\n };\n case 'mooc':\n return {\n defaultClass: style.partielUncheck,\n modifiedClass: style.coorpmanagerModified\n };\n default:\n return {defaultClass: style.default, modifiedClass: style.modified};\n }\n };\n const {defaultClass, modifiedClass} = getClass();\n const className = getClassState(defaultClass, modifiedClass, null, modified);\n\n return (\n <div className={className} data-name={`switch-input-${theme}${dataName}`}>\n {titlePosition === 'left' ? titleView : null}\n <div className={requiredSelection ? style.requiredSelection : null}>\n <div className={style.btnSwitchContainer}>\n <input\n type=\"checkbox\"\n id={idSwitch}\n name={name}\n onChange={handleChange}\n checked={value}\n disabled={isDisabled}\n className={style.checkbox}\n />\n <label htmlFor={idSwitch} data-name=\"input-switch-label\" />\n </div>\n </div>\n <div className={!details ? style.alignedTextContainer : null}>\n {titlePosition === 'right' ? titleView : null}\n {details ? <div className={style.detailsTxt}>{details}</div> : null}\n </div>\n {descriptionView}\n </div>\n );\n};\n\nInputSwitch.propTypes = {\n title: PropTypes.string,\n name: PropTypes.string,\n id: PropTypes.string,\n value: PropTypes.bool,\n disabled: PropTypes.bool,\n onChange: PropTypes.func,\n description: PropTypes.string,\n modified: PropTypes.bool,\n titlePosition: PropTypes.oneOf(['right', 'left']),\n theme: PropTypes.oneOf(['default', 'coorpmanager', 'mooc']),\n details: PropTypes.string,\n 'data-name': PropTypes.string,\n requiredSelection: PropTypes.bool\n};\nexport default InputSwitch;\n"],"file":"index.js"}
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.default = void 0;
4
+ exports.default = exports.GetSkinFromContext = void 0;
5
+
6
+ var _getOr2 = _interopRequireDefault(require("lodash/fp/getOr"));
7
+
8
+ var _get2 = _interopRequireDefault(require("lodash/fp/get"));
5
9
 
6
10
  var _defaultsDeep2 = _interopRequireDefault(require("lodash/fp/defaultsDeep"));
7
11
 
@@ -11,6 +15,15 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
11
15
 
12
16
  var _proptypes = require("../../util/proptypes");
13
17
 
18
+ var _webContext = _interopRequireWildcard(require("./web-context"));
19
+
20
+ exports.WebContext = _webContext.default;
21
+ exports.useWebContext = _webContext.useWebContext;
22
+
23
+ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
24
+
25
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
26
+
14
27
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
28
 
16
29
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
@@ -125,6 +138,15 @@ Provider.propTypes = process.env.NODE_ENV !== "production" ? {
125
138
  common: _propTypes.default.func
126
139
  })
127
140
  } : {};
141
+
142
+ const GetSkinFromContext = legacyContext => {
143
+ const context = (0, _webContext.useWebContext)();
144
+ const legacySkin = (0, _get2.default)('skin', legacyContext);
145
+ const skin = (0, _getOr2.default)(legacySkin, 'skin', context);
146
+ return skin;
147
+ };
148
+
149
+ exports.GetSkinFromContext = GetSkinFromContext;
128
150
  var _default = Provider;
129
151
  exports.default = _default;
130
152
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/atom/provider/index.js"],"names":["DEFAULT_SKIN","common","good","bad","primary","life","brand","primaryAdd1","primaryAdd2","primaryAdd3","primaryAdd4","xtraLightGrey","light","medium","dark","grey","orangeAdd","orange","positive","lightGreen","negative","battle","white","black","mergeSkin","skin","historyShape","PropTypes","shape","createHref","func","push","skinShape","objectOf","ColorPropType","images","SrcPropType","logo","login","icons","HexPropType","mod","courses","arrayOf","texts","translateShape","Provider","React","Component","getDerivedStateFromProps","props","history","translate","constructor","context","Vimeo","state","getChildContext","render","children","Children","only","isRequired","object","propTypes","node"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {defaultsDeep} from 'lodash/fp';\nimport {SrcPropType, ColorPropType, HexPropType} from '../../util/proptypes';\n\nconst DEFAULT_SKIN = {\n common: {\n good: '#24b694',\n bad: '#ed1c24',\n primary: '#00B0FF',\n life: '#ed1c24',\n brand: '#00B0FF',\n primaryAdd1: '#B3E5FC',\n primaryAdd2: '#0091EA',\n primaryAdd3: '#0277BD',\n primaryAdd4: '#015798',\n xtraLightGrey: '#FAFAFA',\n light: '#ECEFF1',\n medium: '#90A4AE',\n dark: '#546E7A',\n grey: '#607D8B',\n orangeAdd: '#FF7043',\n orange: '#FFA000',\n positive: '#3EC483',\n lightGreen: '#66BB6A',\n negative: '#F73F52',\n battle: '#FFE100',\n white: '#FFFFFF',\n black: '#14171A'\n }\n};\n\nconst mergeSkin = (skin = {}) => defaultsDeep(DEFAULT_SKIN, skin);\n\nconst historyShape = PropTypes.shape({\n createHref: PropTypes.func,\n push: PropTypes.func\n});\n\nconst skinShape = PropTypes.shape({\n common: PropTypes.objectOf(ColorPropType),\n images: PropTypes.shape({\n 'logo-mobile': SrcPropType,\n logo: SrcPropType,\n 'logo-email': SrcPropType,\n login: SrcPropType\n }),\n icons: PropTypes.objectOf(HexPropType),\n mod: PropTypes.objectOf(ColorPropType),\n courses: PropTypes.arrayOf(ColorPropType),\n texts: PropTypes.objectOf(ColorPropType)\n});\n\nconst translateShape = PropTypes.func;\n\nclass Provider extends React.Component {\n static propTypes = {\n history: historyShape,\n skin: skinShape,\n translate: translateShape,\n children: PropTypes.node.isRequired,\n Vimeo: PropTypes.shape({\n common: PropTypes.func\n })\n };\n\n static childContextTypes = {\n history: historyShape,\n skin: skinShape,\n translate: translateShape.isRequired,\n Vimeo: PropTypes.object\n };\n\n static getDerivedStateFromProps(props) {\n const {history, skin, translate} = props;\n\n return {\n history,\n skin: mergeSkin(skin),\n translate\n };\n }\n\n constructor(props, context) {\n super(props, context);\n const {history, skin, translate, Vimeo} = props;\n // eslint-disable-next-line react/no-unused-state\n this.state = {history, skin: mergeSkin(skin), translate, Vimeo};\n }\n\n getChildContext() {\n return this.state;\n }\n\n render() {\n const {children} = this.props;\n return React.Children.only(children);\n }\n}\n\nexport default Provider;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/atom/provider/index.js"],"names":["DEFAULT_SKIN","common","good","bad","primary","life","brand","primaryAdd1","primaryAdd2","primaryAdd3","primaryAdd4","xtraLightGrey","light","medium","dark","grey","orangeAdd","orange","positive","lightGreen","negative","battle","white","black","mergeSkin","skin","historyShape","PropTypes","shape","createHref","func","push","skinShape","objectOf","ColorPropType","images","SrcPropType","logo","login","icons","HexPropType","mod","courses","arrayOf","texts","translateShape","Provider","React","Component","getDerivedStateFromProps","props","history","translate","constructor","context","Vimeo","state","getChildContext","render","children","Children","only","isRequired","object","propTypes","node","GetSkinFromContext","legacyContext","legacySkin"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {defaultsDeep, get, getOr} from 'lodash/fp';\nimport {SrcPropType, ColorPropType, HexPropType} from '../../util/proptypes';\nimport WebContext, {useWebContext} from './web-context';\n\nconst DEFAULT_SKIN = {\n common: {\n good: '#24b694',\n bad: '#ed1c24',\n primary: '#00B0FF',\n life: '#ed1c24',\n brand: '#00B0FF',\n primaryAdd1: '#B3E5FC',\n primaryAdd2: '#0091EA',\n primaryAdd3: '#0277BD',\n primaryAdd4: '#015798',\n xtraLightGrey: '#FAFAFA',\n light: '#ECEFF1',\n medium: '#90A4AE',\n dark: '#546E7A',\n grey: '#607D8B',\n orangeAdd: '#FF7043',\n orange: '#FFA000',\n positive: '#3EC483',\n lightGreen: '#66BB6A',\n negative: '#F73F52',\n battle: '#FFE100',\n white: '#FFFFFF',\n black: '#14171A'\n }\n};\n\nconst mergeSkin = (skin = {}) => defaultsDeep(DEFAULT_SKIN, skin);\n\nconst historyShape = PropTypes.shape({\n createHref: PropTypes.func,\n push: PropTypes.func\n});\n\nconst skinShape = PropTypes.shape({\n common: PropTypes.objectOf(ColorPropType),\n images: PropTypes.shape({\n 'logo-mobile': SrcPropType,\n logo: SrcPropType,\n 'logo-email': SrcPropType,\n login: SrcPropType\n }),\n icons: PropTypes.objectOf(HexPropType),\n mod: PropTypes.objectOf(ColorPropType),\n courses: PropTypes.arrayOf(ColorPropType),\n texts: PropTypes.objectOf(ColorPropType)\n});\n\nconst translateShape = PropTypes.func;\n\nclass Provider extends React.Component {\n static propTypes = {\n history: historyShape,\n skin: skinShape,\n translate: translateShape,\n children: PropTypes.node.isRequired,\n Vimeo: PropTypes.shape({\n common: PropTypes.func\n })\n };\n\n static childContextTypes = {\n history: historyShape,\n skin: skinShape,\n translate: translateShape.isRequired,\n Vimeo: PropTypes.object\n };\n\n static getDerivedStateFromProps(props) {\n const {history, skin, translate} = props;\n\n return {\n history,\n skin: mergeSkin(skin),\n translate\n };\n }\n\n constructor(props, context) {\n super(props, context);\n const {history, skin, translate, Vimeo} = props;\n // eslint-disable-next-line react/no-unused-state\n this.state = {history, skin: mergeSkin(skin), translate, Vimeo};\n }\n\n getChildContext() {\n return this.state;\n }\n\n render() {\n const {children} = this.props;\n return React.Children.only(children);\n }\n}\n\nconst GetSkinFromContext = legacyContext => {\n const context = useWebContext();\n const legacySkin = get('skin', legacyContext);\n const skin = getOr(legacySkin, 'skin', context);\n\n return skin;\n};\n\nexport {WebContext, useWebContext, GetSkinFromContext};\nexport default Provider;\n"],"file":"index.js"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.default = exports.useWebContext = void 0;
5
+
6
+ var _react = _interopRequireWildcard(require("react"));
7
+
8
+ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
9
+
10
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
11
+
12
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
13
+
14
+ const Context = (0, _react.createContext)({
15
+ translate: key => key
16
+ });
17
+
18
+ const WebContext = ({
19
+ values,
20
+ children
21
+ }) => {
22
+ return /*#__PURE__*/_react.default.createElement(Context.Provider, {
23
+ value: _extends({}, values)
24
+ }, children);
25
+ };
26
+
27
+ const useWebContext = () => {
28
+ const context = (0, _react.useContext)(Context);
29
+
30
+ if (!context) {
31
+ throw new Error('❌ [WebContext] useWebContext must be used within a provider <WebContext>');
32
+ }
33
+
34
+ return context;
35
+ };
36
+
37
+ exports.useWebContext = useWebContext;
38
+ var _default = WebContext;
39
+ exports.default = _default;
40
+ //# sourceMappingURL=web-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/atom/provider/web-context.tsx"],"names":["Context","translate","key","WebContext","values","children","useWebContext","context","Error"],"mappings":";;;;;AAAA;;;;;;;;AAaA,MAAMA,OAAO,GAAG,0BAAc;AAC5BC,EAAAA,SAAS,EAAGC,GAAD,IAAiBA;AADA,CAAd,CAAhB;;AAMA,MAAMC,UAAU,GAAG,CAAC;AAACC,EAAAA,MAAD;AAASC,EAAAA;AAAT,CAAD,KAA+B;AAChD,sBAAO,6BAAC,OAAD,CAAS,QAAT;AAAkB,IAAA,KAAK,eAAMD,MAAN;AAAvB,KAAuCC,QAAvC,CAAP;AACD,CAFD;;AAIO,MAAMC,aAAa,GAAG,MAAwB;AACnD,QAAMC,OAAO,GAAG,uBAAWP,OAAX,CAAhB;;AAEA,MAAI,CAACO,OAAL,EAAc;AACZ,UAAM,IAAIC,KAAJ,CAAU,0EAAV,CAAN;AACD;;AAED,SAAOD,OAAP;AACD,CARM;;;eAUQJ,U","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 = {values: WebContextValues; children: any};\n\nconst WebContext = ({values, children}: Props) => {\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"],"file":"web-context.js"}
@@ -7,89 +7,93 @@ var _getOr2 = _interopRequireDefault(require("lodash/fp/getOr"));
7
7
 
8
8
  var _noop2 = _interopRequireDefault(require("lodash/fp/noop"));
9
9
 
10
- var _react = _interopRequireDefault(require("react"));
10
+ var _react = _interopRequireWildcard(require("react"));
11
11
 
12
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
 
14
- var _provider = _interopRequireDefault(require("../provider"));
14
+ var _provider = _interopRequireWildcard(require("../provider"));
15
15
 
16
16
  var _getShadowBoxColorFromPrimary = require("../../util/get-shadow-box-color-from-primary");
17
17
 
18
18
  var _handle = _interopRequireDefault(require("./handle.css"));
19
19
 
20
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
+ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
21
21
 
22
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
22
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
23
 
24
- const Hammer = // eslint-disable-next-line no-undef
25
- typeof window !== 'undefined' ? require('hammerjs') :
26
- /* istanbul ignore next */
27
- undefined;
24
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
28
25
 
29
- class Handle extends _react.default.Component {
30
- constructor(props, context) {
31
- super(props, context);
32
- this.setHandle = this.setHandle.bind(this);
33
- }
26
+ class NoopHammer {
27
+ constructor() {} // eslint-disable-next-line class-methods-use-this
34
28
 
35
- componentDidMount() {
36
- /* istanbul ignore else */
37
- if (Hammer) {
38
- const {
39
- onPanStart = _noop2.default,
40
- onPanEnd = _noop2.default,
41
- onPan = _noop2.default
42
- } = this.props;
43
- this.hammer = new Hammer(this.handle);
44
- this.hammer.on('panstart', onPanStart);
45
- this.hammer.on('panend', onPanEnd);
46
- this.hammer.on('panleft panright', onPan);
47
- }
48
- }
49
29
 
50
- componentWillUnmount() {
51
- if (this.hammer) {
52
- this.hammer.stop();
53
- this.hammer.destroy();
54
- }
30
+ on() {
31
+ return;
32
+ } // eslint-disable-next-line class-methods-use-this
55
33
 
56
- this.hammer = null;
57
- }
58
34
 
59
- setHandle(el) {
60
- this.handle = el;
61
- }
35
+ stop() {
36
+ return;
37
+ } // eslint-disable-next-line class-methods-use-this
38
+
62
39
 
63
- render() {
64
- const {
65
- skin
66
- } = this.context;
67
- const primaryColor = (0, _getOr2.default)('#00B0FF', 'common.primary', skin);
68
- const backgroundColor = primaryColor;
69
- return /*#__PURE__*/_react.default.createElement("div", {
70
- className: _handle.default.wrapper
71
- }, /*#__PURE__*/_react.default.createElement("div", {
72
- style: {
73
- backgroundColor,
74
- boxShadow: `0px 0px 20px ${(0, _getShadowBoxColorFromPrimary.getShadowBoxColorFromPrimary)(primaryColor)}`
75
- },
76
- className: _handle.default.default,
77
- ref: this.setHandle,
78
- "data-name": 'handle'
79
- }));
40
+ destroy() {
41
+ return;
80
42
  }
81
43
 
82
44
  }
83
45
 
84
- _defineProperty(Handle, "contextTypes", {
85
- skin: _provider.default.childContextTypes.skin
86
- });
46
+ const Hammer = // eslint-disable-next-line no-undef
47
+ typeof window !== 'undefined' ?
48
+ /* istanbul ignore next */
49
+ require('hammerjs') : NoopHammer;
50
+
51
+ const Handle = (props, legacyContext) => {
52
+ const skin = (0, _provider.GetSkinFromContext)(legacyContext);
53
+ const primaryColor = (0, _getOr2.default)('#00B0FF', 'common.primary', skin);
54
+ const backgroundColor = primaryColor;
55
+ const {
56
+ onPanStart = _noop2.default,
57
+ onPanEnd = _noop2.default,
58
+ onPan = _noop2.default
59
+ } = props;
60
+ const handle = (0, _react.useRef)();
61
+ const [hammer, setHammer] = (0, _react.useState)();
62
+ (0, _react.useEffect)(() => {
63
+ setHammer(new Hammer(handle.current));
64
+ }, [handle]);
65
+ (0, _react.useEffect)(() => {
66
+ if (!hammer) return;
67
+ hammer.on('panstart', onPanStart);
68
+ hammer.on('panend', onPanEnd);
69
+ hammer.on('panleft panright', onPan);
70
+ return () => {
71
+ hammer.stop();
72
+ hammer.destroy();
73
+ setHammer(null);
74
+ };
75
+ }, [hammer, onPanStart, onPanEnd, onPan]);
76
+ return /*#__PURE__*/_react.default.createElement("div", {
77
+ className: _handle.default.wrapper
78
+ }, /*#__PURE__*/_react.default.createElement("div", {
79
+ style: {
80
+ backgroundColor,
81
+ boxShadow: `0px 0px 20px ${(0, _getShadowBoxColorFromPrimary.getShadowBoxColorFromPrimary)(primaryColor)}`
82
+ },
83
+ className: _handle.default.default,
84
+ ref: handle,
85
+ "data-name": 'handle'
86
+ }));
87
+ };
87
88
 
88
89
  Handle.propTypes = process.env.NODE_ENV !== "production" ? {
89
90
  onPan: _propTypes.default.func,
90
91
  onPanStart: _propTypes.default.func,
91
92
  onPanEnd: _propTypes.default.func
92
93
  } : {};
94
+ Handle.contextTypes = {
95
+ skin: _provider.default.childContextTypes.skin
96
+ };
93
97
  var _default = Handle;
94
98
  exports.default = _default;
95
99
  //# sourceMappingURL=handle.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/atom/range/handle.js"],"names":["Hammer","window","require","undefined","Handle","React","Component","constructor","props","context","setHandle","bind","componentDidMount","onPanStart","onPanEnd","onPan","hammer","handle","on","componentWillUnmount","stop","destroy","el","render","skin","primaryColor","backgroundColor","style","wrapper","boxShadow","default","Provider","childContextTypes","propTypes","PropTypes","func"],"mappings":";;;;;;;;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,MAAMA,MAAM,GACV;AACA,OAAOC,MAAP,KAAkB,WAAlB,GAAgCC,OAAO,CAAC,UAAD,CAAvC;AAAsD;AAA2BC,SAFnF;;AAIA,MAAMC,MAAN,SAAqBC,eAAMC,SAA3B,CAAqC;AAWnCC,EAAAA,WAAW,CAACC,KAAD,EAAQC,OAAR,EAAiB;AAC1B,UAAMD,KAAN,EAAaC,OAAb;AAEA,SAAKC,SAAL,GAAiB,KAAKA,SAAL,CAAeC,IAAf,CAAoB,IAApB,CAAjB;AACD;;AAEDC,EAAAA,iBAAiB,GAAG;AAClB;AACA,QAAIZ,MAAJ,EAAY;AACV,YAAM;AAACa,QAAAA,UAAU,iBAAX;AAAoBC,QAAAA,QAAQ,iBAA5B;AAAqCC,QAAAA,KAAK;AAA1C,UAAqD,KAAKP,KAAhE;AAEA,WAAKQ,MAAL,GAAc,IAAIhB,MAAJ,CAAW,KAAKiB,MAAhB,CAAd;AACA,WAAKD,MAAL,CAAYE,EAAZ,CAAe,UAAf,EAA2BL,UAA3B;AACA,WAAKG,MAAL,CAAYE,EAAZ,CAAe,QAAf,EAAyBJ,QAAzB;AAEA,WAAKE,MAAL,CAAYE,EAAZ,CAAe,kBAAf,EAAmCH,KAAnC;AACD;AACF;;AAEDI,EAAAA,oBAAoB,GAAG;AACrB,QAAI,KAAKH,MAAT,EAAiB;AACf,WAAKA,MAAL,CAAYI,IAAZ;AACA,WAAKJ,MAAL,CAAYK,OAAZ;AACD;;AACD,SAAKL,MAAL,GAAc,IAAd;AACD;;AAEDN,EAAAA,SAAS,CAACY,EAAD,EAAK;AACZ,SAAKL,MAAL,GAAcK,EAAd;AACD;;AAEDC,EAAAA,MAAM,GAAG;AACP,UAAM;AAACC,MAAAA;AAAD,QAAS,KAAKf,OAApB;AACA,UAAMgB,YAAY,GAAG,qBAAM,SAAN,EAAiB,gBAAjB,EAAmCD,IAAnC,CAArB;AACA,UAAME,eAAe,GAAGD,YAAxB;AAEA,wBACE;AAAK,MAAA,SAAS,EAAEE,gBAAMC;AAAtB,oBACE;AACE,MAAA,KAAK,EAAE;AACLF,QAAAA,eADK;AAELG,QAAAA,SAAS,EAAG,gBAAe,gEAA6BJ,YAA7B,CAA2C;AAFjE,OADT;AAKE,MAAA,SAAS,EAAEE,gBAAMG,OALnB;AAME,MAAA,GAAG,EAAE,KAAKpB,SANZ;AAOE,mBAAW;AAPb,MADF,CADF;AAaD;;AA5DkC;;gBAA/BN,M,kBAOkB;AACpBoB,EAAAA,IAAI,EAAEO,kBAASC,iBAAT,CAA2BR;AADb,C;;AAPlBpB,M,CACG6B,S,2CAAY;AACjBlB,EAAAA,KAAK,EAAEmB,mBAAUC,IADA;AAEjBtB,EAAAA,UAAU,EAAEqB,mBAAUC,IAFL;AAGjBrB,EAAAA,QAAQ,EAAEoB,mBAAUC;AAHH,C;eA8DN/B,M","sourcesContent":["import {noop, getOr} from 'lodash/fp';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport Provider from '../provider';\nimport {getShadowBoxColorFromPrimary} from '../../util/get-shadow-box-color-from-primary';\nimport style from './handle.css';\n\nconst Hammer =\n // eslint-disable-next-line no-undef\n typeof window !== 'undefined' ? require('hammerjs') : /* istanbul ignore next */ undefined;\n\nclass Handle extends React.Component {\n static propTypes = {\n onPan: PropTypes.func,\n onPanStart: PropTypes.func,\n onPanEnd: PropTypes.func\n };\n\n static contextTypes = {\n skin: Provider.childContextTypes.skin\n };\n\n constructor(props, context) {\n super(props, context);\n\n this.setHandle = this.setHandle.bind(this);\n }\n\n componentDidMount() {\n /* istanbul ignore else */\n if (Hammer) {\n const {onPanStart = noop, onPanEnd = noop, onPan = noop} = this.props;\n\n this.hammer = new Hammer(this.handle);\n this.hammer.on('panstart', onPanStart);\n this.hammer.on('panend', onPanEnd);\n\n this.hammer.on('panleft panright', onPan);\n }\n }\n\n componentWillUnmount() {\n if (this.hammer) {\n this.hammer.stop();\n this.hammer.destroy();\n }\n this.hammer = null;\n }\n\n setHandle(el) {\n this.handle = el;\n }\n\n render() {\n const {skin} = this.context;\n const primaryColor = getOr('#00B0FF', 'common.primary', skin);\n const backgroundColor = primaryColor;\n\n return (\n <div className={style.wrapper}>\n <div\n style={{\n backgroundColor,\n boxShadow: `0px 0px 20px ${getShadowBoxColorFromPrimary(primaryColor)}`\n }}\n className={style.default}\n ref={this.setHandle}\n data-name={'handle'}\n />\n </div>\n );\n }\n}\n\nexport default Handle;\n"],"file":"handle.js"}
1
+ {"version":3,"sources":["../../../src/atom/range/handle.js"],"names":["NoopHammer","constructor","on","stop","destroy","Hammer","window","require","Handle","props","legacyContext","skin","primaryColor","backgroundColor","onPanStart","onPanEnd","onPan","handle","hammer","setHammer","current","style","wrapper","boxShadow","default","propTypes","PropTypes","func","contextTypes","Provider","childContextTypes"],"mappings":";;;;;;;;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;AAEA,MAAMA,UAAN,CAAiB;AACfC,EAAAA,WAAW,GAAG,CAAE,CADD,CAGf;;;AACAC,EAAAA,EAAE,GAAG;AACH;AACD,GANc,CAQf;;;AACAC,EAAAA,IAAI,GAAG;AACL;AACD,GAXc,CAaf;;;AACAC,EAAAA,OAAO,GAAG;AACR;AACD;;AAhBc;;AAmBjB,MAAMC,MAAM,GAAG;AACb,OAAOC,MAAP,KAAkB,WAAlB;AAAgC;AAA2BC,OAAO,CAAC,UAAD,CAAlE,GAAiFP,UADnF;;AAGA,MAAMQ,MAAM,GAAG,CAACC,KAAD,EAAQC,aAAR,KAA0B;AACvC,QAAMC,IAAI,GAAG,kCAAmBD,aAAnB,CAAb;AACA,QAAME,YAAY,GAAG,qBAAM,SAAN,EAAiB,gBAAjB,EAAmCD,IAAnC,CAArB;AACA,QAAME,eAAe,GAAGD,YAAxB;AACA,QAAM;AAACE,IAAAA,UAAU,iBAAX;AAAoBC,IAAAA,QAAQ,iBAA5B;AAAqCC,IAAAA,KAAK;AAA1C,MAAqDP,KAA3D;AAEA,QAAMQ,MAAM,GAAG,oBAAf;AACA,QAAM,CAACC,MAAD,EAASC,SAAT,IAAsB,sBAA5B;AAEA,wBAAU,MAAM;AACdA,IAAAA,SAAS,CAAC,IAAId,MAAJ,CAAWY,MAAM,CAACG,OAAlB,CAAD,CAAT;AACD,GAFD,EAEG,CAACH,MAAD,CAFH;AAIA,wBAAU,MAAM;AACd,QAAI,CAACC,MAAL,EAAa;AACbA,IAAAA,MAAM,CAAChB,EAAP,CAAU,UAAV,EAAsBY,UAAtB;AACAI,IAAAA,MAAM,CAAChB,EAAP,CAAU,QAAV,EAAoBa,QAApB;AAEAG,IAAAA,MAAM,CAAChB,EAAP,CAAU,kBAAV,EAA8Bc,KAA9B;AAEA,WAAO,MAAM;AACXE,MAAAA,MAAM,CAACf,IAAP;AACAe,MAAAA,MAAM,CAACd,OAAP;AACAe,MAAAA,SAAS,CAAC,IAAD,CAAT;AACD,KAJD;AAKD,GAZD,EAYG,CAACD,MAAD,EAASJ,UAAT,EAAqBC,QAArB,EAA+BC,KAA/B,CAZH;AAcA,sBACE;AAAK,IAAA,SAAS,EAAEK,gBAAMC;AAAtB,kBACE;AACE,IAAA,KAAK,EAAE;AACLT,MAAAA,eADK;AAELU,MAAAA,SAAS,EAAG,gBAAe,gEAA6BX,YAA7B,CAA2C;AAFjE,KADT;AAKE,IAAA,SAAS,EAAES,gBAAMG,OALnB;AAME,IAAA,GAAG,EAAEP,MANP;AAOE,iBAAW;AAPb,IADF,CADF;AAaD,CAxCD;;AA0CAT,MAAM,CAACiB,SAAP,2CAAmB;AACjBT,EAAAA,KAAK,EAAEU,mBAAUC,IADA;AAEjBb,EAAAA,UAAU,EAAEY,mBAAUC,IAFL;AAGjBZ,EAAAA,QAAQ,EAAEW,mBAAUC;AAHH,CAAnB;AAMAnB,MAAM,CAACoB,YAAP,GAAsB;AACpBjB,EAAAA,IAAI,EAAEkB,kBAASC,iBAAT,CAA2BnB;AADb,CAAtB;eAIeH,M","sourcesContent":["import {noop, getOr} from 'lodash/fp';\nimport React, {useEffect, useRef, useState} from 'react';\nimport PropTypes from 'prop-types';\nimport Provider, {GetSkinFromContext} from '../provider';\nimport {getShadowBoxColorFromPrimary} from '../../util/get-shadow-box-color-from-primary';\nimport style from './handle.css';\n\nclass NoopHammer {\n constructor() {}\n\n // eslint-disable-next-line class-methods-use-this\n on() {\n return;\n }\n\n // eslint-disable-next-line class-methods-use-this\n stop() {\n return;\n }\n\n // eslint-disable-next-line class-methods-use-this\n destroy() {\n return;\n }\n}\n\nconst Hammer = // eslint-disable-next-line no-undef\n typeof window !== 'undefined' ? /* istanbul ignore next */ require('hammerjs') : NoopHammer;\n\nconst Handle = (props, legacyContext) => {\n const skin = GetSkinFromContext(legacyContext);\n const primaryColor = getOr('#00B0FF', 'common.primary', skin);\n const backgroundColor = primaryColor;\n const {onPanStart = noop, onPanEnd = noop, onPan = noop} = props;\n\n const handle = useRef();\n const [hammer, setHammer] = useState();\n\n useEffect(() => {\n setHammer(new Hammer(handle.current));\n }, [handle]);\n\n useEffect(() => {\n if (!hammer) return;\n hammer.on('panstart', onPanStart);\n hammer.on('panend', onPanEnd);\n\n hammer.on('panleft panright', onPan);\n\n return () => {\n hammer.stop();\n hammer.destroy();\n setHammer(null);\n };\n }, [hammer, onPanStart, onPanEnd, onPan]);\n\n return (\n <div className={style.wrapper}>\n <div\n style={{\n backgroundColor,\n boxShadow: `0px 0px 20px ${getShadowBoxColorFromPrimary(primaryColor)}`\n }}\n className={style.default}\n ref={handle}\n data-name={'handle'}\n />\n </div>\n );\n};\n\nHandle.propTypes = {\n onPan: PropTypes.func,\n onPanStart: PropTypes.func,\n onPanEnd: PropTypes.func\n};\n\nHandle.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nexport default Handle;\n"],"file":"handle.js"}