@mailstep/design-system 0.4.7 → 0.4.8

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.
Files changed (62) hide show
  1. package/README.md +6 -0
  2. package/package.json +9 -9
  3. package/ui/Blocks/ImageList/ImageList.js +1 -1
  4. package/ui/Blocks/ImageList/components/AddPhoto/index.js +1 -1
  5. package/ui/Blocks/ImageList/components/ImageElement/index.js +1 -1
  6. package/ui/Blocks/ImageList/stories/ImageList.stories.d.ts +13 -0
  7. package/ui/Blocks/ImageList/stories/ImageList.stories.js +41 -0
  8. package/ui/Blocks/LightBox/LightBox.js +3 -3
  9. package/ui/Blocks/LightBox/stories/LightBox.stories.d.ts +11 -0
  10. package/ui/Blocks/LightBox/stories/LightBox.stories.js +20 -0
  11. package/ui/Blocks/LightBox/styles.d.ts +1 -0
  12. package/ui/Blocks/LightBox/styles.js +3 -2
  13. package/ui/Blocks/LightBox/types.d.ts +3 -0
  14. package/ui/Blocks/Modal/Modal.js +6 -5
  15. package/ui/Blocks/Modal/stories/Modal.stories.d.ts +8 -5
  16. package/ui/Blocks/Modal/stories/Modal.stories.js +36 -18
  17. package/ui/Blocks/Modal/styles.d.ts +6 -6
  18. package/ui/Blocks/Modal/styles.js +53 -26
  19. package/ui/Blocks/Modal/types.d.ts +4 -5
  20. package/ui/Blocks/Modal/utils.d.ts +1 -2
  21. package/ui/Blocks/Modal/utils.js +0 -4
  22. package/ui/Elements/Icon/icons/Calendar.d.ts +3 -0
  23. package/ui/Elements/Icon/icons/Calendar.js +13 -0
  24. package/ui/Elements/Icon/icons/Cancel.d.ts +3 -0
  25. package/ui/Elements/Icon/icons/Cancel.js +13 -0
  26. package/ui/Elements/Icon/icons/CheckedBox.d.ts +3 -0
  27. package/ui/Elements/Icon/icons/CheckedBox.js +13 -0
  28. package/ui/Elements/Icon/icons/Consolidation.d.ts +3 -0
  29. package/ui/Elements/Icon/icons/Consolidation.js +13 -0
  30. package/ui/Elements/Icon/icons/Dispatch.d.ts +3 -0
  31. package/ui/Elements/Icon/icons/Dispatch.js +13 -0
  32. package/ui/Elements/Icon/icons/EmptyRack.d.ts +3 -0
  33. package/ui/Elements/Icon/icons/EmptyRack.js +2 -0
  34. package/ui/Elements/Icon/icons/Expeditions.js +1 -1
  35. package/ui/Elements/Icon/icons/Gift.d.ts +3 -0
  36. package/ui/Elements/Icon/icons/Gift.js +13 -0
  37. package/ui/Elements/Icon/icons/Info.d.ts +3 -0
  38. package/ui/Elements/Icon/icons/Info.js +13 -0
  39. package/ui/Elements/Icon/icons/Location.d.ts +3 -0
  40. package/ui/Elements/Icon/icons/Location.js +13 -0
  41. package/ui/Elements/Icon/icons/MakePhoto.d.ts +3 -0
  42. package/ui/Elements/Icon/icons/MakePhoto.js +13 -0
  43. package/ui/Elements/Icon/icons/MenuItems.js +1 -1
  44. package/ui/Elements/Icon/icons/Print.d.ts +3 -0
  45. package/ui/Elements/Icon/icons/Print.js +13 -0
  46. package/ui/Elements/Icon/icons/Return.js +1 -1
  47. package/ui/Elements/Icon/icons/ThreeDots.d.ts +3 -0
  48. package/ui/Elements/Icon/icons/ThreeDots.js +13 -0
  49. package/ui/Elements/Icon/icons/TwoBoxes.d.ts +3 -0
  50. package/ui/Elements/Icon/icons/TwoBoxes.js +13 -0
  51. package/ui/Elements/Icon/icons/TwoCheckedBoxes.d.ts +3 -0
  52. package/ui/Elements/Icon/icons/TwoCheckedBoxes.js +2 -0
  53. package/ui/Elements/Icon/icons/index.d.ts +14 -0
  54. package/ui/Elements/Icon/icons/index.js +14 -0
  55. package/ui/Elements/Icon/stories/BadgeIcon.stories.d.ts +1 -1
  56. package/ui/Elements/Tag/index.d.ts +1 -0
  57. package/ui/ThemeProvider/themes/default.js +1 -1
  58. package/ui/ThemeProvider/themes/index.d.ts +1 -5
  59. package/ui/ThemeProvider/themes/mailwise.d.ts +1 -5
  60. package/ui/ThemeProvider/themes/mailwise.js +6 -10
  61. package/ui/index.es.js +4287 -4093
  62. package/ui/index.umd.js +300 -288
package/README.md CHANGED
@@ -14,6 +14,12 @@ yarn install
14
14
  yarn dev
