linear-react-components-ui 1.1.0-beta.2 → 1.1.0-beta.4

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 (54) hide show
  1. package/lib/assets/styles/dialog.scss +16 -16
  2. package/lib/assets/styles/drawers.scss +9 -6
  3. package/lib/assets/styles/tabs.scss +22 -21
  4. package/lib/dialog/base/Header.js +11 -8
  5. package/lib/dialog/base/index.d.ts +8 -2
  6. package/lib/dialog/base/index.js +67 -57
  7. package/lib/dialog/form/index.js +7 -5
  8. package/lib/dialog/types.d.ts +8 -13
  9. package/lib/drawer/Header.js +3 -2
  10. package/lib/form/types.d.ts +1 -0
  11. package/lib/form/withFormSecurity.js +4 -2
  12. package/lib/index.d.ts +1 -1
  13. package/lib/inputs/date/Dialog.js +2 -4
  14. package/lib/inputs/date/index.js +1 -3
  15. package/lib/inputs/date/types.d.ts +1 -1
  16. package/lib/inputs/period/Dialog.d.ts +1 -1
  17. package/lib/inputs/period/Dialog.js +2 -4
  18. package/lib/inputs/period/index.js +3 -9
  19. package/lib/inputs/period/types.d.ts +1 -1
  20. package/lib/panel/Content.d.ts +1 -1
  21. package/lib/panel/DangerPanel.d.ts +1 -1
  22. package/lib/panel/Default.d.ts +1 -1
  23. package/lib/panel/Header.d.ts +1 -1
  24. package/lib/panel/InfoPanel.d.ts +1 -1
  25. package/lib/panel/PrimaryPanel.d.ts +1 -1
  26. package/lib/panel/SuccessPanel.d.ts +1 -1
  27. package/lib/panel/ToolBar.d.ts +1 -1
  28. package/lib/panel/WarningPanel.d.ts +1 -1
  29. package/lib/panel/helpers.d.ts +7 -2
  30. package/lib/panel/helpers.js +0 -13
  31. package/lib/panel/index.d.ts +1 -1
  32. package/lib/panel/types.d.ts +46 -5
  33. package/lib/tabs/DropdownTabs.d.ts +11 -0
  34. package/lib/tabs/DropdownTabs.js +75 -0
  35. package/lib/tabs/Menu.d.ts +1 -1
  36. package/lib/tabs/Menu.js +27 -15
  37. package/lib/tabs/{DropdownItems.d.ts → MenuTabs.d.ts} +3 -3
  38. package/lib/tabs/MenuTabs.js +90 -0
  39. package/lib/tabs/Panel.js +62 -39
  40. package/lib/tabs/context.d.ts +12 -0
  41. package/lib/tabs/context.js +162 -0
  42. package/lib/tabs/index.d.ts +1 -1
  43. package/lib/tabs/index.js +23 -198
  44. package/lib/tabs/tabHelpers.d.ts +4 -14
  45. package/lib/tabs/tabHelpers.js +30 -48
  46. package/lib/tabs/types.d.ts +44 -13
  47. package/lib/tabs/useTabs.d.ts +11 -0
  48. package/lib/tabs/useTabs.js +11 -0
  49. package/package.json +2 -1
  50. package/tsconfig.json +1 -0
  51. package/lib/tabs/DropdownItems.js +0 -64
  52. package/lib/tabs/MenuItems.d.ts +0 -11
  53. package/lib/tabs/MenuItems.js +0 -75
  54. package/lib/types-exUmt06D.d.ts +0 -50
@@ -6,19 +6,12 @@
6
6
  line-height: 22px;
7
7
  font-size: 14px;
8
8
  position: fixed;
