blue-react 7.9.1 → 8.0.0-next.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/README.md +22 -3
  2. package/dist/components/ActionMenu.js +8 -10
  3. package/dist/components/ActionMenuSwitch.js +2 -2
  4. package/dist/components/Body.js +1 -1
  5. package/dist/components/Grid.js +276 -287
  6. package/dist/components/Header.js +2 -2
  7. package/dist/components/HeaderTitle.js +6 -6
  8. package/dist/components/Intro.js +1 -12
  9. package/dist/components/Layout.js +295 -0
  10. package/dist/components/MenuItem.js +14 -10
  11. package/dist/components/Modal.js +16 -9
  12. package/dist/components/ModalProvider.js +11 -2
  13. package/dist/components/Outside.js +0 -4
  14. package/dist/components/Page.js +2 -7
  15. package/dist/components/Search.js +7 -7
  16. package/dist/components/SidebarMenu.js +7 -14
  17. package/dist/components/Status.js +67 -0
  18. package/dist/components/{DropdownMenuItem.js → StatusProvider.js} +54 -53
  19. package/dist/components/Utilities.js +11 -29
  20. package/dist/style.css +688 -621
  21. package/dist/style.min.css +5 -5
  22. package/dist/style.scss +1 -2
  23. package/dist/styles/_action-menu.scss +9 -9
  24. package/dist/styles/_general.scss +5 -5
  25. package/dist/styles/_grid.scss +56 -62
  26. package/dist/styles/_keyframes.scss +1 -1
  27. package/dist/styles/_mixins.scss +0 -1
  28. package/dist/styles/_search.scss +9 -9
  29. package/dist/styles/_status.scss +14 -14
  30. package/dist/styles/_variables.scss +6 -0
  31. package/dist/styles/mixins/_action-menu.scss +7 -7
  32. package/dist/styles/mixins/_sidebar.scss +22 -22
  33. package/dist/types/components/Grid.d.ts +12 -14
  34. package/dist/types/components/Layout.d.ts +111 -0
  35. package/dist/types/components/MenuItem.d.ts +4 -0
  36. package/dist/types/components/Modal.d.ts +1 -1
  37. package/dist/types/components/ModalProvider.d.ts +5 -2
  38. package/dist/types/components/SidebarMenu.d.ts +1 -5
  39. package/dist/types/components/Status.d.ts +12 -0
  40. package/dist/types/components/StatusProvider.d.ts +15 -0
  41. package/dist/types/components/Utilities.d.ts +0 -12
  42. package/dist/types/components/shared.d.ts +8 -0
  43. package/index.d.ts +6 -18
  44. package/index.js +4 -10
  45. package/package.json +7 -7
  46. package/dist/components/ActionMenuItem.js +0 -42
  47. package/dist/components/Actions.js +0 -107
  48. package/dist/components/BlueModal.js +0 -147
  49. package/dist/components/BlueModalProvider.js +0 -133
  50. package/dist/components/FluentBtn.js +0 -31
  51. package/dist/components/HeaderActions.js +0 -17
  52. package/dist/styles/_actions.scss +0 -137
  53. package/dist/styles/_ripple.scss +0 -30
  54. package/dist/styles/mixins/_actions.scss +0 -55
  55. package/dist/types/components/ActionMenuItem.d.ts +0 -41
  56. package/dist/types/components/Actions.d.ts +0 -31
  57. package/dist/types/components/BlueModal.d.ts +0 -14
  58. package/dist/types/components/BlueModalProvider.d.ts +0 -8
  59. package/dist/types/components/DropdownMenuItem.d.ts +0 -13
  60. package/dist/types/components/FluentBtn.d.ts +0 -26
  61. package/dist/types/components/HeaderActions.d.ts +0 -15
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = Status;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _clsx = _interopRequireDefault(require("clsx"));
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
14
+ function Status(_ref) {
15
+ var alert = _ref.alert,
16
+ onUnsetAlert = _ref.onUnsetAlert,
17
+ _ref$successIcon = _ref.successIcon,
18
+ successIcon = _ref$successIcon === void 0 ? "✔" : _ref$successIcon,
19
+ _ref$infoIcon = _ref.infoIcon,
20
+ infoIcon = _ref$infoIcon === void 0 ? "ℹ️" : _ref$infoIcon,
21
+ _ref$warningIcon = _ref.warningIcon,
22
+ warningIcon = _ref$warningIcon === void 0 ? "⚠️" : _ref$warningIcon,
23
+ _ref$dangerIcon = _ref.dangerIcon,
24
+ dangerIcon = _ref$dangerIcon === void 0 ? "❌" : _ref$dangerIcon,
25
+ _ref$status = _ref.status,
26
+ status = _ref$status === void 0 ? null : _ref$status;
27
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
28
+ className: (0, _clsx.default)("blue-status-circle blue-loading blue-status-loading", {
29
+ "d-block": status === "loading" || alert && alert.status === "loading"
30
+ })
31
+ }, /*#__PURE__*/_react.default.createElement("div", {
32
+ className: "spinner-bounce-circle"
33
+ }, /*#__PURE__*/_react.default.createElement("div", null), /*#__PURE__*/_react.default.createElement("div", null))), /*#__PURE__*/_react.default.createElement("div", {
34
+ className: (0, _clsx.default)("blue-status-circle blue-status-success", {
35
+ "d-flex": status === "success" || alert && alert.status === "success"
36
+ })
37
+ }, successIcon), /*#__PURE__*/_react.default.createElement("div", {
38
+ className: (0, _clsx.default)("blue-status-circle blue-status-info", {
39
+ "d-flex": status === "info" || alert && alert.status === "info"
40
+ })
41
+ }, infoIcon), /*#__PURE__*/_react.default.createElement("div", {
42
+ className: (0, _clsx.default)("blue-status-circle blue-status-warning", {
43
+ "d-flex": status === "warning" || alert && alert.status === "warning"
44
+ })
45
+ }, warningIcon), /*#__PURE__*/_react.default.createElement("div", {
46
+ className: (0, _clsx.default)("blue-status-circle blue-status-danger", {
47
+ "d-flex": status === "danger" || alert && alert.status === "danger"
48
+ })
49
+ }, dangerIcon), /*#__PURE__*/_react.default.createElement("div", {
50
+ className: "blue-status-alert alert"
51
+ }, /*#__PURE__*/_react.default.createElement("button", {
52
+ type: "button",
53
+ className: "btn-close float-end mb-1",
54
+ "aria-label": "Close"
55
+ }), /*#__PURE__*/_react.default.createElement("div", {
56
+ className: "alert-body"
57
+ })), alert && /*#__PURE__*/_react.default.createElement("div", {
58
+ className: (0, _clsx.default)("blue-status-alert alert d-block", alert.alertClassName, alert.status && "alert-".concat(alert.status))
59
+ }, /*#__PURE__*/_react.default.createElement("button", {
60
+ type: "button",
61
+ className: "btn-close float-end mb-1 d-inline-block",
62
+ "aria-label": "Close",
63
+ onClick: onUnsetAlert
64
+ }), /*#__PURE__*/_react.default.createElement("div", {
65
+ className: "alert-body"
66
+ }, alert.title && /*#__PURE__*/_react.default.createElement("h2", null, alert.title), alert.detailText && /*#__PURE__*/_react.default.createElement("span", null, alert.detailText))));
67
+ }
@@ -5,13 +5,13 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.default = DropdownMenuItem;
8
+ exports.StatusProvider = exports.useStatus = void 0;
9
9
 
