openstack-uicore-foundation 4.0.98 → 4.0.99

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 (95) hide show
  1. package/lib/components/ajaxloader.js +1 -184
  2. package/lib/components/attendance-tracker.js +1 -1992
  3. package/lib/components/bulk-actions-selector.js +1 -194
  4. package/lib/components/circle-button.js +1 -223
  5. package/lib/components/clock.js +1 -678
  6. package/lib/components/exclusive-wrapper.js +1 -151
  7. package/lib/components/extra-questions.js +1 -1902
  8. package/lib/components/form-validation.js +1 -190
  9. package/lib/components/forms/rsvp-form.js +1 -940
  10. package/lib/components/forms/simple-form.js +1 -708
  11. package/lib/components/free-text-search.js +1 -2042
  12. package/lib/components/google-map.js +1 -576
  13. package/lib/components/index.js +1 -12840
  14. package/lib/components/inputs/access-levels-input.js +1 -2306
  15. package/lib/components/inputs/action-dropdown.js +1 -219
  16. package/lib/components/inputs/checkbox-list.js +1 -339
  17. package/lib/components/inputs/company-input.js +1 -2341
  18. package/lib/components/inputs/country-dropdown.js +1 -2399
  19. package/lib/components/inputs/country-input.js +1 -2302
  20. package/lib/components/inputs/datetimepicker.js +1 -314
  21. package/lib/components/inputs/dropdown.js +1 -259
  22. package/lib/components/inputs/editor-input.js +1 -270
  23. package/lib/components/inputs/event-input.js +1 -2280
  24. package/lib/components/inputs/free-multi-text-input.js +1 -252
  25. package/lib/components/inputs/group-input.js +1 -2275
  26. package/lib/components/inputs/grouped-dropdown.js +1 -244
  27. package/lib/components/inputs/language-input.js +1 -2307
  28. package/lib/components/inputs/member-input.js +1 -2302
  29. package/lib/components/inputs/operator-input.js +1 -328
  30. package/lib/components/inputs/organization-input.js +1 -2325
  31. package/lib/components/inputs/promocode-input.js +1 -2310
  32. package/lib/components/inputs/radio-list.js +1 -297
  33. package/lib/components/inputs/registration-company-input.js +1 -2470
  34. package/lib/components/inputs/speaker-input.js +1 -2336
  35. package/lib/components/inputs/sponsor-input.js +1 -2284
  36. package/lib/components/inputs/stepped-select.js +1 -197
  37. package/lib/components/inputs/summit-days-select.js +1 -162
  38. package/lib/components/inputs/summit-input.js +1 -2282
  39. package/lib/components/inputs/summit-venues-select.js +1 -172
  40. package/lib/components/inputs/tag-input.js +1 -2352
  41. package/lib/components/inputs/text-input.js +1 -202
  42. package/lib/components/inputs/textarea-input.js +1 -181
  43. package/lib/components/inputs/ticket-types-input.js +1 -2338
  44. package/lib/components/inputs/upload-input-v2.js +1 -834
  45. package/lib/components/inputs/upload-input.js +1 -391
  46. package/lib/components/progressive-img.js +1 -289
  47. package/lib/components/raw-html.js +1 -125
  48. package/lib/components/schedule-builder-constants.js +1 -81
  49. package/lib/components/schedule-builder-view.js +1 -1684
  50. package/lib/components/sections/panel.js +1 -156
  51. package/lib/components/simple-link-list.js +1 -790
  52. package/lib/components/sponsored-project-input.js +1 -2281
  53. package/lib/components/summit-dropdown.js +1 -214
  54. package/lib/components/table-editable.js +1 -895
  55. package/lib/components/table-selectable.js +1 -552
  56. package/lib/components/table-sortable.js +1 -657
  57. package/lib/components/table.js +1 -510
  58. package/lib/components/video-stream.js +1 -226
  59. package/lib/css/components/bulk-actions-selector.css +1 -16
  60. package/lib/css/components/circle-button.css +1 -24
  61. package/lib/css/components/extra-questions.css +1 -29
  62. package/lib/css/components/form-validation.css +1 -29
  63. package/lib/css/components/free-text-search.css +1 -29
  64. package/lib/css/components/index.css +2 -1354
  65. package/lib/css/components/inputs/action-dropdown.css +1 -46
  66. package/lib/css/components/inputs/datetimepicker.css +1 -208
  67. package/lib/css/components/inputs/grouped-dropdown.css +1 -25
  68. package/lib/css/components/inputs/stepped-select.css +1 -12
  69. package/lib/css/components/inputs/upload-input-v2.css +1 -106
  70. package/lib/css/components/inputs/upload-input.css +1 -43
  71. package/lib/css/components/progressive-img.css +1 -16
  72. package/lib/css/components/schedule-builder-view.css +1 -230
  73. package/lib/css/components/simple-link-list.css +1 -189
  74. package/lib/css/components/summit-dropdown.css +1 -35
  75. package/lib/css/components/table-editable.css +1 -145
  76. package/lib/css/components/table-selectable.css +1 -147
  77. package/lib/css/components/table-sortable.css +1 -150
  78. package/lib/css/components/table.css +1 -147
  79. package/lib/i18n.js +1 -449
  80. package/lib/models/index.js +1 -238
  81. package/lib/models/summit-event.js +1 -210
  82. package/lib/security/abstract-auth-callback-route.js +1 -2114
  83. package/lib/security/actions.js +1 -1818
  84. package/lib/security/constants.js +1 -71
  85. package/lib/security/methods.js +1 -1818
  86. package/lib/security/reducers.js +1 -1961
  87. package/lib/security/session-checker.js +1 -2179
  88. package/lib/utils/actions.js +1 -1818
  89. package/lib/utils/fragment-parser.js +1 -207
  90. package/lib/utils/methods.js +1 -369
  91. package/lib/utils/query-actions.js +1 -2154
  92. package/lib/utils/questions-set.js +1 -609
  93. package/lib/utils/reducers.js +1 -1874
  94. package/lib/utils/use-fit-text.js +1 -178
  95. package/package.json +1 -1
