@coorpacademy/components 11.32.27 → 11.32.28
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/template/external-course/index.d.ts +4 -0
- package/es/template/external-course/index.d.ts.map +1 -1
- package/es/template/external-course/index.js +6 -1
- package/es/template/external-course/index.js.map +1 -1
- package/es/template/external-course/style.css +11 -1
- package/lib/template/external-course/index.d.ts +4 -0
- package/lib/template/external-course/index.d.ts.map +1 -1
- package/lib/template/external-course/index.js +6 -1
- package/lib/template/external-course/index.js.map +1 -1
- package/lib/template/external-course/style.css +11 -1
- package/package.json +2 -2
|
@@ -4,6 +4,10 @@ declare namespace ExternalCourse {
|
|
|
4
4
|
namespace propTypes {
|
|
5
5
|
const name: PropTypes.Requireable<string>;
|
|
6
6
|
const type: PropTypes.Requireable<string>;
|
|
7
|
+
const onTop: PropTypes.Requireable<PropTypes.InferProps<{
|
|
8
|
+
header: PropTypes.Requireable<boolean>;
|
|
9
|
+
footer: PropTypes.Requireable<boolean>;
|
|
10
|
+
}>>;
|
|
7
11
|
const url: PropTypes.Validator<string>;
|
|
8
12
|
const quit: PropTypes.Requireable<PropTypes.InferProps<{
|
|
9
13
|
label: PropTypes.Validator<string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/template/external-course/index.js"],"names":[],"mappings":";AAoBA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/template/external-course/index.js"],"names":[],"mappings":";AAoBA,uEA+IC"}
|
|
@@ -37,6 +37,7 @@ const ExternalCourse = (props, context) => {
|
|
|
37
37
|
backgroundImageUrl,
|
|
38
38
|
contentType,
|
|
39
39
|
mode = 'default',
|
|
40
|
+
onTop = {},
|
|
40
41
|
closePopin
|
|
41
42
|
} = props;
|
|
42
43
|
const {
|
|
@@ -136,13 +137,17 @@ const ExternalCourse = (props, context) => {
|
|
|
136
137
|
return !_isNil(closePopin) ? /*#__PURE__*/React.createElement(CmPopin, closePopin) : null;
|
|
137
138
|
}, [closePopin]);
|
|
138
139
|
return /*#__PURE__*/React.createElement("div", {
|
|
139
|
-
className: defaultWrapperStyle[mode]
|
|
140
|
+
className: classnames(defaultWrapperStyle[mode], onTop.header && style.onTopHeader, onTop.footer && style.onTopFooter)
|
|
140
141
|
}, header, popin, mainContentSlot, footer);
|
|
141
142
|
};
|
|
142
143
|
|
|
143
144
|
ExternalCourse.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
144
145
|
name: PropTypes.string,
|
|
145
146
|
type: PropTypes.oneOf(_keys(EXTERNAL_CONTENT_ICONS)),
|
|
147
|
+
onTop: PropTypes.shape({
|
|
148
|
+
header: PropTypes.bool,
|
|
149
|
+
footer: PropTypes.bool
|
|
150
|
+
}),
|
|
146
151
|
url: PropTypes.string.isRequired,
|
|
147
152
|
quit: PropTypes.shape({
|
|
148
153
|
label: PropTypes.string.isRequired,
|
|
@@ -1 +1 @@
|
|
|
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"}
|
|
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","onTop","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","onTopHeader","onTopFooter","propTypes","string","oneOf","shape","bool","isRequired","func","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 onTop = {},\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\n className={classnames(\n defaultWrapperStyle[mode],\n onTop.header && style.onTopHeader,\n onTop.footer && style.onTopFooter\n )}\n >\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 onTop: PropTypes.shape({\n header: PropTypes.bool,\n footer: PropTypes.bool\n }),\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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"}
|
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
display: flex;
|
|
22
22
|
flex-direction: column;
|
|
23
23
|
align-content: stretch;
|
|
24
|
+
position: relative;
|
|
24
25
|
}
|
|
25
26
|
|
|
26
27
|
.defaultCockpit{
|
|
@@ -43,7 +44,16 @@
|
|
|
43
44
|
z-index: 1;
|
|
44
45
|
overflow: hidden;
|
|
45
46
|
}
|
|
46
|
-
|
|
47
|
+
.onTopHeader .header{
|
|
48
|
+
position: absolute;
|
|
49
|
+
top: 0;
|
|
50
|
+
left: 0;
|
|
51
|
+
}
|
|
52
|
+
.onTopFooter .footer{
|
|
53
|
+
position: absolute;
|
|
54
|
+
bottom: 0;
|
|
55
|
+
left: 0;
|
|
56
|
+
}
|
|
47
57
|
.leftSection, .rightSection {
|
|
48
58
|
align-self: center;
|
|
49
59
|
flex: 1;
|
|
@@ -4,6 +4,10 @@ declare namespace ExternalCourse {
|
|
|
4
4
|
namespace propTypes {
|
|
5
5
|
const name: PropTypes.Requireable<string>;
|
|
6
6
|
const type: PropTypes.Requireable<string>;
|
|
7
|
+
const onTop: PropTypes.Requireable<PropTypes.InferProps<{
|
|
8
|
+
header: PropTypes.Requireable<boolean>;
|
|
9
|
+
footer: PropTypes.Requireable<boolean>;
|
|
10
|
+
}>>;
|
|
7
11
|
const url: PropTypes.Validator<string>;
|
|
8
12
|
const quit: PropTypes.Requireable<PropTypes.InferProps<{
|
|
9
13
|
label: PropTypes.Validator<string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/template/external-course/index.js"],"names":[],"mappings":";AAoBA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/template/external-course/index.js"],"names":[],"mappings":";AAoBA,uEA+IC"}
|
|
@@ -65,6 +65,7 @@ const ExternalCourse = (props, context) => {
|
|
|
65
65
|
backgroundImageUrl,
|
|
66
66
|
contentType,
|
|
67
67
|
mode = 'default',
|
|
68
|
+
onTop = {},
|
|
68
69
|
closePopin
|
|
69
70
|
} = props;
|
|
70
71
|
const {
|
|
@@ -161,13 +162,17 @@ const ExternalCourse = (props, context) => {
|
|
|
161
162
|
return !(0, _isNil2.default)(closePopin) ? /*#__PURE__*/_react.default.createElement(_cmPopin.default, closePopin) : null;
|
|
162
163
|
}, [closePopin]);
|
|
163
164
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
164
|
-
className: defaultWrapperStyle[mode]
|
|
165
|
+
className: (0, _classnames.default)(defaultWrapperStyle[mode], onTop.header && _style.default.onTopHeader, onTop.footer && _style.default.onTopFooter)
|
|
165
166
|
}, header, popin, mainContentSlot, footer);
|
|
166
167
|
};
|
|
167
168
|
|
|
168
169
|
ExternalCourse.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
169
170
|
name: _propTypes.default.string,
|
|
170
171
|
type: _propTypes.default.oneOf((0, _keys2.default)(_externalContent.EXTERNAL_CONTENT_ICONS)),
|
|
172
|
+
onTop: _propTypes.default.shape({
|
|
173
|
+
header: _propTypes.default.bool,
|
|
174
|
+
footer: _propTypes.default.bool
|
|
175
|
+
}),
|
|
171
176
|
url: _propTypes.default.string.isRequired,
|
|
172
177
|
quit: _propTypes.default.shape({
|
|
173
178
|
label: _propTypes.default.string.isRequired,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["defaultWrapperStyle","default","style","cockpit","defaultCockpit","mobile","ExternalCourse","props","context","name","type","url","quit","complete","warning","loading","backgroundImageUrl","contentType","mode","closePopin","skin","primary","IconType","EXTERNAL_CONTENT_ICONS","icon","IconColor","color","mainContentSlot","useMemo","loader","handleOnClick","useCallback","field","onClick","e","stopPropagation","preventDefault","completeButton","disabled","label","backgroundColor","convert","cursor","classnames","completeCta","warningButton","leftSection","iconLabel","link","iconQuestion","quitButton","quitCta","titleSection","title","oval","iconHeader","innerHTML","__html","header","rightSection","footer","popin","propTypes","PropTypes","string","oneOf","isRequired","shape","func","bool","CmPopin","contextTypes","Provider","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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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["defaultWrapperStyle","default","style","cockpit","defaultCockpit","mobile","ExternalCourse","props","context","name","type","url","quit","complete","warning","loading","backgroundImageUrl","contentType","mode","onTop","closePopin","skin","primary","IconType","EXTERNAL_CONTENT_ICONS","icon","IconColor","color","mainContentSlot","useMemo","loader","handleOnClick","useCallback","field","onClick","e","stopPropagation","preventDefault","completeButton","disabled","label","backgroundColor","convert","cursor","classnames","completeCta","warningButton","leftSection","iconLabel","link","iconQuestion","quitButton","quitCta","titleSection","title","oval","iconHeader","innerHTML","__html","header","rightSection","footer","popin","onTopHeader","onTopFooter","propTypes","PropTypes","string","oneOf","shape","bool","isRequired","func","CmPopin","contextTypes","Provider","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 onTop = {},\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\n className={classnames(\n defaultWrapperStyle[mode],\n onTop.header && style.onTopHeader,\n onTop.footer && style.onTopFooter\n )}\n >\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 onTop: PropTypes.shape({\n header: PropTypes.bool,\n footer: PropTypes.bool\n }),\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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"}
|
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
display: flex;
|
|
22
22
|
flex-direction: column;
|
|
23
23
|
align-content: stretch;
|
|
24
|
+
position: relative;
|
|
24
25
|
}
|
|
25
26
|
|
|
26
27
|
.defaultCockpit{
|
|
@@ -43,7 +44,16 @@
|
|
|
43
44
|
z-index: 1;
|
|
44
45
|
overflow: hidden;
|
|
45
46
|
}
|
|
46
|
-
|
|
47
|
+
.onTopHeader .header{
|
|
48
|
+
position: absolute;
|
|
49
|
+
top: 0;
|
|
50
|
+
left: 0;
|
|
51
|
+
}
|
|
52
|
+
.onTopFooter .footer{
|
|
53
|
+
position: absolute;
|
|
54
|
+
bottom: 0;
|
|
55
|
+
left: 0;
|
|
56
|
+
}
|
|
47
57
|
.leftSection, .rightSection {
|
|
48
58
|
align-self: center;
|
|
49
59
|
flex: 1;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@coorpacademy/components",
|
|
3
|
-
"version": "11.32.
|
|
3
|
+
"version": "11.32.28",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "es/index.js",
|
|
@@ -177,5 +177,5 @@
|
|
|
177
177
|
"last 2 versions",
|
|
178
178
|
"IE 11"
|
|
179
179
|
],
|
|
180
|
-
"gitHead": "
|
|
180
|
+
"gitHead": "db50ee93e1f427ef1a18aa174826835ee0a64b1d"
|
|
181
181
|
}
|