@kvdbil/components 11.11.0 → 12.0.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.
@@ -1,27 +1,9 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("styled-components"),r=require("../../shared/media-queries.js"),n=require("../Button/index.js"),l=require("../Modal/index.js"),i=require("../../typography/Heading/index.js");function o(x){return x&&typeof x=="object"&&"default"in x?x:{default:x}}require("../../theme.js"),require("../Spinner/index.js"),require("../../typography/ButtonText/index.js"),require("../Button/styles.js"),require("react-dom"),require("react-transition-group"),require("../Icons/Close.js");var a=o(e),u=o(t);const s=u.default.div`
2
- padding-top: 1rem;
3
- `,d=u.default.div`
4
- top: 20px;
5
- left: 32px;
6
- position: absolute;
7
- `,c=u.default(i.TinyTitleBold)`
8
- font-weight: ${({theme:x})=>x.typography.fontAlternativeRegularWeight};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("styled-components"),r=require("../Modal/index.js"),l=require("../../theme.js"),i=require("../../typography/Heading/index.js");function n(f){return f&&typeof f=="object"&&"default"in f?f:{default:f}}require("react-dom"),require("react-transition-group"),require("../Icons/Close.js"),require("../../shared/media-queries.js");var o=n(e),a=n(t);const u=a.default(i.TinyTitleBold)`
2
+ font-weight: ${l.default.typography.fontAlternativeRegularWeight};
9
3
  margin: 0;
10
- `,f=u.default.div`
4
+ `,d=a.default.div`
11
5
  display: flex;
12
- justify-content: space-between;
13
- ${r.mq("tablet")} {
14
- justify-content: flex-start;
15
- }
6
+ justify-content: flex-end;
7
+ gap: 1rem;
16
8
  overflow-x: hidden;
17
- `,y=u.default(n.Button)`
18
- overflow-x: hidden;
19
- margin-right: 2rem;
20
- justify-content: center;
21
- width: 100%;
22
- max-width: 110px;
23
- `,p=u.default(n.Button)`
24
- justify-content: center;
25
- width: 100%;
26
- max-width: 245px;
27
- `,m=({isOpen:x,title:h,children:g,modalStyles:B,titleStyles:v,primaryButtonText:w,primaryButtonStyles:E,secondaryButtonStyles:S,secondaryButtonText:b,primaryButtonAction:q,secondaryButtonAction:j,onClose:C,withPortal:T,color:A="success"})=>a.default.createElement(l.Modal,{contentStyles:B,isOpen:x,onClose:C,withPortal:T},h&&a.default.createElement(d,null,a.default.createElement(c,{style:v},h)),a.default.createElement(s,null,g),a.default.createElement(f,null,j&&a.default.createElement(y,{style:S,onClick:j,variant:"outline",color:"neutral"},b),q&&a.default.createElement(p,{style:E,onClick:q,variant:"solid",color:A},w)));exports.Dialog=m,exports.default=m;
9
+ `,s=({isOpen:f,title:c,children:h,actions:p,onClose:g,withPortal:y,withCloseIcon:m=!0})=>o.default.createElement(r.Modal,{onClose:g,withPortal:y,isOpen:f,withCloseIcon:m},typeof c=="string"?o.default.createElement(u,null,c):c,o.default.createElement("div",null,h),p&&o.default.createElement(d,null,p));exports.Dialog=s,exports.default=s;
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("react-dom"),n=require("react-transition-group"),i=require("styled-components"),r=require("../Icons/Close.js");function o(x){return x&&typeof x=="object"&&"default"in x?x:{default:x}}var a=o(e),d=o(i);const l=i.css`
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("react-dom"),n=require("react-transition-group"),i=require("styled-components"),r=require("../Icons/Close.js");function o(h){return h&&typeof h=="object"&&"default"in h?h:{default:h}}var a=o(e),d=o(i);const l=i.css`
2
2
  .backgroundTransition-enter {
3
3
  opacity: 0;
4
4
  }
@@ -33,7 +33,7 @@
33
33
  `,s=d.default.div`
34
34
  position: relative;
35
35
  max-width: 512px;
36
- padding: 24px 32px 24px 32px;
36
+ padding: 1rem;
37
37
  background-color: white;
38
38
  border-radius: 3px;
