@ntbjs/react-components 2.0.7 → 2.0.8-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/data/Alert/Alert.js +1 -1
- package/build/data/Alert/Alert.js.map +1 -1
- package/build/data/Alert/Alert.styled.js +1 -1
- package/build/data/Alert/Alert.styled.js.map +1 -1
- package/build/icons/index.js +3 -2
- package/build/icons/info-yellow.svg +11 -0
- package/build/inputs/Button/Button.js +18 -4
- package/build/inputs/Button/Button.js.map +1 -1
- package/build/inputs/CompactTextInput/CompactTextInput.js +1 -1
- package/build/inputs/CompactTextInput/CompactTextInput.js.map +1 -1
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.js +5 -7
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.js.map +1 -1
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.styled.js +22 -2
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.styled.js.map +1 -1
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.js +5 -8
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.js.map +1 -1
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.styled.js +19 -3
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.styled.js.map +1 -1
- package/build/widgets/AssetGallery/asset.propType.js +3 -1
- package/build/widgets/AssetGallery/asset.propType.js.map +1 -1
- package/build/widgets/InstructionsSeverityDisplay/InstructionsSeverityDisplay.js +71 -0
- package/build/widgets/InstructionsSeverityDisplay/InstructionsSeverityDisplay.js.map +1 -0
- package/build/widgets/InstructionsSeverityDisplay/InstructionsSeverityDisplay.styled.js +77 -0
- package/build/widgets/InstructionsSeverityDisplay/InstructionsSeverityDisplay.styled.js.map +1 -0
- package/build/widgets/SummaryCard/SummaryCard.js +16 -23
- package/build/widgets/SummaryCard/SummaryCard.js.map +1 -1
- package/build/widgets/SummaryCard/SummaryCard.styled.js +3 -2
- package/build/widgets/SummaryCard/SummaryCard.styled.js.map +1 -1
- package/build/widgets/index.js +1 -0
- package/build/widgets/index.js.map +1 -1
- package/icons/index.js +3 -2
- package/icons/info-yellow.svg +11 -0
- package/package.json +1 -1
|
@@ -45,7 +45,7 @@ const Alert = React__default.forwardRef(function Alert({
|
|
|
45
45
|
width: width
|
|
46
46
|
}, props), React__default.createElement(AlertRender, {
|
|
47
47
|
fontSize: fontSize,
|
|
48
|
-
lineHeight: lineHeight,
|
|
48
|
+
$lineHeight: lineHeight,
|
|
49
49
|
$lineClamp: lineClamp
|
|
50
50
|
}, icon, " ", React__default.createElement("span", null, alertMessage)));
|
|
51
51
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Alert.js","sources":["../../../src/components/data/Alert/Alert.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport * as S from './Alert.styled';\nimport { isEmpty } from 'lodash';\n\n/**\n * Alert display warnings or errors.\n *\n * ### Import\n *\n * ``` js\n * import { Alert } from '@ntbjs/react-components/data'\n * // or\n * import Alert from '@ntbjs/react-components/data/Alert'\n * ```\n * ## Props\n * ```\n * Pass one of `warning`, `error` or `info` to the `type` prop to render the right Alert.\n * Pass `align={left}`or `align={center}` to align content.\n * Pass `icon={<svg></svg>}` to display an icon.\n * Pass `alertMessage={'message'} to display the message\n * Pass `fontSize={number}` to set the font size of the message in pixel\n * Pass `lineHeight={number}` to set the line height of the message in pixel\n * Pass `lineClamp={number}` to set the number of lines before the message will be truncated\n * Pass `verticalPadding={number}` to set the top and bottom padding of the alert in pixel\n * Pass `horizontalPadding={number}` to set the left and right padding of the alert in pixel\n * Pass `width={number}` to set the width of the alert in pixel\n * ```\n * ### Warning / Error / Info\n * ```\n * <Alert type={\"warning\"} />\n * <Alert type={\"error\"} />\n * <Alert type={\"info\"} />\n * ```\n */\n\nconst Alert = React.forwardRef(function Alert(\n {\n type,\n alertMessage,\n align,\n icon,\n fontSize,\n lineHeight,\n lineClamp,\n verticalPadding,\n horizontalPadding,\n width,\n ...props\n },\n forwardedRef\n) {\n let isWarning = false;\n let isError = false;\n let isInfo = true;\n\n if (!isEmpty(type)) {\n if (type === 'warning') {\n isWarning = true;\n } else if (type === 'error') {\n isError = true;\n } else {\n isInfo = true;\n }\n } else {\n if (isWarning || isError) {\n isInfo = false;\n }\n }\n\n return (\n <S.Alert\n ref={forwardedRef}\n $alertMessage={alertMessage}\n $warning={isWarning}\n $error={isError}\n $info={isInfo}\n $align={align}\n $verticalPadding={verticalPadding}\n $horizontalPadding={horizontalPadding}\n width={width}\n {...props}\n >\n <S.AlertRender fontSize={fontSize} lineHeight={lineHeight} $lineClamp={lineClamp}>\n {icon} <span>{alertMessage}</span>\n </S.AlertRender>\n </S.Alert>\n );\n});\n\nAlert.propTypes = {\n /**\n * Type of alert that will be reflected by the background color of it.\n */\n type: PropTypes.oneOf(['warning', 'error', 'info']),\n /**\n * Icon that will be displayed on the left of the alert message.\n */\n icon: PropTypes.element,\n /**\n * Alignment of the alert message.\n */\n align: PropTypes.oneOf(['left', 'center']),\n /**\n * Message that will be displayed on the alert.\n */\n alertMessage: PropTypes.string,\n /**\n * Font size of the alert message in pixel.\n */\n fontSize: PropTypes.number,\n /**\n * Line height of the alert message in pixel.\n */\n lineHeight: PropTypes.number,\n /**\n * Number of lines that will be displayed before the message will be truncated and replaced with ellipsis.\n */\n lineClamp: PropTypes.number,\n /**\n * The top and bottom padding of the alert in pixel.\n */\n verticalPadding: PropTypes.number,\n /**\n * The left and right padding of the alert in pixel.\n */\n horizontalPadding: PropTypes.number,\n /**\n * Custom width of the alert in pixel.\n */\n width: PropTypes.number\n};\n\nAlert.defaultProps = {\n align: 'left',\n alertMessage:\n 'Use subject to restrictions. Editorial use only, no commercial use without prior consent from rights holder.',\n lineClamp: 0,\n horizontalPadding: 30,\n verticalPadding: 17\n};\n\nexport default Alert;\n"],"names":["Alert","React","forwardRef","type","alertMessage","align","icon","fontSize","lineHeight","lineClamp","verticalPadding","horizontalPadding","width","props","forwardedRef","isWarning","isError","isInfo","isEmpty","createElement","S","_extends","ref","$alertMessage","$warning","$error","$info","$align","$verticalPadding","$horizontalPadding","$lineClamp","propTypes","process","env","NODE_ENV","PropTypes","oneOf","element","string","number","defaultProps"],"mappings":";;;;;;AAoCMA,MAAAA,KAAK,GAAGC,cAAK,CAACC,UAAU,CAAC,SAASF,KAAKA,CAC3C;EACEG,IAAI;EACJC,YAAY;EACZC,KAAK;EACLC,IAAI;EACJC,QAAQ;EACRC,UAAU;EACVC,SAAS;EACTC,eAAe;EACfC,iBAAiB;EACjBC,KAAK;EACL,GAAGC,KAAAA;AACL,CAAC,EACDC,YAAY,EACZ;EACA,IAAIC,SAAS,GAAG,KAAK,CAAA;EACrB,IAAIC,OAAO,GAAG,KAAK,CAAA;EACnB,IAAIC,MAAM,GAAG,IAAI,CAAA;AAEjB,EAAA,IAAI,CAACC,OAAO,CAACf,IAAI,CAAC,EAAE;IAClB,IAAIA,IAAI,KAAK,SAAS,EAAE;AACtBY,MAAAA,SAAS,GAAG,IAAI,CAAA;AAClB,KAAC,MAAM,IAAIZ,IAAI,KAAK,OAAO,EAAE;AAC3Ba,MAAAA,OAAO,GAAG,IAAI,CAAA;AAChB,KAAC,MAAM;AACLC,MAAAA,MAAM,GAAG,IAAI,CAAA;AACf,KAAA;AACF,GAAC,MAAM;IACL,IAAIF,SAAS,IAAIC,OAAO,EAAE;AACxBC,MAAAA,MAAM,GAAG,KAAK,CAAA;AAChB,KAAA;AACF,GAAA;EAEA,OACEhB,cAAA,CAAAkB,aAAA,CAACC,OAAO,EAAAC,QAAA,CAAA;AACNC,IAAAA,GAAG,EAAER,YAAa;AAClBS,IAAAA,aAAa,EAAEnB,YAAa;AAC5BoB,IAAAA,QAAQ,EAAET,SAAU;AACpBU,IAAAA,MAAM,EAAET,OAAQ;AAChBU,IAAAA,KAAK,EAAET,MAAO;AACdU,IAAAA,MAAM,EAAEtB,KAAM;AACduB,IAAAA,gBAAgB,EAAElB,eAAgB;AAClCmB,IAAAA,kBAAkB,EAAElB,iBAAkB;AACtCC,IAAAA,KAAK,EAAEA,KAAAA;GACHC,EAAAA,KAAK,GAETZ,cAAA,CAAAkB,aAAA,CAACC,WAAa,EAAA;AAACb,IAAAA,QAAQ,EAAEA,QAAS;
|
|
1
|
+
{"version":3,"file":"Alert.js","sources":["../../../src/components/data/Alert/Alert.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport * as S from './Alert.styled';\nimport { isEmpty } from 'lodash';\n\n/**\n * Alert display warnings or errors.\n *\n * ### Import\n *\n * ``` js\n * import { Alert } from '@ntbjs/react-components/data'\n * // or\n * import Alert from '@ntbjs/react-components/data/Alert'\n * ```\n * ## Props\n * ```\n * Pass one of `warning`, `error` or `info` to the `type` prop to render the right Alert.\n * Pass `align={left}`or `align={center}` to align content.\n * Pass `icon={<svg></svg>}` to display an icon.\n * Pass `alertMessage={'message'} to display the message\n * Pass `fontSize={number}` to set the font size of the message in pixel\n * Pass `lineHeight={number}` to set the line height of the message in pixel\n * Pass `lineClamp={number}` to set the number of lines before the message will be truncated\n * Pass `verticalPadding={number}` to set the top and bottom padding of the alert in pixel\n * Pass `horizontalPadding={number}` to set the left and right padding of the alert in pixel\n * Pass `width={number}` to set the width of the alert in pixel\n * ```\n * ### Warning / Error / Info\n * ```\n * <Alert type={\"warning\"} />\n * <Alert type={\"error\"} />\n * <Alert type={\"info\"} />\n * ```\n */\n\nconst Alert = React.forwardRef(function Alert(\n {\n type,\n alertMessage,\n align,\n icon,\n fontSize,\n lineHeight,\n lineClamp,\n verticalPadding,\n horizontalPadding,\n width,\n ...props\n },\n forwardedRef\n) {\n let isWarning = false;\n let isError = false;\n let isInfo = true;\n\n if (!isEmpty(type)) {\n if (type === 'warning') {\n isWarning = true;\n } else if (type === 'error') {\n isError = true;\n } else {\n isInfo = true;\n }\n } else {\n if (isWarning || isError) {\n isInfo = false;\n }\n }\n\n return (\n <S.Alert\n ref={forwardedRef}\n $alertMessage={alertMessage}\n $warning={isWarning}\n $error={isError}\n $info={isInfo}\n $align={align}\n $verticalPadding={verticalPadding}\n $horizontalPadding={horizontalPadding}\n width={width}\n {...props}\n >\n <S.AlertRender fontSize={fontSize} $lineHeight={lineHeight} $lineClamp={lineClamp}>\n {icon} <span>{alertMessage}</span>\n </S.AlertRender>\n </S.Alert>\n );\n});\n\nAlert.propTypes = {\n /**\n * Type of alert that will be reflected by the background color of it.\n */\n type: PropTypes.oneOf(['warning', 'error', 'info']),\n /**\n * Icon that will be displayed on the left of the alert message.\n */\n icon: PropTypes.element,\n /**\n * Alignment of the alert message.\n */\n align: PropTypes.oneOf(['left', 'center']),\n /**\n * Message that will be displayed on the alert.\n */\n alertMessage: PropTypes.string,\n /**\n * Font size of the alert message in pixel.\n */\n fontSize: PropTypes.number,\n /**\n * Line height of the alert message in pixel.\n */\n lineHeight: PropTypes.number,\n /**\n * Number of lines that will be displayed before the message will be truncated and replaced with ellipsis.\n */\n lineClamp: PropTypes.number,\n /**\n * The top and bottom padding of the alert in pixel.\n */\n verticalPadding: PropTypes.number,\n /**\n * The left and right padding of the alert in pixel.\n */\n horizontalPadding: PropTypes.number,\n /**\n * Custom width of the alert in pixel.\n */\n width: PropTypes.number\n};\n\nAlert.defaultProps = {\n align: 'left',\n alertMessage:\n 'Use subject to restrictions. Editorial use only, no commercial use without prior consent from rights holder.',\n lineClamp: 0,\n horizontalPadding: 30,\n verticalPadding: 17\n};\n\nexport default Alert;\n"],"names":["Alert","React","forwardRef","type","alertMessage","align","icon","fontSize","lineHeight","lineClamp","verticalPadding","horizontalPadding","width","props","forwardedRef","isWarning","isError","isInfo","isEmpty","createElement","S","_extends","ref","$alertMessage","$warning","$error","$info","$align","$verticalPadding","$horizontalPadding","$lineHeight","$lineClamp","propTypes","process","env","NODE_ENV","PropTypes","oneOf","element","string","number","defaultProps"],"mappings":";;;;;;AAoCMA,MAAAA,KAAK,GAAGC,cAAK,CAACC,UAAU,CAAC,SAASF,KAAKA,CAC3C;EACEG,IAAI;EACJC,YAAY;EACZC,KAAK;EACLC,IAAI;EACJC,QAAQ;EACRC,UAAU;EACVC,SAAS;EACTC,eAAe;EACfC,iBAAiB;EACjBC,KAAK;EACL,GAAGC,KAAAA;AACL,CAAC,EACDC,YAAY,EACZ;EACA,IAAIC,SAAS,GAAG,KAAK,CAAA;EACrB,IAAIC,OAAO,GAAG,KAAK,CAAA;EACnB,IAAIC,MAAM,GAAG,IAAI,CAAA;AAEjB,EAAA,IAAI,CAACC,OAAO,CAACf,IAAI,CAAC,EAAE;IAClB,IAAIA,IAAI,KAAK,SAAS,EAAE;AACtBY,MAAAA,SAAS,GAAG,IAAI,CAAA;AAClB,KAAC,MAAM,IAAIZ,IAAI,KAAK,OAAO,EAAE;AAC3Ba,MAAAA,OAAO,GAAG,IAAI,CAAA;AAChB,KAAC,MAAM;AACLC,MAAAA,MAAM,GAAG,IAAI,CAAA;AACf,KAAA;AACF,GAAC,MAAM;IACL,IAAIF,SAAS,IAAIC,OAAO,EAAE;AACxBC,MAAAA,MAAM,GAAG,KAAK,CAAA;AAChB,KAAA;AACF,GAAA;EAEA,OACEhB,cAAA,CAAAkB,aAAA,CAACC,OAAO,EAAAC,QAAA,CAAA;AACNC,IAAAA,GAAG,EAAER,YAAa;AAClBS,IAAAA,aAAa,EAAEnB,YAAa;AAC5BoB,IAAAA,QAAQ,EAAET,SAAU;AACpBU,IAAAA,MAAM,EAAET,OAAQ;AAChBU,IAAAA,KAAK,EAAET,MAAO;AACdU,IAAAA,MAAM,EAAEtB,KAAM;AACduB,IAAAA,gBAAgB,EAAElB,eAAgB;AAClCmB,IAAAA,kBAAkB,EAAElB,iBAAkB;AACtCC,IAAAA,KAAK,EAAEA,KAAAA;GACHC,EAAAA,KAAK,GAETZ,cAAA,CAAAkB,aAAA,CAACC,WAAa,EAAA;AAACb,IAAAA,QAAQ,EAAEA,QAAS;AAACuB,IAAAA,WAAW,EAAEtB,UAAW;AAACuB,IAAAA,UAAU,EAAEtB,SAAAA;GACrEH,EAAAA,IAAI,EAAC,GAAC,EAAAL,cAAA,CAAAkB,aAAA,CAAOf,MAAAA,EAAAA,IAAAA,EAAAA,YAAmB,CACpB,CACR,CAAC,CAAA;AAEd,CAAC,EAAC;AAEFJ,KAAK,CAACgC,SAAS,GAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA,KAAG,YAAA,GAAA;AAIhBhC,EAAAA,IAAI,EAAEiC,SAAS,CAACC,KAAK,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;EAInD/B,IAAI,EAAE8B,SAAS,CAACE,OAAO;EAIvBjC,KAAK,EAAE+B,SAAS,CAACC,KAAK,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;EAI1CjC,YAAY,EAAEgC,SAAS,CAACG,MAAM;EAI9BhC,QAAQ,EAAE6B,SAAS,CAACI,MAAM;EAI1BhC,UAAU,EAAE4B,SAAS,CAACI,MAAM;EAI5B/B,SAAS,EAAE2B,SAAS,CAACI,MAAM;EAI3B9B,eAAe,EAAE0B,SAAS,CAACI,MAAM;EAIjC7B,iBAAiB,EAAEyB,SAAS,CAACI,MAAM;EAInC5B,KAAK,EAAEwB,SAAS,CAACI,MAAAA;AACnB,CAAC,GAAA,EAAA,CAAA;AAEDxC,KAAK,CAACyC,YAAY,GAAG;AACnBpC,EAAAA,KAAK,EAAE,MAAM;AACbD,EAAAA,YAAY,EACV,8GAA8G;AAChHK,EAAAA,SAAS,EAAE,CAAC;AACZE,EAAAA,iBAAiB,EAAE,EAAE;AACrBD,EAAAA,eAAe,EAAE,EAAA;AACnB,CAAC;;;;"}
|
|
@@ -37,7 +37,7 @@ const AlertRender = styled.div.withConfig({
|
|
|
37
37
|
display: flex;
|
|
38
38
|
align-items: center;
|
|
39
39
|
word-break: break-word;
|
|
40
|
-
${props => props
|
|
40
|
+
${props => props.$lineHeight ? `line-height: ${props.$lineHeight}px;` : null}
|
|
41
41
|
${props => props.fontSize ? `font-size: ${props.fontSize}px;` : null}
|
|
42
42
|
${props => props.theme.themeProp('color', props.theme.getColor('white'), props.theme.getColor('gray-700'))};
|
|
43
43
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Alert.styled.js","sources":["../../../src/components/data/Alert/Alert.styled.js"],"sourcesContent":["import styled, { css } from 'styled-components';\nimport { applyDefaultTheme } from '../../../utils/defaultTheme';\n\nconst shouldForwardProp = prop => {\n return prop !== 'theme' && !prop.startsWith('$');\n};\n\nexport const Alert = styled.div\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n display: flex;\n flex-direction: column;\n padding: ${props => {\n const verticalPadding = props.$verticalPadding ?? 17;\n const horizontalPadding = props.$horizontalPadding ?? 30;\n return `${verticalPadding}px ${horizontalPadding}px`;\n }};\n width: ${props => (props.width ? `${props.width}px` : '100%')};\n box-sizing: border-box;\n\n ${props =>\n props.$warning &&\n css`\n ${props.theme.themeProp('background', '#634E01', props.theme.getColor('signal-yellow-400'))}\n `}\n\n ${props =>\n props.$error &&\n css`\n ${props.theme.themeProp('background', '#7F1B1B', props.theme.getColor('red-200'))}\n `}\n \n ${props =>\n props.$info &&\n css`\n background: transparent;\n `}\n \n text-align: ${props => (props.align === 'center' ? 'center' : 'left')};\n`;\n\nexport const AlertRender = styled.div\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n display: flex;\n align-items: center;\n word-break: break-word;\n ${props => (props
|
|
1
|
+
{"version":3,"file":"Alert.styled.js","sources":["../../../src/components/data/Alert/Alert.styled.js"],"sourcesContent":["import styled, { css } from 'styled-components';\nimport { applyDefaultTheme } from '../../../utils/defaultTheme';\n\nconst shouldForwardProp = prop => {\n return prop !== 'theme' && !prop.startsWith('$');\n};\n\nexport const Alert = styled.div\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n display: flex;\n flex-direction: column;\n padding: ${props => {\n const verticalPadding = props.$verticalPadding ?? 17;\n const horizontalPadding = props.$horizontalPadding ?? 30;\n return `${verticalPadding}px ${horizontalPadding}px`;\n }};\n width: ${props => (props.width ? `${props.width}px` : '100%')};\n box-sizing: border-box;\n\n ${props =>\n props.$warning &&\n css`\n ${props.theme.themeProp('background', '#634E01', props.theme.getColor('signal-yellow-400'))}\n `}\n\n ${props =>\n props.$error &&\n css`\n ${props.theme.themeProp('background', '#7F1B1B', props.theme.getColor('red-200'))}\n `}\n \n ${props =>\n props.$info &&\n css`\n background: transparent;\n `}\n \n text-align: ${props => (props.align === 'center' ? 'center' : 'left')};\n`;\n\nexport const AlertRender = styled.div\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n display: flex;\n align-items: center;\n word-break: break-word;\n ${props => (props.$lineHeight ? `line-height: ${props.$lineHeight}px;` : null)}\n ${props => (props.fontSize ? `font-size: ${props.fontSize}px;` : null)}\n ${props =>\n props.theme.themeProp(\n 'color',\n props.theme.getColor('white'),\n props.theme.getColor('gray-700')\n )};\n\n svg {\n width: 12px;\n height: 12px;\n }\n\n span {\n flex: 1;\n padding-left: 5px;\n ${props =>\n props.$lineClamp\n ? css`\n display: -webkit-box;\n -webkit-line-clamp: ${props.$lineClamp};\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n `\n : null};\n }\n`;\n"],"names":["shouldForwardProp","prop","startsWith","Alert","styled","div","withConfig","attrs","applyDefaultTheme","props","verticalPadding","$verticalPadding","horizontalPadding","$horizontalPadding","width","$warning","css","theme","themeProp","getColor","$error","$info","align","AlertRender","$lineHeight","fontSize","$lineClamp"],"mappings":";;;AAGA,MAAMA,iBAAiB,GAAGC,IAAI,IAAI;EAChC,OAAOA,IAAI,KAAK,OAAO,IAAI,CAACA,IAAI,CAACC,UAAU,CAAC,GAAG,CAAC,CAAA;AAClD,CAAC,CAAA;AAEM,MAAMC,KAAK,GAAGC,MAAM,CAACC,GAAG,CAC5BC,UAAU,CAAC;AACVN,EAAAA,iBAAAA;AACF,CAAC,CAAC,CACDO,KAAK,CAACC,iBAAiB,CAAC,CAAA;AAC3B;AACA;AACA,WAAA,EAAaC,KAAK,IAAI;AAClB,EAAA,MAAMC,eAAe,GAAGD,KAAK,CAACE,gBAAgB,IAAI,EAAE,CAAA;AACpD,EAAA,MAAMC,iBAAiB,GAAGH,KAAK,CAACI,kBAAkB,IAAI,EAAE,CAAA;AACxD,EAAA,OAAO,CAAGH,EAAAA,eAAe,CAAME,GAAAA,EAAAA,iBAAiB,CAAI,EAAA,CAAA,CAAA;AACtD,CAAC,CAAA;AACH,SAAA,EAAWH,KAAK,IAAKA,KAAK,CAACK,KAAK,GAAG,CAAGL,EAAAA,KAAK,CAACK,KAAK,CAAI,EAAA,CAAA,GAAG,MAAO,CAAA;AAC/D;AACA;AACA,EAAA,EAAIL,KAAK,IACLA,KAAK,CAACM,QAAQ,IACdC,GAAG,CAAA;AACP,MAAA,EAAQP,KAAK,CAACQ,KAAK,CAACC,SAAS,CAAC,YAAY,EAAE,SAAS,EAAET,KAAK,CAACQ,KAAK,CAACE,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAA;AACjG,IAAK,CAAA,CAAA;AACL;AACA,EAAA,EAAIV,KAAK,IACLA,KAAK,CAACW,MAAM,IACZJ,GAAG,CAAA;AACP,MAAA,EAAQP,KAAK,CAACQ,KAAK,CAACC,SAAS,CAAC,YAAY,EAAE,SAAS,EAAET,KAAK,CAACQ,KAAK,CAACE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAA;AACvF,IAAK,CAAA,CAAA;AACL;AACA,EAAA,EAAIV,KAAK,IACLA,KAAK,CAACY,KAAK,IACXL,GAAG,CAAA;AACP;AACA,IAAK,CAAA,CAAA;AACL;AACA,cAAgBP,EAAAA,KAAK,IAAKA,KAAK,CAACa,KAAK,KAAK,QAAQ,GAAG,QAAQ,GAAG,MAAO,CAAA;AACvE,EAAC;AAEM,MAAMC,WAAW,GAAGnB,MAAM,CAACC,GAAG,CAClCC,UAAU,CAAC;AACVN,EAAAA,iBAAAA;AACF,CAAC,CAAC,CACDO,KAAK,CAACC,iBAAiB,CAAC,CAAA;AAC3B;AACA;AACA;AACA,EAAA,EAAIC,KAAK,IAAKA,KAAK,CAACe,WAAW,GAAG,CAAgBf,aAAAA,EAAAA,KAAK,CAACe,WAAW,CAAK,GAAA,CAAA,GAAG,IAAK,CAAA;AAChF,EAAA,EAAIf,KAAK,IAAKA,KAAK,CAACgB,QAAQ,GAAG,CAAchB,WAAAA,EAAAA,KAAK,CAACgB,QAAQ,CAAK,GAAA,CAAA,GAAG,IAAK,CAAA;AACxE,EAAIhB,EAAAA,KAAK,IACLA,KAAK,CAACQ,KAAK,CAACC,SAAS,CACnB,OAAO,EACPT,KAAK,CAACQ,KAAK,CAACE,QAAQ,CAAC,OAAO,CAAC,EAC7BV,KAAK,CAACQ,KAAK,CAACE,QAAQ,CAAC,UAAU,CACjC,CAAC,CAAA;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAA,EAAMV,KAAK,IACLA,KAAK,CAACiB,UAAU,GACZV,GAAG,CAAA;AACb;AACA,gCAAkCP,EAAAA,KAAK,CAACiB,UAAU,CAAA;AAClD;AACA;AACA;AACA,UAAA,CAAW,GACD,IAAI,CAAA;AACd;AACA;;;;"}
|
package/build/icons/index.js
CHANGED
|
@@ -36,7 +36,7 @@ import { ReactComponent as TriangleRightIcon } from './triangle-right.svg';
|
|
|
36
36
|
import { ReactComponent as VerificationIcon } from './verification.svg';
|
|
37
37
|
import { ReactComponent as WarningCircleIcon } from './warning-circle.svg';
|
|
38
38
|
import { ReactComponent as WarningTriangleIcon } from './warning-triangle.svg';
|
|
39
|
-
|
|
39
|
+
import { ReactComponent as InfoYellowIcon } from './info-yellow.svg';
|
|
40
40
|
export {
|
|
41
41
|
AddIcon,
|
|
42
42
|
AddCircleIcon,
|
|
@@ -75,5 +75,6 @@ export {
|
|
|
75
75
|
TriangleRightIcon,
|
|
76
76
|
VerificationIcon,
|
|
77
77
|
WarningCircleIcon,
|
|
78
|
-
WarningTriangleIcon
|
|
78
|
+
WarningTriangleIcon,
|
|
79
|
+
InfoYellowIcon
|
|
79
80
|
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<svg viewBox="5 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<g clip-path="url(#clip0_yellow)">
|
|
3
|
+
<path d="M5 14C5 6.26801 11.268 0 19 0C26.732 0 33 6.26801 33 14C33 21.732 26.732 28 19 28C11.268 28 5 21.732 5 14Z" fill="#EAB308"/>
|
|
4
|
+
<path d="M19.001 2.91602C25.1222 2.91619 30.084 7.87878 30.084 14C30.0838 20.1211 25.1221 25.0828 19.001 25.083C12.8798 25.083 7.91717 20.1212 7.91699 14C7.91699 7.87867 12.8796 2.91602 19.001 2.91602ZM19.001 4.08301C16.3709 4.08301 13.848 5.12757 11.9883 6.9873C10.1285 8.84704 9.08398 11.3699 9.08398 14C9.08407 16.6299 10.1287 19.1521 11.9883 21.0117C13.848 22.8715 16.3709 23.916 19.001 23.916C21.6309 23.9159 24.153 22.8714 26.0127 21.0117C27.8724 19.1521 28.9169 16.6299 28.917 14C28.917 11.3699 27.8724 8.84704 26.0127 6.9873C24.1531 5.12775 21.6308 4.08309 19.001 4.08301ZM19.584 13.416V19.25H18.417V13.416H19.584ZM19.584 8.75V9.91602H18.417V8.75H19.584Z" fill="black" stroke="#451A03" stroke-width="1.16667"/>
|
|
5
|
+
</g>
|
|
6
|
+
<defs>
|
|
7
|
+
<clipPath id="clip0_yellow">
|
|
8
|
+
<path d="M5 14C5 6.26801 11.268 0 19 0C26.732 0 33 6.26801 33 14C33 21.732 26.732 28 19 28C11.268 28 5 21.732 5 14Z" fill="white"/>
|
|
9
|
+
</clipPath>
|
|
10
|
+
</defs>
|
|
11
|
+
</svg>
|
|
@@ -28,7 +28,16 @@ const Button = React__default.forwardRef(function Button({
|
|
|
28
28
|
const [loadingState, setLoadingState] = useState(loading || false);
|
|
29
29
|
const [loadingStep, setLoadingStep] = useState(113);
|
|
30
30
|
const loadingInterval = useRef(0);
|
|
31
|
+
const loadingTimeout = useRef(0);
|
|
31
32
|
const [dropdownIsActive, setDropdownIsActive] = useState(false);
|
|
33
|
+
const isMounted = useRef(true);
|
|
34
|
+
useEffect(() => {
|
|
35
|
+
return () => {
|
|
36
|
+
isMounted.current = false;
|
|
37
|
+
clearInterval(loadingInterval.current);
|
|
38
|
+
clearTimeout(loadingTimeout.current);
|
|
39
|
+
};
|
|
40
|
+
}, []);
|
|
32
41
|
const enableLoading = () => {
|
|
33
42
|
loadingInterval.current = setInterval(() => {
|
|
34
43
|
setLoadingStep(currentLoadingStep => {
|
|
@@ -44,9 +53,11 @@ const Button = React__default.forwardRef(function Button({
|
|
|
44
53
|
const disableLoading = () => {
|
|
45
54
|
clearInterval(loadingInterval.current);
|
|
46
55
|
setLoadingStep(0);
|
|
47
|
-
setTimeout(() => {
|
|
48
|
-
|
|
49
|
-
|
|
56
|
+
loadingTimeout.current = setTimeout(() => {
|
|
57
|
+
if (isMounted.current) {
|
|
58
|
+
setLoadingState(false);
|
|
59
|
+
setLoadingStep(113);
|
|
60
|
+
}
|
|
50
61
|
}, 500);
|
|
51
62
|
};
|
|
52
63
|
useEffect(() => {
|
|
@@ -55,7 +66,10 @@ const Button = React__default.forwardRef(function Button({
|
|
|
55
66
|
} else {
|
|
56
67
|
disableLoading();
|
|
57
68
|
}
|
|
58
|
-
return () =>
|
|
69
|
+
return () => {
|
|
70
|
+
clearInterval(loadingInterval.current);
|
|
71
|
+
clearTimeout(loadingTimeout.current);
|
|
72
|
+
};
|
|
59
73
|
}, [loading]);
|
|
60
74
|
const handleDropdownButtonClick = () => {
|
|
61
75
|
setDropdownIsActive(true);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.js","sources":["../../../src/components/inputs/Button/Button.js"],"sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport * as S from './Button.styled';\n\nimport Popover from '../../data/Popover';\nimport ContextMenu from '../../widgets/ContextMenu/ContextMenu';\n\nimport { ReactComponent as DropdownIcon } from '../../../icons/expand-more.svg';\n\n/**\n * Buttons communicate actions that users can take.\n *\n * ### Import\n *\n * ``` js\n * import { Button } from '@ntbjs/react-components/inputs'\n * // or\n * import Button from '@ntbjs/react-components/inputs/Button'\n * ```\n */\nconst Button = React.forwardRef(function Button(\n {\n onClickEffect,\n singleAction = false,\n activeDropdown = false,\n dropdownItems,\n secondary,\n outlined,\n block = false,\n icon,\n size = 'normal',\n disabled,\n loading,\n className,\n children,\n singleActionGap = 34,\n width,\n border = 2,\n ...props\n },\n forwardedRef\n) {\n const [loadingState, setLoadingState] = useState(loading || false);\n const [loadingStep, setLoadingStep] = useState(113);\n const loadingInterval = useRef(0);\n\n const [dropdownIsActive, setDropdownIsActive] = useState(false);\n\n const enableLoading = () => {\n loadingInterval.current = setInterval(() => {\n setLoadingStep(currentLoadingStep => {\n const newLoadingStep = Math.round(currentLoadingStep - (15 * currentLoadingStep) / 100);\n\n if (newLoadingStep === currentLoadingStep) {\n clearInterval(loadingInterval.current);\n }\n\n return newLoadingStep;\n });\n }, 300);\n\n setLoadingState(true);\n };\n\n const disableLoading = () => {\n clearInterval(loadingInterval.current);\n\n setLoadingStep(0);\n\n setTimeout(() => {\n setLoadingState(false);\n setLoadingStep(113);\n }, 500);\n };\n\n useEffect(() => {\n if (loading) {\n enableLoading();\n } else {\n disableLoading();\n }\n\n return () => clearInterval(loadingInterval.current);\n }, [loading]);\n\n const handleDropdownButtonClick = () => {\n setDropdownIsActive(true);\n };\n\n const handleDropdownClose = () => {\n setDropdownIsActive(false);\n };\n\n return (\n <S.ButtonWrapper>\n {!singleAction ? (\n <S.MainButtonWrapper\n $activeDropdown={activeDropdown}\n $dropdownItems={dropdownItems}\n $outlined={outlined}\n $secondary={secondary}\n $block={block}\n >\n <S.MainButtonContainer\n $dropdownItems={dropdownItems}\n $secondary={secondary}\n $outlined={outlined}\n $block={block}\n >\n <S.Button\n ref={forwardedRef}\n onClick={onClickEffect}\n $border={border}\n $singleaction={singleAction}\n $dropdownItems={dropdownItems}\n $secondary={secondary}\n $outlined={outlined}\n $block={block}\n size={size}\n disabled={disabled}\n className={className}\n aria-busy={disabled}\n $width={width}\n {...props}\n >\n <S.ButtonContent $loading={loadingState} size={size}>\n {icon}\n {children}\n </S.ButtonContent>\n <S.LoadingIndicator\n $loading={loadingState}\n style={{\n opacity: loadingState ? 1 : 0\n }}\n >\n <S.LoadingIndicatorSvg viewBox=\"22 22 44 44\">\n <S.LoadingIndicatorSvgCircle\n cx=\"44\"\n cy=\"44\"\n r=\"18\"\n fill=\"none\"\n strokeWidth=\"4\"\n stroke=\"currentColor\"\n style={{\n strokeDashoffset: `${loadingStep}px`\n }}\n />\n </S.LoadingIndicatorSvg>\n </S.LoadingIndicator>\n </S.Button>\n </S.MainButtonContainer>\n {(activeDropdown || dropdownItems) && (\n <S.DropdownButtonContainer\n $dropdownItems={dropdownItems}\n $secondary={secondary}\n $outlined={outlined}\n >\n <Popover\n content={<ContextMenu>{dropdownItems}</ContextMenu>}\n placement={'bottom-end'}\n arrow={false}\n contextMenu={true}\n onHide={handleDropdownClose}\n >\n <S.Button\n ref={forwardedRef}\n $singleaction={singleAction}\n $singleactiongap={singleActionGap}\n $dropdownItems={dropdownItems}\n $secondary={secondary}\n $outlined={outlined}\n $border={border}\n $block={block}\n size={size}\n disabled={disabled}\n onClick={handleDropdownButtonClick}\n className={dropdownIsActive ? 'dropdown-is-active' : ''}\n $width={width}\n >\n <DropdownIcon />\n </S.Button>\n </Popover>\n </S.DropdownButtonContainer>\n )}\n </S.MainButtonWrapper>\n ) : (\n <>\n <S.MainButtonContainerSingle\n $dropdownItems={dropdownItems}\n $secondary={secondary}\n $outlined={outlined}\n className={className}\n >\n <S.DropdownButtonContainer $singleaction={singleAction}>\n <Popover\n content={<ContextMenu>{dropdownItems}</ContextMenu>}\n placement={'bottom-end'}\n arrow={false}\n contextMenu={true}\n onHide={handleDropdownClose}\n >\n <S.Button\n ref={forwardedRef}\n $singleaction={singleAction}\n $singleactiongap={singleActionGap}\n $dropdownItems={dropdownItems}\n $secondary={secondary}\n $outlined={outlined}\n $border={border}\n $block={block}\n size={size}\n disabled={disabled}\n onClick={handleDropdownButtonClick}\n className={dropdownIsActive ? 'dropdown-is-active' : ''}\n $width={width}\n >\n <S.ButtonContent $loading={loadingState} size={size} $singleaction={singleAction}>\n {icon}\n {children}\n </S.ButtonContent>\n <DropdownIcon />\n </S.Button>\n </Popover>\n </S.DropdownButtonContainer>\n </S.MainButtonContainerSingle>\n </>\n )}\n </S.ButtonWrapper>\n );\n});\n\nButton.propTypes = {\n /**\n * On-click effect for the main button\n */\n onClickEffect: PropTypes.func,\n\n /**\n * Whether the button is a \"single action button\". For single action buttons,\n * the entire button opens the dropdown menu, not just the arrow.\n */\n singleAction: PropTypes.bool,\n\n /**\n * Whether the button must have an active dropdown menu.\n */\n activeDropdown: PropTypes.bool,\n\n /**\n * An array containing nodes of the `ContextMenuItem` component\n */\n dropdownItems: PropTypes.node,\n\n /**\n * Whether the button should be styled as a secondary button\n */\n secondary: PropTypes.bool,\n\n /**\n * Whether the button should be styled with borders\n */\n outlined: PropTypes.bool,\n\n /**\n * Whether the button should customize the border width\n */\n border: PropTypes.number,\n\n /**\n * Whether the button should be of 100% width\n */\n block: PropTypes.bool,\n\n /**\n * Optional icon to be displayed on the left side of the button\n */\n icon: PropTypes.element,\n\n /**\n * Which size variation should be used\n */\n size: PropTypes.oneOf(['x-small', 'small', 'normal', 'large']),\n\n /**\n * Whether the button should be disabled\n */\n disabled: PropTypes.bool,\n\n /**\n * Whether the button should be initiated in a loading state\n */\n loading: PropTypes.bool,\n\n /**\n * Optional custom classnames for the HTML element\n */\n className: PropTypes.string,\n\n /**\n * Main content of the button\n */\n children: PropTypes.any.isRequired,\n /**\n * Gap between arrow and text in single action button\n */\n singleActionGap: PropTypes.number,\n\n /**\n * Custom min-width\n */\n width: PropTypes.number\n};\n\nexport default Button;\n"],"names":["Button","React","forwardRef","onClickEffect","singleAction","activeDropdown","dropdownItems","secondary","outlined","block","icon","size","disabled","loading","className","children","singleActionGap","width","border","props","forwardedRef","loadingState","setLoadingState","useState","loadingStep","setLoadingStep","loadingInterval","useRef","dropdownIsActive","setDropdownIsActive","enableLoading","current","setInterval","currentLoadingStep","newLoadingStep","Math","round","clearInterval","disableLoading","setTimeout","useEffect","handleDropdownButtonClick","handleDropdownClose","createElement","S","$activeDropdown","$dropdownItems","$outlined","$secondary","$block","_extends","ref","onClick","$border","$singleaction","$width","$loading","style","opacity","viewBox","cx","cy","r","fill","strokeWidth","stroke","strokeDashoffset","Popover","content","ContextMenu","placement","arrow","contextMenu","onHide","$singleactiongap","DropdownIcon","Fragment","propTypes","process","env","NODE_ENV","PropTypes","func","bool","node","number","element","oneOf","string","any","isRequired"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Button.js","sources":["../../../src/components/inputs/Button/Button.js"],"sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport * as S from './Button.styled';\n\nimport Popover from '../../data/Popover';\nimport ContextMenu from '../../widgets/ContextMenu/ContextMenu';\n\nimport { ReactComponent as DropdownIcon } from '../../../icons/expand-more.svg';\n\n/**\n * Buttons communicate actions that users can take.\n *\n * ### Import\n *\n * ``` js\n * import { Button } from '@ntbjs/react-components/inputs'\n * // or\n * import Button from '@ntbjs/react-components/inputs/Button'\n * ```\n */\nconst Button = React.forwardRef(function Button(\n {\n onClickEffect,\n singleAction = false,\n activeDropdown = false,\n dropdownItems,\n secondary,\n outlined,\n block = false,\n icon,\n size = 'normal',\n disabled,\n loading,\n className,\n children,\n singleActionGap = 34,\n width,\n border = 2,\n ...props\n },\n forwardedRef\n) {\n const [loadingState, setLoadingState] = useState(loading || false);\n const [loadingStep, setLoadingStep] = useState(113);\n const loadingInterval = useRef(0);\n const loadingTimeout = useRef(0);\n const [dropdownIsActive, setDropdownIsActive] = useState(false);\n\n const isMounted = useRef(true);\n\n useEffect(() => {\n return () => {\n isMounted.current = false;\n clearInterval(loadingInterval.current);\n clearTimeout(loadingTimeout.current);\n };\n }, []);\n\n const enableLoading = () => {\n loadingInterval.current = setInterval(() => {\n setLoadingStep(currentLoadingStep => {\n const newLoadingStep = Math.round(currentLoadingStep - (15 * currentLoadingStep) / 100);\n\n if (newLoadingStep === currentLoadingStep) {\n clearInterval(loadingInterval.current);\n }\n\n return newLoadingStep;\n });\n }, 300);\n\n setLoadingState(true);\n };\n\n const disableLoading = () => {\n clearInterval(loadingInterval.current);\n setLoadingStep(0);\n\n loadingTimeout.current = setTimeout(() => {\n if (isMounted.current) {\n setLoadingState(false);\n setLoadingStep(113);\n }\n }, 500);\n };\n\n useEffect(() => {\n if (loading) {\n enableLoading();\n } else {\n disableLoading();\n }\n\n return () => {\n clearInterval(loadingInterval.current);\n clearTimeout(loadingTimeout.current);\n };\n }, [loading]);\n\n const handleDropdownButtonClick = () => {\n setDropdownIsActive(true);\n };\n\n const handleDropdownClose = () => {\n setDropdownIsActive(false);\n };\n\n return (\n <S.ButtonWrapper>\n {!singleAction ? (\n <S.MainButtonWrapper\n $activeDropdown={activeDropdown}\n $dropdownItems={dropdownItems}\n $outlined={outlined}\n $secondary={secondary}\n $block={block}\n >\n <S.MainButtonContainer\n $dropdownItems={dropdownItems}\n $secondary={secondary}\n $outlined={outlined}\n $block={block}\n >\n <S.Button\n ref={forwardedRef}\n onClick={onClickEffect}\n $border={border}\n $singleaction={singleAction}\n $dropdownItems={dropdownItems}\n $secondary={secondary}\n $outlined={outlined}\n $block={block}\n size={size}\n disabled={disabled}\n className={className}\n aria-busy={disabled}\n $width={width}\n {...props}\n >\n <S.ButtonContent $loading={loadingState} size={size}>\n {icon}\n {children}\n </S.ButtonContent>\n <S.LoadingIndicator\n $loading={loadingState}\n style={{\n opacity: loadingState ? 1 : 0\n }}\n >\n <S.LoadingIndicatorSvg viewBox=\"22 22 44 44\">\n <S.LoadingIndicatorSvgCircle\n cx=\"44\"\n cy=\"44\"\n r=\"18\"\n fill=\"none\"\n strokeWidth=\"4\"\n stroke=\"currentColor\"\n style={{\n strokeDashoffset: `${loadingStep}px`\n }}\n />\n </S.LoadingIndicatorSvg>\n </S.LoadingIndicator>\n </S.Button>\n </S.MainButtonContainer>\n {(activeDropdown || dropdownItems) && (\n <S.DropdownButtonContainer\n $dropdownItems={dropdownItems}\n $secondary={secondary}\n $outlined={outlined}\n >\n <Popover\n content={<ContextMenu>{dropdownItems}</ContextMenu>}\n placement={'bottom-end'}\n arrow={false}\n contextMenu={true}\n onHide={handleDropdownClose}\n >\n <S.Button\n ref={forwardedRef}\n $singleaction={singleAction}\n $singleactiongap={singleActionGap}\n $dropdownItems={dropdownItems}\n $secondary={secondary}\n $outlined={outlined}\n $border={border}\n $block={block}\n size={size}\n disabled={disabled}\n onClick={handleDropdownButtonClick}\n className={dropdownIsActive ? 'dropdown-is-active' : ''}\n $width={width}\n >\n <DropdownIcon />\n </S.Button>\n </Popover>\n </S.DropdownButtonContainer>\n )}\n </S.MainButtonWrapper>\n ) : (\n <>\n <S.MainButtonContainerSingle\n $dropdownItems={dropdownItems}\n $secondary={secondary}\n $outlined={outlined}\n className={className}\n >\n <S.DropdownButtonContainer $singleaction={singleAction}>\n <Popover\n content={<ContextMenu>{dropdownItems}</ContextMenu>}\n placement={'bottom-end'}\n arrow={false}\n contextMenu={true}\n onHide={handleDropdownClose}\n >\n <S.Button\n ref={forwardedRef}\n $singleaction={singleAction}\n $singleactiongap={singleActionGap}\n $dropdownItems={dropdownItems}\n $secondary={secondary}\n $outlined={outlined}\n $border={border}\n $block={block}\n size={size}\n disabled={disabled}\n onClick={handleDropdownButtonClick}\n className={dropdownIsActive ? 'dropdown-is-active' : ''}\n $width={width}\n >\n <S.ButtonContent $loading={loadingState} size={size} $singleaction={singleAction}>\n {icon}\n {children}\n </S.ButtonContent>\n <DropdownIcon />\n </S.Button>\n </Popover>\n </S.DropdownButtonContainer>\n </S.MainButtonContainerSingle>\n </>\n )}\n </S.ButtonWrapper>\n );\n});\n\nButton.propTypes = {\n /**\n * On-click effect for the main button\n */\n onClickEffect: PropTypes.func,\n\n /**\n * Whether the button is a \"single action button\". For single action buttons,\n * the entire button opens the dropdown menu, not just the arrow.\n */\n singleAction: PropTypes.bool,\n\n /**\n * Whether the button must have an active dropdown menu.\n */\n activeDropdown: PropTypes.bool,\n\n /**\n * An array containing nodes of the `ContextMenuItem` component\n */\n dropdownItems: PropTypes.node,\n\n /**\n * Whether the button should be styled as a secondary button\n */\n secondary: PropTypes.bool,\n\n /**\n * Whether the button should be styled with borders\n */\n outlined: PropTypes.bool,\n\n /**\n * Whether the button should customize the border width\n */\n border: PropTypes.number,\n\n /**\n * Whether the button should be of 100% width\n */\n block: PropTypes.bool,\n\n /**\n * Optional icon to be displayed on the left side of the button\n */\n icon: PropTypes.element,\n\n /**\n * Which size variation should be used\n */\n size: PropTypes.oneOf(['x-small', 'small', 'normal', 'large']),\n\n /**\n * Whether the button should be disabled\n */\n disabled: PropTypes.bool,\n\n /**\n * Whether the button should be initiated in a loading state\n */\n loading: PropTypes.bool,\n\n /**\n * Optional custom classnames for the HTML element\n */\n className: PropTypes.string,\n\n /**\n * Main content of the button\n */\n children: PropTypes.any.isRequired,\n /**\n * Gap between arrow and text in single action button\n */\n singleActionGap: PropTypes.number,\n\n /**\n * Custom min-width\n */\n width: PropTypes.number\n};\n\nexport default Button;\n"],"names":["Button","React","forwardRef","onClickEffect","singleAction","activeDropdown","dropdownItems","secondary","outlined","block","icon","size","disabled","loading","className","children","singleActionGap","width","border","props","forwardedRef","loadingState","setLoadingState","useState","loadingStep","setLoadingStep","loadingInterval","useRef","loadingTimeout","dropdownIsActive","setDropdownIsActive","isMounted","useEffect","current","clearInterval","clearTimeout","enableLoading","setInterval","currentLoadingStep","newLoadingStep","Math","round","disableLoading","setTimeout","handleDropdownButtonClick","handleDropdownClose","createElement","S","$activeDropdown","$dropdownItems","$outlined","$secondary","$block","_extends","ref","onClick","$border","$singleaction","$width","$loading","style","opacity","viewBox","cx","cy","r","fill","strokeWidth","stroke","strokeDashoffset","Popover","content","ContextMenu","placement","arrow","contextMenu","onHide","$singleactiongap","DropdownIcon","Fragment","propTypes","process","env","NODE_ENV","PropTypes","func","bool","node","number","element","oneOf","string","any","isRequired"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CompactTextInput.js","sources":["../../../src/components/inputs/CompactTextInput/CompactTextInput.js"],"sourcesContent":["import { isEmpty, isFunction } from 'lodash';\nimport { nanoid } from 'nanoid';\nimport PropTypes from 'prop-types';\nimport React, { useCallback, useState, useEffect } from 'react';\nimport useTooltipAutoShow from '../../../hooks/useTooltipAutoShow';\nimport { ReactComponent as EditNoteIcon } from '../../../icons/edit-note.svg';\nimport { ReactComponent as LinkIcon } from '../../../icons/link.svg';\nimport { Tooltip, Popover } from '../../data';\nimport * as S from './CompactTextInput.styled';\n\n// const ConditionalWrapper = ({ condition, wrapper, children }) =>\n// condition ? wrapper(children) : children;\n\n/**\n * Compact text inputs let users enter and edit text in the UI in a compact way. They typically appear in forms or displays of metadata.\n *\n * ### Import\n *\n * ``` js\n * import { CompactTextInput } from '@ntbjs/react-components/inputs'\n * // or\n * import CompactTextInput from '@ntbjs/react-components/inputs/CompactTextInput'\n * ```\n */\nconst CompactTextInput = React.forwardRef(function CompactTextInput(\n {\n label,\n inputType,\n name,\n defaultValue,\n value,\n placeholder,\n link,\n linkTarget,\n linkHandler,\n activeLinkHandler,\n autoSelect,\n readOnly,\n disabled,\n edit,\n type,\n descriptionToolTip,\n bold,\n hidden,\n onChange: onChangeProp,\n onFocus: onFocusProp,\n onBlur: onBlurProp,\n loadingIcon,\n successIcon,\n ...props\n },\n forwardedRef\n) {\n const [uniqueId] = useState(nanoid());\n const [currentValue, setCurrentValue] = useState();\n const [autoFocus, setAutoFocus] = useState(false);\n\n const { toolTipDisabled, toolTipVisible, toolTipOnMouseLeave, toolTipContent } =\n useTooltipAutoShow(descriptionToolTip);\n\n useEffect(() => {\n setCurrentValue(value || defaultValue);\n setAutoFocus(false);\n }, [value, defaultValue]);\n\n const onChange = useCallback(\n event => {\n setCurrentValue(event.target.value);\n\n if (!autoFocus) {\n setAutoFocus(true);\n }\n if (isFunction(onChangeProp)) {\n onChangeProp(event);\n }\n },\n [onChangeProp]\n );\n\n const onFocus = useCallback(\n event => {\n if (autoSelect) {\n event.target.select();\n }\n\n if (isFunction(onFocusProp)) {\n onFocusProp(event);\n }\n },\n [autoSelect, readOnly, onFocusProp]\n );\n\n const onBlur = useCallback(\n event => {\n if (isFunction(onBlurProp)) {\n onBlurProp(event);\n }\n },\n [onBlurProp]\n );\n\n const input = () => {\n return (\n <S.Input\n ref={forwardedRef}\n id={uniqueId}\n key={uniqueId}\n autoFocus={autoFocus}\n inputtype={inputType}\n name={name}\n readOnly={readOnly}\n disabled={disabled}\n $edit={edit}\n placeholder={placeholder}\n defaultValue={defaultValue}\n value={value}\n $type={type}\n $bold={bold}\n $haslink={!isEmpty(link)}\n onFocus={onFocus}\n onChange={onChange}\n onBlur={onBlur}\n />\n );\n };\n\n if (hidden) return null;\n\n return (\n <S.CompactTextInput {...props}>\n {label && (\n <S.Label htmlFor={uniqueId} disabled={disabled}>\n {label}\n <S.SuccessContainer>\n {type === 'loading' && loadingIcon}\n {type === 'success' && successIcon}\n </S.SuccessContainer>\n </S.Label>\n )}\n <S.InputContainer $hasLabel={!isEmpty(label)}>\n {!link && (\n <div onMouseLeave={toolTipOnMouseLeave}>\n <Tooltip\n content={toolTipContent}\n key=\"tooltip1\"\n placement=\"bottom-end\"\n trigger={'mouseenter'}\n disabled={toolTipDisabled}\n zIndex={999999}\n visible={toolTipVisible}\n >\n {input()}\n </Tooltip>\n </div>\n )}\n {link && !readOnly && (\n <div>\n <Popover\n arrow={false}\n content={\n <S.LinkPopoverContainer>\n {activeLinkHandler ? (\n <S.StyledLink\n href={link}\n target={linkTarget}\n onClick={e => {\n if (activeLinkHandler) {\n e.preventDefault();\n linkHandler();\n } else null;\n }}\n rel=\"noreferrer\"\n >\n <LinkIcon />\n {currentValue}\n </S.StyledLink>\n ) : (\n <S.StyledLink href={link} target={linkTarget} rel=\"noreferrer\">\n <LinkIcon />\n {currentValue}\n </S.StyledLink>\n )}\n </S.LinkPopoverContainer>\n }\n key=\"tooltip2\"\n placement=\"bottom-start\"\n trigger=\"focusin\"\n zIndex={999999}\n interactive={true}\n >\n {input()}\n </Popover>\n </div>\n )}\n {link && readOnly && (\n <S.ReadOnlyLinkContainer>\n <S.StyledLink\n href={link}\n rel=\"noreferrer\"\n style={{ display: 'inline-block' }}\n target={linkTarget}\n >\n {currentValue}\n </S.StyledLink>\n </S.ReadOnlyLinkContainer>\n )}\n {!readOnly && !disabled && (\n <>\n <S.InputIconContainer $type={type}>\n <EditNoteIcon />\n </S.InputIconContainer>\n {isEmpty(label) && (\n <S.InputSuccessContainer>\n {type === 'loading' && loadingIcon}\n {type === 'success' && successIcon}\n </S.InputSuccessContainer>\n )}\n </>\n )}\n </S.InputContainer>\n </S.CompactTextInput>\n );\n});\n\nCompactTextInput.propTypes = {\n /**\n * The label of the input field - leave `undefined` to hide the label\n */\n label: PropTypes.string,\n /**\n * Displays a light green background to show that an action was successful.\n */\n success: PropTypes.bool,\n /**\n * The input type - eg. `text`, `number`\n */\n inputType: PropTypes.string,\n /**\n * The input name\n */\n name: PropTypes.string,\n /**\n * The default value of the input - creates an uncontrolled input\n */\n defaultValue: PropTypes.string,\n /**\n * The value of the input - creates a controlled input\n */\n value: PropTypes.string,\n /**\n * The placeholder of the input\n */\n placeholder: PropTypes.string,\n /**\n * A URL associated with the input value. Creates a clickable link that accepts full or relative URL\n */\n link: PropTypes.string,\n /**\n * The target for the link. Only applies when the field is in read-only mode\n */\n linkTarget: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n /**\n * Whether the link has a onClick event.\n */\n linkHandler: PropTypes.func,\n /**\n * Whether the handler should preceed the link behavior.\n */\n activeLinkHandler: PropTypes.bool,\n /**\n * Whether to auto select the entire value when the input is focused – does also work when the field is in read-only mode\n */\n autoSelect: PropTypes.bool,\n /**\n * Whether the value is read only\n */\n readOnly: PropTypes.bool,\n /**\n * Whether the value is disabled\n */\n disabled: PropTypes.bool,\n /**\n * Displays a grey background to show that value is editable\n */\n edit: PropTypes.bool,\n /**\n * There is an error present - 'error be prioritized over warnings if both are set to 'true'.\n */\n // error: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n /**\n * There is a warning present.\n */\n warning: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n /**\n * Whether to bold the input content - Slightly increases the font size and font weight of the input value\n */\n bold: PropTypes.bool,\n /**\n * Whether the component is hidden or visible.\n */\n hidden: PropTypes.bool,\n /**\n * Callback for `onChange`\n */\n onChange: PropTypes.func,\n /**\n * Callback for `onFocus`\n */\n onFocus: PropTypes.func,\n /**\n * Callback for `onBlur`\n */\n onBlur: PropTypes.func,\n /**\n * Define the type based on error, warning, loading and success.\n */\n type: PropTypes.oneOf(['', 'error', 'warning', 'loading', 'success']),\n /**\n * Description ToolTip text.\n */\n descriptionToolTip: PropTypes.string,\n /**\n * Icon element – E.g: `icon={<Spinner />}`\n */\n loadingIcon: PropTypes.element,\n /**\n * Icon element – E.g: `icon={<Check />}`\n */\n successIcon: PropTypes.element\n};\n\nCompactTextInput.defaultProps = {\n inputType: 'text',\n autoSelect: true,\n linkTarget: '_self',\n bold: false,\n readOnly: false,\n descriptionToolTip: '',\n edit: false,\n hidden: false,\n type: '',\n linkHandler: () => {},\n activeLinkHandler: false,\n onChange: () => {}\n};\n\nexport default CompactTextInput;\n"],"names":["CompactTextInput","React","forwardRef","label","inputType","name","defaultValue","value","placeholder","link","linkTarget","linkHandler","activeLinkHandler","autoSelect","readOnly","disabled","edit","type","descriptionToolTip","bold","hidden","onChange","onChangeProp","onFocus","onFocusProp","onBlur","onBlurProp","loadingIcon","successIcon","props","forwardedRef","uniqueId","useState","nanoid","currentValue","setCurrentValue","autoFocus","setAutoFocus","toolTipDisabled","toolTipVisible","toolTipOnMouseLeave","toolTipContent","useTooltipAutoShow","useEffect","useCallback","event","target","isFunction","select","input","createElement","S","ref","id","key","inputtype","$edit","$type","$bold","$haslink","isEmpty","htmlFor","$hasLabel","onMouseLeave","Tooltip","content","placement","trigger","zIndex","visible","Popover","arrow","href","onClick","e","preventDefault","rel","LinkIcon","interactive","style","display","Fragment","EditNoteIcon","propTypes","process","env","NODE_ENV","PropTypes","string","success","bool","oneOf","func","warning","oneOfType","element","defaultProps"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CompactTextInput.js","sources":["../../../src/components/inputs/CompactTextInput/CompactTextInput.js"],"sourcesContent":["import { isEmpty, isFunction } from 'lodash';\nimport { nanoid } from 'nanoid';\nimport PropTypes from 'prop-types';\nimport React, { useCallback, useState, useEffect } from 'react';\nimport useTooltipAutoShow from '../../../hooks/useTooltipAutoShow';\nimport { ReactComponent as EditNoteIcon } from '../../../icons/edit-note.svg';\nimport { ReactComponent as LinkIcon } from '../../../icons/link.svg';\nimport { Tooltip, Popover } from '../../data';\nimport * as S from './CompactTextInput.styled';\n\n// const ConditionalWrapper = ({ condition, wrapper, children }) =>\n// condition ? wrapper(children) : children;\n\n/**\n * Compact text inputs let users enter and edit text in the UI in a compact way. They typically appear in forms or displays of metadata.\n *\n * ### Import\n *\n * ``` js\n * import { CompactTextInput } from '@ntbjs/react-components/inputs'\n * // or\n * import CompactTextInput from '@ntbjs/react-components/inputs/CompactTextInput'\n * ```\n */\nconst CompactTextInput = React.forwardRef(function CompactTextInput(\n {\n label,\n inputType,\n name,\n defaultValue,\n value,\n placeholder,\n link,\n linkTarget,\n linkHandler,\n activeLinkHandler,\n autoSelect,\n readOnly,\n disabled,\n edit,\n type,\n descriptionToolTip,\n bold,\n hidden,\n onChange: onChangeProp,\n onFocus: onFocusProp,\n onBlur: onBlurProp,\n loadingIcon,\n successIcon,\n ...props\n },\n forwardedRef\n) {\n const [uniqueId] = useState(nanoid());\n const [currentValue, setCurrentValue] = useState();\n const [autoFocus, setAutoFocus] = useState(false);\n\n const { toolTipDisabled, toolTipVisible, toolTipOnMouseLeave, toolTipContent } =\n useTooltipAutoShow(descriptionToolTip);\n\n useEffect(() => {\n setCurrentValue(value || defaultValue);\n setAutoFocus(false);\n }, [value, defaultValue]);\n\n const onChange = useCallback(\n event => {\n setCurrentValue(event.target.value);\n\n if (!autoFocus) {\n setAutoFocus(true);\n }\n if (isFunction(onChangeProp)) {\n onChangeProp(event);\n }\n },\n [onChangeProp]\n );\n\n const onFocus = useCallback(\n event => {\n if (autoSelect) {\n event.target.select();\n }\n\n if (isFunction(onFocusProp)) {\n onFocusProp(event);\n }\n },\n [autoSelect, readOnly, onFocusProp]\n );\n\n const onBlur = useCallback(\n event => {\n if (isFunction(onBlurProp)) {\n onBlurProp(event);\n }\n },\n [onBlurProp]\n );\n\n const input = () => {\n return (\n <S.Input\n ref={forwardedRef}\n id={uniqueId}\n key={uniqueId}\n autoFocus={autoFocus}\n inputtype={inputType}\n name={name}\n readOnly={readOnly}\n disabled={disabled}\n $edit={edit}\n placeholder={placeholder}\n defaultValue={defaultValue}\n value={value ?? ''}\n $type={type}\n $bold={bold}\n $haslink={!isEmpty(link)}\n onFocus={onFocus}\n onChange={onChange}\n onBlur={onBlur}\n />\n );\n };\n\n if (hidden) return null;\n\n return (\n <S.CompactTextInput {...props}>\n {label && (\n <S.Label htmlFor={uniqueId} disabled={disabled}>\n {label}\n <S.SuccessContainer>\n {type === 'loading' && loadingIcon}\n {type === 'success' && successIcon}\n </S.SuccessContainer>\n </S.Label>\n )}\n <S.InputContainer $hasLabel={!isEmpty(label)}>\n {!link && (\n <div onMouseLeave={toolTipOnMouseLeave}>\n <Tooltip\n content={toolTipContent}\n key=\"tooltip1\"\n placement=\"bottom-end\"\n trigger={'mouseenter'}\n disabled={toolTipDisabled}\n zIndex={999999}\n visible={toolTipVisible}\n >\n {input()}\n </Tooltip>\n </div>\n )}\n {link && !readOnly && (\n <div>\n <Popover\n arrow={false}\n content={\n <S.LinkPopoverContainer>\n {activeLinkHandler ? (\n <S.StyledLink\n href={link}\n target={linkTarget}\n onClick={e => {\n if (activeLinkHandler) {\n e.preventDefault();\n linkHandler();\n } else null;\n }}\n rel=\"noreferrer\"\n >\n <LinkIcon />\n {currentValue}\n </S.StyledLink>\n ) : (\n <S.StyledLink href={link} target={linkTarget} rel=\"noreferrer\">\n <LinkIcon />\n {currentValue}\n </S.StyledLink>\n )}\n </S.LinkPopoverContainer>\n }\n key=\"tooltip2\"\n placement=\"bottom-start\"\n trigger=\"focusin\"\n zIndex={999999}\n interactive={true}\n >\n {input()}\n </Popover>\n </div>\n )}\n {link && readOnly && (\n <S.ReadOnlyLinkContainer>\n <S.StyledLink\n href={link}\n rel=\"noreferrer\"\n style={{ display: 'inline-block' }}\n target={linkTarget}\n >\n {currentValue}\n </S.StyledLink>\n </S.ReadOnlyLinkContainer>\n )}\n {!readOnly && !disabled && (\n <>\n <S.InputIconContainer $type={type}>\n <EditNoteIcon />\n </S.InputIconContainer>\n {isEmpty(label) && (\n <S.InputSuccessContainer>\n {type === 'loading' && loadingIcon}\n {type === 'success' && successIcon}\n </S.InputSuccessContainer>\n )}\n </>\n )}\n </S.InputContainer>\n </S.CompactTextInput>\n );\n});\n\nCompactTextInput.propTypes = {\n /**\n * The label of the input field - leave `undefined` to hide the label\n */\n label: PropTypes.string,\n /**\n * Displays a light green background to show that an action was successful.\n */\n success: PropTypes.bool,\n /**\n * The input type - eg. `text`, `number`\n */\n inputType: PropTypes.string,\n /**\n * The input name\n */\n name: PropTypes.string,\n /**\n * The default value of the input - creates an uncontrolled input\n */\n defaultValue: PropTypes.string,\n /**\n * The value of the input - creates a controlled input\n */\n value: PropTypes.string,\n /**\n * The placeholder of the input\n */\n placeholder: PropTypes.string,\n /**\n * A URL associated with the input value. Creates a clickable link that accepts full or relative URL\n */\n link: PropTypes.string,\n /**\n * The target for the link. Only applies when the field is in read-only mode\n */\n linkTarget: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n /**\n * Whether the link has a onClick event.\n */\n linkHandler: PropTypes.func,\n /**\n * Whether the handler should preceed the link behavior.\n */\n activeLinkHandler: PropTypes.bool,\n /**\n * Whether to auto select the entire value when the input is focused – does also work when the field is in read-only mode\n */\n autoSelect: PropTypes.bool,\n /**\n * Whether the value is read only\n */\n readOnly: PropTypes.bool,\n /**\n * Whether the value is disabled\n */\n disabled: PropTypes.bool,\n /**\n * Displays a grey background to show that value is editable\n */\n edit: PropTypes.bool,\n /**\n * There is an error present - 'error be prioritized over warnings if both are set to 'true'.\n */\n // error: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n /**\n * There is a warning present.\n */\n warning: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n /**\n * Whether to bold the input content - Slightly increases the font size and font weight of the input value\n */\n bold: PropTypes.bool,\n /**\n * Whether the component is hidden or visible.\n */\n hidden: PropTypes.bool,\n /**\n * Callback for `onChange`\n */\n onChange: PropTypes.func,\n /**\n * Callback for `onFocus`\n */\n onFocus: PropTypes.func,\n /**\n * Callback for `onBlur`\n */\n onBlur: PropTypes.func,\n /**\n * Define the type based on error, warning, loading and success.\n */\n type: PropTypes.oneOf(['', 'error', 'warning', 'loading', 'success']),\n /**\n * Description ToolTip text.\n */\n descriptionToolTip: PropTypes.string,\n /**\n * Icon element – E.g: `icon={<Spinner />}`\n */\n loadingIcon: PropTypes.element,\n /**\n * Icon element – E.g: `icon={<Check />}`\n */\n successIcon: PropTypes.element\n};\n\nCompactTextInput.defaultProps = {\n inputType: 'text',\n autoSelect: true,\n linkTarget: '_self',\n bold: false,\n readOnly: false,\n descriptionToolTip: '',\n edit: false,\n hidden: false,\n type: '',\n linkHandler: () => {},\n activeLinkHandler: false,\n onChange: () => {}\n};\n\nexport default CompactTextInput;\n"],"names":["CompactTextInput","React","forwardRef","label","inputType","name","defaultValue","value","placeholder","link","linkTarget","linkHandler","activeLinkHandler","autoSelect","readOnly","disabled","edit","type","descriptionToolTip","bold","hidden","onChange","onChangeProp","onFocus","onFocusProp","onBlur","onBlurProp","loadingIcon","successIcon","props","forwardedRef","uniqueId","useState","nanoid","currentValue","setCurrentValue","autoFocus","setAutoFocus","toolTipDisabled","toolTipVisible","toolTipOnMouseLeave","toolTipContent","useTooltipAutoShow","useEffect","useCallback","event","target","isFunction","select","input","createElement","S","ref","id","key","inputtype","$edit","$type","$bold","$haslink","isEmpty","htmlFor","$hasLabel","onMouseLeave","Tooltip","content","placement","trigger","zIndex","visible","Popover","arrow","href","onClick","e","preventDefault","rel","LinkIcon","interactive","style","display","Fragment","EditNoteIcon","propTypes","process","env","NODE_ENV","PropTypes","string","success","bool","oneOf","func","warning","oneOfType","element","defaultProps"],"mappings":"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"}
|
|
@@ -19,7 +19,7 @@ import '../../../../data/Tooltip/Tooltip.js';
|
|
|
19
19
|
import '../../../../data/VerificationStatusIcon/VerificationStatusIcon.js';
|
|
20
20
|
import SummaryCard from '../../../SummaryCard/SummaryCard.js';
|
|
21
21
|
import { assetShapeWithLayout } from '../../asset.propType.js';
|
|
22
|
-
import { AssetGalleryWrapper, AssetGalleryCompactCard as AssetGalleryCompactCard$2, Reference, Overlay, OverlayBackdrop, OverlayInfoTopActions, OverlayInfo, OverlayInfoTop, OverlayInfoTopLeft, OverlayInfoTopWarning, OverlayInfoBottom, OverlayInfoBottomSelectButton, OverlayInfoBottomMediaIcon, OverlayCompleted, OverlayHasError, OverlaySelected, StyledFloatingArrow, ConsumerDefinedOverlay, Figure, FigureOverlayBackdrop } from './AssetGalleryCompactCard.styled.js';
|
|
22
|
+
import { AssetGalleryWrapper, AssetGalleryCompactCard as AssetGalleryCompactCard$2, Reference, Overlay, OverlayBackdrop, OverlayInfoTopActions, StatusIcon, VisibleOnHover, OverlayInfo, OverlayInfoTop, OverlayInfoTopLeft, OverlayInfoTopWarning, OverlayInfoBottom, OverlayInfoBottomSelectButton, OverlayInfoBottomMediaIcon, OverlayCompleted, OverlayHasError, OverlaySelected, StyledFloatingArrow, ConsumerDefinedOverlay, Figure, FigureOverlayBackdrop } from './AssetGalleryCompactCard.styled.js';
|
|
23
23
|
import { useFloating, autoUpdate, offset, flip, shift, arrow, useTransitionStyles, useHover, useDismiss, useInteractions, useMergeRefs } from '@floating-ui/react';
|
|
24
24
|
import AssetActionsBase from '../../../AssetActionsBase/AssetActionsBase.js';
|
|
25
25
|
|
|
@@ -307,7 +307,7 @@ const AssetGalleryCompactCard = props => {
|
|
|
307
307
|
title: asset?.title || '',
|
|
308
308
|
description: asset?.description || '',
|
|
309
309
|
instructions: asset?.imageRights || '',
|
|
310
|
-
|
|
310
|
+
instructionsSeverity: asset?.instructionSeverity,
|
|
311
311
|
headerRight: asset?.summary?.headerRight || '',
|
|
312
312
|
headerLeft: React__default.createElement(React__default.Fragment, null, renderSummaryCardHeaderLeft(), asset?.summary?.headerLeft || ''),
|
|
313
313
|
footerLeft: asset?.summary?.footerLeft || '',
|
|
@@ -342,12 +342,10 @@ const AssetGalleryCompactCard = props => {
|
|
|
342
342
|
}, getReferenceProps()), React__default.createElement(OverlayBackdrop, {
|
|
343
343
|
$softSelected: softSelected,
|
|
344
344
|
selected: selected
|
|
345
|
-
}), asset?.actions && React__default.createElement(OverlayInfoTopActions, {
|
|
346
|
-
$isOverlayHovered: isOverlayHovered
|
|
347
|
-
}, React__default.createElement(AssetActionsBase, {
|
|
345
|
+
}), (asset?.statusIcon || asset?.actions) && React__default.createElement(OverlayInfoTopActions, null, asset.statusIcon && React__default.createElement(StatusIcon, null, asset.statusIcon), asset?.actions && React__default.createElement(React__default.Fragment, null, React__default.createElement(VisibleOnHover, null, React__default.createElement(AssetActionsBase, {
|
|
348
346
|
actions: asset.actions,
|
|
349
347
|
asset: asset
|
|
350
|
-
})), React__default.createElement(OverlayInfo, null, isOverlayHovered && React__default.createElement("span", null, asset.title), React__default.createElement(OverlayInfoTop, null, React__default.createElement(OverlayInfoTopLeft, {
|
|
348
|
+
})))), React__default.createElement(OverlayInfo, null, isOverlayHovered && React__default.createElement("span", null, asset.title), React__default.createElement(OverlayInfoTop, null, React__default.createElement(OverlayInfoTopLeft, {
|
|
351
349
|
$collapseExtraInfo: collapseExtraInfo
|
|
352
350
|
}, renderBadge()), asset?.note?.title && React__default.createElement(OverlayInfoTopWarning, {
|
|
353
351
|
type: asset?.note?.type
|
|
@@ -404,7 +402,7 @@ AssetGalleryCompactCard.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
404
402
|
displayIcon: PropTypes.oneOf(['dynamic', 'versions', 'verifications', ''])
|
|
405
403
|
} : {};
|
|
406
404
|
var AssetGalleryCompactCard$1 = trackWindowScroll(React__default.memo(AssetGalleryCompactCard, (prevProps, nextProps) => {
|
|
407
|
-
const reactiveProps = ['selectable', 'selected', 'extendedSelectMode', 'softSelected', 'asset.previewUrl', 'asset.overlay', 'hasHeightAndWidth', 'collapseExtraInfo'];
|
|
405
|
+
const reactiveProps = ['selectable', 'selected', 'extendedSelectMode', 'softSelected', 'asset.previewUrl', 'asset.overlay', 'asset.statusIcon', 'hasHeightAndWidth', 'collapseExtraInfo'];
|
|
408
406
|
return reactiveProps.every(propKey => get(prevProps, propKey) === get(nextProps, propKey));
|
|
409
407
|
}));
|
|
410
408
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssetGalleryCompactCard.js","sources":["../../../../../src/components/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.js"],"sourcesContent":["import { get, isFunction, mapKeys, omit } from 'lodash';\nimport PropTypes from 'prop-types';\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport {\n LazyLoadComponent,\n LazyLoadImage,\n trackWindowScroll\n} from 'react-lazy-load-image-component';\nimport 'react-lazy-load-image-component/src/effects/opacity.css';\nimport {\n CheckRectangleIcon,\n HeadsetIcon,\n LayersIcon,\n PlayIcon,\n WarningCircleIcon\n} from '../../../../../icons';\nimport { convertMsToHMS } from '../../../../../utils/dateTime';\nimport { Badge } from '../../../../data';\n\nimport SummaryCard from '../../../SummaryCard/SummaryCard';\nimport { assetShapeWithLayout } from '../../asset.propType';\nimport * as S from './AssetGalleryCompactCard.styled';\n\nimport {\n useFloating,\n useHover,\n useInteractions,\n useTransitionStyles,\n flip,\n shift,\n arrow,\n autoUpdate,\n offset,\n useDismiss,\n useMergeRefs\n} from '@floating-ui/react';\nimport AssetActionsBase from '../../../AssetActionsBase/AssetActionsBase';\n\n// eslint-disable-next-line react/prop-types\nconst ComputedRootComponent = ({ component, asset, ...props }) => {\n // Omit props we don't need\n const newProps = mapKeys(\n omit(props, [\n 'theme',\n 'extendedSelectMode',\n 'softSelected',\n '$softSelected',\n 'customSelectedBorder',\n '$customSelectedBorder',\n 'hasHeightAndWidth',\n '$hasHeightAndWidth',\n 'collapseExtraInfo',\n '$collapseExtraInfo'\n ]),\n (_, key) => (key === 'innerRef' ? 'ref' : key)\n );\n\n if (component) {\n if (!isFunction(component)) throw Error('Expected a function in component-prop');\n\n if (React.isValidElement(component(asset, newProps.children))) {\n return React.cloneElement(component(asset, newProps.children), omit(newProps, ['children']));\n }\n }\n\n return <S.AssetGalleryCompactCard ref={newProps.ref} {...newProps} />;\n};\n\nconst AssetGalleryCompactCard = props => {\n const {\n asset,\n activeSummaryCard,\n displayIcon,\n selectable,\n hasHeightAndWidth,\n selected,\n customSelectedBorder,\n extendedSelectMode,\n onAssetSelected,\n onAssetUnselected,\n softSelected,\n component,\n scrollPosition,\n collapseExtraInfo\n } = props;\n\n const ARROW_WIDTH = 30;\n const ARROW_HEIGHT = 15;\n const GAP = 8;\n\n const arrowRef = useRef(null);\n\n const [isOpen, setIsOpen] = useState(false);\n const [placement] = useState('bottom');\n\n const [isOverlayHovered, setIsOverlayHovered] = useState(false);\n const [openedSubActions, updateOpenedSubActions] = useState([]);\n\n const { refs, floatingStyles, context } = useFloating({\n placement,\n open: isOpen,\n onOpenChange: setIsOpen,\n whileElementsMounted: autoUpdate,\n middleware: [\n offset(ARROW_HEIGHT + GAP),\n flip({ padding: 5 }),\n shift({ padding: 5 }),\n arrow({\n element: arrowRef\n })\n ]\n });\n\n const { isMounted, styles } = useTransitionStyles(context, {\n initial: {\n transform: 'translateY(-8px)',\n opacity: 0\n },\n duration: {\n open: 200,\n close: 100\n }\n });\n\n const hover = useHover(context, {\n restMs: 100\n });\n const dismiss = useDismiss(context, {\n referencePress: true,\n ancestorScroll: true,\n windowScroll: true,\n windowBlur: true\n });\n\n const { getReferenceProps, getFloatingProps } = useInteractions([dismiss, hover]);\n\n useEffect(() => {\n const newOpenedSubActions = (asset?.actions ?? []).map(() => false);\n updateOpenedSubActions(newOpenedSubActions);\n }, [asset]);\n\n useEffect(() => {\n if (!isOverlayHovered && openedSubActions?.length) {\n updateOpenedSubActions(openedSubActions.map(() => false));\n }\n }, [isOverlayHovered]);\n\n const mouseHasEnteredOverlay = useCallback(() => {\n setIsOverlayHovered(true);\n }, []);\n\n const mouseHasLeftOverlay = useCallback(() => {\n setIsOverlayHovered(false);\n }, []);\n\n const isAnySubActionsOpened = useMemo(() => {\n return openedSubActions.some(isOpened => isOpened);\n }, [openedSubActions]);\n\n function onClick(event) {\n if (extendedSelectMode) {\n return onSelectClick(event);\n }\n\n if (isFunction(asset.onClick)) {\n asset.onClick(event, asset);\n }\n }\n\n function onSelectClick(event) {\n event.preventDefault();\n event.stopPropagation();\n\n if (selected) {\n return onAssetUnselected(asset.key);\n }\n\n if (selectable) {\n return onAssetSelected(asset.key);\n }\n }\n\n function onContextMenu(event) {\n event.preventDefault();\n asset.onContextMenu(event);\n }\n\n useEffect(() => {\n if (isFunction(asset.onContextMenu)) {\n if (cardRef.current) {\n cardRef.current.addEventListener('contextmenu', onContextMenu);\n }\n return () => {\n if (cardRef.current) {\n cardRef.current.removeEventListener('contextmenu', onContextMenu);\n }\n };\n }\n }, []);\n\n function onDragstart(event) {\n asset.onDragstart(event);\n }\n\n useEffect(() => {\n if (isFunction(asset.onDragstart)) {\n if (dragRef.current) {\n dragRef.current.addEventListener('dragstart', onDragstart);\n }\n return () => {\n if (dragRef.current) {\n dragRef.current.removeEventListener('dragstart', onDragstart);\n }\n };\n }\n }, []);\n\n const videoPlayerRef = useRef();\n const cardRef = useRef();\n const dragRef = useRef(null);\n\n const overlayCompactRef = useMergeRefs([cardRef, refs.setReference]);\n\n function onMouseEnter(event) {\n if (videoPlayerRef.current) {\n const playPromise = videoPlayerRef.current.play();\n if (playPromise !== undefined) {\n playPromise\n .then(() => {\n // Playback started!\n })\n .catch(() => {\n // Play was prevented - silently swallow play errors\n });\n }\n }\n\n if (isFunction(asset.onMouseEnter)) {\n asset.onMouseEnter(event, asset);\n }\n }\n\n function onMouseLeave() {\n if (videoPlayerRef.current) {\n videoPlayerRef.current.pause();\n }\n }\n\n const renderPreview = asset => {\n let previewContent = null;\n if (asset?.fileType?.toLowerCase() === 'video') {\n previewContent = (\n <LazyLoadComponent scrollPosition={scrollPosition}>\n <video\n ref={videoPlayerRef}\n loop\n muted\n // style={{ maxHeight: maxHeight }}\n >\n <source src={asset.previewUrl} type=\"video/mp4\" />\n </video>\n </LazyLoadComponent>\n );\n } else if (asset?.fileType?.toLowerCase() === 'audio') {\n previewContent = (\n <LazyLoadComponent scrollPosition={scrollPosition}>\n <div className=\"audio\">\n <HeadsetIcon />\n </div>\n </LazyLoadComponent>\n );\n } else {\n previewContent = (\n <LazyLoadImage\n alt={asset?.title}\n src={asset?.previewUrl}\n height=\"100%\"\n width=\"100%\"\n delayMethod=\"debounce\"\n delayTime={0}\n threshold={1500}\n scrollPosition={scrollPosition}\n />\n );\n }\n\n return (\n <S.Figure $hasHeightAndWidth={hasHeightAndWidth}>\n {previewContent}\n <S.FigureOverlayBackdrop selected={selected} />\n </S.Figure>\n );\n };\n\n // If this asset is soft selected we will scroll it into the viewport if it's outside\n useEffect(() => {\n if (softSelected) {\n cardRef.current.scrollIntoView({ behavior: 'smooth', block: 'nearest' });\n }\n }, [softSelected]);\n\n const renderVersionsBadge = useCallback(() => {\n if (!asset?.versions) return null;\n\n return (\n <Badge\n badgeIcon={<LayersIcon />}\n badgeContent={asset.versions}\n backgroundColors={['black', 'black']}\n colors={['#f7f8f9', '#f7f8f9']}\n fontSize={12}\n fontWeight={500}\n lineHeight={16}\n verticalPadding={4}\n horizontalPadding={8}\n />\n );\n }, [asset]);\n\n const renderVerificationBadge = useCallback(() => {\n if (!asset?.verifications) return null;\n return asset?.verifications;\n }, [asset]);\n\n const renderdynamicBadge = useCallback(() => {\n if (asset?.verifications) return renderVerificationBadge();\n if (asset?.versions) return renderVersionsBadge();\n return null;\n });\n\n const renderBadge = () => {\n switch (displayIcon) {\n case 'versions':\n return renderVersionsBadge();\n case 'verifications':\n return renderVerificationBadge();\n case 'dynamic':\n return renderdynamicBadge();\n default:\n return null;\n }\n };\n\n const renderMediaBadge = useCallback(() => {\n let badgeIcon = null;\n let badgeContent = null;\n\n if (asset?.fileType === 'video') {\n badgeIcon = <PlayIcon />;\n }\n\n if (asset?.duration) {\n badgeContent = convertMsToHMS(asset.duration);\n }\n\n if (!badgeIcon && !badgeContent) return null;\n return (\n <Badge\n badgeIcon={badgeIcon}\n badgeContent={badgeContent}\n backgroundColors={['black', 'black']}\n colors={['#f7f8f9', '#f7f8f9']}\n fontSize={12}\n fontWeight={500}\n lineHeight={16}\n verticalPadding={4}\n horizontalPadding={8}\n minWidth={32}\n height={24}\n />\n );\n }, [asset]);\n\n const renderSummaryCardHeaderLeft = useCallback(() => {\n return (\n <>\n {renderVersionsBadge()}\n {renderMediaBadge()}\n </>\n );\n }, [asset]);\n\n const renderPopoverContent = useCallback(() => {\n return (\n <SummaryCard\n activeSummaryCard={activeSummaryCard}\n title={asset?.title || ''}\n description={asset?.description || ''}\n instructions={asset?.imageRights || ''}\n instructionsType={'warning'}\n headerRight={asset?.summary?.headerRight || ''}\n headerLeft={\n <>\n {renderSummaryCardHeaderLeft()}\n {asset?.summary?.headerLeft || ''}\n </>\n }\n footerLeft={asset?.summary?.footerLeft || ''}\n footerRight={asset?.summary?.footerRight || ''}\n width={375}\n view={'compact'}\n />\n );\n }, [asset]);\n\n return (\n <S.AssetGalleryWrapper disabled={asset.disabled}>\n <S.AssetGalleryCompactCard\n as={ComputedRootComponent}\n component={component}\n disabled={asset.disabled}\n asset={asset}\n onClick={onClick}\n extendedSelectMode={extendedSelectMode}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n draggable={asset.draggable}\n innerRef={dragRef}\n selected={selected}\n // ref={refs.setReference}\n {...getReferenceProps()}\n >\n <S.Reference ref={refs.setReference}>\n {asset.previewUrl && renderPreview(asset)}\n </S.Reference>\n\n <S.Overlay\n ref={overlayCompactRef}\n onMouseEnter={mouseHasEnteredOverlay}\n onMouseLeave={mouseHasLeftOverlay}\n style={{ height: '100%' }}\n {...getReferenceProps()}\n >\n <S.OverlayBackdrop $softSelected={softSelected} selected={selected} />\n {asset?.actions && (\n <S.OverlayInfoTopActions $isOverlayHovered={isOverlayHovered}>\n <AssetActionsBase actions={asset.actions} asset={asset} />\n </S.OverlayInfoTopActions>\n )}\n <S.OverlayInfo>\n {isOverlayHovered && <span>{asset.title}</span>}\n <S.OverlayInfoTop>\n <S.OverlayInfoTopLeft $collapseExtraInfo={collapseExtraInfo}>\n {renderBadge()}\n </S.OverlayInfoTopLeft>\n {asset?.note?.title && (\n <S.OverlayInfoTopWarning type={asset?.note?.type}>\n <WarningCircleIcon />\n </S.OverlayInfoTopWarning>\n )}\n </S.OverlayInfoTop>\n <S.OverlayInfoBottom>\n {selectable && (\n <S.OverlayInfoBottomSelectButton selected={selected}>\n <CheckRectangleIcon onClick={onSelectClick} />\n </S.OverlayInfoBottomSelectButton>\n )}\n <S.OverlayInfoBottomMediaIcon>{renderMediaBadge()}</S.OverlayInfoBottomMediaIcon>\n </S.OverlayInfoBottom>\n </S.OverlayInfo>\n {asset.completed && <S.OverlayCompleted $softSelected={softSelected} />}\n {asset.hasError && <S.OverlayHasError $softSelected={softSelected} />}\n {selectable && (\n <S.OverlaySelected\n selected={selected}\n $softSelected={softSelected}\n $customSelectedBorder={customSelectedBorder}\n />\n )}\n {isOpen &&\n isOverlayHovered &&\n isMounted &&\n activeSummaryCard &&\n !isAnySubActionsOpened && (\n <div ref={refs.setFloating} style={floatingStyles} {...getFloatingProps()}>\n <div style={styles} className=\"floating\">\n {renderPopoverContent()}\n <S.StyledFloatingArrow\n ref={arrowRef}\n context={context}\n width={ARROW_WIDTH}\n height={ARROW_HEIGHT}\n />\n </div>\n </div>\n )}\n {isOpen &&\n isOverlayHovered &&\n isMounted &&\n activeSummaryCard &&\n !isAnySubActionsOpened && (\n <div ref={refs.setFloating} style={floatingStyles} {...getFloatingProps()}>\n <div style={styles} className=\"floating\">\n {renderPopoverContent()}\n <S.StyledFloatingArrow\n ref={arrowRef}\n context={context}\n width={ARROW_WIDTH}\n height={ARROW_HEIGHT}\n />\n </div>\n </div>\n )}\n </S.Overlay>\n\n {asset.overlay && <S.ConsumerDefinedOverlay>{asset.overlay}</S.ConsumerDefinedOverlay>}\n </S.AssetGalleryCompactCard>\n </S.AssetGalleryWrapper>\n );\n};\n\nAssetGalleryCompactCard.propTypes = {\n /**\n * An array of assets to display in the gallery.\n */\n asset: PropTypes.shape(assetShapeWithLayout).isRequired,\n\n /**\n * Tells the asset card that the asset height and width was known\n */\n hasHeightAndWidth: PropTypes.bool,\n\n /**\n * Whether or not the asset gallery should have selectable asset cards\n */\n selectable: PropTypes.bool,\n\n /**\n * Is the asset selected\n */\n selected: PropTypes.bool,\n\n /**\n * Whether or not the asset gallery should have custom borders on selected asset\n */\n customSelectedBorder: PropTypes.arrayOf(PropTypes.string),\n\n /**\n * Makes the whole asset card into a selectable area\n */\n extendedSelectMode: PropTypes.bool,\n\n /**\n * The callback function when an asset is selected - returns the selected asset key\n */\n onAssetSelected: PropTypes.func.isRequired,\n\n /**\n * The callback function when an asset is unselected - returns the unselected asset key\n */\n onAssetUnselected: PropTypes.func.isRequired,\n\n /**\n * Is the asset soft selected\n */\n softSelected: PropTypes.bool.isRequired,\n\n /**\n * A function that returns a custom component to use for the card in the gallery - The function provides\n * `asset` as its first argument\n */\n component: PropTypes.func,\n\n /**\n * Internal prop used by the gallery to determine if the card is in the viewport - This prop is\n * not intended to be used by consumers\n */\n scrollPosition: PropTypes.number,\n\n /**\n * If the width of the card is too small to render all the badges\n */\n collapseExtraInfo: PropTypes.bool,\n\n /**\n * Display a tooltip on hover with a summary of info about the asset\n */\n activeSummaryCard: PropTypes.bool,\n /**\n * * Display an icon on the card\n */\n displayIcon: PropTypes.oneOf(['dynamic', 'versions', 'verifications', ''])\n};\n\nexport default trackWindowScroll(\n React.memo(AssetGalleryCompactCard, (prevProps, nextProps) => {\n // The asset card will only re-render if any of the following props change.\n const reactiveProps = [\n 'selectable',\n 'selected',\n 'extendedSelectMode',\n 'softSelected',\n 'asset.previewUrl',\n 'asset.overlay',\n 'hasHeightAndWidth',\n 'collapseExtraInfo'\n ];\n\n return reactiveProps.every(propKey => get(prevProps, propKey) === get(nextProps, propKey));\n })\n);\n"],"names":["ComputedRootComponent","component","asset","props","newProps","mapKeys","omit","_","key","isFunction","Error","React","isValidElement","children","cloneElement","createElement","S","_extends","ref","AssetGalleryCompactCard","activeSummaryCard","displayIcon","selectable","hasHeightAndWidth","selected","customSelectedBorder","extendedSelectMode","onAssetSelected","onAssetUnselected","softSelected","scrollPosition","collapseExtraInfo","ARROW_WIDTH","ARROW_HEIGHT","GAP","arrowRef","useRef","isOpen","setIsOpen","useState","placement","isOverlayHovered","setIsOverlayHovered","openedSubActions","updateOpenedSubActions","refs","floatingStyles","context","useFloating","open","onOpenChange","whileElementsMounted","autoUpdate","middleware","offset","flip","padding","shift","arrow","element","isMounted","styles","useTransitionStyles","initial","transform","opacity","duration","close","hover","useHover","restMs","dismiss","useDismiss","referencePress","ancestorScroll","windowScroll","windowBlur","getReferenceProps","getFloatingProps","useInteractions","useEffect","newOpenedSubActions","actions","map","length","mouseHasEnteredOverlay","useCallback","mouseHasLeftOverlay","isAnySubActionsOpened","useMemo","some","isOpened","onClick","event","onSelectClick","preventDefault","stopPropagation","onContextMenu","cardRef","current","addEventListener","removeEventListener","onDragstart","dragRef","videoPlayerRef","overlayCompactRef","useMergeRefs","setReference","onMouseEnter","playPromise","play","undefined","then","catch","onMouseLeave","pause","renderPreview","previewContent","fileType","toLowerCase","LazyLoadComponent","loop","muted","src","previewUrl","type","className","HeadsetIcon","LazyLoadImage","alt","title","height","width","delayMethod","delayTime","threshold","$hasHeightAndWidth","scrollIntoView","behavior","block","renderVersionsBadge","versions","Badge","badgeIcon","LayersIcon","badgeContent","backgroundColors","colors","fontSize","fontWeight","lineHeight","verticalPadding","horizontalPadding","renderVerificationBadge","verifications","renderdynamicBadge","renderBadge","renderMediaBadge","PlayIcon","convertMsToHMS","minWidth","renderSummaryCardHeaderLeft","Fragment","renderPopoverContent","SummaryCard","description","instructions","imageRights","instructionsType","headerRight","summary","headerLeft","footerLeft","footerRight","view","disabled","as","draggable","innerRef","style","$softSelected","$isOverlayHovered","AssetActionsBase","$collapseExtraInfo","note","WarningCircleIcon","CheckRectangleIcon","completed","hasError","$customSelectedBorder","setFloating","overlay","propTypes","process","env","NODE_ENV","PropTypes","shape","assetShapeWithLayout","isRequired","bool","arrayOf","string","func","number","oneOf","trackWindowScroll","memo","prevProps","nextProps","reactiveProps","every","propKey","get"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AssetGalleryCompactCard.js","sources":["../../../../../src/components/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.js"],"sourcesContent":["import { get, isFunction, mapKeys, omit } from 'lodash';\nimport PropTypes from 'prop-types';\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport {\n LazyLoadComponent,\n LazyLoadImage,\n trackWindowScroll\n} from 'react-lazy-load-image-component';\nimport 'react-lazy-load-image-component/src/effects/opacity.css';\nimport {\n CheckRectangleIcon,\n HeadsetIcon,\n LayersIcon,\n PlayIcon,\n WarningCircleIcon\n} from '../../../../../icons';\nimport { convertMsToHMS } from '../../../../../utils/dateTime';\nimport { Badge } from '../../../../data';\n\nimport SummaryCard from '../../../SummaryCard/SummaryCard';\nimport { assetShapeWithLayout } from '../../asset.propType';\nimport * as S from './AssetGalleryCompactCard.styled';\n\nimport {\n useFloating,\n useHover,\n useInteractions,\n useTransitionStyles,\n flip,\n shift,\n arrow,\n autoUpdate,\n offset,\n useDismiss,\n useMergeRefs\n} from '@floating-ui/react';\nimport AssetActionsBase from '../../../AssetActionsBase/AssetActionsBase';\n\n// eslint-disable-next-line react/prop-types\nconst ComputedRootComponent = ({ component, asset, ...props }) => {\n // Omit props we don't need\n const newProps = mapKeys(\n omit(props, [\n 'theme',\n 'extendedSelectMode',\n 'softSelected',\n '$softSelected',\n 'customSelectedBorder',\n '$customSelectedBorder',\n 'hasHeightAndWidth',\n '$hasHeightAndWidth',\n 'collapseExtraInfo',\n '$collapseExtraInfo'\n ]),\n (_, key) => (key === 'innerRef' ? 'ref' : key)\n );\n\n if (component) {\n if (!isFunction(component)) throw Error('Expected a function in component-prop');\n\n if (React.isValidElement(component(asset, newProps.children))) {\n return React.cloneElement(component(asset, newProps.children), omit(newProps, ['children']));\n }\n }\n\n return <S.AssetGalleryCompactCard ref={newProps.ref} {...newProps} />;\n};\n\nconst AssetGalleryCompactCard = props => {\n const {\n asset,\n activeSummaryCard,\n displayIcon,\n selectable,\n hasHeightAndWidth,\n selected,\n customSelectedBorder,\n extendedSelectMode,\n onAssetSelected,\n onAssetUnselected,\n softSelected,\n component,\n scrollPosition,\n collapseExtraInfo\n } = props;\n\n const ARROW_WIDTH = 30;\n const ARROW_HEIGHT = 15;\n const GAP = 8;\n\n const arrowRef = useRef(null);\n\n const [isOpen, setIsOpen] = useState(false);\n const [placement] = useState('bottom');\n\n const [isOverlayHovered, setIsOverlayHovered] = useState(false);\n const [openedSubActions, updateOpenedSubActions] = useState([]);\n\n const { refs, floatingStyles, context } = useFloating({\n placement,\n open: isOpen,\n onOpenChange: setIsOpen,\n whileElementsMounted: autoUpdate,\n middleware: [\n offset(ARROW_HEIGHT + GAP),\n flip({ padding: 5 }),\n shift({ padding: 5 }),\n arrow({\n element: arrowRef\n })\n ]\n });\n\n const { isMounted, styles } = useTransitionStyles(context, {\n initial: {\n transform: 'translateY(-8px)',\n opacity: 0\n },\n duration: {\n open: 200,\n close: 100\n }\n });\n\n const hover = useHover(context, {\n restMs: 100\n });\n const dismiss = useDismiss(context, {\n referencePress: true,\n ancestorScroll: true,\n windowScroll: true,\n windowBlur: true\n });\n\n const { getReferenceProps, getFloatingProps } = useInteractions([dismiss, hover]);\n\n useEffect(() => {\n const newOpenedSubActions = (asset?.actions ?? []).map(() => false);\n updateOpenedSubActions(newOpenedSubActions);\n }, [asset]);\n\n useEffect(() => {\n if (!isOverlayHovered && openedSubActions?.length) {\n updateOpenedSubActions(openedSubActions.map(() => false));\n }\n }, [isOverlayHovered]);\n\n const mouseHasEnteredOverlay = useCallback(() => {\n setIsOverlayHovered(true);\n }, []);\n\n const mouseHasLeftOverlay = useCallback(() => {\n setIsOverlayHovered(false);\n }, []);\n\n const isAnySubActionsOpened = useMemo(() => {\n return openedSubActions.some(isOpened => isOpened);\n }, [openedSubActions]);\n\n function onClick(event) {\n if (extendedSelectMode) {\n return onSelectClick(event);\n }\n\n if (isFunction(asset.onClick)) {\n asset.onClick(event, asset);\n }\n }\n\n function onSelectClick(event) {\n event.preventDefault();\n event.stopPropagation();\n\n if (selected) {\n return onAssetUnselected(asset.key);\n }\n\n if (selectable) {\n return onAssetSelected(asset.key);\n }\n }\n\n function onContextMenu(event) {\n event.preventDefault();\n asset.onContextMenu(event);\n }\n\n useEffect(() => {\n if (isFunction(asset.onContextMenu)) {\n if (cardRef.current) {\n cardRef.current.addEventListener('contextmenu', onContextMenu);\n }\n return () => {\n if (cardRef.current) {\n cardRef.current.removeEventListener('contextmenu', onContextMenu);\n }\n };\n }\n }, []);\n\n function onDragstart(event) {\n asset.onDragstart(event);\n }\n\n useEffect(() => {\n if (isFunction(asset.onDragstart)) {\n if (dragRef.current) {\n dragRef.current.addEventListener('dragstart', onDragstart);\n }\n return () => {\n if (dragRef.current) {\n dragRef.current.removeEventListener('dragstart', onDragstart);\n }\n };\n }\n }, []);\n\n const videoPlayerRef = useRef();\n const cardRef = useRef();\n const dragRef = useRef(null);\n\n const overlayCompactRef = useMergeRefs([cardRef, refs.setReference]);\n\n function onMouseEnter(event) {\n if (videoPlayerRef.current) {\n const playPromise = videoPlayerRef.current.play();\n if (playPromise !== undefined) {\n playPromise\n .then(() => {\n // Playback started!\n })\n .catch(() => {\n // Play was prevented - silently swallow play errors\n });\n }\n }\n\n if (isFunction(asset.onMouseEnter)) {\n asset.onMouseEnter(event, asset);\n }\n }\n\n function onMouseLeave() {\n if (videoPlayerRef.current) {\n videoPlayerRef.current.pause();\n }\n }\n\n const renderPreview = asset => {\n let previewContent = null;\n if (asset?.fileType?.toLowerCase() === 'video') {\n previewContent = (\n <LazyLoadComponent scrollPosition={scrollPosition}>\n <video\n ref={videoPlayerRef}\n loop\n muted\n // style={{ maxHeight: maxHeight }}\n >\n <source src={asset.previewUrl} type=\"video/mp4\" />\n </video>\n </LazyLoadComponent>\n );\n } else if (asset?.fileType?.toLowerCase() === 'audio') {\n previewContent = (\n <LazyLoadComponent scrollPosition={scrollPosition}>\n <div className=\"audio\">\n <HeadsetIcon />\n </div>\n </LazyLoadComponent>\n );\n } else {\n previewContent = (\n <LazyLoadImage\n alt={asset?.title}\n src={asset?.previewUrl}\n height=\"100%\"\n width=\"100%\"\n delayMethod=\"debounce\"\n delayTime={0}\n threshold={1500}\n scrollPosition={scrollPosition}\n />\n );\n }\n\n return (\n <S.Figure $hasHeightAndWidth={hasHeightAndWidth}>\n {previewContent}\n <S.FigureOverlayBackdrop selected={selected} />\n </S.Figure>\n );\n };\n\n // If this asset is soft selected we will scroll it into the viewport if it's outside\n useEffect(() => {\n if (softSelected) {\n cardRef.current.scrollIntoView({ behavior: 'smooth', block: 'nearest' });\n }\n }, [softSelected]);\n\n const renderVersionsBadge = useCallback(() => {\n if (!asset?.versions) return null;\n\n return (\n <Badge\n badgeIcon={<LayersIcon />}\n badgeContent={asset.versions}\n backgroundColors={['black', 'black']}\n colors={['#f7f8f9', '#f7f8f9']}\n fontSize={12}\n fontWeight={500}\n lineHeight={16}\n verticalPadding={4}\n horizontalPadding={8}\n />\n );\n }, [asset]);\n\n const renderVerificationBadge = useCallback(() => {\n if (!asset?.verifications) return null;\n return asset?.verifications;\n }, [asset]);\n\n const renderdynamicBadge = useCallback(() => {\n if (asset?.verifications) return renderVerificationBadge();\n if (asset?.versions) return renderVersionsBadge();\n return null;\n });\n\n const renderBadge = () => {\n switch (displayIcon) {\n case 'versions':\n return renderVersionsBadge();\n case 'verifications':\n return renderVerificationBadge();\n case 'dynamic':\n return renderdynamicBadge();\n default:\n return null;\n }\n };\n\n const renderMediaBadge = useCallback(() => {\n let badgeIcon = null;\n let badgeContent = null;\n\n if (asset?.fileType === 'video') {\n badgeIcon = <PlayIcon />;\n }\n\n if (asset?.duration) {\n badgeContent = convertMsToHMS(asset.duration);\n }\n\n if (!badgeIcon && !badgeContent) return null;\n return (\n <Badge\n badgeIcon={badgeIcon}\n badgeContent={badgeContent}\n backgroundColors={['black', 'black']}\n colors={['#f7f8f9', '#f7f8f9']}\n fontSize={12}\n fontWeight={500}\n lineHeight={16}\n verticalPadding={4}\n horizontalPadding={8}\n minWidth={32}\n height={24}\n />\n );\n }, [asset]);\n\n const renderSummaryCardHeaderLeft = useCallback(() => {\n return (\n <>\n {renderVersionsBadge()}\n {renderMediaBadge()}\n </>\n );\n }, [asset]);\n\n const renderPopoverContent = useCallback(() => {\n return (\n <SummaryCard\n activeSummaryCard={activeSummaryCard}\n title={asset?.title || ''}\n description={asset?.description || ''}\n instructions={asset?.imageRights || ''}\n instructionsSeverity={asset?.instructionSeverity}\n headerRight={asset?.summary?.headerRight || ''}\n headerLeft={\n <>\n {renderSummaryCardHeaderLeft()}\n {asset?.summary?.headerLeft || ''}\n </>\n }\n footerLeft={asset?.summary?.footerLeft || ''}\n footerRight={asset?.summary?.footerRight || ''}\n width={375}\n view={'compact'}\n />\n );\n }, [asset]);\n\n return (\n <S.AssetGalleryWrapper disabled={asset.disabled}>\n <S.AssetGalleryCompactCard\n as={ComputedRootComponent}\n component={component}\n disabled={asset.disabled}\n asset={asset}\n onClick={onClick}\n extendedSelectMode={extendedSelectMode}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n draggable={asset.draggable}\n innerRef={dragRef}\n selected={selected}\n // ref={refs.setReference}\n {...getReferenceProps()}\n >\n <S.Reference ref={refs.setReference}>\n {asset.previewUrl && renderPreview(asset)}\n </S.Reference>\n\n <S.Overlay\n ref={overlayCompactRef}\n onMouseEnter={mouseHasEnteredOverlay}\n onMouseLeave={mouseHasLeftOverlay}\n style={{ height: '100%' }}\n {...getReferenceProps()}\n >\n <S.OverlayBackdrop $softSelected={softSelected} selected={selected} />\n {(asset?.statusIcon || asset?.actions) && (\n <S.OverlayInfoTopActions>\n {asset.statusIcon && <S.StatusIcon>{asset.statusIcon}</S.StatusIcon>}\n {asset?.actions && (\n <>\n <S.VisibleOnHover>\n <AssetActionsBase actions={asset.actions} asset={asset} />\n </S.VisibleOnHover>\n </>\n )}\n </S.OverlayInfoTopActions>\n )}\n <S.OverlayInfo>\n {isOverlayHovered && <span>{asset.title}</span>}\n <S.OverlayInfoTop>\n <S.OverlayInfoTopLeft $collapseExtraInfo={collapseExtraInfo}>\n {renderBadge()}\n </S.OverlayInfoTopLeft>\n {asset?.note?.title && (\n <S.OverlayInfoTopWarning type={asset?.note?.type}>\n <WarningCircleIcon />\n </S.OverlayInfoTopWarning>\n )}\n </S.OverlayInfoTop>\n <S.OverlayInfoBottom>\n {selectable && (\n <S.OverlayInfoBottomSelectButton selected={selected}>\n <CheckRectangleIcon onClick={onSelectClick} />\n </S.OverlayInfoBottomSelectButton>\n )}\n <S.OverlayInfoBottomMediaIcon>{renderMediaBadge()}</S.OverlayInfoBottomMediaIcon>\n </S.OverlayInfoBottom>\n </S.OverlayInfo>\n {asset.completed && <S.OverlayCompleted $softSelected={softSelected} />}\n {asset.hasError && <S.OverlayHasError $softSelected={softSelected} />}\n {selectable && (\n <S.OverlaySelected\n selected={selected}\n $softSelected={softSelected}\n $customSelectedBorder={customSelectedBorder}\n />\n )}\n {isOpen &&\n isOverlayHovered &&\n isMounted &&\n activeSummaryCard &&\n !isAnySubActionsOpened && (\n <div ref={refs.setFloating} style={floatingStyles} {...getFloatingProps()}>\n <div style={styles} className=\"floating\">\n {renderPopoverContent()}\n <S.StyledFloatingArrow\n ref={arrowRef}\n context={context}\n width={ARROW_WIDTH}\n height={ARROW_HEIGHT}\n />\n </div>\n </div>\n )}\n {isOpen &&\n isOverlayHovered &&\n isMounted &&\n activeSummaryCard &&\n !isAnySubActionsOpened && (\n <div ref={refs.setFloating} style={floatingStyles} {...getFloatingProps()}>\n <div style={styles} className=\"floating\">\n {renderPopoverContent()}\n <S.StyledFloatingArrow\n ref={arrowRef}\n context={context}\n width={ARROW_WIDTH}\n height={ARROW_HEIGHT}\n />\n </div>\n </div>\n )}\n </S.Overlay>\n\n {asset.overlay && <S.ConsumerDefinedOverlay>{asset.overlay}</S.ConsumerDefinedOverlay>}\n </S.AssetGalleryCompactCard>\n </S.AssetGalleryWrapper>\n );\n};\n\nAssetGalleryCompactCard.propTypes = {\n /**\n * An array of assets to display in the gallery.\n */\n asset: PropTypes.shape(assetShapeWithLayout).isRequired,\n\n /**\n * Tells the asset card that the asset height and width was known\n */\n hasHeightAndWidth: PropTypes.bool,\n\n /**\n * Whether or not the asset gallery should have selectable asset cards\n */\n selectable: PropTypes.bool,\n\n /**\n * Is the asset selected\n */\n selected: PropTypes.bool,\n\n /**\n * Whether or not the asset gallery should have custom borders on selected asset\n */\n customSelectedBorder: PropTypes.arrayOf(PropTypes.string),\n\n /**\n * Makes the whole asset card into a selectable area\n */\n extendedSelectMode: PropTypes.bool,\n\n /**\n * The callback function when an asset is selected - returns the selected asset key\n */\n onAssetSelected: PropTypes.func.isRequired,\n\n /**\n * The callback function when an asset is unselected - returns the unselected asset key\n */\n onAssetUnselected: PropTypes.func.isRequired,\n\n /**\n * Is the asset soft selected\n */\n softSelected: PropTypes.bool.isRequired,\n\n /**\n * A function that returns a custom component to use for the card in the gallery - The function provides\n * `asset` as its first argument\n */\n component: PropTypes.func,\n\n /**\n * Internal prop used by the gallery to determine if the card is in the viewport - This prop is\n * not intended to be used by consumers\n */\n scrollPosition: PropTypes.number,\n\n /**\n * If the width of the card is too small to render all the badges\n */\n collapseExtraInfo: PropTypes.bool,\n\n /**\n * Display a tooltip on hover with a summary of info about the asset\n */\n activeSummaryCard: PropTypes.bool,\n /**\n * * Display an icon on the card\n */\n displayIcon: PropTypes.oneOf(['dynamic', 'versions', 'verifications', ''])\n};\n\nexport default trackWindowScroll(\n React.memo(AssetGalleryCompactCard, (prevProps, nextProps) => {\n // The asset card will only re-render if any of the following props change.\n const reactiveProps = [\n 'selectable',\n 'selected',\n 'extendedSelectMode',\n 'softSelected',\n 'asset.previewUrl',\n 'asset.overlay',\n 'asset.statusIcon',\n 'hasHeightAndWidth',\n 'collapseExtraInfo'\n ];\n\n return reactiveProps.every(propKey => get(prevProps, propKey) === get(nextProps, propKey));\n })\n);\n"],"names":["ComputedRootComponent","component","asset","props","newProps","mapKeys","omit","_","key","isFunction","Error","React","isValidElement","children","cloneElement","createElement","S","_extends","ref","AssetGalleryCompactCard","activeSummaryCard","displayIcon","selectable","hasHeightAndWidth","selected","customSelectedBorder","extendedSelectMode","onAssetSelected","onAssetUnselected","softSelected","scrollPosition","collapseExtraInfo","ARROW_WIDTH","ARROW_HEIGHT","GAP","arrowRef","useRef","isOpen","setIsOpen","useState","placement","isOverlayHovered","setIsOverlayHovered","openedSubActions","updateOpenedSubActions","refs","floatingStyles","context","useFloating","open","onOpenChange","whileElementsMounted","autoUpdate","middleware","offset","flip","padding","shift","arrow","element","isMounted","styles","useTransitionStyles","initial","transform","opacity","duration","close","hover","useHover","restMs","dismiss","useDismiss","referencePress","ancestorScroll","windowScroll","windowBlur","getReferenceProps","getFloatingProps","useInteractions","useEffect","newOpenedSubActions","actions","map","length","mouseHasEnteredOverlay","useCallback","mouseHasLeftOverlay","isAnySubActionsOpened","useMemo","some","isOpened","onClick","event","onSelectClick","preventDefault","stopPropagation","onContextMenu","cardRef","current","addEventListener","removeEventListener","onDragstart","dragRef","videoPlayerRef","overlayCompactRef","useMergeRefs","setReference","onMouseEnter","playPromise","play","undefined","then","catch","onMouseLeave","pause","renderPreview","previewContent","fileType","toLowerCase","LazyLoadComponent","loop","muted","src","previewUrl","type","className","HeadsetIcon","LazyLoadImage","alt","title","height","width","delayMethod","delayTime","threshold","$hasHeightAndWidth","scrollIntoView","behavior","block","renderVersionsBadge","versions","Badge","badgeIcon","LayersIcon","badgeContent","backgroundColors","colors","fontSize","fontWeight","lineHeight","verticalPadding","horizontalPadding","renderVerificationBadge","verifications","renderdynamicBadge","renderBadge","renderMediaBadge","PlayIcon","convertMsToHMS","minWidth","renderSummaryCardHeaderLeft","Fragment","renderPopoverContent","SummaryCard","description","instructions","imageRights","instructionsSeverity","instructionSeverity","headerRight","summary","headerLeft","footerLeft","footerRight","view","disabled","as","draggable","innerRef","style","$softSelected","statusIcon","AssetActionsBase","$collapseExtraInfo","note","WarningCircleIcon","CheckRectangleIcon","completed","hasError","$customSelectedBorder","setFloating","overlay","propTypes","process","env","NODE_ENV","PropTypes","shape","assetShapeWithLayout","isRequired","bool","arrayOf","string","func","number","oneOf","trackWindowScroll","memo","prevProps","nextProps","reactiveProps","every","propKey","get"],"mappings":"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"}
|