linear-react-components-ui 1.1.22-beta.2 → 1.1.22-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 (42) hide show
  1. package/lib/assets/styles/file.scss +7 -10
  2. package/lib/assets/styles/select.scss +19 -15
  3. package/lib/assets/styles/tabs.scss +16 -3
  4. package/lib/assets/styles/wizard.scss +2 -2
  5. package/lib/dialog/form/index.js +3 -2
  6. package/lib/dialog/types.d.ts +1 -0
  7. package/lib/drawer/Drawer.d.ts +1 -1
  8. package/lib/drawer/Drawer.js +6 -2
  9. package/lib/drawer/types.d.ts +1 -0
  10. package/lib/form/Field.js +31 -8
  11. package/lib/form/FieldArray.js +11 -2
  12. package/lib/form/FieldNumber.js +10 -1
  13. package/lib/form/FieldPeriod.js +15 -1
  14. package/lib/form/index.d.ts +1 -1
  15. package/lib/form/index.js +30 -5
  16. package/lib/form/types.d.ts +13 -1
  17. package/lib/form/withFieldHOC.js +4 -2
  18. package/lib/inputs/date/helpers.d.ts +31 -1
  19. package/lib/inputs/date/helpers.js +32 -2
  20. package/lib/inputs/date/index.js +28 -20
  21. package/lib/inputs/date/types.d.ts +1 -0
  22. package/lib/inputs/mask/BaseMask.d.ts +1 -1
  23. package/lib/inputs/mask/BaseMask.js +6 -4
  24. package/lib/inputs/mask/helpers.d.ts +6 -53
  25. package/lib/inputs/mask/helpers.js +15 -35
  26. package/lib/inputs/mask/types.d.ts +1 -0
  27. package/lib/inputs/select/multiple/Selecteds.d.ts +1 -1
  28. package/lib/inputs/select/multiple/Selecteds.js +3 -1
  29. package/lib/inputs/select/multiple/index.js +3 -2
  30. package/lib/inputs/select/types.d.ts +1 -0
  31. package/lib/panel/Content.js +10 -7
  32. package/lib/radio/index.d.ts +4 -1
  33. package/lib/radio/index.js +1 -0
  34. package/lib/tabs/Menu.d.ts +1 -1
  35. package/lib/tabs/Menu.js +4 -2
  36. package/lib/tabs/MenuTabs.js +16 -5
  37. package/lib/tabs/context.d.ts +1 -1
  38. package/lib/tabs/context.js +3 -1
  39. package/lib/tabs/index.d.ts +1 -1
  40. package/lib/tabs/index.js +13 -6
  41. package/lib/tabs/types.d.ts +6 -0
  42. package/package.json +1 -1
package/lib/tabs/index.js CHANGED
@@ -16,7 +16,8 @@ var _Panel = _interopRequireDefault(require("./Panel"));
16
16
  var _tabHelpers = require("./tabHelpers");
17
17
  require("../assets/styles/tabs.scss");
18
18
  var _context = require("./context");
19
- const _excluded = ["toolbar", "toolBarRef", "children", "firstTabIdent", "handlerTabClick", "handlerCloseTab", "style", "tabMenuSize", "tabMenuAlign", "tabMenuPosition", "customClassForToolBar", "tabsWidth"];
19
+ var _lodash = _interopRequireDefault(require("lodash"));
20
+ const _excluded = ["toolbar", "toolBarRef", "children", "firstTabIdent", "handlerTabClick", "handlerCloseTab", "style", "tabMenuSize", "tabMenuAlign", "tabMenuPosition", "customClassForToolBar", "tabsWidth", "tabsWithError", "keepPanelsInOrder"];
20
21
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
21
22
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
22
23
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
@@ -36,12 +37,17 @@ const Tabs = _ref => {
36
37
  tabMenuAlign = 'left',
37
38
  tabMenuPosition = 'top',
38
39
  customClassForToolBar = '',
39
- tabsWidth = 'auto'
40
+ tabsWidth = 'auto',
41
+ tabsWithError,
42
+ keepPanelsInOrder
40
43
  } = _ref,
41
44
  props = _objectWithoutProperties(_ref, _excluded);
