@coorpacademy/components 10.13.5 → 10.13.8
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-link-icon-only/index.js +19 -4
- package/es/atom/button-link-icon-only/index.js.map +1 -1
- package/es/atom/button-link-icon-only/style.css +29 -0
- package/es/atom/button-link-icon-only/test/button-link-icon-only.js +15 -0
- package/es/atom/button-link-icon-only/test/button-link-icon-only.js.map +1 -1
- package/es/atom/button-link-icon-only/test/fixtures/review-header.js +10 -0
- package/es/atom/button-link-icon-only/test/fixtures/review-header.js.map +1 -0
- package/es/atom/drag-and-drop/index.js +72 -46
- package/es/atom/drag-and-drop/index.js.map +1 -1
- package/es/atom/drag-and-drop/style.css +160 -73
- package/es/atom/drag-and-drop/test/dragging.js +8 -1
- package/es/atom/drag-and-drop/test/dragging.js.map +1 -1
- package/es/atom/drag-and-drop/test/fixtures/clean-and-modified.js +12 -0
- package/es/atom/drag-and-drop/test/fixtures/clean-and-modified.js.map +1 -0
- package/es/atom/drag-and-drop/test/fixtures/default.js +3 -3
- package/es/atom/drag-and-drop/test/fixtures/default.js.map +1 -1
- package/es/atom/drag-and-drop/test/fixtures/error.js +12 -0
- package/es/atom/drag-and-drop/test/fixtures/error.js.map +1 -0
- package/es/atom/drag-and-drop/test/fixtures/modified.js +12 -0
- package/es/atom/drag-and-drop/test/fixtures/modified.js.map +1 -0
- package/es/atom/drag-and-drop/test/fixtures/with-children.js +1 -14
- package/es/atom/drag-and-drop/test/fixtures/with-children.js.map +1 -1
- package/es/atom/drag-and-drop/test/fixtures/with-image.js +1 -1
- package/es/atom/drag-and-drop/test/fixtures/with-image.js.map +1 -1
- package/es/atom/drag-and-drop/test/fixtures/with-long-description.js +12 -0
- package/es/atom/drag-and-drop/test/fixtures/with-long-description.js.map +1 -0
- package/es/atom/drag-and-drop/test/fixtures/with-video.js +2 -1
- package/es/atom/drag-and-drop/test/fixtures/with-video.js.map +1 -1
- package/es/atom/drag-and-drop/test/fixtures.js +8 -0
- package/es/atom/drag-and-drop/test/fixtures.js.map +1 -1
- package/es/atom/image-upload/index.js +6 -3
- package/es/atom/image-upload/index.js.map +1 -1
- package/es/atom/image-upload/test/fixtures/clean-modified.js +13 -0
- package/es/atom/image-upload/test/fixtures/clean-modified.js.map +1 -0
- package/es/atom/image-upload/test/fixtures/{without-image.js → default.js} +1 -1
- package/es/atom/image-upload/test/fixtures/default.js.map +1 -0
- package/es/atom/image-upload/test/fixtures.js +4 -2
- package/es/atom/image-upload/test/fixtures.js.map +1 -1
- package/es/atom/loader/style.css +7 -3
- package/es/atom/review-header-step-item/index.js +3 -3
- package/es/atom/review-header-step-item/index.js.map +1 -1
- package/es/atom/review-header-step-item/style.css +5 -8
- package/es/atom/review-header-step-item/test/fixtures.js +19 -0
- package/es/atom/review-header-step-item/test/fixtures.js.map +1 -0
- package/es/molecule/brand-form-group/index.js +3 -1
- package/es/molecule/brand-form-group/index.js.map +1 -1
- package/es/molecule/brand-form-group/style.css +5 -0
- package/es/molecule/brand-form-group/test/fixtures/images.js +6 -2
- package/es/molecule/brand-form-group/test/fixtures/images.js.map +1 -1
- package/es/molecule/course-sections/index.js +4 -1
- package/es/molecule/course-sections/index.js.map +1 -1
- package/es/molecule/course-sections/style.css +14 -1
- package/es/molecule/drag-and-drop-wrapper/index.js +39 -0
- package/es/molecule/drag-and-drop-wrapper/index.js.map +1 -0
- package/es/molecule/drag-and-drop-wrapper/style.css +15 -0
- package/es/molecule/drag-and-drop-wrapper/test/fixtures/default.js +9 -0
- package/es/molecule/drag-and-drop-wrapper/test/fixtures/default.js.map +1 -0
- package/es/molecule/drag-and-drop-wrapper/test/fixtures/two-drag-and-drops.js +10 -0
- package/es/molecule/drag-and-drop-wrapper/test/fixtures/two-drag-and-drops.js.map +1 -0
- package/es/molecule/drag-and-drop-wrapper/test/fixtures.js +15 -0
- package/es/molecule/drag-and-drop-wrapper/test/fixtures.js.map +1 -0
- package/es/molecule/questions/qcm-graphic/style.css +1 -1
- package/es/molecule/review-header-steps/test/fixtures.js +23 -0
- package/es/molecule/review-header-steps/test/fixtures.js.map +1 -0
- package/es/molecule/setup-slide/index.js +3 -1
- package/es/molecule/setup-slide/index.js.map +1 -1
- package/es/molecule/setup-slide/style.css +5 -0
- package/es/molecule/setup-slide/test/fixtures/without-upload-image.js +41 -0
- package/es/molecule/setup-slide/test/fixtures/without-upload-image.js.map +1 -0
- package/es/molecule/setup-slide/test/fixtures.js +2 -0
- package/es/molecule/setup-slide/test/fixtures.js.map +1 -1
- package/es/molecule/setup-slider/test/fixtures/default.js +8 -4
- package/es/molecule/setup-slider/test/fixtures/default.js.map +1 -1
- package/es/organism/brand-form/test/fixtures/lms.js +14 -0
- package/es/organism/brand-form/test/fixtures/lms.js.map +1 -1
- package/es/organism/course-selection/index.js +2 -1
- package/es/organism/course-selection/index.js.map +1 -1
- package/es/organism/course-selection/style.css +12 -3
- package/es/organism/course-selection/test/fixtures/loading.js +9 -0
- package/es/organism/course-selection/test/fixtures/loading.js.map +1 -0
- package/es/organism/course-selection/test/fixtures.js +2 -0
- package/es/organism/course-selection/test/fixtures.js.map +1 -1
- package/es/organism/review-header/index.js +68 -0
- package/es/organism/review-header/index.js.map +1 -0
- package/es/organism/review-header/style.css +138 -0
- package/es/organism/review-header/test/fixtures/all-questions-ok.js +16 -0
- package/es/organism/review-header/test/fixtures/all-questions-ok.js.map +1 -0
- package/es/organism/review-header/test/fixtures/current-question-no-answered.js +12 -0
- package/es/organism/review-header/test/fixtures/current-question-no-answered.js.map +1 -0
- package/es/organism/review-header/test/fixtures/current-question-wrong.js +10 -0
- package/es/organism/review-header/test/fixtures/current-question-wrong.js.map +1 -0
- package/es/organism/review-header/test/fixtures/first-question-current-right.js +10 -0
- package/es/organism/review-header/test/fixtures/first-question-current-right.js.map +1 -0
- package/es/organism/review-header/test/fixtures/no-answered-question.js +10 -0
- package/es/organism/review-header/test/fixtures/no-answered-question.js.map +1 -0
- package/es/organism/review-header/test/fixtures/question-to-repeat.js +10 -0
- package/es/organism/review-header/test/fixtures/question-to-repeat.js.map +1 -0
- package/es/organism/review-header/test/review-header.js +40 -0
- package/es/organism/review-header/test/review-header.js.map +1 -0
- package/es/organism/search-and-chips-results/index.js +2 -1
- package/es/organism/search-and-chips-results/index.js.map +1 -1
- package/es/organism/search-and-chips-results/style.css +10 -3
- package/es/organism/search-and-chips-results/test/fixtures/loading.js +9 -0
- package/es/organism/search-and-chips-results/test/fixtures/loading.js.map +1 -0
- package/es/organism/search-and-chips-results/test/fixtures.js +2 -0
- package/es/organism/search-and-chips-results/test/fixtures.js.map +1 -1
- package/es/template/back-office/brand-update/index.js +5 -2
- package/es/template/back-office/brand-update/index.js.map +1 -1
- package/es/template/back-office/brand-update/style.css +10 -1
- package/es/util/button-icons.js +3 -2
- package/es/util/button-icons.js.map +1 -1
- package/lib/atom/button-link-icon-only/index.js +19 -4
- package/lib/atom/button-link-icon-only/index.js.map +1 -1
- package/lib/atom/button-link-icon-only/style.css +29 -0
- package/lib/atom/button-link-icon-only/test/button-link-icon-only.js +14 -0
- package/lib/atom/button-link-icon-only/test/button-link-icon-only.js.map +1 -1
- package/lib/atom/button-link-icon-only/test/fixtures/review-header.js +15 -0
- package/lib/atom/button-link-icon-only/test/fixtures/review-header.js.map +1 -0
- package/lib/atom/drag-and-drop/index.js +74 -45
- package/lib/atom/drag-and-drop/index.js.map +1 -1
- package/lib/atom/drag-and-drop/style.css +160 -73
- package/lib/atom/drag-and-drop/test/dragging.js +8 -1
- package/lib/atom/drag-and-drop/test/dragging.js.map +1 -1
- package/lib/atom/drag-and-drop/test/fixtures/clean-and-modified.js +21 -0
- package/lib/atom/drag-and-drop/test/fixtures/clean-and-modified.js.map +1 -0
- package/lib/atom/drag-and-drop/test/fixtures/default.js +3 -3
- package/lib/atom/drag-and-drop/test/fixtures/default.js.map +1 -1
- package/lib/atom/drag-and-drop/test/fixtures/error.js +21 -0
- package/lib/atom/drag-and-drop/test/fixtures/error.js.map +1 -0
- package/lib/atom/drag-and-drop/test/fixtures/modified.js +21 -0
- package/lib/atom/drag-and-drop/test/fixtures/modified.js.map +1 -0
- package/lib/atom/drag-and-drop/test/fixtures/with-children.js +1 -19
- package/lib/atom/drag-and-drop/test/fixtures/with-children.js.map +1 -1
- package/lib/atom/drag-and-drop/test/fixtures/with-image.js +1 -1
- package/lib/atom/drag-and-drop/test/fixtures/with-image.js.map +1 -1
- package/lib/atom/drag-and-drop/test/fixtures/with-long-description.js +21 -0
- package/lib/atom/drag-and-drop/test/fixtures/with-long-description.js.map +1 -0
- package/lib/atom/drag-and-drop/test/fixtures/with-video.js +2 -1
- package/lib/atom/drag-and-drop/test/fixtures/with-video.js.map +1 -1
- package/lib/atom/drag-and-drop/test/fixtures.js +12 -0
- package/lib/atom/drag-and-drop/test/fixtures.js.map +1 -1
- package/lib/atom/image-upload/index.js +6 -3
- package/lib/atom/image-upload/index.js.map +1 -1
- package/lib/atom/image-upload/test/fixtures/clean-modified.js +22 -0
- package/lib/atom/image-upload/test/fixtures/clean-modified.js.map +1 -0
- package/lib/atom/image-upload/test/fixtures/{without-image.js → default.js} +1 -1
- package/lib/atom/image-upload/test/fixtures/default.js.map +1 -0
- package/lib/atom/image-upload/test/fixtures.js +6 -3
- package/lib/atom/image-upload/test/fixtures.js.map +1 -1
- package/lib/atom/loader/style.css +7 -3
- package/lib/atom/review-header-step-item/index.js +3 -3
- package/lib/atom/review-header-step-item/index.js.map +1 -1
- package/lib/atom/review-header-step-item/style.css +5 -8
- package/lib/atom/review-header-step-item/test/fixtures.js +31 -0
- package/lib/atom/review-header-step-item/test/fixtures.js.map +1 -0
- package/lib/molecule/brand-form-group/index.js +3 -1
- package/lib/molecule/brand-form-group/index.js.map +1 -1
- package/lib/molecule/brand-form-group/style.css +5 -0
- package/lib/molecule/brand-form-group/test/fixtures/images.js +6 -2
- package/lib/molecule/brand-form-group/test/fixtures/images.js.map +1 -1
- package/lib/molecule/course-sections/index.js +4 -1
- package/lib/molecule/course-sections/index.js.map +1 -1
- package/lib/molecule/course-sections/style.css +14 -1
- package/lib/molecule/drag-and-drop-wrapper/index.js +49 -0
- package/lib/molecule/drag-and-drop-wrapper/index.js.map +1 -0
- package/lib/molecule/drag-and-drop-wrapper/style.css +15 -0
- package/lib/molecule/drag-and-drop-wrapper/test/fixtures/default.js +19 -0
- package/lib/molecule/drag-and-drop-wrapper/test/fixtures/default.js.map +1 -0
- package/lib/molecule/drag-and-drop-wrapper/test/fixtures/two-drag-and-drops.js +21 -0
- package/lib/molecule/drag-and-drop-wrapper/test/fixtures/two-drag-and-drops.js.map +1 -0
- package/lib/molecule/drag-and-drop-wrapper/test/fixtures.js +25 -0
- package/lib/molecule/drag-and-drop-wrapper/test/fixtures.js.map +1 -0
- package/lib/molecule/questions/qcm-graphic/style.css +1 -1
- package/lib/molecule/review-header-steps/test/fixtures.js +37 -0
- package/lib/molecule/review-header-steps/test/fixtures.js.map +1 -0
- package/lib/molecule/setup-slide/index.js +3 -1
- package/lib/molecule/setup-slide/index.js.map +1 -1
- package/lib/molecule/setup-slide/style.css +5 -0
- package/lib/molecule/setup-slide/test/fixtures/without-upload-image.js +46 -0
- package/lib/molecule/setup-slide/test/fixtures/without-upload-image.js.map +1 -0
- package/lib/molecule/setup-slide/test/fixtures.js +3 -0
- package/lib/molecule/setup-slide/test/fixtures.js.map +1 -1
- package/lib/molecule/setup-slider/test/fixtures/default.js +7 -2
- package/lib/molecule/setup-slider/test/fixtures/default.js.map +1 -1
- package/lib/organism/brand-form/test/fixtures/lms.js +14 -0
- package/lib/organism/brand-form/test/fixtures/lms.js.map +1 -1
- package/lib/organism/course-selection/index.js +2 -1
- package/lib/organism/course-selection/index.js.map +1 -1
- package/lib/organism/course-selection/style.css +12 -3
- package/lib/organism/course-selection/test/fixtures/loading.js +19 -0
- package/lib/organism/course-selection/test/fixtures/loading.js.map +1 -0
- package/lib/organism/course-selection/test/fixtures.js +3 -0
- package/lib/organism/course-selection/test/fixtures.js.map +1 -1
- package/lib/organism/review-header/index.js +81 -0
- package/lib/organism/review-header/index.js.map +1 -0
- package/lib/organism/review-header/style.css +138 -0
- package/lib/organism/review-header/test/fixtures/all-questions-ok.js +26 -0
- package/lib/organism/review-header/test/fixtures/all-questions-ok.js.map +1 -0
- package/lib/organism/review-header/test/fixtures/current-question-no-answered.js +22 -0
- package/lib/organism/review-header/test/fixtures/current-question-no-answered.js.map +1 -0
- package/lib/organism/review-header/test/fixtures/current-question-wrong.js +20 -0
- package/lib/organism/review-header/test/fixtures/current-question-wrong.js.map +1 -0
- package/lib/organism/review-header/test/fixtures/first-question-current-right.js +20 -0
- package/lib/organism/review-header/test/fixtures/first-question-current-right.js.map +1 -0
- package/lib/organism/review-header/test/fixtures/no-answered-question.js +20 -0
- package/lib/organism/review-header/test/fixtures/no-answered-question.js.map +1 -0
- package/lib/organism/review-header/test/fixtures/question-to-repeat.js +20 -0
- package/lib/organism/review-header/test/fixtures/question-to-repeat.js.map +1 -0
- package/lib/organism/review-header/test/review-header.js +51 -0
- package/lib/organism/review-header/test/review-header.js.map +1 -0
- package/lib/organism/search-and-chips-results/index.js +2 -1
- package/lib/organism/search-and-chips-results/index.js.map +1 -1
- package/lib/organism/search-and-chips-results/style.css +10 -3
- package/lib/organism/search-and-chips-results/test/fixtures/loading.js +19 -0
- package/lib/organism/search-and-chips-results/test/fixtures/loading.js.map +1 -0
- package/lib/organism/search-and-chips-results/test/fixtures.js +3 -0
- package/lib/organism/search-and-chips-results/test/fixtures.js.map +1 -1
- package/lib/template/back-office/brand-update/index.js +5 -2
- package/lib/template/back-office/brand-update/index.js.map +1 -1
- package/lib/template/back-office/brand-update/style.css +10 -1
- package/lib/util/button-icons.js +2 -1
- package/lib/util/button-icons.js.map +1 -1
- package/package.json +3 -3
- package/es/atom/image-upload/test/fixtures/without-image.js.map +0 -1
- package/lib/atom/image-upload/test/fixtures/without-image.js.map +0 -1
|
@@ -26,6 +26,19 @@ const getButtonContent = icon => {
|
|
|
26
26
|
}));
|
|
27
27
|
};
|
|
28
28
|
|
|
29
|
+
const getSizeStyle = size => {
|
|
30
|
+
switch (size) {
|
|
31
|
+
case 'small':
|
|
32
|
+
return style.small;
|
|
33
|
+
|
|
34
|
+
case 'responsive':
|
|
35
|
+
return style.responsive;
|
|
36
|
+
|
|
37
|
+
default:
|
|
38
|
+
return style.default;
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
|
|
29
42
|
const ButtonLinkIconOnly = props => {
|
|
30
43
|
const {
|
|
31
44
|
size = 'default',
|
|
@@ -34,10 +47,11 @@ const ButtonLinkIconOnly = props => {
|
|
|
34
47
|
'data-name': dataName,
|
|
35
48
|
'aria-label': ariaLabel,
|
|
36
49
|
link,
|
|
37
|
-
onClick
|
|
50
|
+
onClick,
|
|
51
|
+
className
|
|
38
52
|
} = props;
|
|
39
53
|
const contentView = getButtonContent(icon);
|
|
40
|
-
const styleButton = classnames(size
|
|
54
|
+
const styleButton = classnames(getSizeStyle(size), link && style.link, disabled && style.disabled, className);
|
|
41
55
|
const handleOnClick = useMemo(() => () => onClick(), [onClick]);
|
|
42
56
|
|
|
43
57
|
if (link) {
|
|
@@ -60,7 +74,7 @@ const ButtonLinkIconOnly = props => {
|
|
|
60
74
|
};
|
|
61
75
|
|
|
62
76
|
ButtonLinkIconOnly.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
63
|
-
size: PropTypes.oneOf(['default', 'small']),
|
|
77
|
+
size: PropTypes.oneOf(['default', 'small', 'responsive']),
|
|
64
78
|
'aria-label': PropTypes.string,
|
|
65
79
|
'data-name': PropTypes.string,
|
|
66
80
|
icon: PropTypes.oneOf(_keys(ICONS)),
|
|
@@ -70,7 +84,8 @@ ButtonLinkIconOnly.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
70
84
|
download: PropTypes.bool,
|
|
71
85
|
target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top'])
|
|
72
86
|
}),
|
|
73
|
-
disabled: PropTypes.bool
|
|
87
|
+
disabled: PropTypes.bool,
|
|
88
|
+
className: PropTypes.string
|
|
74
89
|
} : {};
|
|
75
90
|
export default ButtonLinkIconOnly;
|
|
76
91
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/atom/button-link-icon-only/index.js"],"names":["React","useMemo","PropTypes","classnames","ICONS","Link","style","getButtonContent","icon","Icon","buttonContent","
|
|
1
|
+
{"version":3,"sources":["../../../src/atom/button-link-icon-only/index.js"],"names":["React","useMemo","PropTypes","classnames","ICONS","Link","style","getButtonContent","icon","Icon","buttonContent","getSizeStyle","size","small","responsive","default","ButtonLinkIconOnly","props","disabled","dataName","ariaLabel","link","onClick","className","contentView","styleButton","handleOnClick","propTypes","oneOf","string","func","shape","href","download","bool","target"],"mappings":";;;;;AAAA,OAAOA,KAAP,IAAeC,OAAf,QAA6B,OAA7B;AACA,OAAOC,SAAP,MAAsB,YAAtB;AAEA,OAAOC,UAAP,MAAuB,YAAvB;AACA,SAAQC,KAAR,QAAoB,yBAApB;AACA,OAAOC,IAAP,MAAiB,SAAjB;AACA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,gBAAgB,GAAGC,IAAI,IAAI;AAC/B,QAAMC,IAAI,GAAG,OAAM,IAAN,EAAYD,IAAZ,EAAkBJ,KAAlB,CAAb;;AAEA,MAAI,CAACK,IAAL,EAAW;AACT,wBAAO;AAAK,MAAA,SAAS,EAAEH,KAAK,CAACI;AAAtB,MAAP;AACD;;AAED,sBACE;AAAK,IAAA,SAAS,EAAEJ,KAAK,CAACI;AAAtB,kBACE,oBAAC,IAAD;AAAM,IAAA,SAAS,EAAEJ,KAAK,CAACE;AAAvB,IADF,CADF;AAKD,CAZD;;AAcA,MAAMG,YAAY,GAAGC,IAAI,IAAI;AAC3B,UAAQA,IAAR;AACE,SAAK,OAAL;AACE,aAAON,KAAK,CAACO,KAAb;;AACF,SAAK,YAAL;AACE,aAAOP,KAAK,CAACQ,UAAb;;AACF;AACE,aAAOR,KAAK,CAACS,OAAb;AANJ;AAQD,CATD;;AAWA,MAAMC,kBAAkB,GAAGC,KAAK,IAAI;AAClC,QAAM;AACJL,IAAAA,IAAI,GAAG,SADH;AAEJM,IAAAA,QAFI;AAGJV,IAAAA,IAHI;AAIJ,iBAAaW,QAJT;AAKJ,kBAAcC,SALV;AAMJC,IAAAA,IANI;AAOJC,IAAAA,OAPI;AAQJC,IAAAA;AARI,MASFN,KATJ;AAUA,QAAMO,WAAW,GAAGjB,gBAAgB,CAACC,IAAD,CAApC;AACA,QAAMiB,WAAW,GAAGtB,UAAU,CAC5BQ,YAAY,CAACC,IAAD,CADgB,EAE5BS,IAAI,IAAIf,KAAK,CAACe,IAFc,EAG5BH,QAAQ,IAAIZ,KAAK,CAACY,QAHU,EAI5BK,SAJ4B,CAA9B;AAOA,QAAMG,aAAa,GAAGzB,OAAO,CAAC,MAAM,MAAMqB,OAAO,EAApB,EAAwB,CAACA,OAAD,CAAxB,CAA7B;;AAEA,MAAID,IAAJ,EAAU;AACR,wBACE,oBAAC,IAAD,eACMA,IADN;AAEE,MAAA,SAAS,EAAEI,WAFb;AAGE,mBAAWN,QAHb;AAIE,oBAAYC,SAJd;AAKE,MAAA,KAAK,EAAEA;AALT,QAOGI,WAPH,CADF;AAWD;;AAED,sBACE;AACE,IAAA,IAAI,EAAC,QADP;AAEE,kBAAYJ,SAFd;AAGE,iBAAWD,QAHb;AAIE,IAAA,KAAK,EAAEC,SAJT;AAKE,IAAA,SAAS,EAAEK,WALb;AAME,IAAA,OAAO,EAAEC;AANX,KAQGF,WARH,CADF;AAYD,CA/CD;;AAiDAR,kBAAkB,CAACW,SAAnB,2CAA+B;AAC7Bf,EAAAA,IAAI,EAAEV,SAAS,CAAC0B,KAAV,CAAgB,CAAC,SAAD,EAAY,OAAZ,EAAqB,YAArB,CAAhB,CADuB;AAE7B,gBAAc1B,SAAS,CAAC2B,MAFK;AAG7B,eAAa3B,SAAS,CAAC2B,MAHM;AAI7BrB,EAAAA,IAAI,EAAEN,SAAS,CAAC0B,KAAV,CAAgB,MAAKxB,KAAL,CAAhB,CAJuB;AAK7BkB,EAAAA,OAAO,EAAEpB,SAAS,CAAC4B,IALU;AAM7BT,EAAAA,IAAI,EAAEnB,SAAS,CAAC6B,KAAV,CAAgB;AACpBC,IAAAA,IAAI,EAAE9B,SAAS,CAAC2B,MADI;AAEpBI,IAAAA,QAAQ,EAAE/B,SAAS,CAACgC,IAFA;AAGpBC,IAAAA,MAAM,EAAEjC,SAAS,CAAC0B,KAAV,CAAgB,CAAC,OAAD,EAAU,QAAV,EAAoB,SAApB,EAA+B,MAA/B,CAAhB;AAHY,GAAhB,CANuB;AAW7BV,EAAAA,QAAQ,EAAEhB,SAAS,CAACgC,IAXS;AAY7BX,EAAAA,SAAS,EAAErB,SAAS,CAAC2B;AAZQ,CAA/B;AAeA,eAAeb,kBAAf","sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport {getOr, keys} from 'lodash/fp';\nimport classnames from 'classnames';\nimport {ICONS} from '../../util/button-icons';\nimport Link from '../link';\nimport style from './style.css';\n\nconst getButtonContent = icon => {\n const Icon = getOr(null, icon, ICONS);\n\n if (!Icon) {\n return <div className={style.buttonContent} />;\n }\n\n return (\n <div className={style.buttonContent}>\n <Icon className={style.icon} />\n </div>\n );\n};\n\nconst getSizeStyle = size => {\n switch (size) {\n case 'small':\n return style.small;\n case 'responsive':\n return style.responsive;\n default:\n return style.default;\n }\n};\n\nconst ButtonLinkIconOnly = props => {\n const {\n size = 'default',\n disabled,\n icon,\n 'data-name': dataName,\n 'aria-label': ariaLabel,\n link,\n onClick,\n className\n } = props;\n const contentView = getButtonContent(icon);\n const styleButton = classnames(\n getSizeStyle(size),\n link && style.link,\n disabled && style.disabled,\n className\n );\n\n const handleOnClick = useMemo(() => () => onClick(), [onClick]);\n\n if (link) {\n return (\n <Link\n {...link}\n className={styleButton}\n data-name={dataName}\n aria-label={ariaLabel}\n title={ariaLabel}\n >\n {contentView}\n </Link>\n );\n }\n\n return (\n <button\n type=\"button\"\n aria-label={ariaLabel}\n data-name={dataName}\n title={ariaLabel}\n className={styleButton}\n onClick={handleOnClick}\n >\n {contentView}\n </button>\n );\n};\n\nButtonLinkIconOnly.propTypes = {\n size: PropTypes.oneOf(['default', 'small', 'responsive']),\n 'aria-label': PropTypes.string,\n 'data-name': PropTypes.string,\n icon: PropTypes.oneOf(keys(ICONS)),\n onClick: PropTypes.func,\n link: PropTypes.shape({\n href: PropTypes.string,\n download: PropTypes.bool,\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top'])\n }),\n disabled: PropTypes.bool,\n className: PropTypes.string\n};\n\nexport default ButtonLinkIconOnly;\n"],"file":"index.js"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
@value breakpoints: "../../variables/breakpoints.css";
|
|
2
|
+
@value tablet from breakpoints;
|
|
1
3
|
@value colors: "../../variables/colors.css";
|
|
2
4
|
@value cm_grey_100 from colors;
|
|
3
5
|
@value cm_grey_200 from colors;
|
|
6
|
+
@value white from colors;
|
|
4
7
|
|
|
5
8
|
.button {
|
|
6
9
|
font-family: Gilroy;
|
|
@@ -46,6 +49,18 @@
|
|
|
46
49
|
border-radius: 7px;
|
|
47
50
|
}
|
|
48
51
|
|
|
52
|
+
.responsive {
|
|
53
|
+
composes: button;
|
|
54
|
+
width: 44px;
|
|
55
|
+
height: 44px;
|
|
56
|
+
border-radius: 7px;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.responsive .icon {
|
|
60
|
+
width: 14px;
|
|
61
|
+
height: 14px;
|
|
62
|
+
}
|
|
63
|
+
|
|
49
64
|
.small {
|
|
50
65
|
composes: button;
|
|
51
66
|
width: 32px;
|
|
@@ -53,6 +68,20 @@
|
|
|
53
68
|
border-radius: 5px;
|
|
54
69
|
}
|
|
55
70
|
|
|
71
|
+
@media tablet {
|
|
72
|
+
.responsive {
|
|
73
|
+
composes: button;
|
|
74
|
+
width: 32px;
|
|
75
|
+
height: 32px;
|
|
76
|
+
border-radius: 5px;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.responsive .icon {
|
|
80
|
+
width: 12px;
|
|
81
|
+
height: 12px;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
56
85
|
.default .icon {
|
|
57
86
|
width: 14px;
|
|
58
87
|
height: 14px;
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import _identity from "lodash/fp/identity";
|
|
2
|
+
|
|
3
|
+
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
4
|
+
|
|
2
5
|
import browserEnv from 'browser-env';
|
|
3
6
|
import test from 'ava';
|
|
4
7
|
import React from 'react';
|
|
@@ -22,4 +25,16 @@ test('should launch onClick on click event for ButtonLinkIconOnly', t => {
|
|
|
22
25
|
button.first().simulate('click', {});
|
|
23
26
|
t.pass();
|
|
24
27
|
});
|
|
28
|
+
test('should mount ButtonLinkIconOnly even if the className does not exist', t => {
|
|
29
|
+
const wrapper = shallow( /*#__PURE__*/React.createElement(ButtonLinkIconOnly, _extends({}, defaultFixture.props, {
|
|
30
|
+
className: 'noClass'
|
|
31
|
+
})), {
|
|
32
|
+
context: {
|
|
33
|
+
translate
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
const button = wrapper.find('[data-name="bullet-button"]');
|
|
37
|
+
t.true(button.exists());
|
|
38
|
+
t.pass();
|
|
39
|
+
});
|
|
25
40
|
//# sourceMappingURL=button-link-icon-only.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/atom/button-link-icon-only/test/button-link-icon-only.js"],"names":["browserEnv","test","React","shallow","configure","Adapter","ButtonLinkIconOnly","defaultFixture","adapter","translate","t","wrapper","props","context","button","find","true","exists","first","simulate","pass"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../src/atom/button-link-icon-only/test/button-link-icon-only.js"],"names":["browserEnv","test","React","shallow","configure","Adapter","ButtonLinkIconOnly","defaultFixture","adapter","translate","t","wrapper","props","context","button","find","true","exists","first","simulate","pass"],"mappings":";;;;AAAA,OAAOA,UAAP,MAAuB,aAAvB;AACA,OAAOC,IAAP,MAAiB,KAAjB;AACA,OAAOC,KAAP,MAAkB,OAAlB;AACA,SAAQC,OAAR,EAAiBC,SAAjB,QAAiC,QAAjC;AAEA,OAAOC,OAAP,MAAoB,yBAApB;AACA,OAAOC,kBAAP,MAA+B,IAA/B;AACA,OAAOC,cAAP,MAA2B,+BAA3B;AAEAP,UAAU;AACVI,SAAS,CAAC;AAACI,EAAAA,OAAO,EAAE,IAAIH,OAAJ;AAAV,CAAD,CAAT;AACA,MAAMI,SAAS,YAAf;AAEAR,IAAI,CAAC,6DAAD,EAAgES,CAAC,IAAI;AACvE,QAAMC,OAAO,GAAGR,OAAO,eAAC,oBAAC,kBAAD,EAAwBI,cAAc,CAACK,KAAvC,CAAD,EAAmD;AACxEC,IAAAA,OAAO,EAAE;AAACJ,MAAAA;AAAD;AAD+D,GAAnD,CAAvB;AAGA,QAAMK,MAAM,GAAGH,OAAO,CAACI,IAAR,CAAa,6BAAb,CAAf;AACAL,EAAAA,CAAC,CAACM,IAAF,CAAOF,MAAM,CAACG,MAAP,EAAP;AACAH,EAAAA,MAAM,CAACI,KAAP,GAAeC,QAAf,CAAwB,OAAxB,EAAiC,EAAjC;AACAT,EAAAA,CAAC,CAACU,IAAF;AACD,CARG,CAAJ;AAUAnB,IAAI,CAAC,sEAAD,EAAyES,CAAC,IAAI;AAChF,QAAMC,OAAO,GAAGR,OAAO,eAAC,oBAAC,kBAAD,eAAwBI,cAAc,CAACK,KAAvC;AAA8C,IAAA,SAAS,EAAE;AAAzD,KAAD,EAAyE;AAC9FC,IAAAA,OAAO,EAAE;AAACJ,MAAAA;AAAD;AADqF,GAAzE,CAAvB;AAGA,QAAMK,MAAM,GAAGH,OAAO,CAACI,IAAR,CAAa,6BAAb,CAAf;AACAL,EAAAA,CAAC,CAACM,IAAF,CAAOF,MAAM,CAACG,MAAP,EAAP;AACAP,EAAAA,CAAC,CAACU,IAAF;AACD,CAPG,CAAJ","sourcesContent":["import browserEnv from 'browser-env';\nimport test from 'ava';\nimport React from 'react';\nimport {shallow, configure} from 'enzyme';\nimport {identity} from 'lodash/fp';\nimport Adapter from 'enzyme-adapter-react-16';\nimport ButtonLinkIconOnly from '..';\nimport defaultFixture from './fixtures/button-icon-bullet';\n\nbrowserEnv();\nconfigure({adapter: new Adapter()});\nconst translate = identity;\n\ntest('should launch onClick on click event for ButtonLinkIconOnly', t => {\n const wrapper = shallow(<ButtonLinkIconOnly {...defaultFixture.props} />, {\n context: {translate}\n });\n const button = wrapper.find('[data-name=\"bullet-button\"]');\n t.true(button.exists());\n button.first().simulate('click', {});\n t.pass();\n});\n\ntest('should mount ButtonLinkIconOnly even if the className does not exist', t => {\n const wrapper = shallow(<ButtonLinkIconOnly {...defaultFixture.props} className={'noClass'} />, {\n context: {translate}\n });\n const button = wrapper.find('[data-name=\"bullet-button\"]');\n t.true(button.exists());\n t.pass();\n});\n"],"file":"button-link-icon-only.js"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/atom/button-link-icon-only/test/fixtures/review-header.js"],"names":["props","size","icon","onClick","console","log"],"mappings":"AAAA,eAAe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,IAAI,EAAE,YADD;AAEL,iBAAa,gBAFR;AAGL,kBAAc,aAHT;AAILC,IAAAA,IAAI,EAAE,OAJD;AAKLC,IAAAA,OAAO,EAAE,MAAMC,OAAO,CAACC,GAAR,CAAY,OAAZ;AALV;AADM,CAAf","sourcesContent":["export default {\n props: {\n size: 'responsive',\n 'data-name': 'default-button',\n 'aria-label': 'aria button',\n icon: 'close',\n onClick: () => console.log('click')\n }\n};\n"],"file":"review-header.js"}
|
|
@@ -1,16 +1,15 @@
|
|
|
1
|
+
import _isEmpty from "lodash/fp/isEmpty";
|
|
1
2
|
import _constant from "lodash/fp/constant";
|
|
2
|
-
import _get from "lodash/fp/get";
|
|
3
3
|
import _uniqueId from "lodash/fp/uniqueId";
|
|
4
4
|
|
|
5
5
|
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
6
6
|
|
|
7
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
8
|
-
|
|
9
7
|
import React from 'react';
|
|
10
8
|
import PropTypes from 'prop-types';
|
|
11
|
-
import {
|
|
12
|
-
import Provider from '../provider';
|
|
9
|
+
import { NovaLineStatusClose as Close, NovaSolidFilesBasicFileUpload2 as FileUploadIcon, NovaSolidFilesBasicFileBlock2 as FileUploadBlockedIcon } from '@coorpacademy/nova-icons';
|
|
13
10
|
import Loader from '../loader';
|
|
11
|
+
import Button from '../button-link';
|
|
12
|
+
import getClassState from '../../util/get-class-state';
|
|
14
13
|
import style from './style.css';
|
|
15
14
|
|
|
16
15
|
const constantNull = _constant(null);
|
|
@@ -38,12 +37,6 @@ class DragAndDrop extends React.Component {
|
|
|
38
37
|
}
|
|
39
38
|
|
|
40
39
|
render() {
|
|
41
|
-
const {
|
|
42
|
-
skin
|
|
43
|
-
} = this.context;
|
|
44
|
-
|
|
45
|
-
const brandColor = _get('common.brand', skin);
|
|
46
|
-
|
|
47
40
|
const idBox = _uniqueId('drop-box-');
|
|
48
41
|
|
|
49
42
|
const {
|
|
@@ -55,7 +48,8 @@ class DragAndDrop extends React.Component {
|
|
|
55
48
|
previewContent,
|
|
56
49
|
loading = false,
|
|
57
50
|
modified = false,
|
|
58
|
-
onReset = null
|
|
51
|
+
onReset = null,
|
|
52
|
+
error = ''
|
|
59
53
|
} = this.props;
|
|
60
54
|
const {
|
|
61
55
|
dragging
|
|
@@ -64,72 +58,103 @@ class DragAndDrop extends React.Component {
|
|
|
64
58
|
|
|
65
59
|
if (previewContent && previewContent.type === 'image') {
|
|
66
60
|
previewView = /*#__PURE__*/React.createElement("div", {
|
|
67
|
-
className: style.
|
|
61
|
+
className: style.preview
|
|
68
62
|
}, /*#__PURE__*/React.createElement("img", {
|
|
69
63
|
src: previewContent.src
|
|
70
64
|
}));
|
|
71
65
|
} else if (previewContent && previewContent.type === 'video') {
|
|
72
66
|
previewView = /*#__PURE__*/React.createElement("div", {
|
|
73
|
-
className:
|
|
74
|
-
width: '300px'
|
|
75
|
-
})
|
|
67
|
+
className: style.preview
|
|
76
68
|
}, /*#__PURE__*/React.createElement("video", {
|
|
77
|
-
width: "100%",
|
|
78
69
|
controls: true,
|
|
79
70
|
src: previewContent.src,
|
|
80
71
|
type: "video/*"
|
|
81
72
|
}));
|
|
82
73
|
} else if (loading) {
|
|
83
74
|
previewView = /*#__PURE__*/React.createElement("div", {
|
|
84
|
-
className: style.
|
|
85
|
-
}, /*#__PURE__*/React.createElement(
|
|
75
|
+
className: style.loaderWrapper
|
|
76
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
77
|
+
className: style.loadingCancel
|
|
78
|
+
}, /*#__PURE__*/React.createElement(Close, {
|
|
79
|
+
"data-name": "reset-content-icon",
|
|
80
|
+
height: 16,
|
|
81
|
+
width: 16,
|
|
82
|
+
className: style.closeIcon,
|
|
83
|
+
onClick: onReset
|
|
84
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
85
|
+
className: style.loader
|
|
86
|
+
}, /*#__PURE__*/React.createElement(Loader, {
|
|
87
|
+
theme: "coorpmanager"
|
|
88
|
+
})), /*#__PURE__*/React.createElement("span", {
|
|
89
|
+
className: style.loaderText
|
|
90
|
+
}, "Uploading"));
|
|
86
91
|
} else {
|
|
87
92
|
previewView = /*#__PURE__*/React.createElement("span", null, previewLabel);
|
|
88
93
|
}
|
|
89
94
|
|
|
90
|
-
const resetContent = previewContent && previewContent.src
|
|
95
|
+
const resetContent = previewContent && previewContent.src ? /*#__PURE__*/React.createElement("div", {
|
|
91
96
|
className: style.resetUploadWrapper
|
|
92
97
|
}, /*#__PURE__*/React.createElement("div", {
|
|
93
98
|
className: style.resetSrcLabel
|
|
94
|
-
}, previewContent.src), /*#__PURE__*/React.createElement(Close, {
|
|
99
|
+
}, previewContent.src), onReset ? /*#__PURE__*/React.createElement(Close, {
|
|
95
100
|
"data-name": "reset-content-icon",
|
|
96
101
|
height: 16,
|
|
97
102
|
width: 16,
|
|
98
103
|
className: style.closeIcon,
|
|
99
104
|
onClick: onReset
|
|
100
|
-
})) : null;
|
|
105
|
+
}) : null) : null;
|
|
106
|
+
|
|
107
|
+
const buildButton = () => {
|
|
108
|
+
const defaultButtonProps = {
|
|
109
|
+
label: uploadLabel,
|
|
110
|
+
'aria-label': 'aria button',
|
|
111
|
+
'data-name': 'default-button',
|
|
112
|
+
icon: {
|
|
113
|
+
position: 'left',
|
|
114
|
+
type: 'folders'
|
|
115
|
+
}
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
if (dragging) {
|
|
119
|
+
return null;
|
|
120
|
+
} else if (error) {
|
|
121
|
+
return /*#__PURE__*/React.createElement(Button, _extends({}, defaultButtonProps, {
|
|
122
|
+
label: "Try again",
|
|
123
|
+
icon: {}
|
|
124
|
+
}));
|
|
125
|
+
} else {
|
|
126
|
+
return /*#__PURE__*/React.createElement(Button, defaultButtonProps);
|
|
127
|
+
}
|
|
128
|
+
};
|
|
129
|
+
|
|
130
|
+
const button = buildButton(dragging, error);
|
|
131
|
+
const previewContainer = getClassState(style.previewContainer, style.modifiedPreviewContainer, null, modified, error);
|
|
132
|
+
const inputWrapper = getClassState(style.inputWrapper, style.modifiedInputWrapper, style.errorInputWrapper, modified, error);
|
|
101
133
|
return /*#__PURE__*/React.createElement("div", {
|
|
102
134
|
className: style.wrapper,
|
|
103
135
|
"data-name": "drag-and-drop-wrapper"
|
|
136
|
+
}, !_isEmpty(previewContent) || loading ? /*#__PURE__*/React.createElement("div", {
|
|
137
|
+
className: previewContainer
|
|
138
|
+
}, previewView) : /*#__PURE__*/React.createElement("div", {
|
|
139
|
+
className: dragging ? style.dragging : inputWrapper,
|
|
140
|
+
id: idBox
|
|
104
141
|
}, /*#__PURE__*/React.createElement("div", {
|
|
142
|
+
className: style.infosContainer
|
|
143
|
+
}, error ? /*#__PURE__*/React.createElement(FileUploadBlockedIcon, {
|
|
144
|
+
className: style.iconError
|
|
145
|
+
}) : /*#__PURE__*/React.createElement(FileUploadIcon, {
|
|
146
|
+
className: style.icon
|
|
147
|
+
}), description ? /*#__PURE__*/React.createElement("div", {
|
|
148
|
+
className: style.description
|
|
149
|
+
}, description) : null, error ? null : /*#__PURE__*/React.createElement("div", {
|
|
105
150
|
className: style.title
|
|
106
|
-
}, title), /*#__PURE__*/React.createElement("div", {
|
|
107
|
-
className:
|
|
108
|
-
},
|
|
109
|
-
className: dragging ? style.dragging : style.inputWrapper,
|
|
110
|
-
id: idBox
|
|
111
|
-
}, /*#__PURE__*/React.createElement(UploadIcon, {
|
|
112
|
-
className: style.arrow,
|
|
113
|
-
color: brandColor
|
|
114
|
-
}), /*#__PURE__*/React.createElement("div", {
|
|
115
|
-
className: style.uploadLabel
|
|
116
|
-
}, uploadLabel), children(this.handleDragStart, this.handleDragStop)), resetContent, description ?
|
|
117
|
-
/*#__PURE__*/
|
|
118
|
-
// eslint-disable-next-line react/no-danger
|
|
119
|
-
React.createElement("div", {
|
|
120
|
-
className: style.description,
|
|
121
|
-
dangerouslySetInnerHTML: {
|
|
122
|
-
__html: description
|
|
123
|
-
}
|
|
124
|
-
}) : null);
|
|
151
|
+
}, title)), button, /*#__PURE__*/React.createElement("div", null, children(this.handleDragStart, this.handleDragStop))), error ? /*#__PURE__*/React.createElement("span", {
|
|
152
|
+
className: style.errorMessage
|
|
153
|
+
}, error) : resetContent);
|
|
125
154
|
}
|
|
126
155
|
|
|
127
156
|
}
|
|
128
157
|
|
|
129
|
-
_defineProperty(DragAndDrop, "contextTypes", {
|
|
130
|
-
skin: Provider.childContextTypes.skin
|
|
131
|
-
});
|
|
132
|
-
|
|
133
158
|
DragAndDrop.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
134
159
|
title: PropTypes.string,
|
|
135
160
|
description: PropTypes.string,
|
|
@@ -142,7 +167,8 @@ DragAndDrop.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
142
167
|
loading: PropTypes.bool,
|
|
143
168
|
modified: PropTypes.bool,
|
|
144
169
|
children: PropTypes.func,
|
|
145
|
-
onReset: PropTypes.func
|
|
170
|
+
onReset: PropTypes.func,
|
|
171
|
+
error: PropTypes.string
|
|
146
172
|
} : {};
|
|
147
173
|
export default DragAndDrop;
|
|
148
174
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/atom/drag-and-drop/index.js"],"names":["React","PropTypes","NovaSolidDataTransferDataUpload1","UploadIcon","NovaLineStatusClose","Close","Provider","Loader","style","constantNull","DragAndDrop","Component","constructor","props","state","dragging","handleDragStart","bind","handleDragStop","setState","render","skin","context","brandColor","idBox","children","title","description","uploadLabel","previewLabel","previewContent","loading","modified","onReset","previewView","type","src","width","resetContent","resetUploadWrapper","resetSrcLabel","closeIcon","wrapper","previewWrapper","inputWrapper","arrow","__html","childContextTypes","propTypes","string","shape","bool","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {uniqueId, get, constant} from 'lodash/fp';\nimport {\n NovaSolidDataTransferDataUpload1 as UploadIcon,\n NovaLineStatusClose as Close\n} from '@coorpacademy/nova-icons';\nimport Provider from '../provider';\nimport Loader from '../loader';\nimport style from './style.css';\n\nconst constantNull = constant(null);\n\nclass DragAndDrop extends React.Component {\n static propTypes = {\n title: PropTypes.string,\n description: PropTypes.string,\n uploadLabel: PropTypes.string,\n previewLabel: PropTypes.string,\n previewContent: PropTypes.shape({\n type: PropTypes.string,\n src: PropTypes.string\n }),\n loading: PropTypes.bool,\n modified: PropTypes.bool,\n children: PropTypes.func,\n onReset: PropTypes.func\n };\n\n static contextTypes = {\n skin: Provider.childContextTypes.skin\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n dragging: false\n };\n\n this.handleDragStart = this.handleDragStart.bind(this);\n this.handleDragStop = this.handleDragStop.bind(this);\n }\n\n handleDragStart() {\n this.setState({\n dragging: true\n });\n }\n\n handleDragStop() {\n this.setState({\n dragging: false\n });\n }\n\n render() {\n const {skin} = this.context;\n const brandColor = get('common.brand', skin);\n const idBox = uniqueId('drop-box-');\n const {\n children = constantNull,\n title,\n description,\n uploadLabel,\n previewLabel = '',\n previewContent,\n loading = false,\n modified = false,\n onReset = null\n } = this.props;\n const {dragging} = this.state;\n\n let previewView = null;\n\n if (previewContent && previewContent.type === 'image') {\n previewView = (\n <div className={style.previewView}>\n <img src={previewContent.src} />\n </div>\n );\n } else if (previewContent && previewContent.type === 'video') {\n previewView = (\n <div className={{...style.previewView, width: '300px'}}>\n <video width=\"100%\" controls src={previewContent.src} type=\"video/*\" />\n </div>\n );\n } else if (loading) {\n previewView = (\n <div className={style.loading}>\n <Loader />\n </div>\n );\n } else {\n previewView = <span>{previewLabel}</span>;\n }\n\n const resetContent =\n previewContent && previewContent.src && onReset ? (\n <div className={style.resetUploadWrapper}>\n <div className={style.resetSrcLabel}>{previewContent.src}</div>\n <Close\n data-name=\"reset-content-icon\"\n height={16}\n width={16}\n className={style.closeIcon}\n onClick={onReset}\n />\n </div>\n ) : null;\n\n return (\n <div className={style.wrapper} data-name=\"drag-and-drop-wrapper\">\n <div className={style.title}>{title}</div>\n <div className={modified ? style.modified : style.previewWrapper}>{previewView}</div>\n <div className={dragging ? style.dragging : style.inputWrapper} id={idBox}>\n <UploadIcon className={style.arrow} color={brandColor} />\n <div className={style.uploadLabel}>{uploadLabel}</div>\n {children(this.handleDragStart, this.handleDragStop)}\n </div>\n {resetContent}\n {description ? (\n // eslint-disable-next-line react/no-danger\n <div className={style.description} dangerouslySetInnerHTML={{__html: description}} />\n ) : null}\n </div>\n );\n }\n}\n\nexport default DragAndDrop;\n"],"file":"index.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/atom/drag-and-drop/index.js"],"names":["React","PropTypes","NovaLineStatusClose","Close","NovaSolidFilesBasicFileUpload2","FileUploadIcon","NovaSolidFilesBasicFileBlock2","FileUploadBlockedIcon","Loader","Button","getClassState","style","constantNull","DragAndDrop","Component","constructor","props","state","dragging","handleDragStart","bind","handleDragStop","setState","render","idBox","children","title","description","uploadLabel","previewLabel","previewContent","loading","modified","onReset","error","previewView","type","preview","src","loaderWrapper","loadingCancel","closeIcon","loader","loaderText","resetContent","resetUploadWrapper","resetSrcLabel","buildButton","defaultButtonProps","label","icon","position","button","previewContainer","modifiedPreviewContainer","inputWrapper","modifiedInputWrapper","errorInputWrapper","wrapper","infosContainer","iconError","errorMessage","propTypes","string","shape","bool","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {uniqueId, constant, isEmpty} from 'lodash/fp';\nimport {\n NovaLineStatusClose as Close,\n NovaSolidFilesBasicFileUpload2 as FileUploadIcon,\n NovaSolidFilesBasicFileBlock2 as FileUploadBlockedIcon\n} from '@coorpacademy/nova-icons';\nimport Loader from '../loader';\nimport Button from '../button-link';\nimport getClassState from '../../util/get-class-state';\nimport style from './style.css';\n\nconst constantNull = constant(null);\n\nclass DragAndDrop extends React.Component {\n static propTypes = {\n title: PropTypes.string,\n description: PropTypes.string,\n uploadLabel: PropTypes.string,\n previewLabel: PropTypes.string,\n previewContent: PropTypes.shape({\n type: PropTypes.string,\n src: PropTypes.string\n }),\n loading: PropTypes.bool,\n modified: PropTypes.bool,\n children: PropTypes.func,\n onReset: PropTypes.func,\n error: PropTypes.string\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n dragging: false\n };\n\n this.handleDragStart = this.handleDragStart.bind(this);\n this.handleDragStop = this.handleDragStop.bind(this);\n }\n\n handleDragStart() {\n this.setState({\n dragging: true\n });\n }\n\n handleDragStop() {\n this.setState({\n dragging: false\n });\n }\n\n render() {\n const idBox = uniqueId('drop-box-');\n const {\n children = constantNull,\n title,\n description,\n uploadLabel,\n previewLabel = '',\n previewContent,\n loading = false,\n modified = false,\n onReset = null,\n error = ''\n } = this.props;\n const {dragging} = this.state;\n\n let previewView = null;\n\n if (previewContent && previewContent.type === 'image') {\n previewView = (\n <div className={style.preview}>\n <img src={previewContent.src} />\n </div>\n );\n } else if (previewContent && previewContent.type === 'video') {\n previewView = (\n <div className={style.preview}>\n <video controls src={previewContent.src} type=\"video/*\" />\n </div>\n );\n } else if (loading) {\n previewView = (\n <div className={style.loaderWrapper}>\n <div className={style.loadingCancel}>\n <Close\n data-name=\"reset-content-icon\"\n height={16}\n width={16}\n className={style.closeIcon}\n onClick={onReset}\n />\n </div>\n <div className={style.loader}>\n <Loader theme=\"coorpmanager\" />\n </div>\n <span className={style.loaderText}>Uploading</span>\n </div>\n );\n } else {\n previewView = <span>{previewLabel}</span>;\n }\n\n const resetContent =\n previewContent && previewContent.src ? (\n <div className={style.resetUploadWrapper}>\n <div className={style.resetSrcLabel}>{previewContent.src}</div>\n {onReset ? (\n <Close\n data-name=\"reset-content-icon\"\n height={16}\n width={16}\n className={style.closeIcon}\n onClick={onReset}\n />\n ) : null}\n </div>\n ) : null;\n\n const buildButton = () => {\n const defaultButtonProps = {\n label: uploadLabel,\n 'aria-label': 'aria button',\n 'data-name': 'default-button',\n icon: {\n position: 'left',\n type: 'folders'\n }\n };\n if (dragging) {\n return null;\n } else if (error) {\n return <Button {...defaultButtonProps} label=\"Try again\" icon={{}} />;\n } else {\n return <Button {...defaultButtonProps} />;\n }\n };\n\n const button = buildButton(dragging, error);\n\n const previewContainer = getClassState(\n style.previewContainer,\n style.modifiedPreviewContainer,\n null,\n modified,\n error\n );\n const inputWrapper = getClassState(\n style.inputWrapper,\n style.modifiedInputWrapper,\n style.errorInputWrapper,\n modified,\n error\n );\n\n return (\n <div className={style.wrapper} data-name=\"drag-and-drop-wrapper\">\n {!isEmpty(previewContent) || loading ? (\n <div className={previewContainer}>{previewView}</div>\n ) : (\n <div className={dragging ? style.dragging : inputWrapper} id={idBox}>\n <div className={style.infosContainer}>\n {error ? (\n <FileUploadBlockedIcon className={style.iconError} />\n ) : (\n <FileUploadIcon className={style.icon} />\n )}\n {description ? <div className={style.description}>{description}</div> : null}\n {error ? null : <div className={style.title}>{title}</div>}\n </div>\n {button}\n <div>{children(this.handleDragStart, this.handleDragStop)}</div>\n </div>\n )}\n {error ? <span className={style.errorMessage}>{error}</span> : resetContent}\n </div>\n );\n }\n}\n\nexport default DragAndDrop;\n"],"file":"index.js"}
|