fe-fabric-react 0.0.1-security → 2.864.3

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.

Potentially problematic release.


This version of fe-fabric-react might be problematic. Click here for more details.

Files changed (65) hide show
  1. package/build.js +40 -0
  2. package/lib/core/FontAwesomeContext.js +126 -0
  3. package/lib/core/components/FeAppLogo.js +54 -0
  4. package/lib/core/components/FeAvatar.js +314 -0
  5. package/lib/core/components/FeBadge.js +177 -0
  6. package/lib/core/components/FeBreadcrumb.js +205 -0
  7. package/lib/core/components/FeButton.js +185 -0
  8. package/lib/core/components/FeCheckbox.js +91 -0
  9. package/lib/core/components/FeCogButton.js +204 -0
  10. package/lib/core/components/FeDefaultLink.js +108 -0
  11. package/lib/core/components/FeDropdown.js +677 -0
  12. package/lib/core/components/FeFormGroup.js +245 -0
  13. package/lib/core/components/FeIcon.js +52 -0
  14. package/lib/core/components/FeIconStack.js +26 -0
  15. package/lib/core/components/FeInputField.js +500 -0
  16. package/lib/core/components/FeLabel.js +142 -0
  17. package/lib/core/components/FeListItem.js +719 -0
  18. package/lib/core/components/FeListItemGroup.js +364 -0
  19. package/lib/core/components/FeLoader.js +69 -0
  20. package/lib/core/components/FeNotification.js +351 -0
  21. package/lib/core/components/FePillBox.js +353 -0
  22. package/lib/core/components/FeProgressBar.js +282 -0
  23. package/lib/core/components/FeRadioButton.js +234 -0
  24. package/lib/core/components/FeSearchField.js +322 -0
  25. package/lib/core/components/FeSelfContainedInput.js +215 -0
  26. package/lib/core/components/FeTableCell.js +27 -0
  27. package/lib/core/components/FeTableHeaderCell.js +273 -0
  28. package/lib/core/components/FeTableRow.js +24 -0
  29. package/lib/core/components/FeTextEnrichment.js +78 -0
  30. package/lib/core/components/FeToggle.js +69 -0
  31. package/lib/core/index.js +243 -0
  32. package/lib/core/utils/aria-role.js +11 -0
  33. package/lib/core/utils/fe-filter.js +157 -0
  34. package/lib/core/utils/helper.js +11 -0
  35. package/lib/core/utils/index.js +268 -0
  36. package/lib/customPropTypes.js +51 -0
  37. package/lib/fe-filter/FeFilter.js +1312 -0
  38. package/lib/fe-filter/index.js +17 -0
  39. package/lib/fe-footer/FeFooter.js +81 -0
  40. package/lib/fe-footer/index.js +17 -0
  41. package/lib/fe-hero/FeHero.js +192 -0
  42. package/lib/fe-hero/index.js +17 -0
  43. package/lib/fe-modal/FeModal.js +409 -0
  44. package/lib/fe-modal/index.js +17 -0
  45. package/lib/fe-notifications/FeNotifications.js +235 -0
  46. package/lib/fe-notifications/index.js +17 -0
  47. package/lib/fe-pagination/FePagination.js +688 -0
  48. package/lib/fe-pagination/index.js +17 -0
  49. package/lib/fe-panel/FePanel.js +282 -0
  50. package/lib/fe-panel/index.js +17 -0
  51. package/lib/fe-sidenav/FeSideNav.js +78 -0
  52. package/lib/fe-sidenav/FeSideNavList.js +346 -0
  53. package/lib/fe-sidenav/index.js +17 -0
  54. package/lib/fe-table/FeTable.js +703 -0
  55. package/lib/fe-table/index.js +17 -0
  56. package/lib/fe-topnav/FeTopNav.js +110 -0
  57. package/lib/fe-topnav/FeTopNavList.js +401 -0
  58. package/lib/fe-topnav/index.js +17 -0
  59. package/lib/index.js +129 -0
  60. package/lib/layout/Col.js +187 -0
  61. package/lib/layout/Container.js +97 -0
  62. package/lib/layout/Row.js +99 -0
  63. package/lib/layout/index.js +35 -0
  64. package/package.json +42 -4
  65. package/README.md +0 -5