42
45
  const containerRef = (0, _react.useRef)(null);
46
+ const childrensTabPanels = _react.default.Children.toArray(children).filter(childComp => /*#__PURE__*/_react.default.isValidElement(childComp) && !!childComp.props.id);
47
+ const childrensInOrder = keepPanelsInOrder ? _lodash.default.sortBy(childrensTabPanels, tabPanel => keepPanelsInOrder.indexOf(tabPanel.props.id)) : children;
43
48
  const content = (0, _react.useMemo)(() => {
44
49
  const menu = /*#__PURE__*/_react.default.createElement(_Menu.default, {
50
+ tabsWithError: tabsWithError,
45
51
  toolbar: toolbar,
46
52
  tabWidth: tabsWidth,
47
53
  customClassForToolBar: customClassForToolBar,
@@ -50,17 +56,18 @@ const Tabs = _ref => {
50
56
  firstTabIdent: firstTabIdent
51
57
  });
52
58
  if (tabMenuPosition === 'top' || tabMenuPosition === 'left') {
53
- return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, menu, children);
59
+ return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, menu, childrensInOrder);
54
60
  }
55
- return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, children, menu);
61
+ return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, childrensInOrder, menu);
56
62
  }, [children, tabMenuPosition]);
57
63
  return /*#__PURE__*/_react.default.createElement(_context.TabsProvider, _extends({
58
- tabs: children,
64
+ tabs: childrensInOrder,
59
65
  container: containerRef,
60
66
  onTabChange: handlerTabClick,
61
67
  onTabClose: handlerCloseTab,
62
68
  tabsWidth: tabsWidth,
63
- firstTabIdent: firstTabIdent
69
+ firstTabIdent: firstTabIdent,
70
+ keepPanelsInOrder: keepPanelsInOrder
64
71
  }, props), /*#__PURE__*/_react.default.createElement("div", {
65
72
  ref: containerRef,
66
73
  className: (0, _tabHelpers.tabsClass)(tabMenuPosition),
@@ -15,6 +15,7 @@ type TabsContextType = {
15
15
  containerWidth: number;
16
16
  tabsCount: number;
17
17
  menuRef: RefObject<HTMLUListElement>;
18
+ keepPanelsInOrder?: Array<string | number>;
18
19
  };
19
20
  interface TabsProviderProps {
20
21
  children: React.ReactNode;
@@ -25,6 +26,7 @@ interface TabsProviderProps {
25
26
  onTabChange?: (tabId: string | number) => void;
26
27
  onTabClose?: (tabId: string) => void;
27
28
  firstTabIdent?: boolean;
29
+ keepPanelsInOrder?: Array<string | number>;
28
30
  keepTabOriginalPosition?: boolean;
29
31
  }
30
32
  interface ITabsPros {
@@ -41,6 +43,8 @@ interface ITabsPros {
41
43
  handlerCloseTab?: (id?: string, idx?: string) => void;
42
44
  customClassForToolBar?: string;
43
45
  tabsWidth?: string | number;
46
+ tabsWithError?: Array<string | number>;
47
+ keepPanelsInOrder?: Array<string | number>;
44
48
  keepTabOriginalPosition?: boolean;
45
49
  }
46
50
  interface TabProps {
@@ -59,6 +63,7 @@ interface TabProps {
59
63
  tooltipWidth?: string | number;
60
64
  closeable?: boolean;
61
65
  tabsLength?: number;
66
+ tabsWithError?: Array<string | number>;
62
67
  }
63
68
  interface MenuProps {
64
69
  toolbar?: ReactElement;
@@ -72,6 +77,7 @@ interface MenuProps {
72
77
  tabMenuSize?: Size;
73
78
  handlerClick?: (id?: string) => void;
74
79
  handlerRemovePanel?: (id?: string, idx?: number, bool?: boolean) => void;
80
+ tabsWithError?: Array<string | number>;
75
81
  }
76
82
  interface DropdownProps extends MenuProps {
77
83
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "linear-react-components-ui",
3
- "version": "1.1.22-beta.2",
3
+ "version": "1.1.22-beta.4",
4
4
  "description": "Linear Sistemas ReactJs Components",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib/index.cjs",