linear-react-components-ui 1.0.0-rc.5 → 1.0.0-rc.8

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 (39) hide show
  1. package/lib/assets/styles/commons.scss +10 -0
  2. package/lib/assets/styles/dropdown.scss +35 -2
  3. package/lib/assets/styles/effects.scss +11 -0
  4. package/lib/assets/styles/list.scss +8 -0
  5. package/lib/assets/styles/table.scss +2 -7
  6. package/lib/dialog/form/index.js +4 -2
  7. package/lib/dialog/types.d.ts +1 -0
  8. package/lib/drawer/Drawer.d.ts +1 -1
  9. package/lib/drawer/Drawer.js +16 -2
  10. package/lib/drawer/types.d.ts +3 -0
  11. package/lib/dropdown/withDropdown.js +1 -1
  12. package/lib/form/FieldNumber.js +16 -8
  13. package/lib/form/types.d.ts +11 -6
  14. package/lib/inputs/base/types.d.ts +3 -1
  15. package/lib/inputs/date/index.js +2 -3
  16. package/lib/inputs/mask/BaseMask.js +29 -15
  17. package/lib/inputs/mask/imaskHOC.js +9 -4
  18. package/lib/inputs/mask/types.d.ts +4 -1
  19. package/lib/inputs/number/BaseNumber.js +44 -25
  20. package/lib/inputs/number/Currency.d.ts +2 -2
  21. package/lib/inputs/number/types.d.ts +3 -2
  22. package/lib/inputs/period/index.js +2 -0
  23. package/lib/inputs/search/index.js +2 -2
  24. package/lib/inputs/select/multiple/index.js +27 -29
  25. package/lib/inputs/select/simple/index.js +17 -16
  26. package/lib/inputs/types.d.ts +4 -8
  27. package/lib/menus/float/MenuItem.d.ts +1 -1
  28. package/lib/menus/float/MenuItem.js +14 -5
  29. package/lib/menus/float/SubMenuContainer.js +83 -0
  30. package/lib/menus/float/index.d.ts +31 -1
  31. package/lib/menus/float/index.js +10 -1
  32. package/lib/menus/float/types.d.ts +1 -0
  33. package/lib/menus/index.d.ts +1 -0
  34. package/lib/menus/sidenav/index.js +1 -1
  35. package/lib/menus/sidenav/popup_menu_search/index.js +1 -0
  36. package/lib/panel/Header.js +1 -1
  37. package/lib/tabs/DropdownItems.d.ts +1 -1
  38. package/lib/tabs/DropdownItems.js +1 -1
  39. package/package.json +2 -1
@@ -116,6 +116,16 @@
116
116
  }
117
117
  }
118
118
 
119
+ %skeleton-transparency {
120
+ content: '';
121
+ position: absolute;
122
+ width: 100%;
123
+ height: 100%;
124
+ background: rgb(255,255,255);
125
+ background: linear-gradient( 180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.2) 30%,
126
+ rgba(255,255,255,0.6) 70%,rgba(255,255,255,0.8) 100%);
127
+ }
128
+
119
129
  /* Efeito utilizado para o componente Skeleton */
