quicksnack 3.21.0 → 3.22.1

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.
@@ -35,15 +35,15 @@ var react_1 = __importDefault(require("react"));
35
35
  var styled_components_1 = __importStar(require("styled-components"));
36
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.21s ease-in-out 0.7s 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.7s backwards;\n stroke: ", "; \n stroke-width: 10; \n"])), polyLineAnimation, function (props) { return props.theme.palette.colors.green; });
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.common.white; });
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
44
  react_1.default.createElement(Mask, null,
45
- react_1.default.createElement(Circle, null),
46
- react_1.default.createElement(CircleColored, 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;
@@ -57,7 +57,7 @@ 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 ", "\n ", " \n"])), function (props) { return props.stretch && "width: 100%;"; }, 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
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
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
@@ -60,17 +60,26 @@ var TextField_1 = require("../TextField/TextField");
60
60
  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
61
  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
62
  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"])));
63
+ 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); });
64
+ var DeleteButton = styled_components_1.default.button(templateObject_5 || (templateObject_5 = __makeTemplateObject([" \n background-color: transparent;\n border: 0;\n outline: 0; \n padding: 0;\n \n position: absolute; \n right: 0;\n height: 100%;\n \n cursor: pointer;\n \n &:after {\n box-sizing: border-box;\n \n color: rgba(0, 0, 0, .3);\n content: \"\u00D7\";\n \n text-align: center;\n vertical-align: middle;\n display: table-cell;\n \n font-size: 20px;\n height: 38px;\n width: 38px;\n line-height: 38px;\n padding: 0 8px;\n }\n"], [" \n background-color: transparent;\n border: 0;\n outline: 0; \n padding: 0;\n \n position: absolute; \n right: 0;\n height: 100%;\n \n cursor: pointer;\n \n &:after {\n box-sizing: border-box;\n \n color: rgba(0, 0, 0, .3);\n content: \"\u00D7\";\n \n text-align: center;\n vertical-align: middle;\n display: table-cell;\n \n font-size: 20px;\n height: 38px;\n width: 38px;\n line-height: 38px;\n padding: 0 8px;\n }\n"])));
64
65
  exports.FileField = react_1.default.forwardRef(function (_a, ref) {
65
66
  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];
67
+ var _d = (0, react_1.useState)(), originalRef = _d[0], setOriginalRef = _d[1];
68
+ var _e = (0, react_1.useState)(""), fileName = _e[0], setFilename = _e[1];
67
69
  var handleChange = react_1.default.useCallback(function (e) {
68
70
  var _a;
69
71
  var files = (e === null || e === void 0 ? void 0 : e.target).files;
70
72
  setFilename(((_a = files === null || files === void 0 ? void 0 : files[0]) === null || _a === void 0 ? void 0 : _a.name) || "");
71
73
  }, []);
74
+ var handleRemove = (0, react_1.useCallback)(function () {
75
+ if (originalRef) {
76
+ originalRef.value = '';
77
+ originalRef.dispatchEvent(new Event('change'));
78
+ }
79
+ }, [originalRef]);
72
80
  var extendedRef = react_1.default.useMemo(function () { return function (el) {
73
81
  el === null || el === void 0 ? void 0 : el.addEventListener('change', handleChange);
82
+ setOriginalRef(el);
74
83
  if (typeof ref === 'function') {
75
84
  ref === null || ref === void 0 ? void 0 : ref(el);
76
85
  }
@@ -78,6 +87,7 @@ exports.FileField = react_1.default.forwardRef(function (_a, ref) {
78
87
  return (react_1.default.createElement(Wrapper, null,
79
88
  react_1.default.createElement(HiddenInput, __assign({ type: 'file', ref: extendedRef }, props)),
80
89
  react_1.default.createElement(StyledButton, { variant: 'basic' }, !!fileName ? changeFileLabel : chooseFileLabel),
81
- react_1.default.createElement(StyledTextField, { placeholder: placeholder, className: className, disabled: true, value: fileName })));
90
+ react_1.default.createElement(StyledTextField, { placeholder: placeholder, className: className, disabled: true, value: fileName }),
91
+ !!fileName && react_1.default.createElement(DeleteButton, { onClick: handleRemove })));
82
92
  });
83
- var templateObject_1, templateObject_2, templateObject_3, templateObject_4;
93
+ 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.21.0",
4
+ "version": "3.22.1",
5
5
  "private": false,
6
6
  "files": [
7
7
  "dist/**"