9
- top: 0;
10
- bottom: 0;
11
- left: 0;
12
- right: 0;
9
+ inset: 0;
10
+ display: flex;
11
+ align-items: center;
12
+ justify-content: center;
13
13
  > .dialog {
14
- position: absolute;
15
- height: 100%;
16
- width: 100%;
17
- top: 0;
18
- left: 0;
19
- display: flex;
20
- align-items: center;
21
- justify-content: center;
14
+ display: contents;
22
15
  > .dialog-form-wrapper {
23
16
  @extend %component-box-shadow;
24
17
  width: 100%;
@@ -73,11 +66,17 @@
73
66
  }
74
67
  }
75
68
  .close-button {
76
- color: #777;
77
- cursor: pointer;
78
- font-size: 16px;
79
- text-shadow: 0 1px 0 $default-color;
80
69
  margin-left: auto;
70
+ line-height: 0;
71
+ cursor: pointer;
72
+ > svg {
73
+ fill: #252424;
74
+ pointer-events: fill;
75
+ transition: 0.2s fill;
76
+ &:hover {
77
+ fill: rgba(0, 0, 0, 0.164);
78
+ }
79
+ }
81
80
  }
82
81
  }
83
82
  .footer {
@@ -176,6 +175,7 @@
176
175
  background-color: #235a94;
177
176
  opacity: .3;
178
177
  position: fixed;
178
+ z-index: -1;
179
179
  height: 100%;
180
180
  width: 100%;
181
181
  top: 0;
@@ -94,6 +94,8 @@
94
94
  }
