@spaziodati/atoka-design-system 2.1.2 → 2.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (116) hide show
  1. package/AddableItems/index.js +145 -141
  2. package/AddableItems/index.js.map +1 -1
  3. package/Alert/index.js +6 -4
  4. package/Alert/index.js.map +1 -1
  5. package/Badge/index.js +4 -4
  6. package/Badge/index.js.map +1 -1
  7. package/Bs4V3Wrapper/index.js +6 -4
  8. package/Bs4V3Wrapper/index.js.map +1 -1
  9. package/BubbleChart/index.js +1729 -2098
  10. package/BubbleChart/index.js.map +1 -1
  11. package/Button/Button.storiesConfig.d.ts +0 -10
  12. package/Button/index.js +9 -7
  13. package/Button/index.js.map +1 -1
  14. package/ButtonDropdown/index.js +131 -133
  15. package/ButtonDropdown/index.js.map +1 -1
  16. package/CardsPage/index.js +227 -233
  17. package/CardsPage/index.js.map +1 -1
  18. package/CursorPagination/index.js +132 -136
  19. package/CursorPagination/index.js.map +1 -1
  20. package/DatePicker/index.js +123 -126
  21. package/DatePicker/index.js.map +1 -1
  22. package/DetailPage/index.js +1353 -1429
  23. package/DetailPage/index.js.map +1 -1
  24. package/Dropdown/index.js +133 -133
  25. package/Dropdown/index.js.map +1 -1
  26. package/EditableString/index.js +2400 -2483
  27. package/EditableString/index.js.map +1 -1
  28. package/EllipsableContent/index.js +14 -12
  29. package/EllipsableContent/index.js.map +1 -1
  30. package/EmptyState/index.js +6 -4
  31. package/EmptyState/index.js.map +1 -1
  32. package/Facet/index.js +149 -144
  33. package/Facet/index.js.map +1 -1
  34. package/FacetSection/index.js +15 -11
  35. package/FacetSection/index.js.map +1 -1
  36. package/FadeAnimation/index.js +660 -731
  37. package/FadeAnimation/index.js.map +1 -1
  38. package/FeedbackButton/index.js +10 -8
  39. package/FeedbackButton/index.js.map +1 -1
  40. package/Form/index.js +7 -7
  41. package/Form/index.js.map +1 -1
  42. package/Funnel/index.js +2854 -3227
  43. package/Funnel/index.js.map +1 -1
  44. package/GridCard/index.js +162 -154
  45. package/GridCard/index.js.map +1 -1
  46. package/HighlightableText/index.js +138 -137
  47. package/HighlightableText/index.js.map +1 -1
  48. package/Histogram/index.js +1168 -1180
  49. package/Histogram/index.js.map +1 -1
  50. package/InlineStringEditor/index.js +183 -203
  51. package/InlineStringEditor/index.js.map +1 -1
  52. package/InputGroup/index.js +3 -3
  53. package/InputGroup/index.js.map +1 -1
  54. package/Jumbotron/index.js +7 -5
  55. package/Jumbotron/index.js.map +1 -1
  56. package/Map/Map.d.ts +3 -3
  57. package/Map/Types.d.ts +2 -2
  58. package/Map/index.js +4200 -3823
  59. package/Map/index.js.map +1 -1
  60. package/Modal/index.js +12 -10
  61. package/Modal/index.js.map +1 -1
  62. package/Navbar/index.js +2426 -2517
  63. package/Navbar/index.js.map +1 -1
  64. package/Pagination/index.js +132 -136
  65. package/Pagination/index.js.map +1 -1
  66. package/PieChart/index.js +204 -219
  67. package/PieChart/index.js.map +1 -1
  68. package/PublicFooter/index.js +14 -10
  69. package/PublicFooter/index.js.map +1 -1
  70. package/PublicNavbar/index.js +6 -4
  71. package/PublicNavbar/index.js.map +1 -1
  72. package/README.md +5 -2
  73. package/RecordBit/index.js +15 -11
  74. package/RecordBit/index.js.map +1 -1
  75. package/ResultItemCard/index.js +25 -19
  76. package/ResultItemCard/index.js.map +1 -1
  77. package/SelectDropdown/index.js +171 -185
  78. package/SelectDropdown/index.js.map +1 -1
  79. package/Spinner/index.js +6 -4
  80. package/Spinner/index.js.map +1 -1
  81. package/StatisticsItemCard/index.js +170 -160
  82. package/StatisticsItemCard/index.js.map +1 -1
  83. package/StatisticsItemNumeric/index.js +6 -4
  84. package/StatisticsItemNumeric/index.js.map +1 -1
  85. package/StatisticsLegend/index.js +173 -189
  86. package/StatisticsLegend/index.js.map +1 -1
  87. package/StatisticsTooltip/index.js +15 -15
  88. package/StatisticsTooltip/index.js.map +1 -1
  89. package/Suggester/getRenderCustomMultiValueWithIcon.d.ts +1 -1
  90. package/Suggester/index.js +160 -160
  91. package/Suggester/index.js.map +1 -1
  92. package/SunBurst/index.js +140 -144
  93. package/SunBurst/index.js.map +1 -1
  94. package/TabSwitcher/index.js +144 -144
  95. package/TabSwitcher/index.js.map +1 -1
  96. package/Title/index.js +8 -6
  97. package/Title/index.js.map +1 -1
  98. package/Toasts/Toast.d.ts +41 -0
  99. package/Toasts/ToastContainer.d.ts +4 -0
  100. package/Toasts/ToastHeader.d.ts +7 -0
  101. package/Toasts/index.d.ts +2 -0
  102. package/Toasts/index.js +2285 -0
  103. package/Toasts/index.js.map +1 -0
  104. package/ToggleButtonGroup/index.js +128 -130
  105. package/ToggleButtonGroup/index.js.map +1 -1
  106. package/Tooltip/index.js +3 -3
  107. package/Tooltip/index.js.map +1 -1
  108. package/Utils/index.js +1049 -1426
  109. package/Utils/index.js.map +1 -1
  110. package/{atoka-design-system-2.1.2.min.css → atoka-design-system-2.1.5.min.css} +1 -1
  111. package/index.d.ts +1 -0
  112. package/index.js +13126 -11649
  113. package/index.js.map +1 -1
  114. package/package.json +48 -40
  115. package/styles/atoka-bs.less +1 -1
  116. package/styles/variant-mixins.less +7 -7
@@ -9,1725 +9,1664 @@
9
9
  root["atoka-design-system"] = factory(root["@fortawesome/react-fontawesome"], root["classnames"], root["react"], root["react-bootstrap/Col"], root["react-bootstrap/Container"], root["react-bootstrap/Form"], root["react-bootstrap/FormControl"], root["react-bootstrap/FormText"], root["react-bootstrap/Nav"], root["react-bootstrap/Row"], root["react-dom"]);