@@ -1,297 +1 @@
1
- (function webpackUniversalModuleDefinition(root, factory) {
2
- if(typeof exports === 'object' && typeof module === 'object')
3
- module.exports = factory();
4
- else if(typeof define === 'function' && define.amd)
5
- define("openstack-uicore-foundation", [], factory);
6
- else if(typeof exports === 'object')
7
- exports["openstack-uicore-foundation"] = factory();
8
- else
9
- root["openstack-uicore-foundation"] = factory();
10
- })(this, () => {
11
- return /******/ (() => { // webpackBootstrap
12
- /******/ "use strict";
13
- /******/ var __webpack_modules__ = ({
14
-
15
- /***/ "./src/components/raw-html/index.js":
16
- /*!******************************************!*\
17
- !*** ./src/components/raw-html/index.js ***!
18
- \******************************************/
19
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
20
-
21
- __webpack_require__.r(__webpack_exports__);
22
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
23
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
24
- /* harmony export */ });
25
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
26
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
27
-
28
-
29
- const RawHTML = ({
30
- children,
31
- replaceNewLine = false,
32
- className = ""
33
- }) => /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("span", {
34
- className: className,
35
- dangerouslySetInnerHTML: {
36
- __html: replaceNewLine ? children === null || children === void 0 ? void 0 : children.replace(/\n/g, '<br />') : children
37
- }
38
- });
39
-
40
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (RawHTML);
41
-
42
- /***/ }),
43
-
44
- /***/ "@babel/runtime/helpers/objectWithoutProperties":
45
- /*!*****************************************************************!*\
46
- !*** external "@babel/runtime/helpers/objectWithoutProperties" ***!
47
- \*****************************************************************/
48
- /***/ ((module) => {
49
-
50
- module.exports = require("@babel/runtime/helpers/objectWithoutProperties");
51
-
52
- /***/ }),
53
-
54
- /***/ "prop-types":
55
- /*!*****************************!*\
56
- !*** external "prop-types" ***!
57
- \*****************************/
58
- /***/ ((module) => {
59
-
60
- module.exports = require("prop-types");
61
-
62
- /***/ }),
63
-
64
- /***/ "react":
65
- /*!************************!*\
66
- !*** external "react" ***!
67
- \************************/
68
- /***/ ((module) => {
69
-
70
- module.exports = require("react");
71
-
72
- /***/ })
73
-
74
- /******/ });
75
- /************************************************************************/
76
- /******/ // The module cache
77
- /******/ var __webpack_module_cache__ = {};
78
- /******/
79
- /******/ // The require function
80
- /******/ function __webpack_require__(moduleId) {
81
- /******/ // Check if module is in cache
82
- /******/ var cachedModule = __webpack_module_cache__[moduleId];
83
- /******/ if (cachedModule !== undefined) {
84
- /******/ return cachedModule.exports;
85
- /******/ }
86
- /******/ // Create a new module (and put it into the cache)
87
- /******/ var module = __webpack_module_cache__[moduleId] = {
88
- /******/ // no module.id needed
89
- /******/ // no module.loaded needed
90
- /******/ exports: {}
91
- /******/ };
92
- /******/
93
- /******/ // Execute the module function
94
- /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
95
- /******/
96
- /******/ // Return the exports of the module
97
- /******/ return module.exports;
98
- /******/ }
99
- /******/
100
- /************************************************************************/
101
- /******/ /* webpack/runtime/compat get default export */
102
- /******/ (() => {
103
- /******/ // getDefaultExport function for compatibility with non-harmony modules
104
- /******/ __webpack_require__.n = (module) => {
105
- /******/ var getter = module && module.__esModule ?
106
- /******/ () => (module['default']) :
107
- /******/ () => (module);
108
- /******/ __webpack_require__.d(getter, { a: getter });
109
- /******/ return getter;
110
- /******/ };
111
- /******/ })();
112
- /******/
113
- /******/ /* webpack/runtime/define property getters */
114
- /******/ (() => {
115
- /******/ // define getter functions for harmony exports
116
- /******/ __webpack_require__.d = (exports, definition) => {
117
- /******/ for(var key in definition) {
118
- /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
119
- /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
120
- /******/ }
121
- /******/ }
122
- /******/ };
123
- /******/ })();
124
- /******/
125
- /******/ /* webpack/runtime/hasOwnProperty shorthand */
126
- /******/ (() => {
127
- /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
128
- /******/ })();
129
- /******/
130
- /******/ /* webpack/runtime/make namespace object */
131
- /******/ (() => {
132
- /******/ // define __esModule on exports
133
- /******/ __webpack_require__.r = (exports) => {
134
- /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
135
- /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
136
- /******/ }
137
- /******/ Object.defineProperty(exports, '__esModule', { value: true });
138
- /******/ };
139
- /******/ })();
140
- /******/
141
- /************************************************************************/
142
- var __webpack_exports__ = {};
143
- // This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.
144
- (() => {
145
- /*!*********************************************!*\
146
- !*** ./src/components/inputs/radio-list.js ***!
147
- \*********************************************/
148
- __webpack_require__.r(__webpack_exports__);
149
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
150
- /* harmony export */ "default": () => (/* binding */ RadioList)
151
- /* harmony export */ });
152
- /* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "@babel/runtime/helpers/objectWithoutProperties");
153
- /* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0__);
154
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
155
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
156
- /* harmony import */ var _raw_html__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../raw-html */ "./src/components/raw-html/index.js");
157
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! prop-types */ "prop-types");
158
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_3__);
159
-
160
- const _excluded = ["onChange", "value", "className", "error", "ariaLabelledBy", "disabled", "options", "id", "name"];
161
-
162
- /**
163
- * Copyright 2018 OpenStack Foundation
164
- * Licensed under the Apache License, Version 2.0 (the "License");
165
- * you may not use this file except in compliance with the License.
166
- * You may obtain a copy of the License at
167
- * http://www.apache.org/licenses/LICENSE-2.0
168
- * Unless required by applicable law or agreed to in writing, software
169
- * distributed under the License is distributed on an "AS IS" BASIS,
170
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
171
- * See the License for the specific language governing permissions and
172
- * limitations under the License.
173
- **/
174
-
175
-
176
-
177
- class RadioList extends (react__WEBPACK_IMPORTED_MODULE_1___default().Component) {
178
- constructor(props) {
179
- super(props);
180
- this.state = {
181
- value: props.value
182
- };
183
- this.handleChange = this.handleChange.bind(this);
184
- }
185
-
186
- handleChange(selection) {
187
- let ev = {
188
- target: {
189
- id: this.props.id,
190
- value: selection.target.value,
191
- type: 'radio'
192
- }
193
- };
194
- this.props.onChange(ev);
195
- }
196
-
197
- getLabel(option, id, inline, simple, html) {
198
- if (inline) {
199
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("label", {
200
- className: "form-check-label",
201
- htmlFor: `radio_${id}_${option.value}`,
202
- style: {
203
- display: 'inline-block'
204
- }
205
- }, html && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_raw_html__WEBPACK_IMPORTED_MODULE_2__["default"], null, option.label), !html && option.label);
206
- } else if (simple) {
207
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("label", {
208
- className: "form-check-label",
209
- htmlFor: `radio_${id}_${option.value}`
210
- }, option.label);
211
- } else {
212
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("label", {
213
- className: "form-check-label",
214
- htmlFor: `radio_${id}_${option.value}`,
215
- style: {
216
- display: 'inline-block'
217
- }
218
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("h4", {
219
- style: {
220
- marginTop: '0px'
221
- }
222
- }, option.label), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_raw_html__WEBPACK_IMPORTED_MODULE_2__["default"], null, option.description));
223
- }
224
- }
225
-
226
- render() {
227
- let _this$props = this.props,
228
- {
229
- onChange,
230
- value,
231
- className,
232
- error,
233
- ariaLabelledBy,
234
- disabled,
235
- options,
236
- id,
237
- name
238
- } = _this$props,
239
- rest = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0___default()(_this$props, _excluded);
240
-
241
- let has_error = this.props.hasOwnProperty('error') && error != '';
242
- let inline = this.props.hasOwnProperty('inline');
243
- let simple = this.props.hasOwnProperty('simple');
244
- let html = this.props.hasOwnProperty('html');
245
- let isDisabled = this.props.hasOwnProperty('disabled') && disabled == true;
246
- let style, label;
247
-
248
- if (inline) {
249
- style = {
250
- paddingLeft: '22px',
251
- marginLeft: '20px',
252
- float: 'left'
253
- };
254
- } else {
255
- style = {
256
- paddingLeft: '22px'
257
- };
258
- }
259
-
260
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("div", {
261
- id: `rl_wrapper_${id}`,
262
- "aria-labelledby": ariaLabelledBy
263
- }, options.map(op => {
264
- let checked = op.value == value;
265
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("div", {
266
- className: "form-check abc-radio",
267
- key: `radio_key_${id}_${op.value}`,
268
- style: style
269
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("input", {
270
- className: "form-check-input",
271
- type: "radio",
272
- id: `radio_${id}_${op.value}`,
273
- value: op.value,
274
- checked: checked,
275
- onChange: this.handleChange,
276
- disabled: isDisabled,
277
- name: name ? name : `radio_${id}`
278
- }), this.getLabel(op, id, inline, simple, html));
279
- }), has_error && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("p", {
280
- className: "error-label"
281
- }, error));
282
- }
283
-
284
- }
285
- RadioList.defaultProps = {
286
- ariaLabelledBy: null
287
- };
288
- RadioList.propTypes = {
289
- id: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().string.isRequired)
290
- };
291
- })();
292
-
293
- /******/ return __webpack_exports__;
294
- /******/ })()
295
- ;
296
- });
297
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy9pbnB1dHMvcmFkaW8tbGlzdC5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0QsTzs7Ozs7Ozs7Ozs7Ozs7OztBQ1ZBOztBQUVBLE1BQU1DLE9BQU8sR0FBRyxDQUFDO0VBQUNDLFFBQUQ7RUFBV0MsY0FBYyxHQUFHLEtBQTVCO0VBQW1DQyxTQUFTLEdBQUc7QUFBL0MsQ0FBRCxrQkFDWjtFQUFNLFNBQVMsRUFBRUEsU0FBakI7RUFDTSx1QkFBdUIsRUFBRTtJQUFFQyxNQUFNLEVBQUVGLGNBQWMsR0FBR0QsUUFBSCxhQUFHQSxRQUFILHVCQUFHQSxRQUFRLENBQUVJLE9BQVYsQ0FBa0IsS0FBbEIsRUFBeUIsUUFBekIsQ0FBSCxHQUF3Q0o7RUFBaEU7QUFEL0IsRUFESjs7QUFJQSxpRUFBZUQsT0FBZjs7Ozs7Ozs7OztBQ05BOzs7Ozs7Ozs7O0FDQUE7Ozs7Ozs7Ozs7QUNBQTs7Ozs7O1VDQUE7VUFDQTs7VUFFQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTs7VUFFQTtVQUNBOztVQUVBO1VBQ0E7VUFDQTs7Ozs7V0N0QkE7V0FDQTtXQUNBO1dBQ0E7V0FDQTtXQUNBLGlDQUFpQyxXQUFXO1dBQzVDO1dBQ0E7Ozs7O1dDUEE7V0FDQTtXQUNBO1dBQ0E7V0FDQSx5Q0FBeUMsd0NBQXdDO1dBQ2pGO1dBQ0E7V0FDQTs7Ozs7V0NQQTs7Ozs7V0NBQTtXQUNBO1dBQ0E7V0FDQSx1REFBdUQsaUJBQWlCO1dBQ3hFO1dBQ0EsZ0RBQWdELGFBQWE7V0FDN0Q7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ05BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVlLE1BQU1PLFNBQU4sU0FBd0JSLHdEQUF4QixDQUF3QztFQUVu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RUFBRSxFQUFFWixxRUFBMkI0QztBQURiLENBQXRCLEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9vcGVuc3RhY2stdWljb3JlLWZvdW5kYXRpb24vd2VicGFjay91bml2ZXJzYWxNb2R1bGVEZWZpbml0aW9uIiwid2VicGFjazovL29wZW5zdGFjay11aWNvcmUtZm91bmRhdGlvbi8uL3NyYy9jb21wb25lbnRzL3Jhdy1odG1sL2luZGV4LmpzIiwid2VicGFjazovL29wZW5zdGFjay11aWNvcmUtZm91bmRhdGlvbi9leHRlcm5hbCBjb21tb25qcyBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvb2JqZWN0V2l0aG91dFByb3BlcnRpZXNcIiIsIndlYnBhY2s6Ly9vcGVuc3RhY2stdWljb3JlLWZvdW5kYXRpb24vZXh0ZXJuYWwgY29tbW9uanMgXCJwcm9wLXR5cGVzXCIiLCJ3ZWJwYWNrOi8vb3BlbnN0YWNrLXVpY29yZS1mb3VuZGF0aW9uL2V4dGVybmFsIGNvbW1vbmpzIFwicmVhY3RcIiIsIndlYnBhY2s6Ly9vcGVuc3RhY2stdWljb3JlLWZvdW5kYXRpb24vd2VicGFjay9ib290c3RyYXAiLCJ3ZWJwYWNrOi8vb3BlbnN0YWNrLXVpY29yZS1mb3VuZGF0aW9uL3dlYnBhY2svcnVudGltZS9jb21wYXQgZ2V0IGRlZmF1bHQgZXhwb3J0Iiwid2VicGFjazovL29wZW5zdGFjay11aWNvcmUtZm91bmRhdGlvbi93ZWJwYWNrL3J1bnRpbWUvZGVmaW5lIHByb3BlcnR5IGdldHRlcnMiLCJ3ZWJwYWNrOi8vb3BlbnN0YWNrLXVpY29yZS1mb3VuZGF0aW9uL3dlYnBhY2svcnVudGltZS9oYXNPd25Qcm9wZXJ0eSBzaG9ydGhhbmQiLCJ3ZWJwYWNrOi8vb3BlbnN0YWNrLXVpY29yZS1mb3VuZGF0aW9uL3dlYnBhY2svcnVudGltZS9tYWtlIG5hbWVzcGFjZSBvYmplY3QiLCJ3ZWJwYWNrOi8vb3BlbnN0YWNrLXVpY29yZS1mb3VuZGF0aW9uLy4vc3JjL2NvbXBvbmVudHMvaW5wdXRzL3JhZGlvLWxpc3QuanMiXSwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uIHdlYnBhY2tVbml2ZXJzYWxNb2R1bGVEZWZpbml0aW9uKHJvb3QsIGZhY3RvcnkpIHtcblx0aWYodHlwZW9mIGV4cG9ydHMgPT09ICdvYmplY3QnICYmIHR5cGVvZiBtb2R1bGUgPT09ICdvYmplY3QnKVxuXHRcdG1vZHVsZS5leHBvcnRzID0gZmFjdG9yeSgpO1xuXHRlbHNlIGlmKHR5cGVvZiBkZWZpbmUgPT09ICdmdW5jdGlvbicgJiYgZGVmaW5lLmFtZClcblx0XHRkZWZpbmUoXCJvcGVuc3RhY2stdWljb3JlLWZvdW5kYXRpb25cIiwgW10sIGZhY3RvcnkpO1xuXHRlbHNlIGlmKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0Jylcblx0XHRleHBvcnRzW1wib3BlbnN0YWNrLXVpY29yZS1mb3VuZGF0aW9uXCJdID0gZmFjdG9yeSgpO1xuXHRlbHNlXG5cdFx0cm9vdFtcIm9wZW5zdGFjay11aWNvcmUtZm91bmRhdGlvblwiXSA9IGZhY3RvcnkoKTtcbn0pKHRoaXMsICgpID0+IHtcbnJldHVybiAiLCJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5jb25zdCBSYXdIVE1MID0gKHtjaGlsZHJlbiwgcmVwbGFjZU5ld0xpbmUgPSBmYWxzZSwgY2xhc3NOYW1lID0gXCJcIn0pID0+XG4gICAgPHNwYW4gY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgICAgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw9e3sgX19odG1sOiByZXBsYWNlTmV3TGluZSA/IGNoaWxkcmVuPy5yZXBsYWNlKC9cXG4vZywgJzxiciAvPicpIDogY2hpbGRyZW59fSAvPlxuXG5leHBvcnQgZGVmYXVsdCBSYXdIVE1MOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvb2JqZWN0V2l0aG91dFByb3BlcnRpZXNcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwicHJvcC10eXBlc1wiKTsiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJyZWFjdFwiKTsiLCIvLyBUaGUgbW9kdWxlIGNhY2hlXG52YXIgX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fID0ge307XG5cbi8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG5mdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG5cdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuXHR2YXIgY2FjaGVkTW9kdWxlID0gX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fW21vZHVsZUlkXTtcblx0aWYgKGNhY2hlZE1vZHVsZSAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0cmV0dXJuIGNhY2hlZE1vZHVsZS5leHBvcnRzO1xuXHR9XG5cdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG5cdHZhciBtb2R1bGUgPSBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX19bbW9kdWxlSWRdID0ge1xuXHRcdC8vIG5vIG1vZHVsZS5pZCBuZWVkZWRcblx0XHQvLyBubyBtb2R1bGUubG9hZGVkIG5lZWRlZFxuXHRcdGV4cG9ydHM6IHt9XG5cdH07XG5cblx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG5cdF9fd2VicGFja19tb2R1bGVzX19bbW9kdWxlSWRdKG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuXG5cdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG5cdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbn1cblxuIiwiLy8gZ2V0RGVmYXVsdEV4cG9ydCBmdW5jdGlvbiBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5vbi1oYXJtb255IG1vZHVsZXNcbl9fd2VicGFja19yZXF1aXJlX18ubiA9IChtb2R1bGUpID0+IHtcblx0dmFyIGdldHRlciA9IG1vZHVsZSAmJiBtb2R1bGUuX19lc01vZHVsZSA/XG5cdFx0KCkgPT4gKG1vZHVsZVsnZGVmYXVsdCddKSA6XG5cdFx0KCkgPT4gKG1vZHVsZSk7XG5cdF9fd2VicGFja19yZXF1aXJlX18uZChnZXR0ZXIsIHsgYTogZ2V0dGVyIH0pO1xuXHRyZXR1cm4gZ2V0dGVyO1xufTsiLCIvLyBkZWZpbmUgZ2V0dGVyIGZ1bmN0aW9ucyBmb3IgaGFybW9ueSBleHBvcnRzXG5fX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSAoZXhwb3J0cywgZGVmaW5pdGlvbikgPT4ge1xuXHRmb3IodmFyIGtleSBpbiBkZWZpbml0aW9uKSB7XG5cdFx0aWYoX193ZWJwYWNrX3JlcXVpcmVfXy5vKGRlZmluaXRpb24sIGtleSkgJiYgIV9fd2VicGFja19yZXF1aXJlX18ubyhleHBvcnRzLCBrZXkpKSB7XG5cdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywga2V5LCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZGVmaW5pdGlvbltrZXldIH0pO1xuXHRcdH1cblx0fVxufTsiLCJfX3dlYnBhY2tfcmVxdWlyZV9fLm8gPSAob2JqLCBwcm9wKSA9PiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwgcHJvcCkpIiwiLy8gZGVmaW5lIF9fZXNNb2R1bGUgb24gZXhwb3J0c1xuX193ZWJwYWNrX3JlcXVpcmVfXy5yID0gKGV4cG9ydHMpID0+IHtcblx0aWYodHlwZW9mIFN5bWJvbCAhPT0gJ3VuZGVmaW5lZCcgJiYgU3ltYm9sLnRvU3RyaW5nVGFnKSB7XG5cdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFN5bWJvbC50b1N0cmluZ1RhZywgeyB2YWx1ZTogJ01vZHVsZScgfSk7XG5cdH1cblx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbn07IiwiLyoqXG4gKiBDb3B5cmlnaHQgMjAxOCBPcGVuU3RhY2sgRm91bmRhdGlvblxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICogaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICoqL1xuXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFJhd0hUTUwgZnJvbSAnLi4vcmF3LWh0bWwnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJ1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSYWRpb0xpc3QgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuXG4gICAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICAgICAgc3VwZXIocHJvcHMpO1xuXG4gICAgICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICAgICAgICB2YWx1ZTogcHJvcHMudmFsdWUsXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5oYW5kbGVDaGFuZ2UgPSB0aGlzLmhhbmRsZUNoYW5nZS5iaW5kKHRoaXMpO1xuICAgIH1cblxuICAgIGhhbmRsZUNoYW5nZShzZWxlY3Rpb24pIHtcblxuICAgICAgICBsZXQgZXYgPSB7dGFyZ2V0OiB7XG4gICAgICAgICAgICAgICAgaWQ6IHRoaXMucHJvcHMuaWQsXG4gICAgICAgICAgICAgICAgdmFsdWU6IHNlbGVjdGlvbi50YXJnZXQudmFsdWUsXG4gICAgICAgICAgICAgICAgdHlwZTogJ3JhZGlvJ1xuICAgICAgICAgICAgfX07XG5cbiAgICAgICAgdGhpcy5wcm9wcy5vbkNoYW5nZShldik7XG4gICAgfVxuXG4gICAgZ2V0TGFiZWwob3B0aW9uLCBpZCwgaW5saW5lLCBzaW1wbGUsIGh0bWwpIHtcbiAgICAgICAgaWYgKGlubGluZSkge1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3NOYW1lPVwiZm9ybS1jaGVjay1sYWJlbFwiIGh0bWxGb3I9e2ByYWRpb18ke2lkfV8ke29wdGlvbi52YWx1ZX1gfSBzdHlsZT17e2Rpc3BsYXk6ICdpbmxpbmUtYmxvY2snfX0+XG4gICAgICAgICAgICAgICAgICAgIHtodG1sICYmXG4gICAgICAgICAgICAgICAgICAgIDxSYXdIVE1MPlxuICAgICAgICAgICAgICAgICAgICAgICAge29wdGlvbi5sYWJlbH1cbiAgICAgICAgICAgICAgICAgICAgPC9SYXdIVE1MPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHshaHRtbCAmJlxuICAgICAgICAgICAgICAgICAgICBvcHRpb24ubGFiZWxcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2UgaWYgKHNpbXBsZSkge1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3NOYW1lPVwiZm9ybS1jaGVjay1sYWJlbFwiIGh0bWxGb3I9e2ByYWRpb18ke2lkfV8ke29wdGlvbi52YWx1ZX1gfSA+XG4gICAgICAgICAgICAgICAgICAgIHtvcHRpb24ubGFiZWx9XG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzc05hbWU9XCJmb3JtLWNoZWNrLWxhYmVsXCIgaHRtbEZvcj17YHJhZGlvXyR7aWR9XyR7b3B0aW9uLnZhbHVlfWB9IHN0eWxlPXt7ZGlzcGxheTogJ2lubGluZS1ibG9jayd9fT5cbiAgICAgICAgICAgICAgICAgICAgPGg0IHN0eWxlPXt7bWFyZ2luVG9wOiAnMHB4J319PntvcHRpb24ubGFiZWx9PC9oND5cbiAgICAgICAgICAgICAgICAgICAgPFJhd0hUTUw+e29wdGlvbi5kZXNjcmlwdGlvbn08L1Jhd0hUTUw+XG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZW5kZXIoKSB7XG5cbiAgICAgICAgbGV0IHtvbkNoYW5nZSwgdmFsdWUsIGNsYXNzTmFtZSwgZXJyb3IsIGFyaWFMYWJlbGxlZEJ5LCBkaXNhYmxlZCwgb3B0aW9ucyxpZCwgbmFtZSwuLi5yZXN0fSA9IHRoaXMucHJvcHM7XG4gICAgICAgIGxldCBoYXNfZXJyb3IgPSAoIHRoaXMucHJvcHMuaGFzT3duUHJvcGVydHkoJ2Vycm9yJykgJiYgZXJyb3IgIT0gJycgKTtcbiAgICAgICAgbGV0IGlubGluZSA9ICggdGhpcy5wcm9wcy5oYXNPd25Qcm9wZXJ0eSgnaW5saW5lJykgKTtcbiAgICAgICAgbGV0IHNpbXBsZSA9ICggdGhpcy5wcm9wcy5oYXNPd25Qcm9wZXJ0eSgnc2ltcGxlJykgKTtcbiAgICAgICAgbGV0IGh0bWwgPSAoIHRoaXMucHJvcHMuaGFzT3duUHJvcGVydHkoJ2h0bWwnKSApO1xuICAgICAgICBsZXQgaXNEaXNhYmxlZCA9ICh0aGlzLnByb3BzLmhhc093blByb3BlcnR5KCdkaXNhYmxlZCcpICYmIGRpc2FibGVkID09IHRydWUpO1xuXG4gICAgICAgIGxldCBzdHlsZSwgbGFiZWw7XG5cbiAgICAgICAgaWYgKGlubGluZSkge1xuICAgICAgICAgICAgc3R5bGUgPSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZ0xlZnQ6ICcyMnB4JyxcbiAgICAgICAgICAgICAgICBtYXJnaW5MZWZ0OiAnMjBweCcsXG4gICAgICAgICAgICAgICAgZmxvYXQ6ICdsZWZ0J1xuICAgICAgICAgICAgfTtcblxuXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdHlsZSA9IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nTGVmdDogJzIycHgnXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPGRpdiBpZD17YHJsX3dyYXBwZXJfJHtpZH1gfSBhcmlhLWxhYmVsbGVkYnk9e2FyaWFMYWJlbGxlZEJ5fT5cbiAgICAgICAgICAgICAgICB7IG9wdGlvbnMubWFwKG9wID0+IHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGNoZWNrZWQgPSAob3AudmFsdWUgPT0gdmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmb3JtLWNoZWNrIGFiYy1yYWRpb1wiIGtleT17YHJhZGlvX2tleV8ke2lkfV8ke29wLnZhbHVlfWB9IHN0eWxlPXtzdHlsZX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImZvcm0tY2hlY2staW5wdXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD17YHJhZGlvXyR7aWR9XyR7b3AudmFsdWV9YH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e29wLnZhbHVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGVja2VkPXtjaGVja2VkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5oYW5kbGVDaGFuZ2V9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpc0Rpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPXtuYW1lID8gbmFtZSA6IGByYWRpb18ke2lkfWB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dGhpcy5nZXRMYWJlbChvcCwgaWQsIGlubGluZSwgc2ltcGxlLCBodG1sKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgfSl9XG5cbiAgICAgICAgICAgICAgICB7aGFzX2Vycm9yICYmXG4gICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwiZXJyb3ItbGFiZWxcIj57ZXJyb3J9PC9wPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICApO1xuXG4gICAgfVxufVxuXG5SYWRpb0xpc3QuZGVmYXVsdFByb3BzID0ge1xuICAgIGFyaWFMYWJlbGxlZEJ5IDogbnVsbCxcbn1cblxuUmFkaW9MaXN0LnByb3BUeXBlcyA9IHtcbiAgICBpZDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkXG59OyJdLCJuYW1lcyI6WyJSZWFjdCIsIlJhd0hUTUwiLCJjaGlsZHJlbiIsInJlcGxhY2VOZXdMaW5lIiwiY2xhc3NOYW1lIiwiX19odG1sIiwicmVwbGFjZSIsIlByb3BUeXBlcyIsIlJhZGlvTGlzdCIsIkNvbXBvbmVudCIsImNvbnN0cnVjdG9yIiwicHJvcHMiLCJzdGF0ZSIsInZhbHVlIiwiaGFuZGxlQ2hhbmdlIiwiYmluZCIsInNlbGVjdGlvbiIsImV2IiwidGFyZ2V0IiwiaWQiLCJ0eXBlIiwib25DaGFuZ2UiLCJnZXRMYWJlbCIsIm9wdGlvbiIsImlubGluZSIsInNpbXBsZSIsImh0bWwiLCJkaXNwbGF5IiwibGFiZWwiLCJtYXJnaW5Ub3AiLCJkZXNjcmlwdGlvbiIsInJlbmRlciIsImVycm9yIiwiYXJpYUxhYmVsbGVkQnkiLCJkaXNhYmxlZCIsIm9wdGlvbnMiLCJuYW1lIiwicmVzdCIsImhhc19lcnJvciIsImhhc093blByb3BlcnR5IiwiaXNEaXNhYmxlZCIsInN0eWxlIiwicGFkZGluZ0xlZnQiLCJtYXJnaW5MZWZ0IiwiZmxvYXQiLCJtYXAiLCJvcCIsImNoZWNrZWQiLCJkZWZhdWx0UHJvcHMiLCJwcm9wVHlwZXMiLCJzdHJpbmciLCJpc1JlcXVpcmVkIl0sInNvdXJjZVJvb3QiOiIifQ==
1
+ !function(e,a){"object"==typeof exports&&"object"==typeof module?module.exports=a():"function"==typeof define&&define.amd?define("openstack-uicore-foundation",[],a):"object"==typeof exports?exports["openstack-uicore-foundation"]=a():e["openstack-uicore-foundation"]=a()}(this,(()=>(()=>{"use strict";var e={418:(e,a,r)=>{r.d(a,{default:()=>o});var t=r(6689),l=r.n(t);const o=({children:e,replaceNewLine:a=!1,className:r=""})=>l().createElement("span",{className:r,dangerouslySetInnerHTML:{__html:a?null==e?void 0:e.replace(/\n/g,"<br />"):e}})},3838:e=>{e.exports=require("@babel/runtime/helpers/objectWithoutProperties")},580:e=>{e.exports=require("prop-types")},6689:e=>{e.exports=require("react")}},a={};function r(t){var l=a[t];if(void 0!==l)return l.exports;var o=a[t]={exports:{}};return e[t](o,o.exports,r),o.exports}(()=>{r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a}),a}})(),(()=>{r.d=(e,a)=>{for(var t in a)r.o(a,t)&&!r.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:a[t]})}})(),(()=>{r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a)})(),(()=>{r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})();var t={};return(()=>{r.r(t),r.d(t,{default:()=>d});var e=r(3838),a=r.n(e),l=r(6689),o=r.n(l),n=r(418),s=r(580),i=r.n(s);const p=["onChange","value","className","error","ariaLabelledBy","disabled","options","id","name"];class d extends o().Component{constructor(e){super(e),this.state={value:e.value},this.handleChange=this.handleChange.bind(this)}handleChange(e){let a={target:{id:this.props.id,value:e.target.value,type:"radio"}};this.props.onChange(a)}getLabel(e,a,r,t,l){return r?o().createElement("label",{className:"form-check-label",htmlFor:`radio_${a}_${e.value}`,style:{display:"inline-block"}},l&&o().createElement(n.default,null,e.label),!l&&e.label):t?o().createElement("label",{className:"form-check-label",htmlFor:`radio_${a}_${e.value}`},e.label):o().createElement("label",{className:"form-check-label",htmlFor:`radio_${a}_${e.value}`,style:{display:"inline-block"}},o().createElement("h4",{style:{marginTop:"0px"}},e.label),o().createElement(n.default,null,e.description))}render(){let e,r=this.props,{onChange:t,value:l,className:n,error:s,ariaLabelledBy:i,disabled:d,options:c,id:u,name:h}=r,m=(a()(r,p),this.props.hasOwnProperty("error")&&""!=s),b=this.props.hasOwnProperty("inline"),f=this.props.hasOwnProperty("simple"),y=this.props.hasOwnProperty("html"),v=this.props.hasOwnProperty("disabled")&&1==d;return e=b?{paddingLeft:"22px",marginLeft:"20px",float:"left"}:{paddingLeft:"22px"},o().createElement("div",{id:`rl_wrapper_${u}`,"aria-labelledby":i},c.map((a=>{let r=a.value==l;return o().createElement("div",{className:"form-check abc-radio",key:`radio_key_${u}_${a.value}`,style:e},o().createElement("input",{className:"form-check-input",type:"radio",id:`radio_${u}_${a.value}`,value:a.value,checked:r,onChange:this.handleChange,disabled:v,name:h||`radio_${u}`}),this.getLabel(a,u,b,f,y))})),m&&o().createElement("p",{className:"error-label"},s))}}d.defaultProps={ariaLabelledBy:null},d.propTypes={id:i().string.isRequired}})(),t})()));