openstack-uicore-foundation 3.0.84 → 3.0.87

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 (83) hide show
  1. package/babel.config.json +4 -1
  2. package/lib/actions.js +1 -1878
  3. package/lib/components.js +1 -11144
  4. package/lib/css/components.css +1 -1024
  5. package/lib/methods.js +1 -2089
  6. package/lib/reducers.js +1 -1800
  7. package/lib/utils/questions-set.js +1 -324
  8. package/lib.zip +0 -0
  9. package/package.json +17 -4
  10. package/lib/components/ajaxloader.js +0 -1
  11. package/lib/components/attendance-tracker.js +0 -1
  12. package/lib/components/circle-button.js +0 -1
  13. package/lib/components/clock.js +0 -1
  14. package/lib/components/exclusive-wrapper.js +0 -1
  15. package/lib/components/extra-questions.js +0 -1
  16. package/lib/components/form-validation.js +0 -1
  17. package/lib/components/forms/rsvp-form.js +0 -1
  18. package/lib/components/forms/simple-form.js +0 -1
  19. package/lib/components/free-text-search.js +0 -1
  20. package/lib/components/google-map.js +0 -1
  21. package/lib/components/index.js +0 -1
  22. package/lib/components/inputs/access-levels-input.js +0 -1
  23. package/lib/components/inputs/action-dropdown.js +0 -1
  24. package/lib/components/inputs/checkbox-list.js +0 -1
  25. package/lib/components/inputs/company-input.js +0 -1
  26. package/lib/components/inputs/country-dropdown.js +0 -1
  27. package/lib/components/inputs/country-input.js +0 -1
  28. package/lib/components/inputs/datetimepicker.js +0 -1
  29. package/lib/components/inputs/dropdown.js +0 -1
  30. package/lib/components/inputs/editor-input.js +0 -1
  31. package/lib/components/inputs/event-input.js +0 -1
  32. package/lib/components/inputs/free-multi-text-input.js +0 -1
  33. package/lib/components/inputs/group-input.js +0 -1
  34. package/lib/components/inputs/grouped-dropdown.js +0 -1
  35. package/lib/components/inputs/language-input.js +0 -1
  36. package/lib/components/inputs/member-input.js +0 -1
  37. package/lib/components/inputs/organization-input.js +0 -1
  38. package/lib/components/inputs/radio-list.js +0 -1
  39. package/lib/components/inputs/registration-company-input.js +0 -1
  40. package/lib/components/inputs/speaker-input.js +0 -1
  41. package/lib/components/inputs/sponsor-input.js +0 -1
  42. package/lib/components/inputs/summit-input.js +0 -1
  43. package/lib/components/inputs/tag-input.js +0 -1
  44. package/lib/components/inputs/text-input.js +0 -1
  45. package/lib/components/inputs/textarea-input.js +0 -1
  46. package/lib/components/inputs/ticket-types-input.js +0 -1
  47. package/lib/components/inputs/upload-input-v2.js +0 -1
  48. package/lib/components/inputs/upload-input.js +0 -1
  49. package/lib/components/raw-html.js +0 -1
  50. package/lib/components/sections/panel.js +0 -1
  51. package/lib/components/simple-link-list.js +0 -1
  52. package/lib/components/summit-dropdown.js +0 -1
  53. package/lib/components/table-editable.js +0 -1
  54. package/lib/components/table-selectable.js +0 -1
  55. package/lib/components/table-sortable.js +0 -1
  56. package/lib/components/table.js +0 -1
  57. package/lib/components/video-stream.js +0 -1
  58. package/lib/css/components/circle-button.css +0 -1
  59. package/lib/css/components/form-validation.css +0 -1
  60. package/lib/css/components/index.css +0 -3
  61. package/lib/css/components/inputs/action-dropdown.css +0 -1
  62. package/lib/css/components/inputs/datetimepicker.css +0 -3
  63. package/lib/css/components/inputs/grouped-dropdown.css +0 -1
  64. package/lib/css/components/inputs/upload-input-v2.css +0 -1
  65. package/lib/css/components/inputs/upload-input.css +0 -1
  66. package/lib/css/components/simple-link-list.css +0 -1
  67. package/lib/css/components/summit-dropdown.css +0 -1
  68. package/lib/css/components/table-editable.css +0 -1
  69. package/lib/css/components/table-selectable.css +0 -1
  70. package/lib/css/components/table-sortable.css +0 -1
  71. package/lib/css/components/table.css +0 -1
  72. package/lib/i18n.js +0 -1
  73. package/lib/security/abstract-auth-callback-route.js +0 -1
  74. package/lib/security/actions.js +0 -1
  75. package/lib/security/methods.js +0 -1
  76. package/lib/security/reducers.js +0 -1
  77. package/lib/security/session-checker.js +0 -1
  78. package/lib/utils/actions.js +0 -1
  79. package/lib/utils/fragment-parser.js +0 -1
  80. package/lib/utils/methods.js +0 -1
  81. package/lib/utils/query-actions.js +0 -1
  82. package/lib/utils/reducers.js +0 -1
  83. package/lib/utils/use-fit-text.js +0 -1
