quicksnack 3.22.0 → 3.22.3

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.
@@ -29,7 +29,7 @@ var noop = function () { };
29
29
  var UiState = react_1.default.createContext({
30
30
  isSideMenuOpen: false,
31
31
  closeSideMenu: noop,
32
- openSideMenu: noop
32
+ openSideMenu: noop,
33
33
  });
34
34
  var useUiStateContext = function () { return (0, react_1.useContext)(UiState); };
35
35
  exports.useUiStateContext = useUiStateContext;
@@ -41,7 +41,7 @@ var UiStateProvider = function (_a) {
41
41
  return (react_1.default.createElement(UiState.Provider, { value: {
42
42
  isSideMenuOpen: isSideMenuOpen,
43
43
  closeSideMenu: handleCloseSideMenu,
44
- openSideMenu: handleOpenSideMenu
44
+ openSideMenu: handleOpenSideMenu,
45
45
  } }, children));
46
46
  };
47
47
  exports.UiStateProvider = UiStateProvider;
@@ -33,13 +33,14 @@ 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 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; });
36
+ var green = '#20c997';
37
+ 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"])), green);
37
38
  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.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
+ var Polyline = styled_components_1.default.polyline(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n stroke-dasharray: 100px, 100px;\n stroke-dashoffset: 200px;\n animation: ", " 0.42s ease-in-out 0.8s backwards;\n stroke: ", ";\n stroke-width: 10; \n"], ["\n stroke-dasharray: 100px, 100px;\n stroke-dashoffset: 200px;\n animation: ", " 0.42s ease-in-out 0.8s backwards;\n stroke: ", ";\n stroke-width: 10; \n"])), polyLineAnimation, green);
39
40
  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.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
+ 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 stroke: ", ";\n stroke-width: 10; \n"], ["\n stroke-dasharray: 480px, 480px; \n stroke-dashoffset: 960px;\n animation: ", " 0.6s ease-in-out backwards;\n stroke: ", ";\n stroke-width: 10; \n"])), circleAnimation, green);
41
42
  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: #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
+ var CircleColored = styled_components_1.default.circle(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n stroke-dasharray: 480px, 480px; \n stroke-dashoffset: 960px;\n animation: ", " 1.2s ease-in-out 1.4s backwards;\n fill: #effaf8; \n"], ["\n stroke-dasharray: 480px, 480px; \n stroke-dashoffset: 960px;\n animation: ", " 1.2s ease-in-out 1.4s backwards;\n fill: #effaf8; \n"])), circleColoredAnimation);
43
44
  var AnimatedCheckmark = function () { return (react_1.default.createElement("svg", { viewBox: "0 0 154 154" },
44
45
  react_1.default.createElement(Mask, null,
45
46
  react_1.default.createElement(Circle, { cx: '77', cy: '77', r: '72' }),
@@ -4,6 +4,7 @@ interface Props {
4
4
  buttonLabel: string | JSX.Element;
5
5
  buttonIcon?: JSX.Element;
6
6
  title: string | JSX.Element;
7
+ subtitle?: string | JSX.Element;
7
8
  }
8
9
  export declare const Feedback: React.FC<Props>;
9
10
  export {};
@@ -17,12 +17,14 @@ var Modal_1 = require("../Modal/Modal");
17
17
  var styled_components_1 = __importDefault(require("styled-components"));
18
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
19
  var Feedback = function (_a) {
20
- var onConfirm = _a.onConfirm, buttonLabel = _a.buttonLabel, buttonIcon = _a.buttonIcon, title = _a.title;
20
+ var onConfirm = _a.onConfirm, buttonLabel = _a.buttonLabel, buttonIcon = _a.buttonIcon, title = _a.title, subtitle = _a.subtitle;
21
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 },
22
+ react_1.default.createElement(StyledBox, { pt: 3, pb: 3 },
23
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))));
24
+ react_1.default.createElement(Header_1.Header, null, title),
25
+ subtitle && react_1.default.createElement(Header_1.Header, { level: 5 }, subtitle)),
26
+ react_1.default.createElement(Box_1.Box, { pt: 5, pb: 5, pl: 7, pr: 7 },
27
+ react_1.default.createElement(AnimatedCheckmark_1.AnimatedCheckmark, null)))));
26
28
  };