95
95
  .right {
96
96
  margin-left: 2px;
97
+ display: flex;
98
+ align-items: center;
97
99
  &.modal-title {
98
100
  color: #4e4c4c;
99
101
  font-weight: 600;
@@ -101,12 +103,13 @@
101
103
  }
102
104
  .closebutton {
103
105
  cursor: pointer;
104
- float: right;
105
- font-size: 16px;
106
- text-shadow: 0 1px 0 $default-color;
107
- margin-right: 5px;
108
- &:hover {
109
- color: rgba(0, 0, 0, 0.164);
106
+ > svg {
107
+ fill: #252424;
108
+ pointer-events: fill;
109
+ transition: 0.2s fill;
110
+ &:hover {
111
+ fill: rgba(0, 0, 0, 0.164);
112
+ }
110
113
  }
111
114
  }
112
115
  }
@@ -1,5 +1,7 @@
1
1
  @import "colors.scss";
2
2
 
3
+ $dropdown-width: 38px;
4
+
3
5
  %tab-closepanel {
4
6
  background-color: transparent;
5
7
  border: 0;
@@ -11,7 +13,6 @@
11
13
  visibility: hidden;
12
14
  transition: all 0.2s ease-in-out;
13
15
  border-radius: 4px;
14
-
15
16
  &:after {
16
17
  content: "×";
17
18
  font-size: 20px;
@@ -19,10 +20,8 @@
19
20
  color: $font-color-soft;
20
21
  transition: all 0.2s ease-in-out;
21
22
  }
22
-
23
23
  &:hover {
24
24
  background-color: $color-light-dark;
25
-
26
25
  &:after {
27
26
  color: $font-color-second;
28
27
  }
@@ -30,20 +29,14 @@
30
29
  }
31
30
 
32
31
  %tab-component-menus {
32
+ -webkit-box-shadow: 0px -1px 0px $component-border-color inset;
33
+ -moz-box-shadow: 0px -1px 0px $component-border-color inset;
34
+ box-shadow: 0px -1px 0px $component-border-color inset;
33
35
  .menu {
34
- -webkit-box-shadow: 0px -1px 0px $component-border-color inset;
35
- -moz-box-shadow: 0px -1px 0px $component-border-color inset;
36
- box-shadow: 0px -1px 0px $component-border-color inset;
37
36
  display: flex;
38
- flex-wrap: nowrap;
39
- justify-content: center;
40
37
  flex: 1;
41
-
42
- &.-firsttabident>.menuitem:first-child {
43
- margin-left: 15px;
44
- }
38
+ overflow: hidden;
45
39
  }
46
-
47
40
  .menu>.menuitem {
48
41
  border-bottom: 0;
49
42
  border-radius: 5px 5px 0px 0px;
@@ -55,10 +48,10 @@
55
48
  margin-right: 1px;
56
49
  padding: 0;
57
50
  width: auto;
51
+ min-width: 100px;
58
52
  display: flex;
59
53
  justify-content: space-between;
60
54
  align-items: center;
61
-
62
55
  &.selected {
63
56
  border: 1px solid $component-border-color;
64
57
  background: $font-color-second;
@@ -66,9 +59,7 @@
66
59
  border-top: 2px solid $component-selected-color;
67
60
  box-shadow: 0;
68
61
  font-weight: bold;
69
- /* z-index: 2; */
70
62
  }
71
-
72
63
  &.selected>.closepanel,
73
64
  &:hover>.closepanel {
74
65
  visibility: visible;
@@ -103,18 +94,28 @@
103
94
  height: 100%;
104
95
  overflow: auto;
105
96
  @extend %tab-component-menus;
106
-
107
97
  >.menucontainer {
108
- display: flex;
109
- flex-wrap: nowrap;
110
98
  width: 100%;
99
+ display: flex;
111
100
  min-height: 35px;
112
101
  overflow: hidden;
113
102
  @extend %tab-component-menus;
114
-
115
103
  >.dropdownbutton {
116
104
  border-bottom: 1px solid $component-border-color;
117
- padding: 0 0.8rem;
105
+ padding: 0;
106
+ width: $dropdown-width;
107
+ visibility: hidden;
108
+ pointer-events: none;
109
+ opacity: 0;
110
+ &.show {
111
+ visibility: visible;
112
+ pointer-events: all;
113
+ opacity: 1;
114
+ }
115
+ > svg {
116
+ margin: 0;
117
+ float: none;
118
+ }
118
119
  }
119
120
  }
120
121
 
@@ -8,17 +8,19 @@ exports["default"] = void 0;
8
8
  var _react = _interopRequireWildcard(require("react"));
9
9
  var _icons = _interopRequireDefault(require("../../icons"));
10
10
  var _form = require("../form");
11
+ var _base = require("../base");
11
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
12
13
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
13
14
  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 && Object.prototype.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; }
14
- var getCloseButton = function getCloseButton(handlerClose) {
15
+ var getCloseButton = function getCloseButton(handleClose) {
15
16
  return /*#__PURE__*/_react["default"].createElement("span", {
16
17
  className: "close-button",
17
- onClick: handlerClose,
18
- onKeyPress: undefined,
18
+ onClick: handleClose,
19
19
  role: "button",
20
20
  tabIndex: 0
21
- }, "X");
21
+ }, /*#__PURE__*/_react["default"].createElement(_icons["default"], {
22
+ name: "cancel2"
23
+ }));
22
24
  };
23
25
  var getIcon = function getIcon(titleIcon, icon) {
24
26
  if (icon) {
@@ -38,14 +40,15 @@ var Header = function Header(_ref) {
38
40
  title = _ref.title,
39
41
  icon = _ref.icon,
40
42
  titleIcon = _ref.titleIcon;
41
- var _useContext = (0, _react.useContext)(_form.FormDialogContext),
42
- headerRef = _useContext.headerRef;
43
+ var formDialogContext = (0, _react.useContext)(_form.FormDialogContext);
44
+ var dialogContext = (0, _react.useContext)(_base.DialogContext);
45
+ var handleClose = handlerClose || dialogContext.handleClose;
43
46
  return /*#__PURE__*/_react["default"].createElement("div", {
44
47
  role: "button",
45
48
  tabIndex: -1,
46
49
  onFocus: function onFocus() {},
47
50
  onBlur: function onBlur() {},
48
- ref: headerRef,
51
+ ref: formDialogContext === null || formDialogContext === void 0 ? void 0 : formDialogContext.headerRef,
49
52
  className: "dialog-header"
50
53
  }, /*#__PURE__*/_react["default"].createElement("div", {
51
54
  className: "".concat(icon !== null || titleIcon !== null ? 'left' : '')
@@ -53,6 +56,6 @@ var Header = function Header(_ref) {
53
56
  className: "right"
54
57
  }, /*#__PURE__*/_react["default"].createElement("h5", {
55
58
  className: "modal-title"
56
- }, title), showCloseButton && handlerClose && getCloseButton(handlerClose)));
59
+ }, title), showCloseButton && getCloseButton(handleClose)));
57
60
  };
58
61
  var _default = exports["default"] = Header;
@@ -4,6 +4,12 @@ import '../../@types/Align.js';
4
4
  import '../../@types/Icon.js';
5
5
  import '../../icons/helper.js';
6
6
 
7
- declare const BaseDialog: (props: IBaseProps) => React__default.ReactPortal;
7
+ type DialogContextType = {
8
+ handleClose: () => void;
9
+ open: boolean;
10
+ onOpenChange: (open: boolean) => void;
11
+ };
12
+ declare const DialogContext: React__default.Context<DialogContextType>;
13
+ declare const BaseDialog: (props: IBaseProps) => JSX.Element | null;
8
14
 
9
- export { BaseDialog as default };
15
+ export { DialogContext, BaseDialog as default };
@@ -4,7 +4,7 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports["default"] = void 0;
7
+ exports["default"] = exports.DialogContext = void 0;
8
8
  var _react = _interopRequireWildcard(require("react"));
9
9
  var _reactDom = _interopRequireDefault(require("react-dom"));
10
10
  var _style = _interopRequireDefault(require("./style"));
@@ -19,16 +19,21 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
19
19
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
20
20
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
21
21
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
22
- var body = document.getElementsByTagName('body')[0];
22
+ var DialogContext = exports.DialogContext = /*#__PURE__*/(0, _react.createContext)({});
23
+ var _document = document,
24
+ body = _document.body;
23
25
  var BaseDialog = function BaseDialog(props) {
24
26
  var _props$overlay = props.overlay,
25
27
  overlay = _props$overlay === void 0 ? true : _props$overlay,
26
28
  closeOnEsc = props.closeOnEsc,
27
- handlerClose = props.handlerClose,
28
29
  closeOnOutsideClick = props.closeOnOutsideClick,
29
30
  wrapperClassName = props.wrapperClassName,
30
31
  children = props.children,
31
- zIndex = props.zIndex;
32
+ openProp = props.open,
33
+ onOpenChange = props.onOpenChange,
34
+ _props$zIndex = props.zIndex,
35
+ zIndex = _props$zIndex === void 0 ? 0 : _props$zIndex,
36
+ handlerClose = props.handlerClose;
32
37
  var _useContext = (0, _react.useContext)(_form.FormDialogContext),
33
38
  headerRef = _useContext.headerRef;
34
39
  var wrapperEl = (0, _react.useRef)(null);
@@ -36,47 +41,36 @@ var BaseDialog = function BaseDialog(props) {
36
41
  _useState2 = _slicedToArray(_useState, 2),
37
42
  isDragging = _useState2[0],
38
43
  setIsDragging = _useState2[1];
39
- var dialogEl = (0, _react.useRef)(document.createElement('div'));
40
- dialogEl.current.className = 'dialog';
41
- dialogEl.current.dataset.testid = 'dialog-component';
42
- var modalContainerEl = (0, _react.useRef)(document.createElement('div'));
43
- var overlayEl = (0, _react.useRef)(null);
44
- if (overlay && overlayEl.current === null) {
45
- overlayEl.current = document.createElement('div');
46
- overlayEl.current.className = 'modal-overlay';
47
- overlayEl.current.dataset.testid = 'modal-overlay';
48
- overlayEl.current.style.zIndex = "".concat(99998 + document.body.getElementsByClassName('modal-overlay').length);
49
- body.appendChild(overlayEl.current);
44
+ var _useState3 = (0, _react.useState)(openProp),
45
+ _useState4 = _slicedToArray(_useState3, 2),
46
+ _useState4$ = _useState4[0],
47
+ open = _useState4$ === void 0 ? true : _useState4$,
48
+ setOpen = _useState4[1];
49
+ if (openProp !== undefined && openProp !== open) {
50
+ setOpen(openProp);
50
51
  }
52
+ var handleClose = function handleClose() {
53
+ if (openProp !== undefined && onOpenChange) {
54
+ onOpenChange(false);
55
+ } else {
56
+ if (handlerClose) handlerClose();
57
+ onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(false);
58
+ setOpen(false);
59
+ }
60
+ };
51
61
  var handleClickOutside = function handleClickOutside(event) {
62
+ if (!closeOnOutsideClick) return;
52
63
  var target = event.target;
53
- var dialogAlert = document.getElementsByClassName('dialog-alert-wrapper');
64
+ event.stopPropagation();
54
65
  if (wrapperEl !== null && wrapperEl.current !== null && !isDragging && !wrapperEl.current.contains(target)) {
55
- if (dialogAlert.length > 0 && dialogAlert[dialogAlert.length - 1].contains(target) || target.classList.contains('button-component')) return;
56
- if (handlerClose) handlerClose();
66
+ handleClose();
57
67
  }
58
68
  };
59
69
  var handleCloseOnEsc = function handleCloseOnEsc(event) {
60
- if (event.keyCode === 27 || event.key === 'ESC') {
61
- if (handlerClose) handlerClose();
70
+ if (event.key === 'Escape') {
71
+ handleClose();
62
72
  }
63
73
  };
64
- var setModalContainer = function setModalContainer() {
65
- var zIndexDynamicModalContainers = "".concat(99999 + document.body.getElementsByClassName('modalcontainer').length);
66
- modalContainerEl.current.className = 'modalcontainer';
67
- modalContainerEl.current.style.zIndex = zIndex || zIndexDynamicModalContainers;
68
- body.appendChild(modalContainerEl.current);
69
- modalContainerEl.current.appendChild(dialogEl.current);
70
- };
71
- var removeModalContainer = function removeModalContainer() {
72
- var modalComponent = document.getElementsByClassName('modalcontainer');
73
- document.body.removeChild(modalComponent[modalComponent.length - 1]);
74
- };
75
- var removeOverlay = function removeOverlay() {
76
- var countModalOverlays = document.body.getElementsByClassName('modal-overlay').length;
77
- var modalOverlay = document.getElementsByClassName('modal-overlay')[countModalOverlays - 1];
78
- body.removeChild(modalOverlay);
79
- };
80
74
  var onDialogPositionChange = function onDialogPositionChange(_ref) {
81
75
  var positionX = _ref.positionX,
82
76
  positionY = _ref.positionY;
@@ -115,35 +109,51 @@ var BaseDialog = function BaseDialog(props) {
115
109
  var onMouseUp = function onMouseUp() {
116
110
  if (wrapperEl.current) setIsDragging(false);
117
111
  };
118
- var renderModal = function renderModal() {
119
- return /*#__PURE__*/_react["default"].createElement("div", {
120
- className: wrapperClassName,
121
- "data-testid": "dialog-wrapper",
122
- style: (0, _style["default"])(props),
123
- ref: wrapperEl
124
- }, children);
125
- };
112
+ var createdModal = /*#__PURE__*/_react["default"].createElement("div", {
113
+ className: "modalcontainer",
114
+ style: {
115
+ zIndex: 99999 + Number(zIndex)
116
+ },
117
+ onMouseDown: handleClickOutside
118
+ }, overlay && /*#__PURE__*/_react["default"].createElement("div", {
119
+ className: "modal-overlay",
120
+ "data-testid": "modal-overlay"
121
+ }), /*#__PURE__*/_react["default"].createElement("div", {
122
+ className: "dialog",
123
+ "data-testid": "dialog-component"
124
+ }, /*#__PURE__*/_react["default"].createElement("div", {
125
+ className: wrapperClassName,
126
+ "data-testid": "dialog-wrapper",
127
+ style: (0, _style["default"])(props),
128
+ ref: wrapperEl
129
+ }, children)));
126
130
  (0, _react.useEffect)(function () {
127
- setModalContainer();
128
- if (closeOnEsc) document.addEventListener('keyup', handleCloseOnEsc);
131
+ if (open && closeOnEsc) {
132
+ document.addEventListener('keydown', handleCloseOnEsc);
133
+ }
129
134
  return function () {
130
- removeModalContainer();
131
- if (overlay) removeOverlay();
132
- if (closeOnEsc) document.removeEventListener('keyup', handleCloseOnEsc);
135
+ document.removeEventListener('keydown', handleCloseOnEsc);
133
136
  };
134
- }, []);
137
+ }, [open, closeOnEsc]);
135
138
  (0, _react.useEffect)(function () {
136
- document.addEventListener('mousedown', onMouseDown);
137
- document.addEventListener('mouseup', onMouseUp);
138
- if (closeOnOutsideClick) document.addEventListener('click', handleClickOutside);
139
- if (isDragging) document.addEventListener('mousemove', onMouseMove);
139
+ if (open) {
140
+ document.addEventListener('mousedown', onMouseDown);
141
+ document.addEventListener('mouseup', onMouseUp);
142
+ if (isDragging) document.addEventListener('mousemove', onMouseMove);
143
+ }
140
144
  return function () {
141
- if (closeOnOutsideClick) document.removeEventListener('click', handleClickOutside);
142
145
  document.removeEventListener('mousedown', onMouseDown);
143
146
  document.removeEventListener('mouseup', onMouseUp);
144
147
  document.removeEventListener('mousemove', onMouseMove);
145
148
  };
146
- }, [isDragging]);
147
- return /*#__PURE__*/_reactDom["default"].createPortal(renderModal(), dialogEl.current);
149
+ }, [isDragging, open]);
150
+ if (!open) return null;
151
+ return /*#__PURE__*/_react["default"].createElement(DialogContext.Provider, {
152
+ value: {
153
+ handleClose: handleClose,
154
+ open: open,
155
+ onOpenChange: onOpenChange || setOpen
156
+ }
157
+ }, /*#__PURE__*/_reactDom["default"].createPortal(createdModal, body));
148
158
  };
149
159
  var _default = exports["default"] = BaseDialog;
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
@@ -17,12 +16,13 @@ var _withFormSecurity = _interopRequireWildcard(require("../../form/withFormSecu
17
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
18
17
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
19
18
  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 && Object.prototype.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; }
19
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
20
+ 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); }
20
21
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
21
22
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
22
23
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
23
24
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
24
25
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
25
- 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); }
26
26
  var FormDialogContext = exports.FormDialogContext = /*#__PURE__*/(0, _react.createContext)({});
