@codacy/ui-components 0.61.6 → 0.61.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/Button/types.d.ts +2 -2
- package/lib/Toast/Toast.js +92 -13
- package/lib/Toast/types.d.ts +2 -2
- package/lib/utils/hash.d.ts +1 -0
- package/lib/utils/hash.js +9 -0
- package/lib/utils/reactNodeToText.d.ts +2 -0
- package/lib/utils/reactNodeToText.js +38 -0
- package/package.json +7 -6
package/lib/Button/types.d.ts
CHANGED
|
@@ -4,9 +4,9 @@ import { IconFile, IconProps } from '../Icon/Icon.types';
|
|
|
4
4
|
import { ContainerComponentProps } from '../types';
|
|
5
5
|
export declare type ButtonSize = 'sm' | 'md';
|
|
6
6
|
export declare type ButtonType = 'default' | 'primary' | 'link' | 'flat' | 'primaryFlat';
|
|
7
|
-
export declare type ButtonColorScheme = 'primary' | 'danger' | 'subtle';
|
|
7
|
+
export declare type ButtonColorScheme = 'primary' | 'success' | 'danger' | 'subtle';
|
|
8
8
|
/** @deprecated Use color prop instead */
|
|
9
|
-
export declare type DeprecatedButtonType = 'danger' | 'subtle';
|
|
9
|
+
export declare type DeprecatedButtonType = 'danger' | 'success' | 'subtle';
|
|
10
10
|
export interface ButtonProps extends ContainerComponentProps, SpaceProps {
|
|
11
11
|
/** Disables the button, disallowing interaction */
|
|
12
12
|
disabled?: boolean;
|
package/lib/Toast/Toast.js
CHANGED
|
@@ -1,9 +1,16 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
1
2
|
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
2
|
-
import
|
|
3
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
4
|
+
import _styled from "@emotion/styled-base";
|
|
5
|
+
import React, { useEffect, useMemo } from 'react';
|
|
6
|
+
import { css } from '@emotion/core';
|
|
7
|
+
import { Box } from '../Flexbox';
|
|
8
|
+
import { hash } from '../utils/hash';
|
|
3
9
|
import { StyledToastContainer } from './styles';
|
|
4
10
|
import { ErrorIcon, WarningIcon, InfoIcon, SuccessIcon } from '../Icons';
|
|
5
11
|
import { toast as launchToast, ToastContainer as ToastifyContainer } from 'react-toastify';
|
|
6
12
|
import { Subheader, Paragraph } from '../Typography';
|
|
13
|
+
import { reactNodeToText } from '../utils/reactNodeToText';
|
|
7
14
|
var DEFAULT_TOAST_TYPE = 'success';
|
|
8
15
|
var TypeIcons = {
|
|
9
16
|
"default": /*#__PURE__*/React.createElement(SuccessIcon, null),
|
|
@@ -13,11 +20,23 @@ var TypeIcons = {
|
|
|
13
20
|
warning: /*#__PURE__*/React.createElement(WarningIcon, null)
|
|
14
21
|
};
|
|
15
22
|
|
|
16
|
-
var
|
|
17
|
-
|
|
23
|
+
var StyledToastContent = /*#__PURE__*/_styled(Box, {
|
|
24
|
+
target: "emj4p720"
|
|
25
|
+
})(function (_ref) {
|
|
26
|
+
var instances = _ref.instances,
|
|
27
|
+
theme = _ref.theme;
|
|
28
|
+
return instances > 1 ? /*#__PURE__*/css(":after{content:\"", instances, "\";display:flex;position:absolute;justify-content:center;align-items:center;top:0.25rem;right:1.75rem;background:", theme.colors['background-secondary'], ";color:", theme.colors['text-complementary'], ";font-size:", theme.fontSizes[1], ";width:1.5rem;height:1.5rem;border-radius:50%;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Ub2FzdC9Ub2FzdC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBeUJTIiwiZmlsZSI6Ii4uLy4uL3NyYy9Ub2FzdC9Ub2FzdC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCdcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2NvcmUnXG5pbXBvcnQgeyBDb2RhY3lUaGVtZSB9IGZyb20gJy4uL3RoZW1lJ1xuaW1wb3J0IHsgQm94IH0gZnJvbSAnLi4vRmxleGJveCdcbmltcG9ydCB7IGhhc2ggfSBmcm9tICcuLi91dGlscy9oYXNoJ1xuaW1wb3J0IHsgU3R5bGVkVG9hc3RDb250YWluZXIgfSBmcm9tICcuL3N0eWxlcydcbmltcG9ydCB7IEVycm9ySWNvbiwgV2FybmluZ0ljb24sIEluZm9JY29uLCBTdWNjZXNzSWNvbiB9IGZyb20gJy4uL0ljb25zJ1xuaW1wb3J0IHsgVG9hc3RDb250ZW50LCBUb2FzdENvbmZpZywgVG9hc3RUeXBlIH0gZnJvbSAnLi90eXBlcydcbmltcG9ydCB7IHRvYXN0IGFzIGxhdW5jaFRvYXN0LCBUb2FzdENvbnRhaW5lciBhcyBUb2FzdGlmeUNvbnRhaW5lciB9IGZyb20gJ3JlYWN0LXRvYXN0aWZ5J1xuaW1wb3J0IHsgU3ViaGVhZGVyLCBQYXJhZ3JhcGggfSBmcm9tICcuLi9UeXBvZ3JhcGh5J1xuaW1wb3J0IHsgcmVhY3ROb2RlVG9UZXh0IH0gZnJvbSAnLi4vdXRpbHMvcmVhY3ROb2RlVG9UZXh0J1xuXG5jb25zdCBERUZBVUxUX1RPQVNUX1RZUEUgPSAnc3VjY2VzcydcblxuY29uc3QgVHlwZUljb25zOiB7IFtrIGluIFRvYXN0VHlwZV06IFJlYWN0LlJlYWN0Tm9kZSB9ID0ge1xuICBkZWZhdWx0OiA8U3VjY2Vzc0ljb24gLz4sXG4gIHN1Y2Nlc3M6IDxTdWNjZXNzSWNvbiAvPixcbiAgZXJyb3I6IDxFcnJvckljb24gLz4sXG4gIGluZm86IDxJbmZvSWNvbiAvPixcbiAgd2FybmluZzogPFdhcm5pbmdJY29uIC8+LFxufVxuXG5jb25zdCBTdHlsZWRUb2FzdENvbnRlbnQgPSBzdHlsZWQoQm94KTx7IGluc3RhbmNlczogbnVtYmVyIH0sIENvZGFjeVRoZW1lPigoeyBpbnN0YW5jZXMsIHRoZW1lIH0pID0+XG4gIGluc3RhbmNlcyA+IDFcbiAgICA/IGNzc2BcbiAgICAgICAgOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBcIiR7aW5zdGFuY2VzfVwiO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgdG9wOiAwLjI1cmVtO1xuICAgICAgICAgIHJpZ2h0OiAxLjc1cmVtO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICR7dGhlbWUuY29sb3JzWydiYWNrZ3JvdW5kLXNlY29uZGFyeSddfTtcbiAgICAgICAgICBjb2xvcjogJHt0aGVtZS5jb2xvcnNbJ3RleHQtY29tcGxlbWVudGFyeSddfTtcbiAgICAgICAgICBmb250LXNpemU6ICR7dGhlbWUuZm9udFNpemVzWzFdfTtcbiAgICAgICAgICB3aWR0aDogMS41cmVtO1xuICAgICAgICAgIGhlaWdodDogMS41cmVtO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgfVxuICAgICAgYFxuICAgIDogJydcbilcblxuY29uc3QgVG9hc3RDb250ZW50V3JhcHBlcjogUmVhY3QuRkM8eyBjb250ZW50OiBUb2FzdENvbnRlbnQ7IGluc3RhbmNlcz86IG51bWJlciB9PiA9ICh7IGNvbnRlbnQsIGluc3RhbmNlcyA9IDEgfSkgPT4ge1xuICBpZiAoISFjb250ZW50ICYmIHR5cGVvZiBjb250ZW50ID09PSAnb2JqZWN0JyAmJiAnZGVzY3JpcHRpb24nIGluIGNvbnRlbnQpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZFRvYXN0Q29udGVudCBpbnN0YW5jZXM9e2luc3RhbmNlc30+XG4gICAgICAgIHtjb250ZW50LnRpdGxlICYmIChcbiAgICAgICAgICA8U3ViaGVhZGVyIHNpemU9XCJsZ1wiIG1iPXsyfT5cbiAgICAgICAgICAgIHtjb250ZW50LnRpdGxlfVxuICAgICAgICAgIDwvU3ViaGVhZGVyPlxuICAgICAgICApfVxuICAgICAgICA8UGFyYWdyYXBoIGNvbG9yPVwic2Vjb25kYXJ5XCIgYXM9XCJkaXZcIj5cbiAgICAgICAgICB7Y29udGVudC5kZXNjcmlwdGlvbn1cbiAgICAgICAgPC9QYXJhZ3JhcGg+XG4gICAgICA8L1N0eWxlZFRvYXN0Q29udGVudD5cbiAgICApXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRUb2FzdENvbnRlbnQgaW5zdGFuY2VzPXtpbnN0YW5jZXN9PlxuICAgICAgPFBhcmFncmFwaCBjb2xvcj1cInNlY29uZGFyeVwiIGFzPVwiZGl2XCI+XG4gICAgICAgIHtjb250ZW50fVxuICAgICAgPC9QYXJhZ3JhcGg+XG4gICAgPC9TdHlsZWRUb2FzdENvbnRlbnQ+XG4gIClcbn1cblxuY29uc3QgdXNlVG9hc3QgPSAoZGVmYXVsdE9wdGlvbnM/OiBUb2FzdENvbmZpZykgPT4ge1xuICBjb25zdCBbYWN0aXZlVG9hc3RzLCBzZXRBY3RpdmVUb2FzdHNdID0gUmVhY3QudXNlU3RhdGU8UmVjb3JkPHN0cmluZywgbnVtYmVyPj4oe30pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCB1bnN1YnNjcmliZSA9IGxhdW5jaFRvYXN0Lm9uQ2hhbmdlKHBheWxvYWQgPT4ge1xuICAgICAgaWYgKHBheWxvYWQuc3RhdHVzID09PSAncmVtb3ZlZCcpIHtcbiAgICAgICAgc2V0QWN0aXZlVG9hc3RzKHByZXYgPT4gKHsgLi4ucHJldiwgW3BheWxvYWQuaWRdOiAwIH0pKVxuICAgICAgfVxuICAgIH0pXG5cbiAgICByZXR1cm4gKCkgPT4gdW5zdWJzY3JpYmUoKVxuICB9LCBbYWN0aXZlVG9hc3RzXSlcblxuICBjb25zdCBzaG93VG9hc3RGbiA9IHVzZU1lbW8oXG4gICAgKCkgPT4gKGNvbnRlbnQ6IFRvYXN0Q29udGVudCwgb3B0aW9ucz86IFRvYXN0Q29uZmlnKSA9PiB7XG4gICAgICBjb25zdCBvcHMgPSB7XG4gICAgICAgIC4uLmRlZmF1bHRPcHRpb25zLFxuICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgfVxuXG4gICAgICBjb25zdCBpbm5lclRleHRIYXNoID0gaGFzaChnZXRJbm5lclRvYXN0VGV4dChjb250ZW50KSlcblxuICAgICAgaWYgKCFsYXVuY2hUb2FzdC5pc0FjdGl2ZShpbm5lclRleHRIYXNoKSkge1xuICAgICAgICBsYXVuY2hUb2FzdCg8VG9hc3RDb250ZW50V3JhcHBlciBjb250ZW50PXtjb250ZW50fSAvPiwge1xuICAgICAgICAgIC4uLm9wcyxcbiAgICAgICAgICBpY29uOiBUeXBlSWNvbnNbb3BzPy50eXBlIHx8IERFRkFVTFRfVE9BU1RfVFlQRV0sXG4gICAgICAgICAgYXV0b0Nsb3NlOiBvcHM/LmR1cmF0aW9uID09PSBudWxsID8gZmFsc2UgOiBvcHM/LmR1cmF0aW9uLFxuICAgICAgICAgIHRvYXN0SWQ6IGlubmVyVGV4dEhhc2gsXG4gICAgICAgIH0pXG5cbiAgICAgICAgc2V0QWN0aXZlVG9hc3RzKHByZXYgPT4gKHsgLi4ucHJldiwgW2lubmVyVGV4dEhhc2hdOiAxIH0pKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2V0QWN0aXZlVG9hc3RzKHByZXYgPT4ge1xuICAgICAgICAgIGxhdW5jaFRvYXN0LnVwZGF0ZShpbm5lclRleHRIYXNoLCB7XG4gICAgICAgICAgICByZW5kZXI6IDxUb2FzdENvbnRlbnRXcmFwcGVyIGNvbnRlbnQ9e2NvbnRlbnR9IGluc3RhbmNlcz17cHJldltpbm5lclRleHRIYXNoXSArIDF9IC8+LFxuICAgICAgICAgIH0pXG5cbiAgICAgICAgICByZXR1cm4geyAuLi5wcmV2LCBbaW5uZXJUZXh0SGFzaF06IHByZXZbaW5uZXJUZXh0SGFzaF0gKyAxIH1cbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9LFxuICAgIFtkZWZhdWx0T3B0aW9uc11cbiAgKVxuXG4gIHJldHVybiBzaG93VG9hc3RGblxufVxuXG5jb25zdCBnZXRJbm5lclRvYXN0VGV4dCA9IChjb250ZW50OiBUb2FzdENvbnRlbnQpID0+IHtcbiAgaWYgKCFjb250ZW50KSByZXR1cm4gJydcblxuICBzd2l0Y2ggKHR5cGVvZiBjb250ZW50KSB7XG4gICAgY2FzZSAnc3RyaW5nJzpcbiAgICAgIHJldHVybiBjb250ZW50XG4gICAgY2FzZSAnb2JqZWN0JzpcbiAgICAgIGlmICgndGl0bGUnIGluIGNvbnRlbnQgfHwgJ2Rlc2NyaXB0aW9uJyBpbiBjb250ZW50KSB7XG4gICAgICAgIGlmICh0eXBlb2YgY29udGVudC5kZXNjcmlwdGlvbiA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICByZXR1cm4gYCR7Y29udGVudC50aXRsZSB8fCAnJ30gJHtyZWFjdE5vZGVUb1RleHQoY29udGVudC5kZXNjcmlwdGlvbil9YFxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBgJHtjb250ZW50LnRpdGxlIHx8ICcnfSAke2NvbnRlbnQuZGVzY3JpcHRpb259YFxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZWFjdE5vZGVUb1RleHQoY29udGVudCBhcyBSZWFjdC5SZWFjdE5vZGUpXG5cbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuICcnXG4gIH1cbn1cblxuY29uc3QgVG9hc3RDb250YWluZXIgPSAoKSA9PiAoXG4gIDxTdHlsZWRUb2FzdENvbnRhaW5lcj5cbiAgICA8VG9hc3RpZnlDb250YWluZXIgcG9zaXRpb249XCJib3R0b20tcmlnaHRcIiBhdXRvQ2xvc2U9ezMwMDB9IGhpZGVQcm9ncmVzc0JhciBuZXdlc3RPblRvcCBwYXVzZU9uSG92ZXIgLz5cbiAgPC9TdHlsZWRUb2FzdENvbnRhaW5lcj5cbilcblxuZXhwb3J0IHsgdXNlVG9hc3QsIFRvYXN0Q29udGFpbmVyIH1cbiJdfQ== */")) : '';
|
|
29
|
+
}, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Ub2FzdC9Ub2FzdC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBdUIyQiIsImZpbGUiOiIuLi8uLi9zcmMvVG9hc3QvVG9hc3QudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlTWVtbyB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJ1xuaW1wb3J0IHsgQ29kYWN5VGhlbWUgfSBmcm9tICcuLi90aGVtZSdcbmltcG9ydCB7IEJveCB9IGZyb20gJy4uL0ZsZXhib3gnXG5pbXBvcnQgeyBoYXNoIH0gZnJvbSAnLi4vdXRpbHMvaGFzaCdcbmltcG9ydCB7IFN0eWxlZFRvYXN0Q29udGFpbmVyIH0gZnJvbSAnLi9zdHlsZXMnXG5pbXBvcnQgeyBFcnJvckljb24sIFdhcm5pbmdJY29uLCBJbmZvSWNvbiwgU3VjY2Vzc0ljb24gfSBmcm9tICcuLi9JY29ucydcbmltcG9ydCB7IFRvYXN0Q29udGVudCwgVG9hc3RDb25maWcsIFRvYXN0VHlwZSB9IGZyb20gJy4vdHlwZXMnXG5pbXBvcnQgeyB0b2FzdCBhcyBsYXVuY2hUb2FzdCwgVG9hc3RDb250YWluZXIgYXMgVG9hc3RpZnlDb250YWluZXIgfSBmcm9tICdyZWFjdC10b2FzdGlmeSdcbmltcG9ydCB7IFN1YmhlYWRlciwgUGFyYWdyYXBoIH0gZnJvbSAnLi4vVHlwb2dyYXBoeSdcbmltcG9ydCB7IHJlYWN0Tm9kZVRvVGV4dCB9IGZyb20gJy4uL3V0aWxzL3JlYWN0Tm9kZVRvVGV4dCdcblxuY29uc3QgREVGQVVMVF9UT0FTVF9UWVBFID0gJ3N1Y2Nlc3MnXG5cbmNvbnN0IFR5cGVJY29uczogeyBbayBpbiBUb2FzdFR5cGVdOiBSZWFjdC5SZWFjdE5vZGUgfSA9IHtcbiAgZGVmYXVsdDogPFN1Y2Nlc3NJY29uIC8+LFxuICBzdWNjZXNzOiA8U3VjY2Vzc0ljb24gLz4sXG4gIGVycm9yOiA8RXJyb3JJY29uIC8+LFxuICBpbmZvOiA8SW5mb0ljb24gLz4sXG4gIHdhcm5pbmc6IDxXYXJuaW5nSWNvbiAvPixcbn1cblxuY29uc3QgU3R5bGVkVG9hc3RDb250ZW50ID0gc3R5bGVkKEJveCk8eyBpbnN0YW5jZXM6IG51bWJlciB9LCBDb2RhY3lUaGVtZT4oKHsgaW5zdGFuY2VzLCB0aGVtZSB9KSA9PlxuICBpbnN0YW5jZXMgPiAxXG4gICAgPyBjc3NgXG4gICAgICAgIDphZnRlciB7XG4gICAgICAgICAgY29udGVudDogXCIke2luc3RhbmNlc31cIjtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIHRvcDogMC4yNXJlbTtcbiAgICAgICAgICByaWdodDogMS43NXJlbTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAke3RoZW1lLmNvbG9yc1snYmFja2dyb3VuZC1zZWNvbmRhcnknXX07XG4gICAgICAgICAgY29sb3I6ICR7dGhlbWUuY29sb3JzWyd0ZXh0LWNvbXBsZW1lbnRhcnknXX07XG4gICAgICAgICAgZm9udC1zaXplOiAke3RoZW1lLmZvbnRTaXplc1sxXX07XG4gICAgICAgICAgd2lkdGg6IDEuNXJlbTtcbiAgICAgICAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIH1cbiAgICAgIGBcbiAgICA6ICcnXG4pXG5cbmNvbnN0IFRvYXN0Q29udGVudFdyYXBwZXI6IFJlYWN0LkZDPHsgY29udGVudDogVG9hc3RDb250ZW50OyBpbnN0YW5jZXM/OiBudW1iZXIgfT4gPSAoeyBjb250ZW50LCBpbnN0YW5jZXMgPSAxIH0pID0+IHtcbiAgaWYgKCEhY29udGVudCAmJiB0eXBlb2YgY29udGVudCA9PT0gJ29iamVjdCcgJiYgJ2Rlc2NyaXB0aW9uJyBpbiBjb250ZW50KSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRUb2FzdENvbnRlbnQgaW5zdGFuY2VzPXtpbnN0YW5jZXN9PlxuICAgICAgICB7Y29udGVudC50aXRsZSAmJiAoXG4gICAgICAgICAgPFN1YmhlYWRlciBzaXplPVwibGdcIiBtYj17Mn0+XG4gICAgICAgICAgICB7Y29udGVudC50aXRsZX1cbiAgICAgICAgICA8L1N1YmhlYWRlcj5cbiAgICAgICAgKX1cbiAgICAgICAgPFBhcmFncmFwaCBjb2xvcj1cInNlY29uZGFyeVwiIGFzPVwiZGl2XCI+XG4gICAgICAgICAge2NvbnRlbnQuZGVzY3JpcHRpb259XG4gICAgICAgIDwvUGFyYWdyYXBoPlxuICAgICAgPC9TdHlsZWRUb2FzdENvbnRlbnQ+XG4gICAgKVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkVG9hc3RDb250ZW50IGluc3RhbmNlcz17aW5zdGFuY2VzfT5cbiAgICAgIDxQYXJhZ3JhcGggY29sb3I9XCJzZWNvbmRhcnlcIiBhcz1cImRpdlwiPlxuICAgICAgICB7Y29udGVudH1cbiAgICAgIDwvUGFyYWdyYXBoPlxuICAgIDwvU3R5bGVkVG9hc3RDb250ZW50PlxuICApXG59XG5cbmNvbnN0IHVzZVRvYXN0ID0gKGRlZmF1bHRPcHRpb25zPzogVG9hc3RDb25maWcpID0+IHtcbiAgY29uc3QgW2FjdGl2ZVRvYXN0cywgc2V0QWN0aXZlVG9hc3RzXSA9IFJlYWN0LnVzZVN0YXRlPFJlY29yZDxzdHJpbmcsIG51bWJlcj4+KHt9KVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgdW5zdWJzY3JpYmUgPSBsYXVuY2hUb2FzdC5vbkNoYW5nZShwYXlsb2FkID0+IHtcbiAgICAgIGlmIChwYXlsb2FkLnN0YXR1cyA9PT0gJ3JlbW92ZWQnKSB7XG4gICAgICAgIHNldEFjdGl2ZVRvYXN0cyhwcmV2ID0+ICh7IC4uLnByZXYsIFtwYXlsb2FkLmlkXTogMCB9KSlcbiAgICAgIH1cbiAgICB9KVxuXG4gICAgcmV0dXJuICgpID0+IHVuc3Vic2NyaWJlKClcbiAgfSwgW2FjdGl2ZVRvYXN0c10pXG5cbiAgY29uc3Qgc2hvd1RvYXN0Rm4gPSB1c2VNZW1vKFxuICAgICgpID0+IChjb250ZW50OiBUb2FzdENvbnRlbnQsIG9wdGlvbnM/OiBUb2FzdENvbmZpZykgPT4ge1xuICAgICAgY29uc3Qgb3BzID0ge1xuICAgICAgICAuLi5kZWZhdWx0T3B0aW9ucyxcbiAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIH1cblxuICAgICAgY29uc3QgaW5uZXJUZXh0SGFzaCA9IGhhc2goZ2V0SW5uZXJUb2FzdFRleHQoY29udGVudCkpXG5cbiAgICAgIGlmICghbGF1bmNoVG9hc3QuaXNBY3RpdmUoaW5uZXJUZXh0SGFzaCkpIHtcbiAgICAgICAgbGF1bmNoVG9hc3QoPFRvYXN0Q29udGVudFdyYXBwZXIgY29udGVudD17Y29udGVudH0gLz4sIHtcbiAgICAgICAgICAuLi5vcHMsXG4gICAgICAgICAgaWNvbjogVHlwZUljb25zW29wcz8udHlwZSB8fCBERUZBVUxUX1RPQVNUX1RZUEVdLFxuICAgICAgICAgIGF1dG9DbG9zZTogb3BzPy5kdXJhdGlvbiA9PT0gbnVsbCA/IGZhbHNlIDogb3BzPy5kdXJhdGlvbixcbiAgICAgICAgICB0b2FzdElkOiBpbm5lclRleHRIYXNoLFxuICAgICAgICB9KVxuXG4gICAgICAgIHNldEFjdGl2ZVRvYXN0cyhwcmV2ID0+ICh7IC4uLnByZXYsIFtpbm5lclRleHRIYXNoXTogMSB9KSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNldEFjdGl2ZVRvYXN0cyhwcmV2ID0+IHtcbiAgICAgICAgICBsYXVuY2hUb2FzdC51cGRhdGUoaW5uZXJUZXh0SGFzaCwge1xuICAgICAgICAgICAgcmVuZGVyOiA8VG9hc3RDb250ZW50V3JhcHBlciBjb250ZW50PXtjb250ZW50fSBpbnN0YW5jZXM9e3ByZXZbaW5uZXJUZXh0SGFzaF0gKyAxfSAvPixcbiAgICAgICAgICB9KVxuXG4gICAgICAgICAgcmV0dXJuIHsgLi4ucHJldiwgW2lubmVyVGV4dEhhc2hdOiBwcmV2W2lubmVyVGV4dEhhc2hdICsgMSB9XG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgfSxcbiAgICBbZGVmYXVsdE9wdGlvbnNdXG4gIClcblxuICByZXR1cm4gc2hvd1RvYXN0Rm5cbn1cblxuY29uc3QgZ2V0SW5uZXJUb2FzdFRleHQgPSAoY29udGVudDogVG9hc3RDb250ZW50KSA9PiB7XG4gIGlmICghY29udGVudCkgcmV0dXJuICcnXG5cbiAgc3dpdGNoICh0eXBlb2YgY29udGVudCkge1xuICAgIGNhc2UgJ3N0cmluZyc6XG4gICAgICByZXR1cm4gY29udGVudFxuICAgIGNhc2UgJ29iamVjdCc6XG4gICAgICBpZiAoJ3RpdGxlJyBpbiBjb250ZW50IHx8ICdkZXNjcmlwdGlvbicgaW4gY29udGVudCkge1xuICAgICAgICBpZiAodHlwZW9mIGNvbnRlbnQuZGVzY3JpcHRpb24gPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgcmV0dXJuIGAke2NvbnRlbnQudGl0bGUgfHwgJyd9ICR7cmVhY3ROb2RlVG9UZXh0KGNvbnRlbnQuZGVzY3JpcHRpb24pfWBcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gYCR7Y29udGVudC50aXRsZSB8fCAnJ30gJHtjb250ZW50LmRlc2NyaXB0aW9ufWBcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVhY3ROb2RlVG9UZXh0KGNvbnRlbnQgYXMgUmVhY3QuUmVhY3ROb2RlKVxuXG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiAnJ1xuICB9XG59XG5cbmNvbnN0IFRvYXN0Q29udGFpbmVyID0gKCkgPT4gKFxuICA8U3R5bGVkVG9hc3RDb250YWluZXI+XG4gICAgPFRvYXN0aWZ5Q29udGFpbmVyIHBvc2l0aW9uPVwiYm90dG9tLXJpZ2h0XCIgYXV0b0Nsb3NlPXszMDAwfSBoaWRlUHJvZ3Jlc3NCYXIgbmV3ZXN0T25Ub3AgcGF1c2VPbkhvdmVyIC8+XG4gIDwvU3R5bGVkVG9hc3RDb250YWluZXI+XG4pXG5cbmV4cG9ydCB7IHVzZVRvYXN0LCBUb2FzdENvbnRhaW5lciB9XG4iXX0= */");
|
|
18
30
|
|
|
19
|
-
|
|
20
|
-
|
|
31
|
+
var ToastContentWrapper = function ToastContentWrapper(_ref2) {
|
|
32
|
+
var content = _ref2.content,
|
|
33
|
+
_ref2$instances = _ref2.instances,
|
|
34
|
+
instances = _ref2$instances === void 0 ? 1 : _ref2$instances;
|
|
35
|
+
|
|
36
|
+
if (!!content && typeof content === 'object' && 'description' in content) {
|
|
37
|
+
return /*#__PURE__*/React.createElement(StyledToastContent, {
|
|
38
|
+
instances: instances
|
|
39
|
+
}, content.title && /*#__PURE__*/React.createElement(Subheader, {
|
|
21
40
|
size: "lg",
|
|
22
41
|
mb: 2
|
|
23
42
|
}, content.title), /*#__PURE__*/React.createElement(Paragraph, {
|
|
@@ -26,28 +45,88 @@ var ToastContentWrapper = function ToastContentWrapper(_ref) {
|
|
|
26
45
|
}, content.description));
|
|
27
46
|
}
|
|
28
47
|
|
|
29
|
-
return /*#__PURE__*/React.createElement(
|
|
48
|
+
return /*#__PURE__*/React.createElement(StyledToastContent, {
|
|
49
|
+
instances: instances
|
|
50
|
+
}, /*#__PURE__*/React.createElement(Paragraph, {
|
|
30
51
|
color: "secondary",
|
|
31
52
|
as: "div"
|
|
32
|
-
}, content);
|
|
53
|
+
}, content));
|
|
33
54
|
};
|
|
34
55
|
|
|
35
56
|
var useToast = function useToast(defaultOptions) {
|
|
57
|
+
var _React$useState = React.useState({}),
|
|
58
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
59
|
+
activeToasts = _React$useState2[0],
|
|
60
|
+
setActiveToasts = _React$useState2[1];
|
|
61
|
+
|
|
62
|
+
useEffect(function () {
|
|
63
|
+
var unsubscribe = launchToast.onChange(function (payload) {
|
|
64
|
+
if (payload.status === 'removed') {
|
|
65
|
+
setActiveToasts(function (prev) {
|
|
66
|
+
return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, payload.id, 0));
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
return function () {
|
|
71
|
+
return unsubscribe();
|
|
72
|
+
};
|
|
73
|
+
}, [activeToasts]);
|
|
36
74
|
var showToastFn = useMemo(function () {
|
|
37
75
|
return function (content, options) {
|
|
38
76
|
var ops = _objectSpread(_objectSpread({}, defaultOptions), options);
|
|
39
77
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
78
|
+
var innerTextHash = hash(getInnerToastText(content));
|
|
79
|
+
|
|
80
|
+
if (!launchToast.isActive(innerTextHash)) {
|
|
81
|
+
launchToast( /*#__PURE__*/React.createElement(ToastContentWrapper, {
|
|
82
|
+
content: content
|
|
83
|
+
}), _objectSpread(_objectSpread({}, ops), {}, {
|
|
84
|
+
icon: TypeIcons[(ops === null || ops === void 0 ? void 0 : ops.type) || DEFAULT_TOAST_TYPE],
|
|
85
|
+
autoClose: (ops === null || ops === void 0 ? void 0 : ops.duration) === null ? false : ops === null || ops === void 0 ? void 0 : ops.duration,
|
|
86
|
+
toastId: innerTextHash
|
|
87
|
+
}));
|
|
88
|
+
setActiveToasts(function (prev) {
|
|
89
|
+
return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, innerTextHash, 1));
|
|
90
|
+
});
|
|
91
|
+
} else {
|
|
92
|
+
setActiveToasts(function (prev) {
|
|
93
|
+
launchToast.update(innerTextHash, {
|
|
94
|
+
render: /*#__PURE__*/React.createElement(ToastContentWrapper, {
|
|
95
|
+
content: content,
|
|
96
|
+
instances: prev[innerTextHash] + 1
|
|
97
|
+
})
|
|
98
|
+
});
|
|
99
|
+
return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, innerTextHash, prev[innerTextHash] + 1));
|
|
100
|
+
});
|
|
101
|
+
}
|
|
46
102
|
};
|
|
47
103
|
}, [defaultOptions]);
|
|
48
104
|
return showToastFn;
|
|
49
105
|
};
|
|
50
106
|
|
|
107
|
+
var getInnerToastText = function getInnerToastText(content) {
|
|
108
|
+
if (!content) return '';
|
|
109
|
+
|
|
110
|
+
switch (typeof content) {
|
|
111
|
+
case 'string':
|
|
112
|
+
return content;
|
|
113
|
+
|
|
114
|
+
case 'object':
|
|
115
|
+
if ('title' in content || 'description' in content) {
|
|
116
|
+
if (typeof content.description === 'object') {
|
|
117
|
+
return "".concat(content.title || '', " ").concat(reactNodeToText(content.description));
|
|
118
|
+
} else {
|
|
119
|
+
return "".concat(content.title || '', " ").concat(content.description);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
return reactNodeToText(content);
|
|
124
|
+
|
|
125
|
+
default:
|
|
126
|
+
return '';
|
|
127
|
+
}
|
|
128
|
+
};
|
|
129
|
+
|
|
51
130
|
var ToastContainer = function ToastContainer() {
|
|
52
131
|
return /*#__PURE__*/React.createElement(StyledToastContainer, null, /*#__PURE__*/React.createElement(ToastifyContainer, {
|
|
53
132
|
position: "bottom-right",
|
package/lib/Toast/types.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { ToastOptions } from 'react-toastify';
|
|
3
|
-
export declare type ToastContent = React.
|
|
3
|
+
export declare type ToastContent = string | React.ReactNode | {
|
|
4
4
|
title?: string;
|
|
5
|
-
description: React.
|
|
5
|
+
description: React.ReactNode;
|
|
6
6
|
};
|
|
7
7
|
export interface ToastConfig extends Pick<ToastOptions, 'onClose' | 'onOpen' | 'toastId' | 'type' | 'closeOnClick'> {
|
|
8
8
|
duration?: number | null;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const hash: (s: string) => number;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
// From https://github.com/fernandopasik/react-children-utilities
|
|
2
|
+
import { Children, isValidElement } from 'react';
|
|
3
|
+
|
|
4
|
+
var hasChildren = function hasChildren(element) {
|
|
5
|
+
return isValidElement(element) && Boolean(element.props.children);
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
var childToString = function childToString(child) {
|
|
9
|
+
if (typeof child === 'undefined' || child === null || typeof child === 'boolean') {
|
|
10
|
+
return '';
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
if (JSON.stringify(child) === '{}') {
|
|
14
|
+
return '';
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
return child.toString();
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export var reactNodeToText = function reactNodeToText(children) {
|
|
21
|
+
if (!(children instanceof Array) && !isValidElement(children)) {
|
|
22
|
+
return childToString(children);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
return Children.toArray(children).reduce(function (text, child) {
|
|
26
|
+
var newText = '';
|
|
27
|
+
|
|
28
|
+
if (isValidElement(child) && hasChildren(child)) {
|
|
29
|
+
newText = reactNodeToText(child.props.children);
|
|
30
|
+
} else if (isValidElement(child) && !hasChildren(child)) {
|
|
31
|
+
newText = '';
|
|
32
|
+
} else {
|
|
33
|
+
newText = childToString(child);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
return text.concat(newText);
|
|
37
|
+
}, '');
|
|
38
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codacy/ui-components",
|
|
3
|
-
"version": "0.61.
|
|
3
|
+
"version": "0.61.8",
|
|
4
4
|
"description": "",
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"author": "",
|
|
@@ -94,7 +94,7 @@
|
|
|
94
94
|
"react": "^18.2.0",
|
|
95
95
|
"react-docgen-typescript-loader": "^3.7.2",
|
|
96
96
|
"react-dom": "^18.2.0",
|
|
97
|
-
"react-toastify": "
|
|
97
|
+
"react-toastify": "9.0.3",
|
|
98
98
|
"reakit": "^1.3.11",
|
|
99
99
|
"rimraf": "^3.0.2",
|
|
100
100
|
"styled-system": "^5.1.5",
|
|
@@ -108,9 +108,9 @@
|
|
|
108
108
|
"@popperjs/core": "^2.5.4",
|
|
109
109
|
"lodash": "^4.17.20",
|
|
110
110
|
"numeral": "^2.0.6",
|
|
111
|
-
"react": "
|
|
112
|
-
"react-dom": "
|
|
113
|
-
"react-toastify": "
|
|
111
|
+
"react": "^17.0.2",
|
|
112
|
+
"react-dom": "^17.0.2",
|
|
113
|
+
"react-toastify": "9.0.3",
|
|
114
114
|
"reakit": "^1.3.11",
|
|
115
115
|
"styled-system": "^5.1.5",
|
|
116
116
|
"typeface-clear-sans": "0.0.44"
|
|
@@ -132,5 +132,6 @@
|
|
|
132
132
|
"*.md": [
|
|
133
133
|
"prettier --write"
|
|
134
134
|
]
|
|
135
|
-
}
|
|
135
|
+
},
|
|
136
|
+
"packageManager": "yarn@1.22.19"
|
|
136
137
|
}
|