120
130
  @keyframes shimmer {
121
131
  0% {
@@ -1,5 +1,6 @@
1
1
  @import "commons.scss";
2
2
  @import "effects.scss";
3
+ @import "colors.scss";
3
4
  .dropdown-component {
4
5
  position: absolute;
5
6
  animation: 0.3s ease-in 0s 1 slideDown, revealelement 0.3s forwards ease-in-out;
@@ -75,12 +76,44 @@
75
76
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
76
77
  animation: revealelement 0.3s forwards ease-in-out;
77
78
  margin-right: 7px;
78
- > .floatmenuitem {
79
+ > .floatmenuitem,
80
+ > .floatsubmenu .floatmenuitem {
79
81
  text-decoration: none;
80
82
  color: #666666;
81
83
  text-align: center;
82
84
  }
83
- > .floatmenuitem .-items {
85
+ > .floatsubmenu {
86
+ position: relative;
87
+ animation: slideWithPositionRightToLeft 0.4s;
88
+ }
89
+ > .floatsubmenu {
90
+ width: 100%;
91
+ > .submenuheader {
92
+ color: $font-color-soft;
93
+ display: flex;
94
+ align-items: center;
95
+ gap: 10px;
96
+ margin-bottom: 10px;
97
+ span {
98
+ font-weight: 500;
99
+ }
100
+ }
101
+ > .submenucontent {
102
+ display: -webkit-box;
103
+ display: -ms-flexbox;
104
+ display: flex;
105
+ -webkit-box-orient: horizontal;
106
+ -webkit-box-direction: normal;
107
+ -ms-flex-flow: row wrap;
108
+ flex-flow: row wrap;
109
+
110
+ svg {
111
+ margin: 0 auto;
112
+ }
113
+ }
114
+ }
115
+ > .floatmenuitem .-items,
116
+ > .floatsubmenu .floatmenuitem .-items {
84
117
  border: solid 1px $default-hover-color;
85
118
  margin: 0 5px 5px 0;
86
119
  font-size: 12px;
@@ -791,6 +791,17 @@
791
791
  }
792
792
  }
793
793
 
794
+ @keyframes slideWithPositionRightToLeft {
795
+ from {
796
+ left: 100%;
797
+ opacity: 0;
798
+ }
799
+ to {
800
+ left: 0;
801
+ opacity: 1;
802
+ }
803
+ }
804
+
794
805
  @keyframes slideRightToLeftWithFade {
795
806
  from {
796
807
  opacity: 0;
@@ -20,6 +20,14 @@ $item-height: 48px;
20
20
  line-height: 40px!important;
21
21
  }
22
22
  }
23
+ > .skeleton-transparency {
24
+ position: relative;
25
+ &::after {
26
+ @extend %skeleton-transparency;
27
+ top: 0;
28
+ left: 0;
29
+ }
30
+ }
23
31
  }
24
32
 
25
33
  .item-container {
@@ -1,5 +1,6 @@
1
1
  @import "colors.scss";
2
2
  @import "effects.scss";
3
+ @import "commons.scss";
3
4
 
4
5
  .table-component {
5
6
  width: 100%;
@@ -23,13 +24,7 @@
23
24
  > .tbody {
24
25
  position: relative;
25
26
  &.skeleton-transparency::before {
26
- content: '';
27
- position: absolute;
28
- width: 100%;
29
- height: 100%;
30
- background: rgb(255,255,255);
31
- background: linear-gradient( 180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.2) 30%,
32
- rgba(255,255,255,0.6) 70%,rgba(255,255,255,0.8) 100%);
27
+ @extend %skeleton-transparency;
33
28
  }
34
29
  }
35
30
  > .headercontainer > .innertable > .theader > .trow,
@@ -26,7 +26,9 @@ var ModalForm = function ModalForm(props) {
26
26
  _props$width = props.width,
27
27
  width = _props$width === void 0 ? '50%' : _props$width,
28
28
  _props$height = props.height,
29
- height = _props$height === void 0 ? '50%' : _props$height;
29
+ height = _props$height === void 0 ? '50%' : _props$height,
30
+ content = props.content,
31
+ children = props.children;
30
32
  var overlayStyle = isWaiting ? {
31
33
  opacity: 0.4,
32
34
  pointerEvent: 'none'
@@ -54,7 +56,7 @@ var ModalForm = function ModalForm(props) {
54
56
  handlerClose: props.handlerClose
55
57
  }, props))), /*#__PURE__*/_react.default.createElement(_Content.default, {
56
58
  styleForContent: _extends({}, props.styleForContent, overlayStyle)
57
- }, props.children), getSpinner(), showFooter && /*#__PURE__*/_react.default.createElement(_Footer.default, null, /*#__PURE__*/_react.default.createElement(_index.ButtonContainer, _extends({}, props, {
59
+ }, content || children), getSpinner(), showFooter && /*#__PURE__*/_react.default.createElement(_Footer.default, null, /*#__PURE__*/_react.default.createElement(_index.ButtonContainer, _extends({}, props, {
58
60
  style: _extends({}, overlayStyle)
59
61
  }), props.buttons.map(function (button) {
60
62
  if (context && context.securityBeforeUnload && button && button.type && button.type.name === 'CancelButton') {
@@ -40,6 +40,7 @@ interface IFormProps {
40
40
  closeOnOutsideClick?: boolean;
41
41
  closeOnEsc?: boolean;
42
42
  overlay?: boolean;
43
+ content?: ReactNode;
43
44
  }
44
45
  interface ICommonDialogProps {
45
46
  onConfirmClick?: () => void;
@@ -2,6 +2,6 @@ import React__default from 'react';
2
2
  import { IDrawerProps } from './types.js';
3
3
  import '../@types/PermissionAttr.js';
4
4
 
5
- declare const BaseDrawer: ({ position, customClass, children, style, customClassForContent, targetId, closeOnEsc, overlay, permissionAttr, skeletonize, handlerClose, }: IDrawerProps) => React__default.ReactPortal;
5
+ declare const BaseDrawer: ({ position, customClass, children, style, customClassForContent, targetId, closeOnEsc, overlay, permissionAttr, skeletonize, handlerClose, customClassForDrawer, content, title, ...rest }: IDrawerProps) => React__default.ReactPortal;
6
6
 
7
7
  export { BaseDrawer as default };
@@ -9,6 +9,8 @@ var _react = _interopRequireWildcard(require("react"));
9
9
  var _reactDom = _interopRequireDefault(require("react-dom"));
10
10
  var _helpers = _interopRequireDefault(require("./helpers"));
11
11
  var _permissionValidations = require("../permissionValidations");
12
+ var _ = require(".");
13
+ var _excluded = ["position", "customClass", "children", "style", "customClassForContent", "targetId", "closeOnEsc", "overlay", "permissionAttr", "skeletonize", "handlerClose", "customClassForDrawer", "content", "title"];
12
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
15
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
14
16
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -18,6 +20,9 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
18
20
  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; }
19
21
  function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
20
22
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
23
+ 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); }
24
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
25
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
21
26
  var BaseDrawer = function BaseDrawer(_ref) {
22
27
  var _ref$position = _ref.position,
23
28
  position = _ref$position === void 0 ? 'left' : _ref$position,
@@ -30,7 +35,14 @@ var BaseDrawer = function BaseDrawer(_ref) {
30
35
  overlay = _ref.overlay,
31
36
  permissionAttr = _ref.permissionAttr,
32
37
  skeletonize = _ref.skeletonize,
33
- handlerClose = _ref.handlerClose;
38
+ handlerClose = _ref.handlerClose,
39
+ customClassForDrawer = _ref.customClassForDrawer,
40
+ content = _ref.content,
41
+ title = _ref.title,
42
+ rest = _objectWithoutProperties(_ref, _excluded);
43
+ var headerProps = _extends({}, rest, {
44
+ title: title
45
+ });
34
46
  var drawerContainerEl = (0, _react.useRef)(document.createElement('div'));
35
47
  drawerContainerEl.current.className = 'drawercontainer';
36
48
  var drawerComponentEl = (0, _react.useRef)();
@@ -102,7 +114,9 @@ var BaseDrawer = function BaseDrawer(_ref) {
102
114
  }, /*#__PURE__*/_react.default.createElement("div", {
103
115
  "data-testid": "drawercontent",
104
116
  className: "drawercontent ".concat(skeletonize ? '-skeletonized' : '', " ").concat(customClassForContent)
105
- }, children)));
117
+ }, title && /*#__PURE__*/_react.default.createElement(_.DrawerHeader, _extends({}, headerProps, {
118
+ customClass: customClassForDrawer
119
+ })), content ? /*#__PURE__*/_react.default.createElement(_.DrawerContent, null, content) : children)));
106
120
  };
107
121
  return /*#__PURE__*/_reactDom.default.createPortal(drawerContent(), drawerContainerEl.current);
108
122
  };
@@ -6,6 +6,7 @@ interface IDrawerProps extends React__default.HTMLAttributes<HTMLDivElement> {
6
6
  children?: ReactNode;
7
7
  customClass?: string;
8
8
  customClassForContent?: string;
9
+ customClassForDrawer?: string;
9
10
  position?: string;
10
11
  handlerClose?: () => void;
11
12
  closeOnEsc?: boolean;
@@ -13,6 +14,8 @@ interface IDrawerProps extends React__default.HTMLAttributes<HTMLDivElement> {
13
14
  permissionAttr?: PermissionAttr | PermissionAttr[];
14
15
  skeletonize?: boolean;
15
16
  closeOnOutsideClick?: boolean;
17
+ content?: string;
18
+ title?: string;
16
19
  }
17
20
  interface IDrawerHeaderProps extends React__default.HTMLAttributes<HTMLDivElement> {
18
21
  showCloseButton?: boolean;
@@ -52,7 +52,7 @@ var withDropdown = function withDropdown(WrappedComponent) {
52
52
  }
53
53
  var onClickOutside = function onClickOutside(_ref) {
54
54
  var target = _ref.target;
55
- if (popupRef && popupRef.current && target !== popupRef.current && !popupRef.current.contains(target) && wrappedComponentRef.current !== target) {
55
+ if (popupRef !== null && popupRef !== void 0 && popupRef.current && target !== (popupRef === null || popupRef === void 0 ? void 0 : popupRef.current) && !(popupRef !== null && popupRef !== void 0 && popupRef.current.contains(target)) && wrappedComponentRef.current !== target) {
56
56
  setOpened(false);
57
57
  }
58
58
  };
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
@@ -8,12 +9,16 @@ var _react = _interopRequireDefault(require("react"));
8
9
  var _lodash = _interopRequireDefault(require("lodash"));
9
10
  var _withFieldHOC = _interopRequireDefault(require("./withFieldHOC"));
10
11
  var _helpers = require("./helpers");
12
+ var constants = _interopRequireWildcard(require("../internals/constants"));
13
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
14
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
11
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
16
  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); }
13
- var getOnBlurEvent = function getOnBlurEvent(_ref) {
17
+ var getEventProps = function getEventProps(_ref) {
14
18
  var name = _ref.name,
15
19
  validators = _ref.validators,
16
20
  _onBlur = _ref.onBlur,
21
+ _onKeyDown = _ref.onKeyDown,
17
22
  handlerFieldValidade = _ref.handlerFieldValidade,
18
23
  handlerFieldChange = _ref.handlerFieldChange;
19
24
  return {
@@ -21,19 +26,22 @@ var getOnBlurEvent = function getOnBlurEvent(_ref) {
21
26
  if (handlerFieldChange) handlerFieldChange(e);
22
27
  if (validators && handlerFieldValidade) handlerFieldValidade(name, e.target.value, validators);
23
28
  if (_onBlur) _onBlur(e);
29
+ },
30
+ onKeyDown: function onKeyDown(e) {
31
+ if ([constants.keyCodes.ENTER].includes(e.keyCode)) {
32
+ handlerFieldChange === null || handlerFieldChange === void 0 ? void 0 : handlerFieldChange(e);
33
+ if (validators) handlerFieldValidade === null || handlerFieldValidade === void 0 ? void 0 : handlerFieldValidade(name, e.target.value, validators);
34
+ if (_onKeyDown) _onKeyDown(e);
35
+ }
24
36
  }
25
37
  };
26
38
  };
27
39
  var FieldMask = function FieldMask(props) {
28
40
  var data = props.data,
29
- name = props.name,
30
- _onChange = props.onChange;
31
- return /*#__PURE__*/_react.default.createElement(props.component, _extends({}, props, getOnBlurEvent(props), {
41
+ name = props.name;
42
+ return /*#__PURE__*/_react.default.createElement(props.component, _extends({}, props, getEventProps(props), {
32
43
  errorMessages: (0, _helpers.getErrorMessages)(props),
33
- value: _lodash.default.get(data, name),
34
- onChange: function onChange(e) {
35
- if (_onChange) _onChange(e);
36
- }
44
+ value: _lodash.default.get(data, name)
37
45
  }));
38
46
  };
39
47
  var _default = (0, _withFieldHOC.default)(FieldMask);
@@ -1,4 +1,4 @@
1
- import { ReactNode, CSSProperties, ChangeEvent, ComponentType, MouseEventHandler } from 'react';
1
+ import { ChangeEvent, ReactNode, CSSProperties, ComponentType, MouseEventHandler } from 'react';
2
2
 
3
3
  type Validator = (value: string) => string | undefined;
4
4
  type PeriodValidator = (value: {
@@ -8,6 +8,9 @@ type PeriodValidator = (value: {
8
8
  type OnFielChangeEvent = Event & {
9
9
  target: HTMLInputElement;
10
10
  };
11
+ type CustomKeyboardEvent = ChangeEvent<HTMLInputElement> & {
12
+ keyCode: number;
13
+ };
11
14
  interface IFormProps {
12
15
  dataSource: object;
13
16
  children: ReactNode;
@@ -33,12 +36,13 @@ interface IFieldProps extends WithFieldProps {
33
36
  name: string;
34
37
  value?: string;
35
38
  label?: string;
36
- handlerFieldChange?: (event: ChangeEvent) => ChangeEvent;
39
+ handlerFieldChange?: (event: ChangeEvent<HTMLInputElement> | CustomKeyboardEvent) => ChangeEvent;
37
40
  handlerFieldValidade?: (name: string, value: string, validatorsArray: Validator[] | Validator) => void;
38
41
  component: ComponentType<any>;
39
42
  componentType?: 'Radio' | 'Checkbox';
40
43
  onChange?: (event: ChangeEvent) => ChangeEvent;
41
- onBlur?: () => void;
44
+ onBlur?: (event: ChangeEvent<HTMLInputElement>) => void;
45
+ onKeyDown?: (event: ChangeEvent<HTMLInputElement>) => void;
42
46
  validators?: Validator | Validator[];
43
47
  fieldErrors?: {
44
48
  [name: string]: string[];
@@ -145,13 +149,14 @@ interface IFormSecurityContext {
145
149
  setSecurityBeforeUnload: (value: boolean) => void;
146
150
  securityBeforeUnload?: boolean;
147
151
  }
148
- interface IOnBlurParams {
152
+ interface IEventParams {
149
153
  name: string;
150
154
  data?: object;
151
155
  validators?: Validator | Validator[];
152
156
  onBlur?: (event: ChangeEvent<HTMLInputElement>) => void;
157
+ onKeyDown?: (event: CustomKeyboardEvent) => void;
153
158
  handlerFieldValidade?: (name: string, value: string, validatorsArray: Validator[] | Validator) => void;
154
- handlerFieldChange?: (event: ChangeEvent<HTMLInputElement>) => void;
159
+ handlerFieldChange?: (event: ChangeEvent<HTMLInputElement> | CustomKeyboardEvent) => void;
155
160
  validatorFromComponent?: Validator | Validator[];
156
161
  }
157
162
  interface IGetErrorMessagesParams {
@@ -165,4 +170,4 @@ interface IGetErrorMessagesParams {
165
170
  externalMessagesErrors?: string[];
166
171
  }
167
172
 
168
- export { CustomEvent, FormContextProps, IFieldArrayProps, IFieldPeriodProps, IFieldProps, IFormProps, IFormSecurityContext, IGetErrorMessagesParams, IOnBlurParams, IWithFieldContext, IWithFormSecurity, OnFielChangeEvent, PeriodChangeEvent, PeriodValidator, Validator, WithFieldProps };
173
+ export { CustomEvent, CustomKeyboardEvent, FormContextProps, IEventParams, IFieldArrayProps, IFieldPeriodProps, IFieldProps, IFormProps, IFormSecurityContext, IGetErrorMessagesParams, IWithFieldContext, IWithFormSecurity, OnFielChangeEvent, PeriodChangeEvent, PeriodValidator, Validator, WithFieldProps };
@@ -6,6 +6,8 @@ interface CustomInputEvent {
6
6
  preventDefault?: () => void;
7
7
  stopPropagation?: () => void;
8
8
  dataTransfer?: DataTransfer;
9
+ keyCode?: number;
10
+ code?: number;
9
11
  target: {
10
12
  value: string;
11
13
  name?: string;
@@ -38,7 +40,7 @@ interface IBaseProps {
38
40
  initial: string;
39
41
  final: string;
40
42
  }, period?: Period) => void;
41
- onKeyDown?: (e: KeyboardEvent<Element>) => void;
43
+ onKeyDown?: (e: CustomInputEvent | KeyboardEvent) => void;
42
44
  onKeyPress?: (e: KeyboardEvent<HTMLInputElement | HTMLTextAreaElement>) => void;
43
45
  onDragOver?: (e: DragEvent<HTMLInputElement | HTMLTextAreaElement | HTMLDivElement>) => void;
44
46
  onDrop?: (e: DragEvent) => void;
@@ -236,6 +236,7 @@ var DatePicker = function DatePicker(props) {
236
236
  }, [value]);
237
237
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_BaseMask.default, _extends({}, props, {
238
238
  value: !valueState ? ' ' : valueState.format(_helpers.PT_BR_FORMAT),
239
+ isDateField: true,
239
240
  mask: "00/00/0000",
240
241
  onComplete: function onComplete(e, date) {
241
242
  if (date) {
@@ -248,9 +249,7 @@ var DatePicker = function DatePicker(props) {
248
249
  onFocus: function onFocus(e) {
249
250
  onInputFocus(e);
250
251
  },
251
- onKeyDown: function onKeyDown(event) {
252
- onInputKeyDown(event);
253
- },
252
+ onKeyDown: onInputKeyDown,
254
253
  onChange: function onChange(e, date) {
255
254
  if (date) onInputChange(e, date);
256
255
  },
@@ -7,28 +7,42 @@ exports.default = void 0;
7
7
  var _react = _interopRequireDefault(require("react"));
8
8
  var _imaskHOC = _interopRequireDefault(require("./imaskHOC"));
9
9
  var _InputTextBase = _interopRequireDefault(require("../base/InputTextBase"));
10
+ var _format_number = require("../number/format_number");
10
11
  var _excluded = ["inputRef"];
11
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
- 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); }
13
13
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
14
14
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
15
- var getOnBlurEvent = function getOnBlurEvent(props) {
15
+ 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); }
16
+ var returnEventFormattedValue = function returnEventFormattedValue(props, event) {
17
+ if (props.returnFormattedValueOnBlur || props.returnFormattedValueOnKeyDown) {
18
+ // Retornando um objeto com a mesma estrutura do Proxy original
19
+ // para recuperacao do valor da mascara sem formatacao.
20
+ // O retorno poderá ser modificado conforme necessidade, desde que seja
21
+ // mantido o path até a propriedade value e name.
22
+ var name = event.target.name;
23
+ var value = props.defaultValue || '';
24
+ return _extends({}, event, {
25
+ target: {
26
+ value: (0, _format_number.numberToEnUS)(value),
27
+ name: name
28
+ }
29
+ });
30
+ }
31
+ return event;
32
+ };
33
+ var getEventProps = function getEventProps(props) {
16
34
  if (props.isNumeric) return {};
17
35
  return {
18
36
  onBlur: function onBlur(e) {
19
37
  if (props.onBlur) {
20
- // Retornando um objeto com a mesma estrutura do Proxy original
21
- // para recuperacao do valor da mascara sem formatacao.
22
- // O retorno poderá ser modificado conforme necessidade, desde que seja
23
- // mantido o path até a propriedade value e name.
24
- var name = e.target.name;
25
- var value = props.defaultValue || '';
26
- props.onBlur({
27
- target: {
28
- value: value,
29
- name: name
30
- }
31
- });
38
+ var formattedEvent = returnEventFormattedValue(props, e);
39
+ props.onBlur(formattedEvent);
40
+ }
41
+ },
42
+ onKeyDown: function onKeyDown(e) {
43
+ if (props.onKeyDown) {
44
+ var formattedEvent = returnEventFormattedValue(props, e);
45
+ props.onKeyDown(formattedEvent);
32
46
  }
33
47
  }
34
48
  };
@@ -38,7 +52,7 @@ var BaseMask = function BaseMask(_ref) {
38
52
  props = _objectWithoutProperties(_ref, _excluded);
39
53
  return /*#__PURE__*/_react.default.createElement(_InputTextBase.default, _extends({}, props, {
40
54
  inputRef: inputRef
41
- }, getOnBlurEvent(props)));
55
+ }, getEventProps(props)));
42
56
  };
43
57
  var _default = (0, _imaskHOC.default)(BaseMask);
44
58
  exports.default = _default;
@@ -8,6 +8,7 @@ var _react = _interopRequireWildcard(require("react"));
8
8
  var _imask = _interopRequireDefault(require("imask"));
9
9
  var helpers = _interopRequireWildcard(require("./helpers"));
10
10
  var _permissionValidations = require("../../permissionValidations");
11
+ var _format_number = require("../number/format_number");
11
12
  var _this = void 0;
12
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
14
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
@@ -58,7 +59,9 @@ var IMaskHOC = function IMaskHOC(ComposedComponent) {
58
59
  dispatch = props.dispatch,
59
60
  _props$value = props.value,
60
61
  value = _props$value === void 0 ? '' : _props$value,
61
- onChange = props.onChange;
62
+ onChange = props.onChange,
63
+ _props$isDateField = props.isDateField,
64
+ isDateField = _props$isDateField === void 0 ? false : _props$isDateField;
62
65
  var maskOptions = {
63
66
  placeholderChar: placeholderChar,
64
67
  lazy: lazy,
@@ -93,7 +96,8 @@ var IMaskHOC = function IMaskHOC(ComposedComponent) {
93
96
  var disableCallbacks = disabled || readOnly;
94
97
  var setValue = function setValue(newValue) {
95
98
  if (maskRef.current) {
96
- if (props.unmask) maskRef.current.unmaskedValue = newValue.toString();else maskRef.current.value = String(newValue);
99
+ if (props.unmask) maskRef.current.unmaskedValue = newValue.toString();
100
+ maskRef.current.value = String(newValue);
97
101
  }
98
102
  };
99
103
  var onAccept = function onAccept() {
@@ -157,7 +161,8 @@ var IMaskHOC = function IMaskHOC(ComposedComponent) {
157
161
  (0, _react.useEffect)(function () {
158
162
  if (maskOptions.mask && !dontInitMask) {
159
163
  if (maskRef.current) {
160
- setValue(value);
164
+ var formattedValue = isDateField ? value : (0, _format_number.numberToPtBR)(value) || '';
165
+ setValue(formattedValue);
161
166
  } else {
162
167
  getMask();
163
168
  }
@@ -165,7 +170,7 @@ var IMaskHOC = function IMaskHOC(ComposedComponent) {
165
170
  destroyMask();
166
171
  if (value && elementRef.current) elementRef.current.value = value;
167
172
  }
168
- }, [value]);
173
+ }, [value, isDateField]);
169
174
  (0, _react.useEffect)(function () {
170
175
  return destroyMask;
171
176
  }, []);
@@ -6,7 +6,7 @@ import '../../@types/Period.js';
6
6
  interface IBaseMaskProps {
7
7
  value?: string;
8
8
  onBlur?: (e: CustomInputEvent) => void;
9
- onKeyDown?: (e: KeyboardEvent<Element>) => void;
9
+ onKeyDown?: (e: CustomInputEvent | KeyboardEvent<Element>) => void;
10
10
  defaultValue?: string;
11
11
  mask?: string | NumberConstructor;
12
12
  isNumeric?: boolean;
@@ -42,6 +42,9 @@ interface IBaseMaskProps {
42
42
  placeholderChar?: string;
43
43
  onFocus?: (e: CustomInputEvent) => void;
44
44
  required?: boolean;
45
+ returnFormattedValueOnBlur?: boolean;
46
+ returnFormattedValueOnKeyDown?: boolean;
47
+ isDateField?: boolean;
45
48
  }
46
49
  interface ICnpjFieldProps extends IBaseMaskProps {
47
50
  value?: string;
@@ -9,37 +9,56 @@ var _BaseMask = _interopRequireDefault(require("../mask/BaseMask"));
9
9
  var _format_number = require("./format_number");
10
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
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
+ var returnEventFormattedValue = function returnEventFormattedValue(props, event) {
13
+ if (props.returnFormattedValueOnBlur || props.returnFormattedValueOnKeyDown) {
14
+ // Retornando um objeto com a mesma estrutura do Proxy original
15
+ // para recuperacao do valor formatado no padrão americano.
16
+ // O retorno poderá ser modificado conforme necessidade, desde que seja
17
+ // mantido o path até a propriedade value e name.
18
+ var _event$target = event.target,
19
+ value = _event$target.value,
20
+ name = _event$target.name;
21
+ var teste = _extends({}, event, {
22
+ target: {
23
+ value: (0, _format_number.numberToEnUS)(value),
24
+ name: name
25
+ }
26
+ });
27
+ return teste;
28
+ }
29
+ return event;
30
+ };
31
+ var getEventProps = function getEventProps(props) {
32
+ var returnFormattedValueOnBlur = props.returnFormattedValueOnBlur,
33
+ returnFormattedValueOnKeyDown = props.returnFormattedValueOnKeyDown;
34
+ if (props.isNumeric) return {};
35
+ return {
36
+ onBlur: function onBlur(e) {
37
+ if (props.onBlur) {
38
+ var formattedEvent = returnFormattedValueOnBlur ? returnEventFormattedValue(props, e) : e;
39
+ props.onBlur(formattedEvent);
40
+ }
41
+ },
42
+ onKeyDown: function onKeyDown(e) {
43
+ if (props.onKeyDown) {
44
+ var formattedEvent = returnFormattedValueOnKeyDown ? returnEventFormattedValue(props, e) : e;
45
+ props.onKeyDown(formattedEvent);
46
+ }
47
+ }
48
+ };
49
+ };
12
50
  var BaseNumber = function BaseNumber(props) {
13
- var _props$returnFormatte = props.returnFormattedValueOnBlur,
14
- returnFormattedValueOnBlur = _props$returnFormatte === void 0 ? true : _props$returnFormatte;
51
+ var eventProps = _extends({}, props, {
52
+ returnFormattedValueOnBlur: true,
53
+ returnFormattedValueOnKeyDown: true
54
+ });
15
55
  return /*#__PURE__*/_react.default.createElement(_BaseMask.default, _extends({
16
56
  value: (0, _format_number.numberToPtBR)(props.value),
17
57
  thousandsSeparator: ".",
18
58
  radix: ",",
19
59
  mask: Number,
20
- isNumeric: true,
21
- onBlur: function onBlur(e) {
22
- if (props.onBlur) {
23
- if (returnFormattedValueOnBlur) {
24
- // Retornando um objeto com a mesma estrutura do Proxy original
25
- // para recuperacao do valor formatado no padrão americano.
26
- // O retorno poderá ser modificado conforme necessidade, desde que seja
27
- // mantido o path até a propriedade value e name.
28
- var _ref = e.target,
29
- value = _ref.value,
30
- name = _ref.name;
31
- props.onBlur({
32
- target: {
33
- value: value,
34
- name: name
35
- }
36
- });
37
- } else {
38
- props.onBlur(e);
39
- }
40
- }
41
- }
42
- }, props));
60
+ isNumeric: true
61
+ }, props, getEventProps(eventProps)));
43
62
  };
44
63
  var _default = BaseNumber;
45
64
  exports.default = _default;
@@ -1,4 +1,4 @@
1
- import { ICurrenceProps } from './types.js';
1
+ import { ICurrencyProps } from './types.js';
2
2
  import '../../@types/PermissionAttr.js';
3
3
  import '../base/types.js';
4
4
  import 'react';
@@ -7,6 +7,6 @@ import '../types.js';
7
7
  import '../../@types/DataCombo.js';
8
8
  import '../select/types.js';
9
9
 
10
- declare const CurrencyField: (props: ICurrenceProps) => JSX.Element;
10
+ declare const CurrencyField: (props: ICurrencyProps) => JSX.Element;
11
11
 
12
12
  export { CurrencyField as default };
@@ -21,10 +21,11 @@ interface IBaseNumberProps extends INumberFieldProps {
21
21
  leftElements?: JSX.Element | JSX.Element[];
22
22
  onBlur?: (e: CustomInputEvent) => void;
23
23
  returnFormattedValueOnBlur?: boolean;
24
+ returnFormattedValueOnKeyDown?: boolean;
24
25
  }
25
- interface ICurrenceProps extends INumberFieldProps {
26
+ interface ICurrencyProps extends INumberFieldProps {
26
27
  currencySymbol?: string;
27
28
  displayCurrencySymbol?: boolean;
28
29
  }
29
30
 
30
- export { IBaseNumberProps, ICurrenceProps, INumberFieldProps };
31
+ export { IBaseNumberProps, ICurrencyProps, INumberFieldProps };
@@ -335,6 +335,7 @@ var PeriodPicker = function PeriodPicker(props) {
335
335
  setValue(e, date, false);
336
336
  },
337
337
  onFocus: onInputFocus,
338
+ isDateField: true,
338
339
  onChange: onInputChange,
339
340
  inputRef: function inputRef(el) {
340
341
  if (el) inputInitialRef.current = el;
@@ -351,6 +352,7 @@ var PeriodPicker = function PeriodPicker(props) {
351
352
  name: "valueFinal",
352
353
  value: !valueFinal ? '' : (0, _moment.default)(valueFinal).format('DD/MM/YYYY'),
353
354
  mask: "00/00/0000",
355
+ isDateField: true,
354
356
  onComplete: function onComplete(e, date) {
355
357
  setValue(e, date, false);
356
358
  },
@@ -132,12 +132,12 @@ var SearchField = function SearchField(props) {
132
132
  customClass: "",
133
133
  handlerSetOnDenied: setOnDenied,
134
134
  rightElements: rightElements()
135
- })), advancedFilterOpened && /*#__PURE__*/_react.default.createElement(_drawer.default, _extends({
135
+ })), advancedFilterOpened && /*#__PURE__*/_react.default.createElement(_drawer.default, {
136
136
  handlerClose: function handlerClose() {
137
137
  setAdvancedFilterOpened(false);
138
138
  if (onStateChange) onStateChange(false);
139
139
  }
140
- }, advancedFilterProps), headerTitle && /*#__PURE__*/_react.default.createElement(_drawer.DrawerHeader, {
140
+ }, headerTitle && /*#__PURE__*/_react.default.createElement(_drawer.DrawerHeader, {
141
141
  title: headerTitle
142
142
  }), /*#__PURE__*/_react.default.createElement(_drawer.DrawerContent, null, content)));
143
143
  };
@@ -158,29 +158,31 @@ var MultipleSelect = function MultipleSelect(props) {
158
158
  if (!insideComponent) setOpened(false);
159
159
  };
160
160
  var onInputKeyDown = function onInputKeyDown(e) {
161
- if (e.keyCode === constants.keyCodes.ENTER && selected) {
162
- if (!currents.includes(selected)) onSelect(selected);
163
- } else if ([constants.keyCodes.ARROW_UP, constants.keyCodes.ARROW_DOWN].includes(e.keyCode)) {
164
- if (!opened) setOpened(true);
165
- var index = dataSource ? dataSource.findIndex(function (d) {
166
- return d === selected;
167
- }) : 0;
168
- if (e.keyCode === constants.keyCodes.ARROW_DOWN) {
169
- index = dataSource && index === dataSource.length - 1 ? 0 : index + 1;
170
- } else {
171
- index = dataSource && index === 0 ? dataSource.length - 1 : index - 1;
172
- }
173
- if (dataSource && dataSource.length && dataSource[index][props.descriptionKey]) {
174
- setInputValue(dataSource[index][props.descriptionKey]);
175
- }
176
- if (dataSource) setSelected(dataSource[index]);
177
- } else if (e.keyCode === constants.keyCodes.BACKSPACE) {
178
- if (inputValue === '') {
179
- var currentsKeyDown = _lodash.default.dropRight(currents);
180
- setCurrents(currentsKeyDown);
181
- if (props.onSelect) props.onSelect(currentsKeyDown.map(function (i) {
182
- return i[idKey];
183
- }));
161
+ if (e.keyCode) {
162
+ if (e.keyCode === constants.keyCodes.ENTER && selected) {
163
+ if (!currents.includes(selected)) onSelect(selected);
164
+ } else if ([constants.keyCodes.ARROW_UP, constants.keyCodes.ARROW_DOWN].includes(e.keyCode)) {
165
+ if (!opened) setOpened(true);
166
+ var index = dataSource ? dataSource.findIndex(function (d) {
167
+ return d === selected;
168
+ }) : 0;
169
+ if (e.keyCode === constants.keyCodes.ARROW_DOWN) {
170
+ index = dataSource && index === dataSource.length - 1 ? 0 : index + 1;
171
+ } else {
172
+ index = dataSource && index === 0 ? dataSource.length - 1 : index - 1;
173
+ }
174
+ if (dataSource && dataSource.length && dataSource[index][props.descriptionKey]) {
175
+ setInputValue(dataSource[index][props.descriptionKey]);
176
+ }
177
+ if (dataSource) setSelected(dataSource[index]);
178
+ } else if (e.keyCode === constants.keyCodes.BACKSPACE) {
179
+ if (inputValue === '') {
180
+ var currentsKeyDown = _lodash.default.dropRight(currents);
181
+ setCurrents(currentsKeyDown);
182
+ if (props.onSelect) props.onSelect(currentsKeyDown.map(function (i) {
183
+ return i[idKey];
184
+ }));
185
+ }
184
186
  }
185
187
  }
186
188
  };
@@ -247,9 +249,7 @@ var MultipleSelect = function MultipleSelect(props) {
247
249
  onChange: function onChange(e) {
248
250
  if (e) onFilter(e.target.value);
249
251
  },
250
- onKeyDown: function onKeyDown(e) {
251
- onInputKeyDown(e);
252
- },
252
+ onKeyDown: onInputKeyDown,
253
253
  customClassForWrapper: "selectwrapper ".concat((props.readOnly || shouldDisable() || shouldBeReadOnly()) && ' -undigitable'),
254
254
  customClassForInputContent: "multiselect",
255
255
  inputBaseRef: function inputBaseRef(r) {
@@ -278,9 +278,7 @@ var MultipleSelect = function MultipleSelect(props) {
278
278
  gridWrapperStyle: props.gridLayout && gridElRef.current ? window.getComputedStyle(gridElRef.current) : undefined,
279
279
  handleOnSelect: onSelect,
280
280
  handleOnFilter: onFilter,
281
- handleOnKeydown: function handleOnKeydown(e) {
282
- return onInputKeyDown(e);
283
- },
281
+ handleOnKeydown: onInputKeyDown,
284
282
  handleOnBlur: function handleOnBlur() {
285
283
  return _onBlur;
286
284
  },
@@ -171,20 +171,23 @@ var SimpleSelect = function SimpleSelect(props) {
171
171
  }
172
172
  };
173
173
  var onInputKeyDown = function onInputKeyDown(e) {
174
- if (e.keyCode === constants.keyCodes.ENTER && selected) {
175
- e.preventDefault();
176
- onSelect(selected);
177
- } else if ([constants.keyCodes.ARROW_UP, constants.keyCodes.ARROW_DOWN].includes(e.keyCode)) {
178
- if (!opened) setOpened(true);
179
- var index = dataSource.length > 0 ? dataSource.findIndex(function (d) {
180
- return selected && d[idKey] === selected[idKey];
181
- }) : 0;
182
- if (e.keyCode === constants.keyCodes.ARROW_DOWN) {
183
- index = dataSource && index === dataSource.length - 1 ? 0 : index + 1;
184
- } else {
185
- index = dataSource && index === 0 ? (dataSource === null || dataSource === void 0 ? void 0 : dataSource.length) - 1 : index - 1;
174
+ if (e.keyCode) {
175
+ if (e.keyCode === constants.keyCodes.ENTER && selected) {
176
+ var _e$preventDefault;
177
+ (_e$preventDefault = e.preventDefault) === null || _e$preventDefault === void 0 ? void 0 : _e$preventDefault.call(e);
178
+ onSelect(selected);
179
+ } else if ([constants.keyCodes.ARROW_UP, constants.keyCodes.ARROW_DOWN].includes(e.keyCode)) {
180
+ if (!opened) setOpened(true);
181
+ var index = dataSource.length > 0 ? dataSource.findIndex(function (d) {
182
+ return selected && d[idKey] === selected[idKey];
183
+ }) : 0;
184
+ if (e.keyCode === constants.keyCodes.ARROW_DOWN) {
185
+ index = dataSource && index === dataSource.length - 1 ? 0 : index + 1;
186
+ } else {
187
+ index = dataSource && index === 0 ? (dataSource === null || dataSource === void 0 ? void 0 : dataSource.length) - 1 : index - 1;
188
+ }
189
+ setSelected(dataSource[index]);
186
190
  }
187
- setSelected(dataSource[index]);
188
191
  }
189
192
  if (!isTyping) setIsTyping(true);
190
193
  };
@@ -263,9 +266,7 @@ var SimpleSelect = function SimpleSelect(props) {
263
266
  onChange: function onChange(e) {
264
267
  if (e) onFilter(e.target.value);
265
268
  },
266
- onKeyDown: function onKeyDown(e) {
267
- onInputKeyDown(e);
268
- },
269
+ onKeyDown: onInputKeyDown,
269
270
  customClassForWrapper: "selectwrapper ".concat((undigitable || searchOnDropdown || shouldBeReadOnly()) && ' -undigitable'),
270
271
  customClassForInputContent: "multiselect",
271
272
  inputBaseRef: function inputBaseRef(r) {
@@ -71,7 +71,7 @@ interface IMaskHOCProps {
71
71
  handlerSetOnDenied?: (onDeniedValue: OnDenied) => void;
72
72
  isNumeric?: boolean;
73
73
  required?: boolean;
74
- onKeyDown?: (e: KeyboardEvent<Element>) => void;
74
+ onKeyDown?: (e: CustomInputEvent | KeyboardEvent<Element>) => void;
75
75
  rightElements?: JSX.Element | JSX.Element[];
76
76
  labelUppercase?: boolean;
77
77
  readOnly?: boolean;
@@ -82,17 +82,13 @@ interface IMaskHOCProps {
82
82
  customClassForInputContent?: string;
83
83
  customClassForLabel?: string;
84
84
  textAlign?: string;
85
- onBlur?: (e: {
86
- target: {
87
- value: string;
88
- name?: string;
89
- };
90
- }) => void;
85
+ onBlur?: (e: CustomInputEvent) => void;
91
86
  leftElements?: JSX.Element | JSX.Element[];
92
87
  rounded?: boolean;
93
88
  errorMessages?: string[];
94
89
  skeletonize?: boolean;
95
90
  mask?: string | NumberConstructor;
91
+ isDateField?: boolean;
96
92
  }
97
93
  interface IDropdownSelectProps {
98
94
  idKey: string;
@@ -101,7 +97,7 @@ interface IDropdownSelectProps {
101
97
  showClearButton?: boolean;
102
98
  handleOnSelect: (item?: DataCombo) => void;
103
99
  handleOnFilter: (value: string) => void;
104
- handleOnKeydown: (e: KeyboardEvent<Element>) => void;
100
+ handleOnKeydown: (e: CustomInputEvent | KeyboardEvent) => void;
105
101
  handleOnBlur: (item: DataCombo) => void;
106
102
  handleOnFocus: () => void;
107
103
  opened: boolean;
@@ -2,6 +2,6 @@ import { IFloatMenuItemProps } from './types.js';
2
2
  import 'react';
3
3
  import '../../@types/SizePixels.js';
4
4
 
5
- declare const MenuItem: ({ title, url, iconName, iconColor, iconSize, dropdownMenu, }: IFloatMenuItemProps) => JSX.Element;
5
+ declare const MenuItem: ({ title, url, iconName, iconColor, iconSize, dropdownMenu, onClick, }: IFloatMenuItemProps) => JSX.Element;
6
6
 
7
7
  export { MenuItem as default };
@@ -22,15 +22,23 @@ var MenuItem = function MenuItem(_ref) {
22
22
  iconColor = _ref$iconColor === void 0 ? 'gray' : _ref$iconColor,
23
23
  _ref$iconSize = _ref.iconSize,
24
24
  iconSize = _ref$iconSize === void 0 ? 24 : _ref$iconSize,
25
- dropdownMenu = _ref.dropdownMenu;
25
+ dropdownMenu = _ref.dropdownMenu,
26
+ onClick = _ref.onClick;
26
27
  var _useContext = (0, _react.useContext)(_helpers.default),
27
28
  customClassMenuItem = _useContext.customClassMenuItem;
28
29
  var dropdownContext = (0, _react.useContext)(_withDropdown.WithDropdownContext);
30
+ var handleOnClick = function handleOnClick() {
31
+ if (onClick) {
32
+ onClick(dropdownContext === null || dropdownContext === void 0 ? void 0 : dropdownContext.handleDropdownClose);
33
+ return;
34
+ }
35
+ if (dropdownContext) dropdownContext.handleDropdownClose();
36
+ };
29
37
  return /*#__PURE__*/_react.default.createElement("div", {
30
38
  className: "floatmenuitem"
31
39
  }, /*#__PURE__*/_react.default.createElement("div", {
32
40
  className: "".concat(customClassMenuItem, " -items")
33
- }, !_lodash.default.isEmpty(dropdownMenu) && /*#__PURE__*/_react.default.createElement(_buttons.default, {
41
+ }, !_lodash.default.isEmpty(dropdownMenu) && !onClick && /*#__PURE__*/_react.default.createElement(_buttons.default, {
34
42
  customClass: "floatmenudropdown",
35
43
  iconName: "more1",
36
44
  transparent: true,
@@ -41,10 +49,11 @@ var MenuItem = function MenuItem(_ref) {
41
49
  }, dropdownMenu), /*#__PURE__*/_react.default.createElement("a", {
42
50
  className: "floatmenulink",
43
51
  target: "_blank",
44
- onClick: function onClick() {
45
- if (dropdownContext) dropdownContext.handleDropdownClose();
46
- },
52
+ onClick: handleOnClick,
47
53
  href: url,
54
+ style: {
55
+ cursor: onClick ? 'pointer' : undefined
56
+ },
48
57
  rel: "noreferrer"
49
58
  }, /*#__PURE__*/_react.default.createElement("span", {
50
59
  className: "iconcontainer"
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _propTypes = _interopRequireDefault(require("prop-types"));
10
+ var _icons = _interopRequireDefault(require("../../icons"));
11
+ var _skeleton = _interopRequireWildcard(require("../../skeleton"));
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
14
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
15
+ var renderChildren = function renderChildren(skeletonize, skeletonQtty, children) {
16
+ if (skeletonize && skeletonQtty) {
17
+ var skeletons = Array.from({
18
+ length: skeletonQtty
19
+ }, function (_, i) {
20
+ return i + 1;
21
+ });
22
+ return /*#__PURE__*/_react.default.createElement(_skeleton.SkeletonContainer, {
23
+ style: {
24
+ flexDirection: 'row',
25
+ flexFlow: 'row wrap'
26
+ }
27
+ }, skeletons.map(function (id) {
28
+ return /*#__PURE__*/_react.default.createElement(_skeleton.default, {
29
+ key: id,
30
+ height: 88,
31
+ width: 88,
32
+ style: {
33
+ flexGrow: 'unset',
34
+ marginBottom: 5
35
+ }
36
+ });
37
+ }));
38
+ }
39
+ return children;
40
+ };
41
+ var SubMenuContainer = function SubMenuContainer(_ref) {
42
+ var title = _ref.title,
43
+ customClass = _ref.customClass,
44
+ handlerGoBack = _ref.handlerGoBack,
45
+ skeletonize = _ref.skeletonize,
46
+ skeletonQtty = _ref.skeletonQtty,
47
+ children = _ref.children;
48
+ (0, _react.useEffect)(function () {
49
+ return function () {
50
+ handlerGoBack();
51
+ };
52
+ }, []);
53
+ return /*#__PURE__*/_react.default.createElement("div", {
54
+ className: "floatsubmenu ".concat(customClass)
55
+ }, /*#__PURE__*/_react.default.createElement("div", {
56
+ className: "submenuheader"
57
+ }, /*#__PURE__*/_react.default.createElement(_icons.default, {
58
+ onClick: handlerGoBack,
59
+ name: "arrowBack",
60
+ pointerEvents: "all",
61
+ style: {
62
+ cursor: 'pointer'
63
+ }
64
+ }), title && /*#__PURE__*/_react.default.createElement("span", null, title)), /*#__PURE__*/_react.default.createElement("div", {
65
+ className: "submenucontent"
66
+ }, renderChildren(skeletonize, skeletonQtty, children)));
67
+ };
68
+ SubMenuContainer.propTypes = {
69
+ children: _propTypes.default.node.isRequired,
70
+ handlerGoBack: _propTypes.default.func.isRequired,
71
+ title: _propTypes.default.string,
72
+ customClass: _propTypes.default.string,
73
+ skeletonize: _propTypes.default.bool,
74
+ skeletonQtty: _propTypes.default.number
75
+ };
76
+ SubMenuContainer.defaultProps = {
77
+ title: undefined,
78
+ customClass: undefined,
79
+ skeletonize: false,
80
+ skeletonQtty: 3
81
+ };
82
+ var _default = SubMenuContainer;
83
+ exports.default = _default;
@@ -1,8 +1,38 @@
1
1
  export { default as MenuItem } from './MenuItem.js';
2
+ import PropTypes from 'prop-types';
2
3
  import { IFloatMenuProps } from './types.js';
3
4
  import 'react';
4
5
  import '../../@types/SizePixels.js';
5
6
 
7
+ declare function SubMenuContainer({ title, customClass, handlerGoBack, skeletonize, skeletonQtty, children, }: {
8
+ title: any;
9
+ customClass: any;
10
+ handlerGoBack: any;
11
+ skeletonize: any;
12
+ skeletonQtty: any;
13
+ children: any;
14
+ }): JSX.Element;
15
+ declare namespace SubMenuContainer {
16
+ namespace propTypes {
17
+ const children: PropTypes.Validator<NonNullable<PropTypes.ReactNodeLike>>;
18
+ const handlerGoBack: PropTypes.Validator<(...args: any[]) => any>;
19
+ const title: PropTypes.Requireable<string>;
20
+ const customClass: PropTypes.Requireable<string>;
21
+ const skeletonize: PropTypes.Requireable<boolean>;
22
+ const skeletonQtty: PropTypes.Requireable<number>;
23
+ }
24
+ namespace defaultProps {
25
+ const title_1: undefined;
26
+ export { title_1 as title };
27
+ const customClass_1: undefined;
28
+ export { customClass_1 as customClass };
29
+ const skeletonize_1: boolean;
30
+ export { skeletonize_1 as skeletonize };
31
+ const skeletonQtty_1: number;
32
+ export { skeletonQtty_1 as skeletonQtty };
33
+ }
34
+ }
35
+
6
36
  declare const FloatMenu: (props: IFloatMenuProps) => JSX.Element;
7
37
 
8
- export { FloatMenu as default };
38
+ export { SubMenuContainer, FloatMenu as default };
@@ -9,9 +9,16 @@ Object.defineProperty(exports, "MenuItem", {
9
9
  return _MenuItem.default;
10
10
  }
11
11
  });
12
+ Object.defineProperty(exports, "SubMenuContainer", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _SubMenuContainer.default;
16
+ }
17
+ });
12
18
  exports.default = void 0;
13
19
  var _react = _interopRequireDefault(require("react"));
14
20
  var _MenuItem = _interopRequireDefault(require("./MenuItem"));
21
+ var _SubMenuContainer = _interopRequireDefault(require("./SubMenuContainer"));
15
22
  var _buttons = _interopRequireDefault(require("../../buttons"));
16
23
  var _icons = _interopRequireDefault(require("../../icons"));
17
24
  var _spinner = _interopRequireDefault(require("../../spinner"));
@@ -29,7 +36,9 @@ var FloatMenu = function FloatMenu(props) {
29
36
  isLoading = props.isLoading,
30
37
  customClassMenuItem = props.customClassMenuItem;
31
38
  var getSpinner = function getSpinner() {
32
- if (isLoading) return /*#__PURE__*/_react.default.createElement(_spinner.default, null);
39
+ if (isLoading) return /*#__PURE__*/_react.default.createElement(_spinner.default, {
40
+ delayTime: 0
41
+ });
33
42
  return spinner;
34
43
  };
35
44
  var contextValues = {
@@ -22,6 +22,7 @@ interface IFloatMenuItemProps {
22
22
  iconSize?: SizePixels;
23
23
  customClass?: string;
24
24
  dropdownMenu?: ReactNode;
25
+ onClick?: (dropdownClose?: () => void) => void;
25
26
  }
26
27
 
27
28
  export { IFloatMenuContext, IFloatMenuItemProps, IFloatMenuProps };
@@ -3,6 +3,7 @@ import './float/MenuItem.js';
3
3
  import './float/types.js';
4
4
  import 'react';
5
5
  import '../@types/SizePixels.js';
6
+ import 'prop-types';
6
7
 
7
8
 
8
9
 
@@ -91,7 +91,7 @@ var SideNav = function SideNav(props) {
91
91
  top = sideNavDimensions.top,
92
92
  width = sideNavDimensions.width,
93
93
  height = sideNavDimensions.height;
94
- var style = "left: ".concat(left + width + 5, "px; top: ").concat(top + window.scrollY, "px; height: ").concat(height, "px;");
94
+ var style = "left: ".concat(left + width + 5, "px; top: ").concat(top + 1, "px; height: ").concat(height - 8, "px;");
95
95
  return style;
96
96
  };
97
97
  var closeSearchMenuPopup = function closeSearchMenuPopup() {
@@ -84,6 +84,7 @@ var PopupMenuSearch = function PopupMenuSearch(props) {
84
84
  selectable: true,
85
85
  onSelectItem: handlerClose,
86
86
  selectedItemId: defaultSelectedItemId,
87
+ selectOnEnter: true,
87
88
  style: {
88
89
  margin: '25px 0px',
89
90
  border: 'none',
@@ -50,7 +50,7 @@ var PanelHeader = function PanelHeader(props) {
50
50
  style: style
51
51
  }, (icon || titleIcon) && /*#__PURE__*/_react.default.createElement("div", {
52
52
  className: "".concat(icon !== null || titleIcon !== null ? 'icon-left-panel' : '')
53
- }, getIcon(titleIcon, icon)), /*#__PURE__*/_react.default.createElement("h1", {
53
+ }, getIcon(titleIcon, icon)), title && /*#__PURE__*/_react.default.createElement("h1", {
54
54
  className: "title ".concat(customClassForTitle),
55
55
  style: styleForTitle
56
56
  }, title), toggleable && /*#__PURE__*/_react.default.createElement(_buttons.ButtonContainer, {
@@ -4,6 +4,6 @@ import '../@types/Size.js';
4
4
  import '../@types/Position.js';
5
5
  import '../@types/PermissionAttr.js';
6
6
 
7
- declare const DropdownItems: ({ handlerClick, handlerRemovePanel, dropdownPanels, tabMenuSize, }: MenuProps) => JSX.Element;
7
+ declare const DropdownItems: ({ handlerClick, handlerRemovePanel, dropdownPanels, tabMenuSize, }: MenuProps) => JSX.Element | null;
8
8
 
9
9
  export { DropdownItems as default };
@@ -59,7 +59,7 @@ var DropdownItems = function DropdownItems(_ref) {
59
59
  handlerRemovePanel === null || handlerRemovePanel === void 0 ? void 0 : handlerRemovePanel(id, index, true);
60
60
  }
61
61
  })));
62
- }))) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
62
+ }))) : null;
63
63
  };
64
64
  var _default = DropdownItems;
65
65
  exports.default = _default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "linear-react-components-ui",
3
- "version": "1.0.0-rc.5",
3
+ "version": "1.0.0-rc.8",
4
4
  "description": "Linear Sistemas ReactJs Components",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib/index.cjs",
@@ -14,6 +14,7 @@
14
14
  "deploy:heroku": "npm run demo:prod && cd demo && git commit -am 'Deploy' && git push heroku master",
15
15
  "publish:npm": "npm run lib && npm publish",
16
16
  "publish:npm:beta": "npm run lib && npm publish --tag beta",
17
+ "publish:npm:rc": "npm run lib && npm publish --tag rc",
17
18
  "prepare": "husky install",
18
19
  "test": "jest --env=jsdom",
19
20
  "test:watch": "jest --watchAll --env=jsdom",