27
27
  var ModalForm = function ModalForm(props) {
28
28
  var _props$showFooter = props.showFooter,
@@ -63,9 +63,11 @@ var ModalForm = function ModalForm(props) {
63
63
  wrapperClassName: "dialog-form-wrapper"
64
64
  }), props.title && /*#__PURE__*/_react["default"].createElement("div", {
65
65
  className: "header-form"
66
- }, /*#__PURE__*/_react["default"].createElement(_Header["default"], _extends({
67
- handlerClose: props.handlerClose
68
- }, props))), /*#__PURE__*/_react["default"].createElement(_Content["default"], {
66
+ }, /*#__PURE__*/_react["default"].createElement(_Header["default"], {
67
+ title: props.title,
68
+ handlerClose: props.handlerClose,
69
+ icon: props.icon
70
+ })), /*#__PURE__*/_react["default"].createElement(_Content["default"], {
69
71
  styleForContent: _objectSpread(_objectSpread({}, props.styleForContent), overlayStyle)
70
72
  }, content || children), getSpinner(), showFooter && props.buttons && props.buttons.length > 0 && /*#__PURE__*/_react["default"].createElement(_Footer["default"], null, /*#__PURE__*/_react["default"].createElement(_index.ButtonContainer, _extends({}, props, {
71
73
  style: _objectSpread({}, overlayStyle)
@@ -19,30 +19,25 @@ interface IHeaderProps {
19
19
  }
20
20
  interface IBaseProps {
21
21
  wrapperClassName: string;
22
- width: string;
23
- height: string;
22
+ width?: string;
23
+ height?: string;
24
24
  children: ReactNode | ReactNode[];
25
- handlerClose?: () => void;
26
25
  closeOnEsc?: boolean;
27
26
  closeOnOutsideClick?: boolean;
28
27
  overlay?: boolean;
29
28
  textAlign?: TextAlign;
30
- zIndex?: string;
29
+ zIndex?: number | string;
30
+ open?: boolean;
31
+ onOpenChange?: (open: boolean) => void;
32
+ handlerClose?: () => void;
31
33
  }
32
- interface IFormProps {
33
- children: ReactNode | ReactNode[];
34
+ interface IFormProps extends Omit<IBaseProps, 'textAlign' | 'zIndex' | 'wrapperClassName'> {
34
35
  buttons?: JSX.Element[];
35
36
  styleForContent?: CSSProperties;
36
37
  title?: string;
37
- width?: string;
38
- height?: string;
39
38
  showFooter?: boolean;
40
39
  isWaiting?: boolean;
41
- handlerClose?: () => void;
42
40
  icon?: JSX.Element;
43
- closeOnOutsideClick?: boolean;
44
- closeOnEsc?: boolean;
45
- overlay?: boolean;
46
41
  content?: ReactNode;
47
42
  }
48
43
  interface ICommonDialogProps {
@@ -57,7 +52,7 @@ interface IQuestionProps {
57
52
  isWaiting?: boolean;
58
53
  text?: string;
59
54
  title?: string;
60
- zIndex?: string;
55
+ zIndex?: number | string;
61
56
  }
62
57
  interface ICustomProps {
63
58
  icon: ReactElement;
@@ -16,10 +16,11 @@ var getCloseButton = function getCloseButton(handlerClose) {
16
16
  "data-testid": "header-closebutton",
17
17
  className: "closebutton",
18
18
  onClick: handlerClose,
19
- onKeyPress: undefined,
20
19
  role: "button",
21
20
  tabIndex: 0
22
- }, "X");
21
+ }, /*#__PURE__*/_react["default"].createElement(_icons["default"], {
22
+ name: "cancel2"
23
+ }));
23
24
  };
24
25
  var getIcon = function getIcon(titleIcon, icon) {
25
26
  if (titleIcon || icon) {
@@ -175,6 +175,7 @@ interface IWithFieldContext {
175
175
  handlerSetValidatorFromComponent: (validator: Validator | Validator[]) => void;
176
176
  }
177
177
  interface IWithFormSecurity {
178
+ onOpenChange?: (open: boolean) => void;
178
179
  handlerClose?: () => void;
179
180
  onClick?: MouseEventHandler;
180
181
  children?: ReactNode;
@@ -18,7 +18,8 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
18
18
  var FormSecurityContext = exports.FormSecurityContext = /*#__PURE__*/_react["default"].createContext({});
19
19
  var withFormSecurity = function withFormSecurity(WrappedComponent) {
20
20
  var EnhancedComponent = function EnhancedComponent(props) {
21
- var handlerClose = props.handlerClose;
21
+ var onOpenChange = props.onOpenChange,
22
+ handlerClose = props.handlerClose;
22
23
  var changedData = (0, _react.useRef)(false);
23
24
  var securityBeforeUnload = (0, _react.useRef)(false);
24
25
  var _useState = (0, _react.useState)(false),
@@ -28,9 +29,10 @@ var withFormSecurity = function withFormSecurity(WrappedComponent) {
28
29
  var newHandlerClose = function newHandlerClose() {
29
30
  if (changedData.current && securityBeforeUnload.current) {
30
31
  setShowQuestion(true);
31
- } else if (handlerClose) handlerClose();
32
+ } else if (onOpenChange) onOpenChange(false);else if (handlerClose) handlerClose();
32
33
  };
33
34
  var onConfirmClick = function onConfirmClick() {
35
+ if (onOpenChange) onOpenChange(false);
34
36
  if (handlerClose) handlerClose();
35
37
  };
36
38
  var onUnconfirmClick = function onUnconfirmClick() {
package/lib/index.d.ts CHANGED
@@ -7,7 +7,7 @@ export { default as List } from './list/index.js';
7
7
  export { default as Radio } from './radio/index.js';
8
8
  export { default as Tab } from './tabs/index.js';
9
9
  export { default as Dialog } from './dialog/base/index.js';
10
- import './types-exUmt06D.js';
10
+ import './panel/types.js';
11
11
  import 'react';
12
12
  import './@types/PermissionAttr.js';
13
13
  import './internals/colorStyles.js';
@@ -8,15 +8,13 @@ var _react = _interopRequireDefault(require("react"));
8
8
  var _base = _interopRequireDefault(require("../../dialog/base"));
9
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
10
10
  var Dialog = function Dialog(_ref) {
11
- var _handlerClose = _ref.handlerClose,
11
+ var handlerClose = _ref.handlerClose,
12
12
  children = _ref.children,
13
13
  dialogSize = _ref.dialogSize;
14
14
  return /*#__PURE__*/_react["default"].createElement(_base["default"], {
15
15
  width: dialogSize.width,
16
16
  height: dialogSize.height,
17
- handlerClose: function handlerClose() {
18
- _handlerClose();
19
- },
17
+ onOpenChange: handlerClose,
20
18
  closeOnOutsideClick: true,
21
19
  closeOnEsc: true,
22
20
  wrapperClassName: ""
@@ -202,9 +202,7 @@ var DatePicker = function DatePicker(props) {
202
202
  if (showCalendarInDialog) {
203
203
  return /*#__PURE__*/_react["default"].createElement(_Dialog["default"], {
204
204
  dialogSize: dialogSize,
205
- handlerClose: function handlerClose() {
206
- setShowCalendar(false);
207
- }
205
+ handlerClose: setShowCalendar
208
206
  }, getCalendar(valueState, props === null || props === void 0 ? void 0 : props.calendarColorStyle));
209
207
  }
210
208
  return /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
@@ -45,7 +45,7 @@ interface IDateDropdownProps {
45
45
  }
46
46
  interface IDateDialogProps {
47
47
  children: ReactNode | ReactNode[];
48
- handlerClose: () => void;
48
+ handlerClose: (open: boolean) => void;
49
49
  dialogSize: {
50
50
  width: string;
51
51
  height: string;
@@ -7,6 +7,6 @@ import '../../@types/PermissionAttr.js';
7
7
  import '../base/types.js';
8
8
  import '../../@types/Align.js';
9
9
 
10
- declare const Dialog: ({ handlerClose, children, dialogSize }: IDialogProps) => JSX.Element;
10
+ declare const Dialog: ({ onOpenChange, children, dialogSize }: IDialogProps) => JSX.Element;
11
11
 
12
12
  export { Dialog as default };
@@ -8,15 +8,13 @@ var _react = _interopRequireDefault(require("react"));
8
8
  var _base = _interopRequireDefault(require("../../dialog/base"));
9
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
10
10
  var Dialog = function Dialog(_ref) {
11
- var _handlerClose = _ref.handlerClose,
11
+ var onOpenChange = _ref.onOpenChange,
12
12
  children = _ref.children,
13
13
  dialogSize = _ref.dialogSize;
14
14
  return /*#__PURE__*/_react["default"].createElement(_base["default"], {
15
15
  width: dialogSize.width,
16
16
  height: dialogSize.height,
17
- handlerClose: function handlerClose() {
18
- _handlerClose();
19
- },
17
+ onOpenChange: onOpenChange,
20
18
  closeOnOutsideClick: true,
21
19
  closeOnEsc: true,
22
20
  wrapperClassName: ""