@jobber/components 2.93.2 → 2.94.1

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.
package/CHANGELOG.md CHANGED
@@ -8,6 +8,25 @@ menu: Changelog
8
8
  All notable changes to this project will be documented in this file.
9
9
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
10
10
 
11
+ ## [2.94.1](https://github.com/GetJobber/atlantis/compare/@jobber/components@2.94.0...@jobber/components@2.94.1) (2023-01-31)
12
+
13
+ **Note:** Version bump only for package @jobber/components
14
+
15
+
16
+
17
+
18
+
19
+ # [2.94.0](https://github.com/GetJobber/atlantis/compare/@jobber/components@2.93.2...@jobber/components@2.94.0) (2023-01-25)
20
+
21
+
22
+ ### Features
23
+
24
+ * **components:** add modal size and child render support to confirmation modal ([#969](https://github.com/GetJobber/atlantis/issues/969)) ([75e8bc6](https://github.com/GetJobber/atlantis/commit/75e8bc6552b29a4a8c5ee4cb6ac947a567460835))
25
+
26
+
27
+
28
+
29
+
11
30
  ## [2.93.2](https://github.com/GetJobber/atlantis/compare/@jobber/components@2.93.1...@jobber/components@2.93.2) (2023-01-19)
12
31
 
13
32
  **Note:** Version bump only for package @jobber/components
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var Checkbox = require('../Checkbox-4624199c.js');
5
+ var Checkbox = require('../Checkbox-70c7a272.js');
6
6
  require('react');
7
7
  require('classnames');
8
8
  require('../style-inject.es-dcee06b6.js');
@@ -11,7 +11,7 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
11
11
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
12
12
  var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
13
13
 
14
- var css = "._2y-hp0B8BHvB6C7hj0uluY {\n display: inline-block;\n}\n\n._36KUbFCcSPE7xHQsQ4PC2D {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n cursor: pointer;\n}\n\n.Kvt2p9_Z8Ln_jkPQEYuMI {\n cursor: not-allowed;\n}\n\n._3MnEDfs7rk_9yjl2XNHSuc {\n position: relative;\n}\n\n.MEL3ANaAvLYMAoMbYSmCb {\n /* Hide checkbox on UI but not screen readers and still allow focus state */\n position: absolute;\n width: 1px;\n height: 1px;\n overflow: hidden;\n clip: rect(0 0 0 0);\n -webkit-clip-path: inset(100%);\n clip-path: inset(100%);\n white-space: nowrap;\n}\n\n._1T-pYuzX7l9EyzvIri_U22 {\n display: -ms-flexbox;\n display: flex;\n width: var(--space-base);\n height: var(--space-base);\n box-sizing: border-box;\n border: var(--border-thick) solid var(--color-interactive);\n border-radius: var(--radius-base);\n background-color: var(--color-surface);\n transition: all 200ms;\n -ms-flex-pack: center;\n justify-content: center;\n -ms-flex-align: center;\n align-items: center;\n}\n\n.Kvt2p9_Z8Ln_jkPQEYuMI ._1T-pYuzX7l9EyzvIri_U22 {\n border-color: var(--color-disabled--secondary);\n}\n\n.Kvt2p9_Z8Ln_jkPQEYuMI p {\n color: var(--color-disabled);\n}\n\n.Kvt2p9_Z8Ln_jkPQEYuMI ._1T-pYuzX7l9EyzvIri_U22 > * {\n opacity: 0;\n}\n\n.MEL3ANaAvLYMAoMbYSmCb._3TAyEYP42fVPKOg97qm5Ue + ._1T-pYuzX7l9EyzvIri_U22,\n.MEL3ANaAvLYMAoMbYSmCb:checked + ._1T-pYuzX7l9EyzvIri_U22 {\n border-color: var(--color-interactive);\n background-color: var(--color-interactive);\n}\n\n.MEL3ANaAvLYMAoMbYSmCb:focus + ._1T-pYuzX7l9EyzvIri_U22 {\n box-shadow: var(--shadow-focus);\n}\n\n.Kvt2p9_Z8Ln_jkPQEYuMI .MEL3ANaAvLYMAoMbYSmCb._3TAyEYP42fVPKOg97qm5Ue + ._1T-pYuzX7l9EyzvIri_U22,\n.Kvt2p9_Z8Ln_jkPQEYuMI .MEL3ANaAvLYMAoMbYSmCb:checked + ._1T-pYuzX7l9EyzvIri_U22 {\n border-color: var(--color-disabled--secondary);\n background-color: var(--color-disabled--secondary);\n}\n\n.Kvt2p9_Z8Ln_jkPQEYuMI .MEL3ANaAvLYMAoMbYSmCb._3TAyEYP42fVPKOg97qm5Ue + ._1T-pYuzX7l9EyzvIri_U22 > *,\n.Kvt2p9_Z8Ln_jkPQEYuMI .MEL3ANaAvLYMAoMbYSmCb:checked + ._1T-pYuzX7l9EyzvIri_U22 > * {\n opacity: 1;\n}\n\n.C10gHWu17R4Nw-PFWmtvT {\n margin: 0 var(--space-small);\n}\n\n._1wsib2K8k6XRKTFbeIeq4n {\n margin-bottom: var(--space-small);\n padding-left: var(--space-large);\n}\n";
14
+ var css = "._2y-hp0B8BHvB6C7hj0uluY {\n display: inline-block;\n}\n\n._36KUbFCcSPE7xHQsQ4PC2D {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: start;\n align-items: flex-start;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n cursor: pointer;\n}\n\n.Kvt2p9_Z8Ln_jkPQEYuMI {\n cursor: not-allowed;\n}\n\n._3MnEDfs7rk_9yjl2XNHSuc {\n position: relative;\n margin-top: var(--space-smallest);\n}\n\n.MEL3ANaAvLYMAoMbYSmCb {\n /* Hide checkbox on UI but not screen readers and still allow focus state */\n position: absolute;\n width: 1px;\n height: 1px;\n overflow: hidden;\n clip: rect(0 0 0 0);\n -webkit-clip-path: inset(100%);\n clip-path: inset(100%);\n white-space: nowrap;\n}\n\n._1T-pYuzX7l9EyzvIri_U22 {\n display: -ms-flexbox;\n display: flex;\n width: var(--space-base);\n height: var(--space-base);\n box-sizing: border-box;\n border: var(--border-thick) solid var(--color-interactive);\n border-radius: var(--radius-base);\n background-color: var(--color-surface);\n transition: all 200ms;\n -ms-flex-pack: center;\n justify-content: center;\n -ms-flex-align: center;\n align-items: center;\n}\n\n.Kvt2p9_Z8Ln_jkPQEYuMI ._1T-pYuzX7l9EyzvIri_U22 {\n border-color: var(--color-disabled--secondary);\n}\n\n.Kvt2p9_Z8Ln_jkPQEYuMI p {\n color: var(--color-disabled);\n}\n\n.Kvt2p9_Z8Ln_jkPQEYuMI ._1T-pYuzX7l9EyzvIri_U22 > * {\n opacity: 0;\n}\n\n.MEL3ANaAvLYMAoMbYSmCb._3TAyEYP42fVPKOg97qm5Ue + ._1T-pYuzX7l9EyzvIri_U22,\n.MEL3ANaAvLYMAoMbYSmCb:checked + ._1T-pYuzX7l9EyzvIri_U22 {\n border-color: var(--color-interactive);\n background-color: var(--color-interactive);\n}\n\n.MEL3ANaAvLYMAoMbYSmCb:focus + ._1T-pYuzX7l9EyzvIri_U22 {\n box-shadow: var(--shadow-focus);\n}\n\n.Kvt2p9_Z8Ln_jkPQEYuMI .MEL3ANaAvLYMAoMbYSmCb._3TAyEYP42fVPKOg97qm5Ue + ._1T-pYuzX7l9EyzvIri_U22,\n.Kvt2p9_Z8Ln_jkPQEYuMI .MEL3ANaAvLYMAoMbYSmCb:checked + ._1T-pYuzX7l9EyzvIri_U22 {\n border-color: var(--color-disabled--secondary);\n background-color: var(--color-disabled--secondary);\n}\n\n.Kvt2p9_Z8Ln_jkPQEYuMI .MEL3ANaAvLYMAoMbYSmCb._3TAyEYP42fVPKOg97qm5Ue + ._1T-pYuzX7l9EyzvIri_U22 > *,\n.Kvt2p9_Z8Ln_jkPQEYuMI .MEL3ANaAvLYMAoMbYSmCb:checked + ._1T-pYuzX7l9EyzvIri_U22 > * {\n opacity: 1;\n}\n\n.C10gHWu17R4Nw-PFWmtvT {\n margin: 0 var(--space-small);\n}\n\n._1wsib2K8k6XRKTFbeIeq4n {\n margin-bottom: var(--space-small);\n padding-left: var(--space-large);\n}\n";
15
15
  var styles = {"checkbox":"_2y-hp0B8BHvB6C7hj0uluY","wrapper":"_36KUbFCcSPE7xHQsQ4PC2D","disabled":"Kvt2p9_Z8Ln_jkPQEYuMI","checkHolder":"_3MnEDfs7rk_9yjl2XNHSuc","input":"MEL3ANaAvLYMAoMbYSmCb","checkBox":"_1T-pYuzX7l9EyzvIri_U22","indeterminate":"_3TAyEYP42fVPKOg97qm5Ue","label":"C10gHWu17R4Nw-PFWmtvT","description":"_1wsib2K8k6XRKTFbeIeq4n"};
16
16
  styleInject_es.styleInject(css);
17
17
 
@@ -1,4 +1,4 @@
1
- import React, { Ref } from "react";
1
+ import React, { ReactNode, Ref } from "react";
2
2
  interface DisplayAction {
3
3
  type: "display";
4
4
  title?: string;
@@ -18,6 +18,7 @@ interface BaseConfirmationModalProps {
18
18
  readonly title?: string;
19
19
  /**
20
20
  * Text or rich text content for the body of the modal.
21
+ * Not displayed if **children** prop is passed.
21
22
  */
22
23
  readonly message?: string;
23
24
  /**
@@ -36,6 +37,14 @@ interface BaseConfirmationModalProps {
36
37
  * Type (Work or destructive) for confirm button.
37
38
  */
38
39
  readonly variation?: "work" | "destructive";
40
+ /**
41
+ * Size of the modal (small, large),
42
+ */
43
+ readonly size?: "small" | "large";
44
+ /**
45
+ * Child component. Not displayed if **message** prop is passed.
46
+ */
47
+ readonly children?: ReactNode;
39
48
  /**
40
49
  * Callback for when the confirm button is pressed.
41
50
  */
@@ -50,7 +59,6 @@ interface BaseConfirmationModalProps {
50
59
  onRequestClose?(): void;
51
60
  }
52
61
  interface SimpleConfirmationModalProps extends BaseConfirmationModalProps {
53
- readonly message: string;
54
62
  readonly open: boolean;
55
63
  readonly confirmLabel: string;
56
64
  }
@@ -58,5 +66,13 @@ interface ComplexConfirmationModalProps extends BaseConfirmationModalProps {
58
66
  readonly ref: Ref<ConfirmationModalRef>;
59
67
  readonly open?: undefined;
60
68
  }
61
- export declare const ConfirmationModal: React.ForwardRefExoticComponent<(SimpleConfirmationModalProps & React.RefAttributes<ConfirmationModalRef>) | (ComplexConfirmationModalProps & React.RefAttributes<ConfirmationModalRef>)>;
69
+ interface ChildrenMessage extends BaseConfirmationModalProps {
70
+ message?: never;
71
+ children: ReactNode;
72
+ }
73
+ interface StringMessage extends BaseConfirmationModalProps {
74
+ message: string;
75
+ children?: never;
76
+ }
77
+ export declare const ConfirmationModal: React.ForwardRefExoticComponent<(SimpleConfirmationModalProps & ChildrenMessage & React.RefAttributes<ConfirmationModalRef>) | (SimpleConfirmationModalProps & StringMessage & React.RefAttributes<ConfirmationModalRef>) | (ComplexConfirmationModalProps & ChildrenMessage & React.RefAttributes<ConfirmationModalRef>) | (ComplexConfirmationModalProps & StringMessage & React.RefAttributes<ConfirmationModalRef>)>;
62
78
  export {};
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var ConfirmationModal = require('../ConfirmationModal-474b3dbb.js');
5
+ var ConfirmationModal = require('../ConfirmationModal-53da29da.js');
6
6
  require('../tslib.es6-5b50eb8e.js');
7
7
  require('react');
8
8
  require('@jobber/hooks');
@@ -28,8 +28,8 @@ function confirmationModalReducer(state, action) {
28
28
  }
29
29
  }
30
30
  var ConfirmationModal = React.forwardRef(function ConfirmationModalInternal(_a, ref) {
31
- var title = _a.title, message = _a.message, _b = _a.open, open = _b === void 0 ? false : _b, _c = _a.confirmLabel, confirmLabel = _c === void 0 ? "Confirm" : _c, _d = _a.cancelLabel, cancelLabel = _d === void 0 ? "Cancel" : _d, onConfirm = _a.onConfirm, onCancel = _a.onCancel, onRequestClose = _a.onRequestClose, _e = _a.variation, variation = _e === void 0 ? "work" : _e;
32
- var _f = tslib_es6.__read(React.useReducer(confirmationModalReducer, {
31
+ var title = _a.title, message = _a.message, _b = _a.open, open = _b === void 0 ? false : _b, _c = _a.confirmLabel, confirmLabel = _c === void 0 ? "Confirm" : _c, _d = _a.cancelLabel, cancelLabel = _d === void 0 ? "Cancel" : _d, onConfirm = _a.onConfirm, onCancel = _a.onCancel, onRequestClose = _a.onRequestClose, _e = _a.variation, variation = _e === void 0 ? "work" : _e, _f = _a.size, size = _f === void 0 ? "small" : _f, children = _a.children;
32
+ var _g = tslib_es6.__read(React.useReducer(confirmationModalReducer, {
33
33
  title: title,
34
34
  message: message,
35
35
  open: false,
@@ -37,7 +37,7 @@ var ConfirmationModal = React.forwardRef(function ConfirmationModalInternal(_a,
37
37
  cancelLabel: cancelLabel,
38
38
  onConfirm: onConfirm,
39
39
  onCancel: onCancel,
40
- }), 2), state = _f[0], dispatch = _f[1];
40
+ }), 2), state = _g[0], dispatch = _g[1];
41
41
  // Expose a `show` method through this component's ref.
42
42
  React.useImperativeHandle(ref, function () { return ({
43
43
  show: function (_a) {
@@ -63,15 +63,15 @@ var ConfirmationModal = React.forwardRef(function ConfirmationModalInternal(_a,
63
63
  });
64
64
  }, [title, message, confirmLabel, cancelLabel, onConfirm, onCancel]);
65
65
  jobberHooks.useOnKeyDown(handleKeyboardShortcut, ["Escape", "Enter"]);
66
- return (React__default["default"].createElement(Modal.Modal, { title: state.title, open: open || state.open, size: "small", dismissible: false, primaryAction: {
66
+ return (React__default["default"].createElement(Modal.Modal, { title: state.title, open: open || state.open, size: size, dismissible: false, primaryAction: {
67
67
  label: state.confirmLabel,
68
68
  onClick: handleAction("confirm"),
69
69
  variation: variation === "destructive" ? "destructive" : "work",
70
70
  }, secondaryAction: {
71
71
  label: state.cancelLabel,
72
72
  onClick: handleAction("cancel"),
73
- } },
74
- React__default["default"].createElement(Content.Content, null, state.message && React__default["default"].createElement(Markdown.Markdown, { content: state.message }))));
73
+ } }, state.message ? (React__default["default"].createElement(Content.Content, null,
74
+ React__default["default"].createElement(Markdown.Markdown, { content: state.message }))) : (children)));
75
75
  function handleAction(type) {
76
76
  return function () {
77
77
  dispatch({ type: type });
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var FormatFile = require('../FormatFile-d93126eb.js');
5
+ var FormatFile = require('../FormatFile-96a358cb.js');
6
6
  require('react');
7
7
  require('classnames');
8
8
  require('filesize');
@@ -13,7 +13,7 @@ require('react-router-dom');
13
13
  require('../Icon-d5ad1a6d.js');
14
14
  require('@jobber/design');
15
15
  require('../Typography-c8df6609.js');
16
- require('../ConfirmationModal-474b3dbb.js');
16
+ require('../ConfirmationModal-53da29da.js');
17
17
  require('@jobber/hooks');
18
18
  require('../Modal-1f7e7433.js');
19
19
  require('react-dom');
@@ -6,7 +6,7 @@ var getHumanReadableFileSize = require('filesize');
6
6
  var styleInject_es = require('./style-inject.es-dcee06b6.js');
7
7
  var tslib_es6 = require('./tslib.es6-5b50eb8e.js');
8
8
  var Button = require('./Button-d0f7848a.js');
9
- var ConfirmationModal = require('./ConfirmationModal-474b3dbb.js');
9
+ var ConfirmationModal = require('./ConfirmationModal-53da29da.js');
10
10
  var Icon = require('./Icon-d5ad1a6d.js');
11
11
  var Typography = require('./Typography-c8df6609.js');
12
12
  var Text = require('./Text-c317e805.js');
@@ -7,12 +7,12 @@ var React = require('react');
7
7
  var classnames = require('classnames');
8
8
  var styleInject_es = require('../style-inject.es-dcee06b6.js');
9
9
  var LightBox = require('../LightBox-b893b656.js');
10
- var FormatFile = require('../FormatFile-d93126eb.js');
10
+ var FormatFile = require('../FormatFile-96a358cb.js');
11
11
  var Button = require('../Button-d0f7848a.js');
12
12
  require('react-image-lightbox');
13
13
  require('react-image-lightbox/style.css');
14
14
  require('filesize');
15
- require('../ConfirmationModal-474b3dbb.js');
15
+ require('../ConfirmationModal-53da29da.js');
16
16
  require('@jobber/hooks');
17
17
  require('../Modal-1f7e7433.js');
18
18
  require('react-dom');
@@ -7,7 +7,7 @@ var React = require('react');
7
7
  var classnames = require('classnames');
8
8
  var jobberHooks = require('@jobber/hooks');
9
9
  var styleInject_es = require('../style-inject.es-dcee06b6.js');
10
- var Checkbox = require('../Checkbox-4624199c.js');
10
+ var Checkbox = require('../Checkbox-70c7a272.js');
11
11
  var Text = require('../Text-c317e805.js');
12
12
  var Icon = require('../Icon-d5ad1a6d.js');
13
13
  require('../Typography-c8df6609.js');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jobber/components",
3
- "version": "2.93.2",
3
+ "version": "2.94.1",
4
4
  "license": "MIT",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -85,5 +85,5 @@
85
85
  "> 1%",
86
86
  "IE 10"
87
87
  ],
88
- "gitHead": "f704c0af4552b2fbb8440421223d01fa1ae604f6"
88
+ "gitHead": "c4d8e38a9c61e6ecde34b1208c251e909d4e6be5"
89
89
  }