@@ -1,324 +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, function() {
11
- return /******/ (function(modules) { // webpackBootstrap
12
- /******/ // The module cache
13
- /******/ var installedModules = {};
14
- /******/
15
- /******/ // The require function
16
- /******/ function __webpack_require__(moduleId) {
17
- /******/
18
- /******/ // Check if module is in cache
19
- /******/ if(installedModules[moduleId]) {
20
- /******/ return installedModules[moduleId].exports;
21
- /******/ }
22
- /******/ // Create a new module (and put it into the cache)
23
- /******/ var module = installedModules[moduleId] = {
24
- /******/ i: moduleId,
25
- /******/ l: false,
26
- /******/ exports: {}
27
- /******/ };
28
- /******/
29
- /******/ // Execute the module function
30
- /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
31
- /******/
32
- /******/ // Flag the module as loaded
33
- /******/ module.l = true;
34
- /******/
35
- /******/ // Return the exports of the module
36
- /******/ return module.exports;
37
- /******/ }
38
- /******/
39
- /******/
40
- /******/ // expose the modules object (__webpack_modules__)
41
- /******/ __webpack_require__.m = modules;
42
- /******/
43
- /******/ // expose the module cache
44
- /******/ __webpack_require__.c = installedModules;
45
- /******/
46
- /******/ // define getter function for harmony exports
47
- /******/ __webpack_require__.d = function(exports, name, getter) {
48
- /******/ if(!__webpack_require__.o(exports, name)) {
49
- /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
50
- /******/ }
51
- /******/ };
52
- /******/
53
- /******/ // define __esModule on exports
54
- /******/ __webpack_require__.r = function(exports) {
55
- /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
56
- /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
57
- /******/ }
58
- /******/ Object.defineProperty(exports, '__esModule', { value: true });
59
- /******/ };
60
- /******/
61
- /******/ // create a fake namespace object
62
- /******/ // mode & 1: value is a module id, require it
63
- /******/ // mode & 2: merge all properties of value into the ns
64
- /******/ // mode & 4: return value when already ns object
65
- /******/ // mode & 8|1: behave like require
66
- /******/ __webpack_require__.t = function(value, mode) {
67
- /******/ if(mode & 1) value = __webpack_require__(value);
68
- /******/ if(mode & 8) return value;
69
- /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
70
- /******/ var ns = Object.create(null);
71
- /******/ __webpack_require__.r(ns);
72
- /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
73
- /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
74
- /******/ return ns;
75
- /******/ };
76
- /******/
77
- /******/ // getDefaultExport function for compatibility with non-harmony modules
78
- /******/ __webpack_require__.n = function(module) {
79
- /******/ var getter = module && module.__esModule ?
80
- /******/ function getDefault() { return module['default']; } :
81
- /******/ function getModuleExports() { return module; };
82
- /******/ __webpack_require__.d(getter, 'a', getter);
83
- /******/ return getter;
84
- /******/ };
85
- /******/
86
- /******/ // Object.prototype.hasOwnProperty.call
87
- /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
88
- /******/
89
- /******/ // __webpack_public_path__
90
- /******/ __webpack_require__.p = "";
91
- /******/
92
- /******/
93
- /******/ // Load entry module and return exports
94
- /******/ return __webpack_require__(__webpack_require__.s = "./src/utils/questions-set.js");
95
- /******/ })
96
- /************************************************************************/
97
- /******/ ({
98
-
99
- /***/ "./src/utils/questions-set.js":
100
- /*!************************************!*\
101
- !*** ./src/utils/questions-set.js ***!
102
- \************************************/
103
- /*! exports provided: CheckBoxQuestionType, ComboBoxQuestionType, CheckBoxListQuestionType, RadioButtonListQuestionType, AllowedMultipleValueQuestionType, AnswerValuesOperator_And, AnswerValuesOperator_Or, VisibilityCondition_Equal, VisibilityCondition_NotEqual, Visibility_Visible, MainQuestionClassType, default */
104
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
105
-
106
- "use strict";
107
- __webpack_require__.r(__webpack_exports__);
108
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CheckBoxQuestionType", function() { return CheckBoxQuestionType; });
109
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ComboBoxQuestionType", function() { return ComboBoxQuestionType; });
110
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CheckBoxListQuestionType", function() { return CheckBoxListQuestionType; });
111
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "RadioButtonListQuestionType", function() { return RadioButtonListQuestionType; });
112
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AllowedMultipleValueQuestionType", function() { return AllowedMultipleValueQuestionType; });
113
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AnswerValuesOperator_And", function() { return AnswerValuesOperator_And; });
114
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AnswerValuesOperator_Or", function() { return AnswerValuesOperator_Or; });
115
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "VisibilityCondition_Equal", function() { return VisibilityCondition_Equal; });
116
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "VisibilityCondition_NotEqual", function() { return VisibilityCondition_NotEqual; });
117
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Visibility_Visible", function() { return Visibility_Visible; });
118
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MainQuestionClassType", function() { return MainQuestionClassType; });
119
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return QuestionsSet; });
120
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
121
-
122
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
123
-
124
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
125
-
126
- const CheckBoxQuestionType = 'CheckBox';
127
- const ComboBoxQuestionType = 'ComboBox';
128
- const CheckBoxListQuestionType = 'CheckBoxList';
129
- const RadioButtonListQuestionType = 'RadioButtonList';
130
- const AllowedMultipleValueQuestionType = [ComboBoxQuestionType, CheckBoxListQuestionType, RadioButtonListQuestionType];
131
- const AnswerValuesOperator_And = 'And';
132
- const AnswerValuesOperator_Or = 'Or';
133
- const VisibilityCondition_Equal = 'Equal';
134
- const VisibilityCondition_NotEqual = 'NotEqual';
135
- const Visibility_Visible = 'Visible';
136
- const MainQuestionClassType = 'MainQuestion';
137
- class QuestionsSet {
138
- constructor(questions, answers = []) {
139
- _defineProperty(this, "_parseQuestion", q => {
140
- this.questionByName[q.name] = q;
141
- this.questionById[parseInt(q.id)] = q;
142
- if (q.hasOwnProperty('sub_question_rules')) for (let r of q.sub_question_rules) {
143
- this.rules[parseInt(r.id)] = r;
144
-
145
- this._parseQuestion(r.sub_question);
146
- }
147
- });
148
-
149
- _defineProperty(this, "_parseQuestions", () => {
150
- for (let q of this.questions) {
151
- this._parseQuestion(q);
152
- }
153
- });
154
-
155
- _defineProperty(this, "_allowsValues", q => {
156
- return AllowedMultipleValueQuestionType.includes(q.type);
157
- });
158
-
159
- _defineProperty(this, "_allowsValue", (q, answer) => {
160
- let value = answer.value.split(',').map(v => parseInt(v));
161
-
162
- for (let av of value) {
163
- if (!q.values.map(e => e.id).includes(av)) return false;
164
- }
165
-
166
- return true;
167
- });
168
-
169
- _defineProperty(this, "_getAnswerFor", q => {
170
- let id = Number.isInteger(q) ? q : q.id;
171
- let a = this.answers[id] || null;
172
- return a ? a : null;
173
- });
174
-
175
- _defineProperty(this, "_hasValue", answer => {
176
- return answer.value !== '';
177
- });
178
-
179
- _defineProperty(this, "_answerContains", (answer, val) => {
180
- return answer.value.split(',').includes(val);
181
- });
182
-
183
- _defineProperty(this, "_isSubQuestionVisible", rule => {
184
- let initialCondition = rule.answer_values_operator === AnswerValuesOperator_And ? true : false;
185
-
186
- const parentQuestionAnswer = this._getAnswerFor(rule.parent_question_id);
187
-
188
- if (!parentQuestionAnswer) {
189
- initialCondition = rule.visibility_condition === VisibilityCondition_Equal ? false : true;
190
- } else {
191
- switch (rule.visibility_condition) {
192
- case VisibilityCondition_Equal:
193
- {
194
- for (let answerValue of rule.answer_values) {
195
- if (rule.answer_values_operator === AnswerValuesOperator_And) initialCondition = initialCondition && this._answerContains(parentQuestionAnswer, answerValue);else initialCondition = initialCondition || this._answerContains(parentQuestionAnswer, answerValue);
196
- }
197
- }
198
- break;
199
-
200
- case VisibilityCondition_NotEqual:
201
- {
202
- for (let answerValue of rule.answer_values) {
203
- if (rule.answer_values_operator === AnswerValuesOperator_And) initialCondition = initialCondition && !this._answerContains(parentQuestionAnswer, answerValue);else initialCondition = initialCondition || !this._answerContains(parentQuestionAnswer, answerValue);
204
- }
205
- }
206
- break;
207
- }
208
- } // final visibility check
209
-
210
-
211
- if (rule.visibility === Visibility_Visible) {
212
- return initialCondition;
213
- } // not visible
214
-
215
-
216
- return !initialCondition;
217
- });
218
-
219
- _defineProperty(this, "_isAnswered", q => {
220
- const answer = this._getAnswerFor(q);
221
-
222
- if (q.class === MainQuestionClassType) {
223
- if (!q.mandatory) return true;
224
- if (!answer) return false;
225
- if (!this._hasValue(answer)) return false;
226
- if (this._allowsValues(q) && !this._allowsValue(q, answer)) return false;
227
- return true;
228
- } // check parent rules ...
229
-
230
-
231
- for (let ruleId of q.parent_rules) {
232
- if (!this._isSubQuestionVisible(this.rules[ruleId])) // if question is not visible skip it
233
- continue;
234
- if (!q.mandatory) return true;
235
- if (!answer) return false;
236
- if (!this._hasValue(answer)) return false;
237
- if (this._allowsValues(q) && !this._allowsValue(q, answer)) return false;
238
- return true;
239
- }
240
-
241
- return true;
242
- });
243
-
244
- _defineProperty(this, "_checkQuestion", q => {
245
- let res = this._isAnswered(q);
246
-
247
- if (q.hasOwnProperty('sub_question_rules')) for (let rule of q.sub_question_rules) {
248
- // check recursive all the tree till leaves ...
249
- res = res && this._checkQuestion(rule.sub_question);
250
- }
251
- return res;
252
- });
253
-
254
- _defineProperty(this, "_formatQuestionAnswer", question => {
255
- var _this$originalAnswers;
256
-
257
- let res = {};
258
- let userAnswer = (_this$originalAnswers = this.originalAnswers.find(a => a.question_id === question.id)) === null || _this$originalAnswers === void 0 ? void 0 : _this$originalAnswers.value;
259
-
260
- if (userAnswer) {
261
- if (question.type === CheckBoxQuestionType) userAnswer = userAnswer === 'false' ? false : !!userAnswer; //if (question.type === RadioButtonListQuestionType || question.type === ComboBoxQuestionType) userAnswer = userAnswer;
262
-
263
- if (question.type === CheckBoxListQuestionType) userAnswer = userAnswer.split(',').map(ansVal => ansVal) || [];
264
- }
265
-
266
- res[question.name] = userAnswer || '';
267
- if (question.hasOwnProperty('sub_question_rules')) for (let rule of question.sub_question_rules) {
268
- // check recursive all the tree till leaves ...
269
- let res1 = this._formatQuestionAnswer(rule.sub_question);
270
-
271
- res = _objectSpread(_objectSpread({}, res), res1);
272
- }
273
- return res;
274
- });
275
-
276
- _defineProperty(this, "formatAnswers", () => {
277
- let res = {};
278
- this.questions.forEach(q => {
279
- let res1 = this._formatQuestionAnswer(q);
280
-
281
- res = _objectSpread(_objectSpread({}, res), res1);
282
- });
283
- return res;
284
- });
285
-
286
- _defineProperty(this, "completed", () => {
287
- let res = true;
288
-
289
- for (let q of this.questions) {
290
- res = res && this._checkQuestion(q);
291
- }
292
-
293
- return res;
294
- });
295
-
296
- _defineProperty(this, "getQuestionByName", name => {
297
- return this.questionByName[name] || null;
298
- });
299
-
300
- _defineProperty(this, "getQuestionById", id => {
301
- return this.questionById[parseInt(id)] || null;
302
- });
303
-
304
- this.questions = questions;
305
- this.originalAnswers = answers;
306
- this.answers = []; // map answers to associate array
307
-
308
- for (let a of this.originalAnswers) this.answers[a.question_id] = a;
309
-
310
- this.questionByName = {};
311
- this.questionById = {}; // associative array ( rule id , rule);
312
-
313
- this.rules = {};
314
-
315
- this._parseQuestions();
316
- }
317
-
318
- }
319
-
320
- /***/ })
321
-
322
- /******/ });
323
- });
324
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9vcGVuc3RhY2stdWljb3JlLWZvdW5kYXRpb24vd2VicGFjay91bml2ZXJzYWxNb2R1bGVEZWZpbml0aW9uIiwid2VicGFjazovL29wZW5zdGFjay11aWNvcmUtZm91bmRhdGlvbi93ZWJwYWNrL2Jvb3RzdHJhcCIsIndlYnBhY2s6Ly9vcGVuc3RhY2stdWljb3JlLWZvdW5kYXRpb24vLi9zcmMvdXRpbHMvcXVlc3Rpb25zLXNldC5qcyJdLCJuYW1lcyI6WyJDaGVja0JveFF1ZXN0aW9uVHlwZSIsIkNvbWJvQm94UXVlc3Rpb25UeXBlIiwiQ2hlY2tCb3hMaXN0UXVlc3Rpb25UeXBlIiwiUmFkaW9CdXR0b25MaXN0UXVlc3Rpb25UeXBlIiwiQWxsb3dlZE11bHRpcGxlVmFsdWVRdWVzdGlvblR5cGUiLCJBbnN3ZXJWYWx1ZXNPcGVyYXRvcl9BbmQiLCJBbnN3ZXJWYWx1ZXNPcGVyYXRvcl9PciIsIlZpc2liaWxpdHlDb25kaXRpb25fRXF1YWwiLCJWaXNpYmlsaXR5Q29uZGl0aW9uX05vdEVxdWFsIiwiVmlzaWJpbGl0eV9WaXNpYmxlIiwiTWFpblF1ZXN0aW9uQ2xhc3NUeXBlIiwiUXVlc3Rpb25zU2V0IiwiY29uc3RydWN0b3IiLCJxdWVzdGlvbnMiLCJhbnN3ZXJzIiwicSIsInF1ZXN0aW9uQnlOYW1lIiwibmFtZSIsInF1ZXN0aW9uQnlJZCIsInBhcnNlSW50IiwiaWQiLCJoYXNPd25Qcm9wZXJ0eSIsInIiLCJzdWJfcXVlc3Rpb25fcnVsZXMiLCJydWxlcyIsIl9wYXJzZVF1ZXN0aW9uIiwic3ViX3F1ZXN0aW9uIiwiaW5jbHVkZXMiLCJ0eXBlIiwiYW5zd2VyIiwidmFsdWUiLCJzcGxpdCIsIm1hcCIsInYiLCJhdiIsInZhbHVlcyIsImUiLCJOdW1iZXIiLCJpc0ludGVnZXIiLCJhIiwidmFsIiwicnVsZSIsImluaXRpYWxDb25kaXRpb24iLCJhbnN3ZXJfdmFsdWVzX29wZXJhdG9yIiwicGFyZW50UXVlc3Rpb25BbnN3ZXIiLCJfZ2V0QW5zd2VyRm9yIiwicGFyZW50X3F1ZXN0aW9uX2lkIiwidmlzaWJpbGl0eV9jb25kaXRpb24iLCJhbnN3ZXJWYWx1ZSIsImFuc3dlcl92YWx1ZXMiLCJfYW5zd2VyQ29udGFpbnMiLCJ2aXNpYmlsaXR5IiwiY2xhc3MiLCJtYW5kYXRvcnkiLCJfaGFzVmFsdWUiLCJfYWxsb3dzVmFsdWVzIiwiX2FsbG93c1ZhbHVlIiwicnVsZUlkIiwicGFyZW50X3J1bGVzIiwiX2lzU3ViUXVlc3Rpb25WaXNpYmxlIiwicmVzIiwiX2lzQW5zd2VyZWQiLCJfY2hlY2tRdWVzdGlvbiIsInF1ZXN0aW9uIiwidXNlckFuc3dlciIsIm9yaWdpbmFsQW5zd2VycyIsImZpbmQiLCJxdWVzdGlvbl9pZCIsImFuc1ZhbCIsInJlczEiLCJfZm9ybWF0UXVlc3Rpb25BbnN3ZXIiLCJmb3JFYWNoIiwiX3BhcnNlUXVlc3Rpb25zIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0QsTztRQ1ZBO1FBQ0E7O1FBRUE7UUFDQTs7UUFFQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTs7UUFFQTtRQUNBOztRQUVBO1FBQ0E7O1FBRUE7UUFDQTtRQUNBOzs7UUFHQTtRQUNBOztRQUVBO1FBQ0E7O1FBRUE7UUFDQTtRQUNBO1FBQ0EsMENBQTBDLGdDQUFnQztRQUMxRTtRQUNBOztRQUVBO1FBQ0E7UUFDQTtRQUNBLHdEQUF3RCxrQkFBa0I7UUFDMUU7UUFDQSxpREFBaUQsY0FBYztRQUMvRDs7UUFFQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0EseUNBQXlDLGlDQUFpQztRQUMxRSxnSEFBZ0gsbUJBQW1CLEVBQUU7UUFDckk7UUFDQTs7UUFFQTtRQUNBO1FBQ0E7UUFDQSwyQkFBMkIsMEJBQTBCLEVBQUU7UUFDdkQsaUNBQWlDLGVBQWU7UUFDaEQ7UUFDQTtRQUNB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bEJHLEVBQUQsSUFBUTtNQUN0QixPQUFPLEtBQUtGLFlBQUwsQ0FBa0JDLFFBQVEsQ0FBQ0MsRUFBRCxDQUExQixLQUFtQyxJQUExQztJQUNILENBNUtvQzs7SUFDakMsS0FBS1AsU0FBTCxHQUFpQkEsU0FBakI7SUFDQSxLQUFLb0QsZUFBTCxHQUF1Qm5ELE9BQXZCO0lBQ0EsS0FBS0EsT0FBTCxHQUFlLEVBQWYsQ0FIaUMsQ0FJakM7O0lBQ0EsS0FBSyxJQUFJeUIsQ0FBVCxJQUFjLEtBQUswQixlQUFuQixFQUNJLEtBQUtuRCxPQUFMLENBQWF5QixDQUFDLENBQUM0QixXQUFmLElBQThCNUIsQ0FBOUI7O0lBQ0osS0FBS3ZCLGNBQUwsR0FBc0IsRUFBdEI7SUFDQSxLQUFLRSxZQUFMLEdBQW9CLEVBQXBCLENBUmlDLENBU2pDOztJQUNBLEtBQUtNLEtBQUwsR0FBYSxFQUFiOztJQUNBLEtBQUtnRCxlQUFMO0VBQ0g7O0FBZDZCLEMiLCJmaWxlIjoidXRpbHMvcXVlc3Rpb25zLXNldC5qcyIsInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbiB3ZWJwYWNrVW5pdmVyc2FsTW9kdWxlRGVmaW5pdGlvbihyb290LCBmYWN0b3J5KSB7XG5cdGlmKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgbW9kdWxlID09PSAnb2JqZWN0Jylcblx0XHRtb2R1bGUuZXhwb3J0cyA9IGZhY3RvcnkoKTtcblx0ZWxzZSBpZih0eXBlb2YgZGVmaW5lID09PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQpXG5cdFx0ZGVmaW5lKFwib3BlbnN0YWNrLXVpY29yZS1mb3VuZGF0aW9uXCIsIFtdLCBmYWN0b3J5KTtcblx0ZWxzZSBpZih0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcpXG5cdFx0ZXhwb3J0c1tcIm9wZW5zdGFjay11aWNvcmUtZm91bmRhdGlvblwiXSA9IGZhY3RvcnkoKTtcblx0ZWxzZVxuXHRcdHJvb3RbXCJvcGVuc3RhY2stdWljb3JlLWZvdW5kYXRpb25cIl0gPSBmYWN0b3J5KCk7XG59KSh0aGlzLCBmdW5jdGlvbigpIHtcbnJldHVybiAiLCIgXHQvLyBUaGUgbW9kdWxlIGNhY2hlXG4gXHR2YXIgaW5zdGFsbGVkTW9kdWxlcyA9IHt9O1xuXG4gXHQvLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuIFx0ZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXG4gXHRcdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuIFx0XHRpZihpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSkge1xuIFx0XHRcdHJldHVybiBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXS5leHBvcnRzO1xuIFx0XHR9XG4gXHRcdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG4gXHRcdHZhciBtb2R1bGUgPSBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSA9IHtcbiBcdFx0XHRpOiBtb2R1bGVJZCxcbiBcdFx0XHRsOiBmYWxzZSxcbiBcdFx0XHRleHBvcnRzOiB7fVxuIFx0XHR9O1xuXG4gXHRcdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuIFx0XHRtb2R1bGVzW21vZHVsZUlkXS5jYWxsKG1vZHVsZS5leHBvcnRzLCBtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblxuIFx0XHQvLyBGbGFnIHRoZSBtb2R1bGUgYXMgbG9hZGVkXG4gXHRcdG1vZHVsZS5sID0gdHJ1ZTtcblxuIFx0XHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuIFx0XHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG4gXHR9XG5cblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGVzIG9iamVjdCAoX193ZWJwYWNrX21vZHVsZXNfXylcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubSA9IG1vZHVsZXM7XG5cbiBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlIGNhY2hlXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmMgPSBpbnN0YWxsZWRNb2R1bGVzO1xuXG4gXHQvLyBkZWZpbmUgZ2V0dGVyIGZ1bmN0aW9uIGZvciBoYXJtb255IGV4cG9ydHNcbiBcdF9fd2VicGFja19yZXF1aXJlX18uZCA9IGZ1bmN0aW9uKGV4cG9ydHMsIG5hbWUsIGdldHRlcikge1xuIFx0XHRpZighX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIG5hbWUpKSB7XG4gXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIG5hbWUsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBnZXR0ZXIgfSk7XG4gXHRcdH1cbiBcdH07XG5cbiBcdC8vIGRlZmluZSBfX2VzTW9kdWxlIG9uIGV4cG9ydHNcbiBcdF9fd2VicGFja19yZXF1aXJlX18uciA9IGZ1bmN0aW9uKGV4cG9ydHMpIHtcbiBcdFx0aWYodHlwZW9mIFN5bWJvbCAhPT0gJ3VuZGVmaW5lZCcgJiYgU3ltYm9sLnRvU3RyaW5nVGFnKSB7XG4gXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFN5bWJvbC50b1N0cmluZ1RhZywgeyB2YWx1ZTogJ01vZHVsZScgfSk7XG4gXHRcdH1cbiBcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiBcdH07XG5cbiBcdC8vIGNyZWF0ZSBhIGZha2UgbmFtZXNwYWNlIG9iamVjdFxuIFx0Ly8gbW9kZSAmIDE6IHZhbHVlIGlzIGEgbW9kdWxlIGlkLCByZXF1aXJlIGl0XG4gXHQvLyBtb2RlICYgMjogbWVyZ2UgYWxsIHByb3BlcnRpZXMgb2YgdmFsdWUgaW50byB0aGUgbnNcbiBcdC8vIG1vZGUgJiA0OiByZXR1cm4gdmFsdWUgd2hlbiBhbHJlYWR5IG5zIG9iamVjdFxuIFx0Ly8gbW9kZSAmIDh8MTogYmVoYXZlIGxpa2UgcmVxdWlyZVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy50ID0gZnVuY3Rpb24odmFsdWUsIG1vZGUpIHtcbiBcdFx0aWYobW9kZSAmIDEpIHZhbHVlID0gX193ZWJwYWNrX3JlcXVpcmVfXyh2YWx1ZSk7XG4gXHRcdGlmKG1vZGUgJiA4KSByZXR1cm4gdmFsdWU7XG4gXHRcdGlmKChtb2RlICYgNCkgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAmJiB2YWx1ZS5fX2VzTW9kdWxlKSByZXR1cm4gdmFsdWU7XG4gXHRcdHZhciBucyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gXHRcdF9fd2VicGFja19yZXF1aXJlX18ucihucyk7XG4gXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShucywgJ2RlZmF1bHQnLCB7IGVudW1lcmFibGU6IHRydWUsIHZhbHVlOiB2YWx1ZSB9KTtcbiBcdFx0aWYobW9kZSAmIDIgJiYgdHlwZW9mIHZhbHVlICE9ICdzdHJpbmcnKSBmb3IodmFyIGtleSBpbiB2YWx1ZSkgX193ZWJwYWNrX3JlcXVpcmVfXy5kKG5zLCBrZXksIGZ1bmN0aW9uKGtleSkgeyByZXR1cm4gdmFsdWVba2V5XTsgfS5iaW5kKG51bGwsIGtleSkpO1xuIFx0XHRyZXR1cm4gbnM7XG4gXHR9O1xuXG4gXHQvLyBnZXREZWZhdWx0RXhwb3J0IGZ1bmN0aW9uIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbm9uLWhhcm1vbnkgbW9kdWxlc1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5uID0gZnVuY3Rpb24obW9kdWxlKSB7XG4gXHRcdHZhciBnZXR0ZXIgPSBtb2R1bGUgJiYgbW9kdWxlLl9fZXNNb2R1bGUgP1xuIFx0XHRcdGZ1bmN0aW9uIGdldERlZmF1bHQoKSB7IHJldHVybiBtb2R1bGVbJ2RlZmF1bHQnXTsgfSA6XG4gXHRcdFx0ZnVuY3Rpb24gZ2V0TW9kdWxlRXhwb3J0cygpIHsgcmV0dXJuIG1vZHVsZTsgfTtcbiBcdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5kKGdldHRlciwgJ2EnLCBnZXR0ZXIpO1xuIFx0XHRyZXR1cm4gZ2V0dGVyO1xuIFx0fTtcblxuIFx0Ly8gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm8gPSBmdW5jdGlvbihvYmplY3QsIHByb3BlcnR5KSB7IHJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBwcm9wZXJ0eSk7IH07XG5cbiBcdC8vIF9fd2VicGFja19wdWJsaWNfcGF0aF9fXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnAgPSBcIlwiO1xuXG5cbiBcdC8vIExvYWQgZW50cnkgbW9kdWxlIGFuZCByZXR1cm4gZXhwb3J0c1xuIFx0cmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18oX193ZWJwYWNrX3JlcXVpcmVfXy5zID0gXCIuL3NyYy91dGlscy9xdWVzdGlvbnMtc2V0LmpzXCIpO1xuIiwiZXhwb3J0IGNvbnN0IENoZWNrQm94UXVlc3Rpb25UeXBlID0gJ0NoZWNrQm94JztcbmV4cG9ydCBjb25zdCBDb21ib0JveFF1ZXN0aW9uVHlwZSA9ICdDb21ib0JveCdcbmV4cG9ydCBjb25zdCBDaGVja0JveExpc3RRdWVzdGlvblR5cGUgPSAnQ2hlY2tCb3hMaXN0JztcbmV4cG9ydCBjb25zdCBSYWRpb0J1dHRvbkxpc3RRdWVzdGlvblR5cGUgPSAnUmFkaW9CdXR0b25MaXN0JztcbmV4cG9ydCBjb25zdCBBbGxvd2VkTXVsdGlwbGVWYWx1ZVF1ZXN0aW9uVHlwZSA9IFtDb21ib0JveFF1ZXN0aW9uVHlwZSwgQ2hlY2tCb3hMaXN0UXVlc3Rpb25UeXBlLCBSYWRpb0J1dHRvbkxpc3RRdWVzdGlvblR5cGVdO1xuZXhwb3J0IGNvbnN0IEFuc3dlclZhbHVlc09wZXJhdG9yX0FuZCA9ICdBbmQnO1xuZXhwb3J0IGNvbnN0IEFuc3dlclZhbHVlc09wZXJhdG9yX09yID0gJ09yJztcbmV4cG9ydCBjb25zdCBWaXNpYmlsaXR5Q29uZGl0aW9uX0VxdWFsID0gJ0VxdWFsJztcbmV4cG9ydCBjb25zdCBWaXNpYmlsaXR5Q29uZGl0aW9uX05vdEVxdWFsID0gJ05vdEVxdWFsJztcbmV4cG9ydCBjb25zdCBWaXNpYmlsaXR5X1Zpc2libGUgPSAnVmlzaWJsZSc7XG5leHBvcnQgY29uc3QgTWFpblF1ZXN0aW9uQ2xhc3NUeXBlID0gJ01haW5RdWVzdGlvbic7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFF1ZXN0aW9uc1NldCB7XG5cbiAgICBjb25zdHJ1Y3RvcihxdWVzdGlvbnMsIGFuc3dlcnMgPSBbXSkge1xuICAgICAgICB0aGlzLnF1ZXN0aW9ucyA9IHF1ZXN0aW9ucztcbiAgICAgICAgdGhpcy5vcmlnaW5hbEFuc3dlcnMgPSBhbnN3ZXJzXG4gICAgICAgIHRoaXMuYW5zd2VycyA9IFtdO1xuICAgICAgICAvLyBtYXAgYW5zd2VycyB0byBhc3NvY2lhdGUgYXJyYXlcbiAgICAgICAgZm9yIChsZXQgYSBvZiB0aGlzLm9yaWdpbmFsQW5zd2VycylcbiAgICAgICAgICAgIHRoaXMuYW5zd2Vyc1thLnF1ZXN0aW9uX2lkXSA9IGE7XG4gICAgICAgIHRoaXMucXVlc3Rpb25CeU5hbWUgPSB7fVxuICAgICAgICB0aGlzLnF1ZXN0aW9uQnlJZCA9IHt9XG4gICAgICAgIC8vIGFzc29jaWF0aXZlIGFycmF5ICggcnVsZSBpZCAsIHJ1bGUpO1xuICAgICAgICB0aGlzLnJ1bGVzID0ge307XG4gICAgICAgIHRoaXMuX3BhcnNlUXVlc3Rpb25zKCk7XG4gICAgfVxuXG4gICAgX3BhcnNlUXVlc3Rpb24gPSAocSkgPT4ge1xuICAgICAgICB0aGlzLnF1ZXN0aW9uQnlOYW1lW3EubmFtZV0gPSBxO1xuICAgICAgICB0aGlzLnF1ZXN0aW9uQnlJZFtwYXJzZUludChxLmlkKV0gPSBxO1xuICAgICAgICBpZihxLmhhc093blByb3BlcnR5KCdzdWJfcXVlc3Rpb25fcnVsZXMnKSlcbiAgICAgICAgICAgIGZvciAobGV0IHIgb2YgcS5zdWJfcXVlc3Rpb25fcnVsZXMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJ1bGVzW3BhcnNlSW50KHIuaWQpXSA9IHI7XG4gICAgICAgICAgICAgICAgdGhpcy5fcGFyc2VRdWVzdGlvbihyLnN1Yl9xdWVzdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgfVxuXG4gICAgX3BhcnNlUXVlc3Rpb25zID0gKCkgPT4ge1xuICAgICAgICBmb3IgKGxldCBxIG9mIHRoaXMucXVlc3Rpb25zKSB7XG4gICAgICAgICAgICB0aGlzLl9wYXJzZVF1ZXN0aW9uKHEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgX2FsbG93c1ZhbHVlcyA9IChxKSA9PiB7XG4gICAgICAgIHJldHVybiBBbGxvd2VkTXVsdGlwbGVWYWx1ZVF1ZXN0aW9uVHlwZS5pbmNsdWRlcyhxLnR5cGUpO1xuICAgIH1cblxuICAgIF9hbGxvd3NWYWx1ZSA9IChxLCBhbnN3ZXIpID0+IHtcbiAgICAgICAgbGV0IHZhbHVlID0gYW5zd2VyLnZhbHVlLnNwbGl0KCcsJykubWFwKHYgPT4gcGFyc2VJbnQodikpO1xuICAgICAgICBmb3IgKGxldCBhdiBvZiB2YWx1ZSkge1xuICAgICAgICAgICAgaWYgKCFxLnZhbHVlcy5tYXAoZSA9PiBlLmlkKS5pbmNsdWRlcyhhdikpXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIF9nZXRBbnN3ZXJGb3IgPSAocSkgPT4ge1xuICAgICAgICBsZXQgaWQgPSBOdW1iZXIuaXNJbnRlZ2VyKHEpID8gcSA6IHEuaWQ7XG4gICAgICAgIGxldCBhID0gdGhpcy5hbnN3ZXJzW2lkXSB8fCBudWxsO1xuICAgICAgICByZXR1cm4gYSA/IGEgOiBudWxsO1xuICAgIH1cblxuICAgIF9oYXNWYWx1ZSA9IChhbnN3ZXIpID0+IHtcbiAgICAgICAgcmV0dXJuIGFuc3dlci52YWx1ZSAhPT0gJyc7XG4gICAgfVxuXG4gICAgX2Fuc3dlckNvbnRhaW5zID0gKGFuc3dlciwgdmFsKSA9PiB7XG4gICAgICAgIHJldHVybiBhbnN3ZXIudmFsdWUuc3BsaXQoJywnKS5pbmNsdWRlcyh2YWwpO1xuICAgIH1cblxuICAgIF9pc1N1YlF1ZXN0aW9uVmlzaWJsZSA9IChydWxlKSA9PiB7XG4gICAgICAgIGxldCBpbml0aWFsQ29uZGl0aW9uID0gcnVsZS5hbnN3ZXJfdmFsdWVzX29wZXJhdG9yID09PSBBbnN3ZXJWYWx1ZXNPcGVyYXRvcl9BbmQgPyB0cnVlIDogZmFsc2U7XG4gICAgICAgIGNvbnN0IHBhcmVudFF1ZXN0aW9uQW5zd2VyID0gdGhpcy5fZ2V0QW5zd2VyRm9yKHJ1bGUucGFyZW50X3F1ZXN0aW9uX2lkKTtcbiAgICAgICAgaWYgKCFwYXJlbnRRdWVzdGlvbkFuc3dlcikge1xuICAgICAgICAgICAgaW5pdGlhbENvbmRpdGlvbiA9IHJ1bGUudmlzaWJpbGl0eV9jb25kaXRpb24gPT09IFZpc2liaWxpdHlDb25kaXRpb25fRXF1YWwgPyBmYWxzZSA6IHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzd2l0Y2ggKHJ1bGUudmlzaWJpbGl0eV9jb25kaXRpb24pIHtcbiAgICAgICAgICAgICAgICBjYXNlIFZpc2liaWxpdHlDb25kaXRpb25fRXF1YWw6IHtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgYW5zd2VyVmFsdWUgb2YgcnVsZS5hbnN3ZXJfdmFsdWVzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAocnVsZS5hbnN3ZXJfdmFsdWVzX29wZXJhdG9yID09PSBBbnN3ZXJWYWx1ZXNPcGVyYXRvcl9BbmQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdGlhbENvbmRpdGlvbiA9IGluaXRpYWxDb25kaXRpb24gJiYgdGhpcy5fYW5zd2VyQ29udGFpbnMocGFyZW50UXVlc3Rpb25BbnN3ZXIsIGFuc3dlclZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsQ29uZGl0aW9uID0gaW5pdGlhbENvbmRpdGlvbiB8fCB0aGlzLl9hbnN3ZXJDb250YWlucyhwYXJlbnRRdWVzdGlvbkFuc3dlciwgYW5zd2VyVmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIFZpc2liaWxpdHlDb25kaXRpb25fTm90RXF1YWw6IHtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgYW5zd2VyVmFsdWUgb2YgcnVsZS5hbnN3ZXJfdmFsdWVzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAocnVsZS5hbnN3ZXJfdmFsdWVzX29wZXJhdG9yID09PSBBbnN3ZXJWYWx1ZXNPcGVyYXRvcl9BbmQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdGlhbENvbmRpdGlvbiA9IGluaXRpYWxDb25kaXRpb24gJiYgIXRoaXMuX2Fuc3dlckNvbnRhaW5zKHBhcmVudFF1ZXN0aW9uQW5zd2VyLCBhbnN3ZXJWYWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdGlhbENvbmRpdGlvbiA9IGluaXRpYWxDb25kaXRpb24gfHwgIXRoaXMuX2Fuc3dlckNvbnRhaW5zKHBhcmVudFF1ZXN0aW9uQW5zd2VyLCBhbnN3ZXJWYWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIGZpbmFsIHZpc2liaWxpdHkgY2hlY2tcbiAgICAgICAgaWYgKHJ1bGUudmlzaWJpbGl0eSA9PT0gVmlzaWJpbGl0eV9WaXNpYmxlKSB7XG4gICAgICAgICAgICByZXR1cm4gaW5pdGlhbENvbmRpdGlvbjtcbiAgICAgICAgfVxuICAgICAgICAvLyBub3QgdmlzaWJsZVxuICAgICAgICByZXR1cm4gIWluaXRpYWxDb25kaXRpb247XG4gICAgfVxuXG4gICAgX2lzQW5zd2VyZWQgPSAocSkgPT4ge1xuICAgICAgICBjb25zdCBhbnN3ZXIgPSB0aGlzLl9nZXRBbnN3ZXJGb3IocSk7XG5cbiAgICAgICAgaWYgKHEuY2xhc3MgPT09IE1haW5RdWVzdGlvbkNsYXNzVHlwZSkge1xuICAgICAgICAgICAgaWYgKCFxLm1hbmRhdG9yeSkgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICBpZiAoIWFuc3dlcikgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgaWYgKCF0aGlzLl9oYXNWYWx1ZShhbnN3ZXIpKSByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICBpZiAodGhpcy5fYWxsb3dzVmFsdWVzKHEpICYmICF0aGlzLl9hbGxvd3NWYWx1ZShxLCBhbnN3ZXIpKVxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gY2hlY2sgcGFyZW50IHJ1bGVzIC4uLlxuICAgICAgICBmb3IgKGxldCBydWxlSWQgb2YgcS5wYXJlbnRfcnVsZXMpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5faXNTdWJRdWVzdGlvblZpc2libGUodGhpcy5ydWxlc1tydWxlSWRdKSkgLy8gaWYgcXVlc3Rpb24gaXMgbm90IHZpc2libGUgc2tpcCBpdFxuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgaWYgKCFxLm1hbmRhdG9yeSkgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICBpZiAoIWFuc3dlcikgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgaWYgKCF0aGlzLl9oYXNWYWx1ZShhbnN3ZXIpKSByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICBpZiAodGhpcy5fYWxsb3dzVmFsdWVzKHEpICYmICF0aGlzLl9hbGxvd3NWYWx1ZShxLCBhbnN3ZXIpKVxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgX2NoZWNrUXVlc3Rpb24gPSAocSkgPT4ge1xuICAgICAgICBsZXQgcmVzID0gdGhpcy5faXNBbnN3ZXJlZChxKTtcbiAgICAgICAgaWYocS5oYXNPd25Qcm9wZXJ0eSgnc3ViX3F1ZXN0aW9uX3J1bGVzJykpXG4gICAgICAgICAgICBmb3IgKGxldCBydWxlIG9mIHEuc3ViX3F1ZXN0aW9uX3J1bGVzKSB7XG4gICAgICAgICAgICAgICAgLy8gY2hlY2sgcmVjdXJzaXZlIGFsbCB0aGUgdHJlZSB0aWxsIGxlYXZlcyAuLi5cbiAgICAgICAgICAgICAgICByZXMgPSByZXMgJiYgdGhpcy5fY2hlY2tRdWVzdGlvbihydWxlLnN1Yl9xdWVzdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXM7XG4gICAgfVxuXG4gICAgX2Zvcm1hdFF1ZXN0aW9uQW5zd2VyID0gKHF1ZXN0aW9uKSA9PiB7XG4gICAgICAgIGxldCByZXMgPSB7fTtcbiAgICAgICAgbGV0IHVzZXJBbnN3ZXIgPSB0aGlzLm9yaWdpbmFsQW5zd2Vycy5maW5kKGEgPT4gYS5xdWVzdGlvbl9pZCA9PT0gcXVlc3Rpb24uaWQpPy52YWx1ZTtcblxuICAgICAgICBpZih1c2VyQW5zd2VyKSB7XG4gICAgICAgICAgICBpZiAocXVlc3Rpb24udHlwZSA9PT0gQ2hlY2tCb3hRdWVzdGlvblR5cGUpIHVzZXJBbnN3ZXIgPSB1c2VyQW5zd2VyID09PSAnZmFsc2UnID8gZmFsc2UgOiAhIXVzZXJBbnN3ZXI7XG4gICAgICAgICAgICAvL2lmIChxdWVzdGlvbi50eXBlID09PSBSYWRpb0J1dHRvbkxpc3RRdWVzdGlvblR5cGUgfHwgcXVlc3Rpb24udHlwZSA9PT0gQ29tYm9Cb3hRdWVzdGlvblR5cGUpIHVzZXJBbnN3ZXIgPSB1c2VyQW5zd2VyO1xuICAgICAgICAgICAgaWYgKHF1ZXN0aW9uLnR5cGUgPT09IENoZWNrQm94TGlzdFF1ZXN0aW9uVHlwZSkgdXNlckFuc3dlciA9IHVzZXJBbnN3ZXIuc3BsaXQoJywnKS5tYXAoYW5zVmFsID0+IGFuc1ZhbCkgfHwgW107XG4gICAgICAgIH1cblxuICAgICAgICByZXNbcXVlc3Rpb24ubmFtZV0gPSAgdXNlckFuc3dlciB8fCAnJztcbiAgICAgICAgaWYocXVlc3Rpb24uaGFzT3duUHJvcGVydHkoJ3N1Yl9xdWVzdGlvbl9ydWxlcycpKVxuICAgICAgICAgICAgZm9yIChsZXQgcnVsZSBvZiBxdWVzdGlvbi5zdWJfcXVlc3Rpb25fcnVsZXMpIHtcbiAgICAgICAgICAgICAgICAvLyBjaGVjayByZWN1cnNpdmUgYWxsIHRoZSB0cmVlIHRpbGwgbGVhdmVzIC4uLlxuICAgICAgICAgICAgICAgIGxldCByZXMxID0gdGhpcy5fZm9ybWF0UXVlc3Rpb25BbnN3ZXIocnVsZS5zdWJfcXVlc3Rpb24pO1xuICAgICAgICAgICAgICAgIHJlcyA9IHsuLi5yZXMsIC4uLnJlczF9O1xuICAgICAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzO1xuICAgIH1cblxuICAgIGZvcm1hdEFuc3dlcnMgPSAoKSA9PiB7XG4gICAgICAgIGxldCByZXMgPSB7fVxuICAgICAgICB0aGlzLnF1ZXN0aW9ucy5mb3JFYWNoKHEgPT4ge1xuICAgICAgICAgICAgbGV0IHJlczEgPSB0aGlzLl9mb3JtYXRRdWVzdGlvbkFuc3dlcihxKTtcbiAgICAgICAgICAgIHJlcyA9IHsuLi5yZXMsLi4ucmVzMX07XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcmVzO1xuICAgIH1cblxuICAgIGNvbXBsZXRlZCA9ICgpID0+IHtcbiAgICAgICAgbGV0IHJlcyA9IHRydWU7XG4gICAgICAgIGZvciAobGV0IHEgb2YgdGhpcy5xdWVzdGlvbnMpIHtcbiAgICAgICAgICAgIHJlcyA9IHJlcyAmJiB0aGlzLl9jaGVja1F1ZXN0aW9uKHEpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXM7XG4gICAgfVxuXG4gICAgZ2V0UXVlc3Rpb25CeU5hbWUgPSAobmFtZSkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5xdWVzdGlvbkJ5TmFtZVtuYW1lXSB8fCBudWxsO1xuICAgIH1cblxuICAgIGdldFF1ZXN0aW9uQnlJZCA9IChpZCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5xdWVzdGlvbkJ5SWRbcGFyc2VJbnQoaWQpXSB8fCBudWxsO1xuICAgIH1cbn0iXSwic291cmNlUm9vdCI6IiJ9
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("openstack-uicore-foundation",[],t):"object"==typeof exports?exports["openstack-uicore-foundation"]=t():e["openstack-uicore-foundation"]=t()}(this,(function(){return function(e){var t={};function n(s){if(t[s])return t[s].exports;var i=t[s]={i:s,l:!1,exports:{}};return e[s].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,s){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:s})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var s=Object.create(null);if(n.r(s),Object.defineProperty(s,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(s,i,function(t){return e[t]}.bind(null,i));return s},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=26)}({26:function(e,t,n){"use strict";function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,s)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?s(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):s(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}n.r(t),n.d(t,"CheckBoxQuestionType",(function(){return o})),n.d(t,"ComboBoxQuestionType",(function(){return u})),n.d(t,"CheckBoxListQuestionType",(function(){return a})),n.d(t,"RadioButtonListQuestionType",(function(){return l})),n.d(t,"AllowedMultipleValueQuestionType",(function(){return f})),n.d(t,"AnswerValuesOperator_And",(function(){return c})),n.d(t,"AnswerValuesOperator_Or",(function(){return p})),n.d(t,"VisibilityCondition_Equal",(function(){return h})),n.d(t,"VisibilityCondition_NotEqual",(function(){return d})),n.d(t,"Visibility_Visible",(function(){return _})),n.d(t,"MainQuestionClassType",(function(){return b})),n.d(t,"default",(function(){return y}));const o="CheckBox",u="ComboBox",a="CheckBoxList",l="RadioButtonList",f=[u,a,l],c="And",p="Or",h="Equal",d="NotEqual",_="Visible",b="MainQuestion";class y{constructor(e,t=[]){r(this,"_parseQuestion",e=>{if(this.questionByName[e.name]=e,this.questionById[parseInt(e.id)]=e,e.hasOwnProperty("sub_question_rules"))for(let t of e.sub_question_rules)this.rules[parseInt(t.id)]=t,this._parseQuestion(t.sub_question)}),r(this,"_parseQuestions",()=>{for(let e of this.questions)this._parseQuestion(e)}),r(this,"_allowsValues",e=>f.includes(e.type)),r(this,"_allowsValue",(e,t)=>{let n=t.value.split(",").map(e=>parseInt(e));for(let t of n)if(!e.values.map(e=>e.id).includes(t))return!1;return!0}),r(this,"_getAnswerFor",e=>{let t=Number.isInteger(e)?e:e.id,n=this.answers[t]||null;return n||null}),r(this,"_hasValue",e=>""!==e.value),r(this,"_answerContains",(e,t)=>e.value.split(",").includes(t)),r(this,"_isSubQuestionVisible",e=>{let t=e.answer_values_operator===c;const n=this._getAnswerFor(e.parent_question_id);if(n)switch(e.visibility_condition){case h:for(let s of e.answer_values)t=e.answer_values_operator===c?t&&this._answerContains(n,s):t||this._answerContains(n,s);break;case d:for(let s of e.answer_values)t=e.answer_values_operator===c?t&&!this._answerContains(n,s):t||!this._answerContains(n,s)}else t=e.visibility_condition!==h;return e.visibility===_?t:!t}),r(this,"_isAnswered",e=>{const t=this._getAnswerFor(e);if(e.class===b)return!e.mandatory||!!t&&(!!this._hasValue(t)&&!(this._allowsValues(e)&&!this._allowsValue(e,t)));for(let n of e.parent_rules)if(this._isSubQuestionVisible(this.rules[n]))return!e.mandatory||!!t&&(!!this._hasValue(t)&&!(this._allowsValues(e)&&!this._allowsValue(e,t)));return!0}),r(this,"_checkQuestion",e=>{let t=this._isAnswered(e);if(e.hasOwnProperty("sub_question_rules"))for(let n of e.sub_question_rules)t=t&&this._checkQuestion(n.sub_question);return t}),r(this,"_formatQuestionAnswer",e=>{var t;let n={},s=null===(t=this.originalAnswers.find(t=>t.question_id===e.id))||void 0===t?void 0:t.value;if(s&&(e.type===o&&(s="false"!==s&&!!s),e.type!==l&&e.type!==u||(s=parseInt(s)),e.type===a&&(s=s.split(",").map(e=>parseInt(e))||[])),n[e.name]=s||"",e.type===a&&""===n[e.name]&&(n[e.name]=[]),e.hasOwnProperty("sub_question_rules"))for(let t of e.sub_question_rules){let e=this._formatQuestionAnswer(t.sub_question);n=i(i({},n),e)}return n}),r(this,"formatAnswers",()=>{let e={};return this.questions.forEach(t=>{let n=this._formatQuestionAnswer(t);e=i(i({},e),n)}),e}),r(this,"completed",()=>{let e=!0;for(let t of this.questions)e=e&&this._checkQuestion(t);return e}),r(this,"getQuestionByName",e=>this.questionByName[e]||null),r(this,"getQuestionById",e=>this.questionById[parseInt(e)]||null),this.questions=e,this.originalAnswers=t,this.answers=[];for(let e of this.originalAnswers)this.answers[e.question_id]=e;this.questionByName={},this.questionById={},this.rules={},this._parseQuestions()}}}})}));
package/lib.zip ADDED
Binary file
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "openstack-uicore-foundation",
3
- "version": "3.0.84",
3
+ "version": "3.0.87",
4
4
  "description": "ui reactjs components for openstack marketing site",