10
10
  })(self, function(__WEBPACK_EXTERNAL_MODULE__5692__, __WEBPACK_EXTERNAL_MODULE__8310__, __WEBPACK_EXTERNAL_MODULE__8156__, __WEBPACK_EXTERNAL_MODULE__5315__, __WEBPACK_EXTERNAL_MODULE__4394__, __WEBPACK_EXTERNAL_MODULE__8721__, __WEBPACK_EXTERNAL_MODULE__1082__, __WEBPACK_EXTERNAL_MODULE__8763__, __WEBPACK_EXTERNAL_MODULE__573__, __WEBPACK_EXTERNAL_MODULE__3915__, __WEBPACK_EXTERNAL_MODULE__7111__) {
11
11
  return /******/ (() => { // webpackBootstrap
12
+ /******/ "use strict";
12
13
  /******/ var __webpack_modules__ = ({
13
14
 
14
- /***/ 4882:
15
+ /***/ 9114:
15
16
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
16
17
 
17
- "use strict";
18
18
 
19
19
  // EXPORTS
20
20
  __webpack_require__.d(__webpack_exports__, {
21
- "Bs4V3Wrapper": () => (/* reexport */ Bs4V3Wrapper)
21
+ "Z": () => (/* binding */ esm_CSSTransition)
22
22
  });
23
23
 
24
+ // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js
25
+ var esm_extends = __webpack_require__(32);
26
+ // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js
27
+ var objectWithoutPropertiesLoose = __webpack_require__(7038);
28
+ // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js + 1 modules
29
+ var inheritsLoose = __webpack_require__(7581);
30
+ ;// CONCATENATED MODULE: ./node_modules/dom-helpers/esm/hasClass.js
31
+ /**
32
+ * Checks if a given element has a CSS class.
33
+ *
34
+ * @param element the element
35
+ * @param className the CSS class name
36
+ */
37
+ function hasClass(element, className) {
38
+ if (element.classList) return !!className && element.classList.contains(className);
39
+ return (" " + (element.className.baseVal || element.className) + " ").indexOf(" " + className + " ") !== -1;
40
+ }
41
+ ;// CONCATENATED MODULE: ./node_modules/dom-helpers/esm/addClass.js
42
+
43
+ /**
44
+ * Adds a CSS class to a given element.
45
+ *
46
+ * @param element the element
47
+ * @param className the CSS class name
48
+ */
49
+
50
+ function addClass_addClass(element, className) {
51
+ if (element.classList) element.classList.add(className);else if (!hasClass(element, className)) if (typeof element.className === 'string') element.className = element.className + " " + className;else element.setAttribute('class', (element.className && element.className.baseVal || '') + " " + className);
52
+ }
53
+ ;// CONCATENATED MODULE: ./node_modules/dom-helpers/esm/removeClass.js
54
+ function replaceClassName(origClass, classToRemove) {
55
+ return origClass.replace(new RegExp("(^|\\s)" + classToRemove + "(?:\\s|$)", 'g'), '$1').replace(/\s+/g, ' ').replace(/^\s*|\s*$/g, '');
56
+ }
57
+ /**
58
+ * Removes a CSS class from a given element.
59
+ *
60
+ * @param element the element
61
+ * @param className the CSS class name
62
+ */
63
+
64
+
65
+ function removeClass_removeClass(element, className) {
66
+ if (element.classList) {
67
+ element.classList.remove(className);
68
+ } else if (typeof element.className === 'string') {
69
+ element.className = replaceClassName(element.className, className);
70
+ } else {
71
+ element.setAttribute('class', replaceClassName(element.className && element.className.baseVal || '', className));
72
+ }
73
+ }
24
74
  // EXTERNAL MODULE: external "react"
25
75
  var external_react_ = __webpack_require__(8156);
26
76
  var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
27
- // EXTERNAL MODULE: external "classnames"
28
- var external_classnames_ = __webpack_require__(8310);
29
- var external_classnames_default = /*#__PURE__*/__webpack_require__.n(external_classnames_);
30
- ;// CONCATENATED MODULE: ./src/components/Bs4V3Wrapper/Bs4V3Wrapper.tsx
31
- var __extends = (undefined && undefined.__extends) || (function () {
32
- var extendStatics = function (d, b) {
33
- extendStatics = Object.setPrototypeOf ||
34
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
35
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
36
- return extendStatics(d, b);
37
- };
38
- return function (d, b) {
39
- extendStatics(d, b);
40
- function __() { this.constructor = d; }
41
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
42
- };
43
- })();
44
-
77
+ // EXTERNAL MODULE: ./node_modules/react-transition-group/esm/Transition.js + 1 modules
78
+ var Transition = __webpack_require__(6113);
79
+ ;// CONCATENATED MODULE: ./node_modules/react-transition-group/esm/CSSTransition.js
45
80
 
46
81
 
47
- var Bs4V3Wrapper = /** @class */ (function (_super) {
48
- __extends(Bs4V3Wrapper, _super);
49
- function Bs4V3Wrapper() {
50
- return _super !== null && _super.apply(this, arguments) || this;
51
- }
52
- Bs4V3Wrapper.prototype.render = function () {
53
- var className = external_classnames_default()('bs4-v3', this.props.className);
54
- return external_react_default().createElement("div", { className: className }, this.props.children);
55
- };
56
- Bs4V3Wrapper.displayName = 'Bs4V3Wrapper';
57
- return Bs4V3Wrapper;
58
- }((external_react_default()).PureComponent));
59
82
 
60
83
 
61
- ;// CONCATENATED MODULE: ./src/components/Bs4V3Wrapper/index.ts
62
84
 
63
85
 
64
86
 
65
- /***/ }),
66
87
 
67
- /***/ 6635:
68
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
69
88
 
70
- "use strict";
71
- // ESM COMPAT FLAG
72
- __webpack_require__.r(__webpack_exports__);
73
89
 
74
- // EXPORTS
75
- __webpack_require__.d(__webpack_exports__, {
76
- "DetailPage": () => (/* reexport */ DetailPage)
77
- });
90
+ var _addClass = function addClass(node, classes) {
91
+ return node && classes && classes.split(' ').forEach(function (c) {
92
+ return addClass_addClass(node, c);
93
+ });
94
+ };
78
95
 
79
- // EXTERNAL MODULE: external "react"
80
- var external_react_ = __webpack_require__(8156);
81
- var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
82
- // EXTERNAL MODULE: external "react-bootstrap/Container"
83
- var Container_ = __webpack_require__(4394);
84
- var Container_default = /*#__PURE__*/__webpack_require__.n(Container_);
85
- // EXTERNAL MODULE: external "react-bootstrap/Row"
86
- var Row_ = __webpack_require__(3915);
87
- var Row_default = /*#__PURE__*/__webpack_require__.n(Row_);
88
- // EXTERNAL MODULE: external "react-bootstrap/Col"
89
- var Col_ = __webpack_require__(5315);
90
- var Col_default = /*#__PURE__*/__webpack_require__.n(Col_);
91
- // EXTERNAL MODULE: ./src/components/Bs4V3Wrapper/index.ts + 1 modules
92
- var Bs4V3Wrapper = __webpack_require__(4882);
93
- // EXTERNAL MODULE: ./src/components/Utils/Utils.tsx
94
- var Utils = __webpack_require__(5654);
95
- // EXTERNAL MODULE: ./src/components/FadeAnimation/index.ts + 1 modules
96
- var FadeAnimation = __webpack_require__(1018);
97
- ;// CONCATENATED MODULE: ./src/components/DetailPage/DetailPageHeaderContainer.tsx
98
- var __extends = (undefined && undefined.__extends) || (function () {
99
- var extendStatics = function (d, b) {
100
- extendStatics = Object.setPrototypeOf ||
101
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
102
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
103
- return extendStatics(d, b);
104
- };
105
- return function (d, b) {
106
- extendStatics(d, b);
107
- function __() { this.constructor = d; }
108
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
109
- };
110
- })();
96
+ var removeClass = function removeClass(node, classes) {
97
+ return node && classes && classes.split(' ').forEach(function (c) {
98
+ return removeClass_removeClass(node, c);
99
+ });
100
+ };
101
+ /**
102
+ * A transition component inspired by the excellent
103
+ * [ng-animate](https://docs.angularjs.org/api/ngAnimate) library, you should
104
+ * use it if you're using CSS transitions or animations. It's built upon the
105
+ * [`Transition`](https://reactcommunity.org/react-transition-group/transition)
106
+ * component, so it inherits all of its props.
107
+ *
108
+ * `CSSTransition` applies a pair of class names during the `appear`, `enter`,
109
+ * and `exit` states of the transition. The first class is applied and then a
110
+ * second `*-active` class in order to activate the CSS transition. After the
111
+ * transition, matching `*-done` class names are applied to persist the
112
+ * transition state.
113
+ *
114
+ * ```jsx
115
+ * function App() {
116
+ * const [inProp, setInProp] = useState(false);
117
+ * return (
118
+ * <div>
119
+ * <CSSTransition in={inProp} timeout={200} classNames="my-node">
120
+ * <div>
121
+ * {"I'll receive my-node-* classes"}
122
+ * </div>
123
+ * </CSSTransition>
124
+ * <button type="button" onClick={() => setInProp(true)}>
125
+ * Click to Enter
126
+ * </button>
127
+ * </div>
128
+ * );
129
+ * }
130
+ * ```
131
+ *
132
+ * When the `in` prop is set to `true`, the child component will first receive
133
+ * the class `example-enter`, then the `example-enter-active` will be added in
134
+ * the next tick. `CSSTransition` [forces a
135
+ * reflow](https://github.com/reactjs/react-transition-group/blob/5007303e729a74be66a21c3e2205e4916821524b/src/CSSTransition.js#L208-L215)
136
+ * between before adding the `example-enter-active`. This is an important trick
137
+ * because it allows us to transition between `example-enter` and
138
+ * `example-enter-active` even though they were added immediately one after
139
+ * another. Most notably, this is what makes it possible for us to animate
140
+ * _appearance_.
141
+ *
142
+ * ```css
143
+ * .my-node-enter {
144
+ * opacity: 0;
145
+ * }
146
+ * .my-node-enter-active {
147
+ * opacity: 1;
148
+ * transition: opacity 200ms;
149
+ * }
150
+ * .my-node-exit {
151
+ * opacity: 1;
152
+ * }
153
+ * .my-node-exit-active {
154
+ * opacity: 0;
155
+ * transition: opacity 200ms;
156
+ * }
157
+ * ```
158
+ *
159
+ * `*-active` classes represent which styles you want to animate **to**, so it's
160
+ * important to add `transition` declaration only to them, otherwise transitions
161
+ * might not behave as intended! This might not be obvious when the transitions
162
+ * are symmetrical, i.e. when `*-enter-active` is the same as `*-exit`, like in
163
+ * the example above (minus `transition`), but it becomes apparent in more
164
+ * complex transitions.
165
+ *
166
+ * **Note**: If you're using the
167
+ * [`appear`](http://reactcommunity.org/react-transition-group/transition#Transition-prop-appear)
168
+ * prop, make sure to define styles for `.appear-*` classes as well.
169
+ */
111
170
 
112
171
 
172
+ var CSSTransition = /*#__PURE__*/function (_React$Component) {
173
+ (0,inheritsLoose/* default */.Z)(CSSTransition, _React$Component);
113
174
 
175
+ function CSSTransition() {
176
+ var _this;
114
177
 
115
- /** Container component for the detail page header to be used as child of DetailPage. */
116
- var DetailPageHeaderContainer = /** @class */ (function (_super) {
117
- __extends(DetailPageHeaderContainer, _super);
118
- function DetailPageHeaderContainer() {
119
- return _super !== null && _super.apply(this, arguments) || this;
178
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
179
+ args[_key] = arguments[_key];
120
180
  }
121
- DetailPageHeaderContainer.prototype.render = function () {
122
- return (external_react_default().createElement("div", { className: 'detail-page-header-container' },
123
- external_react_default().createElement(FadeAnimation.FadeAnimation, null,
124
- external_react_default().createElement((Container_default()), null, this.props.children))));
125
- };
126
- DetailPageHeaderContainer.displayName = 'DetailPageHeaderContainer';
127
- return DetailPageHeaderContainer;
128
- }((external_react_default()).PureComponent));
129
181
 
182
+ _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;
183
+ _this.appliedClasses = {
184
+ appear: {},
185
+ enter: {},
186
+ exit: {}
187
+ };
130
188
 
131
- // EXTERNAL MODULE: external "react-bootstrap/Nav"
132
- var Nav_ = __webpack_require__(573);
133
- var Nav_default = /*#__PURE__*/__webpack_require__.n(Nav_);
134
- ;// CONCATENATED MODULE: ./src/components/DetailPage/DetailPageMenuUI.tsx
189
+ _this.onEnter = function (maybeNode, maybeAppearing) {
190
+ var _this$resolveArgument = _this.resolveArguments(maybeNode, maybeAppearing),
191
+ node = _this$resolveArgument[0],
192
+ appearing = _this$resolveArgument[1];
135
193
 
194
+ _this.removeClasses(node, 'exit');
136
195
 
196
+ _this.addClass(node, appearing ? 'appear' : 'enter', 'base');
137
197
 
138
- var DetailPageMenuUI = function (props) {
139
- return (external_react_default().createElement("div", { className: 'atoka-detail-page-menu' },
140
- external_react_default().createElement((Nav_default()), { className: 'flex-column' }, props.children)));
141
- };
142
- DetailPageMenuUI.displayName = 'DetailPageMenuUI';
143
- var DetailPageSubMenu = function (props) {
144
- return external_react_default().createElement("div", { className: 'atoka-detail-page-sub-menu' }, props.children);
145
- };
146
- DetailPageSubMenu.displayName = 'DetailPageSubMenu';
198
+ if (_this.props.onEnter) {
199
+ _this.props.onEnter(maybeNode, maybeAppearing);
200
+ }
201
+ };
147
202
 
148
- ;// CONCATENATED MODULE: ./src/components/DetailPage/DetailPageBodyContainer.tsx
203
+ _this.onEntering = function (maybeNode, maybeAppearing) {
204
+ var _this$resolveArgument2 = _this.resolveArguments(maybeNode, maybeAppearing),
205
+ node = _this$resolveArgument2[0],
206
+ appearing = _this$resolveArgument2[1];
149
207
 
208
+ var type = appearing ? 'appear' : 'enter';
150
209
 
151
- var DetailPageBodyContainer = function (props) {
152
- return external_react_default().createElement((Col_default()), null, props.children);
153
- };
154
- DetailPageBodyContainer.displayName = 'DetailPageBodyContainer';
210
+ _this.addClass(node, type, 'active');
155
211
 
156
- // EXTERNAL MODULE: ./src/components/Spinner/index.ts + 1 modules
157
- var Spinner = __webpack_require__(4482);
158
- ;// CONCATENATED MODULE: ./src/components/DetailPage/DetailPageHeaderUI.tsx
159
- var DetailPageHeaderUI_extends = (undefined && undefined.__extends) || (function () {
160
- var extendStatics = function (d, b) {
161
- extendStatics = Object.setPrototypeOf ||
162
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
163
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
164
- return extendStatics(d, b);
212
+ if (_this.props.onEntering) {
213
+ _this.props.onEntering(maybeNode, maybeAppearing);
214
+ }
165
215
  };
166
- return function (d, b) {
167
- extendStatics(d, b);
168
- function __() { this.constructor = d; }
169
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
216
+
217
+ _this.onEntered = function (maybeNode, maybeAppearing) {
218
+ var _this$resolveArgument3 = _this.resolveArguments(maybeNode, maybeAppearing),
219
+ node = _this$resolveArgument3[0],
220
+ appearing = _this$resolveArgument3[1];
221
+
222
+ var type = appearing ? 'appear' : 'enter';
223
+
224
+ _this.removeClasses(node, type);
225
+
226
+ _this.addClass(node, type, 'done');
227
+
228
+ if (_this.props.onEntered) {
229
+ _this.props.onEntered(maybeNode, maybeAppearing);
230
+ }
170
231
  };
171
- })();
172
232
 
233
+ _this.onExit = function (maybeNode) {
234
+ var _this$resolveArgument4 = _this.resolveArguments(maybeNode),
235
+ node = _this$resolveArgument4[0];
173
236
 
237
+ _this.removeClasses(node, 'appear');
174
238
 
239
+ _this.removeClasses(node, 'enter');
175
240
 
176
- /** Container component for the detail page header to be used as child of DetailPage. */
177
- var DetailPageHeaderUI = /** @class */ (function (_super) {
178
- DetailPageHeaderUI_extends(DetailPageHeaderUI, _super);
179
- function DetailPageHeaderUI() {
180
- return _super !== null && _super.apply(this, arguments) || this;
181
- }
182
- DetailPageHeaderUI.prototype.render = function () {
183
- if (this.props.isLoading) {
184
- // !This className is used in atoka-revenge smoke tests.
185
- return (external_react_default().createElement("div", { className: 'user-pages-spinner-container d-flex h-100 justify-content-center align-items-center' },
186
- external_react_default().createElement(Spinner.Spinner, { size: Spinner.SpinnerSize.small })));
187
- }
188
- return (external_react_default().createElement((Row_default()), null,
189
- external_react_default().createElement((Col_default()), { xs: 4 }, this.props.leftContent),
190
- external_react_default().createElement((Col_default()), { className: 'h-100 align-items-center' }, this.props.children),
191
- external_react_default().createElement((Col_default()), { xs: 4 }, this.props.rightContent)));
241
+ _this.addClass(node, 'exit', 'base');
242
+
243
+ if (_this.props.onExit) {
244
+ _this.props.onExit(maybeNode);
245
+ }
192
246
  };
193
- DetailPageHeaderUI.displayName = 'DetailPageHeaderUI';
194
- return DetailPageHeaderUI;
195
- }((external_react_default()).PureComponent));
196
247
 
248
+ _this.onExiting = function (maybeNode) {
249
+ var _this$resolveArgument5 = _this.resolveArguments(maybeNode),
250
+ node = _this$resolveArgument5[0];
197
251
 
198
- ;// CONCATENATED MODULE: ./src/components/DetailPage/DetailPageMenuContainer.tsx
252
+ _this.addClass(node, 'exit', 'active');
199
253
 
254
+ if (_this.props.onExiting) {
255
+ _this.props.onExiting(maybeNode);
256
+ }
257
+ };
200
258
 
201
- var DetailPageMenuContainer = function (props) {
202
- return external_react_default().createElement((Col_default()), { xs: 4 }, props.children);
203
- };
204
- DetailPageMenuContainer.displayName = 'DetailPageMenuContainer';
259
+ _this.onExited = function (maybeNode) {
260
+ var _this$resolveArgument6 = _this.resolveArguments(maybeNode),
261
+ node = _this$resolveArgument6[0];
205
262
 
206
- ;// CONCATENATED MODULE: ./src/components/DetailPage/DetailPageBodySection.tsx
263
+ _this.removeClasses(node, 'exit');
207
264
 
265
+ _this.addClass(node, 'exit', 'done');
208
266
 
209
- var DetailPageBodySection = function (props) {
210
- return external_react_default().createElement("div", { className: 'atoka-detail-page-body-section' }, props.children);
211
- };
212
- DetailPageBodySection.displayName = 'DetailPageBodySection';
267
+ if (_this.props.onExited) {
268
+ _this.props.onExited(maybeNode);
269
+ }
270
+ };
213
271
 
214
- ;// CONCATENATED MODULE: ./src/components/DetailPage/DetailPage.tsx
215
- var DetailPage_extends = (undefined && undefined.__extends) || (function () {
216
- var extendStatics = function (d, b) {
217
- extendStatics = Object.setPrototypeOf ||
218
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
219
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
220
- return extendStatics(d, b);
272
+ _this.resolveArguments = function (maybeNode, maybeAppearing) {
273
+ return _this.props.nodeRef ? [_this.props.nodeRef.current, maybeNode] // here `maybeNode` is actually `appearing`
274
+ : [maybeNode, maybeAppearing];
221
275
  };
222
- return function (d, b) {
223
- extendStatics(d, b);
224
- function __() { this.constructor = d; }
225
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
276
+
277
+ _this.getClassNames = function (type) {
278
+ var classNames = _this.props.classNames;
279
+ var isStringClassNames = typeof classNames === 'string';
280
+ var prefix = isStringClassNames && classNames ? classNames + "-" : '';
281
+ var baseClassName = isStringClassNames ? "" + prefix + type : classNames[type];
282
+ var activeClassName = isStringClassNames ? baseClassName + "-active" : classNames[type + "Active"];
283
+ var doneClassName = isStringClassNames ? baseClassName + "-done" : classNames[type + "Done"];
284
+ return {
285
+ baseClassName: baseClassName,
286
+ activeClassName: activeClassName,
287
+ doneClassName: doneClassName
288
+ };
226
289
  };
227
- })();
228
290
 
291
+ return _this;
292
+ }
229
293
 
294
+ var _proto = CSSTransition.prototype;
230
295
 
296
+ _proto.addClass = function addClass(node, type, phase) {
297
+ var className = this.getClassNames(type)[phase + "ClassName"];
231
298
 
299
+ var _this$getClassNames = this.getClassNames('enter'),
300
+ doneClassName = _this$getClassNames.doneClassName;
232
301
 
302
+ if (type === 'appear' && phase === 'done' && doneClassName) {
303
+ className += " " + doneClassName;
304
+ } // This is to force a repaint,
305
+ // which is necessary in order to transition styles when adding a class name.
233
306
 
234
307
 
308
+ if (phase === 'active') {
309
+ /* eslint-disable no-unused-expressions */
310
+ node && node.scrollTop;
311
+ }
235
312
 
313
+ if (className) {
314
+ this.appliedClasses[type][phase] = className;
236
315
 
316
+ _addClass(node, className);
317
+ }
318
+ };
237
319
 
320
+ _proto.removeClasses = function removeClasses(node, type) {
321
+ var _this$appliedClasses$ = this.appliedClasses[type],
322
+ baseClassName = _this$appliedClasses$.base,
323
+ activeClassName = _this$appliedClasses$.active,
324
+ doneClassName = _this$appliedClasses$.done;
325
+ this.appliedClasses[type] = {};
238
326
 
327
+ if (baseClassName) {
328
+ removeClass(node, baseClassName);
329
+ }
239
330
 
331
+ if (activeClassName) {
332
+ removeClass(node, activeClassName);
333
+ }
240
334
 
241
- /** Container component to display detail pages.<br />
242
- * You should use its special children DetailPageHeader, DetailPageMenu and DetailPageBody
243
- * as containers for your stuff. */
244
- var DetailPage = /** @class */ (function (_super) {
245
- DetailPage_extends(DetailPage, _super);
246
- function DetailPage() {
247
- return _super !== null && _super.apply(this, arguments) || this;
335
+ if (doneClassName) {
336
+ removeClass(node, doneClassName);
248
337
  }
249
- DetailPage.prototype.renderOtherChildren = function () {
250
- var ret = [];
251
- external_react_default().Children.forEach(this.props.children, function (element) {
252
- if ((element === null || element === void 0 ? void 0 : element.type) !== DetailPageMenuContainer &&
253
- (element === null || element === void 0 ? void 0 : element.type) !== DetailPageHeaderContainer &&
254
- (element === null || element === void 0 ? void 0 : element.type) !== DetailPageBodyContainer) {
255
- ret.push(element);
256
- }
257
- });
258
- if (ret.length === 0) {
259
- return null;
260
- }
261
- return external_react_default().createElement((Col_default()), null, ret);
262
- };
263
- DetailPage.prototype.render = function () {
264
- return (external_react_default().createElement(Bs4V3Wrapper.Bs4V3Wrapper, null,
265
- external_react_default().createElement("div", { className: 'atoka-detail-page-container' },
266
- (0,Utils/* findChildByComponent */.z8)(this.props.children, DetailPageHeaderContainer),
267
- external_react_default().createElement((Container_default()), null,
268
- external_react_default().createElement((Row_default()), null,
269
- (0,Utils/* findChildByComponent */.z8)(this.props.children, DetailPageMenuContainer),
270
- (0,Utils/* findChildByComponent */.z8)(this.props.children, DetailPageBodyContainer)),
271
- this.renderOtherChildren()))));
272
- };
273
- DetailPage.displayName = 'DetailPage';
274
- DetailPage.HeaderContainer = DetailPageHeaderContainer;
275
- DetailPage.HeaderUI = DetailPageHeaderUI;
276
- DetailPage.MenuContainer = DetailPageMenuContainer;
277
- DetailPage.MenuUI = DetailPageMenuUI;
278
- DetailPage.SubMenu = DetailPageSubMenu;
279
- DetailPage.BodyContainer = DetailPageBodyContainer;
280
- DetailPage.BodySection = DetailPageBodySection;
281
- return DetailPage;
282
- }((external_react_default()).PureComponent));
338
+ };
283
339
 
340
+ _proto.render = function render() {
341
+ var _this$props = this.props,
342
+ _ = _this$props.classNames,
343
+ props = (0,objectWithoutPropertiesLoose/* default */.Z)(_this$props, ["classNames"]);
284
344
 
285
- ;// CONCATENATED MODULE: ./src/components/DetailPage/index.ts
345
+ return /*#__PURE__*/external_react_default().createElement(Transition/* default */.ZP, (0,esm_extends/* default */.Z)({}, props, {
346
+ onEnter: this.onEnter,
347
+ onEntered: this.onEntered,
348
+ onEntering: this.onEntering,
349
+ onExit: this.onExit,
350
+ onExiting: this.onExiting,
351
+ onExited: this.onExited
352
+ }));
353
+ };
286
354
 
355
+ return CSSTransition;
356
+ }((external_react_default()).Component);
287
357
 
358
+ CSSTransition.defaultProps = {
359
+ classNames: ''
360
+ };
361
+ CSSTransition.propTypes = false ? 0 : {};
362
+ /* harmony default export */ const esm_CSSTransition = (CSSTransition);
288
363
 
289
364
  /***/ }),
290
365
 
291
- /***/ 1018:
366
+ /***/ 6113:
292
367
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
293
368
 
294
- "use strict";
295
369
 
296
370
  // EXPORTS
297
371
  __webpack_require__.d(__webpack_exports__, {
298
- "FadeAnimation": () => (/* reexport */ FadeAnimation)
372
+ "ZP": () => (/* binding */ esm_Transition)
299
373
  });
300
374
 
375
+ // UNUSED EXPORTS: ENTERED, ENTERING, EXITED, EXITING, UNMOUNTED
376
+
377
+ // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js
378
+ var objectWithoutPropertiesLoose = __webpack_require__(7038);
379
+ // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js + 1 modules
380
+ var inheritsLoose = __webpack_require__(7581);
301
381
  // EXTERNAL MODULE: external "react"
302
382
  var external_react_ = __webpack_require__(8156);
303
383
  var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
304
- // EXTERNAL MODULE: ./node_modules/react-transition-group/esm/CSSTransition.js + 5 modules
305
- var CSSTransition = __webpack_require__(1750);
306
- ;// CONCATENATED MODULE: ./src/components/FadeAnimation/FadeAnimation.tsx
307
- var __extends = (undefined && undefined.__extends) || (function () {
308
- var extendStatics = function (d, b) {
309
- extendStatics = Object.setPrototypeOf ||
310
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
311
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
312
- return extendStatics(d, b);
313
- };
314
- return function (d, b) {
315
- extendStatics(d, b);
316
- function __() { this.constructor = d; }
317
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
318
- };
319
- })();
320
-
321
-
322
-
323
- var FadeAnimation = /** @class */ (function (_super) {
324
- __extends(FadeAnimation, _super);
325
- function FadeAnimation() {
326
- return _super !== null && _super.apply(this, arguments) || this;
327
- }
328
- FadeAnimation.prototype.render = function () {
329
- var _a = this.props, duration = _a.duration, appearDelay = _a.appearDelay, name = "atoka-fadein-" + duration + "-" + appearDelay;
330
- return (external_react_default().createElement(CSSTransition/* default */.Z, { timeout: duration + appearDelay, classNames: name, in: this.props.in, appear: true }, this.props.children));
331
- };
332
- FadeAnimation.displayName = 'FadeAnimation';
333
- FadeAnimation.defaultProps = {
334
- duration: 600,
335
- appearDelay: 0,
336
- in: true,
337
- };
338
- return FadeAnimation;
339
- }((external_react_default()).PureComponent));
340
-
384
+ // EXTERNAL MODULE: external "react-dom"
385
+ var external_react_dom_ = __webpack_require__(7111);
386
+ var external_react_dom_default = /*#__PURE__*/__webpack_require__.n(external_react_dom_);
387
+ ;// CONCATENATED MODULE: ./node_modules/react-transition-group/esm/config.js
388
+ /* harmony default export */ const config = ({
389
+ disabled: false
390
+ });
391
+ // EXTERNAL MODULE: ./node_modules/react-transition-group/esm/TransitionGroupContext.js
392
+ var TransitionGroupContext = __webpack_require__(3493);
393
+ ;// CONCATENATED MODULE: ./node_modules/react-transition-group/esm/Transition.js
341
394
 
342
- ;// CONCATENATED MODULE: ./src/components/FadeAnimation/index.ts
343
395
 
344
396
 
345
397
 
346
- /***/ }),
347
398
 
348
- /***/ 9316:
349
- /***/ ((__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) => {
350
399
 
351
- "use strict";
352
400
 
353
- // UNUSED EXPORTS: Form
354
401
 
355
- // EXTERNAL MODULE: external "react"
356
- var external_react_ = __webpack_require__(8156);
357
- var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
358
- // EXTERNAL MODULE: external "classnames"
359
- var external_classnames_ = __webpack_require__(8310);
360
- var external_classnames_default = /*#__PURE__*/__webpack_require__.n(external_classnames_);
361
- // EXTERNAL MODULE: external "react-bootstrap/Form"
362
- var Form_ = __webpack_require__(8721);
363
- var Form_default = /*#__PURE__*/__webpack_require__.n(Form_);
364
- ;// CONCATENATED MODULE: ./src/components/Form/FormLabel.tsx
365
-
366
-
367
-
368
-
369
- var FormLabel = external_react_default().memo(function (props) {
370
- var className = external_classnames_default()(props === null || props === void 0 ? void 0 : props.className, 'atoka-form-label');
371
- return external_react_default().createElement((Form_default()).Label, { className: className }, props.children);
372
- });
373
- FormLabel.displayName = 'FormLabel';
402
+ var UNMOUNTED = 'unmounted';
403
+ var EXITED = 'exited';
404
+ var ENTERING = 'entering';
405
+ var ENTERED = 'entered';
406
+ var EXITING = 'exiting';
407
+ /**
408
+ * The Transition component lets you describe a transition from one component
409
+ * state to another _over time_ with a simple declarative API. Most commonly
410
+ * it's used to animate the mounting and unmounting of a component, but can also
411
+ * be used to describe in-place transition states as well.
412
+ *
413
+ * ---
414
+ *
415
+ * **Note**: `Transition` is a platform-agnostic base component. If you're using
416
+ * transitions in CSS, you'll probably want to use
417
+ * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)
418
+ * instead. It inherits all the features of `Transition`, but contains
419
+ * additional features necessary to play nice with CSS transitions (hence the
420
+ * name of the component).
421
+ *
422
+ * ---
423
+ *
424
+ * By default the `Transition` component does not alter the behavior of the
425
+ * component it renders, it only tracks "enter" and "exit" states for the
426
+ * components. It's up to you to give meaning and effect to those states. For
427
+ * example we can add styles to a component when it enters or exits:
428
+ *
429
+ * ```jsx
430
+ * import { Transition } from 'react-transition-group';
431
+ *
432
+ * const duration = 300;
433
+ *
434
+ * const defaultStyle = {
435
+ * transition: `opacity ${duration}ms ease-in-out`,
436
+ * opacity: 0,
437
+ * }
438
+ *
439
+ * const transitionStyles = {
440
+ * entering: { opacity: 1 },
441
+ * entered: { opacity: 1 },
442
+ * exiting: { opacity: 0 },
443
+ * exited: { opacity: 0 },
444
+ * };
445
+ *
446
+ * const Fade = ({ in: inProp }) => (
447
+ * <Transition in={inProp} timeout={duration}>
448
+ * {state => (
449
+ * <div style={{
450
+ * ...defaultStyle,
451
+ * ...transitionStyles[state]
452
+ * }}>
453
+ * I'm a fade Transition!
454
+ * </div>
455
+ * )}
456
+ * </Transition>
457
+ * );
458
+ * ```
459
+ *
460
+ * There are 4 main states a Transition can be in:
461
+ * - `'entering'`
462
+ * - `'entered'`
463
+ * - `'exiting'`
464
+ * - `'exited'`
465
+ *
466
+ * Transition state is toggled via the `in` prop. When `true` the component
467
+ * begins the "Enter" stage. During this stage, the component will shift from
468
+ * its current transition state, to `'entering'` for the duration of the
469
+ * transition and then to the `'entered'` stage once it's complete. Let's take
470
+ * the following example (we'll use the
471
+ * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):
472
+ *
473
+ * ```jsx
474
+ * function App() {
475
+ * const [inProp, setInProp] = useState(false);
476
+ * return (
477
+ * <div>
478
+ * <Transition in={inProp} timeout={500}>
479
+ * {state => (
480
+ * // ...
481
+ * )}
482
+ * </Transition>
483
+ * <button onClick={() => setInProp(true)}>
484
+ * Click to Enter
485
+ * </button>
486
+ * </div>
487
+ * );
488
+ * }
489
+ * ```
490
+ *
491
+ * When the button is clicked the component will shift to the `'entering'` state
492
+ * and stay there for 500ms (the value of `timeout`) before it finally switches
493
+ * to `'entered'`.
494
+ *
495
+ * When `in` is `false` the same thing happens except the state moves from
496
+ * `'exiting'` to `'exited'`.
497
+ */
374
498
 
375
- // EXTERNAL MODULE: ./src/components/Form/FormControl.tsx + 1 modules
376
- var FormControl = __webpack_require__(3422);
377
- ;// CONCATENATED MODULE: ./src/components/Form/FormCheckbox.tsx
378
- var __assign = (undefined && undefined.__assign) || function () {
379
- __assign = Object.assign || function(t) {
380
- for (var s, i = 1, n = arguments.length; i < n; i++) {
381
- s = arguments[i];
382
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
383
- t[p] = s[p];
384
- }
385
- return t;
386
- };
387
- return __assign.apply(this, arguments);
388
- };
499
+ var Transition = /*#__PURE__*/function (_React$Component) {
500
+ (0,inheritsLoose/* default */.Z)(Transition, _React$Component);
389
501
 
502
+ function Transition(props, context) {
503
+ var _this;
390
504
 
505
+ _this = _React$Component.call(this, props, context) || this;
506
+ var parentGroup = context; // In the context of a TransitionGroup all enters are really appears
391
507
 
508
+ var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;
509
+ var initialStatus;
510
+ _this.appearStatus = null;
392
511
 
393
- var FormCheckbox = function (props) {
394
- var _a;
395
- var className = external_classnames_default()('atoka-form-checkbox', props === null || props === void 0 ? void 0 : props.className);
396
- return external_react_default().createElement((Form_default()).Check, __assign({ type: 'checkbox' }, props, { custom: true, className: className, label: (_a = props.label) !== null && _a !== void 0 ? _a : '' }));
397
- };
398
- FormCheckbox.displayName = 'FormCheckbox';
512
+ if (props["in"]) {
513
+ if (appear) {
514
+ initialStatus = EXITED;
515
+ _this.appearStatus = ENTERING;
516
+ } else {
517
+ initialStatus = ENTERED;
518
+ }
519
+ } else {
520
+ if (props.unmountOnExit || props.mountOnEnter) {
521
+ initialStatus = UNMOUNTED;
522
+ } else {
523
+ initialStatus = EXITED;
524
+ }
525
+ }
399
526
 
400
- ;// CONCATENATED MODULE: ./src/components/Form/FormRadio.tsx
401
- var FormRadio_assign = (undefined && undefined.__assign) || function () {
402
- FormRadio_assign = Object.assign || function(t) {
403
- for (var s, i = 1, n = arguments.length; i < n; i++) {
404
- s = arguments[i];
405
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
406
- t[p] = s[p];
407
- }
408
- return t;
527
+ _this.state = {
528
+ status: initialStatus
409
529
  };
410
- return FormRadio_assign.apply(this, arguments);
411
- };
412
-
413
-
530
+ _this.nextCallback = null;
531
+ return _this;
532
+ }
414
533
 
534
+ Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {
535
+ var nextIn = _ref["in"];
415
536
 
416
- var FormRadio = function (props) {
417
- var _a;
418
- var className = external_classnames_default()(props === null || props === void 0 ? void 0 : props.className, 'atoka-form-radio');
419
- return external_react_default().createElement((Form_default()).Check, FormRadio_assign({ type: 'radio' }, props, { custom: true, className: className, label: (_a = props.label) !== null && _a !== void 0 ? _a : '' }));
420
- };
421
- FormRadio.displayName = 'FormRadio';
537
+ if (nextIn && prevState.status === UNMOUNTED) {
538
+ return {
539
+ status: EXITED
540
+ };
541
+ }
422
542
 
423
- // EXTERNAL MODULE: external "react-bootstrap/FormText"
424
- var FormText_ = __webpack_require__(8763);
425
- var FormText_default = /*#__PURE__*/__webpack_require__.n(FormText_);
426
- ;// CONCATENATED MODULE: ./src/components/Form/FormHelp.tsx
427
- var __rest = (undefined && undefined.__rest) || function (s, e) {
428
- var t = {};
429
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
430
- t[p] = s[p];
431
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
432
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
433
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
434
- t[p[i]] = s[p[i]];
435
- }
436
- return t;
437
- };
543
+ return null;
544
+ } // getSnapshotBeforeUpdate(prevProps) {
545
+ // let nextStatus = null
546
+ // if (prevProps !== this.props) {
547
+ // const { status } = this.state
548
+ // if (this.props.in) {
549
+ // if (status !== ENTERING && status !== ENTERED) {
550
+ // nextStatus = ENTERING
551
+ // }
552
+ // } else {
553
+ // if (status === ENTERING || status === ENTERED) {
554
+ // nextStatus = EXITING
555
+ // }
556
+ // }
557
+ // }
558
+ // return { nextStatus }
559
+ // }
560
+ ;
438
561
 
562
+ var _proto = Transition.prototype;
439
563
 
564
+ _proto.componentDidMount = function componentDidMount() {
565
+ this.updateStatus(true, this.appearStatus);
566
+ };
440
567
 
568
+ _proto.componentDidUpdate = function componentDidUpdate(prevProps) {
569
+ var nextStatus = null;
441
570
 
442
- var FormHelp = external_react_default().memo(function (_a) {
443
- var children = _a.children, props = __rest(_a, ["children"]);
444
- var className = external_classnames_default()('d-block', props === null || props === void 0 ? void 0 : props.className);
445
- return (external_react_default().createElement((FormText_default()), { bsPrefix: 'atoka-form-help', className: className }, children));
446
- });
447
- FormHelp.displayName = 'FormHelp';
571
+ if (prevProps !== this.props) {
572
+ var status = this.state.status;
448
573
 
449
- ;// CONCATENATED MODULE: ./src/components/Form/Form.tsx
450
- var Form_assign = (undefined && undefined.__assign) || function () {
451
- Form_assign = Object.assign || function(t) {
452
- for (var s, i = 1, n = arguments.length; i < n; i++) {
453
- s = arguments[i];
454
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
455
- t[p] = s[p];
574
+ if (this.props["in"]) {
575
+ if (status !== ENTERING && status !== ENTERED) {
576
+ nextStatus = ENTERING;
456
577
  }
457
- return t;
458
- };
459
- return Form_assign.apply(this, arguments);
460
- };
461
-
462
-
463
-
464
-
465
-
466
-
467
-
468
-
469
-
470
- var Form = function (props) {
471
- var className = external_classnames_default()(props === null || props === void 0 ? void 0 : props.className, 'atoka-form');
472
- return (external_react_default().createElement((Form_default()), Form_assign({}, props, { className: className }), props.children));
473
- };
474
- Form.displayName = 'Form';
475
- Form.Control = FormControl/* FormControl */.N;
476
- Form.Label = FormLabel;
477
- Form.Checkbox = FormCheckbox;
478
- Form.Radio = FormRadio;
479
- Form.File = (Form_default()).File;
480
- Form.Switch = (Form_default()).Switch;
481
- Form.Help = FormHelp;
482
- Form.Group = (Form_default()).Group;
483
-
484
-
485
-
486
- /***/ }),
487
-
488
- /***/ 3422:
489
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
490
-
491
- "use strict";
492
-
493
- // EXPORTS
494
- __webpack_require__.d(__webpack_exports__, {
495
- "N": () => (/* binding */ FormControl)
496
- });
497
-
498
- // EXTERNAL MODULE: external "react"
499
- var external_react_ = __webpack_require__(8156);
500
- var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
501
- // EXTERNAL MODULE: external "classnames"
502
- var external_classnames_ = __webpack_require__(8310);
503
- var external_classnames_default = /*#__PURE__*/__webpack_require__.n(external_classnames_);
504
- // EXTERNAL MODULE: external "react-bootstrap/FormControl"
505
- var FormControl_ = __webpack_require__(1082);
506
- var FormControl_default = /*#__PURE__*/__webpack_require__.n(FormControl_);
507
- ;// CONCATENATED MODULE: ./src/components/Form/FormControlFeedBack.tsx
508
- var __rest = (undefined && undefined.__rest) || function (s, e) {
509
- var t = {};
510
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
511
- t[p] = s[p];
512
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
513
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
514
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
515
- t[p[i]] = s[p[i]];
578
+ } else {
579
+ if (status === ENTERING || status === ENTERED) {
580
+ nextStatus = EXITING;
516
581
  }
517
- return t;
518
- };
582
+ }
583
+ }
519
584
 
585
+ this.updateStatus(false, nextStatus);
586
+ };
520
587
 
588
+ _proto.componentWillUnmount = function componentWillUnmount() {
589
+ this.cancelNextCallback();
590
+ };
521
591
 
522
- var FormControlFeedBack = external_react_default().memo(function (_a) {
523
- var _b = _a.show, show = _b === void 0 ? true : _b, props = __rest(_a, ["show"]);
524
- var className = external_classnames_default()(props === null || props === void 0 ? void 0 : props.className, 'atoka-form-control-feedback', {
525
- 'd-block': show,
526
- });
527
- return (external_react_default().createElement((FormControl_default()).Feedback, { type: props.type, className: className }, props.children));
528
- });
529
- FormControlFeedBack.displayName = ' FormControlFeedBack';
592
+ _proto.getTimeouts = function getTimeouts() {
593
+ var timeout = this.props.timeout;
594
+ var exit, enter, appear;
595
+ exit = enter = appear = timeout;
530
596
 
531
- ;// CONCATENATED MODULE: ./src/components/Form/FormControl.tsx
532
- var FormControl_rest = (undefined && undefined.__rest) || function (s, e) {
533
- var t = {};
534
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
535
- t[p] = s[p];
536
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
537
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
538
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
539
- t[p[i]] = s[p[i]];
540
- }
541
- return t;
542
- };
597
+ if (timeout != null && typeof timeout !== 'number') {
598
+ exit = timeout.exit;
599
+ enter = timeout.enter; // TODO: remove fallback for next major
543
600
 
601
+ appear = timeout.appear !== undefined ? timeout.appear : enter;
602
+ }
544
603
 
604
+ return {
605
+ exit: exit,
606
+ enter: enter,
607
+ appear: appear
608
+ };
609
+ };
545
610
 
611
+ _proto.updateStatus = function updateStatus(mounting, nextStatus) {
612
+ if (mounting === void 0) {
613
+ mounting = false;
614
+ }
546
615
 
616
+ if (nextStatus !== null) {
617
+ // nextStatus will always be ENTERING or EXITING.
618
+ this.cancelNextCallback();
547
619
 
548
- var FormControlComponent = external_react_default().forwardRef(function (_a, ref) {
549
- var _b = _a.size, size = _b === void 0 ? 'md' : _b, props = FormControl_rest(_a, ["size"]);
550
- var className = external_classnames_default()('atoka-form-control', props === null || props === void 0 ? void 0 : props.className, {
551
- 'atoka-shadow': props.withShadow,
552
- 'disabled': props.disabled,
553
- });
554
- return (external_react_default().createElement((FormControl_default()), { as: props.as, rows: props.rows, cols: props.cols, placeholder: props.placeholder, className: className, disabled: props.disabled, readOnly: props.readOnly, value: props.value, onChange: props.onChange, onKeyPress: props.onKeyPress, onKeyDown: props.onKeyDown, defaultValue: props.defaultValue, size: size === 'md' ? undefined : size, type: props.type, id: props.id, isValid: props.isValid, isInvalid: props.isInvalid, ref: ref, autoComplete: 'off' }, props.children));
555
- });
556
- FormControlComponent.displayName = 'FormControlComponent';
557
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
558
- var FormControl = FormControlComponent;
559
- FormControl.FeedBack = FormControlFeedBack;
560
- FormControl.displayName = 'FormControl';
620
+ if (nextStatus === ENTERING) {
621
+ this.performEnter(mounting);
622
+ } else {
623
+ this.performExit();
624
+ }
625
+ } else if (this.props.unmountOnExit && this.state.status === EXITED) {
626
+ this.setState({
627
+ status: UNMOUNTED
628
+ });
629
+ }
630
+ };
561
631
 
632
+ _proto.performEnter = function performEnter(mounting) {
633
+ var _this2 = this;
562
634
 
635
+ var enter = this.props.enter;
636
+ var appearing = this.context ? this.context.isMounting : mounting;
563
637
 
564
- /***/ }),
638
+ var _ref2 = this.props.nodeRef ? [appearing] : [external_react_dom_default().findDOMNode(this), appearing],
639
+ maybeNode = _ref2[0],
640
+ maybeAppearing = _ref2[1];
565
641
 
566
- /***/ 4482:
567
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
642
+ var timeouts = this.getTimeouts();
643
+ var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED
644
+ // if we are mounting and running this it means appear _must_ be set
568
645
 
569
- "use strict";
646
+ if (!mounting && !enter || config.disabled) {
647
+ this.safeSetState({
648
+ status: ENTERED
649
+ }, function () {
650
+ _this2.props.onEntered(maybeNode);
651
+ });
652
+ return;
653
+ }
570
654
 
571
- // EXPORTS
572
- __webpack_require__.d(__webpack_exports__, {
573
- "Spinner": () => (/* reexport */ Spinner),
574
- "SpinnerSize": () => (/* reexport */ SpinnerSize)
575
- });
655
+ this.props.onEnter(maybeNode, maybeAppearing);
656
+ this.safeSetState({
657
+ status: ENTERING
658
+ }, function () {
659
+ _this2.props.onEntering(maybeNode, maybeAppearing);
576
660
 
577
- // EXTERNAL MODULE: external "classnames"
578
- var external_classnames_ = __webpack_require__(8310);
579
- var external_classnames_default = /*#__PURE__*/__webpack_require__.n(external_classnames_);
580
- // EXTERNAL MODULE: external "react"
581
- var external_react_ = __webpack_require__(8156);
582
- var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
583
- ;// CONCATENATED MODULE: ./src/components/Spinner/Spinner.tsx
584
- var __extends = (undefined && undefined.__extends) || (function () {
585
- var extendStatics = function (d, b) {
586
- extendStatics = Object.setPrototypeOf ||
587
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
588
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
589
- return extendStatics(d, b);
590
- };
591
- return function (d, b) {
592
- extendStatics(d, b);
593
- function __() { this.constructor = d; }
594
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
595
- };
596
- })();
661
+ _this2.onTransitionEnd(enterTimeout, function () {
662
+ _this2.safeSetState({
663
+ status: ENTERED
664
+ }, function () {
665
+ _this2.props.onEntered(maybeNode, maybeAppearing);
666
+ });
667
+ });
668
+ });
669
+ };
597
670
 
671
+ _proto.performExit = function performExit() {
672
+ var _this3 = this;
598
673
 
674
+ var exit = this.props.exit;
675
+ var timeouts = this.getTimeouts();
676
+ var maybeNode = this.props.nodeRef ? undefined : external_react_dom_default().findDOMNode(this); // no exit animation skip right to EXITED
599
677
 
600
- var SpinnerSize;
601
- (function (SpinnerSize) {
602
- SpinnerSize[SpinnerSize["mini"] = 0] = "mini";
603
- SpinnerSize[SpinnerSize["small"] = 1] = "small";
604
- SpinnerSize[SpinnerSize["big"] = 2] = "big";
605
- SpinnerSize[SpinnerSize["modal"] = 3] = "modal";
606
- })(SpinnerSize || (SpinnerSize = {}));
607
- /**
608
- * ### Overview
609
- *
610
- * We can find two different spinners in the Atoka interface, small and big. The **small** one is used to show that a specific section inside the page is loading. The **big** spinner on the other hand shows when the whole page is loading.
611
- *
612
- * ### Best practice
613
- *
614
- * Use the spinner if the waiting time is between 0.1 and 1 second. After one second, the user gets the impression that the app is slow: in that case, use a progress indicator instead.
615
- **/
616
- var Spinner = /** @class */ (function (_super) {
617
- __extends(Spinner, _super);
618
- function Spinner() {
619
- return _super !== null && _super.apply(this, arguments) || this;
678
+ if (!exit || config.disabled) {
679
+ this.safeSetState({
680
+ status: EXITED
681
+ }, function () {
682
+ _this3.props.onExited(maybeNode);
683
+ });
684
+ return;
620
685
  }
621
- Spinner.prototype.renderOnlyDotsSpinner = function (size) {
622
- var className = 'atoka-spinner spinner-' + size + ' ' + this.props.className;
623
- return (external_react_default().createElement("div", { className: className },
624
- external_react_default().createElement("div", { className: 'spinner-dot1' },
625
- external_react_default().createElement("div", { className: 'spinner-leaf' })),
626
- external_react_default().createElement("div", { className: 'spinner-dot2' },
627
- external_react_default().createElement("div", { className: 'spinner-leaf' })),
628
- external_react_default().createElement("div", { className: 'spinner-dot3' },
629
- external_react_default().createElement("div", { className: 'spinner-leaf' }))));
630
- };
631
- Spinner.prototype.renderSmall = function () {
632
- return this.renderOnlyDotsSpinner('small');
633
- };
634
- Spinner.prototype.renderMini = function () {
635
- return this.renderOnlyDotsSpinner('mini');
636
- };
637
- Spinner.prototype.renderLeaf = function () {
638
- return (external_react_default().createElement("svg", { viewBox: '0 0 204.01 190.64', version: '1.1', xmlns: 'http://www.w3.org/2000/svg' },
639
- external_react_default().createElement("g", { id: 'leaf' },
640
- external_react_default().createElement("path", { d: 'M80.88,7.62a26,26,0,0,0-36.79,36.8,25.85,25.85,0,0,0,13.4,7.14V83.39c1.19,0,2.4-.08,3.62-.08,2.16,0,4.28.08,6.38.23v-32A26,26,0,0,0,80.88,7.62ZM73.81,37.35a16,16,0,1,1,0-22.66,15.92,15.92,0,0,1,0,22.66Z' }))));
641
- };
642
- Spinner.prototype.renderLetter = function () {
643
- return (external_react_default().createElement("svg", { viewBox: '0 0 204.01 190.64', version: '1.1', xmlns: 'http://www.w3.org/2000/svg' },
644
- external_react_default().createElement("g", { id: 'logo-vector' },
645
- external_react_default().createElement("path", { d: 'M110.77,180.67V140.16a50.47,50.47,0,1,0-22,41.71L93.12,187a10,10,0,0,0,17.65-6.34Zm-81-40.51a30.5,30.5,0,1,1,30.5,30.5,30.49,30.49,0,0,1-30.5-30.5Z' }))));
646
- };
647
- Spinner.prototype.renderBig = function () {
648
- var spinnerClassName = external_classnames_default()(this.props.className, {
649
- 'atoka-spinner': true,
650
- 'spinner-big': this.props.size === SpinnerSize.big,
651
- 'spinner-medium': this.props.size === SpinnerSize.modal,
652
- }), containerClassName = external_classnames_default()({
653
- 'container-fluid spinner-modal': this.props.size === SpinnerSize.modal,
686
+
687
+ this.props.onExit(maybeNode);
688
+ this.safeSetState({
689
+ status: EXITING
690
+ }, function () {
691
+ _this3.props.onExiting(maybeNode);
692
+
693
+ _this3.onTransitionEnd(timeouts.exit, function () {
694
+ _this3.safeSetState({
695
+ status: EXITED
696
+ }, function () {
697
+ _this3.props.onExited(maybeNode);
654
698
  });
655
- return (external_react_default().createElement("div", { className: containerClassName },
656
- external_react_default().createElement("div", { className: spinnerClassName },
657
- external_react_default().createElement("div", { className: 'spinner-dot1' },
658
- external_react_default().createElement("div", { className: 'spinner-leaf' }, this.renderLeaf())),
659
- external_react_default().createElement("div", { className: 'spinner-dot2' },
660
- external_react_default().createElement("div", { className: 'spinner-leaf' }, this.renderLeaf())),
661
- external_react_default().createElement("div", { className: 'spinner-dot3' },
662
- external_react_default().createElement("div", { className: 'spinner-leaf' }, this.renderLeaf())),
663
- external_react_default().createElement("span", { className: 'spinner-letter' }, this.renderLetter()))));
664
- };
665
- Spinner.prototype.render = function () {
666
- switch (this.props.size) {
667
- case SpinnerSize.mini:
668
- return this.renderMini();
669
- case SpinnerSize.small:
670
- return this.renderSmall();
671
- case SpinnerSize.big:
672
- case SpinnerSize.modal:
673
- return this.renderBig();
674
- default:
675
- return null;
676
- }
677
- };
678
- Spinner.displayName = 'Spinner';
679
- Spinner.defaultProps = {
680
- size: SpinnerSize.small,
681
- className: '',
682
- };
683
- return Spinner;
684
- }((external_react_default()).Component));
699
+ });
700
+ });
701
+ };
685
702
 
703
+ _proto.cancelNextCallback = function cancelNextCallback() {
704
+ if (this.nextCallback !== null) {
705
+ this.nextCallback.cancel();
706
+ this.nextCallback = null;
707
+ }
708
+ };
709
+
710
+ _proto.safeSetState = function safeSetState(nextState, callback) {
711
+ // This shouldn't be necessary, but there are weird race conditions with
712
+ // setState callbacks and unmounting in testing, so always make sure that
713
+ // we can cancel any pending setState callbacks after we unmount.
714
+ callback = this.setNextCallback(callback);
715
+ this.setState(nextState, callback);
716
+ };
717
+
718
+ _proto.setNextCallback = function setNextCallback(callback) {
719
+ var _this4 = this;
686
720
 
687
- ;// CONCATENATED MODULE: ./src/components/Spinner/index.ts
721
+ var active = true;
688
722
 
723
+ this.nextCallback = function (event) {
724
+ if (active) {
725
+ active = false;
726
+ _this4.nextCallback = null;
727
+ callback(event);
728
+ }
729
+ };
689
730
 
731
+ this.nextCallback.cancel = function () {
732
+ active = false;
733
+ };
690
734
 
691
- /***/ }),
735
+ return this.nextCallback;
736
+ };
692
737
 
693
- /***/ 5654:
694
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
738
+ _proto.onTransitionEnd = function onTransitionEnd(timeout, handler) {
739
+ this.setNextCallback(handler);
740
+ var node = this.props.nodeRef ? this.props.nodeRef.current : external_react_dom_default().findDOMNode(this);
741
+ var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;
695
742
 
696
- "use strict";
697
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
698
- /* harmony export */ "z8": () => (/* binding */ findChildByComponent)
699
- /* harmony export */ });
700
- /* unused harmony exports findChildrenByComponent, hasChildIconOrCheckboxComponent, scrollToTop, zip, sortObjDesc, clone, getDebouncer, deepEqual, rgbToHex */
701
- /* harmony import */ var _fortawesome_react_fontawesome__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5692);
702
- /* harmony import */ var _fortawesome_react_fontawesome__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_fortawesome_react_fontawesome__WEBPACK_IMPORTED_MODULE_0__);
703
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8156);
704
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
705
- /* harmony import */ var _Form_Form__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9316);
706
- var __read = (undefined && undefined.__read) || function (o, n) {
707
- var m = typeof Symbol === "function" && o[Symbol.iterator];
708
- if (!m) return o;
709
- var i = m.call(o), r, ar = [], e;
710
- try {
711
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
712
- }
713
- catch (error) { e = { error: error }; }
714
- finally {
715
- try {
716
- if (r && !r.done && (m = i["return"])) m.call(i);
717
- }
718
- finally { if (e) throw e.error; }
743
+ if (!node || doesNotHaveTimeoutOrListener) {
744
+ setTimeout(this.nextCallback, 0);
745
+ return;
719
746
  }
720
- return ar;
721
- };
722
-
723
747
 
748
+ if (this.props.addEndListener) {
749
+ var _ref3 = this.props.nodeRef ? [this.nextCallback] : [node, this.nextCallback],
750
+ maybeNode = _ref3[0],
751
+ maybeNextCallback = _ref3[1];
724
752
 
725
- function findChildrenByComponent(children,
726
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
727
- component) {
728
- var ret = [];
729
- react__WEBPACK_IMPORTED_MODULE_1___default().Children.forEach(children, function (element) {
730
- if ((element === null || element === void 0 ? void 0 : element.type) === component) {
731
- ret.push(element);
732
- }
733
- });
734
- return ret;
735
- }
736
- function findChildByComponent(children,
737
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
738
- component) {
739
- var _a, _b;
740
- return (_b = (_a = findChildrenByComponent(children, component)) === null || _a === void 0 ? void 0 : _a[0]) !== null && _b !== void 0 ? _b : null;
741
- }
742
- function hasChildIconOrCheckboxComponent(children) {
743
- var ret = false;
744
- React.Children.forEach(children, function (element) {
745
- if ((element === null || element === void 0 ? void 0 : element.type) != null &&
746
- ((element === null || element === void 0 ? void 0 : element.type) === FontAwesomeIcon || (element === null || element === void 0 ? void 0 : element.type) === 'i' || (element === null || element === void 0 ? void 0 : element.type) === Form.Checkbox)) {
747
- ret = true;
748
- return;
749
- }
750
- });
751
- return ret;
752
- }
753
- function scrollToTop() {
754
- window.scrollTo(0, 0);
755
- }
756
- function zip(arr1, arr2) {
757
- var ret = [];
758
- var i = 0;
759
- while (arr1[i]) {
760
- ret.push(arr1[i]);
761
- ret.push(arr2[i++]);
762
- }
763
- return ret;
764
- }
765
- // eslint-disable-next-line @typescript-eslint/ban-types
766
- function sortObjDesc(accessor) {
767
- return function (a, b) {
768
- var leftVal = 0, rightVal = 0;
769
- if ((a === null || a === void 0 ? void 0 : a[accessor]) != null) {
770
- leftVal = a === null || a === void 0 ? void 0 : a[accessor];
771
- }
772
- if ((b === null || b === void 0 ? void 0 : b[accessor]) != null) {
773
- rightVal = b === null || b === void 0 ? void 0 : b[accessor];
774
- }
775
- return leftVal > rightVal ? -1 : 1;
776
- };
777
- }
778
- function clone(ob) {
779
- return JSON.parse(JSON.stringify(ob));
780
- }
781
- function getDebouncer(delay) {
782
- if (delay === void 0) { delay = 1; }
783
- var debounceTimeout = null;
784
- return function debounce(f) {
785
- if (debounceTimeout !== null) {
786
- clearTimeout(debounceTimeout);
787
- }
788
- debounceTimeout = window.setTimeout(f, delay);
789
- };
790
- }
791
- function isObject(obj) {
792
- return typeof obj === 'object' && obj != null;
793
- }
794
- function deepEqual(obj1, obj2) {
795
- if (obj1 === obj2) {
796
- return true;
797
- }
798
- if (isObject(obj1) && isObject(obj2)) {
799
- if (Object.keys(obj1).length !== Object.keys(obj2).length) {
800
- return false;
801
- }
802
- for (var prop in obj1) {
803
- if (!deepEqual(obj1[prop], obj2[prop])) {
804
- return false;
805
- }
806
- }
807
- return true;
753
+ this.props.addEndListener(maybeNode, maybeNextCallback);
808
754
  }
809
- return false;
810
- }
811
- function componentToHex(c) {
812
- if (isNaN(c)) {
813
- throw Error('The color has not been written correctly');
755
+
756
+ if (timeout != null) {
757
+ setTimeout(this.nextCallback, timeout);
814
758
  }
815
- var hex = c.toString(16).toUpperCase();
816
- return hex.length === 1 ? '0' + hex : hex;
817
- }
818
- function cleanSingleColor(c) {
819
- return c.replace(/"|'/g, '').trim();
820
- }
821
- function rgbToHex(rgb) {
822
- if (rgb.includes('rgba')) {
823
- throw Error('not implemented');
759
+ };
760
+
761
+ _proto.render = function render() {
762
+ var status = this.state.status;
763
+
764
+ if (status === UNMOUNTED) {
765
+ return null;
824
766
  }
825
- var _a = __read(rgb
826
- .replace('rgb', '')
827
- .replace(/\(|\)/gi, '')
828
- .split(',')
829
- .map(function (c) { return parseInt(cleanSingleColor(c), 10); }), 3), _b = _a[0], r = _b === void 0 ? 0 : _b, _c = _a[1], g = _c === void 0 ? 0 : _c, _d = _a[2], b = _d === void 0 ? 0 : _d;
830
- return '#' + componentToHex(r) + componentToHex(g) + componentToHex(b);
831
- }
832
767
 
768
+ var _this$props = this.props,
769
+ children = _this$props.children,
770
+ _in = _this$props["in"],
771
+ _mountOnEnter = _this$props.mountOnEnter,
772
+ _unmountOnExit = _this$props.unmountOnExit,
773
+ _appear = _this$props.appear,
774
+ _enter = _this$props.enter,
775
+ _exit = _this$props.exit,
776
+ _timeout = _this$props.timeout,
777
+ _addEndListener = _this$props.addEndListener,
778
+ _onEnter = _this$props.onEnter,
779
+ _onEntering = _this$props.onEntering,
780
+ _onEntered = _this$props.onEntered,
781
+ _onExit = _this$props.onExit,
782
+ _onExiting = _this$props.onExiting,
783
+ _onExited = _this$props.onExited,
784
+ _nodeRef = _this$props.nodeRef,
785
+ childProps = (0,objectWithoutPropertiesLoose/* default */.Z)(_this$props, ["children", "in", "mountOnEnter", "unmountOnExit", "appear", "enter", "exit", "timeout", "addEndListener", "onEnter", "onEntering", "onEntered", "onExit", "onExiting", "onExited", "nodeRef"]);
833
786
 
834
- /***/ }),
787
+ return (
788
+ /*#__PURE__*/
789
+ // allows for nested Transitions
790
+ external_react_default().createElement(TransitionGroupContext/* default.Provider */.Z.Provider, {
791
+ value: null
792
+ }, typeof children === 'function' ? children(status, childProps) : external_react_default().cloneElement(external_react_default().Children.only(children), childProps))
793
+ );
794
+ };
835
795
 
836
- /***/ 9112:
837
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
796
+ return Transition;
797
+ }((external_react_default()).Component);
838
798
 
839
- "use strict";
840
- /**
841
- * Copyright (c) 2013-present, Facebook, Inc.
842
- *
843
- * This source code is licensed under the MIT license found in the
844
- * LICENSE file in the root directory of this source tree.
845
- */
799
+ Transition.contextType = TransitionGroupContext/* default */.Z;
800
+ Transition.propTypes = false ? 0 : {}; // Name the function so it is clearer in the documentation
846
801
 
802
+ function noop() {}
847
803
 
848
- var ReactPropTypesSecret = __webpack_require__(5073);
804
+ Transition.defaultProps = {
805
+ "in": false,
806
+ mountOnEnter: false,
807
+ unmountOnExit: false,
808
+ appear: false,
809
+ enter: true,
810
+ exit: true,
811
+ onEnter: noop,
812
+ onEntering: noop,
813
+ onEntered: noop,
814
+ onExit: noop,
815
+ onExiting: noop,
816
+ onExited: noop
817
+ };
818
+ Transition.UNMOUNTED = UNMOUNTED;
819
+ Transition.EXITED = EXITED;
820
+ Transition.ENTERING = ENTERING;
821
+ Transition.ENTERED = ENTERED;
822
+ Transition.EXITING = EXITING;
823
+ /* harmony default export */ const esm_Transition = (Transition);
849
824
 
850
- function emptyFunction() {}
825
+ /***/ }),
851
826
 