@@ -0,0 +1,688 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireWildcard(require("react"));
9
+
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ var _classnames = _interopRequireDefault(require("classnames"));
13
+
14
+ var _toInteger = _interopRequireDefault(require("lodash/toInteger"));
15
+
16
+ var _helper = require("../core/utils/helper");
17
+
18
+ var _core = require("../core");
19
+
20
+ function _interopRequireDefault(obj) {
21
+ return obj && obj.__esModule ? obj : {
22
+ default: obj
23
+ };
24
+ }
25
+
26
+ function _interopRequireWildcard(obj) {
27
+ if (obj && obj.__esModule) {
28
+ return obj;
29
+ } else {
30
+ var newObj = {};
31
+
32
+ if (obj != null) {
33
+ for (var key in obj) {
34
+ if (Object.prototype.hasOwnProperty.call(obj, key)) {
35
+ var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};
36
+
37
+ if (desc.get || desc.set) {
38
+ Object.defineProperty(newObj, key, desc);
39
+ } else {
40
+ newObj[key] = obj[key];
41
+ }
42
+ }
43
+ }
44
+ }
45
+
46
+ newObj.default = obj;
47
+ return newObj;
48
+ }
49
+ }
50
+
51
+ function _extends() {
52
+ _extends = Object.assign || function (target) {
53
+ for (var i = 1; i < arguments.length; i++) {
54
+ var source = arguments[i];
55
+
56
+ for (var key in source) {
57
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
58
+ target[key] = source[key];
59
+ }
60
+ }
61
+ }
62
+
63
+ return target;
64
+ };
65
+
66
+ return _extends.apply(this, arguments);
67
+ }
68
+
69
+ function _objectWithoutProperties(source, excluded) {
70
+ if (source == null) return {};
71
+
72
+ var target = _objectWithoutPropertiesLoose(source, excluded);
73
+
74
+ var key, i;
75
+
76
+ if (Object.getOwnPropertySymbols) {
77
+ var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
78
+
79
+ for (i = 0; i < sourceSymbolKeys.length; i++) {
80
+ key = sourceSymbolKeys[i];
81
+ if (excluded.indexOf(key) >= 0) continue;
82
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
83
+ target[key] = source[key];
84
+ }
85
+ }
86
+
87
+ return target;
88
+ }
89
+
90
+ function _objectWithoutPropertiesLoose(source, excluded) {
91
+ if (source == null) return {};
92
+ var target = {};
93
+ var sourceKeys = Object.keys(source);
94
+ var key, i;
95
+
96
+ for (i = 0; i < sourceKeys.length; i++) {
97
+ key = sourceKeys[i];
98
+ if (excluded.indexOf(key) >= 0) continue;
99
+ target[key] = source[key];
100
+ }
101
+
102
+ return target;
103
+ }
104
+
105
+ function _typeof(obj) {
106
+ if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
107
+ _typeof = function _typeof(obj) {
108
+ return typeof obj;
109
+ };
110
+ } else {
111
+ _typeof = function _typeof(obj) {
112
+ return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
113
+ };
114
+ }
115
+
116
+ return _typeof(obj);
117
+ }
118
+
119
+ function _toConsumableArray(arr) {
120
+ return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();
121
+ }
122
+
123
+ function _nonIterableSpread() {
124
+ throw new TypeError("Invalid attempt to spread non-iterable instance");
125
+ }
126
+
127
+ function _iterableToArray(iter) {
128
+ if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter);
129
+ }
130
+
131
+ function _arrayWithoutHoles(arr) {
132
+ if (Array.isArray(arr)) {
133
+ for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {
134
+ arr2[i] = arr[i];
135
+ }
136
+
137
+ return arr2;
138
+ }
139
+ }
140
+
141
+ function _classCallCheck(instance, Constructor) {
142
+ if (!(instance instanceof Constructor)) {
143
+ throw new TypeError("Cannot call a class as a function");
144
+ }
145
+ }
146
+
147
+ function _defineProperties(target, props) {
148
+ for (var i = 0; i < props.length; i++) {
149
+ var descriptor = props[i];
150
+ descriptor.enumerable = descriptor.enumerable || false;
151
+ descriptor.configurable = true;
152
+ if ("value" in descriptor) descriptor.writable = true;
153
+ Object.defineProperty(target, descriptor.key, descriptor);
154
+ }
155
+ }
156
+
157
+ function _createClass(Constructor, protoProps, staticProps) {
158
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
159
+ if (staticProps) _defineProperties(Constructor, staticProps);
160
+ return Constructor;
161
+ }
162
+
163
+ function _possibleConstructorReturn(self, call) {
164
+ if (call && (_typeof(call) === "object" || typeof call === "function")) {
165
+ return call;
166
+ }
167
+
168
+ return _assertThisInitialized(self);
169
+ }
170
+
171
+ function _getPrototypeOf(o) {
172
+ _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
173
+ return o.__proto__ || Object.getPrototypeOf(o);
174
+ };
175
+ return _getPrototypeOf(o);
176
+ }
177
+
178
+ function _assertThisInitialized(self) {
179
+ if (self === void 0) {
180
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
181
+ }
182
+
183
+ return self;
184
+ }
185
+
186
+ function _inherits(subClass, superClass) {
187
+ if (typeof superClass !== "function" && superClass !== null) {
188
+ throw new TypeError("Super expression must either be null or a function");
189
+ }
190
+
191
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
192
+ constructor: {
193
+ value: subClass,
194
+ writable: true,
195
+ configurable: true
196
+ }
197
+ });
198
+ if (superClass) _setPrototypeOf(subClass, superClass);
199
+ }
200
+
201
+ function _setPrototypeOf(o, p) {
202
+ _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
203
+ o.__proto__ = p;
204
+ return o;
205
+ };
206
+
207
+ return _setPrototypeOf(o, p);
208
+ }
209
+
210
+ var FePagination =
211
+ /*#__PURE__*/
212
+ function (_Component) {
213
+ _inherits(FePagination, _Component);
214
+
215
+ function FePagination(props) {
216
+ var _this;
217
+
218
+ _classCallCheck(this, FePagination);
219
+
220
+ _this = _possibleConstructorReturn(this, _getPrototypeOf(FePagination).call(this, props));
221
+ var rowsPerPage = _this.props.rowsPerPage || _this.props.rowsPerPageOptions.length && _this.props.rowsPerPageOptions[0] || 10;
222
+ _this.state = {
223
+ isDropdownOpen: false,
224
+ dropdownStyle: null,
225
+ rowsPerPage: rowsPerPage,
226
+ pageNumber: 1,
227
+ inputValue: 1,
228
+ offset: 0
229
+ };
230
+ _this.onRowsPerPageClick = _this.onRowsPerPageClick.bind(_assertThisInitialized(_this));
231
+ _this.onPageCountClick = _this.onPageCountClick.bind(_assertThisInitialized(_this));
232
+ _this.onBlipClick = _this.onBlipClick.bind(_assertThisInitialized(_this));
233
+ _this.onNextClick = _this.onNextClick.bind(_assertThisInitialized(_this));
234
+ _this.onPreviousClick = _this.onPreviousClick.bind(_assertThisInitialized(_this));
235
+ _this.onInputBlur = _this.onInputBlur.bind(_assertThisInitialized(_this));
236
+ _this.onInputChange = _this.onInputChange.bind(_assertThisInitialized(_this));
237
+ _this.onItemClick = _this.onItemClick.bind(_assertThisInitialized(_this));
238
+ _this.onDropdownToggle = _this.onDropdownToggle.bind(_assertThisInitialized(_this));
239
+ _this.onIconToggle = _this.onIconToggle.bind(_assertThisInitialized(_this));
240
+ return _this;
241
+ }
242
+
243
+ _createClass(FePagination, [{
244
+ key: "getNumberOfPageCount",
245
+ value: function getNumberOfPageCount() {
246
+ var rowsPerPage = this.state.rowsPerPage;
247
+ var numberOfPages = 0;
248
+
249
+ if (rowsPerPage !== 'ALL') {
250
+ rowsPerPage = (0, _toInteger.default)(rowsPerPage);
251
+ numberOfPages = this.props.totalRecords / rowsPerPage;
252
+ }
253
+
254
+ var isMultiple = numberOfPages === (0, _toInteger.default)(numberOfPages);
255
+
256
+ if (!isMultiple) {
257
+ numberOfPages = (0, _toInteger.default)(numberOfPages) + 1;
258
+ }
259
+
260
+ return numberOfPages;
261
+ }
262
+ }, {
263
+ key: "onDropdownToggle",
264
+ value: function onDropdownToggle(event) {
265
+ this.setState({
266
+ isDropdownOpen: event && event.isOpen || false
267
+ });
268
+ }
269
+ }, {
270
+ key: "onIconToggle",
271
+ value: function onIconToggle(event) {
272
+ (0, _helper.stopPropagation)(event);
273
+ var isDropdownOpen = this.state.isDropdownOpen;
274
+ var dropdownStyle = {
275
+ position: 'absolute',
276
+ right: '-6px',
277
+ top: '100%'
278
+ };
279
+
280
+ if (this.props.dropdownPosition === 'top') {
281
+ dropdownStyle['top'] = '0px';
282
+ }
283
+
284
+ this.setState({
285
+ isDropdownOpen: !isDropdownOpen,
286
+ dropdownStyle: dropdownStyle
287
+ });
288
+ }
289
+ }, {
290
+ key: "onItemClick",
291
+ value: function onItemClick(event) {
292
+ var pageNumber = (0, _toInteger.default)(event.originalEvent.currentTarget.value);
293
+ var offset = this.state.rowsPerPage !== 'ALL' ? (pageNumber - 1) * this.state.rowsPerPage : 0;
294
+ this.setState({
295
+ pageNumber: pageNumber,
296
+ inputValue: pageNumber,
297
+ offset: offset
298
+ });
299
+ }
300
+ }, {
301
+ key: "onInputChange",
302
+ value: function onInputChange(event) {
303
+ var inputValue = event.target.value;
304
+ inputValue = inputValue && (0, _toInteger.default)(inputValue);
305
+ this.setState({
306
+ inputValue: inputValue
307
+ });
308
+ }
309
+ }, {
310
+ key: "onInputBlur",
311
+ value: function onInputBlur(event) {
312
+ var value = event.target.value;
313
+ value = value && (0, _toInteger.default)(value) || this.state.pageNumber;
314
+ var numberOfPages = this.getNumberOfPageCount();
315
+ var pageNumber = value >= numberOfPages ? numberOfPages : value;
316
+ var offset = (pageNumber - 1) * this.state.rowsPerPage;
317
+ this.setState({
318
+ pageNumber: pageNumber,
319
+ inputValue: pageNumber,
320
+ offset: offset
321
+ });
322
+
323
+ if (this.props.onPageChange) {
324
+ this.props.onPageChange({
325
+ rowsPerPage: this.state.rowsPerPage,
326
+ pageNumber: pageNumber,
327
+ offset: offset
328
+ });
329
+ }
330
+ }
331
+ }, {
332
+ key: "onNextClick",
333
+ value: function onNextClick() {
334
+ var pageNumber = this.state.pageNumber + 1;
335
+ var offset = (pageNumber - 1) * this.state.rowsPerPage;
336
+ this.setState({
337
+ pageNumber: pageNumber,
338
+ inputValue: pageNumber,
339
+ offset: offset
340
+ });
341
+
342
+ if (this.props.onPageChange) {
343
+ this.props.onPageChange({
344
+ rowsPerPage: this.state.rowsPerPage,
345
+ pageNumber: pageNumber,
346
+ offset: offset
347
+ });
348
+ }
349
+ }
350
+ }, {
351
+ key: "onPreviousClick",
352
+ value: function onPreviousClick() {
353
+ var pageNumber = this.state.pageNumber - 1;
354
+ var offset = (pageNumber - 1) * this.state.rowsPerPage;
355
+ this.setState({
356
+ pageNumber: pageNumber,
357
+ inputValue: pageNumber,
358
+ offset: offset
359
+ });
360
+
361
+ if (this.props.onPageChange) {
362
+ this.props.onPageChange({
363
+ rowsPerPage: this.state.rowsPerPage,
364
+ pageNumber: pageNumber,
365
+ offset: offset
366
+ });
367
+ }
368
+ }
369
+ }, {
370
+ key: "onRowsPerPageClick",
371
+ value: function onRowsPerPageClick(event) {
372
+ var rowsPerPage = event.target.value;
373
+
374
+ if (rowsPerPage !== 'ALL') {
375
+ rowsPerPage = (0, _toInteger.default)(rowsPerPage);
376
+ }
377
+
378
+ var pageNumber = 1;
379
+ var offset = this.state.rowsPerPage !== 'ALL' ? (pageNumber - 1) * this.state.rowsPerPage : 0;
380
+ this.setState({
381
+ rowsPerPage: rowsPerPage,
382
+ pageNumber: pageNumber,
383
+ inputValue: pageNumber,
384
+ offset: offset
385
+ });
386
+
387
+ if (this.props.onPageChange) {
388
+ this.props.onPageChange({
389
+ rowsPerPage: rowsPerPage,
390
+ pageNumber: pageNumber,
391
+ offset: offset
392
+ });
393
+ }
394
+ }
395
+ }, {
396
+ key: "onBlipClick",
397
+ value: function onBlipClick(event) {
398
+ var pageNumber = (0, _toInteger.default)(event.target.dataset.value);
399
+ var offset = this.state.rowsPerPage !== 'ALL' ? (pageNumber - 1) * this.state.rowsPerPage : 0;
400
+ this.setState({
401
+ pageNumber: pageNumber,
402
+ offset: offset
403
+ });
404
+
405
+ if (this.props.onPageChange) {
406
+ this.props.onPageChange({
407
+ rowsPerPage: this.state.rowsPerPage,
408
+ pageNumber: pageNumber,
409
+ offset: offset
410
+ });
411
+ }
412
+ }
413
+ }, {
414
+ key: "onPageCountClick",
415
+ value: function onPageCountClick(event) {
416
+ var pageNumber = (0, _toInteger.default)(event.target.value);
417
+ var offset = this.state.rowsPerPage !== 'ALL' ? (pageNumber - 1) * this.state.rowsPerPage : 0;
418
+ this.setState({
419
+ pageNumber: pageNumber,
420
+ offset: offset
421
+ });
422
+
423
+ if (this.props.onPageChange) {
424
+ this.props.onPageChange({
425
+ rowsPerPage: this.state.rowsPerPage,
426
+ pageNumber: pageNumber,
427
+ offset: offset
428
+ });
429
+ }
430
+ }
431
+ }, {
432
+ key: "getBlips",
433
+ value: function getBlips() {
434
+ var _this2 = this;
435
+
436
+ var numberOfPages = this.getNumberOfPageCount();
437
+ return _react.default.createElement(_react.Fragment, null, _toConsumableArray(Array(numberOfPages).keys()).map(function (i) {
438
+ var active = _this2.state.pageNumber === i + 1;
439
+ return _react.default.createElement(Blip, {
440
+ key: i,
441
+ dataValue: "".concat(i + 1),
442
+ active: active,
443
+ onClick: _this2.onBlipClick
444
+ });
445
+ }));
446
+ }
447
+ }, {
448
+ key: "getRowsPerPage",
449
+ value: function getRowsPerPage() {
450
+ var _this3 = this;
451
+
452
+ if (this.props.rowsPerPageOptions.length === 0) {
453
+ return null;
454
+ }
455
+
456
+ var options = Object.assign([], this.props.rowsPerPageOptions);
457
+ options.push('ALL');
458
+ return _react.default.createElement("div", {
459
+ className: "fe-pagination__rows"
460
+ }, _react.default.createElement("span", {
461
+ className: "fe-pagination__label"
462
+ }, this.props.leftContent), options.map(function (option, i) {
463
+ var active = _this3.state.rowsPerPage === option;
464
+ return _react.default.createElement(PaginationButton, {
465
+ key: i,
466
+ "aria-label": "page size ".concat(option),
467
+ label: "".concat(option),
468
+ value: "".concat(option),
469
+ active: active,
470
+ onClick: _this3.onRowsPerPageClick
471
+ });
472
+ }));
473
+ }
474
+ }, {
475
+ key: "getPageCountsAsButton",
476
+ value: function getPageCountsAsButton(numberOfPages) {
477
+ var _this4 = this;
478
+
479
+ return _react.default.createElement(_react.Fragment, null, _toConsumableArray(Array(numberOfPages).keys()).map(function (i) {
480
+ var active = _this4.state.pageNumber === i + 1;
481
+ return _react.default.createElement(PaginationButton, {
482
+ key: i,
483
+ "aria-label": "page ".concat(i + 1),
484
+ label: "".concat(i + 1),
485
+ value: "".concat(i + 1),
486
+ active: active,
487
+ onClick: _this4.onPageCountClick
488
+ });
489
+ }));
490
+ }
491
+ }, {
492
+ key: "getPageCountsAsInput",
493
+ value: function getPageCountsAsInput(numberOfPages) {
494
+ var list = [];
495
+
496
+ for (var i = 0; i < numberOfPages; i++) {
497
+ list.push({
498
+ label: "".concat(i + 1),
499
+ value: "".concat(i + 1)
500
+ });
501
+ }
502
+
503
+ var iconDrop = this.state.isDropdownOpen ? 'fa-chevron-up' : 'fa-chevron-down';
504
+ return _react.default.createElement(_core.FeSelfContainedInput, {
505
+ type: "number",
506
+ min: "1",
507
+ max: "".concat(numberOfPages),
508
+ value: "".concat(this.state.inputValue),
509
+ onBlur: this.onInputBlur,
510
+ onChange: this.onInputChange,
511
+ optionalComponent: _react.default.createElement("span", null, _react.default.createElement(IconButton, {
512
+ id: "".concat(this.props.id, "InputDropIcon"),
513
+ onClick: this.onIconToggle,
514
+ icon: iconDrop
515
+ }), _react.default.createElement(_core.FeDropdown, {
516
+ buttonStyle: "link",
517
+ referId: "inputDropIcon",
518
+ feType: "single-select",
519
+ position: "".concat(this.props.dropdownPosition, "-right"),
520
+ style: this.state.dropdownStyle,
521
+ list: list,
522
+ isOpen: this.state.isDropdownOpen,
523
+ activeItemIndex: "".concat(this.state.pageNumber - 1),
524
+ onItemClick: this.onItemClick,
525
+ onToggleDropdown: this.onDropdownToggle
526
+ }))
527
+ });
528
+ }
529
+ }, {
530
+ key: "getPageCounts",
531
+ value: function getPageCounts() {
532
+ var offsetStart = this.props.totalRecords ? this.state.offset + 1 : 0;
533
+ var offsetEnd = this.state.rowsPerPage !== 'ALL' ? this.state.rowsPerPage * this.state.pageNumber : this.props.totalRecords;
534
+ var numberOfPages = this.getNumberOfPageCount();
535
+
536
+ if (offsetEnd > this.props.totalRecords) {
537
+ offsetEnd = this.props.totalRecords;
538
+ }
539
+
540
+ var pageCountsAsButton = numberOfPages <= 5 && this.getPageCountsAsButton(numberOfPages);
541
+ var pageCountsAsInput = numberOfPages > 5 && this.getPageCountsAsInput(numberOfPages);
542
+ return _react.default.createElement("div", {
543
+ className: "fe-pagination__pages"
544
+ }, _react.default.createElement("span", {
545
+ className: "fe-pagination__label"
546
+ }, _react.default.createElement("strong", null, offsetStart), "-", _react.default.createElement("strong", null, offsetEnd), " of ", _react.default.createElement("strong", null, this.props.totalRecords), this.props.rightContent ? _react.default.createElement("span", {
547
+ className: "fe-pagination__pages-filter-label"
548
+ }, this.props.rightContent) : null), numberOfPages ? _react.default.createElement(PaginationButton, {
549
+ "aria-label": "Previous page",
550
+ iconFamily: "light",
551
+ icon: "chevron-left",
552
+ onClick: this.onPreviousClick,
553
+ disabled: this.state.pageNumber <= 1
554
+ }) : null, pageCountsAsButton, pageCountsAsInput, numberOfPages ? _react.default.createElement(PaginationButton, {
555
+ "aria-label": "Next page",
556
+ iconFamily: "light",
557
+ icon: "chevron-right",
558
+ onClick: this.onNextClick,
559
+ disabled: this.state.pageNumber >= numberOfPages
560
+ }) : null);
561
+ }
562
+ }, {
563
+ key: "render",
564
+ value: function render() {
565
+ /** Minimum condition required to render*/
566
+
567
+ /** Rendering of component */
568
+ var className = (0, _classnames.default)('fe-pagination', this.props.className);
569
+ var blips = this.props.feStyle === 'blip' && this.getBlips();
570
+ var rowsPerPage = this.props.feStyle === 'numeric' && this.getRowsPerPage();
571
+ var pageCounts = this.props.feStyle === 'numeric' && this.getPageCounts();
572
+ return _react.default.createElement("div", {
573
+ id: "".concat(this.props.id),
574
+ className: className
575
+ }, blips, rowsPerPage, pageCounts);
576
+ }
577
+ }], [{
578
+ key: "getDerivedStateFromProps",
579
+ value: function getDerivedStateFromProps(props, state) {
580
+ if (props.pageNumber !== null && props.pageNumber !== state.pageNumber) {
581
+ return {
582
+ pageNumber: props.pageNumber,
583
+ inputValue: props.pageNumber,
584
+ offset: (props.pageNumber - 1) * state.rowsPerPage
585
+ };
586
+ }
587
+
588
+ return null;
589
+ }
590
+ }]);
591
+
592
+ return FePagination;
593
+ }(_react.Component);
594
+
595
+ var PaginationButton = function PaginationButton(props) {
596
+ var label = props.label,
597
+ buttonProps = _objectWithoutProperties(props, ["label"]);
598
+
599
+ return _react.default.createElement(_core.FeButton, _extends({}, buttonProps, {
600
+ feStyle: "link",
601
+ size: "md"
602
+ }), label);
603
+ };
604
+
605
+ var Blip = function Blip(props) {
606
+ var className = (0, _classnames.default)('fe-pagination__blip', {
607
+ 'active': props.active
608
+ });
609
+ return _react.default.createElement("span", {
610
+ className: className,
611
+ role: "button",
612
+ "aria-label": "page number ".concat(props.dataValue),
613
+ tabIndex: "0",
614
+ "data-value": props.dataValue,
615
+ onClick: props.onClick,
616
+ onKeyDown: function onKeyDown(event) {
617
+ if (event.keyCode === 13) {
618
+ //Enter
619
+ props.onClick(event);
620
+ }
621
+ }
622
+ });
623
+ };
624
+
625
+ var IconButton = function IconButton(props) {
626
+ return _react.default.createElement("span", {
627
+ id: props.id,
628
+ role: "button",
629
+ tabIndex: "0",
630
+ "aria-label": "pagination drop",
631
+ onClick: props.onClick,
632
+ onKeyDown: function onKeyDown(event) {
633
+ if (event.keyCode === 13) {
634
+ //Enter
635
+ props.onClick(event);
636
+ }
637
+ }
638
+ }, _react.default.createElement(_core.FeIcon, {
639
+ family: "light",
640
+ icon: props.icon
641
+ }));
642
+ };
643
+
644
+ FePagination.defaultProps = {
645
+ feStyle: 'numeric',
646
+ rowsPerPage: null,
647
+ rowsPerPageOptions: [],
648
+ leftContent: 'Rows per page',
649
+ rightContent: null,
650
+ totalRecords: null,
651
+ pageNumber: null,
652
+ dropdownPosition: 'bottom',
653
+ onPageChange: null
654
+ };
655
+ FePagination.propTypes = {
656
+ /** Provide id for pagination*/
657
+ id: _propTypes.default.string.isRequired,
658
+
659
+ /** Provide style for pagination like 'numeric' or 'blip' */
660
+ feStyle: _propTypes.default.oneOf(['numeric', 'blip']),
661
+
662
+ /** Provide rows per page */
663
+ rowsPerPage: _propTypes.default.number.isRequired,
664
+
665
+ /** Provide multiple options to switch number of rows per page */
666
+ rowsPerPageOptions: _propTypes.default.arrayOf(_propTypes.default.number),
667
+
668
+ /** Provide left content text */
669
+ leftContent: _propTypes.default.string,
670
+
671
+ /** Provide right content text */
672
+ rightContent: _propTypes.default.string,
673
+
674
+ /** Provide total number of records available */
675
+ totalRecords: _propTypes.default.number.isRequired,
676
+
677
+ /** Provide current active page count */
678
+ pageNumber: _propTypes.default.number,
679
+
680
+ /** Provide dropdown position */
681
+ dropdownPosition: _propTypes.default.string,
682
+
683
+ /** Provide icon class */
684
+ onPageChange: _propTypes.default.func
685
+ };
686
+ FePagination.displayName = 'FePagination';
687
+ var _default = FePagination;
688
+ exports.default = _default;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _FePagination = _interopRequireDefault(require("./FePagination"));
9
+
10
+ function _interopRequireDefault(obj) {
11
+ return obj && obj.__esModule ? obj : {
12
+ default: obj
13
+ };
14
+ }
15
+
16
+ var _default = _FePagination.default;
17
+ exports.default = _default;