@coorpacademy/components 11.13.7-alpha.9 → 11.14.1-alpha.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.
- package/es/atom/button/index.d.ts.map +1 -1
- package/es/atom/button/index.js +18 -13
- package/es/atom/button/index.js.map +1 -1
- package/es/molecule/cm-popin/index.d.ts.map +1 -1
- package/es/molecule/cm-popin/index.js +5 -4
- package/es/molecule/cm-popin/index.js.map +1 -1
- package/es/molecule/cm-popin/style.css +61 -40
- package/es/molecule/discipline-header/index.d.ts +1 -0
- package/es/molecule/discipline-header/index.d.ts.map +1 -1
- package/es/molecule/discipline-header/index.js +24 -9
- package/es/molecule/discipline-header/index.js.map +1 -1
- package/es/molecule/discipline-header/style.css +34 -7
- package/es/template/common/discipline/index.d.ts.map +1 -1
- package/es/template/common/discipline/index.js +4 -2
- package/es/template/common/discipline/index.js.map +1 -1
- package/es/template/external-course/index.d.ts +69 -21
- package/es/template/external-course/index.d.ts.map +1 -1
- package/es/template/external-course/index.js +73 -56
- package/es/template/external-course/index.js.map +1 -1
- package/es/template/external-course/style.css +1 -1
- package/es/template/mobile-login/welcome/index.native.d.ts +18 -0
- package/es/template/mobile-login/welcome/index.native.d.ts.map +1 -0
- package/es/template/mobile-login/welcome/index.native.js +195 -0
- package/es/template/mobile-login/welcome/index.native.js.map +1 -0
- package/lib/atom/button/index.d.ts.map +1 -1
- package/lib/atom/button/index.js +18 -13
- package/lib/atom/button/index.js.map +1 -1
- package/lib/molecule/cm-popin/index.d.ts.map +1 -1
- package/lib/molecule/cm-popin/index.js +4 -3
- package/lib/molecule/cm-popin/index.js.map +1 -1
- package/lib/molecule/cm-popin/style.css +61 -40
- package/lib/molecule/discipline-header/index.d.ts +1 -0
- package/lib/molecule/discipline-header/index.d.ts.map +1 -1
- package/lib/molecule/discipline-header/index.js +25 -9
- package/lib/molecule/discipline-header/index.js.map +1 -1
- package/lib/molecule/discipline-header/style.css +34 -7
- package/lib/template/common/discipline/index.d.ts.map +1 -1
- package/lib/template/common/discipline/index.js +4 -2
- package/lib/template/common/discipline/index.js.map +1 -1
- package/lib/template/external-course/index.d.ts +69 -21
- package/lib/template/external-course/index.d.ts.map +1 -1
- package/lib/template/external-course/index.js +76 -54
- package/lib/template/external-course/index.js.map +1 -1
- package/lib/template/external-course/style.css +1 -1
- package/lib/template/mobile-login/welcome/index.native.d.ts +18 -0
- package/lib/template/mobile-login/welcome/index.native.d.ts.map +1 -0
- package/lib/template/mobile-login/welcome/index.native.js +212 -0
- package/lib/template/mobile-login/welcome/index.native.js.map +1 -0
- package/package.json +3 -3
- package/es/atom/form-text-input/index.d.ts +0 -27
- package/es/atom/form-text-input/index.d.ts.map +0 -1
- package/es/atom/form-text-input/index.js +0 -96
- package/es/atom/form-text-input/index.js.map +0 -1
- package/es/atom/form-text-input/prop-types.d.ts +0 -56
- package/es/atom/form-text-input/prop-types.d.ts.map +0 -1
- package/es/atom/form-text-input/prop-types.js +0 -35
- package/es/atom/form-text-input/prop-types.js.map +0 -1
- package/es/atom/form-text-input/style.css +0 -53
- package/lib/atom/form-text-input/index.d.ts +0 -27
- package/lib/atom/form-text-input/index.d.ts.map +0 -1
- package/lib/atom/form-text-input/index.js +0 -114
- package/lib/atom/form-text-input/index.js.map +0 -1
- package/lib/atom/form-text-input/prop-types.d.ts +0 -56
- package/lib/atom/form-text-input/prop-types.d.ts.map +0 -1
- package/lib/atom/form-text-input/prop-types.js +0 -46
- package/lib/atom/form-text-input/prop-types.js.map +0 -1
- package/lib/atom/form-text-input/style.css +0 -53
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","isEmpty","PropTypes","DisciplineCTA","DisciplineHeader","DisciplinePartners","DisciplineScope","Share","ShareFeedback","ShareStatusProvider","AddToMyList","AddToMyListFeedback","AddToMyListStatusProvider","style","Discipline","props","context","selected","level","levels","changeLevel","image","title","video","authors","description","start","buy","startLabel","buyLabel","shareWording","shareText","shareSuccessWording","shareErrorWording","addToMyListButton","favorite","onFavoriteClick","addToMyListText","removeFromMyListText","disableShare","disableAddToMyList","authorSection","partners","disciplineCTA","disciplineContent","content","disciplineHeader","header","discipline","container","leftSection","mobileAuthorCtaSection","columnReverse","cta","addToMyListBtn","shareBtn","rightSection","stickySection","buttons","shareFeedBack","addToMyListFeedback","addToMyListProviderWrap","shareProviderWrap","propTypes","onClick","wording","text","successWording","errorWording","bool","contextTypes","translate","func"],"sources":["../../../../src/template/common/discipline/index.js"],"sourcesContent":["import React from 'react';\nimport isEmpty from 'lodash/fp/isEmpty';\nimport PropTypes from 'prop-types';\nimport DisciplineCTA from '../../../molecule/discipline-cta';\nimport DisciplineHeader from '../../../molecule/discipline-header';\nimport DisciplinePartners from '../../../molecule/discipline-partners';\nimport DisciplineScope from '../../../molecule/discipline-scope';\nimport Share, {ShareFeedback, ShareStatusProvider} from '../../../molecule/share';\nimport AddToMyList, {\n AddToMyListFeedback,\n AddToMyListStatusProvider\n} from '../../../molecule/add-to-my-list';\nimport style from './style.css';\n\nconst Discipline = (props, context) => {\n const {\n selected = 0,\n level,\n levels,\n changeLevel,\n image,\n title = '',\n video,\n authors = [],\n description = '',\n start,\n buy,\n startLabel,\n buyLabel,\n shareWording,\n shareText,\n shareSuccessWording,\n shareErrorWording,\n addToMyListButton,\n favorite,\n onFavoriteClick,\n addToMyListText,\n removeFromMyListText,\n disableShare = false,\n disableAddToMyList = false\n } = props;\n\n const authorSection = isEmpty(authors) ? null : (\n <div className={style.partners}>\n <DisciplinePartners authors={authors} />\n </div>\n );\n\n const disciplineCTA = (\n <DisciplineCTA\n type={'discipline'}\n start={start}\n buy={buy}\n startLabel={startLabel}\n buyLabel={buyLabel}\n />\n );\n\n const disciplineContent = (\n <div className={style.content}>\n <DisciplineScope content={level} levels={levels} selected={selected} onClick={changeLevel} />\n </div>\n );\n\n const disciplineHeader = (\n <div className={style.header}>\n <DisciplineHeader image={image} video={video} title={title} description={description} />\n </div>\n );\n\n const discipline = (\n <div data-name=\"discipline\" className={style.container} key=\"discipline\">\n <div className={style.leftSection}>\n {disciplineHeader}\n <div className={style.mobileAuthorCtaSection}>\n <div className={style.columnReverse}>\n <div className={style.cta}>{disciplineCTA}</div>\n {disableAddToMyList ? null : (\n <AddToMyList\n style={style.addToMyListBtn}\n addToMyListButton={addToMyListButton}\n favorite={favorite}\n onFavoriteClick={onFavoriteClick}\n key={'addToMyListTablet'}\n />\n )}\n {disableShare ? null : (\n <Share\n style={style.shareBtn}\n wording={shareWording}\n text={shareText}\n key={'shareTablet'}\n />\n )}\n </div>\n {authorSection}\n </div>\n {disciplineContent}\n </div>\n <div className={style.rightSection}>\n <div className={style.stickySection}>\n <div className={style.cta}>\n {disciplineCTA}\n {disableShare && disableAddToMyList ? null : (\n <div className={style.buttons}>\n {disableShare ? null : (\n <Share\n style={style.shareBtn}\n wording={shareWording}\n text={shareText}\n key={'shareDesktop'}\n />\n )}\n {disableAddToMyList ? null : (\n <AddToMyList\n style={style.addToMyListBtn}\n addToMyListButton={addToMyListButton}\n favorite={favorite}\n onFavoriteClick={onFavoriteClick}\n key={'addToMyListDesktop'}\n />\n )}\n </div>\n )}\n </div>\n {authorSection}\n </div>\n </div>\n </div>\n );\n\n const shareFeedBack = disableShare ? null : (\n <ShareFeedback\n errorWording={shareErrorWording}\n successWording={shareSuccessWording}\n key=\"shareFeedBack\"\n />\n );\n\n const addToMyListFeedback = disableAddToMyList ? null : (\n <AddToMyListFeedback\n addToMyListText={addToMyListText}\n removeFromMyListText={removeFromMyListText}\n favorite={favorite}\n />\n );\n\n const addToMyListProviderWrap = disableAddToMyList ? (\n <>\n {shareFeedBack}\n {discipline}\n </>\n ) : (\n <AddToMyListStatusProvider>\n {shareFeedBack}\n {addToMyListFeedback}\n {discipline}\n </AddToMyListStatusProvider>\n );\n const shareProviderWrap = disableShare ? (\n addToMyListProviderWrap\n ) : (\n <ShareStatusProvider>{addToMyListProviderWrap}</ShareStatusProvider>\n );\n\n return shareProviderWrap;\n};\n\nDiscipline.propTypes = {\n image: DisciplineHeader.propTypes.image,\n video: DisciplineHeader.propTypes.video,\n title: DisciplineHeader.propTypes.title,\n description: DisciplineHeader.propTypes.description,\n start: DisciplineCTA.propTypes.start,\n buy: DisciplineCTA.propTypes.buy,\n startLabel: DisciplineCTA.propTypes.startLabel,\n buyLabel: DisciplineCTA.propTypes.buyLabel,\n authors: DisciplinePartners.propTypes.authors,\n level: DisciplineScope.propTypes.content,\n levels: DisciplineScope.propTypes.levels,\n selected: DisciplineScope.propTypes.selected,\n changeLevel: DisciplineScope.propTypes.onClick,\n shareWording: Share.propTypes.wording,\n shareText: Share.propTypes.text,\n shareSuccessWording: ShareFeedback.propTypes.successWording,\n shareErrorWording: ShareFeedback.propTypes.errorWording,\n addToMyListText: AddToMyListFeedback.propTypes.addToMyListText,\n removeFromMyListText: AddToMyListFeedback.propTypes.removeFromMyListText,\n addToMyListButton: AddToMyList.propTypes.addToMyListButton,\n onFavoriteClick: AddToMyList.propTypes.onFavoriteClick,\n favorite: AddToMyList.propTypes.favorite,\n disableShare: PropTypes.bool,\n disableAddToMyList: PropTypes.bool\n};\n\nDiscipline.contextTypes = {\n translate: PropTypes.func\n};\n\nexport default Discipline;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","isEmpty","PropTypes","DisciplineCTA","DisciplineHeader","DisciplinePartners","DisciplineScope","Share","ShareFeedback","ShareStatusProvider","AddToMyList","AddToMyListFeedback","AddToMyListStatusProvider","style","Discipline","props","context","selected","level","levels","changeLevel","image","title","video","authors","description","start","buy","startLabel","buyLabel","shareWording","shareText","shareSuccessWording","shareErrorWording","addToMyListButton","favorite","onFavoriteClick","addToMyListText","removeFromMyListText","disableShare","disableAddToMyList","lastUpdated","authorSection","partners","disciplineCTA","disciplineContent","content","disciplineHeader","header","discipline","container","leftSection","mobileAuthorCtaSection","columnReverse","cta","addToMyListBtn","shareBtn","rightSection","stickySection","buttons","shareFeedBack","addToMyListFeedback","addToMyListProviderWrap","shareProviderWrap","propTypes","onClick","wording","text","successWording","errorWording","bool","contextTypes","translate","func"],"sources":["../../../../src/template/common/discipline/index.js"],"sourcesContent":["import React from 'react';\nimport isEmpty from 'lodash/fp/isEmpty';\nimport PropTypes from 'prop-types';\nimport DisciplineCTA from '../../../molecule/discipline-cta';\nimport DisciplineHeader from '../../../molecule/discipline-header';\nimport DisciplinePartners from '../../../molecule/discipline-partners';\nimport DisciplineScope from '../../../molecule/discipline-scope';\nimport Share, {ShareFeedback, ShareStatusProvider} from '../../../molecule/share';\nimport AddToMyList, {\n AddToMyListFeedback,\n AddToMyListStatusProvider\n} from '../../../molecule/add-to-my-list';\nimport style from './style.css';\n\nconst Discipline = (props, context) => {\n const {\n selected = 0,\n level,\n levels,\n changeLevel,\n image,\n title = '',\n video,\n authors = [],\n description = '',\n start,\n buy,\n startLabel,\n buyLabel,\n shareWording,\n shareText,\n shareSuccessWording,\n shareErrorWording,\n addToMyListButton,\n favorite,\n onFavoriteClick,\n addToMyListText,\n removeFromMyListText,\n disableShare = false,\n disableAddToMyList = false,\n lastUpdated\n } = props;\n\n const authorSection = isEmpty(authors) ? null : (\n <div className={style.partners}>\n <DisciplinePartners authors={authors} />\n </div>\n );\n\n const disciplineCTA = (\n <DisciplineCTA\n type={'discipline'}\n start={start}\n buy={buy}\n startLabel={startLabel}\n buyLabel={buyLabel}\n />\n );\n\n const disciplineContent = (\n <div className={style.content}>\n <DisciplineScope content={level} levels={levels} selected={selected} onClick={changeLevel} />\n </div>\n );\n\n const disciplineHeader = (\n <div className={style.header}>\n <DisciplineHeader\n image={image}\n video={video}\n title={title}\n description={description}\n lastUpdated={lastUpdated}\n />\n </div>\n );\n\n const discipline = (\n <div data-name=\"discipline\" className={style.container} key=\"discipline\">\n <div className={style.leftSection}>\n {disciplineHeader}\n <div className={style.mobileAuthorCtaSection}>\n <div className={style.columnReverse}>\n <div className={style.cta}>{disciplineCTA}</div>\n {disableAddToMyList ? null : (\n <AddToMyList\n style={style.addToMyListBtn}\n addToMyListButton={addToMyListButton}\n favorite={favorite}\n onFavoriteClick={onFavoriteClick}\n key={'addToMyListTablet'}\n />\n )}\n {disableShare ? null : (\n <Share\n style={style.shareBtn}\n wording={shareWording}\n text={shareText}\n key={'shareTablet'}\n />\n )}\n </div>\n {authorSection}\n </div>\n {disciplineContent}\n </div>\n <div className={style.rightSection}>\n <div className={style.stickySection}>\n <div className={style.cta}>\n {disciplineCTA}\n {disableShare && disableAddToMyList ? null : (\n <div className={style.buttons}>\n {disableShare ? null : (\n <Share\n style={style.shareBtn}\n wording={shareWording}\n text={shareText}\n key={'shareDesktop'}\n />\n )}\n {disableAddToMyList ? null : (\n <AddToMyList\n style={style.addToMyListBtn}\n addToMyListButton={addToMyListButton}\n favorite={favorite}\n onFavoriteClick={onFavoriteClick}\n key={'addToMyListDesktop'}\n />\n )}\n </div>\n )}\n </div>\n {authorSection}\n </div>\n </div>\n </div>\n );\n\n const shareFeedBack = disableShare ? null : (\n <ShareFeedback\n errorWording={shareErrorWording}\n successWording={shareSuccessWording}\n key=\"shareFeedBack\"\n />\n );\n\n const addToMyListFeedback = disableAddToMyList ? null : (\n <AddToMyListFeedback\n addToMyListText={addToMyListText}\n removeFromMyListText={removeFromMyListText}\n favorite={favorite}\n />\n );\n\n const addToMyListProviderWrap = disableAddToMyList ? (\n <>\n {shareFeedBack}\n {discipline}\n </>\n ) : (\n <AddToMyListStatusProvider>\n {shareFeedBack}\n {addToMyListFeedback}\n {discipline}\n </AddToMyListStatusProvider>\n );\n const shareProviderWrap = disableShare ? (\n addToMyListProviderWrap\n ) : (\n <ShareStatusProvider>{addToMyListProviderWrap}</ShareStatusProvider>\n );\n\n return shareProviderWrap;\n};\n\nDiscipline.propTypes = {\n image: DisciplineHeader.propTypes.image,\n video: DisciplineHeader.propTypes.video,\n title: DisciplineHeader.propTypes.title,\n description: DisciplineHeader.propTypes.description,\n start: DisciplineCTA.propTypes.start,\n buy: DisciplineCTA.propTypes.buy,\n startLabel: DisciplineCTA.propTypes.startLabel,\n buyLabel: DisciplineCTA.propTypes.buyLabel,\n authors: DisciplinePartners.propTypes.authors,\n level: DisciplineScope.propTypes.content,\n levels: DisciplineScope.propTypes.levels,\n selected: DisciplineScope.propTypes.selected,\n changeLevel: DisciplineScope.propTypes.onClick,\n shareWording: Share.propTypes.wording,\n shareText: Share.propTypes.text,\n shareSuccessWording: ShareFeedback.propTypes.successWording,\n shareErrorWording: ShareFeedback.propTypes.errorWording,\n addToMyListText: AddToMyListFeedback.propTypes.addToMyListText,\n removeFromMyListText: AddToMyListFeedback.propTypes.removeFromMyListText,\n addToMyListButton: AddToMyList.propTypes.addToMyListButton,\n onFavoriteClick: AddToMyList.propTypes.onFavoriteClick,\n favorite: AddToMyList.propTypes.favorite,\n disableShare: PropTypes.bool,\n disableAddToMyList: PropTypes.bool\n};\n\nDiscipline.contextTypes = {\n translate: PropTypes.func\n};\n\nexport default Discipline;\n"],"mappings":"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"}
|
|
@@ -1,29 +1,82 @@
|
|
|
1
1
|
export default ExternalCourse;
|
|
2
|
-
declare
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
2
|
+
declare function ExternalCourse(props: any, context: any): JSX.Element;
|
|
3
|
+
declare namespace ExternalCourse {
|
|
4
|
+
namespace propTypes {
|
|
5
|
+
const name: PropTypes.Requireable<string>;
|
|
6
|
+
const type: PropTypes.Requireable<string>;
|
|
7
|
+
const url: PropTypes.Validator<string>;
|
|
8
|
+
const quit: PropTypes.Requireable<PropTypes.InferProps<{
|
|
8
9
|
label: PropTypes.Validator<string>;
|
|
9
10
|
onClick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
10
11
|
}>>;
|
|
11
|
-
complete: PropTypes.Requireable<PropTypes.InferProps<{
|
|
12
|
+
const complete: PropTypes.Requireable<PropTypes.InferProps<{
|
|
12
13
|
label: PropTypes.Validator<string>;
|
|
13
14
|
disabled: PropTypes.Requireable<boolean>;
|
|
14
15
|
onClick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
15
16
|
}>>;
|
|
16
|
-
warning: PropTypes.Requireable<PropTypes.InferProps<{
|
|
17
|
+
const warning: PropTypes.Requireable<PropTypes.InferProps<{
|
|
17
18
|
label: PropTypes.Validator<string>;
|
|
18
19
|
onClick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
19
20
|
}>>;
|
|
20
|
-
loading: PropTypes.Requireable<boolean>;
|
|
21
|
-
backgroundImageUrl: PropTypes.Requireable<string>;
|
|
22
|
-
contentType: PropTypes.Requireable<string>;
|
|
23
|
-
mode: PropTypes.Requireable<string>;
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
21
|
+
const loading: PropTypes.Requireable<boolean>;
|
|
22
|
+
const backgroundImageUrl: PropTypes.Requireable<string>;
|
|
23
|
+
const contentType: PropTypes.Requireable<string>;
|
|
24
|
+
const mode: PropTypes.Requireable<string>;
|
|
25
|
+
const closePopin: PropTypes.Requireable<PropTypes.InferProps<{
|
|
26
|
+
content: PropTypes.Requireable<string>;
|
|
27
|
+
mode: PropTypes.Requireable<string>;
|
|
28
|
+
header: PropTypes.Requireable<string>;
|
|
29
|
+
firstButton: PropTypes.Requireable<PropTypes.InferProps<{
|
|
30
|
+
label: PropTypes.Requireable<string>;
|
|
31
|
+
handleOnclick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
32
|
+
'aria-label': PropTypes.Requireable<string>;
|
|
33
|
+
largeButton: PropTypes.Requireable<boolean>;
|
|
34
|
+
type: PropTypes.Requireable<string>;
|
|
35
|
+
customStyle: PropTypes.Requireable<PropTypes.InferProps<{}>>;
|
|
36
|
+
}>>;
|
|
37
|
+
secondButton: PropTypes.Requireable<PropTypes.InferProps<{
|
|
38
|
+
label: PropTypes.Requireable<string>;
|
|
39
|
+
handleOnclick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
40
|
+
type: PropTypes.Requireable<string>;
|
|
41
|
+
'aria-label': PropTypes.Requireable<string>;
|
|
42
|
+
largeButton: PropTypes.Requireable<boolean>;
|
|
43
|
+
customStyle: PropTypes.Requireable<PropTypes.InferProps<{}>>;
|
|
44
|
+
}>>;
|
|
45
|
+
thirdButton: PropTypes.Requireable<PropTypes.InferProps<{
|
|
46
|
+
label: PropTypes.Requireable<string>;
|
|
47
|
+
handleOnclick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
48
|
+
type: PropTypes.Requireable<string>;
|
|
49
|
+
'aria-label': PropTypes.Requireable<string>;
|
|
50
|
+
largeButton: PropTypes.Requireable<boolean>;
|
|
51
|
+
customStyle: PropTypes.Requireable<PropTypes.InferProps<{}>>;
|
|
52
|
+
}>>;
|
|
53
|
+
onClose: PropTypes.Requireable<(...args: any[]) => any>;
|
|
54
|
+
icon: PropTypes.Requireable<string>;
|
|
55
|
+
backgroundImageUrl: PropTypes.Requireable<string>;
|
|
56
|
+
descriptionText: PropTypes.Requireable<string>;
|
|
57
|
+
cookieTitle: PropTypes.Requireable<string>;
|
|
58
|
+
descriptionBtnTxt: PropTypes.Requireable<string>;
|
|
59
|
+
listBtnSwicth: PropTypes.Requireable<(PropTypes.InferProps<{
|
|
60
|
+
title: PropTypes.Requireable<string>;
|
|
61
|
+
name: PropTypes.Requireable<string>;
|
|
62
|
+
id: PropTypes.Requireable<string>;
|
|
63
|
+
value: PropTypes.Requireable<boolean>;
|
|
64
|
+
disabled: PropTypes.Requireable<boolean>;
|
|
65
|
+
onChange: PropTypes.Requireable<(...args: any[]) => any>;
|
|
66
|
+
description: PropTypes.Requireable<string>;
|
|
67
|
+
'aria-labelledby': PropTypes.Requireable<string>;
|
|
68
|
+
'aria-label': PropTypes.Requireable<string>;
|
|
69
|
+
modified: PropTypes.Requireable<boolean>;
|
|
70
|
+
titlePosition: PropTypes.Requireable<string>;
|
|
71
|
+
theme: PropTypes.Requireable<string>;
|
|
72
|
+
details: PropTypes.Requireable<string>;
|
|
73
|
+
'data-name': PropTypes.Requireable<string>;
|
|
74
|
+
requiredSelection: PropTypes.Requireable<boolean>;
|
|
75
|
+
}> | null | undefined)[]>;
|
|
76
|
+
}>>;
|
|
77
|
+
}
|
|
78
|
+
namespace contextTypes {
|
|
79
|
+
const skin: PropTypes.Requireable<PropTypes.InferProps<{
|
|
27
80
|
common: PropTypes.Requireable<{
|
|
28
81
|
[x: string]: any;
|
|
29
82
|
}>;
|
|
@@ -44,12 +97,7 @@ declare class ExternalCourse extends React.Component<any, any, any> {
|
|
|
44
97
|
[x: string]: any;
|
|
45
98
|
}>;
|
|
46
99
|
}>>;
|
|
47
|
-
}
|
|
48
|
-
constructor(props: any);
|
|
49
|
-
constructor(props: any, context: any);
|
|
50
|
-
handleOnClick: (field: any) => (e: any) => any;
|
|
51
|
-
render(): JSX.Element;
|
|
100
|
+
}
|
|
52
101
|
}
|
|
53
|
-
import React from "react";
|
|
54
102
|
import PropTypes from "prop-types";
|
|
55
103
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/template/external-course/index.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/template/external-course/index.js"],"names":[],"mappings":";AAoBA,uEAwIC"}
|
|
@@ -3,8 +3,11 @@ import _isNil from "lodash/fp/isNil";
|
|
|
3
3
|
import _identity from "lodash/fp/identity";
|
|
4
4
|
import _keys from "lodash/fp/keys";
|
|
5
5
|
import _getOr from "lodash/fp/getOr";
|
|
6
|
-
import
|
|
7
|
-
|
|
6
|
+
import _noop from "lodash/fp/noop";
|
|
7
|
+
|
|
8
|
+
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); }
|
|
9
|
+
|
|
10
|
+
import React, { useCallback, useMemo } from 'react';
|
|
8
11
|
import { NovaSolidInterfaceFeedbackInterfaceQuestionMark as QuestionIcon } from '@coorpacademy/nova-icons';
|
|
9
12
|
import { convert } from 'css-color-function';
|
|
10
13
|
import classnames from 'classnames';
|
|
@@ -14,6 +17,7 @@ import Provider from '../../atom/provider';
|
|
|
14
17
|
import Loader from '../../atom/loader';
|
|
15
18
|
import Button from '../../atom/button';
|
|
16
19
|
import ExternalContentViewer from '../../molecule/external-content-viewer';
|
|
20
|
+
import CmPopin from '../../molecule/cm-popin';
|
|
17
21
|
import style from './style.css';
|
|
18
22
|
const defaultWrapperStyle = {
|
|
19
23
|
default: style.default,
|
|
@@ -21,42 +25,30 @@ const defaultWrapperStyle = {
|
|
|
21
25
|
mobile: style.default
|
|
22
26
|
};
|
|
23
27
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
const ExternalCourse = (props, context) => {
|
|
29
|
+
const {
|
|
30
|
+
name,
|
|
31
|
+
type,
|
|
32
|
+
url,
|
|
33
|
+
quit,
|
|
34
|
+
complete,
|
|
35
|
+
warning,
|
|
36
|
+
loading,
|
|
37
|
+
backgroundImageUrl,
|
|
38
|
+
contentType,
|
|
39
|
+
mode = 'default',
|
|
40
|
+
closePopin
|
|
41
|
+
} = props;
|
|
42
|
+
const {
|
|
43
|
+
skin
|
|
44
|
+
} = context;
|
|
31
45
|
|
|
32
|
-
|
|
46
|
+
const primary = _getOr('#00B0FF', 'common.primary', skin);
|
|
33
47
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
render() {
|
|
39
|
-
const {
|
|
40
|
-
name,
|
|
41
|
-
type,
|
|
42
|
-
url,
|
|
43
|
-
warning,
|
|
44
|
-
complete,
|
|
45
|
-
quit,
|
|
46
|
-
loading,
|
|
47
|
-
backgroundImageUrl,
|
|
48
|
-
contentType,
|
|
49
|
-
mode = 'default'
|
|
50
|
-
} = this.props;
|
|
51
|
-
const {
|
|
52
|
-
skin
|
|
53
|
-
} = this.context;
|
|
54
|
-
|
|
55
|
-
const primary = _getOr('#00B0FF', 'common.primary', skin);
|
|
56
|
-
|
|
57
|
-
const IconType = EXTERNAL_CONTENT_ICONS[type].icon;
|
|
58
|
-
const IconColor = EXTERNAL_CONTENT_ICONS[type].color;
|
|
59
|
-
const mainContentSlot = loading ? /*#__PURE__*/React.createElement("div", {
|
|
48
|
+
const IconType = EXTERNAL_CONTENT_ICONS[type].icon;
|
|
49
|
+
const IconColor = EXTERNAL_CONTENT_ICONS[type].color;
|
|
50
|
+
const mainContentSlot = useMemo(() => {
|
|
51
|
+
return loading ? /*#__PURE__*/React.createElement("div", {
|
|
60
52
|
className: style.loader
|
|
61
53
|
}, /*#__PURE__*/React.createElement(Loader, null)) : /*#__PURE__*/React.createElement(ExternalContentViewer, {
|
|
62
54
|
url: url,
|
|
@@ -64,34 +56,52 @@ class ExternalCourse extends React.Component {
|
|
|
64
56
|
backgroundImageUrl: backgroundImageUrl,
|
|
65
57
|
contentType: contentType
|
|
66
58
|
});
|
|
67
|
-
|
|
59
|
+
}, [loading, url, mode, contentType, backgroundImageUrl]);
|
|
60
|
+
const handleOnClick = useCallback(field => {
|
|
61
|
+
const onClick = _getOr(_noop, ['onClick'], field);
|
|
62
|
+
|
|
63
|
+
return e => {
|
|
64
|
+
e.stopPropagation();
|
|
65
|
+
e.preventDefault();
|
|
66
|
+
return onClick(e);
|
|
67
|
+
};
|
|
68
|
+
}, []);
|
|
69
|
+
const completeButton = useMemo(() => {
|
|
70
|
+
return !_isNil(complete) ? /*#__PURE__*/React.createElement(Button, {
|
|
68
71
|
type: "button",
|
|
69
72
|
disabled: loading ? true : complete.disabled,
|
|
70
|
-
onClick: loading ? _identity :
|
|
73
|
+
onClick: loading ? _identity : handleOnClick(complete),
|
|
71
74
|
submitValue: complete.label,
|
|
72
75
|
style: {
|
|
73
76
|
backgroundColor: complete.disabled || loading ? convert(`color(${primary} a(-50%))`) : primary,
|
|
74
77
|
cursor: loading ? 'progress' : 'pointer'
|
|
75
78
|
},
|
|
76
|
-
className: classnames(style.completeCta, complete.disabled || loading ? style.disabled : null, loading ? style.loading : null)
|
|
79
|
+
className: classnames(style.completeCta, complete.disabled || loading ? style.disabled : null, loading ? style.loading : null),
|
|
80
|
+
"data-testid": "complete-button"
|
|
77
81
|
}) : null;
|
|
78
|
-
|
|
82
|
+
}, [complete, loading, primary, handleOnClick]);
|
|
83
|
+
const warningButton = useMemo(() => {
|
|
84
|
+
return !_isNil(warning) ? /*#__PURE__*/React.createElement("div", {
|
|
79
85
|
className: style.leftSection
|
|
80
86
|
}, /*#__PURE__*/React.createElement("div", {
|
|
81
|
-
onClick:
|
|
87
|
+
onClick: handleOnClick(warning),
|
|
82
88
|
className: classnames(style.iconLabel, style.link)
|
|
83
89
|
}, /*#__PURE__*/React.createElement(QuestionIcon, {
|
|
84
90
|
className: style.iconQuestion,
|
|
85
91
|
width: 24,
|
|
86
92
|
height: 24
|
|
87
93
|
}), /*#__PURE__*/React.createElement("span", null, warning.label))) : null;
|
|
88
|
-
|
|
94
|
+
}, [handleOnClick, warning]);
|
|
95
|
+
const quitButton = useMemo(() => {
|
|
96
|
+
return !_isNil(quit) ? /*#__PURE__*/React.createElement("div", {
|
|
89
97
|
className: style.leftSection
|
|
90
98
|
}, /*#__PURE__*/React.createElement("span", {
|
|
91
99
|
className: classnames(style.quitCta, loading ? style.loading : null),
|
|
92
|
-
onClick: loading ? _identity :
|
|
100
|
+
onClick: loading ? _identity : handleOnClick(quit)
|
|
93
101
|
}, quit.label)) : null;
|
|
94
|
-
|
|
102
|
+
}, [quit, loading, handleOnClick]);
|
|
103
|
+
const titleSection = useMemo(() => {
|
|
104
|
+
return !_isNil(name) ? /*#__PURE__*/React.createElement("div", {
|
|
95
105
|
className: classnames(style.iconLabel, style.title)
|
|
96
106
|
}, /*#__PURE__*/React.createElement("div", {
|
|
97
107
|
className: style.oval,
|
|
@@ -107,26 +117,29 @@ class ExternalCourse extends React.Component {
|
|
|
107
117
|
__html: name
|
|
108
118
|
}
|
|
109
119
|
})) : null;
|
|
110
|
-
|
|
120
|
+
}, [name, IconColor]);
|
|
121
|
+
const header = useMemo(() => {
|
|
122
|
+
return !_isNil(quit) || !_isEmpty(name) ? /*#__PURE__*/React.createElement("div", {
|
|
111
123
|
className: style.header
|
|
112
124
|
}, quitButton, titleSection, _isNil(quit) ? null : /*#__PURE__*/React.createElement("div", {
|
|
113
125
|
className: style.rightSection
|
|
114
126
|
})) : null;
|
|
115
|
-
|
|
127
|
+
}, [name, titleSection, quit, quitButton]);
|
|
128
|
+
const footer = useMemo(() => {
|
|
129
|
+
return !_isNil(warning) || !_isNil(complete) ? /*#__PURE__*/React.createElement("div", {
|
|
116
130
|
className: style.footer
|
|
117
131
|
}, warningButton, completeButton, _isNil(warning) ? null : /*#__PURE__*/React.createElement("div", {
|
|
118
132
|
className: style.rightSection
|
|
119
133
|
})) : null;
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
ExternalCourse.contextTypes = {
|
|
128
|
-
skin: Provider.childContextTypes.skin
|
|
134
|
+
}, [warning, warningButton, complete, completeButton]);
|
|
135
|
+
const popin = useMemo(() => {
|
|
136
|
+
return !_isNil(closePopin) ? /*#__PURE__*/React.createElement(CmPopin, closePopin) : null;
|
|
137
|
+
}, [closePopin]);
|
|
138
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
139
|
+
className: defaultWrapperStyle[mode]
|
|
140
|
+
}, header, popin, mainContentSlot, footer);
|
|
129
141
|
};
|
|
142
|
+
|
|
130
143
|
ExternalCourse.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
131
144
|
name: PropTypes.string,
|
|
132
145
|
type: PropTypes.oneOf(_keys(EXTERNAL_CONTENT_ICONS)),
|
|
@@ -147,7 +160,11 @@ ExternalCourse.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
147
160
|
loading: PropTypes.bool,
|
|
148
161
|
backgroundImageUrl: PropTypes.string,
|
|
149
162
|
contentType: PropTypes.string,
|
|
150
|
-
mode: PropTypes.string
|
|
163
|
+
mode: PropTypes.string,
|
|
164
|
+
closePopin: PropTypes.shape(_extends({}, CmPopin.propTypes))
|
|
151
165
|
} : {};
|
|
166
|
+
ExternalCourse.contextTypes = {
|
|
167
|
+
skin: Provider.childContextTypes.skin
|
|
168
|
+
};
|
|
152
169
|
export default ExternalCourse;
|
|
153
170
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","NovaSolidInterfaceFeedbackInterfaceQuestionMark","QuestionIcon","convert","classnames","PropTypes","EXTERNAL_CONTENT_ICONS","Provider","Loader","Button","ExternalContentViewer","style","defaultWrapperStyle","default","cockpit","defaultCockpit","mobile","ExternalCourse","Component","handleOnClick","field","e","stopPropagation","preventDefault","onClick","render","name","type","url","warning","complete","quit","loading","backgroundImageUrl","contentType","mode","props","skin","context","primary","IconType","icon","IconColor","color","mainContentSlot","loader","completeButton","disabled","label","backgroundColor","cursor","completeCta","warningButton","leftSection","iconLabel","link","iconQuestion","quitButton","quitCta","titleSection","title","oval","iconHeader","innerHTML","__html","header","rightSection","footer","contextTypes","childContextTypes","propTypes","string","oneOf","isRequired","shape","func","bool"],"sources":["../../../src/template/external-course/index.js"],"sourcesContent":["import React from 'react';\nimport {NovaSolidInterfaceFeedbackInterfaceQuestionMark as QuestionIcon} from '@coorpacademy/nova-icons';\nimport {convert} from 'css-color-function';\nimport classnames from 'classnames';\nimport {get, getOr, keys, identity, isNil, isEmpty} from 'lodash/fp';\nimport PropTypes from 'prop-types';\nimport {EXTERNAL_CONTENT_ICONS} from '../../util/external-content';\nimport Provider from '../../atom/provider';\nimport Loader from '../../atom/loader';\nimport Button from '../../atom/button';\nimport ExternalContentViewer from '../../molecule/external-content-viewer';\nimport style from './style.css';\n\nconst defaultWrapperStyle = {\n default: style.default,\n cockpit: style.defaultCockpit,\n mobile: style.default\n};\n\nclass ExternalCourse extends React.Component {\n static propTypes = {\n name: PropTypes.string,\n type: PropTypes.oneOf(keys(EXTERNAL_CONTENT_ICONS)),\n url: PropTypes.string.isRequired,\n quit: PropTypes.shape({\n label: PropTypes.string.isRequired,\n onClick: PropTypes.func\n }),\n complete: PropTypes.shape({\n label: PropTypes.string.isRequired,\n disabled: PropTypes.bool,\n onClick: PropTypes.func\n }),\n warning: PropTypes.shape({\n label: PropTypes.string.isRequired,\n onClick: PropTypes.func\n }),\n loading: PropTypes.bool,\n backgroundImageUrl: PropTypes.string,\n contentType: PropTypes.string,\n mode: PropTypes.string\n };\n\n static contextTypes = {\n skin: Provider.childContextTypes.skin\n };\n\n handleOnClick = field => e => {\n e.stopPropagation();\n e.preventDefault();\n const onClick = get('onClick', field);\n return onClick && onClick(e);\n };\n\n render() {\n const {\n name,\n type,\n url,\n warning,\n complete,\n quit,\n loading,\n backgroundImageUrl,\n contentType,\n mode = 'default'\n } = this.props;\n const {skin} = this.context;\n const primary = getOr('#00B0FF', 'common.primary', skin);\n const IconType = EXTERNAL_CONTENT_ICONS[type].icon;\n const IconColor = EXTERNAL_CONTENT_ICONS[type].color;\n\n const mainContentSlot = loading ? (\n <div className={style.loader}>\n <Loader />\n </div>\n ) : (\n <ExternalContentViewer\n url={url}\n mode={mode}\n backgroundImageUrl={backgroundImageUrl}\n contentType={contentType}\n />\n );\n\n const completeButton = !isNil(complete) ? (\n <Button\n type=\"button\"\n disabled={loading ? true : complete.disabled}\n onClick={loading ? identity : this.handleOnClick(complete)}\n submitValue={complete.label}\n style={{\n backgroundColor:\n complete.disabled || loading ? convert(`color(${primary} a(-50%))`) : primary,\n cursor: loading ? 'progress' : 'pointer'\n }}\n className={classnames(\n style.completeCta,\n complete.disabled || loading ? style.disabled : null,\n loading ? style.loading : null\n )}\n />\n ) : null;\n\n const warningButton = !isNil(warning) ? (\n <div className={style.leftSection}>\n <div\n onClick={this.handleOnClick(warning)}\n className={classnames(style.iconLabel, style.link)}\n >\n <QuestionIcon className={style.iconQuestion} width={24} height={24} />\n <span>{warning.label}</span>\n </div>\n </div>\n ) : null;\n\n const quitButton = !isNil(quit) ? (\n <div className={style.leftSection}>\n <span\n className={classnames(style.quitCta, loading ? style.loading : null)}\n onClick={loading ? identity : this.handleOnClick(quit)}\n >\n {quit.label}\n </span>\n </div>\n ) : null;\n\n const titleSection = !isNil(name) ? (\n <div className={classnames(style.iconLabel, style.title)}>\n <div className={style.oval} style={{backgroundColor: IconColor}}>\n <IconType className={style.iconHeader} />\n </div>\n <span\n className={style.innerHTML}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: name}}\n />\n </div>\n ) : null;\n\n const header =\n !isNil(quit) || !isEmpty(name) ? (\n <div className={style.header}>\n {quitButton}\n {titleSection}\n {isNil(quit) ? null : <div className={style.rightSection} />}\n </div>\n ) : null;\n\n const footer =\n !isNil(warning) || !isNil(complete) ? (\n <div className={style.footer}>\n {warningButton}\n {completeButton}\n {isNil(warning) ? null : <div className={style.rightSection} />}\n </div>\n ) : null;\n\n return (\n <div className={defaultWrapperStyle[mode]}>\n {header}\n {mainContentSlot}\n {footer}\n </div>\n );\n }\n}\n\nexport default ExternalCourse;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","useCallback","useMemo","NovaSolidInterfaceFeedbackInterfaceQuestionMark","QuestionIcon","convert","classnames","PropTypes","EXTERNAL_CONTENT_ICONS","Provider","Loader","Button","ExternalContentViewer","CmPopin","style","defaultWrapperStyle","default","cockpit","defaultCockpit","mobile","ExternalCourse","props","context","name","type","url","quit","complete","warning","loading","backgroundImageUrl","contentType","mode","closePopin","skin","primary","IconType","icon","IconColor","color","mainContentSlot","loader","handleOnClick","field","onClick","e","stopPropagation","preventDefault","completeButton","disabled","label","backgroundColor","cursor","completeCta","warningButton","leftSection","iconLabel","link","iconQuestion","quitButton","quitCta","titleSection","title","oval","iconHeader","innerHTML","__html","header","rightSection","footer","popin","propTypes","string","oneOf","isRequired","shape","func","bool","contextTypes","childContextTypes"],"sources":["../../../src/template/external-course/index.js"],"sourcesContent":["import React, {useCallback, useMemo} from 'react';\nimport {NovaSolidInterfaceFeedbackInterfaceQuestionMark as QuestionIcon} from '@coorpacademy/nova-icons';\nimport {convert} from 'css-color-function';\nimport classnames from 'classnames';\nimport {noop, getOr, keys, identity, isNil, isEmpty} from 'lodash/fp';\nimport PropTypes from 'prop-types';\nimport {EXTERNAL_CONTENT_ICONS} from '../../util/external-content';\nimport Provider from '../../atom/provider';\nimport Loader from '../../atom/loader';\nimport Button from '../../atom/button';\nimport ExternalContentViewer from '../../molecule/external-content-viewer';\nimport CmPopin from '../../molecule/cm-popin';\nimport style from './style.css';\n\nconst defaultWrapperStyle = {\n default: style.default,\n cockpit: style.defaultCockpit,\n mobile: style.default\n};\n\nconst ExternalCourse = (props, context) => {\n const {\n name,\n type,\n url,\n quit,\n complete,\n warning,\n loading,\n backgroundImageUrl,\n contentType,\n mode = 'default',\n closePopin\n } = props;\n const {skin} = context;\n const primary = getOr('#00B0FF', 'common.primary', skin);\n const IconType = EXTERNAL_CONTENT_ICONS[type].icon;\n const IconColor = EXTERNAL_CONTENT_ICONS[type].color;\n\n const mainContentSlot = useMemo(() => {\n return loading ? (\n <div className={style.loader}>\n <Loader />\n </div>\n ) : (\n <ExternalContentViewer\n url={url}\n mode={mode}\n backgroundImageUrl={backgroundImageUrl}\n contentType={contentType}\n />\n );\n }, [loading, url, mode, contentType, backgroundImageUrl]);\n\n const handleOnClick = useCallback(field => {\n const onClick = getOr(noop, ['onClick'], field);\n return e => {\n e.stopPropagation();\n e.preventDefault();\n return onClick(e);\n };\n }, []);\n\n const completeButton = useMemo(() => {\n return !isNil(complete) ? (\n <Button\n type=\"button\"\n disabled={loading ? true : complete.disabled}\n onClick={loading ? identity : handleOnClick(complete)}\n submitValue={complete.label}\n style={{\n backgroundColor:\n complete.disabled || loading ? convert(`color(${primary} a(-50%))`) : primary,\n cursor: loading ? 'progress' : 'pointer'\n }}\n className={classnames(\n style.completeCta,\n complete.disabled || loading ? style.disabled : null,\n loading ? style.loading : null\n )}\n data-testid=\"complete-button\"\n />\n ) : null;\n }, [complete, loading, primary, handleOnClick]);\n\n const warningButton = useMemo(() => {\n return !isNil(warning) ? (\n <div className={style.leftSection}>\n <div onClick={handleOnClick(warning)} className={classnames(style.iconLabel, style.link)}>\n <QuestionIcon className={style.iconQuestion} width={24} height={24} />\n <span>{warning.label}</span>\n </div>\n </div>\n ) : null;\n }, [handleOnClick, warning]);\n\n const quitButton = useMemo(() => {\n return !isNil(quit) ? (\n <div className={style.leftSection}>\n <span\n className={classnames(style.quitCta, loading ? style.loading : null)}\n onClick={loading ? identity : handleOnClick(quit)}\n >\n {quit.label}\n </span>\n </div>\n ) : null;\n }, [quit, loading, handleOnClick]);\n\n const titleSection = useMemo(() => {\n return !isNil(name) ? (\n <div className={classnames(style.iconLabel, style.title)}>\n <div className={style.oval} style={{backgroundColor: IconColor}}>\n <IconType className={style.iconHeader} />\n </div>\n <span\n className={style.innerHTML}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: name}}\n />\n </div>\n ) : null;\n }, [name, IconColor]);\n\n const header = useMemo(() => {\n return !isNil(quit) || !isEmpty(name) ? (\n <div className={style.header}>\n {quitButton}\n {titleSection}\n {isNil(quit) ? null : <div className={style.rightSection} />}\n </div>\n ) : null;\n }, [name, titleSection, quit, quitButton]);\n\n const footer = useMemo(() => {\n return !isNil(warning) || !isNil(complete) ? (\n <div className={style.footer}>\n {warningButton}\n {completeButton}\n {isNil(warning) ? null : <div className={style.rightSection} />}\n </div>\n ) : null;\n }, [warning, warningButton, complete, completeButton]);\n\n const popin = useMemo(() => {\n return !isNil(closePopin) ? <CmPopin {...closePopin} /> : null;\n }, [closePopin]);\n\n return (\n <div className={defaultWrapperStyle[mode]}>\n {header}\n {popin}\n {mainContentSlot}\n {footer}\n </div>\n );\n};\n\nExternalCourse.propTypes = {\n name: PropTypes.string,\n type: PropTypes.oneOf(keys(EXTERNAL_CONTENT_ICONS)),\n url: PropTypes.string.isRequired,\n quit: PropTypes.shape({\n label: PropTypes.string.isRequired,\n onClick: PropTypes.func\n }),\n complete: PropTypes.shape({\n label: PropTypes.string.isRequired,\n disabled: PropTypes.bool,\n onClick: PropTypes.func\n }),\n warning: PropTypes.shape({\n label: PropTypes.string.isRequired,\n onClick: PropTypes.func\n }),\n loading: PropTypes.bool,\n backgroundImageUrl: PropTypes.string,\n contentType: PropTypes.string,\n mode: PropTypes.string,\n closePopin: PropTypes.shape({...CmPopin.propTypes})\n};\n\nExternalCourse.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nexport default ExternalCourse;\n"],"mappings":";;;;;;;;;AAAA,OAAOA,KAAP,IAAeC,WAAf,EAA4BC,OAA5B,QAA0C,OAA1C;AACA,SAAQC,+CAA+C,IAAIC,YAA3D,QAA8E,0BAA9E;AACA,SAAQC,OAAR,QAAsB,oBAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AAEA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAAQC,sBAAR,QAAqC,6BAArC;AACA,OAAOC,QAAP,MAAqB,qBAArB;AACA,OAAOC,MAAP,MAAmB,mBAAnB;AACA,OAAOC,MAAP,MAAmB,mBAAnB;AACA,OAAOC,qBAAP,MAAkC,wCAAlC;AACA,OAAOC,OAAP,MAAoB,yBAApB;AACA,OAAOC,KAAP,MAAkB,aAAlB;AAEA,MAAMC,mBAAmB,GAAG;EAC1BC,OAAO,EAAEF,KAAK,CAACE,OADW;EAE1BC,OAAO,EAAEH,KAAK,CAACI,cAFW;EAG1BC,MAAM,EAAEL,KAAK,CAACE;AAHY,CAA5B;;AAMA,MAAMI,cAAc,GAAG,CAACC,KAAD,EAAQC,OAAR,KAAoB;EACzC,MAAM;IACJC,IADI;IAEJC,IAFI;IAGJC,GAHI;IAIJC,IAJI;IAKJC,QALI;IAMJC,OANI;IAOJC,OAPI;IAQJC,kBARI;IASJC,WATI;IAUJC,IAAI,GAAG,SAVH;IAWJC;EAXI,IAYFZ,KAZJ;EAaA,MAAM;IAACa;EAAD,IAASZ,OAAf;;EACA,MAAMa,OAAO,GAAG,OAAM,SAAN,EAAiB,gBAAjB,EAAmCD,IAAnC,CAAhB;;EACA,MAAME,QAAQ,GAAG5B,sBAAsB,CAACgB,IAAD,CAAtB,CAA6Ba,IAA9C;EACA,MAAMC,SAAS,GAAG9B,sBAAsB,CAACgB,IAAD,CAAtB,CAA6Be,KAA/C;EAEA,MAAMC,eAAe,GAAGtC,OAAO,CAAC,MAAM;IACpC,OAAO2B,OAAO,gBACZ;MAAK,SAAS,EAAEf,KAAK,CAAC2B;IAAtB,gBACE,oBAAC,MAAD,OADF,CADY,gBAKZ,oBAAC,qBAAD;MACE,GAAG,EAAEhB,GADP;MAEE,IAAI,EAAEO,IAFR;MAGE,kBAAkB,EAAEF,kBAHtB;MAIE,WAAW,EAAEC;IAJf,EALF;EAYD,CAb8B,EAa5B,CAACF,OAAD,EAAUJ,GAAV,EAAeO,IAAf,EAAqBD,WAArB,EAAkCD,kBAAlC,CAb4B,CAA/B;EAeA,MAAMY,aAAa,GAAGzC,WAAW,CAAC0C,KAAK,IAAI;IACzC,MAAMC,OAAO,GAAG,cAAY,CAAC,SAAD,CAAZ,EAAyBD,KAAzB,CAAhB;;IACA,OAAOE,CAAC,IAAI;MACVA,CAAC,CAACC,eAAF;MACAD,CAAC,CAACE,cAAF;MACA,OAAOH,OAAO,CAACC,CAAD,CAAd;IACD,CAJD;EAKD,CAPgC,EAO9B,EAP8B,CAAjC;EASA,MAAMG,cAAc,GAAG9C,OAAO,CAAC,MAAM;IACnC,OAAO,CAAC,OAAMyB,QAAN,CAAD,gBACL,oBAAC,MAAD;MACE,IAAI,EAAC,QADP;MAEE,QAAQ,EAAEE,OAAO,GAAG,IAAH,GAAUF,QAAQ,CAACsB,QAFtC;MAGE,OAAO,EAAEpB,OAAO,eAAca,aAAa,CAACf,QAAD,CAH7C;MAIE,WAAW,EAAEA,QAAQ,CAACuB,KAJxB;MAKE,KAAK,EAAE;QACLC,eAAe,EACbxB,QAAQ,CAACsB,QAAT,IAAqBpB,OAArB,GAA+BxB,OAAO,CAAE,SAAQ8B,OAAQ,WAAlB,CAAtC,GAAsEA,OAFnE;QAGLiB,MAAM,EAAEvB,OAAO,GAAG,UAAH,GAAgB;MAH1B,CALT;MAUE,SAAS,EAAEvB,UAAU,CACnBQ,KAAK,CAACuC,WADa,EAEnB1B,QAAQ,CAACsB,QAAT,IAAqBpB,OAArB,GAA+Bf,KAAK,CAACmC,QAArC,GAAgD,IAF7B,EAGnBpB,OAAO,GAAGf,KAAK,CAACe,OAAT,GAAmB,IAHP,CAVvB;MAeE,eAAY;IAfd,EADK,GAkBH,IAlBJ;EAmBD,CApB6B,EAoB3B,CAACF,QAAD,EAAWE,OAAX,EAAoBM,OAApB,EAA6BO,aAA7B,CApB2B,CAA9B;EAsBA,MAAMY,aAAa,GAAGpD,OAAO,CAAC,MAAM;IAClC,OAAO,CAAC,OAAM0B,OAAN,CAAD,gBACL;MAAK,SAAS,EAAEd,KAAK,CAACyC;IAAtB,gBACE;MAAK,OAAO,EAAEb,aAAa,CAACd,OAAD,CAA3B;MAAsC,SAAS,EAAEtB,UAAU,CAACQ,KAAK,CAAC0C,SAAP,EAAkB1C,KAAK,CAAC2C,IAAxB;IAA3D,gBACE,oBAAC,YAAD;MAAc,SAAS,EAAE3C,KAAK,CAAC4C,YAA/B;MAA6C,KAAK,EAAE,EAApD;MAAwD,MAAM,EAAE;IAAhE,EADF,eAEE,kCAAO9B,OAAO,CAACsB,KAAf,CAFF,CADF,CADK,GAOH,IAPJ;EAQD,CAT4B,EAS1B,CAACR,aAAD,EAAgBd,OAAhB,CAT0B,CAA7B;EAWA,MAAM+B,UAAU,GAAGzD,OAAO,CAAC,MAAM;IAC/B,OAAO,CAAC,OAAMwB,IAAN,CAAD,gBACL;MAAK,SAAS,EAAEZ,KAAK,CAACyC;IAAtB,gBACE;MACE,SAAS,EAAEjD,UAAU,CAACQ,KAAK,CAAC8C,OAAP,EAAgB/B,OAAO,GAAGf,KAAK,CAACe,OAAT,GAAmB,IAA1C,CADvB;MAEE,OAAO,EAAEA,OAAO,eAAca,aAAa,CAAChB,IAAD;IAF7C,GAIGA,IAAI,CAACwB,KAJR,CADF,CADK,GASH,IATJ;EAUD,CAXyB,EAWvB,CAACxB,IAAD,EAAOG,OAAP,EAAgBa,aAAhB,CAXuB,CAA1B;EAaA,MAAMmB,YAAY,GAAG3D,OAAO,CAAC,MAAM;IACjC,OAAO,CAAC,OAAMqB,IAAN,CAAD,gBACL;MAAK,SAAS,EAAEjB,UAAU,CAACQ,KAAK,CAAC0C,SAAP,EAAkB1C,KAAK,CAACgD,KAAxB;IAA1B,gBACE;MAAK,SAAS,EAAEhD,KAAK,CAACiD,IAAtB;MAA4B,KAAK,EAAE;QAACZ,eAAe,EAAEb;MAAlB;IAAnC,gBACE,oBAAC,QAAD;MAAU,SAAS,EAAExB,KAAK,CAACkD;IAA3B,EADF,CADF,eAIE;MACE,SAAS,EAAElD,KAAK,CAACmD,SADnB,CAEE;MAFF;MAGE,uBAAuB,EAAE;QAACC,MAAM,EAAE3C;MAAT;IAH3B,EAJF,CADK,GAWH,IAXJ;EAYD,CAb2B,EAazB,CAACA,IAAD,EAAOe,SAAP,CAbyB,CAA5B;EAeA,MAAM6B,MAAM,GAAGjE,OAAO,CAAC,MAAM;IAC3B,OAAO,CAAC,OAAMwB,IAAN,CAAD,IAAgB,CAAC,SAAQH,IAAR,CAAjB,gBACL;MAAK,SAAS,EAAET,KAAK,CAACqD;IAAtB,GACGR,UADH,EAEGE,YAFH,EAGG,OAAMnC,IAAN,IAAc,IAAd,gBAAqB;MAAK,SAAS,EAAEZ,KAAK,CAACsD;IAAtB,EAHxB,CADK,GAMH,IANJ;EAOD,CARqB,EAQnB,CAAC7C,IAAD,EAAOsC,YAAP,EAAqBnC,IAArB,EAA2BiC,UAA3B,CARmB,CAAtB;EAUA,MAAMU,MAAM,GAAGnE,OAAO,CAAC,MAAM;IAC3B,OAAO,CAAC,OAAM0B,OAAN,CAAD,IAAmB,CAAC,OAAMD,QAAN,CAApB,gBACL;MAAK,SAAS,EAAEb,KAAK,CAACuD;IAAtB,GACGf,aADH,EAEGN,cAFH,EAGG,OAAMpB,OAAN,IAAiB,IAAjB,gBAAwB;MAAK,SAAS,EAAEd,KAAK,CAACsD;IAAtB,EAH3B,CADK,GAMH,IANJ;EAOD,CARqB,EAQnB,CAACxC,OAAD,EAAU0B,aAAV,EAAyB3B,QAAzB,EAAmCqB,cAAnC,CARmB,CAAtB;EAUA,MAAMsB,KAAK,GAAGpE,OAAO,CAAC,MAAM;IAC1B,OAAO,CAAC,OAAM+B,UAAN,CAAD,gBAAqB,oBAAC,OAAD,EAAaA,UAAb,CAArB,GAAmD,IAA1D;EACD,CAFoB,EAElB,CAACA,UAAD,CAFkB,CAArB;EAIA,oBACE;IAAK,SAAS,EAAElB,mBAAmB,CAACiB,IAAD;EAAnC,GACGmC,MADH,EAEGG,KAFH,EAGG9B,eAHH,EAIG6B,MAJH,CADF;AAQD,CAxID;;AA0IAjD,cAAc,CAACmD,SAAf,2CAA2B;EACzBhD,IAAI,EAAEhB,SAAS,CAACiE,MADS;EAEzBhD,IAAI,EAAEjB,SAAS,CAACkE,KAAV,CAAgB,MAAKjE,sBAAL,CAAhB,CAFmB;EAGzBiB,GAAG,EAAElB,SAAS,CAACiE,MAAV,CAAiBE,UAHG;EAIzBhD,IAAI,EAAEnB,SAAS,CAACoE,KAAV,CAAgB;IACpBzB,KAAK,EAAE3C,SAAS,CAACiE,MAAV,CAAiBE,UADJ;IAEpB9B,OAAO,EAAErC,SAAS,CAACqE;EAFC,CAAhB,CAJmB;EAQzBjD,QAAQ,EAAEpB,SAAS,CAACoE,KAAV,CAAgB;IACxBzB,KAAK,EAAE3C,SAAS,CAACiE,MAAV,CAAiBE,UADA;IAExBzB,QAAQ,EAAE1C,SAAS,CAACsE,IAFI;IAGxBjC,OAAO,EAAErC,SAAS,CAACqE;EAHK,CAAhB,CARe;EAazBhD,OAAO,EAAErB,SAAS,CAACoE,KAAV,CAAgB;IACvBzB,KAAK,EAAE3C,SAAS,CAACiE,MAAV,CAAiBE,UADD;IAEvB9B,OAAO,EAAErC,SAAS,CAACqE;EAFI,CAAhB,CAbgB;EAiBzB/C,OAAO,EAAEtB,SAAS,CAACsE,IAjBM;EAkBzB/C,kBAAkB,EAAEvB,SAAS,CAACiE,MAlBL;EAmBzBzC,WAAW,EAAExB,SAAS,CAACiE,MAnBE;EAoBzBxC,IAAI,EAAEzB,SAAS,CAACiE,MApBS;EAqBzBvC,UAAU,EAAE1B,SAAS,CAACoE,KAAV,cAAoB9D,OAAO,CAAC0D,SAA5B;AArBa,CAA3B;AAwBAnD,cAAc,CAAC0D,YAAf,GAA8B;EAC5B5C,IAAI,EAAEzB,QAAQ,CAACsE,iBAAT,CAA2B7C;AADL,CAA9B;AAIA,eAAed,cAAf"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export declare type Props = {
|
|
3
|
+
onDemoPress: () => void;
|
|
4
|
+
onDesktopButtonPress: () => void;
|
|
5
|
+
onHelpPress: () => void;
|
|
6
|
+
onMobileButtonPress: () => void;
|
|
7
|
+
locales: {
|
|
8
|
+
title: string;
|
|
9
|
+
description: string;
|
|
10
|
+
ctaQRCode: string;
|
|
11
|
+
ctaReceiveMail: string;
|
|
12
|
+
titleHelp: string;
|
|
13
|
+
ctaHelp: string;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
declare const Welcome: (props: Props) => JSX.Element | null;
|
|
17
|
+
export default Welcome;
|
|
18
|
+
//# sourceMappingURL=index.native.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../../src/template/mobile-login/welcome/index.native.tsx"],"names":[],"mappings":";AA+IA,oBAAY,KAAK,GAAG;IAClB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,oBAAoB,EAAE,MAAM,IAAI,CAAC;IACjC,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAChC,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH,CAAC;AAEF,QAAA,MAAM,OAAO,UAAW,KAAK,uBA0D5B,CAAC;AAEF,eAAe,OAAO,CAAC"}
|