5
5
  "main": "lib/openstack-uicore-foundation.js",
6
6
  "scripts": {
7
- "clean": "find . -name \"node_modules\" -type d -prune -exec rm -rf '{}' + && yarn install",
7
+ "clean": "rm -R node_modules & rm -R lib & yarn install",
8
8
  "build-dev": "./node_modules/.bin/webpack --config webpack.dev.js",
9
9
  "build": "./node_modules/.bin/webpack --config webpack.prod.js",
10
10
  "test": "NODE_ENV=test jest"
@@ -16,17 +16,22 @@
16
16
  "@babel/plugin-proposal-class-properties": "^7.10.1",
17
17
  "@babel/plugin-proposal-object-rest-spread": "^7.7.7",
18
18
  "@babel/plugin-proposal-optional-chaining": "^7.14.5",
19
- "@babel/preset-env": "^7.7.7",
19
+ "@babel/preset-env": "^7.18.0",
20
20
  "@babel/preset-flow": "^7.7.4",
21
- "@babel/preset-react": "^7.7.4",
21
+ "@babel/preset-react": "^7.17.12",
22
22
  "awesome-bootstrap-checkbox": "^1.0.1",
23
23
  "babel-cli": "^6.26.0",
24
+ "babel-jest": "^28.1.0",
24
25
  "babel-loader": "^8.0.6",
25
26
  "browser-tabs-lock": "1.2.9",
27
+ "cheerio": "=1.0.0-rc.3",
26
28
  "css-loader": "^3.4.1",
27
29
  "dropzone": "^5.7.2",
30
+ "enzyme": "^3.11.0",
31
+ "enzyme-adapter-react-16": "^1.15.6",
28
32
  "extend": "^3.0.1",
29
33
  "file-loader": "^4.3.0",
34
+ "final-form": "^4.20.7",
30
35
  "font-awesome": "^4.7.0",
31
36
  "history": "^4.7.2",
32
37
  "i18n-react": "^0.6.4",
@@ -34,8 +39,11 @@
34
39
  "immutability-helper": "^2.7.1",
35
40
  "jest": "^28.1.0",
36
41
  "jest-babel": "^1.0.1",
42
+ "jest-environment-jsdom": "^28.1.0",
37
43
  "js-yaml": ">=3.13.1",
38
44
  "js-yaml-loader": "^1.2.2",
45
+ "jsdom": "^19.0.0",
46
+ "jsdom-global": "^3.0.2",
39
47
  "less": "^3.9.0",
40
48
  "less-loader": "^4.1.0",
41
49
  "lodash": "^4.17.14",
@@ -59,6 +67,7 @@
59
67
  "react-rte": "^0.16.3",
60
68
  "react-select": "^2.4.3",
61
69
  "react-star-ratings": "^2.3.0",
70
+ "react-test-renderer": "^18.1.0",
62
71
  "react-tooltip": "^3.11.2",
63
72
  "redux": "^3.7.2",
64
73
  "redux-persist": "^5.10.0",
@@ -77,11 +86,15 @@
77
86
  "webpack-merge": "^4.2.1",
78
87
  "webpack-node-externals": "^1.7.2"
79
88
  },
