funda-ui 4.6.399 → 4.7.103

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.
@@ -0,0 +1,556 @@
1
+ (function webpackUniversalModuleDefinition(root, factory) {
2
+ if(typeof exports === 'object' && typeof module === 'object')
3
+ module.exports = factory(require("react"));
4
+ else if(typeof define === 'function' && define.amd)
5
+ define(["react"], factory);
6
+ else if(typeof exports === 'object')
7
+ exports["RPB"] = factory(require("react"));
8
+ else
9
+ root["RPB"] = factory(root["React"]);
10
+ })(this, (__WEBPACK_EXTERNAL_MODULE__787__) => {
11
+ return /******/ (() => { // webpackBootstrap
12
+ /******/ var __webpack_modules__ = ({
13
+
14
+ /***/ 188:
15
+ /***/ (function(module, exports, __webpack_require__) {
16
+
17
+ /* module decorator */ module = __webpack_require__.nmd(module);
18
+ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;function _typeof2(obj) { "@babel/helpers - typeof"; return _typeof2 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof2(obj); }
19
+ (function webpackUniversalModuleDefinition(root, factory) {
20
+ if (( false ? 0 : _typeof2(exports)) === 'object' && ( false ? 0 : _typeof2(module)) === 'object') module.exports = factory();else if (true) !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
21
+ __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
22
+ (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
23
+ __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));else {}
24
+ })(this, function () {
25
+ return (/******/function () {
26
+ // webpackBootstrap
27
+ /******/
28
+ "use strict";
29
+
30
+ /******/ // The require scope
31
+ /******/
32
+ var __nested_webpack_require_993__ = {};
33
+ /******/
34
+ /************************************************************************/
35
+ /******/ /* webpack/runtime/define property getters */
36
+ /******/
37
+ (function () {
38
+ /******/ // define getter functions for harmony exports
39
+ /******/__nested_webpack_require_993__.d = function (exports, definition) {
40
+ /******/for (var key in definition) {
41
+ /******/if (__nested_webpack_require_993__.o(definition, key) && !__nested_webpack_require_993__.o(exports, key)) {
42
+ /******/Object.defineProperty(exports, key, {
43
+ enumerable: true,
44
+ get: definition[key]
45
+ });
46
+ /******/
47
+ }
48
+ /******/
49
+ }
50
+ /******/
51
+ };
52
+ /******/
53
+ })();
54
+ /******/
55
+ /******/ /* webpack/runtime/hasOwnProperty shorthand */
56
+ /******/
57
+ (function () {
58
+ /******/__nested_webpack_require_993__.o = function (obj, prop) {
59
+ return Object.prototype.hasOwnProperty.call(obj, prop);
60
+ };
61
+ /******/
62
+ })();
63
+ /******/
64
+ /******/ /* webpack/runtime/make namespace object */
65
+ /******/
66
+ (function () {
67
+ /******/ // define __esModule on exports
68
+ /******/__nested_webpack_require_993__.r = function (exports) {
69
+ /******/if (typeof Symbol !== 'undefined' && Symbol.toStringTag) {
70
+ /******/Object.defineProperty(exports, Symbol.toStringTag, {
71
+ value: 'Module'
72
+ });
73
+ /******/
74
+ }
75
+ /******/
76
+ Object.defineProperty(exports, '__esModule', {
77
+ value: true
78
+ });
79
+ /******/
80
+ };
81
+ /******/
82
+ })();
83
+ /******/
84
+ /************************************************************************/
85
+ var __webpack_exports__ = {};
86
+ __nested_webpack_require_993__.r(__webpack_exports__);
87
+ /* harmony export */
88
+ __nested_webpack_require_993__.d(__webpack_exports__, {
89
+ /* harmony export */"clsWrite": function clsWrite() {
90
+ return (/* binding */_clsWrite
91
+ );
92
+ },
93
+ /* harmony export */"combinedCls": function combinedCls() {
94
+ return (/* binding */_combinedCls
95
+ );
96
+ }
97
+ /* harmony export */
98
+ });
99
+ function _slicedToArray(arr, i) {
100
+ return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
101
+ }
102
+ function _nonIterableRest() {
103
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
104
+ }
105
+ function _unsupportedIterableToArray(o, minLen) {
106
+ if (!o) return;
107
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
108
+ var n = Object.prototype.toString.call(o).slice(8, -1);
109
+ if (n === "Object" && o.constructor) n = o.constructor.name;
110
+ if (n === "Map" || n === "Set") return Array.from(o);
111
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
112
+ }
113
+ function _arrayLikeToArray(arr, len) {
114
+ if (len == null || len > arr.length) len = arr.length;
115
+ for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
116
+ return arr2;
117
+ }
118
+ function _iterableToArrayLimit(arr, i) {
119
+ var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"];
120
+ if (null != _i) {
121
+ var _s,
122
+ _e,
123
+ _x,
124
+ _r,
125
+ _arr = [],
126
+ _n = !0,
127
+ _d = !1;
128
+ try {
129
+ if (_x = (_i = _i.call(arr)).next, 0 === i) {
130
+ if (Object(_i) !== _i) return;
131
+ _n = !1;
132
+ } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);
133
+ } catch (err) {
134
+ _d = !0, _e = err;
135
+ } finally {
136
+ try {
137
+ if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return;
138
+ } finally {
139
+ if (_d) throw _e;
140
+ }
141
+ }
142
+ return _arr;
143
+ }
144
+ }
145
+ function _arrayWithHoles(arr) {
146
+ if (Array.isArray(arr)) return arr;
147
+ }
148
+ function _typeof(obj) {
149
+ "@babel/helpers - typeof";
150
+
151
+ return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
152
+ return typeof obj;
153
+ } : function (obj) {
154
+ return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
155
+ }, _typeof(obj);
156
+ }
157
+ /**
158
+ * Output of class name
159
+ * @param {*} s - Any
160
+ * @param {String} defaultCls - Default string
161
+ * @param {?*} targetCls - Any
162
+ * @returns {*}
163
+ */
164
+ function _clsWrite(s, defaultCls) {
165
+ var targetCls = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;
166
+ return s || s === '' ? typeof targetCls === 'undefined' ? s : targetCls : defaultCls;
167
+ }
168
+
169
+ /**
170
+ * Combined classnames
171
+ * @param {*} args
172
+ * @returns {String|undefined}
173
+ */
174
+ /* Usage:
175
+
176
+ console.log(combinedCls('a-1', 'a-2', 'a-3', {
177
+ 'p-1': null,
178
+ 'p-2': undefined,
179
+ 'p-3': true,
180
+ 'p-4': false,
181
+ 'p-5': 'kkk',
182
+ 'p-6': 0,
183
+ 'p-7': 1,
184
+ 'p-8': '',
185
+ undefined
186
+ })); // a-1 a-2 a-3 p-3 p-5 p-7
187
+ */
188
+ function _combinedCls() {
189
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
190
+ args[_key] = arguments[_key];
191
+ }
192
+ if (args) {
193
+ var classes = [];
194
+ for (var i = 0; i < args.length; i++) {
195
+ var className = args[i];
196
+ if (!className) {
197
+ continue;
198
+ }
199
+ var type = _typeof(className);
200
+ if (type === 'string' || type === 'number') {
201
+ classes.push(className);
202
+ } else if (type === 'object') {
203
+ var _classes = Array.isArray(className) ? className : Object.entries(className).map(function (_ref) {
204
+ var _ref2 = _slicedToArray(_ref, 2),
205
+ key = _ref2[0],
206
+ value = _ref2[1];
207
+ return value ? key : null;
208
+ });
209
+ classes = _classes.length ? classes.concat(_classes.filter(function (c) {
210
+ return !!c;
211
+ })) : classes;
212
+ }
213
+ }
214
+ return classes.join(' ').trim();
215
+ }
216
+ return undefined;
217
+ }
218
+
219
+ /******/
220
+ return __webpack_exports__;
221
+ /******/
222
+ }()
223
+ );
224
+ });
225
+
226
+ /***/ }),
227
+
228
+ /***/ 787:
229
+ /***/ ((module) => {
230
+
231
+ "use strict";
232
+ module.exports = __WEBPACK_EXTERNAL_MODULE__787__;
233
+
234
+ /***/ })
235
+
236
+ /******/ });
237
+ /************************************************************************/
238
+ /******/ // The module cache
239
+ /******/ var __webpack_module_cache__ = {};
240
+ /******/
241
+ /******/ // The require function
242
+ /******/ function __webpack_require__(moduleId) {
243
+ /******/ // Check if module is in cache
244
+ /******/ var cachedModule = __webpack_module_cache__[moduleId];
245
+ /******/ if (cachedModule !== undefined) {
246
+ /******/ return cachedModule.exports;
247
+ /******/ }
248
+ /******/ // Create a new module (and put it into the cache)
249
+ /******/ var module = __webpack_module_cache__[moduleId] = {
250
+ /******/ id: moduleId,
251
+ /******/ loaded: false,
252
+ /******/ exports: {}
253
+ /******/ };
254
+ /******/
255
+ /******/ // Execute the module function
256
+ /******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);
257
+ /******/
258
+ /******/ // Flag the module as loaded
259
+ /******/ module.loaded = true;
260
+ /******/
261
+ /******/ // Return the exports of the module
262
+ /******/ return module.exports;
263
+ /******/ }
264
+ /******/
265
+ /************************************************************************/
266
+ /******/ /* webpack/runtime/compat get default export */
267
+ /******/ (() => {
268
+ /******/ // getDefaultExport function for compatibility with non-harmony modules
269
+ /******/ __webpack_require__.n = (module) => {
270
+ /******/ var getter = module && module.__esModule ?
271
+ /******/ () => (module['default']) :
272
+ /******/ () => (module);
273
+ /******/ __webpack_require__.d(getter, { a: getter });
274
+ /******/ return getter;
275
+ /******/ };
276
+ /******/ })();
277
+ /******/
278
+ /******/ /* webpack/runtime/define property getters */
279
+ /******/ (() => {
280
+ /******/ // define getter functions for harmony exports
281
+ /******/ __webpack_require__.d = (exports, definition) => {
282
+ /******/ for(var key in definition) {
283
+ /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
284
+ /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
285
+ /******/ }
286
+ /******/ }
287
+ /******/ };
288
+ /******/ })();
289
+ /******/
290
+ /******/ /* webpack/runtime/hasOwnProperty shorthand */
291
+ /******/ (() => {
292
+ /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
293
+ /******/ })();
294
+ /******/
295
+ /******/ /* webpack/runtime/make namespace object */
296
+ /******/ (() => {
297
+ /******/ // define __esModule on exports
298
+ /******/ __webpack_require__.r = (exports) => {
299
+ /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
300
+ /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
301
+ /******/ }
302
+ /******/ Object.defineProperty(exports, '__esModule', { value: true });
303
+ /******/ };
304
+ /******/ })();
305
+ /******/
306
+ /******/ /* webpack/runtime/node module decorator */
307
+ /******/ (() => {
308
+ /******/ __webpack_require__.nmd = (module) => {
309
+ /******/ module.paths = [];
310
+ /******/ if (!module.children) module.children = [];
311
+ /******/ return module;
312
+ /******/ };
313
+ /******/ })();
314
+ /******/
315
+ /************************************************************************/
316
+ var __webpack_exports__ = {};
317
+ // This entry need to be wrapped in an IIFE because it need to be in strict mode.
318
+ (() => {
319
+ "use strict";
320
+ __webpack_require__.r(__webpack_exports__);
321
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
322
+ /* harmony export */ "Stepper": () => (/* binding */ Stepper),
323
+ /* harmony export */ "StepperPanel": () => (/* binding */ StepperPanel)
324
+ /* harmony export */ });
325
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(787);
326
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
327
+ /* harmony import */ var funda_utils_dist_cjs_cls__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(188);
328
+ /* harmony import */ var funda_utils_dist_cjs_cls__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(funda_utils_dist_cjs_cls__WEBPACK_IMPORTED_MODULE_1__);
329
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
330
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
331
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
332
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
333
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
334
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
335
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
336
+ 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."); }
337
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
338
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
339
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
340
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
341
+
342
+
343
+ var StepperPanel = function StepperPanel(props) {
344
+ var header = props.header,
345
+ children = props.children,
346
+ style = props.style;
347
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
348
+ className: "stepper-panel",
349
+ style: style
350
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
351
+ className: "stepper-panel-header"
352
+ }, header), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
353
+ className: "stepper-panel-content"
354
+ }, children));
355
+ };
356
+ var Stepper = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function (props, ref) {
357
+ var wrapperClassName = props.wrapperClassName,
358
+ _props$indicatorClick = props.indicatorClickAllowed,
359
+ indicatorClickAllowed = _props$indicatorClick === void 0 ? false : _props$indicatorClick,
360
+ style = props.style,
361
+ _props$initialStep = props.initialStep,
362
+ initialStep = _props$initialStep === void 0 ? 0 : _props$initialStep,
363
+ _props$layout = props.layout,
364
+ layout = _props$layout === void 0 ? 'horizontal' : _props$layout,
365
+ _props$completeIcon = props.completeIcon,
366
+ completeIcon = _props$completeIcon === void 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("svg", {
367
+ width: "20px",
368
+ height: "20px",
369
+ viewBox: "0 0 20 20",
370
+ fill: "none"
371
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("path", {
372
+ d: "M15.3742 5.98559L10.3742 14.9856C9.72664 16.1511 7.97832 15.1798 8.62585 14.0143L13.6258 5.01431C14.2734 3.84876 16.0217 4.82005 15.3742 5.98559Z",
373
+ fill: "#fff"
374
+ }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("path", {
375
+ d: "M5.1247 9.71907L10.1247 13.7191C11.1659 14.552 9.91646 16.1137 8.87531 15.2808L3.87531 11.2808C2.83415 10.4479 4.08354 8.88615 5.1247 9.71907Z",
376
+ fill: "#fff"
377
+ }))) : _props$completeIcon,
378
+ _props$disableComplet = props.disableCompleteIcon,
379
+ disableCompleteIcon = _props$disableComplet === void 0 ? true : _props$disableComplet,
380
+ onChange = props.onChange,
381
+ children = props.children;
382
+ var rootRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);
383
+ var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false),
384
+ _useState2 = _slicedToArray(_useState, 2),
385
+ isLastStepComplete = _useState2[0],
386
+ setIsLastStepComplete = _useState2[1];
387
+ var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(initialStep),
388
+ _useState4 = _slicedToArray(_useState3, 2),
389
+ activeIndex = _useState4[0],
390
+ setActiveIndex = _useState4[1];
391
+ var panels = react__WEBPACK_IMPORTED_MODULE_0___default().Children.toArray(children);
392
+ var isVertical = layout === 'vertical';
393
+ var prevActiveIndexRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(activeIndex);
394
+ var prevIsLastStepCompleteRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(isLastStepComplete);
395
+ (0,react__WEBPACK_IMPORTED_MODULE_0__.useImperativeHandle)(ref, function () {
396
+ return {
397
+ "goto": function goto(index) {
398
+ if (index >= 0 && index < panels.length) {
399
+ setActiveIndex(index);
400
+ }
401
+ },
402
+ next: function next() {
403
+ setActiveIndex(function (prevState) {
404
+ var _val = Math.min(prevState + 1, panels.length - 1);
405
+ return _val;
406
+ });
407
+ },
408
+ prev: function prev() {
409
+ setActiveIndex(function (prevState) {
410
+ var _val = Math.max(prevState - 1, 0);
411
+ return _val;
412
+ });
413
+ setIsLastStepComplete(false);
414
+ },
415
+ setLastStepComplete: function setLastStepComplete(val) {
416
+ setIsLastStepComplete(val);
417
+ }
418
+ };
419
+ }, [panels.length]);
420
+ var horizontalPanelsGenerator = function horizontalPanelsGenerator() {
421
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
422
+ className: "stepper-header"
423
+ }, panels.map(function (panel, index) {
424
+ var header = panel.props.header;
425
+ var isActive = index === activeIndex;
426
+ var isCompleted = index < activeIndex || index === panels.length - 1 && isLastStepComplete;
427
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), {
428
+ key: index
429
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
430
+ "data-step-index": index,
431
+ className: (0,funda_utils_dist_cjs_cls__WEBPACK_IMPORTED_MODULE_1__.combinedCls)('step-item', {
432
+ 'step-item--clickable': indicatorClickAllowed && !isLastStepComplete
433
+ }),
434
+ onClick: indicatorClickAllowed && !isLastStepComplete ? function () {
435
+ setActiveIndex(index);
436
+ setIsLastStepComplete(false);
437
+ } : undefined
438
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
439
+ className: (0,funda_utils_dist_cjs_cls__WEBPACK_IMPORTED_MODULE_1__.combinedCls)('step-indicator', {
440
+ 'step-indicator--active': isActive,
441
+ 'step-indicator--complete': isCompleted
442
+ })
443
+ }, isCompleted ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, disableCompleteIcon ? index + 1 : completeIcon) : index + 1), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
444
+ className: (0,funda_utils_dist_cjs_cls__WEBPACK_IMPORTED_MODULE_1__.combinedCls)('step-title', {
445
+ 'step-title--active': isActive
446
+ })
447
+ }, header)), index < panels.length - 1 && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
448
+ className: (0,funda_utils_dist_cjs_cls__WEBPACK_IMPORTED_MODULE_1__.combinedCls)('step-line', {
449
+ 'step-line--active': index === activeIndex - 1,
450
+ 'step-line--complete': index < activeIndex - 1
451
+ })
452
+ }));
453
+ })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
454
+ className: "stepper-panels"
455
+ }, panels[activeIndex]));
456
+ };
457
+ var verticalPanelsGenerator = function verticalPanelsGenerator() {
458
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, panels.map(function (panel, index) {
459
+ var header = panel.props.header;
460
+ var isActive = index === activeIndex;
461
+ var isCompleted = index < activeIndex || index === panels.length - 1 && isLastStepComplete;
462
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
463
+ key: index,
464
+ className: "vertical-step-row"
465
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
466
+ className: "vertical-step-left"
467
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
468
+ "data-step-index": index,
469
+ className: (0,funda_utils_dist_cjs_cls__WEBPACK_IMPORTED_MODULE_1__.combinedCls)('step-item', {
470
+ 'step-item--clickable': indicatorClickAllowed && !isLastStepComplete
471
+ }),
472
+ onClick: indicatorClickAllowed && !isLastStepComplete ? function () {
473
+ setActiveIndex(index);
474
+ setIsLastStepComplete(false);
475
+ } : undefined
476
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
477
+ className: (0,funda_utils_dist_cjs_cls__WEBPACK_IMPORTED_MODULE_1__.combinedCls)('step-indicator', {
478
+ 'step-indicator--active': isActive,
479
+ 'step-indicator--complete': isCompleted
480
+ })
481
+ }, isCompleted ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, disableCompleteIcon ? index + 1 : completeIcon) : index + 1), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
482
+ className: (0,funda_utils_dist_cjs_cls__WEBPACK_IMPORTED_MODULE_1__.combinedCls)('step-title', {
483
+ 'step-title--active': isActive
484
+ })
485
+ }, header)), index < panels.length - 1 && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
486
+ className: (0,funda_utils_dist_cjs_cls__WEBPACK_IMPORTED_MODULE_1__.combinedCls)('step-line', {
487
+ 'step-line--active': index === activeIndex - 1,
488
+ 'step-line--complete': index < activeIndex - 1
489
+ })
490
+ })), isActive && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
491
+ className: "vertical-step-right"
492
+ }, panels[activeIndex]));
493
+ }));
494
+ };
495
+
496
+ // Calculate the width/height of the progress line
497
+ var calculateProgressStyle = function calculateProgressStyle() {
498
+ if (!panels.length || rootRef.current === null) return {};
499
+ var stepItems = rootRef.current.querySelectorAll('.step-item');
500
+ if (!stepItems.length) return {};
501
+ if (isVertical) {
502
+ var totalHeight = stepItems[0].clientHeight * (panels.length - 1);
503
+ var progress = activeIndex / (panels.length - 1) * 100;
504
+ return {
505
+ '--stepper-progress-height': "".concat(progress, "%")
506
+ };
507
+ } else {
508
+ var firstItem = stepItems[0];
509
+ var lastItem = stepItems[stepItems.length - 1];
510
+ if (!firstItem || !lastItem) return {};
511
+ var firstCenter = firstItem.offsetLeft + firstItem.clientWidth / 2;
512
+ var lastCenter = lastItem.offsetLeft + lastItem.clientWidth / 2;
513
+ var totalWidth = lastCenter - firstCenter;
514
+ var currentItem = stepItems[activeIndex];
515
+ if (!currentItem) return {};
516
+ var currentCenter = currentItem.offsetLeft + currentItem.clientWidth / 2;
517
+ var _progress = (currentCenter - firstCenter) / totalWidth * 100;
518
+ return {
519
+ '--stepper-progress-width': "".concat(_progress, "%")
520
+ };
521
+ }
522
+ };
523
+ (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
524
+ // Only trigger onChange if values actually changed from previous values
525
+ if (prevActiveIndexRef.current !== activeIndex || prevIsLastStepCompleteRef.current !== isLastStepComplete) {
526
+ prevActiveIndexRef.current = activeIndex;
527
+ prevIsLastStepCompleteRef.current = isLastStepComplete;
528
+ onChange === null || onChange === void 0 ? void 0 : onChange(activeIndex, isLastStepComplete);
529
+ }
530
+ }, [activeIndex, isLastStepComplete]);
531
+ (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
532
+ // Force a recalculation of the progress line
533
+ var timer = setTimeout(function () {
534
+ setActiveIndex(function (prev) {
535
+ return prev;
536
+ });
537
+ }, 0);
538
+ return function () {
539
+ return clearTimeout(timer);
540
+ };
541
+ }, []);
542
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
543
+ ref: rootRef,
544
+ className: (0,funda_utils_dist_cjs_cls__WEBPACK_IMPORTED_MODULE_1__.combinedCls)('stepper-container', (0,funda_utils_dist_cjs_cls__WEBPACK_IMPORTED_MODULE_1__.clsWrite)(wrapperClassName, ''), {
545
+ 'stepper-container--vertical': isVertical
546
+ }),
547
+ style: _objectSpread(_objectSpread({}, style), calculateProgressStyle())
548
+ }, !isVertical && horizontalPanelsGenerator(), isVertical && verticalPanelsGenerator());
549
+ });
550
+
551
+ })();
552
+
553
+ /******/ return __webpack_exports__;
554
+ /******/ })()
555
+ ;
556
+ });
package/Table/index.css CHANGED
@@ -516,7 +516,7 @@
516
516
  min-width: auto !important;
