@unbxd-ui/unbxd-react-components 0.2.145-beta.8 → 0.2.145-beta.9
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/components/DataLoader/DataLoader.stories.js +77 -13
- package/components/PageLoader/PageLoader.js +84 -0
- package/components/PageLoader/PageLoader.stories.js +276 -0
- package/components/PageLoader/index.js +9 -0
- package/components/PageLoader/pageLoaderCore.css +1 -0
- package/components/Table/Table.stories.js +1270 -11
- package/components/Table/TableChild.js +10 -3
- package/components/Table/tableCore.css +1 -1
- package/components/ToastNotification/ToastNotificationWrapper.js +212 -0
- package/components/ToastNotification/ToastNotificationWrapper.stories.js +554 -0
- package/components/ToastNotification/index.js +40 -0
- package/components/ToastNotification/toastNotificationCore.css +1 -0
- package/components/core.css +2 -2
- package/components/core.scss +4 -1
- package/components/index.js +44 -0
- package/core/dataLoader.js +5 -2
- package/index.js +42 -0
- package/package.json +1 -1
|
@@ -3,9 +3,10 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports["default"] = exports.WithErrorHandling = exports.WithCustomLoader = exports.MultipleRequests = exports.Interactive = exports.Default = void 0;
|
|
6
|
+
exports["default"] = exports.WithErrorHandling = exports.WithDifferentLoaderStates = exports.WithCustomLoader = exports.MultipleRequests = exports.Interactive = exports.Default = void 0;
|
|
7
7
|
var _react = _interopRequireDefault(require("react"));
|
|
8
8
|
var _DataLoader = _interopRequireDefault(require("./DataLoader"));
|
|
9
|
+
var _PageLoader = _interopRequireDefault(require("../PageLoader"));
|
|
9
10
|
var _dataLoader = _interopRequireDefault(require("../../core/dataLoader"));
|
|
10
11
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
11
12
|
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
@@ -47,17 +48,13 @@ var mockRequests = [{
|
|
|
47
48
|
}
|
|
48
49
|
}];
|
|
49
50
|
|
|
50
|
-
// Custom loader component
|
|
51
|
+
// Custom loader component using PageLoader
|
|
51
52
|
var CustomLoader = function CustomLoader() {
|
|
52
|
-
return /*#__PURE__*/_react["default"].createElement("
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
textAlign: 'center',
|
|
58
|
-
background: '#f5f5f5'
|
|
59
|
-
}
|
|
60
|
-
}, "Loading data...");
|
|
53
|
+
return /*#__PURE__*/_react["default"].createElement(_PageLoader["default"], {
|
|
54
|
+
header: "Loading Data",
|
|
55
|
+
messages: ['Fetching from API...', 'Processing data...', 'Almost ready...'],
|
|
56
|
+
showLoader: true
|
|
57
|
+
});
|
|
61
58
|
};
|
|
62
59
|
|
|
63
60
|
// Custom error component example
|
|
@@ -149,7 +146,8 @@ var WithErrorHandling = exports.WithErrorHandling = {
|
|
|
149
146
|
onDataFailed: function onDataFailed(err) {
|
|
150
147
|
console.error('Error:', err);
|
|
151
148
|
setError(err);
|
|
152
|
-
}
|
|
149
|
+
},
|
|
150
|
+
Loader: CustomLoader
|
|
153
151
|
}, error ? /*#__PURE__*/_react["default"].createElement(ErrorDisplay, {
|
|
154
152
|
error: error
|
|
155
153
|
}) : /*#__PURE__*/_react["default"].createElement("div", null, "Data loaded successfully!")));
|
|
@@ -182,7 +180,8 @@ var MultipleRequests = exports.MultipleRequests = {
|
|
|
182
180
|
},
|
|
183
181
|
onDataFailed: function onDataFailed(error) {
|
|
184
182
|
return console.error('Error:', error);
|
|
185
|
-
}
|
|
183
|
+
},
|
|
184
|
+
Loader: CustomLoader
|
|
186
185
|
}, /*#__PURE__*/_react["default"].createElement("div", null, "Multiple requests completed!"));
|
|
187
186
|
}
|
|
188
187
|
};
|
|
@@ -193,4 +192,69 @@ var Interactive = exports.Interactive = {
|
|
|
193
192
|
requests: mockRequests,
|
|
194
193
|
children: /*#__PURE__*/_react["default"].createElement("div", null, "Data loaded successfully!")
|
|
195
194
|
}
|
|
195
|
+
};
|
|
196
|
+
|
|
197
|
+
// Example with different PageLoader configurations
|
|
198
|
+
var WithDifferentLoaderStates = exports.WithDifferentLoaderStates = {
|
|
199
|
+
render: function render() {
|
|
200
|
+
var _React$useState3 = _react["default"].useState('simple'),
|
|
201
|
+
_React$useState4 = _slicedToArray(_React$useState3, 2),
|
|
202
|
+
loadingState = _React$useState4[0],
|
|
203
|
+
setLoadingState = _React$useState4[1];
|
|
204
|
+
var SimpleLoader = function SimpleLoader() {
|
|
205
|
+
return /*#__PURE__*/_react["default"].createElement(_PageLoader["default"], {
|
|
206
|
+
showLoader: true
|
|
207
|
+
});
|
|
208
|
+
};
|
|
209
|
+
var HeaderLoader = function HeaderLoader() {
|
|
210
|
+
return /*#__PURE__*/_react["default"].createElement(_PageLoader["default"], {
|
|
211
|
+
header: "Fetching User Data",
|
|
212
|
+
showLoader: true
|
|
213
|
+
});
|
|
214
|
+
};
|
|
215
|
+
var MessagesLoader = function MessagesLoader() {
|
|
216
|
+
return /*#__PURE__*/_react["default"].createElement(_PageLoader["default"], {
|
|
217
|
+
header: "Loading Dashboard",
|
|
218
|
+
messages: ['Connecting to database...', 'Fetching user preferences...', 'Loading dashboard widgets...', 'Finalizing setup...'],
|
|
219
|
+
showLoader: true
|
|
220
|
+
});
|
|
221
|
+
};
|
|
222
|
+
var getLoader = function getLoader() {
|
|
223
|
+
switch (loadingState) {
|
|
224
|
+
case 'simple':
|
|
225
|
+
return SimpleLoader;
|
|
226
|
+
case 'header':
|
|
227
|
+
return HeaderLoader;
|
|
228
|
+
case 'messages':
|
|
229
|
+
return MessagesLoader;
|
|
230
|
+
default:
|
|
231
|
+
return SimpleLoader;
|
|
232
|
+
}
|
|
233
|
+
};
|
|
234
|
+
return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
235
|
+
style: {
|
|
236
|
+
marginBottom: '20px'
|
|
237
|
+
}
|
|
238
|
+
}, /*#__PURE__*/_react["default"].createElement("label", null, "Loader Type: "), /*#__PURE__*/_react["default"].createElement("select", {
|
|
239
|
+
value: loadingState,
|
|
240
|
+
onChange: function onChange(e) {
|
|
241
|
+
return setLoadingState(e.target.value);
|
|
242
|
+
}
|
|
243
|
+
}, /*#__PURE__*/_react["default"].createElement("option", {
|
|
244
|
+
value: "simple"
|
|
245
|
+
}, "Simple Loader"), /*#__PURE__*/_react["default"].createElement("option", {
|
|
246
|
+
value: "header"
|
|
247
|
+
}, "With Header"), /*#__PURE__*/_react["default"].createElement("option", {
|
|
248
|
+
value: "messages"
|
|
249
|
+
}, "With Cycling Messages"))), /*#__PURE__*/_react["default"].createElement(_DataLoader["default"], {
|
|
250
|
+
requests: mockRequests,
|
|
251
|
+
Loader: getLoader(),
|
|
252
|
+
onDataLoaded: function onDataLoaded(results) {
|
|
253
|
+
return console.log('Data loaded:', results);
|
|
254
|
+
},
|
|
255
|
+
onDataFailed: function onDataFailed(error) {
|
|
256
|
+
return console.error('Error:', error);
|
|
257
|
+
}
|
|
258
|
+
}, /*#__PURE__*/_react["default"].createElement("div", null, "Data loaded successfully!")));
|
|
259
|
+
}
|
|
196
260
|
};
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = void 0;
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
10
|
+
var _excluded = ["className", "header", "messages", "showLoader", "messageInterval"];
|
|
11
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
12
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
13
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
14
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
15
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
16
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
17
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
18
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
19
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
20
|
+
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
21
|
+
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
|
|
22
|
+
var PageLoader = function PageLoader(_ref) {
|
|
23
|
+
var _ref$className = _ref.className,
|
|
24
|
+
className = _ref$className === void 0 ? "" : _ref$className,
|
|
25
|
+
header = _ref.header,
|
|
26
|
+
_ref$messages = _ref.messages,
|
|
27
|
+
messages = _ref$messages === void 0 ? [] : _ref$messages,
|
|
28
|
+
_ref$showLoader = _ref.showLoader,
|
|
29
|
+
showLoader = _ref$showLoader === void 0 ? true : _ref$showLoader,
|
|
30
|
+
_ref$messageInterval = _ref.messageInterval,
|
|
31
|
+
messageInterval = _ref$messageInterval === void 0 ? 2500 : _ref$messageInterval,
|
|
32
|
+
restProps = _objectWithoutProperties(_ref, _excluded);
|
|
33
|
+
var _useState = (0, _react.useState)(0),
|
|
34
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
35
|
+
currentMessageIndex = _useState2[0],
|
|
36
|
+
setCurrentMessageIndex = _useState2[1];
|
|
37
|
+
var _useState3 = (0, _react.useState)(true),
|
|
38
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
39
|
+
fade = _useState4[0],
|
|
40
|
+
setFade = _useState4[1];
|
|
41
|
+
(0, _react.useEffect)(function () {
|
|
42
|
+
if (messages.length > 1) {
|
|
43
|
+
var interval = setInterval(function () {
|
|
44
|
+
setFade(false); // Start fade-out
|
|
45
|
+
setTimeout(function () {
|
|
46
|
+
setCurrentMessageIndex(function (prev) {
|
|
47
|
+
return (prev + 1) % messages.length;
|
|
48
|
+
});
|
|
49
|
+
setFade(true); // Start fade-in
|
|
50
|
+
}, 250); // Adjust for smoother transition (half of fade duration)
|
|
51
|
+
}, messageInterval); // Change message every messageInterval
|
|
52
|
+
return function () {
|
|
53
|
+
return clearInterval(interval);
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
}, [messages, messageInterval]); // Add messageInterval to dependency array
|
|
57
|
+
|
|
58
|
+
if (!showLoader) return null;
|
|
59
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
60
|
+
className: "loader-wrapper"
|
|
61
|
+
}, /*#__PURE__*/_react["default"].createElement("div", _extends({
|
|
62
|
+
className: "page-loader ".concat(className)
|
|
63
|
+
}, restProps), /*#__PURE__*/_react["default"].createElement("img", {
|
|
64
|
+
src: "https://d3t0v15wul5tya.cloudfront.net/selfserve-ui/prod/assets/images/blueLoader.svg",
|
|
65
|
+
alt: "Loading..."
|
|
66
|
+
})), header && /*#__PURE__*/_react["default"].createElement("div", {
|
|
67
|
+
className: "loader-header"
|
|
68
|
+
}, header), messages.length > 0 && /*#__PURE__*/_react["default"].createElement("div", {
|
|
69
|
+
className: "loader-messages ".concat(fade ? "fade-in" : "fade-out")
|
|
70
|
+
}, messages[currentMessageIndex]));
|
|
71
|
+
};
|
|
72
|
+
PageLoader.propTypes = {
|
|
73
|
+
/** Additional CSS classes for the loader */
|
|
74
|
+
className: _propTypes["default"].string,
|
|
75
|
+
/** Header text to display above the loader */
|
|
76
|
+
header: _propTypes["default"].string,
|
|
77
|
+
/** Array of messages that cycle automatically */
|
|
78
|
+
messages: _propTypes["default"].arrayOf(_propTypes["default"].string),
|
|
79
|
+
/** Whether to show the loader */
|
|
80
|
+
showLoader: _propTypes["default"].bool,
|
|
81
|
+
/** Interval in milliseconds for message changes (default: 2500ms) */
|
|
82
|
+
messageInterval: _propTypes["default"].number
|
|
83
|
+
};
|
|
84
|
+
var _default = exports["default"] = PageLoader;
|
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = exports.WithSingleMessage = exports.WithHeader = exports.WithCyclingMessages = exports.SlowCyclingMessages = exports.MinimalLoader = exports.LongLoadingExample = exports.Interactive = exports.FastCyclingMessages = exports.Default = exports.DataLoadingSimulation = exports.CustomizableInterval = exports.CustomStyling = exports.AccessibilityFeatures = void 0;
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
var _PageLoader = _interopRequireDefault(require("./PageLoader"));
|
|
10
|
+
var _Button = _interopRequireDefault(require("../Button/Button"));
|
|
11
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
12
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
13
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
14
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
15
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
16
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
17
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
18
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
19
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
20
|
+
var meta = {
|
|
21
|
+
title: 'Components/PageLoader',
|
|
22
|
+
component: _PageLoader["default"],
|
|
23
|
+
parameters: {
|
|
24
|
+
layout: 'fullscreen',
|
|
25
|
+
docs: {
|
|
26
|
+
description: {
|
|
27
|
+
component: 'A full-screen page loader with animated dots and cycling messages. Shows a wave-scanning animation with optional header and rotating status messages.'
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
tags: ['autodocs'],
|
|
32
|
+
argTypes: {
|
|
33
|
+
className: {
|
|
34
|
+
control: 'text',
|
|
35
|
+
description: 'Additional CSS classes for the loader'
|
|
36
|
+
},
|
|
37
|
+
header: {
|
|
38
|
+
control: 'text',
|
|
39
|
+
description: 'Header text to display above the loader'
|
|
40
|
+
},
|
|
41
|
+
messages: {
|
|
42
|
+
control: 'object',
|
|
43
|
+
description: 'Array of messages that cycle automatically'
|
|
44
|
+
},
|
|
45
|
+
showLoader: {
|
|
46
|
+
control: 'boolean',
|
|
47
|
+
description: 'Whether to show the loader'
|
|
48
|
+
},
|
|
49
|
+
messageInterval: {
|
|
50
|
+
control: {
|
|
51
|
+
type: 'range',
|
|
52
|
+
min: 500,
|
|
53
|
+
max: 10000,
|
|
54
|
+
step: 500
|
|
55
|
+
},
|
|
56
|
+
description: 'Interval in milliseconds for message changes (default: 2500ms)'
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
var _default = exports["default"] = meta; // Default story
|
|
61
|
+
var Default = exports.Default = {
|
|
62
|
+
args: {
|
|
63
|
+
showLoader: true
|
|
64
|
+
},
|
|
65
|
+
render: function render(args) {
|
|
66
|
+
return /*#__PURE__*/_react["default"].createElement(_PageLoader["default"], args);
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
// With header only
|
|
71
|
+
var WithHeader = exports.WithHeader = {
|
|
72
|
+
args: {
|
|
73
|
+
showLoader: true,
|
|
74
|
+
header: "Loading Application"
|
|
75
|
+
},
|
|
76
|
+
render: function render(args) {
|
|
77
|
+
return /*#__PURE__*/_react["default"].createElement(_PageLoader["default"], args);
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
// With header and single message
|
|
82
|
+
var WithSingleMessage = exports.WithSingleMessage = {
|
|
83
|
+
args: {
|
|
84
|
+
showLoader: true,
|
|
85
|
+
header: "Processing Request",
|
|
86
|
+
messages: ["Please wait while we process your request..."]
|
|
87
|
+
},
|
|
88
|
+
render: function render(args) {
|
|
89
|
+
return /*#__PURE__*/_react["default"].createElement(_PageLoader["default"], args);
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
// With cycling messages
|
|
94
|
+
var WithCyclingMessages = exports.WithCyclingMessages = {
|
|
95
|
+
args: {
|
|
96
|
+
showLoader: true,
|
|
97
|
+
header: "Loading Dashboard",
|
|
98
|
+
messages: ["Initializing application...", "Loading user preferences...", "Fetching latest data...", "Almost ready..."],
|
|
99
|
+
messageInterval: 2000 // Slightly faster than default
|
|
100
|
+
},
|
|
101
|
+
render: function render(args) {
|
|
102
|
+
return /*#__PURE__*/_react["default"].createElement(_PageLoader["default"], args);
|
|
103
|
+
}
|
|
104
|
+
};
|
|
105
|
+
|
|
106
|
+
// Fast cycling messages
|
|
107
|
+
var FastCyclingMessages = exports.FastCyclingMessages = {
|
|
108
|
+
args: {
|
|
109
|
+
showLoader: true,
|
|
110
|
+
header: "Fast Message Cycling",
|
|
111
|
+
messages: ["Message 1", "Message 2", "Message 3", "Message 4"],
|
|
112
|
+
messageInterval: 1000 // 1 second interval
|
|
113
|
+
},
|
|
114
|
+
render: function render(args) {
|
|
115
|
+
return /*#__PURE__*/_react["default"].createElement(_PageLoader["default"], args);
|
|
116
|
+
}
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
// Slow cycling messages
|
|
120
|
+
var SlowCyclingMessages = exports.SlowCyclingMessages = {
|
|
121
|
+
args: {
|
|
122
|
+
showLoader: true,
|
|
123
|
+
header: "Slow Message Cycling",
|
|
124
|
+
messages: ["Taking time to process...", "This might take a while...", "Please be patient...", "Still working on it..."],
|
|
125
|
+
messageInterval: 5000 // 5 second interval
|
|
126
|
+
},
|
|
127
|
+
render: function render(args) {
|
|
128
|
+
return /*#__PURE__*/_react["default"].createElement(_PageLoader["default"], args);
|
|
129
|
+
}
|
|
130
|
+
};
|
|
131
|
+
|
|
132
|
+
// Customizable interval demo
|
|
133
|
+
var CustomizableInterval = exports.CustomizableInterval = {
|
|
134
|
+
args: {
|
|
135
|
+
showLoader: true,
|
|
136
|
+
header: "Customizable Message Speed",
|
|
137
|
+
messages: ["Adjust the controls to change speed", "Use the messageInterval prop", "Perfect for different use cases", "From fast alerts to slow processes"],
|
|
138
|
+
messageInterval: 2500 // Default interval
|
|
139
|
+
},
|
|
140
|
+
render: function render(args) {
|
|
141
|
+
return /*#__PURE__*/_react["default"].createElement(_PageLoader["default"], args);
|
|
142
|
+
}
|
|
143
|
+
};
|
|
144
|
+
|
|
145
|
+
// Long loading simulation
|
|
146
|
+
var LongLoadingExample = exports.LongLoadingExample = {
|
|
147
|
+
args: {
|
|
148
|
+
showLoader: true,
|
|
149
|
+
header: "Setting up your workspace",
|
|
150
|
+
messages: ["Connecting to servers...", "Downloading configuration...", "Installing dependencies...", "Optimizing performance...", "Finalizing setup...", "Almost there..."]
|
|
151
|
+
},
|
|
152
|
+
render: function render(args) {
|
|
153
|
+
return /*#__PURE__*/_react["default"].createElement(_PageLoader["default"], args);
|
|
154
|
+
}
|
|
155
|
+
};
|
|
156
|
+
|
|
157
|
+
// Interactive demo with toggle
|
|
158
|
+
var Interactive = exports.Interactive = {
|
|
159
|
+
args: {
|
|
160
|
+
header: "Interactive Demo",
|
|
161
|
+
messages: ["Click the button to toggle the loader", "Watch the messages cycle", "Notice the smooth animations"]
|
|
162
|
+
},
|
|
163
|
+
render: function render(args) {
|
|
164
|
+
var _useState = (0, _react.useState)(false),
|
|
165
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
166
|
+
isLoading = _useState2[0],
|
|
167
|
+
setIsLoading = _useState2[1];
|
|
168
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
169
|
+
style: {
|
|
170
|
+
padding: '2rem',
|
|
171
|
+
textAlign: 'center'
|
|
172
|
+
}
|
|
173
|
+
}, /*#__PURE__*/_react["default"].createElement("h2", null, "PageLoader Interactive Demo"), /*#__PURE__*/_react["default"].createElement("p", null, "Click the button below to show/hide the page loader:"), /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
174
|
+
onClick: function onClick() {
|
|
175
|
+
return setIsLoading(!isLoading);
|
|
176
|
+
},
|
|
177
|
+
appearance: "primary"
|
|
178
|
+
}, isLoading ? 'Hide Loader' : 'Show Loader'), /*#__PURE__*/_react["default"].createElement(_PageLoader["default"], _extends({}, args, {
|
|
179
|
+
showLoader: isLoading
|
|
180
|
+
})));
|
|
181
|
+
}
|
|
182
|
+
};
|
|
183
|
+
|
|
184
|
+
// Minimal loader (just animation)
|
|
185
|
+
var MinimalLoader = exports.MinimalLoader = {
|
|
186
|
+
args: {
|
|
187
|
+
showLoader: true
|
|
188
|
+
},
|
|
189
|
+
render: function render(args) {
|
|
190
|
+
return /*#__PURE__*/_react["default"].createElement(_PageLoader["default"], args);
|
|
191
|
+
}
|
|
192
|
+
};
|
|
193
|
+
|
|
194
|
+
// Custom styling example
|
|
195
|
+
var CustomStyling = exports.CustomStyling = {
|
|
196
|
+
args: {
|
|
197
|
+
showLoader: true,
|
|
198
|
+
className: "custom-loader",
|
|
199
|
+
header: "Custom Styled Loader",
|
|
200
|
+
messages: ["This loader has custom styling applied"]
|
|
201
|
+
},
|
|
202
|
+
render: function render(args) {
|
|
203
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("style", null, "\n .custom-loader .RCB-page-loader-backdrop {\n background: rgba(0, 0, 0, 0.8);\n }\n .custom-loader .RCB-page-loader-title {\n color: #fff;\n }\n .custom-loader .RCB-page-loader-message {\n color: #ccc;\n }\n "), /*#__PURE__*/_react["default"].createElement(_PageLoader["default"], args));
|
|
204
|
+
}
|
|
205
|
+
};
|
|
206
|
+
|
|
207
|
+
// Accessibility demo
|
|
208
|
+
var AccessibilityFeatures = exports.AccessibilityFeatures = {
|
|
209
|
+
args: {
|
|
210
|
+
showLoader: true,
|
|
211
|
+
header: "Accessibility Demo",
|
|
212
|
+
messages: ["This loader includes ARIA attributes", "Supports reduced motion preferences", "Screen reader friendly", "High contrast mode compatible"]
|
|
213
|
+
},
|
|
214
|
+
render: function render(args) {
|
|
215
|
+
return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
216
|
+
style: {
|
|
217
|
+
padding: '2rem',
|
|
218
|
+
marginBottom: '1rem',
|
|
219
|
+
background: '#f5f5f5'
|
|
220
|
+
}
|
|
221
|
+
}, /*#__PURE__*/_react["default"].createElement("h3", null, "Accessibility Features:"), /*#__PURE__*/_react["default"].createElement("ul", {
|
|
222
|
+
style: {
|
|
223
|
+
textAlign: 'left',
|
|
224
|
+
maxWidth: '600px',
|
|
225
|
+
margin: '0 auto'
|
|
226
|
+
}
|
|
227
|
+
}, /*#__PURE__*/_react["default"].createElement("li", null, /*#__PURE__*/_react["default"].createElement("strong", null, "ARIA Labels:"), " Proper role, aria-modal, aria-label, aria-live attributes"), /*#__PURE__*/_react["default"].createElement("li", null, /*#__PURE__*/_react["default"].createElement("strong", null, "Reduced Motion:"), " Respects prefers-reduced-motion setting"), /*#__PURE__*/_react["default"].createElement("li", null, /*#__PURE__*/_react["default"].createElement("strong", null, "High Contrast:"), " Adapts to high contrast mode"), /*#__PURE__*/_react["default"].createElement("li", null, /*#__PURE__*/_react["default"].createElement("strong", null, "Screen Readers:"), " Announces loading state and updates"), /*#__PURE__*/_react["default"].createElement("li", null, /*#__PURE__*/_react["default"].createElement("strong", null, "Keyboard Navigation:"), " Properly manages focus"))), /*#__PURE__*/_react["default"].createElement(_PageLoader["default"], args));
|
|
228
|
+
}
|
|
229
|
+
};
|
|
230
|
+
|
|
231
|
+
// Data loading simulation
|
|
232
|
+
var DataLoadingSimulation = exports.DataLoadingSimulation = {
|
|
233
|
+
args: {
|
|
234
|
+
header: "Data Loading Simulation"
|
|
235
|
+
},
|
|
236
|
+
render: function render(args) {
|
|
237
|
+
var _useState3 = (0, _react.useState)(0),
|
|
238
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
239
|
+
currentStep = _useState4[0],
|
|
240
|
+
setCurrentStep = _useState4[1];
|
|
241
|
+
var _useState5 = (0, _react.useState)(false),
|
|
242
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
243
|
+
isLoading = _useState6[0],
|
|
244
|
+
setIsLoading = _useState6[1];
|
|
245
|
+
var loadingSteps = ["Connecting to database...", "Authenticating user...", "Fetching user data...", "Loading preferences...", "Preparing dashboard...", "Complete!"];
|
|
246
|
+
var startLoading = function startLoading() {
|
|
247
|
+
setIsLoading(true);
|
|
248
|
+
setCurrentStep(0);
|
|
249
|
+
var interval = setInterval(function () {
|
|
250
|
+
setCurrentStep(function (prev) {
|
|
251
|
+
if (prev >= loadingSteps.length - 1) {
|
|
252
|
+
clearInterval(interval);
|
|
253
|
+
setTimeout(function () {
|
|
254
|
+
return setIsLoading(false);
|
|
255
|
+
}, 1000);
|
|
256
|
+
return prev;
|
|
257
|
+
}
|
|
258
|
+
return prev + 1;
|
|
259
|
+
});
|
|
260
|
+
}, 1500);
|
|
261
|
+
};
|
|
262
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
263
|
+
style: {
|
|
264
|
+
padding: '2rem',
|
|
265
|
+
textAlign: 'center'
|
|
266
|
+
}
|
|
267
|
+
}, /*#__PURE__*/_react["default"].createElement("h2", null, "Simulated Data Loading Process"), /*#__PURE__*/_react["default"].createElement("p", null, "This demo simulates a real loading sequence with step-by-step updates:"), /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
268
|
+
onClick: startLoading,
|
|
269
|
+
disabled: isLoading,
|
|
270
|
+
appearance: "primary"
|
|
271
|
+
}, "Start Loading Simulation"), /*#__PURE__*/_react["default"].createElement(_PageLoader["default"], _extends({}, args, {
|
|
272
|
+
showLoader: isLoading,
|
|
273
|
+
messages: [loadingSteps[currentStep]]
|
|
274
|
+
})));
|
|
275
|
+
}
|
|
276
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
var _PageLoader = _interopRequireDefault(require("./PageLoader"));
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
9
|
+
var _default = exports["default"] = _PageLoader["default"];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.page-loader{width:100%;height:fit-content;display:flex;justify-content:center;align-items:center}.loader-wrapper{text-align:center}.loader-header{color:#17173A;font-weight:600;font-size:16px;margin-top:15px}.loader-messages{color:#6F6F8D;margin-top:5px;font-weight:400;font-size:14px;transition:opacity 0.4s ease-in-out}.loader-messages.fade-in{opacity:1}.loader-messages.fade-out{opacity:0}
|