ywana-core8 0.1.28 → 0.1.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -49,7 +49,7 @@ function isEmpty(obj) {
49
49
  return false;
50
50
  }
51
51
 
52
- function _catch$6(body, recover) {
52
+ function _catch$8(body, recover) {
53
53
  try {
54
54
  var result = body();
55
55
  } catch (e) {
@@ -77,7 +77,7 @@ var fetchAsync = function fetchAsync(method, URL, body, token, headers) {
77
77
  body: body
78
78
  };
79
79
  if (headers) request.headers = request.headers;
80
- return Promise.resolve(_catch$6(function () {
80
+ return Promise.resolve(_catch$8(function () {
81
81
  return Promise.resolve(fetch(URL, request)).then(function (response) {
82
82
  var _exit;
83
83
  function _temp2(_result) {
@@ -149,8 +149,7 @@ var HTTPClient = function HTTPClient(domain, securityCtx) {
149
149
  * Session store
150
150
  * implements securityCtx methods
151
151
  */
152
-
153
- var SESSION_NAME = process.env.REACT_APP_SESSION || window && window.SESSION ? window.SESSION : 'YWANA-CORE6-SESSION';
152
+ var SESSION_NAME = typeof process !== 'undefined' ? process.env.REACT_APP_SESSION : window && window.SESSION ? window.SESSION : 'YWANA-CORE8-SESSION';
154
153
  var Session = {
155
154
  token: function token() {
156
155
  var item = sessionStorage.getItem(SESSION_NAME);
@@ -212,7 +211,7 @@ var TEXTFORMATS = {
212
211
  /**
213
212
  * Text
214
213
  */
215
- var Text = function Text(_ref) {
214
+ var Text$1 = function Text(_ref) {
216
215
  var _ref$format = _ref.format,
217
216
  format = _ref$format === void 0 ? TEXTFORMATS.HTML : _ref$format,
218
217
  children = _ref.children,
@@ -271,7 +270,7 @@ var Tooltip = function Tooltip(props) {
271
270
  }, /*#__PURE__*/React__default["default"].createElement("span", {
272
271
  className: "tooltip-text",
273
272
  style: style
274
- }, /*#__PURE__*/React__default["default"].createElement(Text, null, text)), props.children);
273
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, null, text)), props.children);
275
274
  };
276
275
 
277
276
  /**
@@ -440,7 +439,7 @@ var Button = function Button(_ref) {
440
439
  size: "small",
441
440
  clickable: true,
442
441
  action: click
443
- }), /*#__PURE__*/React__default["default"].createElement(Text, null, label));
442
+ }), /*#__PURE__*/React__default["default"].createElement(Text$1, null, label));
444
443
  };
445
444
 
446
445
  /**
@@ -500,8 +499,8 @@ var CheckBox = function CheckBox(props) {
500
499
  var value = event.target.checked;
501
500
  if (onChange) onChange(id, value);
502
501
  }
503
- var labelTxt = /*#__PURE__*/React__default["default"].createElement(Text, null, label);
504
- var placeholderTxt = /*#__PURE__*/React__default["default"].createElement(Text, null, placeholder);
502
+ var labelTxt = /*#__PURE__*/React__default["default"].createElement(Text$1, null, label);
503
+ var placeholderTxt = /*#__PURE__*/React__default["default"].createElement(Text$1, null, placeholder);
505
504
  return value === true ? /*#__PURE__*/React__default["default"].createElement("div", {
506
505
  className: "checkbox",
507
506
  key: id + "1"
@@ -558,7 +557,7 @@ var Chip = function Chip(props) {
558
557
  }, icon ? /*#__PURE__*/React__default["default"].createElement(Icon, {
559
558
  icon: icon,
560
559
  size: "small"
561
- }) : null, /*#__PURE__*/React__default["default"].createElement("main", null, /*#__PURE__*/React__default["default"].createElement(Text, null, label)), action ? /*#__PURE__*/React__default["default"].createElement("span", {
560
+ }) : null, /*#__PURE__*/React__default["default"].createElement("main", null, /*#__PURE__*/React__default["default"].createElement(Text$1, null, label)), action ? /*#__PURE__*/React__default["default"].createElement("span", {
562
561
  className: "meta"
563
562
  }, action) : null)) : /*#__PURE__*/React__default["default"].createElement("div", {
564
563
  className: "chip " + className + " " + style,
@@ -566,7 +565,7 @@ var Chip = function Chip(props) {
566
565
  }, icon ? /*#__PURE__*/React__default["default"].createElement(Icon, {
567
566
  icon: icon,
568
567
  size: "small"
569
- }) : null, /*#__PURE__*/React__default["default"].createElement("main", null, /*#__PURE__*/React__default["default"].createElement(Text, null, label)), action ? /*#__PURE__*/React__default["default"].createElement("span", {
568
+ }) : null, /*#__PURE__*/React__default["default"].createElement("main", null, /*#__PURE__*/React__default["default"].createElement(Text$1, null, label)), action ? /*#__PURE__*/React__default["default"].createElement("span", {
570
569
  className: "meta"
571
570
  }, action) : null);
572
571
  };
@@ -669,7 +668,7 @@ var Form = function Form(_ref) {
669
668
  };
670
669
  return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, title ? /*#__PURE__*/React__default["default"].createElement("header", {
671
670
  className: "form-header"
672
- }, /*#__PURE__*/React__default["default"].createElement(Text, {
671
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, {
673
672
  use: "headline6"
674
673
  }, title)) : '', /*#__PURE__*/React__default["default"].createElement("form", {
675
674
  className: "form-grid",
@@ -710,7 +709,7 @@ var Header = function Header(props) {
710
709
  var style = props.img ? {
711
710
  backgroundImage: "url(" + props.img + ")"
712
711
  } : {};
713
- var title = /*#__PURE__*/React__default["default"].createElement(Text, null, props.title);
712
+ var title = /*#__PURE__*/React__default["default"].createElement(Text$1, null, props.title);
714
713
  return /*#__PURE__*/React__default["default"].createElement("header", {
715
714
  className: "header " + caption + " " + prominent + " " + dense + " " + theme + " " + props.className,
716
715
  style: style
@@ -774,7 +773,7 @@ var GroupedList = function GroupedList(props) {
774
773
  return /*#__PURE__*/React__default["default"].createElement("div", {
775
774
  className: "list grouped"
776
775
  }, groups.map(function (group) {
777
- var groupTitle = groupRenderer ? groupRenderer(group) : /*#__PURE__*/React__default["default"].createElement(Text, null, group.name);
776
+ var groupTitle = groupRenderer ? groupRenderer(group) : /*#__PURE__*/React__default["default"].createElement(Text$1, null, group.name);
778
777
  return /*#__PURE__*/React__default["default"].createElement(React.Fragment, {
779
778
  key: group.name
780
779
  }, /*#__PURE__*/React__default["default"].createElement("header", {
@@ -819,9 +818,9 @@ var ListItem = function ListItem(_ref) {
819
818
  tooltip: iconTooltip
820
819
  }) : null, /*#__PURE__*/React__default["default"].createElement("main", null, /*#__PURE__*/React__default["default"].createElement("div", {
821
820
  className: "primary-line"
822
- }, /*#__PURE__*/React__default["default"].createElement(Text, null, line1)), line2 ? /*#__PURE__*/React__default["default"].createElement("div", {
821
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, null, line1)), line2 ? /*#__PURE__*/React__default["default"].createElement("div", {
823
822
  className: "secondary-line"
824
- }, /*#__PURE__*/React__default["default"].createElement(Text, null, line2)) : null), meta ? /*#__PURE__*/React__default["default"].createElement("div", {
823
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, null, line2)) : null), meta ? /*#__PURE__*/React__default["default"].createElement("div", {
825
824
  className: "meta"
826
825
  }, meta) : null);
827
826
  };
@@ -893,7 +892,7 @@ var MenuItem = function MenuItem(props) {
893
892
  }
894
893
  }
895
894
  var style = disabled ? "disabled" : "";
896
- var labelTxt = label ? /*#__PURE__*/React__default["default"].createElement(Text, {
895
+ var labelTxt = label ? /*#__PURE__*/React__default["default"].createElement(Text$1, {
897
896
  format: TEXTFORMATS.STRING
898
897
  }, label) : null;
899
898
  return /*#__PURE__*/React__default["default"].createElement("li", {
@@ -978,7 +977,7 @@ var Property = function Property(props) {
978
977
  className: "property property-" + id + " " + className
979
978
  }, /*#__PURE__*/React__default["default"].createElement("div", {
980
979
  className: "property-name"
981
- }, /*#__PURE__*/React__default["default"].createElement(Text, null, name || label)), /*#__PURE__*/React__default["default"].createElement("div", {
980
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, null, name || label)), /*#__PURE__*/React__default["default"].createElement("div", {
982
981
  className: "property-value"
983
982
  }, editable ? /*#__PURE__*/React__default["default"].createElement("input", {
984
983
  type: "text",
@@ -1006,7 +1005,7 @@ var RadioButton = function RadioButton(props) {
1006
1005
  var value = event.target.value;
1007
1006
  if (onChange) onChange(id, value);
1008
1007
  }
1009
- var labelTxt = /*#__PURE__*/React__default["default"].createElement(Text, null, label);
1008
+ var labelTxt = /*#__PURE__*/React__default["default"].createElement(Text$1, null, label);
1010
1009
  return /*#__PURE__*/React__default["default"].createElement("div", {
1011
1010
  className: "radio"
1012
1011
  }, /*#__PURE__*/React__default["default"].createElement("input", {
@@ -1105,7 +1104,7 @@ var Tab = function Tab(props) {
1105
1104
  if (onSelect) onSelect(id);
1106
1105
  }
1107
1106
  var style = selected ? "selected" : "";
1108
- var labelTxt = label ? /*#__PURE__*/React__default["default"].createElement(Text, {
1107
+ var labelTxt = label ? /*#__PURE__*/React__default["default"].createElement(Text$1, {
1109
1108
  format: TEXTFORMATS.STRING
1110
1109
  }, label) : null;
1111
1110
  return /*#__PURE__*/React__default["default"].createElement("div", {
@@ -1410,7 +1409,7 @@ var TextField = function TextField(props) {
1410
1409
  var labelStyle = label ? "" : "no-label";
1411
1410
  var labelPositionStyle = labelPosition == 'left' ? "label-left" : "label-top";
1412
1411
  var style = labelStyle + " " + labelPositionStyle + " " + borderStyle + " textfield-" + type;
1413
- var labelTxt = /*#__PURE__*/React__default["default"].createElement(Text, null, label);
1412
+ var labelTxt = /*#__PURE__*/React__default["default"].createElement(Text$1, null, label);
1414
1413
  var placeholderTxt = site.translate ? site.translate(placeholder) : placeholder;
1415
1414
  return /*#__PURE__*/React__default["default"].createElement("div", {
1416
1415
  className: style + " " + id + " " + className,
@@ -1488,7 +1487,7 @@ var TextArea = function TextArea(props) {
1488
1487
  }
1489
1488
  var labelStyle = label ? "" : "no-label";
1490
1489
  var style = "textarea " + labelStyle + " textarea-" + type;
1491
- var labelTxt = /*#__PURE__*/React__default["default"].createElement(Text, null, label);
1490
+ var labelTxt = /*#__PURE__*/React__default["default"].createElement(Text$1, null, label);
1492
1491
  var placeholderTxt = site.translate ? site.translate(placeholder) : placeholder;
1493
1492
  return /*#__PURE__*/React__default["default"].createElement("div", {
1494
1493
  className: "" + style,
@@ -1605,7 +1604,7 @@ var DropDown = function DropDown(props) {
1605
1604
  }, option.icon ? /*#__PURE__*/React__default["default"].createElement(Icon, {
1606
1605
  icon: option.icon,
1607
1606
  size: "small"
1608
- }) : '', /*#__PURE__*/React__default["default"].createElement(Text, null, option.label));
1607
+ }) : '', /*#__PURE__*/React__default["default"].createElement(Text$1, null, option.label));
1609
1608
  });
1610
1609
  return /*#__PURE__*/React__default["default"].createElement("menu", {
1611
1610
  className: position
@@ -1659,7 +1658,7 @@ var DateRange = function DateRange(props) {
1659
1658
  var next = Object.assign({}, form, (_Object$assign = {}, _Object$assign[id] = value, _Object$assign));
1660
1659
  setForm(next);
1661
1660
  }
1662
- var labelTxt = label ? /*#__PURE__*/React__default["default"].createElement(Text, null, label) : null;
1661
+ var labelTxt = label ? /*#__PURE__*/React__default["default"].createElement(Text$1, null, label) : null;
1663
1662
  return /*#__PURE__*/React__default["default"].createElement("div", {
1664
1663
  className: "date-range"
1665
1664
  }, label ? /*#__PURE__*/React__default["default"].createElement("label", null, labelTxt) : null, /*#__PURE__*/React__default["default"].createElement(TextField, {
@@ -1687,7 +1686,7 @@ var PasswordField = function PasswordField(props) {
1687
1686
  function toggle() {
1688
1687
  setShow(!show);
1689
1688
  }
1690
- var labelTxt = label ? /*#__PURE__*/React__default["default"].createElement(Text, null, label) : null;
1689
+ var labelTxt = label ? /*#__PURE__*/React__default["default"].createElement(Text$1, null, label) : null;
1691
1690
  return /*#__PURE__*/React__default["default"].createElement("div", {
1692
1691
  className: "password-field"
1693
1692
  }, /*#__PURE__*/React__default["default"].createElement(TextField, {
@@ -1708,9 +1707,7 @@ var PasswordField = function PasswordField(props) {
1708
1707
  * Login Box
1709
1708
  */
1710
1709
  var LoginBox = function LoginBox(_ref) {
1711
- var logo = _ref.logo,
1712
- title = _ref.title,
1713
- _ref$userLabel = _ref.userLabel,
1710
+ var _ref$userLabel = _ref.userLabel,
1714
1711
  userLabel = _ref$userLabel === void 0 ? "User" : _ref$userLabel,
1715
1712
  _ref$userValue = _ref.userValue,
1716
1713
  userValue = _ref$userValue === void 0 ? "" : _ref$userValue,
@@ -1721,11 +1718,9 @@ var LoginBox = function LoginBox(_ref) {
1721
1718
  _ref$loginLabel = _ref.loginLabel,
1722
1719
  loginLabel = _ref$loginLabel === void 0 ? "Log In" : _ref$loginLabel,
1723
1720
  onOK = _ref.onOK,
1724
- _ref$forgotLabel = _ref.forgotLabel,
1725
- forgotLabel = _ref$forgotLabel === void 0 ? "Forgot Password?" : _ref$forgotLabel,
1726
- onForgot = _ref.onForgot,
1727
1721
  message = _ref.message,
1728
- loading = _ref.loading;
1722
+ loading = _ref.loading,
1723
+ children = _ref.children;
1729
1724
  var _useState = React.useState(userValue),
1730
1725
  user = _useState[0],
1731
1726
  setUser = _useState[1];
@@ -1738,14 +1733,8 @@ var LoginBox = function LoginBox(_ref) {
1738
1733
  function ok(forcedPwd) {
1739
1734
  if (onOK && canOK()) onOK(user, forcedPwd || password);
1740
1735
  }
1741
- function canForgot() {
1742
- return user && user.length > 0;
1743
- }
1744
- function forgot() {
1745
- if (onForgot) onForgot(user);
1746
- }
1747
1736
  function tx(txt) {
1748
- return /*#__PURE__*/React__default["default"].createElement(Text, null, txt);
1737
+ return /*#__PURE__*/React__default["default"].createElement(Text$1, null, txt);
1749
1738
  }
1750
1739
  function changeUser(id, value) {
1751
1740
  setUser(value);
@@ -1755,11 +1744,7 @@ var LoginBox = function LoginBox(_ref) {
1755
1744
  }
1756
1745
  return /*#__PURE__*/React__default["default"].createElement("div", {
1757
1746
  className: "login-box"
1758
- }, /*#__PURE__*/React__default["default"].createElement("header", null, logo ? /*#__PURE__*/React__default["default"].createElement("img", {
1759
- src: logo
1760
- }) : '', /*#__PURE__*/React__default["default"].createElement("div", {
1761
- className: "title"
1762
- }, /*#__PURE__*/React__default["default"].createElement(Text, null, title))), /*#__PURE__*/React__default["default"].createElement("main", null, /*#__PURE__*/React__default["default"].createElement(TextField, {
1747
+ }, /*#__PURE__*/React__default["default"].createElement("main", null, /*#__PURE__*/React__default["default"].createElement(TextField, {
1763
1748
  label: tx(userLabel),
1764
1749
  value: user,
1765
1750
  onChange: changeUser,
@@ -1779,20 +1764,15 @@ var LoginBox = function LoginBox(_ref) {
1779
1764
  className: "load-box"
1780
1765
  }, /*#__PURE__*/React__default["default"].createElement(Icon, {
1781
1766
  icon: "refresh"
1782
- })) : /*#__PURE__*/React__default["default"].createElement(Button, {
1767
+ })) : null, !loading ? /*#__PURE__*/React__default["default"].createElement(Button, {
1783
1768
  label: tx(loginLabel),
1784
1769
  action: ok,
1785
1770
  disabled: !canOK(),
1786
1771
  raised: true,
1787
1772
  className: "login-button"
1788
- }), onForgot ? /*#__PURE__*/React__default["default"].createElement(Button, {
1789
- label: tx(forgotLabel),
1790
- action: forgot,
1791
- disabled: !canForgot(),
1792
- className: "forgot-button"
1793
- }) : null, message ? /*#__PURE__*/React__default["default"].createElement("div", {
1773
+ }) : null, children, message ? /*#__PURE__*/React__default["default"].createElement("div", {
1794
1774
  className: "message"
1795
- }, /*#__PURE__*/React__default["default"].createElement(Text, null, message)) : null));
1775
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, null, message)) : null));
1796
1776
  };
1797
1777
 
1798
1778
  function validatePassword(contraseña) {
@@ -1844,8 +1824,7 @@ function validatePassword(contraseña) {
1844
1824
  * Reset Password
1845
1825
  */
1846
1826
  var ResetPasswordBox = function ResetPasswordBox(_ref) {
1847
- var title = _ref.title,
1848
- _ref$userRequired = _ref.userRequired,
1827
+ var _ref$userRequired = _ref.userRequired,
1849
1828
  userRequired = _ref$userRequired === void 0 ? true : _ref$userRequired,
1850
1829
  _ref$oldPwdRequired = _ref.oldPwdRequired,
1851
1830
  oldPwdRequired = _ref$oldPwdRequired === void 0 ? false : _ref$oldPwdRequired,
@@ -1945,20 +1924,17 @@ var ResetPasswordBox = function ResetPasswordBox(_ref) {
1945
1924
  onOK(form);
1946
1925
  }
1947
1926
  }
1948
- var userLabel = /*#__PURE__*/React__default["default"].createElement(Text, null, "User");
1949
- var passwordLabel = /*#__PURE__*/React__default["default"].createElement(Text, null, "New Password");
1950
- var password2Label = /*#__PURE__*/React__default["default"].createElement(Text, null, "Confirm New Password");
1951
- var okLabel = /*#__PURE__*/React__default["default"].createElement(Text, null, "OK");
1927
+ var userLabel = /*#__PURE__*/React__default["default"].createElement(Text$1, null, "User");
1928
+ var passwordLabel = /*#__PURE__*/React__default["default"].createElement(Text$1, null, "New Password");
1929
+ var password2Label = /*#__PURE__*/React__default["default"].createElement(Text$1, null, "Confirm New Password");
1930
+ var okLabel = /*#__PURE__*/React__default["default"].createElement(Text$1, null, "OK");
1952
1931
  var userStyle = errors.user ? "error" : "";
1953
1932
  var oldPasswordStyle = errors.oldPassword ? "error" : "";
1954
1933
  var password1Style = errors.password1 ? "error" : "";
1955
1934
  var password2Style = errors.password2 ? "error" : "";
1956
- console.log("ResetPasswordBox", errors);
1957
1935
  return /*#__PURE__*/React__default["default"].createElement("div", {
1958
1936
  className: "reset-password-box"
1959
- }, /*#__PURE__*/React__default["default"].createElement("header", null, title ? /*#__PURE__*/React__default["default"].createElement("div", {
1960
- className: "title"
1961
- }, /*#__PURE__*/React__default["default"].createElement(Text, null, title)) : null), /*#__PURE__*/React__default["default"].createElement("main", {
1937
+ }, /*#__PURE__*/React__default["default"].createElement("main", {
1962
1938
  className: "reset-password-form"
1963
1939
  }, userRequired ? /*#__PURE__*/React__default["default"].createElement(TextField, {
1964
1940
  id: "user",
@@ -1971,19 +1947,19 @@ var ResetPasswordBox = function ResetPasswordBox(_ref) {
1971
1947
  onEnter: ok
1972
1948
  }) : null, userRequired ? errors.user ? /*#__PURE__*/React__default["default"].createElement("div", {
1973
1949
  className: "error-message"
1974
- }, /*#__PURE__*/React__default["default"].createElement(Text, null, errors.user)) : null : null, oldPwdRequired ? /*#__PURE__*/React__default["default"].createElement(TextField, {
1950
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, null, errors.user)) : null : null, oldPwdRequired ? /*#__PURE__*/React__default["default"].createElement(TextField, {
1975
1951
  id: "oldPassword",
1976
1952
  className: oldPasswordStyle,
1977
1953
  outlined: true,
1978
1954
  icon: "lock",
1979
1955
  type: "password",
1980
- label: "Old Password",
1956
+ label: "Current Password",
1981
1957
  lapse: 100,
1982
1958
  onChange: changeField,
1983
1959
  onEnter: ok
1984
1960
  }) : null, oldPwdRequired ? errors.oldPassword ? /*#__PURE__*/React__default["default"].createElement("div", {
1985
1961
  className: "error-message"
1986
- }, /*#__PURE__*/React__default["default"].createElement(Text, null, errors.oldPassword)) : null : null, /*#__PURE__*/React__default["default"].createElement(TextField, {
1962
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, null, errors.oldPassword)) : null : null, /*#__PURE__*/React__default["default"].createElement(TextField, {
1987
1963
  id: "password1",
1988
1964
  className: password1Style,
1989
1965
  outlined: true,
@@ -1995,7 +1971,7 @@ var ResetPasswordBox = function ResetPasswordBox(_ref) {
1995
1971
  onEnter: ok
1996
1972
  }), errors.password1 ? /*#__PURE__*/React__default["default"].createElement("div", {
1997
1973
  className: "error-message"
1998
- }, /*#__PURE__*/React__default["default"].createElement(Text, null, errors.password1)) : null, children, /*#__PURE__*/React__default["default"].createElement(TextField, {
1974
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, null, errors.password1)) : null, children, /*#__PURE__*/React__default["default"].createElement(TextField, {
1999
1975
  id: "password2",
2000
1976
  className: password2Style,
2001
1977
  outlined: true,
@@ -2007,7 +1983,7 @@ var ResetPasswordBox = function ResetPasswordBox(_ref) {
2007
1983
  onEnter: ok
2008
1984
  }), errors.password2 ? /*#__PURE__*/React__default["default"].createElement("div", {
2009
1985
  className: "error-message"
2010
- }, /*#__PURE__*/React__default["default"].createElement(Text, null, errors.password2)) : null), /*#__PURE__*/React__default["default"].createElement("footer", null, /*#__PURE__*/React__default["default"].createElement(Button, {
1986
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, null, errors.password2)) : null), /*#__PURE__*/React__default["default"].createElement("footer", null, /*#__PURE__*/React__default["default"].createElement(Button, {
2011
1987
  label: okLabel,
2012
1988
  raised: true,
2013
1989
  disabled: !isValid,
@@ -2015,1763 +1991,2303 @@ var ResetPasswordBox = function ResetPasswordBox(_ref) {
2015
1991
  })));
2016
1992
  };
2017
1993
 
2018
- var SCROLL_SENSITIVITY = 0.0005;
2019
- var MAX_ZOOM = 5;
2020
- var MIN_ZOOM = 0.1;
2021
- var ImageViewer = function ImageViewer(_ref) {
2022
- var image = _ref.image;
2023
- var _useState = React.useState({
2024
- x: 0,
2025
- y: 0
2026
- }),
2027
- offset = _useState[0],
2028
- setOffset = _useState[1];
2029
- var _useState2 = React.useState(1),
2030
- zoom = _useState2[0],
2031
- setZoom = _useState2[1];
2032
- var _useState3 = React.useState(false),
2033
- draggind = _useState3[0],
2034
- setDragging = _useState3[1];
2035
- var touch = React.useRef({
2036
- x: 0,
2037
- y: 0
2038
- });
2039
- var canvasRef = React.useRef(null);
2040
- var containerRef = React.useRef(null);
2041
- var observer = React.useRef(null);
2042
- var background = React.useMemo(function () {
2043
- return new Image();
2044
- }, [image]);
2045
- var clamp = function clamp(num, min, max) {
2046
- return Math.min(Math.max(num, min), max);
2047
- };
2048
- var handleWheel = function handleWheel(event) {
2049
- var deltaY = event.deltaY;
2050
- if (!draggind) {
2051
- setZoom(function (zoom) {
2052
- return clamp(zoom + deltaY * SCROLL_SENSITIVITY * -1, MIN_ZOOM, MAX_ZOOM);
2053
- });
2054
- }
2055
- };
2056
- var handleMouseMove = function handleMouseMove(event) {
2057
- if (draggind) {
2058
- var _touch$current = touch.current,
2059
- x = _touch$current.x,
2060
- y = _touch$current.y;
2061
- var clientX = event.clientX,
2062
- clientY = event.clientY;
2063
- setOffset({
2064
- x: offset.x + (x - clientX),
2065
- y: offset.y + (y - clientY)
2066
- });
2067
- touch.current = {
2068
- x: clientX,
2069
- y: clientY
2070
- };
2071
- }
2072
- };
2073
- var handleMouseDown = function handleMouseDown(event) {
2074
- var clientX = event.clientX,
2075
- clientY = event.clientY;
2076
- touch.current = {
2077
- x: clientX,
2078
- y: clientY
2079
- };
2080
- setDragging(true);
2081
- };
2082
- var handleMouseUp = function handleMouseUp() {
2083
- return setDragging(false);
2084
- };
2085
- var draw = function draw() {
2086
- if (canvasRef.current) {
2087
- var _canvasRef$current = canvasRef.current,
2088
- width = _canvasRef$current.width,
2089
- height = _canvasRef$current.height;
2090
- var context = canvasRef.current.getContext("2d");
2091
-
2092
- // Set canvas dimensions
2093
- canvasRef.current.width = width;
2094
- canvasRef.current.height = height;
2095
-
2096
- // Clear canvas and scale it
2097
- context.translate(-offset.x, -offset.y);
2098
- context.scale(zoom, zoom);
2099
- context.clearRect(0, 0, width, height);
2100
-
2101
- // Make sure we're zooming to the center
2102
- var x = (context.canvas.width / zoom - background.width) / 2;
2103
- var y = (context.canvas.height / zoom - background.height) / 2;
2104
-
2105
- // Draw image
2106
- context.drawImage(background, x, y);
2107
- }
2108
- };
2109
- React.useEffect(function () {
2110
- observer.current = new ResizeObserver(function (entries) {
2111
- entries.forEach(function (_ref2) {
2112
- var target = _ref2.target;
2113
- var width = background.width,
2114
- height = background.height;
2115
- // If width of the container is smaller than image, scale image down
2116
- if (target.clientWidth < width) {
2117
- // Calculate scale
2118
- var scale = target.clientWidth / width;
2119
-
2120
- // Redraw image
2121
- canvasRef.current.width = width * scale;
2122
- canvasRef.current.height = height * scale;
2123
- canvasRef.current.getContext("2d").drawImage(background, 0, 0, width * scale, height * scale);
2124
- }
2125
- });
2126
- });
2127
- observer.current.observe(containerRef.current);
2128
- return function () {
2129
- return observer.current.unobserve(containerRef.current);
2130
- };
2131
- }, []);
2132
- React.useEffect(function () {
2133
- background.src = image;
2134
- if (canvasRef.current) {
2135
- background.onload = function () {
2136
- // Get the image dimensions
2137
- var width = background.width,
2138
- height = background.height;
2139
- canvasRef.current.width = width;
2140
- canvasRef.current.height = height;
1994
+ /**
1995
+ * Page Context
1996
+ */
1997
+ var PageContext = React__default["default"].createContext({});
2141
1998
 
2142
- // Set image as background
2143
- canvasRef.current.getContext("2d").drawImage(background, 0, 0);
2144
- };
2145
- }
2146
- }, [background]);
2147
- React.useEffect(function () {
2148
- draw();
2149
- }, [zoom, offset]);
2150
- return /*#__PURE__*/React__default["default"].createElement("div", {
2151
- className: "image-viewer",
2152
- ref: containerRef
2153
- }, /*#__PURE__*/React__default["default"].createElement("canvas", {
2154
- onMouseDown: handleMouseDown,
2155
- onMouseUp: handleMouseUp,
2156
- onWheel: handleWheel,
2157
- onMouseMove: handleMouseMove,
2158
- ref: canvasRef
2159
- }));
1999
+ /**
2000
+ * Page Provider
2001
+ */
2002
+ var PageProvider = function PageProvider(_ref) {
2003
+ var _ref$context = _ref.context,
2004
+ context = _ref$context === void 0 ? {} : _ref$context,
2005
+ children = _ref.children;
2006
+ var _useState = React.useState(context),
2007
+ pageCtx = _useState[0],
2008
+ setPageCtx = _useState[1];
2009
+ return /*#__PURE__*/React__default["default"].createElement(PageContext.Provider, {
2010
+ value: [pageCtx, setPageCtx]
2011
+ }, children);
2160
2012
  };
2161
2013
 
2162
2014
  /**
2163
- * Viewer
2015
+ * Page
2164
2016
  */
2165
- var Viewer = function Viewer(_ref) {
2166
- var title = _ref.title,
2167
- src = _ref.src,
2168
- info = _ref.info,
2169
- _ref$actions = _ref.actions,
2170
- actions = _ref$actions === void 0 ? [] : _ref$actions,
2171
- _ref$tools = _ref.tools,
2172
- tools = _ref$tools === void 0 ? false : _ref$tools,
2173
- onClose = _ref.onClose;
2174
- var _useState = React.useState(false),
2175
- showDetails = _useState[0],
2176
- setShowDetails = _useState[1];
2177
- function toggleDetails() {
2178
- setShowDetails(!showDetails);
2179
- }
2180
- var headerTitle = /*#__PURE__*/React__default["default"].createElement(Text, {
2181
- use: "headline6"
2182
- }, title);
2183
- return /*#__PURE__*/React__default["default"].createElement("div", {
2184
- className: "viewer"
2185
- }, /*#__PURE__*/React__default["default"].createElement(Header, {
2186
- icon: "view",
2187
- title: headerTitle
2188
- }, onClose ? /*#__PURE__*/React__default["default"].createElement(Icon, {
2189
- icon: "close",
2190
- clickable: true,
2191
- action: onClose
2192
- }) : null, showDetails ? '' : /*#__PURE__*/React__default["default"].createElement(Icon, {
2193
- icon: "info",
2194
- clickable: true,
2195
- action: toggleDetails
2196
- }), actions), /*#__PURE__*/React__default["default"].createElement("main", null, /*#__PURE__*/React__default["default"].createElement("div", {
2197
- className: "resizer"
2198
- }, /*#__PURE__*/React__default["default"].createElement("picture", null, /*#__PURE__*/React__default["default"].createElement(ImageViewer, {
2199
- image: src
2200
- })))), /*#__PURE__*/React__default["default"].createElement("aside", {
2201
- className: "" + (showDetails ? 'open' : '')
2202
- }, /*#__PURE__*/React__default["default"].createElement(Header, {
2203
- title: "Detalles"
2204
- }, /*#__PURE__*/React__default["default"].createElement(Icon, {
2205
- icon: "close",
2206
- clickable: true,
2207
- action: toggleDetails
2208
- })), /*#__PURE__*/React__default["default"].createElement("main", null, info)), tools ? /*#__PURE__*/React__default["default"].createElement("footer", null, /*#__PURE__*/React__default["default"].createElement(Icon, {
2209
- clickable: true,
2210
- icon: "zoom_out"
2211
- }), /*#__PURE__*/React__default["default"].createElement(Icon, {
2212
- clickable: true,
2213
- icon: "zoom_out_map"
2214
- }), /*#__PURE__*/React__default["default"].createElement(Icon, {
2215
- clickable: true,
2216
- icon: "zoom_in"
2217
- })) : null);
2017
+ var Page = function Page(props) {
2018
+ var children = props.children,
2019
+ _props$layout = props.layout,
2020
+ layout = _props$layout === void 0 ? "simple" : _props$layout,
2021
+ _props$context = props.context,
2022
+ context = _props$context === void 0 ? {} : _props$context,
2023
+ className = props.className;
2024
+ return /*#__PURE__*/React__default["default"].createElement(PageProvider, {
2025
+ context: context
2026
+ }, /*#__PURE__*/React__default["default"].createElement("article", {
2027
+ className: "page6 " + layout + " " + className
2028
+ }, children));
2218
2029
  };
2219
2030
 
2220
2031
  /**
2221
- * Kanban
2032
+ * Site Provider
2222
2033
  */
2223
- var Kanban = function Kanban(_ref) {
2224
- var children = _ref.children;
2225
- var hasSwimlanes = React.useMemo(function () {
2226
- var found = React__default["default"].Children.map(children, function (child) {
2227
- if (child.type.name === KanbanSwimlane.name) {
2228
- return child;
2229
- }
2230
- });
2231
- return found.length > 0;
2232
- });
2233
- var style = hasSwimlanes ? "with-swimlanes" : "";
2234
- return /*#__PURE__*/React__default["default"].createElement("div", {
2235
- className: "kanban " + style
2236
- }, children);
2237
- };
2238
- var KanbanHeader = function KanbanHeader(props) {
2239
- var columns = props.columns;
2240
- return /*#__PURE__*/React__default["default"].createElement("div", {
2241
- className: "kanban-header"
2242
- }, columns.map(function (column, index) {
2243
- var icon = column.icon,
2244
- title = column.title,
2245
- subtitle = column.subtitle,
2246
- badge = column.badge;
2247
- return /*#__PURE__*/React__default["default"].createElement("div", {
2248
- className: "kanban-column",
2249
- key: index
2250
- }, /*#__PURE__*/React__default["default"].createElement("header", null, /*#__PURE__*/React__default["default"].createElement(Icon, {
2251
- icon: icon
2252
- }), /*#__PURE__*/React__default["default"].createElement("div", {
2253
- className: "title"
2254
- }, /*#__PURE__*/React__default["default"].createElement(Text, {
2255
- use: "headline6"
2256
- }, title), /*#__PURE__*/React__default["default"].createElement(Text, {
2257
- className: "secondary-text",
2258
- use: "body2"
2259
- }, subtitle)), /*#__PURE__*/React__default["default"].createElement("div", {
2260
- className: "badge"
2261
- }, badge)));
2262
- }));
2263
- };
2264
- var KanbanSwimlane = function KanbanSwimlane(_ref2) {
2265
- var icon = _ref2.icon,
2266
- title = _ref2.title,
2267
- subtitle = _ref2.subtitle,
2268
- badge = _ref2.badge,
2269
- children = _ref2.children;
2270
- var _useState = React.useState(true),
2271
- unfold = _useState[0],
2272
- setUnfold = _useState[1];
2273
-
2274
- // cahnge all children headless prop to true
2275
- // if there is only one child
2276
- if (children.length === 1) {
2277
- children = React__default["default"].cloneElement(children, {
2278
- headless: true
2279
- });
2280
- } else {
2281
- children = React__default["default"].Children.map(children, function (child) {
2282
- return React__default["default"].cloneElement(child, {
2283
- headless: true
2034
+ var SiteProvider = function SiteProvider(_ref) {
2035
+ var children = _ref.children,
2036
+ siteLang = _ref.siteLang,
2037
+ siteDictionary = _ref.siteDictionary;
2038
+ var _useState = React.useState(siteLang),
2039
+ lang = _useState[0],
2040
+ setLang = _useState[1];
2041
+ var _useState2 = React.useState(siteDictionary),
2042
+ dictionary = _useState2[0],
2043
+ setDictionary = _useState2[1];
2044
+ var _useState3 = React.useState('max'),
2045
+ sideNav = _useState3[0],
2046
+ setSideNav = _useState3[1];
2047
+ var _useState4 = React.useState(false),
2048
+ showNav = _useState4[0],
2049
+ setShowNav = _useState4[1];
2050
+ var _useState5 = React.useState(null),
2051
+ info = _useState5[0],
2052
+ setInfo = _useState5[1];
2053
+ var _useState6 = React.useState(false),
2054
+ showConsole = _useState6[0],
2055
+ setShowConsole = _useState6[1];
2056
+ var _useState7 = React.useState([]),
2057
+ consoleLines = _useState7[0],
2058
+ setConsoleLines = _useState7[1];
2059
+ var _useState8 = React.useState(),
2060
+ page = _useState8[0],
2061
+ setPage = _useState8[1];
2062
+ var _useState9 = React.useState(),
2063
+ dialog = _useState9[0],
2064
+ setDialog = _useState9[1];
2065
+ var _useState10 = React.useState(),
2066
+ promptDialog = _useState10[0],
2067
+ setPromptDialog = _useState10[1];
2068
+ var _useState11 = React.useState(),
2069
+ preview = _useState11[0],
2070
+ setPreview = _useState11[1];
2071
+ var _useState12 = React.useState(),
2072
+ breadcrumb = _useState12[0],
2073
+ setBreadcrumb = _useState12[1];
2074
+ var value = {
2075
+ lang: lang,
2076
+ setLang: setLang,
2077
+ dictionary: dictionary,
2078
+ setDictionary: setDictionary,
2079
+ translate: function translate(key) {
2080
+ if (!key) return key;
2081
+ if (dictionary === undefined) return key;
2082
+ var term = dictionary[key];
2083
+ return term ? term[lang] : key;
2084
+ },
2085
+ sideNav: sideNav,
2086
+ setSideNav: setSideNav,
2087
+ showNav: showNav,
2088
+ setShowNav: setShowNav,
2089
+ info: info,
2090
+ openInfo: function openInfo(info) {
2091
+ setInfo(info);
2092
+ },
2093
+ closeInfo: function closeInfo() {
2094
+ setInfo(null);
2095
+ },
2096
+ consoleLines: consoleLines,
2097
+ showConsole: showConsole,
2098
+ toggleConsole: function toggleConsole() {
2099
+ setShowConsole(!showConsole);
2100
+ },
2101
+ writeLog: function writeLog(line) {
2102
+ var next = consoleLines.concat(line);
2103
+ setConsoleLines(next);
2104
+ },
2105
+ clearLog: function clearLog() {
2106
+ setConsoleLines([]);
2107
+ },
2108
+ breadcrumb: breadcrumb,
2109
+ setBreadcrumb: setBreadcrumb,
2110
+ page: page,
2111
+ "goto": function goto(id) {
2112
+ setPage(id);
2113
+ },
2114
+ dialog: dialog,
2115
+ openDialog: function openDialog(dialog) {
2116
+ setDialog(dialog);
2117
+ },
2118
+ closeDialog: function closeDialog() {
2119
+ setDialog(null);
2120
+ },
2121
+ preview: preview,
2122
+ openPreview: function openPreview(preview) {
2123
+ setPreview(preview);
2124
+ },
2125
+ closePreview: function closePreview() {
2126
+ setPreview(null);
2127
+ },
2128
+ confirm: function confirm(message) {
2129
+ return window.confirm(message);
2130
+ },
2131
+ prompt: function prompt(message) {
2132
+ return window.prompt(message);
2133
+ },
2134
+ promptDialog: promptDialog,
2135
+ openPromptDialog: function openPromptDialog(dialog) {
2136
+ setPromptDialog(dialog);
2137
+ },
2138
+ closePromptDialog: function closePromptDialog() {
2139
+ setPromptDialog(null);
2140
+ },
2141
+ notify: function notify(_ref2) {
2142
+ var title = _ref2.title,
2143
+ body = _ref2.body,
2144
+ _ref2$type = _ref2.type,
2145
+ type = _ref2$type === void 0 ? "success" : _ref2$type,
2146
+ _ref2$duration = _ref2.duration,
2147
+ duration = _ref2$duration === void 0 ? 3000 : _ref2$duration,
2148
+ onRemoval = _ref2.onRemoval;
2149
+ reactNotificationsComponent.Store.addNotification({
2150
+ title: title,
2151
+ message: body,
2152
+ type: type,
2153
+ insert: "top",
2154
+ container: "top-right",
2155
+ animationIn: ["animate__animated", "animate__fadeIn"],
2156
+ animationOut: ["animate__animated", "animate__fadeOut"],
2157
+ dismiss: {
2158
+ duration: duration,
2159
+ onScreen: true
2160
+ },
2161
+ onRemoval: onRemoval
2284
2162
  });
2285
- });
2286
- }
2287
-
2288
- // log al children headless prop
2289
- children.forEach(function (child) {
2290
- console.log(child.props.headless);
2291
- });
2292
- function toggle() {
2293
- setUnfold(!unfold);
2294
- }
2295
- var toggleIcon = unfold ? "unfold_less" : "unfold_more";
2296
- var toggleStyle = unfold ? "unfold" : "fold";
2297
- return /*#__PURE__*/React__default["default"].createElement("div", {
2298
- className: "kanban-swimlane"
2299
- }, /*#__PURE__*/React__default["default"].createElement("header", null, /*#__PURE__*/React__default["default"].createElement(Icon, {
2300
- icon: icon,
2301
- size: "small"
2302
- }), /*#__PURE__*/React__default["default"].createElement("div", {
2303
- className: "title"
2304
- }, /*#__PURE__*/React__default["default"].createElement(Text, {
2305
- use: "headline6"
2306
- }, title, ":"), /*#__PURE__*/React__default["default"].createElement(Text, {
2307
- className: "secondary-text",
2308
- use: "body2"
2309
- }, subtitle)), /*#__PURE__*/React__default["default"].createElement("div", {
2310
- className: "badge"
2311
- }, badge), /*#__PURE__*/React__default["default"].createElement(Icon, {
2312
- icon: toggleIcon,
2313
- clickable: true,
2314
- action: toggle
2315
- })), /*#__PURE__*/React__default["default"].createElement("main", {
2316
- className: toggleStyle
2317
- }, children));
2163
+ }
2164
+ };
2165
+ return /*#__PURE__*/React__default["default"].createElement(SiteContext.Provider, {
2166
+ value: value
2167
+ }, children);
2318
2168
  };
2319
2169
 
2320
2170
  /**
2321
- * Kanban Column
2171
+ * Site
2322
2172
  */
2323
- var KanbanColumn = function KanbanColumn(_ref3) {
2324
- var id = _ref3.id,
2325
- actions = _ref3.actions,
2326
- _ref3$headless = _ref3.headless,
2327
- headless = _ref3$headless === void 0 ? false : _ref3$headless,
2328
- icon = _ref3.icon,
2173
+ var Site = function Site(_ref3) {
2174
+ var icon = _ref3.icon,
2175
+ iconSrc = _ref3.iconSrc,
2329
2176
  title = _ref3.title,
2330
- subtitle = _ref3.subtitle,
2331
- badge = _ref3.badge,
2177
+ toolbar = _ref3.toolbar,
2178
+ footer = _ref3.footer,
2332
2179
  children = _ref3.children,
2333
- _ref3$minified = _ref3.minified,
2334
- minified = _ref3$minified === void 0 ? false : _ref3$minified,
2335
- _ref3$disabled = _ref3.disabled,
2336
- disabled = _ref3$disabled === void 0 ? false : _ref3$disabled;
2337
- var _useState2 = React.useState(minified),
2338
- min = _useState2[0],
2339
- setMin = _useState2[1];
2340
- function toggle() {
2341
- setMin(!min);
2342
- }
2343
- return min ? /*#__PURE__*/React__default["default"].createElement("div", {
2344
- className: "kanban-column " + id + " min"
2345
- }, /*#__PURE__*/React__default["default"].createElement("main", null, title), /*#__PURE__*/React__default["default"].createElement("footer", null, /*#__PURE__*/React__default["default"].createElement(Icon, {
2346
- icon: "toggle_off",
2347
- onIcon: "toggle_on",
2348
- clickable: true,
2349
- action: toggle
2350
- }))) : /*#__PURE__*/React__default["default"].createElement("div", {
2351
- className: "kanban-column " + id + " " + (disabled ? 'disabled' : '')
2352
- }, headless ? "" : /*#__PURE__*/React__default["default"].createElement("header", null, /*#__PURE__*/React__default["default"].createElement(Icon, {
2353
- icon: icon
2354
- }), /*#__PURE__*/React__default["default"].createElement("div", {
2355
- className: "title"
2356
- }, /*#__PURE__*/React__default["default"].createElement(Text, {
2357
- use: "headline6"
2358
- }, title), /*#__PURE__*/React__default["default"].createElement(Text, {
2359
- className: "secondary-text",
2360
- use: "body2"
2361
- }, subtitle)), /*#__PURE__*/React__default["default"].createElement("div", {
2362
- className: "badge"
2363
- }, badge)), /*#__PURE__*/React__default["default"].createElement("main", null, children), /*#__PURE__*/React__default["default"].createElement("footer", null, /*#__PURE__*/React__default["default"].createElement(Icon, {
2364
- icon: "toggle_off",
2365
- onIcon: "toggle_on",
2366
- clickable: true,
2367
- action: toggle
2368
- }), actions));
2180
+ init = _ref3.init,
2181
+ min = _ref3.min,
2182
+ lang = _ref3.lang,
2183
+ dictionary = _ref3.dictionary;
2184
+ return /*#__PURE__*/React__default["default"].createElement(SiteProvider, {
2185
+ siteLang: lang,
2186
+ siteDictionary: dictionary
2187
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
2188
+ className: "site6"
2189
+ }, /*#__PURE__*/React__default["default"].createElement(SiteHeader, {
2190
+ icon: icon,
2191
+ iconSrc: iconSrc,
2192
+ title: title
2193
+ }), /*#__PURE__*/React__default["default"].createElement(SiteToolBar, null, toolbar), /*#__PURE__*/React__default["default"].createElement(SiteMenu, {
2194
+ iconSrc: iconSrc,
2195
+ title: title,
2196
+ min: min
2197
+ }, children), /*#__PURE__*/React__default["default"].createElement(SitePage, {
2198
+ init: init
2199
+ }, children, /*#__PURE__*/React__default["default"].createElement(Page, {
2200
+ id: "EMPTY"
2201
+ }, "EMPTY")), /*#__PURE__*/React__default["default"].createElement(SiteAside, null), /*#__PURE__*/React__default["default"].createElement(SiteConsole, null), /*#__PURE__*/React__default["default"].createElement(SiteDialog, null), /*#__PURE__*/React__default["default"].createElement(SitePromptDialog, null), /*#__PURE__*/React__default["default"].createElement(SitePreview, null), /*#__PURE__*/React__default["default"].createElement(SiteNotifications, null), /*#__PURE__*/React__default["default"].createElement(SiteFooter, null, footer)));
2202
+ };
2203
+ var SiteNotifications = function SiteNotifications() {
2204
+ return /*#__PURE__*/React__default["default"].createElement(reactNotificationsComponent.ReactNotifications, null);
2369
2205
  };
2370
2206
 
2371
2207
  /**
2372
- * Kanban Card
2208
+ * Site Header
2373
2209
  */
2374
- var KanbanCard = function KanbanCard(_ref4) {
2375
- var className = _ref4.className,
2376
- color = _ref4.color,
2377
- children = _ref4.children;
2378
- return /*#__PURE__*/React__default["default"].createElement("div", {
2379
- className: "kanban-card " + className + " " + color
2380
- }, children);
2210
+ var SiteHeader = function SiteHeader(props) {
2211
+ var _props$icon = props.icon,
2212
+ icon = _props$icon === void 0 ? "equalizer" : _props$icon,
2213
+ iconSrc = props.iconSrc,
2214
+ title = props.title;
2215
+ return /*#__PURE__*/React__default["default"].createElement(Header, {
2216
+ icon: icon,
2217
+ iconSrc: iconSrc,
2218
+ title: title
2219
+ });
2381
2220
  };
2382
2221
 
2383
2222
  /**
2384
- * Avatar
2223
+ * Site ToolBar
2385
2224
  */
2386
- var Avatar = function Avatar(props) {
2387
- var id = props.id,
2388
- name = props.name,
2389
- className = props.className,
2390
- src = props.src,
2391
- _props$size = props.size,
2392
- size = _props$size === void 0 ? "small" : _props$size,
2393
- _props$clickable = props.clickable,
2394
- clickable = _props$clickable === void 0 ? false : _props$clickable,
2395
- action = props.action;
2396
- function click() {
2397
- if (clickable) {
2398
- action(id);
2399
- }
2400
- }
2401
- var clickableStyle = clickable ? 'clickable' : '';
2402
- var style = "avatar " + size + " " + clickableStyle + " " + className;
2403
- return /*#__PURE__*/React__default["default"].createElement("div", {
2404
- className: style,
2405
- onClick: click
2406
- }, src ? /*#__PURE__*/React__default["default"].createElement("img", {
2407
- src: src
2408
- }) : /*#__PURE__*/React__default["default"].createElement("span", null, name));
2409
- };
2410
-
2411
- var WaitScreen = function WaitScreen() {
2412
- return /*#__PURE__*/React__default["default"].createElement("div", {
2413
- className: "wait-screen"
2414
- }, /*#__PURE__*/React__default["default"].createElement(CircularProgress, {
2415
- size: "large"
2416
- }));
2225
+ var SiteToolBar = function SiteToolBar(_ref4) {
2226
+ var children = _ref4.children;
2227
+ return /*#__PURE__*/React__default["default"].createElement("nav", null, children);
2417
2228
  };
2418
2229
 
2419
- moment__default["default"].locale('es');
2420
- var moment = momentRange.extendMoment(moment__default["default"]);
2421
-
2422
2230
  /**
2423
- * Calendar
2231
+ * Site Footer
2424
2232
  */
2425
- var Calendar = function Calendar(props) {
2426
- var _props$events = props.events,
2427
- events = _props$events === void 0 ? [] : _props$events,
2428
- children = props.children,
2429
- onChange = props.onChange,
2430
- onRange = props.onRange;
2431
- var _useState = React.useState(props.range || "year"),
2432
- range = _useState[0],
2433
- setRange = _useState[1];
2434
- function onChangeRange(range) {
2435
- setRange(range);
2436
- if (onRange) onRange(range);
2437
- }
2438
- return /*#__PURE__*/React__default["default"].createElement("div", {
2439
- className: "calendar"
2440
- }, /*#__PURE__*/React__default["default"].createElement(CalendarRangeControl, {
2441
- range: range,
2442
- onChange: onChangeRange
2443
- }), range === "year" && /*#__PURE__*/React__default["default"].createElement(YearCalendar, {
2444
- events: events,
2445
- onChange: onChange
2446
- }, children), range === "month" && /*#__PURE__*/React__default["default"].createElement(MonthCalendar, {
2447
- events: events,
2448
- onChange: onChange,
2449
- onRange: onChangeRange
2450
- }, children));
2233
+ var SiteFooter = function SiteFooter(_ref5) {
2234
+ var children = _ref5.children;
2235
+ return /*#__PURE__*/React__default["default"].createElement("footer", null, children);
2451
2236
  };
2452
2237
 
2453
2238
  /**
2454
- * CalendarRangeControl
2239
+ * Site Aside
2455
2240
  */
2456
- var CalendarRangeControl = function CalendarRangeControl(props) {
2457
- var range = props.range,
2458
- onChange = props.onChange;
2459
- return /*#__PURE__*/React__default["default"].createElement("div", {
2460
- className: "calendar-range-control"
2461
- }, /*#__PURE__*/React__default["default"].createElement(Button, {
2462
- label: "Year",
2463
- outlined: range == "year",
2464
- action: function action() {
2465
- return onChange("year");
2466
- }
2467
- }), /*#__PURE__*/React__default["default"].createElement(Button, {
2468
- label: "Month",
2469
- outlined: range == "month",
2470
- action: function action() {
2471
- return onChange("month");
2472
- }
2473
- }));
2241
+ var SiteAside = function SiteAside() {
2242
+ var context = React.useContext(SiteContext);
2243
+ return context.info ? /*#__PURE__*/React__default["default"].createElement("aside", null, context.info) : '';
2474
2244
  };
2475
2245
 
2476
2246
  /**
2477
- * MonthCalendar
2247
+ * SiteMenu
2478
2248
  */
2479
- var MonthCalendar = function MonthCalendar(props) {
2480
- var _props$events2 = props.events,
2481
- events = _props$events2 === void 0 ? [] : _props$events2,
2482
- children = props.children,
2483
- onChange = props.onChange;
2484
- var _useState2 = React.useState(),
2485
- position = _useState2[0],
2486
- setPosition = _useState2[1];
2249
+ var SiteMenu = function SiteMenu(_ref6) {
2250
+ var iconSrc = _ref6.iconSrc,
2251
+ title = _ref6.title,
2252
+ children = _ref6.children,
2253
+ min = _ref6.min;
2254
+ var context = React.useContext(SiteContext);
2255
+ var page = context.page,
2256
+ sideNav = context.sideNav,
2257
+ setSideNav = context.setSideNav,
2258
+ showNav = context.showNav;
2487
2259
  React.useEffect(function () {
2488
- var today = moment();
2489
- setPosition(today);
2260
+ if (min) context.setSideNav('min');
2490
2261
  }, []);
2491
- React.useEffect(function () {
2492
- if (position && onChange) {
2493
- var _firstDayOfMonth = position.clone().startOf('month');
2494
- var _firstDayOfRange = _firstDayOfMonth.clone().startOf('isoweek');
2495
- var _lastDayOfMonth = position.clone().endOf('month');
2496
- var _lastDayOfRange = _lastDayOfMonth.clone().endOf('isoweek');
2497
- var _range = moment.range(_firstDayOfRange, _lastDayOfRange);
2498
- onChange(position, _range);
2499
- }
2500
- }, [position]);
2501
- function next() {
2502
- var next = position.clone().add(1, 'month');
2503
- setPosition(next);
2504
- }
2505
- function prev() {
2506
- var prev = position.clone().subtract(1, 'month');
2507
- setPosition(prev);
2508
- }
2509
- function today() {
2510
- var today = moment();
2511
- setPosition(today);
2262
+ function toggle() {
2263
+ var next = sideNav === 'max' ? 'min' : 'max';
2264
+ setSideNav(next);
2512
2265
  }
2513
- if (!position) return "...";
2514
- var monthName = position.format("MMMM");
2515
- var year = position.format("YYYY");
2516
- var firstDayOfMonth = position.clone().startOf('month');
2517
- var firstDayOfRange = firstDayOfMonth.clone().startOf('isoweek');
2518
- var lastDayOfMonth = position.clone().endOf('month');
2519
- var lastDayOfRange = lastDayOfMonth.clone().endOf('isoweek');
2520
- var range = moment.range(firstDayOfRange, lastDayOfRange);
2521
- var days = Array.from(range.by('days'));
2522
- var cells = days.map(function (day) {
2523
- var eventsOfDay = events.filter(function (event) {
2524
- var eventDay = moment(event.date);
2525
- return eventDay.isSame(day, 'day');
2266
+ var _goto = function _goto(id) {
2267
+ context.setShowNav(false);
2268
+ context["goto"](id);
2269
+ };
2270
+ var sections = children ? React.Children.toArray(children).reduce(function (sections, page) {
2271
+ var section = page.props ? page.props.section : '...';
2272
+ if (!sections[section]) sections[section] = [];
2273
+ var _page$props = page.props,
2274
+ id = _page$props.id,
2275
+ icon = _page$props.icon,
2276
+ title = _page$props.title;
2277
+ if (title) sections[section].push({
2278
+ id: id,
2279
+ icon: icon,
2280
+ title: title
2526
2281
  });
2527
- var sameMonthStyle = day.isSame(moment(position), 'month') ? '' : 'other-month';
2528
- return {
2529
- day: day,
2530
- events: eventsOfDay,
2531
- sameMonthStyle: sameMonthStyle
2532
- };
2533
- });
2534
- return /*#__PURE__*/React__default["default"].createElement("div", {
2535
- className: "month-calendar"
2536
- }, /*#__PURE__*/React__default["default"].createElement("nav", null, /*#__PURE__*/React__default["default"].createElement("label", null, " ", /*#__PURE__*/React__default["default"].createElement(Text, null, monthName), " ", year), /*#__PURE__*/React__default["default"].createElement(Button, {
2537
- icon: "chevron_left",
2538
- action: prev
2539
- }), /*#__PURE__*/React__default["default"].createElement(Button, {
2540
- label: "Today",
2541
- outlined: true,
2542
- action: today
2543
- }), /*#__PURE__*/React__default["default"].createElement(Button, {
2544
- icon: "chevron_right",
2545
- action: next
2546
- })), /*#__PURE__*/React__default["default"].createElement("header", null, /*#__PURE__*/React__default["default"].createElement("div", {
2547
- className: "week-day-cell"
2548
- }, /*#__PURE__*/React__default["default"].createElement(Text, null, "Mon")), /*#__PURE__*/React__default["default"].createElement("div", {
2549
- className: "week-day-cell"
2550
- }, /*#__PURE__*/React__default["default"].createElement(Text, null, "Tue")), /*#__PURE__*/React__default["default"].createElement("div", {
2551
- className: "week-day-cell"
2552
- }, /*#__PURE__*/React__default["default"].createElement(Text, null, "Wed")), /*#__PURE__*/React__default["default"].createElement("div", {
2553
- className: "week-day-cell"
2554
- }, /*#__PURE__*/React__default["default"].createElement(Text, null, "Thu")), /*#__PURE__*/React__default["default"].createElement("div", {
2555
- className: "week-day-cell"
2556
- }, /*#__PURE__*/React__default["default"].createElement(Text, null, "Fri")), /*#__PURE__*/React__default["default"].createElement("div", {
2557
- className: "week-day-cell"
2558
- }, /*#__PURE__*/React__default["default"].createElement(Text, null, "Sat")), /*#__PURE__*/React__default["default"].createElement("div", {
2559
- className: "week-day-cell"
2560
- }, /*#__PURE__*/React__default["default"].createElement(Text, null, "Sun"))), /*#__PURE__*/React__default["default"].createElement("main", null, cells.map(function (cell) {
2561
- return /*#__PURE__*/React__default["default"].createElement(DayCell, {
2562
- key: cell.day,
2563
- cell: cell
2564
- }, children);
2282
+ return sections;
2283
+ }, {}) : {};
2284
+ var style = sideNav === 'max' ? 'max' : 'min';
2285
+ var toggleIcon = sideNav === 'max' ? 'chevron_left' : 'chevron_right';
2286
+ var menutTitle = sideNav === 'max' ? title : '';
2287
+ return /*#__PURE__*/React__default["default"].createElement("menu", {
2288
+ className: style + " " + (showNav ? 'show' : '')
2289
+ }, /*#__PURE__*/React__default["default"].createElement(Header, {
2290
+ title: menutTitle,
2291
+ iconSrc: iconSrc
2292
+ }), /*#__PURE__*/React__default["default"].createElement("main", null, Object.keys(sections).map(function (title) {
2293
+ return /*#__PURE__*/React__default["default"].createElement(React.Fragment, {
2294
+ key: title
2295
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
2296
+ className: "section-title " + style
2297
+ }, sideNav === "max" ? title : ''), sections[title].map(function (_ref7) {
2298
+ var id = _ref7.id,
2299
+ _ref7$icon = _ref7.icon,
2300
+ icon = _ref7$icon === void 0 ? 'info' : _ref7$icon,
2301
+ title = _ref7.title;
2302
+ var styleItem = id === page ? 'selected' : '';
2303
+ var titleTxt = context.translate(title);
2304
+ return /*#__PURE__*/React__default["default"].createElement("div", {
2305
+ className: "site-menu-item " + styleItem,
2306
+ key: id,
2307
+ onClick: function onClick() {
2308
+ return _goto(id);
2309
+ }
2310
+ }, /*#__PURE__*/React__default["default"].createElement(Tooltip, {
2311
+ text: title,
2312
+ top: ".5rem",
2313
+ left: "4.5rem"
2314
+ }, /*#__PURE__*/React__default["default"].createElement(Icon, {
2315
+ key: id,
2316
+ icon: icon,
2317
+ clickable: true,
2318
+ action: function action() {
2319
+ return _goto(id);
2320
+ }
2321
+ })), sideNav === 'max' ? /*#__PURE__*/React__default["default"].createElement("label", null, titleTxt) : null);
2322
+ }), /*#__PURE__*/React__default["default"].createElement("div", {
2323
+ className: "section-divider"
2324
+ }));
2325
+ })), /*#__PURE__*/React__default["default"].createElement("footer", null, /*#__PURE__*/React__default["default"].createElement(Icon, {
2326
+ icon: toggleIcon,
2327
+ clickable: true,
2328
+ action: toggle
2565
2329
  })));
2566
2330
  };
2567
- var DayCell = function DayCell(props) {
2568
- var _props$cell = props.cell,
2569
- cell = _props$cell === void 0 ? [] : _props$cell,
2570
- children = props.children;
2571
- var day = cell.day,
2572
- events = cell.events,
2573
- sameMonthStyle = cell.sameMonthStyle;
2574
- var todayStyle = day.isSame(moment(), 'day') ? 'today' : '';
2575
- return /*#__PURE__*/React__default["default"].createElement("div", {
2576
- className: "day-cell " + todayStyle + " " + sameMonthStyle
2577
- }, /*#__PURE__*/React__default["default"].createElement("header", null, day.format("DD")), /*#__PURE__*/React__default["default"].createElement("main", null, events.map(function (event) {
2578
- return /*#__PURE__*/React__default["default"].createElement(Event, {
2579
- key: event.id,
2580
- event: event
2581
- }, children);
2582
- })));
2331
+
2332
+ /**
2333
+ * SitePage
2334
+ */
2335
+ var SitePage = function SitePage(_ref8) {
2336
+ var children = _ref8.children,
2337
+ init = _ref8.init;
2338
+ var context = React.useContext(SiteContext);
2339
+ var page = context.page;
2340
+ React.useEffect(function () {
2341
+ if (init) {
2342
+ context["goto"](init);
2343
+ } else {
2344
+ context["goto"]("EMPTY");
2345
+ }
2346
+ }, []);
2347
+ return /*#__PURE__*/React__default["default"].createElement("main", null, React__default["default"].Children.toArray(children).filter(function (child) {
2348
+ return child.props ? child.props.id === page : false;
2349
+ }));
2583
2350
  };
2584
2351
 
2585
2352
  /**
2586
- * Event
2353
+ * Site Dialog
2587
2354
  */
2588
- var Event = function Event(props) {
2589
- var event = props.event,
2590
- children = props.children;
2591
- if (children) {
2592
- var element = React__default["default"].Children.toArray(children)[0];
2593
- return React__default["default"].cloneElement(element, {
2594
- event: event
2595
- });
2596
- } else {
2597
- return /*#__PURE__*/React__default["default"].createElement("div", {
2598
- className: "event"
2599
- }, /*#__PURE__*/React__default["default"].createElement("div", {
2600
- className: "event-name"
2601
- }, event.title));
2355
+ var SiteDialog = function SiteDialog() {
2356
+ var context = React.useContext(SiteContext);
2357
+ return context.dialog ? context.dialog : '';
2358
+ };
2359
+
2360
+ /**
2361
+ * Site Promtp Dialog
2362
+ */
2363
+ var SitePromptDialog = function SitePromptDialog() {
2364
+ var context = React.useContext(SiteContext);
2365
+ return context.promptDialog ? context.promptDialog : '';
2366
+ };
2367
+
2368
+ /**
2369
+ * Site Preview
2370
+ */
2371
+ var SitePreview = function SitePreview() {
2372
+ var context = React.useContext(SiteContext);
2373
+ return context.preview ? /*#__PURE__*/React__default["default"].createElement("div", {
2374
+ className: "site-preview"
2375
+ }, context.preview) : '';
2376
+ };
2377
+
2378
+ /**
2379
+ * Site Console
2380
+ */
2381
+ var SiteConsole = function SiteConsole() {
2382
+ var context = React.useContext(SiteContext);
2383
+ function clear() {
2384
+ context.clearLog();
2602
2385
  }
2386
+ return context.showConsole ? /*#__PURE__*/React__default["default"].createElement("div", {
2387
+ className: "site-console"
2388
+ }, /*#__PURE__*/React__default["default"].createElement(Header, null, /*#__PURE__*/React__default["default"].createElement(Tabs, null, /*#__PURE__*/React__default["default"].createElement(Tab, {
2389
+ label: "Console"
2390
+ }))), /*#__PURE__*/React__default["default"].createElement("nav", null, /*#__PURE__*/React__default["default"].createElement(Icon, {
2391
+ icon: "clear_all",
2392
+ size: "small",
2393
+ clickable: true,
2394
+ action: clear
2395
+ })), /*#__PURE__*/React__default["default"].createElement("main", null, context.consoleLines.map(function (line, index) {
2396
+ return /*#__PURE__*/React__default["default"].createElement("div", {
2397
+ key: "log-" + index
2398
+ }, line);
2399
+ }))) : '';
2603
2400
  };
2604
2401
 
2605
2402
  /**
2606
- * YearCalendar
2403
+ * Dialog
2404
+ *
2405
+ * <Dialog title={title} open={true} actions={actions}>
2607
2406
  */
2608
- var YearCalendar = function YearCalendar(props) {
2609
- var _props$events3 = props.events,
2610
- events = _props$events3 === void 0 ? [] : _props$events3,
2407
+ var Dialog = function Dialog(props) {
2408
+ var site = React.useContext(SiteContext);
2409
+ var icon = props.icon,
2410
+ _props$title = props.title,
2411
+ title = _props$title === void 0 ? "Dialog" : _props$title,
2412
+ toolbar = props.toolbar,
2611
2413
  children = props.children,
2612
- onChange = props.onChange;
2613
- var _useState3 = React.useState(),
2614
- position = _useState3[0],
2615
- setPosition = _useState3[1];
2616
- React.useEffect(function () {
2617
- var today = moment();
2618
- setPosition(today);
2619
- }, []);
2620
- React.useEffect(function () {
2621
- if (position && onChange) {
2622
- var _firstDayOfYear = position.clone().startOf('year');
2623
- var firstDayOfRange = _firstDayOfYear.clone().startOf('isoweek');
2624
- var _lastDayOfYear = position.clone().endOf('year');
2625
- var lastDayOfRange = _lastDayOfYear.clone().endOf('isoweek');
2626
- var range = moment.range(firstDayOfRange, lastDayOfRange);
2627
- onChange(position, range);
2414
+ actions = props.actions,
2415
+ className = props.className,
2416
+ onClose = props.onClose,
2417
+ _props$overlayCanClos = props.overlayCanClose,
2418
+ overlayCanClose = _props$overlayCanClos === void 0 ? true : _props$overlayCanClos;
2419
+ function overlayClose() {
2420
+ if (overlayCanClose) {
2421
+ close();
2628
2422
  }
2629
- }, [position]);
2630
- function next() {
2631
- var next = position.clone().add(1, 'year');
2632
- setPosition(next);
2633
2423
  }
2634
- function prev() {
2635
- var prev = position.clone().subtract(1, 'year');
2636
- setPosition(prev);
2424
+ function close() {
2425
+ if (onClose) onClose();
2426
+ if (className === "prompt") {
2427
+ site.closePromptDialog();
2428
+ } else {
2429
+ site.closeDialog();
2430
+ }
2637
2431
  }
2638
- function today() {
2639
- var today = moment();
2640
- setPosition(today);
2432
+ return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement("div", {
2433
+ className: "overlay " + className,
2434
+ onMouseDown: overlayClose
2435
+ }), /*#__PURE__*/React__default["default"].createElement("dialog", {
2436
+ className: "dialog-panel " + className
2437
+ }, /*#__PURE__*/React__default["default"].createElement("header", null, icon ? /*#__PURE__*/React__default["default"].createElement(MenuIcon, {
2438
+ icon: icon
2439
+ }) : null, /*#__PURE__*/React__default["default"].createElement(Text$1, null, title), toolbar), /*#__PURE__*/React__default["default"].createElement("main", null, children), /*#__PURE__*/React__default["default"].createElement("footer", null, actions)));
2440
+ };
2441
+
2442
+ /**
2443
+ * View
2444
+ */
2445
+ var View = function View(props) {
2446
+ var id = props.id,
2447
+ className = props.className,
2448
+ icon = props.icon,
2449
+ title = props.title,
2450
+ toolbar = props.toolbar,
2451
+ menu = props.menu,
2452
+ info = props.info,
2453
+ onClose = props.onClose,
2454
+ _props$canCollapse = props.canCollapse,
2455
+ canCollapse = _props$canCollapse === void 0 ? false : _props$canCollapse,
2456
+ children = props.children;
2457
+ var _useState = React.useState(true),
2458
+ open = _useState[0],
2459
+ setOpen = _useState[1];
2460
+ function toggle() {
2461
+ setOpen(!open);
2641
2462
  }
2642
- if (!position) return "...";
2643
- var year = position.format("YYYY");
2644
- var firstDayOfYear = moment(position).startOf('year');
2645
- var lastDayOfYear = moment(position).endOf('year');
2646
- var months = [];
2647
- for (var currentMonth = moment(firstDayOfYear); currentMonth.isBefore(lastDayOfYear); currentMonth.add(1, 'month')) {
2648
- months.push(moment(currentMonth));
2463
+ function close() {
2464
+ if (onClose) onClose();
2649
2465
  }
2650
- var cells = months.map(function (month) {
2651
- var firstDayOfMonth = month.clone().startOf('month');
2652
- var firstDayOfRange = firstDayOfMonth.clone().startOf('isoweek');
2653
- var lastDayOfMonth = month.clone().endOf('month');
2654
- var lastDayOfRange = lastDayOfMonth.clone().endOf('isoweek');
2655
- var range = moment.range(firstDayOfRange, lastDayOfRange);
2656
- var days = Array.from(range.by('days'));
2657
- var cells = days.map(function (day) {
2658
- var eventsOfDay = events.filter(function (event) {
2659
- var eventDay = moment(event.date);
2660
- return eventDay.isSame(day, 'day');
2661
- });
2662
- var sameMonthStyle = day.isSame(moment(month), 'month') ? '' : 'other-month';
2663
- return {
2664
- day: day,
2665
- events: eventsOfDay,
2666
- sameMonthStyle: sameMonthStyle
2667
- };
2668
- });
2669
- return {
2670
- month: month,
2671
- cells: cells
2672
- };
2466
+ return /*#__PURE__*/React__default["default"].createElement("section", {
2467
+ id: id,
2468
+ className: "view " + className
2469
+ }, /*#__PURE__*/React__default["default"].createElement("header", null, canCollapse ? /*#__PURE__*/React__default["default"].createElement(Icon, {
2470
+ icon: "expand_more",
2471
+ size: "small",
2472
+ clickable: true,
2473
+ action: toggle
2474
+ }) : null, icon ? /*#__PURE__*/React__default["default"].createElement(Icon, {
2475
+ icon: icon,
2476
+ size: "small"
2477
+ }) : null, title ? /*#__PURE__*/React__default["default"].createElement("label", null, title) : null, menu ? /*#__PURE__*/React__default["default"].createElement(MenuIcon, {
2478
+ align: "alignRight"
2479
+ }, menu) : null, onClose ? /*#__PURE__*/React__default["default"].createElement(Icon, {
2480
+ icon: "close",
2481
+ size: "small",
2482
+ clickable: true,
2483
+ action: close
2484
+ }) : null), toolbar ? /*#__PURE__*/React__default["default"].createElement("nav", null, toolbar) : null, open ? /*#__PURE__*/React__default["default"].createElement("main", null, children) : null, info ? /*#__PURE__*/React__default["default"].createElement("footer", null, info) : null);
2485
+ };
2486
+ var TabbedView = function TabbedView(props) {
2487
+ var title = props.title,
2488
+ className = props.className,
2489
+ selected = props.selected;
2490
+ var _useState2 = React.useState(0),
2491
+ tab = _useState2[0],
2492
+ setTab = _useState2[1];
2493
+ var children = React__default["default"].Children.toArray(props.children);
2494
+ var tabs = children.map(function (child) {
2495
+ return /*#__PURE__*/React__default["default"].createElement(Tab, {
2496
+ key: child.props.label,
2497
+ label: child.props.label
2498
+ });
2673
2499
  });
2674
- return /*#__PURE__*/React__default["default"].createElement("div", {
2675
- className: "year-calendar"
2676
- }, /*#__PURE__*/React__default["default"].createElement("nav", null, /*#__PURE__*/React__default["default"].createElement("label", null, " ", /*#__PURE__*/React__default["default"].createElement(Text, null, year)), /*#__PURE__*/React__default["default"].createElement(Button, {
2677
- icon: "chevron_left",
2678
- action: prev
2679
- }), /*#__PURE__*/React__default["default"].createElement(Button, {
2680
- label: "Today",
2681
- outlined: true,
2682
- action: today
2683
- }), /*#__PURE__*/React__default["default"].createElement(Button, {
2684
- icon: "chevron_right",
2685
- action: next
2686
- })), /*#__PURE__*/React__default["default"].createElement("main", null, cells.map(function (cell) {
2687
- return /*#__PURE__*/React__default["default"].createElement(MonthCell, {
2688
- key: cell.month,
2689
- cell: cell
2690
- }, children);
2691
- })));
2500
+ React.useEffect(function () {
2501
+ if (selected && selected !== tab) setTab(selected);
2502
+ }, [selected]);
2503
+ var toolbar = /*#__PURE__*/React__default["default"].createElement(Tabs, {
2504
+ selected: tab,
2505
+ onChange: function onChange(tab) {
2506
+ return setTab(tab);
2507
+ }
2508
+ }, tabs);
2509
+ return /*#__PURE__*/React__default["default"].createElement(View, {
2510
+ title: title,
2511
+ toolbar: toolbar,
2512
+ className: className
2513
+ }, /*#__PURE__*/React__default["default"].createElement(Stack, {
2514
+ selected: tab
2515
+ }, children));
2692
2516
  };
2693
2517
 
2694
2518
  /**
2695
- * MonthCell
2519
+ * Admin Change User Password Dialog
2696
2520
  */
2697
- var MonthCell = function MonthCell(props) {
2698
- var _props$cell2 = props.cell,
2699
- cell = _props$cell2 === void 0 ? [] : _props$cell2,
2700
- children = props.children;
2701
- var month = cell.month,
2702
- cells = cell.cells;
2703
- var monthName = month.format("MMMM");
2704
- return /*#__PURE__*/React__default["default"].createElement("div", {
2705
- className: "month-cell"
2706
- }, /*#__PURE__*/React__default["default"].createElement("nav", null, monthName), /*#__PURE__*/React__default["default"].createElement("header", null, /*#__PURE__*/React__default["default"].createElement("div", {
2707
- className: "week-day-cell"
2708
- }, /*#__PURE__*/React__default["default"].createElement(Text, null, "Mon")), /*#__PURE__*/React__default["default"].createElement("div", {
2709
- className: "week-day-cell"
2710
- }, /*#__PURE__*/React__default["default"].createElement(Text, null, "Tue")), /*#__PURE__*/React__default["default"].createElement("div", {
2711
- className: "week-day-cell"
2712
- }, /*#__PURE__*/React__default["default"].createElement(Text, null, "Wed")), /*#__PURE__*/React__default["default"].createElement("div", {
2713
- className: "week-day-cell"
2714
- }, /*#__PURE__*/React__default["default"].createElement(Text, null, "Thu")), /*#__PURE__*/React__default["default"].createElement("div", {
2715
- className: "week-day-cell"
2716
- }, /*#__PURE__*/React__default["default"].createElement(Text, null, "Fri")), /*#__PURE__*/React__default["default"].createElement("div", {
2717
- className: "week-day-cell"
2718
- }, /*#__PURE__*/React__default["default"].createElement(Text, null, "Sat")), /*#__PURE__*/React__default["default"].createElement("div", {
2719
- className: "week-day-cell"
2720
- }, /*#__PURE__*/React__default["default"].createElement(Text, null, "Sun"))), /*#__PURE__*/React__default["default"].createElement("main", null, cells.map(function (cell) {
2721
- return /*#__PURE__*/React__default["default"].createElement(DayCell, {
2722
- key: cell.day,
2723
- cell: cell
2724
- }, children);
2725
- })));
2521
+ var ChangeUserPasswordDialog = function ChangeUserPasswordDialog(props) {
2522
+ var site = React.useContext(SiteContext);
2523
+ var error = props.error;
2524
+ var config = {
2525
+ userRequired: props.userRequired || false,
2526
+ oldPwdRequired: props.oldPwdRequired || false,
2527
+ onOK: function onOK(form) {
2528
+ props.onOK ? props.onOK(form) : site.closeDialog();
2529
+ },
2530
+ onClose: function onClose() {
2531
+ site.closeDialog();
2532
+ }
2533
+ };
2534
+ var Toolbar = function Toolbar() {
2535
+ return /*#__PURE__*/React__default["default"].createElement("div", {
2536
+ className: "dialog-toolbar"
2537
+ }, /*#__PURE__*/React__default["default"].createElement(Icon, {
2538
+ icon: "close",
2539
+ size: "small",
2540
+ clickable: true,
2541
+ action: site.closeDialog
2542
+ }));
2543
+ };
2544
+ var title = /*#__PURE__*/React__default["default"].createElement("div", {
2545
+ className: "dialog-title"
2546
+ }, /*#__PURE__*/React__default["default"].createElement(Text, null, "Change Password"));
2547
+ return /*#__PURE__*/React__default["default"].createElement(Dialog, {
2548
+ title: title,
2549
+ className: "change-password-dialog",
2550
+ toolbar: /*#__PURE__*/React__default["default"].createElement(Toolbar, null)
2551
+ }, error && /*#__PURE__*/React__default["default"].createElement("div", {
2552
+ className: "dialog-error-message"
2553
+ }, /*#__PURE__*/React__default["default"].createElement(Icon, {
2554
+ icon: "warning"
2555
+ }), error), /*#__PURE__*/React__default["default"].createElement(ResetPasswordBox, config, /*#__PURE__*/React__default["default"].createElement("br", null), /*#__PURE__*/React__default["default"].createElement("div", {
2556
+ className: "title"
2557
+ }, /*#__PURE__*/React__default["default"].createElement(Text, null, "The new password must contain:")), /*#__PURE__*/React__default["default"].createElement("ul", null, /*#__PURE__*/React__default["default"].createElement("li", null, /*#__PURE__*/React__default["default"].createElement(Text, null, "At least 15 characters")), /*#__PURE__*/React__default["default"].createElement("li", null, /*#__PURE__*/React__default["default"].createElement(Text, null, "At least one uppercase letter")), /*#__PURE__*/React__default["default"].createElement("li", null, /*#__PURE__*/React__default["default"].createElement(Text, null, "At least one lowercase letter")), /*#__PURE__*/React__default["default"].createElement("li", null, /*#__PURE__*/React__default["default"].createElement(Text, null, "At least one number")), /*#__PURE__*/React__default["default"].createElement("li", null, /*#__PURE__*/React__default["default"].createElement(Text, null, "At least one special character")))));
2726
2558
  };
2727
2559
 
2728
- var ranges = momentRange.extendMoment(moment__default["default"]);
2729
- var DATE_RANGE = [{
2730
- label: "Week",
2731
- value: "week"
2732
- }, {
2733
- label: "Month",
2734
- value: "month"
2735
- }, {
2736
- label: "Year",
2737
- value: "year"
2738
- }];
2560
+ /**
2561
+ * Forget User Password Action
2562
+ */
2563
+
2564
+ function _catch$7(body, recover) {
2565
+ try {
2566
+ var result = body();
2567
+ } catch (e) {
2568
+ return recover(e);
2569
+ }
2570
+ if (result && result.then) {
2571
+ return result.then(void 0, recover);
2572
+ }
2573
+ return result;
2574
+ } /**
2575
+ * Unlock User Action
2576
+ */
2577
+ var ForgetUserPasswordAction = function ForgetUserPasswordAction(props) {
2578
+ var execute = function execute() {
2579
+ try {
2580
+ var _temp = _catch$7(function () {
2581
+ return Promise.resolve(onOK(user.email)).then(function () {
2582
+ if (onSuccess) onSuccess();
2583
+ site.notify({
2584
+ title: /*#__PURE__*/React__default["default"].createElement(Text$1, null, "Forgot Password"),
2585
+ body: /*#__PURE__*/React__default["default"].createElement(Text$1, null, "Check your email to reset your password"),
2586
+ icon: "mail_lock"
2587
+ });
2588
+ });
2589
+ }, function (error) {
2590
+ site.notify({
2591
+ title: "Error",
2592
+ body: error.message,
2593
+ type: "danger",
2594
+ icon: "error"
2595
+ });
2596
+ });
2597
+ return Promise.resolve(_temp && _temp.then ? _temp.then(function () {}) : void 0);
2598
+ } catch (e) {
2599
+ return Promise.reject(e);
2600
+ }
2601
+ };
2602
+ var site = React.useContext(SiteContext);
2603
+ var user = props.user,
2604
+ _props$icon = props.icon,
2605
+ icon = _props$icon === void 0 ? false : _props$icon,
2606
+ onOK = props.onOK,
2607
+ onSuccess = props.onSuccess;
2608
+ var label = /*#__PURE__*/React__default["default"].createElement(Text$1, null, "Forgot Password");
2609
+ return icon ? /*#__PURE__*/React__default["default"].createElement(Icon, {
2610
+ icon: "mail_lock",
2611
+ clickable: true,
2612
+ action: execute,
2613
+ size: "small",
2614
+ tooltip: {
2615
+ text: label,
2616
+ top: "-.5rem",
2617
+ left: "-14rem"
2618
+ }
2619
+ }) : /*#__PURE__*/React__default["default"].createElement(Button, {
2620
+ label: label,
2621
+ action: execute,
2622
+ className: ""
2623
+ });
2624
+ };
2625
+ var UnlockUserAction = function UnlockUserAction(props) {
2626
+ var execute = function execute() {
2627
+ try {
2628
+ var _temp2 = _catch$7(function () {
2629
+ return Promise.resolve(onOK(user)).then(function () {
2630
+ if (onSuccess) onSuccess();
2631
+ site.notify({
2632
+ title: /*#__PURE__*/React__default["default"].createElement(Text$1, null, "User Unlocked"),
2633
+ body: /*#__PURE__*/React__default["default"].createElement(Text$1, null, "The user has been unlocked successfully"),
2634
+ icon: "key"
2635
+ });
2636
+ });
2637
+ }, function (error) {
2638
+ site.notify({
2639
+ title: "Error",
2640
+ body: error.message,
2641
+ type: "danger",
2642
+ icon: "error"
2643
+ });
2644
+ });
2645
+ return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
2646
+ } catch (e) {
2647
+ return Promise.reject(e);
2648
+ }
2649
+ };
2650
+ var site = React.useContext(SiteContext);
2651
+ var user = props.user,
2652
+ _props$icon2 = props.icon,
2653
+ icon = _props$icon2 === void 0 ? true : _props$icon2,
2654
+ onOK = props.onOK,
2655
+ onSuccess = props.onSuccess;
2656
+ var label = /*#__PURE__*/React__default["default"].createElement(Text$1, null, "Unlock User");
2657
+ return icon ? /*#__PURE__*/React__default["default"].createElement(Icon, {
2658
+ icon: "key_off",
2659
+ clickable: true,
2660
+ action: execute,
2661
+ size: "small"
2662
+ }) : /*#__PURE__*/React__default["default"].createElement(Button, {
2663
+ label: label,
2664
+ action: execute,
2665
+ outlined: true,
2666
+ className: ""
2667
+ });
2668
+ };
2739
2669
 
2740
2670
  /**
2741
- * Planner
2671
+ * Change User Password Action
2742
2672
  */
2743
- var Planner = function Planner(_ref) {
2744
- var title = _ref.title,
2745
- _ref$events = _ref.events,
2746
- events = _ref$events === void 0 ? [] : _ref$events,
2747
- _ref$lanes = _ref.lanes,
2748
- lanes = _ref$lanes === void 0 ? [] : _ref$lanes,
2749
- _ref$navigation = _ref.navigation,
2750
- navigation = _ref$navigation === void 0 ? true : _ref$navigation,
2751
- onSelectCell = _ref.onSelectCell,
2752
- focusEvent = _ref.focusEvent,
2753
- _ref$config = _ref.config,
2754
- config = _ref$config === void 0 ? {
2755
- range: "year",
2756
- from: "2022-01-01",
2757
- to: "2022-12-30"
2758
- } : _ref$config,
2759
- onChange = _ref.onChange;
2760
- var _useState = React.useState(config.range),
2761
- dateRange = _useState[0],
2762
- setDateRange = _useState[1];
2763
- var _useState2 = React.useState(config.from),
2764
- from = _useState2[0],
2765
- setFrom = _useState2[1];
2766
- var _useState3 = React.useState(config.to),
2767
- to = _useState3[0],
2768
- setTo = _useState3[1];
2769
- var thisMondayElement = React.useRef(null);
2770
- var gotoMonday = React.useCallback(function (node) {
2771
- var element = node;
2772
- if (element) element.scrollIntoView({
2773
- behavior: 'smooth',
2774
- block: 'start',
2775
- inline: 'start'
2776
- });
2673
+ var ChangeUserPasswordAction = function ChangeUserPasswordAction(props) {
2674
+ var site = React.useContext(SiteContext);
2675
+ var user = props.user,
2676
+ _props$icon3 = props.icon,
2677
+ icon = _props$icon3 === void 0 ? false : _props$icon3,
2678
+ _props$oldPwdRequired = props.oldPwdRequired,
2679
+ oldPwdRequired = _props$oldPwdRequired === void 0 ? true : _props$oldPwdRequired;
2680
+ var errorMessages = React.useMemo(function () {
2681
+ return {
2682
+ "ERROR OLD PASSWORD": {
2683
+ title: "Error",
2684
+ description: /*#__PURE__*/React__default["default"].createElement(Text$1, null, "Incorrect old password")
2685
+ },
2686
+ "PASSWORD ALREADY USED": {
2687
+ title: "Error",
2688
+ description: /*#__PURE__*/React__default["default"].createElement(Text$1, null, "The new password provided has already been used")
2689
+ }
2690
+ };
2777
2691
  }, []);
2778
- React.useEffect(function () {
2779
- var element = document.getElementById(focusEvent);
2780
- if (element) element.scrollIntoView({
2781
- behavior: 'smooth',
2782
- block: 'center',
2783
- inline: 'center'
2784
- });
2785
- }, [focusEvent]);
2786
- React.useEffect(function () {
2787
- var today = moment__default["default"]();
2788
- var from_date = today.startOf(dateRange).format("YYYY-MM-DD");
2789
- var to_date = today.endOf(dateRange).format("YYYY-MM-DD");
2790
- setFrom(from_date);
2791
- setTo(to_date);
2792
- }, [dateRange]);
2793
- function next() {
2794
- var actual = moment__default["default"](from);
2795
- var next = actual.add(1, dateRange);
2796
- var from_date = next.startOf(dateRange).format("YYYY-MM-DD");
2797
- var to_date = next.endOf(dateRange).format("YYYY-MM-DD");
2798
- setFrom(from_date);
2799
- setTo(to_date);
2692
+ function execute() {
2693
+ var onOK = function onOK(form) {
2694
+ try {
2695
+ var _temp3 = _catch$7(function () {
2696
+ return Promise.resolve(props.onOK(user, form.oldPassword, form.password1)).then(function () {
2697
+ site.notify({
2698
+ title: /*#__PURE__*/React__default["default"].createElement(Text$1, null, "Change Password"),
2699
+ body: /*#__PURE__*/React__default["default"].createElement(Text$1, null, "The password has been changed successfully"),
2700
+ icon: "key"
2701
+ });
2702
+ site.closeDialog();
2703
+ });
2704
+ }, function (error) {
2705
+ var _errorMessages$key;
2706
+ var key = error.message.toUpperCase();
2707
+ var message = ((_errorMessages$key = errorMessages[key]) == null ? void 0 : _errorMessages$key.description) || error.message;
2708
+ site.notify({
2709
+ title: "Error",
2710
+ body: message,
2711
+ type: "danger",
2712
+ icon: "error"
2713
+ });
2714
+ site.openDialog(/*#__PURE__*/React__default["default"].createElement(ChangeUserPasswordDialog, {
2715
+ oldPwdRequired: oldPwdRequired,
2716
+ onOK: onOK,
2717
+ error: message
2718
+ }));
2719
+ });
2720
+ return Promise.resolve(_temp3 && _temp3.then ? _temp3.then(function () {}) : void 0);
2721
+ } catch (e) {
2722
+ return Promise.reject(e);
2723
+ }
2724
+ };
2725
+ site.openDialog(/*#__PURE__*/React__default["default"].createElement(ChangeUserPasswordDialog, {
2726
+ oldPwdRequired: oldPwdRequired,
2727
+ onOK: onOK
2728
+ }));
2800
2729
  }
2801
- function prev() {
2802
- var actual = moment__default["default"](from);
2803
- var next = actual.subtract(1, dateRange);
2804
- var from_date = next.startOf(dateRange).format("YYYY-MM-DD");
2805
- var to_date = next.endOf(dateRange).format("YYYY-MM-DD");
2806
- setFrom(from_date);
2807
- setTo(to_date);
2730
+ var label = /*#__PURE__*/React__default["default"].createElement(Text$1, null, "Change Password");
2731
+ return icon ? /*#__PURE__*/React__default["default"].createElement(Icon, {
2732
+ icon: "key",
2733
+ clickable: true,
2734
+ action: execute,
2735
+ size: "small"
2736
+ }) : /*#__PURE__*/React__default["default"].createElement(Button, {
2737
+ label: label,
2738
+ action: execute,
2739
+ outlined: true,
2740
+ className: ""
2741
+ });
2742
+ };
2743
+
2744
+ var _LOGIN_DICTIONARY;
2745
+ var LOGIN_DICTIONARY = (_LOGIN_DICTIONARY = {
2746
+ 'Forgot Password': {
2747
+ en: 'Forgot Password',
2748
+ es: 'Olvidé mi contraseña',
2749
+ de: 'Passwort vergessen',
2750
+ pt: 'Esqueceu a senha',
2751
+ ca: 'He oblidat la contrasenya',
2752
+ it: 'Password dimenticata',
2753
+ fr: 'Mot de passe oublié'
2754
+ },
2755
+ 'Check your email to reset your password': {
2756
+ en: 'Check your email to reset your password',
2757
+ es: 'Revise su correo electrónico para restablecer su contraseña',
2758
+ de: 'Überprüfen Sie Ihre E-Mails, um Ihr Passwort zurückzusetzen',
2759
+ pt: 'Verifique seu e-mail para redefinir sua senha',
2760
+ ca: 'Comproveu el correu electrònic per restablir la contrasenya',
2761
+ it: 'Controlla la tua email per reimpostare la password',
2762
+ fr: 'Vérifiez votre email pour réinitialiser votre mot de passe'
2763
+ },
2764
+ 'Unlock User': {
2765
+ en: 'Unlock User',
2766
+ es: 'Desbloquear usuario',
2767
+ de: 'Benutzer entsperren',
2768
+ pt: 'Desbloquear usuário',
2769
+ ca: 'Desbloquejar usuari',
2770
+ it: 'Sblocca utente',
2771
+ fr: 'Débloquer l\'utilisateur'
2772
+ },
2773
+ 'The user has been unlocked successfully': {
2774
+ en: 'The user has been unlocked successfully',
2775
+ es: 'El usuario ha sido desbloqueado con éxito',
2776
+ de: 'Der Benutzer wurde erfolgreich entsperrt',
2777
+ pt: 'O usuário foi desbloqueado com sucesso',
2778
+ ca: 'L\'usuari s\'ha desbloquejat correctament',
2779
+ it: 'L\'utente è stato sbloccato con successo',
2780
+ fr: 'L\'utilisateur a été débloqué avec succès'
2781
+ },
2782
+ 'User Unlocked': {
2783
+ en: 'User Unlocked',
2784
+ es: 'Usuario desbloqueado',
2785
+ de: 'Benutzer entsperrt',
2786
+ pt: 'Usuário desbloqueado',
2787
+ ca: 'Usuari desbloquejat',
2788
+ it: 'Utente sbloccato',
2789
+ fr: 'Utilisateur débloqué'
2790
+ },
2791
+ 'The password has been changed successfully': {
2792
+ en: 'The password has been changed successfully',
2793
+ es: 'La contraseña se ha cambiado con éxito',
2794
+ de: 'Das Passwort wurde erfolgreich geändert',
2795
+ pt: 'A senha foi alterada com sucesso',
2796
+ ca: 'La contrasenya s\'ha canviat correctament',
2797
+ it: 'La password è stata cambiata con successo',
2798
+ fr: 'Le mot de passe a été changé avec succès'
2799
+ },
2800
+ 'Password Changed': {
2801
+ en: 'Password Changed',
2802
+ es: 'Contraseña cambiada',
2803
+ de: 'Passwort geändert',
2804
+ pt: 'Senha alterada',
2805
+ ca: 'Contrasenya canviada',
2806
+ it: 'Password cambiata',
2807
+ fr: 'Mot de passe changé'
2808
+ },
2809
+ 'The new password must contain:': {
2810
+ en: 'The new password must contain:',
2811
+ es: 'La nueva contraseña debe contener:',
2812
+ de: 'Das neue Passwort muss enthalten:',
2813
+ pt: 'A nova senha deve conter:',
2814
+ ca: 'La nova contrasenya ha de contenir:',
2815
+ it: 'La nuova password deve contenere:',
2816
+ fr: 'Le nouveau mot de passe doit contenir:'
2817
+ },
2818
+ 'At least 15 characters': {
2819
+ en: 'At least 15 characters',
2820
+ es: 'Al menos 15 caracteres',
2821
+ de: 'Mindestens 15 Zeichen',
2822
+ pt: 'Pelo menos 15 caracteres',
2823
+ ca: 'Almenys 15 caràcters',
2824
+ it: 'Almeno 15 caratteri',
2825
+ fr: 'Au moins 15 caractères'
2826
+ },
2827
+ 'At least one uppercase letter': {
2828
+ en: 'At least one uppercase letter',
2829
+ es: 'Al menos una letra mayúscula',
2830
+ de: 'Mindestens ein Großbuchstabe',
2831
+ pt: 'Pelo menos uma letra maiúscula',
2832
+ ca: 'Almenys una lletra majúscula',
2833
+ it: 'Almeno una lettera maiuscola',
2834
+ fr: 'Au moins une lettre majuscule'
2835
+ },
2836
+ 'At least one lowercase letter': {
2837
+ en: 'At least one lowercase letter',
2838
+ es: 'Al menos una letra minúscula',
2839
+ de: 'Mindestens ein Kleinbuchstabe',
2840
+ pt: 'Pelo menos uma letra minúscula',
2841
+ ca: 'Almenys una lletra minúscula',
2842
+ it: 'Almeno una lettera minuscola',
2843
+ fr: 'Au moins une lettre minuscule'
2844
+ },
2845
+ 'At least one number': {
2846
+ en: 'At least one number',
2847
+ es: 'Al menos un número',
2848
+ de: 'Mindestens eine Zahl',
2849
+ pt: 'Pelo menos um número',
2850
+ ca: 'Almenys un número',
2851
+ it: 'Almeno un numero',
2852
+ fr: 'Au moins un numéro'
2853
+ },
2854
+ 'At least one special character': {
2855
+ en: 'At least one special character',
2856
+ es: 'Al menos un carácter especial',
2857
+ de: 'Mindestens ein Sonderzeichen',
2858
+ pt: 'Pelo menos um caractere especial',
2859
+ ca: 'Almenys un caràcter especial',
2860
+ it: 'Almeno un carattere speciale',
2861
+ fr: 'Au moins un caractère spécial'
2862
+ },
2863
+ 'Passwords do not match.': {
2864
+ en: 'Passwords do not match.',
2865
+ es: 'Las contraseñas no coinciden.',
2866
+ de: 'Passwörter stimmen nicht überein.',
2867
+ pt: 'As senhas não coincidem.',
2868
+ ca: 'Les contrasenyes no coincideixen.',
2869
+ it: 'Le password non corrispondono.',
2870
+ fr: 'Les mots de passe ne correspondent pas.'
2871
+ },
2872
+ 'Password is required': {
2873
+ en: 'Password is required',
2874
+ es: 'Se requiere contraseña',
2875
+ de: 'Passwort ist erforderlich',
2876
+ pt: 'Senha é necessária',
2877
+ ca: 'Es requereix contrasenya',
2878
+ it: 'La password è obbligatoria',
2879
+ fr: 'Le mot de passe est requis'
2880
+ },
2881
+ 'Old password is required.': {
2882
+ en: 'Old password is required.',
2883
+ es: 'Se requiere contraseña antigua.',
2884
+ de: 'Altes Passwort ist erforderlich.',
2885
+ pt: 'Senha antiga é necessária.',
2886
+ ca: 'Es requereix contrasenya antiga.',
2887
+ it: 'La vecchia password è obbligatoria.',
2888
+ fr: 'Ancien mot de passe requis.'
2889
+ }
2890
+ }, _LOGIN_DICTIONARY["Passwords do not match."] = {
2891
+ en: 'Passwords do not match.',
2892
+ es: 'Las contraseñas no coinciden.',
2893
+ de: 'Passwörter stimmen nicht überein.',
2894
+ pt: 'As senhas não coincidem.',
2895
+ ca: 'Les contrasenyes no coincideixen.',
2896
+ it: 'Le password non corrispondono.',
2897
+ fr: 'Les mots de passe ne correspondent pas.'
2898
+ }, _LOGIN_DICTIONARY);
2899
+
2900
+ function _catch$6(body, recover) {
2901
+ try {
2902
+ var result = body();
2903
+ } catch (e) {
2904
+ return recover(e);
2808
2905
  }
2809
- function selectCell(lane, date) {
2810
- if (onSelectCell) onSelectCell(lane, date);
2906
+ if (result && result.then) {
2907
+ return result.then(void 0, recover);
2811
2908
  }
2812
- function showThisWeek() {
2813
- var element = thisMondayElement.current;
2814
- //const element = document.querySelector(".thisMonday")
2815
- console.log("Show this week", element);
2816
- if (element) element.scrollIntoView({
2817
- behavior: 'smooth',
2818
- block: 'start',
2819
- inline: 'start'
2909
+ return result;
2910
+ }
2911
+ var API_URL = typeof process !== 'undefined' ? process.env.REACT_APP_API : window.API;
2912
+ var http = HTTPClient(window.API || API_URL, Session);
2913
+
2914
+ /**
2915
+ * LOGIN_API
2916
+ */
2917
+ var LOGIN_API = {
2918
+ /**
2919
+ * Change Password
2920
+ * Request API to change user password
2921
+ *
2922
+ * @param {*} id
2923
+ * @param {*} form
2924
+ * @returns
2925
+ *
2926
+ * PATCH /users/:id
2927
+ * payload: { old_Password, new_Password }
2928
+ *
2929
+ */
2930
+ changePassword: function changePassword(id, form) {
2931
+ var body = JSON.stringify(form);
2932
+ return http.PATCH("/users/" + id, body);
2933
+ },
2934
+ /**
2935
+ * Forget user password
2936
+ * Request API to send a message to user email with a link to reset password
2937
+ *
2938
+ * @param {*} email
2939
+ * @returns
2940
+ *
2941
+ * POST /users/forget
2942
+ * payload: { email }
2943
+ */
2944
+ forgetUserPassword: function forgetUserPassword(email) {
2945
+ var body = JSON.stringify({
2946
+ email: email
2820
2947
  });
2821
- }
2822
- var period = React.useMemo(function () {
2823
- var start = ranges(from, "YYYY-MM-DD");
2824
- var end = ranges(to, "YYYY-MM-DD");
2825
- var range = ranges.range(start, end);
2826
- var period = Array.from(range.by("day")).map(function (m) {
2827
- return {
2828
- year: m.year(),
2829
- month: m.month(),
2830
- day: m.date(),
2831
- moment: m
2832
- };
2948
+ return http.POST("/users/forget", body);
2949
+ },
2950
+ /**
2951
+ * Reset user password
2952
+ * Request API to reset user password
2953
+ *
2954
+ * @param {*} token
2955
+ * @param {*} password
2956
+ * @returns
2957
+ *
2958
+ * POST /users/assign
2959
+ * payload: { token, password }
2960
+ */
2961
+ resetUserPassword: function resetUserPassword(token, password) {
2962
+ var body = JSON.stringify({
2963
+ token: token,
2964
+ password: password
2833
2965
  });
2834
- return period;
2835
- }, [from, to]);
2836
- var label = /*#__PURE__*/React__default["default"].createElement(Text, {
2837
- use: "headline6"
2838
- }, title);
2839
- return /*#__PURE__*/React__default["default"].createElement("div", {
2840
- className: "planner-box"
2841
- }, navigation ? /*#__PURE__*/React__default["default"].createElement(Header, {
2842
- title: label
2843
- }, "\xA0\xA0", /*#__PURE__*/React__default["default"].createElement(Button, {
2844
- label: "Esta Semana",
2845
- outlined: true,
2846
- action: showThisWeek
2847
- }), /*#__PURE__*/React__default["default"].createElement(Icon, {
2848
- icon: "chevron_right",
2849
- clickable: true,
2850
- action: next
2851
- }), /*#__PURE__*/React__default["default"].createElement(TextField, {
2852
- id: "to",
2853
- type: "date",
2854
- label: "Hasta",
2855
- value: to,
2856
- onChange: function onChange(id, value) {
2857
- return setTo(value);
2966
+ return http.POST("/users/assign", body);
2967
+ }
2968
+ };
2969
+
2970
+ /**
2971
+ * LOGIN_CONTEXT
2972
+ */
2973
+ var LOGIN_CONTEXT = {
2974
+ /**
2975
+ * Change user password
2976
+ *
2977
+ * @param {*} user
2978
+ * @param {*} old_Password
2979
+ * @param {*} new_Password
2980
+ */
2981
+ changeUserPassword: function changeUserPassword(user, old_Password, new_Password) {
2982
+ try {
2983
+ return Promise.resolve(_catch$6(function () {
2984
+ return Promise.resolve(LOGIN_API.changePassword(user, {
2985
+ old_Password: old_Password,
2986
+ new_Password: new_Password
2987
+ })).then(function (response) {
2988
+ console.log("changeUserPassword", response);
2989
+ });
2990
+ }, function (error) {
2991
+ console.log("changeUserPassword error", error);
2992
+ throw error;
2993
+ }));
2994
+ } catch (e) {
2995
+ return Promise.reject(e);
2858
2996
  }
2859
- }), /*#__PURE__*/React__default["default"].createElement("div", {
2860
- className: "expand"
2861
- }), /*#__PURE__*/React__default["default"].createElement(DropDown, {
2862
- id: "ranges",
2863
- label: "Rango",
2864
- options: DATE_RANGE,
2865
- value: dateRange,
2866
- onChange: function onChange(id, value) {
2867
- return setDateRange(value);
2997
+ },
2998
+ /**
2999
+ * Unlock user
3000
+ *
3001
+ * @param {*} id
3002
+ */
3003
+ unlockUser: function unlockUser(id) {
3004
+ try {
3005
+ return Promise.resolve(_catch$6(function () {
3006
+ return Promise.resolve(API.changePassword(id, {
3007
+ unlock: true
3008
+ })).then(function () {});
3009
+ }, function (error) {
3010
+ console.log("unblockUser error", error);
3011
+ throw error;
3012
+ }));
3013
+ } catch (e) {
3014
+ return Promise.reject(e);
2868
3015
  }
2869
- }), /*#__PURE__*/React__default["default"].createElement("div", {
2870
- className: "expand"
2871
- }), /*#__PURE__*/React__default["default"].createElement(TextField, {
2872
- id: "from",
2873
- type: "date",
2874
- label: "Desde",
2875
- value: from,
2876
- onChange: function onChange(id, value) {
2877
- return setFrom(value);
3016
+ },
3017
+ /**
3018
+ * Forget user password
3019
+ *
3020
+ * @param {*} email
3021
+ */
3022
+ forgetUserPassword: function forgetUserPassword(email) {
3023
+ try {
3024
+ return Promise.resolve(_catch$6(function () {
3025
+ return Promise.resolve(API.forgetUserPassword(email)).then(function () {});
3026
+ }, function (error) {
3027
+ console.log("forgetUserPassword error", error);
3028
+ throw error;
3029
+ }));
3030
+ } catch (e) {
3031
+ return Promise.reject(e);
2878
3032
  }
2879
- }), /*#__PURE__*/React__default["default"].createElement(Icon, {
2880
- icon: "chevron_left",
2881
- clickable: true,
2882
- action: prev
2883
- })) : null, /*#__PURE__*/React__default["default"].createElement("main", {
2884
- className: "planner"
2885
- }, /*#__PURE__*/React__default["default"].createElement("div", {
2886
- className: "column0"
2887
- }, /*#__PURE__*/React__default["default"].createElement("div", {
2888
- className: "column-header"
2889
- }), lanes.map(function (lane) {
2890
- return /*#__PURE__*/React__default["default"].createElement("div", {
2891
- className: "row-header"
2892
- }, lane.label);
2893
- })), /*#__PURE__*/React__default["default"].createElement("div", {
2894
- className: "rows"
2895
- }, /*#__PURE__*/React__default["default"].createElement("div", {
2896
- className: "row row0"
2897
- }, period.map(function (date, index) {
2898
- var first = index === 0 || date.day === 1 ? "first" : "";
2899
- return /*#__PURE__*/React__default["default"].createElement("div", {
2900
- className: "column-header"
2901
- }, /*#__PURE__*/React__default["default"].createElement("div", {
2902
- className: "month-header " + first
2903
- }, /*#__PURE__*/React__default["default"].createElement(Text, {
2904
- use: "overline"
2905
- }, date.moment.format("MMM"))));
2906
- })), /*#__PURE__*/React__default["default"].createElement("div", {
2907
- className: "row row1"
2908
- }, period.map(function (date) {
2909
- var isWekend = [0, 6].includes(date.moment.day());
2910
- var weekend = isWekend ? "weekend" : "";
2911
- var thisWeek = moment__default["default"]().startOf('week').isSame(date.moment, "week") ? "thisWeek" : "";
2912
- var today = moment__default["default"]();
2913
- var weekStart = today.clone().startOf('week');
2914
- var isThisMonday = date.moment.isSame(weekStart);
2915
- return /*#__PURE__*/React__default["default"].createElement("div", {
2916
- key: "column-" + date.moment.dayOfYear(),
2917
- id: isThisMonday ? "thisMonday" : "",
2918
- className: "column-header",
2919
- ref: isThisMonday ? thisMondayElement : null
2920
- }, /*#__PURE__*/React__default["default"].createElement("div", {
2921
- className: "date-header " + weekend + " " + thisWeek,
2922
- ref: isThisMonday ? gotoMonday : null
2923
- }, /*#__PURE__*/React__default["default"].createElement(Text, {
2924
- use: "headline6"
2925
- }, date.moment.format("DD")), "\xA0", /*#__PURE__*/React__default["default"].createElement(Text, {
2926
- use: "caption"
2927
- }, date.moment.format("ddd"))));
2928
- })), lanes.map(function (lane) {
2929
- return /*#__PURE__*/React__default["default"].createElement(PlannerRow, {
2930
- key: lane.id,
2931
- lane: lane,
2932
- events: events,
2933
- period: period,
2934
- onSelectCell: selectCell,
2935
- onChange: onChange
2936
- });
2937
- }))));
3033
+ },
3034
+ /**
3035
+ * Reset Password
3036
+ *
3037
+ * @param {*} token
3038
+ * @param {*} password
3039
+ * @param {*} onError
3040
+ * @param {*} onSuccess
3041
+ */
3042
+ resetUserPassword: function resetUserPassword(token, password, onError, onSuccess) {
3043
+ try {
3044
+ var _temp = _catch$6(function () {
3045
+ return Promise.resolve(API.resetUserPassword(token, password)).then(function () {
3046
+ onSuccess();
3047
+ });
3048
+ }, function (error) {
3049
+ onError(error);
3050
+ });
3051
+ return Promise.resolve(_temp && _temp.then ? _temp.then(function () {}) : void 0);
3052
+ } catch (e) {
3053
+ return Promise.reject(e);
3054
+ }
3055
+ }
2938
3056
  };
2939
3057
 
2940
- /**
2941
- * Planner Row
2942
- */
2943
- var PlannerRow = function PlannerRow(props) {
2944
- var lane = props.lane,
2945
- _props$events = props.events,
2946
- events = _props$events === void 0 ? [] : _props$events,
2947
- period = props.period,
2948
- onSelectCell = props.onSelectCell,
2949
- onChange = props.onChange;
2950
- var rowEvents = events.filter(function (event) {
2951
- return event.lane === lane.id;
2952
- });
2953
- function change(data) {
2954
- if (onChange) onChange(data);
2955
- }
2956
- return /*#__PURE__*/React__default["default"].createElement("div", {
2957
- className: "row"
2958
- }, period.map(function (date) {
2959
- var slotDate = new Date(date.year, date.month, date.day);
2960
- slotDate.setHours(0, 0, 0);
2961
- var cellEvents = rowEvents.filter(function (event) {
2962
- var eventDate = new Date(event.date);
2963
- eventDate.setHours(0, 0, 0);
2964
- return eventDate.getTime() === slotDate.getTime();
2965
- });
2966
- return /*#__PURE__*/React__default["default"].createElement(PlannerCell, {
2967
- key: lane.id + "-" + slotDate.toString(),
2968
- lane: lane,
2969
- date: date,
2970
- events: cellEvents,
2971
- onSelect: onSelectCell,
2972
- onDrop: change
2973
- });
2974
- }));
2975
- };
3058
+ var SCROLL_SENSITIVITY = 0.0005;
3059
+ var MAX_ZOOM = 5;
3060
+ var MIN_ZOOM = 0.1;
3061
+ var ImageViewer = function ImageViewer(_ref) {
3062
+ var image = _ref.image;
3063
+ var _useState = React.useState({
3064
+ x: 0,
3065
+ y: 0
3066
+ }),
3067
+ offset = _useState[0],
3068
+ setOffset = _useState[1];
3069
+ var _useState2 = React.useState(1),
3070
+ zoom = _useState2[0],
3071
+ setZoom = _useState2[1];
3072
+ var _useState3 = React.useState(false),
3073
+ draggind = _useState3[0],
3074
+ setDragging = _useState3[1];
3075
+ var touch = React.useRef({
3076
+ x: 0,
3077
+ y: 0
3078
+ });
3079
+ var canvasRef = React.useRef(null);
3080
+ var containerRef = React.useRef(null);
3081
+ var observer = React.useRef(null);
3082
+ var background = React.useMemo(function () {
3083
+ return new Image();
3084
+ }, [image]);
3085
+ var clamp = function clamp(num, min, max) {
3086
+ return Math.min(Math.max(num, min), max);
3087
+ };
3088
+ var handleWheel = function handleWheel(event) {
3089
+ var deltaY = event.deltaY;
3090
+ if (!draggind) {
3091
+ setZoom(function (zoom) {
3092
+ return clamp(zoom + deltaY * SCROLL_SENSITIVITY * -1, MIN_ZOOM, MAX_ZOOM);
3093
+ });
3094
+ }
3095
+ };
3096
+ var handleMouseMove = function handleMouseMove(event) {
3097
+ if (draggind) {
3098
+ var _touch$current = touch.current,
3099
+ x = _touch$current.x,
3100
+ y = _touch$current.y;
3101
+ var clientX = event.clientX,
3102
+ clientY = event.clientY;
3103
+ setOffset({
3104
+ x: offset.x + (x - clientX),
3105
+ y: offset.y + (y - clientY)
3106
+ });
3107
+ touch.current = {
3108
+ x: clientX,
3109
+ y: clientY
3110
+ };
3111
+ }
3112
+ };
3113
+ var handleMouseDown = function handleMouseDown(event) {
3114
+ var clientX = event.clientX,
3115
+ clientY = event.clientY;
3116
+ touch.current = {
3117
+ x: clientX,
3118
+ y: clientY
3119
+ };
3120
+ setDragging(true);
3121
+ };
3122
+ var handleMouseUp = function handleMouseUp() {
3123
+ return setDragging(false);
3124
+ };
3125
+ var draw = function draw() {
3126
+ if (canvasRef.current) {
3127
+ var _canvasRef$current = canvasRef.current,
3128
+ width = _canvasRef$current.width,
3129
+ height = _canvasRef$current.height;
3130
+ var context = canvasRef.current.getContext("2d");
3131
+
3132
+ // Set canvas dimensions
3133
+ canvasRef.current.width = width;
3134
+ canvasRef.current.height = height;
2976
3135
 
2977
- /**
2978
- * Planner Cell
2979
- */
2980
- var PlannerCell = function PlannerCell(_ref2) {
2981
- var lane = _ref2.lane,
2982
- events = _ref2.events,
2983
- date = _ref2.date,
2984
- onSelect = _ref2.onSelect,
2985
- onDrop = _ref2.onDrop;
2986
- var _useState4 = React.useState(false),
2987
- dragOver = _useState4[0],
2988
- setDragOver = _useState4[1];
2989
- function select() {
2990
- if (onSelect) onSelect(lane, date.moment.format("YYYY-MM-DD"));
2991
- }
2992
- function onDragOver(event) {
2993
- if (!dragOver) setDragOver(true);
2994
- event.stopPropagation();
2995
- event.preventDefault();
2996
- }
2997
- function onDragLeave(event) {
2998
- setDragOver(false);
2999
- event.stopPropagation();
3000
- event.preventDefault();
3001
- }
3002
- function drop(event) {
3003
- event.stopPropagation();
3004
- event.preventDefault();
3005
- var id = event.dataTransfer.getData("text");
3006
- if (onDrop) onDrop({
3007
- id: id,
3008
- lane: lane.id,
3009
- date: date.moment.format("YYYY-MM-DD")
3136
+ // Clear canvas and scale it
3137
+ context.translate(-offset.x, -offset.y);
3138
+ context.scale(zoom, zoom);
3139
+ context.clearRect(0, 0, width, height);
3140
+
3141
+ // Make sure we're zooming to the center
3142
+ var x = (context.canvas.width / zoom - background.width) / 2;
3143
+ var y = (context.canvas.height / zoom - background.height) / 2;
3144
+
3145
+ // Draw image
3146
+ context.drawImage(background, x, y);
3147
+ }
3148
+ };
3149
+ React.useEffect(function () {
3150
+ observer.current = new ResizeObserver(function (entries) {
3151
+ entries.forEach(function (_ref2) {
3152
+ var target = _ref2.target;
3153
+ var width = background.width,
3154
+ height = background.height;
3155
+ // If width of the container is smaller than image, scale image down
3156
+ if (target.clientWidth < width) {
3157
+ // Calculate scale
3158
+ var scale = target.clientWidth / width;
3159
+
3160
+ // Redraw image
3161
+ canvasRef.current.width = width * scale;
3162
+ canvasRef.current.height = height * scale;
3163
+ canvasRef.current.getContext("2d").drawImage(background, 0, 0, width * scale, height * scale);
3164
+ }
3165
+ });
3010
3166
  });
3011
- setDragOver(false);
3012
- }
3013
- var isWekend = [0, 6].includes(date.moment.day());
3014
- var weekend = isWekend ? "weekend" : "";
3015
- var today = moment__default["default"]();
3016
- var weekStart = today.clone().startOf('week');
3017
- var thisMonday = date.moment.isSame(weekStart) ? "thisMonday" : "";
3018
- var dragOverStyle = dragOver ? "drag-over" : "";
3167
+ observer.current.observe(containerRef.current);
3168
+ return function () {
3169
+ return observer.current.unobserve(containerRef.current);
3170
+ };
3171
+ }, []);
3172
+ React.useEffect(function () {
3173
+ background.src = image;
3174
+ if (canvasRef.current) {
3175
+ background.onload = function () {
3176
+ // Get the image dimensions
3177
+ var width = background.width,
3178
+ height = background.height;
3179
+ canvasRef.current.width = width;
3180
+ canvasRef.current.height = height;
3181
+
3182
+ // Set image as background
3183
+ canvasRef.current.getContext("2d").drawImage(background, 0, 0);
3184
+ };
3185
+ }
3186
+ }, [background]);
3187
+ React.useEffect(function () {
3188
+ draw();
3189
+ }, [zoom, offset]);
3019
3190
  return /*#__PURE__*/React__default["default"].createElement("div", {
3020
- className: "cell " + thisMonday + " " + weekend + " " + dragOverStyle,
3021
- onDragOver: onDragOver,
3022
- onDragLeave: onDragLeave,
3023
- onDrop: drop,
3024
- onClick: select
3025
- }, events.map(function (event) {
3026
- var _event$Renderer = event.Renderer,
3027
- Renderer = _event$Renderer === void 0 ? EventCard : _event$Renderer;
3028
- return /*#__PURE__*/React__default["default"].createElement(Renderer, {
3029
- key: event.id,
3030
- event: event
3031
- });
3191
+ className: "image-viewer",
3192
+ ref: containerRef
3193
+ }, /*#__PURE__*/React__default["default"].createElement("canvas", {
3194
+ onMouseDown: handleMouseDown,
3195
+ onMouseUp: handleMouseUp,
3196
+ onWheel: handleWheel,
3197
+ onMouseMove: handleMouseMove,
3198
+ ref: canvasRef
3032
3199
  }));
3033
3200
  };
3034
- var EventCard = function EventCard(props) {
3035
- var event = props.event;
3036
- var title = event.title,
3037
- color = event.color;
3038
- var style = {
3039
- backgroundColor: color,
3040
- color: "white"
3041
- };
3042
- return /*#__PURE__*/React__default["default"].createElement("div", {
3043
- draggable: "true",
3044
- className: "event-card",
3045
- style: style
3046
- }, title);
3047
- };
3048
3201
 
3049
3202
  /**
3050
- * Upload Area
3203
+ * Viewer
3051
3204
  */
3052
- var UploadArea = function UploadArea(props) {
3053
- var _props$label = props.label,
3054
- label = _props$label === void 0 ? 'Add file or drop file here...' : _props$label;
3055
- var areaElement = React.useRef();
3205
+ var Viewer = function Viewer(_ref) {
3206
+ var title = _ref.title,
3207
+ src = _ref.src,
3208
+ info = _ref.info,
3209
+ _ref$actions = _ref.actions,
3210
+ actions = _ref$actions === void 0 ? [] : _ref$actions,
3211
+ _ref$tools = _ref.tools,
3212
+ tools = _ref$tools === void 0 ? false : _ref$tools,
3213
+ onClose = _ref.onClose;
3056
3214
  var _useState = React.useState(false),
3057
- drag = _useState[0],
3058
- setDrag = _useState[1];
3059
- var resumable = props.resumable;
3060
- React.useEffect(function () {
3061
- if (resumable && areaElement) {
3062
- resumable.assignDrop(areaElement.current);
3063
- }
3064
- }, []);
3065
- var onDragOver = function onDragOver() {
3066
- setDrag(true);
3067
- };
3068
- var onDragLeave = function onDragLeave() {
3069
- setDrag(false);
3070
- };
3071
- var dragging = drag === true ? 'drag-over' : '';
3215
+ showDetails = _useState[0],
3216
+ setShowDetails = _useState[1];
3217
+ function toggleDetails() {
3218
+ setShowDetails(!showDetails);
3219
+ }
3220
+ var headerTitle = /*#__PURE__*/React__default["default"].createElement(Text$1, {
3221
+ use: "headline6"
3222
+ }, title);
3072
3223
  return /*#__PURE__*/React__default["default"].createElement("div", {
3073
- className: "upload-area6 " + dragging,
3074
- onDragOver: onDragOver,
3075
- onDragLeave: onDragLeave,
3076
- ref: areaElement
3077
- }, /*#__PURE__*/React__default["default"].createElement(UploadIcon, {
3078
- resumable: resumable
3079
- }), /*#__PURE__*/React__default["default"].createElement("label", null, label));
3224
+ className: "viewer"
3225
+ }, /*#__PURE__*/React__default["default"].createElement(Header, {
3226
+ icon: "view",
3227
+ title: headerTitle
3228
+ }, onClose ? /*#__PURE__*/React__default["default"].createElement(Icon, {
3229
+ icon: "close",
3230
+ clickable: true,
3231
+ action: onClose
3232
+ }) : null, showDetails ? '' : /*#__PURE__*/React__default["default"].createElement(Icon, {
3233
+ icon: "info",
3234
+ clickable: true,
3235
+ action: toggleDetails
3236
+ }), actions), /*#__PURE__*/React__default["default"].createElement("main", null, /*#__PURE__*/React__default["default"].createElement("div", {
3237
+ className: "resizer"
3238
+ }, /*#__PURE__*/React__default["default"].createElement("picture", null, /*#__PURE__*/React__default["default"].createElement(ImageViewer, {
3239
+ image: src
3240
+ })))), /*#__PURE__*/React__default["default"].createElement("aside", {
3241
+ className: "" + (showDetails ? 'open' : '')
3242
+ }, /*#__PURE__*/React__default["default"].createElement(Header, {
3243
+ title: "Detalles"
3244
+ }, /*#__PURE__*/React__default["default"].createElement(Icon, {
3245
+ icon: "close",
3246
+ clickable: true,
3247
+ action: toggleDetails
3248
+ })), /*#__PURE__*/React__default["default"].createElement("main", null, info)), tools ? /*#__PURE__*/React__default["default"].createElement("footer", null, /*#__PURE__*/React__default["default"].createElement(Icon, {
3249
+ clickable: true,
3250
+ icon: "zoom_out"
3251
+ }), /*#__PURE__*/React__default["default"].createElement(Icon, {
3252
+ clickable: true,
3253
+ icon: "zoom_out_map"
3254
+ }), /*#__PURE__*/React__default["default"].createElement(Icon, {
3255
+ clickable: true,
3256
+ icon: "zoom_in"
3257
+ })) : null);
3080
3258
  };
3081
3259
 
3082
3260
  /**
3083
- * Upload Icon
3261
+ * Kanban
3084
3262
  */
3085
- var UploadIcon = function UploadIcon(_ref) {
3086
- var _ref$icon = _ref.icon,
3087
- icon = _ref$icon === void 0 ? "folder_open" : _ref$icon,
3088
- resumable = _ref.resumable;
3089
- var iconElement = React.useRef();
3090
- React.useEffect(function () {
3091
- if (resumable && iconElement.current) {
3092
- resumable.assignBrowse(iconElement.current);
3093
- }
3094
- }, [iconElement]);
3263
+ var Kanban = function Kanban(_ref) {
3264
+ var children = _ref.children;
3265
+ var hasSwimlanes = React.useMemo(function () {
3266
+ var found = React__default["default"].Children.map(children, function (child) {
3267
+ if (child.type.name === KanbanSwimlane.name) {
3268
+ return child;
3269
+ }
3270
+ });
3271
+ return found.length > 0;
3272
+ });
3273
+ var style = hasSwimlanes ? "with-swimlanes" : "";
3095
3274
  return /*#__PURE__*/React__default["default"].createElement("div", {
3096
- className: "upload-icon",
3097
- ref: iconElement
3098
- }, /*#__PURE__*/React__default["default"].createElement(Icon, {
3099
- icon: icon,
3100
- clickable: true
3101
- }));
3102
- };
3103
-
3104
- var UPLOAD_STATES = {
3105
- IDLE: 0,
3106
- RUNNING: 1,
3107
- SUCCESS: 2,
3108
- ERROR: 3,
3109
- COMPLETED: 4
3275
+ className: "kanban " + style
3276
+ }, children);
3110
3277
  };
3111
-
3112
- /**
3113
- * Upload File
3114
- */
3115
- var UploadFile$1 = function UploadFile(_ref) {
3116
- var file = _ref.file;
3117
- var icon = file.icon,
3118
- name = file.name,
3119
- state = file.state,
3120
- progress = file.progress,
3121
- error = file.error;
3122
- return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement("div", {
3123
- className: "upload-file"
3124
- }, icon ? /*#__PURE__*/React__default["default"].createElement(Icon, {
3125
- icon: icon
3126
- }) : null, /*#__PURE__*/React__default["default"].createElement("label", null, name), state === UPLOAD_STATES.RUNNING ? /*#__PURE__*/React__default["default"].createElement("main", null, /*#__PURE__*/React__default["default"].createElement(LinearProgress, {
3127
- progress: progress
3128
- }), /*#__PURE__*/React__default["default"].createElement(Icon, {
3129
- icon: "close",
3130
- clickable: true
3131
- })) : '', state === UPLOAD_STATES.SUCCESS ? /*#__PURE__*/React__default["default"].createElement("main", null, /*#__PURE__*/React__default["default"].createElement(Icon, {
3132
- icon: "done"
3133
- })) : '', state === UPLOAD_STATES.ERROR ? /*#__PURE__*/React__default["default"].createElement("main", null, /*#__PURE__*/React__default["default"].createElement("div", {
3134
- className: "error"
3135
- }, error), /*#__PURE__*/React__default["default"].createElement(Icon, {
3136
- icon: "error"
3137
- })) : ''));
3278
+ var KanbanHeader = function KanbanHeader(props) {
3279
+ var columns = props.columns;
3280
+ return /*#__PURE__*/React__default["default"].createElement("div", {
3281
+ className: "kanban-header"
3282
+ }, columns.map(function (column, index) {
3283
+ var icon = column.icon,
3284
+ title = column.title,
3285
+ subtitle = column.subtitle,
3286
+ badge = column.badge;
3287
+ return /*#__PURE__*/React__default["default"].createElement("div", {
3288
+ className: "kanban-column",
3289
+ key: index
3290
+ }, /*#__PURE__*/React__default["default"].createElement("header", null, /*#__PURE__*/React__default["default"].createElement(Icon, {
3291
+ icon: icon
3292
+ }), /*#__PURE__*/React__default["default"].createElement("div", {
3293
+ className: "title"
3294
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, {
3295
+ use: "headline6"
3296
+ }, title), /*#__PURE__*/React__default["default"].createElement(Text$1, {
3297
+ className: "secondary-text",
3298
+ use: "body2"
3299
+ }, subtitle)), /*#__PURE__*/React__default["default"].createElement("div", {
3300
+ className: "badge"
3301
+ }, badge)));
3302
+ }));
3138
3303
  };
3304
+ var KanbanSwimlane = function KanbanSwimlane(_ref2) {
3305
+ var icon = _ref2.icon,
3306
+ title = _ref2.title,
3307
+ subtitle = _ref2.subtitle,
3308
+ badge = _ref2.badge,
3309
+ children = _ref2.children;
3310
+ var _useState = React.useState(true),
3311
+ unfold = _useState[0],
3312
+ setUnfold = _useState[1];
3139
3313
 
3140
- var UploadProgress = function UploadProgress(_ref) {
3141
- var _ref$files = _ref.files,
3142
- files = _ref$files === void 0 ? [] : _ref$files;
3143
- return /*#__PURE__*/React__default["default"].createElement("div", null, files.map(function (file) {
3144
- var f = {
3145
- icon: "description",
3146
- name: file.fileName,
3147
- progress: file.progress() * 100,
3148
- state: file.uploadState,
3149
- error: file.uploadError
3150
- };
3151
- return /*#__PURE__*/React__default["default"].createElement(UploadFile$1, {
3152
- key: f.name,
3153
- file: f
3314
+ // cahnge all children headless prop to true
3315
+ // if there is only one child
3316
+ if (children.length === 1) {
3317
+ children = React__default["default"].cloneElement(children, {
3318
+ headless: true
3154
3319
  });
3155
- }));
3320
+ } else {
3321
+ children = React__default["default"].Children.map(children, function (child) {
3322
+ return React__default["default"].cloneElement(child, {
3323
+ headless: true
3324
+ });
3325
+ });
3326
+ }
3327
+
3328
+ // log al children headless prop
3329
+ children.forEach(function (child) {
3330
+ console.log(child.props.headless);
3331
+ });
3332
+ function toggle() {
3333
+ setUnfold(!unfold);
3334
+ }
3335
+ var toggleIcon = unfold ? "unfold_less" : "unfold_more";
3336
+ var toggleStyle = unfold ? "unfold" : "fold";
3337
+ return /*#__PURE__*/React__default["default"].createElement("div", {
3338
+ className: "kanban-swimlane"
3339
+ }, /*#__PURE__*/React__default["default"].createElement("header", null, /*#__PURE__*/React__default["default"].createElement(Icon, {
3340
+ icon: icon,
3341
+ size: "small"
3342
+ }), /*#__PURE__*/React__default["default"].createElement("div", {
3343
+ className: "title"
3344
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, {
3345
+ use: "headline6"
3346
+ }, title, ":"), /*#__PURE__*/React__default["default"].createElement(Text$1, {
3347
+ className: "secondary-text",
3348
+ use: "body2"
3349
+ }, subtitle)), /*#__PURE__*/React__default["default"].createElement("div", {
3350
+ className: "badge"
3351
+ }, badge), /*#__PURE__*/React__default["default"].createElement(Icon, {
3352
+ icon: toggleIcon,
3353
+ clickable: true,
3354
+ action: toggle
3355
+ })), /*#__PURE__*/React__default["default"].createElement("main", {
3356
+ className: toggleStyle
3357
+ }, children));
3156
3358
  };
3157
3359
 
3158
3360
  /**
3159
- * Uploader
3361
+ * Kanban Column
3160
3362
  */
3161
- var Uploader = function Uploader(_ref) {
3162
- var icon = _ref.icon,
3163
- label = _ref.label,
3164
- _ref$view = _ref.view,
3165
- view = _ref$view === void 0 ? "area" : _ref$view,
3166
- target = _ref.target,
3167
- accept = _ref.accept,
3168
- _ref$simultaneousUplo = _ref.simultaneousUploads,
3169
- simultaneousUploads = _ref$simultaneousUplo === void 0 ? 1 : _ref$simultaneousUplo,
3170
- className = _ref.className,
3171
- onProgress = _ref.onProgress,
3172
- onSuccess = _ref.onSuccess,
3173
- onError = _ref.onError,
3174
- onComplete = _ref.onComplete;
3175
- var resumable = React.useMemo(function () {
3176
- var config = {
3177
- target: target,
3178
- chunkSize: 1 * 1024 * 1024,
3179
- simultaneousUploads: simultaneousUploads,
3180
- testChunks: false,
3181
- throttleProgressCallbacks: 1,
3182
- fileType: accept
3183
- };
3184
- var resumable = new ResumableJS__default["default"](config);
3185
- resumable.on('fileAdded', onFileAdded);
3186
- resumable.on('fileProgress', onFileProgress);
3187
- resumable.on('fileSuccess', onFileSuccess);
3188
- resumable.on('fileError', onFileError);
3189
- resumable.on('complete', onAllComplete);
3190
- return resumable;
3191
- }, []);
3192
- var _useState = React.useState(0),
3193
- setProgress = _useState[1];
3194
- var _useState2 = React.useState(UPLOAD_STATES.IDLE),
3195
- state = _useState2[0],
3196
- setState = _useState2[1];
3197
- var _useState3 = React.useState([]),
3198
- files = _useState3[0],
3199
- setFiles = _useState3[1];
3200
- function onFileAdded(file) {
3201
- files.push(file);
3202
- setFiles(files);
3203
- setState(UPLOAD_STATES.RUNNING);
3204
- resumable.upload();
3205
- }
3206
- function onFileProgress(file) {
3207
- file.uploadState = UPLOAD_STATES.RUNNING;
3208
- var progress = file.progress();
3209
- setProgress(progress);
3210
- if (onProgress) onProgress(files);
3211
- }
3212
- function onFileSuccess(file, message) {
3213
- file.uploadState = UPLOAD_STATES.SUCCESS;
3214
- if (onSuccess) onSuccess(file, message);
3215
- }
3216
- function onFileError(file, message) {
3217
- file.uploadState = UPLOAD_STATES.ERROR;
3218
- file.uploadError = message;
3219
- if (onError) onError(file, message);
3220
- }
3221
- function onAllComplete() {
3222
- setState(UPLOAD_STATES.COMPLETED);
3223
- if (onComplete) onComplete(files);
3224
- }
3225
- function renderView() {
3226
- switch (view) {
3227
- case "area":
3228
- return /*#__PURE__*/React__default["default"].createElement(UploadArea, {
3229
- resumable: resumable,
3230
- icon: icon,
3231
- label: label
3232
- });
3233
- case "icon":
3234
- return /*#__PURE__*/React__default["default"].createElement(UploadIcon, {
3235
- resumable: resumable,
3236
- icon: icon
3237
- });
3238
- default:
3239
- return /*#__PURE__*/React__default["default"].createElement(UploadArea, {
3240
- resumable: resumable,
3241
- icon: icon,
3242
- label: label
3243
- });
3244
- }
3363
+ var KanbanColumn = function KanbanColumn(_ref3) {
3364
+ var id = _ref3.id,
3365
+ actions = _ref3.actions,
3366
+ _ref3$headless = _ref3.headless,
3367
+ headless = _ref3$headless === void 0 ? false : _ref3$headless,
3368
+ icon = _ref3.icon,
3369
+ title = _ref3.title,
3370
+ subtitle = _ref3.subtitle,
3371
+ badge = _ref3.badge,
3372
+ children = _ref3.children,
3373
+ _ref3$minified = _ref3.minified,
3374
+ minified = _ref3$minified === void 0 ? false : _ref3$minified,
3375
+ _ref3$disabled = _ref3.disabled,
3376
+ disabled = _ref3$disabled === void 0 ? false : _ref3$disabled;
3377
+ var _useState2 = React.useState(minified),
3378
+ min = _useState2[0],
3379
+ setMin = _useState2[1];
3380
+ function toggle() {
3381
+ setMin(!min);
3245
3382
  }
3246
- return /*#__PURE__*/React__default["default"].createElement("div", {
3247
- className: "uploader " + className
3248
- }, state === UPLOAD_STATES.IDLE ? renderView() : /*#__PURE__*/React__default["default"].createElement(UploadProgress, {
3249
- files: files
3250
- }));
3383
+ return min ? /*#__PURE__*/React__default["default"].createElement("div", {
3384
+ className: "kanban-column " + id + " min"
3385
+ }, /*#__PURE__*/React__default["default"].createElement("main", null, title), /*#__PURE__*/React__default["default"].createElement("footer", null, /*#__PURE__*/React__default["default"].createElement(Icon, {
3386
+ icon: "toggle_off",
3387
+ onIcon: "toggle_on",
3388
+ clickable: true,
3389
+ action: toggle
3390
+ }))) : /*#__PURE__*/React__default["default"].createElement("div", {
3391
+ className: "kanban-column " + id + " " + (disabled ? 'disabled' : '')
3392
+ }, headless ? "" : /*#__PURE__*/React__default["default"].createElement("header", null, /*#__PURE__*/React__default["default"].createElement(Icon, {
3393
+ icon: icon
3394
+ }), /*#__PURE__*/React__default["default"].createElement("div", {
3395
+ className: "title"
3396
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, {
3397
+ use: "headline6"
3398
+ }, title), /*#__PURE__*/React__default["default"].createElement(Text$1, {
3399
+ className: "secondary-text",
3400
+ use: "body2"
3401
+ }, subtitle)), /*#__PURE__*/React__default["default"].createElement("div", {
3402
+ className: "badge"
3403
+ }, badge)), /*#__PURE__*/React__default["default"].createElement("main", null, children), /*#__PURE__*/React__default["default"].createElement("footer", null, /*#__PURE__*/React__default["default"].createElement(Icon, {
3404
+ icon: "toggle_off",
3405
+ onIcon: "toggle_on",
3406
+ clickable: true,
3407
+ action: toggle
3408
+ }), actions));
3251
3409
  };
3252
3410
 
3253
3411
  /**
3254
- * Page Context
3255
- */
3256
- var PageContext = React__default["default"].createContext({});
3257
-
3258
- /**
3259
- * Page Provider
3412
+ * Kanban Card
3260
3413
  */
3261
- var PageProvider = function PageProvider(_ref) {
3262
- var _ref$context = _ref.context,
3263
- context = _ref$context === void 0 ? {} : _ref$context,
3264
- children = _ref.children;
3265
- var _useState = React.useState(context),
3266
- pageCtx = _useState[0],
3267
- setPageCtx = _useState[1];
3268
- return /*#__PURE__*/React__default["default"].createElement(PageContext.Provider, {
3269
- value: [pageCtx, setPageCtx]
3414
+ var KanbanCard = function KanbanCard(_ref4) {
3415
+ var className = _ref4.className,
3416
+ color = _ref4.color,
3417
+ children = _ref4.children;
3418
+ return /*#__PURE__*/React__default["default"].createElement("div", {
3419
+ className: "kanban-card " + className + " " + color
3270
3420
  }, children);
3271
3421
  };
3272
3422
 
3273
3423
  /**
3274
- * Page
3424
+ * Avatar
3275
3425
  */
3276
- var Page = function Page(props) {
3277
- var children = props.children,
3278
- _props$layout = props.layout,
3279
- layout = _props$layout === void 0 ? "simple" : _props$layout,
3280
- _props$context = props.context,
3281
- context = _props$context === void 0 ? {} : _props$context,
3282
- className = props.className;
3283
- return /*#__PURE__*/React__default["default"].createElement(PageProvider, {
3284
- context: context
3285
- }, /*#__PURE__*/React__default["default"].createElement("article", {
3286
- className: "page6 " + layout + " " + className
3287
- }, children));
3426
+ var Avatar = function Avatar(props) {
3427
+ var id = props.id,
3428
+ name = props.name,
3429
+ className = props.className,
3430
+ src = props.src,
3431
+ _props$size = props.size,
3432
+ size = _props$size === void 0 ? "small" : _props$size,
3433
+ _props$clickable = props.clickable,
3434
+ clickable = _props$clickable === void 0 ? false : _props$clickable,
3435
+ action = props.action;
3436
+ function click() {
3437
+ if (clickable) {
3438
+ action(id);
3439
+ }
3440
+ }
3441
+ var clickableStyle = clickable ? 'clickable' : '';
3442
+ var style = "avatar " + size + " " + clickableStyle + " " + className;
3443
+ return /*#__PURE__*/React__default["default"].createElement("div", {
3444
+ className: style,
3445
+ onClick: click
3446
+ }, src ? /*#__PURE__*/React__default["default"].createElement("img", {
3447
+ src: src
3448
+ }) : /*#__PURE__*/React__default["default"].createElement("span", null, name));
3449
+ };
3450
+
3451
+ var WaitScreen = function WaitScreen() {
3452
+ return /*#__PURE__*/React__default["default"].createElement("div", {
3453
+ className: "wait-screen"
3454
+ }, /*#__PURE__*/React__default["default"].createElement(CircularProgress, {
3455
+ size: "large"
3456
+ }));
3288
3457
  };
3289
3458
 
3459
+ moment__default["default"].locale('es');
3460
+ var moment = momentRange.extendMoment(moment__default["default"]);
3461
+
3290
3462
  /**
3291
- * Site Provider
3463
+ * Calendar
3292
3464
  */
3293
- var SiteProvider = function SiteProvider(_ref) {
3294
- var children = _ref.children,
3295
- siteLang = _ref.siteLang,
3296
- siteDictionary = _ref.siteDictionary;
3297
- var _useState = React.useState(siteLang),
3298
- lang = _useState[0],
3299
- setLang = _useState[1];
3300
- var _useState2 = React.useState(siteDictionary),
3301
- dictionary = _useState2[0],
3302
- setDictionary = _useState2[1];
3303
- var _useState3 = React.useState('max'),
3304
- sideNav = _useState3[0],
3305
- setSideNav = _useState3[1];
3306
- var _useState4 = React.useState(false),
3307
- showNav = _useState4[0],
3308
- setShowNav = _useState4[1];
3309
- var _useState5 = React.useState(null),
3310
- info = _useState5[0],
3311
- setInfo = _useState5[1];
3312
- var _useState6 = React.useState(false),
3313
- showConsole = _useState6[0],
3314
- setShowConsole = _useState6[1];
3315
- var _useState7 = React.useState([]),
3316
- consoleLines = _useState7[0],
3317
- setConsoleLines = _useState7[1];
3318
- var _useState8 = React.useState(),
3319
- page = _useState8[0],
3320
- setPage = _useState8[1];
3321
- var _useState9 = React.useState(),
3322
- dialog = _useState9[0],
3323
- setDialog = _useState9[1];
3324
- var _useState10 = React.useState(),
3325
- promptDialog = _useState10[0],
3326
- setPromptDialog = _useState10[1];
3327
- var _useState11 = React.useState(),
3328
- preview = _useState11[0],
3329
- setPreview = _useState11[1];
3330
- var _useState12 = React.useState(),
3331
- breadcrumb = _useState12[0],
3332
- setBreadcrumb = _useState12[1];
3333
- var value = {
3334
- lang: lang,
3335
- setLang: setLang,
3336
- dictionary: dictionary,
3337
- setDictionary: setDictionary,
3338
- translate: function translate(key) {
3339
- if (!key) return key;
3340
- if (dictionary === undefined) return key;
3341
- var term = dictionary[key];
3342
- return term ? term[lang] : key;
3343
- },
3344
- sideNav: sideNav,
3345
- setSideNav: setSideNav,
3346
- showNav: showNav,
3347
- setShowNav: setShowNav,
3348
- info: info,
3349
- openInfo: function openInfo(info) {
3350
- setInfo(info);
3351
- },
3352
- closeInfo: function closeInfo() {
3353
- setInfo(null);
3354
- },
3355
- consoleLines: consoleLines,
3356
- showConsole: showConsole,
3357
- toggleConsole: function toggleConsole() {
3358
- setShowConsole(!showConsole);
3359
- },
3360
- writeLog: function writeLog(line) {
3361
- var next = consoleLines.concat(line);
3362
- setConsoleLines(next);
3363
- },
3364
- clearLog: function clearLog() {
3365
- setConsoleLines([]);
3366
- },
3367
- breadcrumb: breadcrumb,
3368
- setBreadcrumb: setBreadcrumb,
3369
- page: page,
3370
- "goto": function goto(id) {
3371
- setPage(id);
3372
- },
3373
- dialog: dialog,
3374
- openDialog: function openDialog(dialog) {
3375
- setDialog(dialog);
3376
- },
3377
- closeDialog: function closeDialog() {
3378
- setDialog(null);
3379
- },
3380
- preview: preview,
3381
- openPreview: function openPreview(preview) {
3382
- setPreview(preview);
3383
- },
3384
- closePreview: function closePreview() {
3385
- setPreview(null);
3386
- },
3387
- confirm: function confirm(message) {
3388
- return window.confirm(message);
3389
- },
3390
- prompt: function prompt(message) {
3391
- return window.prompt(message);
3392
- },
3393
- promptDialog: promptDialog,
3394
- openPromptDialog: function openPromptDialog(dialog) {
3395
- setPromptDialog(dialog);
3396
- },
3397
- closePromptDialog: function closePromptDialog() {
3398
- setPromptDialog(null);
3399
- },
3400
- notify: function notify(_ref2) {
3401
- var title = _ref2.title,
3402
- body = _ref2.body,
3403
- _ref2$type = _ref2.type,
3404
- type = _ref2$type === void 0 ? "success" : _ref2$type,
3405
- _ref2$duration = _ref2.duration,
3406
- duration = _ref2$duration === void 0 ? 3000 : _ref2$duration,
3407
- onRemoval = _ref2.onRemoval;
3408
- reactNotificationsComponent.Store.addNotification({
3409
- title: title,
3410
- message: body,
3411
- type: type,
3412
- insert: "top",
3413
- container: "top-right",
3414
- animationIn: ["animate__animated", "animate__fadeIn"],
3415
- animationOut: ["animate__animated", "animate__fadeOut"],
3416
- dismiss: {
3417
- duration: duration,
3418
- onScreen: true
3419
- },
3420
- onRemoval: onRemoval
3421
- });
3465
+ var Calendar = function Calendar(props) {
3466
+ var _props$events = props.events,
3467
+ events = _props$events === void 0 ? [] : _props$events,
3468
+ children = props.children,
3469
+ onChange = props.onChange,
3470
+ onRange = props.onRange;
3471
+ var _useState = React.useState(props.range || "year"),
3472
+ range = _useState[0],
3473
+ setRange = _useState[1];
3474
+ function onChangeRange(range) {
3475
+ setRange(range);
3476
+ if (onRange) onRange(range);
3477
+ }
3478
+ return /*#__PURE__*/React__default["default"].createElement("div", {
3479
+ className: "calendar"
3480
+ }, /*#__PURE__*/React__default["default"].createElement(CalendarRangeControl, {
3481
+ range: range,
3482
+ onChange: onChangeRange
3483
+ }), range === "year" && /*#__PURE__*/React__default["default"].createElement(YearCalendar, {
3484
+ events: events,
3485
+ onChange: onChange
3486
+ }, children), range === "month" && /*#__PURE__*/React__default["default"].createElement(MonthCalendar, {
3487
+ events: events,
3488
+ onChange: onChange,
3489
+ onRange: onChangeRange
3490
+ }, children));
3491
+ };
3492
+
3493
+ /**
3494
+ * CalendarRangeControl
3495
+ */
3496
+ var CalendarRangeControl = function CalendarRangeControl(props) {
3497
+ var range = props.range,
3498
+ onChange = props.onChange;
3499
+ return /*#__PURE__*/React__default["default"].createElement("div", {
3500
+ className: "calendar-range-control"
3501
+ }, /*#__PURE__*/React__default["default"].createElement(Button, {
3502
+ label: "Year",
3503
+ outlined: range == "year",
3504
+ action: function action() {
3505
+ return onChange("year");
3422
3506
  }
3423
- };
3424
- return /*#__PURE__*/React__default["default"].createElement(SiteContext.Provider, {
3425
- value: value
3426
- }, children);
3507
+ }), /*#__PURE__*/React__default["default"].createElement(Button, {
3508
+ label: "Month",
3509
+ outlined: range == "month",
3510
+ action: function action() {
3511
+ return onChange("month");
3512
+ }
3513
+ }));
3427
3514
  };
3428
3515
 
3429
3516
  /**
3430
- * Site
3517
+ * MonthCalendar
3431
3518
  */
3432
- var Site = function Site(_ref3) {
3433
- var icon = _ref3.icon,
3434
- iconSrc = _ref3.iconSrc,
3435
- title = _ref3.title,
3436
- toolbar = _ref3.toolbar,
3437
- footer = _ref3.footer,
3438
- children = _ref3.children,
3439
- init = _ref3.init,
3440
- min = _ref3.min,
3441
- lang = _ref3.lang,
3442
- dictionary = _ref3.dictionary;
3443
- return /*#__PURE__*/React__default["default"].createElement(SiteProvider, {
3444
- siteLang: lang,
3445
- siteDictionary: dictionary
3446
- }, /*#__PURE__*/React__default["default"].createElement("div", {
3447
- className: "site6"
3448
- }, /*#__PURE__*/React__default["default"].createElement(SiteHeader, {
3449
- icon: icon,
3450
- iconSrc: iconSrc,
3451
- title: title
3452
- }), /*#__PURE__*/React__default["default"].createElement(SiteToolBar, null, toolbar), /*#__PURE__*/React__default["default"].createElement(SiteMenu, {
3453
- iconSrc: iconSrc,
3454
- title: title,
3455
- min: min
3456
- }, children), /*#__PURE__*/React__default["default"].createElement(SitePage, {
3457
- init: init
3458
- }, children, /*#__PURE__*/React__default["default"].createElement(Page, {
3459
- id: "EMPTY"
3460
- }, "EMPTY")), /*#__PURE__*/React__default["default"].createElement(SiteAside, null), /*#__PURE__*/React__default["default"].createElement(SiteConsole, null), /*#__PURE__*/React__default["default"].createElement(SiteDialog, null), /*#__PURE__*/React__default["default"].createElement(SitePromptDialog, null), /*#__PURE__*/React__default["default"].createElement(SitePreview, null), /*#__PURE__*/React__default["default"].createElement(SiteNotifications, null), /*#__PURE__*/React__default["default"].createElement(SiteFooter, null, footer)));
3519
+ var MonthCalendar = function MonthCalendar(props) {
3520
+ var _props$events2 = props.events,
3521
+ events = _props$events2 === void 0 ? [] : _props$events2,
3522
+ children = props.children,
3523
+ onChange = props.onChange;
3524
+ var _useState2 = React.useState(),
3525
+ position = _useState2[0],
3526
+ setPosition = _useState2[1];
3527
+ React.useEffect(function () {
3528
+ var today = moment();
3529
+ setPosition(today);
3530
+ }, []);
3531
+ React.useEffect(function () {
3532
+ if (position && onChange) {
3533
+ var _firstDayOfMonth = position.clone().startOf('month');
3534
+ var _firstDayOfRange = _firstDayOfMonth.clone().startOf('isoweek');
3535
+ var _lastDayOfMonth = position.clone().endOf('month');
3536
+ var _lastDayOfRange = _lastDayOfMonth.clone().endOf('isoweek');
3537
+ var _range = moment.range(_firstDayOfRange, _lastDayOfRange);
3538
+ onChange(position, _range);
3539
+ }
3540
+ }, [position]);
3541
+ function next() {
3542
+ var next = position.clone().add(1, 'month');
3543
+ setPosition(next);
3544
+ }
3545
+ function prev() {
3546
+ var prev = position.clone().subtract(1, 'month');
3547
+ setPosition(prev);
3548
+ }
3549
+ function today() {
3550
+ var today = moment();
3551
+ setPosition(today);
3552
+ }
3553
+ if (!position) return "...";
3554
+ var monthName = position.format("MMMM");
3555
+ var year = position.format("YYYY");
3556
+ var firstDayOfMonth = position.clone().startOf('month');
3557
+ var firstDayOfRange = firstDayOfMonth.clone().startOf('isoweek');
3558
+ var lastDayOfMonth = position.clone().endOf('month');
3559
+ var lastDayOfRange = lastDayOfMonth.clone().endOf('isoweek');
3560
+ var range = moment.range(firstDayOfRange, lastDayOfRange);
3561
+ var days = Array.from(range.by('days'));
3562
+ var cells = days.map(function (day) {
3563
+ var eventsOfDay = events.filter(function (event) {
3564
+ var eventDay = moment(event.date);
3565
+ return eventDay.isSame(day, 'day');
3566
+ });
3567
+ var sameMonthStyle = day.isSame(moment(position), 'month') ? '' : 'other-month';
3568
+ return {
3569
+ day: day,
3570
+ events: eventsOfDay,
3571
+ sameMonthStyle: sameMonthStyle
3572
+ };
3573
+ });
3574
+ return /*#__PURE__*/React__default["default"].createElement("div", {
3575
+ className: "month-calendar"
3576
+ }, /*#__PURE__*/React__default["default"].createElement("nav", null, /*#__PURE__*/React__default["default"].createElement("label", null, " ", /*#__PURE__*/React__default["default"].createElement(Text$1, null, monthName), " ", year), /*#__PURE__*/React__default["default"].createElement(Button, {
3577
+ icon: "chevron_left",
3578
+ action: prev
3579
+ }), /*#__PURE__*/React__default["default"].createElement(Button, {
3580
+ label: "Today",
3581
+ outlined: true,
3582
+ action: today
3583
+ }), /*#__PURE__*/React__default["default"].createElement(Button, {
3584
+ icon: "chevron_right",
3585
+ action: next
3586
+ })), /*#__PURE__*/React__default["default"].createElement("header", null, /*#__PURE__*/React__default["default"].createElement("div", {
3587
+ className: "week-day-cell"
3588
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, null, "Mon")), /*#__PURE__*/React__default["default"].createElement("div", {
3589
+ className: "week-day-cell"
3590
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, null, "Tue")), /*#__PURE__*/React__default["default"].createElement("div", {
3591
+ className: "week-day-cell"
3592
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, null, "Wed")), /*#__PURE__*/React__default["default"].createElement("div", {
3593
+ className: "week-day-cell"
3594
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, null, "Thu")), /*#__PURE__*/React__default["default"].createElement("div", {
3595
+ className: "week-day-cell"
3596
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, null, "Fri")), /*#__PURE__*/React__default["default"].createElement("div", {
3597
+ className: "week-day-cell"
3598
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, null, "Sat")), /*#__PURE__*/React__default["default"].createElement("div", {
3599
+ className: "week-day-cell"
3600
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, null, "Sun"))), /*#__PURE__*/React__default["default"].createElement("main", null, cells.map(function (cell) {
3601
+ return /*#__PURE__*/React__default["default"].createElement(DayCell, {
3602
+ key: cell.day,
3603
+ cell: cell
3604
+ }, children);
3605
+ })));
3461
3606
  };
3462
- var SiteNotifications = function SiteNotifications() {
3463
- return /*#__PURE__*/React__default["default"].createElement(reactNotificationsComponent.ReactNotifications, null);
3607
+ var DayCell = function DayCell(props) {
3608
+ var _props$cell = props.cell,
3609
+ cell = _props$cell === void 0 ? [] : _props$cell,
3610
+ children = props.children;
3611
+ var day = cell.day,
3612
+ events = cell.events,
3613
+ sameMonthStyle = cell.sameMonthStyle;
3614
+ var todayStyle = day.isSame(moment(), 'day') ? 'today' : '';
3615
+ return /*#__PURE__*/React__default["default"].createElement("div", {
3616
+ className: "day-cell " + todayStyle + " " + sameMonthStyle
3617
+ }, /*#__PURE__*/React__default["default"].createElement("header", null, day.format("DD")), /*#__PURE__*/React__default["default"].createElement("main", null, events.map(function (event) {
3618
+ return /*#__PURE__*/React__default["default"].createElement(Event, {
3619
+ key: event.id,
3620
+ event: event
3621
+ }, children);
3622
+ })));
3464
3623
  };
3465
3624
 
3466
3625
  /**
3467
- * Site Header
3626
+ * Event
3468
3627
  */
3469
- var SiteHeader = function SiteHeader(props) {
3470
- var _props$icon = props.icon,
3471
- icon = _props$icon === void 0 ? "equalizer" : _props$icon,
3472
- iconSrc = props.iconSrc,
3473
- title = props.title;
3474
- return /*#__PURE__*/React__default["default"].createElement(Header, {
3475
- icon: icon,
3476
- iconSrc: iconSrc,
3477
- title: title
3478
- });
3628
+ var Event = function Event(props) {
3629
+ var event = props.event,
3630
+ children = props.children;
3631
+ if (children) {
3632
+ var element = React__default["default"].Children.toArray(children)[0];
3633
+ return React__default["default"].cloneElement(element, {
3634
+ event: event
3635
+ });
3636
+ } else {
3637
+ return /*#__PURE__*/React__default["default"].createElement("div", {
3638
+ className: "event"
3639
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
3640
+ className: "event-name"
3641
+ }, event.title));
3642
+ }
3479
3643
  };
3480
3644
 
3481
3645
  /**
3482
- * Site ToolBar
3646
+ * YearCalendar
3483
3647
  */
3484
- var SiteToolBar = function SiteToolBar(_ref4) {
3485
- var children = _ref4.children;
3486
- return /*#__PURE__*/React__default["default"].createElement("nav", null, children);
3648
+ var YearCalendar = function YearCalendar(props) {
3649
+ var _props$events3 = props.events,
3650
+ events = _props$events3 === void 0 ? [] : _props$events3,
3651
+ children = props.children,
3652
+ onChange = props.onChange;
3653
+ var _useState3 = React.useState(),
3654
+ position = _useState3[0],
3655
+ setPosition = _useState3[1];
3656
+ React.useEffect(function () {
3657
+ var today = moment();
3658
+ setPosition(today);
3659
+ }, []);
3660
+ React.useEffect(function () {
3661
+ if (position && onChange) {
3662
+ var _firstDayOfYear = position.clone().startOf('year');
3663
+ var firstDayOfRange = _firstDayOfYear.clone().startOf('isoweek');
3664
+ var _lastDayOfYear = position.clone().endOf('year');
3665
+ var lastDayOfRange = _lastDayOfYear.clone().endOf('isoweek');
3666
+ var range = moment.range(firstDayOfRange, lastDayOfRange);
3667
+ onChange(position, range);
3668
+ }
3669
+ }, [position]);
3670
+ function next() {
3671
+ var next = position.clone().add(1, 'year');
3672
+ setPosition(next);
3673
+ }
3674
+ function prev() {
3675
+ var prev = position.clone().subtract(1, 'year');
3676
+ setPosition(prev);
3677
+ }
3678
+ function today() {
3679
+ var today = moment();
3680
+ setPosition(today);
3681
+ }
3682
+ if (!position) return "...";
3683
+ var year = position.format("YYYY");
3684
+ var firstDayOfYear = moment(position).startOf('year');
3685
+ var lastDayOfYear = moment(position).endOf('year');
3686
+ var months = [];
3687
+ for (var currentMonth = moment(firstDayOfYear); currentMonth.isBefore(lastDayOfYear); currentMonth.add(1, 'month')) {
3688
+ months.push(moment(currentMonth));
3689
+ }
3690
+ var cells = months.map(function (month) {
3691
+ var firstDayOfMonth = month.clone().startOf('month');
3692
+ var firstDayOfRange = firstDayOfMonth.clone().startOf('isoweek');
3693
+ var lastDayOfMonth = month.clone().endOf('month');
3694
+ var lastDayOfRange = lastDayOfMonth.clone().endOf('isoweek');
3695
+ var range = moment.range(firstDayOfRange, lastDayOfRange);
3696
+ var days = Array.from(range.by('days'));
3697
+ var cells = days.map(function (day) {
3698
+ var eventsOfDay = events.filter(function (event) {
3699
+ var eventDay = moment(event.date);
3700
+ return eventDay.isSame(day, 'day');
3701
+ });
3702
+ var sameMonthStyle = day.isSame(moment(month), 'month') ? '' : 'other-month';
3703
+ return {
3704
+ day: day,
3705
+ events: eventsOfDay,
3706
+ sameMonthStyle: sameMonthStyle
3707
+ };
3708
+ });
3709
+ return {
3710
+ month: month,
3711
+ cells: cells
3712
+ };
3713
+ });
3714
+ return /*#__PURE__*/React__default["default"].createElement("div", {
3715
+ className: "year-calendar"
3716
+ }, /*#__PURE__*/React__default["default"].createElement("nav", null, /*#__PURE__*/React__default["default"].createElement("label", null, " ", /*#__PURE__*/React__default["default"].createElement(Text$1, null, year)), /*#__PURE__*/React__default["default"].createElement(Button, {
3717
+ icon: "chevron_left",
3718
+ action: prev
3719
+ }), /*#__PURE__*/React__default["default"].createElement(Button, {
3720
+ label: "Today",
3721
+ outlined: true,
3722
+ action: today
3723
+ }), /*#__PURE__*/React__default["default"].createElement(Button, {
3724
+ icon: "chevron_right",
3725
+ action: next
3726
+ })), /*#__PURE__*/React__default["default"].createElement("main", null, cells.map(function (cell) {
3727
+ return /*#__PURE__*/React__default["default"].createElement(MonthCell, {
3728
+ key: cell.month,
3729
+ cell: cell
3730
+ }, children);
3731
+ })));
3487
3732
  };
3488
3733
 
3489
3734
  /**
3490
- * Site Footer
3735
+ * MonthCell
3491
3736
  */
3492
- var SiteFooter = function SiteFooter(_ref5) {
3493
- var children = _ref5.children;
3494
- return /*#__PURE__*/React__default["default"].createElement("footer", null, children);
3737
+ var MonthCell = function MonthCell(props) {
3738
+ var _props$cell2 = props.cell,
3739
+ cell = _props$cell2 === void 0 ? [] : _props$cell2,
3740
+ children = props.children;
3741
+ var month = cell.month,
3742
+ cells = cell.cells;
3743
+ var monthName = month.format("MMMM");
3744
+ return /*#__PURE__*/React__default["default"].createElement("div", {
3745
+ className: "month-cell"
3746
+ }, /*#__PURE__*/React__default["default"].createElement("nav", null, monthName), /*#__PURE__*/React__default["default"].createElement("header", null, /*#__PURE__*/React__default["default"].createElement("div", {
3747
+ className: "week-day-cell"
3748
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, null, "Mon")), /*#__PURE__*/React__default["default"].createElement("div", {
3749
+ className: "week-day-cell"
3750
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, null, "Tue")), /*#__PURE__*/React__default["default"].createElement("div", {
3751
+ className: "week-day-cell"
3752
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, null, "Wed")), /*#__PURE__*/React__default["default"].createElement("div", {
3753
+ className: "week-day-cell"
3754
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, null, "Thu")), /*#__PURE__*/React__default["default"].createElement("div", {
3755
+ className: "week-day-cell"
3756
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, null, "Fri")), /*#__PURE__*/React__default["default"].createElement("div", {
3757
+ className: "week-day-cell"
3758
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, null, "Sat")), /*#__PURE__*/React__default["default"].createElement("div", {
3759
+ className: "week-day-cell"
3760
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, null, "Sun"))), /*#__PURE__*/React__default["default"].createElement("main", null, cells.map(function (cell) {
3761
+ return /*#__PURE__*/React__default["default"].createElement(DayCell, {
3762
+ key: cell.day,
3763
+ cell: cell
3764
+ }, children);
3765
+ })));
3495
3766
  };
3496
3767
 
3497
- /**
3498
- * Site Aside
3499
- */
3500
- var SiteAside = function SiteAside() {
3501
- var context = React.useContext(SiteContext);
3502
- return context.info ? /*#__PURE__*/React__default["default"].createElement("aside", null, context.info) : '';
3503
- };
3768
+ var ranges = momentRange.extendMoment(moment__default["default"]);
3769
+ var DATE_RANGE = [{
3770
+ label: "Week",
3771
+ value: "week"
3772
+ }, {
3773
+ label: "Month",
3774
+ value: "month"
3775
+ }, {
3776
+ label: "Year",
3777
+ value: "year"
3778
+ }];
3504
3779
 
3505
3780
  /**
3506
- * SiteMenu
3781
+ * Planner
3507
3782
  */
3508
- var SiteMenu = function SiteMenu(_ref6) {
3509
- var iconSrc = _ref6.iconSrc,
3510
- title = _ref6.title,
3511
- children = _ref6.children,
3512
- min = _ref6.min;
3513
- var context = React.useContext(SiteContext);
3514
- var page = context.page,
3515
- sideNav = context.sideNav,
3516
- setSideNav = context.setSideNav,
3517
- showNav = context.showNav;
3518
- React.useEffect(function () {
3519
- if (min) context.setSideNav('min');
3783
+ var Planner = function Planner(_ref) {
3784
+ var title = _ref.title,
3785
+ _ref$events = _ref.events,
3786
+ events = _ref$events === void 0 ? [] : _ref$events,
3787
+ _ref$lanes = _ref.lanes,
3788
+ lanes = _ref$lanes === void 0 ? [] : _ref$lanes,
3789
+ _ref$navigation = _ref.navigation,
3790
+ navigation = _ref$navigation === void 0 ? true : _ref$navigation,
3791
+ onSelectCell = _ref.onSelectCell,
3792
+ focusEvent = _ref.focusEvent,
3793
+ _ref$config = _ref.config,
3794
+ config = _ref$config === void 0 ? {
3795
+ range: "year",
3796
+ from: "2022-01-01",
3797
+ to: "2022-12-30"
3798
+ } : _ref$config,
3799
+ onChange = _ref.onChange;
3800
+ var _useState = React.useState(config.range),
3801
+ dateRange = _useState[0],
3802
+ setDateRange = _useState[1];
3803
+ var _useState2 = React.useState(config.from),
3804
+ from = _useState2[0],
3805
+ setFrom = _useState2[1];
3806
+ var _useState3 = React.useState(config.to),
3807
+ to = _useState3[0],
3808
+ setTo = _useState3[1];
3809
+ var thisMondayElement = React.useRef(null);
3810
+ var gotoMonday = React.useCallback(function (node) {
3811
+ var element = node;
3812
+ if (element) element.scrollIntoView({
3813
+ behavior: 'smooth',
3814
+ block: 'start',
3815
+ inline: 'start'
3816
+ });
3520
3817
  }, []);
3521
- function toggle() {
3522
- var next = sideNav === 'max' ? 'min' : 'max';
3523
- setSideNav(next);
3818
+ React.useEffect(function () {
3819
+ var element = document.getElementById(focusEvent);
3820
+ if (element) element.scrollIntoView({
3821
+ behavior: 'smooth',
3822
+ block: 'center',
3823
+ inline: 'center'
3824
+ });
3825
+ }, [focusEvent]);
3826
+ React.useEffect(function () {
3827
+ var today = moment__default["default"]();
3828
+ var from_date = today.startOf(dateRange).format("YYYY-MM-DD");
3829
+ var to_date = today.endOf(dateRange).format("YYYY-MM-DD");
3830
+ setFrom(from_date);
3831
+ setTo(to_date);
3832
+ }, [dateRange]);
3833
+ function next() {
3834
+ var actual = moment__default["default"](from);
3835
+ var next = actual.add(1, dateRange);
3836
+ var from_date = next.startOf(dateRange).format("YYYY-MM-DD");
3837
+ var to_date = next.endOf(dateRange).format("YYYY-MM-DD");
3838
+ setFrom(from_date);
3839
+ setTo(to_date);
3524
3840
  }
3525
- var _goto = function _goto(id) {
3526
- context.setShowNav(false);
3527
- context["goto"](id);
3528
- };
3529
- var sections = children ? React.Children.toArray(children).reduce(function (sections, page) {
3530
- var section = page.props ? page.props.section : '...';
3531
- if (!sections[section]) sections[section] = [];
3532
- var _page$props = page.props,
3533
- id = _page$props.id,
3534
- icon = _page$props.icon,
3535
- title = _page$props.title;
3536
- if (title) sections[section].push({
3537
- id: id,
3538
- icon: icon,
3539
- title: title
3841
+ function prev() {
3842
+ var actual = moment__default["default"](from);
3843
+ var next = actual.subtract(1, dateRange);
3844
+ var from_date = next.startOf(dateRange).format("YYYY-MM-DD");
3845
+ var to_date = next.endOf(dateRange).format("YYYY-MM-DD");
3846
+ setFrom(from_date);
3847
+ setTo(to_date);
3848
+ }
3849
+ function selectCell(lane, date) {
3850
+ if (onSelectCell) onSelectCell(lane, date);
3851
+ }
3852
+ function showThisWeek() {
3853
+ var element = thisMondayElement.current;
3854
+ //const element = document.querySelector(".thisMonday")
3855
+ console.log("Show this week", element);
3856
+ if (element) element.scrollIntoView({
3857
+ behavior: 'smooth',
3858
+ block: 'start',
3859
+ inline: 'start'
3540
3860
  });
3541
- return sections;
3542
- }, {}) : {};
3543
- var style = sideNav === 'max' ? 'max' : 'min';
3544
- var toggleIcon = sideNav === 'max' ? 'chevron_left' : 'chevron_right';
3545
- var menutTitle = sideNav === 'max' ? title : '';
3546
- return /*#__PURE__*/React__default["default"].createElement("menu", {
3547
- className: style + " " + (showNav ? 'show' : '')
3548
- }, /*#__PURE__*/React__default["default"].createElement(Header, {
3549
- title: menutTitle,
3550
- iconSrc: iconSrc
3551
- }), /*#__PURE__*/React__default["default"].createElement("main", null, Object.keys(sections).map(function (title) {
3552
- return /*#__PURE__*/React__default["default"].createElement(React.Fragment, {
3553
- key: title
3554
- }, /*#__PURE__*/React__default["default"].createElement("div", {
3555
- className: "section-title " + style
3556
- }, sideNav === "max" ? title : ''), sections[title].map(function (_ref7) {
3557
- var id = _ref7.id,
3558
- _ref7$icon = _ref7.icon,
3559
- icon = _ref7$icon === void 0 ? 'info' : _ref7$icon,
3560
- title = _ref7.title;
3561
- var styleItem = id === page ? 'selected' : '';
3562
- var titleTxt = context.translate(title);
3563
- return /*#__PURE__*/React__default["default"].createElement("div", {
3564
- className: "site-menu-item " + styleItem,
3565
- key: id,
3566
- onClick: function onClick() {
3567
- return _goto(id);
3568
- }
3569
- }, /*#__PURE__*/React__default["default"].createElement(Tooltip, {
3570
- text: title,
3571
- top: ".5rem",
3572
- left: "4.5rem"
3573
- }, /*#__PURE__*/React__default["default"].createElement(Icon, {
3574
- key: id,
3575
- icon: icon,
3576
- clickable: true,
3577
- action: function action() {
3578
- return _goto(id);
3579
- }
3580
- })), sideNav === 'max' ? /*#__PURE__*/React__default["default"].createElement("label", null, titleTxt) : null);
3581
- }), /*#__PURE__*/React__default["default"].createElement("div", {
3582
- className: "section-divider"
3583
- }));
3584
- })), /*#__PURE__*/React__default["default"].createElement("footer", null, /*#__PURE__*/React__default["default"].createElement(Icon, {
3585
- icon: toggleIcon,
3861
+ }
3862
+ var period = React.useMemo(function () {
3863
+ var start = ranges(from, "YYYY-MM-DD");
3864
+ var end = ranges(to, "YYYY-MM-DD");
3865
+ var range = ranges.range(start, end);
3866
+ var period = Array.from(range.by("day")).map(function (m) {
3867
+ return {
3868
+ year: m.year(),
3869
+ month: m.month(),
3870
+ day: m.date(),
3871
+ moment: m
3872
+ };
3873
+ });
3874
+ return period;
3875
+ }, [from, to]);
3876
+ var label = /*#__PURE__*/React__default["default"].createElement(Text$1, {
3877
+ use: "headline6"
3878
+ }, title);
3879
+ return /*#__PURE__*/React__default["default"].createElement("div", {
3880
+ className: "planner-box"
3881
+ }, navigation ? /*#__PURE__*/React__default["default"].createElement(Header, {
3882
+ title: label
3883
+ }, "\xA0\xA0", /*#__PURE__*/React__default["default"].createElement(Button, {
3884
+ label: "Esta Semana",
3885
+ outlined: true,
3886
+ action: showThisWeek
3887
+ }), /*#__PURE__*/React__default["default"].createElement(Icon, {
3888
+ icon: "chevron_right",
3889
+ clickable: true,
3890
+ action: next
3891
+ }), /*#__PURE__*/React__default["default"].createElement(TextField, {
3892
+ id: "to",
3893
+ type: "date",
3894
+ label: "Hasta",
3895
+ value: to,
3896
+ onChange: function onChange(id, value) {
3897
+ return setTo(value);
3898
+ }
3899
+ }), /*#__PURE__*/React__default["default"].createElement("div", {
3900
+ className: "expand"
3901
+ }), /*#__PURE__*/React__default["default"].createElement(DropDown, {
3902
+ id: "ranges",
3903
+ label: "Rango",
3904
+ options: DATE_RANGE,
3905
+ value: dateRange,
3906
+ onChange: function onChange(id, value) {
3907
+ return setDateRange(value);
3908
+ }
3909
+ }), /*#__PURE__*/React__default["default"].createElement("div", {
3910
+ className: "expand"
3911
+ }), /*#__PURE__*/React__default["default"].createElement(TextField, {
3912
+ id: "from",
3913
+ type: "date",
3914
+ label: "Desde",
3915
+ value: from,
3916
+ onChange: function onChange(id, value) {
3917
+ return setFrom(value);
3918
+ }
3919
+ }), /*#__PURE__*/React__default["default"].createElement(Icon, {
3920
+ icon: "chevron_left",
3586
3921
  clickable: true,
3587
- action: toggle
3588
- })));
3922
+ action: prev
3923
+ })) : null, /*#__PURE__*/React__default["default"].createElement("main", {
3924
+ className: "planner"
3925
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
3926
+ className: "column0"
3927
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
3928
+ className: "column-header"
3929
+ }), lanes.map(function (lane) {
3930
+ return /*#__PURE__*/React__default["default"].createElement("div", {
3931
+ className: "row-header"
3932
+ }, lane.label);
3933
+ })), /*#__PURE__*/React__default["default"].createElement("div", {
3934
+ className: "rows"
3935
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
3936
+ className: "row row0"
3937
+ }, period.map(function (date, index) {
3938
+ var first = index === 0 || date.day === 1 ? "first" : "";
3939
+ return /*#__PURE__*/React__default["default"].createElement("div", {
3940
+ className: "column-header"
3941
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
3942
+ className: "month-header " + first
3943
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, {
3944
+ use: "overline"
3945
+ }, date.moment.format("MMM"))));
3946
+ })), /*#__PURE__*/React__default["default"].createElement("div", {
3947
+ className: "row row1"
3948
+ }, period.map(function (date) {
3949
+ var isWekend = [0, 6].includes(date.moment.day());
3950
+ var weekend = isWekend ? "weekend" : "";
3951
+ var thisWeek = moment__default["default"]().startOf('week').isSame(date.moment, "week") ? "thisWeek" : "";
3952
+ var today = moment__default["default"]();
3953
+ var weekStart = today.clone().startOf('week');
3954
+ var isThisMonday = date.moment.isSame(weekStart);
3955
+ return /*#__PURE__*/React__default["default"].createElement("div", {
3956
+ key: "column-" + date.moment.dayOfYear(),
3957
+ id: isThisMonday ? "thisMonday" : "",
3958
+ className: "column-header",
3959
+ ref: isThisMonday ? thisMondayElement : null
3960
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
3961
+ className: "date-header " + weekend + " " + thisWeek,
3962
+ ref: isThisMonday ? gotoMonday : null
3963
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, {
3964
+ use: "headline6"
3965
+ }, date.moment.format("DD")), "\xA0", /*#__PURE__*/React__default["default"].createElement(Text$1, {
3966
+ use: "caption"
3967
+ }, date.moment.format("ddd"))));
3968
+ })), lanes.map(function (lane) {
3969
+ return /*#__PURE__*/React__default["default"].createElement(PlannerRow, {
3970
+ key: lane.id,
3971
+ lane: lane,
3972
+ events: events,
3973
+ period: period,
3974
+ onSelectCell: selectCell,
3975
+ onChange: onChange
3976
+ });
3977
+ }))));
3589
3978
  };
3590
3979
 
3591
3980
  /**
3592
- * SitePage
3981
+ * Planner Row
3593
3982
  */
3594
- var SitePage = function SitePage(_ref8) {
3595
- var children = _ref8.children,
3596
- init = _ref8.init;
3597
- var context = React.useContext(SiteContext);
3598
- var page = context.page;
3599
- React.useEffect(function () {
3600
- if (init) {
3601
- context["goto"](init);
3602
- } else {
3603
- context["goto"]("EMPTY");
3604
- }
3605
- }, []);
3606
- return /*#__PURE__*/React__default["default"].createElement("main", null, React__default["default"].Children.toArray(children).filter(function (child) {
3607
- return child.props ? child.props.id === page : false;
3983
+ var PlannerRow = function PlannerRow(props) {
3984
+ var lane = props.lane,
3985
+ _props$events = props.events,
3986
+ events = _props$events === void 0 ? [] : _props$events,
3987
+ period = props.period,
3988
+ onSelectCell = props.onSelectCell,
3989
+ onChange = props.onChange;
3990
+ var rowEvents = events.filter(function (event) {
3991
+ return event.lane === lane.id;
3992
+ });
3993
+ function change(data) {
3994
+ if (onChange) onChange(data);
3995
+ }
3996
+ return /*#__PURE__*/React__default["default"].createElement("div", {
3997
+ className: "row"
3998
+ }, period.map(function (date) {
3999
+ var slotDate = new Date(date.year, date.month, date.day);
4000
+ slotDate.setHours(0, 0, 0);
4001
+ var cellEvents = rowEvents.filter(function (event) {
4002
+ var eventDate = new Date(event.date);
4003
+ eventDate.setHours(0, 0, 0);
4004
+ return eventDate.getTime() === slotDate.getTime();
4005
+ });
4006
+ return /*#__PURE__*/React__default["default"].createElement(PlannerCell, {
4007
+ key: lane.id + "-" + slotDate.toString(),
4008
+ lane: lane,
4009
+ date: date,
4010
+ events: cellEvents,
4011
+ onSelect: onSelectCell,
4012
+ onDrop: change
4013
+ });
3608
4014
  }));
3609
4015
  };
3610
4016
 
3611
4017
  /**
3612
- * Site Dialog
4018
+ * Planner Cell
3613
4019
  */
3614
- var SiteDialog = function SiteDialog() {
3615
- var context = React.useContext(SiteContext);
3616
- return context.dialog ? context.dialog : '';
4020
+ var PlannerCell = function PlannerCell(_ref2) {
4021
+ var lane = _ref2.lane,
4022
+ events = _ref2.events,
4023
+ date = _ref2.date,
4024
+ onSelect = _ref2.onSelect,
4025
+ onDrop = _ref2.onDrop;
4026
+ var _useState4 = React.useState(false),
4027
+ dragOver = _useState4[0],
4028
+ setDragOver = _useState4[1];
4029
+ function select() {
4030
+ if (onSelect) onSelect(lane, date.moment.format("YYYY-MM-DD"));
4031
+ }
4032
+ function onDragOver(event) {
4033
+ if (!dragOver) setDragOver(true);
4034
+ event.stopPropagation();
4035
+ event.preventDefault();
4036
+ }
4037
+ function onDragLeave(event) {
4038
+ setDragOver(false);
4039
+ event.stopPropagation();
4040
+ event.preventDefault();
4041
+ }
4042
+ function drop(event) {
4043
+ event.stopPropagation();
4044
+ event.preventDefault();
4045
+ var id = event.dataTransfer.getData("text");
4046
+ if (onDrop) onDrop({
4047
+ id: id,
4048
+ lane: lane.id,
4049
+ date: date.moment.format("YYYY-MM-DD")
4050
+ });
4051
+ setDragOver(false);
4052
+ }
4053
+ var isWekend = [0, 6].includes(date.moment.day());
4054
+ var weekend = isWekend ? "weekend" : "";
4055
+ var today = moment__default["default"]();
4056
+ var weekStart = today.clone().startOf('week');
4057
+ var thisMonday = date.moment.isSame(weekStart) ? "thisMonday" : "";
4058
+ var dragOverStyle = dragOver ? "drag-over" : "";
4059
+ return /*#__PURE__*/React__default["default"].createElement("div", {
4060
+ className: "cell " + thisMonday + " " + weekend + " " + dragOverStyle,
4061
+ onDragOver: onDragOver,
4062
+ onDragLeave: onDragLeave,
4063
+ onDrop: drop,
4064
+ onClick: select
4065
+ }, events.map(function (event) {
4066
+ var _event$Renderer = event.Renderer,
4067
+ Renderer = _event$Renderer === void 0 ? EventCard : _event$Renderer;
4068
+ return /*#__PURE__*/React__default["default"].createElement(Renderer, {
4069
+ key: event.id,
4070
+ event: event
4071
+ });
4072
+ }));
3617
4073
  };
3618
-
3619
- /**
3620
- * Site Promtp Dialog
3621
- */
3622
- var SitePromptDialog = function SitePromptDialog() {
3623
- var context = React.useContext(SiteContext);
3624
- return context.promptDialog ? context.promptDialog : '';
4074
+ var EventCard = function EventCard(props) {
4075
+ var event = props.event;
4076
+ var title = event.title,
4077
+ color = event.color;
4078
+ var style = {
4079
+ backgroundColor: color,
4080
+ color: "white"
4081
+ };
4082
+ return /*#__PURE__*/React__default["default"].createElement("div", {
4083
+ draggable: "true",
4084
+ className: "event-card",
4085
+ style: style
4086
+ }, title);
3625
4087
  };
3626
4088
 
3627
4089
  /**
3628
- * Site Preview
4090
+ * Upload Area
3629
4091
  */
3630
- var SitePreview = function SitePreview() {
3631
- var context = React.useContext(SiteContext);
3632
- return context.preview ? /*#__PURE__*/React__default["default"].createElement("div", {
3633
- className: "site-preview"
3634
- }, context.preview) : '';
4092
+ var UploadArea = function UploadArea(props) {
4093
+ var _props$label = props.label,
4094
+ label = _props$label === void 0 ? 'Add file or drop file here...' : _props$label;
4095
+ var areaElement = React.useRef();
4096
+ var _useState = React.useState(false),
4097
+ drag = _useState[0],
4098
+ setDrag = _useState[1];
4099
+ var resumable = props.resumable;
4100
+ React.useEffect(function () {
4101
+ if (resumable && areaElement) {
4102
+ resumable.assignDrop(areaElement.current);
4103
+ }
4104
+ }, []);
4105
+ var onDragOver = function onDragOver() {
4106
+ setDrag(true);
4107
+ };
4108
+ var onDragLeave = function onDragLeave() {
4109
+ setDrag(false);
4110
+ };
4111
+ var dragging = drag === true ? 'drag-over' : '';
4112
+ return /*#__PURE__*/React__default["default"].createElement("div", {
4113
+ className: "upload-area6 " + dragging,
4114
+ onDragOver: onDragOver,
4115
+ onDragLeave: onDragLeave,
4116
+ ref: areaElement
4117
+ }, /*#__PURE__*/React__default["default"].createElement(UploadIcon, {
4118
+ resumable: resumable
4119
+ }), /*#__PURE__*/React__default["default"].createElement("label", null, label));
3635
4120
  };
3636
4121
 
3637
4122
  /**
3638
- * Site Console
3639
- */
3640
- var SiteConsole = function SiteConsole() {
3641
- var context = React.useContext(SiteContext);
3642
- function clear() {
3643
- context.clearLog();
3644
- }
3645
- return context.showConsole ? /*#__PURE__*/React__default["default"].createElement("div", {
3646
- className: "site-console"
3647
- }, /*#__PURE__*/React__default["default"].createElement(Header, null, /*#__PURE__*/React__default["default"].createElement(Tabs, null, /*#__PURE__*/React__default["default"].createElement(Tab, {
3648
- label: "Console"
3649
- }))), /*#__PURE__*/React__default["default"].createElement("nav", null, /*#__PURE__*/React__default["default"].createElement(Icon, {
3650
- icon: "clear_all",
3651
- size: "small",
3652
- clickable: true,
3653
- action: clear
3654
- })), /*#__PURE__*/React__default["default"].createElement("main", null, context.consoleLines.map(function (line, index) {
3655
- return /*#__PURE__*/React__default["default"].createElement("div", {
3656
- key: "log-" + index
3657
- }, line);
3658
- }))) : '';
4123
+ * Upload Icon
4124
+ */
4125
+ var UploadIcon = function UploadIcon(_ref) {
4126
+ var _ref$icon = _ref.icon,
4127
+ icon = _ref$icon === void 0 ? "folder_open" : _ref$icon,
4128
+ resumable = _ref.resumable;
4129
+ var iconElement = React.useRef();
4130
+ React.useEffect(function () {
4131
+ if (resumable && iconElement.current) {
4132
+ resumable.assignBrowse(iconElement.current);
4133
+ }
4134
+ }, [iconElement]);
4135
+ return /*#__PURE__*/React__default["default"].createElement("div", {
4136
+ className: "upload-icon",
4137
+ ref: iconElement
4138
+ }, /*#__PURE__*/React__default["default"].createElement(Icon, {
4139
+ icon: icon,
4140
+ clickable: true
4141
+ }));
4142
+ };
4143
+
4144
+ var UPLOAD_STATES = {
4145
+ IDLE: 0,
4146
+ RUNNING: 1,
4147
+ SUCCESS: 2,
4148
+ ERROR: 3,
4149
+ COMPLETED: 4
3659
4150
  };
3660
4151
 
3661
4152
  /**
3662
- * Dialog
3663
- *
3664
- * <Dialog title={title} open={true} actions={actions}>
4153
+ * Upload File
3665
4154
  */
3666
- var Dialog = function Dialog(props) {
3667
- var site = React.useContext(SiteContext);
3668
- var icon = props.icon,
3669
- _props$title = props.title,
3670
- title = _props$title === void 0 ? "Dialog" : _props$title,
3671
- toolbar = props.toolbar,
3672
- children = props.children,
3673
- actions = props.actions,
3674
- className = props.className,
3675
- onClose = props.onClose,
3676
- _props$overlayCanClos = props.overlayCanClose,
3677
- overlayCanClose = _props$overlayCanClos === void 0 ? true : _props$overlayCanClos;
3678
- function overlayClose() {
3679
- if (overlayCanClose) {
3680
- close();
3681
- }
3682
- }
3683
- function close() {
3684
- if (onClose) onClose();
3685
- if (className === "prompt") {
3686
- site.closePromptDialog();
3687
- } else {
3688
- site.closeDialog();
3689
- }
3690
- }
4155
+ var UploadFile$1 = function UploadFile(_ref) {
4156
+ var file = _ref.file;
4157
+ var icon = file.icon,
4158
+ name = file.name,
4159
+ state = file.state,
4160
+ progress = file.progress,
4161
+ error = file.error;
3691
4162
  return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement("div", {
3692
- className: "overlay " + className,
3693
- onMouseDown: overlayClose
3694
- }), /*#__PURE__*/React__default["default"].createElement("dialog", {
3695
- className: "dialog-panel " + className
3696
- }, /*#__PURE__*/React__default["default"].createElement("header", null, icon ? /*#__PURE__*/React__default["default"].createElement(MenuIcon, {
4163
+ className: "upload-file"
4164
+ }, icon ? /*#__PURE__*/React__default["default"].createElement(Icon, {
3697
4165
  icon: icon
3698
- }) : null, /*#__PURE__*/React__default["default"].createElement(Text, null, title), toolbar), /*#__PURE__*/React__default["default"].createElement("main", null, children), /*#__PURE__*/React__default["default"].createElement("footer", null, actions)));
4166
+ }) : null, /*#__PURE__*/React__default["default"].createElement("label", null, name), state === UPLOAD_STATES.RUNNING ? /*#__PURE__*/React__default["default"].createElement("main", null, /*#__PURE__*/React__default["default"].createElement(LinearProgress, {
4167
+ progress: progress
4168
+ }), /*#__PURE__*/React__default["default"].createElement(Icon, {
4169
+ icon: "close",
4170
+ clickable: true
4171
+ })) : '', state === UPLOAD_STATES.SUCCESS ? /*#__PURE__*/React__default["default"].createElement("main", null, /*#__PURE__*/React__default["default"].createElement(Icon, {
4172
+ icon: "done"
4173
+ })) : '', state === UPLOAD_STATES.ERROR ? /*#__PURE__*/React__default["default"].createElement("main", null, /*#__PURE__*/React__default["default"].createElement("div", {
4174
+ className: "error"
4175
+ }, error), /*#__PURE__*/React__default["default"].createElement(Icon, {
4176
+ icon: "error"
4177
+ })) : ''));
4178
+ };
4179
+
4180
+ var UploadProgress = function UploadProgress(_ref) {
4181
+ var _ref$files = _ref.files,
4182
+ files = _ref$files === void 0 ? [] : _ref$files;
4183
+ return /*#__PURE__*/React__default["default"].createElement("div", null, files.map(function (file) {
4184
+ var f = {
4185
+ icon: "description",
4186
+ name: file.fileName,
4187
+ progress: file.progress() * 100,
4188
+ state: file.uploadState,
4189
+ error: file.uploadError
4190
+ };
4191
+ return /*#__PURE__*/React__default["default"].createElement(UploadFile$1, {
4192
+ key: f.name,
4193
+ file: f
4194
+ });
4195
+ }));
3699
4196
  };
3700
4197
 
3701
4198
  /**
3702
- * View
4199
+ * Uploader
3703
4200
  */
3704
- var View = function View(props) {
3705
- var id = props.id,
3706
- className = props.className,
3707
- icon = props.icon,
3708
- title = props.title,
3709
- toolbar = props.toolbar,
3710
- menu = props.menu,
3711
- info = props.info,
3712
- onClose = props.onClose,
3713
- _props$canCollapse = props.canCollapse,
3714
- canCollapse = _props$canCollapse === void 0 ? false : _props$canCollapse,
3715
- children = props.children;
3716
- var _useState = React.useState(true),
3717
- open = _useState[0],
3718
- setOpen = _useState[1];
3719
- function toggle() {
3720
- setOpen(!open);
4201
+ var Uploader = function Uploader(_ref) {
4202
+ var icon = _ref.icon,
4203
+ label = _ref.label,
4204
+ _ref$view = _ref.view,
4205
+ view = _ref$view === void 0 ? "area" : _ref$view,
4206
+ target = _ref.target,
4207
+ accept = _ref.accept,
4208
+ _ref$simultaneousUplo = _ref.simultaneousUploads,
4209
+ simultaneousUploads = _ref$simultaneousUplo === void 0 ? 1 : _ref$simultaneousUplo,
4210
+ className = _ref.className,
4211
+ onProgress = _ref.onProgress,
4212
+ onSuccess = _ref.onSuccess,
4213
+ onError = _ref.onError,
4214
+ onComplete = _ref.onComplete;
4215
+ var resumable = React.useMemo(function () {
4216
+ var config = {
4217
+ target: target,
4218
+ chunkSize: 1 * 1024 * 1024,
4219
+ simultaneousUploads: simultaneousUploads,
4220
+ testChunks: false,
4221
+ throttleProgressCallbacks: 1,
4222
+ fileType: accept
4223
+ };
4224
+ var resumable = new ResumableJS__default["default"](config);
4225
+ resumable.on('fileAdded', onFileAdded);
4226
+ resumable.on('fileProgress', onFileProgress);
4227
+ resumable.on('fileSuccess', onFileSuccess);
4228
+ resumable.on('fileError', onFileError);
4229
+ resumable.on('complete', onAllComplete);
4230
+ return resumable;
4231
+ }, []);
4232
+ var _useState = React.useState(0),
4233
+ setProgress = _useState[1];
4234
+ var _useState2 = React.useState(UPLOAD_STATES.IDLE),
4235
+ state = _useState2[0],
4236
+ setState = _useState2[1];
4237
+ var _useState3 = React.useState([]),
4238
+ files = _useState3[0],
4239
+ setFiles = _useState3[1];
4240
+ function onFileAdded(file) {
4241
+ files.push(file);
4242
+ setFiles(files);
4243
+ setState(UPLOAD_STATES.RUNNING);
4244
+ resumable.upload();
3721
4245
  }
3722
- function close() {
3723
- if (onClose) onClose();
4246
+ function onFileProgress(file) {
4247
+ file.uploadState = UPLOAD_STATES.RUNNING;
4248
+ var progress = file.progress();
4249
+ setProgress(progress);
4250
+ if (onProgress) onProgress(files);
3724
4251
  }
3725
- return /*#__PURE__*/React__default["default"].createElement("section", {
3726
- id: id,
3727
- className: "view " + className
3728
- }, /*#__PURE__*/React__default["default"].createElement("header", null, canCollapse ? /*#__PURE__*/React__default["default"].createElement(Icon, {
3729
- icon: "expand_more",
3730
- size: "small",
3731
- clickable: true,
3732
- action: toggle
3733
- }) : null, icon ? /*#__PURE__*/React__default["default"].createElement(Icon, {
3734
- icon: icon,
3735
- size: "small"
3736
- }) : null, title ? /*#__PURE__*/React__default["default"].createElement("label", null, title) : null, menu ? /*#__PURE__*/React__default["default"].createElement(MenuIcon, {
3737
- align: "alignRight"
3738
- }, menu) : null, onClose ? /*#__PURE__*/React__default["default"].createElement(Icon, {
3739
- icon: "close",
3740
- size: "small",
3741
- clickable: true,
3742
- action: close
3743
- }) : null), toolbar ? /*#__PURE__*/React__default["default"].createElement("nav", null, toolbar) : null, open ? /*#__PURE__*/React__default["default"].createElement("main", null, children) : null, info ? /*#__PURE__*/React__default["default"].createElement("footer", null, info) : null);
3744
- };
3745
- var TabbedView = function TabbedView(props) {
3746
- var title = props.title,
3747
- className = props.className,
3748
- selected = props.selected;
3749
- var _useState2 = React.useState(0),
3750
- tab = _useState2[0],
3751
- setTab = _useState2[1];
3752
- var children = React__default["default"].Children.toArray(props.children);
3753
- var tabs = children.map(function (child) {
3754
- return /*#__PURE__*/React__default["default"].createElement(Tab, {
3755
- key: child.props.label,
3756
- label: child.props.label
3757
- });
3758
- });
3759
- React.useEffect(function () {
3760
- if (selected && selected !== tab) setTab(selected);
3761
- }, [selected]);
3762
- var toolbar = /*#__PURE__*/React__default["default"].createElement(Tabs, {
3763
- selected: tab,
3764
- onChange: function onChange(tab) {
3765
- return setTab(tab);
4252
+ function onFileSuccess(file, message) {
4253
+ file.uploadState = UPLOAD_STATES.SUCCESS;
4254
+ if (onSuccess) onSuccess(file, message);
4255
+ }
4256
+ function onFileError(file, message) {
4257
+ file.uploadState = UPLOAD_STATES.ERROR;
4258
+ file.uploadError = message;
4259
+ if (onError) onError(file, message);
4260
+ }
4261
+ function onAllComplete() {
4262
+ setState(UPLOAD_STATES.COMPLETED);
4263
+ if (onComplete) onComplete(files);
4264
+ }
4265
+ function renderView() {
4266
+ switch (view) {
4267
+ case "area":
4268
+ return /*#__PURE__*/React__default["default"].createElement(UploadArea, {
4269
+ resumable: resumable,
4270
+ icon: icon,
4271
+ label: label
4272
+ });
4273
+ case "icon":
4274
+ return /*#__PURE__*/React__default["default"].createElement(UploadIcon, {
4275
+ resumable: resumable,
4276
+ icon: icon
4277
+ });
4278
+ default:
4279
+ return /*#__PURE__*/React__default["default"].createElement(UploadArea, {
4280
+ resumable: resumable,
4281
+ icon: icon,
4282
+ label: label
4283
+ });
3766
4284
  }
3767
- }, tabs);
3768
- return /*#__PURE__*/React__default["default"].createElement(View, {
3769
- title: title,
3770
- toolbar: toolbar,
3771
- className: className
3772
- }, /*#__PURE__*/React__default["default"].createElement(Stack, {
3773
- selected: tab
3774
- }, children));
4285
+ }
4286
+ return /*#__PURE__*/React__default["default"].createElement("div", {
4287
+ className: "uploader " + className
4288
+ }, state === UPLOAD_STATES.IDLE ? renderView() : /*#__PURE__*/React__default["default"].createElement(UploadProgress, {
4289
+ files: files
4290
+ }));
3775
4291
  };
3776
4292
 
3777
4293
  /**
@@ -3813,7 +4329,7 @@ var UploadDialog = function UploadDialog(_ref) {
3813
4329
  },
3814
4330
  disabled: !canClose()
3815
4331
  }));
3816
- var title = /*#__PURE__*/React__default["default"].createElement(Text, {
4332
+ var title = /*#__PURE__*/React__default["default"].createElement(Text$1, {
3817
4333
  use: "headline6"
3818
4334
  }, label);
3819
4335
  return /*#__PURE__*/React__default["default"].createElement(Dialog, {
@@ -3930,7 +4446,7 @@ var FileExplorerView = function FileExplorerView(props) {
3930
4446
  var folder = folders.find(function (folder) {
3931
4447
  return folder.id === selectedFolder;
3932
4448
  });
3933
- var folderTitle = folder ? /*#__PURE__*/React__default["default"].createElement(Text, null, folder.title) : '';
4449
+ var folderTitle = folder ? /*#__PURE__*/React__default["default"].createElement(Text$1, null, folder.title) : '';
3934
4450
  function switchView() {
3935
4451
  setView(view === 'grid' ? 'list' : 'grid');
3936
4452
  }
@@ -4138,7 +4654,7 @@ var EmptyMessage = function EmptyMessage(_ref) {
4138
4654
  className: "empty"
4139
4655
  }, /*#__PURE__*/React__default["default"].createElement("span", null, /*#__PURE__*/React__default["default"].createElement(Icon, {
4140
4656
  icon: icon
4141
- })), /*#__PURE__*/React__default["default"].createElement("br", null), /*#__PURE__*/React__default["default"].createElement(Text, {
4657
+ })), /*#__PURE__*/React__default["default"].createElement("br", null), /*#__PURE__*/React__default["default"].createElement(Text$1, {
4142
4658
  use: "subtitle2"
4143
4659
  }, text));
4144
4660
  };
@@ -4270,7 +4786,7 @@ var DataTable = function DataTable(props) {
4270
4786
  }, /*#__PURE__*/React__default["default"].createElement("div", null, id === "checked" && onCheckAll ? /*#__PURE__*/React__default["default"].createElement(CheckBox, {
4271
4787
  onChange: checkAll,
4272
4788
  value: allChecked
4273
- }) : /*#__PURE__*/React__default["default"].createElement(Text, {
4789
+ }) : /*#__PURE__*/React__default["default"].createElement(Text$1, {
4274
4790
  key: "th_" + id
4275
4791
  }, label), sortable ? /*#__PURE__*/React__default["default"].createElement(SortIcon, {
4276
4792
  sortDir: sortDir[id],
@@ -4997,7 +5513,7 @@ var Token = function Token(_ref2) {
4997
5513
  onDelete = _ref2.onDelete;
4998
5514
  return /*#__PURE__*/React__default["default"].createElement("div", {
4999
5515
  className: "token"
5000
- }, /*#__PURE__*/React__default["default"].createElement(Text, {
5516
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, {
5001
5517
  use: "caption",
5002
5518
  tag: "div"
5003
5519
  }, text), /*#__PURE__*/React__default["default"].createElement(Icon, {
@@ -5033,7 +5549,7 @@ var TreeNode = function TreeNode(_ref2) {
5033
5549
  children = _ref2.children,
5034
5550
  actions = _ref2.actions,
5035
5551
  onSelect = _ref2.onSelect;
5036
- var labelTxt = label ? /*#__PURE__*/React__default["default"].createElement(Text, {
5552
+ var labelTxt = label ? /*#__PURE__*/React__default["default"].createElement(Text$1, {
5037
5553
  format: TEXTFORMATS.STRING
5038
5554
  }, label) : null;
5039
5555
  function select() {
@@ -5073,7 +5589,7 @@ var TreeItem = function TreeItem(_ref3) {
5073
5589
  if (onSelect) onSelect(id);
5074
5590
  }
5075
5591
  var style = selected ? "selected" : "";
5076
- var labelTxt = label ? /*#__PURE__*/React__default["default"].createElement(Text, {
5592
+ var labelTxt = label ? /*#__PURE__*/React__default["default"].createElement(Text$1, {
5077
5593
  format: TEXTFORMATS.STRING
5078
5594
  }, label) : null;
5079
5595
  return /*#__PURE__*/React__default["default"].createElement("div", {
@@ -5856,7 +6372,7 @@ var TaskMonitor = function TaskMonitor(props) {
5856
6372
  }).map(function (task) {
5857
6373
  return {
5858
6374
  id: task.id,
5859
- state: /*#__PURE__*/React__default["default"].createElement(Text, null, task.state),
6375
+ state: /*#__PURE__*/React__default["default"].createElement(Text$1, null, task.state),
5860
6376
  description: task.description,
5861
6377
  message: task.message,
5862
6378
  progress: /*#__PURE__*/React__default["default"].createElement(LinearProgress, {
@@ -5958,7 +6474,6 @@ var UploadForm = function UploadForm(props) {
5958
6474
  }
5959
6475
  function handleFiles(files) {
5960
6476
  var file = files[0];
5961
- console.log("handleFiles", files, file);
5962
6477
  setFile(file);
5963
6478
  }
5964
6479
  function handleFile(e) {
@@ -6493,7 +7008,7 @@ var TreededContentEditor = function TreededContentEditor(_ref4) {
6493
7008
  }
6494
7009
  return /*#__PURE__*/React__default["default"].createElement("div", {
6495
7010
  className: "content-editor treeded-editor"
6496
- }, /*#__PURE__*/React__default["default"].createElement("menu", null, /*#__PURE__*/React__default["default"].createElement("header", null, /*#__PURE__*/React__default["default"].createElement(Text, {
7011
+ }, /*#__PURE__*/React__default["default"].createElement("menu", null, /*#__PURE__*/React__default["default"].createElement("header", null, /*#__PURE__*/React__default["default"].createElement(Text$1, {
6497
7012
  use: "caption"
6498
7013
  }, "Tree Editor")), /*#__PURE__*/React__default["default"].createElement(Tree, null, nodes.map(function (node, index) {
6499
7014
  return /*#__PURE__*/React__default["default"].createElement(TreeNode, {
@@ -6645,7 +7160,7 @@ var EntityEditor = function EntityEditor(_ref6) {
6645
7160
  var sections = content.sections();
6646
7161
  return /*#__PURE__*/React__default["default"].createElement("div", {
6647
7162
  className: "entity-editor"
6648
- }, /*#__PURE__*/React__default["default"].createElement("header", null, /*#__PURE__*/React__default["default"].createElement(Text, {
7163
+ }, /*#__PURE__*/React__default["default"].createElement("header", null, /*#__PURE__*/React__default["default"].createElement(Text$1, {
6649
7164
  use: "caption"
6650
7165
  }, label)), sections.map(function (section) {
6651
7166
  var title = section.title,
@@ -6892,7 +7407,7 @@ var MultiSelectionEditor = function MultiSelectionEditor(_ref10) {
6892
7407
  }
6893
7408
  return /*#__PURE__*/React__default["default"].createElement("div", {
6894
7409
  className: "multiselection-editor"
6895
- }, /*#__PURE__*/React__default["default"].createElement("label", null, /*#__PURE__*/React__default["default"].createElement(Text, null, label)), buildOptions().map(function (option) {
7410
+ }, /*#__PURE__*/React__default["default"].createElement("label", null, /*#__PURE__*/React__default["default"].createElement(Text$1, null, label)), buildOptions().map(function (option) {
6896
7411
  var checked = value.includes(option.value);
6897
7412
  switch (format) {
6898
7413
  case FORMATS$1.CHECKBOX:
@@ -7096,7 +7611,7 @@ var TableEditor$3 = function TableEditor(props) {
7096
7611
  className: "empty-message"
7097
7612
  }, /*#__PURE__*/React__default["default"].createElement(Icon, {
7098
7613
  icon: "search_off"
7099
- }), /*#__PURE__*/React__default["default"].createElement(Text, null, "No Result Found"));
7614
+ }), /*#__PURE__*/React__default["default"].createElement(Text$1, null, "No Result Found"));
7100
7615
  var groups = items.reduce(function (groups, item) {
7101
7616
  var groupName = item[groupBy];
7102
7617
  if (!groupName) groupName = ("NO " + groupBy).toUpperCase();
@@ -7189,7 +7704,7 @@ var TableEditor$3 = function TableEditor(props) {
7189
7704
  }
7190
7705
  return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement(Header, {
7191
7706
  icon: icon,
7192
- title: /*#__PURE__*/React__default["default"].createElement(Text, null, title)
7707
+ title: /*#__PURE__*/React__default["default"].createElement(Text$1, null, title)
7193
7708
  }, /*#__PURE__*/React__default["default"].createElement(DropDown, {
7194
7709
  id: "groupBy",
7195
7710
  label: "Agrupar Por",
@@ -7458,7 +7973,7 @@ var CreateContentDialog = function CreateContentDialog(_ref) {
7458
7973
  disabled: !isValid,
7459
7974
  raised: true
7460
7975
  }));
7461
- var title = /*#__PURE__*/React__default["default"].createElement(Text, {
7976
+ var title = /*#__PURE__*/React__default["default"].createElement(Text$1, {
7462
7977
  use: "headline6"
7463
7978
  }, label);
7464
7979
  var content = new Content(type, form);
@@ -7474,7 +7989,7 @@ var CreateContentDialog = function CreateContentDialog(_ref) {
7474
7989
  className: className,
7475
7990
  outlined: outlined
7476
7991
  }), errors.map(function (error) {
7477
- return /*#__PURE__*/React__default["default"].createElement(Text, {
7992
+ return /*#__PURE__*/React__default["default"].createElement(Text$1, {
7478
7993
  use: "overline",
7479
7994
  tag: "div",
7480
7995
  className: "error"
@@ -7540,7 +8055,7 @@ var EditContentDialog = function EditContentDialog(_ref) {
7540
8055
  disabled: !isValid,
7541
8056
  raised: true
7542
8057
  }));
7543
- var title = /*#__PURE__*/React__default["default"].createElement(Text, {
8058
+ var title = /*#__PURE__*/React__default["default"].createElement(Text$1, {
7544
8059
  use: "headline6"
7545
8060
  }, label);
7546
8061
  var content = new Content(type, form);
@@ -7555,7 +8070,7 @@ var EditContentDialog = function EditContentDialog(_ref) {
7555
8070
  filter: filterForm,
7556
8071
  className: className
7557
8072
  }), errors.map(function (error) {
7558
- return /*#__PURE__*/React__default["default"].createElement(Text, {
8073
+ return /*#__PURE__*/React__default["default"].createElement(Text$1, {
7559
8074
  use: "overline",
7560
8075
  tag: "div",
7561
8076
  className: "error"
@@ -7782,7 +8297,7 @@ var CollectionPage$1 = function CollectionPage(props) {
7782
8297
  var hiddenStyle = pageContext.selected ? "hidden" : "";
7783
8298
  return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement(Header, {
7784
8299
  className: "collection-page " + className,
7785
- title: /*#__PURE__*/React__default["default"].createElement(Text, null, title2)
8300
+ title: /*#__PURE__*/React__default["default"].createElement(Text$1, null, title2)
7786
8301
  }, canAdd ? /*#__PURE__*/React__default["default"].createElement(Button, {
7787
8302
  icon: "add",
7788
8303
  label: "Add",
@@ -8262,7 +8777,7 @@ var CollectionEditor$1 = function CollectionEditor(props) {
8262
8777
  }
8263
8778
  }
8264
8779
  var hasMenu = canDelete;
8265
- var saveLabel = /*#__PURE__*/React__default["default"].createElement(Text, null, "Guardar Cambios");
8780
+ var saveLabel = /*#__PURE__*/React__default["default"].createElement(Text$1, null, "Guardar Cambios");
8266
8781
  return selected && form ? /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement(Header, {
8267
8782
  icon: icon,
8268
8783
  title: renderTitle()
@@ -8705,7 +9220,7 @@ var TablePage = function TablePage(props) {
8705
9220
  }, total), " ", title);
8706
9221
  return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement(Header, {
8707
9222
  className: "table-page " + className,
8708
- title: /*#__PURE__*/React__default["default"].createElement(Text, null, title2)
9223
+ title: /*#__PURE__*/React__default["default"].createElement(Text$1, null, title2)
8709
9224
  }, canAdd ? /*#__PURE__*/React__default["default"].createElement(Button, {
8710
9225
  icon: "add",
8711
9226
  label: "A\xF1adir",
@@ -8862,7 +9377,7 @@ var TableQueries$2 = function TableQueries(props) {
8862
9377
  }
8863
9378
  return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement(Header, {
8864
9379
  className: "table-queries",
8865
- title: /*#__PURE__*/React__default["default"].createElement(Text, null, "Queries")
9380
+ title: /*#__PURE__*/React__default["default"].createElement(Text$1, null, "Queries")
8866
9381
  }), /*#__PURE__*/React__default["default"].createElement("main", {
8867
9382
  className: "table-queries"
8868
9383
  }, queries ? queries.filter(function (query) {
@@ -8960,7 +9475,7 @@ var TableFilters$2 = function TableFilters(props) {
8960
9475
  var content = new Content(filterSchema, form);
8961
9476
  return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement(Header, {
8962
9477
  className: "table-filters",
8963
- title: /*#__PURE__*/React__default["default"].createElement(Text, null, "Filters")
9478
+ title: /*#__PURE__*/React__default["default"].createElement(Text$1, null, "Filters")
8964
9479
  }, /*#__PURE__*/React__default["default"].createElement(Icon, {
8965
9480
  icon: "filter_list_off",
8966
9481
  size: "small",
@@ -9087,7 +9602,7 @@ var TableEditor$2 = function TableEditor(props) {
9087
9602
  className: "empty-message"
9088
9603
  }, /*#__PURE__*/React__default["default"].createElement(Icon, {
9089
9604
  icon: "search_off"
9090
- }), /*#__PURE__*/React__default["default"].createElement(Text, null, "No Result Found"));
9605
+ }), /*#__PURE__*/React__default["default"].createElement(Text$1, null, "No Result Found"));
9091
9606
  var groups = items.reduce(function (groups, item) {
9092
9607
  var groupName = item[groupBy];
9093
9608
  if (!groupName) groupName = ("NO " + groupBy).toUpperCase();
@@ -9184,7 +9699,7 @@ var TableEditor$2 = function TableEditor(props) {
9184
9699
  }
9185
9700
  return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement(Header, {
9186
9701
  icon: icon,
9187
- title: /*#__PURE__*/React__default["default"].createElement(Text, null, title)
9702
+ title: /*#__PURE__*/React__default["default"].createElement(Text$1, null, title)
9188
9703
  }, groupBy ? /*#__PURE__*/React__default["default"].createElement(DropDown, {
9189
9704
  id: "groupBy",
9190
9705
  label: "Agrupar Por",
@@ -9626,7 +10141,7 @@ var TablePage2 = function TablePage2(props) {
9626
10141
  }
9627
10142
  return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement(Header, {
9628
10143
  className: "table-page " + className,
9629
- title: /*#__PURE__*/React__default["default"].createElement(Text, null, title)
10144
+ title: /*#__PURE__*/React__default["default"].createElement(Text$1, null, title)
9630
10145
  }, canAdd ? /*#__PURE__*/React__default["default"].createElement(Button, {
9631
10146
  icon: "add",
9632
10147
  label: "A\xF1adir",
@@ -9778,7 +10293,7 @@ var TableQueries$1 = function TableQueries(props) {
9778
10293
  }
9779
10294
  return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement(Header, {
9780
10295
  className: "table-queries",
9781
- title: /*#__PURE__*/React__default["default"].createElement(Text, null, "Queries")
10296
+ title: /*#__PURE__*/React__default["default"].createElement(Text$1, null, "Queries")
9782
10297
  }), /*#__PURE__*/React__default["default"].createElement("main", {
9783
10298
  className: "table-queries"
9784
10299
  }, queries ? queries.filter(function (query) {
@@ -9863,7 +10378,7 @@ var TableFilters$1 = function TableFilters(props) {
9863
10378
  var content = new Content(filterSchema, form);
9864
10379
  return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement(Header, {
9865
10380
  className: "table-filters",
9866
- title: /*#__PURE__*/React__default["default"].createElement(Text, null, "Filters")
10381
+ title: /*#__PURE__*/React__default["default"].createElement(Text$1, null, "Filters")
9867
10382
  }, /*#__PURE__*/React__default["default"].createElement(Icon, {
9868
10383
  icon: "filter_list_off",
9869
10384
  size: "small",
@@ -10068,7 +10583,7 @@ var TableEditor$1 = function TableEditor(props) {
10068
10583
  className: "empty-message"
10069
10584
  }, /*#__PURE__*/React__default["default"].createElement(Icon, {
10070
10585
  icon: "search_off"
10071
- }), /*#__PURE__*/React__default["default"].createElement(Text, null, "No Result Found"));
10586
+ }), /*#__PURE__*/React__default["default"].createElement(Text$1, null, "No Result Found"));
10072
10587
  var groups = items.reduce(function (groups, item) {
10073
10588
  var groupName = item[groupBy];
10074
10589
  if (!groups[groupName]) groups[groupName] = [];
@@ -10131,10 +10646,10 @@ var TableEditor$1 = function TableEditor(props) {
10131
10646
  });
10132
10647
  return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement(Header, {
10133
10648
  icon: icon,
10134
- title: /*#__PURE__*/React__default["default"].createElement(Text, null, title)
10649
+ title: /*#__PURE__*/React__default["default"].createElement(Text$1, null, title)
10135
10650
  }, groupBy ? /*#__PURE__*/React__default["default"].createElement(DropDown, {
10136
10651
  id: "groupBy",
10137
- label: /*#__PURE__*/React__default["default"].createElement(Text, null, "Group By"),
10652
+ label: /*#__PURE__*/React__default["default"].createElement(Text$1, null, "Group By"),
10138
10653
  value: groupBy,
10139
10654
  options: buildGroupOptions(schema),
10140
10655
  onChange: changeGroup
@@ -10658,7 +11173,7 @@ var TabbedTablePage = function TabbedTablePage(props) {
10658
11173
  }
10659
11174
  return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement(Header, {
10660
11175
  className: "table-page",
10661
- title: /*#__PURE__*/React__default["default"].createElement(Text, null, title)
11176
+ title: /*#__PURE__*/React__default["default"].createElement(Text$1, null, title)
10662
11177
  }, canAdd ? /*#__PURE__*/React__default["default"].createElement(Button, {
10663
11178
  icon: "add",
10664
11179
  label: "A\xF1adir",
@@ -10815,7 +11330,7 @@ var TableQueries = function TableQueries(props) {
10815
11330
  }
10816
11331
  return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement(Header, {
10817
11332
  className: "table-queries",
10818
- title: /*#__PURE__*/React__default["default"].createElement(Text, null, "Queries")
11333
+ title: /*#__PURE__*/React__default["default"].createElement(Text$1, null, "Queries")
10819
11334
  }), /*#__PURE__*/React__default["default"].createElement("main", {
10820
11335
  className: "table-queries"
10821
11336
  }, queries ? queries.filter(function (query) {
@@ -10913,7 +11428,7 @@ var TableFilters = function TableFilters(props) {
10913
11428
  var content = new Content(filterSchema, form);
10914
11429
  return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement(Header, {
10915
11430
  className: "table-filters",
10916
- title: /*#__PURE__*/React__default["default"].createElement(Text, null, "Filters")
11431
+ title: /*#__PURE__*/React__default["default"].createElement(Text$1, null, "Filters")
10917
11432
  }, /*#__PURE__*/React__default["default"].createElement(Icon, {
10918
11433
  icon: "filter_list_off",
10919
11434
  size: "small",
@@ -11041,7 +11556,7 @@ var TableEditor = function TableEditor(props) {
11041
11556
  className: "empty-message"
11042
11557
  }, /*#__PURE__*/React__default["default"].createElement(Icon, {
11043
11558
  icon: "search_off"
11044
- }), /*#__PURE__*/React__default["default"].createElement(Text, null, "No Result Found"));
11559
+ }), /*#__PURE__*/React__default["default"].createElement(Text$1, null, "No Result Found"));
11045
11560
  var groups = items.reduce(function (groups, item) {
11046
11561
  var groupName = item[groupBy];
11047
11562
  var group = groups[groupName];
@@ -11132,7 +11647,7 @@ var TableEditor = function TableEditor(props) {
11132
11647
  }
11133
11648
  return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement(Header, {
11134
11649
  icon: icon,
11135
- title: /*#__PURE__*/React__default["default"].createElement(Text, null, title)
11650
+ title: /*#__PURE__*/React__default["default"].createElement(Text$1, null, title)
11136
11651
  }, /*#__PURE__*/React__default["default"].createElement(DropDown, {
11137
11652
  id: "groupBy",
11138
11653
  label: "Agrupar Por",
@@ -12114,6 +12629,8 @@ exports.ActionButton = ActionButton;
12114
12629
  exports.Avatar = Avatar;
12115
12630
  exports.Button = Button;
12116
12631
  exports.Calendar = Calendar;
12632
+ exports.ChangeUserPasswordAction = ChangeUserPasswordAction;
12633
+ exports.ChangeUserPasswordDialog = ChangeUserPasswordDialog;
12117
12634
  exports.CheckBox = CheckBox;
12118
12635
  exports.Chip = Chip;
12119
12636
  exports.Chips = Chips;
@@ -12149,6 +12666,7 @@ exports.FilesGridView = FilesGridView;
12149
12666
  exports.FilesSearchBox = FilesSearchBox;
12150
12667
  exports.FilesTableView = FilesTableView;
12151
12668
  exports.FoldersTreeView = FoldersTreeView;
12669
+ exports.ForgetUserPasswordAction = ForgetUserPasswordAction;
12152
12670
  exports.Form = Form;
12153
12671
  exports.HTTPClient = HTTPClient;
12154
12672
  exports.Header = Header;
@@ -12159,6 +12677,9 @@ exports.KanbanCard = KanbanCard;
12159
12677
  exports.KanbanColumn = KanbanColumn;
12160
12678
  exports.KanbanHeader = KanbanHeader;
12161
12679
  exports.KanbanSwimlane = KanbanSwimlane;
12680
+ exports.LOGIN_API = LOGIN_API;
12681
+ exports.LOGIN_CONTEXT = LOGIN_CONTEXT;
12682
+ exports.LOGIN_DICTIONARY = LOGIN_DICTIONARY;
12162
12683
  exports.LinearProgress = LinearProgress;
12163
12684
  exports.List = List;
12164
12685
  exports.ListEditor = ListEditor;
@@ -12202,7 +12723,7 @@ exports.TaskContext = TaskContext;
12202
12723
  exports.TaskContextProvider = TaskContextProvider;
12203
12724
  exports.TaskMonitor = TaskMonitor;
12204
12725
  exports.TaskProgress = TaskProgress;
12205
- exports.Text = Text;
12726
+ exports.Text = Text$1;
12206
12727
  exports.TextArea = TextArea;
12207
12728
  exports.TextField = TextField;
12208
12729
  exports.Thumbnail = Thumbnail;
@@ -12213,6 +12734,7 @@ exports.Tree = Tree;
12213
12734
  exports.TreeItem = TreeItem;
12214
12735
  exports.TreeNode = TreeNode;
12215
12736
  exports.TreededContentEditor = TreededContentEditor;
12737
+ exports.UnlockUserAction = UnlockUserAction;
12216
12738
  exports.UploadArea = UploadArea;
12217
12739
  exports.UploadDialog = UploadDialog;
12218
12740
  exports.UploadFile = UploadFile$1;