39
39
  box-shadow: 0px 24px 38px rgba(0, 0, 0, 0.1), 0px 9px 46px rgba(0, 0, 0, 0.09),
@@ -53,8 +53,8 @@
53
53
  }
54
54
  `,p=d.default.div`
55
55
  position: absolute;
56
- top: 24px;
57
- right: 32px;
56
+ top: 1rem;
57
+ right: 1rem;
58
58
 
59
59
  :hover {
60
60
  cursor: pointer;
@@ -74,4 +74,4 @@
74
74
  }
75
75
  `,f=i.createGlobalStyle`
76
76
  ${l}
77
- `,g=({children:x,isOpen:h,contentStyles:v,withPortal:E=!1,onClose:w})=>{e.useEffect(()=>{const y=T=>{T.key==="Escape"&&h&&w()};return window.addEventListener("keydown",y),()=>{window.removeEventListener("keydown",y)}},[w,h]);const k=!(typeof window=="undefined"||!window.document||!window.document.createElement),b=a.default.createElement(n.CSSTransition,{in:h,mountOnEnter:!0,unmountOnExit:!0,timeout:400,classNames:"backgroundTransition"},a.default.createElement(a.default.Fragment,null,a.default.createElement(f,null),a.default.createElement(u,null,a.default.createElement(c,{"data-testid":"background",onClick:w}),a.default.createElement(s,{style:v},a.default.createElement(p,{onClick:w,"data-testid":"close"},a.default.createElement(r.default,null)),x),a.default.createElement(m,null))));return E&&k?t.createPortal(b,document.body):b};exports.Modal=g,exports.default=g;
77
+ `,g=({children:h,isOpen:w,contentStyles:v,withPortal:E=!1,withCloseIcon:k=!0,onClose:x})=>{e.useEffect(()=>{const y=C=>{C.key==="Escape"&&w&&x()};return window.addEventListener("keydown",y),()=>{window.removeEventListener("keydown",y)}},[x,w]);const T=!(typeof window=="undefined"||!window.document||!window.document.createElement),b=a.default.createElement(n.CSSTransition,{in:w,mountOnEnter:!0,unmountOnExit:!0,timeout:400,classNames:"backgroundTransition"},a.default.createElement(a.default.Fragment,null,a.default.createElement(f,null),a.default.createElement(u,null,a.default.createElement(c,{"data-testid":"background",onClick:x}),a.default.createElement(s,{style:v},k&&a.default.createElement(p,{onClick:x,"data-testid":"close"},a.default.createElement(r.default,null)),h),a.default.createElement(m,null))));return E&&T?t.createPortal(b,document.body):b};exports.Modal=g,exports.default=g;
@@ -1,27 +1,9 @@
1
- import t from"react";import e from"styled-components";import{mq as g}from"../../shared/media-queries.js";import{Button as l}from"../Button/index.js";import{Modal as j}from"../Modal/index.js";import{TinyTitleBold as v}from"../../typography/Heading/index.js";import"../../theme.js";import"../Spinner/index.js";import"../../typography/ButtonText/index.js";import"../Button/styles.js";import"react-dom";import"react-transition-group";import"../Icons/Close.js";const w=e.div`
2
- padding-top: 1rem;
3
- `,E=e.div`
4
- top: 20px;
5
- left: 32px;
6
- position: absolute;
7
- `,B=e(v)`
8
- font-weight: ${({theme:o})=>o.typography.fontAlternativeRegularWeight};
1
+ import e from"react";import r from"styled-components";import{Modal as d}from"../Modal/index.js";import p from"../../theme.js";import{TinyTitleBold as c}from"../../typography/Heading/index.js";import"react-dom";import"react-transition-group";import"../Icons/Close.js";import"../../shared/media-queries.js";const f=r(c)`
2
+ font-weight: ${p.typography.fontAlternativeRegularWeight};
9
3
  margin: 0;
10
- `,C=e.div`
4
+ `,g=r.div`
11
5
  display: flex;
12
- justify-content: space-between;
13
- ${g("tablet")} {
14
- justify-content: flex-start;
15
- }
6
+ justify-content: flex-end;
7
+ gap: 1rem;
16
8
  overflow-x: hidden;
