blue-react 8.7.3 → 8.8.1

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.
@@ -42,7 +42,11 @@ function Modal(_ref) {
42
42
  unSetModalContent = _ref.unSetModalContent,
43
43
  onSubmit = _ref.onSubmit,
44
44
  defaultInput = _ref.defaultInput,
45
- type = _ref.type;
45
+ type = _ref.type,
46
+ _ref$inputType = _ref.inputType,
47
+ inputType = _ref$inputType === void 0 ? "text" : _ref$inputType,
48
+ _ref$switchPrimaryBtn = _ref.switchPrimaryBtn,
49
+ switchPrimaryBtn = _ref$switchPrimaryBtn === void 0 ? false : _ref$switchPrimaryBtn;
46
50
  var modalRef = (0, _react.useRef)();
47
51
 
48
52
  var _useState = (0, _react.useState)(defaultInput || ""),
@@ -81,7 +85,7 @@ function Modal(_ref) {
81
85
  var focusFirstControl = function focusFirstControl() {
82
86
  var myModal = modalRef.current;
83
87
  myModal.removeEventListener("shown.bs.modal", focusFirstControl);
84
- var firstControl = myModal.querySelector(".btn, .form-control");
88
+ var firstControl = myModal.querySelector(".btn-primary, .form-control");
85
89
 
86
90
  if (firstControl) {
87
91
  firstControl.focus();
@@ -136,7 +140,7 @@ function Modal(_ref) {
136
140
  whiteSpace: "pre-wrap"
137
141
  }
138
142
  }, modalContent, type === "ask" && /*#__PURE__*/_react.default.createElement("input", {
139
- type: "text",
143
+ type: inputType,
140
144
  className: "form-control mt-1",
141
145
  value: input,
142
146
  onChange: function onChange(_ref2) {
@@ -148,10 +152,10 @@ function Modal(_ref) {
148
152
  className: "modal-footer"
149
153
  }, /*#__PURE__*/_react.default.createElement("button", {
150
154
  type: "submit",
151
- className: "btn btn-primary d-block w-100",
155
+ className: "btn ".concat(switchPrimaryBtn ? "btn-outline-primary" : "btn-primary", " d-block w-100"),
152
156
  style: btnStyle
153
157
  }, type === "verify" ? (0, _shared.getPhrase)("Yes") : "OK"), (type === "ask" || type === "verify") && (type === "verify" ? /*#__PURE__*/_react.default.createElement("button", {
154
- className: "btn btn-outline-primary d-block w-100",
158
+ className: "btn ".concat(switchPrimaryBtn ? "btn-primary" : "btn-outline-primary", " d-block w-100"),
155
159
  style: btnStyle,
156
160
  onClick: sayNo
157
161
  }, (0, _shared.getPhrase)("No")) : /*#__PURE__*/_react.default.createElement("button", {
@@ -72,21 +72,41 @@ var ModalProvider = function ModalProvider(_ref) {
72
72
  defaultInput = _useState10[0],
73
73
  setDefaultInput = _useState10[1];
74
74
 
75
+ var _useState11 = (0, _react.useState)(),
76
+ _useState12 = _slicedToArray(_useState11, 2),
77
+ inputType = _useState12[0],
78
+ setInputType = _useState12[1];
79
+
80
+ var _useState13 = (0, _react.useState)(false),
81
+ _useState14 = _slicedToArray(_useState13, 2),
82
+ switchPrimaryBtn = _useState14[0],
83
+ setSwitchPrimaryBtn = _useState14[1];
84
+
75
85
  var unSetModalContent = (0, _react.useCallback)(function () {
76
86
  setModalContent(undefined);
77
87
  }, [setModalContent]);
78
88
 
79
- var _useState11 = (0, _react.useState)(),
80
- _useState12 = _slicedToArray(_useState11, 2),
81
- onSubmit = _useState12[0],
82
- setOnSubmit = _useState12[1];
89
+ var _useState15 = (0, _react.useState)(),
90
+ _useState16 = _slicedToArray(_useState15, 2),
91
+ onSubmit = _useState16[0],
92
+ setOnSubmit = _useState16[1];
83
93
 
84
- var ask = function ask(text, title, icon) {
94
+ var ask = function ask(text, options) {
85
95
  return new Promise(function (resolve) {
86
96
  setType("ask");
87
97
  setModalContent(text);
88
- setModalTitle(title);
89
- setModalIcon(icon);
98
+
99
+ if (options) {
100
+ var title = options.title,
101
+ icon = options.icon,
102
+ _inputType = options.inputType,
103
+ _switchPrimaryBtn = options.switchPrimaryBtn;
104
+ setModalTitle(title);
105
+ setModalIcon(icon);
106
+ setInputType(_inputType);
107
+ setSwitchPrimaryBtn(_switchPrimaryBtn);
108
+ }
109
+
90
110
  setDefaultInput("");
91
111
  setOnSubmit(function () {
92
112
  return function (input) {
@@ -98,12 +118,20 @@ var ModalProvider = function ModalProvider(_ref) {
98
118
  });
99
119
  };
100
120
 
101
- var tell = function tell(text, title, icon) {
121
+ var tell = function tell(text, options) {
102
122
  return new Promise(function (resolve) {
103
123
  setType("tell");
104
124
  setModalContent(text);
105
- setModalTitle(title);
106
- setModalIcon(icon);
125
+
126
+ if (options) {
127
+ var title = options.title,
128
+ icon = options.icon,
129
+ _switchPrimaryBtn2 = options.switchPrimaryBtn;
130
+ setModalTitle(title);
131
+ setModalIcon(icon);
132
+ setSwitchPrimaryBtn(_switchPrimaryBtn2);
133
+ }
134
+
107
135
  setOnSubmit(function () {
108
136
  return function (input) {
109
137
  resolve(input ? true : false);
@@ -113,12 +141,20 @@ var ModalProvider = function ModalProvider(_ref) {
113
141
  });
114
142
  };
115
143
 
116
- var verify = function verify(text, title, icon) {
144
+ var verify = function verify(text, options) {
117
145
  return new Promise(function (resolve) {
118
146
  setType("verify");
119
147
  setModalContent(text);
120
- setModalTitle(title);
121
- setModalIcon(icon);
148
+
149
+ if (options) {
150
+ var title = options.title,
151
+ icon = options.icon,
152
+ _switchPrimaryBtn3 = options.switchPrimaryBtn;
153
+ setModalTitle(title);
154
+ setModalIcon(icon);
155
+ setSwitchPrimaryBtn(_switchPrimaryBtn3);
156
+ }
157
+
122
158
  setOnSubmit(function () {
123
159
  return function (input) {
124
160
  resolve(input ? true : false);
@@ -141,7 +177,9 @@ var ModalProvider = function ModalProvider(_ref) {
141
177
  unSetModalContent: unSetModalContent,
142
178
  onSubmit: onSubmit,
143
179
  defaultInput: defaultInput,
144
- type: type
180
+ type: type,
181
+ inputType: inputType,
182
+ switchPrimaryBtn: switchPrimaryBtn
145
183
  }));
146
184
  };
147
185
 
@@ -95,9 +95,13 @@ function resetAlertMessage(alertClassName) {
95
95
  });
96
96
  } else {
97
97
  var alertElement = document.querySelector(".blue-status-alert");
98
- document.querySelector(".blue-status-" + alertClassName).style.display = "";
99
- alertElement.style.display = "";
100
- removeClass(alertElement, "alert-" + (alertClassName === "loading" ? "info" : alertClassName));
98
+ var statusElement = document.querySelector(".blue-status-" + alertClassName);
99
+ if (statusElement) statusElement.style.display = "";
100
+
101
+ if (alertElement) {
102
+ alertElement.style.display = "";
103
+ removeClass(alertElement, "alert-" + (alertClassName === "loading" ? "info" : alertClassName));
104
+ }
101
105
  }
102
106
  }
103
107
 
@@ -106,25 +110,29 @@ function setAlertMessage(message) {
106
110
  var close = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
107
111
  var detailText = arguments.length > 3 ? arguments[3] : undefined;
108
112
  var alertElement = document.querySelector(".blue-status-alert");
109
- document.querySelector(".blue-status-" + alertClassName).style.display = "flex";
110
- alertElement.style.display = "block";
111
- addClass(alertElement, "alert-" + (alertClassName === "loading" ? "info" : alertClassName));
112
- alertElement.querySelector(".alert-body").innerHTML = "<h2>" + message + "</h2>";
113
+ var statusElement = document.querySelector(".blue-status-" + alertClassName);
114
+ if (statusElement) statusElement.style.display = "flex";
113
115
 
114
- if (detailText) {
115
- alertElement.querySelector(".alert-body").innerHTML += "<span>" + detailText + "</span>";
116
- }
116
+ if (alertElement) {
117
+ alertElement.style.display = "block";
118
+ addClass(alertElement, "alert-" + (alertClassName === "loading" ? "info" : alertClassName));
119
+ alertElement.querySelector(".alert-body").innerHTML = "<h2>" + message + "</h2>";
117
120
 
118
- var btnCloseElement = alertElement.querySelector(".btn-close");
121
+ if (detailText) {
122
+ alertElement.querySelector(".alert-body").innerHTML += "<span>" + detailText + "</span>";
123
+ }
119
124
 
120
- if (close) {
121
- btnCloseElement.style.display = "inline-block";
125
+ var btnCloseElement = alertElement.querySelector(".btn-close");
122
126
 
123
- btnCloseElement.onclick = function () {
124
- resetAlertMessage(alertClassName);
125
- };
126
- } else {
127
- btnCloseElement.style.display = "none";
127
+ if (close) {
128
+ btnCloseElement.style.display = "inline-block";
129
+
130
+ btnCloseElement.onclick = function () {
131
+ resetAlertMessage(alertClassName);
132
+ };
133
+ } else {
134
+ btnCloseElement.style.display = "none";
135
+ }
128
136
  }
129
137
  }
130
138