@helsenorge/designsystem-react 1.0.0-beta89 → 1.0.0-beta90

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.
@@ -0,0 +1,2 @@
1
+ import{_ as e,a as t}from"./_rollupPluginBabelHelpers-d0752906.js";import a,{useRef as r,useEffect as n,useState as l}from"react";import{c as o}from"./index-9b84fabc.js";import{p as c}from"./palette-f206f488.js";import{B as i}from"./Button-48132cc3.js";import{a as s,I as m}from"./constants-d919236e.js";import d from"./components/Modal/styles.module.scss";import{A as u,a as v}from"./AlertSignFill-e607ff43.js";import{T as p}from"./Title-72851d51.js";import{u as f}from"./uuid-8870ab4b.js";import{C as _}from"./Close-591125bb.js";function E(){var e=r(null);function t(t){var a=e.current,r="Tab"===t.key;if(a&&r){var n=function(e){try{return("string"==typeof e?document.querySelector(e):e).getRootNode().activeElement}catch(t){return console.error("Feil ved å ta tak i active element basert på angitt node: ",e,t),null}}(a),l=null==a?void 0:a.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'),o=l[0],c=1===l.length?o:l[l.length-1];t.shiftKey?n===o&&(c.focus(),t.preventDefault()):n===c&&(o.focus(),t.preventDefault())}}function a(t){var a=e.current;if(a){var r=a.querySelectorAll('a[href], button, textarea, input[type="text"], input[type="radio"], input[type="checkbox"], select');1===r.length&&(r[0].focus(),t.preventDefault())}}return n((function(){var r=e.current;return r.addEventListener("keydown",t),r.addEventListener("click",a),function(){r.removeEventListener("keydown",t),r.removeEventListener("click",a)}}),[]),e}var g,h,y=function(t){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,r=l(!1),o=e(r,2),c=o[0],i=o[1];return n((function(){var e=new IntersectionObserver((function(e){i(e[0].intersectionRatio>=a)}),{threshold:a});return(null==t?void 0:t.current)&&e.observe(t.current),function(){(null==t?void 0:t.current)&&e.unobserve(t.current)}}),[t]),c},b=function(e){e.isExtraSmall;var t=e.isHovered,r=a.createElement("path",{d:"m9.16 23.421 2.883-2.773 8.262 8.584L35.958 12.97l2.882 2.774-18.536 19.257-11.143-11.58zm26.744-13.279-15.6 16.206-8.206-8.529-5.766 5.547 13.973 14.518 21.362-22.193-5.764-5.549z","fill-rule":"evenodd"});return t?a.createElement("path",{d:"m11.128 25.394 2.88-2.771 6.291 6.613 17.071-17.68 2.882 2.775-19.944 20.668-9.18-9.605zM37.318 8.73 20.31 26.345l-6.239-6.558-5.766 5.548 11.996 12.552 22.781-23.609-5.764-5.548z","fill-rule":"evenodd"}):r};!function(e){e.normal="normal",e.warning="warning",e.error="error",e.success="success",e.image="image"}(g||(g={})),function(e){e.large="large",e.medium="medium"}(h||(h={}));var N={variant:g.normal,primaryButtonText:"OK",large:!1,className:"",size:h.large},w=function(e,t){var r=function(e){return e===g.error?a.createElement(m,{size:s.Small,svgIcon:u,color:c.cherry500}):e===g.warning?a.createElement(m,{size:s.Small,svgIcon:v,color:c.black}):e===g.success?a.createElement(m,{size:s.Small,svgIcon:b,color:c.kiwi900}):null}(e);return r?a.createElement("div",{className:d.modal__iconWrapper},r):t?a.createElement("div",{className:d.modal__iconWrapper},a.cloneElement(t,{size:s.Small})):null},k=function(r){var l,c,s,m,u=a.useState(0),v=e(u,2),h=v[0],b=v[1],N=a.useState(f()),k=e(N,1)[0],x=a.useRef(null),B=a.useRef(null),C=a.useRef(null),L=y(B),S=a.useRef(null),T=y(S),z=C.current&&C.current.scrollHeight>C.current.clientHeight;function W(e){"Escape"===e.key&&r.onClose&&(e.stopPropagation(),r.onClose())}function j(e){e.target&&P.current===e.target&&r.onClose&&(e.stopPropagation(),r.onClose())}var I=r.variant===g.image,R=null!==(c=r.titleId)&&void 0!==c?c:k,P=a.useRef(null),A=r.secondaryButtonText&&(null===(s=r.secondaryButtonText)||void 0===s?void 0:s.length)>0||r.onSuccess,D=r.ariaLabelledBy?void 0:r.ariaLabel,H=r.ariaLabelledBy?r.ariaLabelledBy:r.ariaLabel?void 0:R;n((function(){var e,t=P.current;return null===(e=x.current)||void 0===e||e.focus(),document.body.style.overflow="hidden",t&&!A&&(t.addEventListener("keydown",W),t.addEventListener("click",j)),function(){document.body.style.removeProperty("overflow"),t&&!A&&(t.removeEventListener("keydown",W),t.removeEventListener("click",j))}}),[]);var M=o((t(l={},d["modal__title--error"],r.variant===g.error),t(l,d["modal__title--success"],r.variant===g.success),l));return a.createElement("div",{"data-testid":"dialog-container"},a.createElement("div",{ref:P,className:d["modal-overlay"],"data-testid":r.testId},a.createElement("div",{className:d.align,ref:E()},a.createElement("div",{className:o(r.className,d.modal,d["modal--".concat(r.variant)],d["modal--".concat(r.size)]),role:"dialog","aria-label":D,"aria-labelledby":H},a.createElement("div",{tabIndex:h,ref:x,onBlur:function(){return b(-1)}}),a.createElement("div",{className:o(d.modal__shadow,d["modal__shadow--top"],t({},d["modal__shadow--show"],!L&&z))}),a.createElement("div",{className:o(d.modal__contentWrapper,t({},d["modal__contentWrapper--image"],I)),ref:C},!r.noCloseButton&&a.createElement("div",{className:d.modal__closeWrapper},a.createElement("div",{className:o(d.modal__closeWrapper__close)},a.createElement(_,{onClick:r.onClose,ariaLabel:r.ariaLabelCloseBtn}))),a.createElement("div",{className:o(d["modal__contentWrapper__scroll--".concat(r.size)],t({},d["modal__contentWrapper__scroll--image"],I))},a.createElement("div",{ref:B}),a.createElement("div",{className:d.modal__contentWrapper__title},w(r.variant,r.icon),a.createElement(p,{id:R,htmlMarkup:"h3",appearance:"title3",className:M},r.title),r.afterTitleChildren&&a.createElement("div",{className:d.modal__afterTitleChildren},r.afterTitleChildren)),I&&a.createElement("div",null,a.createElement("div",{className:d.modal__contentWrapper__imageWrapper},r.children),a.createElement("span",{className:d.modal__contentWrapper__imageDescription},r.description)),!I&&r.children&&a.createElement("div",null,r.children),!I&&!r.children&&a.createElement("p",{className:d.modal__description},r.description),a.createElement("div",{ref:S}))),a.createElement("div",{className:o(d.modal__shadow,d["modal__shadow--bottom"],t({},d["modal__shadow--show"],!T&&z))}),A&&a.createElement("div",{className:o(d["modal__call-to-action"],d["modal__call-to-action--".concat(r.size)])},r.onSuccess&&a.createElement(i,{onClick:r.onSuccess},r.primaryButtonText),r.secondaryButtonText&&(null===(m=r.secondaryButtonText)||void 0===m?void 0:m.length)>0&&a.createElement(i,{variant:"borderless",onClick:r.onClose},r.secondaryButtonText))))))};k.defaultProps=N;export{k as M};
2
+ //# sourceMappingURL=Modal-145869ba.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Modal-145869ba.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -112,7 +112,7 @@
112
112
  "required": false,
113
113
  "type": {
114
114
  "name": "enum",
115
- "raw": "\"normal\" | \"warning\" | \"error\" | \"image\" | undefined",
115
+ "raw": "\"normal\" | \"warning\" | \"error\" | \"success\" | \"image\" | undefined",
116
116
  "value": [
117
117
  {
118
118
  "value": "undefined"
@@ -126,6 +126,9 @@
126
126
  {
127
127
  "value": "\"error\""
128
128
  },
129
+ {
130
+ "value": "\"success\""
131
+ },
129
132
  {
130
133
  "value": "\"image\""
131
134
  }
@@ -315,6 +318,25 @@
315
318
  "name": "ReactNode"
316
319
  }
317
320
  },
321
+ "afterTitleChildren": {
322
+ "defaultValue": null,
323
+ "description": "Component shown after title",
324
+ "name": "afterTitleChildren",
325
+ "parent": {
326
+ "fileName": "designsystem/src/components/Modal/Modal.tsx",
327
+ "name": "ModalProps"
328
+ },
329
+ "declarations": [
330
+ {
331
+ "fileName": "designsystem/src/components/Modal/Modal.tsx",
332
+ "name": "ModalProps"
333
+ }
334
+ ],
335
+ "required": false,
336
+ "type": {
337
+ "name": "ReactNode"
338
+ }
339
+ },
318
340
  "className": {
319
341
  "defaultValue": null,
320
342
  "description": "Adds custom classes to the element.",
@@ -1,2 +1,2 @@
1
- import{_ as t}from"../../_rollupPluginBabelHelpers-d0752906.js";import s,{useState as e}from"react";import{B as o}from"../../Button-48132cc3.js";import{M as r}from"../../Modal-47bc1814.js";import"../../_tslib-51c8a283.js";import"../../color-acb834c6.js";import"../../index-19b48c51.js";import"../../palette-f206f488.js";import"../../grid-11a70eb7.js";import"../../constants-d919236e.js";import"../../Loader-6ff0d481.js";import"../../index-9b84fabc.js";import"../../uuid-8870ab4b.js";import"../Loader/styles.module.scss";import"../../useHover-037be19d.js";import"../../useWindowSize-73b47451.js";import"../Button/styles.module.scss";import"../Modal/styles.module.scss";import"../../AlertSignFill-e607ff43.js";import"../../Title-72851d51.js";import"../Title/styles.module.scss";import"../../Close-591125bb.js";import"../Close/styles.module.scss";import"../../useBreakpoint-324a9b14.js";var i=s.forwardRef((function(i,m){var l=e(!1),p=t(l,2),a=p[0],n=p[1];return s.createElement("div",{"data-testid":i.testId},s.createElement(o,{onClick:function(){return n(!0)}},i.buttonText),a&&s.createElement(r,Object.assign({},i,{onClose:function(){return n(!1)}})))}));export default i;
1
+ import{_ as t}from"../../_rollupPluginBabelHelpers-d0752906.js";import s,{useState as e}from"react";import{B as o}from"../../Button-48132cc3.js";import{M as r}from"../../Modal-145869ba.js";import"../../_tslib-51c8a283.js";import"../../color-acb834c6.js";import"../../index-19b48c51.js";import"../../palette-f206f488.js";import"../../grid-11a70eb7.js";import"../../constants-d919236e.js";import"../../Loader-6ff0d481.js";import"../../index-9b84fabc.js";import"../../uuid-8870ab4b.js";import"../Loader/styles.module.scss";import"../../useHover-037be19d.js";import"../../useWindowSize-73b47451.js";import"../Button/styles.module.scss";import"../Modal/styles.module.scss";import"../../AlertSignFill-e607ff43.js";import"../../Title-72851d51.js";import"../Title/styles.module.scss";import"../../Close-591125bb.js";import"../Close/styles.module.scss";import"../../useBreakpoint-324a9b14.js";var i=s.forwardRef((function(i,m){var l=e(!1),a=t(l,2),p=a[0],n=a[1];return s.createElement("div",{"data-testid":i.testId},s.createElement(o,{onClick:function(){return n(!0)}},i.buttonText),p&&s.createElement(r,Object.assign({},i,{onClose:function(){return n(!1)}})))}));export default i;
2
2
  //# sourceMappingURL=index.js.map
@@ -3,6 +3,7 @@ export declare enum ModalVariants {
3
3
  normal = "normal",
4
4
  warning = "warning",
5
5
  error = "error",
6
+ success = "success",
6
7
  image = "image"
7
8
  }
8
9
  export declare enum ModalSize {
@@ -38,6 +39,8 @@ export interface ModalProps {
38
39
  ariaLabelCloseBtn?: string;
39
40
  /** Alternative component to modal */
40
41
  children?: React.ReactNode;
42
+ /** Component shown after title */
43
+ afterTitleChildren?: React.ReactNode;
41
44
  /** Adds custom classes to the element. */
42
45
  className?: string;
43
46
  /** Function is called when user clicks primary button */
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../../src/components/Modal/Modal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AAiBzC,oBAAY,aAAa;IACvB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,KAAK,UAAU;CAChB;AAED,oBAAY,SAAS;IACnB,KAAK,UAAU;IACf,MAAM,WAAW;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,yBAAyB;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,yBAAyB;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+BAA+B;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+GAA+G;IAC/G,OAAO,CAAC,EAAE,MAAM,OAAO,aAAa,CAAC;IACrC,iDAAiD;IACjD,IAAI,CAAC,EAAE,MAAM,OAAO,SAAS,CAAC;IAC9B,8BAA8B;IAC9B,IAAI,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC;IAC1B,6BAA6B;IAC7B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,sCAAsC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yBAAyB;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,2BAA2B;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,8BAA8B;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,qCAAqC;IACrC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAoCD,QAAA,MAAM,KAAK;;;;;;;;;CAwIV,CAAC;AAIF,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../../src/components/Modal/Modal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AAkBzC,oBAAY,aAAa;IACvB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,KAAK,UAAU;CAChB;AAED,oBAAY,SAAS;IACnB,KAAK,UAAU;IACf,MAAM,WAAW;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,yBAAyB;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,yBAAyB;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+BAA+B;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+GAA+G;IAC/G,OAAO,CAAC,EAAE,MAAM,OAAO,aAAa,CAAC;IACrC,iDAAiD;IACjD,IAAI,CAAC,EAAE,MAAM,OAAO,SAAS,CAAC;IAC9B,8BAA8B;IAC9B,IAAI,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC;IAC1B,6BAA6B;IAC7B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,sCAAsC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yBAAyB;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,2BAA2B;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,8BAA8B;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,qCAAqC;IACrC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,kCAAkC;IAClC,kBAAkB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACrC,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAsCD,QAAA,MAAM,KAAK;;;;;;;;;CA4IV,CAAC;AAIF,eAAe,KAAK,CAAC"}
@@ -76,7 +76,7 @@
76
76
  "required": false,
77
77
  "type": {
78
78
  "name": "enum",
79
- "raw": "\"normal\" | \"warning\" | \"error\" | \"image\" | undefined",
79
+ "raw": "\"normal\" | \"warning\" | \"error\" | \"success\" | \"image\" | undefined",
80
80
  "value": [
81
81
  {
82
82
  "value": "undefined"
@@ -90,6 +90,9 @@
90
90
  {
91
91
  "value": "\"error\""
92
92
  },
93
+ {
94
+ "value": "\"success\""
95
+ },
93
96
  {
94
97
  "value": "\"image\""
95
98
  }
@@ -302,6 +305,25 @@
302
305
  "name": "ReactNode"
303
306
  }
304
307
  },
308
+ "afterTitleChildren": {
309
+ "defaultValue": null,
310
+ "description": "Component shown after title",
311
+ "name": "afterTitleChildren",
312
+ "parent": {
313
+ "fileName": "src/components/Modal/Modal.tsx",
314
+ "name": "ModalProps"
315
+ },
316
+ "declarations": [
317
+ {
318
+ "fileName": "src/components/Modal/Modal.tsx",
319
+ "name": "ModalProps"
320
+ }
321
+ ],
322
+ "required": false,
323
+ "type": {
324
+ "name": "ReactNode"
325
+ }
326
+ },
305
327
  "className": {
306
328
  "defaultValue": {
307
329
  "value": ""
@@ -1,2 +1,2 @@
1
- import{M as s}from"../../Modal-47bc1814.js";export{M as default}from"../../Modal-47bc1814.js";import"../../_rollupPluginBabelHelpers-d0752906.js";import"react";import"../../index-9b84fabc.js";import"../../palette-f206f488.js";import"../../Button-48132cc3.js";import"../../_tslib-51c8a283.js";import"../../color-acb834c6.js";import"../../index-19b48c51.js";import"../../grid-11a70eb7.js";import"../../constants-d919236e.js";import"../../Loader-6ff0d481.js";import"../../uuid-8870ab4b.js";import"../Loader/styles.module.scss";import"../../useHover-037be19d.js";import"../../useWindowSize-73b47451.js";import"../Button/styles.module.scss";import"./styles.module.scss";import"../../AlertSignFill-e607ff43.js";import"../../Title-72851d51.js";import"../Title/styles.module.scss";import"../../Close-591125bb.js";import"../Close/styles.module.scss";import"../../useBreakpoint-324a9b14.js";
1
+ import{M as s}from"../../Modal-145869ba.js";export{M as default}from"../../Modal-145869ba.js";import"../../_rollupPluginBabelHelpers-d0752906.js";import"react";import"../../index-9b84fabc.js";import"../../palette-f206f488.js";import"../../Button-48132cc3.js";import"../../_tslib-51c8a283.js";import"../../color-acb834c6.js";import"../../index-19b48c51.js";import"../../grid-11a70eb7.js";import"../../constants-d919236e.js";import"../../Loader-6ff0d481.js";import"../../uuid-8870ab4b.js";import"../Loader/styles.module.scss";import"../../useHover-037be19d.js";import"../../useWindowSize-73b47451.js";import"../Button/styles.module.scss";import"./styles.module.scss";import"../../AlertSignFill-e607ff43.js";import"../../Title-72851d51.js";import"../Title/styles.module.scss";import"../../Close-591125bb.js";import"../Close/styles.module.scss";import"../../useBreakpoint-324a9b14.js";
2
2
  //# sourceMappingURL=index.js.map
@@ -31,13 +31,21 @@
31
31
  background-color: $white;
32
32
  animation: open 200ms 1;
33
33
 
34
- &__title--error {
35
- color: $cherry600;
34
+ &__title {
35
+ &--error {
36
+ color: $cherry600;
37
+ }
38
+ &--success {
39
+ color: $kiwi900;
40
+ }
36
41
  }
37
42
 
38
43
  &__iconWrapper {
39
44
  padding-right: 0.75rem;
40
45
  }
46
+ &__afterTitleChildren {
47
+ padding-left: 0.75rem;
48
+ }
41
49
 
42
50
  p {
43
51
  font-size: 1.125rem;
@@ -52,6 +60,9 @@
52
60
  &--warning {
53
61
  background-color: $banana50;
54
62
  }
63
+ &--success {
64
+ background-color: $kiwi50;
65
+ }
55
66
 
56
67
  &--large {
57
68
  width: calc(100vw - 0.75rem);
@@ -150,6 +161,7 @@
150
161
 
151
162
  &__title {
152
163
  display: flex;
164
+ align-items: center;
153
165
  div {
154
166
  display: flex;
155
167
  justify-content: center;
@@ -1,6 +1,7 @@
1
1
  export type Styles = {
2
2
  align: string;
3
3
  modal: string;
4
+ modal__afterTitleChildren: string;
4
5
  'modal__call-to-action': string;
5
6
  'modal__call-to-action--large': string;
6
7
  'modal__call-to-action--medium': string;
@@ -21,11 +22,13 @@ export type Styles = {
21
22
  'modal__shadow--show': string;
22
23
  'modal__shadow--top': string;
23
24
  'modal__title--error': string;
25
+ 'modal__title--success': string;
24
26
  'modal--error': string;
25
27
  'modal--image': string;
26
28
  'modal--large': string;
27
29
  'modal--medium': string;
28
30
  'modal--normal': string;
31
+ 'modal--success': string;
29
32
  'modal--warning': string;
30
33
  'modal-overlay': string;
31
34
  open: string;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@helsenorge/designsystem-react",
3
3
  "sideEffects": false,
4
- "version": "1.0.0-beta89",
4
+ "version": "1.0.0-beta90",
5
5
  "description": "The official design system for Helsenorge built with React.",
6
6
  "repository": {
7
7
  "type": "tfs",
package/Modal-47bc1814.js DELETED
@@ -1,2 +0,0 @@
1
- import{_ as e,a as t}from"./_rollupPluginBabelHelpers-d0752906.js";import r,{useRef as a,useEffect as n,useState as o}from"react";import{c as l}from"./index-9b84fabc.js";import{p as c}from"./palette-f206f488.js";import{B as i}from"./Button-48132cc3.js";import{a as s,I as m}from"./constants-d919236e.js";import d from"./components/Modal/styles.module.scss";import{A as u,a as v}from"./AlertSignFill-e607ff43.js";import{T as p}from"./Title-72851d51.js";import{u as f}from"./uuid-8870ab4b.js";import{C as _}from"./Close-591125bb.js";function E(){var e=a(null);function t(t){var r=e.current,a="Tab"===t.key;if(r&&a){var n=function(e){try{return("string"==typeof e?document.querySelector(e):e).getRootNode().activeElement}catch(t){return console.error("Feil ved å ta tak i active element basert på angitt node: ",e,t),null}}(r),o=null==r?void 0:r.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'),l=o[0],c=1===o.length?l:o[o.length-1];t.shiftKey?n===l&&(c.focus(),t.preventDefault()):n===c&&(l.focus(),t.preventDefault())}}function r(t){var r=e.current;if(r){var a=r.querySelectorAll('a[href], button, textarea, input[type="text"], input[type="radio"], input[type="checkbox"], select');1===a.length&&(a[0].focus(),t.preventDefault())}}return n((function(){var a=e.current;return a.addEventListener("keydown",t),a.addEventListener("click",r),function(){a.removeEventListener("keydown",t),a.removeEventListener("click",r)}}),[]),e}var g,y,b=function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,a=o(!1),l=e(a,2),c=l[0],i=l[1];return n((function(){var e=new IntersectionObserver((function(e){i(e[0].intersectionRatio>=r)}),{threshold:r});return(null==t?void 0:t.current)&&e.observe(t.current),function(){(null==t?void 0:t.current)&&e.unobserve(t.current)}}),[t]),c};!function(e){e.normal="normal",e.warning="warning",e.error="error",e.image="image"}(g||(g={})),function(e){e.large="large",e.medium="medium"}(y||(y={}));var h={variant:g.normal,primaryButtonText:"OK",large:!1,className:"",size:y.large},N=function(e,t){var a=function(e){return e===g.error?r.createElement(m,{size:s.Small,svgIcon:u,color:c.cherry500,hoverColor:c.cherry500}):e===g.warning?r.createElement(m,{size:s.Small,svgIcon:v,color:c.black,hoverColor:c.black}):null}(e);return a?r.createElement("div",{className:d.modal__iconWrapper},a):t?r.createElement("div",{className:d.modal__iconWrapper},r.cloneElement(t,{size:s.Small})):null},k=function(a){var o,c,s,m=r.useState(0),u=e(m,2),v=u[0],y=u[1],h=r.useState(f()),k=e(h,1)[0],w=r.useRef(null),x=r.useRef(null),B=r.useRef(null),C=b(x),L=r.useRef(null),S=b(L),W=B.current&&B.current.scrollHeight>B.current.clientHeight;function T(e){"Escape"===e.key&&a.onClose&&(e.stopPropagation(),a.onClose())}function j(e){e.target&&R.current===e.target&&a.onClose&&(e.stopPropagation(),a.onClose())}var z=a.variant===g.image,I=null!==(o=a.titleId)&&void 0!==o?o:k,R=r.useRef(null),P=a.secondaryButtonText&&(null===(c=a.secondaryButtonText)||void 0===c?void 0:c.length)>0||a.onSuccess,A=a.ariaLabelledBy?void 0:a.ariaLabel,D=a.ariaLabelledBy?a.ariaLabelledBy:a.ariaLabel?void 0:I;return n((function(){var e,t=R.current;return null===(e=w.current)||void 0===e||e.focus(),document.body.style.overflow="hidden",t&&!P&&(t.addEventListener("keydown",T),t.addEventListener("click",j)),function(){document.body.style.removeProperty("overflow"),t&&!P&&(t.removeEventListener("keydown",T),t.removeEventListener("click",j))}}),[]),r.createElement("div",{"data-testid":"dialog-container"},r.createElement("div",{ref:R,className:d["modal-overlay"],"data-testid":a.testId},r.createElement("div",{className:d.align,ref:E()},r.createElement("div",{className:l(a.className,d.modal,d["modal--".concat(a.variant)],d["modal--".concat(a.size)]),role:"dialog","aria-label":A,"aria-labelledby":D},r.createElement("div",{tabIndex:v,ref:w,onBlur:function(){return y(-1)}}),r.createElement("div",{className:l(d.modal__shadow,d["modal__shadow--top"],t({},d["modal__shadow--show"],!C&&W))}),r.createElement("div",{className:l(d.modal__contentWrapper,t({},d["modal__contentWrapper--image"],z)),ref:B},!a.noCloseButton&&r.createElement("div",{className:d.modal__closeWrapper},r.createElement("div",{className:l(d.modal__closeWrapper__close)},r.createElement(_,{onClick:a.onClose,ariaLabel:a.ariaLabelCloseBtn}))),r.createElement("div",{className:l(d["modal__contentWrapper__scroll--".concat(a.size)],t({},d["modal__contentWrapper__scroll--image"],z))},r.createElement("div",{ref:x}),r.createElement("div",{className:d.modal__contentWrapper__title},N(a.variant,a.icon),r.createElement("div",{className:a.variant===g.error?d["modal__title--error"]:""},r.createElement(p,{id:I,htmlMarkup:"h3",appearance:"title3"},a.title))),z&&r.createElement("div",null,r.createElement("div",{className:d.modal__contentWrapper__imageWrapper},a.children),r.createElement("span",{className:d.modal__contentWrapper__imageDescription},a.description)),!z&&a.children&&r.createElement("div",null,a.children),!z&&!a.children&&r.createElement("p",{className:d.modal__description},a.description),r.createElement("div",{ref:L}))),r.createElement("div",{className:l(d.modal__shadow,d["modal__shadow--bottom"],t({},d["modal__shadow--show"],!S&&W))}),P&&r.createElement("div",{className:l(d["modal__call-to-action"],d["modal__call-to-action--".concat(a.size)])},a.onSuccess&&r.createElement(i,{onClick:a.onSuccess},a.primaryButtonText),a.secondaryButtonText&&(null===(s=a.secondaryButtonText)||void 0===s?void 0:s.length)>0&&r.createElement(i,{variant:"borderless",onClick:a.onClose},a.secondaryButtonText))))))};k.defaultProps=h;export{k as M};
2
- //# sourceMappingURL=Modal-47bc1814.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Modal-47bc1814.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}