quicksnack 3.25.2 → 3.27.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.
- package/dist/components/Dropdown/Dropdown.d.ts +1 -0
- package/dist/components/Dropdown/Dropdown.js +9 -3
- package/dist/form/Button/Button.d.ts +1 -0
- package/dist/form/Button/Button.js +1 -1
- package/dist/form/Checkbox/Checkbox.d.ts +1 -0
- package/dist/form/Checkbox/Checkbox.js +7 -7
- package/package.json +1 -1
|
@@ -2,6 +2,7 @@ import React from "react";
|
|
|
2
2
|
import { Button } from "../../form/Button/Button";
|
|
3
3
|
interface Props {
|
|
4
4
|
buttonProps: React.ComponentProps<typeof Button>;
|
|
5
|
+
stayOpenOnClick?: boolean;
|
|
5
6
|
align?: 'left' | 'right';
|
|
6
7
|
}
|
|
7
8
|
export declare const DropdownMenu: import("styled-components").StyledComponent<"ul", import("styled-components").DefaultTheme, {}, never>;
|
|
@@ -48,10 +48,16 @@ var Dropper = styled_components_1.default.span(templateObject_4 || (templateObje
|
|
|
48
48
|
exports.DropdownMenu = styled_components_1.default.ul(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n list-style: none;\n margin: 0;\n padding: ", "; \n"], ["\n list-style: none;\n margin: 0;\n padding: ", "; \n"])), function (props) { return props.theme.spacing(2, 0); });
|
|
49
49
|
exports.DropdownMenuItem = styled_components_1.default.li(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n cursor: pointer;\n padding: ", ";\n &:hover {\n background-color: #ddd;\n }\n"], ["\n cursor: pointer;\n padding: ", ";\n &:hover {\n background-color: #ddd;\n }\n"])), function (props) { return props.theme.spacing(0, 3); });
|
|
50
50
|
var Dropdown = function (_a) {
|
|
51
|
-
var buttonProps = _a.buttonProps, align = _a.align, children = _a.children;
|
|
51
|
+
var buttonProps = _a.buttonProps, align = _a.align, children = _a.children, stayOpenOnClick = _a.stayOpenOnClick;
|
|
52
|
+
var dropper = (0, react_1.useRef)(null);
|
|
52
53
|
var _b = (0, react_1.useState)(false), isOpen = _b[0], setIsOpen = _b[1];
|
|
53
54
|
var handleOpen = (0, react_1.useCallback)(function () { return setIsOpen(true); }, [setIsOpen]);
|
|
54
|
-
var handleClose = (0, react_1.useCallback)(function () {
|
|
55
|
+
var handleClose = (0, react_1.useCallback)(function (e) {
|
|
56
|
+
var _a;
|
|
57
|
+
if (stayOpenOnClick && ((_a = dropper.current) === null || _a === void 0 ? void 0 : _a.contains(e.target)))
|
|
58
|
+
return;
|
|
59
|
+
setIsOpen(false);
|
|
60
|
+
}, [setIsOpen, stayOpenOnClick]);
|
|
55
61
|
react_1.default.useEffect(function () {
|
|
56
62
|
if (isOpen) {
|
|
57
63
|
setTimeout(function () { return document.addEventListener('click', handleClose); }, 1);
|
|
@@ -63,7 +69,7 @@ var Dropdown = function (_a) {
|
|
|
63
69
|
return (react_1.default.createElement(Wrapper, null,
|
|
64
70
|
react_1.default.createElement(Button_1.Button, __assign({}, buttonProps, { onClick: handleOpen })),
|
|
65
71
|
isOpen && (react_1.default.createElement(SlideInFromTop_1.SlideInFromTop, { speed: '.1s' },
|
|
66
|
-
react_1.default.createElement(Dropper, { align: align || 'left' }, children)))));
|
|
72
|
+
react_1.default.createElement(Dropper, { ref: dropper, align: align || 'left' }, children)))));
|
|
67
73
|
};
|
|
68
74
|
exports.Dropdown = Dropdown;
|
|
69
75
|
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6;
|
|
@@ -59,7 +59,7 @@ var theme_1 = require("../../theme");
|
|
|
59
59
|
var responsiveProps_1 = require("../../responsiveness/responsiveProps");
|
|
60
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
|
-
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:
|
|
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: ", "; \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: ", "; \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.inline ? 'auto' : '38px'; }, 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
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
65
|
: (0, styled_components_1.css)(templateObject_8 || (templateObject_8 = __makeTemplateObject(["font-weight: 700; padding: 0;"], ["font-weight: 700; padding: 0;"]))); }, function (props) {
|
|
@@ -55,18 +55,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
55
55
|
exports.Checkbox = void 0;
|
|
56
56
|
var react_1 = __importDefault(require("react"));
|
|
57
57
|
var styled_components_1 = __importStar(require("styled-components"));
|
|
58
|
-
var
|
|
59
|
-
var Label = styled_components_1.default.label(
|
|
60
|
-
var Input = styled_components_1.default.input(
|
|
61
|
-
var Span = styled_components_1.default.span(
|
|
58
|
+
var Box_1 = require("../../components/Box/Box");
|
|
59
|
+
var Label = styled_components_1.default.label(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n position: relative; \n"], ["\n position: relative; \n"])));
|
|
60
|
+
var Input = styled_components_1.default.input(templateObject_2 || (templateObject_2 = __makeTemplateObject([" \n position: absolute;\n top: 0;\n left: 0;\n \n width: 17px;\n height: 17px; \n \n z-index: 99;\n opacity: 0; \n margin-right: ", ";\n transform: translateY(1px);\n \n &~span {\n user-select: none;\n padding-left: 1.85714em;\n cursor: pointer;\n font-size: .92857143em;\n }\n \n &~span:before, &~span:after {\n position: absolute;\n top: 0;\n left: 0;\n width: 17px;\n height: 17px;\n line-height: 17px;\n content: ''; \n border-radius: 4px;\n border: 1px solid rgba(34,36,38,.15);\n z-index:0;\n }\n \n &:checked~span {\n font-style: italic;\n }\n \n &:checked~span:before {\n background: #fff;\n border-color: rgba(34,36,38,.35); \n }\n \n &:checked~span:after { \n font-style: normal; \n text-align: center;\n content: '\\2714';\n opacity: 1;\n color: ", "\n } \n \n &:focus~span:before, &:focus~span:after {\n border-color: #85b7d9;\n border-radius: 4px;\n background: #fff;\n box-shadow: 0 0 0 0 rgba(34,36,38,.35) inset;\n } \n \n &.error~span {\n color: ", "; \n }\n \n &.error~span:before, &.error~span:after {\n background: #fff6f6;\n border-color: #e0b4b4;\n color: #9f3a38;\n } \n"], [" \n position: absolute;\n top: 0;\n left: 0;\n \n width: 17px;\n height: 17px; \n \n z-index: 99;\n opacity: 0; \n margin-right: ", ";\n transform: translateY(1px);\n \n &~span {\n user-select: none;\n padding-left: 1.85714em;\n cursor: pointer;\n font-size: .92857143em;\n }\n \n &~span:before, &~span:after {\n position: absolute;\n top: 0;\n left: 0;\n width: 17px;\n height: 17px;\n line-height: 17px;\n content: ''; \n border-radius: 4px;\n border: 1px solid rgba(34,36,38,.15);\n z-index:0;\n }\n \n &:checked~span {\n font-style: italic;\n }\n \n &:checked~span:before {\n background: #fff;\n border-color: rgba(34,36,38,.35); \n }\n \n &:checked~span:after { \n font-style: normal; \n text-align: center;\n content: '\\\\2714';\n opacity: 1;\n color: ", "\n } \n \n &:focus~span:before, &:focus~span:after {\n border-color: #85b7d9;\n border-radius: 4px;\n background: #fff;\n box-shadow: 0 0 0 0 rgba(34,36,38,.35) inset;\n } \n \n &.error~span {\n color: ", "; \n }\n \n &.error~span:before, &.error~span:after {\n background: #fff6f6;\n border-color: #e0b4b4;\n color: #9f3a38;\n } \n"])), function (props) { return props.theme.spacing(2); }, function (props) { return props.theme.palette.common.black; }, function (props) { return props.theme.palette.form.error; });
|
|
61
|
+
var Span = styled_components_1.default.span(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), function (props) { return props.dimmed ? (0, styled_components_1.css)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["color: #999c9e;"], ["color: #999c9e;"]))) : ''; });
|
|
62
62
|
exports.Checkbox = react_1.default.forwardRef(function (_a, ref) {
|
|
63
|
-
var options = _a.options, name = _a.name, dimmed = _a.dimmed, restProps = __rest(_a, ["options", "name", "dimmed"]);
|
|
63
|
+
var options = _a.options, _b = _a.spacing, spacing = _b === void 0 ? 1 : _b, name = _a.name, dimmed = _a.dimmed, restProps = __rest(_a, ["options", "spacing", "name", "dimmed"]);
|
|
64
64
|
return (react_1.default.createElement(react_1.default.Fragment, null, Object.entries(options).map(function (_a) {
|
|
65
65
|
var value = _a[0], label = _a[1];
|
|
66
|
-
return (react_1.default.createElement(
|
|
66
|
+
return (react_1.default.createElement(Box_1.Box, { key: value, mt: spacing, mb: spacing },
|
|
67
67
|
react_1.default.createElement(Label, { key: value },
|
|
68
68
|
react_1.default.createElement(Input, __assign({ type: "checkbox", value: value, name: name, ref: ref }, restProps)),
|
|
69
69
|
react_1.default.createElement(Span, { dimmed: dimmed }, label))));
|
|
70
70
|
})));
|
|
71
71
|
});
|
|
72
|
-
var templateObject_1, templateObject_2, templateObject_3, templateObject_4
|
|
72
|
+
var templateObject_1, templateObject_2, templateObject_3, templateObject_4;
|