quicksnack 3.20.0 → 3.22.0

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.
@@ -33,17 +33,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
33
33
  exports.AnimatedCheckmark = void 0;
34
34
  var react_1 = __importDefault(require("react"));
35
35
  var styled_components_1 = __importStar(require("styled-components"));
36
- var G = styled_components_1.default.g(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n fill: none; \n stroke: ", "; \n stroke-width: 10;\n"], ["\n fill: none; \n stroke: ", "; \n stroke-width: 10;\n"])), function (props) { return props.theme.palette.colors.green; });
36
+ var Mask = styled_components_1.default.g(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n fill: none; \n stroke: ", "; \n stroke-width: 10;\n"], ["\n fill: none; \n stroke: ", "; \n stroke-width: 10;\n"])), function (props) { return props.theme.palette.colors.green; });
37
37
  var polyLineAnimation = (0, styled_components_1.keyframes)(templateObject_2 || (templateObject_2 = __makeTemplateObject([" \n 0% {\n stroke-dashoffset: 100px\n }\n 100% {\n stroke-dashoffset: 0px\n }\n"], [" \n 0% {\n stroke-dashoffset: 100px\n }\n 100% {\n stroke-dashoffset: 0px\n }\n"])));
38
- var Polyline = styled_components_1.default.polyline(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n stroke-dasharray: 100px, 100px;\n stroke-dashoffset: 200px;\n animation: ", " 0.25s ease-in-out 0.7s backwards;\n stroke: #fff; \n stroke-width: 10; \n"], ["\n stroke-dasharray: 100px, 100px;\n stroke-dashoffset: 200px;\n animation: ", " 0.25s ease-in-out 0.7s backwards;\n stroke: #fff; \n stroke-width: 10; \n"])), polyLineAnimation);
38
+ var Polyline = styled_components_1.default.polyline(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n stroke-dasharray: 100px, 100px;\n stroke-dashoffset: 200px;\n animation: ", " 0.21s ease-in-out 0.4s backwards;\n stroke: ", "; \n stroke-width: 10; \n"], ["\n stroke-dasharray: 100px, 100px;\n stroke-dashoffset: 200px;\n animation: ", " 0.21s ease-in-out 0.4s backwards;\n stroke: ", "; \n stroke-width: 10; \n"])), polyLineAnimation, function (props) { return props.theme.palette.colors.green; });
39
39
  var circleAnimation = (0, styled_components_1.keyframes)(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n 0% {\n stroke-dashoffset: 480px \n }\n 100% {\n stroke-dashoffset: 960px\n }\n"], ["\n 0% {\n stroke-dashoffset: 480px \n }\n 100% {\n stroke-dashoffset: 960px\n }\n"])));
40
- var Circle = styled_components_1.default.circle(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n stroke-dasharray: 480px, 480px; \n stroke-dashoffset: 960px;\n animation: ", " 0.6s ease-in-out backwards;\n cx: 77;\n cy: 77;\n r: 72;\n"], ["\n stroke-dasharray: 480px, 480px; \n stroke-dashoffset: 960px;\n animation: ", " 0.6s ease-in-out backwards;\n cx: 77;\n cy: 77;\n r: 72;\n"])), circleAnimation);
40
+ var Circle = styled_components_1.default.circle(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n stroke-dasharray: 480px, 480px; \n stroke-dashoffset: 960px;\n animation: ", " 0.3s ease-in-out backwards;\n stroke: ", "; \n stroke-width: 10; \n"], ["\n stroke-dasharray: 480px, 480px; \n stroke-dashoffset: 960px;\n animation: ", " 0.3s ease-in-out backwards;\n stroke: ", "; \n stroke-width: 10; \n"])), circleAnimation, function (props) { return props.theme.palette.colors.green; });
41
41
  var circleColoredAnimation = (0, styled_components_1.keyframes)(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n 0% { \n opacity:0; \n }\n 100% { \n opacity:100; \n }\n"], ["\n 0% { \n opacity:0; \n }\n 100% { \n opacity:100; \n }\n"])));
42
- var CircleColored = styled_components_1.default.circle(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n stroke-dasharray: 480px, 480px; \n stroke-dashoffset: 960px;\n animation: ", " 0.6s ease-in-out 0.7s backwards;\n fill: ", ";\n cx: 77;\n cy: 77;\n r: 72;\n"], ["\n stroke-dasharray: 480px, 480px; \n stroke-dashoffset: 960px;\n animation: ", " 0.6s ease-in-out 0.7s backwards;\n fill: ", ";\n cx: 77;\n cy: 77;\n r: 72;\n"])), circleColoredAnimation, function (props) { return props.theme.palette.colors.green; });
42
+ var CircleColored = styled_components_1.default.circle(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n stroke-dasharray: 480px, 480px; \n stroke-dashoffset: 960px;\n animation: ", " 0.6s ease-in-out 0.7s backwards;\n fill: #effaf8; \n"], ["\n stroke-dasharray: 480px, 480px; \n stroke-dashoffset: 960px;\n animation: ", " 0.6s ease-in-out 0.7s backwards;\n fill: #effaf8; \n"])), circleColoredAnimation);
43
43
  var AnimatedCheckmark = function () { return (react_1.default.createElement("svg", { viewBox: "0 0 154 154" },
44
- react_1.default.createElement(G, null,
45
- react_1.default.createElement(Circle, null),
46
- react_1.default.createElement(CircleColored, null),
44
+ react_1.default.createElement(Mask, null,
45
+ react_1.default.createElement(Circle, { cx: '77', cy: '77', r: '72' }),
46
+ react_1.default.createElement(CircleColored, { cx: '77', cy: '77', r: '72' }),
47
47
  react_1.default.createElement(Polyline, { points: "43.5,77.8 63.7,97.9 112.2,49.4" })))); };
48
48
  exports.AnimatedCheckmark = AnimatedCheckmark;
49
49
  var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7;
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ interface Props {
3
+ onConfirm: () => void;
4
+ buttonLabel: string | JSX.Element;
5
+ buttonIcon?: JSX.Element;
6
+ title: string | JSX.Element;
7
+ }
8
+ export declare const Feedback: React.FC<Props>;
9
+ export {};
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
+ return cooked;
5
+ };
6
+ var __importDefault = (this && this.__importDefault) || function (mod) {
7
+ return (mod && mod.__esModule) ? mod : { "default": mod };
8
+ };
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.Feedback = void 0;
11
+ var react_1 = __importDefault(require("react"));
12
+ var Box_1 = require("../Box/Box");
13
+ var Header_1 = require("../../typography/Header/Header");
14
+ var AnimatedCheckmark_1 = require("../AnimatedCheckmark/AnimatedCheckmark");
15
+ var Button_1 = require("../../form/Button/Button");
16
+ var Modal_1 = require("../Modal/Modal");
17
+ var styled_components_1 = __importDefault(require("styled-components"));
18
+ var StyledBox = (0, styled_components_1.default)(Box_1.Box)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n width: 300px; \n"], ["\n width: 300px; \n"])));
19
+ var Feedback = function (_a) {
20
+ var onConfirm = _a.onConfirm, buttonLabel = _a.buttonLabel, buttonIcon = _a.buttonIcon, title = _a.title;
21
+ return (react_1.default.createElement(Modal_1.Modal, { handleClickOverlay: onConfirm, buttons: react_1.default.createElement(Button_1.Button, { stretch: true, icon: buttonIcon, variant: 'secondary', onClick: onConfirm }, buttonLabel) },
22
+ react_1.default.createElement(StyledBox, { pt: 3, pb: 3, pl: 7, pr: 7 },
23
+ react_1.default.createElement(Box_1.Box, { pb: 7, textAlign: "center" },
24
+ react_1.default.createElement(Header_1.Header, null, title)),
25
+ react_1.default.createElement(AnimatedCheckmark_1.AnimatedCheckmark, null))));
26
+ };
27
+ exports.Feedback = Feedback;
28
+ var templateObject_1;
@@ -0,0 +1 @@
1
+ export declare const CrossIcon: () => JSX.Element;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.CrossIcon = void 0;
7
+ var react_1 = __importDefault(require("react"));
8
+ var CrossIcon = function () {
9
+ return react_1.default.createElement("svg", { stroke: "currentColor", fill: "currentColor", strokeWidth: "0", viewBox: "0 0 352 512", height: "1em", width: "1em", xmlns: "http://www.w3.org/2000/svg" },
10
+ react_1.default.createElement("path", { d: "M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z" }));
11
+ };
12
+ exports.CrossIcon = CrossIcon;
@@ -6,6 +6,8 @@ export interface ButtonProps extends React.ButtonHTMLAttributes<any> {
6
6
  variant?: Variant;
7
7
  hasChildren?: boolean;
8
8
  actionButton?: boolean;
9
+ stretch?: boolean;
10
+ noMargin?: boolean;
9
11
  }
10
12
  export declare const Button: React.FC<React.PropsWithChildren<ButtonProps>>;
11
13
  export {};
@@ -57,12 +57,12 @@ var react_1 = __importDefault(require("react"));
57
57
  var styled_components_1 = __importStar(require("styled-components"));
58
58
  var theme_1 = require("../../theme");
59
59
  var responsiveProps_1 = require("../../responsiveness/responsiveProps");
60
- var Wrapper = styled_components_1.default.div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n ", " \n"], ["\n ", " \n"])), function (props) { return props.actionButton
60
+ var Wrapper = styled_components_1.default.div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n ", "\n ", " \n"], ["\n ", "\n ", " \n"])), function (props) { return props.stretch && "width: 100%;"; }, function (props) { return props.actionButton || props.stretch || props.noMargin
61
61
  ? (0, styled_components_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["margin: 0;"], ["margin: 0;"]))) : (0, styled_components_1.css)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["margin: ", ";"], ["margin: ", ";"])), function (props) { return props.theme.spacing(0, 2, 0, 0); }); });
62
- var StyledButton = styled_components_1.default.button(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n font-size: 14px;\n font-weight: bold;\n letter-spacing: 1px; \n line-height: 1em; \n outline: 0;\n border: none;\n border-radius: 4px;\n cursor: pointer;\n text-decoration: none;\n font-family: \"Open Sans\", Lato, \"Helvetica Neue\", Arial, Helvetica, sans-serif; \n transition: background-color .1s ease, color .1s ease; \n display: flex;\n flex-direction: row;\n align-items: center;\n user-select: none;\n min-height: 38px; \n \n ", "\n \n \n ", " \n \n &:disabled {\n opacity: .5;\n cursor: default;\n } \n \n &:focus {\n background-blend-mode: darken;\n } \n \n ", "\n \n ", " \n"], ["\n font-size: 14px;\n font-weight: bold;\n letter-spacing: 1px; \n line-height: 1em; \n outline: 0;\n border: none;\n border-radius: 4px;\n cursor: pointer;\n text-decoration: none;\n font-family: \"Open Sans\", Lato, \"Helvetica Neue\", Arial, Helvetica, sans-serif; \n transition: background-color .1s ease, color .1s ease; \n display: flex;\n flex-direction: row;\n align-items: center;\n user-select: none;\n min-height: 38px; \n \n ", "\n \n \n ", " \n \n &:disabled {\n opacity: .5;\n cursor: default;\n } \n \n &:focus {\n background-blend-mode: darken;\n } \n \n ", "\n \n ", " \n"])), function (props) { return props.actionButton && (0, styled_components_1.css)(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n width: 100%; \n ", "\n "], ["\n width: 100%; \n ", "\n "])), (0, responsiveProps_1.mq)('laptop', "width: auto")); }, function (props) { return props.variant !== 'text'
62
+ var StyledButton = styled_components_1.default.button(templateObject_9 || (templateObject_9 = __makeTemplateObject(["\n font-size: 14px;\n font-weight: bold;\n letter-spacing: 1px; \n line-height: 1em; \n outline: 0;\n border: none;\n border-radius: 4px;\n cursor: pointer;\n text-decoration: none;\n font-family: \"Open Sans\", Lato, \"Helvetica Neue\", Arial, Helvetica, sans-serif; \n transition: background-color .1s ease, color .1s ease; \n display: flex;\n flex-direction: row;\n align-items: center;\n user-select: none;\n min-height: 38px; \n \n ", "\n \n ", "\n \n \n ", " \n \n &:disabled {\n opacity: .5;\n cursor: default;\n } \n \n &:focus {\n background-blend-mode: darken;\n } \n \n ", "\n \n ", " \n"], ["\n font-size: 14px;\n font-weight: bold;\n letter-spacing: 1px; \n line-height: 1em; \n outline: 0;\n border: none;\n border-radius: 4px;\n cursor: pointer;\n text-decoration: none;\n font-family: \"Open Sans\", Lato, \"Helvetica Neue\", Arial, Helvetica, sans-serif; \n transition: background-color .1s ease, color .1s ease; \n display: flex;\n flex-direction: row;\n align-items: center;\n user-select: none;\n min-height: 38px; \n \n ", "\n \n ", "\n \n \n ", " \n \n &:disabled {\n opacity: .5;\n cursor: default;\n } \n \n &:focus {\n background-blend-mode: darken;\n } \n \n ", "\n \n ", " \n"])), function (props) { return props.stretch && (0, styled_components_1.css)(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n width: 100%;\n display: block;\n "], ["\n width: 100%;\n display: block;\n "]))); }, function (props) { return props.actionButton && (0, styled_components_1.css)(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n width: 100%; \n ", "\n "], ["\n width: 100%; \n ", "\n "])), (0, responsiveProps_1.mq)('laptop', "width: auto")); }, function (props) { return props.variant !== 'text'
63
63
  ? !props.icon
64
- ? (0, styled_components_1.css)(templateObject_5 || (templateObject_5 = __makeTemplateObject(["padding: ", "; min-width: ", ";"], ["padding: ", "; min-width: ", ";"])), props.theme.spacing(3, 5), function (props) { return props.theme.spacing(10); }) : props.hasChildren && (0, styled_components_1.css)(templateObject_6 || (templateObject_6 = __makeTemplateObject(["position: relative; padding: ", ";"], ["position: relative; padding: ", ";"])), props.theme.spacing(3, 5, 3, 13))
65
- : (0, styled_components_1.css)(templateObject_7 || (templateObject_7 = __makeTemplateObject(["font-weight: 700; padding: 0;"], ["font-weight: 700; padding: 0;"]))); }, function (props) {
64
+ ? (0, styled_components_1.css)(templateObject_6 || (templateObject_6 = __makeTemplateObject(["padding: ", "; min-width: ", ";"], ["padding: ", "; min-width: ", ";"])), props.theme.spacing(3, 5), function (props) { return props.theme.spacing(10); }) : props.hasChildren && (0, styled_components_1.css)(templateObject_7 || (templateObject_7 = __makeTemplateObject(["position: relative; padding: ", ";"], ["position: relative; padding: ", ";"])), props.theme.spacing(3, 5, 3, 13))
65
+ : (0, styled_components_1.css)(templateObject_8 || (templateObject_8 = __makeTemplateObject(["font-weight: 700; padding: 0;"], ["font-weight: 700; padding: 0;"]))); }, function (props) {
66
66
  if (props.variant === "basic") {
67
67
  return "\n border: 1px solid rgba(34,36,38,.15);\n ";
68
68
  }
@@ -71,14 +71,14 @@ var StyledButton = styled_components_1.default.button(templateObject_8 || (templ
71
71
  var _b = theme_1.theme.palette.button[(_a = props.variant) !== null && _a !== void 0 ? _a : 'default'], idle = _b.idle, hover = _b.hover, active = _b.active;
72
72
  return "\n color: ".concat(idle.text, ";\n background-color: ").concat(idle.background, "; \n \n &:not(:disabled) {\n &:hover, &:focus {\n color: ").concat(hover.text, ";\n background-color: ").concat(hover.background, "; \n } \n \n &:active {\n color: ").concat(active.text, ";\n background-color: ").concat(active.background, "; \n } \n }\n \n ");
73
73
  });
74
- var IconWrapper = styled_components_1.default.span(templateObject_12 || (templateObject_12 = __makeTemplateObject(["\n ", "\n \n ", " \n"], ["\n ", "\n \n ", " \n"])), function (props) { return props.variant !== "text" && (0, styled_components_1.css)(templateObject_9 || (templateObject_9 = __makeTemplateObject(["\n min-width: ", ";\n "], ["\n min-width: ", ";\n "])), props.theme.spacing(10)); }, function (props) { return props.variant === "text"
75
- ? props.hasChildren && (0, styled_components_1.css)(templateObject_10 || (templateObject_10 = __makeTemplateObject(["\n padding-right: ", ";\n "], ["\n padding-right: ", ";\n "])), props.theme.spacing(2))
76
- : props.hasChildren && (0, styled_components_1.css)(templateObject_11 || (templateObject_11 = __makeTemplateObject(["\n position: absolute;\n left: 0;\n top: 0;\n width: ", ";\n height: 100%;\n background-color: rgba(0,0,0,.05);\n \n & > svg {\n transform: translate(-50%, -50%);\n position: absolute;\n top: 50%;\n left: 50%;\n }\n "], ["\n position: absolute;\n left: 0;\n top: 0;\n width: ", ";\n height: 100%;\n background-color: rgba(0,0,0,.05);\n \n & > svg {\n transform: translate(-50%, -50%);\n position: absolute;\n top: 50%;\n left: 50%;\n }\n "])), function (props) { return props.theme.spacing(10); }); });
74
+ var IconWrapper = styled_components_1.default.span(templateObject_13 || (templateObject_13 = __makeTemplateObject(["\n ", "\n \n ", " \n"], ["\n ", "\n \n ", " \n"])), function (props) { return props.variant !== "text" && (0, styled_components_1.css)(templateObject_10 || (templateObject_10 = __makeTemplateObject(["\n min-width: ", ";\n "], ["\n min-width: ", ";\n "])), props.theme.spacing(10)); }, function (props) { return props.variant === "text"
75
+ ? props.hasChildren && (0, styled_components_1.css)(templateObject_11 || (templateObject_11 = __makeTemplateObject(["\n padding-right: ", ";\n "], ["\n padding-right: ", ";\n "])), props.theme.spacing(2))
76
+ : props.hasChildren && (0, styled_components_1.css)(templateObject_12 || (templateObject_12 = __makeTemplateObject(["\n position: absolute;\n left: 0;\n top: 0;\n width: ", ";\n height: 100%;\n background-color: rgba(0,0,0,.05);\n \n & > svg {\n transform: translate(-50%, -50%);\n position: absolute;\n top: 50%;\n left: 50%;\n }\n "], ["\n position: absolute;\n left: 0;\n top: 0;\n width: ", ";\n height: 100%;\n background-color: rgba(0,0,0,.05);\n \n & > svg {\n transform: translate(-50%, -50%);\n position: absolute;\n top: 50%;\n left: 50%;\n }\n "])), function (props) { return props.theme.spacing(10); }); });
77
77
  exports.Button = react_1.default.forwardRef(function (_a, ref) {
78
- var children = _a.children, icon = _a.icon, props = __rest(_a, ["children", "icon"]);
79
- return (react_1.default.createElement(Wrapper, { actionButton: props.actionButton },
80
- react_1.default.createElement(StyledButton, __assign({ ref: ref, icon: icon, hasChildren: !!children }, props),
78
+ var children = _a.children, icon = _a.icon, stretch = _a.stretch, noMargin = _a.noMargin, props = __rest(_a, ["children", "icon", "stretch", "noMargin"]);
79
+ return (react_1.default.createElement(Wrapper, { actionButton: props.actionButton, noMargin: noMargin, stretch: stretch },
80
+ react_1.default.createElement(StyledButton, __assign({ ref: ref, icon: icon, hasChildren: !!children, stretch: stretch }, props),
81
81
  icon && (react_1.default.createElement(IconWrapper, { variant: props.variant, hasChildren: !!children }, icon)),
82
82
  children)));
83
83
  });
84
- var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12;
84
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12, templateObject_13;
@@ -57,20 +57,30 @@ var react_1 = __importStar(require("react"));
57
57
  var styled_components_1 = __importDefault(require("styled-components"));
58
58
  var Button_1 = require("../Button/Button");
59
59
  var TextField_1 = require("../TextField/TextField");
60
+ var CrossIcon_1 = require("../../components/Icons/CrossIcon");
60
61
  var Wrapper = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n position: relative;\n display: flex; \n"], ["\n position: relative;\n display: flex; \n"])));
61
62
  var HiddenInput = styled_components_1.default.input(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0; \n width: 100%;\n opacity:0;\n"], ["\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0; \n width: 100%;\n opacity:0;\n"])));
62
63
  var StyledButton = (0, styled_components_1.default)(Button_1.Button)(templateObject_3 || (templateObject_3 = __makeTemplateObject([" \n height: 40px;\n \n .has-error & {\n background: #fff6f6;\n border-color: #e0b4b4;\n color: #9f3a38;\n } \n"], [" \n height: 40px;\n \n .has-error & {\n background: #fff6f6;\n border-color: #e0b4b4;\n color: #9f3a38;\n } \n"])));
63
- var StyledTextField = (0, styled_components_1.default)(TextField_1.TextField)(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n flex: 1; \n"], ["\n flex: 1; \n"])));
64
+ var StyledTextField = (0, styled_components_1.default)(TextField_1.TextField)(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n flex: 1; \n padding-right: ", "\n"], ["\n flex: 1; \n padding-right: ", "\n"])), function (props) { return props.theme.spacing(8); });
65
+ var DeleteButton = (0, styled_components_1.default)(Button_1.Button)(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n position: absolute;\n top: 50%;\n right: ", ";\n transform: translateY(-44%)\n"], ["\n position: absolute;\n top: 50%;\n right: ", ";\n transform: translateY(-44%)\n"])), function (props) { return props.theme.spacing(3); });
64
66
  exports.FileField = react_1.default.forwardRef(function (_a, ref) {
65
67
  var className = _a.className, placeholder = _a.placeholder, _b = _a.chooseFileLabel, chooseFileLabel = _b === void 0 ? "Choose file" : _b, _c = _a.changeFileLabel, changeFileLabel = _c === void 0 ? "Change file" : _c, props = __rest(_a, ["className", "placeholder", "chooseFileLabel", "changeFileLabel"]);
66
- var _d = (0, react_1.useState)(""), fileName = _d[0], setFilename = _d[1];
68
+ var _d = (0, react_1.useState)(), originalRef = _d[0], setOriginalRef = _d[1];
69
+ var _e = (0, react_1.useState)(""), fileName = _e[0], setFilename = _e[1];
67
70
  var handleChange = react_1.default.useCallback(function (e) {
68
71
  var _a;
69
72
  var files = (e === null || e === void 0 ? void 0 : e.target).files;
70
73
  setFilename(((_a = files === null || files === void 0 ? void 0 : files[0]) === null || _a === void 0 ? void 0 : _a.name) || "");
71
74
  }, []);
75
+ var handleRemove = (0, react_1.useCallback)(function () {
76
+ if (originalRef) {
77
+ originalRef.value = '';
78
+ originalRef.dispatchEvent(new Event('change'));
79
+ }
80
+ }, [originalRef]);
72
81
  var extendedRef = react_1.default.useMemo(function () { return function (el) {
73
82
  el === null || el === void 0 ? void 0 : el.addEventListener('change', handleChange);
83
+ setOriginalRef(el);
74
84
  if (typeof ref === 'function') {
75
85
  ref === null || ref === void 0 ? void 0 : ref(el);
76
86
  }
@@ -78,6 +88,7 @@ exports.FileField = react_1.default.forwardRef(function (_a, ref) {
78
88
  return (react_1.default.createElement(Wrapper, null,
79
89
  react_1.default.createElement(HiddenInput, __assign({ type: 'file', ref: extendedRef }, props)),
80
90
  react_1.default.createElement(StyledButton, { variant: 'basic' }, !!fileName ? changeFileLabel : chooseFileLabel),
81
- react_1.default.createElement(StyledTextField, { placeholder: placeholder, className: className, disabled: true, value: fileName })));
91
+ react_1.default.createElement(StyledTextField, { placeholder: placeholder, className: className, disabled: true, value: fileName }),
92
+ !!fileName && react_1.default.createElement(DeleteButton, { noMargin: true, icon: react_1.default.createElement(CrossIcon_1.CrossIcon, null), variant: "text", onClick: handleRemove })));
82
93
  });
83
- var templateObject_1, templateObject_2, templateObject_3, templateObject_4;
94
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;
package/dist/index.d.ts CHANGED
@@ -2,6 +2,7 @@ export * from './UiProvider';
2
2
  export * from './UiWrapper';
3
3
  export * from './animation/SlideInFromTop/SlideInFromTop';
4
4
  export * from './components/Alert/Alert';
5
+ export * from './components/AnimatedCheckmark/AnimatedCheckmark';
5
6
  export * from './components/Box/Box';
6
7
  export * from './components/BreadCrumbs/BreadCrumbs';
7
8
  export * from './components/CollapsiblePanel/CollapsiblePanel';
@@ -10,6 +11,7 @@ export * from './components/ConfirmModal/ConfirmModal';
10
11
  export * from './components/Details/Details';
11
12
  export * from './components/Dropdown/Dropdown';
12
13
  export * from './components/Dropzone/Dropzone';
14
+ export * from './components/Feedback/Feedback';
13
15
  export * from './components/Floater/Floater';
14
16
  export * from './components/Footer/Footer';
15
17
  export * from './components/Menu/HamburgerButton';
package/dist/index.js CHANGED
@@ -18,6 +18,7 @@ __exportStar(require("./UiProvider"), exports);
18
18
  __exportStar(require("./UiWrapper"), exports);
19
19
  __exportStar(require("./animation/SlideInFromTop/SlideInFromTop"), exports);
20
20
  __exportStar(require("./components/Alert/Alert"), exports);
21
+ __exportStar(require("./components/AnimatedCheckmark/AnimatedCheckmark"), exports);
21
22
  __exportStar(require("./components/Box/Box"), exports);
22
23
  __exportStar(require("./components/BreadCrumbs/BreadCrumbs"), exports);
23
24
  __exportStar(require("./components/CollapsiblePanel/CollapsiblePanel"), exports);
@@ -26,6 +27,7 @@ __exportStar(require("./components/ConfirmModal/ConfirmModal"), exports);
26
27
  __exportStar(require("./components/Details/Details"), exports);
27
28
  __exportStar(require("./components/Dropdown/Dropdown"), exports);
28
29
  __exportStar(require("./components/Dropzone/Dropzone"), exports);
30
+ __exportStar(require("./components/Feedback/Feedback"), exports);
29
31
  __exportStar(require("./components/Floater/Floater"), exports);
30
32
  __exportStar(require("./components/Footer/Footer"), exports);
31
33
  __exportStar(require("./components/Menu/HamburgerButton"), exports);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "quicksnack",
3
3
  "description": "Quickly create beautiful admin layouts using react",
4
- "version": "3.20.0",
4
+ "version": "3.22.0",
5
5
  "private": false,
6
6
  "files": [
7
7
  "dist/**"