10
10
  var _react = _interopRequireWildcard(require("react"));
11
11
 
12
- var _Caret = _interopRequireDefault(require("./Caret"));
12
+ var _Status = _interopRequireDefault(require("./Status"));
13
13
 
14
- var _Utilities = _interopRequireDefault(require("./Utilities"));
14
+ var _excluded = ["children", "successIcon", "infoIcon", "warningIcon", "dangerIcon"];
15
15
 
16
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
17
 
@@ -33,60 +33,61 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
33
33
 
34
34
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
35
35
 
36
- /**
37
- * @deprecated Use nested `MenuItem`s instead.
38
- * Dropdown with button for sidebar.
39
- */
40
- function DropdownMenuItem(props) {
41
- var _useState = (0, _react.useState)(props.isActive || false),
36
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
37
+
38
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
39
+
40
+ var StatusContext = /*#__PURE__*/(0, _react.createContext)({
41
+ setAlert: undefined,
42
+ setStatus: undefined
43
+ });
44
+
45
+ var StatusProvider = function StatusProvider(_ref) {
46
+ var children = _ref.children,
47
+ successIcon = _ref.successIcon,
48
+ infoIcon = _ref.infoIcon,
49
+ warningIcon = _ref.warningIcon,
50
+ dangerIcon = _ref.dangerIcon,
51
+ rest = _objectWithoutProperties(_ref, _excluded);
52
+
53
+ var _useState = (0, _react.useState)(null),
42
54
  _useState2 = _slicedToArray(_useState, 2),
43
- active = _useState2[0],
44
- setActive = _useState2[1];
55
+ alert = _useState2[0],
56
+ setAlert = _useState2[1];
45
57
 
46
- var _useState3 = (0, _react.useState)(false),
58
+ var _useState3 = (0, _react.useState)(null),
47
59
  _useState4 = _slicedToArray(_useState3, 2),
48
- showDropdown = _useState4[0],
49
- setShowDropdown = _useState4[1];
60
+ status = _useState4[0],
61
+ setStatus = _useState4[1];
50
62
 
51
- var handleClick = function handleClick() {
52
- if (props.children) {
53
- setShowDropdown(!showDropdown);
63
+ return /*#__PURE__*/_react.default.createElement(StatusContext.Provider, _extends({
64
+ value: {
65
+ setAlert: setAlert,
66
+ setStatus: setStatus
54
67
  }
55
- };
56
-
57
- var icon;
58
-
59
- if (typeof props.icon === "string") {
60
- // is className
61
- icon = /*#__PURE__*/_react.default.createElement("span", {
62
- className: props.icon + (props.children ? " blue-app-sidebar-dropdown-icon" : "")
63
- });
64
- } else {
65
- // is element / component
66
- icon = props.icon;
68
+ }, rest), children, /*#__PURE__*/_react.default.createElement(_Status.default, {
69
+ alert: alert || undefined,
70
+ onUnsetAlert: function onUnsetAlert() {
71
+ return setAlert(null);
72
+ },
73
+ successIcon: successIcon,
74
+ infoIcon: infoIcon,
75
+ warningIcon: warningIcon,
76
+ dangerIcon: dangerIcon,
77
+ status: status
78
+ }));
79
+ };
80
+
81
+ exports.StatusProvider = StatusProvider;
82
+
83
+ var useStatus = function useStatus() {
84
+ var context = (0, _react.useContext)(StatusContext);
85
+
86
+ if (context === undefined) {
87
+ throw new Error("useStatus must be used within a StatusProvider");
67
88
  }
68
89
 
69
- var id = {
70
- id: "blue-action-menu-item-" + _Utilities.default.guid()
71
- };
72
- return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", {
73
- className: "btn-group w-100"
74
- }, /*#__PURE__*/_react.default.createElement("a", _extends({}, id, {
75
- className: "blue-app-toggle-page blue-app-sidebar-btn btn pe-0 " + (active ? "active" : ""),
76
- href: props.to
77
- }), icon, /*#__PURE__*/_react.default.createElement("span", {
78
- className: "blue-app-sidebar-label"
79
- }, props.label)), /*#__PURE__*/_react.default.createElement("button", {
80
- type: "button",
81
- className: "btn blue-app-sidebar-btn w-auto ps-0",
82
- onClick: handleClick
83
- }, /*#__PURE__*/_react.default.createElement("span", {
84
- className: "sr-only"
85
- }, "Toggle Dropdown"), /*#__PURE__*/_react.default.createElement(_Caret.default, {
86
- open: showDropdown,
87
- mirrored: true,
88
- className: "w-auto ps-5 mt-2"
89
- }))), showDropdown && /*#__PURE__*/_react.default.createElement("div", {
90
- className: "blue-app-sidebar-dropdown"
91
- }, props.children));
92
- }
90
+ return context;
91
+ };
92
+
93
+ exports.useStatus = useStatus;
@@ -36,25 +36,25 @@ Utilities.toggleClass = function (element, className) {
36
36
  };
