openstack-uicore-foundation 3.0.85 → 3.0.86

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),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
+ !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,n)=>{n.d(t,{default:()=>d});var r=n(580),a=n.n(r),l=n(6689),s=n.n(l),i=n(4656),o=n.n(i),u=n(418);const c=["onChange","value","className","options","id","children","error","disabled","name"];function p(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},l=Object.keys(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}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)),n=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);n.push(t)}else n=n.filter((t=>t!=e.target.value));else n=n.filter((e=>t.includes(e))),n.push(e.target.value);let r={target:{id:this.props.id,value:n,type:"checkboxlist"}};this.props.onChange(r)}handleOtherCBChange(e){this.setState({otherChecked:e.target.checked})}render(){let e,t=this.props,{onChange:n,value:r,className:a,options:l,id:i,children:d,error:m,disabled:h,name:b}=t,{otherChecked:f}=(p(t,c),this.state),v=this.props.hasOwnProperty("inline"),y=this.props.hasOwnProperty("html"),g=this.props.hasOwnProperty("allowOther"),_=!!r&&r.find((e=>!l.map((e=>e.value)).includes(e))),O=this.props.hasOwnProperty("error")&&""!==m,w=this.props.hasOwnProperty("disabled")&&1==h;return e=v?{paddingLeft:"22px",marginLeft:"20px",float:"left"}:{paddingLeft:"22px",marginTop:"7px"},s().createElement("div",{id:`chl_wrapper_${i}`},s().createElement("div",{className:"checkboxes-div"+(O?" error":"")},l.map((t=>{let n=!!r&&r.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}`,name:b||i,checked:n,disabled:w,onChange:this.handleChange,className:"form-check-input",value:t.value}),s().createElement("label",{className:"form-check-label",htmlFor:`cb_${i}_${t.value}`},y&&s().createElement(u.default,null,t.label),!y&&t.label))})),g&&s().createElement("div",{className:"form-check abc-checkbox",style:e},s().createElement("input",{type:"checkbox",id:"cb_other"+i,checked:f,disabled:w,onChange:this.handleOtherCBChange,className:"form-check-input",value:"other"}),s().createElement("label",{className:"form-check-label",htmlFor:"cb_other"+i},o().translate("general.other"))),g&&f&&s().createElement("div",{style:{paddingLeft:"22px",width:"50%"}},s().createElement("input",{className:"form-control",disabled:w,onChange:this.handleChange,value:_}))),O&&s().createElement("p",{className:"error-label"},m))}}d.propTypes={id:a().string.isRequired}},401:(e,t,n)=>{n.d(t,{default:()=>m});var r=n(6689),a=n.n(r),l=n(1929),s=n.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 n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o.apply(this,arguments)}function u(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?u(Object(n),!0).forEach((function(t){p(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):u(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function p(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function d(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},l=Object.keys(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}class m 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 n={target:{id:this.props.id,value:t,type:"dropdown"}};this.props.onChange(n)}render(){let e=this.props,{onChange:t,value:n,className:r,error:l,clearable:u,disabled:p,overrideCSS:m}=e,h=d(e,i),b=this.props.hasOwnProperty("error")&&""!=l,f=this.props.hasOwnProperty("clearable"),v=this.props.hasOwnProperty("disabled")&&1==p,y=null,g=r;this.props.hasOwnProperty("overrideCSS")&&0!=m||(g="dropdown "+r+" "+(b?"error":"")),y=this.props.isMulti?this.props.options.filter((e=>n.includes(e.value))):n instanceof Object||null==n?n:this.props.options.find((e=>e.value==n));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:_},h)),b&&a().createElement("p",{className:"error-label"},l))}}},7027:(e,t,n)=>{n.d(t,{default:()=>c});var r=n(6689),a=n.n(r),l=n(418),s=n(580),i=n.n(s);const o=["onChange","value","className","error","disabled","options","id","name"];function u(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},l=Object.keys(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}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,n,r,s){return n?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):r?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:n,value:r,className:l,error:s,disabled:i,options:c,id:p,name:d}=t,m=(u(t,o),this.props.hasOwnProperty("error")&&""!=s),h=this.props.hasOwnProperty("inline"),b=this.props.hasOwnProperty("simple"),f=this.props.hasOwnProperty("html"),v=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 n=t.value==r;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:n,onChange:this.handleChange,disabled:v,name:d||`radio_${p}`}),this.getLabel(t,p,h,b,f))})),m&&a().createElement("p",{className:"error-label"},s))}}c.propTypes={id:i().string.isRequired}},1833:(e,t,n)=>{n.d(t,{default:()=>o});var r=n(6689),a=n.n(r);const l=["onChange","value","className","error"];function s(){return s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},s.apply(this,arguments)}function i(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},l=Object.keys(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}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,n){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:n,className:r,error:o}=e,u=i(e,l),c=this.props.hasOwnProperty("error")&&""!=o,p=this.props.hasOwnProperty("className")?r:"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,n)=>{n.d(t,{default:()=>l});var r=n(6689),a=n.n(r);const l=({children:e,className:t=""})=>a().createElement("span",{className:t,dangerouslySetInnerHTML:{__html:e.replace(/\n/g,"<br />")}})},1995:(e,t,n)=>{function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function a(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach((function(t){l(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function l(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}n.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 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})),l(this,"_getAnswerFor",(e=>{let t=Number.isInteger(e)?e:e.id,n=this.answers[t]||null;return n||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 n=this._getAnswerFor(e.parent_question_id);if(n)switch(e.visibility_condition){case p:for(let r of e.answer_values)t=e.answer_values_operator===c?t&&this._answerContains(n,r):t||this._answerContains(n,r);break;case"NotEqual":for(let r of e.answer_values)t=e.answer_values_operator===c?t&&!this._answerContains(n,r):t||!this._answerContains(n,r)}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 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})),l(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})),l(this,"_formatQuestionAnswer",(e=>{var t;let n={},r=null===(t=this.originalAnswers.find((t=>t.question_id===e.id)))||void 0===t?void 0:t.value;if(r&&("CheckBox"===e.type&&(r="false"!==r&&!!r),e.type!==o&&e.type!==s||(r=parseInt(r)),e.type===i&&(r=r.split(",").map((e=>parseInt(e)))||[])),n[e.name]=r||"",e.type===i&&""===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=a(a({},n),e)}return n})),l(this,"formatAnswers",(()=>{let e={};return this.questions.forEach((t=>{let n=this._formatQuestionAnswer(t);e=a(a({},e),n)})),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 n(r){var a=t[r];if(void 0!==a)return a.exports;var l=t[r]={exports:{}};return e[r](l,l.exports,n),l.exports}(()=>{n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t}})(),(()=>{n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}})(),(()=>{n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})();var r={};return(()=>{n.r(r),n.d(r,{default:()=>q});var e=n(6689),t=n.n(e),a=n(580),l=n.n(a),s=n(418),i=n(1833),o=n(401),u=n(7027),c=n(2230),p=n(1995);const d=require("react-final-form"),m=["input","meta","question","className"],h=["input","meta","question"],b=["input","meta","question"],f=["input","meta","question"];function v(){return v=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},v.apply(this,arguments)}function y(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},l=Object.keys(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}const g=e=>{let{input:n,meta:r,question:a,className:l}=e,s=y(e,m);return t().createElement(i.default,v({},n,s,{containerClassName:l,name:a.name,id:a.id,value:n.value,onChange:n.onChange,placeholder:a.placeholder}))},_=e=>{let{input:n,meta:r,question:a}=e,l=y(e,h);return t().createElement(u.default,v({},n,l,{name:a.name,id:a.id,overrideCSS:!0,value:n.value,onChange:n.onChange}))},O=e=>{let{input:n,meta:r,question:a}=e,l=y(e,b);return t().createElement(o.default,v({},n,l,{name:a.name,id:a.id,overrideCSS:!0,value:n.value,onChange:n.onChange}))},w=e=>{let{input:n,meta:r,question:a}=e,l=y(e,f);return t().createElement(c.default,v({},n,l,{id:a.id,name:a.name,value:n.value,onChange:n.onChange}))},E=e=>e?e=>e?void 0:"Required":()=>{},C=({extraQuestions:n,userAnswers:r,onAnswerChanges:a,className:l="questions-form",questionContainerClassName:i="question-container",questionLabelContainerClassName:o="question-label-container",questionControlContainerClassName:u="question-control-container",formRef:c=null,readOnly:m=!1,debug:h=!1,buttonText:b="Submit",RequiredErrorMessage:f="Required",ValidationErrorClassName:v="extra-question-error"})=>{let y=null;const C=(0,e.useRef)({}),[q,N]=(0,e.useState)({});(0,e.useEffect)((()=>{k()}),[n]);const k=()=>{const e=new p.default(n,r);N(e.formatAnswers())},x=({when:e,rule:n,children:r})=>t().createElement(d.Field,{name:e,subscription:{value:!0}},(({input:{value:e}})=>S(n,P(e,n),r))),j=({name:e})=>t().createElement(d.Field,{name:e,subscription:{error:!0,touched:!0}},(({meta:{error:e,touched:n}})=>e&&n?t().createElement("span",{className:v},e):null)),P=(e,t)=>{let n=t.answer_values;if(Array.isArray(e)){if(!e.length)return!1;let r="And"===t.anwer_values_operator;return n.forEach((n=>{r="And"===t.anwer_values_operator?r&&e.includes(parseInt(n)):r||e.includes(parseInt(n))})),r}return n.includes(e.toString())},S=(e,t,n)=>"Visible"===e.visibility?"Equal"===e.visibility_condition?t?n:(delete C.current[e.sub_question.id],null):t?(delete C.current[e.sub_question.id],null):n:"Equal"===e.visibility_condition?t?(delete C.current[e.sub_question.id],null):n:t?n:(delete C.current[e.sub_question.id],null),$=e=>{let n=e.values;var r,a,l,c,p,m;if("Text"===e.type)return t().createElement(t().Fragment,null,t().createElement("div",{key:e.name,ref:t=>C.current[e.id]=t,className:i},t().createElement(s.default,{className:o},e.mandatory?null!==(r=e.label)&&void 0!==r&&r.endsWith("</p>")?e.label.replace(/<\/p>$/g," <b>*</b></p>"):`${e.label} <b>*</b>`:e.label),t().createElement(d.Field,{name:e.name,className:u,question:e,validate:E(e.mandatory),component:g}),t().createElement(j,{name:e.name})),(null===(a=e.sub_question_rules)||void 0===a?void 0:a.length)>0&&e.sub_question_rules.map((n=>t().createElement(x,{when:e.name,rule:n},$(n.sub_question)))));if("TextArea"===e.type)return t().createElement(t().Fragment,null,t().createElement("div",{key:e.name,ref:t=>C.current[e.id]=t,className:i},t().createElement(s.default,{className:o},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,{className:u,validate:E(e.mandatory),name:e.name,id:`${e.id}`,component:"textarea"}),t().createElement(j,{name:e.name})),(null===(c=e.sub_question_rules)||void 0===c?void 0:c.length)>0&&e.sub_question_rules.map((n=>t().createElement(x,{when:e.name,rule:n},$(n.sub_question)))));if("CheckBox"===e.type)return t().createElement(t().Fragment,null,t().createElement("div",{key:e.name,ref:t=>C.current[e.id]=t,style:{display:"flex"},className:i},t().createElement(d.Field,{className:u,name:e.name,id:`${e.id}`,validate:E(e.mandatory),type:"checkbox",component:"input"}),t().createElement(s.default,{className:`eq-checkbox-label ${o}`},e.mandatory?null!==(p=e.label)&&void 0!==p&&p.endsWith("</p>")?e.label.replace(/<\/p>$/g," <b>*</b></p>"):`${e.label} <b>*</b>`:e.label),t().createElement(j,{name:e.name})),(null===(m=e.sub_question_rules)||void 0===m?void 0:m.length)>0&&e.sub_question_rules.map((n=>t().createElement(x,{when:e.name,rule:n},$(n.sub_question)))));if("RadioButtonList"===e.type){var h,b;const r=n.map((e=>({label:e.label,value:e.id})));return t().createElement(t().Fragment,null,t().createElement("div",{key:e.name,ref:t=>C.current[e.id]=t,className:i},t().createElement(s.default,{className:o},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("div",{className:u},t().createElement(d.Field,{name:e.name,options:r,question:e,validate:E(e.mandatory),component:_}),t().createElement(j,{name:e.name}))),(null===(b=e.sub_question_rules)||void 0===b?void 0:b.length)>0&&e.sub_question_rules.map((n=>t().createElement(x,{when:e.name,rule:n},$(n.sub_question)))))}if("ComboBox"===e.type){var f,v;const r=n.map((e=>({label:e.label,value:e.id})));return t().createElement(t().Fragment,null,t().createElement("div",{key:e.name,ref:t=>C.current[e.id]=t,className:i},t().createElement(s.default,{className:o},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(d.Field,{name:e.name,options:r,question:e,validate:E(e.mandatory),className:u,component:O}),t().createElement(j,{name:e.name})),(null===(v=e.sub_question_rules)||void 0===v?void 0:v.length)>0&&e.sub_question_rules.map((n=>t().createElement(x,{when:e.name,rule:n},$(n.sub_question)))))}if("CheckBoxList"===e.type){var y,q;const r=n.map((e=>({label:e.label,value:e.id})));return t().createElement(t().Fragment,null,t().createElement("div",{key:e.name,ref:t=>C.current[e.id]=t,className:i},t().createElement(s.default,{className:o},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,className:u,validate:E(e.mandatory),options:r,question:e,component:w}),t().createElement(j,{name:e.name})),(null===(q=e.sub_question_rules)||void 0===q?void 0:q.length)>0&&e.sub_question_rules.map((n=>t().createElement(x,{when:e.name,rule:n},$(n.sub_question)))))}return null},A=(e,t,n)=>{var r;e.mandatory&&(e=>!!C.current[e.id])(e)&&(t.hasOwnProperty(e.name)&&""!==t[e.name]&&0!==t[e.name].length||(n[e.name]=f)),null===(r=e.sub_question_rules)||void 0===r||r.forEach((e=>{A(e.sub_question,t,n)}))};return Object.keys(q).length?t().createElement("div",{className:l},t().createElement(d.Form,{validate:e=>{const t={};return n.forEach((n=>{A(n,e,t)})),t},onSubmit:e=>{a(e)},initialValues:q},(({handleSubmit:e,form:r,submitting:a,pristine:l,values:s})=>(y=e,t().createElement("form",{onSubmit:e,ref:c},m?t().createElement("fieldset",{disabled:"disabled"},n.map((e=>$(e)))):n.map((e=>$(e))),h&&t().createElement("pre",null,JSON.stringify(s,0,2)))))),!c&&t().createElement("button",{type:"submit",onClick:e=>{y(e)},style:{marginTop:10}},b)):null};C.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,questionContainerClassName:l().string,questionLabelContainerClassName:l().string,questionControlContainerClassName:l().string,RequiredErrorMessage:l().string,ValidationErrorClassName:l().string};const q=C})(),r})()));
@@ -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:()=>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})()));
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","name"];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,name:b}=t,{otherChecked:f}=(h(t,p),this.state),v=this.props.hasOwnProperty("inline"),g=this.props.hasOwnProperty("html"),y=this.props.hasOwnProperty("allowOther"),O=!!a&&a.find((e=>!l.map((e=>e.value)).includes(e))),C=this.props.hasOwnProperty("error")&&""!==d,E=this.props.hasOwnProperty("disabled")&&1==m;return e=v?{paddingLeft:"22px",marginLeft:"20px",float:"left"}:{paddingLeft:"22px",marginTop:"7px"},s().createElement("div",{id:`chl_wrapper_${o}`},s().createElement("div",{className:"checkboxes-div"+(C?" 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}`,name:b||o,checked:r,disabled:E,onChange:this.handleChange,className:"form-check-input",value:t.value}),s().createElement("label",{className:"form-check-label",htmlFor:`cb_${o}_${t.value}`},g&&s().createElement(c.default,null,t.label),!g&&t.label))})),y&&s().createElement("div",{className:"form-check abc-checkbox",style:e},s().createElement("input",{type:"checkbox",id:"cb_other"+o,checked:f,disabled:E,onChange:this.handleOtherCBChange,className:"form-check-input",value:"other"}),s().createElement("label",{className:"form-check-label",htmlFor:"cb_other"+o},i().translate("general.other"))),y&&f&&s().createElement("div",{style:{paddingLeft:"22px",width:"50%"}},s().createElement("input",{className:"form-control",disabled:E,onChange:this.handleChange,value:O}))),C&&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","name"];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,name:u}=t,d=(c(t,i),this.props.hasOwnProperty("error")&&""!=s),m=this.props.hasOwnProperty("inline"),b=this.props.hasOwnProperty("simple"),f=this.props.hasOwnProperty("html"),v=this.props.hasOwnProperty("disabled")&&1==o;return e=m?{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:v,name:u||`radio_${h}`}),this.getLabel(t,h,m,b,f))})),d&&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})()));