openstack-uicore-foundation 3.0.67 → 3.0.70

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.
@@ -1 +1 @@
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),l=r.n(n),a=r(6689),s=r.n(a),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,l=function(e,t){if(null==e)return{};var r,n,l={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(l[r]=e[r]);return l}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(l[r]=e[r])}return l}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:l,options:a,id:i,children:d,error:h,disabled:b}=t,{otherChecked:m}=(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=>!a.map((e=>e.value)).includes(e))),_=this.props.hasOwnProperty("error")&&""!==h,O=this.props.hasOwnProperty("disabled")&&1==b;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":"")},a.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:m,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&&m&&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:l().string.isRequired}},401:(e,t,r)=>{r.d(t,{default:()=>h});var n=r(6689),l=r.n(n),a=r(1929),s=r.n(a);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,l=function(e,t){if(null==e)return{};var r,n,l={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(l[r]=e[r]);return l}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(l[r]=e[r])}return l}class h extends l().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:a,clearable:u,disabled:p,overrideCSS:h}=e,b=d(e,i),m=this.props.hasOwnProperty("error")&&""!=a,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+" "+(m?"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 l().createElement("div",null,l().createElement(s(),o({className:g,value:y,onChange:this.handleChange,isClearable:f,isDisabled:v,styles:_},b)),m&&l().createElement("p",{className:"error-label"},a))}}},7027:(e,t,r)=>{r.d(t,{default:()=>c});var n=r(6689),l=r.n(n),a=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,l=function(e,t){if(null==e)return{};var r,n,l={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(l[r]=e[r]);return l}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(l[r]=e[r])}return l}class c extends l().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?l().createElement("label",{className:"form-check-label",htmlFor:`radio_${t}_${e.value}`,style:{display:"inline-block"}},s&&l().createElement(a.default,null,e.label),!s&&e.label):n?l().createElement("label",{className:"form-check-label",htmlFor:`radio_${t}_${e.value}`},e.label):l().createElement("label",{className:"form-check-label",htmlFor:`radio_${t}_${e.value}`,style:{display:"inline-block"}},l().createElement("h4",{style:{marginTop:"0px"}},e.label),l().createElement(a.default,null,e.description))}render(){let e,t=this.props,{onChange:r,value:n,className:a,error:s,disabled:i,options:c,id:p}=t,d=(u(t,o),this.props.hasOwnProperty("error")&&""!=s),h=this.props.hasOwnProperty("inline"),b=this.props.hasOwnProperty("simple"),m=this.props.hasOwnProperty("html"),f=this.props.hasOwnProperty("disabled")&&1==i;return e=h?{paddingLeft:"22px",marginLeft:"20px",float:"left"}:{paddingLeft:"22px"},l().createElement("div",{id:`rl_wrapper_${p}`},c.map((t=>{let r=t.value==n;return l().createElement("div",{className:"form-check abc-radio",key:`radio_key_${p}_${t.value}`,style:e},l().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,b,m))})),d&&l().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),l=r.n(n);const a=["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,l=function(e,t){if(null==e)return{};var r,n,l={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(l[r]=e[r]);return l}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(l[r]=e[r])}return l}class o extends l().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,a),c=this.props.hasOwnProperty("error")&&""!=o,p=this.props.hasOwnProperty("className")?n:"form-control";return l().createElement("div",null,l().createElement("input",s({className:p+" "+(c?"error":""),value:this.state.value,onChange:this.handleChange},u)),c&&l().createElement("p",{className:"error-label"},o))}}},418:(e,t,r)=>{r.d(t,{default:()=>a});var n=r(6689),l=r.n(n);const a=({children:e,className:t=""})=>l().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 l(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){a(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 a(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){a(this,"_getRule",(e=>{let t=[];if(e.hasOwnProperty("sub_question_rules"))for(let r of e.sub_question_rules)t[r.id]=r,t=l(l({},t),this._getRule(r.sub_question));return t})),a(this,"_getRules",(()=>{let e=[];for(let t of this.questions)e=l(l({},e),this._getRule(t));return e})),a(this,"_allowsValues",(e=>u.includes(e.type))),a(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})),a(this,"_getAnswerFor",(e=>{let t=Number.isInteger(e)?e:e.id,r=this.answers[t]||null;return r||null})),a(this,"_hasValue",(e=>""!==e.value)),a(this,"_answerContains",((e,t)=>e.value.split(",").includes(t))),a(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})),a(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})),a(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})),a(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.id]=n||"",e.hasOwnProperty("sub_question_rules"))for(let t of e.sub_question_rules){let e=this._formatQuestionAnswer(t.sub_question);r=l(l({},r),e)}return r})),a(this,"formatAnswers",(()=>{let e={};return this.questions.forEach((t=>{let r=this._formatQuestionAnswer(t);e=l(l({},e),r)})),e})),a(this,"completed",(()=>{let e=!0;for(let t of this.questions)e=e&&this._checkQuestion(t);return e})),this.questions=e,this.originalAnswers=t,this.answers=[];for(let e of this.originalAnswers)this.answers[e.question_id]=e;this.rules=this._getRules()}}},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 l=t[n];if(void 0!==l)return l.exports;var a=t[n]={exports:{}};return e[n](a,a.exports,r),a.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),l=r(580),a=r.n(l),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 b(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){m(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 m(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:l,className:a,formRef:h=null,readOnly:m=!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",null,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(r):n||e.includes(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,l,a,p,h,m,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===(l=e.sub_question_rules)||void 0===l?void 0:l.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!==(a=e.label)&&void 0!==a&&a.endsWith("</p>")?e.label.replace(/<\/p>$/g," <b>*</b></p>"):`${e.label} <b>*</b>`:e.label),t().createElement(d.Field,{name:e.name,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,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===(m=e.sub_question_rules)||void 0===m?void 0:m.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=>b(b({},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}))))),(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=>b(b({},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})))),(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=>b(b({},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})))),(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},x=(e,t,r)=>{var n;e.mandatory&&(e=>!!g.current[e.id])(e)&&(t.hasOwnProperty(e.name)&&""!==t[e.name]||(r[e.name]="Required")),null===(n=e.sub_question_rules)||void 0===n||n.forEach((e=>{x(e.sub_question,t,r)}))};return t().createElement("div",{className:a},t().createElement(d.Form,{onSubmit:e=>{l(e)},initialValues:_,validate:e=>{const t={};return r.map((r=>{x(r,e,t)})),t}},(({handleSubmit:e,form:n,submitting:l,pristine:a,values:s})=>(y=e,t().createElement("form",{onSubmit:e,ref:h},m?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:a().array.isRequired,userAnswers:a().array.isRequired,onAnswerChanges:a().func.isRequired,className:a().string,formRef:a().oneOfType([a().func,a().shape({current:a().any})]),debug:a().bool,buttonText:a().string};const v=f})(),n})()));
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})()));