@dfds-ui/modal 2.2.0-alpha.8d87a90d → 2.2.0-alpha.e74a6756

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 (53) hide show
  1. package/cjs/index.d.ts +1 -0
  2. package/cjs/index.js +16 -0
  3. package/cjs/modal/Modal.d.ts +93 -0
  4. package/cjs/modal/Modal.js +59 -0
  5. package/cjs/modal/ModalAction.d.ts +17 -0
  6. package/cjs/modal/ModalAction.js +33 -0
  7. package/cjs/modal/ModalActionsContainer.d.ts +9 -0
  8. package/cjs/modal/ModalActionsContainer.js +24 -0
  9. package/cjs/modal/ModalBody.d.ts +10 -0
  10. package/cjs/modal/ModalBody.js +23 -0
  11. package/cjs/modal/ModalCloseButton.d.ts +13 -0
  12. package/cjs/modal/ModalCloseButton.js +38 -0
  13. package/cjs/modal/ModalDialog.d.ts +42 -0
  14. package/cjs/modal/ModalDialog.js +214 -0
  15. package/cjs/modal/ModalFooter.d.ts +8 -0
  16. package/cjs/modal/ModalFooter.js +26 -0
  17. package/cjs/modal/ModalHeader.d.ts +9 -0
  18. package/cjs/modal/ModalHeader.js +30 -0
  19. package/cjs/modal/ModalHeadline.d.ts +7 -0
  20. package/cjs/modal/ModalHeadline.js +23 -0
  21. package/cjs/modal/ModalPanel.d.ts +49 -0
  22. package/cjs/modal/ModalPanel.js +99 -0
  23. package/cjs/modal/ReactModalWrapper.d.ts +7 -0
  24. package/cjs/modal/ReactModalWrapper.js +33 -0
  25. package/cjs/modal/index.d.ts +11 -0
  26. package/cjs/modal/index.js +129 -0
  27. package/index.d.ts +1 -0
  28. package/index.js +1 -0
  29. package/modal/Modal.d.ts +93 -0
  30. package/modal/Modal.js +60 -0
  31. package/modal/ModalAction.d.ts +17 -0
  32. package/modal/ModalAction.js +28 -0
  33. package/modal/ModalActionsContainer.d.ts +9 -0
  34. package/modal/ModalActionsContainer.js +19 -0
  35. package/modal/ModalBody.d.ts +10 -0
  36. package/modal/ModalBody.js +15 -0
  37. package/modal/ModalCloseButton.d.ts +13 -0
  38. package/modal/ModalCloseButton.js +35 -0
  39. package/modal/ModalDialog.d.ts +42 -0
  40. package/modal/ModalDialog.js +199 -0
  41. package/modal/ModalFooter.d.ts +8 -0
  42. package/modal/ModalFooter.js +20 -0
  43. package/modal/ModalHeader.d.ts +9 -0
  44. package/modal/ModalHeader.js +24 -0
  45. package/modal/ModalHeadline.d.ts +7 -0
  46. package/modal/ModalHeadline.js +14 -0
  47. package/modal/ModalPanel.d.ts +49 -0
  48. package/modal/ModalPanel.js +85 -0
  49. package/modal/ReactModalWrapper.d.ts +7 -0
  50. package/modal/ReactModalWrapper.js +29 -0
  51. package/modal/index.d.ts +11 -0
  52. package/modal/index.js +11 -0
  53. package/package.json +7 -7
package/cjs/index.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from './modal';
package/cjs/index.js ADDED
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _modal = require("./modal");
7
+ Object.keys(_modal).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _modal[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _modal[key];
14
+ }
15
+ });
16
+ });
@@ -0,0 +1,93 @@
1
+ import React from 'react';
2
+ import { ModalSizes, ModalVariation, Backdrop, BackdropVariant } from './ModalDialog';
3
+ export type ModalProps = React.PropsWithChildren<{
4
+ /**
5
+ * If set to `true` the modal is shown
6
+ */
7
+ isOpen: boolean;
8
+ /**
9
+ * Close the Modal after invoking the provided callback.
10
+ */
11
+ onRequestClose?: () => void;
12
+ /**
13
+ * Modal closes on overlay click.
14
+ */
15
+ shouldCloseOnOverlayClick?: boolean;
16
+ /**
17
+ * Modal closes on ESC key.
18
+ */
19
+ shouldCloseOnEsc?: boolean;
20
+ /**
21
+ * Gives the user the possibility to close the Modal.
22
+ */
23
+ showClose?: boolean;
24
+ /**
25
+ * Class name to be added to the Modal.
26
+ */
27
+ className?: string;
28
+ /**
29
+ * Add heading on the Modal.
30
+ */
31
+ heading?: React.ReactNode;
32
+ /**
33
+ * Class name to be added to the header of the Modal.
34
+ */
35
+ headerClassName?: string;
36
+ /**
37
+ * *DEPRECATED* use `sizes` instead.
38
+ *
39
+ * Fullscreen only has an effect on mobile.
40
+ */
41
+ variation?: ModalVariation;
42
+ /**
43
+ * Add or remove padding inside the Modal.
44
+ */
45
+ noContentPadding?: boolean;
46
+ /**
47
+ * Add a z-index prop to modal to specify the stack order.
48
+ */
49
+ zIndex?: number;
50
+ /**
51
+ * Removes the modal from the default navigation flow and also allows it to receive programmatic focus.
52
+ */
53
+ closeTabIndex?: number;
54
+ /**
55
+ * Specifies the ariaLabel to be added to the close(x) button
56
+ */
57
+ closeLabel?: string;
58
+ /**
59
+ * Display content in a column direction.
60
+ */
61
+ column?: boolean;
62
+ /**
63
+ * Actions to be displayed inside the Modal.
64
+ */
65
+ actions?: React.ReactNode;
66
+ /**
67
+ * Sizes (width) of the modal for the different breakpoints.
68
+ * Apart from normal css units a special value of `fullscreen` is also
69
+ * supported.
70
+ * @example
71
+ * sizes={{ s: 'fullscreen', m: 'fullscreen', l: '80%', xl: '80%', xxl: '80%' }}
72
+ */
73
+ sizes?: ModalSizes;
74
+ /**
75
+ * If set to `true` the modal will no be vertical centered.
76
+ * When not specified the modal will be fixed for small devices but centered when larger.
77
+ */
78
+ fixedTopPosition?: boolean;
79
+ /**
80
+ * If `true` the modal will render even if not open.
81
+ */
82
+ renderWhenClosed?: boolean;
83
+ /**
84
+ * Overlay backdrop
85
+ */
86
+ backdrop?: Backdrop;
87
+ /**
88
+ * Overlay variant. Either transparent or solid.
89
+ */
90
+ backdropVariant?: BackdropVariant;
91
+ }>;
92
+ export declare const Modal: ({ showClose, heading, headerClassName, noContentPadding, onRequestClose, children, closeTabIndex, closeLabel, column, zIndex, sizes, renderWhenClosed, backdrop, backdropVariant, actions, ...rest }: ModalProps) => JSX.Element;
93
+ export default Modal;
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = exports.Modal = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _ModalHeader = _interopRequireDefault(require("./ModalHeader"));
9
+ var _ModalCloseButton = _interopRequireDefault(require("./ModalCloseButton"));
10
+ var _ModalDialog = _interopRequireWildcard(require("./ModalDialog"));
11
+ var _ModalBody = _interopRequireDefault(require("./ModalBody"));
12
+ var _ModalActionsContainer = _interopRequireDefault(require("./ModalActionsContainer"));
13
+ var _ModalHeadline = _interopRequireDefault(require("./ModalHeadline"));
14
+ var _react2 = require("@emotion/react");
15
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
16
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
17
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
+ 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); }
19
+ const Modal = ({
20
+ showClose = true,
21
+ heading,
22
+ headerClassName,
23
+ noContentPadding = false,
24
+ onRequestClose,
25
+ children,
26
+ closeTabIndex = -1,
27
+ closeLabel = 'Close',
28
+ column = false,
29
+ zIndex = _ModalDialog.defaultProps.zIndex,
30
+ sizes = _ModalDialog.defaultProps.sizes,
31
+ renderWhenClosed = _ModalDialog.defaultProps.renderWhenClosed,
32
+ backdrop = _ModalDialog.defaultProps.backdrop,
33
+ backdropVariant = _ModalDialog.defaultProps.backdropVariant,
34
+ actions,
35
+ ...rest
36
+ }) => {
37
+ const showHeader = heading !== undefined || showClose;
38
+ return (0, _react2.jsx)(_ModalDialog.default, _extends({
39
+ onRequestClose: onRequestClose,
40
+ sizes: sizes,
41
+ renderWhenClosed: renderWhenClosed,
42
+ backdrop: backdrop,
43
+ backdropVariant: backdropVariant
44
+ }, rest), showHeader && (0, _react2.jsx)(_ModalHeader.default, {
45
+ className: headerClassName
46
+ }, (0, _react2.jsx)(_ModalHeadline.default, null, heading), showClose && (0, _react2.jsx)(_ModalCloseButton.default, {
47
+ onRequestClose: onRequestClose,
48
+ tabIndex: closeTabIndex,
49
+ closeLabel: closeLabel
50
+ })), (0, _react2.jsx)(_ModalBody.default, {
51
+ hasPadding: !noContentPadding,
52
+ column: column
53
+ }, children), (0, _react2.jsx)(_ModalActionsContainer.default, {
54
+ actions: actions
55
+ }));
56
+ };
57
+ exports.Modal = Modal;
58
+ var _default = Modal;
59
+ exports.default = _default;
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ import { ButtonProps } from '@dfds-ui/react-components';
3
+ export type ModalActionVariation = 'primary' | 'secondary';
4
+ export type ModalActionProps = {
5
+ actionVariation?: ModalActionVariation;
6
+ onClick?: () => void;
7
+ /**
8
+ * Class name to be assigned to the button
9
+ */
10
+ className?: string;
11
+ /**
12
+ * HTML tag or custom component being rendered
13
+ */
14
+ as?: React.ElementType;
15
+ } & Omit<ButtonProps, 'variation'>;
16
+ export declare const ModalAction: React.FunctionComponent<ModalActionProps>;
17
+ export default ModalAction;
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = exports.ModalAction = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _react2 = require("@emotion/react");
9
+ var _theme = require("@dfds-ui/theme");
10
+ var _typography = require("@dfds-ui/typography");
11
+ var _reactComponents = require("@dfds-ui/react-components");
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+ 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); }
14
+ const getVariationStyle = actionVariation => {
15
+ if (actionVariation === 'primary') {
16
+ return /*#__PURE__*/(0, _react2.css)("color:", _theme.theme.colors.text.light.primary, ";background:", _theme.theme.colors.secondary.main, ";margin-right:", _theme.theme.spacing.s, ";&:hover{color:", _theme.theme.colors.text.light.primary, ";}" + (process.env.NODE_ENV === "production" ? "" : ";label:getVariationStyle;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2RhbC9Nb2RhbEFjdGlvbi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBdUJjIiwiZmlsZSI6Ii4uLy4uLy4uL3NyYy9tb2RhbC9Nb2RhbEFjdGlvbi50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcbmltcG9ydCB7IHRoZW1lIH0gZnJvbSAnQGRmZHMtdWkvdGhlbWUnXG5pbXBvcnQgeyB0eXBvZ3JhcGh5IH0gZnJvbSAnQGRmZHMtdWkvdHlwb2dyYXBoeSdcbmltcG9ydCB7IEJ1dHRvbiwgQnV0dG9uUHJvcHMgfSBmcm9tICdAZGZkcy11aS9yZWFjdC1jb21wb25lbnRzJ1xuXG5leHBvcnQgdHlwZSBNb2RhbEFjdGlvblZhcmlhdGlvbiA9ICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknXG5cbmV4cG9ydCB0eXBlIE1vZGFsQWN0aW9uUHJvcHMgPSB7XG4gIGFjdGlvblZhcmlhdGlvbj86IE1vZGFsQWN0aW9uVmFyaWF0aW9uXG4gIG9uQ2xpY2s/OiAoKSA9PiB2b2lkXG4gIC8qKlxuICAgKiBDbGFzcyBuYW1lIHRvIGJlIGFzc2lnbmVkIHRvIHRoZSBidXR0b25cbiAgICovXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICAvKipcbiAgICogSFRNTCB0YWcgb3IgY3VzdG9tIGNvbXBvbmVudCBiZWluZyByZW5kZXJlZFxuICAgKi9cbiAgYXM/OiBSZWFjdC5FbGVtZW50VHlwZVxufSAmIE9taXQ8QnV0dG9uUHJvcHMsICd2YXJpYXRpb24nPlxuXG5jb25zdCBnZXRWYXJpYXRpb25TdHlsZSA9IChhY3Rpb25WYXJpYXRpb246IE1vZGFsQWN0aW9uVmFyaWF0aW9uKSA9PiB7XG4gIGlmIChhY3Rpb25WYXJpYXRpb24gPT09ICdwcmltYXJ5Jykge1xuICAgIHJldHVybiBjc3NgXG4gICAgICBjb2xvcjogJHt0aGVtZS5jb2xvcnMudGV4dC5saWdodC5wcmltYXJ5fTtcbiAgICAgIGJhY2tncm91bmQ6ICR7dGhlbWUuY29sb3JzLnNlY29uZGFyeS5tYWlufTtcbiAgICAgIG1hcmdpbi1yaWdodDogJHt0aGVtZS5zcGFjaW5nLnN9O1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICR7dGhlbWUuY29sb3JzLnRleHQubGlnaHQucHJpbWFyeX07XG4gICAgICB9XG4gICAgYFxuICB9IGVsc2Uge1xuICAgIHJldHVybiBjc3NgXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAke3RoZW1lLmNvbG9ycy5zZWNvbmRhcnkubWFpbn07XG4gICAgYFxuICB9XG59XG5cbmV4cG9ydCBjb25zdCBNb2RhbEFjdGlvbjogUmVhY3QuRnVuY3Rpb25Db21wb25lbnQ8TW9kYWxBY3Rpb25Qcm9wcz4gPSAoeyBhY3Rpb25WYXJpYXRpb24gPSAncHJpbWFyeScsIC4uLnJlc3QgfSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxCdXR0b25cbiAgICAgIHZhcmlhdGlvbj1cInRleHRcIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgJHt0eXBvZ3JhcGh5LmFjdGlvbn07XG4gICAgICAgIGZsZXg6IGF1dG87XG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICR7dGhlbWUuc3BhY2luZy54c307XG4gICAgICAgIHBhZGRpbmc6IDAgJHt0aGVtZS5zcGFjaW5nLnhzfTtcbiAgICAgICAgJHtnZXRWYXJpYXRpb25TdHlsZShhY3Rpb25WYXJpYXRpb24pfVxuICAgICAgYH1cbiAgICAgIHsuLi5yZXN0fVxuICAgIC8+XG4gIClcbn1cblxuZXhwb3J0IGRlZmF1bHQgTW9kYWxBY3Rpb25cbiJdfQ== */");
17
+ } else {
18
+ return /*#__PURE__*/(0, _react2.css)("border:1px solid ", _theme.theme.colors.secondary.main, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:getVariationStyle;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2RhbC9Nb2RhbEFjdGlvbi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBaUNjIiwiZmlsZSI6Ii4uLy4uLy4uL3NyYy9tb2RhbC9Nb2RhbEFjdGlvbi50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcbmltcG9ydCB7IHRoZW1lIH0gZnJvbSAnQGRmZHMtdWkvdGhlbWUnXG5pbXBvcnQgeyB0eXBvZ3JhcGh5IH0gZnJvbSAnQGRmZHMtdWkvdHlwb2dyYXBoeSdcbmltcG9ydCB7IEJ1dHRvbiwgQnV0dG9uUHJvcHMgfSBmcm9tICdAZGZkcy11aS9yZWFjdC1jb21wb25lbnRzJ1xuXG5leHBvcnQgdHlwZSBNb2RhbEFjdGlvblZhcmlhdGlvbiA9ICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknXG5cbmV4cG9ydCB0eXBlIE1vZGFsQWN0aW9uUHJvcHMgPSB7XG4gIGFjdGlvblZhcmlhdGlvbj86IE1vZGFsQWN0aW9uVmFyaWF0aW9uXG4gIG9uQ2xpY2s/OiAoKSA9PiB2b2lkXG4gIC8qKlxuICAgKiBDbGFzcyBuYW1lIHRvIGJlIGFzc2lnbmVkIHRvIHRoZSBidXR0b25cbiAgICovXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICAvKipcbiAgICogSFRNTCB0YWcgb3IgY3VzdG9tIGNvbXBvbmVudCBiZWluZyByZW5kZXJlZFxuICAgKi9cbiAgYXM/OiBSZWFjdC5FbGVtZW50VHlwZVxufSAmIE9taXQ8QnV0dG9uUHJvcHMsICd2YXJpYXRpb24nPlxuXG5jb25zdCBnZXRWYXJpYXRpb25TdHlsZSA9IChhY3Rpb25WYXJpYXRpb246IE1vZGFsQWN0aW9uVmFyaWF0aW9uKSA9PiB7XG4gIGlmIChhY3Rpb25WYXJpYXRpb24gPT09ICdwcmltYXJ5Jykge1xuICAgIHJldHVybiBjc3NgXG4gICAgICBjb2xvcjogJHt0aGVtZS5jb2xvcnMudGV4dC5saWdodC5wcmltYXJ5fTtcbiAgICAgIGJhY2tncm91bmQ6ICR7dGhlbWUuY29sb3JzLnNlY29uZGFyeS5tYWlufTtcbiAgICAgIG1hcmdpbi1yaWdodDogJHt0aGVtZS5zcGFjaW5nLnN9O1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICR7dGhlbWUuY29sb3JzLnRleHQubGlnaHQucHJpbWFyeX07XG4gICAgICB9XG4gICAgYFxuICB9IGVsc2Uge1xuICAgIHJldHVybiBjc3NgXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAke3RoZW1lLmNvbG9ycy5zZWNvbmRhcnkubWFpbn07XG4gICAgYFxuICB9XG59XG5cbmV4cG9ydCBjb25zdCBNb2RhbEFjdGlvbjogUmVhY3QuRnVuY3Rpb25Db21wb25lbnQ8TW9kYWxBY3Rpb25Qcm9wcz4gPSAoeyBhY3Rpb25WYXJpYXRpb24gPSAncHJpbWFyeScsIC4uLnJlc3QgfSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxCdXR0b25cbiAgICAgIHZhcmlhdGlvbj1cInRleHRcIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgJHt0eXBvZ3JhcGh5LmFjdGlvbn07XG4gICAgICAgIGZsZXg6IGF1dG87XG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICR7dGhlbWUuc3BhY2luZy54c307XG4gICAgICAgIHBhZGRpbmc6IDAgJHt0aGVtZS5zcGFjaW5nLnhzfTtcbiAgICAgICAgJHtnZXRWYXJpYXRpb25TdHlsZShhY3Rpb25WYXJpYXRpb24pfVxuICAgICAgYH1cbiAgICAgIHsuLi5yZXN0fVxuICAgIC8+XG4gIClcbn1cblxuZXhwb3J0IGRlZmF1bHQgTW9kYWxBY3Rpb25cbiJdfQ== */");
19
+ }
20
+ };
21
+ const ModalAction = ({
22
+ actionVariation = 'primary',
23
+ ...rest
24
+ }) => {
25
+ return (0, _react2.jsx)(_reactComponents.Button, _extends({
26
+ variation: "text",
27
+ type: "button",
28
+ css: /*#__PURE__*/(0, _react2.css)(_typography.typography.action, ";flex:auto;flex-basis:auto;flex-grow:0;margin-left:", _theme.theme.spacing.xs, ";padding:0 ", _theme.theme.spacing.xs, ";", getVariationStyle(actionVariation), ";" + (process.env.NODE_ENV === "production" ? "" : ";label:ModalAction;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2RhbC9Nb2RhbEFjdGlvbi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNENjIiwiZmlsZSI6Ii4uLy4uLy4uL3NyYy9tb2RhbC9Nb2RhbEFjdGlvbi50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcbmltcG9ydCB7IHRoZW1lIH0gZnJvbSAnQGRmZHMtdWkvdGhlbWUnXG5pbXBvcnQgeyB0eXBvZ3JhcGh5IH0gZnJvbSAnQGRmZHMtdWkvdHlwb2dyYXBoeSdcbmltcG9ydCB7IEJ1dHRvbiwgQnV0dG9uUHJvcHMgfSBmcm9tICdAZGZkcy11aS9yZWFjdC1jb21wb25lbnRzJ1xuXG5leHBvcnQgdHlwZSBNb2RhbEFjdGlvblZhcmlhdGlvbiA9ICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknXG5cbmV4cG9ydCB0eXBlIE1vZGFsQWN0aW9uUHJvcHMgPSB7XG4gIGFjdGlvblZhcmlhdGlvbj86IE1vZGFsQWN0aW9uVmFyaWF0aW9uXG4gIG9uQ2xpY2s/OiAoKSA9PiB2b2lkXG4gIC8qKlxuICAgKiBDbGFzcyBuYW1lIHRvIGJlIGFzc2lnbmVkIHRvIHRoZSBidXR0b25cbiAgICovXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICAvKipcbiAgICogSFRNTCB0YWcgb3IgY3VzdG9tIGNvbXBvbmVudCBiZWluZyByZW5kZXJlZFxuICAgKi9cbiAgYXM/OiBSZWFjdC5FbGVtZW50VHlwZVxufSAmIE9taXQ8QnV0dG9uUHJvcHMsICd2YXJpYXRpb24nPlxuXG5jb25zdCBnZXRWYXJpYXRpb25TdHlsZSA9IChhY3Rpb25WYXJpYXRpb246IE1vZGFsQWN0aW9uVmFyaWF0aW9uKSA9PiB7XG4gIGlmIChhY3Rpb25WYXJpYXRpb24gPT09ICdwcmltYXJ5Jykge1xuICAgIHJldHVybiBjc3NgXG4gICAgICBjb2xvcjogJHt0aGVtZS5jb2xvcnMudGV4dC5saWdodC5wcmltYXJ5fTtcbiAgICAgIGJhY2tncm91bmQ6ICR7dGhlbWUuY29sb3JzLnNlY29uZGFyeS5tYWlufTtcbiAgICAgIG1hcmdpbi1yaWdodDogJHt0aGVtZS5zcGFjaW5nLnN9O1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICR7dGhlbWUuY29sb3JzLnRleHQubGlnaHQucHJpbWFyeX07XG4gICAgICB9XG4gICAgYFxuICB9IGVsc2Uge1xuICAgIHJldHVybiBjc3NgXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAke3RoZW1lLmNvbG9ycy5zZWNvbmRhcnkubWFpbn07XG4gICAgYFxuICB9XG59XG5cbmV4cG9ydCBjb25zdCBNb2RhbEFjdGlvbjogUmVhY3QuRnVuY3Rpb25Db21wb25lbnQ8TW9kYWxBY3Rpb25Qcm9wcz4gPSAoeyBhY3Rpb25WYXJpYXRpb24gPSAncHJpbWFyeScsIC4uLnJlc3QgfSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxCdXR0b25cbiAgICAgIHZhcmlhdGlvbj1cInRleHRcIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgJHt0eXBvZ3JhcGh5LmFjdGlvbn07XG4gICAgICAgIGZsZXg6IGF1dG87XG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICR7dGhlbWUuc3BhY2luZy54c307XG4gICAgICAgIHBhZGRpbmc6IDAgJHt0aGVtZS5zcGFjaW5nLnhzfTtcbiAgICAgICAgJHtnZXRWYXJpYXRpb25TdHlsZShhY3Rpb25WYXJpYXRpb24pfVxuICAgICAgYH1cbiAgICAgIHsuLi5yZXN0fVxuICAgIC8+XG4gIClcbn1cblxuZXhwb3J0IGRlZmF1bHQgTW9kYWxBY3Rpb25cbiJdfQ== */")
29
+ }, rest));
30
+ };
31
+ exports.ModalAction = ModalAction;
32
+ var _default = ModalAction;
33
+ exports.default = _default;
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ export type ModalActionsProps = {
3
+ /**
4
+ * Actions to be displayed at the bottom of the modal
5
+ */
6
+ actions?: React.ReactNode;
7
+ };
8
+ declare const ModalActionsContainer: React.FunctionComponent<ModalActionsProps>;
9
+ export default ModalActionsContainer;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _theme = require("@dfds-ui/theme");
9
+ var _react2 = require("@emotion/react");
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ 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); }
12
+ const ModalAction = props => {
13
+ return (0, _react2.jsx)("div", _extends({
14
+ css: /*#__PURE__*/(0, _react2.css)("display:flex;flex-wrap:nowrap;justify-content:flex-end;flex-grow:1;padding-top:", _theme.theme.spacing.s, ";padding-bottom:", _theme.theme.spacing.s, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:ModalAction;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2RhbC9Nb2RhbEFjdGlvbnNDb250YWluZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWNjIiwiZmlsZSI6Ii4uLy4uLy4uL3NyYy9tb2RhbC9Nb2RhbEFjdGlvbnNDb250YWluZXIudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdGhlbWUgfSBmcm9tICdAZGZkcy11aS90aGVtZSdcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuXG5leHBvcnQgdHlwZSBNb2RhbEFjdGlvbnNQcm9wcyA9IHtcbiAgLyoqXG4gICAqIEFjdGlvbnMgdG8gYmUgZGlzcGxheWVkIGF0IHRoZSBib3R0b20gb2YgdGhlIG1vZGFsXG4gICAqL1xuICBhY3Rpb25zPzogUmVhY3QuUmVhY3ROb2RlXG59XG5cbmNvbnN0IE1vZGFsQWN0aW9uOiBSZWFjdC5GdW5jdGlvbkNvbXBvbmVudDx7IGNsYXNzTmFtZT86IHN0cmluZyB9PiA9IChwcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBwYWRkaW5nLXRvcDogJHt0aGVtZS5zcGFjaW5nLnN9O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHt0aGVtZS5zcGFjaW5nLnN9O1xuICAgICAgYH1cbiAgICAgIHsuLi5wcm9wc31cbiAgICAvPlxuICApXG59XG5cbmNvbnN0IE1vZGFsQWN0aW9uc0NvbnRhaW5lcjogUmVhY3QuRnVuY3Rpb25Db21wb25lbnQ8TW9kYWxBY3Rpb25zUHJvcHM+ID0gKHsgYWN0aW9ucywgLi4ucmVzdCB9KSA9PiB7XG4gIHJldHVybiA8ZGl2IHsuLi5yZXN0fT57YWN0aW9ucyAmJiA8TW9kYWxBY3Rpb24+e2FjdGlvbnN9PC9Nb2RhbEFjdGlvbj59PC9kaXY+XG59XG5cbmV4cG9ydCBkZWZhdWx0IE1vZGFsQWN0aW9uc0NvbnRhaW5lclxuIl19 */")
15
+ }, props));
16
+ };
17
+ const ModalActionsContainer = ({
18
+ actions,
19
+ ...rest
20
+ }) => {
21
+ return (0, _react2.jsx)("div", rest, actions && (0, _react2.jsx)(ModalAction, null, actions));
22
+ };
23
+ var _default = ModalActionsContainer;
24
+ exports.default = _default;
@@ -0,0 +1,10 @@
1
+ /// <reference types="react" />
2
+ export type ModalBodyProps = {
3
+ hasPadding?: boolean;
4
+ column?: boolean;
5
+ };
6
+ export declare const ModalBody: import("@emotion/styled").StyledComponent<{
7
+ theme?: import("@emotion/react").Theme | undefined;
8
+ as?: import("react").ElementType<any> | undefined;
9
+ } & ModalBodyProps, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
10
+ export default ModalBody;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = exports.ModalBody = void 0;
7
+ var _base = _interopRequireDefault(require("@emotion/styled/base"));
8
+ var _theme = require("@dfds-ui/theme");
9
+ var _typography = require("@dfds-ui/typography");
10
+ var _react = require("@emotion/react");
11
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
+ const ModalBody = /*#__PURE__*/(0, _base.default)("div", process.env.NODE_ENV === "production" ? {
13
+ target: "e1nrz8580"
14
+ } : {
15
+ target: "e1nrz8580",
16
+ label: "ModalBody"
17
+ })(_typography.typography.body, " ", p => p.hasPadding && /*#__PURE__*/(0, _react.css)("flex:1 1 auto;margin:", _theme.theme.spacing.xs, " ", _theme.theme.spacing.s, " 0 ", _theme.theme.spacing.s, ";padding-bottom:", _theme.theme.spacing.s, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:ModalBody;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2RhbC9Nb2RhbEJvZHkudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWNPIiwiZmlsZSI6Ii4uLy4uLy4uL3NyYy9tb2RhbC9Nb2RhbEJvZHkudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgeyB0aGVtZSB9IGZyb20gJ0BkZmRzLXVpL3RoZW1lJ1xuaW1wb3J0IHsgdHlwb2dyYXBoeSB9IGZyb20gJ0BkZmRzLXVpL3R5cG9ncmFwaHknXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcblxuZXhwb3J0IHR5cGUgTW9kYWxCb2R5UHJvcHMgPSB7XG4gIGhhc1BhZGRpbmc/OiBib29sZWFuXG4gIGNvbHVtbj86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGNvbnN0IE1vZGFsQm9keSA9IHN0eWxlZC5kaXY8TW9kYWxCb2R5UHJvcHM+YFxuICAke3R5cG9ncmFwaHkuYm9keX1cbiAgJHsocCkgPT5cbiAgICBwLmhhc1BhZGRpbmcgJiZcbiAgICBjc3NgXG4gICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgIG1hcmdpbjogJHt0aGVtZS5zcGFjaW5nLnhzfSAke3RoZW1lLnNwYWNpbmcuc30gMCAke3RoZW1lLnNwYWNpbmcuc307XG4gICAgICBwYWRkaW5nLWJvdHRvbTogJHt0aGVtZS5zcGFjaW5nLnN9O1xuICAgIGB9XG4gICR7KHApID0+XG4gICAgcC5jb2x1bW4gJiZcbiAgICBgXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBgfVxuYFxuXG5leHBvcnQgZGVmYXVsdCBNb2RhbEJvZHlcbiJdfQ== */"), " ", p => p.column && `
18
+ display: flex;
19
+ flex-direction: column;
20
+ `, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2RhbC9Nb2RhbEJvZHkudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVVtRCIsImZpbGUiOiIuLi8uLi8uLi9zcmMvbW9kYWwvTW9kYWxCb2R5LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJ1xuaW1wb3J0IHsgdGhlbWUgfSBmcm9tICdAZGZkcy11aS90aGVtZSdcbmltcG9ydCB7IHR5cG9ncmFwaHkgfSBmcm9tICdAZGZkcy11aS90eXBvZ3JhcGh5J1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5cbmV4cG9ydCB0eXBlIE1vZGFsQm9keVByb3BzID0ge1xuICBoYXNQYWRkaW5nPzogYm9vbGVhblxuICBjb2x1bW4/OiBib29sZWFuXG59XG5cbmV4cG9ydCBjb25zdCBNb2RhbEJvZHkgPSBzdHlsZWQuZGl2PE1vZGFsQm9keVByb3BzPmBcbiAgJHt0eXBvZ3JhcGh5LmJvZHl9XG4gICR7KHApID0+XG4gICAgcC5oYXNQYWRkaW5nICYmXG4gICAgY3NzYFxuICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICBtYXJnaW46ICR7dGhlbWUuc3BhY2luZy54c30gJHt0aGVtZS5zcGFjaW5nLnN9IDAgJHt0aGVtZS5zcGFjaW5nLnN9O1xuICAgICAgcGFkZGluZy1ib3R0b206ICR7dGhlbWUuc3BhY2luZy5zfTtcbiAgICBgfVxuICAkeyhwKSA9PlxuICAgIHAuY29sdW1uICYmXG4gICAgYFxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYH1cbmBcblxuZXhwb3J0IGRlZmF1bHQgTW9kYWxCb2R5XG4iXX0= */"));
21
+ exports.ModalBody = ModalBody;
22
+ var _default = ModalBody;
23
+ exports.default = _default;
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import { IconButtonSize } from '@dfds-ui/react-components';
3
+ export type ModalCloseButtonProps = {
4
+ onRequestClose?: () => void;
5
+ className?: string;
6
+ icon?: React.ElementType;
7
+ size?: IconButtonSize;
8
+ tabIndex?: number;
9
+ closeLabel?: string;
10
+ children?: React.ReactNode;
11
+ };
12
+ export declare const ModalCloseButton: ({ onRequestClose, className, icon, size, closeLabel, ...rest }: ModalCloseButtonProps) => JSX.Element;
13
+ export default ModalCloseButton;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = exports.ModalCloseButton = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _reactComponents = require("@dfds-ui/react-components");
9
+ var _system = require("@dfds-ui/icons/system");
10
+ var _react2 = require("@emotion/react");
11
+ var _theme = require("@dfds-ui/theme");
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+ 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); }
14
+ const ModalCloseButton = ({
15
+ onRequestClose,
16
+ className,
17
+ icon = _system.Close,
18
+ size = 'medium',
19
+ closeLabel = 'Close',
20
+ ...rest
21
+ }) => {
22
+ return (0, _react2.jsx)(_reactComponents.IconButton, _extends({
23
+ disableOverlay: true,
24
+ disableTooltip: true,
25
+ hoverColor: _theme.theme.colors.secondary.main,
26
+ size: size,
27
+ css: /*#__PURE__*/(0, _react2.css)("align-self:flex-start;color:", _theme.theme.colors.text.primary.primary, ";height:3rem;width:3rem;&:active{color:", _theme.theme.colors.secondary.dark, ";}" + (process.env.NODE_ENV === "production" ? "" : ";label:ModalCloseButton;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2RhbC9Nb2RhbENsb3NlQnV0dG9uLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE4QmMiLCJmaWxlIjoiLi4vLi4vLi4vc3JjL21vZGFsL01vZGFsQ2xvc2VCdXR0b24udHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgSWNvbkJ1dHRvbiwgSWNvbkJ1dHRvblNpemUgfSBmcm9tICdAZGZkcy11aS9yZWFjdC1jb21wb25lbnRzJ1xuaW1wb3J0IHsgQ2xvc2UgfSBmcm9tICdAZGZkcy11aS9pY29ucy9zeXN0ZW0nXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcbmltcG9ydCB7IHRoZW1lIH0gZnJvbSAnQGRmZHMtdWkvdGhlbWUnXG5cbmV4cG9ydCB0eXBlIE1vZGFsQ2xvc2VCdXR0b25Qcm9wcyA9IHtcbiAgb25SZXF1ZXN0Q2xvc2U/OiAoKSA9PiB2b2lkXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICBpY29uPzogUmVhY3QuRWxlbWVudFR5cGVcbiAgc2l6ZT86IEljb25CdXR0b25TaXplXG4gIHRhYkluZGV4PzogbnVtYmVyXG4gIGNsb3NlTGFiZWw/OiBzdHJpbmdcbiAgY2hpbGRyZW4/OiBSZWFjdC5SZWFjdE5vZGVcbn1cblxuZXhwb3J0IGNvbnN0IE1vZGFsQ2xvc2VCdXR0b24gPSAoe1xuICBvblJlcXVlc3RDbG9zZSxcbiAgY2xhc3NOYW1lLFxuICBpY29uID0gQ2xvc2UsXG4gIHNpemUgPSAnbWVkaXVtJyxcbiAgY2xvc2VMYWJlbCA9ICdDbG9zZScsXG4gIC4uLnJlc3Rcbn06IE1vZGFsQ2xvc2VCdXR0b25Qcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxJY29uQnV0dG9uXG4gICAgICBkaXNhYmxlT3ZlcmxheVxuICAgICAgZGlzYWJsZVRvb2x0aXBcbiAgICAgIGhvdmVyQ29sb3I9e3RoZW1lLmNvbG9ycy5zZWNvbmRhcnkubWFpbn1cbiAgICAgIHNpemU9e3NpemV9XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICAgICAgY29sb3I6ICR7dGhlbWUuY29sb3JzLnRleHQucHJpbWFyeS5wcmltYXJ5fTtcbiAgICAgICAgaGVpZ2h0OiAzcmVtO1xuICAgICAgICB3aWR0aDogM3JlbTtcbiAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgIGNvbG9yOiAke3RoZW1lLmNvbG9ycy5zZWNvbmRhcnkuZGFya307XG4gICAgICAgIH1cbiAgICAgIGB9XG4gICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICAgIG9uQ2xpY2s9e29uUmVxdWVzdENsb3NlfVxuICAgICAgaWNvbj17aWNvbn1cbiAgICAgIGFyaWFMYWJlbD17Y2xvc2VMYWJlbH1cbiAgICAgIGRhdGEtdGVzdGlkPVwibW9kYWwtY2xvc2VcIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICB7Li4ucmVzdH1cbiAgICAvPlxuICApXG59XG5cbmV4cG9ydCBkZWZhdWx0IE1vZGFsQ2xvc2VCdXR0b25cbiJdfQ== */"),
28
+ className: className,
29
+ onClick: onRequestClose,
30
+ icon: icon,
31
+ ariaLabel: closeLabel,
32
+ "data-testid": "modal-close",
33
+ type: "button"
34
+ }, rest));
35
+ };
36
+ exports.ModalCloseButton = ModalCloseButton;
37
+ var _default = ModalCloseButton;
38
+ exports.default = _default;
@@ -0,0 +1,42 @@
1
+ import React from 'react';
2
+ import { theme } from '@dfds-ui/theme';
3
+ export type ModalVariation = 'default' | 'fullscreen';
4
+ export type ModalSizes = Record<keyof typeof theme.breakpoints, string>;
5
+ export type Backdrop = keyof typeof backdropsTransparent;
6
+ export type BackdropVariant = 'transparent' | 'solid';
7
+ export type ModalDialogProps = {
8
+ isOpen: boolean;
9
+ onRequestClose?: () => void;
10
+ shouldCloseOnOverlayClick?: boolean;
11
+ shouldCloseOnEsc?: boolean;
12
+ className?: string;
13
+ variation?: ModalVariation;
14
+ zIndex?: number;
15
+ sizes?: ModalSizes;
16
+ fixedTopPosition?: boolean;
17
+ renderWhenClosed?: boolean;
18
+ backdrop?: Backdrop;
19
+ backdropVariant?: BackdropVariant;
20
+ children?: React.ReactNode;
21
+ };
22
+ export declare function setGlobalAppElement(selector: string): void;
23
+ declare const backdropsTransparent: {
24
+ readonly lowEmphasis: "iVBORw0KGgoAAAANSUhEUgAAACgAAAAoAQMAAAC2MCouAAAAA1BMVEX///+nxBvIAAAAAXRSTlOzEo46UAAAAAtJREFUCNdjGGEAAADwAAFOldjfAAAAAElFTkSuQmCC";
25
+ readonly mediumEmphasis: "iVBORw0KGgoAAAANSUhEUgAAACgAAAAoAQMAAAC2MCouAAAAA1BMVEUAAACnej3aAAAAAXRSTlNANjqZ9gAAAAtJREFUCNdjGGEAAADwAAFOldjfAAAAAElFTkSuQmCC";
26
+ readonly highEmphasis: "iVBORw0KGgoAAAANSUhEUgAAACgAAAAoAQMAAAC2MCouAAAAA1BMVEUAK0XXvHWsAAAAAXRSTlOzEo46UAAAAAtJREFUCNdjGGEAAADwAAFOldjfAAAAAElFTkSuQmCC";
27
+ };
28
+ export declare const defaultProps: {
29
+ sizes: {
30
+ s: string;
31
+ m: string;
32
+ l: string;
33
+ xl: string;
34
+ xxl: string;
35
+ };
36
+ zIndex: number;
37
+ renderWhenClosed: boolean;
38
+ backdrop: "lowEmphasis" | "mediumEmphasis" | "highEmphasis";
39
+ backdropVariant: BackdropVariant;
40
+ };
41
+ declare const ModalDialog: ({ isOpen, onRequestClose, shouldCloseOnOverlayClick, shouldCloseOnEsc, variation, zIndex, className, sizes, fixedTopPosition, renderWhenClosed, backdrop, backdropVariant, children, ...rest }: ModalDialogProps) => JSX.Element | null;
42
+ export default ModalDialog;