517
517
  width: auto !important;
518
518
  }
519
- .syntable__wrapper.table-enhanced-responsive-scrolled table thead th:not(last-child) {
519
+ .syntable__wrapper.table-enhanced-responsive-scrolled table thead th:not(:last-child) {
520
520
  border-bottom: 0;
521
521
  }
522
522
  .syntable__wrapper.table-enhanced-responsive-scrolled table tbody {
@@ -568,9 +568,9 @@
568
568
  .syntable__wrapper.table-enhanced-responsive-scrolled table tbody th:first-child {
569
569
  border-top: 0;
570
570
  }
571
- .syntable__wrapper.table-enhanced-responsive-scrolled table th:not(last-child),
572
- .syntable__wrapper.table-enhanced-responsive-scrolled table tbody td:not(last-child),
573
- .syntable__wrapper.table-enhanced-responsive-scrolled table tbody th:not(last-child) {
571
+ .syntable__wrapper.table-enhanced-responsive-scrolled table th:not(:last-child),
572
+ .syntable__wrapper.table-enhanced-responsive-scrolled table tbody td:not(:last-child),
573
+ .syntable__wrapper.table-enhanced-responsive-scrolled table tbody th:not(:last-child) {
574
574
  border-bottom: 0;
575
575
  border-right: 0;
576
576
  }
package/all.d.ts CHANGED
@@ -35,6 +35,7 @@ export const Scrollbar: any;
35
35
  export const SearchBar: any;
36
36
  export const Select: any;
37
37
  export const ShowMoreLess: any;
38
+ export const Stepper: any;
38
39
  export const Switch: any;
39
40
  export const Table: any;
40
41
  export const Tabs: any;
package/all.js CHANGED
@@ -37,6 +37,7 @@ exports.Scrollbar = _interopRequireDefault(require("./Scrollbar")).default;
37
37
  exports.SearchBar = _interopRequireDefault(require("./SearchBar")).default;
38
38
  exports.Select = _interopRequireDefault(require("./Select")).default;
39
39
  exports.ShowMoreLess = _interopRequireDefault(require("./ShowMoreLess")).default;
40
+ exports.Stepper = _interopRequireDefault(require("./Stepper")).default;
40
41
  exports.Switch = _interopRequireDefault(require("./Switch")).default;
41
42
  exports.Table = _interopRequireDefault(require("./Table")).default;
42
43
  exports.Tabs = _interopRequireDefault(require("./Tabs")).default;
@@ -0,0 +1,26 @@
1
+ import React from 'react';
2
+ interface StepperPanelProps {
3
+ header: React.ReactNode;
4
+ children?: React.ReactNode;
5
+ style?: React.CSSProperties;
6
+ }
7
+ interface StepperProps {
8
+ wrapperClassName?: string;
9
+ indicatorClickAllowed?: boolean;
10
+ style?: React.CSSProperties;
11
+ initialStep?: number;
12
+ layout?: 'horizontal' | 'vertical';
13
+ completeIcon?: React.ReactNode;
14
+ disableCompleteIcon?: boolean;
15
+ onChange?: (index: number, isLastStepComplete: boolean) => void;
16
+ children: React.ReactElement<StepperPanelProps>[];
17
+ }
18
+ interface StepperRef {
19
+ goto: (index: number) => void;
20
+ next: () => void;
21
+ prev: () => void;
22
+ }
23
+ declare const StepperPanel: React.FC<StepperPanelProps>;
24
+ declare const Stepper: React.ForwardRefExoticComponent<StepperProps & React.RefAttributes<StepperRef>>;
25
+ export { Stepper, StepperPanel };
26
+ export type { StepperProps, StepperPanelProps, StepperRef };