852
- function emptyFunctionWithReset() {}
827
+ /***/ 3493:
828
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
853
829
 
854
- emptyFunctionWithReset.resetWarningCache = emptyFunction;
830
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
831
+ /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
832
+ /* harmony export */ });
833
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8156);
834
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
855
835
 
856
- module.exports = function () {
857
- function shim(props, propName, componentName, location, propFullName, secret) {
858
- if (secret === ReactPropTypesSecret) {
859
- // It is still safe when called from React.
860
- return;
861
- }
836
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (react__WEBPACK_IMPORTED_MODULE_0___default().createContext(null));
862
837
 
863
- var err = new Error('Calling PropTypes validators directly is not supported by the `prop-types` package. ' + 'Use PropTypes.checkPropTypes() to call them. ' + 'Read more at http://fb.me/use-check-prop-types');
864
- err.name = 'Invariant Violation';
865
- throw err;
866
- }
838
+ /***/ }),
867
839
 
868
- ;
869
- shim.isRequired = shim;
840
+ /***/ 1294:
841
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
870
842
 
871
- function getShim() {
872
- return shim;
873
- }
874
843
 
875
- ; // Important!
876
- // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.
877
-
878
- var ReactPropTypes = {
879
- array: shim,
880
- bool: shim,
881
- func: shim,
882
- number: shim,
883
- object: shim,
884
- string: shim,
885
- symbol: shim,
886
- any: shim,
887
- arrayOf: getShim,
888
- element: shim,
889
- elementType: shim,
890
- instanceOf: getShim,
891
- node: shim,
892
- objectOf: getShim,
893
- oneOf: getShim,
894
- oneOfType: getShim,
895
- shape: getShim,
896
- exact: getShim,
897
- checkPropTypes: emptyFunctionWithReset,
898
- resetWarningCache: emptyFunction
899
- };
900
- ReactPropTypes.PropTypes = ReactPropTypes;
901
- return ReactPropTypes;
902
- };
844
+ // EXPORTS
845
+ __webpack_require__.d(__webpack_exports__, {
846
+ "Bs4V3Wrapper": () => (/* reexport */ Bs4V3Wrapper)
847
+ });
903
848
 
