@dnb/eufemia 10.63.0 → 10.63.2

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 (162) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/cjs/components/modal/Modal.d.ts +2 -1
  3. package/cjs/components/modal/Modal.js +10 -4
  4. package/cjs/components/modal/Modal.js.map +1 -1
  5. package/cjs/components/modal/ModalContent.d.ts +10 -8
  6. package/cjs/components/modal/ModalContent.js +48 -23
  7. package/cjs/components/modal/ModalContent.js.map +1 -1
  8. package/cjs/components/modal/ModalRoot.d.ts +2 -0
  9. package/cjs/components/modal/ModalRoot.js.map +1 -1
  10. package/cjs/components/modal/types.d.ts +11 -3
  11. package/cjs/components/modal/types.js.map +1 -1
  12. package/cjs/elements/code/style/code-mixins.scss +4 -0
  13. package/cjs/elements/typography/style/_dnb-t.scss +1 -1
  14. package/cjs/extensions/forms/DataContext/Context.d.ts +1 -1
  15. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  16. package/cjs/extensions/forms/DataContext/Provider/Provider.js +25 -10
  17. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  18. package/cjs/extensions/forms/Form/data-context/useValidation.js +1 -1
  19. package/cjs/extensions/forms/Form/data-context/useValidation.js.map +1 -1
  20. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +1 -1
  21. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  22. package/cjs/extensions/forms/hooks/useExternalValue.js +2 -2
  23. package/cjs/extensions/forms/hooks/useExternalValue.js.map +1 -1
  24. package/cjs/extensions/forms/hooks/useFieldProps.js +23 -16
  25. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  26. package/cjs/shared/Eufemia.d.ts +1 -1
  27. package/cjs/shared/Eufemia.js +2 -2
  28. package/cjs/shared/Eufemia.js.map +1 -1
  29. package/cjs/style/core/scopes.scss +1 -1
  30. package/cjs/style/dnb-ui-basis.css +1 -1
  31. package/cjs/style/dnb-ui-basis.min.css +1 -1
  32. package/cjs/style/dnb-ui-body.css +1 -1
  33. package/cjs/style/dnb-ui-body.min.css +1 -1
  34. package/cjs/style/dnb-ui-core.css +1 -1
  35. package/cjs/style/dnb-ui-core.min.css +1 -1
  36. package/cjs/style/dnb-ui-elements.css +3 -0
  37. package/cjs/style/dnb-ui-elements.min.css +1 -1
  38. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +3 -0
  39. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  40. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.css +3 -0
  41. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  42. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +3 -0
  43. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  44. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +3 -0
  45. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  46. package/cjs/style/themes/theme-ui/ui-theme-basis.css +3 -0
  47. package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  48. package/cjs/style/themes/theme-ui/ui-theme-elements.css +3 -0
  49. package/cjs/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  50. package/cjs/style/themes/theme-ui/ui-theme-tags.css +3 -0
  51. package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  52. package/components/modal/Modal.d.ts +2 -1
  53. package/components/modal/Modal.js +10 -4
  54. package/components/modal/Modal.js.map +1 -1
  55. package/components/modal/ModalContent.d.ts +10 -8
  56. package/components/modal/ModalContent.js +48 -23
  57. package/components/modal/ModalContent.js.map +1 -1
  58. package/components/modal/ModalRoot.d.ts +2 -0
  59. package/components/modal/ModalRoot.js.map +1 -1
  60. package/components/modal/types.d.ts +11 -3
  61. package/components/modal/types.js.map +1 -1
  62. package/elements/code/style/code-mixins.scss +4 -0
  63. package/elements/typography/style/_dnb-t.scss +1 -1
  64. package/es/components/modal/Modal.d.ts +2 -1
  65. package/es/components/modal/Modal.js +10 -4
  66. package/es/components/modal/Modal.js.map +1 -1
  67. package/es/components/modal/ModalContent.d.ts +10 -8
  68. package/es/components/modal/ModalContent.js +44 -20
  69. package/es/components/modal/ModalContent.js.map +1 -1
  70. package/es/components/modal/ModalRoot.d.ts +2 -0
  71. package/es/components/modal/ModalRoot.js.map +1 -1
  72. package/es/components/modal/types.d.ts +11 -3
  73. package/es/components/modal/types.js.map +1 -1
  74. package/es/elements/code/style/code-mixins.scss +4 -0
  75. package/es/elements/typography/style/_dnb-t.scss +1 -1
  76. package/es/extensions/forms/DataContext/Context.d.ts +1 -1
  77. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  78. package/es/extensions/forms/DataContext/Provider/Provider.js +25 -10
  79. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  80. package/es/extensions/forms/Form/data-context/useValidation.js +1 -1
  81. package/es/extensions/forms/Form/data-context/useValidation.js.map +1 -1
  82. package/es/extensions/forms/Wizard/Container/WizardContainer.js +1 -1
  83. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  84. package/es/extensions/forms/hooks/useExternalValue.js +2 -2
  85. package/es/extensions/forms/hooks/useExternalValue.js.map +1 -1
  86. package/es/extensions/forms/hooks/useFieldProps.js +23 -16
  87. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  88. package/es/shared/Eufemia.d.ts +1 -1
  89. package/es/shared/Eufemia.js +2 -2
  90. package/es/shared/Eufemia.js.map +1 -1
  91. package/es/style/core/scopes.scss +1 -1
  92. package/es/style/dnb-ui-basis.css +1 -1
  93. package/es/style/dnb-ui-basis.min.css +1 -1
  94. package/es/style/dnb-ui-body.css +1 -1
  95. package/es/style/dnb-ui-body.min.css +1 -1
  96. package/es/style/dnb-ui-core.css +1 -1
  97. package/es/style/dnb-ui-core.min.css +1 -1
  98. package/es/style/dnb-ui-elements.css +3 -0
  99. package/es/style/dnb-ui-elements.min.css +1 -1
  100. package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +3 -0
  101. package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  102. package/es/style/themes/theme-eiendom/eiendom-theme-elements.css +3 -0
  103. package/es/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  104. package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +3 -0
  105. package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  106. package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +3 -0
  107. package/es/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  108. package/es/style/themes/theme-ui/ui-theme-basis.css +3 -0
  109. package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  110. package/es/style/themes/theme-ui/ui-theme-elements.css +3 -0
  111. package/es/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  112. package/es/style/themes/theme-ui/ui-theme-tags.css +3 -0
  113. package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  114. package/esm/dnb-ui-basis.min.mjs +1 -1
  115. package/esm/dnb-ui-components.min.mjs +1 -1
  116. package/esm/dnb-ui-elements.min.mjs +1 -1
  117. package/esm/dnb-ui-extensions.min.mjs +2 -2
  118. package/esm/dnb-ui-lib.min.mjs +1 -1
  119. package/extensions/forms/DataContext/Context.d.ts +1 -1
  120. package/extensions/forms/DataContext/Context.js.map +1 -1
  121. package/extensions/forms/DataContext/Provider/Provider.js +25 -10
  122. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  123. package/extensions/forms/Form/data-context/useValidation.js +1 -1
  124. package/extensions/forms/Form/data-context/useValidation.js.map +1 -1
  125. package/extensions/forms/Wizard/Container/WizardContainer.js +1 -1
  126. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  127. package/extensions/forms/hooks/useExternalValue.js +2 -2
  128. package/extensions/forms/hooks/useExternalValue.js.map +1 -1
  129. package/extensions/forms/hooks/useFieldProps.js +23 -16
  130. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  131. package/package.json +1 -1
  132. package/shared/Eufemia.d.ts +1 -1
  133. package/shared/Eufemia.js +2 -2
  134. package/shared/Eufemia.js.map +1 -1
  135. package/style/core/scopes.scss +1 -1
  136. package/style/dnb-ui-basis.css +1 -1
  137. package/style/dnb-ui-basis.min.css +1 -1
  138. package/style/dnb-ui-body.css +1 -1
  139. package/style/dnb-ui-body.min.css +1 -1
  140. package/style/dnb-ui-core.css +1 -1
  141. package/style/dnb-ui-core.min.css +1 -1
  142. package/style/dnb-ui-elements.css +3 -0
  143. package/style/dnb-ui-elements.min.css +1 -1
  144. package/style/themes/theme-eiendom/eiendom-theme-basis.css +3 -0
  145. package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  146. package/style/themes/theme-eiendom/eiendom-theme-elements.css +3 -0
  147. package/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  148. package/style/themes/theme-sbanken/sbanken-theme-basis.css +3 -0
  149. package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  150. package/style/themes/theme-sbanken/sbanken-theme-elements.css +3 -0
  151. package/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  152. package/style/themes/theme-ui/ui-theme-basis.css +3 -0
  153. package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  154. package/style/themes/theme-ui/ui-theme-elements.css +3 -0
  155. package/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  156. package/style/themes/theme-ui/ui-theme-tags.css +3 -0
  157. package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  158. package/umd/dnb-ui-basis.min.js +1 -1
  159. package/umd/dnb-ui-components.min.js +1 -1
  160. package/umd/dnb-ui-elements.min.js +1 -1
  161. package/umd/dnb-ui-extensions.min.js +1 -1
  162. package/umd/dnb-ui-lib.min.js +1 -1
package/CHANGELOG.md CHANGED
@@ -3,6 +3,23 @@
3
3
  All notable changes to @dnb/eufemia will be documented in this file. See