15
15
  ```
16
16
 
17
+ ### How to use
18
+ ```
19
+ yarn add @mailstep/design-system
20
+ ```
21
+ and add `import 'swiper/css'` somewhere to the root app.
22
+
17
23
 
18
24
  #### How to publish
19
25
  In root folder run
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mailstep/design-system",
3
- "version": "0.4.7",
3
+ "version": "0.4.8",
4
4
  "license": "ISC",
5
5
  "type": "module",
6
6
  "main": "./ui/index.js",
@@ -28,13 +28,13 @@
28
28
  "@fortawesome/pro-regular-svg-icons": "^6.0.0",
29
29
  "@fortawesome/pro-solid-svg-icons": "^6.3.0",
30
30
  "@fortawesome/react-fontawesome": "^0.2.0",
31
- "@storybook/addon-controls": "7.5.2",
32
- "@storybook/addon-essentials": "7.5.2",
33
- "@storybook/addon-interactions": "7.5.2",
34
- "@storybook/addon-links": "7.5.2",
35
- "@storybook/blocks": "7.5.2",
36
- "@storybook/react": "7.5.2",
37
- "@storybook/react-webpack5": "7.5.2",
31
+ "@storybook/addon-controls": "7.6.8",
32
+ "@storybook/addon-essentials": "7.6.8",
33
+ "@storybook/addon-interactions": "7.6.8",
34
+ "@storybook/addon-links": "7.6.8",
35
+ "@storybook/blocks": "7.6.8",
36
+ "@storybook/react": "7.6.8",
37
+ "@storybook/react-webpack5": "7.6.8",
38
38
  "@storybook/testing-library": "0.2.2",
39
39
  "@svgr/rollup": "^8.0.1",
40
40
  "@types/node": "^20.1.7",
@@ -57,7 +57,7 @@
57
57
  "react-script": "^2.0.5",
58
58
  "react-toastify": "^9.1.3",
59
59
  "react-use-draggable-scroll": "^0.4.7",
60
- "storybook": "7.5.2",
60
+ "storybook": "7.6.8",
61
61
  "string-width": "6.1.0",
62
62
  "styled-components": "^5.3.10",
63
63
  "swiper": "^11.0.3",
@@ -24,6 +24,6 @@ export var ImageList = function (_a) {
24
24
  var _b = useLightBox(), isLightBoxOpen = _b.isLightBoxOpen, onCloseLightBox = _b.onCloseLightBox, onOpenLightBox = _b.onOpenLightBox, lightBoxData = _b.lightBoxData;
25
25
  return (_jsxs(x.div, { display: "flex", alignItems: "flex-end", children: [_jsx(AddPhoto, { onImageUpload: onImageUpload, isDisabled: isDisabled }), images && (_jsx(ImageListContainer, __assign({ ref: ref }, events, { children: images.map(function (item, index) {
26
26
  var _a, _b;
27
- return (_jsx(ImageElement, { imageUrl: (_a = item.smallUrl) !== null && _a !== void 0 ? _a : item.url, onImageRemove: onImageRemove === null || onImageRemove === void 0 ? void 0 : onImageRemove(item.id), onOpenLightBox: onOpenLightBox(index), isDisabled: isDisabled }, (_b = item.id) !== null && _b !== void 0 ? _b : index));
27
+ return (_jsx(ImageElement, { imageUrl: (_a = item.smallUrl) !== null && _a !== void 0 ? _a : item.url, onImageRemove: onImageRemove === null || onImageRemove === void 0 ? void 0 : onImageRemove(item.id), onOpenLightBox: onOpenLightBox(index), isDisabled: isDisabled, label: item === null || item === void 0 ? void 0 : item.label }, (_b = item.id) !== null && _b !== void 0 ? _b : index));
28
28
  }) }))), _jsx(LightBox, { initialSlide: lightBoxData === null || lightBoxData === void 0 ? void 0 : lightBoxData.initialSlide, isLightBoxOpen: isLightBoxOpen, onCloseLightBox: onCloseLightBox, lightBoxAction: lightBoxAction, lightBoxActionTitle: lightBoxActionTitle, images: images })] }));
29
29
  };
@@ -64,5 +64,5 @@ export var AddPhoto = function (_a) {
64
64
  }, [onImageUpload]);
65
65
  if (!onImageUpload)
66
66
  return null;
67
- return (_jsxs(Container, { isDisabled: isDisabled, children: [_jsx(HiddenInput, { disabled: isDisabled, onChange: handleImageUpload, type: "file", accept: "image/*" }), _jsx(AddPhotoIcon, { width: "36", height: "36" })] }));
67
+ return (_jsxs(Container, { isDisabled: isDisabled, children: [_jsx(HiddenInput, { disabled: isDisabled, onChange: handleImageUpload, type: "file", accept: "image/*;capture=camera", capture: "environment" }), _jsx(AddPhotoIcon, { width: "36", height: "36" })] }));
68
68
  };
@@ -7,5 +7,5 @@ export var ImageElement = function (_a) {
7
7
  var label = _a.label, onImageRemove = _a.onImageRemove, isDisabled = _a.isDisabled, onOpenLightBox = _a.onOpenLightBox, imageUrl = _a.imageUrl;
8
8
  if (!imageUrl)
9
9
  return null;
10
- return (_jsxs(x.div, { position: "relative", pr: "15px", pt: "15px", w: "100px", children: [_jsx(Image, { src: imageUrl, alt: "", width: "85px", height: "85px", onClick: onOpenLightBox }), onImageRemove && _jsx(CloseButton, { onImageRemove: onImageRemove, isDisabled: isDisabled }), _jsx(ImageTag, { label: label })] }));
10
+ return (_jsxs(x.div, { position: "relative", pr: "15px", pt: "15px", w: "100px", h: "100px", children: [_jsx(Image, { src: imageUrl, alt: "", width: "85px", height: "85px", onClick: onOpenLightBox }), onImageRemove && _jsx(CloseButton, { onImageRemove: onImageRemove, isDisabled: isDisabled }), _jsx(ImageTag, { label: label })] }));
11
11
  };
@@ -0,0 +1,13 @@
1
+ /// <reference types="react" />
2
+ import { StoryObj } from '@storybook/react';
3
+ declare const meta: {
4
+ title: string;
5
+ component: import("react").FC<import("../types").ImageListProps>;
6
+ tags: string[];
7
+ argTypes: {};
8
+ };
9
+ export default meta;
10
+ type Story = StoryObj<typeof meta>;
11
+ export declare const ImageListDefault: Story;
12
+ export declare const ImageListDisabled: Story;
13
+ export declare const ImageListWithItemDescription: Story;
@@ -0,0 +1,41 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { ImageList } from '../ImageList';
13
+ var meta = {
14
+ title: 'Blocks/ImageList',
15
+ component: ImageList,
16
+ tags: ['autodocs'],
17
+ argTypes: {},
18
+ };
19
+ export default meta;
20
+ var images = [
21
+ { id: '1', smallUrl: 'https://picsum.photos/200/300', url: 'https://picsum.photos/400/400' },
22
+ { id: '1', smallUrl: 'https://picsum.photos/200/300', url: 'https://picsum.photos/400/400' },
23
+ ];
24
+ export var ImageListDefault = {
25
+ args: {
26
+ images: images,
27
+ isDisabled: false,
28
+ onImageRemove: function (id) { return function () { return null; }; }
29
+ },
30
+ };
31
+ export var ImageListDisabled = {
32
+ args: {
33
+ images: images,
34
+ isDisabled: true,
35
+ },
36
+ };
37
+ export var ImageListWithItemDescription = {
38
+ args: {
39
+ images: images.map(function (img) { return (__assign(__assign({}, img), { label: 'Lorem Ipsum', date: '24.12.2024', description: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aspernatur explicabo harum' })); }),
40
+ },
41
+ };
@@ -2,13 +2,13 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Button } from '../../Elements/Button';
3
3
  import Modal from '../Modal';
4
4
  import { Swiper, SwiperSlide } from 'swiper/react';
5
- import { Container, Image, ButtonContainer } from './styles';
5
+ import { Container, Image, ButtonContainer, Description } from './styles';
6
6
  export var LightBox = function (_a) {
7
7
  var isLightBoxOpen = _a.isLightBoxOpen, onCloseLightBox = _a.onCloseLightBox, lightBoxAction = _a.lightBoxAction, lightBoxActionTitle = _a.lightBoxActionTitle, images = _a.images, _b = _a.initialSlide, initialSlide = _b === void 0 ? 0 : _b;
8
8
  if (!(images === null || images === void 0 ? void 0 : images.length))
9
9
  return null;
10
- return (_jsx(Modal, { isShown: isLightBoxOpen, onClose: onCloseLightBox, mobileFullscreen: true, miniCloseBtn: true, withCloseIcon: true, children: _jsx(Swiper, { initialSlide: initialSlide, slidesPerView: 1, autoHeight: true, children: images.map(function (item) {
10
+ return (_jsx(Modal, { isShown: isLightBoxOpen, onClose: onCloseLightBox, variant: "mobileFullscreen", top: "10px", children: _jsx(Swiper, { initialSlide: initialSlide, slidesPerView: 1, autoHeight: true, children: images.map(function (item) {
11
11
  var _a;
12
- return (_jsx(SwiperSlide, { children: _jsxs(Container, { children: [_jsx(Image, { src: (_a = item.originalUrl) !== null && _a !== void 0 ? _a : item.url, loading: "lazy", alt: "" }), !!item.withLightBoxAction && lightBoxAction && lightBoxActionTitle && (_jsx(ButtonContainer, { children: _jsx(Button, { onClick: lightBoxAction(item.id), appearance: "primaryLight", children: lightBoxActionTitle }) }))] }) }, item.id));
12
+ return (_jsx(SwiperSlide, { children: _jsxs(Container, { children: [_jsx(Image, { src: (_a = item.originalUrl) !== null && _a !== void 0 ? _a : item.url, loading: "lazy", alt: "" }), (item.date || item.description) && (_jsxs(Description, { children: [item.date, " ", item.description] })), !!item.withLightBoxAction && lightBoxAction && lightBoxActionTitle && (_jsx(ButtonContainer, { children: _jsx(Button, { onClick: lightBoxAction(item.id), appearance: "primaryLight", children: lightBoxActionTitle }) }))] }) }, item.id));
13
13
  }) }) }));
14
14
  };
@@ -0,0 +1,11 @@
1
+ /// <reference types="react" />
2
+ import { StoryObj } from '@storybook/react';
3
+ declare const meta: {
4
+ title: string;
5
+ component: import("react").FC<import("../types").LightBoxProps>;
6
+ tags: string[];
7
+ argTypes: {};
8
+ };
9
+ export default meta;
10
+ type Story = StoryObj<typeof meta>;
11
+ export declare const LightBoxDefault: Story;
@@ -0,0 +1,20 @@
1
+ import { LightBox } from '../LightBox';
2
+ var meta = {
3
+ title: 'Blocks/LightBox',
4
+ component: LightBox,
5
+ tags: ['autodocs'],
6
+ argTypes: {},
7
+ };
8
+ export default meta;
9
+ var images = [
10
+ { id: '1', smallUrl: 'https://picsum.photos/200/300', url: 'https://picsum.photos/400/400', date: '1.12.2024', description: 'Lorem ipsum' },
11
+ { id: '2', smallUrl: 'https://picsum.photos/200/300', url: 'https://picsum.photos/400/400', description: 'Lorem ipsum' },
12
+ { id: '3', smallUrl: 'https://picsum.photos/200/300', url: 'https://picsum.photos/400/400', date: '1.12.2024' },
13
+ { id: '3', smallUrl: 'https://picsum.photos/200/300', url: 'https://picsum.photos/400/400' },
14
+ ];
15
+ export var LightBoxDefault = {
16
+ args: {
17
+ images: images,
18
+ isLightBoxOpen: true
19
+ },
20
+ };
@@ -1,3 +1,4 @@
1
1
  export declare const Container: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {}, never>;
2
2
  export declare const Image: import("styled-components").StyledComponent<"img", import("@xstyled/system").Theme, {}, never>;
3
3
  export declare const ButtonContainer: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {}, never>;
4
+ export declare const Description: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {}, never>;
@@ -3,7 +3,8 @@ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cook
3
3
  return cooked;
4
4
  };
5
5
  import styled from '@xstyled/styled-components';
6
- export var Container = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n width: 100%;\n height: 100%;\n position: relative;\n"], ["\n width: 100%;\n height: 100%;\n position: relative;\n"])));
6
+ export var Container = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n width: 100%;\n height: 100%;\n position: relative;\n display: flex;\n"], ["\n width: 100%;\n height: 100%;\n position: relative;\n display: flex;\n"])));
7
7
  export var Image = styled.img(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n width: 100%;\n height: 100%;\n"], ["\n width: 100%;\n height: 100%;\n"])));
8
8
  export var ButtonContainer = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n width: 100%;\n display: flex;\n justify-content: center;\n position: absolute;\n bottom: -60px;\n"], ["\n width: 100%;\n display: flex;\n justify-content: center;\n position: absolute;\n bottom: -60px;\n"])));
9
- var templateObject_1, templateObject_2, templateObject_3;
9
+ export var Description = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n padding: 10px;\n position: absolute;\n width: 100%;\n bottom: 0px;\n background: rgba(255, 255, 255, 0.8);\n"], ["\n padding: 10px;\n position: absolute;\n width: 100%;\n bottom: 0px;\n background: rgba(255, 255, 255, 0.8);\n"])));
10
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4;
@@ -10,8 +10,11 @@ export type UseLightBoxHookType = () => {
10
10
  export interface ImageData {
11
11
  id: string;
12
12
  url?: string;
13
+ label?: string;
14
+ date?: string;
13
15
  smallUrl?: string;
14
16
  originalUrl?: string;
17
+ description?: string | null;
15
18
  withLightBoxAction?: boolean;
16
19
  }
17
20
  export interface LightBoxProps {
@@ -1,14 +1,15 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { memo, useCallback, useMemo, useEffect } from 'react';
3
- import { Icon } from '../../Elements/Icon';
4
- import { DialogOverlay, DialogWindow, HeaderContainer, ButtonsContainer, ContentContainer, TitleContainer, CloseButton, H4, } from './styles';
3
+ import { Icon, Cancel } from '../../Elements/Icon';
4
+ import { H2, H5 } from '../../Elements/Typography';
5
+ import { DialogOverlay, DialogWindow, HeaderContainer, ButtonsContainer, ContentContainer, TitleContainer, CloseButton, } from './styles';
5
6
  import { x } from '@xstyled/styled-components';
6
7
  import { Button } from '../../Elements/Button';
7
8
  import { Portal } from '../../Elements/Portal';
8
9
  import { useClickOutside } from './hooks/useClickOutside';
9
- import { topSpaceMap, widthMap } from './utils';
10
+ import { widthMap } from './utils';
10
11
  export var Modal = memo(function (_a) {
11
- var children = _a.children, _b = _a.isShown, isShown = _b === void 0 ? true : _b, onCancel = _a.onCancel, title = _a.title, titleIcon = _a.titleIcon, onConfirm = _a.onConfirm, confirmLabel = _a.confirmLabel, cancelLabel = _a.cancelLabel, isLoading = _a.isLoading, isConfirmDisabled = _a.isConfirmDisabled, _c = _a.width, width = _c === void 0 ? 'narrow' : _c, _d = _a.topSpace, topSpace = _d === void 0 ? 'default' : _d, onClose = _a.onClose, _e = _a.hasFooter, hasFooter = _e === void 0 ? true : _e, _f = _a.hasHeader, hasHeader = _f === void 0 ? true : _f, _g = _a.whiteBg, whiteBg = _g === void 0 ? false : _g, _h = _a.miniCloseBtn, miniCloseBtn = _h === void 0 ? false : _h, _j = _a.ignoreClickOutside, ignoreClickOutside = _j === void 0 ? false : _j, _k = _a.closeEverywhere, closeEverywhere = _k === void 0 ? false : _k, _l = _a.withCloseIcon, withCloseIcon = _l === void 0 ? true : _l, _m = _a.mobileFullscreen, mobileFullscreen = _m === void 0 ? false : _m, overlayColor = _a.overlayColor, minWidth = _a.minWidth, minHeight = _a.minHeight, maxWidth = _a.maxWidth, maxHeight = _a.maxHeight;
12
+ var children = _a.children, _b = _a.isShown, isShown = _b === void 0 ? true : _b, onCancel = _a.onCancel, title = _a.title, titleIcon = _a.titleIcon, onConfirm = _a.onConfirm, confirmLabel = _a.confirmLabel, cancelLabel = _a.cancelLabel, isLoading = _a.isLoading, isConfirmDisabled = _a.isConfirmDisabled, _c = _a.width, width = _c === void 0 ? 'narrow' : _c, onClose = _a.onClose, _d = _a.hasFooter, hasFooter = _d === void 0 ? true : _d, _e = _a.hasHeader, hasHeader = _e === void 0 ? true : _e, background = _a.background, _f = _a.ignoreClickOutside, ignoreClickOutside = _f === void 0 ? false : _f, _g = _a.closeEverywhere, closeEverywhere = _g === void 0 ? false : _g, _h = _a.withCloseIcon, withCloseIcon = _h === void 0 ? true : _h, overlayColor = _a.overlayColor, minWidth = _a.minWidth, minHeight = _a.minHeight, maxWidth = _a.maxWidth, maxHeight = _a.maxHeight, _j = _a.variant, variant = _j === void 0 ? 'compact' : _j, top = _a.top;
12
13
  var closeDialog = useCallback(function () {
13
14
  if (onClose) {
14
15
  onClose();
@@ -31,5 +32,5 @@ export var Modal = memo(function (_a) {
31
32
  if (!isShown) {
32
33
  return null;
33
34
  }
34
- return (_jsx(Portal, { children: _jsx(DialogOverlay, { backgroundColor: overlayColor, children: _jsxs(DialogWindow, { ref: dialogRef, style: dialogStyle, "$whiteBg": whiteBg, "data-cy": "dialogWindow", onClick: closeEverywhere ? closeDialog : undefined, "$minWidth": minWidth, "$minHeight": minHeight, "$maxWidth": maxWidth, "$maxHeight": maxHeight, "$mobileFullscreen": mobileFullscreen, children: [title && hasHeader && (_jsx(HeaderContainer, { topSpace: topSpaceMap[topSpace], children: _jsxs(TitleContainer, { children: [titleIcon && (_jsx(x.div, { as: "span", className: "icon", children: typeof titleIcon === 'string' ? _jsx(Icon, { icon: titleIcon, fill: "blue2" }) : titleIcon })), _jsx(H4, { children: title })] }) })), _jsx(ContentContainer, { topSpace: topSpaceMap[topSpace], "$mobileFullscreen": mobileFullscreen, children: children }), hasFooter && (onCancel || onConfirm) && (_jsxs(ButtonsContainer, { children: [onCancel && (_jsx(Button, { type: "button", onClick: onCancel, isLoading: isLoading, "data-cy": "cancelBtn", appearance: "primaryLight", children: cancelLabel ? cancelLabel : 'Cancel' })), onConfirm && (_jsx(Button, { type: "button", onClick: onDialogConfirmClick, isLoading: isLoading, disabled: isConfirmDisabled, "data-cy": "submitBtn", children: confirmLabel ? confirmLabel : 'Submit' }))] })), hasHeader && !closeEverywhere && withCloseIcon && (_jsx(CloseButton, { onClick: closeDialog, "data-cy": "dialogCloseBtn", children: _jsx(Icon, { icon: "close", size: miniCloseBtn ? '20px' : '26px' }) }))] }) }) }));
35
+ return (_jsx(Portal, { children: _jsx(DialogOverlay, { backgroundColor: overlayColor, children: _jsxs(DialogWindow, { ref: dialogRef, style: dialogStyle, "$backgroundColor": background, top: top, "data-cy": "dialogWindow", onClick: closeEverywhere ? closeDialog : undefined, "$minWidth": minWidth, "$minHeight": minHeight, "$maxWidth": maxWidth, "$maxHeight": maxHeight, variant: variant, children: [title && hasHeader && (_jsx(HeaderContainer, { variant: variant, children: _jsxs(TitleContainer, { children: [titleIcon && (_jsx(x.div, { as: "span", className: "icon", children: typeof titleIcon === 'string' ? _jsx(Icon, { icon: titleIcon, fill: "blue2" }) : titleIcon })), variant == 'default' ? (_jsx(H2, { mt: 0, mb: 0, variant: "bold", children: title })) : (_jsx(H5, { mt: 0, mb: 0, variant: "bold", children: title }))] }) })), withCloseIcon && (_jsx(CloseButton, { onClick: closeDialog, "data-cy": "dialogCloseBtn", children: _jsx(Cancel, { width: "11px", height: "11px" }) })), _jsx(ContentContainer, { variant: variant, children: children }), hasFooter && (onCancel || onConfirm) && (_jsxs(ButtonsContainer, { children: [onCancel && (_jsx(Button, { type: "button", onClick: onCancel, isLoading: isLoading, "data-cy": "cancelBtn", appearance: "primaryLight", children: cancelLabel ? cancelLabel : 'Cancel' })), onConfirm && (_jsx(Button, { type: "button", onClick: onDialogConfirmClick, isLoading: isLoading, disabled: isConfirmDisabled, "data-cy": "submitBtn", children: confirmLabel ? confirmLabel : 'Submit' }))] }))] }) }) }));
35
36
  });
@@ -2,18 +2,21 @@
2
2
  import { StoryObj } from '@storybook/react';
3
3
  declare const meta: {
4
4
  title: string;
5
- component: import("react").FC<import("..").ModalProps>;
5
+ component: import("react").FC<import("../types").ModalProps>;
6
6
  tags: string[];
7
7
  argTypes: {};
8
8
  };
9
9
  export default meta;
10
10
  type Story = StoryObj<typeof meta>;
11
+ export declare const Default: Story;
12
+ export declare const Compact: Story;
13
+ export declare const MobileFullscreen: Story;
14
+ export declare const ModalTopPosition: Story;
11
15
  export declare const ModalWithCloseAndConfirmBtns: Story;
12
- export declare const MobileNotificationModal: Story;
13
- export declare const ModalWithIcon: Story;
16
+ export declare const ModalWithoutCloseButton: Story;
17
+ export declare const ModalWithIconInTitle: Story;
14
18
  export declare const ModalLoading: Story;
15
- export declare const ModalWithWhiteBg: Story;
16
- export declare const ModalWithoutCloseIcon: Story;
19
+ export declare const ModalWithCustomBackground: Story;
17
20
  export declare const ModalWithoutHeader: Story;
18
21
  export declare const ModalWithoutFooter: Story;
19
22
  export declare const ModalWithoutHeaderAndFooter: Story;
@@ -1,5 +1,5 @@
1
1
  import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
2
- import { Modal } from '../Modal';
2
+ import Modal from '../';
3
3
  var meta = {
4
4
  title: 'Blocks/Modal',
5
5
  component: Modal,
@@ -7,26 +7,52 @@ var meta = {
7
7
  argTypes: {},
8
8
  };
9
9
  export default meta;
10
+ export var Default = {
11
+ args: {
12
+ title: 'Modal default version',
13
+ children: _jsx(_Fragment, { children: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed condimentum id eros ac consequat." }),
14
+ variant: 'default',
15
+ },
16
+ };
17
+ export var Compact = {
18
+ args: {
19
+ title: 'Modal title',
20
+ children: _jsx(_Fragment, { children: "Modal compact version" }),
21
+ variant: 'compact',
22
+ },
23
+ };
24
+ export var MobileFullscreen = {
25
+ args: {
26
+ children: _jsx(_Fragment, { children: "Mobile full screen version without title" }),
27
+ variant: 'mobileFullscreen',
28
+ },
29
+ };
30
+ export var ModalTopPosition = {
31
+ args: {
32
+ title: 'Modal default version',
33
+ children: _jsx(_Fragment, { children: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed condimentum id eros ac consequat." }),
34
+ variant: 'default',
35
+ top: '0'
36
+ },
37
+ };
10
38
  export var ModalWithCloseAndConfirmBtns = {
11
39
  args: {
12
- children: _jsx(_Fragment, { children: "Modal Content with Cancel and Submit buttons" }),
40
+ children: _jsx(_Fragment, { children: "Modal with narrow width" }),
13
41
  title: 'Modal title',
14
42
  width: 'narrow',
15
- onClose: function () { return console.log('Close'); },
16
- onConfirm: function () { return console.log('Submit'); },
17
43
  },
18
44
  };
19
- export var MobileNotificationModal = {
45
+ export var ModalWithoutCloseButton = {
20
46
  args: {
47
+ title: 'Note',
21
48
  children: (_jsx(_Fragment, { children: "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aspernatur explicabo harum, inventore natus qui repellendus suscipit vitae. Alias aliquam earum et ipsa labore, laboriosam maxime numquam odio recusandae, repellat, voluptas." })),
22
- title: 'Poznamka',
23
49
  width: 'narrow',
24
50
  withCloseIcon: false,
25
51
  onClose: function () { return console.log('Close'); },
26
52
  onConfirm: undefined,
27
53
  },
28
54
  };
29
- export var ModalWithIcon = {
55
+ export var ModalWithIconInTitle = {
30
56
  args: {
31
57
  children: _jsx(_Fragment, { children: "Modal with icon" }),
32
58
  title: 'Modal title',
@@ -42,25 +68,17 @@ export var ModalLoading = {
42
68
  isLoading: true,
43
69
  },
44
70
  };
45
- export var ModalWithWhiteBg = {
71
+ export var ModalWithCustomBackground = {
46
72
  args: {
47
73
  children: _jsx(_Fragment, { children: "Modal with white background" }),
48
74
  title: 'Modal title',
49
75
  width: 'narrow',
50
- whiteBg: true,
51
- },
52
- };
53
- export var ModalWithoutCloseIcon = {
54
- args: {
55
- children: _jsx(_Fragment, { children: "Modal without close icon" }),
56
- title: 'Modal title',
57
- width: 'narrow',
58
- withCloseIcon: false,
76
+ background: 'blue',
59
77
  },
60
78
  };
61
79
  export var ModalWithoutHeader = {
62
80
  args: {
63
- children: _jsx(_Fragment, { children: "Modal without header" }),
81
+ children: _jsx(_Fragment, { children: "This is content of the Modal without header" }),
64
82
  title: 'Modal title',
65
83
  width: 'narrow',
66
84
  hasHeader: false,
@@ -1,22 +1,22 @@
1
+ import { Variant } from './types';
1
2
  export declare const DialogOverlay: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {
2
3
  backgroundColor?: string | undefined;
3
4
  }, never>;
4
5
  export declare const DialogWindow: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {
5
- $whiteBg?: boolean | undefined;
6
+ $backgroundColor?: string | undefined;
6
7
  $minWidth?: string | undefined;
7
8
  $minHeight?: string | undefined;
8
9
  $maxWidth?: string | undefined;
9
10
  $maxHeight?: string | undefined;
10
- $mobileFullscreen: boolean;
11
+ variant: Variant;
12
+ top?: string | undefined;
11
13
  }, never>;
12
14
  export declare const HeaderContainer: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {
13
- topSpace: string;
15
+ variant: Variant;
14
16
  }, never>;
15
17
  export declare const ContentContainer: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {
16
- topSpace: string;
17
- $mobileFullscreen: boolean;
18
+ variant: Variant;
18
19
  }, never>;
19
20
  export declare const TitleContainer: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {}, never>;
20
- export declare const H4: import("styled-components").StyledComponent<"h4", import("@xstyled/system").Theme, {}, never>;
21
21
  export declare const ButtonsContainer: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {}, never>;
22
22
  export declare const CloseButton: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {}, never>;
@@ -2,44 +2,71 @@ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cook
2
2
  if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
3
3
  return cooked;
4
4
  };
5
- import styled, { th } from '@xstyled/styled-components';
5
+ import styled, { css, th } from '@xstyled/styled-components';
6
6
  import { createRgba } from '../../utils';
7
- export var DialogOverlay = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n position: fixed; /* Stay in place */\n z-index: 5;\n left: 0;\n top: 0;\n width: 100%; /* Full width */\n height: 100%; /* Full height */\n overflow: auto; /* Enable scroll if needed */\n background-color: ", ";\n text-align: center;\n @media print {\n position: absolute !important;\n left: 0 !important;\n top: 0 !important;\n height: auto !important;\n visibility: hidden;\n }\n @media (max-width: 576px) {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 16px 0;\n }\n"], ["\n position: fixed; /* Stay in place */\n z-index: 5;\n left: 0;\n top: 0;\n width: 100%; /* Full width */\n height: 100%; /* Full height */\n overflow: auto; /* Enable scroll if needed */\n background-color: ", ";\n text-align: center;\n @media print {\n position: absolute !important;\n left: 0 !important;\n top: 0 !important;\n height: auto !important;\n visibility: hidden;\n }\n @media (max-width: 576px) {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 16px 0;\n }\n"])), function (_a) {
7
+ var Component;
8
+ (function (Component) {
9
+ Component["Header"] = "header";
10
+ Component["DialogWindow"] = "dialogWindow";
11
+ Component["ContentContainer"] = "contentContainer";
12
+ Component["Title"] = "title";
13
+ })(Component || (Component = {}));
14
+ var variantStyles = function (component, variant) {
15
+ if (variant === void 0) { variant = 'default'; }
16
+ return ({
17
+ header: {
18
+ default: css(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n padding: 20px;\n border-bottom: 1px solid ", ";\n @media (min-width: 576px) {\n padding: 30px;\n border-bottom: 0;\n }\n "], ["\n padding: 20px;\n border-bottom: 1px solid ", ";\n @media (min-width: 576px) {\n padding: 30px;\n border-bottom: 0;\n }\n "])), th.color('lightGray6')),
19
+ compact: css(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n padding: 20px 20px;\n border-bottom: 1px solid ", ";\n "], ["\n padding: 20px 20px;\n border-bottom: 1px solid ", ";\n "])), th.color('lightGray6')),
20
+ mobileFullscreen: css(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n padding: 20px;\n "], ["\n padding: 20px;\n "]))),
21
+ },
22
+ dialogWindow: {
23
+ default: css(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n border-radius: 10px;\n max-width: calc(100% - 32px);\n "], ["\n border-radius: 10px;\n max-width: calc(100% - 32px);\n "]))),
24
+ compact: css(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n border-radius: 10px;\n max-width: calc(100% - 32px);\n "], ["\n border-radius: 10px;\n max-width: calc(100% - 32px);\n "]))),
25
+ mobileFullscreen: css(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n border-radius: 0;\n max-width: 100% !important;\n "], ["\n border-radius: 0;\n max-width: 100% !important;\n "]))),
26
+ },
27
+ contentContainer: {
28
+ default: css(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n padding: 20px 20px 15px;\n @media (min-width: 576px) {\n padding: 30px;\n }\n "], ["\n padding: 20px 20px 15px;\n @media (min-width: 576px) {\n padding: 30px;\n }\n "]))),
29
+ compact: css(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n padding: 20px 20px 15px;\n "], ["\n padding: 20px 20px 15px;\n "]))),
30
+ mobileFullscreen: css(templateObject_9 || (templateObject_9 = __makeTemplateObject(["\n padding: 0;\n "], ["\n padding: 0;\n "]))),
31
+ },
32
+ title: {},
33
+ }[component][variant]);
34
+ };
35
+ export var DialogOverlay = styled.div(templateObject_10 || (templateObject_10 = __makeTemplateObject(["\n position: fixed;\n z-index: 9;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n overflow: auto;\n background-color: ", ";\n text-align: center;\n\n @media print {\n position: absolute !important;\n left: 0 !important;\n top: 0 !important;\n height: auto !important;\n visibility: hidden;\n }\n\n @media (max-width: 576px) {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 16px 0;\n }\n"], ["\n position: fixed;\n z-index: 9;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n overflow: auto;\n background-color: ", ";\n text-align: center;\n\n @media print {\n position: absolute !important;\n left: 0 !important;\n top: 0 !important;\n height: auto !important;\n visibility: hidden;\n }\n\n @media (max-width: 576px) {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 16px 0;\n }\n"])), function (_a) {
8
36
  var _b = _a.backgroundColor, backgroundColor = _b === void 0 ? 'blue2' : _b;
9
37
  return createRgba(backgroundColor, 0.6);
10
38
  });
11
- export var DialogWindow = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n background-color: ", ";\n margin: 100px auto 0 auto; /* Location of the box */\n padding: 0;\n border: 0;\n border-radius: 1rem;\n box-shadow: dialogShadow;\n min-width: ", ";\n max-width: ", ";\n min-height: ", ";\n max-height: ", ";\n display: inline-block;\n position: relative;\n text-align: left;\n @media print {\n background-color: #fff;\n margin: 0;\n visibility: visible;\n overflow: visible;\n box-shadow: none;\n max-width: 100%;\n }\n\n @media (max-width: 576px) {\n margin: auto;\n ", ";\n }\n"], ["\n background-color: ", ";\n margin: 100px auto 0 auto; /* Location of the box */\n padding: 0;\n border: 0;\n border-radius: 1rem;\n box-shadow: dialogShadow;\n min-width: ", ";\n max-width: ", ";\n min-height: ", ";\n max-height: ", ";\n display: inline-block;\n position: relative;\n text-align: left;\n @media print {\n background-color: #fff;\n margin: 0;\n visibility: visible;\n overflow: visible;\n box-shadow: none;\n max-width: 100%;\n }\n\n @media (max-width: 576px) {\n margin: auto;\n ", ";\n }\n"])), function (_a) {
12
- var $whiteBg = _a.$whiteBg;
13
- return ($whiteBg ? th.color('white') : '#fefefe');
39
+ export var DialogWindow = styled.div(templateObject_11 || (templateObject_11 = __makeTemplateObject(["\n background-color: ", ";\n margin: auto;\n box-shadow: dialogShadow;\n min-width: ", ";\n min-height: ", ";\n max-height: ", ";\n display: inline-block;\n position: relative;\n text-align: left;\n\n ", "\n ", ";\n\n @media print {\n background-color: #fff;\n margin: 0;\n visibility: visible;\n overflow: visible;\n box-shadow: none;\n max-width: 100%;\n }\n\n @media (min-width: 576px) {\n margin: ", " auto 0 auto;\n }\n"], ["\n background-color: ", ";\n margin: auto;\n box-shadow: dialogShadow;\n min-width: ", ";\n min-height: ", ";\n max-height: ", ";\n display: inline-block;\n position: relative;\n text-align: left;\n\n ", "\n ", ";\n\n @media print {\n background-color: #fff;\n margin: 0;\n visibility: visible;\n overflow: visible;\n box-shadow: none;\n max-width: 100%;\n }\n\n @media (min-width: 576px) {\n margin: ", " auto 0 auto;\n }\n"])), function (_a) {
40
+ var $backgroundColor = _a.$backgroundColor;
41
+ return $backgroundColor || '#fefefe';
14
42
  }, function (_a) {
15
43
  var $minWidth = _a.$minWidth;
16
44
  return $minWidth || '10%';
17
- }, function (_a) {
18
- var $maxWidth = _a.$maxWidth;
19
- return $maxWidth || 'calc(100% - 32px)';
20
45
  }, function (_a) {
21
46
  var $minHeight = _a.$minHeight;
22
47
  return $minHeight || 'auto';
23
48
  }, function (_a) {
24
49
  var $maxHeight = _a.$maxHeight;
25
- return $maxHeight || 'auto';
50
+ return $maxHeight || 'none';
26
51
  }, function (_a) {
27
- var $mobileFullscreen = _a.$mobileFullscreen;
28
- return $mobileFullscreen && 'border-radius: 0; max-width: 100% !important;';
29
- });
30
- export var HeaderContainer = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n display: flex;\n justify-content: space-between;\n padding: 30px;\n padding-bottom: ", ";\n\n @media (max-width: 576px) {\n padding: 18px;\n border-bottom: 1px solid ", ";\n }\n"], ["\n display: flex;\n justify-content: space-between;\n padding: 30px;\n padding-bottom: ", ";\n\n @media (max-width: 576px) {\n padding: 18px;\n border-bottom: 1px solid ", ";\n }\n"])), function (_a) {
31
- var topSpace = _a.topSpace;
32
- return topSpace;
33
- }, th.color('lightGray6'));
34
- export var ContentContainer = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n padding: 30px;\n padding-top: ", ";\n\n @media (max-width: 576px) {\n padding: ", ";\n font-size: 16px;\n line-height: 1.4;\n }\n"], ["\n padding: 30px;\n padding-top: ", ";\n\n @media (max-width: 576px) {\n padding: ", ";\n font-size: 16px;\n line-height: 1.4;\n }\n"])), function (_a) {
35
- var topSpace = _a.topSpace;
36
- return topSpace;
52
+ var variant = _a.variant;
53
+ return variantStyles(Component.DialogWindow, variant);
37
54
  }, function (_a) {
38
- var $mobileFullscreen = _a.$mobileFullscreen;
39
- return ($mobileFullscreen ? '0' : '18px');
55
+ var $maxWidth = _a.$maxWidth;
56
+ return $maxWidth && "max-width: ".concat($maxWidth);
57
+ }, function (_a) {
58
+ var _b = _a.top, top = _b === void 0 ? '100px' : _b;
59
+ return top;
60
+ });
61
+ export var HeaderContainer = styled.div(templateObject_12 || (templateObject_12 = __makeTemplateObject(["\n display: flex;\n justify-content: space-between;\n ", "\n"], ["\n display: flex;\n justify-content: space-between;\n ", "\n"])), function (_a) {
62
+ var variant = _a.variant;
63
+ return variantStyles(Component.Header, variant);
64
+ });
65
+ export var ContentContainer = styled.div(templateObject_13 || (templateObject_13 = __makeTemplateObject(["\n min-height: 50px;\n ", "\n"], ["\n min-height: 50px;\n ", "\n"])), function (_a) {
66
+ var variant = _a.variant;
67
+ return variantStyles(Component.ContentContainer, variant);
40
68
  });
41
- export var TitleContainer = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n display: flex;\n flex-flow: row;\n align-items: center;\n > div:first-of-type {\n margin-right: 0.5em;\n display: block;\n }\n\n .icon {\n font-size: 24px;\n margin-right: 15px;\n display: flex;\n\n @media (max-width: 576px) {\n font-size: 18px;\n margin-right: 12px;\n }\n }\n"], ["\n display: flex;\n flex-flow: row;\n align-items: center;\n > div:first-of-type {\n margin-right: 0.5em;\n display: block;\n }\n\n .icon {\n font-size: 24px;\n margin-right: 15px;\n display: flex;\n\n @media (max-width: 576px) {\n font-size: 18px;\n margin-right: 12px;\n }\n }\n"])));
42
- export var H4 = styled.h4(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n color: typoPrimary;\n margin: 0;\n font-size: 24px;\n line-height: 28px;\n font-weight: 700;\n\n @media (max-width: 576px) {\n font-size: 18px;\n line-height: 18px;\n }\n"], ["\n color: typoPrimary;\n margin: 0;\n font-size: 24px;\n line-height: 28px;\n font-weight: 700;\n\n @media (max-width: 576px) {\n font-size: 18px;\n line-height: 18px;\n }\n"])));
43
- export var ButtonsContainer = styled.div(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n padding: 1.5rem;\n text-align: right;\n > * {\n margin: 0 0.5em;\n }\n\n @media (max-width: 576px) {\n display: flex;\n justify-content: space-around;\n padding: 32px 18px 18px;\n\n > * {\n margin: 0;\n }\n }\n"], ["\n padding: 1.5rem;\n text-align: right;\n > * {\n margin: 0 0.5em;\n }\n\n @media (max-width: 576px) {\n display: flex;\n justify-content: space-around;\n padding: 32px 18px 18px;\n\n > * {\n margin: 0;\n }\n }\n"])));
44
- export var CloseButton = styled.div(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n z-index: 1;\n top: 32px;\n right: 24px;\n\n @media (max-width: 576px) {\n padding: 0;\n width: 32px;\n height: 32px;\n background-color: bgLightGray1;\n border-radius: 50%;\n top: 12px;\n right: 12px;\n }\n"], ["\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n z-index: 1;\n top: 32px;\n right: 24px;\n\n @media (max-width: 576px) {\n padding: 0;\n width: 32px;\n height: 32px;\n background-color: bgLightGray1;\n border-radius: 50%;\n top: 12px;\n right: 12px;\n }\n"])));
45
- var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8;
69
+ export var TitleContainer = styled.div(templateObject_14 || (templateObject_14 = __makeTemplateObject(["\n display: flex;\n flex-flow: row;\n align-items: center;\n color: typoPrimary;\n padding-right: 34px;\n\n > div:first-of-type {\n margin-right: 0.5em;\n display: block;\n }\n\n .icon {\n font-size: 24px;\n margin-right: 15px;\n display: flex;\n\n @media (max-width: 576px) {\n font-size: 18px;\n margin-right: 12px;\n }\n }\n"], ["\n display: flex;\n flex-flow: row;\n align-items: center;\n color: typoPrimary;\n padding-right: 34px;\n\n > div:first-of-type {\n margin-right: 0.5em;\n display: block;\n }\n\n .icon {\n font-size: 24px;\n margin-right: 15px;\n display: flex;\n\n @media (max-width: 576px) {\n font-size: 18px;\n margin-right: 12px;\n }\n }\n"])));
70
+ export var ButtonsContainer = styled.div(templateObject_15 || (templateObject_15 = __makeTemplateObject(["\n padding: 1.5rem;\n text-align: right;\n > * {\n margin: 0 0.5em;\n }\n\n @media (max-width: 576px) {\n display: flex;\n justify-content: space-around;\n padding: 32px 18px 18px;\n\n > * {\n margin: 0;\n }\n }\n"], ["\n padding: 1.5rem;\n text-align: right;\n > * {\n margin: 0 0.5em;\n }\n\n @media (max-width: 576px) {\n display: flex;\n justify-content: space-around;\n padding: 32px 18px 18px;\n\n > * {\n margin: 0;\n }\n }\n"])));
71
+ export var CloseButton = styled.div(templateObject_16 || (templateObject_16 = __makeTemplateObject(["\n position: absolute;\n z-index: 2;\n background-color: bgLightGray1;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 50%;\n top: 11px;\n right: 20px;\n width: 34px;\n height: 34px;\n"], ["\n position: absolute;\n z-index: 2;\n background-color: bgLightGray1;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 50%;\n top: 11px;\n right: 20px;\n width: 34px;\n height: 34px;\n"])));
72
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12, templateObject_13, templateObject_14, templateObject_15, templateObject_16;
@@ -1,5 +1,5 @@
1
1
  import { MutableRefObject } from 'react';
2
- export type TopSpace = 'default' | 'medium';
2
+ export type Variant = 'default' | 'compact' | 'mobileFullscreen';
3
3
  export type Width = 'wide' | 'mediumLarge' | 'medium' | 'narrow' | 'auto';
4
4
  export interface ModalProps {
5
5
  isShown?: boolean;
@@ -16,8 +16,7 @@ export interface ModalProps {
16
16
  hasFooter?: boolean;
17
17
  hasHeader?: boolean;
18
18
  width?: Width;
19
- whiteBg?: boolean;
20
- miniCloseBtn?: boolean;
19
+ background?: string;
21
20
  ignoreClickOutside?: boolean;
22
21
  closeEverywhere?: boolean;
23
22
  withCloseIcon?: boolean;
@@ -26,8 +25,8 @@ export interface ModalProps {
26
25
  minHeight?: string;
27
26
  maxWidth?: string;
28
27
  maxHeight?: string;
29
- topSpace?: TopSpace;
30
- mobileFullscreen?: boolean;
28
+ variant?: Variant;
29
+ top?: string;
31
30
  }
32
31
  export type ModalData = Record<string, any>;
33
32
  export type ControlProps<T = ModalData> = {
@@ -1,3 +1,2 @@
1
- import { TopSpace, Width } from './types';
1
+ import { Width } from './types';
2
2
  export declare const widthMap: Record<Width, string>;
3
- export declare const topSpaceMap: Record<TopSpace, string>;
@@ -5,7 +5,3 @@ export var widthMap = {
5
5
  narrow: '600px',
6
6
  auto: 'auto',
7
7
  };
8
- export var topSpaceMap = {
9
- default: '30px',
10
- medium: '15px',
11
- };
@@ -0,0 +1,3 @@
1
+ import { SvgProps } from '../types';
2
+ import { FC } from 'react';
3
+ export declare const Calendar: FC<SvgProps>;
@@ -0,0 +1,13 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
+ export var Calendar = function (props) { return (_jsxs("svg", __assign({ width: "22", height: "21", viewBox: "0 0 22 21", stroke: "#E32C1E", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, props, { children: [_jsx("path", { d: "M17.125 3.5H4.875C3.9085 3.5 3.125 4.2835 3.125 5.25V17.5C3.125 18.4665 3.9085 19.25 4.875 19.25H17.125C18.0915 19.25 18.875 18.4665 18.875 17.5V5.25C18.875 4.2835 18.0915 3.5 17.125 3.5Z", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { d: "M14.5 1.75V5.25", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { d: "M7.5 1.75V5.25", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { d: "M3.125 8.75H18.875", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" })] }))); };
@@ -0,0 +1,3 @@
1
+ import { SvgProps } from '../types';
2
+ import { FC } from 'react';
3
+ export declare const Cancel: FC<SvgProps>;
@@ -0,0 +1,13 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { jsx as _jsx } from "react/jsx-runtime";
13
+ export var Cancel = function (props) { return (_jsx("svg", __assign({ width: "11", height: "11", viewBox: "0 0 11 11", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, props, { children: _jsx("path", { id: "cancel", fillRule: "evenodd", clipRule: "evenodd", d: "M1.61873 0.375917C1.26726 0.0244455 0.697412 0.0244455 0.34594 0.375917C-0.00553197 0.727389 -0.00553197 1.29724 0.34594 1.64871L4.21225 5.51502L0.34594 9.38133C-0.00553159 9.7328 -0.00553156 10.3026 0.34594 10.6541C0.697412 11.0056 1.26726 11.0056 1.61873 10.6541L5.48504 6.78781L9.35135 10.6541C9.70282 11.0056 10.2727 11.0056 10.6241 10.6541C10.9756 10.3026 10.9756 9.7328 10.6241 9.38133L6.75783 5.51502L10.6241 1.64871C10.9756 1.29724 10.9756 0.727391 10.6241 0.375919C10.2727 0.024447 9.70282 0.024447 9.35135 0.375919L5.48504 4.24223L1.61873 0.375917Z", fill: "#22394E" }) }))); };