904
- /***/ }),
849
+ // EXTERNAL MODULE: external "react"
850
+ var external_react_ = __webpack_require__(8156);
851
+ var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
852
+ // EXTERNAL MODULE: external "classnames"
853
+ var external_classnames_ = __webpack_require__(8310);
854
+ var external_classnames_default = /*#__PURE__*/__webpack_require__.n(external_classnames_);
855
+ ;// CONCATENATED MODULE: ./src/components/Bs4V3Wrapper/Bs4V3Wrapper.tsx
856
+ var __extends = (undefined && undefined.__extends) || (function () {
857
+ var extendStatics = function (d, b) {
858
+ extendStatics = Object.setPrototypeOf ||
859
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
860
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
861
+ return extendStatics(d, b);
862
+ };
863
+ return function (d, b) {
864
+ if (typeof b !== "function" && b !== null)
865
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
866
+ extendStatics(d, b);
867
+ function __() { this.constructor = d; }
868
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
869
+ };
870
+ })();
905
871
 
906
- /***/ 8691:
907
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
908
872
 
909
- /**
910
- * Copyright (c) 2013-present, Facebook, Inc.
911
- *
912
- * This source code is licensed under the MIT license found in the
913
- * LICENSE file in the root directory of this source tree.
914
- */
915
- if (false) { var throwOnDirectAccess, ReactIs; } else {
916
- // By explicitly using `prop-types` you are opting into new production behavior.
917
- // http://fb.me/prop-types-in-prod
918
- module.exports = __webpack_require__(9112)();
919
- }
920
873
 