37
37
 
38
38
  Utilities.startLoading = function () {
39
- document.querySelectorAll(".blue-app-loading")[0].style.display = "block";
39
+ document.querySelectorAll(".blue-loading")[0].style.display = "block";
40
40
  };
41
41
 
42
42
  Utilities.finishLoading = function () {
43
- document.querySelectorAll(".blue-app-loading")[0].style.display = "";
43
+ document.querySelectorAll(".blue-loading")[0].style.display = "";
44
44
  };
45
45
 
46
46
  Utilities.showSuccess = function () {
47
- document.querySelectorAll(".blue-app-status-success")[0].style.display = "flex";
47
+ document.querySelectorAll(".blue-status-success")[0].style.display = "flex";
48
48
  };
49
49
 
50
50
  Utilities.hideSuccess = function () {
51
- document.querySelectorAll(".blue-app-status-success")[0].style.display = "";
51
+ document.querySelectorAll(".blue-status-success")[0].style.display = "";
52
52
  };
53
53
 
54
54
  Utilities.toggleActions = function () {
55
- this.toggleClass(document.querySelector(".blue-app-wrapper"), "active");
56
- this.toggleClass(document.querySelector(".blue-app-grid"), "wrapper-in");
57
- var els = document.querySelectorAll(".blue-app-actions");
55
+ this.toggleClass(document.querySelector(".blue-wrapper"), "active");
56
+ this.toggleClass(document.querySelector(".blue-layout"), "wrapper-in");
57
+ var els = document.querySelectorAll(".blue-actions");
58
58
 
59
59
  for (var i = 0; i < els.length; i++) {
60
60
  this.toggleClass(els[i], "open");
@@ -63,8 +63,8 @@ Utilities.toggleActions = function () {
63
63
 
64
64
  Utilities.resetAlertMessage = function () {
65
65
  var alertClassName = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "info";
66
- var alertElement = document.querySelectorAll(".blue-app-status-alert")[0];
67
- document.querySelectorAll(".blue-app-status-" + alertClassName)[0].style.display = "";
66
+ var alertElement = document.querySelectorAll(".blue-status-alert")[0];
67
+ document.querySelectorAll(".blue-status-" + alertClassName)[0].style.display = "";
68
68
  alertElement.style.display = "";
69
69
  this.removeClass(alertElement, "alert-" + (alertClassName === "loading" ? "info" : alertClassName));
70
70
  };
@@ -75,13 +75,13 @@ Utilities.setAlertMessage = function (message) {
75
75
  var alertClassName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "info";
76
76
  var close = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;
77
77
  var detailText = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : undefined;
78
- var alertElement = document.querySelectorAll(".blue-app-status-alert")[0];
78
+ var alertElement = document.querySelectorAll(".blue-status-alert")[0];
79
79
 
80
80
  if (alertClassName.indexOf("alert-") > -1) {
81
81
  alertClassName = alertClassName.replace("alert-", "");
82
82
  }
83
83
 
84
- document.querySelectorAll(".blue-app-status-" + alertClassName)[0].style.display = "flex";
84
+ document.querySelectorAll(".blue-status-" + alertClassName)[0].style.display = "flex";
85
85
  alertElement.style.display = "block";
86
86
  this.addClass(alertElement, "alert-" + (alertClassName === "loading" ? "info" : alertClassName));
87
87
  alertElement.querySelector(".alert-body").innerHTML = "<h2>" + message + "</h2>";
@@ -117,24 +117,6 @@ Utilities.scrollToTop = function () {
117
117
  top: 0
118
118
  });
119
119
  };
120
- /**
121
- * @deprecated Fluent buttons got removed from blue-react.
122
- */
123
-
124
-
125
- Utilities.fluentBtnsListener = function (event, btn) {};
126
- /**
127
- * @deprecated Fluent buttons got removed from blue-react.
128
- */
129
-
130
-
131
- Utilities.unregisterFluentBtns = function () {};
132
- /**
133
- * @deprecated Fluent buttons got removed from blue-react.
134
- */
135
-
136
-
137
- Utilities.registerFluentBtns = function () {};
138
120
 
139
121
  Utilities.fetchData = function (input) {
140
122
  var init = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;