27
29
  exports.Feedback = Feedback;
28
30
  var templateObject_1;
@@ -7,7 +7,6 @@ export interface ButtonProps extends React.ButtonHTMLAttributes<any> {
7
7
  hasChildren?: boolean;
8
8
  actionButton?: boolean;
9
9
  stretch?: boolean;
10
- noMargin?: boolean;
11
10
  }
12
11
  export declare const Button: React.FC<React.PropsWithChildren<ButtonProps>>;
13
12
  export {};
@@ -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 || props.stretch || props.noMargin
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
@@ -75,8 +75,8 @@ var IconWrapper = styled_components_1.default.span(templateObject_13 || (templat
75
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
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, 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 },
78
+ var children = _a.children, icon = _a.icon, stretch = _a.stretch, props = __rest(_a, ["children", "icon", "stretch"]);
79
+ return (react_1.default.createElement(Wrapper, { actionButton: props.actionButton, stretch: stretch },
80
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)));
@@ -2,6 +2,7 @@ import React from "react";
2
2
  interface Props extends React.InputHTMLAttributes<any> {
3
3
  chooseFileLabel?: string;
4
4
  changeFileLabel?: string;
5
+ onClear?: () => void;
5
6
  }
6
7
  export declare const FileField: React.ForwardRefExoticComponent<Props & React.RefAttributes<unknown>>;
7
8
  export {};
@@ -57,14 +57,13 @@ 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");
61
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"])));
62
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"])));
63
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"])));
64
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); });
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
+ 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"])));
66
65
  exports.FileField = react_1.default.forwardRef(function (_a, ref) {
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 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, onClear = _a.onClear, props = __rest(_a, ["className", "placeholder", "chooseFileLabel", "changeFileLabel", "onClear"]);
68
67
  var _d = (0, react_1.useState)(), originalRef = _d[0], setOriginalRef = _d[1];
69
68
  var _e = (0, react_1.useState)(""), fileName = _e[0], setFilename = _e[1];
70
69
  var handleChange = react_1.default.useCallback(function (e) {
@@ -75,9 +74,13 @@ exports.FileField = react_1.default.forwardRef(function (_a, ref) {
75
74
  var handleRemove = (0, react_1.useCallback)(function () {
76
75
  if (originalRef) {
77
76
  originalRef.value = '';
78
- originalRef.dispatchEvent(new Event('change'));
77
+ originalRef.files = null;
78
+ originalRef.dispatchEvent(new Event('change', { bubbles: true }));
79
+ if (onClear) {
80
+ onClear();
81
+ }
79
82
  }
80
- }, [originalRef]);
83
+ }, [originalRef, onClear]);
81
84
  var extendedRef = react_1.default.useMemo(function () { return function (el) {
82
85
  el === null || el === void 0 ? void 0 : el.addEventListener('change', handleChange);
83
86
  setOriginalRef(el);
@@ -89,6 +92,6 @@ exports.FileField = react_1.default.forwardRef(function (_a, ref) {
89
92
  react_1.default.createElement(HiddenInput, __assign({ type: 'file', ref: extendedRef }, props)),
90
93
  react_1.default.createElement(StyledButton, { variant: 'basic' }, !!fileName ? changeFileLabel : chooseFileLabel),
91
94
  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 })));
95
+ !!fileName && onClear && react_1.default.createElement(DeleteButton, { onClick: handleRemove })));
93
96
  });
94
97
  var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;
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.22.0",
4
+ "version": "3.22.3",
5
5
  "private": false,
6
6
  "files": [
7
7
  "dist/**"
@@ -77,6 +77,7 @@
77
77
  "babel-loader": "8.2.5",
78
78
  "react": "18.1.0",
79
79
  "react-dom": "18.1.0",
80
+ "react-hook-form": "7.34.0",
80
81
  "react-icons": "4.3.1",
81
82
  "react-scripts": "5.0.1",
82
83
  "semantic-release": "19.0.2",
@@ -1 +0,0 @@
1
- export declare const CrossIcon: () => JSX.Element;
@@ -1,12 +0,0 @@
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;