@coorpacademy/components 11.33.3 → 11.33.4

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.
@@ -18,7 +18,7 @@ const BattleOpponent = ({
18
18
  'aria-label': ariaLabel
19
19
  }, legacyContext) => {
20
20
  const translate = GetTranslateFromContext(legacyContext);
21
- const wrapperClassnames = useMemo(() => classnames(style.card, style['opponent-card'], isRandom ? style.random : null), [isRandom]);
21
+ const wrapperClassnames = useMemo(() => classnames(style.card, style.opponentCard, isRandom ? style.random : null), [isRandom]);
22
22
  const displayNameClassnames = useMemo(() => classnames(style.name, isAlreadyEngaged ? style.alreadyEngaged : null), [isAlreadyEngaged]);
23
23
  const [mouseLeaveTimer, setMouseLeaveTimer] = useState(undefined);
24
24
  const [toolTipIsVisible, setToolTipIsVisible] = useState(false);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useCallback","useMemo","useState","useRef","classnames","v5","uuidV5","has","NovaCompositionNavigationArrowRight","ArrowRight","NovaCompositionCoorpacademyInformationIcon","InformationIcon","ToolTip","toggleStateOnKeyPress","Provider","GetTranslateFromContext","propTypes","style","BattleOpponent","isAlreadyEngaged","isRandom","userAvatarSrc","onClick","displayName","tooltipText","ariaLabel","legacyContext","translate","wrapperClassnames","card","random","displayNameClassnames","name","alreadyEngaged","mouseLeaveTimer","setMouseLeaveTimer","undefined","toolTipIsVisible","setToolTipIsVisible","battleOpponentInfoId","URL","buttonRef","handleMouseOver","clearTimeout","current","focus","handleMouseLeave","setTimeout","blur","handleKeyPress","event","TooltipContent","_props","createElement","_extends","onMouseOver","onMouseLeave","className","tabIndex","avatar","src","alt","Fragment","ref","type","tooltipIconContainer","onKeyDown","informationIcon","width","height","toolTipWrapper","fontSize","anchorId","closeToolTipInformationTextAriaLabel","rightArrow","process","env","NODE_ENV","contextTypes","childContextTypes"],"sources":["../../../src/atom/battle-opponent/index.tsx"],"sourcesContent":["import React, {useCallback, useMemo, useState, useRef} from 'react';\nimport classnames from 'classnames';\nimport {v5 as uuidV5} from 'uuid';\nimport has from 'lodash/fp/has';\nimport {\n NovaCompositionNavigationArrowRight as ArrowRight,\n NovaCompositionCoorpacademyInformationIcon as InformationIcon\n} from '@coorpacademy/nova-icons';\nimport ToolTip, {toggleStateOnKeyPress} from '../tooltip';\nimport Provider, {GetTranslateFromContext} from '../provider';\nimport {WebContextValues} from '../provider/web-context';\nimport propTypes, {BattleOpponentProps} from './prop-types';\nimport style from './style.css';\n\nconst BattleOpponent = (\n {\n isAlreadyEngaged,\n isRandom,\n userAvatarSrc,\n onClick,\n displayName,\n tooltipText,\n 'aria-label': ariaLabel\n }: BattleOpponentProps,\n legacyContext: WebContextValues\n) => {\n const translate: Required<WebContextValues>['translate'] = GetTranslateFromContext(legacyContext);\n const wrapperClassnames = useMemo(\n () => classnames(style.card, style['opponent-card'], isRandom ? style.random : null),\n [isRandom]\n );\n\n const displayNameClassnames = useMemo(\n () => classnames(style.name, isAlreadyEngaged ? style.alreadyEngaged : null),\n [isAlreadyEngaged]\n );\n\n const [mouseLeaveTimer, setMouseLeaveTimer] = useState<number | undefined>(undefined);\n const [toolTipIsVisible, setToolTipIsVisible] = useState(false);\n\n // to be replaced by useId when React17 is bumped to React18\n const [battleOpponentInfoId] = useState(\n isAlreadyEngaged ? uuidV5('engaged-battle-', uuidV5.URL) : undefined\n );\n\n const buttonRef = useRef(null);\n\n const handleMouseOver = useCallback(() => {\n mouseLeaveTimer && clearTimeout(mouseLeaveTimer);\n // @ts-expect-error (error: focus does not exists on type never)\n /* istanbul ignore next */ has(['current', 'focus'], buttonRef) && buttonRef.current.focus();\n setToolTipIsVisible(true);\n }, [mouseLeaveTimer]);\n\n const handleMouseLeave = useCallback(() => {\n setMouseLeaveTimer(\n setTimeout(() => {\n setToolTipIsVisible(false);\n // @ts-expect-error (error: blur does not exists on type never)\n /* istanbul ignore next */ has(['current', 'blur'], buttonRef) && buttonRef.current.blur();\n }, 500) as unknown as number\n );\n }, []);\n\n const handleKeyPress = useCallback(\n event => {\n toggleStateOnKeyPress(toolTipIsVisible, setToolTipIsVisible, buttonRef)(event);\n },\n [toolTipIsVisible]\n );\n\n const TooltipContent = useCallback(\n _props => (\n <p\n {..._props}\n onMouseOver={handleMouseOver}\n onMouseLeave={handleMouseLeave}\n data-testid=\"battle-opponent-tooltip-content\"\n >\n {tooltipText}\n </p>\n ),\n [handleMouseLeave, handleMouseOver, tooltipText]\n );\n\n return (\n <li\n {...(!isAlreadyEngaged && {onClick})}\n className={wrapperClassnames}\n data-testid=\"battle-opponent-wrapper\"\n tabIndex={0}\n >\n <div className={style.avatar}>{isRandom ? null : <img src={userAvatarSrc} alt=\"\" />}</div>\n <p className={displayNameClassnames} tabIndex={0}>\n {displayName}\n </p>\n {isAlreadyEngaged ? (\n <>\n <button\n ref={buttonRef}\n tabIndex={0}\n type=\"button\"\n className={style.tooltipIconContainer}\n data-testid=\"battle-engaged-opponent-information-button\"\n onKeyDown={handleKeyPress}\n onMouseLeave={handleMouseLeave}\n onMouseOver={handleMouseOver}\n data-for={battleOpponentInfoId}\n data-tooltip-place=\"left\"\n data-tip={isAlreadyEngaged}\n aria-label={ariaLabel}\n >\n <InformationIcon className={style.informationIcon} width={20} height={20} />\n </button>\n <span className={style.toolTipWrapper}>\n <ToolTip\n fontSize={12}\n anchorId={battleOpponentInfoId}\n toolTipIsVisible={toolTipIsVisible}\n TooltipContent={TooltipContent}\n closeToolTipInformationTextAriaLabel={translate('close_tooltip_information')}\n />\n </span>\n </>\n ) : (\n <ArrowRight className={style.rightArrow} width={16} height={16} />\n )}\n </li>\n );\n};\n\nBattleOpponent.propTypes = propTypes;\n\nBattleOpponent.contextTypes = {\n translate: Provider.childContextTypes.translate\n};\n\nexport default BattleOpponent;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","useCallback","useMemo","useState","useRef","classnames","v5","uuidV5","has","NovaCompositionNavigationArrowRight","ArrowRight","NovaCompositionCoorpacademyInformationIcon","InformationIcon","ToolTip","toggleStateOnKeyPress","Provider","GetTranslateFromContext","propTypes","style","BattleOpponent","isAlreadyEngaged","isRandom","userAvatarSrc","onClick","displayName","tooltipText","ariaLabel","legacyContext","translate","wrapperClassnames","card","opponentCard","random","displayNameClassnames","name","alreadyEngaged","mouseLeaveTimer","setMouseLeaveTimer","undefined","toolTipIsVisible","setToolTipIsVisible","battleOpponentInfoId","URL","buttonRef","handleMouseOver","clearTimeout","current","focus","handleMouseLeave","setTimeout","blur","handleKeyPress","event","TooltipContent","_props","createElement","_extends","onMouseOver","onMouseLeave","className","tabIndex","avatar","src","alt","Fragment","ref","type","tooltipIconContainer","onKeyDown","informationIcon","width","height","toolTipWrapper","fontSize","anchorId","closeToolTipInformationTextAriaLabel","rightArrow","process","env","NODE_ENV","contextTypes","childContextTypes"],"sources":["../../../src/atom/battle-opponent/index.tsx"],"sourcesContent":["import React, {useCallback, useMemo, useState, useRef} from 'react';\nimport classnames from 'classnames';\nimport {v5 as uuidV5} from 'uuid';\nimport has from 'lodash/fp/has';\nimport {\n NovaCompositionNavigationArrowRight as ArrowRight,\n NovaCompositionCoorpacademyInformationIcon as InformationIcon\n} from '@coorpacademy/nova-icons';\nimport ToolTip, {toggleStateOnKeyPress} from '../tooltip';\nimport Provider, {GetTranslateFromContext} from '../provider';\nimport {WebContextValues} from '../provider/web-context';\nimport propTypes, {BattleOpponentProps} from './prop-types';\nimport style from './style.css';\n\nconst BattleOpponent = (\n {\n isAlreadyEngaged,\n isRandom,\n userAvatarSrc,\n onClick,\n displayName,\n tooltipText,\n 'aria-label': ariaLabel\n }: BattleOpponentProps,\n legacyContext: WebContextValues\n) => {\n const translate: Required<WebContextValues>['translate'] = GetTranslateFromContext(legacyContext);\n const wrapperClassnames = useMemo(\n () => classnames(style.card, style.opponentCard, isRandom ? style.random : null),\n [isRandom]\n );\n\n const displayNameClassnames = useMemo(\n () => classnames(style.name, isAlreadyEngaged ? style.alreadyEngaged : null),\n [isAlreadyEngaged]\n );\n\n const [mouseLeaveTimer, setMouseLeaveTimer] = useState<number | undefined>(undefined);\n const [toolTipIsVisible, setToolTipIsVisible] = useState(false);\n\n // to be replaced by useId when React17 is bumped to React18\n const [battleOpponentInfoId] = useState(\n isAlreadyEngaged ? uuidV5('engaged-battle-', uuidV5.URL) : undefined\n );\n\n const buttonRef = useRef(null);\n\n const handleMouseOver = useCallback(() => {\n mouseLeaveTimer && clearTimeout(mouseLeaveTimer);\n // @ts-expect-error (error: focus does not exists on type never)\n /* istanbul ignore next */ has(['current', 'focus'], buttonRef) && buttonRef.current.focus();\n setToolTipIsVisible(true);\n }, [mouseLeaveTimer]);\n\n const handleMouseLeave = useCallback(() => {\n setMouseLeaveTimer(\n setTimeout(() => {\n setToolTipIsVisible(false);\n // @ts-expect-error (error: blur does not exists on type never)\n /* istanbul ignore next */ has(['current', 'blur'], buttonRef) && buttonRef.current.blur();\n }, 500) as unknown as number\n );\n }, []);\n\n const handleKeyPress = useCallback(\n event => {\n toggleStateOnKeyPress(toolTipIsVisible, setToolTipIsVisible, buttonRef)(event);\n },\n [toolTipIsVisible]\n );\n\n const TooltipContent = useCallback(\n _props => (\n <p\n {..._props}\n onMouseOver={handleMouseOver}\n onMouseLeave={handleMouseLeave}\n data-testid=\"battle-opponent-tooltip-content\"\n >\n {tooltipText}\n </p>\n ),\n [handleMouseLeave, handleMouseOver, tooltipText]\n );\n\n return (\n <li\n {...(!isAlreadyEngaged && {onClick})}\n className={wrapperClassnames}\n data-testid=\"battle-opponent-wrapper\"\n tabIndex={0}\n >\n <div className={style.avatar}>{isRandom ? null : <img src={userAvatarSrc} alt=\"\" />}</div>\n <p className={displayNameClassnames} tabIndex={0}>\n {displayName}\n </p>\n {isAlreadyEngaged ? (\n <>\n <button\n ref={buttonRef}\n tabIndex={0}\n type=\"button\"\n className={style.tooltipIconContainer}\n data-testid=\"battle-engaged-opponent-information-button\"\n onKeyDown={handleKeyPress}\n onMouseLeave={handleMouseLeave}\n onMouseOver={handleMouseOver}\n data-for={battleOpponentInfoId}\n data-tooltip-place=\"left\"\n data-tip={isAlreadyEngaged}\n aria-label={ariaLabel}\n >\n <InformationIcon className={style.informationIcon} width={20} height={20} />\n </button>\n <span className={style.toolTipWrapper}>\n <ToolTip\n fontSize={12}\n anchorId={battleOpponentInfoId}\n toolTipIsVisible={toolTipIsVisible}\n TooltipContent={TooltipContent}\n closeToolTipInformationTextAriaLabel={translate('close_tooltip_information')}\n />\n </span>\n </>\n ) : (\n <ArrowRight className={style.rightArrow} width={16} height={16} />\n )}\n </li>\n );\n};\n\nBattleOpponent.propTypes = propTypes;\n\nBattleOpponent.contextTypes = {\n translate: Provider.childContextTypes.translate\n};\n\nexport default BattleOpponent;\n"],"mappings":"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","ignoreList":[]}
@@ -23,7 +23,7 @@
23
23
  margin: 5px;
24
24
  }
25
25
 
26
- .opponent-card {
26
+ .opponentCard {
27
27
  flex: 1 1 350px;
28
28
  height: 80px;
29
29
  background-color: white;
@@ -37,7 +37,7 @@
37
37
  cursor: pointer;
38
38
  }
39
39
 
40
- .opponent-card .name {
40
+ .opponentCard .name {
41
41
  font-family: 'Gilroy';
42
42
  font-size: 15px;
43
43
  font-weight: 700;
@@ -46,7 +46,7 @@
46
46
  }
47
47
 
48
48
 
49
- .opponent-card .rightArrow {
49
+ .opponentCard .rightArrow {
50
50
  margin-left: 20px;
51
51
  }
52
52
 
@@ -95,7 +95,7 @@
95
95
  display: none;
96
96
  }
97
97
 
98
- .opponent-card:hover {
98
+ .opponentCard:hover {
99
99
  background-color: cm_grey_75;
100
100
  }
101
101
 
@@ -125,16 +125,16 @@
125
125
  }
126
126
 
127
127
  @media mobile {
128
- .opponent-card {
128
+ .opponentCard {
129
129
  width: 100%;
130
130
  padding: 10px;
131
131
  }
132
132
 
133
- .opponent-card .avatar {
133
+ .opponentCard .avatar {
134
134
  margin-right: 10px;
135
135
  }
136
136
 
137
- .opponent-card .rightArrow {
137
+ .opponentCard .rightArrow {
138
138
  margin-left: 10px;
139
139
  }
140
140
 
@@ -25,7 +25,7 @@ const BattleOpponent = ({
25
25
  'aria-label': ariaLabel
26
26
  }, legacyContext) => {
27
27
  const translate = (0, _provider.GetTranslateFromContext)(legacyContext);
28
- const wrapperClassnames = (0, _react.useMemo)(() => (0, _classnames.default)(_style.default.card, _style.default['opponent-card'], isRandom ? _style.default.random : null), [isRandom]);
28
+ const wrapperClassnames = (0, _react.useMemo)(() => (0, _classnames.default)(_style.default.card, _style.default.opponentCard, isRandom ? _style.default.random : null), [isRandom]);
29
29
  const displayNameClassnames = (0, _react.useMemo)(() => (0, _classnames.default)(_style.default.name, isAlreadyEngaged ? _style.default.alreadyEngaged : null), [isAlreadyEngaged]);
30
30
  const [mouseLeaveTimer, setMouseLeaveTimer] = (0, _react.useState)(undefined);
31
31
  const [toolTipIsVisible, setToolTipIsVisible] = (0, _react.useState)(false);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_uuid","_has","_novaIcons","_tooltip","_provider","_propTypes","_style","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","BattleOpponent","isAlreadyEngaged","isRandom","userAvatarSrc","onClick","displayName","tooltipText","ariaLabel","legacyContext","translate","GetTranslateFromContext","wrapperClassnames","useMemo","classnames","style","card","random","displayNameClassnames","name","alreadyEngaged","mouseLeaveTimer","setMouseLeaveTimer","useState","undefined","toolTipIsVisible","setToolTipIsVisible","battleOpponentInfoId","uuidV5","URL","buttonRef","useRef","handleMouseOver","useCallback","clearTimeout","current","focus","handleMouseLeave","setTimeout","blur","handleKeyPress","event","toggleStateOnKeyPress","TooltipContent","_props","createElement","onMouseOver","onMouseLeave","className","tabIndex","avatar","src","alt","Fragment","ref","type","tooltipIconContainer","onKeyDown","NovaCompositionCoorpacademyInformationIcon","informationIcon","width","height","toolTipWrapper","fontSize","anchorId","closeToolTipInformationTextAriaLabel","NovaCompositionNavigationArrowRight","rightArrow","propTypes","process","env","NODE_ENV","contextTypes","Provider","childContextTypes","_default","exports"],"sources":["../../../src/atom/battle-opponent/index.tsx"],"sourcesContent":["import React, {useCallback, useMemo, useState, useRef} from 'react';\nimport classnames from 'classnames';\nimport {v5 as uuidV5} from 'uuid';\nimport has from 'lodash/fp/has';\nimport {\n NovaCompositionNavigationArrowRight as ArrowRight,\n NovaCompositionCoorpacademyInformationIcon as InformationIcon\n} from '@coorpacademy/nova-icons';\nimport ToolTip, {toggleStateOnKeyPress} from '../tooltip';\nimport Provider, {GetTranslateFromContext} from '../provider';\nimport {WebContextValues} from '../provider/web-context';\nimport propTypes, {BattleOpponentProps} from './prop-types';\nimport style from './style.css';\n\nconst BattleOpponent = (\n {\n isAlreadyEngaged,\n isRandom,\n userAvatarSrc,\n onClick,\n displayName,\n tooltipText,\n 'aria-label': ariaLabel\n }: BattleOpponentProps,\n legacyContext: WebContextValues\n) => {\n const translate: Required<WebContextValues>['translate'] = GetTranslateFromContext(legacyContext);\n const wrapperClassnames = useMemo(\n () => classnames(style.card, style['opponent-card'], isRandom ? style.random : null),\n [isRandom]\n );\n\n const displayNameClassnames = useMemo(\n () => classnames(style.name, isAlreadyEngaged ? style.alreadyEngaged : null),\n [isAlreadyEngaged]\n );\n\n const [mouseLeaveTimer, setMouseLeaveTimer] = useState<number | undefined>(undefined);\n const [toolTipIsVisible, setToolTipIsVisible] = useState(false);\n\n // to be replaced by useId when React17 is bumped to React18\n const [battleOpponentInfoId] = useState(\n isAlreadyEngaged ? uuidV5('engaged-battle-', uuidV5.URL) : undefined\n );\n\n const buttonRef = useRef(null);\n\n const handleMouseOver = useCallback(() => {\n mouseLeaveTimer && clearTimeout(mouseLeaveTimer);\n // @ts-expect-error (error: focus does not exists on type never)\n /* istanbul ignore next */ has(['current', 'focus'], buttonRef) && buttonRef.current.focus();\n setToolTipIsVisible(true);\n }, [mouseLeaveTimer]);\n\n const handleMouseLeave = useCallback(() => {\n setMouseLeaveTimer(\n setTimeout(() => {\n setToolTipIsVisible(false);\n // @ts-expect-error (error: blur does not exists on type never)\n /* istanbul ignore next */ has(['current', 'blur'], buttonRef) && buttonRef.current.blur();\n }, 500) as unknown as number\n );\n }, []);\n\n const handleKeyPress = useCallback(\n event => {\n toggleStateOnKeyPress(toolTipIsVisible, setToolTipIsVisible, buttonRef)(event);\n },\n [toolTipIsVisible]\n );\n\n const TooltipContent = useCallback(\n _props => (\n <p\n {..._props}\n onMouseOver={handleMouseOver}\n onMouseLeave={handleMouseLeave}\n data-testid=\"battle-opponent-tooltip-content\"\n >\n {tooltipText}\n </p>\n ),\n [handleMouseLeave, handleMouseOver, tooltipText]\n );\n\n return (\n <li\n {...(!isAlreadyEngaged && {onClick})}\n className={wrapperClassnames}\n data-testid=\"battle-opponent-wrapper\"\n tabIndex={0}\n >\n <div className={style.avatar}>{isRandom ? null : <img src={userAvatarSrc} alt=\"\" />}</div>\n <p className={displayNameClassnames} tabIndex={0}>\n {displayName}\n </p>\n {isAlreadyEngaged ? (\n <>\n <button\n ref={buttonRef}\n tabIndex={0}\n type=\"button\"\n className={style.tooltipIconContainer}\n data-testid=\"battle-engaged-opponent-information-button\"\n onKeyDown={handleKeyPress}\n onMouseLeave={handleMouseLeave}\n onMouseOver={handleMouseOver}\n data-for={battleOpponentInfoId}\n data-tooltip-place=\"left\"\n data-tip={isAlreadyEngaged}\n aria-label={ariaLabel}\n >\n <InformationIcon className={style.informationIcon} width={20} height={20} />\n </button>\n <span className={style.toolTipWrapper}>\n <ToolTip\n fontSize={12}\n anchorId={battleOpponentInfoId}\n toolTipIsVisible={toolTipIsVisible}\n TooltipContent={TooltipContent}\n closeToolTipInformationTextAriaLabel={translate('close_tooltip_information')}\n />\n </span>\n </>\n ) : (\n <ArrowRight className={style.rightArrow} width={16} height={16} />\n )}\n </li>\n );\n};\n\nBattleOpponent.propTypes = propTypes;\n\nBattleOpponent.contextTypes = {\n translate: Provider.childContextTypes.translate\n};\n\nexport default BattleOpponent;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_uuid","_has","_novaIcons","_tooltip","_provider","_propTypes","_style","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","BattleOpponent","isAlreadyEngaged","isRandom","userAvatarSrc","onClick","displayName","tooltipText","ariaLabel","legacyContext","translate","GetTranslateFromContext","wrapperClassnames","useMemo","classnames","style","card","opponentCard","random","displayNameClassnames","name","alreadyEngaged","mouseLeaveTimer","setMouseLeaveTimer","useState","undefined","toolTipIsVisible","setToolTipIsVisible","battleOpponentInfoId","uuidV5","URL","buttonRef","useRef","handleMouseOver","useCallback","clearTimeout","current","focus","handleMouseLeave","setTimeout","blur","handleKeyPress","event","toggleStateOnKeyPress","TooltipContent","_props","createElement","onMouseOver","onMouseLeave","className","tabIndex","avatar","src","alt","Fragment","ref","type","tooltipIconContainer","onKeyDown","NovaCompositionCoorpacademyInformationIcon","informationIcon","width","height","toolTipWrapper","fontSize","anchorId","closeToolTipInformationTextAriaLabel","NovaCompositionNavigationArrowRight","rightArrow","propTypes","process","env","NODE_ENV","contextTypes","Provider","childContextTypes","_default","exports"],"sources":["../../../src/atom/battle-opponent/index.tsx"],"sourcesContent":["import React, {useCallback, useMemo, useState, useRef} from 'react';\nimport classnames from 'classnames';\nimport {v5 as uuidV5} from 'uuid';\nimport has from 'lodash/fp/has';\nimport {\n NovaCompositionNavigationArrowRight as ArrowRight,\n NovaCompositionCoorpacademyInformationIcon as InformationIcon\n} from '@coorpacademy/nova-icons';\nimport ToolTip, {toggleStateOnKeyPress} from '../tooltip';\nimport Provider, {GetTranslateFromContext} from '../provider';\nimport {WebContextValues} from '../provider/web-context';\nimport propTypes, {BattleOpponentProps} from './prop-types';\nimport style from './style.css';\n\nconst BattleOpponent = (\n {\n isAlreadyEngaged,\n isRandom,\n userAvatarSrc,\n onClick,\n displayName,\n tooltipText,\n 'aria-label': ariaLabel\n }: BattleOpponentProps,\n legacyContext: WebContextValues\n) => {\n const translate: Required<WebContextValues>['translate'] = GetTranslateFromContext(legacyContext);\n const wrapperClassnames = useMemo(\n () => classnames(style.card, style.opponentCard, isRandom ? style.random : null),\n [isRandom]\n );\n\n const displayNameClassnames = useMemo(\n () => classnames(style.name, isAlreadyEngaged ? style.alreadyEngaged : null),\n [isAlreadyEngaged]\n );\n\n const [mouseLeaveTimer, setMouseLeaveTimer] = useState<number | undefined>(undefined);\n const [toolTipIsVisible, setToolTipIsVisible] = useState(false);\n\n // to be replaced by useId when React17 is bumped to React18\n const [battleOpponentInfoId] = useState(\n isAlreadyEngaged ? uuidV5('engaged-battle-', uuidV5.URL) : undefined\n );\n\n const buttonRef = useRef(null);\n\n const handleMouseOver = useCallback(() => {\n mouseLeaveTimer && clearTimeout(mouseLeaveTimer);\n // @ts-expect-error (error: focus does not exists on type never)\n /* istanbul ignore next */ has(['current', 'focus'], buttonRef) && buttonRef.current.focus();\n setToolTipIsVisible(true);\n }, [mouseLeaveTimer]);\n\n const handleMouseLeave = useCallback(() => {\n setMouseLeaveTimer(\n setTimeout(() => {\n setToolTipIsVisible(false);\n // @ts-expect-error (error: blur does not exists on type never)\n /* istanbul ignore next */ has(['current', 'blur'], buttonRef) && buttonRef.current.blur();\n }, 500) as unknown as number\n );\n }, []);\n\n const handleKeyPress = useCallback(\n event => {\n toggleStateOnKeyPress(toolTipIsVisible, setToolTipIsVisible, buttonRef)(event);\n },\n [toolTipIsVisible]\n );\n\n const TooltipContent = useCallback(\n _props => (\n <p\n {..._props}\n onMouseOver={handleMouseOver}\n onMouseLeave={handleMouseLeave}\n data-testid=\"battle-opponent-tooltip-content\"\n >\n {tooltipText}\n </p>\n ),\n [handleMouseLeave, handleMouseOver, tooltipText]\n );\n\n return (\n <li\n {...(!isAlreadyEngaged && {onClick})}\n className={wrapperClassnames}\n data-testid=\"battle-opponent-wrapper\"\n tabIndex={0}\n >\n <div className={style.avatar}>{isRandom ? null : <img src={userAvatarSrc} alt=\"\" />}</div>\n <p className={displayNameClassnames} tabIndex={0}>\n {displayName}\n </p>\n {isAlreadyEngaged ? (\n <>\n <button\n ref={buttonRef}\n tabIndex={0}\n type=\"button\"\n className={style.tooltipIconContainer}\n data-testid=\"battle-engaged-opponent-information-button\"\n onKeyDown={handleKeyPress}\n onMouseLeave={handleMouseLeave}\n onMouseOver={handleMouseOver}\n data-for={battleOpponentInfoId}\n data-tooltip-place=\"left\"\n data-tip={isAlreadyEngaged}\n aria-label={ariaLabel}\n >\n <InformationIcon className={style.informationIcon} width={20} height={20} />\n </button>\n <span className={style.toolTipWrapper}>\n <ToolTip\n fontSize={12}\n anchorId={battleOpponentInfoId}\n toolTipIsVisible={toolTipIsVisible}\n TooltipContent={TooltipContent}\n closeToolTipInformationTextAriaLabel={translate('close_tooltip_information')}\n />\n </span>\n </>\n ) : (\n <ArrowRight className={style.rightArrow} width={16} height={16} />\n )}\n </li>\n );\n};\n\nBattleOpponent.propTypes = propTypes;\n\nBattleOpponent.contextTypes = {\n translate: Provider.childContextTypes.translate\n};\n\nexport default BattleOpponent;\n"],"mappings":"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","ignoreList":[]}
@@ -23,7 +23,7 @@
23
23
  margin: 5px;
24
24
  }
25
25
 
26
- .opponent-card {
26
+ .opponentCard {
27
27
  flex: 1 1 350px;
28
28
  height: 80px;
29
29
  background-color: white;
@@ -37,7 +37,7 @@
37
37
  cursor: pointer;
38
38
  }
39
39
 
40
- .opponent-card .name {
40
+ .opponentCard .name {
41
41
  font-family: 'Gilroy';
42
42
  font-size: 15px;
43
43
  font-weight: 700;
@@ -46,7 +46,7 @@
46
46
  }
47
47
 
48
48
 
49
- .opponent-card .rightArrow {
49
+ .opponentCard .rightArrow {
50
50
  margin-left: 20px;
51
51
  }
52
52
 
@@ -95,7 +95,7 @@
95
95
  display: none;
96
96
  }
97
97
 
98
- .opponent-card:hover {
98
+ .opponentCard:hover {
99
99
  background-color: cm_grey_75;
100
100
  }
101
101
 
@@ -125,16 +125,16 @@
125
125
  }
126
126
 
127
127
  @media mobile {
128
- .opponent-card {
128
+ .opponentCard {
129
129
  width: 100%;
130
130
  padding: 10px;
131
131
  }
132
132
 
133
- .opponent-card .avatar {
133
+ .opponentCard .avatar {
134
134
  margin-right: 10px;
135
135
  }
136
136
 
137
- .opponent-card .rightArrow {
137
+ .opponentCard .rightArrow {
138
138
  margin-left: 10px;
139
139
  }
140
140
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coorpacademy/components",
3
- "version": "11.33.3",
3
+ "version": "11.33.4",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",
@@ -165,5 +165,5 @@
165
165
  "last 2 versions",
166
166
  "IE 11"
167
167
  ],
168
- "gitHead": "df4ab76d3cd6fa27a173f230ef1fab07c42988eb"
168
+ "gitHead": "557e8bd5c801b29a0300e9ae8cb0c025db031788"
169
169
  }