@coorpacademy/components 11.32.24-alpha.6 → 11.32.25
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/index.d.ts +1 -0
- package/es/atom/button-link/index.d.ts.map +1 -1
- package/es/atom/button-link/index.js +4 -2
- package/es/atom/button-link/index.js.map +1 -1
- package/es/atom/button-link/types.d.ts +2 -0
- package/es/atom/button-link/types.d.ts.map +1 -1
- package/es/atom/button-link/types.js +1 -0
- package/es/atom/button-link/types.js.map +1 -1
- package/es/atom/circular-progress-bar/index.d.ts.map +1 -1
- package/es/atom/circular-progress-bar/index.js +1 -10
- package/es/atom/circular-progress-bar/index.js.map +1 -1
- package/es/atom/input-doublestep/index.d.ts +1 -0
- package/es/atom/input-doublestep/index.d.ts.map +1 -1
- package/es/atom/input-doublestep/index.js +38 -13
- package/es/atom/input-doublestep/index.js.map +1 -1
- package/es/atom/input-doublestep/style.css +7 -67
- package/es/atom/select/index.js +1 -1
- package/es/atom/select/index.js.map +1 -1
- package/es/molecule/base-modal/index.d.ts +1 -0
- package/es/molecule/base-modal/index.d.ts.map +1 -1
- package/es/molecule/base-modal/index.js +8 -6
- package/es/molecule/base-modal/index.js.map +1 -1
- package/es/molecule/brand-create-form/index.d.ts.map +1 -1
- package/es/molecule/brand-create-form/index.js +9 -4
- package/es/molecule/brand-create-form/index.js.map +1 -1
- package/es/molecule/brand-download-box/index.d.ts.map +1 -1
- package/es/molecule/brand-download-box/index.js +11 -6
- package/es/molecule/brand-download-box/index.js.map +1 -1
- package/es/molecule/brand-download-box/style.css +6 -5
- package/es/molecule/brand-form-group/index.d.ts.map +1 -1
- package/es/molecule/brand-form-group/index.js +12 -1
- package/es/molecule/brand-form-group/index.js.map +1 -1
- package/es/molecule/cm-popin/style.css +1 -1
- package/es/molecule/cm-popin/types.d.ts +3 -0
- package/es/molecule/cm-popin/types.d.ts.map +1 -1
- package/es/molecule/discipline-associated-skills/index.js +1 -1
- package/es/molecule/discipline-associated-skills/index.js.map +1 -1
- package/es/molecule/draggable-list/index.d.ts +1 -0
- package/es/molecule/expandible-actionable-table/index.d.ts +1 -0
- package/es/molecule/expandible-actionable-table/index.d.ts.map +1 -1
- package/es/molecule/expandible-actionable-table/types.d.ts +1 -0
- package/es/molecule/expandible-actionable-table/types.d.ts.map +1 -1
- package/es/molecule/learning-priority-modal/index.d.ts.map +1 -1
- package/es/molecule/learning-priority-modal/index.js +8 -15
- package/es/molecule/learning-priority-modal/index.js.map +1 -1
- package/es/molecule/learning-priority-modal/style.css +0 -1
- package/es/molecule/learning-priority-setup-item/index.d.ts.map +1 -1
- package/es/molecule/learning-priority-setup-item/index.js +1 -1
- package/es/molecule/learning-priority-setup-item/index.js.map +1 -1
- package/es/molecule/learning-profile-radar-chart/index.d.ts.map +1 -1
- package/es/molecule/learning-profile-radar-chart/index.js +0 -2
- package/es/molecule/learning-profile-radar-chart/index.js.map +1 -1
- package/es/molecule/playlist-detail-cover/index.d.ts +14 -0
- package/es/molecule/playlist-detail-cover/index.d.ts.map +1 -0
- package/es/molecule/playlist-detail-cover/index.js +52 -0
- package/es/molecule/playlist-detail-cover/index.js.map +1 -0
- package/es/molecule/playlist-detail-cover/style.css +17 -0
- package/es/molecule/setup-section/index.d.ts.map +1 -1
- package/es/molecule/setup-section/index.js +3 -1
- package/es/molecule/setup-section/index.js.map +1 -1
- package/es/molecule/setup-section/style.css +2 -2
- package/es/molecule/skill-picker-modal/index.js +1 -1
- package/es/molecule/skill-picker-modal/index.js.map +1 -1
- package/es/organism/brand-form/index.d.ts.map +1 -1
- package/es/organism/brand-form/index.js +24 -15
- package/es/organism/brand-form/index.js.map +1 -1
- package/es/organism/brand-learning-priorities/index.d.ts +1 -21
- package/es/organism/brand-learning-priorities/index.d.ts.map +1 -1
- package/es/organism/brand-learning-priorities/index.js +1 -14
- package/es/organism/brand-learning-priorities/index.js.map +1 -1
- package/es/organism/brand-learning-priorities/style.css +2 -0
- package/es/organism/list-item/index.d.ts +3 -1
- package/es/organism/list-item/index.d.ts.map +1 -1
- package/es/organism/list-item/index.js +7 -5
- package/es/organism/list-item/index.js.map +1 -1
- package/es/organism/list-items/index.d.ts +3 -0
- package/es/organism/setup-header/index.d.ts +4 -0
- package/es/organism/wizard-contents/index.d.ts +3 -0
- package/es/template/app-player/loading/index.d.ts +3 -0
- package/es/template/app-player/player/index.d.ts +6 -0
- package/es/template/app-player/player/slides/index.d.ts +3 -0
- package/es/template/app-player/player/slides/index.d.ts.map +1 -1
- package/es/template/app-player/popin-correction/index.d.ts +3 -0
- package/es/template/app-player/popin-correction/index.d.ts.map +1 -1
- package/es/template/app-player/popin-end/index.d.ts +3 -0
- package/es/template/app-review/index.d.ts +3 -0
- package/es/template/app-review/index.d.ts.map +1 -1
- package/es/template/app-review/player/prop-types.d.ts +3 -0
- package/es/template/app-review/player/prop-types.d.ts.map +1 -1
- package/es/template/app-review/prop-types.d.ts +3 -0
- package/es/template/app-review/prop-types.d.ts.map +1 -1
- package/es/template/back-office/brand-create/index.d.ts +4 -0
- package/es/template/back-office/brand-create/index.d.ts.map +1 -1
- package/es/template/back-office/brand-list/index.d.ts +4 -0
- package/es/template/back-office/brand-list/index.d.ts.map +1 -1
- package/es/template/back-office/brand-update/index.d.ts +14 -0
- package/es/template/back-office/dashboard-preview/index.d.ts +4 -0
- package/es/template/back-office/layout/index.d.ts +4 -0
- package/es/template/back-office/layout/index.d.ts.map +1 -1
- package/es/template/common/dashboard/index.d.ts +6 -0
- package/es/template/common/search-page/index.d.ts +3 -0
- package/es/template/external-course/index.d.ts +3 -0
- package/es/template/my-learning/index.js +1 -1
- package/es/template/my-learning/index.js.map +1 -1
- package/es/template/playlist-detail/index.d.ts +96 -0
- package/es/template/playlist-detail/index.d.ts.map +1 -0
- package/es/template/playlist-detail/index.js +109 -0
- package/es/template/playlist-detail/index.js.map +1 -0
- package/es/template/playlist-detail/style.css +108 -0
- package/es/template/skill-detail/all-courses.d.ts +1 -1
- package/es/template/skill-detail/all-courses.js +3 -3
- package/es/template/skill-detail/all-courses.js.map +1 -1
- package/es/template/skill-detail/index.d.ts +39 -4
- package/es/template/skill-detail/index.d.ts.map +1 -1
- package/es/template/skill-detail/index.js +2 -4
- package/es/template/skill-detail/index.js.map +1 -1
- package/es/util/external-content.d.ts +1 -0
- package/es/util/external-content.d.ts.map +1 -1
- package/es/util/external-content.js +1 -0
- package/es/util/external-content.js.map +1 -1
- package/lib/atom/button-link/index.d.ts +1 -0
- package/lib/atom/button-link/index.d.ts.map +1 -1
- package/lib/atom/button-link/index.js +4 -2
- package/lib/atom/button-link/index.js.map +1 -1
- package/lib/atom/button-link/types.d.ts +2 -0
- package/lib/atom/button-link/types.d.ts.map +1 -1
- package/lib/atom/button-link/types.js +1 -0
- package/lib/atom/button-link/types.js.map +1 -1
- package/lib/atom/circular-progress-bar/index.d.ts.map +1 -1
- package/lib/atom/circular-progress-bar/index.js +1 -10
- package/lib/atom/circular-progress-bar/index.js.map +1 -1
- package/lib/atom/input-doublestep/index.d.ts +1 -0
- package/lib/atom/input-doublestep/index.d.ts.map +1 -1
- package/lib/atom/input-doublestep/index.js +39 -13
- package/lib/atom/input-doublestep/index.js.map +1 -1
- package/lib/atom/input-doublestep/style.css +7 -67
- package/lib/atom/select/index.js +1 -1
- package/lib/atom/select/index.js.map +1 -1
- package/lib/molecule/base-modal/index.d.ts +1 -0
- package/lib/molecule/base-modal/index.d.ts.map +1 -1
- package/lib/molecule/base-modal/index.js +8 -6
- package/lib/molecule/base-modal/index.js.map +1 -1
- package/lib/molecule/brand-create-form/index.d.ts.map +1 -1
- package/lib/molecule/brand-create-form/index.js +9 -4
- package/lib/molecule/brand-create-form/index.js.map +1 -1
- package/lib/molecule/brand-download-box/index.d.ts.map +1 -1
- package/lib/molecule/brand-download-box/index.js +11 -6
- package/lib/molecule/brand-download-box/index.js.map +1 -1
- package/lib/molecule/brand-download-box/style.css +6 -5
- package/lib/molecule/brand-form-group/index.d.ts.map +1 -1
- package/lib/molecule/brand-form-group/index.js +12 -1
- package/lib/molecule/brand-form-group/index.js.map +1 -1
- package/lib/molecule/cm-popin/style.css +1 -1
- package/lib/molecule/cm-popin/types.d.ts +3 -0
- package/lib/molecule/cm-popin/types.d.ts.map +1 -1
- package/lib/molecule/discipline-associated-skills/index.js +1 -1
- package/lib/molecule/discipline-associated-skills/index.js.map +1 -1
- package/lib/molecule/draggable-list/index.d.ts +1 -0
- package/lib/molecule/expandible-actionable-table/index.d.ts +1 -0
- package/lib/molecule/expandible-actionable-table/index.d.ts.map +1 -1
- package/lib/molecule/expandible-actionable-table/types.d.ts +1 -0
- package/lib/molecule/expandible-actionable-table/types.d.ts.map +1 -1
- package/lib/molecule/learning-priority-modal/index.d.ts.map +1 -1
- package/lib/molecule/learning-priority-modal/index.js +9 -14
- package/lib/molecule/learning-priority-modal/index.js.map +1 -1
- package/lib/molecule/learning-priority-modal/style.css +0 -1
- package/lib/molecule/learning-priority-setup-item/index.d.ts.map +1 -1
- package/lib/molecule/learning-priority-setup-item/index.js +1 -1
- package/lib/molecule/learning-priority-setup-item/index.js.map +1 -1
- package/lib/molecule/learning-profile-radar-chart/index.d.ts.map +1 -1
- package/lib/molecule/learning-profile-radar-chart/index.js +0 -2
- package/lib/molecule/learning-profile-radar-chart/index.js.map +1 -1
- package/lib/molecule/playlist-detail-cover/index.d.ts +14 -0
- package/lib/molecule/playlist-detail-cover/index.d.ts.map +1 -0
- package/lib/molecule/playlist-detail-cover/index.js +68 -0
- package/lib/molecule/playlist-detail-cover/index.js.map +1 -0
- package/lib/molecule/playlist-detail-cover/style.css +17 -0
- package/lib/molecule/setup-section/index.d.ts.map +1 -1
- package/lib/molecule/setup-section/index.js +4 -1
- package/lib/molecule/setup-section/index.js.map +1 -1
- package/lib/molecule/setup-section/style.css +2 -2
- package/lib/molecule/skill-picker-modal/index.js +1 -1
- package/lib/molecule/skill-picker-modal/index.js.map +1 -1
- package/lib/organism/brand-form/index.d.ts.map +1 -1
- package/lib/organism/brand-form/index.js +24 -15
- package/lib/organism/brand-form/index.js.map +1 -1
- package/lib/organism/brand-learning-priorities/index.d.ts +1 -21
- package/lib/organism/brand-learning-priorities/index.d.ts.map +1 -1
- package/lib/organism/brand-learning-priorities/index.js +3 -15
- package/lib/organism/brand-learning-priorities/index.js.map +1 -1
- package/lib/organism/brand-learning-priorities/style.css +2 -0
- package/lib/organism/list-item/index.d.ts +3 -1
- package/lib/organism/list-item/index.d.ts.map +1 -1
- package/lib/organism/list-item/index.js +7 -5
- package/lib/organism/list-item/index.js.map +1 -1
- package/lib/organism/list-items/index.d.ts +3 -0
- package/lib/organism/setup-header/index.d.ts +4 -0
- package/lib/organism/wizard-contents/index.d.ts +3 -0
- package/lib/template/app-player/loading/index.d.ts +3 -0
- package/lib/template/app-player/player/index.d.ts +6 -0
- package/lib/template/app-player/player/slides/index.d.ts +3 -0
- package/lib/template/app-player/player/slides/index.d.ts.map +1 -1
- package/lib/template/app-player/popin-correction/index.d.ts +3 -0
- package/lib/template/app-player/popin-correction/index.d.ts.map +1 -1
- package/lib/template/app-player/popin-end/index.d.ts +3 -0
- package/lib/template/app-review/index.d.ts +3 -0
- package/lib/template/app-review/index.d.ts.map +1 -1
- package/lib/template/app-review/player/prop-types.d.ts +3 -0
- package/lib/template/app-review/player/prop-types.d.ts.map +1 -1
- package/lib/template/app-review/prop-types.d.ts +3 -0
- package/lib/template/app-review/prop-types.d.ts.map +1 -1
- package/lib/template/back-office/brand-create/index.d.ts +4 -0
- package/lib/template/back-office/brand-create/index.d.ts.map +1 -1
- package/lib/template/back-office/brand-list/index.d.ts +4 -0
- package/lib/template/back-office/brand-list/index.d.ts.map +1 -1
- package/lib/template/back-office/brand-update/index.d.ts +14 -0
- package/lib/template/back-office/dashboard-preview/index.d.ts +4 -0
- package/lib/template/back-office/layout/index.d.ts +4 -0
- package/lib/template/back-office/layout/index.d.ts.map +1 -1
- package/lib/template/common/dashboard/index.d.ts +6 -0
- package/lib/template/common/search-page/index.d.ts +3 -0
- package/lib/template/external-course/index.d.ts +3 -0
- package/lib/template/my-learning/index.js +1 -1
- package/lib/template/my-learning/index.js.map +1 -1
- package/lib/template/playlist-detail/index.d.ts +96 -0
- package/lib/template/playlist-detail/index.d.ts.map +1 -0
- package/lib/template/playlist-detail/index.js +134 -0
- package/lib/template/playlist-detail/index.js.map +1 -0
- package/lib/template/playlist-detail/style.css +108 -0
- package/lib/template/skill-detail/all-courses.d.ts +1 -1
- package/lib/template/skill-detail/all-courses.js +3 -3
- package/lib/template/skill-detail/all-courses.js.map +1 -1
- package/lib/template/skill-detail/index.d.ts +39 -4
- package/lib/template/skill-detail/index.d.ts.map +1 -1
- package/lib/template/skill-detail/index.js +3 -2
- package/lib/template/skill-detail/index.js.map +1 -1
- package/lib/util/external-content.d.ts +1 -0
- package/lib/util/external-content.d.ts.map +1 -1
- package/lib/util/external-content.js +3 -1
- package/lib/util/external-content.js.map +1 -1
- package/package.json +2 -2
|
@@ -4,6 +4,7 @@ declare const ButtonLink: {
|
|
|
4
4
|
(props: ButtonLinkProps): JSX.Element;
|
|
5
5
|
propTypes: {
|
|
6
6
|
type: import("prop-types").Requireable<string>;
|
|
7
|
+
usage: import("prop-types").Requireable<string>;
|
|
7
8
|
label: import("prop-types").Requireable<string>;
|
|
8
9
|
content: import("prop-types").Requireable<import("prop-types").ReactNodeLike>;
|
|
9
10
|
'aria-label': import("prop-types").Requireable<string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/button-link/index.tsx"],"names":[],"mappings":";AAMA,OAAkB,EAAC,eAAe,EAAW,MAAM,SAAS,CAAC;AA+C7D,QAAA,MAAM,UAAU;YAAW,eAAe
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/button-link/index.tsx"],"names":[],"mappings":";AAMA,OAAkB,EAAC,eAAe,EAAW,MAAM,SAAS,CAAC;AA+C7D,QAAA,MAAM,UAAU;YAAW,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;CA8FzC,CAAC;AAIF,eAAe,UAAU,CAAC"}
|
|
@@ -52,6 +52,7 @@ const getButtonContent = (icon, content, hovered, hoverBackgroundColor, hoverCol
|
|
|
52
52
|
const ButtonLink = props => {
|
|
53
53
|
const {
|
|
54
54
|
type,
|
|
55
|
+
usage = 'button',
|
|
55
56
|
label,
|
|
56
57
|
content,
|
|
57
58
|
hoverBackgroundColor,
|
|
@@ -70,7 +71,7 @@ const ButtonLink = props => {
|
|
|
70
71
|
} = props;
|
|
71
72
|
const styleButton = classnames(className, style.button, type === 'primary' && style.primary, type === 'secondary' && style.secondary, type === 'tertiary' && style.tertiary, type === 'text' && style.text, type === 'dangerous' && style.dangerous, link && style.link, disabled && style.disabled);
|
|
72
73
|
const [hovered, setHovered] = useState(false);
|
|
73
|
-
const handleOnClick = useCallback(
|
|
74
|
+
const handleOnClick = useCallback(event => onClick(event), [onClick]);
|
|
74
75
|
const handleOnKeyDown = useCallback(event => onKeyDown(event), [onKeyDown]);
|
|
75
76
|
const handleMouseOver = useCallback(() => setHovered(true), [setHovered]);
|
|
76
77
|
const handleMouseLeave = useCallback(() => setHovered(false), [setHovered]);
|
|
@@ -97,7 +98,8 @@ const ButtonLink = props => {
|
|
|
97
98
|
return /*#__PURE__*/React.createElement("button", _extends({}, useTitle && {
|
|
98
99
|
title: ariaLabel || label
|
|
99
100
|
}, {
|
|
100
|
-
|
|
101
|
+
// eslint-disable-next-line react/button-has-type
|
|
102
|
+
type: usage,
|
|
101
103
|
"aria-label": ariaLabel || label,
|
|
102
104
|
"data-name": dataName,
|
|
103
105
|
"data-testid": dataTestId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","useCallback","useState","useMemo","classnames","Link","FaIcon","ICONS","propTypes","style","getButtonContent","icon","content","hovered","hoverBackgroundColor","hoverColor","type","faIcon","position","Icon","isApplyHover","buttonContent","label","iconComponent","iconName","name","iconColor","color","backgroundColor","size","faSize","wrapperSize","ButtonLink","props","disabled","dataName","dataTestId","ariaLabel","link","onClick","onKeyDown","className","customStyle","useTitle","styleButton","button","primary","secondary","tertiary","text","dangerous","setHovered","handleOnClick","
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","useCallback","useState","useMemo","classnames","Link","FaIcon","ICONS","propTypes","style","getButtonContent","icon","content","hovered","hoverBackgroundColor","hoverColor","type","faIcon","position","Icon","isApplyHover","buttonContent","label","iconComponent","iconName","name","iconColor","color","backgroundColor","size","faSize","wrapperSize","ButtonLink","props","usage","disabled","dataName","dataTestId","ariaLabel","link","onClick","onKeyDown","className","customStyle","useTitle","styleButton","button","primary","secondary","tertiary","text","dangerous","setHovered","handleOnClick","event","handleOnKeyDown","handleMouseOver","handleMouseLeave","_customStyle","title"],"sources":["../../../src/atom/button-link/index.tsx"],"sourcesContent":["import React, {useCallback, useState, useMemo} from 'react';\nimport {noop} from 'lodash/fp';\nimport classnames from 'classnames';\nimport Link from '../link';\nimport FaIcon from '../icon';\nimport {ICONS} from '../../util/button-icons';\nimport propTypes, {ButtonLinkProps, IconType} from './types';\nimport style from './style.css';\n\nconst getButtonContent = (\n icon?: IconType,\n content?: string | React.ReactNode,\n hovered?: boolean,\n hoverBackgroundColor?: string,\n hoverColor?: string\n) => {\n const {type, faIcon, position} = icon || {type: '', position: ''};\n const Icon = type && ICONS[type];\n const isApplyHover = hovered && hoverBackgroundColor && hoverColor;\n\n if (!Icon && !faIcon) {\n return (\n <div className={style.buttonContent}>\n <span className={style.label}>{content}</span>\n </div>\n );\n }\n\n const iconComponent = faIcon ? (\n <FaIcon\n {...{\n iconName: faIcon.name,\n iconColor: isApplyHover ? hoverColor : faIcon.color,\n backgroundColor: isApplyHover ? hoverBackgroundColor : faIcon.backgroundColor,\n size: {\n faSize: faIcon.size,\n wrapperSize: faIcon.size\n }\n }}\n />\n ) : (\n <Icon className={style.icon} theme=\"coorpmanager\" />\n );\n\n return (\n <div className={style.buttonContent}>\n {position === 'left' ? iconComponent : null}\n {content ? <span className={style.label}>{content}</span> : null}\n {position === 'right' ? iconComponent : null}\n </div>\n );\n};\n\nconst ButtonLink = (props: ButtonLinkProps) => {\n const {\n type,\n usage = 'button',\n label,\n content,\n hoverBackgroundColor,\n hoverColor,\n disabled = false,\n icon,\n 'data-name': dataName,\n 'data-testid': dataTestId = 'button-link',\n 'aria-label': ariaLabel,\n link,\n onClick = noop,\n onKeyDown = noop,\n className,\n customStyle,\n useTitle = true\n } = props;\n const styleButton = classnames(\n className,\n style.button,\n type === 'primary' && style.primary,\n type === 'secondary' && style.secondary,\n type === 'tertiary' && style.tertiary,\n type === 'text' && style.text,\n type === 'dangerous' && style.dangerous,\n link && style.link,\n disabled && style.disabled\n );\n\n const [hovered, setHovered] = useState(false);\n\n const handleOnClick = useCallback(event => onClick(event), [onClick]);\n\n const handleOnKeyDown = useCallback(event => onKeyDown(event), [onKeyDown]);\n\n const handleMouseOver = useCallback(() => setHovered(true), [setHovered]);\n\n const handleMouseLeave = useCallback(() => setHovered(false), [setHovered]);\n\n const _customStyle = useMemo(() => {\n return {\n ...customStyle,\n ...((hoverBackgroundColor || hoverColor) && hovered\n ? {\n backgroundColor: hoverBackgroundColor,\n color: hoverColor\n }\n : null)\n };\n }, [hoverBackgroundColor, hoverColor, hovered, customStyle]);\n\n if (link) {\n return (\n <Link\n {...link}\n {...(useTitle && {\n title: ariaLabel || label\n })}\n style={customStyle}\n className={styleButton}\n data-name={dataName}\n data-testid={dataTestId}\n aria-label={ariaLabel || label}\n >\n {getButtonContent(icon, content ?? label)}\n </Link>\n );\n }\n\n return (\n <button\n {...(useTitle && {\n title: ariaLabel || label\n })}\n // eslint-disable-next-line react/button-has-type\n type={usage}\n aria-label={ariaLabel || label}\n data-name={dataName}\n data-testid={dataTestId}\n style={_customStyle}\n className={styleButton}\n onClick={handleOnClick}\n onKeyDown={handleOnKeyDown}\n onMouseOver={handleMouseOver}\n onMouseLeave={handleMouseLeave}\n tabIndex={0}\n disabled={disabled}\n >\n {getButtonContent(icon, content ?? label, hovered, hoverBackgroundColor, hoverColor)}\n </button>\n );\n};\n\nButtonLink.propTypes = propTypes;\n\nexport default ButtonLink;\n"],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ import PropTypes from 'prop-types';
|
|
|
3
3
|
import { ICONS } from '../../util/button-icons';
|
|
4
4
|
declare const propTypes: {
|
|
5
5
|
type: PropTypes.Requireable<string>;
|
|
6
|
+
usage: PropTypes.Requireable<string>;
|
|
6
7
|
label: PropTypes.Requireable<string>;
|
|
7
8
|
content: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
8
9
|
'aria-label': PropTypes.Requireable<string>;
|
|
@@ -37,6 +38,7 @@ export declare type IconType = {
|
|
|
37
38
|
};
|
|
38
39
|
export declare type ButtonLinkProps = {
|
|
39
40
|
type?: 'primary' | 'secondary' | 'tertiary' | 'text' | 'dangerous';
|
|
41
|
+
usage?: 'button' | 'submit' | 'reset';
|
|
40
42
|
label?: string;
|
|
41
43
|
content?: React.ReactNode;
|
|
42
44
|
'aria-label'?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/atom/button-link/types.ts"],"names":[],"mappings":";AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAC,KAAK,EAAC,MAAM,yBAAyB,CAAC;AAE9C,QAAA,MAAM,SAAS
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/atom/button-link/types.ts"],"names":[],"mappings":";AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAC,KAAK,EAAC,MAAM,yBAAyB,CAAC;AAE9C,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;CAuBd,CAAC;AAEF,oBAAY,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,oBAAY,QAAQ,GAAG;IACrB,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,OAAO,KAAK,CAAC;IAC1B,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB,CAAC;AACF,oBAAY,eAAe,GAAG;IAC5B,IAAI,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,MAAM,GAAG,WAAW,CAAC;IACnE,KAAK,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,IAAI,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,MAAM,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;KAClD,CAAC;IACF,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,oBAAY,OAAO,GAAG;IAAC,KAAK,EAAE,eAAe,CAAA;CAAC,CAAC;AAE/C,eAAe,SAAS,CAAC"}
|
|
@@ -3,6 +3,7 @@ import PropTypes from 'prop-types';
|
|
|
3
3
|
import { ICONS } from '../../util/button-icons';
|
|
4
4
|
const propTypes = {
|
|
5
5
|
type: PropTypes.oneOf(['primary', 'secondary', 'tertiary', 'text', 'dangerous']),
|
|
6
|
+
usage: PropTypes.oneOf(['button', 'submit', 'reset']),
|
|
6
7
|
label: PropTypes.string,
|
|
7
8
|
content: PropTypes.node,
|
|
8
9
|
'aria-label': PropTypes.string,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":["PropTypes","ICONS","propTypes","type","oneOf","label","string","content","node","icon","shape","position","onClick","func","link","href","download","bool","target","hoverBackgroundColor","hoverColor","disabled","className","customStyle"],"sources":["../../../src/atom/button-link/types.ts"],"sourcesContent":["import PropTypes from 'prop-types';\nimport {keys} from 'lodash/fp';\nimport {ICONS} from '../../util/button-icons';\n\nconst propTypes = {\n type: PropTypes.oneOf(['primary', 'secondary', 'tertiary', 'text', 'dangerous']),\n label: PropTypes.string,\n content: PropTypes.node,\n 'aria-label': PropTypes.string,\n 'data-name': PropTypes.string,\n 'data-testid': PropTypes.string,\n icon: PropTypes.shape({\n position: PropTypes.oneOf(['right', 'left']),\n type: PropTypes.oneOf(keys(ICONS))\n }),\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 hoverBackgroundColor: PropTypes.string,\n hoverColor: PropTypes.string,\n disabled: PropTypes.bool,\n className: PropTypes.string,\n customStyle: PropTypes.shape({})\n};\n\nexport type FaIcontype = {\n name: string;\n color?: string;\n backgroundColor?: string;\n size?: number;\n};\n\nexport type IconType = {\n position: 'right' | 'left';\n type?: keyof typeof ICONS;\n faIcon?: FaIcontype;\n};\nexport type ButtonLinkProps = {\n type?: 'primary' | 'secondary' | 'tertiary' | 'text' | 'dangerous';\n label?: string;\n content?: React.ReactNode;\n 'aria-label'?: string;\n 'data-name'?: string;\n 'data-testid'?: string;\n icon?: IconType;\n onClick?: () => void;\n onKeyDown?: () => void;\n link?: {\n href?: string;\n download?: boolean;\n target?: '_self' | '_blank' | '_parent' | '_top';\n };\n hoverBackgroundColor?: string;\n hoverColor?: string;\n disabled?: boolean;\n className?: string;\n customStyle?: Record<string, unknown>;\n useTitle?: boolean;\n};\n\nexport type Fixture = {props: ButtonLinkProps};\n\nexport default propTypes;\n"],"mappings":";AAAA,OAAOA,SAAP,MAAsB,YAAtB;AAEA,SAAQC,KAAR,QAAoB,yBAApB;AAEA,MAAMC,SAAS,GAAG;EAChBC,IAAI,EAAEH,SAAS,CAACI,KAAV,CAAgB,CAAC,SAAD,EAAY,WAAZ,EAAyB,UAAzB,EAAqC,MAArC,EAA6C,WAA7C,CAAhB,CADU;EAEhBC,KAAK,EAAEL,SAAS,
|
|
1
|
+
{"version":3,"file":"types.js","names":["PropTypes","ICONS","propTypes","type","oneOf","usage","label","string","content","node","icon","shape","position","onClick","func","link","href","download","bool","target","hoverBackgroundColor","hoverColor","disabled","className","customStyle"],"sources":["../../../src/atom/button-link/types.ts"],"sourcesContent":["import PropTypes from 'prop-types';\nimport {keys} from 'lodash/fp';\nimport {ICONS} from '../../util/button-icons';\n\nconst propTypes = {\n type: PropTypes.oneOf(['primary', 'secondary', 'tertiary', 'text', 'dangerous']),\n usage: PropTypes.oneOf(['button', 'submit', 'reset']),\n label: PropTypes.string,\n content: PropTypes.node,\n 'aria-label': PropTypes.string,\n 'data-name': PropTypes.string,\n 'data-testid': PropTypes.string,\n icon: PropTypes.shape({\n position: PropTypes.oneOf(['right', 'left']),\n type: PropTypes.oneOf(keys(ICONS))\n }),\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 hoverBackgroundColor: PropTypes.string,\n hoverColor: PropTypes.string,\n disabled: PropTypes.bool,\n className: PropTypes.string,\n customStyle: PropTypes.shape({})\n};\n\nexport type FaIcontype = {\n name: string;\n color?: string;\n backgroundColor?: string;\n size?: number;\n};\n\nexport type IconType = {\n position: 'right' | 'left';\n type?: keyof typeof ICONS;\n faIcon?: FaIcontype;\n};\nexport type ButtonLinkProps = {\n type?: 'primary' | 'secondary' | 'tertiary' | 'text' | 'dangerous';\n usage?: 'button' | 'submit' | 'reset';\n label?: string;\n content?: React.ReactNode;\n 'aria-label'?: string;\n 'data-name'?: string;\n 'data-testid'?: string;\n icon?: IconType;\n onClick?: () => void;\n onKeyDown?: () => void;\n link?: {\n href?: string;\n download?: boolean;\n target?: '_self' | '_blank' | '_parent' | '_top';\n };\n hoverBackgroundColor?: string;\n hoverColor?: string;\n disabled?: boolean;\n className?: string;\n customStyle?: Record<string, unknown>;\n useTitle?: boolean;\n};\n\nexport type Fixture = {props: ButtonLinkProps};\n\nexport default propTypes;\n"],"mappings":";AAAA,OAAOA,SAAP,MAAsB,YAAtB;AAEA,SAAQC,KAAR,QAAoB,yBAApB;AAEA,MAAMC,SAAS,GAAG;EAChBC,IAAI,EAAEH,SAAS,CAACI,KAAV,CAAgB,CAAC,SAAD,EAAY,WAAZ,EAAyB,UAAzB,EAAqC,MAArC,EAA6C,WAA7C,CAAhB,CADU;EAEhBC,KAAK,EAAEL,SAAS,CAACI,KAAV,CAAgB,CAAC,QAAD,EAAW,QAAX,EAAqB,OAArB,CAAhB,CAFS;EAGhBE,KAAK,EAAEN,SAAS,CAACO,MAHD;EAIhBC,OAAO,EAAER,SAAS,CAACS,IAJH;EAKhB,cAAcT,SAAS,CAACO,MALR;EAMhB,aAAaP,SAAS,CAACO,MANP;EAOhB,eAAeP,SAAS,CAACO,MAPT;EAQhBG,IAAI,EAAEV,SAAS,CAACW,KAAV,CAAgB;IACpBC,QAAQ,EAAEZ,SAAS,CAACI,KAAV,CAAgB,CAAC,OAAD,EAAU,MAAV,CAAhB,CADU;IAEpBD,IAAI,EAAEH,SAAS,CAACI,KAAV,CAAgB,MAAKH,KAAL,CAAhB;EAFc,CAAhB,CARU;EAYhBY,OAAO,EAAEb,SAAS,CAACc,IAZH;EAahBC,IAAI,EAAEf,SAAS,CAACW,KAAV,CAAgB;IACpBK,IAAI,EAAEhB,SAAS,CAACO,MADI;IAEpBU,QAAQ,EAAEjB,SAAS,CAACkB,IAFA;IAGpBC,MAAM,EAAEnB,SAAS,CAACI,KAAV,CAAgB,CAAC,OAAD,EAAU,QAAV,EAAoB,SAApB,EAA+B,MAA/B,CAAhB;EAHY,CAAhB,CAbU;EAkBhBgB,oBAAoB,EAAEpB,SAAS,CAACO,MAlBhB;EAmBhBc,UAAU,EAAErB,SAAS,CAACO,MAnBN;EAoBhBe,QAAQ,EAAEtB,SAAS,CAACkB,IApBJ;EAqBhBK,SAAS,EAAEvB,SAAS,CAACO,MArBL;EAsBhBiB,WAAW,EAAExB,SAAS,CAACW,KAAV,CAAgB,EAAhB;AAtBG,CAAlB;AA+DA,eAAeT,SAAf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/circular-progress-bar/index.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAC,6BAA6B,EAA+B,MAAM,SAAS,CAAC;AAmBpF,QAAA,MAAM,mBAAmB;gGAOtB,6BAA6B;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/circular-progress-bar/index.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAC,6BAA6B,EAA+B,MAAM,SAAS,CAAC;AAmBpF,QAAA,MAAM,mBAAmB;gGAOtB,6BAA6B;;;;;;;;;CAgD/B,CAAC;AAIF,eAAe,mBAAmB,CAAC"}
|
|
@@ -40,16 +40,7 @@ const CircularProgressBar = ({
|
|
|
40
40
|
length: length_
|
|
41
41
|
};
|
|
42
42
|
}, [size, strokeWidth]);
|
|
43
|
-
useEffect(() =>
|
|
44
|
-
console.log('CircularProgressBar mounted');
|
|
45
|
-
const timeoutId = setTimeout(() => {
|
|
46
|
-
setOffset(Math.ceil(length * ((100 - progression) / 100)));
|
|
47
|
-
}, 1000);
|
|
48
|
-
return () => {
|
|
49
|
-
console.log('CircularProgressBar unmounted');
|
|
50
|
-
clearTimeout(timeoutId);
|
|
51
|
-
};
|
|
52
|
-
}, [length, progression]);
|
|
43
|
+
useEffect(() => setOffset(Math.ceil(length * ((100 - progression) / 100))), [length, progression]);
|
|
53
44
|
return /*#__PURE__*/React.createElement("div", {
|
|
54
45
|
className: style.container,
|
|
55
46
|
"aria-label": ariaLabel,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","useMemo","useState","useEffect","CircularProgressBarPropTypes","style","ProgressionGradient","CircularProgressBar","label","progression","size","strokeWidth","ariaLabel","dataName","offset","setOffset","center","radius","length","center_","radius_","length_","Math","ceil","PI","
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","useMemo","useState","useEffect","CircularProgressBarPropTypes","style","ProgressionGradient","CircularProgressBar","label","progression","size","strokeWidth","ariaLabel","dataName","offset","setOffset","center","radius","length","center_","radius_","length_","Math","ceil","PI","container","svg","mainCircle","progressionCircle","infos","propTypes"],"sources":["../../../src/atom/circular-progress-bar/index.tsx"],"sourcesContent":["import React, {useMemo, useState, useEffect} from 'react';\nimport {isNull} from 'lodash/fp';\nimport {LearningPriorityCardPropTypes, CircularProgressBarPropTypes} from './types';\nimport style from './style.css';\n\nconst ProgressionGradient = () => (\n <defs>\n <linearGradient\n id=\"gradient-stroke-progression\"\n x1=\"81\"\n y1=\"0\"\n x2=\"81\"\n y2=\"162\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#35CC7F\" />\n <stop offset=\"1\" stopColor=\"#55F2A7\" />\n </linearGradient>\n </defs>\n);\n\nconst CircularProgressBar = ({\n label,\n progression,\n size,\n strokeWidth,\n 'aria-label': ariaLabel,\n 'data-name': dataName\n}: LearningPriorityCardPropTypes) => {\n const [offset, setOffset] = useState<null | number>(null);\n\n const {center, radius, length} = useMemo(() => {\n const center_ = size / 2;\n const radius_ = center_ - strokeWidth;\n const length_ = Math.ceil(2 * Math.PI * radius_);\n\n return {center: center_, radius: radius_, length: length_};\n }, [size, strokeWidth]);\n\n useEffect(\n () => setOffset(Math.ceil(length * ((100 - progression) / 100))),\n [length, progression]\n );\n\n return (\n <div className={style.container} aria-label={ariaLabel} data-name={dataName}>\n <svg className={style.svg} width={size} height={size}>\n <ProgressionGradient />\n <circle\n className={style.mainCircle}\n cx={center}\n cy={center}\n r={radius}\n strokeWidth={3}\n fill=\"transparent\"\n />\n <circle cx={center} cy={center} r={radius - (10 / radius) * 100} fill=\"#fafafa\" />\n <circle\n className={style.progressionCircle}\n cx={center}\n cy={center}\n r={radius}\n stroke={`url(#gradient-stroke-progression)`}\n strokeWidth={strokeWidth}\n strokeDasharray={length}\n strokeDashoffset={isNull(offset) ? length : offset}\n fill=\"transparent\"\n strokeLinecap=\"round\"\n />\n </svg>\n <div className={style.infos}>\n <span className={style.progression}>{progression}%</span>\n <span className={style.label}>{label}</span>\n </div>\n </div>\n );\n};\n\nCircularProgressBar.propTypes = CircularProgressBarPropTypes;\n\nexport default CircularProgressBar;\n"],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ declare class InputDoublestep extends React.Component<any, any, any> {
|
|
|
6
6
|
onClick: PropTypes.Validator<(...args: any[]) => any>;
|
|
7
7
|
onOpenConfirmation: PropTypes.Requireable<(...args: any[]) => any>;
|
|
8
8
|
onCloseConfirmation: PropTypes.Requireable<(...args: any[]) => any>;
|
|
9
|
+
icon: PropTypes.Requireable<string>;
|
|
9
10
|
};
|
|
10
11
|
constructor(props: any, context: any);
|
|
11
12
|
state: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/input-doublestep/index.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/input-doublestep/index.js"],"names":[],"mappings":";AAwGA;IACE;;;;;;;MAOE;IAEF,sCAOC;IALC;;MAEC;IAKH,qBAQC;IAED,2BAKC;IAED,sBAuCC;CACF"}
|
|
@@ -7,6 +7,7 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
|
|
|
7
7
|
import React, { useMemo } from 'react';
|
|
8
8
|
import PropTypes from 'prop-types';
|
|
9
9
|
import Loader from '../loader';
|
|
10
|
+
import ButtonLink from '../button-link';
|
|
10
11
|
import style from './style.css';
|
|
11
12
|
|
|
12
13
|
const ConfirmationInput = ({
|
|
@@ -17,6 +18,7 @@ const ConfirmationInput = ({
|
|
|
17
18
|
return onChange(e.target.value);
|
|
18
19
|
}, [onChange]);
|
|
19
20
|
return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("input", {
|
|
21
|
+
"data-testid": "input",
|
|
20
22
|
onInput: handleOnChange,
|
|
21
23
|
placeholder: placeholder,
|
|
22
24
|
className: style.input,
|
|
@@ -48,13 +50,22 @@ const ConfirmationForm = props => {
|
|
|
48
50
|
placeholder: placeholder
|
|
49
51
|
}) : /*#__PURE__*/React.createElement("div", {
|
|
50
52
|
className: style.confirmEmptySpace
|
|
51
|
-
}), /*#__PURE__*/React.createElement("
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
},
|
|
53
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
54
|
+
className: style.confirmationCTAWrapper
|
|
55
|
+
}, /*#__PURE__*/React.createElement(ButtonLink, {
|
|
56
|
+
label: cancelValue,
|
|
57
|
+
"data-testid": "cancel-confirmation-button",
|
|
58
|
+
onClick: onHandleClose
|
|
59
|
+
}), /*#__PURE__*/React.createElement(ButtonLink, {
|
|
60
|
+
label: confirmValue,
|
|
61
|
+
disabled: confirmDisabled,
|
|
62
|
+
"data-testid": "confirm-delete-button",
|
|
63
|
+
onClick: onConfirm,
|
|
64
|
+
customStyle: {
|
|
65
|
+
backgroundColor: 'orange',
|
|
66
|
+
color: 'white'
|
|
67
|
+
}
|
|
68
|
+
})));
|
|
58
69
|
return isPending ? /*#__PURE__*/React.createElement("div", {
|
|
59
70
|
className: style.confirmForm
|
|
60
71
|
}, /*#__PURE__*/React.createElement(Loader, null)) : form;
|
|
@@ -124,15 +135,28 @@ class InputDoublestep extends React.Component {
|
|
|
124
135
|
render() {
|
|
125
136
|
const {
|
|
126
137
|
toggleValue,
|
|
127
|
-
disabled
|
|
138
|
+
disabled,
|
|
139
|
+
icon
|
|
128
140
|
} = this.props;
|
|
129
141
|
const {
|
|
130
142
|
open
|
|
131
143
|
} = this.state;
|
|
132
|
-
const formView = !open ? /*#__PURE__*/React.createElement(
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
144
|
+
const formView = !open ? /*#__PURE__*/React.createElement(ButtonLink, _extends({}, icon ? {
|
|
145
|
+
icon: {
|
|
146
|
+
position: 'left',
|
|
147
|
+
faIcon: {
|
|
148
|
+
name: icon,
|
|
149
|
+
color: '#ffffff',
|
|
150
|
+
size: 16
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
} : {}, {
|
|
154
|
+
type: "dangerous",
|
|
155
|
+
label: toggleValue,
|
|
156
|
+
disabled: disabled,
|
|
157
|
+
"data-testid": "input-toggle-button",
|
|
158
|
+
onClick: this.handleToggle
|
|
159
|
+
})) : /*#__PURE__*/React.createElement(Confirmation, _extends({}, this.props, {
|
|
136
160
|
onHandleClose: this.handleToggle,
|
|
137
161
|
onConfirm: this.handleOnClick
|
|
138
162
|
}));
|
|
@@ -150,7 +174,8 @@ InputDoublestep.propTypes = process.env.NODE_ENV !== "production" ? _extends({
|
|
|
150
174
|
toggleValue: PropTypes.string.isRequired,
|
|
151
175
|
onClick: PropTypes.func.isRequired,
|
|
152
176
|
onOpenConfirmation: PropTypes.func,
|
|
153
|
-
onCloseConfirmation: PropTypes.func
|
|
177
|
+
onCloseConfirmation: PropTypes.func,
|
|
178
|
+
icon: PropTypes.string
|
|
154
179
|
}, inputDoubleProps) : {};
|
|
155
180
|
export default InputDoublestep;
|
|
156
181
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","useMemo","PropTypes","Loader","style","ConfirmationInput","onChange","placeholder","handleOnChange","e","target","value","input","propTypes","func","string","ConfirmationForm","props","confirmValue","confirmDisabled","onConfirm","cancelValue","onHandleClose","textValidation","isPending","form","confirmForm","confirmEmptySpace","
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","useMemo","PropTypes","Loader","ButtonLink","style","ConfirmationInput","onChange","placeholder","handleOnChange","e","target","value","input","propTypes","func","string","ConfirmationForm","props","confirmValue","confirmDisabled","onConfirm","cancelValue","onHandleClose","textValidation","isPending","form","confirmForm","confirmEmptySpace","confirmationCTAWrapper","backgroundColor","color","isRequired","bool","Confirmation","description","sectionConfirm","inputDoubleProps","InputDoublestep","Component","constructor","context","state","open","handleToggle","bind","handleOnClick","setState","onCloseConfirmation","onOpenConfirmation","preventDefault","onClick","render","toggleValue","disabled","icon","formView","position","faIcon","name","size","wrapper"],"sources":["../../../src/atom/input-doublestep/index.js"],"sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport {snakeCase, omit, noop} from 'lodash/fp';\nimport Loader from '../loader';\nimport ButtonLink from '../button-link';\nimport style from './style.css';\n\nconst ConfirmationInput = ({onChange, placeholder = ''}) => {\n const handleOnChange = useMemo(\n () => e => {\n return onChange(e.target.value);\n },\n [onChange]\n );\n\n return (\n <div>\n <input\n data-testid=\"input\"\n onInput={handleOnChange}\n placeholder={placeholder}\n className={style.input}\n onChange={noop}\n />\n </div>\n );\n};\n\nConfirmationInput.propTypes = {\n onChange: PropTypes.func,\n placeholder: PropTypes.string\n};\n\nconst ConfirmationForm = props => {\n const {\n confirmValue,\n confirmDisabled = false,\n onConfirm,\n cancelValue,\n onHandleClose,\n onChange,\n textValidation,\n placeholder,\n isPending = false\n } = props;\n\n const form = (\n <div className={style.confirmForm}>\n {textValidation ? (\n <ConfirmationInput onChange={onChange} placeholder={placeholder} />\n ) : (\n <div className={style.confirmEmptySpace} />\n )}\n <div className={style.confirmationCTAWrapper}>\n <ButtonLink\n label={cancelValue}\n data-testid=\"cancel-confirmation-button\"\n onClick={onHandleClose}\n />\n <ButtonLink\n label={confirmValue}\n disabled={confirmDisabled}\n data-testid=\"confirm-delete-button\"\n onClick={onConfirm}\n customStyle={{backgroundColor: 'orange', color: 'white'}}\n />\n </div>\n </div>\n );\n\n return isPending ? (\n <div className={style.confirmForm}>\n <Loader />\n </div>\n ) : (\n form\n );\n};\nConfirmationForm.propTypes = {\n confirmValue: PropTypes.string.isRequired,\n confirmDisabled: PropTypes.bool,\n onConfirm: PropTypes.func.isRequired,\n cancelValue: PropTypes.string.isRequired,\n onHandleClose: PropTypes.func.isRequired,\n textValidation: PropTypes.bool,\n isPending: PropTypes.bool,\n ...ConfirmationInput.propTypes\n};\n\nconst Confirmation = props => {\n const {description} = props;\n\n return (\n <div className={style.sectionConfirm}>\n <div className={style.description}>{description}</div>\n <ConfirmationForm {...props} />\n </div>\n );\n};\nConfirmation.propTypes = {\n description: PropTypes.string\n};\n\nconst inputDoubleProps = omit(['onConfirm', 'onHandleClose'], {...Confirmation.propTypes});\nclass InputDoublestep extends React.Component {\n static propTypes = {\n toggleValue: PropTypes.string.isRequired,\n onClick: PropTypes.func.isRequired,\n onOpenConfirmation: PropTypes.func,\n onCloseConfirmation: PropTypes.func,\n icon: PropTypes.string,\n ...inputDoubleProps\n };\n\n constructor(props, context) {\n super(props);\n this.state = {\n open: false\n };\n this.handleToggle = this.handleToggle.bind(this);\n this.handleOnClick = this.handleOnClick.bind(this);\n }\n\n handleToggle() {\n this.setState(state => ({\n open: !state.open\n }));\n\n const {open} = this.state;\n const {onCloseConfirmation = noop, onOpenConfirmation = noop} = this.props;\n open ? onCloseConfirmation() : onOpenConfirmation();\n }\n\n handleOnClick(e) {\n e.preventDefault();\n this.setState({open: false});\n const {onClick = noop} = this.props;\n return onClick(e);\n }\n\n render() {\n const {toggleValue, disabled, icon} = this.props;\n const {open} = this.state;\n\n const formView = !open ? (\n <ButtonLink\n {...(icon\n ? {\n icon: {\n position: 'left',\n faIcon: {\n name: icon,\n color: '#ffffff',\n size: 16\n }\n }\n }\n : {})}\n type=\"dangerous\"\n label={toggleValue}\n disabled={disabled}\n data-testid=\"input-toggle-button\"\n onClick={this.handleToggle}\n />\n ) : (\n <Confirmation\n {...this.props}\n onHandleClose={this.handleToggle}\n onConfirm={this.handleOnClick}\n />\n );\n\n return (\n <div className={style.wrapper}>\n <div data-name={`input_doublestep_${snakeCase(toggleValue)}`} className={style.value}>\n {formView}\n </div>\n </div>\n );\n }\n}\n\nexport default InputDoublestep;\n"],"mappings":"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"}
|
|
@@ -35,73 +35,6 @@
|
|
|
35
35
|
min-height: 63px;
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
-
.toggle {
|
|
39
|
-
height: 52px;
|
|
40
|
-
padding: 0 40px;
|
|
41
|
-
line-height: 52px;
|
|
42
|
-
border-radius: 2px;
|
|
43
|
-
font-family: 'Gilroy';
|
|
44
|
-
font-size: 15px;
|
|
45
|
-
color: white;
|
|
46
|
-
font-weight: 700px;
|
|
47
|
-
display: block;
|
|
48
|
-
background-color: negative;
|
|
49
|
-
cursor: pointer;
|
|
50
|
-
text-align: center;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
.toggleDisabled {
|
|
54
|
-
composes: toggle;
|
|
55
|
-
cursor: default;
|
|
56
|
-
background-color: light;
|
|
57
|
-
border: 1px solid light;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
.button {
|
|
61
|
-
height: 32px;
|
|
62
|
-
padding: 0 15px;
|
|
63
|
-
text-transform: uppercase;
|
|
64
|
-
border-radius: 2px;
|
|
65
|
-
font-family: 'Gilroy';
|
|
66
|
-
font-size: 15px;
|
|
67
|
-
font-weight: 700;
|
|
68
|
-
cursor: pointer;
|
|
69
|
-
line-height: 30px;
|
|
70
|
-
text-align: center;
|
|
71
|
-
box-sizing: border-box;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
.cancel {
|
|
75
|
-
composes: button;
|
|
76
|
-
border: 1px solid dark;
|
|
77
|
-
color: white;
|
|
78
|
-
background-color: dark;
|
|
79
|
-
margin-right: 10px;
|
|
80
|
-
margin-bottom: 10px;
|
|
81
|
-
font-weight: 600;
|
|
82
|
-
display: inline-block;
|
|
83
|
-
min-width: 120px;
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
.delete {
|
|
87
|
-
composes: button;
|
|
88
|
-
border: 1px solid orange;
|
|
89
|
-
color: white;
|
|
90
|
-
background-color: orange;
|
|
91
|
-
margin-right: 5px;
|
|
92
|
-
margin-bottom: 10px;
|
|
93
|
-
font-weight: 600;
|
|
94
|
-
display: inline-block;
|
|
95
|
-
min-width: 120px;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
.disabled {
|
|
99
|
-
composes: delete;
|
|
100
|
-
cursor: default;
|
|
101
|
-
background-color: light;
|
|
102
|
-
border: 1px solid light;
|
|
103
|
-
}
|
|
104
|
-
|
|
105
38
|
.description {
|
|
106
39
|
font-family: 'Gilroy';
|
|
107
40
|
font-weight: 500;
|
|
@@ -123,3 +56,10 @@
|
|
|
123
56
|
width: 230px;
|
|
124
57
|
appearance: none;
|
|
125
58
|
}
|
|
59
|
+
|
|
60
|
+
.confirmationCTAWrapper {
|
|
61
|
+
display: flex;
|
|
62
|
+
margin: auto;
|
|
63
|
+
width: 50%;
|
|
64
|
+
gap: 16px;
|
|
65
|
+
}
|
package/es/atom/select/index.js
CHANGED
|
@@ -43,7 +43,7 @@ const ArrowView = ({
|
|
|
43
43
|
color: arrowColor
|
|
44
44
|
}, {
|
|
45
45
|
className: arrowClass
|
|
46
|
-
}), [
|
|
46
|
+
}), [arrowClass, arrowColor]);
|
|
47
47
|
|
|
48
48
|
if (shouldRender) {
|
|
49
49
|
return isArrowUp ? /*#__PURE__*/React.createElement(ArrowUp, _extends({}, props, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","useCallback","useMemo","useState","PropTypes","classnames","concat","filter","find","flatMapDeep","get","getOr","includes","isEmpty","keys","map","size","NovaCompositionNavigationArrowDown","ArrowDown","NovaCompositionNavigationArrowTop","ArrowUp","Provider","GetSkinFromContext","getClassState","style","themeStyle","invalid","header","mooc","question","sort","thematiques","player","template","skillDetail","coorpmanager","ArrowView","shouldRender","isArrowUp","ariaLabel","arrowClass","arrowColor","props","color","className","Select","legacyContext","name","options","optgroups","borderClassName","onChange","multiple","disabled","required","description","theme","modified","error","title","propTitle","ariaLabelledBy","skin","setIsArrowUp","handleSelectOnFocus","handleSelectOnBlur","selectOption","option","index","value","optionList","optgroup","label","i","titleView","selected","selectedLabel","isSelectedInValidOption","validOption","handleChange","e","target","selectedOptions","black","isThemeOneOfQuestionTemplateOrPlayer","shouldUseSkinFontColor","undefined","behaviorClassName","default","composedClassName","unselected","labelSize","isLongLabel","selectWrapper","selectSpan","noLabelCommon","longLabel","selectedArrow","arrow","selectBox","SelectOptionPropTypes","string","isRequired","oneOfType","number","bool","SelectOptionGroupPropTypes","arrayOf","shape","contextTypes","childContextTypes","propTypes","func","oneOf"],"sources":["../../../src/atom/select/index.js"],"sourcesContent":["import React, {useCallback, useMemo, useState} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport concat from 'lodash/fp/concat';\nimport filter from 'lodash/fp/filter';\nimport find from 'lodash/fp/find';\nimport flatMapDeep from 'lodash/fp/flatMapDeep';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport includes from 'lodash/fp/includes';\nimport isEmpty from 'lodash/fp/isEmpty';\nimport keys from 'lodash/fp/keys';\nimport map from 'lodash/fp/map';\nimport size from 'lodash/fp/size';\nimport {\n NovaCompositionNavigationArrowDown as ArrowDown,\n NovaCompositionNavigationArrowTop as ArrowUp\n} from '@coorpacademy/nova-icons';\nimport Provider, {GetSkinFromContext} from '../provider';\nimport getClassState from '../../util/get-class-state';\nimport style from './style.css';\n\nconst themeStyle = {\n filter: style.filter,\n invalid: style.invalid,\n header: style.header,\n mooc: style.mooc,\n question: style.question,\n sort: style.sort,\n thematiques: style.thematiques,\n player: style.player,\n template: style.template,\n skillDetail: style.skillDetail,\n coorpmanager: null\n};\n\nconst ArrowView = ({shouldRender, isArrowUp, ariaLabel, arrowClass, arrowColor}) => {\n const props = useMemo(\n () => ({\n ...(arrowColor &\n {\n color: arrowColor\n }),\n className: arrowClass\n }),\n [ariaLabel, arrowClass, arrowColor]\n );\n if (shouldRender) {\n return isArrowUp ? (\n <ArrowUp {...props} data-testid=\"select-arrow-up-icon\" />\n ) : (\n <ArrowDown {...props} data-testid=\"select-arrow-down-icon\" />\n );\n } else return null;\n};\n\nconst Select = (props, legacyContext) => {\n const {\n name,\n options = [],\n optgroups = [],\n className,\n borderClassName,\n onChange,\n multiple = false,\n disabled,\n required,\n description,\n theme,\n modified = false,\n error = false,\n title: propTitle,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy\n } = props;\n\n const skin = GetSkinFromContext(legacyContext);\n const title = useMemo(\n () => (propTitle ? `${propTitle}${required ? '*' : ''}` : null),\n [propTitle, required]\n );\n\n const [isArrowUp, setIsArrowUp] = useState(false);\n\n const handleSelectOnFocus = useCallback(() => setIsArrowUp(true), []);\n const handleSelectOnBlur = useCallback(() => setIsArrowUp(false), []);\n\n const selectOption = (option, index) => {\n return (\n <option key={index} value={option.value} className={style.selectOption}>\n {option.name}\n </option>\n );\n };\n\n const optionList = !isEmpty(options)\n ? options.map((option, index) => selectOption(option, index))\n : optgroups.map((optgroup, index) => {\n return (\n <optgroup key={index} label={optgroup.label}>\n {optgroup.options && optgroup.options.map((option, i) => selectOption(option, i))}\n </optgroup>\n );\n });\n\n const titleView = title ? <span className={style.title}>{title}</span> : null;\n\n const selected = useMemo(\n () =>\n multiple\n ? map(get('value'), filter({selected: true}, options))\n : get('value', find({selected: true}, concat(options, flatMapDeep('options', optgroups)))),\n [multiple, options, optgroups]\n );\n const selectedLabel = useMemo(\n () =>\n multiple\n ? map(get('name'), filter({selected: true}, options))\n : get('name', find({selected: true}, concat(options, flatMapDeep('options', optgroups)))),\n [multiple, options, optgroups]\n );\n\n const isSelectedInValidOption = useMemo(\n () =>\n theme === 'player' &&\n getOr(false, 'name', find({validOption: false, selected: true}, options)),\n [options, theme]\n );\n\n const handleChange = useMemo(\n () =>\n multiple\n ? e => {\n setIsArrowUp(false);\n onChange(map(get('value'), e.target.selectedOptions));\n }\n : e => {\n setIsArrowUp(false);\n onChange(e.target.value);\n },\n [onChange, multiple]\n );\n\n const black = useMemo(() => getOr('#14171A', 'common.black', skin), [skin]);\n const color = useMemo(() => getOr('#00B0FF', 'common.primary', skin), [skin]);\n const isThemeOneOfQuestionTemplateOrPlayer = useMemo(\n () => includes(theme, ['question', 'template', 'player']),\n [theme]\n );\n const shouldUseSkinFontColor = useMemo(\n () => !isSelectedInValidOption && selected && isThemeOneOfQuestionTemplateOrPlayer,\n [isSelectedInValidOption, selected, isThemeOneOfQuestionTemplateOrPlayer]\n );\n const arrowColor = selected ? color : undefined;\n\n const behaviorClassName = useMemo(\n () => getClassState(style.default, style.modified, style.error, modified, error),\n [error, modified]\n );\n const composedClassName = useMemo(\n () =>\n classnames(\n theme && theme !== 'coorpmanager' ? themeStyle[theme] : behaviorClassName,\n selected ? style.selected : style.unselected,\n className\n ),\n [behaviorClassName, className, selected, theme]\n );\n\n const labelSize = useMemo(() => size(selectedLabel), [selectedLabel]);\n\n const isLongLabel = useMemo(() => labelSize >= 65, [labelSize]);\n\n return (\n <div\n className={classnames(\n composedClassName,\n theme === 'coorpmanager' ? style.coorpmanager : null\n )}\n >\n <label\n data-testid=\"select-wrapper\"\n data-name=\"select-wrapper\"\n title={title}\n style={{\n ...(shouldUseSkinFontColor && {\n color\n })\n }}\n className={style.selectWrapper}\n >\n {titleView}\n <span\n data-testid=\"select-span\"\n data-name=\"select-span\"\n className={classnames(\n style.selectSpan,\n includes(theme, [\n 'player',\n 'invalid',\n 'question',\n 'thematiques',\n 'template',\n 'skillDetail'\n ])\n ? style.noLabelCommon\n : null,\n borderClassName,\n isLongLabel ? style.longLabel : null\n )}\n style={{\n ...(shouldUseSkinFontColor && {\n color\n })\n }}\n >\n {selectedLabel}\n </span>\n <ArrowView\n shouldRender={!multiple}\n isArrowUp={isArrowUp}\n ariaLabel={ariaLabel}\n arrowClass={shouldUseSkinFontColor ? style.selectedArrow : style.arrow}\n arrowColor={isThemeOneOfQuestionTemplateOrPlayer ? arrowColor : black}\n />\n <select\n {...(ariaLabelledBy ? {'aria-labelledby': ariaLabelledBy} : {})}\n {...(ariaLabel && !ariaLabelledBy ? {'aria-label': ariaLabel} : {})}\n {...(ariaLabel ? {title: ariaLabel} : {})}\n data-name=\"native-select\"\n className={style.selectBox}\n name={name}\n onChange={handleChange}\n value={selected}\n multiple={multiple}\n disabled={disabled}\n onClick={handleSelectOnFocus}\n onBlur={handleSelectOnBlur}\n // onBlur does not handle completely an out of bounds click\n // ex: select is Opened and a click is done outside, cancelling the select\n // that doesn't count as a Blur, so an onMouseLeave is needed\n onMouseLeave={handleSelectOnBlur}\n data-testid=\"native-select\"\n >\n {optionList}\n </select>\n </label>\n <div className={style.description}>{description}</div>\n </div>\n );\n};\n\nexport const SelectOptionPropTypes = {\n name: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n selected: PropTypes.bool,\n validOption: PropTypes.bool\n};\n\nexport const SelectOptionGroupPropTypes = {\n label: PropTypes.string.isRequired,\n options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes))\n};\n\nSelect.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nSelect.propTypes = {\n title: PropTypes.string,\n name: PropTypes.string,\n className: PropTypes.string,\n borderClassName: PropTypes.string,\n disabled: PropTypes.bool,\n multiple: PropTypes.bool,\n description: PropTypes.string,\n required: PropTypes.bool,\n onChange: PropTypes.func,\n theme: PropTypes.oneOf(keys(themeStyle)),\n options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes)),\n optgroups: PropTypes.arrayOf(PropTypes.shape(SelectOptionGroupPropTypes)),\n modified: PropTypes.bool,\n error: PropTypes.bool,\n 'aria-label': PropTypes.string,\n 'aria-labelledby': PropTypes.string\n};\n\nexport default Select;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","useCallback","useMemo","useState","PropTypes","classnames","concat","filter","find","flatMapDeep","get","getOr","includes","isEmpty","keys","map","size","NovaCompositionNavigationArrowDown","ArrowDown","NovaCompositionNavigationArrowTop","ArrowUp","Provider","GetSkinFromContext","getClassState","style","themeStyle","invalid","header","mooc","question","sort","thematiques","player","template","skillDetail","coorpmanager","ArrowView","shouldRender","isArrowUp","ariaLabel","arrowClass","arrowColor","props","color","className","Select","legacyContext","name","options","optgroups","borderClassName","onChange","multiple","disabled","required","description","theme","modified","error","title","propTitle","ariaLabelledBy","skin","setIsArrowUp","handleSelectOnFocus","handleSelectOnBlur","selectOption","option","index","value","optionList","optgroup","label","i","titleView","selected","selectedLabel","isSelectedInValidOption","validOption","handleChange","e","target","selectedOptions","black","isThemeOneOfQuestionTemplateOrPlayer","shouldUseSkinFontColor","undefined","behaviorClassName","default","composedClassName","unselected","labelSize","isLongLabel","selectWrapper","selectSpan","noLabelCommon","longLabel","selectedArrow","arrow","selectBox","SelectOptionPropTypes","string","isRequired","oneOfType","number","bool","SelectOptionGroupPropTypes","arrayOf","shape","contextTypes","childContextTypes","propTypes","func","oneOf"],"sources":["../../../src/atom/select/index.js"],"sourcesContent":["import React, {useCallback, useMemo, useState} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport concat from 'lodash/fp/concat';\nimport filter from 'lodash/fp/filter';\nimport find from 'lodash/fp/find';\nimport flatMapDeep from 'lodash/fp/flatMapDeep';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport includes from 'lodash/fp/includes';\nimport isEmpty from 'lodash/fp/isEmpty';\nimport keys from 'lodash/fp/keys';\nimport map from 'lodash/fp/map';\nimport size from 'lodash/fp/size';\nimport {\n NovaCompositionNavigationArrowDown as ArrowDown,\n NovaCompositionNavigationArrowTop as ArrowUp\n} from '@coorpacademy/nova-icons';\nimport Provider, {GetSkinFromContext} from '../provider';\nimport getClassState from '../../util/get-class-state';\nimport style from './style.css';\n\nconst themeStyle = {\n filter: style.filter,\n invalid: style.invalid,\n header: style.header,\n mooc: style.mooc,\n question: style.question,\n sort: style.sort,\n thematiques: style.thematiques,\n player: style.player,\n template: style.template,\n skillDetail: style.skillDetail,\n coorpmanager: null\n};\n\nconst ArrowView = ({shouldRender, isArrowUp, ariaLabel, arrowClass, arrowColor}) => {\n const props = useMemo(\n () => ({\n ...(arrowColor &\n {\n color: arrowColor\n }),\n className: arrowClass\n }),\n [arrowClass, arrowColor]\n );\n if (shouldRender) {\n return isArrowUp ? (\n <ArrowUp {...props} data-testid=\"select-arrow-up-icon\" />\n ) : (\n <ArrowDown {...props} data-testid=\"select-arrow-down-icon\" />\n );\n } else return null;\n};\n\nconst Select = (props, legacyContext) => {\n const {\n name,\n options = [],\n optgroups = [],\n className,\n borderClassName,\n onChange,\n multiple = false,\n disabled,\n required,\n description,\n theme,\n modified = false,\n error = false,\n title: propTitle,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy\n } = props;\n\n const skin = GetSkinFromContext(legacyContext);\n const title = useMemo(\n () => (propTitle ? `${propTitle}${required ? '*' : ''}` : null),\n [propTitle, required]\n );\n\n const [isArrowUp, setIsArrowUp] = useState(false);\n\n const handleSelectOnFocus = useCallback(() => setIsArrowUp(true), []);\n const handleSelectOnBlur = useCallback(() => setIsArrowUp(false), []);\n\n const selectOption = (option, index) => {\n return (\n <option key={index} value={option.value} className={style.selectOption}>\n {option.name}\n </option>\n );\n };\n\n const optionList = !isEmpty(options)\n ? options.map((option, index) => selectOption(option, index))\n : optgroups.map((optgroup, index) => {\n return (\n <optgroup key={index} label={optgroup.label}>\n {optgroup.options && optgroup.options.map((option, i) => selectOption(option, i))}\n </optgroup>\n );\n });\n\n const titleView = title ? <span className={style.title}>{title}</span> : null;\n\n const selected = useMemo(\n () =>\n multiple\n ? map(get('value'), filter({selected: true}, options))\n : get('value', find({selected: true}, concat(options, flatMapDeep('options', optgroups)))),\n [multiple, options, optgroups]\n );\n const selectedLabel = useMemo(\n () =>\n multiple\n ? map(get('name'), filter({selected: true}, options))\n : get('name', find({selected: true}, concat(options, flatMapDeep('options', optgroups)))),\n [multiple, options, optgroups]\n );\n\n const isSelectedInValidOption = useMemo(\n () =>\n theme === 'player' &&\n getOr(false, 'name', find({validOption: false, selected: true}, options)),\n [options, theme]\n );\n\n const handleChange = useMemo(\n () =>\n multiple\n ? e => {\n setIsArrowUp(false);\n onChange(map(get('value'), e.target.selectedOptions));\n }\n : e => {\n setIsArrowUp(false);\n onChange(e.target.value);\n },\n [onChange, multiple]\n );\n\n const black = useMemo(() => getOr('#14171A', 'common.black', skin), [skin]);\n const color = useMemo(() => getOr('#00B0FF', 'common.primary', skin), [skin]);\n const isThemeOneOfQuestionTemplateOrPlayer = useMemo(\n () => includes(theme, ['question', 'template', 'player']),\n [theme]\n );\n const shouldUseSkinFontColor = useMemo(\n () => !isSelectedInValidOption && selected && isThemeOneOfQuestionTemplateOrPlayer,\n [isSelectedInValidOption, selected, isThemeOneOfQuestionTemplateOrPlayer]\n );\n const arrowColor = selected ? color : undefined;\n\n const behaviorClassName = useMemo(\n () => getClassState(style.default, style.modified, style.error, modified, error),\n [error, modified]\n );\n const composedClassName = useMemo(\n () =>\n classnames(\n theme && theme !== 'coorpmanager' ? themeStyle[theme] : behaviorClassName,\n selected ? style.selected : style.unselected,\n className\n ),\n [behaviorClassName, className, selected, theme]\n );\n\n const labelSize = useMemo(() => size(selectedLabel), [selectedLabel]);\n\n const isLongLabel = useMemo(() => labelSize >= 65, [labelSize]);\n\n return (\n <div\n className={classnames(\n composedClassName,\n theme === 'coorpmanager' ? style.coorpmanager : null\n )}\n >\n <label\n data-testid=\"select-wrapper\"\n data-name=\"select-wrapper\"\n title={title}\n style={{\n ...(shouldUseSkinFontColor && {\n color\n })\n }}\n className={style.selectWrapper}\n >\n {titleView}\n <span\n data-testid=\"select-span\"\n data-name=\"select-span\"\n className={classnames(\n style.selectSpan,\n includes(theme, [\n 'player',\n 'invalid',\n 'question',\n 'thematiques',\n 'template',\n 'skillDetail'\n ])\n ? style.noLabelCommon\n : null,\n borderClassName,\n isLongLabel ? style.longLabel : null\n )}\n style={{\n ...(shouldUseSkinFontColor && {\n color\n })\n }}\n >\n {selectedLabel}\n </span>\n <ArrowView\n shouldRender={!multiple}\n isArrowUp={isArrowUp}\n ariaLabel={ariaLabel}\n arrowClass={shouldUseSkinFontColor ? style.selectedArrow : style.arrow}\n arrowColor={isThemeOneOfQuestionTemplateOrPlayer ? arrowColor : black}\n />\n <select\n {...(ariaLabelledBy ? {'aria-labelledby': ariaLabelledBy} : {})}\n {...(ariaLabel && !ariaLabelledBy ? {'aria-label': ariaLabel} : {})}\n {...(ariaLabel ? {title: ariaLabel} : {})}\n data-name=\"native-select\"\n className={style.selectBox}\n name={name}\n onChange={handleChange}\n value={selected}\n multiple={multiple}\n disabled={disabled}\n onClick={handleSelectOnFocus}\n onBlur={handleSelectOnBlur}\n // onBlur does not handle completely an out of bounds click\n // ex: select is Opened and a click is done outside, cancelling the select\n // that doesn't count as a Blur, so an onMouseLeave is needed\n onMouseLeave={handleSelectOnBlur}\n data-testid=\"native-select\"\n >\n {optionList}\n </select>\n </label>\n <div className={style.description}>{description}</div>\n </div>\n );\n};\n\nexport const SelectOptionPropTypes = {\n name: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n selected: PropTypes.bool,\n validOption: PropTypes.bool\n};\n\nexport const SelectOptionGroupPropTypes = {\n label: PropTypes.string.isRequired,\n options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes))\n};\n\nSelect.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nSelect.propTypes = {\n title: PropTypes.string,\n name: PropTypes.string,\n className: PropTypes.string,\n borderClassName: PropTypes.string,\n disabled: PropTypes.bool,\n multiple: PropTypes.bool,\n description: PropTypes.string,\n required: PropTypes.bool,\n onChange: PropTypes.func,\n theme: PropTypes.oneOf(keys(themeStyle)),\n options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes)),\n optgroups: PropTypes.arrayOf(PropTypes.shape(SelectOptionGroupPropTypes)),\n modified: PropTypes.bool,\n error: PropTypes.bool,\n 'aria-label': PropTypes.string,\n 'aria-labelledby': PropTypes.string\n};\n\nexport default Select;\n"],"mappings":"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"}
|
|
@@ -47,6 +47,7 @@ declare namespace BaseModal {
|
|
|
47
47
|
onConfirm: PropTypes.Requireable<(...args: any[]) => any>;
|
|
48
48
|
iconName: PropTypes.Requireable<string>;
|
|
49
49
|
disabled: PropTypes.Requireable<boolean>;
|
|
50
|
+
color: PropTypes.Requireable<string>;
|
|
50
51
|
}>>;
|
|
51
52
|
}> | null | undefined>>;
|
|
52
53
|
const onClose: PropTypes.Requireable<(...args: any[]) => any>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/base-modal/index.js"],"names":[],"mappings":";AASA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/base-modal/index.js"],"names":[],"mappings":";AASA,yEA6GC"}
|
|
@@ -42,10 +42,11 @@ const BaseModal = (props, context) => {
|
|
|
42
42
|
label: confirmLabel,
|
|
43
43
|
onConfirm,
|
|
44
44
|
disabled: confirmDisabled,
|
|
45
|
-
iconName
|
|
45
|
+
iconName,
|
|
46
|
+
color
|
|
46
47
|
} = confirmButton || {};
|
|
47
48
|
|
|
48
|
-
const
|
|
49
|
+
const buttonConfirmColor = color || _get('common.primary', skin);
|
|
49
50
|
|
|
50
51
|
return /*#__PURE__*/React.createElement("div", {
|
|
51
52
|
className: style.footer
|
|
@@ -59,9 +60,9 @@ const BaseModal = (props, context) => {
|
|
|
59
60
|
disabled: cancelDisabled
|
|
60
61
|
}) : null, onConfirm && confirmLabel ? /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(ButtonLink, _extends({
|
|
61
62
|
customStyle: {
|
|
62
|
-
backgroundColor:
|
|
63
|
+
backgroundColor: buttonConfirmColor
|
|
63
64
|
},
|
|
64
|
-
hoverBackgroundColor: convert(`hsl(from ${
|
|
65
|
+
hoverBackgroundColor: convert(`hsl(from ${buttonConfirmColor} h s calc(l*(1 - 0.08)))`),
|
|
65
66
|
hoverColor: '#FFFFFF',
|
|
66
67
|
className: style.footerConfirmButton,
|
|
67
68
|
type: 'primary',
|
|
@@ -80,7 +81,7 @@ const BaseModal = (props, context) => {
|
|
|
80
81
|
} : {}))) : null), text ? /*#__PURE__*/React.createElement("div", {
|
|
81
82
|
className: `${style.footerDescription} ${isError ? style.footerDescriptionError : ''}`
|
|
82
83
|
}, text) : null);
|
|
83
|
-
}, [footer, skin
|
|
84
|
+
}, [footer, skin]);
|
|
84
85
|
if (!isOpen || !title || !children) return null;
|
|
85
86
|
|
|
86
87
|
function handleOnClose(e) {
|
|
@@ -150,7 +151,8 @@ BaseModal.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
150
151
|
label: PropTypes.string,
|
|
151
152
|
onConfirm: PropTypes.func,
|
|
152
153
|
iconName: PropTypes.string,
|
|
153
|
-
disabled: PropTypes.bool
|
|
154
|
+
disabled: PropTypes.bool,
|
|
155
|
+
color: PropTypes.string
|
|
154
156
|
})
|
|
155
157
|
})]),
|
|
156
158
|
onClose: PropTypes.func
|