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.umd.js CHANGED
@@ -42,7 +42,7 @@
42
42
  return false;
43
43
  }
44
44
 
45
- function _catch$6(body, recover) {
45
+ function _catch$7(body, recover) {
46
46
  try {
47
47
  var result = body();
48
48
  } catch (e) {
@@ -70,7 +70,7 @@
70
70
  body: body
71
71
  };
72
72
  if (headers) request.headers = request.headers;
73
- return Promise.resolve(_catch$6(function () {
73
+ return Promise.resolve(_catch$7(function () {
74
74
  return Promise.resolve(fetch(URL, request)).then(function (response) {
75
75
  var _exit;
76
76
  function _temp2(_result) {
@@ -205,7 +205,7 @@
205
205
  /**
206
206
  * Text
207
207
  */
208
- var Text = function Text(_ref) {
208
+ var Text$1 = function Text(_ref) {
209
209
  var _ref$format = _ref.format,
210
210
  format = _ref$format === void 0 ? TEXTFORMATS.HTML : _ref$format,
211
211
  children = _ref.children,
@@ -264,7 +264,7 @@
264
264
  }, /*#__PURE__*/React__default["default"].createElement("span", {
265
265
  className: "tooltip-text",
266
266
  style: style
267
- }, /*#__PURE__*/React__default["default"].createElement(Text, null, text)), props.children);
267
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, null, text)), props.children);
268
268
  };
269
269
 
270
270
  /**
@@ -433,7 +433,7 @@
433
433
  size: "small",
434
434
  clickable: true,
435
435
  action: click
436
- }), /*#__PURE__*/React__default["default"].createElement(Text, null, label));
436
+ }), /*#__PURE__*/React__default["default"].createElement(Text$1, null, label));
437
437
  };
438
438
 
439
439
  /**
@@ -493,8 +493,8 @@
493
493
  var value = event.target.checked;
494
494
  if (onChange) onChange(id, value);
495
495
  }
496
- var labelTxt = /*#__PURE__*/React__default["default"].createElement(Text, null, label);
497
- var placeholderTxt = /*#__PURE__*/React__default["default"].createElement(Text, null, placeholder);
496
+ var labelTxt = /*#__PURE__*/React__default["default"].createElement(Text$1, null, label);
497
+ var placeholderTxt = /*#__PURE__*/React__default["default"].createElement(Text$1, null, placeholder);
498
498
  return value === true ? /*#__PURE__*/React__default["default"].createElement("div", {
499
499
  className: "checkbox",
500
500
  key: id + "1"
@@ -551,7 +551,7 @@
551
551
  }, icon ? /*#__PURE__*/React__default["default"].createElement(Icon, {
552
552
  icon: icon,
553
553
  size: "small"
554
- }) : null, /*#__PURE__*/React__default["default"].createElement("main", null, /*#__PURE__*/React__default["default"].createElement(Text, null, label)), action ? /*#__PURE__*/React__default["default"].createElement("span", {
554
+ }) : null, /*#__PURE__*/React__default["default"].createElement("main", null, /*#__PURE__*/React__default["default"].createElement(Text$1, null, label)), action ? /*#__PURE__*/React__default["default"].createElement("span", {
555
555
  className: "meta"
556
556
  }, action) : null)) : /*#__PURE__*/React__default["default"].createElement("div", {
557
557
  className: "chip " + className + " " + style,
@@ -559,7 +559,7 @@
559
559
  }, icon ? /*#__PURE__*/React__default["default"].createElement(Icon, {
560
560
  icon: icon,
561
561
  size: "small"
562
- }) : null, /*#__PURE__*/React__default["default"].createElement("main", null, /*#__PURE__*/React__default["default"].createElement(Text, null, label)), action ? /*#__PURE__*/React__default["default"].createElement("span", {
562
+ }) : null, /*#__PURE__*/React__default["default"].createElement("main", null, /*#__PURE__*/React__default["default"].createElement(Text$1, null, label)), action ? /*#__PURE__*/React__default["default"].createElement("span", {
563
563
  className: "meta"
564
564
  }, action) : null);
565
565
  };
@@ -662,7 +662,7 @@
662
662
  };