17
- `,T=e(l)`
18
- overflow-x: hidden;
19
- margin-right: 2rem;
20
- justify-content: center;
21
- width: 100%;
22
- max-width: 110px;
23
- `,b=e(l)`
24
- justify-content: center;
25
- width: 100%;
26
- max-width: 245px;
27
- `,a=({isOpen:o,title:n,children:s,modalStyles:m,titleStyles:p,primaryButtonText:c,primaryButtonStyles:d,secondaryButtonStyles:u,secondaryButtonText:f,primaryButtonAction:r,secondaryButtonAction:i,onClose:y,withPortal:x,color:h="success"})=>t.createElement(j,{contentStyles:m,isOpen:o,onClose:y,withPortal:x},n&&t.createElement(E,null,t.createElement(B,{style:p},n)),t.createElement(w,null,s),t.createElement(C,null,i&&t.createElement(T,{style:u,onClick:i,variant:"outline",color:"neutral"},f),r&&t.createElement(b,{style:d,onClick:r,variant:"solid",color:h},c)));export{a as Dialog,a as default};
9
+ `,n=({isOpen:i,title:t,children:l,actions:o,onClose:m,withPortal:a,withCloseIcon:s=!0})=>e.createElement(d,{onClose:m,withPortal:a,isOpen:i,withCloseIcon:s},typeof t=="string"?e.createElement(f,null,t):t,e.createElement("div",null,l),o&&e.createElement(g,null,o));export{n as Dialog,n as default};
@@ -1,4 +1,4 @@
1
- import t,{useEffect as g}from"react";import{createPortal as x}from"react-dom";import{CSSTransition as w}from"react-transition-group";import n,{css as h,createGlobalStyle as a}from"styled-components";import f from"../Icons/Close.js";const d=h`
1
+ import t,{useEffect as w}from"react";import{createPortal as h}from"react-dom";import{CSSTransition as x}from"react-transition-group";import n,{css as f,createGlobalStyle as a}from"styled-components";import b from"../Icons/Close.js";const d=f`
2
2
  .backgroundTransition-enter {
3
3
  opacity: 0;
4
4
  }
@@ -16,7 +16,7 @@ import t,{useEffect as g}from"react";import{createPortal as x}from"react-dom";im
16
16
  opacity: 0;
17
17
  transition: opacity 0.25s ease-in-out;
18
18
  }
19
- `,b=n.div`
19
+ `,y=n.div`
20
20
  ${d}
21
21
  position: fixed;
22
22
  width: 100%;
@@ -24,16 +24,16 @@ import t,{useEffect as g}from"react";import{createPortal as x}from"react-dom";im
24
24
  top: 0;
25
25
  left: 0;
26
26
  z-index: 200;
27
- `,y=n.div`
27
+ `,k=n.div`
28
28
  z-index: -1;
29
29
  position: absolute;
30
30
  width: 100%;
31
31
  height: 100%;
32
32
  background-color: rgba(34, 34, 34, 0.3);
33
- `,k=n.div`
33
+ `,E=n.div`
34
34
  position: relative;
35
35
  max-width: 512px;
36
- padding: 24px 32px 24px 32px;
36
+ padding: 1rem;
37
37
  background-color: white;
38
38
  border-radius: 3px;
39
39
  box-shadow: 0px 24px 38px rgba(0, 0, 0, 0.1), 0px 9px 46px rgba(0, 0, 0, 0.09),
@@ -51,10 +51,10 @@ import t,{useEffect as g}from"react";import{createPortal as x}from"react-dom";im
51
51
  margin-right: auto;
52
52
  min-width: 355px;
53
53
  }
54
- `,E=n.div`
54
+ `,v=n.div`
55
55
  position: absolute;
56
- top: 24px;
57
- right: 32px;
56
+ top: 1rem;
57
+ right: 1rem;
58
58
 
59
59
  :hover {
60
60
  cursor: pointer;
@@ -64,7 +64,7 @@ import t,{useEffect as g}from"react";import{createPortal as x}from"react-dom";im
64
64
  width: 1rem;
65
65
  height: 1rem;
66
66
  }