921
- /***/ }),
874
+ var Bs4V3Wrapper = /** @class */ (function (_super) {
875
+ __extends(Bs4V3Wrapper, _super);
876
+ function Bs4V3Wrapper() {
877
+ return _super !== null && _super.apply(this, arguments) || this;
878
+ }
879
+ Bs4V3Wrapper.prototype.render = function () {
880
+ var className = external_classnames_default()('bs4-v3', this.props.className);
881
+ return external_react_default().createElement("div", { className: className }, this.props.children);
882
+ };
883
+ Bs4V3Wrapper.displayName = 'Bs4V3Wrapper';
884
+ return Bs4V3Wrapper;
885
+ }((external_react_default()).PureComponent));
922
886
 
923
- /***/ 5073:
924
- /***/ ((module) => {
925
887
 
926
- "use strict";
927
- /**
928
- * Copyright (c) 2013-present, Facebook, Inc.
929
- *
930
- * This source code is licensed under the MIT license found in the
931
- * LICENSE file in the root directory of this source tree.
932
- */
888
+ ;// CONCATENATED MODULE: ./src/components/Bs4V3Wrapper/index.ts
933
889
 
934
890
 
935
- var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
936
- module.exports = ReactPropTypesSecret;
937
891
 
938
892
  /***/ }),
939
893
 
940
- /***/ 1750:
894
+ /***/ 4716:
941
895
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
942
896
 
943
- "use strict";
897
+ // ESM COMPAT FLAG
898
+ __webpack_require__.r(__webpack_exports__);
944
899
 
945
900
  // EXPORTS
946
901
  __webpack_require__.d(__webpack_exports__, {
947
- "Z": () => (/* binding */ esm_CSSTransition)
902
+ "DetailPage": () => (/* reexport */ DetailPage)
948
903
  });
949
904
 
950
- // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js
951
- var esm_extends = __webpack_require__(32);
952
- // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js
953
- var objectWithoutPropertiesLoose = __webpack_require__(7038);
954
- // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js + 1 modules
955
- var inheritsLoose = __webpack_require__(7581);
956
- // EXTERNAL MODULE: ./node_modules/prop-types/index.js
957
- var prop_types = __webpack_require__(8691);
958
- ;// CONCATENATED MODULE: ./node_modules/dom-helpers/esm/hasClass.js
959
- function hasClass(element, className) {
960
- if (element.classList) return !!className && element.classList.contains(className);
961
- return (" " + (element.className.baseVal || element.className) + " ").indexOf(" " + className + " ") !== -1;
962
- }
963
- ;// CONCATENATED MODULE: ./node_modules/dom-helpers/esm/addClass.js
964
-
965
- function addClass_addClass(element, className) {
966
- if (element.classList) element.classList.add(className);else if (!hasClass(element, className)) if (typeof element.className === 'string') element.className = element.className + " " + className;else element.setAttribute('class', (element.className && element.className.baseVal || '') + " " + className);
967
- }
968
- ;// CONCATENATED MODULE: ./node_modules/dom-helpers/esm/removeClass.js
969
- function replaceClassName(origClass, classToRemove) {
970
- return origClass.replace(new RegExp("(^|\\s)" + classToRemove + "(?:\\s|$)", 'g'), '$1').replace(/\s+/g, ' ').replace(/^\s*|\s*$/g, '');
971
- }
972
-
973
- function removeClass_removeClass(element, className) {
974
- if (element.classList) {
975
- element.classList.remove(className);
976
- } else if (typeof element.className === 'string') {
977
- ;
978
- element.className = replaceClassName(element.className, className);
979
- } else {
980
- element.setAttribute('class', replaceClassName(element.className && element.className.baseVal || '', className));
981
- }
982
- }
983
905
  // EXTERNAL MODULE: external "react"
984
906
  var external_react_ = __webpack_require__(8156);
985
907
  var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
986
- // EXTERNAL MODULE: external "react-dom"
987
- var external_react_dom_ = __webpack_require__(7111);
988
- var external_react_dom_default = /*#__PURE__*/__webpack_require__.n(external_react_dom_);
989
- ;// CONCATENATED MODULE: ./node_modules/react-transition-group/esm/config.js
990
- /* harmony default export */ const config = ({
991
- disabled: false
992
- });
993
- // EXTERNAL MODULE: ./node_modules/react-transition-group/esm/TransitionGroupContext.js
994
- var TransitionGroupContext = __webpack_require__(3493);
995
- ;// CONCATENATED MODULE: ./node_modules/react-transition-group/esm/Transition.js
996
-
997
-
998
-
999
-
1000
-
908
+ // EXTERNAL MODULE: external "react-bootstrap/Container"
909
+ var Container_ = __webpack_require__(4394);
910
+ var Container_default = /*#__PURE__*/__webpack_require__.n(Container_);
911
+ // EXTERNAL MODULE: external "react-bootstrap/Row"
912
+ var Row_ = __webpack_require__(3915);
913
+ var Row_default = /*#__PURE__*/__webpack_require__.n(Row_);
914
+ // EXTERNAL MODULE: external "react-bootstrap/Col"
915
+ var Col_ = __webpack_require__(5315);
916
+ var Col_default = /*#__PURE__*/__webpack_require__.n(Col_);
917
+ // EXTERNAL MODULE: ./src/components/Bs4V3Wrapper/index.ts + 1 modules
918
+ var Bs4V3Wrapper = __webpack_require__(1294);
919
+ // EXTERNAL MODULE: ./src/components/Utils/Utils.tsx
920
+ var Utils = __webpack_require__(4915);
921
+ // EXTERNAL MODULE: ./src/components/FadeAnimation/index.ts + 1 modules
922
+ var FadeAnimation = __webpack_require__(577);
923
+ ;// CONCATENATED MODULE: ./src/components/DetailPage/DetailPageHeaderContainer.tsx
924
+ var __extends = (undefined && undefined.__extends) || (function () {
925
+ var extendStatics = function (d, b) {
926
+ extendStatics = Object.setPrototypeOf ||
927
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
928
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
929
+ return extendStatics(d, b);
930
+ };
931
+ return function (d, b) {
932
+ if (typeof b !== "function" && b !== null)
933
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
934
+ extendStatics(d, b);
935
+ function __() { this.constructor = d; }
936
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
937
+ };
938
+ })();
1001
939
 
1002
940
 
1003
941
 
1004
- var UNMOUNTED = 'unmounted';
1005
- var EXITED = 'exited';
1006
- var ENTERING = 'entering';
1007
- var ENTERED = 'entered';
1008
- var EXITING = 'exiting';
1009
- /**
1010
- * The Transition component lets you describe a transition from one component
1011
- * state to another _over time_ with a simple declarative API. Most commonly
1012
- * it's used to animate the mounting and unmounting of a component, but can also
1013
- * be used to describe in-place transition states as well.
1014
- *
1015
- * ---
1016
- *
1017
- * **Note**: `Transition` is a platform-agnostic base component. If you're using
1018
- * transitions in CSS, you'll probably want to use
1019
- * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)
1020
- * instead. It inherits all the features of `Transition`, but contains
1021
- * additional features necessary to play nice with CSS transitions (hence the
1022
- * name of the component).
1023
- *
1024
- * ---
1025
- *
1026
- * By default the `Transition` component does not alter the behavior of the
1027
- * component it renders, it only tracks "enter" and "exit" states for the
1028
- * components. It's up to you to give meaning and effect to those states. For
1029
- * example we can add styles to a component when it enters or exits:
1030
- *
1031
- * ```jsx
1032
- * import { Transition } from 'react-transition-group';
1033
- *
1034
- * const duration = 300;
1035
- *
1036
- * const defaultStyle = {
1037
- * transition: `opacity ${duration}ms ease-in-out`,
1038
- * opacity: 0,
1039
- * }
1040
- *
1041
- * const transitionStyles = {
1042
- * entering: { opacity: 1 },
1043
- * entered: { opacity: 1 },
1044
- * exiting: { opacity: 0 },
1045
- * exited: { opacity: 0 },
1046
- * };
1047
- *
1048
- * const Fade = ({ in: inProp }) => (
1049
- * <Transition in={inProp} timeout={duration}>
1050
- * {state => (
1051
- * <div style={{
1052
- * ...defaultStyle,
1053
- * ...transitionStyles[state]
1054
- * }}>
1055
- * I'm a fade Transition!
1056
- * </div>
1057
- * )}
1058
- * </Transition>
1059
- * );
1060
- * ```
1061
- *
1062
- * There are 4 main states a Transition can be in:
1063
- * - `'entering'`
1064
- * - `'entered'`
1065
- * - `'exiting'`
1066
- * - `'exited'`
1067
- *
1068
- * Transition state is toggled via the `in` prop. When `true` the component
1069
- * begins the "Enter" stage. During this stage, the component will shift from
1070
- * its current transition state, to `'entering'` for the duration of the
1071
- * transition and then to the `'entered'` stage once it's complete. Let's take
1072
- * the following example (we'll use the
1073
- * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):
1074
- *
1075
- * ```jsx
1076
- * function App() {
1077
- * const [inProp, setInProp] = useState(false);
1078
- * return (
1079
- * <div>
1080
- * <Transition in={inProp} timeout={500}>
1081
- * {state => (
1082
- * // ...
1083
- * )}
1084
- * </Transition>
1085
- * <button onClick={() => setInProp(true)}>
1086
- * Click to Enter
1087
- * </button>
1088
- * </div>
1089
- * );
1090
- * }
1091
- * ```
1092
- *
1093
- * When the button is clicked the component will shift to the `'entering'` state
1094
- * and stay there for 500ms (the value of `timeout`) before it finally switches
1095
- * to `'entered'`.
1096
- *
1097
- * When `in` is `false` the same thing happens except the state moves from
1098
- * `'exiting'` to `'exited'`.
1099
- */
1100
942
 