663
663
  return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, title ? /*#__PURE__*/React__default["default"].createElement("header", {
664
664
  className: "form-header"
665
- }, /*#__PURE__*/React__default["default"].createElement(Text, {
665
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, {
666
666
  use: "headline6"
667
667
  }, title)) : '', /*#__PURE__*/React__default["default"].createElement("form", {
668
668
  className: "form-grid",
@@ -703,7 +703,7 @@
703
703
  var style = props.img ? {
704
704
  backgroundImage: "url(" + props.img + ")"
705
705
  } : {};
706
- var title = /*#__PURE__*/React__default["default"].createElement(Text, null, props.title);
706
+ var title = /*#__PURE__*/React__default["default"].createElement(Text$1, null, props.title);
707
707
  return /*#__PURE__*/React__default["default"].createElement("header", {
708
708
  className: "header " + caption + " " + prominent + " " + dense + " " + theme + " " + props.className,
709
709
  style: style
@@ -767,7 +767,7 @@
767
767
  return /*#__PURE__*/React__default["default"].createElement("div", {
768
768
  className: "list grouped"
769
769
  }, groups.map(function (group) {
770
- var groupTitle = groupRenderer ? groupRenderer(group) : /*#__PURE__*/React__default["default"].createElement(Text, null, group.name);
770
+ var groupTitle = groupRenderer ? groupRenderer(group) : /*#__PURE__*/React__default["default"].createElement(Text$1, null, group.name);
771
771
  return /*#__PURE__*/React__default["default"].createElement(React.Fragment, {
772
772
  key: group.name
773
773
  }, /*#__PURE__*/React__default["default"].createElement("header", {
@@ -812,9 +812,9 @@
812
812
  tooltip: iconTooltip
813
813
  }) : null, /*#__PURE__*/React__default["default"].createElement("main", null, /*#__PURE__*/React__default["default"].createElement("div", {
814
814
  className: "primary-line"
815
- }, /*#__PURE__*/React__default["default"].createElement(Text, null, line1)), line2 ? /*#__PURE__*/React__default["default"].createElement("div", {
815
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, null, line1)), line2 ? /*#__PURE__*/React__default["default"].createElement("div", {
816
816
  className: "secondary-line"
817
- }, /*#__PURE__*/React__default["default"].createElement(Text, null, line2)) : null), meta ? /*#__PURE__*/React__default["default"].createElement("div", {
817
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, null, line2)) : null), meta ? /*#__PURE__*/React__default["default"].createElement("div", {
818
818
  className: "meta"
819
819
  }, meta) : null);
820
820
  };
@@ -886,7 +886,7 @@
886
886
  }
887
887
  }
888
888
  var style = disabled ? "disabled" : "";
889
- var labelTxt = label ? /*#__PURE__*/React__default["default"].createElement(Text, {
889
+ var labelTxt = label ? /*#__PURE__*/React__default["default"].createElement(Text$1, {
890
890
  format: TEXTFORMATS.STRING
891
891
  }, label) : null;
892
892
  return /*#__PURE__*/React__default["default"].createElement("li", {
@@ -971,7 +971,7 @@
971
971
  className: "property property-" + id + " " + className
972
972
  }, /*#__PURE__*/React__default["default"].createElement("div", {
973
973
  className: "property-name"
974
- }, /*#__PURE__*/React__default["default"].createElement(Text, null, name || label)), /*#__PURE__*/React__default["default"].createElement("div", {
974
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, null, name || label)), /*#__PURE__*/React__default["default"].createElement("div", {
975
975
  className: "property-value"
976
976
  }, editable ? /*#__PURE__*/React__default["default"].createElement("input", {
977
977
  type: "text",
@@ -999,7 +999,7 @@
999
999
  var value = event.target.value;
1000
1000
  if (onChange) onChange(id, value);
1001
1001
  }
1002
- var labelTxt = /*#__PURE__*/React__default["default"].createElement(Text, null, label);
1002
+ var labelTxt = /*#__PURE__*/React__default["default"].createElement(Text$1, null, label);
1003
1003
  return /*#__PURE__*/React__default["default"].createElement("div", {
1004
1004
  className: "radio"
1005
1005
  }, /*#__PURE__*/React__default["default"].createElement("input", {
@@ -1098,7 +1098,7 @@
1098
1098
  if (onSelect) onSelect(id);
1099
1099
  }
1100
1100
  var style = selected ? "selected" : "";
1101
- var labelTxt = label ? /*#__PURE__*/React__default["default"].createElement(Text, {
1101
+ var labelTxt = label ? /*#__PURE__*/React__default["default"].createElement(Text$1, {
1102
1102
  format: TEXTFORMATS.STRING
1103
1103
  }, label) : null;
1104
1104
  return /*#__PURE__*/React__default["default"].createElement("div", {
@@ -1403,7 +1403,7 @@
1403
1403
  var labelStyle = label ? "" : "no-label";
1404
1404
  var labelPositionStyle = labelPosition == 'left' ? "label-left" : "label-top";
1405
1405
  var style = labelStyle + " " + labelPositionStyle + " " + borderStyle + " textfield-" + type;
1406
- var labelTxt = /*#__PURE__*/React__default["default"].createElement(Text, null, label);
1406
+ var labelTxt = /*#__PURE__*/React__default["default"].createElement(Text$1, null, label);
1407
1407
  var placeholderTxt = site.translate ? site.translate(placeholder) : placeholder;
1408
1408
  return /*#__PURE__*/React__default["default"].createElement("div", {
1409
1409
  className: style + " " + id + " " + className,
@@ -1481,7 +1481,7 @@
1481
1481
  }
1482
1482
  var labelStyle = label ? "" : "no-label";
1483
1483
  var style = "textarea " + labelStyle + " textarea-" + type;
1484
- var labelTxt = /*#__PURE__*/React__default["default"].createElement(Text, null, label);
1484
+ var labelTxt = /*#__PURE__*/React__default["default"].createElement(Text$1, null, label);
1485
1485
  var placeholderTxt = site.translate ? site.translate(placeholder) : placeholder;
1486
1486
  return /*#__PURE__*/React__default["default"].createElement("div", {
1487
1487
  className: "" + style,
@@ -1598,7 +1598,7 @@
1598
1598
  }, option.icon ? /*#__PURE__*/React__default["default"].createElement(Icon, {
1599
1599
  icon: option.icon,
1600
1600
  size: "small"
1601
- }) : '', /*#__PURE__*/React__default["default"].createElement(Text, null, option.label));
1601
+ }) : '', /*#__PURE__*/React__default["default"].createElement(Text$1, null, option.label));
1602
1602
  });
1603
1603
  return /*#__PURE__*/React__default["default"].createElement("menu", {
1604
1604
  className: position
@@ -1652,7 +1652,7 @@
1652
1652
  var next = Object.assign({}, form, (_Object$assign = {}, _Object$assign[id] = value, _Object$assign));
1653
1653
  setForm(next);
1654
1654
  }
1655
- var labelTxt = label ? /*#__PURE__*/React__default["default"].createElement(Text, null, label) : null;
1655
+ var labelTxt = label ? /*#__PURE__*/React__default["default"].createElement(Text$1, null, label) : null;
1656
1656
  return /*#__PURE__*/React__default["default"].createElement("div", {
1657
1657
  className: "date-range"
1658
1658
  }, label ? /*#__PURE__*/React__default["default"].createElement("label", null, labelTxt) : null, /*#__PURE__*/React__default["default"].createElement(TextField, {
@@ -1680,7 +1680,7 @@
1680
1680
  function toggle() {
1681
1681
  setShow(!show);
1682
1682
  }
1683
- var labelTxt = label ? /*#__PURE__*/React__default["default"].createElement(Text, null, label) : null;
1683
+ var labelTxt = label ? /*#__PURE__*/React__default["default"].createElement(Text$1, null, label) : null;
1684
1684
  return /*#__PURE__*/React__default["default"].createElement("div", {
1685
1685
  className: "password-field"
1686
1686
  }, /*#__PURE__*/React__default["default"].createElement(TextField, {
@@ -1738,7 +1738,7 @@
1738
1738
  if (onForgot) onForgot(user);
1739
1739
  }
1740
1740
  function tx(txt) {
1741
- return /*#__PURE__*/React__default["default"].createElement(Text, null, txt);
1741
+ return /*#__PURE__*/React__default["default"].createElement(Text$1, null, txt);
1742
1742
  }
1743
1743
  function changeUser(id, value) {
1744
1744
  setUser(value);
@@ -1752,7 +1752,7 @@
1752
1752
  src: logo
1753
1753
  }) : '', /*#__PURE__*/React__default["default"].createElement("div", {
1754
1754
  className: "title"
1755
- }, /*#__PURE__*/React__default["default"].createElement(Text, null, title))), /*#__PURE__*/React__default["default"].createElement("main", null, /*#__PURE__*/React__default["default"].createElement(TextField, {
1755
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, null, title))), /*#__PURE__*/React__default["default"].createElement("main", null, /*#__PURE__*/React__default["default"].createElement(TextField, {
1756
1756
  label: tx(userLabel),
1757
1757
  value: user,
1758
1758
  onChange: changeUser,
@@ -1785,7 +1785,7 @@
1785
1785
  className: "forgot-button"
1786
1786
  }) : null, message ? /*#__PURE__*/React__default["default"].createElement("div", {
1787
1787
  className: "message"
1788
- }, /*#__PURE__*/React__default["default"].createElement(Text, null, message)) : null));
1788
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, null, message)) : null));
1789
1789
  };
1790
1790
 
1791
1791
  function validatePassword(contraseña) {
@@ -1938,20 +1938,19 @@
1938
1938
  onOK(form);
1939
1939
  }
1940
1940
  }
1941
- var userLabel = /*#__PURE__*/React__default["default"].createElement(Text, null, "User");
1942
- var passwordLabel = /*#__PURE__*/React__default["default"].createElement(Text, null, "New Password");
1943
- var password2Label = /*#__PURE__*/React__default["default"].createElement(Text, null, "Confirm New Password");
1944
- var okLabel = /*#__PURE__*/React__default["default"].createElement(Text, null, "OK");
1941
+ var userLabel = /*#__PURE__*/React__default["default"].createElement(Text$1, null, "User");
1942
+ var passwordLabel = /*#__PURE__*/React__default["default"].createElement(Text$1, null, "New Password");
1943
+ var password2Label = /*#__PURE__*/React__default["default"].createElement(Text$1, null, "Confirm New Password");
1944
+ var okLabel = /*#__PURE__*/React__default["default"].createElement(Text$1, null, "OK");
1945
1945
  var userStyle = errors.user ? "error" : "";
1946
1946
  var oldPasswordStyle = errors.oldPassword ? "error" : "";
1947
1947
  var password1Style = errors.password1 ? "error" : "";
1948
1948
  var password2Style = errors.password2 ? "error" : "";
1949
- console.log("ResetPasswordBox", errors);
1950
1949
  return /*#__PURE__*/React__default["default"].createElement("div", {
1951
1950
  className: "reset-password-box"
1952
1951
  }, /*#__PURE__*/React__default["default"].createElement("header", null, title ? /*#__PURE__*/React__default["default"].createElement("div", {
1953
1952
  className: "title"
1954
- }, /*#__PURE__*/React__default["default"].createElement(Text, null, title)) : null), /*#__PURE__*/React__default["default"].createElement("main", {
1953
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, null, title)) : null), /*#__PURE__*/React__default["default"].createElement("main", {
1955
1954
  className: "reset-password-form"
1956
1955
  }, userRequired ? /*#__PURE__*/React__default["default"].createElement(TextField, {
1957
1956
  id: "user",
@@ -1964,19 +1963,19 @@
1964
1963
  onEnter: ok
1965
1964
  }) : null, userRequired ? errors.user ? /*#__PURE__*/React__default["default"].createElement("div", {
1966
1965
  className: "error-message"
1967
- }, /*#__PURE__*/React__default["default"].createElement(Text, null, errors.user)) : null : null, oldPwdRequired ? /*#__PURE__*/React__default["default"].createElement(TextField, {
1966
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, null, errors.user)) : null : null, oldPwdRequired ? /*#__PURE__*/React__default["default"].createElement(TextField, {
1968
1967
  id: "oldPassword",
1969
1968
  className: oldPasswordStyle,
1970
1969
  outlined: true,
1971
1970
  icon: "lock",
1972
1971
  type: "password",
1973
- label: "Old Password",
1972
+ label: "Current Password",
1974
1973
  lapse: 100,
1975
1974
  onChange: changeField,
1976
1975
  onEnter: ok
1977
1976
  }) : null, oldPwdRequired ? errors.oldPassword ? /*#__PURE__*/React__default["default"].createElement("div", {
1978
1977
  className: "error-message"
1979
- }, /*#__PURE__*/React__default["default"].createElement(Text, null, errors.oldPassword)) : null : null, /*#__PURE__*/React__default["default"].createElement(TextField, {
1978
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, null, errors.oldPassword)) : null : null, /*#__PURE__*/React__default["default"].createElement(TextField, {
1980
1979
  id: "password1",
1981
1980
  className: password1Style,
1982
1981
  outlined: true,
@@ -1988,7 +1987,7 @@
1988
1987
  onEnter: ok
1989
1988
  }), errors.password1 ? /*#__PURE__*/React__default["default"].createElement("div", {
1990
1989
  className: "error-message"
1991
- }, /*#__PURE__*/React__default["default"].createElement(Text, null, errors.password1)) : null, children, /*#__PURE__*/React__default["default"].createElement(TextField, {
1990
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, null, errors.password1)) : null, children, /*#__PURE__*/React__default["default"].createElement(TextField, {
1992
1991
  id: "password2",
1993
1992
  className: password2Style,
1994
1993
  outlined: true,
@@ -2000,7 +1999,7 @@
2000
1999
  onEnter: ok
2001
2000
  }), errors.password2 ? /*#__PURE__*/React__default["default"].createElement("div", {
2002
2001
  className: "error-message"
2003
- }, /*#__PURE__*/React__default["default"].createElement(Text, null, errors.password2)) : null), /*#__PURE__*/React__default["default"].createElement("footer", null, /*#__PURE__*/React__default["default"].createElement(Button, {
2002
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, null, errors.password2)) : null), /*#__PURE__*/React__default["default"].createElement("footer", null, /*#__PURE__*/React__default["default"].createElement(Button, {
2004
2003
  label: okLabel,
2005
2004
  raised: true,
2006
2005
  disabled: !isValid,
@@ -2008,1763 +2007,2146 @@
2008
2007
  })));
2009
2008
  };
2010
2009
 
2011
- var SCROLL_SENSITIVITY = 0.0005;
2012
- var MAX_ZOOM = 5;
2013
- var MIN_ZOOM = 0.1;
2014
- var ImageViewer = function ImageViewer(_ref) {
2015
- var image = _ref.image;
2016
- var _useState = React.useState({
2017
- x: 0,
2018
- y: 0
2019
- }),
2020
- offset = _useState[0],
2021
- setOffset = _useState[1];
2022
- var _useState2 = React.useState(1),
2023
- zoom = _useState2[0],
2024
- setZoom = _useState2[1];
2025
- var _useState3 = React.useState(false),
2026
- draggind = _useState3[0],
2027
- setDragging = _useState3[1];
2028
- var touch = React.useRef({
2029
- x: 0,
2030
- y: 0
2031
- });
2032
- var canvasRef = React.useRef(null);
2033
- var containerRef = React.useRef(null);
2034
- var observer = React.useRef(null);
2035
- var background = React.useMemo(function () {
2036
- return new Image();
2037
- }, [image]);
2038
- var clamp = function clamp(num, min, max) {
2039
- return Math.min(Math.max(num, min), max);
2040
- };
2041
- var handleWheel = function handleWheel(event) {
2042
- var deltaY = event.deltaY;
2043
- if (!draggind) {
2044
- setZoom(function (zoom) {
2045
- return clamp(zoom + deltaY * SCROLL_SENSITIVITY * -1, MIN_ZOOM, MAX_ZOOM);
2046
- });
2047
- }
2048
- };
2049
- var handleMouseMove = function handleMouseMove(event) {
2050
- if (draggind) {
2051
- var _touch$current = touch.current,
2052
- x = _touch$current.x,
2053
- y = _touch$current.y;
2054
- var clientX = event.clientX,
2055
- clientY = event.clientY;
2056
- setOffset({
2057
- x: offset.x + (x - clientX),
2058
- y: offset.y + (y - clientY)
2059
- });
2060
- touch.current = {
2061
- x: clientX,
2062
- y: clientY
2063
- };
2064
- }
2065
- };
2066
- var handleMouseDown = function handleMouseDown(event) {
2067
- var clientX = event.clientX,
2068
- clientY = event.clientY;
2069
- touch.current = {
2070
- x: clientX,
2071
- y: clientY
2072
- };
2073
- setDragging(true);
2074
- };
2075
- var handleMouseUp = function handleMouseUp() {
2076
- return setDragging(false);
2077
- };
2078
- var draw = function draw() {
2079
- if (canvasRef.current) {
2080
- var _canvasRef$current = canvasRef.current,
2081
- width = _canvasRef$current.width,
2082
- height = _canvasRef$current.height;
2083
- var context = canvasRef.current.getContext("2d");
2084
-
2085
- // Set canvas dimensions
2086
- canvasRef.current.width = width;
2087
- canvasRef.current.height = height;
2088
-
2089
- // Clear canvas and scale it
2090
- context.translate(-offset.x, -offset.y);
2091
- context.scale(zoom, zoom);
2092
- context.clearRect(0, 0, width, height);
2093
-
2094
- // Make sure we're zooming to the center
2095
- var x = (context.canvas.width / zoom - background.width) / 2;
2096
- var y = (context.canvas.height / zoom - background.height) / 2;
2097
-
2098
- // Draw image
2099
- context.drawImage(background, x, y);
2100
- }
2101
- };
2102
- React.useEffect(function () {
2103
- observer.current = new ResizeObserver(function (entries) {
2104
- entries.forEach(function (_ref2) {
2105
- var target = _ref2.target;
2106
- var width = background.width,
2107
- height = background.height;
2108
- // If width of the container is smaller than image, scale image down
2109
- if (target.clientWidth < width) {
2110
- // Calculate scale
2111
- var scale = target.clientWidth / width;
2112
-
2113
- // Redraw image
2114
- canvasRef.current.width = width * scale;
2115
- canvasRef.current.height = height * scale;
2116
- canvasRef.current.getContext("2d").drawImage(background, 0, 0, width * scale, height * scale);
2117
- }
2118
- });
2119
- });
2120
- observer.current.observe(containerRef.current);
2121
- return function () {
2122
- return observer.current.unobserve(containerRef.current);
2123
- };
2124
- }, []);
2125
- React.useEffect(function () {
2126
- background.src = image;
2127
- if (canvasRef.current) {
2128
- background.onload = function () {
2129
- // Get the image dimensions
2130
- var width = background.width,
2131
- height = background.height;
2132
- canvasRef.current.width = width;
2133
- canvasRef.current.height = height;
2010
+ /**
2011
+ * Page Context
2012
+ */
2013
+ var PageContext = React__default["default"].createContext({});
2134
2014
 
2135
- // Set image as background
2136
- canvasRef.current.getContext("2d").drawImage(background, 0, 0);
2137
- };
2138
- }
2139
- }, [background]);
2140
- React.useEffect(function () {
2141
- draw();
2142
- }, [zoom, offset]);
2143
- return /*#__PURE__*/React__default["default"].createElement("div", {
2144
- className: "image-viewer",
2145
- ref: containerRef
2146
- }, /*#__PURE__*/React__default["default"].createElement("canvas", {
2147
- onMouseDown: handleMouseDown,
2148
- onMouseUp: handleMouseUp,
2149
- onWheel: handleWheel,
2150
- onMouseMove: handleMouseMove,
2151
- ref: canvasRef
2152
- }));
2015
+ /**
2016
+ * Page Provider
2017
+ */
2018
+ var PageProvider = function PageProvider(_ref) {
2019
+ var _ref$context = _ref.context,
2020
+ context = _ref$context === void 0 ? {} : _ref$context,
2021
+ children = _ref.children;
2022
+ var _useState = React.useState(context),
2023
+ pageCtx = _useState[0],
2024
+ setPageCtx = _useState[1];
2025
+ return /*#__PURE__*/React__default["default"].createElement(PageContext.Provider, {
2026
+ value: [pageCtx, setPageCtx]
2027
+ }, children);
2153
2028
  };
2154
2029
 
2155
2030
  /**
2156
- * Viewer
2031
+ * Page
2157
2032
  */
2158
- var Viewer = function Viewer(_ref) {
2159
- var title = _ref.title,
2160
- src = _ref.src,
2161
- info = _ref.info,
2162
- _ref$actions = _ref.actions,
2163
- actions = _ref$actions === void 0 ? [] : _ref$actions,
2164
- _ref$tools = _ref.tools,
2165
- tools = _ref$tools === void 0 ? false : _ref$tools,
2166
- onClose = _ref.onClose;
2167
- var _useState = React.useState(false),
2168
- showDetails = _useState[0],
2169
- setShowDetails = _useState[1];
2170
- function toggleDetails() {
2171
- setShowDetails(!showDetails);
2172
- }
2173
- var headerTitle = /*#__PURE__*/React__default["default"].createElement(Text, {
2174
- use: "headline6"
2175
- }, title);
2176
- return /*#__PURE__*/React__default["default"].createElement("div", {
2177
- className: "viewer"
2178
- }, /*#__PURE__*/React__default["default"].createElement(Header, {
2179
- icon: "view",
2180
- title: headerTitle
2181
- }, onClose ? /*#__PURE__*/React__default["default"].createElement(Icon, {
2182
- icon: "close",
2183
- clickable: true,
2184
- action: onClose
2185
- }) : null, showDetails ? '' : /*#__PURE__*/React__default["default"].createElement(Icon, {
2186
- icon: "info",
2187
- clickable: true,
2188
- action: toggleDetails
2189
- }), actions), /*#__PURE__*/React__default["default"].createElement("main", null, /*#__PURE__*/React__default["default"].createElement("div", {
2190
- className: "resizer"
2191
- }, /*#__PURE__*/React__default["default"].createElement("picture", null, /*#__PURE__*/React__default["default"].createElement(ImageViewer, {
2192
- image: src
2193
- })))), /*#__PURE__*/React__default["default"].createElement("aside", {
2194
- className: "" + (showDetails ? 'open' : '')
2195
- }, /*#__PURE__*/React__default["default"].createElement(Header, {
2196
- title: "Detalles"
2197
- }, /*#__PURE__*/React__default["default"].createElement(Icon, {
2198
- icon: "close",
2199
- clickable: true,
2200
- action: toggleDetails
2201
- })), /*#__PURE__*/React__default["default"].createElement("main", null, info)), tools ? /*#__PURE__*/React__default["default"].createElement("footer", null, /*#__PURE__*/React__default["default"].createElement(Icon, {
2202
- clickable: true,
2203
- icon: "zoom_out"
2204
- }), /*#__PURE__*/React__default["default"].createElement(Icon, {
2205
- clickable: true,
2206
- icon: "zoom_out_map"
2207
- }), /*#__PURE__*/React__default["default"].createElement(Icon, {
2208
- clickable: true,
2209
- icon: "zoom_in"
2210
- })) : null);
2033
+ var Page = function Page(props) {
2034
+ var children = props.children,
2035
+ _props$layout = props.layout,
2036
+ layout = _props$layout === void 0 ? "simple" : _props$layout,
2037
+ _props$context = props.context,
2038
+ context = _props$context === void 0 ? {} : _props$context,
2039
+ className = props.className;
2040
+ return /*#__PURE__*/React__default["default"].createElement(PageProvider, {
2041
+ context: context
2042
+ }, /*#__PURE__*/React__default["default"].createElement("article", {
2043
+ className: "page6 " + layout + " " + className
2044
+ }, children));
2211
2045
  };
2212
2046
 
2213
2047
  /**
2214
- * Kanban
2048
+ * Site Provider
2215
2049
  */
2216
- var Kanban = function Kanban(_ref) {
2217
- var children = _ref.children;
2218
- var hasSwimlanes = React.useMemo(function () {
2219
- var found = React__default["default"].Children.map(children, function (child) {
2220
- if (child.type.name === KanbanSwimlane.name) {
2221
- return child;
2222
- }
2223
- });
2224
- return found.length > 0;
2225
- });
2226
- var style = hasSwimlanes ? "with-swimlanes" : "";
2227
- return /*#__PURE__*/React__default["default"].createElement("div", {
2228
- className: "kanban " + style
2229
- }, children);
2230
- };
2231
- var KanbanHeader = function KanbanHeader(props) {
2232
- var columns = props.columns;
2233
- return /*#__PURE__*/React__default["default"].createElement("div", {
2234
- className: "kanban-header"
2235
- }, columns.map(function (column, index) {
2236
- var icon = column.icon,
2237
- title = column.title,
2238
- subtitle = column.subtitle,
2239
- badge = column.badge;
2240
- return /*#__PURE__*/React__default["default"].createElement("div", {
2241
- className: "kanban-column",
2242
- key: index
2243
- }, /*#__PURE__*/React__default["default"].createElement("header", null, /*#__PURE__*/React__default["default"].createElement(Icon, {
2244
- icon: icon
2245
- }), /*#__PURE__*/React__default["default"].createElement("div", {
2246
- className: "title"
2247
- }, /*#__PURE__*/React__default["default"].createElement(Text, {
2248
- use: "headline6"
2249
- }, title), /*#__PURE__*/React__default["default"].createElement(Text, {
2250
- className: "secondary-text",
2251
- use: "body2"
2252
- }, subtitle)), /*#__PURE__*/React__default["default"].createElement("div", {
2253
- className: "badge"
2254
- }, badge)));
2255
- }));
2050
+ var SiteProvider = function SiteProvider(_ref) {
2051
+ var children = _ref.children,
2052
+ siteLang = _ref.siteLang,
2053
+ siteDictionary = _ref.siteDictionary;
2054
+ var _useState = React.useState(siteLang),
2055
+ lang = _useState[0],
2056
+ setLang = _useState[1];
2057
+ var _useState2 = React.useState(siteDictionary),
2058
+ dictionary = _useState2[0],
2059
+ setDictionary = _useState2[1];
2060
+ var _useState3 = React.useState('max'),
2061
+ sideNav = _useState3[0],
2062
+ setSideNav = _useState3[1];
2063
+ var _useState4 = React.useState(false),
2064
+ showNav = _useState4[0],
2065
+ setShowNav = _useState4[1];
2066
+ var _useState5 = React.useState(null),
2067
+ info = _useState5[0],
2068
+ setInfo = _useState5[1];
2069
+ var _useState6 = React.useState(false),
2070
+ showConsole = _useState6[0],
2071
+ setShowConsole = _useState6[1];
2072
+ var _useState7 = React.useState([]),
2073
+ consoleLines = _useState7[0],
2074
+ setConsoleLines = _useState7[1];
2075
+ var _useState8 = React.useState(),
2076
+ page = _useState8[0],
2077
+ setPage = _useState8[1];
2078
+ var _useState9 = React.useState(),
2079
+ dialog = _useState9[0],
2080
+ setDialog = _useState9[1];
2081
+ var _useState10 = React.useState(),
2082
+ promptDialog = _useState10[0],
2083
+ setPromptDialog = _useState10[1];
2084
+ var _useState11 = React.useState(),
2085
+ preview = _useState11[0],
2086
+ setPreview = _useState11[1];
2087
+ var _useState12 = React.useState(),
2088
+ breadcrumb = _useState12[0],
2089
+ setBreadcrumb = _useState12[1];
2090
+ var value = {
2091
+ lang: lang,
2092
+ setLang: setLang,
2093
+ dictionary: dictionary,
2094
+ setDictionary: setDictionary,
2095
+ translate: function translate(key) {
2096
+ if (!key) return key;
2097
+ if (dictionary === undefined) return key;
2098
+ var term = dictionary[key];
2099
+ return term ? term[lang] : key;
2100
+ },
2101
+ sideNav: sideNav,
2102
+ setSideNav: setSideNav,
2103
+ showNav: showNav,
2104
+ setShowNav: setShowNav,
2105
+ info: info,
2106
+ openInfo: function openInfo(info) {
2107
+ setInfo(info);
2108
+ },
2109
+ closeInfo: function closeInfo() {
2110
+ setInfo(null);
2111
+ },
2112
+ consoleLines: consoleLines,
2113
+ showConsole: showConsole,
2114
+ toggleConsole: function toggleConsole() {
2115
+ setShowConsole(!showConsole);
2116
+ },
2117
+ writeLog: function writeLog(line) {
2118
+ var next = consoleLines.concat(line);
2119
+ setConsoleLines(next);
2120
+ },
2121
+ clearLog: function clearLog() {
2122
+ setConsoleLines([]);
2123
+ },
2124
+ breadcrumb: breadcrumb,
2125
+ setBreadcrumb: setBreadcrumb,
2126
+ page: page,
2127
+ "goto": function goto(id) {
2128
+ setPage(id);
2129
+ },
2130
+ dialog: dialog,
2131
+ openDialog: function openDialog(dialog) {
2132
+ setDialog(dialog);
2133
+ },
2134
+ closeDialog: function closeDialog() {
2135
+ setDialog(null);
2136
+ },
2137
+ preview: preview,
2138
+ openPreview: function openPreview(preview) {
2139
+ setPreview(preview);
2140
+ },
2141
+ closePreview: function closePreview() {
2142
+ setPreview(null);
2143
+ },
2144
+ confirm: function confirm(message) {
2145
+ return window.confirm(message);
2146
+ },
2147
+ prompt: function prompt(message) {
2148
+ return window.prompt(message);
2149
+ },
2150
+ promptDialog: promptDialog,
2151
+ openPromptDialog: function openPromptDialog(dialog) {
2152
+ setPromptDialog(dialog);
2153
+ },
2154
+ closePromptDialog: function closePromptDialog() {
2155
+ setPromptDialog(null);
2156
+ },
2157
+ notify: function notify(_ref2) {
2158
+ var title = _ref2.title,
2159
+ body = _ref2.body,
2160
+ _ref2$type = _ref2.type,
2161
+ type = _ref2$type === void 0 ? "success" : _ref2$type,
2162
+ _ref2$duration = _ref2.duration,
2163
+ duration = _ref2$duration === void 0 ? 3000 : _ref2$duration,
2164
+ onRemoval = _ref2.onRemoval;
2165
+ reactNotificationsComponent.Store.addNotification({
2166
+ title: title,
2167
+ message: body,
2168
+ type: type,
2169
+ insert: "top",
2170
+ container: "top-right",
2171
+ animationIn: ["animate__animated", "animate__fadeIn"],
2172
+ animationOut: ["animate__animated", "animate__fadeOut"],
2173
+ dismiss: {
2174
+ duration: duration,
2175
+ onScreen: true
2176
+ },
2177
+ onRemoval: onRemoval
2178
+ });
2179
+ }
2180
+ };
2181
+ return /*#__PURE__*/React__default["default"].createElement(SiteContext.Provider, {
2182
+ value: value
2183
+ }, children);
2256
2184
  };
2257
- var KanbanSwimlane = function KanbanSwimlane(_ref2) {
2258
- var icon = _ref2.icon,
2259
- title = _ref2.title,
2260
- subtitle = _ref2.subtitle,
2261
- badge = _ref2.badge,
2262
- children = _ref2.children;
2263
- var _useState = React.useState(true),
2264
- unfold = _useState[0],
2265
- setUnfold = _useState[1];
2266
2185
 
2267
- // cahnge all children headless prop to true
2268
- // if there is only one child
2269
- if (children.length === 1) {
2270
- children = React__default["default"].cloneElement(children, {
2271
- headless: true
2272
- });
2273
- } else {
2274
- children = React__default["default"].Children.map(children, function (child) {
2275
- return React__default["default"].cloneElement(child, {
2276
- headless: true
2277
- });
2278
- });
2279
- }
2186
+ /**
2187
+ * Site
2188
+ */
2189
+ var Site = function Site(_ref3) {
2190
+ var icon = _ref3.icon,
2191
+ iconSrc = _ref3.iconSrc,
2192
+ title = _ref3.title,
2193
+ toolbar = _ref3.toolbar,
2194
+ footer = _ref3.footer,
2195
+ children = _ref3.children,
2196
+ init = _ref3.init,
2197
+ min = _ref3.min,
2198
+ lang = _ref3.lang,
2199
+ dictionary = _ref3.dictionary;
2200
+ return /*#__PURE__*/React__default["default"].createElement(SiteProvider, {
2201
+ siteLang: lang,
2202
+ siteDictionary: dictionary
2203
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
2204
+ className: "site6"
2205
+ }, /*#__PURE__*/React__default["default"].createElement(SiteHeader, {
2206
+ icon: icon,
2207
+ iconSrc: iconSrc,
2208
+ title: title
2209
+ }), /*#__PURE__*/React__default["default"].createElement(SiteToolBar, null, toolbar), /*#__PURE__*/React__default["default"].createElement(SiteMenu, {
2210
+ iconSrc: iconSrc,
2211
+ title: title,
2212
+ min: min
2213
+ }, children), /*#__PURE__*/React__default["default"].createElement(SitePage, {
2214
+ init: init
2215
+ }, children, /*#__PURE__*/React__default["default"].createElement(Page, {
2216
+ id: "EMPTY"
2217
+ }, "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)));
2218
+ };
2219
+ var SiteNotifications = function SiteNotifications() {
2220
+ return /*#__PURE__*/React__default["default"].createElement(reactNotificationsComponent.ReactNotifications, null);
2221
+ };
2280
2222
 
2281
- // log al children headless prop
2282
- children.forEach(function (child) {
2283
- console.log(child.props.headless);
2284
- });
2285
- function toggle() {
2286
- setUnfold(!unfold);
2287
- }
2288
- var toggleIcon = unfold ? "unfold_less" : "unfold_more";
2289
- var toggleStyle = unfold ? "unfold" : "fold";
2290
- return /*#__PURE__*/React__default["default"].createElement("div", {
2291
- className: "kanban-swimlane"
2292
- }, /*#__PURE__*/React__default["default"].createElement("header", null, /*#__PURE__*/React__default["default"].createElement(Icon, {
2223
+ /**
2224
+ * Site Header
2225
+ */
2226
+ var SiteHeader = function SiteHeader(props) {
2227
+ var _props$icon = props.icon,
2228
+ icon = _props$icon === void 0 ? "equalizer" : _props$icon,
2229
+ iconSrc = props.iconSrc,
2230
+ title = props.title;
2231
+ return /*#__PURE__*/React__default["default"].createElement(Header, {
2293
2232
  icon: icon,
2294
- size: "small"
2295
- }), /*#__PURE__*/React__default["default"].createElement("div", {
2296
- className: "title"
2297
- }, /*#__PURE__*/React__default["default"].createElement(Text, {
2298
- use: "headline6"
2299
- }, title, ":"), /*#__PURE__*/React__default["default"].createElement(Text, {
2300
- className: "secondary-text",
2301
- use: "body2"
2302
- }, subtitle)), /*#__PURE__*/React__default["default"].createElement("div", {
2303
- className: "badge"
2304
- }, badge), /*#__PURE__*/React__default["default"].createElement(Icon, {
2305
- icon: toggleIcon,
2306
- clickable: true,
2307
- action: toggle
2308
- })), /*#__PURE__*/React__default["default"].createElement("main", {
2309
- className: toggleStyle
2310
- }, children));
2233
+ iconSrc: iconSrc,
2234
+ title: title
2235
+ });
2311
2236
  };
2312
2237
 
2313
2238
  /**
2314
- * Kanban Column
2239
+ * Site ToolBar
2315
2240
  */
2316
- var KanbanColumn = function KanbanColumn(_ref3) {
2317
- var id = _ref3.id,
2318
- actions = _ref3.actions,
2319
- _ref3$headless = _ref3.headless,
2320
- headless = _ref3$headless === void 0 ? false : _ref3$headless,
2321
- icon = _ref3.icon,
2322
- title = _ref3.title,
2323
- subtitle = _ref3.subtitle,
2324
- badge = _ref3.badge,
2325
- children = _ref3.children,
2326
- _ref3$minified = _ref3.minified,
2327
- minified = _ref3$minified === void 0 ? false : _ref3$minified,
2328
- _ref3$disabled = _ref3.disabled,
2329
- disabled = _ref3$disabled === void 0 ? false : _ref3$disabled;
2330
- var _useState2 = React.useState(minified),
2331
- min = _useState2[0],
2332
- setMin = _useState2[1];
2333
- function toggle() {
2334
- setMin(!min);
2335
- }
2336
- return min ? /*#__PURE__*/React__default["default"].createElement("div", {
2337
- className: "kanban-column " + id + " min"
2338
- }, /*#__PURE__*/React__default["default"].createElement("main", null, title), /*#__PURE__*/React__default["default"].createElement("footer", null, /*#__PURE__*/React__default["default"].createElement(Icon, {
2339
- icon: "toggle_off",
2340
- onIcon: "toggle_on",
2341
- clickable: true,
2342
- action: toggle
2343
- }))) : /*#__PURE__*/React__default["default"].createElement("div", {
2344
- className: "kanban-column " + id + " " + (disabled ? 'disabled' : '')
2345
- }, headless ? "" : /*#__PURE__*/React__default["default"].createElement("header", null, /*#__PURE__*/React__default["default"].createElement(Icon, {
2346
- icon: icon
2347
- }), /*#__PURE__*/React__default["default"].createElement("div", {
2348
- className: "title"
2349
- }, /*#__PURE__*/React__default["default"].createElement(Text, {
2350
- use: "headline6"
2351
- }, title), /*#__PURE__*/React__default["default"].createElement(Text, {
2352
- className: "secondary-text",
2353
- use: "body2"
2354
- }, subtitle)), /*#__PURE__*/React__default["default"].createElement("div", {
2355
- className: "badge"
2356
- }, badge)), /*#__PURE__*/React__default["default"].createElement("main", null, children), /*#__PURE__*/React__default["default"].createElement("footer", null, /*#__PURE__*/React__default["default"].createElement(Icon, {
2357
- icon: "toggle_off",
2358
- onIcon: "toggle_on",
2359
- clickable: true,
2360
- action: toggle
2361
- }), actions));
2241
+ var SiteToolBar = function SiteToolBar(_ref4) {
2242
+ var children = _ref4.children;
2243
+ return /*#__PURE__*/React__default["default"].createElement("nav", null, children);
2362
2244
  };
2363
2245
 
2364
2246
  /**
2365
- * Kanban Card
2247
+ * Site Footer
2366
2248
  */
2367
- var KanbanCard = function KanbanCard(_ref4) {
2368
- var className = _ref4.className,
2369
- color = _ref4.color,
2370
- children = _ref4.children;
2371
- return /*#__PURE__*/React__default["default"].createElement("div", {
2372
- className: "kanban-card " + className + " " + color
2373
- }, children);
2249
+ var SiteFooter = function SiteFooter(_ref5) {
2250
+ var children = _ref5.children;
2251
+ return /*#__PURE__*/React__default["default"].createElement("footer", null, children);
2374
2252
  };
2375
2253
 
2376
2254
  /**
2377
- * Avatar
2255
+ * Site Aside
2378
2256
  */
2379
- var Avatar = function Avatar(props) {
2380
- var id = props.id,
2381
- name = props.name,
2382
- className = props.className,
2383
- src = props.src,
2384
- _props$size = props.size,
2385
- size = _props$size === void 0 ? "small" : _props$size,
2386
- _props$clickable = props.clickable,
2387
- clickable = _props$clickable === void 0 ? false : _props$clickable,
2388
- action = props.action;
2389
- function click() {
2390
- if (clickable) {
2391
- action(id);
2392
- }
2257
+ var SiteAside = function SiteAside() {
2258
+ var context = React.useContext(SiteContext);
2259
+ return context.info ? /*#__PURE__*/React__default["default"].createElement("aside", null, context.info) : '';
2260
+ };
2261
+
2262
+ /**
2263
+ * SiteMenu
2264
+ */
2265
+ var SiteMenu = function SiteMenu(_ref6) {
2266
+ var iconSrc = _ref6.iconSrc,
2267
+ title = _ref6.title,
2268
+ children = _ref6.children,
2269
+ min = _ref6.min;
2270
+ var context = React.useContext(SiteContext);
2271
+ var page = context.page,
2272
+ sideNav = context.sideNav,
2273
+ setSideNav = context.setSideNav,
2274
+ showNav = context.showNav;
2275
+ React.useEffect(function () {
2276
+ if (min) context.setSideNav('min');
2277
+ }, []);
2278
+ function toggle() {
2279
+ var next = sideNav === 'max' ? 'min' : 'max';
2280
+ setSideNav(next);
2393
2281
  }
2394
- var clickableStyle = clickable ? 'clickable' : '';
2395
- var style = "avatar " + size + " " + clickableStyle + " " + className;
2396
- return /*#__PURE__*/React__default["default"].createElement("div", {
2397
- className: style,
2398
- onClick: click
2399
- }, src ? /*#__PURE__*/React__default["default"].createElement("img", {
2400
- src: src
2401
- }) : /*#__PURE__*/React__default["default"].createElement("span", null, name));
2282
+ var _goto = function _goto(id) {
2283
+ context.setShowNav(false);
2284
+ context["goto"](id);
2285
+ };
2286
+ var sections = children ? React.Children.toArray(children).reduce(function (sections, page) {
2287
+ var section = page.props ? page.props.section : '...';
2288
+ if (!sections[section]) sections[section] = [];
2289
+ var _page$props = page.props,
2290
+ id = _page$props.id,
2291
+ icon = _page$props.icon,
2292
+ title = _page$props.title;
2293
+ if (title) sections[section].push({
2294
+ id: id,
2295
+ icon: icon,
2296
+ title: title
2297
+ });
2298
+ return sections;
2299
+ }, {}) : {};
2300
+ var style = sideNav === 'max' ? 'max' : 'min';
2301
+ var toggleIcon = sideNav === 'max' ? 'chevron_left' : 'chevron_right';
2302
+ var menutTitle = sideNav === 'max' ? title : '';
2303
+ return /*#__PURE__*/React__default["default"].createElement("menu", {
2304
+ className: style + " " + (showNav ? 'show' : '')
2305
+ }, /*#__PURE__*/React__default["default"].createElement(Header, {
2306
+ title: menutTitle,
2307
+ iconSrc: iconSrc
2308
+ }), /*#__PURE__*/React__default["default"].createElement("main", null, Object.keys(sections).map(function (title) {
2309
+ return /*#__PURE__*/React__default["default"].createElement(React.Fragment, {
2310
+ key: title
2311
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
2312
+ className: "section-title " + style
2313
+ }, sideNav === "max" ? title : ''), sections[title].map(function (_ref7) {
2314
+ var id = _ref7.id,
2315
+ _ref7$icon = _ref7.icon,
2316
+ icon = _ref7$icon === void 0 ? 'info' : _ref7$icon,
2317
+ title = _ref7.title;
2318
+ var styleItem = id === page ? 'selected' : '';
2319
+ var titleTxt = context.translate(title);
2320
+ return /*#__PURE__*/React__default["default"].createElement("div", {
2321
+ className: "site-menu-item " + styleItem,
2322
+ key: id,
2323
+ onClick: function onClick() {
2324
+ return _goto(id);
2325
+ }
2326
+ }, /*#__PURE__*/React__default["default"].createElement(Tooltip, {
2327
+ text: title,
2328
+ top: ".5rem",
2329
+ left: "4.5rem"
2330
+ }, /*#__PURE__*/React__default["default"].createElement(Icon, {
2331
+ key: id,
2332
+ icon: icon,
2333
+ clickable: true,
2334
+ action: function action() {
2335
+ return _goto(id);
2336
+ }
2337
+ })), sideNav === 'max' ? /*#__PURE__*/React__default["default"].createElement("label", null, titleTxt) : null);
2338
+ }), /*#__PURE__*/React__default["default"].createElement("div", {
2339
+ className: "section-divider"
2340
+ }));
2341
+ })), /*#__PURE__*/React__default["default"].createElement("footer", null, /*#__PURE__*/React__default["default"].createElement(Icon, {
2342
+ icon: toggleIcon,
2343
+ clickable: true,
2344
+ action: toggle
2345
+ })));
2402
2346
  };
2403
2347
 
2404
- var WaitScreen = function WaitScreen() {
2405
- return /*#__PURE__*/React__default["default"].createElement("div", {
2406
- className: "wait-screen"
2407
- }, /*#__PURE__*/React__default["default"].createElement(CircularProgress, {
2408
- size: "large"
2348
+ /**
2349
+ * SitePage
2350
+ */
2351
+ var SitePage = function SitePage(_ref8) {
2352
+ var children = _ref8.children,
2353
+ init = _ref8.init;
2354
+ var context = React.useContext(SiteContext);
2355
+ var page = context.page;
2356
+ React.useEffect(function () {
2357
+ if (init) {
2358
+ context["goto"](init);
2359
+ } else {
2360
+ context["goto"]("EMPTY");
2361
+ }
2362
+ }, []);
2363
+ return /*#__PURE__*/React__default["default"].createElement("main", null, React__default["default"].Children.toArray(children).filter(function (child) {
2364
+ return child.props ? child.props.id === page : false;
2409
2365
  }));
2410
2366
  };
2411
2367
 
2412
- moment__default["default"].locale('es');
2413
- var moment = momentRange.extendMoment(moment__default["default"]);
2368
+ /**
2369
+ * Site Dialog
2370
+ */
2371
+ var SiteDialog = function SiteDialog() {
2372
+ var context = React.useContext(SiteContext);
2373
+ return context.dialog ? context.dialog : '';
2374
+ };
2414
2375
 
2415
2376
  /**
2416
- * Calendar
2377
+ * Site Promtp Dialog
2417
2378
  */
2418
- var Calendar = function Calendar(props) {
2419
- var _props$events = props.events,
2420
- events = _props$events === void 0 ? [] : _props$events,
2421
- children = props.children,
2422
- onChange = props.onChange,
2423
- onRange = props.onRange;
2424
- var _useState = React.useState(props.range || "year"),
2425
- range = _useState[0],
2426
- setRange = _useState[1];
2427
- function onChangeRange(range) {
2428
- setRange(range);
2429
- if (onRange) onRange(range);
2430
- }
2431
- return /*#__PURE__*/React__default["default"].createElement("div", {
2432
- className: "calendar"
2433
- }, /*#__PURE__*/React__default["default"].createElement(CalendarRangeControl, {
2434
- range: range,
2435
- onChange: onChangeRange
2436
- }), range === "year" && /*#__PURE__*/React__default["default"].createElement(YearCalendar, {
2437
- events: events,
2438
- onChange: onChange
2439
- }, children), range === "month" && /*#__PURE__*/React__default["default"].createElement(MonthCalendar, {
2440
- events: events,
2441
- onChange: onChange,
2442
- onRange: onChangeRange
2443
- }, children));
2379
+ var SitePromptDialog = function SitePromptDialog() {
2380
+ var context = React.useContext(SiteContext);
2381
+ return context.promptDialog ? context.promptDialog : '';
2444
2382
  };
2445
2383
 
2446
2384
  /**
2447
- * CalendarRangeControl
2385
+ * Site Preview
2448
2386
  */
2449
- var CalendarRangeControl = function CalendarRangeControl(props) {
2450
- var range = props.range,
2451
- onChange = props.onChange;
2452
- return /*#__PURE__*/React__default["default"].createElement("div", {
2453
- className: "calendar-range-control"
2454
- }, /*#__PURE__*/React__default["default"].createElement(Button, {
2455
- label: "Year",
2456
- outlined: range == "year",
2457
- action: function action() {
2458
- return onChange("year");
2459
- }
2460
- }), /*#__PURE__*/React__default["default"].createElement(Button, {
2461
- label: "Month",
2462
- outlined: range == "month",
2463
- action: function action() {
2464
- return onChange("month");
2465
- }
2466
- }));
2387
+ var SitePreview = function SitePreview() {
2388
+ var context = React.useContext(SiteContext);
2389
+ return context.preview ? /*#__PURE__*/React__default["default"].createElement("div", {
2390
+ className: "site-preview"
2391
+ }, context.preview) : '';
2467
2392
  };
2468
2393
 
2469
2394
  /**
2470
- * MonthCalendar
2395
+ * Site Console
2471
2396
  */
2472
- var MonthCalendar = function MonthCalendar(props) {
2473
- var _props$events2 = props.events,
2474
- events = _props$events2 === void 0 ? [] : _props$events2,
2475
- children = props.children,
2476
- onChange = props.onChange;
2477
- var _useState2 = React.useState(),
2478
- position = _useState2[0],
2479
- setPosition = _useState2[1];
2480
- React.useEffect(function () {
2481
- var today = moment();
2482
- setPosition(today);
2483
- }, []);
2484
- React.useEffect(function () {
2485
- if (position && onChange) {
2486
- var _firstDayOfMonth = position.clone().startOf('month');
2487
- var _firstDayOfRange = _firstDayOfMonth.clone().startOf('isoweek');
2488
- var _lastDayOfMonth = position.clone().endOf('month');
2489
- var _lastDayOfRange = _lastDayOfMonth.clone().endOf('isoweek');
2490
- var _range = moment.range(_firstDayOfRange, _lastDayOfRange);
2491
- onChange(position, _range);
2492
- }
2493
- }, [position]);
2494
- function next() {
2495
- var next = position.clone().add(1, 'month');
2496
- setPosition(next);
2497
- }
2498
- function prev() {
2499
- var prev = position.clone().subtract(1, 'month');
2500
- setPosition(prev);
2501
- }
2502
- function today() {
2503
- var today = moment();
2504
- setPosition(today);
2397
+ var SiteConsole = function SiteConsole() {
2398
+ var context = React.useContext(SiteContext);
2399
+ function clear() {
2400
+ context.clearLog();
2505
2401
  }
2506
- if (!position) return "...";
2507
- var monthName = position.format("MMMM");
2508
- var year = position.format("YYYY");
2509
- var firstDayOfMonth = position.clone().startOf('month');
2510
- var firstDayOfRange = firstDayOfMonth.clone().startOf('isoweek');
2511
- var lastDayOfMonth = position.clone().endOf('month');
2512
- var lastDayOfRange = lastDayOfMonth.clone().endOf('isoweek');
2513
- var range = moment.range(firstDayOfRange, lastDayOfRange);
2514
- var days = Array.from(range.by('days'));
2515
- var cells = days.map(function (day) {
2516
- var eventsOfDay = events.filter(function (event) {
2517
- var eventDay = moment(event.date);
2518
- return eventDay.isSame(day, 'day');
2519
- });
2520
- var sameMonthStyle = day.isSame(moment(position), 'month') ? '' : 'other-month';
2521
- return {
2522
- day: day,
2523
- events: eventsOfDay,
2524
- sameMonthStyle: sameMonthStyle
2525
- };
2526
- });
2527
- return /*#__PURE__*/React__default["default"].createElement("div", {
2528
- className: "month-calendar"
2529
- }, /*#__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, {
2530
- icon: "chevron_left",
2531
- action: prev
2532
- }), /*#__PURE__*/React__default["default"].createElement(Button, {
2533
- label: "Today",
2534
- outlined: true,
2535
- action: today
2536
- }), /*#__PURE__*/React__default["default"].createElement(Button, {
2537
- icon: "chevron_right",
2538
- action: next
2539
- })), /*#__PURE__*/React__default["default"].createElement("header", null, /*#__PURE__*/React__default["default"].createElement("div", {
2540
- className: "week-day-cell"
2541
- }, /*#__PURE__*/React__default["default"].createElement(Text, null, "Mon")), /*#__PURE__*/React__default["default"].createElement("div", {
2542
- className: "week-day-cell"
2543
- }, /*#__PURE__*/React__default["default"].createElement(Text, null, "Tue")), /*#__PURE__*/React__default["default"].createElement("div", {
2544
- className: "week-day-cell"
2545
- }, /*#__PURE__*/React__default["default"].createElement(Text, null, "Wed")), /*#__PURE__*/React__default["default"].createElement("div", {
2546
- className: "week-day-cell"
2547
- }, /*#__PURE__*/React__default["default"].createElement(Text, null, "Thu")), /*#__PURE__*/React__default["default"].createElement("div", {
2548
- className: "week-day-cell"
2549
- }, /*#__PURE__*/React__default["default"].createElement(Text, null, "Fri")), /*#__PURE__*/React__default["default"].createElement("div", {
2550
- className: "week-day-cell"
2551
- }, /*#__PURE__*/React__default["default"].createElement(Text, null, "Sat")), /*#__PURE__*/React__default["default"].createElement("div", {
2552
- className: "week-day-cell"
2553
- }, /*#__PURE__*/React__default["default"].createElement(Text, null, "Sun"))), /*#__PURE__*/React__default["default"].createElement("main", null, cells.map(function (cell) {
2554
- return /*#__PURE__*/React__default["default"].createElement(DayCell, {
2555
- key: cell.day,
2556
- cell: cell
2557
- }, children);
2558
- })));
2559
- };
2560
- var DayCell = function DayCell(props) {
2561
- var _props$cell = props.cell,
2562
- cell = _props$cell === void 0 ? [] : _props$cell,
2563
- children = props.children;
2564
- var day = cell.day,
2565
- events = cell.events,
2566
- sameMonthStyle = cell.sameMonthStyle;
2567
- var todayStyle = day.isSame(moment(), 'day') ? 'today' : '';
2568
- return /*#__PURE__*/React__default["default"].createElement("div", {
2569
- className: "day-cell " + todayStyle + " " + sameMonthStyle
2570
- }, /*#__PURE__*/React__default["default"].createElement("header", null, day.format("DD")), /*#__PURE__*/React__default["default"].createElement("main", null, events.map(function (event) {
2571
- return /*#__PURE__*/React__default["default"].createElement(Event, {
2572
- key: event.id,
2573
- event: event
2574
- }, children);
2575
- })));
2576
- };
2577
-
2578
- /**
2579
- * Event
2580
- */
2581
- var Event = function Event(props) {
2582
- var event = props.event,
2583
- children = props.children;
2584
- if (children) {
2585
- var element = React__default["default"].Children.toArray(children)[0];
2586
- return React__default["default"].cloneElement(element, {
2587
- event: event
2588
- });
2589
- } else {
2402
+ return context.showConsole ? /*#__PURE__*/React__default["default"].createElement("div", {
2403
+ className: "site-console"
2404
+ }, /*#__PURE__*/React__default["default"].createElement(Header, null, /*#__PURE__*/React__default["default"].createElement(Tabs, null, /*#__PURE__*/React__default["default"].createElement(Tab, {
2405
+ label: "Console"
2406
+ }))), /*#__PURE__*/React__default["default"].createElement("nav", null, /*#__PURE__*/React__default["default"].createElement(Icon, {
2407
+ icon: "clear_all",
2408
+ size: "small",
2409
+ clickable: true,
2410
+ action: clear
2411
+ })), /*#__PURE__*/React__default["default"].createElement("main", null, context.consoleLines.map(function (line, index) {
2590
2412
  return /*#__PURE__*/React__default["default"].createElement("div", {
2591
- className: "event"
2592
- }, /*#__PURE__*/React__default["default"].createElement("div", {
2593
- className: "event-name"
2594
- }, event.title));
2595
- }
2413
+ key: "log-" + index
2414
+ }, line);
2415
+ }))) : '';
2596
2416
  };
2597
2417
 
2598
2418
  /**
2599
- * YearCalendar
2419
+ * Dialog
2420
+ *
2421
+ * <Dialog title={title} open={true} actions={actions}>
2600
2422
  */
2601
- var YearCalendar = function YearCalendar(props) {
2602
- var _props$events3 = props.events,
2603
- events = _props$events3 === void 0 ? [] : _props$events3,
2423
+ var Dialog = function Dialog(props) {
2424
+ var site = React.useContext(SiteContext);
2425
+ var icon = props.icon,
2426
+ _props$title = props.title,
2427
+ title = _props$title === void 0 ? "Dialog" : _props$title,
2428
+ toolbar = props.toolbar,
2604
2429
  children = props.children,
2605
- onChange = props.onChange;
2606
- var _useState3 = React.useState(),
2607
- position = _useState3[0],
2608
- setPosition = _useState3[1];
2609
- React.useEffect(function () {
2610
- var today = moment();
2611
- setPosition(today);
2612
- }, []);
2613
- React.useEffect(function () {
2614
- if (position && onChange) {
2615
- var _firstDayOfYear = position.clone().startOf('year');
2616
- var firstDayOfRange = _firstDayOfYear.clone().startOf('isoweek');
2617
- var _lastDayOfYear = position.clone().endOf('year');
2618
- var lastDayOfRange = _lastDayOfYear.clone().endOf('isoweek');
2619
- var range = moment.range(firstDayOfRange, lastDayOfRange);
2620
- onChange(position, range);
2430
+ actions = props.actions,
2431
+ className = props.className,
2432
+ onClose = props.onClose,
2433
+ _props$overlayCanClos = props.overlayCanClose,
2434
+ overlayCanClose = _props$overlayCanClos === void 0 ? true : _props$overlayCanClos;
2435
+ function overlayClose() {
2436
+ if (overlayCanClose) {
2437
+ close();
2621
2438
  }
2622
- }, [position]);
2623
- function next() {
2624
- var next = position.clone().add(1, 'year');
2625
- setPosition(next);
2626
- }
2627
- function prev() {
2628
- var prev = position.clone().subtract(1, 'year');
2629
- setPosition(prev);
2630
- }
2631
- function today() {
2632
- var today = moment();
2633
- setPosition(today);
2634
2439
  }
2635
- if (!position) return "...";
2636
- var year = position.format("YYYY");
2637
- var firstDayOfYear = moment(position).startOf('year');
2638
- var lastDayOfYear = moment(position).endOf('year');
2639
- var months = [];
2640
- for (var currentMonth = moment(firstDayOfYear); currentMonth.isBefore(lastDayOfYear); currentMonth.add(1, 'month')) {
2641
- months.push(moment(currentMonth));
2440
+ function close() {
2441
+ if (onClose) onClose();
2442
+ if (className === "prompt") {
2443
+ site.closePromptDialog();
2444
+ } else {
2445
+ site.closeDialog();
2446
+ }
2642
2447
  }
2643
- var cells = months.map(function (month) {
2644
- var firstDayOfMonth = month.clone().startOf('month');
2645
- var firstDayOfRange = firstDayOfMonth.clone().startOf('isoweek');
2646
- var lastDayOfMonth = month.clone().endOf('month');
2647
- var lastDayOfRange = lastDayOfMonth.clone().endOf('isoweek');
2648
- var range = moment.range(firstDayOfRange, lastDayOfRange);
2649
- var days = Array.from(range.by('days'));
2650
- var cells = days.map(function (day) {
2651
- var eventsOfDay = events.filter(function (event) {
2652
- var eventDay = moment(event.date);
2653
- return eventDay.isSame(day, 'day');
2654
- });
2655
- var sameMonthStyle = day.isSame(moment(month), 'month') ? '' : 'other-month';
2656
- return {
2657
- day: day,
2658
- events: eventsOfDay,
2659
- sameMonthStyle: sameMonthStyle
2660
- };
2661
- });
2662
- return {
2663
- month: month,
2664
- cells: cells
2665
- };
2666
- });
2667
- return /*#__PURE__*/React__default["default"].createElement("div", {
2668
- className: "year-calendar"
2669
- }, /*#__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, {
2670
- icon: "chevron_left",
2671
- action: prev
2672
- }), /*#__PURE__*/React__default["default"].createElement(Button, {
2673
- label: "Today",
2674
- outlined: true,
2675
- action: today
2676
- }), /*#__PURE__*/React__default["default"].createElement(Button, {
2677
- icon: "chevron_right",
2678
- action: next
2679
- })), /*#__PURE__*/React__default["default"].createElement("main", null, cells.map(function (cell) {
2680
- return /*#__PURE__*/React__default["default"].createElement(MonthCell, {
2681
- key: cell.month,
2682
- cell: cell
2683
- }, children);
2684
- })));
2448
+ return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement("div", {
2449
+ className: "overlay " + className,
2450
+ onMouseDown: overlayClose
2451
+ }), /*#__PURE__*/React__default["default"].createElement("dialog", {
2452
+ className: "dialog-panel " + className
2453
+ }, /*#__PURE__*/React__default["default"].createElement("header", null, icon ? /*#__PURE__*/React__default["default"].createElement(MenuIcon, {
2454
+ icon: icon
2455
+ }) : 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)));
2685
2456
  };
2686
2457
 
2687
2458
  /**
2688
- * MonthCell
2459
+ * View
2689
2460
  */
2690
- var MonthCell = function MonthCell(props) {
2691
- var _props$cell2 = props.cell,
2692
- cell = _props$cell2 === void 0 ? [] : _props$cell2,
2461
+ var View = function View(props) {
2462
+ var id = props.id,
2463
+ className = props.className,
2464
+ icon = props.icon,
2465
+ title = props.title,
2466
+ toolbar = props.toolbar,
2467
+ menu = props.menu,
2468
+ info = props.info,
2469
+ onClose = props.onClose,
2470
+ _props$canCollapse = props.canCollapse,
2471
+ canCollapse = _props$canCollapse === void 0 ? false : _props$canCollapse,
2693
2472
  children = props.children;
2694
- var month = cell.month,
2695
- cells = cell.cells;
2696
- var monthName = month.format("MMMM");
2697
- return /*#__PURE__*/React__default["default"].createElement("div", {
2698
- className: "month-cell"
2699
- }, /*#__PURE__*/React__default["default"].createElement("nav", null, monthName), /*#__PURE__*/React__default["default"].createElement("header", null, /*#__PURE__*/React__default["default"].createElement("div", {
2700
- className: "week-day-cell"
2701
- }, /*#__PURE__*/React__default["default"].createElement(Text, null, "Mon")), /*#__PURE__*/React__default["default"].createElement("div", {
2702
- className: "week-day-cell"
2703
- }, /*#__PURE__*/React__default["default"].createElement(Text, null, "Tue")), /*#__PURE__*/React__default["default"].createElement("div", {
2704
- className: "week-day-cell"
2705
- }, /*#__PURE__*/React__default["default"].createElement(Text, null, "Wed")), /*#__PURE__*/React__default["default"].createElement("div", {
2706
- className: "week-day-cell"
2707
- }, /*#__PURE__*/React__default["default"].createElement(Text, null, "Thu")), /*#__PURE__*/React__default["default"].createElement("div", {
2708
- className: "week-day-cell"
2709
- }, /*#__PURE__*/React__default["default"].createElement(Text, null, "Fri")), /*#__PURE__*/React__default["default"].createElement("div", {
2710
- className: "week-day-cell"
2711
- }, /*#__PURE__*/React__default["default"].createElement(Text, null, "Sat")), /*#__PURE__*/React__default["default"].createElement("div", {
2712
- className: "week-day-cell"
2713
- }, /*#__PURE__*/React__default["default"].createElement(Text, null, "Sun"))), /*#__PURE__*/React__default["default"].createElement("main", null, cells.map(function (cell) {
2714
- return /*#__PURE__*/React__default["default"].createElement(DayCell, {
2715
- key: cell.day,
2716
- cell: cell
2717
- }, children);
2718
- })));
2473
+ var _useState = React.useState(true),
2474
+ open = _useState[0],
2475
+ setOpen = _useState[1];
2476
+ function toggle() {
2477
+ setOpen(!open);
2478
+ }
2479
+ function close() {
2480
+ if (onClose) onClose();
2481
+ }
2482
+ return /*#__PURE__*/React__default["default"].createElement("section", {
2483
+ id: id,
2484
+ className: "view " + className
2485
+ }, /*#__PURE__*/React__default["default"].createElement("header", null, canCollapse ? /*#__PURE__*/React__default["default"].createElement(Icon, {
2486
+ icon: "expand_more",
2487
+ size: "small",
2488
+ clickable: true,
2489
+ action: toggle
2490
+ }) : null, icon ? /*#__PURE__*/React__default["default"].createElement(Icon, {
2491
+ icon: icon,
2492
+ size: "small"
2493
+ }) : null, title ? /*#__PURE__*/React__default["default"].createElement("label", null, title) : null, menu ? /*#__PURE__*/React__default["default"].createElement(MenuIcon, {
2494
+ align: "alignRight"
2495
+ }, menu) : null, onClose ? /*#__PURE__*/React__default["default"].createElement(Icon, {
2496
+ icon: "close",
2497
+ size: "small",
2498
+ clickable: true,
2499
+ action: close
2500
+ }) : 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);
2501
+ };
2502
+ var TabbedView = function TabbedView(props) {
2503
+ var title = props.title,
2504
+ className = props.className,
2505
+ selected = props.selected;
2506
+ var _useState2 = React.useState(0),
2507
+ tab = _useState2[0],
2508
+ setTab = _useState2[1];
2509
+ var children = React__default["default"].Children.toArray(props.children);
2510
+ var tabs = children.map(function (child) {
2511
+ return /*#__PURE__*/React__default["default"].createElement(Tab, {
2512
+ key: child.props.label,
2513
+ label: child.props.label
2514
+ });
2515
+ });
2516
+ React.useEffect(function () {
2517
+ if (selected && selected !== tab) setTab(selected);
2518
+ }, [selected]);
2519
+ var toolbar = /*#__PURE__*/React__default["default"].createElement(Tabs, {
2520
+ selected: tab,
2521
+ onChange: function onChange(tab) {
2522
+ return setTab(tab);
2523
+ }
2524
+ }, tabs);
2525
+ return /*#__PURE__*/React__default["default"].createElement(View, {
2526
+ title: title,
2527
+ toolbar: toolbar,
2528
+ className: className
2529
+ }, /*#__PURE__*/React__default["default"].createElement(Stack, {
2530
+ selected: tab
2531
+ }, children));
2719
2532
  };
2720
2533
 
2721
- var ranges = momentRange.extendMoment(moment__default["default"]);
2722
- var DATE_RANGE = [{
2723
- label: "Week",
2724
- value: "week"
2725
- }, {
2726
- label: "Month",
2727
- value: "month"
2728
- }, {
2729
- label: "Year",
2730
- value: "year"
2731
- }];
2534
+ /**
2535
+ * Admin Change User Password Dialog
2536
+ */
2537
+ var ChangeUserPasswordDialog = function ChangeUserPasswordDialog(props) {
2538
+ var site = React.useContext(SiteContext);
2539
+ var error = props.error;
2540
+ var config = {
2541
+ userRequired: props.userRequired || false,
2542
+ oldPwdRequired: props.oldPwdRequired || false,
2543
+ onOK: function onOK(form) {
2544
+ props.onOK ? props.onOK(form) : site.closeDialog();
2545
+ },
2546
+ onClose: function onClose() {
2547
+ site.closeDialog();
2548
+ }
2549
+ };
2550
+ var Toolbar = function Toolbar() {
2551
+ return /*#__PURE__*/React__default["default"].createElement("div", {
2552
+ className: "dialog-toolbar"
2553
+ }, /*#__PURE__*/React__default["default"].createElement(Icon, {
2554
+ icon: "close",
2555
+ size: "small",
2556
+ clickable: true,
2557
+ action: site.closeDialog
2558
+ }));
2559
+ };
2560
+ var title = /*#__PURE__*/React__default["default"].createElement("div", {
2561
+ className: "dialog-title"
2562
+ }, /*#__PURE__*/React__default["default"].createElement(Text, null, "Change Password"), ">");
2563
+ return /*#__PURE__*/React__default["default"].createElement(Dialog, {
2564
+ title: title,
2565
+ className: "change-password-dialog",
2566
+ toolbar: /*#__PURE__*/React__default["default"].createElement(Toolbar, null)
2567
+ }, error && /*#__PURE__*/React__default["default"].createElement("div", {
2568
+ className: "dialog-error-message"
2569
+ }, /*#__PURE__*/React__default["default"].createElement(Icon, {
2570
+ icon: "warning"
2571
+ }), error), /*#__PURE__*/React__default["default"].createElement(ResetPasswordBox, config, /*#__PURE__*/React__default["default"].createElement("br", null), /*#__PURE__*/React__default["default"].createElement("div", {
2572
+ className: "title"
2573
+ }, /*#__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")))));
2574
+ };
2732
2575
 
2733
2576
  /**
2734
- * Planner
2577
+ * Forget User Password Action
2735
2578
  */
2736
- var Planner = function Planner(_ref) {
2737
- var title = _ref.title,
2738
- _ref$events = _ref.events,
2739
- events = _ref$events === void 0 ? [] : _ref$events,
2740
- _ref$lanes = _ref.lanes,
2741
- lanes = _ref$lanes === void 0 ? [] : _ref$lanes,
2742
- _ref$navigation = _ref.navigation,
2743
- navigation = _ref$navigation === void 0 ? true : _ref$navigation,
2744
- onSelectCell = _ref.onSelectCell,
2745
- focusEvent = _ref.focusEvent,
2746
- _ref$config = _ref.config,
2747
- config = _ref$config === void 0 ? {
2748
- range: "year",
2749
- from: "2022-01-01",
2750
- to: "2022-12-30"
2751
- } : _ref$config,
2752
- onChange = _ref.onChange;
2753
- var _useState = React.useState(config.range),
2754
- dateRange = _useState[0],
2755
- setDateRange = _useState[1];
2756
- var _useState2 = React.useState(config.from),
2757
- from = _useState2[0],
2758
- setFrom = _useState2[1];
2759
- var _useState3 = React.useState(config.to),
2760
- to = _useState3[0],
2761
- setTo = _useState3[1];
2762
- var thisMondayElement = React.useRef(null);
2763
- var gotoMonday = React.useCallback(function (node) {
2764
- var element = node;
2765
- if (element) element.scrollIntoView({
2766
- behavior: 'smooth',
2767
- block: 'start',
2768
- inline: 'start'
2769
- });
2770
- }, []);
2771
- React.useEffect(function () {
2772
- var element = document.getElementById(focusEvent);
2773
- if (element) element.scrollIntoView({
2774
- behavior: 'smooth',
2775
- block: 'center',
2776
- inline: 'center'
2777
- });
2778
- }, [focusEvent]);
2779
- React.useEffect(function () {
2780
- var today = moment__default["default"]();
2781
- var from_date = today.startOf(dateRange).format("YYYY-MM-DD");
2782
- var to_date = today.endOf(dateRange).format("YYYY-MM-DD");
2783
- setFrom(from_date);
2784
- setTo(to_date);
2785
- }, [dateRange]);
2786
- function next() {
2787
- var actual = moment__default["default"](from);
2788
- var next = actual.add(1, dateRange);
2789
- var from_date = next.startOf(dateRange).format("YYYY-MM-DD");
2790
- var to_date = next.endOf(dateRange).format("YYYY-MM-DD");
2791
- setFrom(from_date);
2792
- setTo(to_date);
2793
- }
2794
- function prev() {
2795
- var actual = moment__default["default"](from);
2796
- var next = actual.subtract(1, dateRange);
2797
- var from_date = next.startOf(dateRange).format("YYYY-MM-DD");
2798
- var to_date = next.endOf(dateRange).format("YYYY-MM-DD");
2799
- setFrom(from_date);
2800
- setTo(to_date);
2801
- }
2802
- function selectCell(lane, date) {
2803
- if (onSelectCell) onSelectCell(lane, date);
2579
+
2580
+ function _catch$6(body, recover) {
2581
+ try {
2582
+ var result = body();
2583
+ } catch (e) {
2584
+ return recover(e);
2804
2585
  }
2805
- function showThisWeek() {
2806
- var element = thisMondayElement.current;
2807
- //const element = document.querySelector(".thisMonday")
2808
- console.log("Show this week", element);
2809
- if (element) element.scrollIntoView({
2810
- behavior: 'smooth',
2811
- block: 'start',
2812
- inline: 'start'
2813
- });
2586
+ if (result && result.then) {
2587
+ return result.then(void 0, recover);
2814
2588
  }
2815
- var period = React.useMemo(function () {
2816
- var start = ranges(from, "YYYY-MM-DD");
2817
- var end = ranges(to, "YYYY-MM-DD");
2818
- var range = ranges.range(start, end);
2819
- var period = Array.from(range.by("day")).map(function (m) {
2820
- return {
2821
- year: m.year(),
2822
- month: m.month(),
2823
- day: m.date(),
2824
- moment: m
2825
- };
2826
- });
2827
- return period;
2828
- }, [from, to]);
2829
- var label = /*#__PURE__*/React__default["default"].createElement(Text, {
2830
- use: "headline6"
2831
- }, title);
2832
- return /*#__PURE__*/React__default["default"].createElement("div", {
2833
- className: "planner-box"
2834
- }, navigation ? /*#__PURE__*/React__default["default"].createElement(Header, {
2835
- title: label
2836
- }, "\xA0\xA0", /*#__PURE__*/React__default["default"].createElement(Button, {
2837
- label: "Esta Semana",
2838
- outlined: true,
2839
- action: showThisWeek
2840
- }), /*#__PURE__*/React__default["default"].createElement(Icon, {
2841
- icon: "chevron_right",
2842
- clickable: true,
2843
- action: next
2844
- }), /*#__PURE__*/React__default["default"].createElement(TextField, {
2845
- id: "to",
2846
- type: "date",
2847
- label: "Hasta",
2848
- value: to,
2849
- onChange: function onChange(id, value) {
2850
- return setTo(value);
2589
+ return result;
2590
+ } /**
2591
+ * Unlock User Action
2592
+ */
2593
+ var ForgetUserPasswordAction = function ForgetUserPasswordAction(props) {
2594
+ var execute = function execute() {
2595
+ try {
2596
+ var _temp = _catch$6(function () {
2597
+ return Promise.resolve(onOK(user.email)).then(function () {
2598
+ if (onSuccess) onSuccess();
2599
+ site.notify({
2600
+ title: /*#__PURE__*/React__default["default"].createElement(Text$1, null, "Forgot Password"),
2601
+ body: /*#__PURE__*/React__default["default"].createElement(Text$1, null, "Check your email to reset your password"),
2602
+ icon: "mail_lock"
2603
+ });
2604
+ });
2605
+ }, function (error) {
2606
+ site.notify({
2607
+ title: "Error",
2608
+ body: error.message,
2609
+ type: "danger",
2610
+ icon: "error"
2611
+ });
2612
+ });
2613
+ return Promise.resolve(_temp && _temp.then ? _temp.then(function () {}) : void 0);
2614
+ } catch (e) {
2615
+ return Promise.reject(e);
2851
2616
  }
2852
- }), /*#__PURE__*/React__default["default"].createElement("div", {
2853
- className: "expand"
2854
- }), /*#__PURE__*/React__default["default"].createElement(DropDown, {
2855
- id: "ranges",
2856
- label: "Rango",
2857
- options: DATE_RANGE,
2858
- value: dateRange,
2859
- onChange: function onChange(id, value) {
2860
- return setDateRange(value);
2617
+ };
2618
+ var site = React.useContext(SiteContext);
2619
+ var user = props.user,
2620
+ _props$icon = props.icon,
2621
+ icon = _props$icon === void 0 ? true : _props$icon,
2622
+ onOK = props.onOK,
2623
+ onSuccess = props.onSuccess;
2624
+ var label = /*#__PURE__*/React__default["default"].createElement(Text$1, null, "Forgot Password");
2625
+ return icon ? /*#__PURE__*/React__default["default"].createElement(Icon, {
2626
+ icon: "mail_lock",
2627
+ clickable: true,
2628
+ action: execute,
2629
+ size: "small",
2630
+ tooltip: {
2631
+ text: label,
2632
+ top: "-.5rem",
2633
+ left: "-14rem"
2861
2634
  }
2862
- }), /*#__PURE__*/React__default["default"].createElement("div", {
2863
- className: "expand"
2864
- }), /*#__PURE__*/React__default["default"].createElement(TextField, {
2865
- id: "from",
2866
- type: "date",
2867
- label: "Desde",
2868
- value: from,
2869
- onChange: function onChange(id, value) {
2870
- return setFrom(value);
2635
+ }) : /*#__PURE__*/React__default["default"].createElement(Button, {
2636
+ label: label,
2637
+ action: execute,
2638
+ outlined: true,
2639
+ className: ""
2640
+ });
2641
+ };
2642
+ var UnlockUserAction = function UnlockUserAction(props) {
2643
+ var execute = function execute() {
2644
+ try {
2645
+ var _temp2 = _catch$6(function () {
2646
+ return Promise.resolve(onOK(user)).then(function () {
2647
+ if (onSuccess) onSuccess();
2648
+ site.notify({
2649
+ title: /*#__PURE__*/React__default["default"].createElement(Text$1, null, "User Unlocked"),
2650
+ body: /*#__PURE__*/React__default["default"].createElement(Text$1, null, "The user has been unlocked successfully"),
2651
+ icon: "key"
2652
+ });
2653
+ });
2654
+ }, function (error) {
2655
+ site.notify({
2656
+ title: "Error",
2657
+ body: error.message,
2658
+ type: "danger",
2659
+ icon: "error"
2660
+ });
2661
+ });
2662
+ return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
2663
+ } catch (e) {
2664
+ return Promise.reject(e);
2871
2665
  }
2872
- }), /*#__PURE__*/React__default["default"].createElement(Icon, {
2873
- icon: "chevron_left",
2666
+ };
2667
+ var site = React.useContext(SiteContext);
2668
+ var user = props.user,
2669
+ _props$icon2 = props.icon,
2670
+ icon = _props$icon2 === void 0 ? true : _props$icon2,
2671
+ onOK = props.onOK,
2672
+ onSuccess = props.onSuccess;
2673
+ var label = /*#__PURE__*/React__default["default"].createElement(Text$1, null, "Unlock User");
2674
+ return icon ? /*#__PURE__*/React__default["default"].createElement(Icon, {
2675
+ icon: "key_off",
2874
2676
  clickable: true,
2875
- action: prev
2876
- })) : null, /*#__PURE__*/React__default["default"].createElement("main", {
2877
- className: "planner"
2878
- }, /*#__PURE__*/React__default["default"].createElement("div", {
2879
- className: "column0"
2880
- }, /*#__PURE__*/React__default["default"].createElement("div", {
2881
- className: "column-header"
2882
- }), lanes.map(function (lane) {
2883
- return /*#__PURE__*/React__default["default"].createElement("div", {
2884
- className: "row-header"
2885
- }, lane.label);
2886
- })), /*#__PURE__*/React__default["default"].createElement("div", {
2887
- className: "rows"
2888
- }, /*#__PURE__*/React__default["default"].createElement("div", {
2889
- className: "row row0"
2890
- }, period.map(function (date, index) {
2891
- var first = index === 0 || date.day === 1 ? "first" : "";
2892
- return /*#__PURE__*/React__default["default"].createElement("div", {
2893
- className: "column-header"
2894
- }, /*#__PURE__*/React__default["default"].createElement("div", {
2895
- className: "month-header " + first
2896
- }, /*#__PURE__*/React__default["default"].createElement(Text, {
2897
- use: "overline"
2898
- }, date.moment.format("MMM"))));
2899
- })), /*#__PURE__*/React__default["default"].createElement("div", {
2900
- className: "row row1"
2901
- }, period.map(function (date) {
2902
- var isWekend = [0, 6].includes(date.moment.day());
2903
- var weekend = isWekend ? "weekend" : "";
2904
- var thisWeek = moment__default["default"]().startOf('week').isSame(date.moment, "week") ? "thisWeek" : "";
2905
- var today = moment__default["default"]();
2906
- var weekStart = today.clone().startOf('week');
2907
- var isThisMonday = date.moment.isSame(weekStart);
2908
- return /*#__PURE__*/React__default["default"].createElement("div", {
2909
- key: "column-" + date.moment.dayOfYear(),
2910
- id: isThisMonday ? "thisMonday" : "",
2911
- className: "column-header",
2912
- ref: isThisMonday ? thisMondayElement : null
2913
- }, /*#__PURE__*/React__default["default"].createElement("div", {
2914
- className: "date-header " + weekend + " " + thisWeek,
2915
- ref: isThisMonday ? gotoMonday : null
2916
- }, /*#__PURE__*/React__default["default"].createElement(Text, {
2917
- use: "headline6"
2918
- }, date.moment.format("DD")), "\xA0", /*#__PURE__*/React__default["default"].createElement(Text, {
2919
- use: "caption"
2920
- }, date.moment.format("ddd"))));
2921
- })), lanes.map(function (lane) {
2922
- return /*#__PURE__*/React__default["default"].createElement(PlannerRow, {
2923
- key: lane.id,
2924
- lane: lane,
2925
- events: events,
2926
- period: period,
2927
- onSelectCell: selectCell,
2928
- onChange: onChange
2929
- });
2930
- }))));
2677
+ action: execute,
2678
+ size: "small"
2679
+ }) : /*#__PURE__*/React__default["default"].createElement(Button, {
2680
+ label: label,
2681
+ action: execute,
2682
+ outlined: true,
2683
+ className: ""
2684
+ });
2685
+ };
2686
+
2687
+ /**
2688
+ * Change User Password Action
2689
+ */
2690
+ var ChangeUserPasswordAction = function ChangeUserPasswordAction(props) {
2691
+ var site = React.useContext(SiteContext);
2692
+ var user = props.user,
2693
+ _props$icon3 = props.icon,
2694
+ icon = _props$icon3 === void 0 ? false : _props$icon3,
2695
+ _props$oldPwdRequired = props.oldPwdRequired,
2696
+ oldPwdRequired = _props$oldPwdRequired === void 0 ? true : _props$oldPwdRequired;
2697
+ var errorMessages = React.useMemo(function () {
2698
+ return {
2699
+ "ERROR OLD PASSWORD": {
2700
+ title: "Error",
2701
+ description: /*#__PURE__*/React__default["default"].createElement(Text$1, null, "Incorrect old password")
2702
+ },
2703
+ "PASSWORD ALREADY USED": {
2704
+ title: "Error",
2705
+ description: /*#__PURE__*/React__default["default"].createElement(Text$1, null, "The new password provided has already been used")
2706
+ }
2707
+ };
2708
+ }, []);
2709
+ function execute() {
2710
+ var onOK = function onOK(form) {
2711
+ try {
2712
+ var _temp3 = _catch$6(function () {
2713
+ return Promise.resolve(props.onOK(user, form.oldPassword, form.password1)).then(function () {
2714
+ site.notify({
2715
+ title: /*#__PURE__*/React__default["default"].createElement(Text$1, null, "Change Password"),
2716
+ body: /*#__PURE__*/React__default["default"].createElement(Text$1, null, "The password has been changed successfully"),
2717
+ icon: "key"
2718
+ });
2719
+ site.closeDialog();
2720
+ });
2721
+ }, function (error) {
2722
+ var _errorMessages$key;
2723
+ var key = error.message.toUpperCase();
2724
+ var message = ((_errorMessages$key = errorMessages[key]) == null ? void 0 : _errorMessages$key.description) || error.message;
2725
+ site.notify({
2726
+ title: "Error",
2727
+ body: message,
2728
+ type: "danger",
2729
+ icon: "error"
2730
+ });
2731
+ site.openDialog(/*#__PURE__*/React__default["default"].createElement(ChangeUserPasswordDialog, {
2732
+ oldPwdRequired: oldPwdRequired,
2733
+ onOK: onOK,
2734
+ error: message
2735
+ }));
2736
+ });
2737
+ return Promise.resolve(_temp3 && _temp3.then ? _temp3.then(function () {}) : void 0);
2738
+ } catch (e) {
2739
+ return Promise.reject(e);
2740
+ }
2741
+ };
2742
+ site.openDialog(/*#__PURE__*/React__default["default"].createElement(ChangeUserPasswordDialog, {
2743
+ oldPwdRequired: oldPwdRequired,
2744
+ onOK: onOK
2745
+ }));
2746
+ }
2747
+ var label = /*#__PURE__*/React__default["default"].createElement(Text$1, null, "Change Password");
2748
+ return icon ? /*#__PURE__*/React__default["default"].createElement(Icon, {
2749
+ icon: "key",
2750
+ clickable: true,
2751
+ action: execute,
2752
+ size: "small"
2753
+ }) : /*#__PURE__*/React__default["default"].createElement(Button, {
2754
+ label: label,
2755
+ action: execute,
2756
+ outlined: true,
2757
+ className: ""
2758
+ });
2931
2759
  };
2932
2760
 
2933
- /**
2934
- * Planner Row
2935
- */
2936
- var PlannerRow = function PlannerRow(props) {
2937
- var lane = props.lane,
2938
- _props$events = props.events,
2939
- events = _props$events === void 0 ? [] : _props$events,
2940
- period = props.period,
2941
- onSelectCell = props.onSelectCell,
2942
- onChange = props.onChange;
2943
- var rowEvents = events.filter(function (event) {
2944
- return event.lane === lane.id;
2945
- });
2946
- function change(data) {
2947
- if (onChange) onChange(data);
2948
- }
2949
- return /*#__PURE__*/React__default["default"].createElement("div", {
2950
- className: "row"
2951
- }, period.map(function (date) {
2952
- var slotDate = new Date(date.year, date.month, date.day);
2953
- slotDate.setHours(0, 0, 0);
2954
- var cellEvents = rowEvents.filter(function (event) {
2955
- var eventDate = new Date(event.date);
2956
- eventDate.setHours(0, 0, 0);
2957
- return eventDate.getTime() === slotDate.getTime();
2958
- });
2959
- return /*#__PURE__*/React__default["default"].createElement(PlannerCell, {
2960
- key: lane.id + "-" + slotDate.toString(),
2961
- lane: lane,
2962
- date: date,
2963
- events: cellEvents,
2964
- onSelect: onSelectCell,
2965
- onDrop: change
2966
- });
2967
- }));
2968
- };
2761
+ var _LOGIN_DICTIONARY;
2762
+ var LOGIN_DICTIONARY = (_LOGIN_DICTIONARY = {
2763
+ 'Forgot Password': {
2764
+ en: 'Forgot Password',
2765
+ es: 'Olvidé mi contraseña',
2766
+ de: 'Passwort vergessen',
2767
+ pt: 'Esqueceu a senha',
2768
+ ca: 'He oblidat la contrasenya',
2769
+ it: 'Password dimenticata',
2770
+ fr: 'Mot de passe oublié'
2771
+ },
2772
+ 'Check your email to reset your password': {
2773
+ en: 'Check your email to reset your password',
2774
+ es: 'Revise su correo electrónico para restablecer su contraseña',
2775
+ de: 'Überprüfen Sie Ihre E-Mails, um Ihr Passwort zurückzusetzen',
2776
+ pt: 'Verifique seu e-mail para redefinir sua senha',
2777
+ ca: 'Comproveu el correu electrònic per restablir la contrasenya',
2778
+ it: 'Controlla la tua email per reimpostare la password',
2779
+ fr: 'Vérifiez votre email pour réinitialiser votre mot de passe'
2780
+ },
2781
+ 'Unlock User': {
2782
+ en: 'Unlock User',
2783
+ es: 'Desbloquear usuario',
2784
+ de: 'Benutzer entsperren',
2785
+ pt: 'Desbloquear usuário',
2786
+ ca: 'Desbloquejar usuari',
2787
+ it: 'Sblocca utente',
2788
+ fr: 'Débloquer l\'utilisateur'
2789
+ },
2790
+ 'The user has been unlocked successfully': {
2791
+ en: 'The user has been unlocked successfully',
2792
+ es: 'El usuario ha sido desbloqueado con éxito',
2793
+ de: 'Der Benutzer wurde erfolgreich entsperrt',
2794
+ pt: 'O usuário foi desbloqueado com sucesso',
2795
+ ca: 'L\'usuari s\'ha desbloquejat correctament',
2796
+ it: 'L\'utente è stato sbloccato con successo',
2797
+ fr: 'L\'utilisateur a été débloqué avec succès'
2798
+ },
2799
+ 'User Unlocked': {
2800
+ en: 'User Unlocked',
2801
+ es: 'Usuario desbloqueado',
2802
+ de: 'Benutzer entsperrt',
2803
+ pt: 'Usuário desbloqueado',
2804
+ ca: 'Usuari desbloquejat',
2805
+ it: 'Utente sbloccato',
2806
+ fr: 'Utilisateur débloqué'
2807
+ },
2808
+ 'The password has been changed successfully': {
2809
+ en: 'The password has been changed successfully',
2810
+ es: 'La contraseña se ha cambiado con éxito',
2811
+ de: 'Das Passwort wurde erfolgreich geändert',
2812
+ pt: 'A senha foi alterada com sucesso',
2813
+ ca: 'La contrasenya s\'ha canviat correctament',
2814
+ it: 'La password è stata cambiata con successo',
2815
+ fr: 'Le mot de passe a été changé avec succès'
2816
+ },
2817
+ 'Password Changed': {
2818
+ en: 'Password Changed',
2819
+ es: 'Contraseña cambiada',
2820
+ de: 'Passwort geändert',
2821
+ pt: 'Senha alterada',
2822
+ ca: 'Contrasenya canviada',
2823
+ it: 'Password cambiata',
2824
+ fr: 'Mot de passe changé'
2825
+ },
2826
+ 'The new password must contain:': {
2827
+ en: 'The new password must contain:',
2828
+ es: 'La nueva contraseña debe contener:',
2829
+ de: 'Das neue Passwort muss enthalten:',
2830
+ pt: 'A nova senha deve conter:',
2831
+ ca: 'La nova contrasenya ha de contenir:',
2832
+ it: 'La nuova password deve contenere:',
2833
+ fr: 'Le nouveau mot de passe doit contenir:'
2834
+ },
2835
+ 'At least 15 characters': {
2836
+ en: 'At least 15 characters',
2837
+ es: 'Al menos 15 caracteres',
2838
+ de: 'Mindestens 15 Zeichen',
2839
+ pt: 'Pelo menos 15 caracteres',
2840
+ ca: 'Almenys 15 caràcters',
2841
+ it: 'Almeno 15 caratteri',
2842
+ fr: 'Au moins 15 caractères'
2843
+ },
2844
+ 'At least one uppercase letter': {
2845
+ en: 'At least one uppercase letter',
2846
+ es: 'Al menos una letra mayúscula',
2847
+ de: 'Mindestens ein Großbuchstabe',
2848
+ pt: 'Pelo menos uma letra maiúscula',
2849
+ ca: 'Almenys una lletra majúscula',
2850
+ it: 'Almeno una lettera maiuscola',
2851
+ fr: 'Au moins une lettre majuscule'
2852
+ },
2853
+ 'At least one lowercase letter': {
2854
+ en: 'At least one lowercase letter',
2855
+ es: 'Al menos una letra minúscula',
2856
+ de: 'Mindestens ein Kleinbuchstabe',
2857
+ pt: 'Pelo menos uma letra minúscula',
2858
+ ca: 'Almenys una lletra minúscula',
2859
+ it: 'Almeno una lettera minuscola',
2860
+ fr: 'Au moins une lettre minuscule'
2861
+ },
2862
+ 'At least one number': {
2863
+ en: 'At least one number',
2864
+ es: 'Al menos un número',
2865
+ de: 'Mindestens eine Zahl',
2866
+ pt: 'Pelo menos um número',
2867
+ ca: 'Almenys un número',
2868
+ it: 'Almeno un numero',
2869
+ fr: 'Au moins un numéro'
2870
+ },
2871
+ 'At least one special character': {
2872
+ en: 'At least one special character',
2873
+ es: 'Al menos un carácter especial',
2874
+ de: 'Mindestens ein Sonderzeichen',
2875
+ pt: 'Pelo menos um caractere especial',
2876
+ ca: 'Almenys un caràcter especial',
2877
+ it: 'Almeno un carattere speciale',
2878
+ fr: 'Au moins un caractère spécial'
2879
+ },
2880
+ 'Passwords do not match.': {
2881
+ en: 'Passwords do not match.',
2882
+ es: 'Las contraseñas no coinciden.',
2883
+ de: 'Passwörter stimmen nicht überein.',
2884
+ pt: 'As senhas não coincidem.',
2885
+ ca: 'Les contrasenyes no coincideixen.',
2886
+ it: 'Le password non corrispondono.',
2887
+ fr: 'Les mots de passe ne correspondent pas.'
2888
+ },
2889
+ 'Password is required': {
2890
+ en: 'Password is required',
2891
+ es: 'Se requiere contraseña',
2892
+ de: 'Passwort ist erforderlich',
2893
+ pt: 'Senha é necessária',
2894
+ ca: 'Es requereix contrasenya',
2895
+ it: 'La password è obbligatoria',
2896
+ fr: 'Le mot de passe est requis'
2897
+ },
2898
+ 'Old password is required.': {
2899
+ en: 'Old password is required.',
2900
+ es: 'Se requiere contraseña antigua.',
2901
+ de: 'Altes Passwort ist erforderlich.',
2902
+ pt: 'Senha antiga é necessária.',
2903
+ ca: 'Es requereix contrasenya antiga.',
2904
+ it: 'La vecchia password è obbligatoria.',
2905
+ fr: 'Ancien mot de passe requis.'
2906
+ }
2907
+ }, _LOGIN_DICTIONARY["Passwords do not match."] = {
2908
+ en: 'Passwords do not match.',
2909
+ es: 'Las contraseñas no coinciden.',
2910
+ de: 'Passwörter stimmen nicht überein.',
2911
+ pt: 'As senhas não coincidem.',
2912
+ ca: 'Les contrasenyes no coincideixen.',
2913
+ it: 'Le password non corrispondono.',
2914
+ fr: 'Les mots de passe ne correspondent pas.'
2915
+ }, _LOGIN_DICTIONARY);
2916
+
2917
+ var SCROLL_SENSITIVITY = 0.0005;
2918
+ var MAX_ZOOM = 5;
2919
+ var MIN_ZOOM = 0.1;
2920
+ var ImageViewer = function ImageViewer(_ref) {
2921
+ var image = _ref.image;
2922
+ var _useState = React.useState({
2923
+ x: 0,
2924
+ y: 0
2925
+ }),
2926
+ offset = _useState[0],
2927
+ setOffset = _useState[1];
2928
+ var _useState2 = React.useState(1),
2929
+ zoom = _useState2[0],
2930
+ setZoom = _useState2[1];
2931
+ var _useState3 = React.useState(false),
2932
+ draggind = _useState3[0],
2933
+ setDragging = _useState3[1];
2934
+ var touch = React.useRef({
2935
+ x: 0,
2936
+ y: 0
2937
+ });
2938
+ var canvasRef = React.useRef(null);
2939
+ var containerRef = React.useRef(null);
2940
+ var observer = React.useRef(null);
2941
+ var background = React.useMemo(function () {
2942
+ return new Image();
2943
+ }, [image]);
2944
+ var clamp = function clamp(num, min, max) {
2945
+ return Math.min(Math.max(num, min), max);
2946
+ };
2947
+ var handleWheel = function handleWheel(event) {
2948
+ var deltaY = event.deltaY;
2949
+ if (!draggind) {
2950
+ setZoom(function (zoom) {
2951
+ return clamp(zoom + deltaY * SCROLL_SENSITIVITY * -1, MIN_ZOOM, MAX_ZOOM);
2952
+ });
2953
+ }
2954
+ };
2955
+ var handleMouseMove = function handleMouseMove(event) {
2956
+ if (draggind) {
2957
+ var _touch$current = touch.current,
2958
+ x = _touch$current.x,
2959
+ y = _touch$current.y;
2960
+ var clientX = event.clientX,
2961
+ clientY = event.clientY;
2962
+ setOffset({
2963
+ x: offset.x + (x - clientX),
2964
+ y: offset.y + (y - clientY)
2965
+ });
2966
+ touch.current = {
2967
+ x: clientX,
2968
+ y: clientY
2969
+ };
2970
+ }
2971
+ };
2972
+ var handleMouseDown = function handleMouseDown(event) {
2973
+ var clientX = event.clientX,
2974
+ clientY = event.clientY;
2975
+ touch.current = {
2976
+ x: clientX,
2977
+ y: clientY
2978
+ };
2979
+ setDragging(true);
2980
+ };
2981
+ var handleMouseUp = function handleMouseUp() {
2982
+ return setDragging(false);
2983
+ };
2984
+ var draw = function draw() {
2985
+ if (canvasRef.current) {
2986
+ var _canvasRef$current = canvasRef.current,
2987
+ width = _canvasRef$current.width,
2988
+ height = _canvasRef$current.height;
2989
+ var context = canvasRef.current.getContext("2d");
2990
+
2991
+ // Set canvas dimensions
2992
+ canvasRef.current.width = width;
2993
+ canvasRef.current.height = height;
2969
2994
 
2970
- /**
2971
- * Planner Cell
2972
- */
2973
- var PlannerCell = function PlannerCell(_ref2) {
2974
- var lane = _ref2.lane,
2975
- events = _ref2.events,
2976
- date = _ref2.date,
2977
- onSelect = _ref2.onSelect,
2978
- onDrop = _ref2.onDrop;
2979
- var _useState4 = React.useState(false),
2980
- dragOver = _useState4[0],
2981
- setDragOver = _useState4[1];
2982
- function select() {
2983
- if (onSelect) onSelect(lane, date.moment.format("YYYY-MM-DD"));
2984
- }
2985
- function onDragOver(event) {
2986
- if (!dragOver) setDragOver(true);
2987
- event.stopPropagation();
2988
- event.preventDefault();
2989
- }
2990
- function onDragLeave(event) {
2991
- setDragOver(false);
2992
- event.stopPropagation();
2993
- event.preventDefault();
2994
- }
2995
- function drop(event) {
2996
- event.stopPropagation();
2997
- event.preventDefault();
2998
- var id = event.dataTransfer.getData("text");
2999
- if (onDrop) onDrop({
3000
- id: id,
3001
- lane: lane.id,
3002
- date: date.moment.format("YYYY-MM-DD")
2995
+ // Clear canvas and scale it
2996
+ context.translate(-offset.x, -offset.y);
2997
+ context.scale(zoom, zoom);
2998
+ context.clearRect(0, 0, width, height);
2999
+
3000
+ // Make sure we're zooming to the center
3001
+ var x = (context.canvas.width / zoom - background.width) / 2;
3002
+ var y = (context.canvas.height / zoom - background.height) / 2;
3003
+
3004
+ // Draw image
3005
+ context.drawImage(background, x, y);
3006
+ }
3007
+ };
3008
+ React.useEffect(function () {
3009
+ observer.current = new ResizeObserver(function (entries) {
3010
+ entries.forEach(function (_ref2) {
3011
+ var target = _ref2.target;
3012
+ var width = background.width,
3013
+ height = background.height;
3014
+ // If width of the container is smaller than image, scale image down
3015
+ if (target.clientWidth < width) {
3016
+ // Calculate scale
3017
+ var scale = target.clientWidth / width;
3018
+
3019
+ // Redraw image
3020
+ canvasRef.current.width = width * scale;
3021
+ canvasRef.current.height = height * scale;
3022
+ canvasRef.current.getContext("2d").drawImage(background, 0, 0, width * scale, height * scale);
3023
+ }
3024
+ });
3003
3025
  });
3004
- setDragOver(false);
3005
- }
3006
- var isWekend = [0, 6].includes(date.moment.day());
3007
- var weekend = isWekend ? "weekend" : "";
3008
- var today = moment__default["default"]();
3009
- var weekStart = today.clone().startOf('week');
3010
- var thisMonday = date.moment.isSame(weekStart) ? "thisMonday" : "";
3011
- var dragOverStyle = dragOver ? "drag-over" : "";
3026
+ observer.current.observe(containerRef.current);
3027
+ return function () {
3028
+ return observer.current.unobserve(containerRef.current);
3029
+ };
3030
+ }, []);
3031
+ React.useEffect(function () {
3032
+ background.src = image;
3033
+ if (canvasRef.current) {
3034
+ background.onload = function () {
3035
+ // Get the image dimensions
3036
+ var width = background.width,
3037
+ height = background.height;
3038
+ canvasRef.current.width = width;
3039
+ canvasRef.current.height = height;
3040
+
3041
+ // Set image as background
3042
+ canvasRef.current.getContext("2d").drawImage(background, 0, 0);
3043
+ };
3044
+ }
3045
+ }, [background]);
3046
+ React.useEffect(function () {
3047
+ draw();
3048
+ }, [zoom, offset]);
3012
3049
  return /*#__PURE__*/React__default["default"].createElement("div", {
3013
- className: "cell " + thisMonday + " " + weekend + " " + dragOverStyle,
3014
- onDragOver: onDragOver,
3015
- onDragLeave: onDragLeave,
3016
- onDrop: drop,
3017
- onClick: select
3018
- }, events.map(function (event) {
3019
- var _event$Renderer = event.Renderer,
3020
- Renderer = _event$Renderer === void 0 ? EventCard : _event$Renderer;
3021
- return /*#__PURE__*/React__default["default"].createElement(Renderer, {
3022
- key: event.id,
3023
- event: event
3024
- });
3050
+ className: "image-viewer",
3051
+ ref: containerRef
3052
+ }, /*#__PURE__*/React__default["default"].createElement("canvas", {
3053
+ onMouseDown: handleMouseDown,
3054
+ onMouseUp: handleMouseUp,
3055
+ onWheel: handleWheel,
3056
+ onMouseMove: handleMouseMove,
3057
+ ref: canvasRef
3025
3058
  }));
3026
3059
  };
3027
- var EventCard = function EventCard(props) {
3028
- var event = props.event;
3029
- var title = event.title,
3030
- color = event.color;
3031
- var style = {
3032
- backgroundColor: color,
3033
- color: "white"
3034
- };
3035
- return /*#__PURE__*/React__default["default"].createElement("div", {
3036
- draggable: "true",
3037
- className: "event-card",
3038
- style: style
3039
- }, title);
3040
- };
3041
3060
 
3042
3061
  /**
3043
- * Upload Area
3062
+ * Viewer
3044
3063
  */
3045
- var UploadArea = function UploadArea(props) {
3046
- var _props$label = props.label,
3047
- label = _props$label === void 0 ? 'Add file or drop file here...' : _props$label;
3048
- var areaElement = React.useRef();
3064
+ var Viewer = function Viewer(_ref) {
3065
+ var title = _ref.title,
3066
+ src = _ref.src,
3067
+ info = _ref.info,
3068
+ _ref$actions = _ref.actions,
3069
+ actions = _ref$actions === void 0 ? [] : _ref$actions,
3070
+ _ref$tools = _ref.tools,
3071
+ tools = _ref$tools === void 0 ? false : _ref$tools,
3072
+ onClose = _ref.onClose;
3049
3073
  var _useState = React.useState(false),
3050
- drag = _useState[0],
3051
- setDrag = _useState[1];
3052
- var resumable = props.resumable;
3053
- React.useEffect(function () {
3054
- if (resumable && areaElement) {
3055
- resumable.assignDrop(areaElement.current);
3056
- }
3057
- }, []);
3058
- var onDragOver = function onDragOver() {
3059
- setDrag(true);
3060
- };
3061
- var onDragLeave = function onDragLeave() {
3062
- setDrag(false);
3063
- };
3064
- var dragging = drag === true ? 'drag-over' : '';
3074
+ showDetails = _useState[0],
3075
+ setShowDetails = _useState[1];
3076
+ function toggleDetails() {
3077
+ setShowDetails(!showDetails);
3078
+ }
3079
+ var headerTitle = /*#__PURE__*/React__default["default"].createElement(Text$1, {
3080
+ use: "headline6"
3081
+ }, title);
3065
3082
  return /*#__PURE__*/React__default["default"].createElement("div", {
3066
- className: "upload-area6 " + dragging,
3067
- onDragOver: onDragOver,
3068
- onDragLeave: onDragLeave,
3069
- ref: areaElement
3070
- }, /*#__PURE__*/React__default["default"].createElement(UploadIcon, {
3071
- resumable: resumable
3072
- }), /*#__PURE__*/React__default["default"].createElement("label", null, label));
3083
+ className: "viewer"
3084
+ }, /*#__PURE__*/React__default["default"].createElement(Header, {
3085
+ icon: "view",
3086
+ title: headerTitle
3087
+ }, onClose ? /*#__PURE__*/React__default["default"].createElement(Icon, {
3088
+ icon: "close",
3089
+ clickable: true,
3090
+ action: onClose
3091
+ }) : null, showDetails ? '' : /*#__PURE__*/React__default["default"].createElement(Icon, {
3092
+ icon: "info",
3093
+ clickable: true,
3094
+ action: toggleDetails
3095
+ }), actions), /*#__PURE__*/React__default["default"].createElement("main", null, /*#__PURE__*/React__default["default"].createElement("div", {
3096
+ className: "resizer"
3097
+ }, /*#__PURE__*/React__default["default"].createElement("picture", null, /*#__PURE__*/React__default["default"].createElement(ImageViewer, {
3098
+ image: src
3099
+ })))), /*#__PURE__*/React__default["default"].createElement("aside", {
3100
+ className: "" + (showDetails ? 'open' : '')
3101
+ }, /*#__PURE__*/React__default["default"].createElement(Header, {
3102
+ title: "Detalles"
3103
+ }, /*#__PURE__*/React__default["default"].createElement(Icon, {
3104
+ icon: "close",
3105
+ clickable: true,
3106
+ action: toggleDetails
3107
+ })), /*#__PURE__*/React__default["default"].createElement("main", null, info)), tools ? /*#__PURE__*/React__default["default"].createElement("footer", null, /*#__PURE__*/React__default["default"].createElement(Icon, {
3108
+ clickable: true,
3109
+ icon: "zoom_out"
3110
+ }), /*#__PURE__*/React__default["default"].createElement(Icon, {
3111
+ clickable: true,
3112
+ icon: "zoom_out_map"
3113
+ }), /*#__PURE__*/React__default["default"].createElement(Icon, {
3114
+ clickable: true,
3115
+ icon: "zoom_in"
3116
+ })) : null);
3073
3117
  };
3074
3118
 
3075
3119
  /**
3076
- * Upload Icon
3120
+ * Kanban
3077
3121
  */
3078
- var UploadIcon = function UploadIcon(_ref) {
3079
- var _ref$icon = _ref.icon,
3080
- icon = _ref$icon === void 0 ? "folder_open" : _ref$icon,
3081
- resumable = _ref.resumable;
3082
- var iconElement = React.useRef();
3083
- React.useEffect(function () {
3084
- if (resumable && iconElement.current) {
3085
- resumable.assignBrowse(iconElement.current);
3086
- }
3087
- }, [iconElement]);
3122
+ var Kanban = function Kanban(_ref) {
3123
+ var children = _ref.children;
3124
+ var hasSwimlanes = React.useMemo(function () {
3125
+ var found = React__default["default"].Children.map(children, function (child) {
3126
+ if (child.type.name === KanbanSwimlane.name) {
3127
+ return child;
3128
+ }
3129
+ });
3130
+ return found.length > 0;
3131
+ });
3132
+ var style = hasSwimlanes ? "with-swimlanes" : "";
3088
3133
  return /*#__PURE__*/React__default["default"].createElement("div", {
3089
- className: "upload-icon",
3090
- ref: iconElement
3091
- }, /*#__PURE__*/React__default["default"].createElement(Icon, {
3092
- icon: icon,
3093
- clickable: true
3094
- }));
3095
- };
3096
-
3097
- var UPLOAD_STATES = {
3098
- IDLE: 0,
3099
- RUNNING: 1,
3100
- SUCCESS: 2,
3101
- ERROR: 3,
3102
- COMPLETED: 4
3134
+ className: "kanban " + style
3135
+ }, children);
3103
3136
  };
3104
-
3105
- /**
3106
- * Upload File
3107
- */
3108
- var UploadFile$1 = function UploadFile(_ref) {
3109
- var file = _ref.file;
3110
- var icon = file.icon,
3111
- name = file.name,
3112
- state = file.state,
3113
- progress = file.progress,
3114
- error = file.error;
3115
- return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement("div", {
3116
- className: "upload-file"
3117
- }, icon ? /*#__PURE__*/React__default["default"].createElement(Icon, {
3118
- icon: icon
3119
- }) : 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, {
3120
- progress: progress
3121
- }), /*#__PURE__*/React__default["default"].createElement(Icon, {
3122
- icon: "close",
3123
- clickable: true
3124
- })) : '', state === UPLOAD_STATES.SUCCESS ? /*#__PURE__*/React__default["default"].createElement("main", null, /*#__PURE__*/React__default["default"].createElement(Icon, {
3125
- icon: "done"
3126
- })) : '', state === UPLOAD_STATES.ERROR ? /*#__PURE__*/React__default["default"].createElement("main", null, /*#__PURE__*/React__default["default"].createElement("div", {
3127
- className: "error"
3128
- }, error), /*#__PURE__*/React__default["default"].createElement(Icon, {
3129
- icon: "error"
3130
- })) : ''));
3137
+ var KanbanHeader = function KanbanHeader(props) {
3138
+ var columns = props.columns;
3139
+ return /*#__PURE__*/React__default["default"].createElement("div", {
3140
+ className: "kanban-header"
3141
+ }, columns.map(function (column, index) {
3142
+ var icon = column.icon,
3143
+ title = column.title,
3144
+ subtitle = column.subtitle,
3145
+ badge = column.badge;
3146
+ return /*#__PURE__*/React__default["default"].createElement("div", {
3147
+ className: "kanban-column",
3148
+ key: index
3149
+ }, /*#__PURE__*/React__default["default"].createElement("header", null, /*#__PURE__*/React__default["default"].createElement(Icon, {
3150
+ icon: icon
3151
+ }), /*#__PURE__*/React__default["default"].createElement("div", {
3152
+ className: "title"
3153
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, {
3154
+ use: "headline6"
3155
+ }, title), /*#__PURE__*/React__default["default"].createElement(Text$1, {
3156
+ className: "secondary-text",
3157
+ use: "body2"
3158
+ }, subtitle)), /*#__PURE__*/React__default["default"].createElement("div", {
3159
+ className: "badge"
3160
+ }, badge)));
3161
+ }));
3131
3162
  };
3163
+ var KanbanSwimlane = function KanbanSwimlane(_ref2) {
3164
+ var icon = _ref2.icon,
3165
+ title = _ref2.title,
3166
+ subtitle = _ref2.subtitle,
3167
+ badge = _ref2.badge,
3168
+ children = _ref2.children;
3169
+ var _useState = React.useState(true),
3170
+ unfold = _useState[0],
3171
+ setUnfold = _useState[1];
3132
3172
 
3133
- var UploadProgress = function UploadProgress(_ref) {
3134
- var _ref$files = _ref.files,
3135
- files = _ref$files === void 0 ? [] : _ref$files;
3136
- return /*#__PURE__*/React__default["default"].createElement("div", null, files.map(function (file) {
3137
- var f = {
3138
- icon: "description",
3139
- name: file.fileName,
3140
- progress: file.progress() * 100,
3141
- state: file.uploadState,
3142
- error: file.uploadError
3143
- };
3144
- return /*#__PURE__*/React__default["default"].createElement(UploadFile$1, {
3145
- key: f.name,
3146
- file: f
3173
+ // cahnge all children headless prop to true
3174
+ // if there is only one child
3175
+ if (children.length === 1) {
3176
+ children = React__default["default"].cloneElement(children, {
3177
+ headless: true
3147
3178
  });
3148
- }));
3179
+ } else {
3180
+ children = React__default["default"].Children.map(children, function (child) {
3181
+ return React__default["default"].cloneElement(child, {
3182
+ headless: true
3183
+ });
3184
+ });
3185
+ }
3186
+
3187
+ // log al children headless prop
3188
+ children.forEach(function (child) {
3189
+ console.log(child.props.headless);
3190
+ });
3191
+ function toggle() {
3192
+ setUnfold(!unfold);
3193
+ }
3194
+ var toggleIcon = unfold ? "unfold_less" : "unfold_more";
3195
+ var toggleStyle = unfold ? "unfold" : "fold";
3196
+ return /*#__PURE__*/React__default["default"].createElement("div", {
3197
+ className: "kanban-swimlane"
3198
+ }, /*#__PURE__*/React__default["default"].createElement("header", null, /*#__PURE__*/React__default["default"].createElement(Icon, {
3199
+ icon: icon,
3200
+ size: "small"
3201
+ }), /*#__PURE__*/React__default["default"].createElement("div", {
3202
+ className: "title"
3203
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, {
3204
+ use: "headline6"
3205
+ }, title, ":"), /*#__PURE__*/React__default["default"].createElement(Text$1, {
3206
+ className: "secondary-text",
3207
+ use: "body2"
3208
+ }, subtitle)), /*#__PURE__*/React__default["default"].createElement("div", {
3209
+ className: "badge"
3210
+ }, badge), /*#__PURE__*/React__default["default"].createElement(Icon, {
3211
+ icon: toggleIcon,
3212
+ clickable: true,
3213
+ action: toggle
3214
+ })), /*#__PURE__*/React__default["default"].createElement("main", {
3215
+ className: toggleStyle
3216
+ }, children));
3149
3217
  };
3150
3218
 
3151
3219
  /**
3152
- * Uploader
3220
+ * Kanban Column
3153
3221
  */
3154
- var Uploader = function Uploader(_ref) {
3155
- var icon = _ref.icon,
3156
- label = _ref.label,
3157
- _ref$view = _ref.view,
3158
- view = _ref$view === void 0 ? "area" : _ref$view,
3159
- target = _ref.target,
3160
- accept = _ref.accept,
3161
- _ref$simultaneousUplo = _ref.simultaneousUploads,
3162
- simultaneousUploads = _ref$simultaneousUplo === void 0 ? 1 : _ref$simultaneousUplo,
3163
- className = _ref.className,
3164
- onProgress = _ref.onProgress,
3165
- onSuccess = _ref.onSuccess,
3166
- onError = _ref.onError,
3167
- onComplete = _ref.onComplete;
3168
- var resumable = React.useMemo(function () {
3169
- var config = {
3170
- target: target,
3171
- chunkSize: 1 * 1024 * 1024,
3172
- simultaneousUploads: simultaneousUploads,
3173
- testChunks: false,
3174
- throttleProgressCallbacks: 1,
3175
- fileType: accept
3176
- };
3177
- var resumable = new ResumableJS__default["default"](config);
3178
- resumable.on('fileAdded', onFileAdded);
3179
- resumable.on('fileProgress', onFileProgress);
3180
- resumable.on('fileSuccess', onFileSuccess);
3181
- resumable.on('fileError', onFileError);
3182
- resumable.on('complete', onAllComplete);
3183
- return resumable;
3184
- }, []);
3185
- var _useState = React.useState(0),
3186
- setProgress = _useState[1];
3187
- var _useState2 = React.useState(UPLOAD_STATES.IDLE),
3188
- state = _useState2[0],
3189
- setState = _useState2[1];
3190
- var _useState3 = React.useState([]),
3191
- files = _useState3[0],
3192
- setFiles = _useState3[1];
3193
- function onFileAdded(file) {
3194
- files.push(file);
3195
- setFiles(files);
3196
- setState(UPLOAD_STATES.RUNNING);
3197
- resumable.upload();
3198
- }
3199
- function onFileProgress(file) {
3200
- file.uploadState = UPLOAD_STATES.RUNNING;
3201
- var progress = file.progress();
3202
- setProgress(progress);
3203
- if (onProgress) onProgress(files);
3204
- }
3205
- function onFileSuccess(file, message) {
3206
- file.uploadState = UPLOAD_STATES.SUCCESS;
3207
- if (onSuccess) onSuccess(file, message);
3208
- }
3209
- function onFileError(file, message) {
3210
- file.uploadState = UPLOAD_STATES.ERROR;
3211
- file.uploadError = message;
3212
- if (onError) onError(file, message);
3213
- }
3214
- function onAllComplete() {
3215
- setState(UPLOAD_STATES.COMPLETED);
3216
- if (onComplete) onComplete(files);
3217
- }
3218
- function renderView() {
3219
- switch (view) {
3220
- case "area":
3221
- return /*#__PURE__*/React__default["default"].createElement(UploadArea, {
3222
- resumable: resumable,
3223
- icon: icon,
3224
- label: label
3225
- });
3226
- case "icon":
3227
- return /*#__PURE__*/React__default["default"].createElement(UploadIcon, {
3228
- resumable: resumable,
3229
- icon: icon
3230
- });
3231
- default:
3232
- return /*#__PURE__*/React__default["default"].createElement(UploadArea, {
3233
- resumable: resumable,
3234
- icon: icon,
3235
- label: label
3236
- });
3237
- }
3222
+ var KanbanColumn = function KanbanColumn(_ref3) {
3223
+ var id = _ref3.id,
3224
+ actions = _ref3.actions,
3225
+ _ref3$headless = _ref3.headless,
3226
+ headless = _ref3$headless === void 0 ? false : _ref3$headless,
3227
+ icon = _ref3.icon,
3228
+ title = _ref3.title,
3229
+ subtitle = _ref3.subtitle,
3230
+ badge = _ref3.badge,
3231
+ children = _ref3.children,
3232
+ _ref3$minified = _ref3.minified,
3233
+ minified = _ref3$minified === void 0 ? false : _ref3$minified,
3234
+ _ref3$disabled = _ref3.disabled,
3235
+ disabled = _ref3$disabled === void 0 ? false : _ref3$disabled;
3236
+ var _useState2 = React.useState(minified),
3237
+ min = _useState2[0],
3238
+ setMin = _useState2[1];
3239
+ function toggle() {
3240
+ setMin(!min);
3238
3241
  }
3239
- return /*#__PURE__*/React__default["default"].createElement("div", {
3240
- className: "uploader " + className
3241
- }, state === UPLOAD_STATES.IDLE ? renderView() : /*#__PURE__*/React__default["default"].createElement(UploadProgress, {
3242
- files: files
3243
- }));
3242
+ return min ? /*#__PURE__*/React__default["default"].createElement("div", {
3243
+ className: "kanban-column " + id + " min"
3244
+ }, /*#__PURE__*/React__default["default"].createElement("main", null, title), /*#__PURE__*/React__default["default"].createElement("footer", null, /*#__PURE__*/React__default["default"].createElement(Icon, {
3245
+ icon: "toggle_off",
3246
+ onIcon: "toggle_on",
3247
+ clickable: true,
3248
+ action: toggle
3249
+ }))) : /*#__PURE__*/React__default["default"].createElement("div", {
3250
+ className: "kanban-column " + id + " " + (disabled ? 'disabled' : '')
3251
+ }, headless ? "" : /*#__PURE__*/React__default["default"].createElement("header", null, /*#__PURE__*/React__default["default"].createElement(Icon, {
3252
+ icon: icon
3253
+ }), /*#__PURE__*/React__default["default"].createElement("div", {
3254
+ className: "title"
3255
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, {
3256
+ use: "headline6"
3257
+ }, title), /*#__PURE__*/React__default["default"].createElement(Text$1, {
3258
+ className: "secondary-text",
3259
+ use: "body2"
3260
+ }, subtitle)), /*#__PURE__*/React__default["default"].createElement("div", {
3261
+ className: "badge"
3262
+ }, badge)), /*#__PURE__*/React__default["default"].createElement("main", null, children), /*#__PURE__*/React__default["default"].createElement("footer", null, /*#__PURE__*/React__default["default"].createElement(Icon, {
3263
+ icon: "toggle_off",
3264
+ onIcon: "toggle_on",
3265
+ clickable: true,
3266
+ action: toggle
3267
+ }), actions));
3244
3268
  };
3245
3269
 
3246
3270
  /**
3247
- * Page Context
3248
- */
3249
- var PageContext = React__default["default"].createContext({});
3250
-
3251
- /**
3252
- * Page Provider
3271
+ * Kanban Card
3253
3272
  */
3254
- var PageProvider = function PageProvider(_ref) {
3255
- var _ref$context = _ref.context,
3256
- context = _ref$context === void 0 ? {} : _ref$context,
3257
- children = _ref.children;
3258
- var _useState = React.useState(context),
3259
- pageCtx = _useState[0],
3260
- setPageCtx = _useState[1];
3261
- return /*#__PURE__*/React__default["default"].createElement(PageContext.Provider, {
3262
- value: [pageCtx, setPageCtx]
3273
+ var KanbanCard = function KanbanCard(_ref4) {
3274
+ var className = _ref4.className,
3275
+ color = _ref4.color,
3276
+ children = _ref4.children;
3277
+ return /*#__PURE__*/React__default["default"].createElement("div", {
3278
+ className: "kanban-card " + className + " " + color
3263
3279
  }, children);
3264
3280
  };
3265
3281
 
3266
3282
  /**
3267
- * Page
3283
+ * Avatar
3268
3284
  */
3269
- var Page = function Page(props) {
3270
- var children = props.children,
3271
- _props$layout = props.layout,
3272
- layout = _props$layout === void 0 ? "simple" : _props$layout,
3273
- _props$context = props.context,
3274
- context = _props$context === void 0 ? {} : _props$context,
3275
- className = props.className;
3276
- return /*#__PURE__*/React__default["default"].createElement(PageProvider, {
3277
- context: context
3278
- }, /*#__PURE__*/React__default["default"].createElement("article", {
3279
- className: "page6 " + layout + " " + className
3280
- }, children));
3285
+ var Avatar = function Avatar(props) {
3286
+ var id = props.id,
3287
+ name = props.name,
3288
+ className = props.className,
3289
+ src = props.src,
3290
+ _props$size = props.size,
3291
+ size = _props$size === void 0 ? "small" : _props$size,
3292
+ _props$clickable = props.clickable,
3293
+ clickable = _props$clickable === void 0 ? false : _props$clickable,
3294
+ action = props.action;
3295
+ function click() {
3296
+ if (clickable) {
3297
+ action(id);
3298
+ }
3299
+ }
3300
+ var clickableStyle = clickable ? 'clickable' : '';
3301
+ var style = "avatar " + size + " " + clickableStyle + " " + className;
3302
+ return /*#__PURE__*/React__default["default"].createElement("div", {
3303
+ className: style,
3304
+ onClick: click
3305
+ }, src ? /*#__PURE__*/React__default["default"].createElement("img", {
3306
+ src: src
3307
+ }) : /*#__PURE__*/React__default["default"].createElement("span", null, name));
3308
+ };
3309
+
3310
+ var WaitScreen = function WaitScreen() {
3311
+ return /*#__PURE__*/React__default["default"].createElement("div", {
3312
+ className: "wait-screen"
3313
+ }, /*#__PURE__*/React__default["default"].createElement(CircularProgress, {
3314
+ size: "large"
3315
+ }));
3281
3316
  };
3282
3317
 
3318
+ moment__default["default"].locale('es');
3319
+ var moment = momentRange.extendMoment(moment__default["default"]);
3320
+
3283
3321
  /**
3284
- * Site Provider
3322
+ * Calendar
3285
3323
  */
3286
- var SiteProvider = function SiteProvider(_ref) {
3287
- var children = _ref.children,
3288
- siteLang = _ref.siteLang,
3289
- siteDictionary = _ref.siteDictionary;
3290
- var _useState = React.useState(siteLang),
3291
- lang = _useState[0],
3292
- setLang = _useState[1];
3293
- var _useState2 = React.useState(siteDictionary),
3294
- dictionary = _useState2[0],
3295
- setDictionary = _useState2[1];
3296
- var _useState3 = React.useState('max'),
3297
- sideNav = _useState3[0],
3298
- setSideNav = _useState3[1];
3299
- var _useState4 = React.useState(false),
3300
- showNav = _useState4[0],
3301
- setShowNav = _useState4[1];
3302
- var _useState5 = React.useState(null),
3303
- info = _useState5[0],
3304
- setInfo = _useState5[1];
3305
- var _useState6 = React.useState(false),
3306
- showConsole = _useState6[0],
3307
- setShowConsole = _useState6[1];
3308
- var _useState7 = React.useState([]),
3309
- consoleLines = _useState7[0],
3310
- setConsoleLines = _useState7[1];
3311
- var _useState8 = React.useState(),
3312
- page = _useState8[0],
3313
- setPage = _useState8[1];
3314
- var _useState9 = React.useState(),
3315
- dialog = _useState9[0],
3316
- setDialog = _useState9[1];
3317
- var _useState10 = React.useState(),
3318
- promptDialog = _useState10[0],
3319
- setPromptDialog = _useState10[1];
3320
- var _useState11 = React.useState(),
3321
- preview = _useState11[0],
3322
- setPreview = _useState11[1];
3323
- var _useState12 = React.useState(),
3324
- breadcrumb = _useState12[0],
3325
- setBreadcrumb = _useState12[1];
3326
- var value = {
3327
- lang: lang,
3328
- setLang: setLang,
3329
- dictionary: dictionary,
3330
- setDictionary: setDictionary,
3331
- translate: function translate(key) {
3332
- if (!key) return key;
3333
- if (dictionary === undefined) return key;
3334
- var term = dictionary[key];
3335
- return term ? term[lang] : key;
3336
- },
3337
- sideNav: sideNav,
3338
- setSideNav: setSideNav,
3339
- showNav: showNav,
3340
- setShowNav: setShowNav,
3341
- info: info,
3342
- openInfo: function openInfo(info) {
3343
- setInfo(info);
3344
- },
3345
- closeInfo: function closeInfo() {
3346
- setInfo(null);
3347
- },
3348
- consoleLines: consoleLines,
3349
- showConsole: showConsole,
3350
- toggleConsole: function toggleConsole() {
3351
- setShowConsole(!showConsole);
3352
- },
3353
- writeLog: function writeLog(line) {
3354
- var next = consoleLines.concat(line);
3355
- setConsoleLines(next);
3356
- },
3357
- clearLog: function clearLog() {
3358
- setConsoleLines([]);
3359
- },
3360
- breadcrumb: breadcrumb,
3361
- setBreadcrumb: setBreadcrumb,
3362
- page: page,
3363
- "goto": function goto(id) {
3364
- setPage(id);
3365
- },
3366
- dialog: dialog,
3367
- openDialog: function openDialog(dialog) {
3368
- setDialog(dialog);
3369
- },
3370
- closeDialog: function closeDialog() {
3371
- setDialog(null);
3372
- },
3373
- preview: preview,
3374
- openPreview: function openPreview(preview) {
3375
- setPreview(preview);
3376
- },
3377
- closePreview: function closePreview() {
3378
- setPreview(null);
3379
- },
3380
- confirm: function confirm(message) {
3381
- return window.confirm(message);
3382
- },
3383
- prompt: function prompt(message) {
3384
- return window.prompt(message);
3385
- },
3386
- promptDialog: promptDialog,
3387
- openPromptDialog: function openPromptDialog(dialog) {
3388
- setPromptDialog(dialog);
3389
- },
3390
- closePromptDialog: function closePromptDialog() {
3391
- setPromptDialog(null);
3392
- },
3393
- notify: function notify(_ref2) {
3394
- var title = _ref2.title,
3395
- body = _ref2.body,
3396
- _ref2$type = _ref2.type,
3397
- type = _ref2$type === void 0 ? "success" : _ref2$type,
3398
- _ref2$duration = _ref2.duration,
3399
- duration = _ref2$duration === void 0 ? 3000 : _ref2$duration,
3400
- onRemoval = _ref2.onRemoval;
3401
- reactNotificationsComponent.Store.addNotification({
3402
- title: title,
3403
- message: body,
3404
- type: type,
3405
- insert: "top",
3406
- container: "top-right",
3407
- animationIn: ["animate__animated", "animate__fadeIn"],
3408
- animationOut: ["animate__animated", "animate__fadeOut"],
3409
- dismiss: {
3410
- duration: duration,
3411
- onScreen: true
3412
- },
3413
- onRemoval: onRemoval
3414
- });
3324
+ var Calendar = function Calendar(props) {
3325
+ var _props$events = props.events,
3326
+ events = _props$events === void 0 ? [] : _props$events,
3327
+ children = props.children,
3328
+ onChange = props.onChange,
3329
+ onRange = props.onRange;
3330
+ var _useState = React.useState(props.range || "year"),
3331
+ range = _useState[0],
3332
+ setRange = _useState[1];
3333
+ function onChangeRange(range) {
3334
+ setRange(range);
3335
+ if (onRange) onRange(range);
3336
+ }
3337
+ return /*#__PURE__*/React__default["default"].createElement("div", {
3338
+ className: "calendar"
3339
+ }, /*#__PURE__*/React__default["default"].createElement(CalendarRangeControl, {
3340
+ range: range,
3341
+ onChange: onChangeRange
3342
+ }), range === "year" && /*#__PURE__*/React__default["default"].createElement(YearCalendar, {
3343
+ events: events,
3344
+ onChange: onChange
3345
+ }, children), range === "month" && /*#__PURE__*/React__default["default"].createElement(MonthCalendar, {
3346
+ events: events,
3347
+ onChange: onChange,
3348
+ onRange: onChangeRange
3349
+ }, children));
3350
+ };
3351
+
3352
+ /**
3353
+ * CalendarRangeControl
3354
+ */
3355
+ var CalendarRangeControl = function CalendarRangeControl(props) {
3356
+ var range = props.range,
3357
+ onChange = props.onChange;
3358
+ return /*#__PURE__*/React__default["default"].createElement("div", {
3359
+ className: "calendar-range-control"
3360
+ }, /*#__PURE__*/React__default["default"].createElement(Button, {
3361
+ label: "Year",
3362
+ outlined: range == "year",
3363
+ action: function action() {
3364
+ return onChange("year");
3415
3365
  }
3416
- };
3417
- return /*#__PURE__*/React__default["default"].createElement(SiteContext.Provider, {
3418
- value: value
3419
- }, children);
3366
+ }), /*#__PURE__*/React__default["default"].createElement(Button, {
3367
+ label: "Month",
3368
+ outlined: range == "month",
3369
+ action: function action() {
3370
+ return onChange("month");
3371
+ }
3372
+ }));
3420
3373
  };
3421
3374
 
3422
3375
  /**
3423
- * Site
3376
+ * MonthCalendar
3424
3377
  */
3425
- var Site = function Site(_ref3) {
3426
- var icon = _ref3.icon,
3427
- iconSrc = _ref3.iconSrc,
3428
- title = _ref3.title,
3429
- toolbar = _ref3.toolbar,
3430
- footer = _ref3.footer,
3431
- children = _ref3.children,
3432
- init = _ref3.init,
3433
- min = _ref3.min,
3434
- lang = _ref3.lang,
3435
- dictionary = _ref3.dictionary;
3436
- return /*#__PURE__*/React__default["default"].createElement(SiteProvider, {
3437
- siteLang: lang,
3438
- siteDictionary: dictionary
3439
- }, /*#__PURE__*/React__default["default"].createElement("div", {
3440
- className: "site6"
3441
- }, /*#__PURE__*/React__default["default"].createElement(SiteHeader, {
3442
- icon: icon,
3443
- iconSrc: iconSrc,
3444
- title: title
3445
- }), /*#__PURE__*/React__default["default"].createElement(SiteToolBar, null, toolbar), /*#__PURE__*/React__default["default"].createElement(SiteMenu, {
3446
- iconSrc: iconSrc,
3447
- title: title,
3448
- min: min
3449
- }, children), /*#__PURE__*/React__default["default"].createElement(SitePage, {
3450
- init: init
3451
- }, children, /*#__PURE__*/React__default["default"].createElement(Page, {
3452
- id: "EMPTY"
3453
- }, "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)));
3378
+ var MonthCalendar = function MonthCalendar(props) {
3379
+ var _props$events2 = props.events,
3380
+ events = _props$events2 === void 0 ? [] : _props$events2,
3381
+ children = props.children,
3382
+ onChange = props.onChange;
3383
+ var _useState2 = React.useState(),
3384
+ position = _useState2[0],
3385
+ setPosition = _useState2[1];
3386
+ React.useEffect(function () {
3387
+ var today = moment();
3388
+ setPosition(today);
3389
+ }, []);
3390
+ React.useEffect(function () {
3391
+ if (position && onChange) {
3392
+ var _firstDayOfMonth = position.clone().startOf('month');
3393
+ var _firstDayOfRange = _firstDayOfMonth.clone().startOf('isoweek');
3394
+ var _lastDayOfMonth = position.clone().endOf('month');
3395
+ var _lastDayOfRange = _lastDayOfMonth.clone().endOf('isoweek');
3396
+ var _range = moment.range(_firstDayOfRange, _lastDayOfRange);
3397
+ onChange(position, _range);
3398
+ }
3399
+ }, [position]);
3400
+ function next() {
3401
+ var next = position.clone().add(1, 'month');
3402
+ setPosition(next);
3403
+ }
3404
+ function prev() {
3405
+ var prev = position.clone().subtract(1, 'month');
3406
+ setPosition(prev);
3407
+ }
3408
+ function today() {
3409
+ var today = moment();
3410
+ setPosition(today);
3411
+ }
3412
+ if (!position) return "...";
3413
+ var monthName = position.format("MMMM");
3414
+ var year = position.format("YYYY");
3415
+ var firstDayOfMonth = position.clone().startOf('month');
3416
+ var firstDayOfRange = firstDayOfMonth.clone().startOf('isoweek');
3417
+ var lastDayOfMonth = position.clone().endOf('month');
3418
+ var lastDayOfRange = lastDayOfMonth.clone().endOf('isoweek');
3419
+ var range = moment.range(firstDayOfRange, lastDayOfRange);
3420
+ var days = Array.from(range.by('days'));
3421
+ var cells = days.map(function (day) {
3422
+ var eventsOfDay = events.filter(function (event) {
3423
+ var eventDay = moment(event.date);
3424
+ return eventDay.isSame(day, 'day');
3425
+ });
3426
+ var sameMonthStyle = day.isSame(moment(position), 'month') ? '' : 'other-month';
3427
+ return {
3428
+ day: day,
3429
+ events: eventsOfDay,
3430
+ sameMonthStyle: sameMonthStyle
3431
+ };
3432
+ });
3433
+ return /*#__PURE__*/React__default["default"].createElement("div", {
3434
+ className: "month-calendar"
3435
+ }, /*#__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, {
3436
+ icon: "chevron_left",
3437
+ action: prev
3438
+ }), /*#__PURE__*/React__default["default"].createElement(Button, {
3439
+ label: "Today",
3440
+ outlined: true,
3441
+ action: today
3442
+ }), /*#__PURE__*/React__default["default"].createElement(Button, {
3443
+ icon: "chevron_right",
3444
+ action: next
3445
+ })), /*#__PURE__*/React__default["default"].createElement("header", null, /*#__PURE__*/React__default["default"].createElement("div", {
3446
+ className: "week-day-cell"
3447
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, null, "Mon")), /*#__PURE__*/React__default["default"].createElement("div", {
3448
+ className: "week-day-cell"
3449
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, null, "Tue")), /*#__PURE__*/React__default["default"].createElement("div", {
3450
+ className: "week-day-cell"
3451
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, null, "Wed")), /*#__PURE__*/React__default["default"].createElement("div", {
3452
+ className: "week-day-cell"
3453
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, null, "Thu")), /*#__PURE__*/React__default["default"].createElement("div", {
3454
+ className: "week-day-cell"
3455
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, null, "Fri")), /*#__PURE__*/React__default["default"].createElement("div", {
3456
+ className: "week-day-cell"
3457
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, null, "Sat")), /*#__PURE__*/React__default["default"].createElement("div", {
3458
+ className: "week-day-cell"
3459
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, null, "Sun"))), /*#__PURE__*/React__default["default"].createElement("main", null, cells.map(function (cell) {
3460
+ return /*#__PURE__*/React__default["default"].createElement(DayCell, {
3461
+ key: cell.day,
3462
+ cell: cell
3463
+ }, children);
3464
+ })));
3454
3465
  };
3455
- var SiteNotifications = function SiteNotifications() {
3456
- return /*#__PURE__*/React__default["default"].createElement(reactNotificationsComponent.ReactNotifications, null);
3466
+ var DayCell = function DayCell(props) {
3467
+ var _props$cell = props.cell,
3468
+ cell = _props$cell === void 0 ? [] : _props$cell,
3469
+ children = props.children;
3470
+ var day = cell.day,
3471
+ events = cell.events,
3472
+ sameMonthStyle = cell.sameMonthStyle;
3473
+ var todayStyle = day.isSame(moment(), 'day') ? 'today' : '';
3474
+ return /*#__PURE__*/React__default["default"].createElement("div", {
3475
+ className: "day-cell " + todayStyle + " " + sameMonthStyle
3476
+ }, /*#__PURE__*/React__default["default"].createElement("header", null, day.format("DD")), /*#__PURE__*/React__default["default"].createElement("main", null, events.map(function (event) {
3477
+ return /*#__PURE__*/React__default["default"].createElement(Event, {
3478
+ key: event.id,
3479
+ event: event
3480
+ }, children);
3481
+ })));
3457
3482
  };
3458
3483
 
3459
3484
  /**
3460
- * Site Header
3485
+ * Event
3461
3486
  */
3462
- var SiteHeader = function SiteHeader(props) {
3463
- var _props$icon = props.icon,
3464
- icon = _props$icon === void 0 ? "equalizer" : _props$icon,
3465
- iconSrc = props.iconSrc,
3466
- title = props.title;
3467
- return /*#__PURE__*/React__default["default"].createElement(Header, {
3468
- icon: icon,
3469
- iconSrc: iconSrc,
3470
- title: title
3471
- });
3487
+ var Event = function Event(props) {
3488
+ var event = props.event,
3489
+ children = props.children;
3490
+ if (children) {
3491
+ var element = React__default["default"].Children.toArray(children)[0];
3492
+ return React__default["default"].cloneElement(element, {
3493
+ event: event
3494
+ });
3495
+ } else {
3496
+ return /*#__PURE__*/React__default["default"].createElement("div", {
3497
+ className: "event"
3498
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
3499
+ className: "event-name"
3500
+ }, event.title));
3501
+ }
3472
3502
  };
3473
3503
 
3474
3504
  /**
3475
- * Site ToolBar
3505
+ * YearCalendar
3476
3506
  */
3477
- var SiteToolBar = function SiteToolBar(_ref4) {
3478
- var children = _ref4.children;
3479
- return /*#__PURE__*/React__default["default"].createElement("nav", null, children);
3507
+ var YearCalendar = function YearCalendar(props) {
3508
+ var _props$events3 = props.events,
3509
+ events = _props$events3 === void 0 ? [] : _props$events3,
3510
+ children = props.children,
3511
+ onChange = props.onChange;
3512
+ var _useState3 = React.useState(),
3513
+ position = _useState3[0],
3514
+ setPosition = _useState3[1];
3515
+ React.useEffect(function () {
3516
+ var today = moment();
3517
+ setPosition(today);
3518
+ }, []);
3519
+ React.useEffect(function () {
3520
+ if (position && onChange) {
3521
+ var _firstDayOfYear = position.clone().startOf('year');
3522
+ var firstDayOfRange = _firstDayOfYear.clone().startOf('isoweek');
3523
+ var _lastDayOfYear = position.clone().endOf('year');
3524
+ var lastDayOfRange = _lastDayOfYear.clone().endOf('isoweek');
3525
+ var range = moment.range(firstDayOfRange, lastDayOfRange);
3526
+ onChange(position, range);
3527
+ }
3528
+ }, [position]);
3529
+ function next() {
3530
+ var next = position.clone().add(1, 'year');
3531
+ setPosition(next);
3532
+ }
3533
+ function prev() {
3534
+ var prev = position.clone().subtract(1, 'year');
3535
+ setPosition(prev);
3536
+ }
3537
+ function today() {
3538
+ var today = moment();
3539
+ setPosition(today);
3540
+ }
3541
+ if (!position) return "...";
3542
+ var year = position.format("YYYY");
3543
+ var firstDayOfYear = moment(position).startOf('year');
3544
+ var lastDayOfYear = moment(position).endOf('year');
3545
+ var months = [];
3546
+ for (var currentMonth = moment(firstDayOfYear); currentMonth.isBefore(lastDayOfYear); currentMonth.add(1, 'month')) {
3547
+ months.push(moment(currentMonth));
3548
+ }
3549
+ var cells = months.map(function (month) {
3550
+ var firstDayOfMonth = month.clone().startOf('month');
3551
+ var firstDayOfRange = firstDayOfMonth.clone().startOf('isoweek');
3552
+ var lastDayOfMonth = month.clone().endOf('month');
3553
+ var lastDayOfRange = lastDayOfMonth.clone().endOf('isoweek');
3554
+ var range = moment.range(firstDayOfRange, lastDayOfRange);
3555
+ var days = Array.from(range.by('days'));
3556
+ var cells = days.map(function (day) {
3557
+ var eventsOfDay = events.filter(function (event) {
3558
+ var eventDay = moment(event.date);
3559
+ return eventDay.isSame(day, 'day');
3560
+ });
3561
+ var sameMonthStyle = day.isSame(moment(month), 'month') ? '' : 'other-month';
3562
+ return {
3563
+ day: day,
3564
+ events: eventsOfDay,
3565
+ sameMonthStyle: sameMonthStyle
3566
+ };
3567
+ });
3568
+ return {
3569
+ month: month,
3570
+ cells: cells
3571
+ };
3572
+ });
3573
+ return /*#__PURE__*/React__default["default"].createElement("div", {
3574
+ className: "year-calendar"
3575
+ }, /*#__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, {
3576
+ icon: "chevron_left",
3577
+ action: prev
3578
+ }), /*#__PURE__*/React__default["default"].createElement(Button, {
3579
+ label: "Today",
3580
+ outlined: true,
3581
+ action: today
3582
+ }), /*#__PURE__*/React__default["default"].createElement(Button, {
3583
+ icon: "chevron_right",
3584
+ action: next
3585
+ })), /*#__PURE__*/React__default["default"].createElement("main", null, cells.map(function (cell) {
3586
+ return /*#__PURE__*/React__default["default"].createElement(MonthCell, {
3587
+ key: cell.month,
3588
+ cell: cell
3589
+ }, children);
3590
+ })));
3480
3591
  };
3481
3592
 
3482
3593
  /**
3483
- * Site Footer
3594
+ * MonthCell
3484
3595
  */
3485
- var SiteFooter = function SiteFooter(_ref5) {
3486
- var children = _ref5.children;
3487
- return /*#__PURE__*/React__default["default"].createElement("footer", null, children);
3596
+ var MonthCell = function MonthCell(props) {
3597
+ var _props$cell2 = props.cell,
3598
+ cell = _props$cell2 === void 0 ? [] : _props$cell2,
3599
+ children = props.children;
3600
+ var month = cell.month,
3601
+ cells = cell.cells;
3602
+ var monthName = month.format("MMMM");
3603
+ return /*#__PURE__*/React__default["default"].createElement("div", {
3604
+ className: "month-cell"
3605
+ }, /*#__PURE__*/React__default["default"].createElement("nav", null, monthName), /*#__PURE__*/React__default["default"].createElement("header", null, /*#__PURE__*/React__default["default"].createElement("div", {
3606
+ className: "week-day-cell"
3607
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, null, "Mon")), /*#__PURE__*/React__default["default"].createElement("div", {
3608
+ className: "week-day-cell"
3609
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, null, "Tue")), /*#__PURE__*/React__default["default"].createElement("div", {
3610
+ className: "week-day-cell"
3611
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, null, "Wed")), /*#__PURE__*/React__default["default"].createElement("div", {
3612
+ className: "week-day-cell"
3613
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, null, "Thu")), /*#__PURE__*/React__default["default"].createElement("div", {
3614
+ className: "week-day-cell"
3615
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, null, "Fri")), /*#__PURE__*/React__default["default"].createElement("div", {
3616
+ className: "week-day-cell"
3617
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, null, "Sat")), /*#__PURE__*/React__default["default"].createElement("div", {
3618
+ className: "week-day-cell"
3619
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, null, "Sun"))), /*#__PURE__*/React__default["default"].createElement("main", null, cells.map(function (cell) {
3620
+ return /*#__PURE__*/React__default["default"].createElement(DayCell, {
3621
+ key: cell.day,
3622
+ cell: cell
3623
+ }, children);
3624
+ })));
3488
3625
  };
3489
3626
 
3490
- /**
3491
- * Site Aside
3492
- */
3493
- var SiteAside = function SiteAside() {
3494
- var context = React.useContext(SiteContext);
3495
- return context.info ? /*#__PURE__*/React__default["default"].createElement("aside", null, context.info) : '';
3496
- };
3627
+ var ranges = momentRange.extendMoment(moment__default["default"]);
3628
+ var DATE_RANGE = [{
3629
+ label: "Week",
3630
+ value: "week"
3631
+ }, {
3632
+ label: "Month",
3633
+ value: "month"
3634
+ }, {
3635
+ label: "Year",
3636
+ value: "year"
3637
+ }];
3497
3638
 
3498
3639
  /**
3499
- * SiteMenu
3640
+ * Planner
3500
3641
  */
3501
- var SiteMenu = function SiteMenu(_ref6) {
3502
- var iconSrc = _ref6.iconSrc,
3503
- title = _ref6.title,
3504
- children = _ref6.children,
3505
- min = _ref6.min;
3506
- var context = React.useContext(SiteContext);
3507
- var page = context.page,
3508
- sideNav = context.sideNav,
3509
- setSideNav = context.setSideNav,
3510
- showNav = context.showNav;
3511
- React.useEffect(function () {
3512
- if (min) context.setSideNav('min');
3642
+ var Planner = function Planner(_ref) {
3643
+ var title = _ref.title,
3644
+ _ref$events = _ref.events,
3645
+ events = _ref$events === void 0 ? [] : _ref$events,
3646
+ _ref$lanes = _ref.lanes,
3647
+ lanes = _ref$lanes === void 0 ? [] : _ref$lanes,
3648
+ _ref$navigation = _ref.navigation,
3649
+ navigation = _ref$navigation === void 0 ? true : _ref$navigation,
3650
+ onSelectCell = _ref.onSelectCell,
3651
+ focusEvent = _ref.focusEvent,
3652
+ _ref$config = _ref.config,
3653
+ config = _ref$config === void 0 ? {
3654
+ range: "year",
3655
+ from: "2022-01-01",
3656
+ to: "2022-12-30"
3657
+ } : _ref$config,
3658
+ onChange = _ref.onChange;
3659
+ var _useState = React.useState(config.range),
3660
+ dateRange = _useState[0],
3661
+ setDateRange = _useState[1];
3662
+ var _useState2 = React.useState(config.from),
3663
+ from = _useState2[0],
3664
+ setFrom = _useState2[1];
3665
+ var _useState3 = React.useState(config.to),
3666
+ to = _useState3[0],
3667
+ setTo = _useState3[1];
3668
+ var thisMondayElement = React.useRef(null);
3669
+ var gotoMonday = React.useCallback(function (node) {
3670
+ var element = node;
3671
+ if (element) element.scrollIntoView({
3672
+ behavior: 'smooth',
3673
+ block: 'start',
3674
+ inline: 'start'
3675
+ });
3513
3676
  }, []);
3514
- function toggle() {
3515
- var next = sideNav === 'max' ? 'min' : 'max';
3516
- setSideNav(next);
3677
+ React.useEffect(function () {
3678
+ var element = document.getElementById(focusEvent);
3679
+ if (element) element.scrollIntoView({
3680
+ behavior: 'smooth',
3681
+ block: 'center',
3682
+ inline: 'center'
3683
+ });
3684
+ }, [focusEvent]);
3685
+ React.useEffect(function () {
3686
+ var today = moment__default["default"]();
3687
+ var from_date = today.startOf(dateRange).format("YYYY-MM-DD");
3688
+ var to_date = today.endOf(dateRange).format("YYYY-MM-DD");
3689
+ setFrom(from_date);
3690
+ setTo(to_date);
3691
+ }, [dateRange]);
3692
+ function next() {
3693
+ var actual = moment__default["default"](from);
3694
+ var next = actual.add(1, dateRange);
3695
+ var from_date = next.startOf(dateRange).format("YYYY-MM-DD");
3696
+ var to_date = next.endOf(dateRange).format("YYYY-MM-DD");
3697
+ setFrom(from_date);
3698
+ setTo(to_date);
3517
3699
  }
3518
- var _goto = function _goto(id) {
3519
- context.setShowNav(false);
3520
- context["goto"](id);
3521
- };
3522
- var sections = children ? React.Children.toArray(children).reduce(function (sections, page) {
3523
- var section = page.props ? page.props.section : '...';
3524
- if (!sections[section]) sections[section] = [];
3525
- var _page$props = page.props,
3526
- id = _page$props.id,
3527
- icon = _page$props.icon,
3528
- title = _page$props.title;
3529
- if (title) sections[section].push({
3530
- id: id,
3531
- icon: icon,
3532
- title: title
3700
+ function prev() {
3701
+ var actual = moment__default["default"](from);
3702
+ var next = actual.subtract(1, dateRange);
3703
+ var from_date = next.startOf(dateRange).format("YYYY-MM-DD");
3704
+ var to_date = next.endOf(dateRange).format("YYYY-MM-DD");
3705
+ setFrom(from_date);
3706
+ setTo(to_date);
3707
+ }
3708
+ function selectCell(lane, date) {
3709
+ if (onSelectCell) onSelectCell(lane, date);
3710
+ }
3711
+ function showThisWeek() {
3712
+ var element = thisMondayElement.current;
3713
+ //const element = document.querySelector(".thisMonday")
3714
+ console.log("Show this week", element);
3715
+ if (element) element.scrollIntoView({
3716
+ behavior: 'smooth',
3717
+ block: 'start',
3718
+ inline: 'start'
3533
3719
  });
3534
- return sections;
3535
- }, {}) : {};
3536
- var style = sideNav === 'max' ? 'max' : 'min';
3537
- var toggleIcon = sideNav === 'max' ? 'chevron_left' : 'chevron_right';
3538
- var menutTitle = sideNav === 'max' ? title : '';
3539
- return /*#__PURE__*/React__default["default"].createElement("menu", {
3540
- className: style + " " + (showNav ? 'show' : '')
3541
- }, /*#__PURE__*/React__default["default"].createElement(Header, {
3542
- title: menutTitle,
3543
- iconSrc: iconSrc
3544
- }), /*#__PURE__*/React__default["default"].createElement("main", null, Object.keys(sections).map(function (title) {
3545
- return /*#__PURE__*/React__default["default"].createElement(React.Fragment, {
3546
- key: title
3547
- }, /*#__PURE__*/React__default["default"].createElement("div", {
3548
- className: "section-title " + style
3549
- }, sideNav === "max" ? title : ''), sections[title].map(function (_ref7) {
3550
- var id = _ref7.id,
3551
- _ref7$icon = _ref7.icon,
3552
- icon = _ref7$icon === void 0 ? 'info' : _ref7$icon,
3553
- title = _ref7.title;
3554
- var styleItem = id === page ? 'selected' : '';
3555
- var titleTxt = context.translate(title);
3556
- return /*#__PURE__*/React__default["default"].createElement("div", {
3557
- className: "site-menu-item " + styleItem,
3558
- key: id,
3559
- onClick: function onClick() {
3560
- return _goto(id);
3561
- }
3562
- }, /*#__PURE__*/React__default["default"].createElement(Tooltip, {
3563
- text: title,
3564
- top: ".5rem",
3565
- left: "4.5rem"
3566
- }, /*#__PURE__*/React__default["default"].createElement(Icon, {
3567
- key: id,
3568
- icon: icon,
3569
- clickable: true,
3570
- action: function action() {
3571
- return _goto(id);
3572
- }
3573
- })), sideNav === 'max' ? /*#__PURE__*/React__default["default"].createElement("label", null, titleTxt) : null);
3574
- }), /*#__PURE__*/React__default["default"].createElement("div", {
3575
- className: "section-divider"
3576
- }));
3577
- })), /*#__PURE__*/React__default["default"].createElement("footer", null, /*#__PURE__*/React__default["default"].createElement(Icon, {
3578
- icon: toggleIcon,
3720
+ }
3721
+ var period = React.useMemo(function () {
3722
+ var start = ranges(from, "YYYY-MM-DD");
3723
+ var end = ranges(to, "YYYY-MM-DD");
3724
+ var range = ranges.range(start, end);
3725
+ var period = Array.from(range.by("day")).map(function (m) {
3726
+ return {
3727
+ year: m.year(),
3728
+ month: m.month(),
3729
+ day: m.date(),
3730
+ moment: m
3731
+ };
3732
+ });
3733
+ return period;
3734
+ }, [from, to]);
3735
+ var label = /*#__PURE__*/React__default["default"].createElement(Text$1, {
3736
+ use: "headline6"
3737
+ }, title);
3738
+ return /*#__PURE__*/React__default["default"].createElement("div", {
3739
+ className: "planner-box"
3740
+ }, navigation ? /*#__PURE__*/React__default["default"].createElement(Header, {
3741
+ title: label
3742
+ }, "\xA0\xA0", /*#__PURE__*/React__default["default"].createElement(Button, {
3743
+ label: "Esta Semana",
3744
+ outlined: true,
3745
+ action: showThisWeek
3746
+ }), /*#__PURE__*/React__default["default"].createElement(Icon, {
3747
+ icon: "chevron_right",
3748
+ clickable: true,
3749
+ action: next
3750
+ }), /*#__PURE__*/React__default["default"].createElement(TextField, {
3751
+ id: "to",
3752
+ type: "date",
3753
+ label: "Hasta",
3754
+ value: to,
3755
+ onChange: function onChange(id, value) {
3756
+ return setTo(value);
3757
+ }
3758
+ }), /*#__PURE__*/React__default["default"].createElement("div", {
3759
+ className: "expand"
3760
+ }), /*#__PURE__*/React__default["default"].createElement(DropDown, {
3761
+ id: "ranges",
3762
+ label: "Rango",
3763
+ options: DATE_RANGE,
3764
+ value: dateRange,
3765
+ onChange: function onChange(id, value) {
3766
+ return setDateRange(value);
3767
+ }
3768
+ }), /*#__PURE__*/React__default["default"].createElement("div", {
3769
+ className: "expand"
3770
+ }), /*#__PURE__*/React__default["default"].createElement(TextField, {
3771
+ id: "from",
3772
+ type: "date",
3773
+ label: "Desde",
3774
+ value: from,
3775
+ onChange: function onChange(id, value) {
3776
+ return setFrom(value);
3777
+ }
3778
+ }), /*#__PURE__*/React__default["default"].createElement(Icon, {
3779
+ icon: "chevron_left",
3579
3780
  clickable: true,
3580
- action: toggle
3581
- })));
3781
+ action: prev
3782
+ })) : null, /*#__PURE__*/React__default["default"].createElement("main", {
3783
+ className: "planner"
3784
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
3785
+ className: "column0"
3786
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
3787
+ className: "column-header"
3788
+ }), lanes.map(function (lane) {
3789
+ return /*#__PURE__*/React__default["default"].createElement("div", {
3790
+ className: "row-header"
3791
+ }, lane.label);
3792
+ })), /*#__PURE__*/React__default["default"].createElement("div", {
3793
+ className: "rows"
3794
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
3795
+ className: "row row0"
3796
+ }, period.map(function (date, index) {
3797
+ var first = index === 0 || date.day === 1 ? "first" : "";
3798
+ return /*#__PURE__*/React__default["default"].createElement("div", {
3799
+ className: "column-header"
3800
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
3801
+ className: "month-header " + first
3802
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, {
3803
+ use: "overline"
3804
+ }, date.moment.format("MMM"))));
3805
+ })), /*#__PURE__*/React__default["default"].createElement("div", {
3806
+ className: "row row1"
3807
+ }, period.map(function (date) {
3808
+ var isWekend = [0, 6].includes(date.moment.day());
3809
+ var weekend = isWekend ? "weekend" : "";
3810
+ var thisWeek = moment__default["default"]().startOf('week').isSame(date.moment, "week") ? "thisWeek" : "";
3811
+ var today = moment__default["default"]();
3812
+ var weekStart = today.clone().startOf('week');
3813
+ var isThisMonday = date.moment.isSame(weekStart);
3814
+ return /*#__PURE__*/React__default["default"].createElement("div", {
3815
+ key: "column-" + date.moment.dayOfYear(),
3816
+ id: isThisMonday ? "thisMonday" : "",
3817
+ className: "column-header",
3818
+ ref: isThisMonday ? thisMondayElement : null
3819
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
3820
+ className: "date-header " + weekend + " " + thisWeek,
3821
+ ref: isThisMonday ? gotoMonday : null
3822
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, {
3823
+ use: "headline6"
3824
+ }, date.moment.format("DD")), "\xA0", /*#__PURE__*/React__default["default"].createElement(Text$1, {
3825
+ use: "caption"
3826
+ }, date.moment.format("ddd"))));
3827
+ })), lanes.map(function (lane) {
3828
+ return /*#__PURE__*/React__default["default"].createElement(PlannerRow, {
3829
+ key: lane.id,
3830
+ lane: lane,
3831
+ events: events,
3832
+ period: period,
3833
+ onSelectCell: selectCell,
3834
+ onChange: onChange
3835
+ });
3836
+ }))));
3582
3837
  };
3583
3838
 
3584
3839
  /**
3585
- * SitePage
3840
+ * Planner Row
3586
3841
  */
3587
- var SitePage = function SitePage(_ref8) {
3588
- var children = _ref8.children,
3589
- init = _ref8.init;
3590
- var context = React.useContext(SiteContext);
3591
- var page = context.page;
3592
- React.useEffect(function () {
3593
- if (init) {
3594
- context["goto"](init);
3595
- } else {
3596
- context["goto"]("EMPTY");
3597
- }
3598
- }, []);
3599
- return /*#__PURE__*/React__default["default"].createElement("main", null, React__default["default"].Children.toArray(children).filter(function (child) {
3600
- return child.props ? child.props.id === page : false;
3842
+ var PlannerRow = function PlannerRow(props) {
3843
+ var lane = props.lane,
3844
+ _props$events = props.events,
3845
+ events = _props$events === void 0 ? [] : _props$events,
3846
+ period = props.period,
3847
+ onSelectCell = props.onSelectCell,
3848
+ onChange = props.onChange;
3849
+ var rowEvents = events.filter(function (event) {
3850
+ return event.lane === lane.id;
3851
+ });
3852
+ function change(data) {
3853
+ if (onChange) onChange(data);
3854
+ }
3855
+ return /*#__PURE__*/React__default["default"].createElement("div", {
3856
+ className: "row"
3857
+ }, period.map(function (date) {
3858
+ var slotDate = new Date(date.year, date.month, date.day);
3859
+ slotDate.setHours(0, 0, 0);
3860
+ var cellEvents = rowEvents.filter(function (event) {
3861
+ var eventDate = new Date(event.date);
3862
+ eventDate.setHours(0, 0, 0);
3863
+ return eventDate.getTime() === slotDate.getTime();
3864
+ });
3865
+ return /*#__PURE__*/React__default["default"].createElement(PlannerCell, {
3866
+ key: lane.id + "-" + slotDate.toString(),
3867
+ lane: lane,
3868
+ date: date,
3869
+ events: cellEvents,
3870
+ onSelect: onSelectCell,
3871
+ onDrop: change
3872
+ });
3601
3873
  }));
3602
3874
  };
3603
3875
 
3604
3876
  /**
3605
- * Site Dialog
3877
+ * Planner Cell
3606
3878
  */
3607
- var SiteDialog = function SiteDialog() {
3608
- var context = React.useContext(SiteContext);
3609
- return context.dialog ? context.dialog : '';
3879
+ var PlannerCell = function PlannerCell(_ref2) {
3880
+ var lane = _ref2.lane,
3881
+ events = _ref2.events,
3882
+ date = _ref2.date,
3883
+ onSelect = _ref2.onSelect,
3884
+ onDrop = _ref2.onDrop;
3885
+ var _useState4 = React.useState(false),
3886
+ dragOver = _useState4[0],
3887
+ setDragOver = _useState4[1];
3888
+ function select() {
3889
+ if (onSelect) onSelect(lane, date.moment.format("YYYY-MM-DD"));
3890
+ }
3891
+ function onDragOver(event) {
3892
+ if (!dragOver) setDragOver(true);
3893
+ event.stopPropagation();
3894
+ event.preventDefault();
3895
+ }
3896
+ function onDragLeave(event) {
3897
+ setDragOver(false);
3898
+ event.stopPropagation();
3899
+ event.preventDefault();
3900
+ }
3901
+ function drop(event) {
3902
+ event.stopPropagation();
3903
+ event.preventDefault();
3904
+ var id = event.dataTransfer.getData("text");
3905
+ if (onDrop) onDrop({
3906
+ id: id,
3907
+ lane: lane.id,
3908
+ date: date.moment.format("YYYY-MM-DD")
3909
+ });
3910
+ setDragOver(false);
3911
+ }
3912
+ var isWekend = [0, 6].includes(date.moment.day());
3913
+ var weekend = isWekend ? "weekend" : "";
3914
+ var today = moment__default["default"]();
3915
+ var weekStart = today.clone().startOf('week');
3916
+ var thisMonday = date.moment.isSame(weekStart) ? "thisMonday" : "";
3917
+ var dragOverStyle = dragOver ? "drag-over" : "";
3918
+ return /*#__PURE__*/React__default["default"].createElement("div", {
3919
+ className: "cell " + thisMonday + " " + weekend + " " + dragOverStyle,
3920
+ onDragOver: onDragOver,
3921
+ onDragLeave: onDragLeave,
3922
+ onDrop: drop,
3923
+ onClick: select
3924
+ }, events.map(function (event) {
3925
+ var _event$Renderer = event.Renderer,
3926
+ Renderer = _event$Renderer === void 0 ? EventCard : _event$Renderer;
3927
+ return /*#__PURE__*/React__default["default"].createElement(Renderer, {
3928
+ key: event.id,
3929
+ event: event
3930
+ });
3931
+ }));
3610
3932
  };
3611
-
3612
- /**
3613
- * Site Promtp Dialog
3614
- */
3615
- var SitePromptDialog = function SitePromptDialog() {
3616
- var context = React.useContext(SiteContext);
3617
- return context.promptDialog ? context.promptDialog : '';
3933
+ var EventCard = function EventCard(props) {
3934
+ var event = props.event;
3935
+ var title = event.title,
3936
+ color = event.color;
3937
+ var style = {
3938
+ backgroundColor: color,
3939
+ color: "white"
3940
+ };
3941
+ return /*#__PURE__*/React__default["default"].createElement("div", {
3942
+ draggable: "true",
3943
+ className: "event-card",
3944
+ style: style
3945
+ }, title);
3618
3946
  };
3619
3947
 
3620
3948
  /**
3621
- * Site Preview
3949
+ * Upload Area
3622
3950
  */
3623
- var SitePreview = function SitePreview() {
3624
- var context = React.useContext(SiteContext);
3625
- return context.preview ? /*#__PURE__*/React__default["default"].createElement("div", {
3626
- className: "site-preview"
3627
- }, context.preview) : '';
3951
+ var UploadArea = function UploadArea(props) {
3952
+ var _props$label = props.label,
3953
+ label = _props$label === void 0 ? 'Add file or drop file here...' : _props$label;
3954
+ var areaElement = React.useRef();
3955
+ var _useState = React.useState(false),
3956
+ drag = _useState[0],
3957
+ setDrag = _useState[1];
3958
+ var resumable = props.resumable;
3959
+ React.useEffect(function () {
3960
+ if (resumable && areaElement) {
3961
+ resumable.assignDrop(areaElement.current);
3962
+ }
3963
+ }, []);
3964
+ var onDragOver = function onDragOver() {
3965
+ setDrag(true);
3966
+ };
3967
+ var onDragLeave = function onDragLeave() {
3968
+ setDrag(false);
3969
+ };
3970
+ var dragging = drag === true ? 'drag-over' : '';
3971
+ return /*#__PURE__*/React__default["default"].createElement("div", {
3972
+ className: "upload-area6 " + dragging,
3973
+ onDragOver: onDragOver,
3974
+ onDragLeave: onDragLeave,
3975
+ ref: areaElement
3976
+ }, /*#__PURE__*/React__default["default"].createElement(UploadIcon, {
3977
+ resumable: resumable
3978
+ }), /*#__PURE__*/React__default["default"].createElement("label", null, label));
3628
3979
  };
3629
3980
 
3630
3981
  /**
3631
- * Site Console
3632
- */
3633
- var SiteConsole = function SiteConsole() {
3634
- var context = React.useContext(SiteContext);
3635
- function clear() {
3636
- context.clearLog();
3637
- }
3638
- return context.showConsole ? /*#__PURE__*/React__default["default"].createElement("div", {
3639
- className: "site-console"
3640
- }, /*#__PURE__*/React__default["default"].createElement(Header, null, /*#__PURE__*/React__default["default"].createElement(Tabs, null, /*#__PURE__*/React__default["default"].createElement(Tab, {
3641
- label: "Console"
3642
- }))), /*#__PURE__*/React__default["default"].createElement("nav", null, /*#__PURE__*/React__default["default"].createElement(Icon, {
3643
- icon: "clear_all",
3644
- size: "small",
3645
- clickable: true,
3646
- action: clear
3647
- })), /*#__PURE__*/React__default["default"].createElement("main", null, context.consoleLines.map(function (line, index) {
3648
- return /*#__PURE__*/React__default["default"].createElement("div", {
3649
- key: "log-" + index
3650
- }, line);
3651
- }))) : '';
3982
+ * Upload Icon
3983
+ */
3984
+ var UploadIcon = function UploadIcon(_ref) {
3985
+ var _ref$icon = _ref.icon,
3986
+ icon = _ref$icon === void 0 ? "folder_open" : _ref$icon,
3987
+ resumable = _ref.resumable;
3988
+ var iconElement = React.useRef();
3989
+ React.useEffect(function () {
3990
+ if (resumable && iconElement.current) {
3991
+ resumable.assignBrowse(iconElement.current);
3992
+ }
3993
+ }, [iconElement]);
3994
+ return /*#__PURE__*/React__default["default"].createElement("div", {
3995
+ className: "upload-icon",
3996
+ ref: iconElement
3997
+ }, /*#__PURE__*/React__default["default"].createElement(Icon, {
3998
+ icon: icon,
3999
+ clickable: true
4000
+ }));
4001
+ };
4002
+
4003
+ var UPLOAD_STATES = {
4004
+ IDLE: 0,
4005
+ RUNNING: 1,
4006
+ SUCCESS: 2,
4007
+ ERROR: 3,
4008
+ COMPLETED: 4
3652
4009
  };
3653
4010
 
3654
4011
  /**
3655
- * Dialog
3656
- *
3657
- * <Dialog title={title} open={true} actions={actions}>
4012
+ * Upload File
3658
4013
  */
3659
- var Dialog = function Dialog(props) {
3660
- var site = React.useContext(SiteContext);
3661
- var icon = props.icon,
3662
- _props$title = props.title,
3663
- title = _props$title === void 0 ? "Dialog" : _props$title,
3664
- toolbar = props.toolbar,
3665
- children = props.children,
3666
- actions = props.actions,
3667
- className = props.className,
3668
- onClose = props.onClose,
3669
- _props$overlayCanClos = props.overlayCanClose,
3670
- overlayCanClose = _props$overlayCanClos === void 0 ? true : _props$overlayCanClos;
3671
- function overlayClose() {
3672
- if (overlayCanClose) {
3673
- close();
3674
- }
3675
- }
3676
- function close() {
3677
- if (onClose) onClose();
3678
- if (className === "prompt") {
3679
- site.closePromptDialog();
3680
- } else {
3681
- site.closeDialog();
3682
- }
3683
- }
4014
+ var UploadFile$1 = function UploadFile(_ref) {
4015
+ var file = _ref.file;
4016
+ var icon = file.icon,
4017
+ name = file.name,
4018
+ state = file.state,
4019
+ progress = file.progress,
4020
+ error = file.error;
3684
4021
  return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement("div", {
3685
- className: "overlay " + className,
3686
- onMouseDown: overlayClose
3687
- }), /*#__PURE__*/React__default["default"].createElement("dialog", {
3688
- className: "dialog-panel " + className
3689
- }, /*#__PURE__*/React__default["default"].createElement("header", null, icon ? /*#__PURE__*/React__default["default"].createElement(MenuIcon, {
4022
+ className: "upload-file"
4023
+ }, icon ? /*#__PURE__*/React__default["default"].createElement(Icon, {
3690
4024
  icon: icon
3691
- }) : 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)));
4025
+ }) : 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, {
4026
+ progress: progress
4027
+ }), /*#__PURE__*/React__default["default"].createElement(Icon, {
4028
+ icon: "close",
4029
+ clickable: true
4030
+ })) : '', state === UPLOAD_STATES.SUCCESS ? /*#__PURE__*/React__default["default"].createElement("main", null, /*#__PURE__*/React__default["default"].createElement(Icon, {
4031
+ icon: "done"
4032
+ })) : '', state === UPLOAD_STATES.ERROR ? /*#__PURE__*/React__default["default"].createElement("main", null, /*#__PURE__*/React__default["default"].createElement("div", {
4033
+ className: "error"
4034
+ }, error), /*#__PURE__*/React__default["default"].createElement(Icon, {
4035
+ icon: "error"
4036
+ })) : ''));
4037
+ };
4038
+
4039
+ var UploadProgress = function UploadProgress(_ref) {
4040
+ var _ref$files = _ref.files,
4041
+ files = _ref$files === void 0 ? [] : _ref$files;
4042
+ return /*#__PURE__*/React__default["default"].createElement("div", null, files.map(function (file) {
4043
+ var f = {
4044
+ icon: "description",
4045
+ name: file.fileName,
4046
+ progress: file.progress() * 100,
4047
+ state: file.uploadState,
4048
+ error: file.uploadError
4049
+ };
4050
+ return /*#__PURE__*/React__default["default"].createElement(UploadFile$1, {
4051
+ key: f.name,
4052
+ file: f
4053
+ });
4054
+ }));
3692
4055
  };
3693
4056
 
3694
4057
  /**
3695
- * View
4058
+ * Uploader
3696
4059
  */
3697
- var View = function View(props) {
3698
- var id = props.id,
3699
- className = props.className,
3700
- icon = props.icon,
3701
- title = props.title,
3702
- toolbar = props.toolbar,
3703
- menu = props.menu,
3704
- info = props.info,
3705
- onClose = props.onClose,
3706
- _props$canCollapse = props.canCollapse,
3707
- canCollapse = _props$canCollapse === void 0 ? false : _props$canCollapse,
3708
- children = props.children;
3709
- var _useState = React.useState(true),
3710
- open = _useState[0],
3711
- setOpen = _useState[1];
3712
- function toggle() {
3713
- setOpen(!open);
4060
+ var Uploader = function Uploader(_ref) {
4061
+ var icon = _ref.icon,
4062
+ label = _ref.label,
4063
+ _ref$view = _ref.view,
4064
+ view = _ref$view === void 0 ? "area" : _ref$view,
4065
+ target = _ref.target,
4066
+ accept = _ref.accept,
4067
+ _ref$simultaneousUplo = _ref.simultaneousUploads,
4068
+ simultaneousUploads = _ref$simultaneousUplo === void 0 ? 1 : _ref$simultaneousUplo,
4069
+ className = _ref.className,
4070
+ onProgress = _ref.onProgress,
4071
+ onSuccess = _ref.onSuccess,
4072
+ onError = _ref.onError,
4073
+ onComplete = _ref.onComplete;
4074
+ var resumable = React.useMemo(function () {
4075
+ var config = {
4076
+ target: target,
4077
+ chunkSize: 1 * 1024 * 1024,
4078
+ simultaneousUploads: simultaneousUploads,
4079
+ testChunks: false,
4080
+ throttleProgressCallbacks: 1,
4081
+ fileType: accept
4082
+ };
4083
+ var resumable = new ResumableJS__default["default"](config);
4084
+ resumable.on('fileAdded', onFileAdded);
4085
+ resumable.on('fileProgress', onFileProgress);
4086
+ resumable.on('fileSuccess', onFileSuccess);
4087
+ resumable.on('fileError', onFileError);
4088
+ resumable.on('complete', onAllComplete);
4089
+ return resumable;
4090
+ }, []);
4091
+ var _useState = React.useState(0),
4092
+ setProgress = _useState[1];
4093
+ var _useState2 = React.useState(UPLOAD_STATES.IDLE),
4094
+ state = _useState2[0],
4095
+ setState = _useState2[1];
4096
+ var _useState3 = React.useState([]),
4097
+ files = _useState3[0],
4098
+ setFiles = _useState3[1];
4099
+ function onFileAdded(file) {
4100
+ files.push(file);
4101
+ setFiles(files);
4102
+ setState(UPLOAD_STATES.RUNNING);
4103
+ resumable.upload();
3714
4104
  }
3715
- function close() {
3716
- if (onClose) onClose();
4105
+ function onFileProgress(file) {
4106
+ file.uploadState = UPLOAD_STATES.RUNNING;
4107
+ var progress = file.progress();
4108
+ setProgress(progress);
4109
+ if (onProgress) onProgress(files);
3717
4110
  }
3718
- return /*#__PURE__*/React__default["default"].createElement("section", {
3719
- id: id,
3720
- className: "view " + className
3721
- }, /*#__PURE__*/React__default["default"].createElement("header", null, canCollapse ? /*#__PURE__*/React__default["default"].createElement(Icon, {
3722
- icon: "expand_more",
3723
- size: "small",
3724
- clickable: true,
3725
- action: toggle
3726
- }) : null, icon ? /*#__PURE__*/React__default["default"].createElement(Icon, {
3727
- icon: icon,
3728
- size: "small"
3729
- }) : null, title ? /*#__PURE__*/React__default["default"].createElement("label", null, title) : null, menu ? /*#__PURE__*/React__default["default"].createElement(MenuIcon, {
3730
- align: "alignRight"
3731
- }, menu) : null, onClose ? /*#__PURE__*/React__default["default"].createElement(Icon, {
3732
- icon: "close",
3733
- size: "small",
3734
- clickable: true,
3735
- action: close
3736
- }) : 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);
3737
- };
3738
- var TabbedView = function TabbedView(props) {
3739
- var title = props.title,
3740
- className = props.className,
3741
- selected = props.selected;
3742
- var _useState2 = React.useState(0),
3743
- tab = _useState2[0],
3744
- setTab = _useState2[1];
3745
- var children = React__default["default"].Children.toArray(props.children);
3746
- var tabs = children.map(function (child) {
3747
- return /*#__PURE__*/React__default["default"].createElement(Tab, {
3748
- key: child.props.label,
3749
- label: child.props.label
3750
- });
3751
- });
3752
- React.useEffect(function () {
3753
- if (selected && selected !== tab) setTab(selected);
3754
- }, [selected]);
3755
- var toolbar = /*#__PURE__*/React__default["default"].createElement(Tabs, {
3756
- selected: tab,
3757
- onChange: function onChange(tab) {
3758
- return setTab(tab);
4111
+ function onFileSuccess(file, message) {
4112
+ file.uploadState = UPLOAD_STATES.SUCCESS;
4113
+ if (onSuccess) onSuccess(file, message);
4114
+ }
4115
+ function onFileError(file, message) {
4116
+ file.uploadState = UPLOAD_STATES.ERROR;
4117
+ file.uploadError = message;
4118
+ if (onError) onError(file, message);
4119
+ }
4120
+ function onAllComplete() {
4121
+ setState(UPLOAD_STATES.COMPLETED);
4122
+ if (onComplete) onComplete(files);
4123
+ }
4124
+ function renderView() {
4125
+ switch (view) {
4126
+ case "area":
4127
+ return /*#__PURE__*/React__default["default"].createElement(UploadArea, {
4128
+ resumable: resumable,
4129
+ icon: icon,
4130
+ label: label
4131
+ });
4132
+ case "icon":
4133
+ return /*#__PURE__*/React__default["default"].createElement(UploadIcon, {
4134
+ resumable: resumable,
4135
+ icon: icon
4136
+ });
4137
+ default:
4138
+ return /*#__PURE__*/React__default["default"].createElement(UploadArea, {
4139
+ resumable: resumable,
4140
+ icon: icon,
4141
+ label: label
4142
+ });
3759
4143
  }
3760
- }, tabs);
3761
- return /*#__PURE__*/React__default["default"].createElement(View, {
3762
- title: title,
3763
- toolbar: toolbar,
3764
- className: className
3765
- }, /*#__PURE__*/React__default["default"].createElement(Stack, {
3766
- selected: tab
3767
- }, children));
4144
+ }
4145
+ return /*#__PURE__*/React__default["default"].createElement("div", {
4146
+ className: "uploader " + className
4147
+ }, state === UPLOAD_STATES.IDLE ? renderView() : /*#__PURE__*/React__default["default"].createElement(UploadProgress, {
4148
+ files: files
4149
+ }));
3768
4150
  };
3769
4151
 
3770
4152
  /**
@@ -3806,7 +4188,7 @@
3806
4188
  },
3807
4189
  disabled: !canClose()
3808
4190
  }));
3809
- var title = /*#__PURE__*/React__default["default"].createElement(Text, {
4191
+ var title = /*#__PURE__*/React__default["default"].createElement(Text$1, {
3810
4192
  use: "headline6"
3811
4193
  }, label);
3812
4194
  return /*#__PURE__*/React__default["default"].createElement(Dialog, {
@@ -3923,7 +4305,7 @@
3923
4305
  var folder = folders.find(function (folder) {
3924
4306
  return folder.id === selectedFolder;
3925
4307
  });
3926
- var folderTitle = folder ? /*#__PURE__*/React__default["default"].createElement(Text, null, folder.title) : '';
4308
+ var folderTitle = folder ? /*#__PURE__*/React__default["default"].createElement(Text$1, null, folder.title) : '';
3927
4309
  function switchView() {
3928
4310
  setView(view === 'grid' ? 'list' : 'grid');
3929
4311
  }
@@ -4131,7 +4513,7 @@
4131
4513
  className: "empty"
4132
4514
  }, /*#__PURE__*/React__default["default"].createElement("span", null, /*#__PURE__*/React__default["default"].createElement(Icon, {
4133
4515
  icon: icon
4134
- })), /*#__PURE__*/React__default["default"].createElement("br", null), /*#__PURE__*/React__default["default"].createElement(Text, {
4516
+ })), /*#__PURE__*/React__default["default"].createElement("br", null), /*#__PURE__*/React__default["default"].createElement(Text$1, {
4135
4517
  use: "subtitle2"
4136
4518
  }, text));
4137
4519
  };
@@ -4263,7 +4645,7 @@
4263
4645
  }, /*#__PURE__*/React__default["default"].createElement("div", null, id === "checked" && onCheckAll ? /*#__PURE__*/React__default["default"].createElement(CheckBox, {
4264
4646
  onChange: checkAll,
4265
4647
  value: allChecked
4266
- }) : /*#__PURE__*/React__default["default"].createElement(Text, {
4648
+ }) : /*#__PURE__*/React__default["default"].createElement(Text$1, {
4267
4649
  key: "th_" + id
4268
4650
  }, label), sortable ? /*#__PURE__*/React__default["default"].createElement(SortIcon, {
4269
4651
  sortDir: sortDir[id],
@@ -4990,7 +5372,7 @@
4990
5372
  onDelete = _ref2.onDelete;
4991
5373
  return /*#__PURE__*/React__default["default"].createElement("div", {
4992
5374
  className: "token"
4993
- }, /*#__PURE__*/React__default["default"].createElement(Text, {
5375
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, {
4994
5376
  use: "caption",
4995
5377
  tag: "div"
4996
5378
  }, text), /*#__PURE__*/React__default["default"].createElement(Icon, {
@@ -5026,7 +5408,7 @@
5026
5408
  children = _ref2.children,
5027
5409
  actions = _ref2.actions,
5028
5410
  onSelect = _ref2.onSelect;
5029
- var labelTxt = label ? /*#__PURE__*/React__default["default"].createElement(Text, {
5411
+ var labelTxt = label ? /*#__PURE__*/React__default["default"].createElement(Text$1, {
5030
5412
  format: TEXTFORMATS.STRING
5031
5413
  }, label) : null;
5032
5414
  function select() {
@@ -5066,7 +5448,7 @@
5066
5448
  if (onSelect) onSelect(id);
5067
5449
  }
5068
5450
  var style = selected ? "selected" : "";
5069
- var labelTxt = label ? /*#__PURE__*/React__default["default"].createElement(Text, {
5451
+ var labelTxt = label ? /*#__PURE__*/React__default["default"].createElement(Text$1, {
5070
5452
  format: TEXTFORMATS.STRING
5071
5453
  }, label) : null;
5072
5454
  return /*#__PURE__*/React__default["default"].createElement("div", {
@@ -5849,7 +6231,7 @@
5849
6231
  }).map(function (task) {
5850
6232
  return {
5851
6233
  id: task.id,
5852
- state: /*#__PURE__*/React__default["default"].createElement(Text, null, task.state),
6234
+ state: /*#__PURE__*/React__default["default"].createElement(Text$1, null, task.state),
5853
6235
  description: task.description,
5854
6236
  message: task.message,
5855
6237
  progress: /*#__PURE__*/React__default["default"].createElement(LinearProgress, {
@@ -5951,7 +6333,6 @@
5951
6333
  }
5952
6334
  function handleFiles(files) {
5953
6335
  var file = files[0];
5954
- console.log("handleFiles", files, file);
5955
6336
  setFile(file);
5956
6337
  }
5957
6338
  function handleFile(e) {
@@ -6486,7 +6867,7 @@
6486
6867
  }
6487
6868
  return /*#__PURE__*/React__default["default"].createElement("div", {
6488
6869
  className: "content-editor treeded-editor"
6489
- }, /*#__PURE__*/React__default["default"].createElement("menu", null, /*#__PURE__*/React__default["default"].createElement("header", null, /*#__PURE__*/React__default["default"].createElement(Text, {
6870
+ }, /*#__PURE__*/React__default["default"].createElement("menu", null, /*#__PURE__*/React__default["default"].createElement("header", null, /*#__PURE__*/React__default["default"].createElement(Text$1, {
6490
6871
  use: "caption"
6491
6872
  }, "Tree Editor")), /*#__PURE__*/React__default["default"].createElement(Tree, null, nodes.map(function (node, index) {
6492
6873
  return /*#__PURE__*/React__default["default"].createElement(TreeNode, {
@@ -6638,7 +7019,7 @@
6638
7019
  var sections = content.sections();
6639
7020
  return /*#__PURE__*/React__default["default"].createElement("div", {
6640
7021
  className: "entity-editor"
6641
- }, /*#__PURE__*/React__default["default"].createElement("header", null, /*#__PURE__*/React__default["default"].createElement(Text, {
7022
+ }, /*#__PURE__*/React__default["default"].createElement("header", null, /*#__PURE__*/React__default["default"].createElement(Text$1, {
6642
7023
  use: "caption"
6643
7024
  }, label)), sections.map(function (section) {
6644
7025
  var title = section.title,
@@ -6885,7 +7266,7 @@
6885
7266
  }
6886
7267
  return /*#__PURE__*/React__default["default"].createElement("div", {
6887
7268
  className: "multiselection-editor"
6888
- }, /*#__PURE__*/React__default["default"].createElement("label", null, /*#__PURE__*/React__default["default"].createElement(Text, null, label)), buildOptions().map(function (option) {
7269
+ }, /*#__PURE__*/React__default["default"].createElement("label", null, /*#__PURE__*/React__default["default"].createElement(Text$1, null, label)), buildOptions().map(function (option) {
6889
7270
  var checked = value.includes(option.value);
6890
7271
  switch (format) {
6891
7272
  case FORMATS$1.CHECKBOX:
@@ -7089,7 +7470,7 @@
7089
7470
  className: "empty-message"
7090
7471
  }, /*#__PURE__*/React__default["default"].createElement(Icon, {
7091
7472
  icon: "search_off"
7092
- }), /*#__PURE__*/React__default["default"].createElement(Text, null, "No Result Found"));
7473
+ }), /*#__PURE__*/React__default["default"].createElement(Text$1, null, "No Result Found"));
7093
7474
  var groups = items.reduce(function (groups, item) {
7094
7475
  var groupName = item[groupBy];
7095
7476
  if (!groupName) groupName = ("NO " + groupBy).toUpperCase();
@@ -7182,7 +7563,7 @@
7182
7563
  }
7183
7564
  return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement(Header, {
7184
7565
  icon: icon,
7185
- title: /*#__PURE__*/React__default["default"].createElement(Text, null, title)
7566
+ title: /*#__PURE__*/React__default["default"].createElement(Text$1, null, title)
7186
7567
  }, /*#__PURE__*/React__default["default"].createElement(DropDown, {
7187
7568
  id: "groupBy",
7188
7569
  label: "Agrupar Por",
@@ -7451,7 +7832,7 @@
7451
7832
  disabled: !isValid,
7452
7833
  raised: true
7453
7834
  }));
7454
- var title = /*#__PURE__*/React__default["default"].createElement(Text, {
7835
+ var title = /*#__PURE__*/React__default["default"].createElement(Text$1, {
7455
7836
  use: "headline6"
7456
7837
  }, label);
7457
7838
  var content = new Content(type, form);
@@ -7467,7 +7848,7 @@
7467
7848
  className: className,
7468
7849
  outlined: outlined
7469
7850
  }), errors.map(function (error) {
7470
- return /*#__PURE__*/React__default["default"].createElement(Text, {
7851
+ return /*#__PURE__*/React__default["default"].createElement(Text$1, {
7471
7852
  use: "overline",
7472
7853
  tag: "div",
7473
7854
  className: "error"
@@ -7533,7 +7914,7 @@
7533
7914
  disabled: !isValid,
7534
7915
  raised: true
7535
7916
  }));
7536
- var title = /*#__PURE__*/React__default["default"].createElement(Text, {
7917
+ var title = /*#__PURE__*/React__default["default"].createElement(Text$1, {
7537
7918
  use: "headline6"
7538
7919
  }, label);
7539
7920
  var content = new Content(type, form);
@@ -7548,7 +7929,7 @@
7548
7929
  filter: filterForm,
7549
7930
  className: className
7550
7931
  }), errors.map(function (error) {
7551
- return /*#__PURE__*/React__default["default"].createElement(Text, {
7932
+ return /*#__PURE__*/React__default["default"].createElement(Text$1, {
7552
7933
  use: "overline",
7553
7934
  tag: "div",
7554
7935
  className: "error"
@@ -7775,7 +8156,7 @@
7775
8156
  var hiddenStyle = pageContext.selected ? "hidden" : "";
7776
8157
  return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement(Header, {
7777
8158
  className: "collection-page " + className,
7778
- title: /*#__PURE__*/React__default["default"].createElement(Text, null, title2)
8159
+ title: /*#__PURE__*/React__default["default"].createElement(Text$1, null, title2)
7779
8160
  }, canAdd ? /*#__PURE__*/React__default["default"].createElement(Button, {
7780
8161
  icon: "add",
7781
8162
  label: "Add",
@@ -8255,7 +8636,7 @@
8255
8636
  }
8256
8637
  }
8257
8638
  var hasMenu = canDelete;
8258
- var saveLabel = /*#__PURE__*/React__default["default"].createElement(Text, null, "Guardar Cambios");
8639
+ var saveLabel = /*#__PURE__*/React__default["default"].createElement(Text$1, null, "Guardar Cambios");
8259
8640
  return selected && form ? /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement(Header, {
8260
8641
  icon: icon,
8261
8642
  title: renderTitle()
@@ -8698,7 +9079,7 @@
8698
9079
  }, total), " ", title);
8699
9080
  return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement(Header, {
8700
9081
  className: "table-page " + className,
8701
- title: /*#__PURE__*/React__default["default"].createElement(Text, null, title2)
9082
+ title: /*#__PURE__*/React__default["default"].createElement(Text$1, null, title2)
8702
9083
  }, canAdd ? /*#__PURE__*/React__default["default"].createElement(Button, {
8703
9084
  icon: "add",
8704
9085
  label: "A\xF1adir",
@@ -8855,7 +9236,7 @@
8855
9236
  }
8856
9237
  return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement(Header, {
8857
9238
  className: "table-queries",
8858
- title: /*#__PURE__*/React__default["default"].createElement(Text, null, "Queries")
9239
+ title: /*#__PURE__*/React__default["default"].createElement(Text$1, null, "Queries")
8859
9240
  }), /*#__PURE__*/React__default["default"].createElement("main", {
8860
9241
  className: "table-queries"
8861
9242
  }, queries ? queries.filter(function (query) {
@@ -8953,7 +9334,7 @@
8953
9334
  var content = new Content(filterSchema, form);
8954
9335
  return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement(Header, {
8955
9336
  className: "table-filters",
8956
- title: /*#__PURE__*/React__default["default"].createElement(Text, null, "Filters")
9337
+ title: /*#__PURE__*/React__default["default"].createElement(Text$1, null, "Filters")
8957
9338
  }, /*#__PURE__*/React__default["default"].createElement(Icon, {
8958
9339
  icon: "filter_list_off",
8959
9340
  size: "small",
@@ -9080,7 +9461,7 @@
9080
9461
  className: "empty-message"
9081
9462
  }, /*#__PURE__*/React__default["default"].createElement(Icon, {
9082
9463
  icon: "search_off"
9083
- }), /*#__PURE__*/React__default["default"].createElement(Text, null, "No Result Found"));
9464
+ }), /*#__PURE__*/React__default["default"].createElement(Text$1, null, "No Result Found"));
9084
9465
  var groups = items.reduce(function (groups, item) {
9085
9466
  var groupName = item[groupBy];
9086
9467
  if (!groupName) groupName = ("NO " + groupBy).toUpperCase();
@@ -9177,7 +9558,7 @@
9177
9558
  }
9178
9559
  return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement(Header, {
9179
9560
  icon: icon,
9180
- title: /*#__PURE__*/React__default["default"].createElement(Text, null, title)
9561
+ title: /*#__PURE__*/React__default["default"].createElement(Text$1, null, title)
9181
9562
  }, groupBy ? /*#__PURE__*/React__default["default"].createElement(DropDown, {
9182
9563
  id: "groupBy",
9183
9564
  label: "Agrupar Por",
@@ -9619,7 +10000,7 @@
9619
10000
  }
9620
10001
  return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement(Header, {
9621
10002
  className: "table-page " + className,
9622
- title: /*#__PURE__*/React__default["default"].createElement(Text, null, title)
10003
+ title: /*#__PURE__*/React__default["default"].createElement(Text$1, null, title)
9623
10004
  }, canAdd ? /*#__PURE__*/React__default["default"].createElement(Button, {
9624
10005
  icon: "add",
9625
10006
  label: "A\xF1adir",
@@ -9771,7 +10152,7 @@
9771
10152
  }
9772
10153
  return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement(Header, {
9773
10154
  className: "table-queries",
9774
- title: /*#__PURE__*/React__default["default"].createElement(Text, null, "Queries")
10155
+ title: /*#__PURE__*/React__default["default"].createElement(Text$1, null, "Queries")
9775
10156
  }), /*#__PURE__*/React__default["default"].createElement("main", {
9776
10157
  className: "table-queries"
9777
10158
  }, queries ? queries.filter(function (query) {
@@ -9856,7 +10237,7 @@
9856
10237
  var content = new Content(filterSchema, form);
9857
10238
  return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement(Header, {
9858
10239
  className: "table-filters",
9859
- title: /*#__PURE__*/React__default["default"].createElement(Text, null, "Filters")
10240
+ title: /*#__PURE__*/React__default["default"].createElement(Text$1, null, "Filters")
9860
10241
  }, /*#__PURE__*/React__default["default"].createElement(Icon, {
9861
10242
  icon: "filter_list_off",
9862
10243
  size: "small",
@@ -10061,7 +10442,7 @@
10061
10442
  className: "empty-message"
10062
10443
  }, /*#__PURE__*/React__default["default"].createElement(Icon, {
10063
10444
  icon: "search_off"
10064
- }), /*#__PURE__*/React__default["default"].createElement(Text, null, "No Result Found"));
10445
+ }), /*#__PURE__*/React__default["default"].createElement(Text$1, null, "No Result Found"));
10065
10446
  var groups = items.reduce(function (groups, item) {
10066
10447
  var groupName = item[groupBy];
10067
10448
  if (!groups[groupName]) groups[groupName] = [];
@@ -10124,10 +10505,10 @@
10124
10505
  });
10125
10506
  return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement(Header, {
10126
10507
  icon: icon,
10127
- title: /*#__PURE__*/React__default["default"].createElement(Text, null, title)
10508
+ title: /*#__PURE__*/React__default["default"].createElement(Text$1, null, title)
10128
10509
  }, groupBy ? /*#__PURE__*/React__default["default"].createElement(DropDown, {
10129
10510
  id: "groupBy",
10130
- label: /*#__PURE__*/React__default["default"].createElement(Text, null, "Group By"),
10511
+ label: /*#__PURE__*/React__default["default"].createElement(Text$1, null, "Group By"),
10131
10512
  value: groupBy,
10132
10513
  options: buildGroupOptions(schema),
10133
10514
  onChange: changeGroup
@@ -10651,7 +11032,7 @@
10651
11032
  }
10652
11033
  return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement(Header, {
10653
11034
  className: "table-page",
10654
- title: /*#__PURE__*/React__default["default"].createElement(Text, null, title)
11035
+ title: /*#__PURE__*/React__default["default"].createElement(Text$1, null, title)
10655
11036
  }, canAdd ? /*#__PURE__*/React__default["default"].createElement(Button, {
10656
11037
  icon: "add",
10657
11038
  label: "A\xF1adir",
@@ -10808,7 +11189,7 @@
10808
11189
  }
10809
11190
  return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement(Header, {
10810
11191
  className: "table-queries",
10811
- title: /*#__PURE__*/React__default["default"].createElement(Text, null, "Queries")
11192
+ title: /*#__PURE__*/React__default["default"].createElement(Text$1, null, "Queries")
10812
11193
  }), /*#__PURE__*/React__default["default"].createElement("main", {
10813
11194
  className: "table-queries"
10814
11195
  }, queries ? queries.filter(function (query) {
@@ -10906,7 +11287,7 @@
10906
11287
  var content = new Content(filterSchema, form);
10907
11288
  return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement(Header, {
10908
11289
  className: "table-filters",
10909
- title: /*#__PURE__*/React__default["default"].createElement(Text, null, "Filters")
11290
+ title: /*#__PURE__*/React__default["default"].createElement(Text$1, null, "Filters")
10910
11291
  }, /*#__PURE__*/React__default["default"].createElement(Icon, {
10911
11292
  icon: "filter_list_off",
10912
11293
  size: "small",
@@ -11034,7 +11415,7 @@
11034
11415
  className: "empty-message"
11035
11416
  }, /*#__PURE__*/React__default["default"].createElement(Icon, {
11036
11417
  icon: "search_off"
11037
- }), /*#__PURE__*/React__default["default"].createElement(Text, null, "No Result Found"));
11418
+ }), /*#__PURE__*/React__default["default"].createElement(Text$1, null, "No Result Found"));
11038
11419
  var groups = items.reduce(function (groups, item) {
11039
11420
  var groupName = item[groupBy];
11040
11421
  var group = groups[groupName];
@@ -11125,7 +11506,7 @@
11125
11506
  }
11126
11507
  return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement(Header, {
11127
11508
  icon: icon,
11128
- title: /*#__PURE__*/React__default["default"].createElement(Text, null, title)
11509
+ title: /*#__PURE__*/React__default["default"].createElement(Text$1, null, title)
11129
11510
  }, /*#__PURE__*/React__default["default"].createElement(DropDown, {
11130
11511
  id: "groupBy",
11131
11512
  label: "Agrupar Por",
@@ -12107,6 +12488,8 @@
12107
12488
  exports.Avatar = Avatar;
12108
12489
  exports.Button = Button;
12109
12490
  exports.Calendar = Calendar;
12491
+ exports.ChangeUserPasswordAction = ChangeUserPasswordAction;
12492
+ exports.ChangeUserPasswordDialog = ChangeUserPasswordDialog;
12110
12493
  exports.CheckBox = CheckBox;
12111
12494
  exports.Chip = Chip;
12112
12495
  exports.Chips = Chips;
@@ -12142,6 +12525,7 @@
12142
12525
  exports.FilesSearchBox = FilesSearchBox;
12143
12526
  exports.FilesTableView = FilesTableView;
12144
12527
  exports.FoldersTreeView = FoldersTreeView;
12528
+ exports.ForgetUserPasswordAction = ForgetUserPasswordAction;
12145
12529
  exports.Form = Form;
12146
12530
  exports.HTTPClient = HTTPClient;
12147
12531
  exports.Header = Header;
@@ -12152,6 +12536,7 @@
12152
12536
  exports.KanbanColumn = KanbanColumn;
12153
12537
  exports.KanbanHeader = KanbanHeader;
12154
12538
  exports.KanbanSwimlane = KanbanSwimlane;
12539
+ exports.LOGIN_DICTIONARY = LOGIN_DICTIONARY;
12155
12540
  exports.LinearProgress = LinearProgress;
12156
12541
  exports.List = List;
12157
12542
  exports.ListEditor = ListEditor;
@@ -12195,7 +12580,7 @@
12195
12580
  exports.TaskContextProvider = TaskContextProvider;
12196
12581
  exports.TaskMonitor = TaskMonitor;
12197
12582
  exports.TaskProgress = TaskProgress;
12198
- exports.Text = Text;
12583
+ exports.Text = Text$1;
12199
12584
  exports.TextArea = TextArea;
12200
12585
  exports.TextField = TextField;
12201
12586
  exports.Thumbnail = Thumbnail;
@@ -12206,6 +12591,7 @@
12206
12591
  exports.TreeItem = TreeItem;
12207
12592
  exports.TreeNode = TreeNode;
12208
12593
  exports.TreededContentEditor = TreededContentEditor;
12594
+ exports.UnlockUserAction = UnlockUserAction;
12209
12595
  exports.UploadArea = UploadArea;
12210
12596
  exports.UploadDialog = UploadDialog;
12211
12597
  exports.UploadFile = UploadFile$1;