krl-alfred 1.12.0 → 1.13.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.
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  var jsx_runtime_1 = require("react/jsx-runtime");
7
+ var react_1 = require("react");
7
8
  var prop_types_1 = __importDefault(require("prop-types"));
8
9
  var Breadcrumbs_styled_1 = require("./Breadcrumbs.styled");
9
10
  var Icon_1 = __importDefault(require("../Icon/Icon"));
@@ -22,13 +23,18 @@ var Breadcrumbs = function (props) {
22
23
  var item = _a.item, children = _a.children;
23
24
  return item.component ? ((0, jsx_runtime_1.jsx)(item.component, { children: children })) : ((0, jsx_runtime_1.jsx)("a", { href: item.slug, children: children }));
24
25
  };
25
- setTimeout(function () {
26
- var elem = document === null || document === void 0 ? void 0 : document.querySelector(".breadcrumbSm");
27
- var activeItem = document === null || document === void 0 ? void 0 : document.querySelector(".breadcrumbSm li.active");
28
- if (activeItem && elem) {
29
- elem.scrollLeft = activeItem.offsetLeft;
30
- }
31
- }, 100);
26
+ (0, react_1.useEffect)(function () {
27
+ setTimeout(function () {
28
+ var _a, _b;
29
+ if (window && typeof window !== "undefined") {
30
+ var elem = (_a = window === null || window === void 0 ? void 0 : window.document) === null || _a === void 0 ? void 0 : _a.querySelector(".breadcrumbSm");
31
+ var activeItem = (_b = window === null || window === void 0 ? void 0 : window.document) === null || _b === void 0 ? void 0 : _b.querySelector(".breadcrumbSm li.active");
32
+ if (activeItem && elem) {
33
+ elem.scrollLeft = activeItem.offsetLeft;
34
+ }
35
+ }
36
+ }, 100);
37
+ }, []);
32
38
  var SubMenu = function (_a) {
33
39
  var data = _a.data, item = _a.item;
34
40
  var rowLength = subMenuRowLength;
@@ -45,15 +51,14 @@ var Breadcrumbs = function (props) {
45
51
  var SubMenuMobile = function () {
46
52
  var _a;
47
53
  return ((0, jsx_runtime_1.jsx)(Breadcrumbs_styled_1.SubMenuMobileWrapper, { className: "breadcrumbSm", children: (_a = getSubData()) === null || _a === void 0 ? void 0 : _a.map(function (item) {
48
- var _a;
49
- return ((0, jsx_runtime_1.jsx)(Breadcrumbs_styled_1.SubMenuMobileItem, { isActive: item.isActive, className: (0, classnames_1.default)("caption-bold-12-15", (_a = {},
50
- _a["active"] = item.isActive,
51
- _a)), children: (0, jsx_runtime_1.jsx)(ButtonLinkComponent, { item: item, children: item.name }) }, item.id));
54
+ return ((0, jsx_runtime_1.jsx)(Breadcrumbs_styled_1.SubMenuMobileItem, { isActive: item.isActive, className: (0, classnames_1.default)("caption-bold-12-15", {
55
+ "active": item.isActive,
56
+ }), children: (0, jsx_runtime_1.jsx)(ButtonLinkComponent, { item: item, children: item.name }) }, item.id));
52
57
  }) }));
53
58
  };
54
59
  return ((0, jsx_runtime_1.jsxs)(Breadcrumbs_styled_1.BreadcrumbsWrapper, { children: [(0, jsx_runtime_1.jsx)(Breadcrumbs_styled_1.BreadcrumbsList, { children: data === null || data === void 0 ? void 0 : data.map(function (breadCrumbItem, key) {
55
60
  var _a;
56
- return ((0, jsx_runtime_1.jsxs)(Breadcrumbs_styled_1.BreadcrumbsListItem, { children: [(0, jsx_runtime_1.jsx)(Breadcrumbs_styled_1.BreadcrumbsListItemBackIconWrapper, { onClick: onClickBackIcon, children: (0, jsx_runtime_1.jsx)(Icon_1.default, { name: "ArrowLeft" }) }), ((_a = breadCrumbItem === null || breadCrumbItem === void 0 ? void 0 : breadCrumbItem.children) === null || _a === void 0 ? void 0 : _a.length) > 0 ? ((0, jsx_runtime_1.jsxs)(Breadcrumbs_styled_1.BreadcrumbsListDropdownWrapper, { children: [key >= 1 && ((0, jsx_runtime_1.jsx)(Breadcrumbs_styled_1.BreadcrumbsListItemIconWrapper, { children: (0, jsx_runtime_1.jsx)(Icon_1.default, { name: "ArrowRight" }) })), (0, jsx_runtime_1.jsxs)(Breadcrumbs_styled_1.BreadcrumbsListDropdownOpener, { className: "caption-bold-12-15", children: [breadCrumbItem.name, (0, jsx_runtime_1.jsx)(Icon_1.default, { stroke: "#9763F6", name: "ArrowSmallDown" })] }), (0, jsx_runtime_1.jsx)(SubMenu, { item: breadCrumbItem, data: breadCrumbItem.children })] })) : ((0, jsx_runtime_1.jsxs)(ButtonLinkComponent, { item: breadCrumbItem, children: [key >= 1 && ((0, jsx_runtime_1.jsx)(Breadcrumbs_styled_1.BreadcrumbsListItemIconWrapper, { children: (0, jsx_runtime_1.jsx)(Icon_1.default, { name: "ArrowRight" }) })), (0, jsx_runtime_1.jsx)(Breadcrumbs_styled_1.BreadcrumbsListItemInner, { className: "caption-bold-12-15", children: breadCrumbItem.name })] }))] }, breadCrumbItem.id));
61
+ return ((0, jsx_runtime_1.jsxs)(Breadcrumbs_styled_1.BreadcrumbsListItem, { children: [(0, jsx_runtime_1.jsx)(Breadcrumbs_styled_1.BreadcrumbsListItemBackIconWrapper, { onClick: onClickBackIcon, children: (0, jsx_runtime_1.jsx)(Icon_1.default, { name: "ArrowLeft" }) }), ((_a = breadCrumbItem === null || breadCrumbItem === void 0 ? void 0 : breadCrumbItem.children) === null || _a === void 0 ? void 0 : _a.length) > 0 ? ((0, jsx_runtime_1.jsxs)(Breadcrumbs_styled_1.BreadcrumbsListDropdownWrapper, { children: [key >= 1 && ((0, jsx_runtime_1.jsx)(Breadcrumbs_styled_1.BreadcrumbsListItemIconWrapper, { children: (0, jsx_runtime_1.jsx)(Icon_1.default, { name: "ArrowRight" }) })), (0, jsx_runtime_1.jsxs)(Breadcrumbs_styled_1.BreadcrumbsListDropdownOpener, { className: "caption-bold-12-15", children: [breadCrumbItem.name, (0, jsx_runtime_1.jsx)(Icon_1.default, { stroke: "#9763F6", name: "ArrowSmallDown" })] }), (0, jsx_runtime_1.jsx)(SubMenu, { item: breadCrumbItem, data: breadCrumbItem.children })] })) : ((0, jsx_runtime_1.jsxs)(ButtonLinkComponent, { item: breadCrumbItem, children: [key >= 1 && ((0, jsx_runtime_1.jsx)(Breadcrumbs_styled_1.BreadcrumbsListItemIconWrapper, { children: (0, jsx_runtime_1.jsx)(Icon_1.default, { name: "ArrowRight" }) })), (0, jsx_runtime_1.jsx)(Breadcrumbs_styled_1.BreadcrumbsListItemInner, { className: "caption-bold-12-15", children: breadCrumbItem.name })] }))] }, key));
57
62
  }) }), (0, jsx_runtime_1.jsx)(SubMenuMobile, {})] }));
58
63
  };
59
64
  exports.default = Breadcrumbs;
@@ -10,7 +10,7 @@ var classnames_1 = __importDefault(require("classnames"));
10
10
  var Checkbox = function (props) {
11
11
  var _a, _b, _c, _d;
12
12
  var value = props.value, checked = props.checked, onChange = props.onChange, name = props.name, id = props.id, label = props.label, disabled = props.disabled, size = props.size, description = props.description, valid = props.valid;
13
- return ((0, jsx_runtime_1.jsxs)(Checkbox_styled_1.CheckboxStyled, { htmlFor: id, disabled: disabled, checked: checked, size: size, valid: valid, children: [(0, jsx_runtime_1.jsx)("input", { id: id, type: "checkbox", name: name, value: value, disabled: disabled, checked: checked, onChange: onChange }), (0, jsx_runtime_1.jsx)("div", { className: "indicator" }), (0, jsx_runtime_1.jsxs)("div", { className: "labelsWrapper", children: [(0, jsx_runtime_1.jsx)("label", { className: (0, classnames_1.default)("label", (_a = {}, _a["body-medium-14-17"] = size === "small", _a), (_b = {}, _b["title-medium-16-19"] = size === "medium", _b)), htmlFor: id, children: label }), (0, jsx_runtime_1.jsx)("label", { className: (0, classnames_1.default)("description", (_c = {}, _c["body-regular-13-16"] = size === "small", _c), (_d = {}, _d["body-regular-13-16"] = size === "medium", _d)), htmlFor: id, children: description })] })] }));
13
+ return ((0, jsx_runtime_1.jsxs)(Checkbox_styled_1.CheckboxStyled, { htmlFor: id, disabled: disabled, checked: checked, size: size, valid: valid, children: [(0, jsx_runtime_1.jsx)("input", { id: id, type: "checkbox", name: name, value: value, disabled: disabled, checked: checked, onChange: onChange }), (0, jsx_runtime_1.jsx)("div", { className: "indicator" }), (label || description) && ((0, jsx_runtime_1.jsxs)("div", { className: "labelsWrapper", children: [label && ((0, jsx_runtime_1.jsx)("label", { className: (0, classnames_1.default)("label", (_a = {}, _a["body-medium-14-17"] = size === "small", _a), (_b = {}, _b["title-medium-16-19"] = size === "medium", _b)), htmlFor: id, children: label })), description && ((0, jsx_runtime_1.jsx)("label", { className: (0, classnames_1.default)("description", (_c = {}, _c["body-regular-13-16"] = size === "small", _c), (_d = {}, _d["body-regular-13-16"] = size === "medium", _d)), htmlFor: id, children: description }))] }))] }));
14
14
  };
15
15
  exports.default = Checkbox;
16
16
  Checkbox.propTypes = {
@@ -12,7 +12,7 @@ var jsx_runtime_1 = require("react/jsx-runtime");
12
12
  var styled_components_1 = __importDefault(require("styled-components"));
13
13
  var Icon_1 = __importDefault(require("../Icon/Icon"));
14
14
  var svgToBase64_1 = __importDefault(require("./../../utils/svgToBase64"));
15
- exports.CheckboxStyled = styled_components_1.default.label(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n flex:1;\n position:relative;\n display:flex;\n align-items:flex-start;\n justify-content:flex-start;\n input[type=\"checkbox\"]{\n height: 0;\n width: 0;\n opacity: 0;\n z-index: -1;\n &:checked ~ .indicator{\n background-image:url('", "');\n }\n }\n div.indicator{\n background-image:url('", "');\n background-size:100% 100%;\n display:block;\n position:relative;\n width: ", ";\n height: ", ";\n &:disabled {\n cursor: not-allowed;\n }\n }\n div.labelsWrapper{\n position: relative;\n display: inline-block;\n cursor: ", ";\n margin: ", ";\n color:", ";\n label.label{\n display:block;\n margin:0;\n }\n label.description{\n display:block;\n margin:0;\n }\n }\n"], ["\n flex:1;\n position:relative;\n display:flex;\n align-items:flex-start;\n justify-content:flex-start;\n input[type=\"checkbox\"]{\n height: 0;\n width: 0;\n opacity: 0;\n z-index: -1;\n &:checked ~ .indicator{\n background-image:url('", "');\n }\n }\n div.indicator{\n background-image:url('", "');\n background-size:100% 100%;\n display:block;\n position:relative;\n width: ", ";\n height: ", ";\n &:disabled {\n cursor: not-allowed;\n }\n }\n div.labelsWrapper{\n position: relative;\n display: inline-block;\n cursor: ", ";\n margin: ", ";\n color:", ";\n label.label{\n display:block;\n margin:0;\n }\n label.description{\n display:block;\n margin:0;\n }\n }\n"])), (0, svgToBase64_1.default)((0, jsx_runtime_1.jsx)(Icon_1.default, { name: "CheckboxElementChecked" })), function (props) { return props.disabled ? (0, svgToBase64_1.default)((0, jsx_runtime_1.jsx)(Icon_1.default, { name: "CheckboxElementDisabled" })) : (props.valid ? (0, svgToBase64_1.default)((0, jsx_runtime_1.jsx)(Icon_1.default, { name: "CheckboxElementUncheck" })) : (0, svgToBase64_1.default)((0, jsx_runtime_1.jsx)(Icon_1.default, { name: "CheckboxElementInvalid" }))); }, function (props) {
15
+ exports.CheckboxStyled = styled_components_1.default.label(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n flex:1;\n position:relative;\n display:flex;\n align-items:flex-start;\n justify-content:flex-start;\n input[type=\"checkbox\"]{\n height: 0;\n width: 0;\n opacity: 0;\n z-index: -1;\n position: absolute;\n &:checked ~ .indicator{\n background-image:url('", "');\n }\n }\n div.indicator{\n background-image:url('", "');\n background-size:100% 100%;\n display:block;\n position:relative;\n margin: ", ";\n width: ", ";\n height: ", ";\n &:disabled {\n cursor: not-allowed;\n }\n }\n div.labelsWrapper{\n position: relative;\n display: inline-block;\n cursor: ", ";\n margin: ", ";\n color:", ";\n label.label{\n display:block;\n margin:0;\n }\n label.description{\n display:block;\n margin:0;\n }\n }\n"], ["\n flex:1;\n position:relative;\n display:flex;\n align-items:flex-start;\n justify-content:flex-start;\n input[type=\"checkbox\"]{\n height: 0;\n width: 0;\n opacity: 0;\n z-index: -1;\n position: absolute;\n &:checked ~ .indicator{\n background-image:url('", "');\n }\n }\n div.indicator{\n background-image:url('", "');\n background-size:100% 100%;\n display:block;\n position:relative;\n margin: ", ";\n width: ", ";\n height: ", ";\n &:disabled {\n cursor: not-allowed;\n }\n }\n div.labelsWrapper{\n position: relative;\n display: inline-block;\n cursor: ", ";\n margin: ", ";\n color:", ";\n label.label{\n display:block;\n margin:0;\n }\n label.description{\n display:block;\n margin:0;\n }\n }\n"])), (0, svgToBase64_1.default)((0, jsx_runtime_1.jsx)(Icon_1.default, { name: "CheckboxElementChecked" })), function (props) { return props.disabled ? (0, svgToBase64_1.default)((0, jsx_runtime_1.jsx)(Icon_1.default, { name: "CheckboxElementDisabled" })) : (props.valid ? (0, svgToBase64_1.default)((0, jsx_runtime_1.jsx)(Icon_1.default, { name: "CheckboxElementUncheck" })) : (0, svgToBase64_1.default)((0, jsx_runtime_1.jsx)(Icon_1.default, { name: "CheckboxElementInvalid" }))); }, function (props) { return (props.size === "small" ? "0 8px 0 0" : "0 16px 0 0"); }, function (props) {
16
16
  switch (props.size) {
17
17
  case 'small':
18
18
  return "16px";
@@ -30,5 +30,5 @@ exports.CheckboxStyled = styled_components_1.default.label(templateObject_1 || (
30
30
  default:
31
31
  return "16px";
32
32
  }
33
- }, function (props) { return (props.disabled ? "not-allowed" : "pointer"); }, function (props) { return (props.size === "small" ? "0 0 0 8px" : "2px 0 0 16px"); }, function (props) { return props.valid ? '#000000' : 'var(--red)'; });
33
+ }, function (props) { return (props.disabled ? "not-allowed" : "pointer"); }, function (props) { return (props.size === "small" ? "0 0 0 0" : "2px 0 0 0"); }, function (props) { return props.valid ? '#000000' : 'var(--red)'; });
34
34
  var templateObject_1;
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ var jsx_runtime_1 = require("react/jsx-runtime");
18
+ var ProductCard_styled_1 = require("./ProductCard.styled");
19
+ var Checkbox_1 = __importDefault(require("../Checkbox"));
20
+ var prop_types_1 = __importDefault(require("prop-types"));
21
+ var react_device_detect_1 = require("react-device-detect");
22
+ var ProductCard = function (props) {
23
+ return (0, jsx_runtime_1.jsx)(ProductCard_styled_1.ProductCardStyled, __assign({ htmlFor: props.checkboxId }, props, { children: (0, jsx_runtime_1.jsxs)("div", { className: "ProductCardInner", children: [(0, jsx_runtime_1.jsx)("div", { className: "ProductCardCheckboxContent", children: (0, jsx_runtime_1.jsx)(Checkbox_1.default, { id: props.checkboxId, size: react_device_detect_1.isMobile ? "small" : "medium", label: "", onChange: props.productCardOnChange }) }), props.image && ((0, jsx_runtime_1.jsx)("div", { className: "ProductCardImg", children: props.image })), (0, jsx_runtime_1.jsxs)("div", { className: "ProductCardText", children: [(0, jsx_runtime_1.jsx)("strong", { className: "ProductCardTitle title-semi-bold-16-19", children: props.title }), props.contentAlignment === "center" && props.content && (0, jsx_runtime_1.jsx)("div", { className: "ProductCardContent", children: props.content })] }), props.contentAlignment === "left" && props.content && (0, jsx_runtime_1.jsx)("div", { className: "ProductCardContent", children: props.content })] }) }));
24
+ };
25
+ exports.default = ProductCard;
26
+ ProductCard.propTypes = {
27
+ productChecked: prop_types_1.default.bool,
28
+ disabled: prop_types_1.default.bool,
29
+ };
30
+ ProductCard.defaultProps = {
31
+ productChecked: false,
32
+ disabled: false,
33
+ };
@@ -0,0 +1,14 @@
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.ProductCardStyled = void 0;
11
+ var styled_components_1 = __importDefault(require("styled-components"));
12
+ var devices_1 = require("../../constants/devices");
13
+ exports.ProductCardStyled = styled_components_1.default.label(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: block;\n max-width: 634px;\n ", "\n .ProductCardInner {\n border: 1px solid var(--dark-opacity-10);\n border-radius: 8px;\n padding: 24px;\n background-color: white;\n grid-template-columns: auto auto 1fr;\n display: grid;\n justify-content: flex-start;\n .ProductCardCheckboxContent{\n height: 64px;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n }\n .ProductCardImg {\n width: 64px;\n height: 64px;\n border: 1px solid var(--dark-opacity-5);\n border-radius: 8px;\n position: relative;\n margin-right: 16px;\n overflow: hidden;\n @media only screen and ", " {\n margin-right: 8px;\n }\n\n > * {\n display: block;\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: center center;\n }\n }\n .ProductCardTitle{\n min-height: 66px;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n text-align: start;\n }\n .ProductCardContent{ \n margin: 24px auto 0 0;\n grid-column-start: 1;\n grid-column-end: 4;\n width: 100%;\n }\n }\n"], ["\n display: block;\n max-width: 634px;\n ", "\n .ProductCardInner {\n border: 1px solid var(--dark-opacity-10);\n border-radius: 8px;\n padding: 24px;\n background-color: white;\n grid-template-columns: auto auto 1fr;\n display: grid;\n justify-content: flex-start;\n .ProductCardCheckboxContent{\n height: 64px;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n }\n .ProductCardImg {\n width: 64px;\n height: 64px;\n border: 1px solid var(--dark-opacity-5);\n border-radius: 8px;\n position: relative;\n margin-right: 16px;\n overflow: hidden;\n @media only screen and ", " {\n margin-right: 8px;\n }\n\n > * {\n display: block;\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: center center;\n }\n }\n .ProductCardTitle{\n min-height: 66px;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n text-align: start;\n }\n .ProductCardContent{ \n margin: 24px auto 0 0;\n grid-column-start: 1;\n grid-column-end: 4;\n width: 100%;\n }\n }\n"])), function (props) { return props.disabled ? "\n user-select:none;\n pointer-events:none;\n " : ""; }, devices_1.devices.sm);
14
+ var templateObject_1;
@@ -0,0 +1,8 @@
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.default = void 0;
7
+ var ProductCard_1 = require("./ProductCard");
8
+ Object.defineProperty(exports, "default", { enumerable: true, get: function () { return __importDefault(ProductCard_1).default; } });
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.contentAlignments = void 0;
4
+ exports.contentAlignments = ['left', 'center'];
5
+ var ProductCardDefault = {
6
+ hasCheckbox: false,
7
+ contentAlignment: exports.contentAlignments[0],
8
+ productChecked: false,
9
+ disabled: false,
10
+ };
@@ -0,0 +1,27 @@
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.Default = void 0;
7
+ var jsx_runtime_1 = require("react/jsx-runtime");
8
+ var ProductCard_1 = __importDefault(require("../ProductCard"));
9
+ var props_1 = require("../props");
10
+ exports.default = {
11
+ title: "Components/ProductCard",
12
+ component: ProductCard_1.default,
13
+ tags: ['autodocs'],
14
+ argTypes: {
15
+ contentAlignment: { control: 'select', options: props_1.contentAlignments },
16
+ disabled: { control: 'boolean' },
17
+ }
18
+ };
19
+ exports.Default = {
20
+ args: {
21
+ title: "Product Name",
22
+ content: "Content",
23
+ contentAlignment: "left",
24
+ productCardOnChange: function () { return console.log("test"); },
25
+ image: (0, jsx_runtime_1.jsx)("img", { src: "https://kiralarsin.s3.eu-central-1.amazonaws.com/products/4MOMSMAMAROOANAKUC_1.jpg", alt: "test" })
26
+ },
27
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "krl-alfred",
3
- "version": "1.12.0",
3
+ "version": "1.13.0",
4
4
  "files": [
5
5
  "dist"
6
6
  ],
@@ -25,6 +25,7 @@
25
25
  "css-loader": "^6.7.3",
26
26
  "plop": "^3.1.2",
27
27
  "react": "^18.2.0",
28
+ "react-device-detect": "^2.2.3",
28
29
  "react-dom": "^18.2.0",
29
30
  "react-router-dom": "^6.10.0",
30
31
  "react-scripts": "^5.0.1",