1101
- var Transition = /*#__PURE__*/function (_React$Component) {
1102
- (0,inheritsLoose/* default */.Z)(Transition, _React$Component);
943
+ /** Container component for the detail page header to be used as child of DetailPage. */
944
+ var DetailPageHeaderContainer = /** @class */ (function (_super) {
945
+ __extends(DetailPageHeaderContainer, _super);
946
+ function DetailPageHeaderContainer() {
947
+ return _super !== null && _super.apply(this, arguments) || this;
948
+ }
949
+ DetailPageHeaderContainer.prototype.render = function () {
950
+ return (external_react_default().createElement("div", { className: 'detail-page-header-container' },
951
+ external_react_default().createElement(FadeAnimation.FadeAnimation, null,
952
+ external_react_default().createElement((Container_default()), null, this.props.children))));
953
+ };
954
+ DetailPageHeaderContainer.displayName = 'DetailPageHeaderContainer';
955
+ return DetailPageHeaderContainer;
956
+ }((external_react_default()).PureComponent));
1103
957
 
1104
- function Transition(props, context) {
1105
- var _this;
1106
958
 
1107
- _this = _React$Component.call(this, props, context) || this;
1108
- var parentGroup = context; // In the context of a TransitionGroup all enters are really appears
959
+ // EXTERNAL MODULE: external "react-bootstrap/Nav"
960
+ var Nav_ = __webpack_require__(573);
961
+ var Nav_default = /*#__PURE__*/__webpack_require__.n(Nav_);
962
+ ;// CONCATENATED MODULE: ./src/components/DetailPage/DetailPageMenuUI.tsx
1109
963
 
1110
- var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;
1111
- var initialStatus;
1112
- _this.appearStatus = null;
1113
964
 
1114
- if (props["in"]) {
1115
- if (appear) {
1116
- initialStatus = EXITED;
1117
- _this.appearStatus = ENTERING;
1118
- } else {
1119
- initialStatus = ENTERED;
1120
- }
1121
- } else {
1122
- if (props.unmountOnExit || props.mountOnEnter) {
1123
- initialStatus = UNMOUNTED;
1124
- } else {
1125
- initialStatus = EXITED;
1126
- }
1127
- }
1128
965
 
1129
- _this.state = {
1130
- status: initialStatus
1131
- };
1132
- _this.nextCallback = null;
1133
- return _this;
1134
- }
966
+ var DetailPageMenuUI = function (props) {
967
+ return (external_react_default().createElement("div", { className: 'atoka-detail-page-menu' },
968
+ external_react_default().createElement((Nav_default()), { className: 'flex-column' }, props.children)));
969
+ };
970
+ DetailPageMenuUI.displayName = 'DetailPageMenuUI';
971
+ var DetailPageSubMenu = function (props) {
972
+ return external_react_default().createElement("div", { className: 'atoka-detail-page-sub-menu' }, props.children);
973
+ };
974
+ DetailPageSubMenu.displayName = 'DetailPageSubMenu';
1135
975
 
1136
- Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {
1137
- var nextIn = _ref["in"];
976
+ ;// CONCATENATED MODULE: ./src/components/DetailPage/DetailPageBodyContainer.tsx
1138
977
 
1139
- if (nextIn && prevState.status === UNMOUNTED) {
1140
- return {
1141
- status: EXITED
1142
- };
1143
- }
1144
978
 
1145
- return null;
1146
- } // getSnapshotBeforeUpdate(prevProps) {
1147
- // let nextStatus = null
1148
- // if (prevProps !== this.props) {
1149
- // const { status } = this.state
1150
- // if (this.props.in) {
1151
- // if (status !== ENTERING && status !== ENTERED) {
1152
- // nextStatus = ENTERING
1153
- // }
1154
- // } else {
1155
- // if (status === ENTERING || status === ENTERED) {
1156
- // nextStatus = EXITING
1157
- // }
1158
- // }
1159
- // }
1160
- // return { nextStatus }
1161
- // }
1162
- ;
979
+ var DetailPageBodyContainer = function (props) {
980
+ return external_react_default().createElement((Col_default()), null, props.children);
981
+ };
982
+ DetailPageBodyContainer.displayName = 'DetailPageBodyContainer';
1163
983
 
1164
- var _proto = Transition.prototype;
984
+ // EXTERNAL MODULE: ./src/components/Spinner/index.ts + 1 modules
985
+ var Spinner = __webpack_require__(6216);
986
+ ;// CONCATENATED MODULE: ./src/components/DetailPage/DetailPageHeaderUI.tsx
987
+ var DetailPageHeaderUI_extends = (undefined && undefined.__extends) || (function () {
988
+ var extendStatics = function (d, b) {
989
+ extendStatics = Object.setPrototypeOf ||
990
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
991
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
992
+ return extendStatics(d, b);
993
+ };
994
+ return function (d, b) {
995
+ if (typeof b !== "function" && b !== null)
996
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
997
+ extendStatics(d, b);
998
+ function __() { this.constructor = d; }
999
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
1000
+ };
1001
+ })();
1165
1002
 
1166
- _proto.componentDidMount = function componentDidMount() {
1167
- this.updateStatus(true, this.appearStatus);
1168
- };
1169
1003
 
1170
- _proto.componentDidUpdate = function componentDidUpdate(prevProps) {
1171
- var nextStatus = null;
1172
1004
 
1173
- if (prevProps !== this.props) {
1174
- var status = this.state.status;
1175
1005
 
1176
- if (this.props["in"]) {
1177
- if (status !== ENTERING && status !== ENTERED) {
1178
- nextStatus = ENTERING;
1179
- }
1180
- } else {
1181
- if (status === ENTERING || status === ENTERED) {
1182
- nextStatus = EXITING;
1183
- }
1184
- }
1006
+ /** Container component for the detail page header to be used as child of DetailPage. */
1007
+ var DetailPageHeaderUI = /** @class */ (function (_super) {
1008
+ DetailPageHeaderUI_extends(DetailPageHeaderUI, _super);
1009
+ function DetailPageHeaderUI() {
1010
+ return _super !== null && _super.apply(this, arguments) || this;
1185
1011
  }
1012
+ DetailPageHeaderUI.prototype.render = function () {
1013
+ if (this.props.isLoading) {
1014
+ // !This className is used in atoka-revenge smoke tests.
1015
+ return (external_react_default().createElement("div", { className: 'user-pages-spinner-container d-flex h-100 justify-content-center align-items-center' },
1016
+ external_react_default().createElement(Spinner.Spinner, { size: Spinner.SpinnerSize.small })));
1017
+ }
1018
+ return (external_react_default().createElement((Row_default()), null,
1019
+ external_react_default().createElement((Col_default()), { xs: 4 }, this.props.leftContent),
1020
+ external_react_default().createElement((Col_default()), { className: 'h-100 align-items-center' }, this.props.children),
1021
+ external_react_default().createElement((Col_default()), { xs: 4 }, this.props.rightContent)));
1022
+ };
1023
+ DetailPageHeaderUI.displayName = 'DetailPageHeaderUI';
1024
+ return DetailPageHeaderUI;
1025
+ }((external_react_default()).PureComponent));
1186
1026
 
1187
- this.updateStatus(false, nextStatus);
1188
- };
1189
1027
 
1190
- _proto.componentWillUnmount = function componentWillUnmount() {
1191
- this.cancelNextCallback();
1192
- };
1028
+ ;// CONCATENATED MODULE: ./src/components/DetailPage/DetailPageMenuContainer.tsx
1193
1029
 
1194
- _proto.getTimeouts = function getTimeouts() {
1195
- var timeout = this.props.timeout;
1196
- var exit, enter, appear;
1197
- exit = enter = appear = timeout;
1198
1030
 
1199
- if (timeout != null && typeof timeout !== 'number') {
1200
- exit = timeout.exit;
1201
- enter = timeout.enter; // TODO: remove fallback for next major
1031
+ var DetailPageMenuContainer = function (props) {
1032
+ return external_react_default().createElement((Col_default()), { xs: 4 }, props.children);
1033
+ };
1034
+ DetailPageMenuContainer.displayName = 'DetailPageMenuContainer';
1202
1035
 
1203
- appear = timeout.appear !== undefined ? timeout.appear : enter;
1204
- }
1036
+ ;// CONCATENATED MODULE: ./src/components/DetailPage/DetailPageBodySection.tsx
1205
1037
 
1206
- return {
1207
- exit: exit,
1208
- enter: enter,
1209
- appear: appear
1038
+
1039
+ var DetailPageBodySection = function (props) {
1040
+ return external_react_default().createElement("div", { className: 'atoka-detail-page-body-section' }, props.children);
1041
+ };
1042
+ DetailPageBodySection.displayName = 'DetailPageBodySection';
1043
+
1044
+ ;// CONCATENATED MODULE: ./src/components/DetailPage/DetailPage.tsx
1045
+ var DetailPage_extends = (undefined && undefined.__extends) || (function () {
1046
+ var extendStatics = function (d, b) {
1047
+ extendStatics = Object.setPrototypeOf ||
1048
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
1049
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
1050
+ return extendStatics(d, b);
1210
1051
  };
1211
- };
1052
+ return function (d, b) {
1053
+ if (typeof b !== "function" && b !== null)
1054
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
1055
+ extendStatics(d, b);
1056
+ function __() { this.constructor = d; }
1057
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
1058
+ };
1059
+ })();
1212
1060
 
1213
- _proto.updateStatus = function updateStatus(mounting, nextStatus) {
1214
- if (mounting === void 0) {
1215
- mounting = false;
1216
- }
1217
1061
 
1218
- if (nextStatus !== null) {
1219
- // nextStatus will always be ENTERING or EXITING.
1220
- this.cancelNextCallback();
1221
1062
 
1222
- if (nextStatus === ENTERING) {
1223
- this.performEnter(mounting);
1224
- } else {
1225
- this.performExit();
1226
- }
1227
- } else if (this.props.unmountOnExit && this.state.status === EXITED) {
1228
- this.setState({
1229
- status: UNMOUNTED
1230
- });
1231
- }
1232
- };
1233
1063
 
1234
- _proto.performEnter = function performEnter(mounting) {
1235
- var _this2 = this;
1236
1064
 
1237
- var enter = this.props.enter;
1238
- var appearing = this.context ? this.context.isMounting : mounting;
1239
1065
 
1240
- var _ref2 = this.props.nodeRef ? [appearing] : [external_react_dom_default().findDOMNode(this), appearing],
1241
- maybeNode = _ref2[0],
1242
- maybeAppearing = _ref2[1];
1243
1066
 
1244
- var timeouts = this.getTimeouts();
1245
- var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED
1246
- // if we are mounting and running this it means appear _must_ be set
1247
1067
 
1248
- if (!mounting && !enter || config.disabled) {
1249
- this.safeSetState({
1250
- status: ENTERED
1251
- }, function () {
1252
- _this2.props.onEntered(maybeNode);
1253
- });
1254
- return;
1255
- }
1256
1068
 
1257
- this.props.onEnter(maybeNode, maybeAppearing);
1258
- this.safeSetState({
1259
- status: ENTERING
1260
- }, function () {
1261
- _this2.props.onEntering(maybeNode, maybeAppearing);
1262
1069
 
1263
- _this2.onTransitionEnd(enterTimeout, function () {
1264
- _this2.safeSetState({
1265
- status: ENTERED
1266
- }, function () {
1267
- _this2.props.onEntered(maybeNode, maybeAppearing);
1268
- });
1269
- });
1270
- });
1271
- };
1272
1070
 
1273
- _proto.performExit = function performExit() {
1274
- var _this3 = this;
1275
1071
 
1276
- var exit = this.props.exit;
1277
- var timeouts = this.getTimeouts();
1278
- var maybeNode = this.props.nodeRef ? undefined : external_react_dom_default().findDOMNode(this); // no exit animation skip right to EXITED
1279
1072
 
1280
- if (!exit || config.disabled) {
1281
- this.safeSetState({
1282
- status: EXITED
1283
- }, function () {
1284
- _this3.props.onExited(maybeNode);
1285
- });
1286
- return;
1073
+ /** Container component to display detail pages.<br />
1074
+ * You should use its special children DetailPageHeader, DetailPageMenu and DetailPageBody
1075
+ * as containers for your stuff. */
1076
+ var DetailPage = /** @class */ (function (_super) {
1077
+ DetailPage_extends(DetailPage, _super);
1078
+ function DetailPage() {
1079
+ return _super !== null && _super.apply(this, arguments) || this;
1287
1080
  }
1081
+ DetailPage.prototype.renderOtherChildren = function () {
1082
+ var ret = [];
1083
+ external_react_default().Children.forEach(this.props.children, function (element) {
1084
+ if ((element === null || element === void 0 ? void 0 : element.type) !== DetailPageMenuContainer &&
1085
+ (element === null || element === void 0 ? void 0 : element.type) !== DetailPageHeaderContainer &&
1086
+ (element === null || element === void 0 ? void 0 : element.type) !== DetailPageBodyContainer) {
1087
+ ret.push(element);
1088
+ }
1089
+ });
1090
+ if (ret.length === 0) {
1091
+ return null;
1092
+ }
1093
+ return external_react_default().createElement((Col_default()), null, ret);
1094
+ };
1095
+ DetailPage.prototype.render = function () {
1096
+ return (external_react_default().createElement(Bs4V3Wrapper.Bs4V3Wrapper, null,
1097
+ external_react_default().createElement("div", { className: 'atoka-detail-page-container' },
1098
+ (0,Utils/* findChildByComponent */.z8)(this.props.children, DetailPageHeaderContainer),
1099
+ external_react_default().createElement((Container_default()), null,
1100
+ external_react_default().createElement((Row_default()), null,
1101
+ (0,Utils/* findChildByComponent */.z8)(this.props.children, DetailPageMenuContainer),
1102
+ (0,Utils/* findChildByComponent */.z8)(this.props.children, DetailPageBodyContainer)),
1103
+ this.renderOtherChildren()))));
1104
+ };
1105
+ DetailPage.displayName = 'DetailPage';
1106
+ DetailPage.HeaderContainer = DetailPageHeaderContainer;
1107
+ DetailPage.HeaderUI = DetailPageHeaderUI;
1108
+ DetailPage.MenuContainer = DetailPageMenuContainer;
1109
+ DetailPage.MenuUI = DetailPageMenuUI;
1110
+ DetailPage.SubMenu = DetailPageSubMenu;
1111
+ DetailPage.BodyContainer = DetailPageBodyContainer;
1112
+ DetailPage.BodySection = DetailPageBodySection;
1113
+ return DetailPage;
1114
+ }((external_react_default()).PureComponent));
1288
1115
 
1289
- this.props.onExit(maybeNode);
1290
- this.safeSetState({
1291
- status: EXITING
1292
- }, function () {
1293
- _this3.props.onExiting(maybeNode);
1294
1116
 
1295
- _this3.onTransitionEnd(timeouts.exit, function () {
1296
- _this3.safeSetState({
1297
- status: EXITED
1298
- }, function () {
1299
- _this3.props.onExited(maybeNode);
1300
- });
1301
- });
1302
- });
1303
- };
1117
+ ;// CONCATENATED MODULE: ./src/components/DetailPage/index.ts
1304
1118
 
1305
- _proto.cancelNextCallback = function cancelNextCallback() {
1306
- if (this.nextCallback !== null) {
1307
- this.nextCallback.cancel();
1308
- this.nextCallback = null;
1309
- }
1310
- };
1311
1119
 
1312
- _proto.safeSetState = function safeSetState(nextState, callback) {
1313
- // This shouldn't be necessary, but there are weird race conditions with
1314
- // setState callbacks and unmounting in testing, so always make sure that
1315
- // we can cancel any pending setState callbacks after we unmount.
1316
- callback = this.setNextCallback(callback);
1317
- this.setState(nextState, callback);
1318
- };
1319
1120
 
1320
- _proto.setNextCallback = function setNextCallback(callback) {
1321
- var _this4 = this;
1121
+ /***/ }),
1122
+
1123
+ /***/ 577:
1124
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1322
1125
 
1323
- var active = true;
1324
1126
 
1325
- this.nextCallback = function (event) {
1326
- if (active) {
1327
- active = false;
1328
- _this4.nextCallback = null;
1329
- callback(event);
1330
- }
1331
- };
1127
+ // EXPORTS
1128
+ __webpack_require__.d(__webpack_exports__, {
1129
+ "FadeAnimation": () => (/* reexport */ FadeAnimation)
1130
+ });
1332
1131
 
1333
- this.nextCallback.cancel = function () {
1334
- active = false;
1132
+ // EXTERNAL MODULE: external "react"
1133
+ var external_react_ = __webpack_require__(8156);
1134
+ var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
1135
+ // EXTERNAL MODULE: ./node_modules/react-transition-group/esm/CSSTransition.js + 3 modules
1136
+ var CSSTransition = __webpack_require__(9114);
1137
+ ;// CONCATENATED MODULE: ./src/components/FadeAnimation/FadeAnimation.tsx
1138
+ var __extends = (undefined && undefined.__extends) || (function () {
1139
+ var extendStatics = function (d, b) {
1140
+ extendStatics = Object.setPrototypeOf ||
1141
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
1142
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
1143
+ return extendStatics(d, b);
1144
+ };
1145
+ return function (d, b) {
1146
+ if (typeof b !== "function" && b !== null)
1147
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
1148
+ extendStatics(d, b);
1149
+ function __() { this.constructor = d; }
1150
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
1335
1151
  };
1152
+ })();
1336
1153
 
1337
- return this.nextCallback;
1338
- };
1339
1154
 
1340
- _proto.onTransitionEnd = function onTransitionEnd(timeout, handler) {
1341
- this.setNextCallback(handler);
1342
- var node = this.props.nodeRef ? this.props.nodeRef.current : external_react_dom_default().findDOMNode(this);
1343
- var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;
1344
1155
 
1345
- if (!node || doesNotHaveTimeoutOrListener) {
1346
- setTimeout(this.nextCallback, 0);
1347
- return;
1156
+ var FadeAnimation = /** @class */ (function (_super) {
1157
+ __extends(FadeAnimation, _super);
1158
+ function FadeAnimation() {
1159
+ return _super !== null && _super.apply(this, arguments) || this;
1348
1160
  }
1161
+ FadeAnimation.prototype.render = function () {
1162
+ var _a = this.props, duration = _a.duration, appearDelay = _a.appearDelay, name = "atoka-fadein-".concat(duration, "-").concat(appearDelay);
1163
+ return (external_react_default().createElement(CSSTransition/* default */.Z, { timeout: duration + appearDelay, classNames: name, in: this.props.in, appear: true }, this.props.children));
1164
+ };
1165
+ FadeAnimation.displayName = 'FadeAnimation';
1166
+ FadeAnimation.defaultProps = {
1167
+ duration: 600,
1168
+ appearDelay: 0,
1169
+ in: true,
1170
+ };
1171
+ return FadeAnimation;
1172
+ }((external_react_default()).PureComponent));
1349
1173
 
1350
- if (this.props.addEndListener) {
1351
- var _ref3 = this.props.nodeRef ? [this.nextCallback] : [node, this.nextCallback],
1352
- maybeNode = _ref3[0],
1353
- maybeNextCallback = _ref3[1];
1354
1174
 
1355
- this.props.addEndListener(maybeNode, maybeNextCallback);
1356
- }
1175
+ ;// CONCATENATED MODULE: ./src/components/FadeAnimation/index.ts
1357
1176
 
1358
- if (timeout != null) {
1359
- setTimeout(this.nextCallback, timeout);
1360
- }
1361
- };
1362
1177
 
1363
- _proto.render = function render() {
1364
- var status = this.state.status;
1365
1178
 
1366
- if (status === UNMOUNTED) {
1367
- return null;
1368
- }
1179
+ /***/ }),
1369
1180
 
1370
- var _this$props = this.props,
1371
- children = _this$props.children,
1372
- _in = _this$props["in"],
1373
- _mountOnEnter = _this$props.mountOnEnter,
1374
- _unmountOnExit = _this$props.unmountOnExit,
1375
- _appear = _this$props.appear,
1376
- _enter = _this$props.enter,
1377
- _exit = _this$props.exit,
1378
- _timeout = _this$props.timeout,
1379
- _addEndListener = _this$props.addEndListener,
1380
- _onEnter = _this$props.onEnter,
1381
- _onEntering = _this$props.onEntering,
1382
- _onEntered = _this$props.onEntered,
1383
- _onExit = _this$props.onExit,
1384
- _onExiting = _this$props.onExiting,
1385
- _onExited = _this$props.onExited,
1386
- _nodeRef = _this$props.nodeRef,
1387
- childProps = (0,objectWithoutPropertiesLoose/* default */.Z)(_this$props, ["children", "in", "mountOnEnter", "unmountOnExit", "appear", "enter", "exit", "timeout", "addEndListener", "onEnter", "onEntering", "onEntered", "onExit", "onExiting", "onExited", "nodeRef"]);
1181
+ /***/ 8352:
1182
+ /***/ ((__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) => {
1388
1183
 
1389
- return (
1390
- /*#__PURE__*/
1391
- // allows for nested Transitions
1392
- external_react_default().createElement(TransitionGroupContext/* default.Provider */.Z.Provider, {
1393
- value: null
1394
- }, typeof children === 'function' ? children(status, childProps) : external_react_default().cloneElement(external_react_default().Children.only(children), childProps))
1395
- );
1396
- };
1397
1184
 
1398
- return Transition;
1399
- }((external_react_default()).Component);
1185
+ // UNUSED EXPORTS: Form
1186
+
1187
+ // EXTERNAL MODULE: external "react"
1188
+ var external_react_ = __webpack_require__(8156);
1189
+ var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
1190
+ // EXTERNAL MODULE: external "classnames"
1191
+ var external_classnames_ = __webpack_require__(8310);
1192
+ var external_classnames_default = /*#__PURE__*/__webpack_require__.n(external_classnames_);
1193
+ // EXTERNAL MODULE: external "react-bootstrap/Form"
1194
+ var Form_ = __webpack_require__(8721);
1195
+ var Form_default = /*#__PURE__*/__webpack_require__.n(Form_);
1196
+ ;// CONCATENATED MODULE: ./src/components/Form/FormLabel.tsx
1400
1197
 
1401
- Transition.contextType = TransitionGroupContext/* default */.Z;
1402
- Transition.propTypes = false ? 0 : {}; // Name the function so it is clearer in the documentation
1403
1198
 
1404
- function noop() {}
1405
1199
 
1406
- Transition.defaultProps = {
1407
- "in": false,
1408
- mountOnEnter: false,
1409
- unmountOnExit: false,
1410
- appear: false,
1411
- enter: true,
1412
- exit: true,
1413
- onEnter: noop,
1414
- onEntering: noop,
1415
- onEntered: noop,
1416
- onExit: noop,
1417
- onExiting: noop,
1418
- onExited: noop
1419
- };
1420
- Transition.UNMOUNTED = UNMOUNTED;
1421
- Transition.EXITED = EXITED;
1422
- Transition.ENTERING = ENTERING;
1423
- Transition.ENTERED = ENTERED;
1424
- Transition.EXITING = EXITING;
1425
- /* harmony default export */ const esm_Transition = (Transition);
1426
- ;// CONCATENATED MODULE: ./node_modules/react-transition-group/esm/CSSTransition.js
1427
1200
 
1201
+ var FormLabel = external_react_default().memo(function (props) {
1202
+ var className = external_classnames_default()(props === null || props === void 0 ? void 0 : props.className, 'atoka-form-label');
1203
+ return external_react_default().createElement((Form_default()).Label, { className: className }, props.children);
1204
+ });
1205
+ FormLabel.displayName = 'FormLabel';
1428
1206
 
1207
+ // EXTERNAL MODULE: ./src/components/Form/FormControl.tsx + 1 modules
1208
+ var FormControl = __webpack_require__(2048);
1209
+ ;// CONCATENATED MODULE: ./src/components/Form/FormCheckbox.tsx
1210
+ var __assign = (undefined && undefined.__assign) || function () {
1211
+ __assign = Object.assign || function(t) {
1212
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
1213
+ s = arguments[i];
1214
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
1215
+ t[p] = s[p];
1216
+ }
1217
+ return t;
1218
+ };
1219
+ return __assign.apply(this, arguments);
1220
+ };
1429
1221
 
1430
1222
 
1431
1223
 
1432
1224
 
1225
+ var FormCheckbox = function (props) {
1226
+ var _a;
1227
+ var className = external_classnames_default()('atoka-form-checkbox', props === null || props === void 0 ? void 0 : props.className);
1228
+ return external_react_default().createElement((Form_default()).Check, __assign({ type: 'checkbox' }, props, { custom: true, className: className, label: (_a = props.label) !== null && _a !== void 0 ? _a : '' }));
1229
+ };
1230
+ FormCheckbox.displayName = 'FormCheckbox';
1433
1231
 
1232
+ ;// CONCATENATED MODULE: ./src/components/Form/FormRadio.tsx
1233
+ var FormRadio_assign = (undefined && undefined.__assign) || function () {
1234
+ FormRadio_assign = Object.assign || function(t) {
1235
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
1236
+ s = arguments[i];
1237
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
1238
+ t[p] = s[p];
1239
+ }
1240
+ return t;
1241
+ };
1242
+ return FormRadio_assign.apply(this, arguments);
1243
+ };
1434
1244
 
1435
1245
 
1436
1246
 
1437
- var _addClass = function addClass(node, classes) {
1438
- return node && classes && classes.split(' ').forEach(function (c) {
1439
- return addClass_addClass(node, c);
1440
- });
1441
- };
1442
1247
 
1443
- var removeClass = function removeClass(node, classes) {
1444
- return node && classes && classes.split(' ').forEach(function (c) {
1445
- return removeClass_removeClass(node, c);
1446
- });
1248
+ var FormRadio = function (props) {
1249
+ var _a;
1250
+ var className = external_classnames_default()(props === null || props === void 0 ? void 0 : props.className, 'atoka-form-radio');
1251
+ return external_react_default().createElement((Form_default()).Check, FormRadio_assign({ type: 'radio' }, props, { custom: true, className: className, label: (_a = props.label) !== null && _a !== void 0 ? _a : '' }));
1447
1252
  };
1448
- /**
1449
- * A transition component inspired by the excellent
1450
- * [ng-animate](https://docs.angularjs.org/api/ngAnimate) library, you should
1451
- * use it if you're using CSS transitions or animations. It's built upon the
1452
- * [`Transition`](https://reactcommunity.org/react-transition-group/transition)
1453
- * component, so it inherits all of its props.
1454
- *
1455
- * `CSSTransition` applies a pair of class names during the `appear`, `enter`,
1456
- * and `exit` states of the transition. The first class is applied and then a
1457
- * second `*-active` class in order to activate the CSS transition. After the
1458
- * transition, matching `*-done` class names are applied to persist the
1459
- * transition state.
1460
- *
1461
- * ```jsx
1462
- * function App() {
1463
- * const [inProp, setInProp] = useState(false);
1464
- * return (
1465
- * <div>
1466
- * <CSSTransition in={inProp} timeout={200} classNames="my-node">
1467
- * <div>
1468
- * {"I'll receive my-node-* classes"}
1469
- * </div>
1470
- * </CSSTransition>
1471
- * <button type="button" onClick={() => setInProp(true)}>
1472
- * Click to Enter
1473
- * </button>
1474
- * </div>
1475
- * );
1476
- * }
1477
- * ```
1478
- *
1479
- * When the `in` prop is set to `true`, the child component will first receive
1480
- * the class `example-enter`, then the `example-enter-active` will be added in
1481
- * the next tick. `CSSTransition` [forces a
1482
- * reflow](https://github.com/reactjs/react-transition-group/blob/5007303e729a74be66a21c3e2205e4916821524b/src/CSSTransition.js#L208-L215)
1483
- * between before adding the `example-enter-active`. This is an important trick
1484
- * because it allows us to transition between `example-enter` and
1485
- * `example-enter-active` even though they were added immediately one after
1486
- * another. Most notably, this is what makes it possible for us to animate
1487
- * _appearance_.
1488
- *
1489
- * ```css
1490
- * .my-node-enter {
1491
- * opacity: 0;
1492
- * }
1493
- * .my-node-enter-active {
1494
- * opacity: 1;
1495
- * transition: opacity 200ms;
1496
- * }
1497
- * .my-node-exit {
1498
- * opacity: 1;
1499
- * }
1500
- * .my-node-exit-active {
1501
- * opacity: 0;
1502
- * transition: opacity 200ms;
1503
- * }
1504
- * ```
1505
- *
1506
- * `*-active` classes represent which styles you want to animate **to**, so it's
1507
- * important to add `transition` declaration only to them, otherwise transitions
1508
- * might not behave as intended! This might not be obvious when the transitions
1509
- * are symmetrical, i.e. when `*-enter-active` is the same as `*-exit`, like in
1510
- * the example above (minus `transition`), but it becomes apparent in more
1511
- * complex transitions.
1512
- *
1513
- * **Note**: If you're using the
1514
- * [`appear`](http://reactcommunity.org/react-transition-group/transition#Transition-prop-appear)
1515
- * prop, make sure to define styles for `.appear-*` classes as well.
1516
- */
1253
+ FormRadio.displayName = 'FormRadio';
1517
1254
 
1255
+ // EXTERNAL MODULE: external "react-bootstrap/FormText"
1256
+ var FormText_ = __webpack_require__(8763);
1257
+ var FormText_default = /*#__PURE__*/__webpack_require__.n(FormText_);
1258
+ ;// CONCATENATED MODULE: ./src/components/Form/FormHelp.tsx
1259
+ var __rest = (undefined && undefined.__rest) || function (s, e) {
1260
+ var t = {};
1261
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
1262
+ t[p] = s[p];
1263
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
1264
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
1265
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
1266
+ t[p[i]] = s[p[i]];
1267
+ }
1268
+ return t;
1269
+ };
1518
1270
 
1519
- var CSSTransition = /*#__PURE__*/function (_React$Component) {
1520
- (0,inheritsLoose/* default */.Z)(CSSTransition, _React$Component);
1521
1271
 
1522
- function CSSTransition() {
1523
- var _this;
1524
1272
 
1525
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
1526
- args[_key] = arguments[_key];
1527
- }
1528
1273
 
1529
- _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;
1530
- _this.appliedClasses = {
1531
- appear: {},
1532
- enter: {},
1533
- exit: {}
1274
+ var FormHelp = external_react_default().memo(function (_a) {
1275
+ var children = _a.children, props = __rest(_a, ["children"]);
1276
+ var className = external_classnames_default()('d-block', props === null || props === void 0 ? void 0 : props.className);
1277
+ return (external_react_default().createElement((FormText_default()), { bsPrefix: 'atoka-form-help', className: className }, children));
1278
+ });
1279
+ FormHelp.displayName = 'FormHelp';
1280
+
1281
+ ;// CONCATENATED MODULE: ./src/components/Form/Form.tsx
1282
+ var Form_assign = (undefined && undefined.__assign) || function () {
1283
+ Form_assign = Object.assign || function(t) {
1284
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
1285
+ s = arguments[i];
1286
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
1287
+ t[p] = s[p];
1288
+ }
1289
+ return t;
1534
1290
  };
1291
+ return Form_assign.apply(this, arguments);
1292
+ };
1535
1293
 
1536
- _this.onEnter = function (maybeNode, maybeAppearing) {
1537
- var _this$resolveArgument = _this.resolveArguments(maybeNode, maybeAppearing),
1538
- node = _this$resolveArgument[0],
1539
- appearing = _this$resolveArgument[1];
1540
1294
 
1541
- _this.removeClasses(node, 'exit');
1542
1295
 
1543
- _this.addClass(node, appearing ? 'appear' : 'enter', 'base');
1544
1296
 
1545
- if (_this.props.onEnter) {
1546
- _this.props.onEnter(maybeNode, maybeAppearing);
1547
- }
1548
- };
1549
1297
 
1550
- _this.onEntering = function (maybeNode, maybeAppearing) {
1551
- var _this$resolveArgument2 = _this.resolveArguments(maybeNode, maybeAppearing),
1552
- node = _this$resolveArgument2[0],
1553
- appearing = _this$resolveArgument2[1];
1554
1298
 
1555
- var type = appearing ? 'appear' : 'enter';
1556
1299
 
1557
- _this.addClass(node, type, 'active');
1558
1300
 
1559
- if (_this.props.onEntering) {
1560
- _this.props.onEntering(maybeNode, maybeAppearing);
1561
- }
1562
- };
1563
1301
 
1564
- _this.onEntered = function (maybeNode, maybeAppearing) {
1565
- var _this$resolveArgument3 = _this.resolveArguments(maybeNode, maybeAppearing),
1566
- node = _this$resolveArgument3[0],
1567
- appearing = _this$resolveArgument3[1];
1302
+ var Form = function (props) {
1303
+ var className = external_classnames_default()(props === null || props === void 0 ? void 0 : props.className, 'atoka-form');
1304
+ return (external_react_default().createElement((Form_default()), Form_assign({}, props, { className: className }), props.children));
1305
+ };
1306
+ Form.displayName = 'Form';
1307
+ Form.Control = FormControl/* FormControl */.N;
1308
+ Form.Label = FormLabel;
1309
+ Form.Checkbox = FormCheckbox;
1310
+ Form.Radio = FormRadio;
1311
+ Form.File = (Form_default()).File;
1312
+ Form.Switch = (Form_default()).Switch;
1313
+ Form.Help = FormHelp;
1314
+ Form.Group = (Form_default()).Group;
1568
1315
 
1569
- var type = appearing ? 'appear' : 'enter';
1570
1316
 
1571
- _this.removeClasses(node, type);
1572
1317
 
1573
- _this.addClass(node, type, 'done');
1318
+ /***/ }),
1574
1319
 
1575
- if (_this.props.onEntered) {
1576
- _this.props.onEntered(maybeNode, maybeAppearing);
1577
- }
1578
- };
1320
+ /***/ 2048:
1321
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1579
1322
 