67
- `,v=a`
67
+ `,T=a`
68
68
  body {
69
69
  overflow: hidden;
70
70
 
@@ -72,6 +72,6 @@ import t,{useEffect as g}from"react";import{createPortal as x}from"react-dom";im
72
72
  padding-right: 15px !important;
73
73
  `}
74
74
  }
75
- `,T=a`
75
+ `,C=a`
76
76
  ${d}
77
- `,c=({children:s,isOpen:o,contentStyles:m,withPortal:l=!1,onClose:e})=>{g(()=>{const r=u=>{u.key==="Escape"&&o&&e()};return window.addEventListener("keydown",r),()=>{window.removeEventListener("keydown",r)}},[e,o]);const p=!!(typeof window!="undefined"&&window.document&&window.document.createElement),i=t.createElement(w,{in:o,mountOnEnter:!0,unmountOnExit:!0,timeout:400,classNames:"backgroundTransition"},t.createElement(t.Fragment,null,t.createElement(T,null),t.createElement(b,null,t.createElement(y,{"data-testid":"background",onClick:e}),t.createElement(k,{style:m},t.createElement(E,{onClick:e,"data-testid":"close"},t.createElement(f,null)),s),t.createElement(v,null))));return l&&p?x(i,document.body):i};export{c as Modal,c as default};
77
+ `,c=({children:s,isOpen:o,contentStyles:m,withPortal:l=!1,withCloseIcon:u=!0,onClose:e})=>{w(()=>{const r=g=>{g.key==="Escape"&&o&&e()};return window.addEventListener("keydown",r),()=>{window.removeEventListener("keydown",r)}},[e,o]);const p=!!(typeof window!="undefined"&&window.document&&window.document.createElement),i=t.createElement(x,{in:o,mountOnEnter:!0,unmountOnExit:!0,timeout:400,classNames:"backgroundTransition"},t.createElement(t.Fragment,null,t.createElement(C,null),t.createElement(y,null,t.createElement(k,{"data-testid":"background",onClick:e}),t.createElement(E,{style:m},u&&t.createElement(v,{onClick:e,"data-testid":"close"},t.createElement(b,null)),s),t.createElement(T,null))));return l&&p?h(i,document.body):i};export{c as Modal,c as default};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kvdbil/components",
3
- "version": "11.11.0",
3
+ "version": "12.0.0",
4
4
  "sideEffects": false,
5
5
  "main": "cjs/index.js",
6
6
  "module": "esm/index.js",
@@ -1,21 +1,12 @@
1
1
  import { ReactNode } from 'react';
2
- import { Color } from '../../Types';
3
2
  export interface DialogProps {
4
- title?: string;
5
- children: ReactNode;
3
+ title?: ReactNode;
6
4
  isOpen: boolean;
7
- hideCloseButton?: boolean;
5
+ children: ReactNode;
6
+ actions?: ReactNode;
8
7
  withPortal?: boolean;
9
- primaryButtonText?: string;
10
- secondaryButtonText?: string;
11
- modalStyles?: {};
12
- titleStyles?: {};
13
- primaryButtonStyles?: {};
14
- secondaryButtonStyles?: {};
8
+ withCloseIcon?: boolean;
15
9
  onClose(): void;
16
- primaryButtonAction?(): void;
17
- secondaryButtonAction?(): void;
18
- color?: Color;
19
10
  }
20
- export declare const Dialog: ({ isOpen, title, children, modalStyles, titleStyles, primaryButtonText, primaryButtonStyles, secondaryButtonStyles, secondaryButtonText, primaryButtonAction, secondaryButtonAction, onClose, withPortal, color, }: DialogProps) => JSX.Element;
11
+ export declare const Dialog: ({ isOpen, title, children, actions, onClose, withPortal, withCloseIcon, }: DialogProps) => JSX.Element;
21
12
  export default Dialog;
@@ -6,6 +6,7 @@ export interface ModalProps {
6
6
  withPortal?: boolean;
7
7
  onClose(): void;
8
8
  contentStyles?: {};
9
+ withCloseIcon?: boolean;
9
10
  }
10
- export declare const Modal: ({ children, isOpen, contentStyles, withPortal, onClose, }: ModalProps) => JSX.Element;
11
+ export declare const Modal: ({ children, isOpen, contentStyles, withPortal, withCloseIcon, onClose, }: ModalProps) => JSX.Element;
11
12
  export default Modal;