@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.
Files changed (67) hide show
  1. package/es/atom/button/index.d.ts.map +1 -1
  2. package/es/atom/button/index.js +18 -13
  3. package/es/atom/button/index.js.map +1 -1
  4. package/es/molecule/cm-popin/index.d.ts.map +1 -1
  5. package/es/molecule/cm-popin/index.js +5 -4
  6. package/es/molecule/cm-popin/index.js.map +1 -1
  7. package/es/molecule/cm-popin/style.css +61 -40
  8. package/es/molecule/discipline-header/index.d.ts +1 -0
  9. package/es/molecule/discipline-header/index.d.ts.map +1 -1
  10. package/es/molecule/discipline-header/index.js +24 -9
  11. package/es/molecule/discipline-header/index.js.map +1 -1
  12. package/es/molecule/discipline-header/style.css +34 -7
  13. package/es/template/common/discipline/index.d.ts.map +1 -1
  14. package/es/template/common/discipline/index.js +4 -2
  15. package/es/template/common/discipline/index.js.map +1 -1
  16. package/es/template/external-course/index.d.ts +69 -21
  17. package/es/template/external-course/index.d.ts.map +1 -1
  18. package/es/template/external-course/index.js +73 -56
  19. package/es/template/external-course/index.js.map +1 -1
  20. package/es/template/external-course/style.css +1 -1
  21. package/es/template/mobile-login/welcome/index.native.d.ts +18 -0
  22. package/es/template/mobile-login/welcome/index.native.d.ts.map +1 -0
  23. package/es/template/mobile-login/welcome/index.native.js +195 -0
  24. package/es/template/mobile-login/welcome/index.native.js.map +1 -0
  25. package/lib/atom/button/index.d.ts.map +1 -1
  26. package/lib/atom/button/index.js +18 -13
  27. package/lib/atom/button/index.js.map +1 -1
  28. package/lib/molecule/cm-popin/index.d.ts.map +1 -1
  29. package/lib/molecule/cm-popin/index.js +4 -3
  30. package/lib/molecule/cm-popin/index.js.map +1 -1
  31. package/lib/molecule/cm-popin/style.css +61 -40
  32. package/lib/molecule/discipline-header/index.d.ts +1 -0
  33. package/lib/molecule/discipline-header/index.d.ts.map +1 -1
  34. package/lib/molecule/discipline-header/index.js +25 -9
  35. package/lib/molecule/discipline-header/index.js.map +1 -1
  36. package/lib/molecule/discipline-header/style.css +34 -7
  37. package/lib/template/common/discipline/index.d.ts.map +1 -1
  38. package/lib/template/common/discipline/index.js +4 -2
  39. package/lib/template/common/discipline/index.js.map +1 -1
  40. package/lib/template/external-course/index.d.ts +69 -21
  41. package/lib/template/external-course/index.d.ts.map +1 -1
  42. package/lib/template/external-course/index.js +76 -54
  43. package/lib/template/external-course/index.js.map +1 -1
  44. package/lib/template/external-course/style.css +1 -1
  45. package/lib/template/mobile-login/welcome/index.native.d.ts +18 -0
  46. package/lib/template/mobile-login/welcome/index.native.d.ts.map +1 -0
  47. package/lib/template/mobile-login/welcome/index.native.js +212 -0
  48. package/lib/template/mobile-login/welcome/index.native.js.map +1 -0
  49. package/package.json +3 -3
  50. package/es/atom/form-text-input/index.d.ts +0 -27
  51. package/es/atom/form-text-input/index.d.ts.map +0 -1
  52. package/es/atom/form-text-input/index.js +0 -96
  53. package/es/atom/form-text-input/index.js.map +0 -1
  54. package/es/atom/form-text-input/prop-types.d.ts +0 -56
  55. package/es/atom/form-text-input/prop-types.d.ts.map +0 -1
  56. package/es/atom/form-text-input/prop-types.js +0 -35
  57. package/es/atom/form-text-input/prop-types.js.map +0 -1
  58. package/es/atom/form-text-input/style.css +0 -53
  59. package/lib/atom/form-text-input/index.d.ts +0 -27
  60. package/lib/atom/form-text-input/index.d.ts.map +0 -1
  61. package/lib/atom/form-text-input/index.js +0 -114
  62. package/lib/atom/form-text-input/index.js.map +0 -1
  63. package/lib/atom/form-text-input/prop-types.d.ts +0 -56
  64. package/lib/atom/form-text-input/prop-types.d.ts.map +0 -1
  65. package/lib/atom/form-text-input/prop-types.js +0 -46
  66. package/lib/atom/form-text-input/prop-types.js.map +0 -1
  67. 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 class ExternalCourse extends React.Component<any, any, any> {
3
- static propTypes: {
4
- name: PropTypes.Requireable<string>;
5
- type: PropTypes.Requireable<string>;
6
- url: PropTypes.Validator<string>;
7
- quit: PropTypes.Requireable<PropTypes.InferProps<{
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
- static contextTypes: {
26
- skin: PropTypes.Requireable<PropTypes.InferProps<{
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":";AAmBA;IACE;;;;;;;;;;;;;;;;;;;;;MAqBE;IAEF;;;;;;;;;;;;;;;;;;;;;;MAEE;IA4Hqsd,wBAA8C;IAAA,sCAAyJ;IA1H94d,+CAKE;IAEF,sBA+GC;CACF"}
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 _get from "lodash/fp/get";
7
- import React from 'react';
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
- class ExternalCourse extends React.Component {
25
- constructor(...args) {
26
- super(...args);
27
-
28
- this.handleOnClick = field => e => {
29
- e.stopPropagation();
30
- e.preventDefault();
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
- const onClick = _get('onClick', field);
46
+ const primary = _getOr('#00B0FF', 'common.primary', skin);
33
47
 
34
- return onClick && onClick(e);
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
- const completeButton = !_isNil(complete) ? /*#__PURE__*/React.createElement(Button, {
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 : this.handleOnClick(complete),
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
- const warningButton = !_isNil(warning) ? /*#__PURE__*/React.createElement("div", {
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: this.handleOnClick(warning),
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
- const quitButton = !_isNil(quit) ? /*#__PURE__*/React.createElement("div", {
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 : this.handleOnClick(quit)
100
+ onClick: loading ? _identity : handleOnClick(quit)
93
101
  }, quit.label)) : null;
94
- const titleSection = !_isNil(name) ? /*#__PURE__*/React.createElement("div", {
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
- const header = !_isNil(quit) || !_isEmpty(name) ? /*#__PURE__*/React.createElement("div", {
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
- const footer = !_isNil(warning) || !_isNil(complete) ? /*#__PURE__*/React.createElement("div", {
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
- return /*#__PURE__*/React.createElement("div", {
121
- className: defaultWrapperStyle[mode]
122
- }, header, mainContentSlot, footer);
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":"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"}
@@ -24,7 +24,7 @@
24
24
  }
25
25
 
26
26
  .defaultCockpit{
27
- composes:default;
27
+ composes: default;
28
28
  height: 100%;
29
29
  }
30
30
 
@@ -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"}