1580
- _this.onExit = function (maybeNode) {
1581
- var _this$resolveArgument4 = _this.resolveArguments(maybeNode),
1582
- node = _this$resolveArgument4[0];
1583
1323
 
1584
- _this.removeClasses(node, 'appear');
1324
+ // EXPORTS
1325
+ __webpack_require__.d(__webpack_exports__, {
1326
+ "N": () => (/* binding */ FormControl)
1327
+ });
1585
1328
 
1586
- _this.removeClasses(node, 'enter');
1329
+ // EXTERNAL MODULE: external "react"
1330
+ var external_react_ = __webpack_require__(8156);
1331
+ var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
1332
+ // EXTERNAL MODULE: external "classnames"
1333
+ var external_classnames_ = __webpack_require__(8310);
1334
+ var external_classnames_default = /*#__PURE__*/__webpack_require__.n(external_classnames_);
1335
+ // EXTERNAL MODULE: external "react-bootstrap/FormControl"
1336
+ var FormControl_ = __webpack_require__(1082);
1337
+ var FormControl_default = /*#__PURE__*/__webpack_require__.n(FormControl_);
1338
+ ;// CONCATENATED MODULE: ./src/components/Form/FormControlFeedBack.tsx
1339
+ var __rest = (undefined && undefined.__rest) || function (s, e) {
1340
+ var t = {};
1341
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
1342
+ t[p] = s[p];
1343
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
1344
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
1345
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
1346
+ t[p[i]] = s[p[i]];
1347
+ }
1348
+ return t;
1349
+ };
1587
1350
 
1588
- _this.addClass(node, 'exit', 'base');
1589
1351
 
1590
- if (_this.props.onExit) {
1591
- _this.props.onExit(maybeNode);
1592
- }
1593
- };
1594
1352
 
1595
- _this.onExiting = function (maybeNode) {
1596
- var _this$resolveArgument5 = _this.resolveArguments(maybeNode),
1597
- node = _this$resolveArgument5[0];
1353
+ var FormControlFeedBack = external_react_default().memo(function (_a) {
1354
+ var _b = _a.show, show = _b === void 0 ? true : _b, props = __rest(_a, ["show"]);
1355
+ var className = external_classnames_default()(props === null || props === void 0 ? void 0 : props.className, 'atoka-form-control-feedback', {
1356
+ 'd-block': show,
1357
+ });
1358
+ return (external_react_default().createElement((FormControl_default()).Feedback, { type: props.type, className: className }, props.children));
1359
+ });
1360
+ FormControlFeedBack.displayName = ' FormControlFeedBack';
1598
1361
 
1599
- _this.addClass(node, 'exit', 'active');
1362
+ ;// CONCATENATED MODULE: ./src/components/Form/FormControl.tsx
1363
+ var FormControl_rest = (undefined && undefined.__rest) || function (s, e) {
1364
+ var t = {};
1365
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
1366
+ t[p] = s[p];
1367
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
1368
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
1369
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
1370
+ t[p[i]] = s[p[i]];
1371
+ }
1372
+ return t;
1373
+ };
1600
1374
 
1601
- if (_this.props.onExiting) {
1602
- _this.props.onExiting(maybeNode);
1603
- }
1604
- };
1605
1375
 
1606
- _this.onExited = function (maybeNode) {
1607
- var _this$resolveArgument6 = _this.resolveArguments(maybeNode),
1608
- node = _this$resolveArgument6[0];
1609
1376
 
1610
- _this.removeClasses(node, 'exit');
1611
1377
 
1612
- _this.addClass(node, 'exit', 'done');
1613
1378
 
1614
- if (_this.props.onExited) {
1615
- _this.props.onExited(maybeNode);
1616
- }
1379
+ var FormControlComponent = external_react_default().forwardRef(function (_a, ref) {
1380
+ var _b = _a.size, size = _b === void 0 ? 'md' : _b, props = FormControl_rest(_a, ["size"]);
1381
+ var className = external_classnames_default()('atoka-form-control', props === null || props === void 0 ? void 0 : props.className, {
1382
+ 'atoka-shadow': props.withShadow,
1383
+ 'disabled': props.disabled,
1384
+ });
1385
+ return (external_react_default().createElement((FormControl_default()), { as: props.as, rows: props.rows, cols: props.cols, placeholder: props.placeholder, className: className, disabled: props.disabled, readOnly: props.readOnly, value: props.value, onChange: props.onChange, onKeyPress: props.onKeyPress, onKeyDown: props.onKeyDown, defaultValue: props.defaultValue, size: size === 'md' ? undefined : size, type: props.type, id: props.id, isValid: props.isValid, isInvalid: props.isInvalid, ref: ref, autoComplete: 'off' }, props.children));
1386
+ });
1387
+ FormControlComponent.displayName = 'FormControlComponent';
1388
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1389
+ var FormControl = FormControlComponent;
1390
+ FormControl.FeedBack = FormControlFeedBack;
1391
+ FormControl.displayName = 'FormControl';
1392
+
1393
+
1394
+
1395
+ /***/ }),
1396
+
1397
+ /***/ 6216:
1398
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1399
+
1400
+
1401
+ // EXPORTS
1402
+ __webpack_require__.d(__webpack_exports__, {
1403
+ "Spinner": () => (/* reexport */ Spinner),
1404
+ "SpinnerSize": () => (/* reexport */ SpinnerSize)
1405
+ });
1406
+
1407
+ // EXTERNAL MODULE: external "classnames"
1408
+ var external_classnames_ = __webpack_require__(8310);
1409
+ var external_classnames_default = /*#__PURE__*/__webpack_require__.n(external_classnames_);
1410
+ // EXTERNAL MODULE: external "react"
1411
+ var external_react_ = __webpack_require__(8156);
1412
+ var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
1413
+ ;// CONCATENATED MODULE: ./src/components/Spinner/Spinner.tsx
1414
+ var __extends = (undefined && undefined.__extends) || (function () {
1415
+ var extendStatics = function (d, b) {
1416
+ extendStatics = Object.setPrototypeOf ||
1417
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
1418
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
1419
+ return extendStatics(d, b);
1420
+ };
1421
+ return function (d, b) {
1422
+ if (typeof b !== "function" && b !== null)
1423
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
1424
+ extendStatics(d, b);
1425
+ function __() { this.constructor = d; }
1426
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
1427
+ };
1428
+ })();
1429
+
1430
+
1431
+
1432
+ var SpinnerSize;
1433
+ (function (SpinnerSize) {
1434
+ SpinnerSize[SpinnerSize["mini"] = 0] = "mini";
1435
+ SpinnerSize[SpinnerSize["small"] = 1] = "small";
1436
+ SpinnerSize[SpinnerSize["big"] = 2] = "big";
1437
+ SpinnerSize[SpinnerSize["modal"] = 3] = "modal";
1438
+ })(SpinnerSize || (SpinnerSize = {}));
1439
+ /**
1440
+ * ### Overview
1441
+ *
1442
+ * We can find two different spinners in the Atoka interface, small and big. The **small** one is used to show that a specific section inside the page is loading. The **big** spinner on the other hand shows when the whole page is loading.
1443
+ *
1444
+ * ### Best practice
1445
+ *
1446
+ * Use the spinner if the waiting time is between 0.1 and 1 second. After one second, the user gets the impression that the app is slow: in that case, use a progress indicator instead.
1447
+ **/
1448
+ var Spinner = /** @class */ (function (_super) {
1449
+ __extends(Spinner, _super);
1450
+ function Spinner() {
1451
+ return _super !== null && _super.apply(this, arguments) || this;
1452
+ }
1453
+ Spinner.prototype.renderOnlyDotsSpinner = function (size) {
1454
+ var className = 'atoka-spinner spinner-' + size + ' ' + this.props.className;
1455
+ return (external_react_default().createElement("div", { className: className },
1456
+ external_react_default().createElement("div", { className: 'spinner-dot1' },
1457
+ external_react_default().createElement("div", { className: 'spinner-leaf' })),
1458
+ external_react_default().createElement("div", { className: 'spinner-dot2' },
1459
+ external_react_default().createElement("div", { className: 'spinner-leaf' })),
1460
+ external_react_default().createElement("div", { className: 'spinner-dot3' },
1461
+ external_react_default().createElement("div", { className: 'spinner-leaf' }))));
1462
+ };
1463
+ Spinner.prototype.renderSmall = function () {
1464
+ return this.renderOnlyDotsSpinner('small');
1465
+ };
1466
+ Spinner.prototype.renderMini = function () {
1467
+ return this.renderOnlyDotsSpinner('mini');
1468
+ };
1469
+ Spinner.prototype.renderLeaf = function () {
1470
+ return (external_react_default().createElement("svg", { viewBox: '0 0 204.01 190.64', version: '1.1', xmlns: 'http://www.w3.org/2000/svg' },
1471
+ external_react_default().createElement("g", { id: 'leaf' },
1472
+ external_react_default().createElement("path", { d: 'M80.88,7.62a26,26,0,0,0-36.79,36.8,25.85,25.85,0,0,0,13.4,7.14V83.39c1.19,0,2.4-.08,3.62-.08,2.16,0,4.28.08,6.38.23v-32A26,26,0,0,0,80.88,7.62ZM73.81,37.35a16,16,0,1,1,0-22.66,15.92,15.92,0,0,1,0,22.66Z' }))));
1473
+ };
1474
+ Spinner.prototype.renderLetter = function () {
1475
+ return (external_react_default().createElement("svg", { viewBox: '0 0 204.01 190.64', version: '1.1', xmlns: 'http://www.w3.org/2000/svg' },
1476
+ external_react_default().createElement("g", { id: 'logo-vector' },
1477
+ external_react_default().createElement("path", { d: 'M110.77,180.67V140.16a50.47,50.47,0,1,0-22,41.71L93.12,187a10,10,0,0,0,17.65-6.34Zm-81-40.51a30.5,30.5,0,1,1,30.5,30.5,30.49,30.49,0,0,1-30.5-30.5Z' }))));
1617
1478
  };
1618
-
1619
- _this.resolveArguments = function (maybeNode, maybeAppearing) {
1620
- return _this.props.nodeRef ? [_this.props.nodeRef.current, maybeNode] // here `maybeNode` is actually `appearing`
1621
- : [maybeNode, maybeAppearing];
1479
+ Spinner.prototype.renderBig = function () {
1480
+ var spinnerClassName = external_classnames_default()(this.props.className, {
1481
+ 'atoka-spinner': true,
1482
+ 'spinner-big': this.props.size === SpinnerSize.big,
1483
+ 'spinner-medium': this.props.size === SpinnerSize.modal,
1484
+ }), containerClassName = external_classnames_default()({
1485
+ 'container-fluid spinner-modal': this.props.size === SpinnerSize.modal,
1486
+ });
1487
+ return (external_react_default().createElement("div", { className: containerClassName },
1488
+ external_react_default().createElement("div", { className: spinnerClassName },
1489
+ external_react_default().createElement("div", { className: 'spinner-dot1' },
1490
+ external_react_default().createElement("div", { className: 'spinner-leaf' }, this.renderLeaf())),
1491
+ external_react_default().createElement("div", { className: 'spinner-dot2' },
1492
+ external_react_default().createElement("div", { className: 'spinner-leaf' }, this.renderLeaf())),
1493
+ external_react_default().createElement("div", { className: 'spinner-dot3' },
1494
+ external_react_default().createElement("div", { className: 'spinner-leaf' }, this.renderLeaf())),
1495
+ external_react_default().createElement("span", { className: 'spinner-letter' }, this.renderLetter()))));
1622
1496
  };
1623
-
1624
- _this.getClassNames = function (type) {
1625
- var classNames = _this.props.classNames;
1626
- var isStringClassNames = typeof classNames === 'string';
1627
- var prefix = isStringClassNames && classNames ? classNames + "-" : '';
1628
- var baseClassName = isStringClassNames ? "" + prefix + type : classNames[type];
1629
- var activeClassName = isStringClassNames ? baseClassName + "-active" : classNames[type + "Active"];
1630
- var doneClassName = isStringClassNames ? baseClassName + "-done" : classNames[type + "Done"];
1631
- return {
1632
- baseClassName: baseClassName,
1633
- activeClassName: activeClassName,
1634
- doneClassName: doneClassName
1635
- };
1497
+ Spinner.prototype.render = function () {
1498
+ switch (this.props.size) {
1499
+ case SpinnerSize.mini:
1500
+ return this.renderMini();
1501
+ case SpinnerSize.small:
1502
+ return this.renderSmall();
1503
+ case SpinnerSize.big:
1504
+ case SpinnerSize.modal:
1505
+ return this.renderBig();
1506
+ default:
1507
+ return null;
1508
+ }
1636
1509
  };
1510
+ Spinner.displayName = 'Spinner';
1511
+ Spinner.defaultProps = {
1512
+ size: SpinnerSize.small,
1513
+ className: '',
1514
+ };
1515
+ return Spinner;
1516
+ }((external_react_default()).Component));
1637
1517
 
1638
- return _this;
1639
- }
1640
1518
 
1641
- var _proto = CSSTransition.prototype;
1519
+ ;// CONCATENATED MODULE: ./src/components/Spinner/index.ts
1642
1520
 
1643
- _proto.addClass = function addClass(node, type, phase) {
1644
- var className = this.getClassNames(type)[phase + "ClassName"];
1645
1521
 
1646
- var _this$getClassNames = this.getClassNames('enter'),
1647
- doneClassName = _this$getClassNames.doneClassName;
1648
1522
 
1649
- if (type === 'appear' && phase === 'done' && doneClassName) {
1650
- className += " " + doneClassName;
1651
- } // This is for to force a repaint,
1652
- // which is necessary in order to transition styles when adding a class name.
1523
+ /***/ }),
1653
1524
 