89
+ "resolutions": {
90
+ "cheerio": "1.0.0-rc.10"
91
+ },
80
92
  "peerDependencies": {
81
93
  "awesome-bootstrap-checkbox": "^1.0.1",
82
94
  "browser-tabs-lock": "1.2.9",
83
95
  "dropzone": "^5.7.2",
84
96
  "extend": "^3.0.1",
97
+ "final-form": "^4.20.7",
85
98
  "font-awesome": "^4.7.0",
86
99
  "history": "^4.7.2",
87
100
  "i18n-react": "^0.6.4",
@@ -1 +0,0 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("openstack-uicore-foundation",[],t):"object"==typeof exports?exports["openstack-uicore-foundation"]=t():e["openstack-uicore-foundation"]=t()}(this,(()=>(()=>{"use strict";var e={6689:e=>{e.exports=require("react")}},t={};function o(r){var n=t[r];if(void 0!==n)return n.exports;var a=t[r]={exports:{}};return e[r](a,a.exports,o),a.exports}(()=>{o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t}})(),(()=>{o.d=(e,t)=>{for(var r in t)o.o(t,r)&&!o.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}})(),(()=>{o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})();var r={};return(()=>{o.r(r),o.d(r,{default:()=>n});var e=o(6689),t=o.n(e);const n=({show:e,relative:o,color:r,size:n,children:a})=>{let i={display:e?"block":"none",width:"100%",height:"100%",position:o?"absolute":"fixed",zIndex:1e7,margin:"auto",cursor:"wait",backgroundColor:"rgba(0,0,0,0.2)",top:0,left:0},l={fontSize:n+"px",color:"black"},c={width:"250px",height:"75px",textAlign:"center",position:o?"relative":"fixed",top:o?"50%":"0",left:o?"":"0",right:"0",bottom:"0",margin:"auto",zIndex:10,color:"#ffffff"},d={background:r,opacity:"0.8",width:"100%",height:"100%",position:"absolute",top:0};return t().createElement("div",{className:"ajax-loader-container",style:i},t().createElement("div",{style:c},t().createElement("i",{className:"fa fa-spinner fa-spin",style:l}),t().createElement("div",null,a)),t().createElement("div",{style:d,className:"loader-background"}))}})(),r})()));
@@ -1 +0,0 @@
1
- !function(e,o){"object"==typeof exports&&"object"==typeof module?module.exports=o():"function"==typeof define&&define.amd?define("openstack-uicore-foundation",[],o):"object"==typeof exports?exports["openstack-uicore-foundation"]=o():e["openstack-uicore-foundation"]=o()}(this,(()=>(()=>{"use strict";var e={4341:(e,o,t)=>{t(4656),t(4054),t(6793),t(8576)},8576:(e,o,t)=>{t.d(o,{getAccessToken:()=>p});var n=t(6793);t(4824);const r=require("browser-tabs-lock");var s=t.n(r);t(6530),t(3856),t(4341);require("crypto-js/sha256"),require("crypto-js/enc-base64url"),require("crypto-js/enc-hex"),"undefined"!=typeof window&&(window.crypto||window.msCrypto);const i=new(s()),a="openstackuicore.lock.getTokenSilently",c="code",d="authInfo",u="nonce",l="pkce",p=async()=>{if(await(0,n.retryPromise)((()=>i.acquireLock(a,5e3)),10))try{let e=m();if(!e)throw Error("Missing Auth info.");let{accessToken:o,expiresIn:t,accessTokenUpdatedAt:n,refreshToken:r}=e,s=h(),d=Math.floor(Date.now()/1e3);if(t-=20,d-n>t||null==o){if(console.log("getAccessToken access token expired"),s===c&&k()){if(!r)throw y(),Error("missing Refresh Token");let e=await f(r),{access_token:o,expires_in:t,refresh_token:n}=e;return void 0===n&&(n=null),w(o,t,n),o}throw y(),Error("Access Token Expired.")}return o}finally{await i.releaseLock(a)}throw Error("Lock acquire error.")},f=async e=>{let o=_(),t=g();const r={grant_type:"refresh_token",client_id:encodeURI(t),refresh_token:e};try{const e=await fetch(`${o}/oauth2/token`,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(r)}).then((e=>{if(400===e.status){(0,n.getCurrentPathName)();throw(0,n.setSessionClearingState)(!0),Error(`${e.status} - ${e.statusText}`)}return e})).catch((function(e){throw Error(`Request failed: ${e.message}`)})),t=await e.json();let{access_token:s,refresh_token:i,expires_in:a}=t;return{access_token:s,refresh_token:i,expires_in:a}}catch(e){throw console.log(e),e}},w=(e,o,t=null,r=null)=>{let s=m(),i={accessToken:e,expiresIn:o,accessTokenUpdatedAt:Math.floor(Date.now()/1e3)};null===t&&s&&(t=s.refreshToken),null===r&&s&&(r=s.idToken),t&&(i.refreshToken=t),r&&(i.idToken=r),(0,n.putOnLocalStorage)(d,JSON.stringify(i))},m=()=>{let e=(0,n.getFromLocalStorage)(d,!1);return null===e?null:JSON.parse(e)},y=()=>{if("undefined"!=typeof window)return(0,n.removeFromLocalStorage)(d),(0,n.removeFromLocalStorage)(u),void(0,n.removeFromLocalStorage)(l)},g=()=>"undefined"!=typeof window?window.OAUTH2_CLIENT_ID:null,h=()=>"undefined"!=typeof window&&window.OAUTH2_FLOW||"token id_token",k=()=>"undefined"==typeof window||new Boolean(window.OAUTH2_USE_REFRESH_TOKEN||!0),_=()=>"undefined"!=typeof window?window.IDP_BASE_URL:null},4054:(e,o,t)=>{t(4824),t(6530),t(271),t(4656),t(6793),t(4341),t(8576);const n=e=>o=>({type:e,payload:o});n("RESET_LOADING"),n("START_LOADING"),n("STOP_LOADING")},6793:(e,o,t)=>{t.d(o,{getCurrentPathName:()=>n,getFromLocalStorage:()=>s,putOnLocalStorage:()=>r,removeFromLocalStorage:()=>i,retryPromise:()=>c,setSessionClearingState:()=>a});t(8362),t(6530);const n=()=>"undefined"!=typeof window?window.location.pathname:null,r=(e,o)=>{"undefined"!=typeof window&&window.localStorage.setItem(e,o)},s=(e,o)=>{if("undefined"!=typeof window){let t=window.localStorage.getItem(e);return o&&(console.log(`getFromLocalStorage removing key ${e}`),i(e)),t}return null},i=e=>{"undefined"!=typeof window&&window.localStorage.removeItem(e)},a=e=>{"undefined"!=typeof window&&(window.clearing_session_state=e)},c=async(e,o=3)=>{for(let t=0;t<o;t++)if(await e())return!0;return!1}},4656:e=>{e.exports=require("i18n-react/dist/i18n-react")},3856:e=>{e.exports=require("idtoken-verifier")},8362:e=>{e.exports=require("moment-timezone")},580:e=>{e.exports=require("prop-types")},6689:e=>{e.exports=require("react")},4824:e=>{e.exports=require("superagent")},271:e=>{e.exports=require("sweetalert2")},6530:e=>{e.exports=require("urijs")}},o={};function t(n){var r=o[n];if(void 0!==r)return r.exports;var s=o[n]={exports:{}};return e[n](s,s.exports,t),s.exports}(()=>{t.n=e=>{var o=e&&e.__esModule?()=>e.default:()=>e;return t.d(o,{a:o}),o}})(),(()=>{t.d=(e,o)=>{for(var n in o)t.o(o,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:o[n]})}})(),(()=>{t.o=(e,o)=>Object.prototype.hasOwnProperty.call(e,o)})(),(()=>{t.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})();var n={};return(()=>{t.r(n),t.d(n,{default:()=>l});var e=t(6689),o=t.n(e),r=t(580),s=t.n(r),i=t(4824),a=t.n(i),c=t(8576);function d(e,o,t){return o in e?Object.defineProperty(e,o,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[o]=t,e}class u extends o().Component{constructor(...e){super(...e),d(this,"trackEnter",(async()=>{const{apiBaseUrl:e,summitId:o,sourceId:t,sourceName:n}=this.props,r=this.getLocation();try{const s=await(0,c.getAccessToken)();a().put(`${e}/api/v1/summits/${o}/metrics/enter`).send({access_token:s,type:n,source_id:t,location:r}).end((()=>console.log("ENTER PAGE")))}catch(e){console.log(e)}})),d(this,"trackLeave",(async()=>{const{apiBaseUrl:e,summitId:o,sourceId:t,sourceName:n}=this.props,r=this.getLocation();try{const s=await(0,c.getAccessToken)();a().post(`${e}/api/v1/summits/${o}/metrics/leave`).send({access_token:s,type:n,source_id:t,location:r}).end((()=>console.log("LEFT PAGE")))}catch(e){console.log(e)}})),d(this,"onBeforeUnload",(async()=>{const{apiBaseUrl:e,summitId:o,sourceId:t,sourceName:n}=this.props,r=this.getLocation();try{const s=await(0,c.getAccessToken)();return void navigator.sendBeacon(`${e}/api/v1/summits/${o}/metrics/leave?access_token=${s}&type=${n}&source_id=${t}&location=${r}`,{})}catch(e){console.log(e)}})),d(this,"getLocation",(()=>"undefined"!=typeof window?encodeURIComponent(window.location.href):""))}componentDidMount(){const{trackEnter:e,onBeforeUnload:o}=this;e(),"undefined"!=typeof window&&window.addEventListener("beforeunload",o)}componentWillUnmount(){const{trackLeave:e,onBeforeUnload:o}=this;e(),"undefined"!=typeof window&&window.removeEventListener("beforeunload",o)}render(){return null}}u.propTypes={sourceName:s().string,sourceId:s().number,summitId:s().number.isRequired,apiBaseUrl:s().string.isRequired},u.defaultProps={sourceId:0,sourceName:"GENERAL"};const l=u})(),n})()));
@@ -1 +0,0 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("openstack-uicore-foundation",[],t):"object"==typeof exports?exports["openstack-uicore-foundation"]=t():e["openstack-uicore-foundation"]=t()}(this,(()=>(()=>{"use strict";var e={580:e=>{e.exports=require("prop-types")},6689:e=>{e.exports=require("react")}},t={};function o(r){var n=t[r];if(void 0!==n)return n.exports;var a=t[r]={exports:{}};return e[r](a,a.exports,o),a.exports}(()=>{o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t}})(),(()=>{o.d=(e,t)=>{for(var r in t)o.o(t,r)&&!o.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}})(),(()=>{o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})();var r={};return(()=>{o.r(r),o.d(r,{default:()=>i});var e=o(6689),t=o.n(e),n=o(580),a=o.n(n);const u="pTjbvR2PI3JIAfGGYR5C",d="BnU6_vcWc8sasL8roBPA",l="yREg1belHCLDAYYfAg77",c="mFp_9X3SzjgPNXRSXiFR",s=({event:e,isScheduled:o,nowUtc:r,addToSchedule:n,removeFromSchedule:a,enterClick:s,alwaysShowEnter:i})=>{const p=((e,t)=>{const o=t>e.end_date;return e.start_date-t<1&&!o})(e,r);let f=null,m=null,y=null;const b=(t,o)=>{t.preventDefault(),t.stopPropagation(),o(e)};return p||i?(f=`${c} enter`,m="fa-sign-in",y=e=>b(e,s)):a&&n&&o?(f=`${l} added`,m="fa-check",y=e=>b(e,a)):a&&n&&(f=`${d} add`,m="fa-plus",y=e=>b(e,n)),y?t().createElement("button",{className:`${u} ${f}`,onClick:y},t().createElement("i",{className:`fa ${m}`,"aria-hidden":"true"})):null};s.propTypes={event:a().object.isRequired,nowUtc:a().number.isRequired,isScheduled:a().bool.isRequired,enterClick:a().func.isRequired,addToSchedule:a().func,removeFromSchedule:a().func,alwaysShowEnter:a().bool},s.defaultProps={addToSchedule:null,removeFromSchedule:null,alwaysShowEnter:!1};const i=s})(),r})()));
@@ -1 +0,0 @@
1
- !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define("openstack-uicore-foundation",[],e):"object"==typeof exports?exports["openstack-uicore-foundation"]=e():t["openstack-uicore-foundation"]=e()}(this,(()=>(()=>{"use strict";var t={1186:(t,e,i)=>{function r(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,r)}return i}function s(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}i.d(e,{default:()=>n});class n{constructor(){this.originalHash="",this.hash={}}convertToHash(t){let e=(t=t.substr(1).toLowerCase()).split("&"),i={};for(let t of e){if(t=t.split("="),2!==t.length)continue;let e=t[1].trim();""!==e&&("true"!==e&&"false"!==e||(t[1]="true"==e),i[t[0]]=t[1])}return i}clearParams(){this.originalHash="",this.hash={}}getParam(t){return"undefined"!=typeof window&&this.originalHash!==window.location.hash&&(this.originalHash=window.location.hash,this.hash=this.convertToHash(this.originalHash)),this.hash.hasOwnProperty(t)?this.hash[t]:null}getParams(){return"undefined"!=typeof window&&this.originalHash!==window.location.hash&&(this.originalHash=window.location.hash,this.hash=this.convertToHash(this.originalHash)),function(t){for(var e=1;e<arguments.length;e++){var i=null!=arguments[e]?arguments[e]:{};e%2?r(Object(i),!0).forEach((function(e){s(t,e,i[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):r(Object(i)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))}))}return t}({},this.hash)}deleteParam(t){var e=this.getParams();this.clearParams();for(let i in e)i!=t&&(this.hash[i]=e[i])}deleteParams(t){var e=this.getParams();this.clearParams();for(let i in e)t.includes(i)||(this.hash[i]=e[i])}setParam(t,e){return"undefined"!=typeof window&&this.originalHash!==window.location.hash&&(this.originalHash=window.location.hash,this.hash=this.convertToHash(this.originalHash)),null!==e&&""!==e?this.hash[t]=e:delete this.hash[t],this}serialize(){let t="";for(let e in this.hash){""!==t&&(t+="&"),t+=e+"="+this.hash[e]}return t}}},8362:t=>{t.exports=require("moment-timezone")},6689:t=>{t.exports=require("react")}},e={};function i(r){var s=e[r];if(void 0!==s)return s.exports;var n=e[r]={exports:{}};return t[r](n,n.exports,i),n.exports}(()=>{i.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return i.d(e,{a:e}),e}})(),(()=>{i.d=(t,e)=>{for(var r in e)i.o(e,r)&&!i.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})}})(),(()=>{i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e)})(),(()=>{i.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}})();var r={};return(()=>{i.r(r),i.d(r,{default:()=>l});var t=i(6689),e=i.n(t),s=i(8362),n=i.n(s),o=i(1186);function a(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}class h extends e().Component{constructor(t){super(t),a(this,"getServerTime",(async()=>{let t=await fetch("https://timeintervalsince1970.appspot.com/").catch((t=>(console.log(t),null)));return await t.json()})),a(this,"tick",(()=>{const{timestamp:t}=this.state;null!==t&&(this.props.onTick(t+1),this.setState({timestamp:t+1}))})),a(this,"now",(()=>this.state.timestamp)),this.fragmentParser=new o.default,this.interval=null,this.state={timestamp:null}}async componentDidMount(){const{timezone:t="UTC",now:e}=this.props,i=this.fragmentParser.getParam("now"),r=n().tz(i,"YYYY-MM-DD,hh:mm:ss",t);let s;if(r.isValid())s=r.valueOf()/1e3;else if(e)s=e;else{const t=n()().unix(),e=await this.getServerTime(),i=n()().unix();s=e?e.timestamp+(i-t):i}this.setState({timestamp:s}),this.props.onTick(s),this.interval=setInterval(this.tick,1e3)}componentWillUnmount(){clearInterval(this.interval)}render(){const{display:t,timezone:i="UTC"}=this.props,{timestamp:r}=this.state;return t&&r?e().createElement("div",{style:{marginTop:"50px",textAlign:"center",fontSize:"20px"}},n().tz(1e3*r,i).format("YYYY-MM-DD hh:mm:ss")):null}}const l=h})(),r})()));
@@ -1 +0,0 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("openstack-uicore-foundation",[],t):"object"==typeof exports?exports["openstack-uicore-foundation"]=t():e["openstack-uicore-foundation"]=t()}(this,(()=>(()=>{"use strict";var e={6689:e=>{e.exports=require("react")}},t={};function o(r){var n=t[r];if(void 0!==n)return n.exports;var i=t[r]={exports:{}};return e[r](i,i.exports,o),i.exports}(()=>{o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t}})(),(()=>{o.d=(e,t)=>{for(var r in t)o.o(t,r)&&!o.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}})(),(()=>{o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})();var r={};return(()=>{o.r(r),o.d(r,{default:()=>n});var e=o(6689),t=o.n(e);class n extends t().Component{constructor(e){super(e),this.showField=this.showField.bind(this)}showField(){let{name:e}=this.props,t=window.EXCLUSIVE_SECTIONS;return!!t&&t.includes(e)}render(){let{children:e}=this.props;return this.showField()?e:null}}})(),r})()));
@@ -1 +0,0 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("openstack-uicore-foundation",[],t):"object"==typeof exports?exports["openstack-uicore-foundation"]=t():e["openstack-uicore-foundation"]=t()}(this,(()=>(()=>{"use strict";var e={2230:(e,t,r)=>{r.d(t,{default:()=>d});var n=r(580),a=r.n(n),l=r(6689),s=r.n(l),i=r(4656),o=r.n(i),u=r(418);const c=["onChange","value","className","options","id","children","error","disabled"];function p(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},l=Object.keys(e);for(n=0;n<l.length;n++)r=l[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)r=l[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}class d extends s().Component{constructor(e){super(e);let t=!!e.value&&e.value.find((t=>!e.options.map((e=>e.value)).includes(t)));this.state={otherChecked:!!t},this.handleChange=this.handleChange.bind(this),this.handleOtherCBChange=this.handleOtherCBChange.bind(this)}handleChange(e){let t=this.props.options.map((e=>e.value)),r=this.props.value?[...this.props.value]:[];if("checkbox"===e.target.type)if(e.target.checked){const t=isNaN(e.target.value)?e.target.value:parseInt(e.target.value);r.push(t)}else r=r.filter((t=>t!=e.target.value));else r=r.filter((e=>t.includes(e))),r.push(e.target.value);let n={target:{id:this.props.id,value:r,type:"checkboxlist"}};this.props.onChange(n)}handleOtherCBChange(e){this.setState({otherChecked:e.target.checked})}render(){let e,t=this.props,{onChange:r,value:n,className:a,options:l,id:i,children:d,error:h,disabled:m}=t,{otherChecked:b}=(p(t,c),this.state),f=this.props.hasOwnProperty("inline"),v=this.props.hasOwnProperty("html"),y=this.props.hasOwnProperty("allowOther"),g=!!n&&n.find((e=>!l.map((e=>e.value)).includes(e))),_=this.props.hasOwnProperty("error")&&""!==h,O=this.props.hasOwnProperty("disabled")&&1==m;return e=f?{paddingLeft:"22px",marginLeft:"20px",float:"left"}:{paddingLeft:"22px",marginTop:"7px"},s().createElement("div",{id:`chl_wrapper_${i}`},s().createElement("div",{className:"checkboxes-div"+(_?" error":"")},l.map((t=>{let r=!!n&&n.includes(t.value);return s().createElement("div",{className:"form-check abc-checkbox",key:"radio_key_"+t.value,style:e},s().createElement("input",{type:"checkbox",id:`cb_${i}_${t.value}`,checked:r,disabled:O,onChange:this.handleChange,className:"form-check-input",value:t.value}),s().createElement("label",{className:"form-check-label",htmlFor:`cb_${i}_${t.value}`},v&&s().createElement(u.default,null,t.label),!v&&t.label))})),y&&s().createElement("div",{className:"form-check abc-checkbox",style:e},s().createElement("input",{type:"checkbox",id:"cb_other"+i,checked:b,disabled:O,onChange:this.handleOtherCBChange,className:"form-check-input",value:"other"}),s().createElement("label",{className:"form-check-label",htmlFor:"cb_other"+i},o().translate("general.other"))),y&&b&&s().createElement("div",{style:{paddingLeft:"22px",width:"50%"}},s().createElement("input",{className:"form-control",disabled:O,onChange:this.handleChange,value:g}))),_&&s().createElement("p",{className:"error-label"},h))}}d.propTypes={id:a().string.isRequired}},401:(e,t,r)=>{r.d(t,{default:()=>h});var n=r(6689),a=r.n(n),l=r(1929),s=r.n(l);const i=["onChange","value","className","error","clearable","disabled","overrideCSS"];function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},o.apply(this,arguments)}function u(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?u(Object(r),!0).forEach((function(t){p(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):u(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function p(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function d(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},l=Object.keys(e);for(n=0;n<l.length;n++)r=l[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)r=l[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}class h extends a().Component{constructor(e){super(e),this.handleChange=this.handleChange.bind(this)}handleChange(e){let t=null;t=this.props.isMulti?e?e.map((e=>e.value)):null:e?e.value:null;let r={target:{id:this.props.id,value:t,type:"dropdown"}};this.props.onChange(r)}render(){let e=this.props,{onChange:t,value:r,className:n,error:l,clearable:u,disabled:p,overrideCSS:h}=e,m=d(e,i),b=this.props.hasOwnProperty("error")&&""!=l,f=this.props.hasOwnProperty("clearable"),v=this.props.hasOwnProperty("disabled")&&1==p,y=null,g=n;this.props.hasOwnProperty("overrideCSS")&&0!=h||(g="dropdown "+n+" "+(b?"error":"")),y=this.props.isMulti?this.props.options.filter((e=>r.includes(e.value))):r instanceof Object||null==r?r:this.props.options.find((e=>e.value==r));const _={menu:e=>c(c({},e),{},{zIndex:999})};return a().createElement("div",null,a().createElement(s(),o({className:g,value:y,onChange:this.handleChange,isClearable:f,isDisabled:v,styles:_},m)),b&&a().createElement("p",{className:"error-label"},l))}}},7027:(e,t,r)=>{r.d(t,{default:()=>c});var n=r(6689),a=r.n(n),l=r(418),s=r(580),i=r.n(s);const o=["onChange","value","className","error","disabled","options","id"];function u(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},l=Object.keys(e);for(n=0;n<l.length;n++)r=l[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)r=l[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}class c extends a().Component{constructor(e){super(e),this.state={value:e.value},this.handleChange=this.handleChange.bind(this)}handleChange(e){let t={target:{id:this.props.id,value:e.target.value,type:"radio"}};this.props.onChange(t)}getLabel(e,t,r,n,s){return r?a().createElement("label",{className:"form-check-label",htmlFor:`radio_${t}_${e.value}`,style:{display:"inline-block"}},s&&a().createElement(l.default,null,e.label),!s&&e.label):n?a().createElement("label",{className:"form-check-label",htmlFor:`radio_${t}_${e.value}`},e.label):a().createElement("label",{className:"form-check-label",htmlFor:`radio_${t}_${e.value}`,style:{display:"inline-block"}},a().createElement("h4",{style:{marginTop:"0px"}},e.label),a().createElement(l.default,null,e.description))}render(){let e,t=this.props,{onChange:r,value:n,className:l,error:s,disabled:i,options:c,id:p}=t,d=(u(t,o),this.props.hasOwnProperty("error")&&""!=s),h=this.props.hasOwnProperty("inline"),m=this.props.hasOwnProperty("simple"),b=this.props.hasOwnProperty("html"),f=this.props.hasOwnProperty("disabled")&&1==i;return e=h?{paddingLeft:"22px",marginLeft:"20px",float:"left"}:{paddingLeft:"22px"},a().createElement("div",{id:`rl_wrapper_${p}`},c.map((t=>{let r=t.value==n;return a().createElement("div",{className:"form-check abc-radio",key:`radio_key_${p}_${t.value}`,style:e},a().createElement("input",{className:"form-check-input",type:"radio",id:`radio_${p}_${t.value}`,value:t.value,checked:r,onChange:this.handleChange,disabled:f,name:`radio_${p}`}),this.getLabel(t,p,h,m,b))})),d&&a().createElement("p",{className:"error-label"},s))}}c.propTypes={id:i().string.isRequired}},1833:(e,t,r)=>{r.d(t,{default:()=>o});var n=r(6689),a=r.n(n);const l=["onChange","value","className","error"];function s(){return s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},s.apply(this,arguments)}function i(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},l=Object.keys(e);for(n=0;n<l.length;n++)r=l[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)r=l[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}class o extends a().Component{constructor(e){super(e),this.state={value:e.value},this.handleChange=this.handleChange.bind(this)}componentDidUpdate(e,t,r){this.props.value!==e.value&&this.setState({value:this.props.value})}handleChange(e){this.props.onChange(e)}render(){let e=this.props,{onChange:t,value:r,className:n,error:o}=e,u=i(e,l),c=this.props.hasOwnProperty("error")&&""!=o,p=this.props.hasOwnProperty("className")?n:"form-control";return a().createElement("div",null,a().createElement("input",s({className:p+" "+(c?"error":""),value:this.state.value,onChange:this.handleChange},u)),c&&a().createElement("p",{className:"error-label"},o))}}},418:(e,t,r)=>{r.d(t,{default:()=>l});var n=r(6689),a=r.n(n);const l=({children:e,className:t=""})=>a().createElement("span",{className:t,dangerouslySetInnerHTML:{__html:e.replace(/\n/g,"<br />")}})},1995:(e,t,r)=>{function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function a(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?n(Object(r),!0).forEach((function(t){l(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):n(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function l(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}r.d(t,{default:()=>d});const s="ComboBox",i="CheckBoxList",o="RadioButtonList",u=[s,i,o],c="And",p="Equal";class d{constructor(e,t=[]){l(this,"_parseQuestion",(e=>{if(this.questionByName[e.name]=e,this.questionById[parseInt(e.id)]=e,e.hasOwnProperty("sub_question_rules"))for(let t of e.sub_question_rules)this.rules[parseInt(t.id)]=t,this._parseQuestion(t.sub_question)})),l(this,"_parseQuestions",(()=>{for(let e of this.questions)this._parseQuestion(e)})),l(this,"_allowsValues",(e=>u.includes(e.type))),l(this,"_allowsValue",((e,t)=>{let r=t.value.split(",").map((e=>parseInt(e)));for(let t of r)if(!e.values.map((e=>e.id)).includes(t))return!1;return!0})),l(this,"_getAnswerFor",(e=>{let t=Number.isInteger(e)?e:e.id,r=this.answers[t]||null;return r||null})),l(this,"_hasValue",(e=>""!==e.value)),l(this,"_answerContains",((e,t)=>e.value.split(",").includes(t))),l(this,"_isSubQuestionVisible",(e=>{let t=e.answer_values_operator===c;const r=this._getAnswerFor(e.parent_question_id);if(r)switch(e.visibility_condition){case p:for(let n of e.answer_values)t=e.answer_values_operator===c?t&&this._answerContains(r,n):t||this._answerContains(r,n);break;case"NotEqual":for(let n of e.answer_values)t=e.answer_values_operator===c?t&&!this._answerContains(r,n):t||!this._answerContains(r,n)}else t=e.visibility_condition!==p;return"Visible"===e.visibility?t:!t})),l(this,"_isAnswered",(e=>{const t=this._getAnswerFor(e);if("MainQuestion"===e.class)return!e.mandatory||!!t&&(!!this._hasValue(t)&&!(this._allowsValues(e)&&!this._allowsValue(e,t)));for(let r of e.parent_rules)if(this._isSubQuestionVisible(this.rules[r]))return!e.mandatory||!!t&&(!!this._hasValue(t)&&!(this._allowsValues(e)&&!this._allowsValue(e,t)));return!0})),l(this,"_checkQuestion",(e=>{let t=this._isAnswered(e);if(e.hasOwnProperty("sub_question_rules"))for(let r of e.sub_question_rules)t=t&&this._checkQuestion(r.sub_question);return t})),l(this,"_formatQuestionAnswer",(e=>{var t;let r={},n=null===(t=this.originalAnswers.find((t=>t.question_id===e.id)))||void 0===t?void 0:t.value;if(n&&("CheckBox"===e.type&&(n="false"!==n&&!!n),e.type!==o&&e.type!==s||(n=parseInt(n)),e.type===i&&(n=n.split(",").map((e=>parseInt(e)))||[])),r[e.name]=n||"",e.hasOwnProperty("sub_question_rules"))for(let t of e.sub_question_rules){let e=this._formatQuestionAnswer(t.sub_question);r=a(a({},r),e)}return r})),l(this,"formatAnswers",(()=>{let e={};return this.questions.forEach((t=>{let r=this._formatQuestionAnswer(t);e=a(a({},e),r)})),e})),l(this,"completed",(()=>{let e=!0;for(let t of this.questions)e=e&&this._checkQuestion(t);return e})),l(this,"getQuestionByName",(e=>this.questionByName[e]||null)),l(this,"getQuestionById",(e=>this.questionById[parseInt(e)]||null)),this.questions=e,this.originalAnswers=t,this.answers=[];for(let e of this.originalAnswers)this.answers[e.question_id]=e;this.questionByName={},this.questionById={},this.rules={},this._parseQuestions()}}},4656:e=>{e.exports=require("i18n-react/dist/i18n-react")},580:e=>{e.exports=require("prop-types")},6689:e=>{e.exports=require("react")},1929:e=>{e.exports=require("react-select")}},t={};function r(n){var a=t[n];if(void 0!==a)return a.exports;var l=t[n]={exports:{}};return e[n](l,l.exports,r),l.exports}(()=>{r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t}})(),(()=>{r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}})(),(()=>{r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})();var n={};return(()=>{r.r(n),r.d(n,{default:()=>v});var e=r(6689),t=r.n(e),a=r(580),l=r.n(a),s=r(418),i=r(1833),o=r(401),u=r(7027),c=r(2230),p=r(1995);const d=require("react-final-form");function h(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function m(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?h(Object(r),!0).forEach((function(t){b(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):h(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function b(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const f=({extraQuestions:r,userAnswers:n,onAnswerChanges:a,className:l,formRef:h=null,readOnly:b=!1,debug:f=!1,buttonText:v="Submit"})=>{let y=null;const g=(0,e.useRef)([]),[_,O]=(0,e.useState)({});(0,e.useEffect)((()=>{w()}),[r]);const w=()=>{const e=new p.default(r,n);O(e.formatAnswers())},E=({when:e,rule:r,children:n})=>t().createElement(d.Field,{name:e,subscription:{value:!0}},(({input:{value:e}})=>P(r,j(e,r),n))),C=({name:e})=>t().createElement(d.Field,{name:e,subscription:{error:!0,touched:!0}},(({meta:{error:e,touched:r}})=>e&&r?t().createElement("span",{className:"extra-question-error"},e):null)),j=(e,t)=>{let r=t.answer_values;if(Array.isArray(e)){if(!e.length)return!1;let n="And"===t.anwer_values_operator;return r.forEach((r=>{n="And"===t.anwer_values_operator?n&&e.includes(parseInt(r)):n||e.includes(parseInt(r))})),n}return r.includes(e.toString())},P=(e,t,r)=>"Visible"===e.visibility?"Equal"===e.visibility_condition?t?r:null:t?null:r:"Equal"===e.visibility_condition?t?null:r:t?r:null,k=e=>{let r=e.values;var n,a,l,p,h,b,f,v,y,_,O,w;return"Text"===e.type?t().createElement(t().Fragment,null,t().createElement("div",{key:e.name,ref:t=>g.current[e.id]=t},t().createElement(s.default,null,e.mandatory?null!==(n=e.label)&&void 0!==n&&n.endsWith("</p>")?e.label.replace(/<\/p>$/g," <b>*</b></p>"):`${e.label} <b>*</b>`:e.label),t().createElement(d.Field,{name:e.name},(r=>t().createElement(i.default,{id:`${e.id}`,value:r.input.value,onChange:r.input.onChange,placeholder:e.placeholder}))),t().createElement(C,{name:e.name})),(null===(a=e.sub_question_rules)||void 0===a?void 0:a.length)>0&&e.sub_question_rules.map((r=>t().createElement(E,{when:e.name,rule:r},k(r.sub_question))))):"TextArea"===e.type?t().createElement(t().Fragment,null,t().createElement("div",{key:e.name,ref:t=>g.current[e.id]=t},t().createElement(s.default,null,e.mandatory?null!==(l=e.label)&&void 0!==l&&l.endsWith("</p>")?e.label.replace(/<\/p>$/g," <b>*</b></p>"):`${e.label} <b>*</b>`:e.label),t().createElement(d.Field,{name:e.name,id:`${e.id}`,component:"textarea"}),t().createElement(C,{name:e.name})),(null===(p=e.sub_question_rules)||void 0===p?void 0:p.length)>0&&e.sub_question_rules.map((r=>t().createElement(E,{when:e.name,rule:r},k(r.sub_question))))):"CheckBox"===e.type?t().createElement(t().Fragment,null,t().createElement("div",{key:e.name,ref:t=>g.current[e.id]=t,style:{display:"flex"}},t().createElement(d.Field,{name:e.name,id:`${e.id}`,component:"input",type:"checkbox"}),t().createElement(s.default,{className:"eq-checkbox-label"},e.mandatory?null!==(h=e.label)&&void 0!==h&&h.endsWith("</p>")?e.label.replace(/<\/p>$/g," <b>*</b></p>"):`${e.label} <b>*</b>`:e.label),t().createElement(C,{name:e.name})),(null===(b=e.sub_question_rules)||void 0===b?void 0:b.length)>0&&e.sub_question_rules.map((r=>t().createElement(E,{when:e.name,rule:r},k(r.sub_question))))):"RadioButtonList"===e.type?(r=r.map((e=>m(m({},e),{},{value:e.id}))),t().createElement(t().Fragment,null,t().createElement("div",{key:e.name,ref:t=>g.current[e.id]=t},t().createElement(s.default,null,e.mandatory?null!==(f=e.label)&&void 0!==f&&f.endsWith("</p>")?e.label.replace(/<\/p>$/g," <b>*</b></p>"):`${e.label} <b>*</b>`:e.label),t().createElement("div",null,t().createElement(d.Field,{name:e.name},(n=>t().createElement(u.default,{id:`${e.id}`,overrideCSS:!0,value:n.input.value,options:r,onChange:n.input.onChange}))),t().createElement(C,{name:e.name}))),(null===(v=e.sub_question_rules)||void 0===v?void 0:v.length)>0&&e.sub_question_rules.map((r=>t().createElement(E,{when:e.name,rule:r},k(r.sub_question)))))):"ComboBox"===e.type?(r=r.map((e=>m(m({},e),{},{value:e.id}))),t().createElement(t().Fragment,null,t().createElement("div",{key:e.name,ref:t=>g.current[e.id]=t},t().createElement(s.default,null,e.mandatory?null!==(y=e.label)&&void 0!==y&&y.endsWith("</p>")?e.label.replace(/<\/p>$/g," <b>*</b></p>"):`${e.label} <b>*</b>`:e.label),t().createElement(d.Field,{name:e.name},(n=>t().createElement(o.default,{id:`${e.id}`,overrideCSS:!0,value:n.input.value,options:r,onChange:n.input.onChange}))),t().createElement(C,{name:e.name})),(null===(_=e.sub_question_rules)||void 0===_?void 0:_.length)>0&&e.sub_question_rules.map((r=>t().createElement(E,{when:e.name,rule:r},k(r.sub_question)))))):"CheckBoxList"===e.type?(r=r.map((e=>m(m({},e),{},{value:e.id}))),t().createElement(t().Fragment,null,t().createElement("div",{key:e.name,ref:t=>g.current[e.id]=t},t().createElement(s.default,null,e.mandatory?null!==(O=e.label)&&void 0!==O&&O.endsWith("</p>")?e.label.replace(/<\/p>$/g," <b>*</b></p>"):`${e.label} <b>*</b>`:e.label),t().createElement(d.Field,{name:e.name},(n=>t().createElement(c.default,{id:`${e.id}`,value:n.input.value,options:r,onChange:n.input.onChange}))),t().createElement(C,{name:e.name})),(null===(w=e.sub_question_rules)||void 0===w?void 0:w.length)>0&&e.sub_question_rules.map((r=>t().createElement(E,{when:e.name,rule:r},k(r.sub_question)))))):null},q=(e,t,r)=>{var n;e.mandatory&&(e=>!!g.current[e.id])(e)&&(t.hasOwnProperty(e.name)&&""!==t[e.name]&&0!==t[e.name].length||(r[e.name]="Required")),null===(n=e.sub_question_rules)||void 0===n||n.forEach((e=>{q(e.sub_question,t,r)}))};return t().createElement("div",{className:l},t().createElement(d.Form,{onSubmit:e=>{a(e)},initialValues:_,validate:e=>{const t={};return r.map((r=>{q(r,e,t)})),t}},(({handleSubmit:e,form:n,submitting:a,pristine:l,values:s})=>(y=e,t().createElement("form",{onSubmit:e,ref:h},b?t().createElement("fieldset",{disabled:"disabled"},r.map((e=>k(e)))):r.map((e=>k(e))),f&&t().createElement("pre",null,JSON.stringify(s,0,2)))))),!h&&t().createElement("button",{type:"submit",onClick:e=>{y(e)},style:{marginTop:10}},v))};f.propTypes={extraQuestions:l().array.isRequired,userAnswers:l().array.isRequired,onAnswerChanges:l().func.isRequired,className:l().string,formRef:l().oneOfType([l().func,l().shape({current:l().any})]),debug:l().bool,buttonText:l().string};const v=f})(),n})()));
@@ -1 +0,0 @@
1
- !function(e,r){"object"==typeof exports&&"object"==typeof module?module.exports=r():"function"==typeof define&&define.amd?define("openstack-uicore-foundation",[],r):"object"==typeof exports?exports["openstack-uicore-foundation"]=r():e["openstack-uicore-foundation"]=r()}(this,(()=>(()=>{"use strict";var e={};(()=>{e.n=r=>{var t=r&&r.__esModule?()=>r.default:()=>r;return e.d(t,{a:t}),t}})(),(()=>{e.d=(r,t)=>{for(var o in t)e.o(t,o)&&!e.o(r,o)&&Object.defineProperty(r,o,{enumerable:!0,get:t[o]})}})(),(()=>{e.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r)})(),(()=>{e.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})();var r={};e.r(r),e.d(r,{email:()=>l,lt:()=>s,password:()=>u,required:()=>i});const t=require("react");var o=e.n(t);const n=require("validator");var a=e.n(n);const i=e=>{if(!e.toString().trim().length)return o().createElement("p",{className:"error-label"},"Required")},l=e=>{if(!a().isEmail(e))return`${e} is not a valid email.`},s=(e,r)=>{if(!e.toString().trim().length>r.maxLength)return o().createElement("span",{className:"error"},"The value exceeded ",r.maxLength," symbols.")},u=(e,r,t)=>{if(e!==t.confirm[0].value)return o().createElement("span",{className:"error"},"Passwords are not equal.")};return r})()));
@@ -1 +0,0 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("openstack-uicore-foundation",[],t):"object"==typeof exports?exports["openstack-uicore-foundation"]=t():e["openstack-uicore-foundation"]=t()}(this,(()=>(()=>{"use strict";var e={2230:(e,t,r)=>{r.d(t,{default:()=>u});var a=r(580),n=r.n(a),l=r(6689),s=r.n(l),o=r(4656),i=r.n(o),c=r(418);const p=["onChange","value","className","options","id","children","error","disabled"];function h(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},l=Object.keys(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}class u extends s().Component{constructor(e){super(e);let t=!!e.value&&e.value.find((t=>!e.options.map((e=>e.value)).includes(t)));this.state={otherChecked:!!t},this.handleChange=this.handleChange.bind(this),this.handleOtherCBChange=this.handleOtherCBChange.bind(this)}handleChange(e){let t=this.props.options.map((e=>e.value)),r=this.props.value?[...this.props.value]:[];if("checkbox"===e.target.type)if(e.target.checked){const t=isNaN(e.target.value)?e.target.value:parseInt(e.target.value);r.push(t)}else r=r.filter((t=>t!=e.target.value));else r=r.filter((e=>t.includes(e))),r.push(e.target.value);let a={target:{id:this.props.id,value:r,type:"checkboxlist"}};this.props.onChange(a)}handleOtherCBChange(e){this.setState({otherChecked:e.target.checked})}render(){let e,t=this.props,{onChange:r,value:a,className:n,options:l,id:o,children:u,error:d,disabled:m}=t,{otherChecked:b}=(h(t,p),this.state),f=this.props.hasOwnProperty("inline"),v=this.props.hasOwnProperty("html"),g=this.props.hasOwnProperty("allowOther"),y=!!a&&a.find((e=>!l.map((e=>e.value)).includes(e))),O=this.props.hasOwnProperty("error")&&""!==d,C=this.props.hasOwnProperty("disabled")&&1==m;return e=f?{paddingLeft:"22px",marginLeft:"20px",float:"left"}:{paddingLeft:"22px",marginTop:"7px"},s().createElement("div",{id:`chl_wrapper_${o}`},s().createElement("div",{className:"checkboxes-div"+(O?" error":"")},l.map((t=>{let r=!!a&&a.includes(t.value);return s().createElement("div",{className:"form-check abc-checkbox",key:"radio_key_"+t.value,style:e},s().createElement("input",{type:"checkbox",id:`cb_${o}_${t.value}`,checked:r,disabled:C,onChange:this.handleChange,className:"form-check-input",value:t.value}),s().createElement("label",{className:"form-check-label",htmlFor:`cb_${o}_${t.value}`},v&&s().createElement(c.default,null,t.label),!v&&t.label))})),g&&s().createElement("div",{className:"form-check abc-checkbox",style:e},s().createElement("input",{type:"checkbox",id:"cb_other"+o,checked:b,disabled:C,onChange:this.handleOtherCBChange,className:"form-check-input",value:"other"}),s().createElement("label",{className:"form-check-label",htmlFor:"cb_other"+o},i().translate("general.other"))),g&&b&&s().createElement("div",{style:{paddingLeft:"22px",width:"50%"}},s().createElement("input",{className:"form-control",disabled:C,onChange:this.handleChange,value:y}))),O&&s().createElement("p",{className:"error-label"},d))}}u.propTypes={id:n().string.isRequired}},401:(e,t,r)=>{r.d(t,{default:()=>d});var a=r(6689),n=r.n(a),l=r(1929),s=r.n(l);const o=["onChange","value","className","error","clearable","disabled","overrideCSS"];function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},i.apply(this,arguments)}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function p(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?c(Object(r),!0).forEach((function(t){h(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):c(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function h(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function u(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},l=Object.keys(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}class d extends n().Component{constructor(e){super(e),this.handleChange=this.handleChange.bind(this)}handleChange(e){let t=null;t=this.props.isMulti?e?e.map((e=>e.value)):null:e?e.value:null;let r={target:{id:this.props.id,value:t,type:"dropdown"}};this.props.onChange(r)}render(){let e=this.props,{onChange:t,value:r,className:a,error:l,clearable:c,disabled:h,overrideCSS:d}=e,m=u(e,o),b=this.props.hasOwnProperty("error")&&""!=l,f=this.props.hasOwnProperty("clearable"),v=this.props.hasOwnProperty("disabled")&&1==h,g=null,y=a;this.props.hasOwnProperty("overrideCSS")&&0!=d||(y="dropdown "+a+" "+(b?"error":"")),g=this.props.isMulti?this.props.options.filter((e=>r.includes(e.value))):r instanceof Object||null==r?r:this.props.options.find((e=>e.value==r));const O={menu:e=>p(p({},e),{},{zIndex:999})};return n().createElement("div",null,n().createElement(s(),i({className:y,value:g,onChange:this.handleChange,isClearable:f,isDisabled:v,styles:O},m)),b&&n().createElement("p",{className:"error-label"},l))}}},7027:(e,t,r)=>{r.d(t,{default:()=>p});var a=r(6689),n=r.n(a),l=r(418),s=r(580),o=r.n(s);const i=["onChange","value","className","error","disabled","options","id"];function c(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},l=Object.keys(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}class p extends n().Component{constructor(e){super(e),this.state={value:e.value},this.handleChange=this.handleChange.bind(this)}handleChange(e){let t={target:{id:this.props.id,value:e.target.value,type:"radio"}};this.props.onChange(t)}getLabel(e,t,r,a,s){return r?n().createElement("label",{className:"form-check-label",htmlFor:`radio_${t}_${e.value}`,style:{display:"inline-block"}},s&&n().createElement(l.default,null,e.label),!s&&e.label):a?n().createElement("label",{className:"form-check-label",htmlFor:`radio_${t}_${e.value}`},e.label):n().createElement("label",{className:"form-check-label",htmlFor:`radio_${t}_${e.value}`,style:{display:"inline-block"}},n().createElement("h4",{style:{marginTop:"0px"}},e.label),n().createElement(l.default,null,e.description))}render(){let e,t=this.props,{onChange:r,value:a,className:l,error:s,disabled:o,options:p,id:h}=t,u=(c(t,i),this.props.hasOwnProperty("error")&&""!=s),d=this.props.hasOwnProperty("inline"),m=this.props.hasOwnProperty("simple"),b=this.props.hasOwnProperty("html"),f=this.props.hasOwnProperty("disabled")&&1==o;return e=d?{paddingLeft:"22px",marginLeft:"20px",float:"left"}:{paddingLeft:"22px"},n().createElement("div",{id:`rl_wrapper_${h}`},p.map((t=>{let r=t.value==a;return n().createElement("div",{className:"form-check abc-radio",key:`radio_key_${h}_${t.value}`,style:e},n().createElement("input",{className:"form-check-input",type:"radio",id:`radio_${h}_${t.value}`,value:t.value,checked:r,onChange:this.handleChange,disabled:f,name:`radio_${h}`}),this.getLabel(t,h,d,m,b))})),u&&n().createElement("p",{className:"error-label"},s))}}p.propTypes={id:o().string.isRequired}},1833:(e,t,r)=>{r.d(t,{default:()=>i});var a=r(6689),n=r.n(a);const l=["onChange","value","className","error"];function s(){return s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},s.apply(this,arguments)}function o(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},l=Object.keys(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}class i extends n().Component{constructor(e){super(e),this.state={value:e.value},this.handleChange=this.handleChange.bind(this)}componentDidUpdate(e,t,r){this.props.value!==e.value&&this.setState({value:this.props.value})}handleChange(e){this.props.onChange(e)}render(){let e=this.props,{onChange:t,value:r,className:a,error:i}=e,c=o(e,l),p=this.props.hasOwnProperty("error")&&""!=i,h=this.props.hasOwnProperty("className")?a:"form-control";return n().createElement("div",null,n().createElement("input",s({className:h+" "+(p?"error":""),value:this.state.value,onChange:this.handleChange},c)),p&&n().createElement("p",{className:"error-label"},i))}}},418:(e,t,r)=>{r.d(t,{default:()=>l});var a=r(6689),n=r.n(a);const l=({children:e,className:t=""})=>n().createElement("span",{className:t,dangerouslySetInnerHTML:{__html:e.replace(/\n/g,"<br />")}})},6471:e=>{e.exports=require("awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css")},4656:e=>{e.exports=require("i18n-react/dist/i18n-react")},580:e=>{e.exports=require("prop-types")},6689:e=>{e.exports=require("react")},1929:e=>{e.exports=require("react-select")}},t={};function r(a){var n=t[a];if(void 0!==n)return n.exports;var l=t[a]={exports:{}};return e[a](l,l.exports,r),l.exports}(()=>{r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t}})(),(()=>{r.d=(e,t)=>{for(var a in t)r.o(t,a)&&!r.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})}})(),(()=>{r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})();var a={};return(()=>{r.r(a),r.d(a,{default:()=>p});var e=r(6689),t=r.n(e),n=(r(6471),r(1833)),l=r(401),s=r(418),o=r(2230),i=r(7027);class c extends t().Component{constructor(e){super(e),this.state={answers:e.questions.map((e=>({question_id:e.id,value:null}))),errors:e.errors},this.handleChange=this.handleChange.bind(this),this.hasErrors=this.hasErrors.bind(this),this.handleSubmit=this.handleSubmit.bind(this)}renderQuestion(e){const{answers:r}=this.state,a=r.find((t=>t.question_id===e.id)).value;switch(e.class_name){case"RSVPMemberEmailQuestionTemplate":case"RSVPMemberFirstNameQuestionTemplate":case"RSVPMemberLastNameQuestionTemplate":case"RSVPTextBoxQuestionTemplate":return t().createElement(n.default,{id:e.id,value:a||"",onChange:this.handleChange,className:"form-control",error:this.hasErrors(e.id)});case"RSVPTextAreaQuestionTemplate":return t().createElement("textarea",{id:e.id,value:a||"",className:"form-control",onChange:this.handleChange});case"RSVPLiteralContentQuestionTemplate":return t().createElement("div",null,t().createElement(s.default,null,e.value));case"RSVPCheckBoxListQuestionTemplate":return t().createElement(o.default,{id:e.id,value:a,options:e.values.map((e=>({value:`${e.id}`,label:e.label}))),onChange:this.handleChange,error:this.hasErrors(e.id)});case"RSVPRadioButtonListQuestionTemplate":return t().createElement(i.default,{id:e.id,value:a,onChange:this.handleChange,options:e.values.map((e=>({value:`${e.id}`,label:e.label}))),error:this.hasErrors(e.id),simple:!0});case"RSVPDropDownQuestionTemplate":let r=e.is_country_selector?e.values.map((e=>({value:e.id,label:e.value}))):e.values;return t().createElement(l.default,{id:e.id,isMulti:e.is_multiselect,value:a,onChange:this.handleChange,placeholder:e.empty_string,options:r})}}handleChange(e){let t=[...this.state.answers],{value:r,id:a}=e.target;"datetime"===e.target.type&&(r=r.valueOf()/1e3),t.find((e=>e.question_id===parseInt(a))).value=r,this.setState({answers:t})}hasErrors(e){let{errors:t}=this.state;return e in t?t[e]:""}handleSubmit(e){e.preventDefault();let{onSubmit:t}=this.props,{answers:r}=this.state;t(r)}render(){let{questions:e,onSubmit:r}=this.props;return t().createElement("form",{className:"rsvp-form"},e.map((e=>t().createElement("div",{key:"question_"+e.id,className:"row form-group"},t().createElement("div",{className:"col-md-12"},t().createElement("label",null,t().createElement(s.default,null,e.label)," ",e.is_mandatory&&"*"),this.renderQuestion(e))))),r&&t().createElement("div",{className:"row"},t().createElement("div",{className:"col-md-12"},t().createElement("button",{className:"btn btn-primary",onClick:this.handleSubmit},"Submit"))))}}const p=c})(),a})()));