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.
- package/dist/UiStateProvider.js +2 -2
- package/dist/components/AnimatedCheckmark/AnimatedCheckmark.js +5 -4
- package/dist/components/Feedback/Feedback.d.ts +1 -0
- package/dist/components/Feedback/Feedback.js +6 -4
- package/dist/form/Button/Button.d.ts +0 -1
- package/dist/form/Button/Button.js +3 -3
- package/dist/form/FileField/FileField.d.ts +1 -0
- package/dist/form/FileField/FileField.js +9 -6
- package/package.json +2 -1
- package/dist/components/Icons/CrossIcon.d.ts +0 -1
- package/dist/components/Icons/CrossIcon.js +0 -12
package/dist/UiStateProvider.js
CHANGED
|
@@ -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
|
|
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.
|
|
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.
|
|
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: ", "
|
|
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' }),
|
|
@@ -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
|
|
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
|
-
|
|
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;
|
|
@@ -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
|
|
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,
|
|
79
|
-
return (react_1.default.createElement(Wrapper, { actionButton: props.actionButton,
|
|
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 =
|
|
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.
|
|
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, {
|
|
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.
|
|
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;
|