4
4
  [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [10.63.2](https://github.com/dnbexperience/eufemia/compare/v10.63.1...v10.63.2) (2025-02-04)
7
+
8
+
9
+ ### :bug: Bug Fixes
10
+
11
+ * **Dialog:** prevent `onClose` event from firing in StrictMode when opening a new dialog ([#4525](https://github.com/dnbexperience/eufemia/issues/4525)) ([d24c0d3](https://github.com/dnbexperience/eufemia/commit/d24c0d35bd3fc83a81b4037b883423e0c4a1fc65))
12
+ * **Forms:** always revalidate on submit when data context changes ([#4532](https://github.com/dnbexperience/eufemia/issues/4532)) ([e0692d6](https://github.com/dnbexperience/eufemia/commit/e0692d633f629ec958b2ec4d187e3533b21d113d))
13
+ * **Forms:** ensure `setFieldStatus` by useValidation does not throw when used without id ([#4529](https://github.com/dnbexperience/eufemia/issues/4529)) ([1a92512](https://github.com/dnbexperience/eufemia/commit/1a9251205b2b2914500ef93864bb1a37e159e8b0))
14
+ * **Forms:** ensure `update('/path', undefined)` does not show error message ([#4531](https://github.com/dnbexperience/eufemia/issues/4531)) ([2dfd44a](https://github.com/dnbexperience/eufemia/commit/2dfd44acb00bdbb9512916e8d3d767cfa9f5d53e))
15
+
16
+ ## [10.63.1](https://github.com/dnbexperience/eufemia/compare/v10.63.0...v10.63.1) (2025-02-04)
17
+
18
+
19
+ ### :bug: Bug Fixes
20
+
21
+ * **Forms:** ensure `transformData` contains `displayValue` from fields inside Iterate ([#4526](https://github.com/dnbexperience/eufemia/issues/4526)) ([cc67a19](https://github.com/dnbexperience/eufemia/commit/cc67a19a224d4b5215cbd42f6acc8bae5d1c392c)), closes [#4510](https://github.com/dnbexperience/eufemia/issues/4510)
22
+
6
23
  ## [10.63.0](https://github.com/dnbexperience/eufemia/compare/v10.62.4...v10.63.0) (2025-01-29)
7
24
 
8
25
 
@@ -36,6 +36,7 @@ declare class Modal extends React.PureComponent<ModalPropTypes & ToCamelCasePart
36
36
  _tryToOpenTimeout: NodeJS.Timeout;
37
37
  activeElement: Element;
38
38
  isInTransition: boolean;
39
+ modalContentCloseRef: React.RefObject<any>;
39
40
  state: {
40
41
  hide: boolean;
41
42
  modalActive: boolean;
@@ -97,7 +98,7 @@ declare class Modal extends React.PureComponent<ModalPropTypes & ToCamelCasePart
97
98
  open: (e: Event) => void;
98
99
  close: (event: Event, { ifIsLatest, triggeredBy }?: {
99
100
  ifIsLatest: boolean;
100
- triggeredBy?: any;
101
+ triggeredBy?: string;
101
102
  }) => void;
102
103
  removeActiveState(): void;
103
104
  /**
@@ -26,7 +26,7 @@ var _ModalHeaderBar = _interopRequireDefault(require("./parts/ModalHeaderBar"));
26
26
  var _CloseButton = _interopRequireDefault(require("./parts/CloseButton"));
27
27
  var _ModalRoot = _interopRequireDefault(require("./ModalRoot"));
28
28
  var _withCamelCaseProps = require("../../shared/helpers/withCamelCaseProps");
29
- const _excluded = ["root_id", "content_id", "disabled", "labelled_by", "focus_selector", "header_content", "bar_content", "bypass_invalidation_selectors", "vertical_alignment", "id", "open_state", "open_delay", "omit_trigger_button", "trigger", "trigger_attributes"];
29
+ const _excluded = ["root_id", "content_id", "disabled", "labelled_by", "focus_selector", "header_content", "bar_content", "bypass_invalidation_selectors", "vertical_alignment", "id", "open_delay", "omit_trigger_button", "trigger", "trigger_attributes"];
30
30
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
31
31
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
32
32
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
@@ -90,6 +90,7 @@ class Modal extends _react.default.PureComponent {
90
90
  _defineProperty(this, "_tryToOpenTimeout", void 0);
91
91
  _defineProperty(this, "activeElement", void 0);
92
92
  _defineProperty(this, "isInTransition", void 0);
93
+ _defineProperty(this, "modalContentCloseRef", void 0);
93
94
  _defineProperty(this, "state", {
94
95
  hide: false,
95
96
  modalActive: false,
@@ -213,12 +214,16 @@ class Modal extends _react.default.PureComponent {
213
214
  this.toggleOpenClose(e, true);
214
215
  });
215
216
  _defineProperty(this, "close", function (event) {
217
+ var _this$modalContentClo, _this$modalContentClo2;
216
218
  let {
217
219
  ifIsLatest,
218
- triggeredBy = null
220
+ triggeredBy = 'handler'
219
221
  } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
220
222
  ifIsLatest: true
221
223
  };
224
+ (_this$modalContentClo = (_this$modalContentClo2 = _this.modalContentCloseRef).current) === null || _this$modalContentClo === void 0 ? void 0 : _this$modalContentClo.call(_this$modalContentClo2, event, {
225
+ triggeredBy
226
+ });
222
227
  const {
223
228
  prevent_close = false
224
229
  } = _this.props;
@@ -247,6 +252,7 @@ class Modal extends _react.default.PureComponent {
247
252
  });
248
253
  this._id = props.id || (0, _componentHelper.makeUniqueId)('modal-');
249
254
  this._triggerRef = _react.default.createRef();
255
+ this.modalContentCloseRef = _react.default.createRef();
250
256
  this._onUnmount = [];
251
257
  }
252
258
  componentDidMount() {
@@ -323,7 +329,6 @@ class Modal extends _react.default.PureComponent {
323
329
  bypass_invalidation_selectors = null,
324
330
  vertical_alignment = 'center',
325
331
  id,
326
- open_state,
327
332
  open_delay,
328
333
  omit_trigger_button = false,
329
334
  trigger = null,
@@ -376,7 +381,8 @@ class Modal extends _react.default.PureComponent {
376
381
  bypass_invalidation_selectors: bypass_invalidation_selectors,
377
382
  close: this.close,
378
383
  hide: hide,
379
- title: rest.title || fallbackTitle
384
+ title: rest.title || fallbackTitle,
385
+ modalContentCloseRef: this.modalContentCloseRef
380
386
  })));
381
387
  };
382
388
  return _react.default.createElement(_Suffix.SuffixContext.Consumer, null, render);
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.js","names":["_react","_interopRequireDefault","require","_classnames","_Suffix","_Context","_componentHelper","_SpacingHelper","_HelpButtonInstance","_helpers","_ModalInner","_ModalHeader","_ModalHeaderBar","_CloseButton","_ModalRoot","_withCamelCaseProps","_excluded","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","ANIMATION_DURATION","exports","Modal","React","PureComponent","getContent","props","modal_content","processChildren","getDerivedStateFromProps","state","window","animation_duration","no_animation","open_state","_open_state","hide","isTrue","modalActive","constructor","_this","this","preventAutoFocus","event","showModal","preventDefault","toggleNow","timeoutDuration","parseFloat","isInTransition","doItNow","setState","handleSideEffects","_closeTimeout","setTimeout","waitBeforeOpen","open_delay","delay","_openTimeout","clearTimeout","open_modal","fn","_onUnmount","close_modal","toggleOpenClose","setActiveState","_id","_this$_triggerRef","focus","elem","setAttribute","preventScroll","Promise","resolve","removeAttribute","_triggerRef","current","activeElement","HTMLElement","then","e","removeActiveState","ifIsLatest","triggeredBy","prevent_close","id","dispatchCustomElementEvent","close","list","getListOfModalRoots","last","getModalRoot","makeUniqueId","createRef","componentDidMount","openBasedOnStateUpdate","componentWillUnmount","componentDidUpdate","prevProps","document","documentElement","warn","modalId","render","visualTestsPropsOverride","extendPropsWithContextInClassComponent","defaultProps","context","getTranslation","root_id","content_id","disabled","labelled_by","focus_selector","header_content","bar_content","bypass_invalidation_selectors","vertical_alignment","omit_trigger_button","trigger","trigger_attributes","rest","children","freeze","suffixProps","triggerAttributes","hidden","variant","icon_position","fallbackTitle","title","translation","HelpButton","TriggerButton","HelpButtonInstance","text","createElement","Fragment","onClick","innerRef","className","classnames","createSpacingClasses","class","SuffixContext","Consumer","OriginalComponent","Context","ModalHeaderBar","ModalHeader","ModalInner","spacing","dialog_title","close_title","hide_close_button","close_button_attributes","prevent_core_style","no_animation_on_mobile","fullscreen","min_width","max_width","align_content","container_placement","direct_dom_return","on_open","on_close","on_close_prevent","overlay_class","content_class","_default","classWithCamelCaseProps"],"sources":["../../../../src/components/modal/Modal.tsx"],"sourcesContent":["/**\n * Web Modal Component\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport { SuffixContext } from '../../shared/helpers/Suffix'\nimport Context, { ContextProps } from '../../shared/Context'\nimport {\n warn,\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n processChildren,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport HelpButtonInstance from '../help-button/HelpButtonInstance'\nimport { getListOfModalRoots, getModalRoot } from './helpers'\nimport ModalInner from './parts/ModalInner'\nimport { ModalProps } from './types'\n\nimport ModalHeader from './parts/ModalHeader'\nimport ModalHeaderBar from './parts/ModalHeaderBar'\nimport { ScrollViewAllProps } from '../../fragments/scroll-view/ScrollView'\nimport CloseButton from './parts/CloseButton'\nimport ModalRoot from './ModalRoot'\nimport type { SpacingProps } from '../../shared/types'\nimport {\n classWithCamelCaseProps,\n ToCamelCasePartial,\n} from '../../shared/helpers/withCamelCaseProps'\nimport type { ButtonProps } from '../button/Button'\n\nexport const ANIMATION_DURATION = 300\n\ninterface ModalState {\n hide: boolean\n modalActive: boolean\n preventAutoFocus: boolean\n}\n\nexport type ModalPropTypes = ModalProps &\n SpacingProps &\n Omit<ScrollViewAllProps, 'children'>\n\nclass Modal extends React.PureComponent<\n ModalPropTypes & ToCamelCasePartial<ModalPropTypes>,\n ModalState\n> {\n static contextType = Context\n\n context!: ContextProps\n\n static Bar = ModalHeaderBar\n static Header = ModalHeader\n static Content = ModalInner\n\n static getContent(props) {\n if (typeof props.modal_content === 'string') {\n return props.modal_content\n } else if (typeof props.modal_content === 'function') {\n return props.modal_content(props)\n }\n return processChildren(props)\n }\n\n _id: string\n _triggerRef: React.RefObject<any>\n _onUnmount: Array<() => void>\n _openTimeout: NodeJS.Timeout\n _closeTimeout: NodeJS.Timeout\n _sideEffectsTimeout: NodeJS.Timeout\n _tryToOpenTimeout: NodeJS.Timeout\n activeElement: Element\n isInTransition: boolean\n\n state = {\n hide: false,\n modalActive: false,\n preventAutoFocus: true,\n animation_duration: ANIMATION_DURATION,\n no_animation: false,\n }\n\n static defaultProps = {\n id: null,\n focus_selector: null,\n labelled_by: null,\n title: null,\n disabled: null,\n spacing: true,\n open_delay: null,\n content_id: null,\n dialog_title: 'Vindu',\n close_title: 'Lukk', // Close Modal Window\n hide_close_button: false,\n close_button_attributes: null,\n prevent_close: false,\n prevent_core_style: false,\n animation_duration: ANIMATION_DURATION,\n no_animation: false,\n no_animation_on_mobile: false,\n fullscreen: 'auto',\n min_width: null,\n max_width: null,\n align_content: 'left',\n container_placement: null,\n vertical_alignment: null,\n open_state: null,\n direct_dom_return: false,\n root_id: 'root',\n omit_trigger_button: false,\n\n className: null,\n children: null,\n\n on_open: null,\n on_close: null,\n on_close_prevent: null,\n open_modal: null,\n close_modal: null,\n\n trigger: null,\n trigger_attributes: null,\n\n overlay_class: null,\n content_class: null,\n\n modal_content: null,\n header_content: null,\n bar_content: null,\n }\n\n static getDerivedStateFromProps(props, state) {\n if (typeof window !== 'undefined' && window['IS_TEST']) {\n state.animation_duration = 0\n state.no_animation = true\n } else {\n state.animation_duration = props.animation_duration\n state.no_animation = props.no_animation\n }\n\n if (props.open_state !== state._open_state) {\n switch (props.open_state) {\n case 'opened':\n case true:\n state.hide = false\n if (isTrue(state.no_animation)) {\n state.modalActive = true\n }\n break\n case 'closed':\n case false:\n state.hide = true\n if (isTrue(state.no_animation)) {\n state.modalActive = false\n }\n break\n }\n }\n state._open_state = props.open_state\n\n return state\n }\n\n constructor(props) {\n super(props)\n this._id = props.id || makeUniqueId('modal-')\n\n this._triggerRef = React.createRef()\n\n this._onUnmount = []\n }\n\n componentDidMount() {\n this.openBasedOnStateUpdate()\n }\n\n componentWillUnmount() {\n clearTimeout(this._openTimeout)\n clearTimeout(this._closeTimeout)\n\n this.removeActiveState()\n\n this._onUnmount.forEach((fn) => {\n if (typeof fn === 'function') {\n fn()\n }\n })\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps !== this.props) {\n this.openBasedOnStateUpdate()\n }\n }\n\n openBasedOnStateUpdate() {\n const { hide } = this.state\n const { open_state } = this.props\n\n if (!this.activeElement && typeof document !== 'undefined') {\n this.activeElement = document.activeElement\n }\n\n if (!hide && (open_state === 'opened' || open_state === true)) {\n this.toggleOpenClose(null, true)\n } else if (hide && (open_state === 'closed' || open_state === false)) {\n this.toggleOpenClose(null, false)\n }\n }\n\n toggleOpenClose = (event = null, showModal = null) => {\n if (event && event.preventDefault) {\n event.preventDefault()\n }\n\n const toggleNow = () => {\n const {\n animation_duration = ANIMATION_DURATION,\n no_animation = false,\n } = this.state\n const timeoutDuration =\n typeof animation_duration === 'string'\n ? parseFloat(animation_duration)\n : animation_duration\n\n const modalActive =\n typeof showModal === 'boolean'\n ? showModal\n : !this.state.modalActive\n\n this.isInTransition = true\n\n const doItNow = () => {\n this.setState(\n {\n hide: false,\n modalActive,\n },\n () => {\n this.isInTransition = false\n this.handleSideEffects()\n }\n )\n }\n\n if (modalActive === false && !isTrue(no_animation)) {\n this.setState({\n hide: true,\n })\n\n this._closeTimeout = setTimeout(doItNow, timeoutDuration) // delay because of the animation\n } else {\n doItNow()\n }\n }\n\n const waitBeforeOpen = () => {\n const { open_delay } = this.props\n const { no_animation } = this.state\n const delay =\n typeof open_delay === 'string'\n ? parseFloat(open_delay)\n : open_delay\n if (delay > 0 && !isTrue(no_animation)) {\n this._openTimeout = setTimeout(toggleNow, delay) // custom delay\n } else {\n toggleNow()\n }\n }\n\n clearTimeout(this._closeTimeout)\n clearTimeout(this._openTimeout)\n\n const { open_modal } = this.props\n if (typeof open_modal === 'function') {\n const fn = open_modal(waitBeforeOpen, this)\n if (fn) {\n this._onUnmount.push(fn)\n }\n } else {\n waitBeforeOpen()\n }\n }\n\n handleSideEffects = () => {\n const { modalActive, preventAutoFocus, animation_duration } =\n this.state\n const { close_modal, open_state } = this.props\n\n if (modalActive) {\n if (typeof close_modal === 'function') {\n const fn = close_modal(() => {\n this.toggleOpenClose(null, false)\n }, this)\n if (fn) {\n this._onUnmount.push(fn)\n }\n }\n this.setActiveState(this._id)\n } else if (modalActive === false && !preventAutoFocus) {\n const focus = (elem: HTMLElement) => {\n // So we can omit showing a Tooltip on the trigger button\n elem.setAttribute('data-autofocus', 'true')\n elem.focus({ preventScroll: true })\n\n return new Promise<void>((resolve) => {\n setTimeout(\n () => {\n elem?.removeAttribute('data-autofocus')\n resolve()\n },\n parseFloat(String(animation_duration)) / 3\n )\n })\n }\n\n if (this._triggerRef?.current) {\n focus(this._triggerRef.current)\n }\n\n // because the open_state was set to opened, we force\n if (\n (open_state === 'opened' || open_state === true) &&\n this.activeElement instanceof HTMLElement\n ) {\n try {\n focus(this.activeElement).then(() => {\n this.activeElement = null\n })\n } catch (e) {\n //\n }\n }\n\n this.removeActiveState()\n }\n\n if (preventAutoFocus) {\n this.setState({ preventAutoFocus: false })\n }\n }\n\n open = (e: Event) => {\n this.toggleOpenClose(e, true)\n }\n\n close = (\n event: Event,\n { ifIsLatest, triggeredBy = null } = { ifIsLatest: true }\n ) => {\n const { prevent_close = false } = this.props\n\n if (isTrue(prevent_close)) {\n const id = this._id\n dispatchCustomElementEvent(this, 'on_close_prevent', {\n id,\n event,\n triggeredBy,\n close: (e) => {\n this.toggleOpenClose(e, false)\n },\n })\n } else {\n if (ifIsLatest) {\n const list = getListOfModalRoots()\n if (list.length > 1) {\n const last = getModalRoot(-1)\n if (last !== this) {\n return // stop here\n }\n }\n }\n\n this.toggleOpenClose(event, false)\n }\n }\n\n removeActiveState() {\n const last = getModalRoot(-1)\n\n // If this instance is not the last one,\n // make the current one to as the active one\n if (last?._id && last._id !== this._id) {\n return this.setActiveState(last._id)\n }\n\n try {\n document.documentElement.removeAttribute('data-dnb-modal-active')\n } catch (e) {\n warn('Modal: Error on remove \"data-dnb-modal-active\"', e)\n }\n }\n\n /**\n * Prevent scrolling on the background\n * But checks if this instance was the last one or not\n *\n * @param {string} modalId Will remove the attribute if false is given\n */\n setActiveState(modalId: string) {\n if (!modalId) {\n warn('Modal: A valid modalId is required')\n }\n // prevent scrolling on the background\n if (typeof document !== 'undefined') {\n try {\n document.documentElement.setAttribute(\n 'data-dnb-modal-active',\n modalId\n )\n } catch (e) {\n warn('Modal: Error on set \"data-dnb-modal-active\"', e)\n }\n }\n }\n\n render() {\n const visualTestsPropsOverride =\n typeof window !== 'undefined' && window['IS_TEST']\n ? {\n animation_duration: 0,\n no_animation: true,\n }\n : {}\n\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n Modal.defaultProps,\n this.context.getTranslation(this.props).Modal,\n this.context.Modal,\n visualTestsPropsOverride\n )\n\n const {\n root_id = 'root',\n content_id = null,\n disabled = null,\n labelled_by = null,\n focus_selector = null,\n header_content = null,\n bar_content = null,\n bypass_invalidation_selectors = null,\n vertical_alignment = 'center',\n\n id, // eslint-disable-line\n open_state, // eslint-disable-line\n open_delay, // eslint-disable-line\n\n omit_trigger_button = false,\n trigger = null,\n trigger_attributes = null,\n ...rest\n } = props\n\n const { hide, modalActive } = this.state\n const modal_content = Modal.getContent(\n typeof this.props.children === 'function'\n ? Object.freeze({ ...this.props, close: this.close })\n : this.props\n )\n\n const render = (suffixProps) => {\n const triggerAttributes = {\n hidden: false,\n variant: 'secondary',\n icon_position: 'left',\n ...trigger_attributes,\n } as ButtonProps\n\n if (isTrue(disabled)) {\n triggerAttributes.disabled = true\n }\n\n if (triggerAttributes.id) {\n this._id = triggerAttributes.id\n }\n\n let fallbackTitle: string\n if (triggerAttributes.title) {\n fallbackTitle = triggerAttributes.title\n }\n // in case the modal is used in suffix and no title is given\n // suffixProps.label is also available, so we could use that too\n else if (suffixProps) {\n fallbackTitle = this.context.translation.HelpButton.title\n }\n\n const TriggerButton = trigger\n ? (trigger as React.FC)\n : HelpButtonInstance\n\n const title = (\n !triggerAttributes.text ? rest.title || fallbackTitle : null\n ) as string\n\n return (\n <>\n {TriggerButton && !isTrue(omit_trigger_button) && (\n <TriggerButton\n {...triggerAttributes}\n id={this._id}\n title={title}\n onClick={this.toggleOpenClose}\n innerRef={this._triggerRef}\n className={classnames(\n 'dnb-modal__trigger',\n createSpacingClasses(props),\n triggerAttributes.className,\n\n // @deprecated – can be removed in v11\n triggerAttributes.class\n )}\n />\n )}\n\n {modalActive && modal_content && (\n <ModalRoot\n {...rest}\n id={this._id}\n root_id={root_id}\n content_id={content_id || `dnb-modal-${this._id}`}\n labelled_by={labelled_by}\n focus_selector={focus_selector}\n modal_content={modal_content}\n header_content={header_content}\n vertical_alignment={vertical_alignment}\n bar_content={bar_content}\n bypass_invalidation_selectors={bypass_invalidation_selectors}\n close={this.close}\n hide={hide}\n title={rest.title || fallbackTitle}\n />\n )}\n </>\n )\n }\n\n return <SuffixContext.Consumer>{render}</SuffixContext.Consumer>\n }\n}\n\nexport { CloseButton, Modal as OriginalComponent }\n\nexport default classWithCamelCaseProps(Modal)\n"],"mappings":"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"}
1
+ {"version":3,"file":"Modal.js","names":["_react","_interopRequireDefault","require","_classnames","_Suffix","_Context","_componentHelper","_SpacingHelper","_HelpButtonInstance","_helpers","_ModalInner","_ModalHeader","_ModalHeaderBar","_CloseButton","_ModalRoot","_withCamelCaseProps","_excluded","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","ANIMATION_DURATION","exports","Modal","React","PureComponent","getContent","props","modal_content","processChildren","getDerivedStateFromProps","state","window","animation_duration","no_animation","open_state","_open_state","hide","isTrue","modalActive","constructor","_this","this","preventAutoFocus","event","showModal","preventDefault","toggleNow","timeoutDuration","parseFloat","isInTransition","doItNow","setState","handleSideEffects","_closeTimeout","setTimeout","waitBeforeOpen","open_delay","delay","_openTimeout","clearTimeout","open_modal","fn","_onUnmount","close_modal","toggleOpenClose","setActiveState","_id","_this$_triggerRef","focus","elem","setAttribute","preventScroll","Promise","resolve","removeAttribute","_triggerRef","current","activeElement","HTMLElement","then","e","removeActiveState","_this$modalContentClo","_this$modalContentClo2","ifIsLatest","triggeredBy","modalContentCloseRef","prevent_close","id","dispatchCustomElementEvent","close","list","getListOfModalRoots","last","getModalRoot","makeUniqueId","createRef","componentDidMount","openBasedOnStateUpdate","componentWillUnmount","componentDidUpdate","prevProps","document","documentElement","warn","modalId","render","visualTestsPropsOverride","extendPropsWithContextInClassComponent","defaultProps","context","getTranslation","root_id","content_id","disabled","labelled_by","focus_selector","header_content","bar_content","bypass_invalidation_selectors","vertical_alignment","omit_trigger_button","trigger","trigger_attributes","rest","children","freeze","suffixProps","triggerAttributes","hidden","variant","icon_position","fallbackTitle","title","translation","HelpButton","TriggerButton","HelpButtonInstance","text","createElement","Fragment","onClick","innerRef","className","classnames","createSpacingClasses","class","SuffixContext","Consumer","OriginalComponent","Context","ModalHeaderBar","ModalHeader","ModalInner","spacing","dialog_title","close_title","hide_close_button","close_button_attributes","prevent_core_style","no_animation_on_mobile","fullscreen","min_width","max_width","align_content","container_placement","direct_dom_return","on_open","on_close","on_close_prevent","overlay_class","content_class","_default","classWithCamelCaseProps"],"sources":["../../../../src/components/modal/Modal.tsx"],"sourcesContent":["/**\n * Web Modal Component\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport { SuffixContext } from '../../shared/helpers/Suffix'\nimport Context, { ContextProps } from '../../shared/Context'\nimport {\n warn,\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n processChildren,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport HelpButtonInstance from '../help-button/HelpButtonInstance'\nimport { getListOfModalRoots, getModalRoot } from './helpers'\nimport ModalInner from './parts/ModalInner'\nimport { ModalProps } from './types'\n\nimport ModalHeader from './parts/ModalHeader'\nimport ModalHeaderBar from './parts/ModalHeaderBar'\nimport { ScrollViewAllProps } from '../../fragments/scroll-view/ScrollView'\nimport CloseButton from './parts/CloseButton'\nimport ModalRoot from './ModalRoot'\nimport type { SpacingProps } from '../../shared/types'\nimport {\n classWithCamelCaseProps,\n ToCamelCasePartial,\n} from '../../shared/helpers/withCamelCaseProps'\nimport type { ButtonProps } from '../button/Button'\n\nexport const ANIMATION_DURATION = 300\n\ninterface ModalState {\n hide: boolean\n modalActive: boolean\n preventAutoFocus: boolean\n}\n\nexport type ModalPropTypes = ModalProps &\n SpacingProps &\n Omit<ScrollViewAllProps, 'children'>\n\nclass Modal extends React.PureComponent<\n ModalPropTypes & ToCamelCasePartial<ModalPropTypes>,\n ModalState\n> {\n static contextType = Context\n\n context!: ContextProps\n\n static Bar = ModalHeaderBar\n static Header = ModalHeader\n static Content = ModalInner\n\n static getContent(props) {\n if (typeof props.modal_content === 'string') {\n return props.modal_content\n } else if (typeof props.modal_content === 'function') {\n return props.modal_content(props)\n }\n return processChildren(props)\n }\n\n _id: string\n _triggerRef: React.RefObject<any>\n _onUnmount: Array<() => void>\n _openTimeout: NodeJS.Timeout\n _closeTimeout: NodeJS.Timeout\n _sideEffectsTimeout: NodeJS.Timeout\n _tryToOpenTimeout: NodeJS.Timeout\n activeElement: Element\n isInTransition: boolean\n modalContentCloseRef: React.RefObject<any>\n\n state = {\n hide: false,\n modalActive: false,\n preventAutoFocus: true,\n animation_duration: ANIMATION_DURATION,\n no_animation: false,\n }\n\n static defaultProps = {\n id: null,\n focus_selector: null,\n labelled_by: null,\n title: null,\n disabled: null,\n spacing: true,\n open_delay: null,\n content_id: null,\n dialog_title: 'Vindu',\n close_title: 'Lukk', // Close Modal Window\n hide_close_button: false,\n close_button_attributes: null,\n prevent_close: false,\n prevent_core_style: false,\n animation_duration: ANIMATION_DURATION,\n no_animation: false,\n no_animation_on_mobile: false,\n fullscreen: 'auto',\n min_width: null,\n max_width: null,\n align_content: 'left',\n container_placement: null,\n vertical_alignment: null,\n open_state: null,\n direct_dom_return: false,\n root_id: 'root',\n omit_trigger_button: false,\n\n className: null,\n children: null,\n\n on_open: null,\n on_close: null,\n on_close_prevent: null,\n open_modal: null,\n close_modal: null,\n\n trigger: null,\n trigger_attributes: null,\n\n overlay_class: null,\n content_class: null,\n\n modal_content: null,\n header_content: null,\n bar_content: null,\n }\n\n static getDerivedStateFromProps(props, state) {\n if (typeof window !== 'undefined' && window['IS_TEST']) {\n state.animation_duration = 0\n state.no_animation = true\n } else {\n state.animation_duration = props.animation_duration\n state.no_animation = props.no_animation\n }\n\n if (props.open_state !== state._open_state) {\n switch (props.open_state) {\n case 'opened':\n case true:\n state.hide = false\n if (isTrue(state.no_animation)) {\n state.modalActive = true\n }\n break\n case 'closed':\n case false:\n state.hide = true\n if (isTrue(state.no_animation)) {\n state.modalActive = false\n }\n break\n }\n }\n state._open_state = props.open_state\n\n return state\n }\n\n constructor(props) {\n super(props)\n this._id = props.id || makeUniqueId('modal-')\n\n this._triggerRef = React.createRef()\n this.modalContentCloseRef = React.createRef()\n\n this._onUnmount = []\n }\n\n componentDidMount() {\n this.openBasedOnStateUpdate()\n }\n\n componentWillUnmount() {\n clearTimeout(this._openTimeout)\n clearTimeout(this._closeTimeout)\n\n this.removeActiveState()\n\n this._onUnmount.forEach((fn) => {\n if (typeof fn === 'function') {\n fn()\n }\n })\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps !== this.props) {\n this.openBasedOnStateUpdate()\n }\n }\n\n openBasedOnStateUpdate() {\n const { hide } = this.state\n const { open_state } = this.props\n\n if (!this.activeElement && typeof document !== 'undefined') {\n this.activeElement = document.activeElement\n }\n\n if (!hide && (open_state === 'opened' || open_state === true)) {\n this.toggleOpenClose(null, true)\n } else if (hide && (open_state === 'closed' || open_state === false)) {\n this.toggleOpenClose(null, false)\n }\n }\n\n toggleOpenClose = (event = null, showModal = null) => {\n if (event && event.preventDefault) {\n event.preventDefault()\n }\n\n const toggleNow = () => {\n const {\n animation_duration = ANIMATION_DURATION,\n no_animation = false,\n } = this.state\n const timeoutDuration =\n typeof animation_duration === 'string'\n ? parseFloat(animation_duration)\n : animation_duration\n\n const modalActive =\n typeof showModal === 'boolean'\n ? showModal\n : !this.state.modalActive\n\n this.isInTransition = true\n\n const doItNow = () => {\n this.setState(\n {\n hide: false,\n modalActive,\n },\n () => {\n this.isInTransition = false\n this.handleSideEffects()\n }\n )\n }\n\n if (modalActive === false && !isTrue(no_animation)) {\n this.setState({\n hide: true,\n })\n\n this._closeTimeout = setTimeout(doItNow, timeoutDuration) // delay because of the animation\n } else {\n doItNow()\n }\n }\n\n const waitBeforeOpen = () => {\n const { open_delay } = this.props\n const { no_animation } = this.state\n const delay =\n typeof open_delay === 'string'\n ? parseFloat(open_delay)\n : open_delay\n if (delay > 0 && !isTrue(no_animation)) {\n this._openTimeout = setTimeout(toggleNow, delay) // custom delay\n } else {\n toggleNow()\n }\n }\n\n clearTimeout(this._closeTimeout)\n clearTimeout(this._openTimeout)\n\n const { open_modal } = this.props\n if (typeof open_modal === 'function') {\n const fn = open_modal(waitBeforeOpen, this)\n if (fn) {\n this._onUnmount.push(fn)\n }\n } else {\n waitBeforeOpen()\n }\n }\n\n handleSideEffects = () => {\n const { modalActive, preventAutoFocus, animation_duration } =\n this.state\n const { close_modal, open_state } = this.props\n\n if (modalActive) {\n if (typeof close_modal === 'function') {\n const fn = close_modal(() => {\n this.toggleOpenClose(null, false)\n }, this)\n if (fn) {\n this._onUnmount.push(fn)\n }\n }\n this.setActiveState(this._id)\n } else if (modalActive === false && !preventAutoFocus) {\n const focus = (elem: HTMLElement) => {\n // So we can omit showing a Tooltip on the trigger button\n elem.setAttribute('data-autofocus', 'true')\n elem.focus({ preventScroll: true })\n\n return new Promise<void>((resolve) => {\n setTimeout(\n () => {\n elem?.removeAttribute('data-autofocus')\n resolve()\n },\n parseFloat(String(animation_duration)) / 3\n )\n })\n }\n\n if (this._triggerRef?.current) {\n focus(this._triggerRef.current)\n }\n\n // because the open_state was set to opened, we force\n if (\n (open_state === 'opened' || open_state === true) &&\n this.activeElement instanceof HTMLElement\n ) {\n try {\n focus(this.activeElement).then(() => {\n this.activeElement = null\n })\n } catch (e) {\n //\n }\n }\n\n this.removeActiveState()\n }\n\n if (preventAutoFocus) {\n this.setState({ preventAutoFocus: false })\n }\n }\n\n open = (e: Event) => {\n this.toggleOpenClose(e, true)\n }\n\n close = (\n event: Event,\n { ifIsLatest, triggeredBy = 'handler' } = {\n ifIsLatest: true,\n }\n ) => {\n this.modalContentCloseRef.current?.(event, { triggeredBy })\n\n const { prevent_close = false } = this.props\n\n if (isTrue(prevent_close)) {\n const id = this._id\n dispatchCustomElementEvent(this, 'on_close_prevent', {\n id,\n event,\n triggeredBy,\n close: (e) => {\n this.toggleOpenClose(e, false)\n },\n })\n } else {\n if (ifIsLatest) {\n const list = getListOfModalRoots()\n if (list.length > 1) {\n const last = getModalRoot(-1)\n if (last !== this) {\n return // stop here\n }\n }\n }\n\n this.toggleOpenClose(event, false)\n }\n }\n\n removeActiveState() {\n const last = getModalRoot(-1)\n\n // If this instance is not the last one,\n // make the current one to as the active one\n if (last?._id && last._id !== this._id) {\n return this.setActiveState(last._id)\n }\n\n try {\n document.documentElement.removeAttribute('data-dnb-modal-active')\n } catch (e) {\n warn('Modal: Error on remove \"data-dnb-modal-active\"', e)\n }\n }\n\n /**\n * Prevent scrolling on the background\n * But checks if this instance was the last one or not\n *\n * @param {string} modalId Will remove the attribute if false is given\n */\n setActiveState(modalId: string) {\n if (!modalId) {\n warn('Modal: A valid modalId is required')\n }\n // prevent scrolling on the background\n if (typeof document !== 'undefined') {\n try {\n document.documentElement.setAttribute(\n 'data-dnb-modal-active',\n modalId\n )\n } catch (e) {\n warn('Modal: Error on set \"data-dnb-modal-active\"', e)\n }\n }\n }\n\n render() {\n const visualTestsPropsOverride =\n typeof window !== 'undefined' && window['IS_TEST']\n ? {\n animation_duration: 0,\n no_animation: true,\n }\n : {}\n\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n Modal.defaultProps,\n this.context.getTranslation(this.props).Modal,\n this.context.Modal,\n visualTestsPropsOverride\n )\n\n const {\n root_id = 'root',\n content_id = null,\n disabled = null,\n labelled_by = null,\n focus_selector = null,\n header_content = null,\n bar_content = null,\n bypass_invalidation_selectors = null,\n vertical_alignment = 'center',\n\n id, // eslint-disable-line\n open_delay, // eslint-disable-line\n\n omit_trigger_button = false,\n trigger = null,\n trigger_attributes = null,\n ...rest\n } = props\n\n const { hide, modalActive } = this.state\n const modal_content = Modal.getContent(\n typeof this.props.children === 'function'\n ? Object.freeze({ ...this.props, close: this.close })\n : this.props\n )\n\n const render = (suffixProps) => {\n const triggerAttributes = {\n hidden: false,\n variant: 'secondary',\n icon_position: 'left',\n ...trigger_attributes,\n } as ButtonProps\n\n if (isTrue(disabled)) {\n triggerAttributes.disabled = true\n }\n\n if (triggerAttributes.id) {\n this._id = triggerAttributes.id\n }\n\n let fallbackTitle: string\n if (triggerAttributes.title) {\n fallbackTitle = triggerAttributes.title\n }\n // in case the modal is used in suffix and no title is given\n // suffixProps.label is also available, so we could use that too\n else if (suffixProps) {\n fallbackTitle = this.context.translation.HelpButton.title\n }\n\n const TriggerButton = trigger\n ? (trigger as React.FC)\n : HelpButtonInstance\n\n const title = (\n !triggerAttributes.text ? rest.title || fallbackTitle : null\n ) as string\n\n return (\n <>\n {TriggerButton && !isTrue(omit_trigger_button) && (\n <TriggerButton\n {...triggerAttributes}\n id={this._id}\n title={title}\n onClick={this.toggleOpenClose}\n innerRef={this._triggerRef}\n className={classnames(\n 'dnb-modal__trigger',\n createSpacingClasses(props),\n triggerAttributes.className,\n\n // @deprecated – can be removed in v11\n triggerAttributes.class\n )}\n />\n )}\n\n {modalActive && modal_content && (\n <ModalRoot\n {...rest}\n id={this._id}\n root_id={root_id}\n content_id={content_id || `dnb-modal-${this._id}`}\n labelled_by={labelled_by}\n focus_selector={focus_selector}\n modal_content={modal_content}\n header_content={header_content}\n vertical_alignment={vertical_alignment}\n bar_content={bar_content}\n bypass_invalidation_selectors={bypass_invalidation_selectors}\n close={this.close}\n hide={hide}\n title={rest.title || fallbackTitle}\n modalContentCloseRef={this.modalContentCloseRef}\n />\n )}\n </>\n )\n }\n\n return <SuffixContext.Consumer>{render}</SuffixContext.Consumer>\n }\n}\n\nexport { CloseButton, Modal as OriginalComponent }\n\nexport default classWithCamelCaseProps(Modal)\n"],"mappings":"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"}
@@ -5,11 +5,9 @@
5
5
  /// <reference types="node" />
6
6
  import React from 'react';
7
7
  import { InteractionInvalidation } from '../../shared/component-helper';
8
- import { ModalContentProps } from './types';
8
+ import { CloseHandlerParams, ModalContentProps, TriggeredBy } from './types';
9
9
  import { ContextProps } from '../../shared/Context';
10
10
  interface ModalContentState {
11
- triggeredBy: string;
12
- triggeredByEvent: Event;
13
11
  color: string;
14
12
  }
15
13
  declare global {
@@ -19,8 +17,6 @@ declare global {
19
17
  }
20
18
  export default class ModalContent extends React.PureComponent<ModalContentProps, ModalContentState> {
21
19
  state: {
22
- triggeredBy: any;
23
- triggeredByEvent: any;
24
20
  color: any;
25
21
  };
26
22
  _contentRef: React.RefObject<HTMLElement>;
@@ -34,11 +30,17 @@ export default class ModalContent extends React.PureComponent<ModalContentProps,
34
30
  _androidFocusTimeout: NodeJS.Timeout;
35
31
  _ii: InteractionInvalidation;
36
32
  _iiLocal: InteractionInvalidation;
33
+ _triggeredBy: TriggeredBy;
34
+ _triggeredByEvent: React.SyntheticEvent;
35
+ _isControlled: boolean;
37
36
  static contextType: React.Context<ContextProps>;
38
37
  context: ContextProps;
39
38
  constructor(props: ModalContentProps);
40
39
  componentDidMount(): void;
41
40
  componentWillUnmount(): void;
41
+ setIsControlled(): void;
42
+ componentDidUpdate(): void;
43
+ wasOpenedManually(): boolean;
42
44
  lockBody: () => void;
43
45
  removeLocks(): void;
44
46
  setAndroidFocusHelper(): void;
@@ -52,9 +54,9 @@ export default class ModalContent extends React.PureComponent<ModalContentProps,
52
54
  onContentMouseDownHandler: (event: React.SyntheticEvent) => void;
53
55
  onContentClickHandler: (event: React.SyntheticEvent) => void;
54
56
  onKeyDownHandler: (event: any) => void;
55
- closeModalContent(event: any, { triggeredBy, ...params }: {
56
- [x: string]: any;
57
- triggeredBy: any;
57
+ setModalContentState: (event: React.SyntheticEvent, { triggeredBy }: CloseHandlerParams) => void;
58
+ closeModalContent(event: any, { triggeredBy, ...params }: CloseHandlerParams & {
59
+ ifIsLatest?: boolean;
58
60
  }): void;
59
61
  setBackgroundColor: (color: string) => void;
60
62
  render(): import("react/jsx-runtime").JSX.Element;
@@ -29,8 +29,6 @@ class ModalContent extends _react.default.PureComponent {
29
29
  constructor(props) {
30
30
  super(props);
31
31
  _defineProperty(this, "state", {
32
- triggeredBy: null,
33
- triggeredByEvent: null,
34
32
  color: null
35
33
  });
36
34
  _defineProperty(this, "_contentRef", void 0);
@@ -42,6 +40,9 @@ class ModalContent extends _react.default.PureComponent {
42
40
  _defineProperty(this, "_androidFocusTimeout", void 0);
43
41
  _defineProperty(this, "_ii", void 0);
44
42
  _defineProperty(this, "_iiLocal", void 0);
43
+ _defineProperty(this, "_triggeredBy", void 0);
44
+ _defineProperty(this, "_triggeredByEvent", void 0);
45
+ _defineProperty(this, "_isControlled", false);
45
46
  _defineProperty(this, "context", void 0);
46
47
  _defineProperty(this, "lockBody", () => {
47
48
  const modalRoots = (0, _helpers2.getListOfModalRoots)();
@@ -121,6 +122,13 @@ class ModalContent extends _react.default.PureComponent {
121
122
  }
122
123
  }
123
124
  });
125
+ _defineProperty(this, "setModalContentState", (event, _ref) => {
126
+ let {
127
+ triggeredBy
128
+ } = _ref;
129
+ this._triggeredBy = triggeredBy;
130
+ this._triggeredByEvent = event;
131
+ });
124
132
  _defineProperty(this, "setBackgroundColor", color => {
125
133
  this.setState({
126
134
  color
@@ -129,6 +137,9 @@ class ModalContent extends _react.default.PureComponent {
129
137
  this._contentRef = this.props.content_ref || _react.default.createRef();
130
138
  this._scrollRef = this.props.scroll_ref || _react.default.createRef();
131
139
  this._overlayClickRef = _react.default.createRef();
140
+ if (this.props.modalContentCloseRef) {
141
+ this.props.modalContentCloseRef.current = this.setModalContentState;
142
+ }
132
143
  this._id = props.id;
133
144
  }
134
145
  componentDidMount() {
@@ -150,12 +161,33 @@ class ModalContent extends _react.default.PureComponent {
150
161
  } else {
151
162
  this._lockTimeout = setTimeout(this.lockBody, timeoutDuration * 1.2);
152
163
  }
164
+ this.setIsControlled();
153
165
  }
154
166
  componentWillUnmount() {
155
167
  clearTimeout(this._focusTimeout);
156
168
  clearTimeout(this._lockTimeout);
157
169
  this.removeLocks();
158
170
  }
171
+ setIsControlled() {
172
+ const {
173
+ open_state
174
+ } = this.props;
175
+ if (typeof open_state !== 'undefined' && open_state !== null) {
176
+ this._isControlled = true;
177
+ }
178
+ }
179
+ componentDidUpdate() {
180
+ this.setIsControlled();
181
+ }
182
+ wasOpenedManually() {
183
+ if (this._triggeredBy) {
184
+ return true;
185
+ }
186
+ if (this._isControlled) {
187
+ return true;
188
+ }
189
+ return false;
190
+ }
159
191
  removeLocks() {
160
192
  const modalRoots = (0, _helpers2.getListOfModalRoots)();
161
193
  const firstLevel = modalRoots[0];
@@ -176,16 +208,14 @@ class ModalContent extends _react.default.PureComponent {
176
208
  }
177
209
  }
178
210
  this.removeAndroidFocusHelper();
179
- const id = this.props.id;
180
- const {
181
- triggeredBy,
182
- triggeredByEvent
183
- } = this.state;
184
- (0, _componentHelper.dispatchCustomElementEvent)(this, 'on_close', {
185
- id,
186
- event: triggeredByEvent,
187
- triggeredBy: triggeredBy || 'unmount'
188
- });
211
+ if (this.wasOpenedManually()) {
212
+ const id = this.props.id;
213
+ (0, _componentHelper.dispatchCustomElementEvent)(this, 'on_close', {
214
+ id,
215
+ event: this._triggeredByEvent,
216
+ triggeredBy: this._triggeredBy || 'unmount'
217
+ });
218
+ }
189
219
  if (typeof document !== 'undefined') {
190
220
  document.removeEventListener('keydown', this.onKeyDownHandler);
191
221
  }
@@ -239,21 +269,16 @@ class ModalContent extends _react.default.PureComponent {
239
269
  (0, _bodyScrollLock.enableBodyScroll)(this._scrollRef.current);
240
270
  (0, _bodyScrollLock.clearAllBodyScrollLocks)();
241
271
  }
242
- closeModalContent(event, _ref) {
272
+ closeModalContent(event, _ref2) {
243
273
  var _event$persist;
244
274
  let {
245
275
  triggeredBy
246
- } = _ref,
247
- params = _objectWithoutProperties(_ref, _excluded);
276
+ } = _ref2,
277
+ params = _objectWithoutProperties(_ref2, _excluded);
248
278
  event === null || event === void 0 ? void 0 : (_event$persist = event.persist) === null || _event$persist === void 0 ? void 0 : _event$persist.call(event);
249
- this.setState({
250
- triggeredBy,
251
- triggeredByEvent: event
252
- }, () => {
253
- this.props.close(event, _objectSpread({
254
- triggeredBy
255
- }, params));
256
- });
279
+ this.props.close(event, _objectSpread({
280
+ triggeredBy
281
+ }, params));
257
282
  }
258
283
  render() {
259
284
  var _this$context;
@@ -1 +1 @@
1
- {"version":3,"file":"ModalContent.js","names":["_react","_interopRequireDefault","require","_classnames","_bodyScrollLock","_componentHelper","_ModalContext","_helpers","_helpers2","_Theme","_shared","_excluded","_excluded2","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","ModalContent","React","PureComponent","constructor","props","triggeredBy","triggeredByEvent","color","modalRoots","getListOfModalRoots","firstLevel","_this$props","_ii","InteractionInvalidation","setBypassSelector","root_id","bypass_invalidation_selectors","Boolean","activate","modal","_iiLocal","_scrollRef","current","document","addEventListener","onKeyDownHandler","animation_duration","timeoutDuration","parseFloat","clearTimeout","_androidFocusTimeout","setTimeout","_document$activeEleme","_document$activeEleme2","activeElement","tagName","scrollIntoView","e","event","stopPropagation","closeModalContent","_overlayClickRef","currentTarget","prevent_overlay_close","isTrue","ifIsLatest","keycode","mostCurrent","getModalRoot","preventDefault","setState","_contentRef","content_ref","createRef","scroll_ref","_id","id","componentDidMount","no_animation","addToIndex","removeScrollPossibility","setFocus","setAndroidFocusHelper","dispatchCustomElementEvent","process","env","NODE_ENV","lockBody","_lockTimeout","componentWillUnmount","_focusTimeout","removeLocks","removeFromIndex","_this$_ii","revert","revertScrollPossibility","warn","removeAndroidFocusHelper","state","removeEventListener","window","isAndroid","_androidFocusHelper","focus_selector","elem","_focusElement","_focusElement$focus","_focusElement2","_focusElement2$select","_elem$parentElement","_elem$parentElement$q","_elem$parentElement2","_elem$parentElement2$","focusElement","querySelector","focus","select","noH1Elem","noH1ElemInDrawerHeader","parentElement","noH1ElemInDialogHeader","disableBodyScroll","enableBodyScroll","clearAllBodyScrollLocks","_ref","_event$persist","params","persist","close","render","_this$context","_this$props2","hide","title","labelled_by","close_title","dialog_title","hide_close_button","close_button_attributes","no_animation_on_mobile","fullscreen","container_placement","vertical_alignment","content_class","overlay_class","content_id","children","dialog_role","rest","contentId","makeUniqueId","useDialogRole","IS_MAC","IS_SAFARI","IS_IOS","role","contentParams","combineLabelledBy","combineDescribedBy","className","classnames","getThemeClasses","context","theme","onMouseDown","onContentMouseDownHandler","onClick","onContentClickHandler","content","createElement","Provider","setBackgroundColor","onCloseClickHandler","preventClick","contentRef","scrollRef","style","exports","Context"],"sources":["../../../../src/components/modal/ModalContent.tsx"],"sourcesContent":["/**\n * Web Modal Component\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport {\n disableBodyScroll,\n enableBodyScroll,\n clearAllBodyScrollLocks,\n} from './bodyScrollLock'\nimport {\n warn,\n isTrue,\n makeUniqueId,\n InteractionInvalidation,\n combineLabelledBy,\n combineDescribedBy,\n dispatchCustomElementEvent,\n keycode,\n} from '../../shared/component-helper'\nimport ModalContext from './ModalContext'\nimport { IS_IOS, IS_SAFARI, IS_MAC, isAndroid } from '../../shared/helpers'\nimport { ModalContentProps } from './types'\nimport {\n getListOfModalRoots,\n getModalRoot,\n addToIndex,\n removeFromIndex,\n} from './helpers'\nimport { getThemeClasses } from '../../shared/Theme'\nimport { Context } from '../../shared'\nimport { ContextProps } from '../../shared/Context'\n\ninterface ModalContentState {\n triggeredBy: string\n triggeredByEvent: Event\n color: string\n}\n\ndeclare global {\n interface Window {\n __modalStack: any[]\n }\n}\n\ninterface CSSPropertiesWithVars extends React.CSSProperties {\n '--modal-background-color': string\n}\n\nexport default class ModalContent extends React.PureComponent<\n ModalContentProps,\n ModalContentState\n> {\n state = { triggeredBy: null, triggeredByEvent: null, color: null }\n\n _contentRef: React.RefObject<HTMLElement>\n _scrollRef: React.RefObject<HTMLElement>\n _overlayClickRef: { current: null | HTMLElement }\n _id: string\n _lockTimeout: NodeJS.Timeout\n _focusTimeout: NodeJS.Timeout\n _androidFocusTimeout: NodeJS.Timeout\n _ii: InteractionInvalidation\n _iiLocal: InteractionInvalidation\n\n static contextType = Context\n\n context!: ContextProps\n\n constructor(props: ModalContentProps) {\n super(props)\n this._contentRef = this.props.content_ref || React.createRef()\n this._scrollRef = this.props.scroll_ref || React.createRef()\n this._overlayClickRef = React.createRef()\n\n // NB: The \"\"._id\" is used in the __modalStack as \"last._id\"\n this._id = props.id\n }\n\n componentDidMount() {\n const {\n id = null,\n no_animation = false,\n animation_duration = null,\n } = this.props\n\n const timeoutDuration: number =\n typeof animation_duration === 'string'\n ? parseFloat(animation_duration)\n : animation_duration\n\n // Add it to the index at first\n // we use it later with getListOfModalRoots\n addToIndex(this)\n\n // Because of nested modals/drawers, we run this regardless\n // has to be run at first – so the scrollbar gets removed\n this.removeScrollPossibility() // forces browser to re-paint\n\n this.setFocus()\n this.setAndroidFocusHelper()\n\n dispatchCustomElementEvent(this, 'on_open', {\n id,\n })\n\n if (isTrue(no_animation) || process.env.NODE_ENV === 'test') {\n this.lockBody() // forces browser to re-paint\n } else {\n this._lockTimeout = setTimeout(this.lockBody, timeoutDuration * 1.2) // a little over --modal-animation-duration\n }\n }\n\n componentWillUnmount() {\n clearTimeout(this._focusTimeout)\n clearTimeout(this._lockTimeout)\n this.removeLocks()\n }\n\n lockBody = () => {\n const modalRoots = getListOfModalRoots()\n const firstLevel = modalRoots[0]\n\n if (firstLevel === this) {\n this._ii = new InteractionInvalidation()\n this._ii.setBypassSelector(\n [\n // Bypass modal content\n '.dnb-modal__content *',\n `#dnb-modal-${this.props.root_id || 'root'}`,\n `#dnb-modal-${this.props.root_id || 'root'} *`,\n\n // TODO: Eventually in future, make it possible to bypass invalidation from outside\n // '.dnb-modal--bypass_invalidation',\n // '.dnb-modal--bypass_invalidation_deep *',\n\n ...(this.props?.bypass_invalidation_selectors || []),\n ].filter(Boolean)\n )\n this._ii.activate()\n } else {\n modalRoots.forEach((modal) => {\n if (\n modal !== this &&\n typeof modal._iiLocal === 'undefined' &&\n typeof modal._scrollRef !== 'undefined'\n ) {\n modal._iiLocal = new InteractionInvalidation()\n modal._iiLocal.activate(modal._scrollRef.current)\n }\n })\n }\n\n if (typeof document !== 'undefined') {\n /** To ensure, we have always a working keydown, we call it both on the element and document */\n document.addEventListener('keydown', this.onKeyDownHandler)\n }\n }\n\n removeLocks() {\n const modalRoots = getListOfModalRoots()\n const firstLevel = modalRoots[0]\n\n removeFromIndex(this)\n\n if (firstLevel === this) {\n this._ii?.revert()\n this.revertScrollPossibility()\n } else {\n try {\n const modal = modalRoots[modalRoots.length - 2]\n if (modal !== this && modal._iiLocal) {\n modal._iiLocal.revert()\n delete modal._iiLocal\n }\n } catch (e) {\n warn(e)\n }\n }\n\n this.removeAndroidFocusHelper()\n\n const id = this.props.id\n const { triggeredBy, triggeredByEvent } = this.state\n dispatchCustomElementEvent(this, 'on_close', {\n id,\n event: triggeredByEvent,\n triggeredBy: triggeredBy || 'unmount',\n })\n\n if (typeof document !== 'undefined') {\n document.removeEventListener('keydown', this.onKeyDownHandler)\n }\n }\n\n setAndroidFocusHelper() {\n if (typeof window !== 'undefined' && isAndroid()) {\n window.addEventListener('resize', this._androidFocusHelper)\n }\n }\n\n removeAndroidFocusHelper() {\n window.removeEventListener('resize', this._androidFocusHelper)\n clearTimeout(this._androidFocusTimeout)\n }\n\n _androidFocusHelper = () => {\n const { animation_duration = null } = this.props\n const timeoutDuration: number =\n typeof animation_duration === 'string'\n ? parseFloat(animation_duration)\n : animation_duration\n\n clearTimeout(this._androidFocusTimeout)\n this._androidFocusTimeout = setTimeout(() => {\n try {\n if (\n document.activeElement?.tagName == 'INPUT' ||\n document.activeElement?.tagName == 'TEXTAREA'\n ) {\n document.activeElement.scrollIntoView()\n }\n } catch (e) {\n //\n }\n }, timeoutDuration / 2) // Older Android needs a delay here\n }\n\n setFocus() {\n const {\n focus_selector = null,\n no_animation = null,\n animation_duration = null,\n } = this.props\n const elem = this._contentRef.current\n const timeoutDuration: number =\n typeof animation_duration === 'string'\n ? parseFloat(animation_duration)\n : animation_duration\n\n if (elem) {\n clearTimeout(this._focusTimeout)\n this._focusTimeout = setTimeout(\n () => {\n try {\n let focusElement = elem as HTMLInputElement\n\n // Try to use the \"first-focus\" method first\n if (typeof focus_selector === 'string') {\n focusElement = elem.querySelector(focus_selector)\n }\n\n focusElement?.focus?.()\n focusElement?.select?.()\n\n const noH1Elem = elem.querySelector('h1, h2, h3')\n // Check if there's a header in a Drawer.Header\n const noH1ElemInDrawerHeader = elem.parentElement\n ?.querySelector('.dnb-drawer__header')\n ?.querySelector('h1, h2, h3')\n\n // Check if there's a header in a Dialog.Header\n const noH1ElemInDialogHeader = elem.parentElement\n ?.querySelector('.dnb-dialog__header')\n ?.querySelector('h1, h2, h3')\n\n if (\n noH1Elem?.tagName !== 'H1' &&\n noH1ElemInDrawerHeader?.tagName !== 'H1' &&\n noH1ElemInDialogHeader?.tagName !== 'H1'\n ) {\n warn('A Dialog or Drawer needs a h1 as its first element!')\n }\n } catch (e) {\n warn(e)\n }\n },\n isTrue(no_animation) ? 0 : timeoutDuration || 0\n ) // with this delay, the user can press esc without an focus action first\n }\n }\n\n removeScrollPossibility() {\n if (this._scrollRef.current) {\n disableBodyScroll(this._scrollRef.current)\n }\n }\n\n revertScrollPossibility() {\n enableBodyScroll(this._scrollRef.current)\n clearAllBodyScrollLocks()\n }\n\n preventClick = (event) => {\n if (event) {\n event.stopPropagation()\n }\n }\n\n onCloseClickHandler = (event: React.SyntheticEvent) => {\n this.closeModalContent(event, { triggeredBy: 'button' })\n }\n\n onContentMouseDownHandler = (event: React.SyntheticEvent) => {\n this._overlayClickRef.current =\n event.target === event.currentTarget\n ? (event.target as HTMLElement)\n : null\n }\n\n onContentClickHandler = (event: React.SyntheticEvent) => {\n /**\n * Prevent false-positive Modal close,\n * when e.g. selecting text inside and moving the mouse outside,\n * we would still get this event fired. There we check if the current click,\n * has the same target as where the click got initiated.\n */\n if (this._overlayClickRef.current !== event.target) {\n return // stop here\n }\n this._overlayClickRef.current = null\n\n const { prevent_overlay_close } = this.props\n\n if (!isTrue(prevent_overlay_close)) {\n this.closeModalContent(event, {\n triggeredBy: 'overlay',\n ifIsLatest: false,\n })\n }\n }\n\n onKeyDownHandler = (event) => {\n switch (keycode(event)) {\n case 'esc': {\n const mostCurrent = getModalRoot(-1)\n\n if (mostCurrent === this) {\n event.preventDefault()\n this.closeModalContent(event, {\n triggeredBy: 'keyboard',\n })\n }\n\n break\n }\n }\n }\n\n closeModalContent(event, { triggeredBy, ...params }) {\n event?.persist?.()\n this.setState({ triggeredBy, triggeredByEvent: event }, () => {\n this.props.close(event, {\n triggeredBy,\n ...params,\n })\n })\n }\n\n setBackgroundColor = (color: string) => {\n this.setState({ color })\n }\n\n render() {\n const {\n hide,\n title,\n labelled_by,\n id: _id, // eslint-disable-line\n close_title = 'Lukk',\n dialog_title = 'Vindu',\n hide_close_button = false,\n close_button_attributes,\n no_animation = false,\n no_animation_on_mobile = false,\n fullscreen = 'auto',\n container_placement = 'right',\n vertical_alignment = 'center',\n close,\n content_class,\n overlay_class,\n content_id,\n children, // eslint-disable-line\n dialog_role = null,\n ...rest\n } = this.props\n const { color } = this.state\n\n const contentId = content_id || makeUniqueId('modal-')\n\n const useDialogRole = !(IS_MAC || IS_SAFARI || IS_IOS)\n let role = dialog_role || 'dialog'\n if (!useDialogRole && role === 'dialog') {\n role = 'region'\n }\n\n const contentParams = {\n /**\n * Do not use role=\"dialog\" on Safari\n *\n * VoiceOver has troubles with role=\"dialog\" and \"Modal in Modal\",\n * the result is, only the first Modal gets focus (set by Safari)\n *\n * Tests have shown: Both VoiceOver are working fine with the:\n * \"aria-labelledby\" and \"aria-describedby\" approach\n *\n */\n role,\n 'aria-modal': useDialogRole ? true : undefined,\n\n /**\n * ARIA references\n */\n 'aria-labelledby': combineLabelledBy(\n this.props,\n title ? contentId + '-title' : null,\n labelled_by\n ),\n 'aria-describedby': combineDescribedBy(\n this.props,\n contentId + '-content'\n ),\n\n /**\n * If no labelled_by and no title is given,\n * set a fallback \"dialog_title\"\n */\n 'aria-label': !title && !labelled_by ? dialog_title : undefined,\n\n className: classnames(\n 'dnb-modal__content',\n isTrue(fullscreen)\n ? 'dnb-modal__content--fullscreen'\n : fullscreen === 'auto' && 'dnb-modal__content--auto-fullscreen',\n container_placement\n ? `dnb-modal__content--${container_placement || 'right'}`\n : null,\n `dnb-modal__vertical-alignment--${vertical_alignment}`,\n getThemeClasses(this.context?.theme),\n content_class\n ),\n onMouseDown: this.onContentMouseDownHandler,\n onClick: this.onContentClickHandler,\n }\n\n const content =\n typeof children === 'function'\n ? children({ ...rest, close })\n : children\n\n return (\n <ModalContext.Provider\n value={{\n id: this.props.id,\n title,\n hide_close_button,\n close_button_attributes,\n close_title,\n hide,\n setBackgroundColor: this.setBackgroundColor,\n onCloseClickHandler: this.onCloseClickHandler,\n preventClick: this.preventClick,\n onKeyDownHandler: this.onKeyDownHandler,\n contentRef: this._contentRef,\n scrollRef: this._scrollRef,\n contentId,\n close,\n }}\n >\n <div\n id={contentId}\n /** Sets the color on scroll overflow (at the bottom) */\n style={\n (color\n ? { '--modal-background-color': `var(--color-${color})` }\n : null) as CSSPropertiesWithVars\n }\n {...contentParams}\n >\n {content}\n </div>\n\n <span\n className={classnames(\n 'dnb-modal__overlay',\n hide && 'dnb-modal__overlay--hide',\n isTrue(no_animation) && 'dnb-modal__overlay--no-animation',\n isTrue(no_animation_on_mobile) &&\n 'dnb-modal__overlay--no-animation-on-mobile',\n overlay_class\n )}\n aria-hidden={true}\n />\n </ModalContext.Provider>\n )\n }\n}\n"],"mappings":";;;;;;;AAKA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,eAAA,GAAAF,OAAA;AAKA,IAAAG,gBAAA,GAAAH,OAAA;AAUA,IAAAI,aAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AAEA,IAAAM,SAAA,GAAAN,OAAA;AAMA,IAAAO,MAAA,GAAAP,OAAA;AACA,IAAAQ,OAAA,GAAAR,OAAA;AAAsC,MAAAS,SAAA;EAAAC,UAAA;AAAA,SAAAX,uBAAAY,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,SAAA,IAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAI,GAAA,IAAAD,MAAA,QAAAP,MAAA,CAAAS,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAJ,MAAA,EAAAC,GAAA,KAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAL,MAAA,YAAAJ,QAAA,CAAAa,KAAA,OAAAP,SAAA;AAAA,SAAAQ,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAhB,MAAA,CAAAgB,IAAA,CAAAF,MAAA,OAAAd,MAAA,CAAAiB,qBAAA,QAAAC,OAAA,GAAAlB,MAAA,CAAAiB,qBAAA,CAAAH,MAAA,GAAAC,cAAA,KAAAG,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAApB,MAAA,CAAAqB,wBAAA,CAAAP,MAAA,EAAAM,GAAA,EAAAE,UAAA,OAAAN,IAAA,CAAAO,IAAA,CAAAX,KAAA,CAAAI,IAAA,EAAAE,OAAA,YAAAF,IAAA;AAAA,SAAAQ,cAAArB,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAS,OAAA,CAAAb,MAAA,CAAAO,MAAA,OAAAkB,OAAA,WAAAjB,GAAA,IAAAkB,eAAA,CAAAvB,MAAA,EAAAK,GAAA,EAAAD,MAAA,CAAAC,GAAA,SAAAR,MAAA,CAAA2B,yBAAA,GAAA3B,MAAA,CAAA4B,gBAAA,CAAAzB,MAAA,EAAAH,MAAA,CAAA2B,yBAAA,CAAApB,MAAA,KAAAM,OAAA,CAAAb,MAAA,CAAAO,MAAA,GAAAkB,OAAA,WAAAjB,GAAA,IAAAR,MAAA,CAAA6B,cAAA,CAAA1B,MAAA,EAAAK,GAAA,EAAAR,MAAA,CAAAqB,wBAAA,CAAAd,MAAA,EAAAC,GAAA,iBAAAL,MAAA;AAAA,SAAA2B,yBAAAvB,MAAA,EAAAwB,QAAA,QAAAxB,MAAA,yBAAAJ,MAAA,GAAA6B,6BAAA,CAAAzB,MAAA,EAAAwB,QAAA,OAAAvB,GAAA,EAAAJ,CAAA,MAAAJ,MAAA,CAAAiB,qBAAA,QAAAgB,gBAAA,GAAAjC,MAAA,CAAAiB,qBAAA,CAAAV,MAAA,QAAAH,CAAA,MAAAA,CAAA,GAAA6B,gBAAA,CAAA3B,MAAA,EAAAF,CAAA,MAAAI,GAAA,GAAAyB,gBAAA,CAAA7B,CAAA,OAAA2B,QAAA,CAAAG,OAAA,CAAA1B,GAAA,uBAAAR,MAAA,CAAAS,SAAA,CAAA0B,oBAAA,CAAAxB,IAAA,CAAAJ,MAAA,EAAAC,GAAA,aAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,cAAAL,MAAA;AAAA,SAAA6B,8BAAAzB,MAAA,EAAAwB,QAAA,QAAAxB,MAAA,yBAAAJ,MAAA,WAAAiC,UAAA,GAAApC,MAAA,CAAAgB,IAAA,CAAAT,MAAA,OAAAC,GAAA,EAAAJ,CAAA,OAAAA,CAAA,MAAAA,CAAA,GAAAgC,UAAA,CAAA9B,MAAA,EAAAF,CAAA,MAAAI,GAAA,GAAA4B,UAAA,CAAAhC,CAAA,OAAA2B,QAAA,CAAAG,OAAA,CAAA1B,GAAA,kBAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,YAAAL,MAAA;AAAA,SAAAuB,gBAAA9B,GAAA,EAAAY,GAAA,EAAA6B,KAAA,IAAA7B,GAAA,GAAA8B,cAAA,CAAA9B,GAAA,OAAAA,GAAA,IAAAZ,GAAA,IAAAI,MAAA,CAAA6B,cAAA,CAAAjC,GAAA,EAAAY,GAAA,IAAA6B,KAAA,EAAAA,KAAA,EAAAf,UAAA,QAAAiB,YAAA,QAAAC,QAAA,oBAAA5C,GAAA,CAAAY,GAAA,IAAA6B,KAAA,WAAAzC,GAAA;AAAA,SAAA0C,eAAAG,GAAA,QAAAjC,GAAA,GAAAkC,YAAA,CAAAD,GAAA,2BAAAjC,GAAA,gBAAAA,GAAA,GAAAmC,MAAA,CAAAnC,GAAA;AAAA,SAAAkC,aAAAE,KAAA,EAAAC,IAAA,eAAAD,KAAA,iBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAG,MAAA,CAAAC,WAAA,OAAAF,IAAA,KAAAG,SAAA,QAAAC,GAAA,GAAAJ,IAAA,CAAAnC,IAAA,CAAAiC,KAAA,EAAAC,IAAA,2BAAAK,GAAA,sBAAAA,GAAA,YAAAC,SAAA,4DAAAN,IAAA,gBAAAF,MAAA,GAAAS,MAAA,EAAAR,KAAA;AAmBvB,MAAMS,YAAY,SAASC,cAAK,CAACC,aAAa,CAG3D;EAiBAC,WAAWA,CAACC,KAAwB,EAAE;IACpC,KAAK,CAACA,KAAK,CAAC;IAAA/B,eAAA,gBAjBN;MAAEgC,WAAW,EAAE,IAAI;MAAEC,gBAAgB,EAAE,IAAI;MAAEC,KAAK,EAAE;IAAK,CAAC;IAAAlC,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,mBAkEvD,MAAM;MACf,MAAMmC,UAAU,GAAG,IAAAC,6BAAmB,EAAC,CAAC;MACxC,MAAMC,UAAU,GAAGF,UAAU,CAAC,CAAC,CAAC;MAEhC,IAAIE,UAAU,KAAK,IAAI,EAAE;QAAA,IAAAC,WAAA;QACvB,IAAI,CAACC,GAAG,GAAG,IAAIC,wCAAuB,CAAC,CAAC;QACxC,IAAI,CAACD,GAAG,CAACE,iBAAiB,CACxB,CAEE,uBAAuB,EACtB,cAAa,IAAI,CAACV,KAAK,CAACW,OAAO,IAAI,MAAO,EAAC,EAC3C,cAAa,IAAI,CAACX,KAAK,CAACW,OAAO,IAAI,MAAO,IAAG,EAM9C,IAAI,EAAAJ,WAAA,OAAI,CAACP,KAAK,cAAAO,WAAA,uBAAVA,WAAA,CAAYK,6BAA6B,KAAI,EAAE,CAAC,CACrD,CAAClD,MAAM,CAACmD,OAAO,CAClB,CAAC;QACD,IAAI,CAACL,GAAG,CAACM,QAAQ,CAAC,CAAC;MACrB,CAAC,MAAM;QACLV,UAAU,CAACpC,OAAO,CAAE+C,KAAK,IAAK;UAC5B,IACEA,KAAK,KAAK,IAAI,IACd,OAAOA,KAAK,CAACC,QAAQ,KAAK,WAAW,IACrC,OAAOD,KAAK,CAACE,UAAU,KAAK,WAAW,EACvC;YACAF,KAAK,CAACC,QAAQ,GAAG,IAAIP,wCAAuB,CAAC,CAAC;YAC9CM,KAAK,CAACC,QAAQ,CAACF,QAAQ,CAACC,KAAK,CAACE,UAAU,CAACC,OAAO,CAAC;UACnD;QACF,CAAC,CAAC;MACJ;MAEA,IAAI,OAAOC,QAAQ,KAAK,WAAW,EAAE;QAEnCA,QAAQ,CAACC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAACC,gBAAgB,CAAC;MAC7D;IACF,CAAC;IAAApD,eAAA,8BAiDqB,MAAM;MAC1B,MAAM;QAAEqD,kBAAkB,GAAG;MAAK,CAAC,GAAG,IAAI,CAACtB,KAAK;MAChD,MAAMuB,eAAuB,GAC3B,OAAOD,kBAAkB,KAAK,QAAQ,GAClCE,UAAU,CAACF,kBAAkB,CAAC,GAC9BA,kBAAkB;MAExBG,YAAY,CAAC,IAAI,CAACC,oBAAoB,CAAC;MACvC,IAAI,CAACA,oBAAoB,GAAGC,UAAU,CAAC,MAAM;QAC3C,IAAI;UAAA,IAAAC,qBAAA,EAAAC,sBAAA;UACF,IACE,EAAAD,qBAAA,GAAAT,QAAQ,CAACW,aAAa,cAAAF,qBAAA,uBAAtBA,qBAAA,CAAwBG,OAAO,KAAI,OAAO,IAC1C,EAAAF,sBAAA,GAAAV,QAAQ,CAACW,aAAa,cAAAD,sBAAA,uBAAtBA,sBAAA,CAAwBE,OAAO,KAAI,UAAU,EAC7C;YACAZ,QAAQ,CAACW,aAAa,CAACE,cAAc,CAAC,CAAC;UACzC;QACF,CAAC,CAAC,OAAOC,CAAC,EAAE,CAEZ;MACF,CAAC,EAAEV,eAAe,GAAG,CAAC,CAAC;IACzB,CAAC;IAAAtD,eAAA,uBAmEeiE,KAAK,IAAK;MACxB,IAAIA,KAAK,EAAE;QACTA,KAAK,CAACC,eAAe,CAAC,CAAC;MACzB;IACF,CAAC;IAAAlE,eAAA,8BAEsBiE,KAA2B,IAAK;MACrD,IAAI,CAACE,iBAAiB,CAACF,KAAK,EAAE;QAAEjC,WAAW,EAAE;MAAS,CAAC,CAAC;IAC1D,CAAC;IAAAhC,eAAA,oCAE4BiE,KAA2B,IAAK;MAC3D,IAAI,CAACG,gBAAgB,CAACnB,OAAO,GAC3BgB,KAAK,CAACxF,MAAM,KAAKwF,KAAK,CAACI,aAAa,GAC/BJ,KAAK,CAACxF,MAAM,GACb,IAAI;IACZ,CAAC;IAAAuB,eAAA,gCAEwBiE,KAA2B,IAAK;MAOvD,IAAI,IAAI,CAACG,gBAAgB,CAACnB,OAAO,KAAKgB,KAAK,CAACxF,MAAM,EAAE;QAClD;MACF;MACA,IAAI,CAAC2F,gBAAgB,CAACnB,OAAO,GAAG,IAAI;MAEpC,MAAM;QAAEqB;MAAsB,CAAC,GAAG,IAAI,CAACvC,KAAK;MAE5C,IAAI,CAAC,IAAAwC,uBAAM,EAACD,qBAAqB,CAAC,EAAE;QAClC,IAAI,CAACH,iBAAiB,CAACF,KAAK,EAAE;UAC5BjC,WAAW,EAAE,SAAS;UACtBwC,UAAU,EAAE;QACd,CAAC,CAAC;MACJ;IACF,CAAC;IAAAxE,eAAA,2BAEmBiE,KAAK,IAAK;MAC5B,QAAQ,IAAAQ,wBAAO,EAACR,KAAK,CAAC;QACpB,KAAK,KAAK;UAAE;YACV,MAAMS,WAAW,GAAG,IAAAC,sBAAY,EAAC,CAAC,CAAC,CAAC;YAEpC,IAAID,WAAW,KAAK,IAAI,EAAE;cACxBT,KAAK,CAACW,cAAc,CAAC,CAAC;cACtB,IAAI,CAACT,iBAAiB,CAACF,KAAK,EAAE;gBAC5BjC,WAAW,EAAE;cACf,CAAC,CAAC;YACJ;YAEA;UACF;MACF;IACF,CAAC;IAAAhC,eAAA,6BAYqBkC,KAAa,IAAK;MACtC,IAAI,CAAC2C,QAAQ,CAAC;QAAE3C;MAAM,CAAC,CAAC;IAC1B,CAAC;IAlSC,IAAI,CAAC4C,WAAW,GAAG,IAAI,CAAC/C,KAAK,CAACgD,WAAW,IAAInD,cAAK,CAACoD,SAAS,CAAC,CAAC;IAC9D,IAAI,CAAChC,UAAU,GAAG,IAAI,CAACjB,KAAK,CAACkD,UAAU,IAAIrD,cAAK,CAACoD,SAAS,CAAC,CAAC;IAC5D,IAAI,CAACZ,gBAAgB,GAAGxC,cAAK,CAACoD,SAAS,CAAC,CAAC;IAGzC,IAAI,CAACE,GAAG,GAAGnD,KAAK,CAACoD,EAAE;EACrB;EAEAC,iBAAiBA,CAAA,EAAG;IAClB,MAAM;MACJD,EAAE,GAAG,IAAI;MACTE,YAAY,GAAG,KAAK;MACpBhC,kBAAkB,GAAG;IACvB,CAAC,GAAG,IAAI,CAACtB,KAAK;IAEd,MAAMuB,eAAuB,GAC3B,OAAOD,kBAAkB,KAAK,QAAQ,GAClCE,UAAU,CAACF,kBAAkB,CAAC,GAC9BA,kBAAkB;IAIxB,IAAAiC,oBAAU,EAAC,IAAI,CAAC;IAIhB,IAAI,CAACC,uBAAuB,CAAC,CAAC;IAE9B,IAAI,CAACC,QAAQ,CAAC,CAAC;IACf,IAAI,CAACC,qBAAqB,CAAC,CAAC;IAE5B,IAAAC,2CAA0B,EAAC,IAAI,EAAE,SAAS,EAAE;MAC1CP;IACF,CAAC,CAAC;IAEF,IAAI,IAAAZ,uBAAM,EAACc,YAAY,CAAC,IAAIM,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,MAAM,EAAE;MAC3D,IAAI,CAACC,QAAQ,CAAC,CAAC;IACjB,CAAC,MAAM;MACL,IAAI,CAACC,YAAY,GAAGrC,UAAU,CAAC,IAAI,CAACoC,QAAQ,EAAExC,eAAe,GAAG,GAAG,CAAC;IACtE;EACF;EAEA0C,oBAAoBA,CAAA,EAAG;IACrBxC,YAAY,CAAC,IAAI,CAACyC,aAAa,CAAC;IAChCzC,YAAY,CAAC,IAAI,CAACuC,YAAY,CAAC;IAC/B,IAAI,CAACG,WAAW,CAAC,CAAC;EACpB;EA0CAA,WAAWA,CAAA,EAAG;IACZ,MAAM/D,UAAU,GAAG,IAAAC,6BAAmB,EAAC,CAAC;IACxC,MAAMC,UAAU,GAAGF,UAAU,CAAC,CAAC,CAAC;IAEhC,IAAAgE,yBAAe,EAAC,IAAI,CAAC;IAErB,IAAI9D,UAAU,KAAK,IAAI,EAAE;MAAA,IAAA+D,SAAA;MACvB,CAAAA,SAAA,OAAI,CAAC7D,GAAG,cAAA6D,SAAA,uBAARA,SAAA,CAAUC,MAAM,CAAC,CAAC;MAClB,IAAI,CAACC,uBAAuB,CAAC,CAAC;IAChC,CAAC,MAAM;MACL,IAAI;QACF,MAAMxD,KAAK,GAAGX,UAAU,CAACA,UAAU,CAACvD,MAAM,GAAG,CAAC,CAAC;QAC/C,IAAIkE,KAAK,KAAK,IAAI,IAAIA,KAAK,CAACC,QAAQ,EAAE;UACpCD,KAAK,CAACC,QAAQ,CAACsD,MAAM,CAAC,CAAC;UACvB,OAAOvD,KAAK,CAACC,QAAQ;QACvB;MACF,CAAC,CAAC,OAAOiB,CAAC,EAAE;QACV,IAAAuC,qBAAI,EAACvC,CAAC,CAAC;MACT;IACF;IAEA,IAAI,CAACwC,wBAAwB,CAAC,CAAC;IAE/B,MAAMrB,EAAE,GAAG,IAAI,CAACpD,KAAK,CAACoD,EAAE;IACxB,MAAM;MAAEnD,WAAW;MAAEC;IAAiB,CAAC,GAAG,IAAI,CAACwE,KAAK;IACpD,IAAAf,2CAA0B,EAAC,IAAI,EAAE,UAAU,EAAE;MAC3CP,EAAE;MACFlB,KAAK,EAAEhC,gBAAgB;MACvBD,WAAW,EAAEA,WAAW,IAAI;IAC9B,CAAC,CAAC;IAEF,IAAI,OAAOkB,QAAQ,KAAK,WAAW,EAAE;MACnCA,QAAQ,CAACwD,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAACtD,gBAAgB,CAAC;IAChE;EACF;EAEAqC,qBAAqBA,CAAA,EAAG;IACtB,IAAI,OAAOkB,MAAM,KAAK,WAAW,IAAI,IAAAC,kBAAS,EAAC,CAAC,EAAE;MAChDD,MAAM,CAACxD,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC0D,mBAAmB,CAAC;IAC7D;EACF;EAEAL,wBAAwBA,CAAA,EAAG;IACzBG,MAAM,CAACD,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAACG,mBAAmB,CAAC;IAC9DrD,YAAY,CAAC,IAAI,CAACC,oBAAoB,CAAC;EACzC;EAwBA+B,QAAQA,CAAA,EAAG;IACT,MAAM;MACJsB,cAAc,GAAG,IAAI;MACrBzB,YAAY,GAAG,IAAI;MACnBhC,kBAAkB,GAAG;IACvB,CAAC,GAAG,IAAI,CAACtB,KAAK;IACd,MAAMgF,IAAI,GAAG,IAAI,CAACjC,WAAW,CAAC7B,OAAO;IACrC,MAAMK,eAAuB,GAC3B,OAAOD,kBAAkB,KAAK,QAAQ,GAClCE,UAAU,CAACF,kBAAkB,CAAC,GAC9BA,kBAAkB;IAExB,IAAI0D,IAAI,EAAE;MACRvD,YAAY,CAAC,IAAI,CAACyC,aAAa,CAAC;MAChC,IAAI,CAACA,aAAa,GAAGvC,UAAU,CAC7B,MAAM;QACJ,IAAI;UAAA,IAAAsD,aAAA,EAAAC,mBAAA,EAAAC,cAAA,EAAAC,qBAAA,EAAAC,mBAAA,EAAAC,qBAAA,EAAAC,oBAAA,EAAAC,qBAAA;UACF,IAAIC,YAAY,GAAGT,IAAwB;UAG3C,IAAI,OAAOD,cAAc,KAAK,QAAQ,EAAE;YACtCU,YAAY,GAAGT,IAAI,CAACU,aAAa,CAACX,cAAc,CAAC;UACnD;UAEA,CAAAE,aAAA,GAAAQ,YAAY,cAAAR,aAAA,wBAAAC,mBAAA,GAAZD,aAAA,CAAcU,KAAK,cAAAT,mBAAA,uBAAnBA,mBAAA,CAAAhI,IAAA,CAAA+H,aAAsB,CAAC;UACvB,CAAAE,cAAA,GAAAM,YAAY,cAAAN,cAAA,wBAAAC,qBAAA,GAAZD,cAAA,CAAcS,MAAM,cAAAR,qBAAA,uBAApBA,qBAAA,CAAAlI,IAAA,CAAAiI,cAAuB,CAAC;UAExB,MAAMU,QAAQ,GAAGb,IAAI,CAACU,aAAa,CAAC,YAAY,CAAC;UAEjD,MAAMI,sBAAsB,IAAAT,mBAAA,GAAGL,IAAI,CAACe,aAAa,cAAAV,mBAAA,wBAAAC,qBAAA,GAAlBD,mBAAA,CAC3BK,aAAa,CAAC,qBAAqB,CAAC,cAAAJ,qBAAA,uBADTA,qBAAA,CAE3BI,aAAa,CAAC,YAAY,CAAC;UAG/B,MAAMM,sBAAsB,IAAAT,oBAAA,GAAGP,IAAI,CAACe,aAAa,cAAAR,oBAAA,wBAAAC,qBAAA,GAAlBD,oBAAA,CAC3BG,aAAa,CAAC,qBAAqB,CAAC,cAAAF,qBAAA,uBADTA,qBAAA,CAE3BE,aAAa,CAAC,YAAY,CAAC;UAE/B,IACE,CAAAG,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAE9D,OAAO,MAAK,IAAI,IAC1B,CAAA+D,sBAAsB,aAAtBA,sBAAsB,uBAAtBA,sBAAsB,CAAE/D,OAAO,MAAK,IAAI,IACxC,CAAAiE,sBAAsB,aAAtBA,sBAAsB,uBAAtBA,sBAAsB,CAAEjE,OAAO,MAAK,IAAI,EACxC;YACA,IAAAyC,qBAAI,EAAC,qDAAqD,CAAC;UAC7D;QACF,CAAC,CAAC,OAAOvC,CAAC,EAAE;UACV,IAAAuC,qBAAI,EAACvC,CAAC,CAAC;QACT;MACF,CAAC,EACD,IAAAO,uBAAM,EAACc,YAAY,CAAC,GAAG,CAAC,GAAG/B,eAAe,IAAI,CAChD,CAAC;IACH;EACF;EAEAiC,uBAAuBA,CAAA,EAAG;IACxB,IAAI,IAAI,CAACvC,UAAU,CAACC,OAAO,EAAE;MAC3B,IAAA+E,iCAAiB,EAAC,IAAI,CAAChF,UAAU,CAACC,OAAO,CAAC;IAC5C;EACF;EAEAqD,uBAAuBA,CAAA,EAAG;IACxB,IAAA2B,gCAAgB,EAAC,IAAI,CAACjF,UAAU,CAACC,OAAO,CAAC;IACzC,IAAAiF,uCAAuB,EAAC,CAAC;EAC3B;EA0DA/D,iBAAiBA,CAACF,KAAK,EAAAkE,IAAA,EAA8B;IAAA,IAAAC,cAAA;IAAA,IAA5B;QAAEpG;MAAuB,CAAC,GAAAmG,IAAA;MAARE,MAAM,GAAAjI,wBAAA,CAAA+H,IAAA,EAAAnK,SAAA;IAC/CiG,KAAK,aAALA,KAAK,wBAAAmE,cAAA,GAALnE,KAAK,CAAEqE,OAAO,cAAAF,cAAA,uBAAdA,cAAA,CAAAnJ,IAAA,CAAAgF,KAAiB,CAAC;IAClB,IAAI,CAACY,QAAQ,CAAC;MAAE7C,WAAW;MAAEC,gBAAgB,EAAEgC;IAAM,CAAC,EAAE,MAAM;MAC5D,IAAI,CAAClC,KAAK,CAACwG,KAAK,CAACtE,KAAK,EAAAnE,aAAA;QACpBkC;MAAW,GACRqG,MAAM,CACV,CAAC;IACJ,CAAC,CAAC;EACJ;EAMAG,MAAMA,CAAA,EAAG;IAAA,IAAAC,aAAA;IACP,MAAAC,YAAA,GAqBI,IAAI,CAAC3G,KAAK;MArBR;QACJ4G,IAAI;QACJC,KAAK;QACLC,WAAW;QACX1D,EAAE,EAAED,GAAG;QACP4D,WAAW,GAAG,MAAM;QACpBC,YAAY,GAAG,OAAO;QACtBC,iBAAiB,GAAG,KAAK;QACzBC,uBAAuB;QACvB5D,YAAY,GAAG,KAAK;QACpB6D,sBAAsB,GAAG,KAAK;QAC9BC,UAAU,GAAG,MAAM;QACnBC,mBAAmB,GAAG,OAAO;QAC7BC,kBAAkB,GAAG,QAAQ;QAC7Bd,KAAK;QACLe,aAAa;QACbC,aAAa;QACbC,UAAU;QACVC,QAAQ;QACRC,WAAW,GAAG;MAEhB,CAAC,GAAAhB,YAAA;MADIiB,IAAI,GAAAvJ,wBAAA,CAAAsI,YAAA,EAAAzK,UAAA;IAET,MAAM;MAAEiE;IAAM,CAAC,GAAG,IAAI,CAACuE,KAAK;IAE5B,MAAMmD,SAAS,GAAGJ,UAAU,IAAI,IAAAK,6BAAY,EAAC,QAAQ,CAAC;IAEtD,MAAMC,aAAa,GAAG,EAAEC,eAAM,IAAIC,kBAAS,IAAIC,eAAM,CAAC;IACtD,IAAIC,IAAI,GAAGR,WAAW,IAAI,QAAQ;IAClC,IAAI,CAACI,aAAa,IAAII,IAAI,KAAK,QAAQ,EAAE;MACvCA,IAAI,GAAG,QAAQ;IACjB;IAEA,MAAMC,aAAa,GAAG;MAWpBD,IAAI;MACJ,YAAY,EAAEJ,aAAa,GAAG,IAAI,GAAGvI,SAAS;MAK9C,iBAAiB,EAAE,IAAA6I,kCAAiB,EAClC,IAAI,CAACrI,KAAK,EACV6G,KAAK,GAAGgB,SAAS,GAAG,QAAQ,GAAG,IAAI,EACnCf,WACF,CAAC;MACD,kBAAkB,EAAE,IAAAwB,mCAAkB,EACpC,IAAI,CAACtI,KAAK,EACV6H,SAAS,GAAG,UACd,CAAC;MAMD,YAAY,EAAE,CAAChB,KAAK,IAAI,CAACC,WAAW,GAAGE,YAAY,GAAGxH,SAAS;MAE/D+I,SAAS,EAAE,IAAAC,mBAAU,uDAQelB,kBAAmB,IANrD,IAAA9E,uBAAM,EAAC4E,UAAU,CAAC,GACd,gCAAgC,GAChCA,UAAU,KAAK,MAAM,IAAI,qCAAqC,EAKlE,IAAAqB,sBAAe,GAAA/B,aAAA,GAAC,IAAI,CAACgC,OAAO,cAAAhC,aAAA,uBAAZA,aAAA,CAAciC,KAAK,CAAC,EACpCpB,aAAa,EALbF,mBAAmB,IACd,uBAAsBA,mBAAmB,IAAI,OAAQ,EAK5D,CAAC;MACDuB,WAAW,EAAE,IAAI,CAACC,yBAAyB;MAC3CC,OAAO,EAAE,IAAI,CAACC;IAChB,CAAC;IAED,MAAMC,OAAO,GACX,OAAOtB,QAAQ,KAAK,UAAU,GAC1BA,QAAQ,CAAA3J,aAAA,CAAAA,aAAA,KAAM6J,IAAI;MAAEpB;IAAK,EAAE,CAAC,GAC5BkB,QAAQ;IAEd,OACEpM,MAAA,CAAAe,OAAA,CAAA4M,aAAA,CAACrN,aAAA,CAAAS,OAAY,CAAC6M,QAAQ;MACpBtK,KAAK,EAAE;QACLwE,EAAE,EAAE,IAAI,CAACpD,KAAK,CAACoD,EAAE;QACjByD,KAAK;QACLI,iBAAiB;QACjBC,uBAAuB;QACvBH,WAAW;QACXH,IAAI;QACJuC,kBAAkB,EAAE,IAAI,CAACA,kBAAkB;QAC3CC,mBAAmB,EAAE,IAAI,CAACA,mBAAmB;QAC7CC,YAAY,EAAE,IAAI,CAACA,YAAY;QAC/BhI,gBAAgB,EAAE,IAAI,CAACA,gBAAgB;QACvCiI,UAAU,EAAE,IAAI,CAACvG,WAAW;QAC5BwG,SAAS,EAAE,IAAI,CAACtI,UAAU;QAC1B4G,SAAS;QACTrB;MACF;IAAE,GAEFlL,MAAA,CAAAe,OAAA,CAAA4M,aAAA,QAAA3M,QAAA;MACE8G,EAAE,EAAEyE,SAAU;MAEd2B,KAAK,EACFrJ,KAAK,GACF;QAAE,0BAA0B,EAAG,eAAcA,KAAM;MAAG,CAAC,GACvD;IACL,GACGiI,aAAa,GAEhBY,OACE,CAAC,EAEN1N,MAAA,CAAAe,OAAA,CAAA4M,aAAA;MACEV,SAAS,EAAE,IAAAC,mBAAU,EACnB,oBAAoB,EAKpBhB,aAAa,EAJbZ,IAAI,IAAI,0BAA0B,EAClC,IAAApE,uBAAM,EAACc,YAAY,CAAC,IAAI,kCAAkC,EAC1D,IAAAd,uBAAM,EAAC2E,sBAAsB,CAAC,IAC5B,4CAEJ,CAAE;MACF,eAAa;IAAK,CACnB,CACoB,CAAC;EAE5B;AACF;AAACsC,OAAA,CAAApN,OAAA,GAAAuD,YAAA;AAAA3B,eAAA,CA/boB2B,YAAY,iBAgBV8J,eAAO"}
1
+ {"version":3,"file":"ModalContent.js","names":["_react","_interopRequireDefault","require","_classnames","_bodyScrollLock","_componentHelper","_ModalContext","_helpers","_helpers2","_Theme","_shared","_excluded","_excluded2","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","ModalContent","React","PureComponent","constructor","props","color","modalRoots","getListOfModalRoots","firstLevel","_this$props","_ii","InteractionInvalidation","setBypassSelector","root_id","bypass_invalidation_selectors","Boolean","activate","modal","_iiLocal","_scrollRef","current","document","addEventListener","onKeyDownHandler","animation_duration","timeoutDuration","parseFloat","clearTimeout","_androidFocusTimeout","setTimeout","_document$activeEleme","_document$activeEleme2","activeElement","tagName","scrollIntoView","e","event","stopPropagation","closeModalContent","triggeredBy","_overlayClickRef","currentTarget","prevent_overlay_close","isTrue","ifIsLatest","keycode","mostCurrent","getModalRoot","preventDefault","_ref","_triggeredBy","_triggeredByEvent","setState","_contentRef","content_ref","createRef","scroll_ref","modalContentCloseRef","setModalContentState","_id","id","componentDidMount","no_animation","addToIndex","removeScrollPossibility","setFocus","setAndroidFocusHelper","dispatchCustomElementEvent","process","env","NODE_ENV","lockBody","_lockTimeout","setIsControlled","componentWillUnmount","_focusTimeout","removeLocks","open_state","_isControlled","componentDidUpdate","wasOpenedManually","removeFromIndex","_this$_ii","revert","revertScrollPossibility","warn","removeAndroidFocusHelper","removeEventListener","window","isAndroid","_androidFocusHelper","focus_selector","elem","_focusElement","_focusElement$focus","_focusElement2","_focusElement2$select","_elem$parentElement","_elem$parentElement$q","_elem$parentElement2","_elem$parentElement2$","focusElement","querySelector","focus","select","noH1Elem","noH1ElemInDrawerHeader","parentElement","noH1ElemInDialogHeader","disableBodyScroll","enableBodyScroll","clearAllBodyScrollLocks","_ref2","_event$persist","params","persist","close","render","_this$context","_this$props2","hide","title","labelled_by","close_title","dialog_title","hide_close_button","close_button_attributes","no_animation_on_mobile","fullscreen","container_placement","vertical_alignment","content_class","overlay_class","content_id","children","dialog_role","rest","state","contentId","makeUniqueId","useDialogRole","IS_MAC","IS_SAFARI","IS_IOS","role","contentParams","combineLabelledBy","combineDescribedBy","className","classnames","getThemeClasses","context","theme","onMouseDown","onContentMouseDownHandler","onClick","onContentClickHandler","content","createElement","Provider","setBackgroundColor","onCloseClickHandler","preventClick","contentRef","scrollRef","style","exports","Context"],"sources":["../../../../src/components/modal/ModalContent.tsx"],"sourcesContent":["/**\n * Web Modal Component\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport {\n disableBodyScroll,\n enableBodyScroll,\n clearAllBodyScrollLocks,\n} from './bodyScrollLock'\nimport {\n warn,\n isTrue,\n makeUniqueId,\n InteractionInvalidation,\n combineLabelledBy,\n combineDescribedBy,\n dispatchCustomElementEvent,\n keycode,\n} from '../../shared/component-helper'\nimport ModalContext from './ModalContext'\nimport { IS_IOS, IS_SAFARI, IS_MAC, isAndroid } from '../../shared/helpers'\nimport {\n CloseHandlerParams,\n ModalContentProps,\n TriggeredBy,\n} from './types'\nimport {\n getListOfModalRoots,\n getModalRoot,\n addToIndex,\n removeFromIndex,\n} from './helpers'\nimport { getThemeClasses } from '../../shared/Theme'\nimport { Context } from '../../shared'\nimport { ContextProps } from '../../shared/Context'\n\ninterface ModalContentState {\n color: string\n}\n\ndeclare global {\n interface Window {\n __modalStack: any[]\n }\n}\n\ninterface CSSPropertiesWithVars extends React.CSSProperties {\n '--modal-background-color': string\n}\n\nexport default class ModalContent extends React.PureComponent<\n ModalContentProps,\n ModalContentState\n> {\n state = { color: null }\n\n _contentRef: React.RefObject<HTMLElement>\n _scrollRef: React.RefObject<HTMLElement>\n _overlayClickRef: { current: null | HTMLElement }\n _id: string\n _lockTimeout: NodeJS.Timeout\n _focusTimeout: NodeJS.Timeout\n _androidFocusTimeout: NodeJS.Timeout\n _ii: InteractionInvalidation\n _iiLocal: InteractionInvalidation\n _triggeredBy: TriggeredBy\n _triggeredByEvent: React.SyntheticEvent\n _isControlled = false\n\n static contextType = Context\n\n context!: ContextProps\n\n constructor(props: ModalContentProps) {\n super(props)\n this._contentRef = this.props.content_ref || React.createRef()\n this._scrollRef = this.props.scroll_ref || React.createRef()\n this._overlayClickRef = React.createRef()\n if (this.props.modalContentCloseRef) {\n this.props.modalContentCloseRef.current = this.setModalContentState\n }\n\n // NB: The \"\"._id\" is used in the __modalStack as \"last._id\"\n this._id = props.id\n }\n\n componentDidMount() {\n const {\n id = null,\n no_animation = false,\n animation_duration = null,\n } = this.props\n\n const timeoutDuration: number =\n typeof animation_duration === 'string'\n ? parseFloat(animation_duration)\n : animation_duration\n\n // Add it to the index at first\n // we use it later with getListOfModalRoots\n addToIndex(this)\n\n // Because of nested modals/drawers, we run this regardless\n // has to be run at first – so the scrollbar gets removed\n this.removeScrollPossibility() // forces browser to re-paint\n\n this.setFocus()\n this.setAndroidFocusHelper()\n\n dispatchCustomElementEvent(this, 'on_open', {\n id,\n })\n\n if (isTrue(no_animation) || process.env.NODE_ENV === 'test') {\n this.lockBody() // forces browser to re-paint\n } else {\n this._lockTimeout = setTimeout(this.lockBody, timeoutDuration * 1.2) // a little over --modal-animation-duration\n }\n\n this.setIsControlled()\n }\n\n componentWillUnmount() {\n clearTimeout(this._focusTimeout)\n clearTimeout(this._lockTimeout)\n this.removeLocks()\n }\n\n setIsControlled() {\n const { open_state } = this.props\n if (typeof open_state !== 'undefined' && open_state !== null) {\n this._isControlled = true\n }\n }\n\n componentDidUpdate() {\n this.setIsControlled()\n }\n\n wasOpenedManually() {\n if (this._triggeredBy) {\n return true\n }\n\n if (this._isControlled) {\n return true\n }\n\n return false\n }\n\n lockBody = () => {\n const modalRoots = getListOfModalRoots()\n const firstLevel = modalRoots[0]\n\n if (firstLevel === this) {\n this._ii = new InteractionInvalidation()\n this._ii.setBypassSelector(\n [\n // Bypass modal content\n '.dnb-modal__content *',\n `#dnb-modal-${this.props.root_id || 'root'}`,\n `#dnb-modal-${this.props.root_id || 'root'} *`,\n\n // TODO: Eventually in future, make it possible to bypass invalidation from outside\n // '.dnb-modal--bypass_invalidation',\n // '.dnb-modal--bypass_invalidation_deep *',\n\n ...(this.props?.bypass_invalidation_selectors || []),\n ].filter(Boolean)\n )\n this._ii.activate()\n } else {\n modalRoots.forEach((modal) => {\n if (\n modal !== this &&\n typeof modal._iiLocal === 'undefined' &&\n typeof modal._scrollRef !== 'undefined'\n ) {\n modal._iiLocal = new InteractionInvalidation()\n modal._iiLocal.activate(modal._scrollRef.current)\n }\n })\n }\n\n if (typeof document !== 'undefined') {\n /** To ensure, we have always a working keydown, we call it both on the element and document */\n document.addEventListener('keydown', this.onKeyDownHandler)\n }\n }\n\n removeLocks() {\n const modalRoots = getListOfModalRoots()\n const firstLevel = modalRoots[0]\n\n removeFromIndex(this)\n\n if (firstLevel === this) {\n this._ii?.revert()\n this.revertScrollPossibility()\n } else {\n try {\n const modal = modalRoots[modalRoots.length - 2]\n if (modal !== this && modal._iiLocal) {\n modal._iiLocal.revert()\n delete modal._iiLocal\n }\n } catch (e) {\n warn(e)\n }\n }\n\n this.removeAndroidFocusHelper()\n\n if (this.wasOpenedManually()) {\n const id = this.props.id\n dispatchCustomElementEvent(this, 'on_close', {\n id,\n event: this._triggeredByEvent,\n triggeredBy: this._triggeredBy || 'unmount',\n })\n }\n\n if (typeof document !== 'undefined') {\n document.removeEventListener('keydown', this.onKeyDownHandler)\n }\n }\n\n setAndroidFocusHelper() {\n if (typeof window !== 'undefined' && isAndroid()) {\n window.addEventListener('resize', this._androidFocusHelper)\n }\n }\n\n removeAndroidFocusHelper() {\n window.removeEventListener('resize', this._androidFocusHelper)\n clearTimeout(this._androidFocusTimeout)\n }\n\n _androidFocusHelper = () => {\n const { animation_duration = null } = this.props\n const timeoutDuration: number =\n typeof animation_duration === 'string'\n ? parseFloat(animation_duration)\n : animation_duration\n\n clearTimeout(this._androidFocusTimeout)\n this._androidFocusTimeout = setTimeout(() => {\n try {\n if (\n document.activeElement?.tagName == 'INPUT' ||\n document.activeElement?.tagName == 'TEXTAREA'\n ) {\n document.activeElement.scrollIntoView()\n }\n } catch (e) {\n //\n }\n }, timeoutDuration / 2) // Older Android needs a delay here\n }\n\n setFocus() {\n const {\n focus_selector = null,\n no_animation = null,\n animation_duration = null,\n } = this.props\n const elem = this._contentRef.current\n const timeoutDuration: number =\n typeof animation_duration === 'string'\n ? parseFloat(animation_duration)\n : animation_duration\n\n if (elem) {\n clearTimeout(this._focusTimeout)\n this._focusTimeout = setTimeout(\n () => {\n try {\n let focusElement = elem as HTMLInputElement\n\n // Try to use the \"first-focus\" method first\n if (typeof focus_selector === 'string') {\n focusElement = elem.querySelector(focus_selector)\n }\n\n focusElement?.focus?.()\n focusElement?.select?.()\n\n const noH1Elem = elem.querySelector('h1, h2, h3')\n // Check if there's a header in a Drawer.Header\n const noH1ElemInDrawerHeader = elem.parentElement\n ?.querySelector('.dnb-drawer__header')\n ?.querySelector('h1, h2, h3')\n\n // Check if there's a header in a Dialog.Header\n const noH1ElemInDialogHeader = elem.parentElement\n ?.querySelector('.dnb-dialog__header')\n ?.querySelector('h1, h2, h3')\n\n if (\n noH1Elem?.tagName !== 'H1' &&\n noH1ElemInDrawerHeader?.tagName !== 'H1' &&\n noH1ElemInDialogHeader?.tagName !== 'H1'\n ) {\n warn('A Dialog or Drawer needs a h1 as its first element!')\n }\n } catch (e) {\n warn(e)\n }\n },\n isTrue(no_animation) ? 0 : timeoutDuration || 0\n ) // with this delay, the user can press esc without an focus action first\n }\n }\n\n removeScrollPossibility() {\n if (this._scrollRef.current) {\n disableBodyScroll(this._scrollRef.current)\n }\n }\n\n revertScrollPossibility() {\n enableBodyScroll(this._scrollRef.current)\n clearAllBodyScrollLocks()\n }\n\n preventClick = (event) => {\n if (event) {\n event.stopPropagation()\n }\n }\n\n onCloseClickHandler = (event: React.SyntheticEvent) => {\n this.closeModalContent(event, { triggeredBy: 'button' })\n }\n\n onContentMouseDownHandler = (event: React.SyntheticEvent) => {\n this._overlayClickRef.current =\n event.target === event.currentTarget\n ? (event.target as HTMLElement)\n : null\n }\n\n onContentClickHandler = (event: React.SyntheticEvent) => {\n /**\n * Prevent false-positive Modal close,\n * when e.g. selecting text inside and moving the mouse outside,\n * we would still get this event fired. There we check if the current click,\n * has the same target as where the click got initiated.\n */\n if (this._overlayClickRef.current !== event.target) {\n return // stop here\n }\n this._overlayClickRef.current = null\n\n const { prevent_overlay_close } = this.props\n\n if (!isTrue(prevent_overlay_close)) {\n this.closeModalContent(event, {\n triggeredBy: 'overlay',\n ifIsLatest: false,\n })\n }\n }\n\n onKeyDownHandler = (event) => {\n switch (keycode(event)) {\n case 'esc': {\n const mostCurrent = getModalRoot(-1)\n\n if (mostCurrent === this) {\n event.preventDefault()\n this.closeModalContent(event, {\n triggeredBy: 'keyboard',\n })\n }\n\n break\n }\n }\n }\n\n setModalContentState = (\n event: React.SyntheticEvent,\n { triggeredBy }: CloseHandlerParams\n ) => {\n this._triggeredBy = triggeredBy\n this._triggeredByEvent = event\n }\n\n closeModalContent(\n event,\n {\n triggeredBy,\n ...params\n }: CloseHandlerParams & { ifIsLatest?: boolean }\n ) {\n event?.persist?.()\n\n this.props.close(event, {\n triggeredBy,\n ...params,\n })\n }\n\n setBackgroundColor = (color: string) => {\n this.setState({ color })\n }\n\n render() {\n const {\n hide,\n title,\n labelled_by,\n id: _id, // eslint-disable-line\n close_title = 'Lukk',\n dialog_title = 'Vindu',\n hide_close_button = false,\n close_button_attributes,\n no_animation = false,\n no_animation_on_mobile = false,\n fullscreen = 'auto',\n container_placement = 'right',\n vertical_alignment = 'center',\n close,\n content_class,\n overlay_class,\n content_id,\n children, // eslint-disable-line\n dialog_role = null,\n ...rest\n } = this.props\n const { color } = this.state\n\n const contentId = content_id || makeUniqueId('modal-')\n\n const useDialogRole = !(IS_MAC || IS_SAFARI || IS_IOS)\n let role = dialog_role || 'dialog'\n if (!useDialogRole && role === 'dialog') {\n role = 'region'\n }\n\n const contentParams = {\n /**\n * Do not use role=\"dialog\" on Safari\n *\n * VoiceOver has troubles with role=\"dialog\" and \"Modal in Modal\",\n * the result is, only the first Modal gets focus (set by Safari)\n *\n * Tests have shown: Both VoiceOver are working fine with the:\n * \"aria-labelledby\" and \"aria-describedby\" approach\n *\n */\n role,\n 'aria-modal': useDialogRole ? true : undefined,\n\n /**\n * ARIA references\n */\n 'aria-labelledby': combineLabelledBy(\n this.props,\n title ? contentId + '-title' : null,\n labelled_by\n ),\n 'aria-describedby': combineDescribedBy(\n this.props,\n contentId + '-content'\n ),\n\n /**\n * If no labelled_by and no title is given,\n * set a fallback \"dialog_title\"\n */\n 'aria-label': !title && !labelled_by ? dialog_title : undefined,\n\n className: classnames(\n 'dnb-modal__content',\n isTrue(fullscreen)\n ? 'dnb-modal__content--fullscreen'\n : fullscreen === 'auto' && 'dnb-modal__content--auto-fullscreen',\n container_placement\n ? `dnb-modal__content--${container_placement || 'right'}`\n : null,\n `dnb-modal__vertical-alignment--${vertical_alignment}`,\n getThemeClasses(this.context?.theme),\n content_class\n ),\n onMouseDown: this.onContentMouseDownHandler,\n onClick: this.onContentClickHandler,\n }\n\n const content =\n typeof children === 'function'\n ? children({ ...rest, close })\n : children\n\n return (\n <ModalContext.Provider\n value={{\n id: this.props.id,\n title,\n hide_close_button,\n close_button_attributes,\n close_title,\n hide,\n setBackgroundColor: this.setBackgroundColor,\n onCloseClickHandler: this.onCloseClickHandler,\n preventClick: this.preventClick,\n onKeyDownHandler: this.onKeyDownHandler,\n contentRef: this._contentRef,\n scrollRef: this._scrollRef,\n contentId,\n close,\n }}\n >\n <div\n id={contentId}\n /** Sets the color on scroll overflow (at the bottom) */\n style={\n (color\n ? { '--modal-background-color': `var(--color-${color})` }\n : null) as CSSPropertiesWithVars\n }\n {...contentParams}\n >\n {content}\n </div>\n\n <span\n className={classnames(\n 'dnb-modal__overlay',\n hide && 'dnb-modal__overlay--hide',\n isTrue(no_animation) && 'dnb-modal__overlay--no-animation',\n isTrue(no_animation_on_mobile) &&\n 'dnb-modal__overlay--no-animation-on-mobile',\n overlay_class\n )}\n aria-hidden={true}\n />\n </ModalContext.Provider>\n )\n }\n}\n"],"mappings":"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"}