1525
+ /***/ 4915:
1526
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1654
1527
 
1655
- if (phase === 'active') {
1656
- /* eslint-disable no-unused-expressions */
1657
- node && node.scrollTop;
1528
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1529
+ /* harmony export */ "z8": () => (/* binding */ findChildByComponent)
1530
+ /* harmony export */ });
1531
+ /* unused harmony exports findChildrenByComponent, hasChildIconOrCheckboxComponent, scrollToTop, zip, sortObjDesc, clone, getDebouncer, deepEqual, rgbToHex */
1532
+ /* harmony import */ var _fortawesome_react_fontawesome__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5692);
1533
+ /* harmony import */ var _fortawesome_react_fontawesome__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_fortawesome_react_fontawesome__WEBPACK_IMPORTED_MODULE_0__);
1534
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8156);
1535
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
1536
+ /* harmony import */ var _Form_Form__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8352);
1537
+ var __read = (undefined && undefined.__read) || function (o, n) {
1538
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
1539
+ if (!m) return o;
1540
+ var i = m.call(o), r, ar = [], e;
1541
+ try {
1542
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
1658
1543
  }
1659
-
1660
- if (className) {
1661
- this.appliedClasses[type][phase] = className;
1662
-
1663
- _addClass(node, className);
1544
+ catch (error) { e = { error: error }; }
1545
+ finally {
1546
+ try {
1547
+ if (r && !r.done && (m = i["return"])) m.call(i);
1548
+ }
1549
+ finally { if (e) throw e.error; }
1664
1550
  }
1665
- };
1551
+ return ar;
1552
+ };
1666
1553
 
1667
- _proto.removeClasses = function removeClasses(node, type) {
1668
- var _this$appliedClasses$ = this.appliedClasses[type],
1669
- baseClassName = _this$appliedClasses$.base,
1670
- activeClassName = _this$appliedClasses$.active,
1671
- doneClassName = _this$appliedClasses$.done;
1672
- this.appliedClasses[type] = {};
1673
1554
 
1674
- if (baseClassName) {
1675
- removeClass(node, baseClassName);
1676
- }
1677
1555
 
1678
- if (activeClassName) {
1679
- removeClass(node, activeClassName);
1556
+ function findChildrenByComponent(children,
1557
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1558
+ component) {
1559
+ var ret = [];
1560
+ react__WEBPACK_IMPORTED_MODULE_1___default().Children.forEach(children, function (element) {
1561
+ if ((element === null || element === void 0 ? void 0 : element.type) === component) {
1562
+ ret.push(element);
1563
+ }
1564
+ });
1565
+ return ret;
1566
+ }
1567
+ function findChildByComponent(children,
1568
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1569
+ component) {
1570
+ var _a, _b;
1571
+ return (_b = (_a = findChildrenByComponent(children, component)) === null || _a === void 0 ? void 0 : _a[0]) !== null && _b !== void 0 ? _b : null;
1572
+ }
1573
+ function hasChildIconOrCheckboxComponent(children) {
1574
+ var ret = false;
1575
+ React.Children.forEach(children, function (element) {
1576
+ if ((element === null || element === void 0 ? void 0 : element.type) != null &&
1577
+ ((element === null || element === void 0 ? void 0 : element.type) === FontAwesomeIcon || (element === null || element === void 0 ? void 0 : element.type) === 'i' || (element === null || element === void 0 ? void 0 : element.type) === Form.Checkbox)) {
1578
+ ret = true;
1579
+ return;
1580
+ }
1581
+ });
1582
+ return ret;
1583
+ }
1584
+ function scrollToTop() {
1585
+ window.scrollTo(0, 0);
1586
+ }
1587
+ function zip(arr1, arr2) {
1588
+ var ret = [];
1589
+ var i = 0;
1590
+ while (arr1[i]) {
1591
+ ret.push(arr1[i]);
1592
+ ret.push(arr2[i++]);
1680
1593
  }
1681
-
1682
- if (doneClassName) {
1683
- removeClass(node, doneClassName);
1594
+ return ret;
1595
+ }
1596
+ // eslint-disable-next-line @typescript-eslint/ban-types
1597
+ function sortObjDesc(accessor) {
1598
+ return function (a, b) {
1599
+ var leftVal = 0, rightVal = 0;
1600
+ if ((a === null || a === void 0 ? void 0 : a[accessor]) != null) {
1601
+ leftVal = a === null || a === void 0 ? void 0 : a[accessor];
1602
+ }
1603
+ if ((b === null || b === void 0 ? void 0 : b[accessor]) != null) {
1604
+ rightVal = b === null || b === void 0 ? void 0 : b[accessor];
1605
+ }
1606
+ return leftVal > rightVal ? -1 : 1;
1607
+ };
1608
+ }
1609
+ function clone(ob) {
1610
+ return JSON.parse(JSON.stringify(ob));
1611
+ }
1612
+ function getDebouncer(delay) {
1613
+ if (delay === void 0) { delay = 1; }
1614
+ var debounceTimeout = null;
1615
+ return function debounce(f) {
1616
+ if (debounceTimeout !== null) {
1617
+ clearTimeout(debounceTimeout);
1618
+ }
1619
+ debounceTimeout = window.setTimeout(f, delay);
1620
+ };
1621
+ }
1622
+ function isObject(obj) {
1623
+ return typeof obj === 'object' && obj != null;
1624
+ }
1625
+ function deepEqual(obj1, obj2) {
1626
+ if (obj1 === obj2) {
1627
+ return true;
1684
1628
  }
1685
- };
1686
-
1687
- _proto.render = function render() {
1688
- var _this$props = this.props,
1689
- _ = _this$props.classNames,
1690
- props = (0,objectWithoutPropertiesLoose/* default */.Z)(_this$props, ["classNames"]);
1691
-
1692
- return /*#__PURE__*/external_react_default().createElement(esm_Transition, (0,esm_extends/* default */.Z)({}, props, {
1693
- onEnter: this.onEnter,
1694
- onEntered: this.onEntered,
1695
- onEntering: this.onEntering,
1696
- onExit: this.onExit,
1697
- onExiting: this.onExiting,
1698
- onExited: this.onExited
1699
- }));
1700
- };
1701
-
1702
- return CSSTransition;
1703
- }((external_react_default()).Component);
1704
-
1705
- CSSTransition.defaultProps = {
1706
- classNames: ''
1707
- };
1708
- CSSTransition.propTypes = false ? 0 : {};
1709
- /* harmony default export */ const esm_CSSTransition = (CSSTransition);
1710
-
1711
- /***/ }),
1712
-
1713
- /***/ 3493:
1714
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1715
-
1716
- "use strict";
1717
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1718
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
1719
- /* harmony export */ });
1720
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8156);
1721
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1629
+ if (isObject(obj1) && isObject(obj2)) {
1630
+ if (Object.keys(obj1).length !== Object.keys(obj2).length) {
1631
+ return false;
1632
+ }
1633
+ for (var prop in obj1) {
1634
+ if (!deepEqual(obj1[prop], obj2[prop])) {
1635
+ return false;
1636
+ }
1637
+ }
1638
+ return true;
1639
+ }
1640
+ return false;
1641
+ }
1642
+ function componentToHex(c) {
1643
+ if (isNaN(c)) {
1644
+ throw Error('The color has not been written correctly');
1645
+ }
1646
+ var hex = c.toString(16).toUpperCase();
1647
+ return hex.length === 1 ? '0' + hex : hex;
1648
+ }
1649
+ function cleanSingleColor(c) {
1650
+ return c.replace(/"|'/g, '').trim();
1651
+ }
1652
+ function rgbToHex(rgb) {
1653
+ if (rgb.includes('rgba')) {
1654
+ throw Error('not implemented');
1655
+ }
1656
+ var _a = __read(rgb
1657
+ .replace('rgb', '')
1658
+ .replace(/\(|\)/gi, '')
1659
+ .split(',')
1660
+ .map(function (c) { return parseInt(cleanSingleColor(c), 10); }), 3), _b = _a[0], r = _b === void 0 ? 0 : _b, _c = _a[1], g = _c === void 0 ? 0 : _c, _d = _a[2], b = _d === void 0 ? 0 : _d;
1661
+ return '#' + componentToHex(r) + componentToHex(g) + componentToHex(b);
1662
+ }
1722
1663
 
1723
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (react__WEBPACK_IMPORTED_MODULE_0___default().createContext(null));
1724
1664
 
1725
1665
  /***/ }),
1726
1666
 
1727
1667
  /***/ 5692:
1728
1668
  /***/ ((module) => {
1729
1669
 
1730
- "use strict";
1731
1670
  module.exports = __WEBPACK_EXTERNAL_MODULE__5692__;
1732
1671
 
1733
1672
  /***/ }),
@@ -1735,7 +1674,6 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__5692__;
1735
1674
  /***/ 8310:
1736
1675
  /***/ ((module) => {
1737
1676
 
1738
- "use strict";
1739
1677
  module.exports = __WEBPACK_EXTERNAL_MODULE__8310__;
1740
1678
 
1741
1679
  /***/ }),
@@ -1743,7 +1681,6 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__8310__;
1743
1681
  /***/ 8156:
1744
1682
  /***/ ((module) => {
1745
1683
 
1746
- "use strict";
1747
1684
  module.exports = __WEBPACK_EXTERNAL_MODULE__8156__;
1748
1685
 
1749
1686
  /***/ }),
@@ -1751,7 +1688,6 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__8156__;
1751
1688
  /***/ 5315:
1752
1689
  /***/ ((module) => {
1753
1690
 
1754
- "use strict";
1755
1691
  module.exports = __WEBPACK_EXTERNAL_MODULE__5315__;
1756
1692
 
1757
1693
  /***/ }),
@@ -1759,7 +1695,6 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__5315__;
1759
1695
  /***/ 4394:
1760
1696
  /***/ ((module) => {
1761
1697
 
1762
- "use strict";
1763
1698
  module.exports = __WEBPACK_EXTERNAL_MODULE__4394__;
1764
1699
 
1765
1700
  /***/ }),
@@ -1767,7 +1702,6 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__4394__;
1767
1702
  /***/ 8721:
1768
1703
  /***/ ((module) => {
1769
1704
 
1770
- "use strict";
1771
1705
  module.exports = __WEBPACK_EXTERNAL_MODULE__8721__;
1772
1706
 
1773
1707
  /***/ }),
@@ -1775,7 +1709,6 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__8721__;
1775
1709
  /***/ 1082:
1776
1710
  /***/ ((module) => {
1777
1711
 
1778
- "use strict";
1779
1712
  module.exports = __WEBPACK_EXTERNAL_MODULE__1082__;
1780
1713
 
1781
1714
  /***/ }),
@@ -1783,7 +1716,6 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__1082__;
1783
1716
  /***/ 8763:
1784
1717
  /***/ ((module) => {
1785
1718
 
1786
- "use strict";
1787
1719
  module.exports = __WEBPACK_EXTERNAL_MODULE__8763__;
1788
1720
 
1789
1721
  /***/ }),
@@ -1791,7 +1723,6 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__8763__;
1791
1723
  /***/ 573:
1792
1724
  /***/ ((module) => {
1793
1725
 
1794
- "use strict";
1795
1726
  module.exports = __WEBPACK_EXTERNAL_MODULE__573__;
1796
1727
 
1797
1728
  /***/ }),
@@ -1799,7 +1730,6 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__573__;
1799
1730
  /***/ 3915:
1800
1731
  /***/ ((module) => {
1801
1732
 
1802
- "use strict";
1803
1733
  module.exports = __WEBPACK_EXTERNAL_MODULE__3915__;
1804
1734
 
1805
1735
  /***/ }),
@@ -1807,7 +1737,6 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__3915__;
1807
1737
  /***/ 7111:
1808
1738
  /***/ ((module) => {
1809
1739
 
1810
- "use strict";
1811
1740
  module.exports = __WEBPACK_EXTERNAL_MODULE__7111__;
1812
1741
 
1813
1742
  /***/ }),
@@ -1815,12 +1744,11 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__7111__;
1815
1744
  /***/ 32:
1816
1745
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
1817
1746
 
1818
- "use strict";
1819
1747
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1820
1748
  /* harmony export */ "Z": () => (/* binding */ _extends)
1821
1749
  /* harmony export */ });
1822
1750
  function _extends() {
1823
- _extends = Object.assign || function (target) {
1751
+ _extends = Object.assign ? Object.assign.bind() : function (target) {
1824
1752
  for (var i = 1; i < arguments.length; i++) {
1825
1753
  var source = arguments[i];
1826
1754
 
@@ -1833,7 +1761,6 @@ function _extends() {
1833
1761
 
1834
1762
  return target;
1835
1763
  };
1836
-
1837
1764
  return _extends.apply(this, arguments);
1838
1765
  }
1839
1766
 
@@ -1842,7 +1769,6 @@ function _extends() {
1842
1769
  /***/ 7581:
1843
1770
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
1844
1771
 
1845
- "use strict";
1846
1772
 
1847
1773
  // EXPORTS
1848
1774
  __webpack_require__.d(__webpack_exports__, {
@@ -1851,11 +1777,10 @@ __webpack_require__.d(__webpack_exports__, {
1851
1777
 
1852
1778
  ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js
1853
1779
  function _setPrototypeOf(o, p) {
1854
- _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
1780
+ _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {
1855
1781
  o.__proto__ = p;
1856
1782
  return o;
1857
1783
  };
1858
-
1859
1784
  return _setPrototypeOf(o, p);
1860
1785
  }
1861
1786
  ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js
@@ -1871,7 +1796,6 @@ function _inheritsLoose(subClass, superClass) {
1871
1796
  /***/ 7038:
1872
1797
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
1873
1798
 
1874
- "use strict";
1875
1799
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1876
1800
  /* harmony export */ "Z": () => (/* binding */ _objectWithoutPropertiesLoose)
1877
1801
  /* harmony export */ });
@@ -2006,7 +1930,7 @@ function _objectWithoutPropertiesLoose(source, excluded) {
2006
1930
  /******/ 4548: 0,
2007
1931
  /******/ 5853: 0,
2008
1932
  /******/ 410: 0,
2009
- /******/ 2210: 0
1933
+ /******/ 6999: 0
2010
1934
  /******/ };
2011
1935
  /******/
2012
1936
  /******/ // no chunk on demand loading
@@ -2056,7 +1980,7 @@ function _objectWithoutPropertiesLoose(source, excluded) {
2056
1980
  /******/ // startup
2057
1981
  /******/ // Load entry module and return exports
2058
1982
  /******/ // This entry module depends on other loaded chunks and execution need to be delayed
2059
- /******/ var __webpack_exports__ = __webpack_require__.O(undefined, [2210], () => (__webpack_require__(6635)))
1983
+ /******/ var __webpack_exports__ = __webpack_require__.O(undefined, [6999], () => (__webpack_require__(4716)))
2060
1984
  /******/ __webpack_exports__ = __webpack_require__.O(__webpack_exports__);
2061
1985
  /******/
2062
1986
  /******/ return __webpack_exports__;