@ntbjs/react-components 2.0.7-rc.1 → 2.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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;AAACC,IAAAA,UAAU,EAAEA,UAAW;AAACsB,IAAAA,UAAU,EAAErB,SAAAA;GACpEH,EAAAA,IAAI,EAAC,GAAC,EAAAL,cAAA,CAAAkB,aAAA,CAAOf,MAAAA,EAAAA,IAAAA,EAAAA,YAAmB,CACpB,CACR,CAAC,CAAA;AAEd,CAAC,EAAC;AAEFJ,KAAK,CAAC+B,SAAS,GAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA,KAAG,YAAA,GAAA;AAIhB/B,EAAAA,IAAI,EAAEgC,SAAS,CAACC,KAAK,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;EAInD9B,IAAI,EAAE6B,SAAS,CAACE,OAAO;EAIvBhC,KAAK,EAAE8B,SAAS,CAACC,KAAK,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;EAI1ChC,YAAY,EAAE+B,SAAS,CAACG,MAAM;EAI9B/B,QAAQ,EAAE4B,SAAS,CAACI,MAAM;EAI1B/B,UAAU,EAAE2B,SAAS,CAACI,MAAM;EAI5B9B,SAAS,EAAE0B,SAAS,CAACI,MAAM;EAI3B7B,eAAe,EAAEyB,SAAS,CAACI,MAAM;EAIjC5B,iBAAiB,EAAEwB,SAAS,CAACI,MAAM;EAInC3B,KAAK,EAAEuB,SAAS,CAACI,MAAAA;AACnB,CAAC,GAAA,EAAA,CAAA;AAEDvC,KAAK,CAACwC,YAAY,GAAG;AACnBnC,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;;;;"}
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.lineHeight ? `line-height: ${props.lineHeight}px;` : null}
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.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,UAAU,GAAG,CAAgBf,aAAAA,EAAAA,KAAK,CAACe,UAAU,CAAK,GAAA,CAAA,GAAG,IAAK,CAAA;AAC9E,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;;;;"}
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;;;;"}
@@ -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
- setLoadingState(false);
49
- setLoadingStep(113);
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 () => clearInterval(loadingInterval.current);
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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"}
@@ -88,7 +88,7 @@ const CompactTextInput = React__default.forwardRef(function CompactTextInput({
88
88
  $edit: edit,
89
89
  placeholder: placeholder,
90
90
  defaultValue: defaultValue,
91
- value: value,
91
+ value: value ?? '',
92
92
  $type: type,
93
93
  $bold: bold,
94
94
  $haslink: !isEmpty(link),
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ntbjs/react-components",
3
- "version": "2.0.7-rc.1",
3
+ "version": "2.0.8",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },