ywana-core8 0.1.28 → 0.1.29

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