@kbss-cvut/s-forms 0.7.1-beta-4f299f9.0 → 0.7.1-beta-eef66f7.0

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,2 +1,2 @@
1
- import"core-js/modules/es.array.iterator.js";import"core-js/modules/es.promise.js";import"core-js/modules/web.dom-collections.iterator.js";import e,{useMemo as t,useState as s,useEffect as n,useContext as o,useRef as r,forwardRef as i}from"react";import a from"prop-types";import"core-js/modules/es.object.assign.js";import*as l from"jsonld";import*as c from"jsonld-utils";import"core-js/modules/es.array.sort.js";import u from"@kbss-cvut/tsort";import p from"react-dom";import{Form as m,FormGroup as d,FormControl as h,FormText as E,OverlayTrigger as g,Tooltip as S,Col as A,Row as _,Button as f,Badge as v,Overlay as T,Popover as N,ListGroup as C,ListGroupItem as I,Card as O,Accordion as w,ButtonToolbar as L,Nav as R,NavItem as b,NavLink as y,Modal as V}from"react-bootstrap";import"core-js/modules/esnext.set.add-all.js";import"core-js/modules/esnext.set.delete-all.js";import"core-js/modules/esnext.set.difference.js";import"core-js/modules/esnext.set.every.js";import"core-js/modules/esnext.set.filter.js";import"core-js/modules/esnext.set.find.js";import"core-js/modules/esnext.set.intersection.js";import"core-js/modules/esnext.set.is-disjoint-from.js";import"core-js/modules/esnext.set.is-subset-of.js";import"core-js/modules/esnext.set.is-superset-of.js";import"core-js/modules/esnext.set.join.js";import"core-js/modules/esnext.set.map.js";import"core-js/modules/esnext.set.reduce.js";import"core-js/modules/esnext.set.some.js";import"core-js/modules/esnext.set.symmetric-difference.js";import"core-js/modules/esnext.set.union.js";import D from"react-datepicker";import{format as H}from"date-fns";import x from"yasgui-yasqe";import"@triply/yasgui/build/yasgui.min.css";import U from"inputmask-core";import{IntelligentTreeSelect as M}from"intelligent-tree-select/lib/components/IntelligentTreeSelect.js";import"intelligent-tree-select/lib/styles.css";import"core-js/modules/es.regexp.to-string.js";import{jsx as P,jsxs as q}from"react/jsx-runtime";import"core-js/modules/es.parse-int.js";import"core-js/modules/es.regexp.exec.js";import"core-js/modules/es.string.replace.js";import F from"javascript-time-ago";import Q from"javascript-time-ago/locale/en";import z from"javascript-time-ago/locale/cs";import{motion as j}from"framer-motion";import{Rings as k}from"react-loader-spinner";import"core-js/modules/es.string.trim.js";import{useIntl as B,IntlProvider as W}from"react-intl";import"core-js/modules/es.regexp.constructor.js";import Y from"classnames";function X(){return X=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var n in s)Object.prototype.hasOwnProperty.call(s,n)&&(e[n]=s[n])}return e},X.apply(this,arguments)}function G(e,t){if(null==e)return{};var s,n,o={},r=Object.keys(e);for(n=0;n<r.length;n++)t.indexOf(s=r[n])>=0||(o[s]=e[s]);return o}class J{static log(e){console.log(e)}static warn(e){console.warn?console.warn(e):console.log("WARNING: "+e)}static error(e){console.error?console.error(e):console.log("ERROR: "+e)}}const K=["children"],Z=/*#__PURE__*/e.createContext({}),$=s=>{let{children:n}=s,o=G(s,K),r=[];const i=async(e,t)=>{const s=r[e];if(s&&s.length)return s;const n=await o.fetchTypeAheadValues(t);return n.length?l.frame(n,{},{}).then(t=>{const s=t["@graph"];return r.push(Object.assign({},s,{[e]:s})),s}):(J.warn(`No data received when loading options using id ${e}`),[])},a=e=>r[e]||[],c=t(()=>({loadFormOptions:i,getOptions:a}),[i,a]);/*#__PURE__*/return e.createElement(Z.Provider,X({value:c},o),n)};var ee;$.propTypes={children:a.element.isRequired,fetchTypeAheadValues:a.func};class te{}ee=te,te.COLUMN_COUNT=12,te.INPUT_LENGTH_THRESHOLD=50,te.DATETIME_NUMBER_FORMAT="x",te.FORM="http://onto.fel.cvut.cz/ontologies/documentation/form",te.HAS_SUBQUESTION="http://onto.fel.cvut.cz/ontologies/documentation/has_related_question",te.HAS_ANSWER="http://onto.fel.cvut.cz/ontologies/documentation/has_answer",te.HAS_OPTION="http://onto.fel.cvut.cz/ontologies/form/has-possible-value",te.HAS_OPTIONS_QUERY="http://onto.fel.cvut.cz/ontologies/form/has-possible-values-query",te.HAS_VALUE_TYPE="http://onto.fel.cvut.cz/ontologies/form/has-value-type",te.IS_DISABLED="http://onto.fel.cvut.cz/ontologies/aviation/form-376/is-disabled",te.INPUT_MASK="http://onto.fel.cvut.cz/ontologies/form/has-input-mask",te.LAYOUT_CLASS="http://onto.fel.cvut.cz/ontologies/form-layout/has-layout-class",te.LAYOUT={FORM:"form",QUESTION_SECTION:"section",WIZARD_STEP:"wizard-step",DATE:"date",TIME:"time",DATETIME:"datetime",TEXT:"text",TEXTAREA:"textarea",CHECKBOX:"checkbox",QUESTION_TYPEAHEAD:"type-ahead",MASKED_INPUT:"masked-input",ANSWERABLE:"answerable",SPARQL:"sparql",TURTLE:"ttl",DISABLED:"disabled",HIDDEN:"hidden",COLLAPSED:"collapsed",EMPHASISED:"emphasised",EMPHASISE_ON_RELEVANT:"emphasise-on-relevant",CATEGORY:["category-1","category-2","category-3","category-4","category-5"]},te.HAS_INITIAL_INPUT_LENGTH="http://onto.fel.cvut.cz/ontologies/form-layout/has-initial-input-length",te.VALUE_TYPE_CODE="code",te.VALUE_TYPE_TEXT="text",te.GENERATED_ROW_SIZE=1,te.HAS_QUESTION_ORIGIN="http://onto.fel.cvut.cz/ontologies/form/has-question-origin",te.HAS_ANSWER_ORIGIN="http://onto.fel.cvut.cz/ontologies/form/has-answer-origin",te.HAS_DATA_VALUE="http://onto.fel.cvut.cz/ontologies/documentation/has_data_value",te.HAS_OBJECT_VALUE="http://onto.fel.cvut.cz/ontologies/documentation/has_object_value",te.HELP_DESCRIPTION="http://purl.org/dc/elements/1.1/description",te.SOURCE="http://purl.org/dc/elements/1.1/source",te.XSD={MAX_EXCLUSIVE:"http://www.w3.org/2001/XMLSchema#maxExclusive",MAX_INCLUSIVE:"http://www.w3.org/2001/XMLSchema#maxInclusive",MIN_EXCLUSIVE:"http://www.w3.org/2001/XMLSchema#minExclusive",MIN_INCLUSIVE:"http://www.w3.org/2001/XMLSchema#minInclusive",INT:"http://www.w3.org/2001/XMLSchema#int",INTEGER:"http://www.w3.org/2001/XMLSchema#integer",NEGATIVE_INTEGER:"http://www.w3.org/2001/XMLSchema#negativeInteger",NON_NEGATIVE_INTEGER:"http://www.w3.org/2001/XMLSchema#nonNegativeInteger",NON_POSITIVE_INTEGER:"http://www.w3.org/2001/XMLSchema#nonPositiveInteger",POSITIVE_INTEGER:"http://www.w3.org/2001/XMLSchema#positiveInteger",BOOLEAN:"http://www.w3.org/2001/XMLSchema#boolean"},te.STEP="http://onto.fel.cvut.cz/ontologies/form/step",te.PATTERN="http://onto.fel.cvut.cz/ontologies/form/pattern",te.ACCEPTS_ANSWER_VALUE="http://onto.fel.cvut.cz/ontologies/form/accepts-answer-value",te.ACCEPTS="http://onto.fel.cvut.cz/ontologies/form/accepts",te.HAS_DATATYPE="http://onto.fel.cvut.cz/ontologies/form/has-datatype",te.HAS_LAYOUT_CLASS="http://onto.fel.cvut.cz/ontologies/form/has-layout-class",te.HAS_POSSIBLE_VALUES_QUERY="http://onto.fel.cvut.cz/ontologies/form/has-possible-values-query",te.HAS_REQUIRED_VALUE="http://onto.fel.cvut.cz/ontologies/form/has-required-value",te.HAS_TESTED_QUESTION="http://onto.fel.cvut.cz/ontologies/form/has-tested-question",te.HAS_TESTED_FORM="http://onto.fel.cvut.cz/ontologies/form/has-tested-form",te.HAS_UNIT="http://onto.fel.cvut.cz/ontologies/form/has-unit",te.HAS_VALID_ANSWER="http://onto.fel.cvut.cz/ontologies/form/has-valid-answer",te.IS_RELEVANT_IF="http://onto.fel.cvut.cz/ontologies/form/is-relevant-if",te.ACCEPTS_VALIDATION_VALUE="http://onto.fel.cvut.cz/ontologies/form/accepts-validation-value",te.HAS_VALIDATION_MESSAGE="http://onto.fel.cvut.cz/ontologies/form/has-validation-message",te.NEGATIVE_CONDITION="http://onto.fel.cvut.cz/ontologies/form/negative-condition",te.REQUIRES_ANSWER="http://onto.fel.cvut.cz/ontologies/form/requires-answer",te.USED_ONLY_FOR_COMPLETENESS="http://onto.fel.cvut.cz/ontologies/form/used-only-for-completeness",te.REQUIRES_ANSWER_DESCRIPTION_IF="http://onto.fel.cvut.cz/ontologies/form/requires-answer-description-if",te.REQUIRES_ANSWER_IF="http://onto.fel.cvut.cz/ontologies/form/requires-answer-if",te.HAS_PRECEDING_QUESTION="http://onto.fel.cvut.cz/ontologies/form/has-preceding-question",te.HAS_PRECEDING_VALUE="http://onto.fel.cvut.cz/ontologies/form/has-preceding-value",te.HAS_MEDIA_CONTENT="http://onto.fel.cvut.cz/ontologies/form/has-media-content",te.CONDITION="http://onto.fel.cvut.cz/ontologies/form/condition",te.OR_CONDITION="http://onto.fel.cvut.cz/ontologies/form/or-condition",te.HAS_SUB_CONDITION="http://onto.fel.cvut.cz/ontologies/form/has-sub-condition",te.HAS_PATTERN="http://onto.fel.cvut.cz/ontologies/form-lt/has-pattern",te.HAS_DECLARED_PREFIX="http://onto.fel.cvut.cz/ontologies/form-spin/has-declared-prefix",te.PREFIX="http://www.w3.org/ns/shacl#prefix",te.NAMESPACE="http://www.w3.org/ns/shacl#namespace",te.HAS_COMMENT="http://onto.fel.cvut.cz/ontologies/form/has-comment",te.HAS_COMMENT_VALUE="http://onto.fel.cvut.cz/ontologies/form/has-comment-value",te.HAS_AUTHOR="http://onto.fel.cvut.cz/ontologies/form/has-author",te.HAS_TIMESTAMP="http://onto.fel.cvut.cz/ontologies/form/has-timestamp",te.TIME_FORMAT="http://onto.fel.cvut.cz/ontologies/form/time-format",te.DATE_FORMAT="http://onto.fel.cvut.cz/ontologies/form/date-format",te.DATETIME_FORMAT="http://onto.fel.cvut.cz/ontologies/form/datetime-format",te.NOT_ANSWERED_QUESTION="http://onto.fel.cvut.cz/ontologies/form/not-answered-question",te.ANSWERED_QUESTION="http://onto.fel.cvut.cz/ontologies/form/answered-question",te.HAS_VALIDATION_SEVERITY="http://onto.fel.cvut.cz/ontologies/form/has-validation-severity",te.RDFS_LABEL=c.RDFS_LABEL,te.RDFS_COMMENT=c.RDFS_COMMENT,te.DEFAULT_HAS_CHILD=c.DEFAULT_HAS_CHILD,te.BROADER="http://www.w3.org/2004/02/skos/core#broader",te.HAS_NON_SELECTABLE_VALUE="http://onto.fel.cvut.cz/ontologies/form/has-non-selectable-value",te.PROVIDES_DEREFERENCEABLE_ANSWER_VALUES="http://onto.fel.cvut.cz/ontologies/form/provides-dereferenceable-answer-values",te.ICONS={QUESTION_COMMENTS:"questionComments",QUESTION_HELP:"questionHelp",QUESTION_LINK:"questionLink"},te.ICON_BEHAVIOR={ENABLE:"enable",DISABLE:"disable",ON_HOVER:"onHover"},te.DEFAULT_OPTIONS={icons:[{id:ee.ICONS.QUESTION_HELP,behavior:ee.ICON_BEHAVIOR.ENABLE},{id:ee.ICONS.QUESTION_COMMENTS,behavior:ee.ICON_BEHAVIOR.ON_HOVER},{id:ee.ICONS.QUESTION_LINK,behavior:ee.ICON_BEHAVIOR.ON_HOVER}]},te.LANG={cs:{locale:"cs",label:"Čestina"},en:{locale:"en",label:"English"}},te.VALIDATION_SEVERITY={ERROR:"error",WARNING:"warning"};class se{static getStringHash(e){let t=0;const s=e?e.length:0;if(0===s)return t;for(let n=0;n<s;n++)t=(t<<5)-t+e.charCodeAt(n),t&=t;return t}static asArray(e){return e?e.constructor===Array?e:[e]:[]}static findQuestionById(e,t,s,n,o){if(s&&t["@id"]===e)return t;const r=se.asArray(t[te.HAS_SUBQUESTION]);if(n)for(let t of r){let s=se.findQuestionById(e,t,!0,!1,!1);if(s)return s}if(o)for(let t of r){let s=se.findQuestionById(e,t,!1,!0,!0);if(s)return s}return null}static findKeyInObjects(e,t){for(let s=0;s<e.length;s++)for(let n=0;n<t.length;n++)if(e[s].hasOwnProperty(t[n]))return t[n];return null}}class ne{static putObject(e,t){ne.objectMap[e]=t}static getObject(e){return ne.objectMap[e]}}ne.objectMap={};class oe{static getFirstObject(e,t){const s=l.getValues(e,t);return 0===s.length?null:s[0]}static compareValues(e,t){return t="object"==typeof t?t:{"@value":t},!!((e="object"==typeof e?e:{"@value":e})&&e["@value"]&&t&&t["@value"]&&("string"==typeof e["@value"]?e["@value"]:JSON.stringify(e["@value"]))===("string"==typeof t["@value"]?t["@value"]:JSON.stringify(t["@value"])))||l.compareValues(e,t)}static toplogicalSort(e,t){let s;do{s=!1;for(let n=0;n<e.length;n++)for(let o=n;o<e.length;o++)if(e[n][t]&&("object"==typeof e[n][t]?e[n][t]["@id"]:e[n][t])===e[o]["@id"]){const t=e[n];e[n]=e[o],e[o]=t,s=!0;break}}while(s);return e}static orderPreservingToplogicalSort(e,t){const s=u(),n={};for(let o=0;o<e.length;o++){let r=e[o]["@id"];s.add(r),n[r]=e[o],se.asArray(e[o][t]).map(e=>"object"==typeof e?e["@id"]:e).map(e=>[e,r]).forEach(e=>s.add(e))}let o=s.sort();for(let t=0;t<o.length;t++)e[t]=n[o[t]];return e}static getCompareLocalizedLabelFunction(e){return(t,s)=>{const n=c.getLocalized(t[c.RDFS_LABEL],e),o=c.getLocalized(s[c.RDFS_LABEL],e);return n<o?-1:n>o?1:0}}static orderByLocalizedLabels(e,t){return e.sort(oe.getCompareLocalizedLabelFunction(t))}static checkId(e,t){if(void 0!==e)return e.constructor===Array?!!e.find(e=>e["@id"]===t):e.constructor===Object?e["@id"]===t:void 0}}class re{static isForm(e){return c.hasValue(e,te.LAYOUT_CLASS,te.LAYOUT.FORM)}static isWizardStep(e){return c.hasValue(e,te.LAYOUT_CLASS,te.LAYOUT.WIZARD_STEP)}static isSection(e){return c.hasValue(e,te.LAYOUT_CLASS,te.LAYOUT.QUESTION_SECTION)}static isAnswerable(e){return c.hasValue(e,te.LAYOUT_CLASS,te.LAYOUT.ANSWERABLE)}static isTypeahead(e){return c.hasValue(e,te.LAYOUT_CLASS,te.LAYOUT.QUESTION_TYPEAHEAD)}static getPossibleValuesQuery(e){return c.getJsonAttValue(e,te.HAS_OPTIONS_QUERY)}static isDisabled(e){return c.hasValue(e,te.LAYOUT_CLASS,te.LAYOUT.DISABLED)}static isHidden(e){return c.hasValue(e,te.LAYOUT_CLASS,te.LAYOUT.HIDDEN)}static isTextarea(e,t){return t&&t.length>te.INPUT_LENGTH_THRESHOLD&&!re.isTypeahead(e)||c.hasValue(e,te.LAYOUT_CLASS,te.LAYOUT.TEXTAREA)}static isText(e){return c.hasValue(e,te.LAYOUT_CLASS,te.LAYOUT.TEXT)}static isCalendar(e){return re.isDate(e)||re.isTime(e)||re.isDateTime(e)}static isDate(e){return c.hasValue(e,te.LAYOUT_CLASS,te.LAYOUT.DATE)}static isTime(e){return c.hasValue(e,te.LAYOUT_CLASS,te.LAYOUT.TIME)}static isDateTime(e){return c.hasValue(e,te.LAYOUT_CLASS,te.LAYOUT.DATETIME)}static isCheckbox(e){return c.hasValue(e,te.LAYOUT_CLASS,te.LAYOUT.CHECKBOX)}static isMaskedInput(e){return c.hasValue(e,te.LAYOUT_CLASS,te.LAYOUT.MASKED_INPUT)}static isSparqlInput(e){return c.hasValue(e,te.LAYOUT_CLASS,te.LAYOUT.SPARQL)}static isTurtleInput(e){return c.hasValue(e,te.LAYOUT_CLASS,te.LAYOUT.TURTLE)}static isCollapsed(e){return c.hasValue(e,te.LAYOUT_CLASS,te.LAYOUT.COLLAPSED)}static isEmphasised(e){return c.hasValue(e,te.LAYOUT_CLASS,te.LAYOUT.EMPHASISED)}static getCategory(e){return te.LAYOUT.CATEGORY.find(t=>c.hasValue(e,te.LAYOUT_CLASS,t))}static resolveValue(e){return e?e[te.HAS_OBJECT_VALUE]?e[te.HAS_OBJECT_VALUE]["@id"]:c.getJsonAttValue(e,te.HAS_DATA_VALUE):null}static resolveValueObject(e){return e?e[te.HAS_OBJECT_VALUE]?se.asArray(e[te.HAS_OBJECT_VALUE])[0]:e[te.HAS_DATA_VALUE]?se.asArray(e[te.HAS_DATA_VALUE])[0]:null:null}static isRelevant(e){if(!e[te.IS_RELEVANT_IF])return!0;for(let t of se.asArray(e[te.IS_RELEVANT_IF]))if(!re.testCondition(t))return!1;return!0}static hasValidationLogic(e){return!!e[te.REQUIRES_ANSWER]||!!e[te.REQUIRES_ANSWER_IF]||!!e[te.PATTERN]}static isValid(e){if(!1===e[te.HAS_VALID_ANSWER])return!1;for(const t of se.asArray(e[te.HAS_SUBQUESTION]))if(!1===this.isValid(t))return!1;return!0}static testOrCondition(e){const t=e[te.HAS_SUB_CONDITION];t||console.warn("Or condition does not have any sub-condition !");for(const e of this._getMappedObjectsArray(t))if(this.testCondition(e))return!0;return!1}static testCondition(e){const t=e[te.ACCEPTS_VALIDATION_VALUE],s=e[te.ACCEPTS_ANSWER_VALUE],n=e[te.ACCEPTS],o=e[te.HAS_TESTED_QUESTION];let r;if(e[te.HAS_SUB_CONDITION])return this.testOrCondition(e);if(t&&s&&console.warn("Support for validation and requirement constraints at same time is not implemented !"),n&&o){const e=se.asArray(n);if(1!==e.length&&console.warn("Support for multiple accepts values is not implemented !"),e[0]["@id"]===te.ANSWERED_QUESTION){(s||t)&&console.warn("Support for accepted answer/validations values is not implemented !");for(const e of this._getMappedObjectsArray(o))if(!this.hasAnswer(e))return!1;return!0}console.warn("No support to accept question of type "+e[0]["@id"]+" !")}if(t&&o){const e=se.asArray(t);(1!==e.length||!0!==e[0]&&"true"!==e[0])&&console.warn('Validation values other than "true" are not implemented !');for(const e of se.asArray(o)){if(r=ne.getObject(e["@id"]),void 0===r)return console.warn("Questions is not loaded in an object map."),!0;if(!1===this.isValid(r))return!1}return!0}if(s&&o){r=ne.getObject(o["@id"]);for(const e of se.asArray(s)){if(!r)return console.warn("Question is not defined."),!0;if(!r.hasOwnProperty(te.HAS_ANSWER))return!1;const t=l.getValues(r,te.HAS_ANSWER);if(0===t.length)return!1;const s=re.resolveValueObject(t[0]);if(s&&e&&s.hasOwnProperty("@value")&&e.hasOwnProperty("@id")&&s["@value"]==e["@id"])return!0;if(oe.compareValues(s,e))return!0}}return!1}static _getMappedObjectsArray(e,t){return se.asArray(e).map(e=>{const s=ne.getObject(e["@id"]);return void 0===s?(console.warn((t||"Object")+' "'+e["@id"]+'" is not loaded in an object map.'),null):s}).filter(function(e){return null!==e})}static hasAnswer(e){if(!e)return!1;if(e.hasOwnProperty(te.HAS_ANSWER)){const t=l.getValues(e,te.HAS_ANSWER);if(t.length){const e=re.resolveValueObject(t[0]);if(e&&(e["@value"]||e["@id"]))return!0}}for(const t of se.asArray(e[te.HAS_SUBQUESTION]))if(re.hasAnswer(t))return!0;return!1}static resolveDateTimeFormat(e,t,s){const n="number"==typeof t,o=re.isDate(e),r=re.isTime(e),i=re.isDateTime(e);return n?te.DATETIME_NUMBER_FORMAT:o?e[te.DATE_FORMAT]||s.dateFormat:r?e[te.TIME_FORMAT]||s.timeFormat:i?e[te.DATETIME_FORMAT]||s.dateTimeFormat:null}}const ie={},ae=[],le=/*#__PURE__*/e.createContext({}),ce=o=>{const[r,i]=s(o.data||ie),[a,l]=s(o.formQuestions||ae);n(()=>{if(o.isFormValid){const e=re.isValid(r);o.isFormValid(e)}},[]),n(()=>{i(o.data||ie),l(o.formQuestions||ae)},[o.data,o.formQuestions]);const c=e=>{e&&i(Object.assign({},r,e))},u=(e,t)=>{if(!t||e<0||e>=a.length)return;const s=[...a];if(s[e]=Object.assign({},s[e],t),l(s),o.isFormValid){const e=re.isValid(r);o.isFormValid(e)}},p=()=>r,m=e=>null==e?a:a[e],d=t(()=>({updateData:c,updateFormQuestionsData:u,getData:p,getFormQuestionsData:m}),[m,p]);/*#__PURE__*/return e.createElement(le.Provider,X({value:d},o),o.children)};ce.propTypes={children:a.element.isRequired,data:a.object.isRequired,formQuestions:a.array.isRequired,isFormValid:a.func};class ue extends e.Component{constructor(e){super(e),this.state={cursorPosition:0}}focus(){p.findDOMNode(this.input).focus()}getInputDOMNode(){return p.findDOMNode(this.input)}componentDidUpdate(e,t,s){(this.fieldDidShrink(e)||this.fieldDidExpand(e))&&this.updateFieldCursorPosition()}fieldDidExpand(e){return"textarea"===this.props.type&&"textarea"!==e.type}fieldDidShrink(e){return"text"===this.props.type&&"text"!==e.type}updateFieldCursorPosition(){this.focus(),this.getInputDOMNode().setSelectionRange(this.state.cursorPosition,this.state.cursorPosition)}saveCursorPosition(e){this.props.onChange(e),this.setState({cursorPosition:e.target.selectionStart})}render(){switch(this.props.type){case"radio":return this._renderRadio();case"checkbox":return this._renderCheckbox();case"select":return this._renderSelect();case"textarea":return this._renderTextArea();default:return this._renderInput()}}_renderCheckbox(){/*#__PURE__*/return e.createElement(m.Group,{size:"small",controlId:Math.floor(Math.random()*Number.MAX_SAFE_INTEGER)},/*#__PURE__*/e.createElement(m.Check,X({type:"checkbox",ref:e=>this.input=e},this.props,{label:this.props.label})))}_renderRadio(){/*#__PURE__*/return e.createElement(d,{size:"small"},/*#__PURE__*/e.createElement(m.Check,X({type:"radio",ref:e=>this.input=e},this.props,{label:this.props.label})))}_renderSelect(){/*#__PURE__*/return e.createElement(d,{size:"small"},this._renderLabel(),/*#__PURE__*/e.createElement(h,X({as:"select",ref:e=>this.input=e},this.props),this.props.children),this.props.validation&&/*#__PURE__*/e.createElement(h.Feedback,null),this._renderHelp())}_renderLabel(){return this.props.label?/*#__PURE__*/e.createElement(m.Label,null,this.props.label):null}_renderTextArea(){/*#__PURE__*/return e.createElement(d,{size:"small"},this._renderLabel(),/*#__PURE__*/e.createElement(h,X({ref:e=>this.input=e,as:"textarea"},this.props,{onChange:e=>this.saveCursorPosition(e)})),this.props.validation&&/*#__PURE__*/e.createElement(h.Feedback,null),this._renderHelp())}_renderHelp(t=""){return this.props.help?/*#__PURE__*/e.createElement(E,{className:t},this.props.help):null}_hasValidationWarning(){return this.props.validation&&"warning"===this.props.validation}_hasValidationError(){return this.props.validation&&"error"===this.props.validation}_hasValidationSuccess(){return this.props.validation&&"success"===this.props.validation}_getValidationClassname(){return this.props.validation&&"error"===this.props.validation?"is-invalid":this.props.validation&&"warning"===this.props.validation?"is-warning":""}_renderInput(){/*#__PURE__*/return e.createElement(d,{size:"small"},this._renderLabel(),/*#__PURE__*/e.createElement(h,X({className:this._getValidationClassname(),ref:e=>this.input=e,as:"input"},this.props,{onChange:e=>this.saveCursorPosition(e)})),(this._hasValidationSuccess()||this._hasValidationWarning())&&this._renderHelp(this._getValidationClassname()),this._hasValidationError()&&/*#__PURE__*/e.createElement(h.Feedback,{type:"invalid"},this.props.help),!this.props.validation&&this._renderHelp())}}ue.propTypes={type:a.string,label:a.object,value:a.any,onChange:a.func,help:a.string,validation:a.oneOf(["success","warning","error"])},ue.defaultProps={type:"text"};const pe=["children"],me=/*#__PURE__*/e.createContext({}),de={components:{inputComponent:ue},componentsOptions:{dateTimeAnswer:{dateFormat:"yyyy-MM-dd",timeFormat:"HH:mm",dateTimeFormat:"yyyy-MM-dd HH:mm:ss"},readOnly:!1},options:{intl:{locale:"en"},i18n:{"wizard.next":"Next","wizard.previous":"Previous","section.collapse":"Collapse","section.expand":"Expand"},modalView:!1,modalProps:{},horizontalWizardNav:!0,wizardStepButtons:!0,enableForwardSkip:!1,startingStep:0}},he=s=>{let{children:n}=s,o=G(s,pe);const r=t(()=>({inputComponent:o.components&&o.components.inputComponent||de.components.inputComponent,componentsOptions:Object.assign({},de.componentsOptions,o.componentsOptions),options:Object.assign({},de.options,o.options),mapComponent:o.mapComponent}),[o]);/*#__PURE__*/return e.createElement(me.Provider,{value:r},n)};he.propTypes={children:a.element.isRequired,components:a.object,mapComponent:a.func,options:a.object};var Ee,ge={"@graph":[{"@type":"http://onto.fel.cvut.cz/ontologies/documentation/question","http://onto.fel.cvut.cz/ontologies/form-layout/has-layout-class":"form","http://onto.fel.cvut.cz/ontologies/documentation/has_related_question":[{"http://onto.fel.cvut.cz/ontologies/form-layout/has-layout-class":["wizard-step","section"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@language":"en","@value":"Description"},{"@language":"cs","@value":"Popis"}],"http://onto.fel.cvut.cz/ontologies/documentation/has_related_question":[{"@type":"http://onto.fel.cvut.cz/ontologies/documentation/question","http://onto.fel.cvut.cz/ontologies/form-layout/has-layout-class":["textarea"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@language":"en","@value":"Description"},{"@language":"cs","@value":"Popis"}],"http://onto.fel.cvut.cz/ontologies/documentation/has_answer":{"@type":"http://onto.fel.cvut.cz/ontologies/documentation/answer","http://onto.fel.cvut.cz/ontologies/documentation/has_data_value":""}}]}]}]};class Se{static generateForm(){return JSON.parse(JSON.stringify(ge))}}const Ae={root:{[te.HAS_LAYOUT_CLASS]:te.FORM},expandProperties:[te.HAS_SUBQUESTION,te.IS_RELEVANT_IF,te.HAS_ANSWER,te.HAS_DECLARED_PREFIX,te.HAS_OPTION,te.HAS_COMMENT]};class _e{static customFrame(e,t,s){if(arguments.length<2)return l.nextTick(function(){s(new TypeError("Could not frame, too few arguments."))});null===t&&(t=Ae),l.flatten(e,null,null,(e,t)=>{})}static expandStructure(e){let t;const s={};e["@graph"].forEach(e=>{s[e["@id"]]=e,re.isForm(e)&&(t=e)});try{this._expandGraph(t,Ae,s)}catch(e){console.error("Error '"+e+"' occured, while trying to apply frame-ing with custom shape.")}return s}static _expandGraph(e,t,s){let n,o,r;t.expandProperties.forEach(i=>{if(e.hasOwnProperty(i)){e[i]=se.asArray(e[i]),n=e[i];for(let e=0;e<n.length;e++)r=this._getId(n[e]),o=s[r],void 0!==o?(n[e]=o,this._expandGraph(o,t,s)):console.warn("object with @id "+r+" was not defined in input data.")}})}static _getId(e){return"string"==typeof e?e:e["@id"]}}Ee=_e,_e.compressStructure=e=>{let t=[],s=new Set;return t=Ee._compressGraph(e,t,s),t=t.sort((e,t)=>e["@id"]&&t["@id"]?e["@id"].localeCompare(t["@id"]):0),t},_e._compressGraph=(e,t,s)=>(s.has(e["@id"])||(t.push(e),s.add(e["@id"])),Ae.expandProperties.forEach(n=>{if(e.hasOwnProperty(n)){const o=e[n];for(let r=0;r<o.length;r++){const i=o[r];void 0!==i&&(o[r]=i,t=Ee._compressGraph(i,t,s),e[n][r]={"@id":i["@id"]})}}}),t);class fe{static constructDefaultForm(e){const t=Se.generateForm();return fe._constructFormQuestions(t,e)}static async constructForm(e,t){let s,n;return l.flatten(e,{}).then(e=>{try{const[o,r]=fe._constructFormQuestions(e,t);n=r,s={formQuestions:o}}catch(e){console.error("Error while constructing form questions from the provided structure:",e)}if(!n){const[e,o]=fe.constructDefaultForm(t);n=o,s={formQuestions:e}}return[s,n]}).catch(e=>(console.error("Failed to flatten the JSON-LD structure. Expected to transform a nested JSON-LD document into a flattened array of node objects:",e),[s,n]))}static _constructFormQuestions(e,t){let s,n,o,r=[];if(void 0!==e["@graph"][0]["@id"]?(o=_e.expandStructure(e),Object.keys(o).map(e=>{ne.putObject(e,o[e])})):console.warn("default form is constructed."),s=e["@graph"].find(e=>re.isForm(e)),n=s[te.HAS_SUBQUESTION],!n)throw J.error("Could not find any questions in the received data."),"No questions in the form";return r=n.filter(e=>!(!re.isWizardStep(e)||re.isHidden(e))||(J.warn("Item is not a wizard step: "+e),!1)),r.length||(J.log("Could not find any wizard steps in the received data. Building form without steps"),s[te.HAS_SUBQUESTION].forEach(e=>r.push(e))),r.sort(oe.getCompareLocalizedLabelFunction(t)),oe.orderPreservingToplogicalSort(r,te.HAS_PRECEDING_QUESTION),[r,{root:s}]}}class ve{static buildQuestionAnswerModel(e,t){const s={subQuestions:[]};let n;if(e&&(s.uri=e.root["@id"],s.origin=c.getJsonAttValue(e.root,te.HAS_QUESTION_ORIGIN,"@id")),t)for(let e=0;e<t.length;e++)n=ve.processQuestionAnswerHierarchy(t[e]),n&&s.subQuestions.push(n);return s}static processQuestionAnswerHierarchy(e){return e?ve._processQuestion(e):null}static _processQuestion(e){const t={};if(t.uri=e["@id"],t.origin=c.getJsonAttValue(e,te.HAS_QUESTION_ORIGIN,"@id"),e[te.HAS_SUBQUESTION]){t.subQuestions=[];for(let s=0;s<e[te.HAS_SUBQUESTION].length;s++)t.subQuestions.push(ve._processQuestion(e[te.HAS_SUBQUESTION][s]))}if(e[te.HAS_ANSWER]){t.answers=[],Array.isArray(e[te.HAS_ANSWER])||(e[te.HAS_ANSWER]=[e[te.HAS_ANSWER]]);for(let s=0;s<e[te.HAS_ANSWER].length;s++)t.answers.push(ve.processAnswer(e[te.HAS_ANSWER][s]))}if(e[te.HAS_COMMENT]){t.comments=[],Array.isArray(e[te.HAS_COMMENT])||(e[te.HAS_COMMENT]=[e[te.HAS_COMMENT]]);for(let s=0;s<e[te.HAS_COMMENT].length;s++)t.comments.push(ve.processComment(e[te.HAS_COMMENT][s]))}return t}static processComment(e){const t={};return t.author=c.getJsonAttValue(e,te.HAS_AUTHOR,"@id"),t.value=c.getJsonAttValue(e,te.HAS_COMMENT_VALUE),t.timestamp=c.getJsonAttValue(e,te.HAS_TIMESTAMP,"@id"),t}static processAnswer(e){const t={};return t.uri=e["@id"],t.origin=c.getJsonAttValue(e,te.HAS_ANSWER_ORIGIN,"@id"),e[te.HAS_OBJECT_VALUE]?t.codeValue=c.getJsonAttValue(e,te.HAS_OBJECT_VALUE,"@id"):t.textValue=c.getJsonAttValue(e,te.HAS_DATA_VALUE),t}static generateAnswer(e){const t={};return t[te.HAS_DATA_VALUE]="",t}}class Te{static resolveValidationProperties(e){const t={};return!1===e[te.HAS_VALID_ANSWER]&&(t.validation="error",t.help=e[te.HAS_VALIDATION_MESSAGE]),t}}const Ne=t=>{const{inputComponent:s,componentsOptions:n}=o(me),r=t.question;/*#__PURE__*/return e.createElement(s,Object.assign({},Te.resolveValidationProperties(r),{type:"checkbox",label:t.label,title:t.title,checked:!0===t.value||"true"===t.value,onChange:e=>{t.onChange(e.target.checked)},disabled:n.readOnly||re.isDisabled(r)}))};Ne.propTypes={question:a.object.isRequired,label:a.object.isRequired,title:a.string,value:a.oneOfType([a.string,a.bool]),onChange:a.func.isRequired,mouseHover:a.bool};const Ce=t=>{const{componentsOptions:s}=o(me),n=re.resolveDateTimeFormat(t.question,t.value,s.dateTimeAnswer),r=re.isDate(t.question),i=re.isTime(t.question);let a;a=i&&t.value&&"0"!==t.value?new Date(`0 ${t.value}`):r&&t.value&&"0"!==t.value?new Date(t.value):new Date;const l="x"===n?s.dateTimeAnswer.dateTimeFormat:n;/*#__PURE__*/return e.createElement(d,{size:"small"},/*#__PURE__*/e.createElement(m.Label,{className:"w-100"},t.label),/*#__PURE__*/e.createElement(D,{selected:a,placeholderText:l.toUpperCase(),onChange:e=>{t.onChange(n===te.DATETIME_NUMBER_FORMAT?Number(e):H(e,n))},showTimeSelect:!r,showTimeSelectOnly:i,timeFormat:"HH:mm",timeIntervals:1,timeCaption:"Time",dateFormat:l,className:"form-control",disabled:s.readOnly||re.isDisabled(t.question)}))};Ce.propTypes={question:a.object.isRequired,label:a.object.isRequired,title:a.string,value:a.oneOfType([a.string,a.number]),onChange:a.func.isRequired};const Ie=[te.XSD.INT,te.XSD.INTEGER,te.XSD.NON_NEGATIVE_INTEGER,te.XSD.NON_POSITIVE_INTEGER,te.XSD.NEGATIVE_INTEGER,te.XSD.POSITIVE_INTEGER],Oe={};Oe[te.XSD.NON_NEGATIVE_INTEGER]={min:0},Oe[te.XSD.NON_POSITIVE_INTEGER]={max:0},Oe[te.XSD.NEGATIVE_INTEGER]={max:-1},Oe[te.XSD.POSITIVE_INTEGER]={min:1};const we={"string-2":"prefixed",atom:"var"};class Le{static _resolveInputType(e,t){return re.isSparqlInput(e)||re.isTurtleInput(e)||re.isTextarea(e,t)?"textarea":Le._isNumeric(e)?"number":"text"}static _isNumeric(e){for(let t=0,s=Ie.length;t<s;t++)if(c.hasValue(e,te.HAS_DATATYPE,Ie[t]))return!0;return!1}static resolveInputProperties(e,t,s){let n={};switch(n.type=Le._resolveInputType(e,t),n.type){case"textarea":n.rows=5;break;case"number":n=Object.assign({},n,Le._resolveNumberRestrictions(e),this._resolveStepRestriction(e))}return n.disabled=s.readOnly||re.isDisabled(e),!1===e[te.HAS_VALID_ANSWER]&&(n.validation=e[te.HAS_VALIDATION_SEVERITY]===te.VALIDATION_SEVERITY.WARNING?"warning":"error",n.help=e[te.HAS_VALIDATION_MESSAGE]),n}static _resolveStepRestriction(e){let t={};return void 0!==e[te.STEP]&&(t.step=c.getJsonAttValue(e,te.STEP)),t}static _resolveNumberRestrictions(e){let t={};return Object.getOwnPropertyNames(Oe).forEach(s=>{c.hasValue(e,te.HAS_DATATYPE,s)&&(t=Object.assign({},t,Oe[s]))}),void 0!==e[te.XSD.MIN_INCLUSIVE]&&(t.min=e[te.XSD.MIN_INCLUSIVE]),void 0!==e[te.XSD.MIN_EXCLUSIVE]&&(t.min=e[te.XSD.MIN_EXCLUSIVE]+1),void 0!==e[te.XSD.MAX_EXCLUSIVE]&&(t.max=e[te.XSD.MAX_EXCLUSIVE]-1),void 0!==e[te.XSD.MAX_INCLUSIVE]&&(t.max=e[te.XSD.MAX_INCLUSIVE]),t}}const Re=t=>{const{inputComponent:s,componentsOptions:n}=o(me),r=t.question,i=t.answer;let a=t.value;return i[te.HAS_OBJECT_VALUE]&&i[te.HAS_OBJECT_VALUE][c.RDFS_LABEL]&&(a=c.getJsonAttValue(i[te.HAS_OBJECT_VALUE],c.RDFS_LABEL)),/*#__PURE__*/e.createElement(s,Object.assign({},Le.resolveInputProperties(r,a,n),{label:t.label,title:t.title,value:null==a?"":a,onChange:e=>{t.onChange(e.target.value),(t.sparql||t.turtle)&&(void 0).hide()},onFocus:e=>{if(t.sparql){const s=x.fromTextArea(e.target);s.setValue(a),s.on("change",()=>{t.onChange(s.getValue())}),x.Autocompleters.prefixes.appendPrefixIfNeeded=function(e,s){if(!e.autocompleters.getTrie(s))return;if(!e.options.autocompleters||-1===e.options.autocompleters.indexOf(s))return;const n=e.getCursor(),o=e.getTokenAt(n);if("prefixed"===we[o.type]){const r=o.string.indexOf(":");if(-1!==r){const i=e.getPreviousNonWsToken(n.line,o).string.toUpperCase(),a=e.getTokenAt({line:n.line,ch:o.start});if("PREFIX"!==i&&("ws"===a.type||null==a.type)){const n=o.string.substring(0,r+1);if(null==e.getPrefixesFromQuery()[n.slice(0,-1)])if(t.question[te.HAS_DECLARED_PREFIX]&&t.question[te.HAS_DECLARED_PREFIX].filter(e=>e[te.PREFIX]===n.slice(0,-1)).length){const s=t.question[te.HAS_DECLARED_PREFIX].filter(e=>e[te.PREFIX]===n.slice(0,-1)),o={};o[s[0][te.PREFIX]]=s[0][te.NAMESPACE],e.addPrefixes(o)}else{const t=e.autocompleters.getTrie(s).autoComplete(n);t.length>0&&e.addPrefixes(t[0])}}}}}}else if(t.turtle){console.log("TTL");const s=x.fromTextArea(e.target);s.setValue(a),s.on("change",()=>{t.onChange(s.getValue())})}}}))};Re.propTypes={question:a.object.isRequired,answer:a.object.isRequired,label:a.object.isRequired,title:a.string,value:a.oneOfType([a.string,a.number]),onChange:a.func.isRequired};const be={D:"1",M:"1",Y:"1",h:"1",m:"1",s:"1"};class ye{static mapMask(e){if(!e)return e;let t,s="";for(let n=0,o=e.length;n<o;n++)t=e.charAt(n),s+=be[t]?be[t]:t;return s}}const Ve=["size","placeholder"];function De(e){let t,s,n,o;if(void 0!==e.selectionStart)t=e.selectionStart,s=e.selectionEnd;else try{e.focus(),n=e.createTextRange(),o=n.duplicate(),n.moveToBookmark(document.selection.createRange().getBookmark()),o.setEndPoint("EndToStart",n),t=o.text.length,s=t+n.text.length}catch(e){}return{start:t,end:s}}class He extends e.Component{constructor(e){super(e),this._updatePattern=e=>{this.mask.setPattern(ye.mapMask(e.mask),{value:this.mask.getRawValue(),selection:De(this.input)})},this._updateMaskSelection=()=>{this.mask.selection=De(this.input)},this._updateInputSelection=()=>{!function(e,t){let s;try{void 0!==e.selectionStart?(e.focus(),e.setSelectionRange(t.start,t.end)):(e.focus(),s=e.createTextRange(),s.collapse(!0),s.moveStart("character",t.start),s.moveEnd("character",t.end-t.start),s.select())}catch(e){}}(this.input,this.mask.selection)},this._onChange=e=>{const t=this.mask.getValue();if(e.target.value!==t){if(e.target.value.length<t.length){const s=t.length-e.target.value.length;this._updateMaskSelection(),this.mask.selection.end=this.mask.selection.start+s,this.mask.backspace()}const s=this._getDisplayValue();e.target.value=s,s&&this._updateInputSelection()}this.props.onChange&&this.props.onChange(e)},this._onKeyDown=e=>{if(function(e){return e.ctrlKey&&90===e.keyCode}(e))e.preventDefault(),this.mask.undo()&&(e.target.value=this._getDisplayValue(),this._updateInputSelection(),this.props.onChange&&this.props.onChange(e));else if(function(e){return e.ctrlKey&&89===e.keyCode}(e))e.preventDefault(),this.mask.redo()&&(e.target.value=this._getDisplayValue(),this._updateInputSelection(),this.props.onChange&&this.props.onChange(e));else if("Backspace"===e.key&&(e.preventDefault(),this._updateMaskSelection(),this.mask.backspace())){const t=this._getDisplayValue();e.target.value=t,t&&this._updateInputSelection(),this.props.onChange&&this.props.onChange(e)}},this._onKeyPress=e=>{e.metaKey||e.altKey||e.ctrlKey||"Enter"===e.key||(e.preventDefault(),this._updateMaskSelection(),this.mask.input(e.key)&&(e.target.value=this.mask.getValue(),this._updateInputSelection(),this.props.onChange&&this.props.onChange(e)))},this._onPaste=e=>{e.preventDefault(),this._updateMaskSelection(),this.mask.paste(e.clipboardData.getData("Text"))&&(e.target.value=this.mask.getValue(),setTimeout(this._updateInputSelection,0),this.props.onChange&&this.props.onChange(e))},this.mask=new U({pattern:ye.mapMask(e.mask),value:e.value,formatCharacters:e.formatCharacters,placeholderChar:e.placeholderChar||"_"})}componentDidUpdate(e){e.mask!==this.props.mask&&this._updatePattern(this.props),e.mask!==this.props.mask&&e.value!==this.props.mask?this.mask.getValue()===this.mask.emptyValue?this.mask.setPattern(ye.mapMask(this.props.mask),{value:this.props.value}):this.mask.setPattern(ye.mapMask(this.props.mask),{value:this.mask.getRawValue()}):e.mask!==this.props.mask?this.mask.setPattern(ye.mapMask(this.props.mask),{value:this.mask.getRawValue()}):e.value!==this.props.value&&this.mask.setValue(this.props.value),e.mask!==this.props.mask&&this.mask.selection.start&&this._updateInputSelection()}_getDisplayValue(){const e=this.mask.getValue();return e===this.mask.emptyValue?"":e}focus(){this.input.focus()}blur(){this.input.blur()}render(){const t=this.props,{size:s,placeholder:n}=t,o=G(t,Ve),r=this.mask.pattern.length;/*#__PURE__*/return e.createElement(this.context.inputComponent,Object.assign({},o,{ref:e=>{e&&(this.input=e.input?p.findDOMNode(e.input):e)},maxLength:r,onChange:this._onChange,onKeyDown:this._onKeyDown,onKeyPress:this._onKeyPress,onPaste:this._onPaste,placeholder:n||this.mask.emptyValue,size:s||r,value:this._getDisplayValue(),type:"text"}))}}He.contextType=me,He.propTypes={mask:a.string.isRequired},He.defaultProps={value:""};const xe=t=>{const{componentsOptions:s}=o(me),n=t.question,r=t.value,i=c.getJsonAttValue(n,te.INPUT_MASK);return i?/*#__PURE__*/e.createElement(He,{mask:i,value:r,label:t.label,title:t.title,placeholder:i,onChange:e=>t.onChange(e.target.value),disabled:s.readOnly||re.isDisabled(n)}):(J.warn("Input mask not provided. Falling back to regular input."),/*#__PURE__*/e.createElement(Re,t))};xe.propTypes={question:a.object.isRequired,answer:a.object.isRequired,label:a.object.isRequired,title:a.string,value:a.oneOfType([a.string,a.number]),onChange:a.func.isRequired};class Ue extends e.Component{_generateSelectOptions(t){const s=[];t.sort(function(e,t){const s=c.getJsonAttValue(e,te.RDFS_LABEL),n=c.getJsonAttValue(t,te.RDFS_LABEL);return s<n?-1:s>n?1:0});for(let n=0;n<t.length;n++)s.push(/*#__PURE__*/e.createElement("option",{value:c.getJsonAttValue(t[n],te.RDFS_LABEL),key:"opt-"+n},c.getJsonAttValue(t[n],te.RDFS_LABEL)));return s}render(){const t=this.props.question;/*#__PURE__*/return e.createElement(this.context.inputComponent,{type:"select",label:this.props.label,value:this.props.value,title:this.props.title,onChange:e=>{this.props.onChange(e.target.value)},disabled:this.context.componentsOptions.readOnly||re.isDisabled(t)},this._generateSelectOptions(t[te.HAS_OPTION]))}}Ue.contextType=me,Ue.propTypes={question:a.object.isRequired,label:a.object.isRequired,title:a.string,value:a.string,onChange:a.func.isRequired};const Me=(e,t)=>e&&e.length?(e.sort(oe.getCompareLocalizedLabelFunction(t)),oe.orderPreservingToplogicalSort(e,te.HAS_PRECEDING_VALUE),e):[],Pe=t=>{const r=se.getStringHash(re.getPossibleValuesQuery(t.question)),i=o(Z),a=o(me),l=a.options.intl,[u,p]=s(!0),[h,E]=s([Me(t.options,l)]);n(()=>{let e=!1;const s=t.question;return!s[te.HAS_OPTION]&&re.getPossibleValuesQuery(s)?async function(){try{const t=await i.loadFormOptions(r,re.getPossibleValuesQuery(s));e||(p(!1),g(t))}catch(e){J.error(`An error has occurred during loadFormOptions for query hash: ${r}`)}}():(p(!1),g(s[te.HAS_OPTION])),()=>{e=!0}},[]);const g=e=>{if(!e)return[];e=Me(e,l);const t={},s=[];for(let n of e){let e=c.getLocalized(n[te.RDFS_LABEL],l);t[n["@id"]]={id:n["@id"],value:n["@id"],label:e,children:[]};for(let e of se.asArray(n[te.BROADER]))s.push({type:"parent-child",parent:e["@id"],child:n["@id"]})}for(let e of s){var n;"parent-child"===e.type&&(null==(n=t[e.parent])||n.children.push(e.child))}const o=Object.values(t);E(o)},S=se.findKeyInObjects(h,["name","value"]),A=se.findKeyInObjects(h,["name","label"]);/*#__PURE__*/return e.createElement(d,{size:"small"},/*#__PURE__*/e.createElement(m.Label,null,t.label),/*#__PURE__*/e.createElement(M,{valueKey:S,labelKey:A,valueRenderer:t.question[te.PROVIDES_DEREFERENCEABLE_ANSWER_VALUES]?t=>/*#__PURE__*/e.createElement(e.Fragment,null,t):null,valueIsControlled:!0,value:h.filter(e=>e.id===t.value),multi:!1,options:h,isSearchable:!0,isLoading:u,isClearable:!0,renderAsTree:!0,optionLeftOffset:5,isDisabled:u||a.componentsOptions.readOnly||re.isDisabled(t.question),onChange:e=>{t.onChange(e?e.id:null)}}))};Pe.propTypes={question:a.object.isRequired,answer:a.object.isRequired,label:a.oneOfType([a.string,a.object]).isRequired,title:a.string,value:a.string,onChange:a.func.isRequired};const qe=({title:t})=>/*#__PURE__*/e.createElement("svg",{className:"caret-square-up",version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"28",viewBox:"0 0 24 28"},/*#__PURE__*/e.createElement("title",null,t||""),/*#__PURE__*/e.createElement("path",{d:"M17.891 17.453c-0.172 0.344-0.516 0.547-0.891 0.547h-10c-0.375 0-0.719-0.203-0.891-0.547-0.172-0.328-0.141-0.734 0.078-1.031l5-7c0.187-0.266 0.484-0.422 0.812-0.422s0.625 0.156 0.812 0.422l5 7c0.219 0.297 0.25 0.703 0.078 1.031zM20 21.5v-15c0-0.266-0.234-0.5-0.5-0.5h-15c-0.266 0-0.5 0.234-0.5 0.5v15c0 0.266 0.234 0.5 0.5 0.5h15c0.266 0 0.5-0.234 0.5-0.5zM24 6.5v15c0 2.484-2.016 4.5-4.5 4.5h-15c-2.484 0-4.5-2.016-4.5-4.5v-15c0-2.484 2.016-4.5 4.5-4.5h15c2.484 0 4.5 2.016 4.5 4.5z"})),Fe=({title:t})=>/*#__PURE__*/e.createElement("svg",{className:"caret-square-down",version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"28",viewBox:"0 0 24 28"},/*#__PURE__*/e.createElement("title",null,t||""),/*#__PURE__*/e.createElement("path",{d:"M17.891 10.547c0.172 0.328 0.141 0.734-0.078 1.031l-5 7c-0.187 0.266-0.484 0.422-0.812 0.422s-0.625-0.156-0.812-0.422l-5-7c-0.219-0.297-0.25-0.703-0.078-1.031 0.172-0.344 0.516-0.547 0.891-0.547h10c0.375 0 0.719 0.203 0.891 0.547zM20 21.5v-15c0-0.266-0.234-0.5-0.5-0.5h-15c-0.266 0-0.5 0.234-0.5 0.5v15c0 0.266 0.234 0.5 0.5 0.5h15c0.266 0 0.5-0.234 0.5-0.5zM24 6.5v15c0 2.484-2.016 4.5-4.5 4.5h-15c-2.484 0-4.5-2.016-4.5-4.5v-15c0-2.484 2.016-4.5 4.5-4.5h15c2.484 0 4.5 2.016 4.5 4.5z"})),Qe=()=>/*#__PURE__*/e.createElement("svg",{className:"info-circle",version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"28",viewBox:"0 0 24 28"},/*#__PURE__*/e.createElement("title",null,"info-circle"),/*#__PURE__*/e.createElement("path",{d:"M16 21.5v-2.5c0-0.281-0.219-0.5-0.5-0.5h-1.5v-8c0-0.281-0.219-0.5-0.5-0.5h-5c-0.281 0-0.5 0.219-0.5 0.5v2.5c0 0.281 0.219 0.5 0.5 0.5h1.5v5h-1.5c-0.281 0-0.5 0.219-0.5 0.5v2.5c0 0.281 0.219 0.5 0.5 0.5h7c0.281 0 0.5-0.219 0.5-0.5zM14 7.5v-2.5c0-0.281-0.219-0.5-0.5-0.5h-3c-0.281 0-0.5 0.219-0.5 0.5v2.5c0 0.281 0.219 0.5 0.5 0.5h3c0.281 0 0.5-0.219 0.5-0.5zM24 14c0 6.625-5.375 12-12 12s-12-5.375-12-12 5.375-12 12-12 12 5.375 12 12z"})),ze=()=>/*#__PURE__*/e.createElement("svg",{className:"question-circle",version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"28",viewBox:"0 0 24 28"},/*#__PURE__*/e.createElement("path",{d:"M14 21.5v-3c0-0.281-0.219-0.5-0.5-0.5h-3c-0.281 0-0.5 0.219-0.5 0.5v3c0 0.281 0.219 0.5 0.5 0.5h3c0.281 0 0.5-0.219 0.5-0.5zM18 11c0-2.859-3-5-5.688-5-2.547 0-4.453 1.094-5.797 3.328-0.141 0.219-0.078 0.5 0.125 0.656l2.063 1.563c0.078 0.063 0.187 0.094 0.297 0.094 0.141 0 0.297-0.063 0.391-0.187 0.734-0.938 1.047-1.219 1.344-1.437 0.266-0.187 0.781-0.375 1.344-0.375 1 0 1.922 0.641 1.922 1.328 0 0.812-0.422 1.219-1.375 1.656-1.109 0.5-2.625 1.797-2.625 3.313v0.562c0 0.281 0.219 0.5 0.5 0.5h3c0.281 0 0.5-0.219 0.5-0.5v0c0-0.359 0.453-1.125 1.188-1.547 1.188-0.672 2.812-1.578 2.812-3.953zM24 14c0 6.625-5.375 12-12 12s-12-5.375-12-12 5.375-12 12-12 12 5.375 12 12z"})),je=t=>{const[n,o]=s("right");/*#__PURE__*/return e.createElement("span",{ref:e=>(e=>{e&&(e.getBoundingClientRect().x>window.innerWidth/2?o("left"):o("right"))})(e)},/*#__PURE__*/e.createElement(g,{overlay:/*#__PURE__*/e.createElement(S,{className:"tooltip-content",id:t.id},t.tooltipContent),placement:t.overlayPlacement||n},/*#__PURE__*/e.createElement("span",null,t.children)))};je.propTypes={tooltipContent:a.oneOfType([a.object.isRequired,a.string.isRequired]),id:a.string.isRequired,overlayPlacement:a.string,absolutePosition:a.bool},je.defaultProps={iconClassContainer:"",iconClass:"",absolutePosition:!0};const ke=t=>{const[n,o]=s("right");/*#__PURE__*/return e.createElement("div",{ref:e=>(e=>{e&&(e.getBoundingClientRect().x>window.innerWidth/2?o("left"):o("right"))})(e)},/*#__PURE__*/e.createElement(je,{id:"help-icon-tooltip-",overlayPlacement:t.overlayPlacement||n,absolutePosition:t.absolutePosition,tooltipContent:t.text},/*#__PURE__*/e.createElement(ze,{className:t.iconClass})))};ke.propTypes={text:a.string.isRequired,iconClassContainer:a.string,iconClass:a.string,overlayPlacement:a.string,absolutePosition:a.bool},ke.defaultProps={iconClassContainer:"",iconClass:"",absolutePosition:!0};const Be=()=>/*#__PURE__*/e.createElement("svg",{className:"external-link-icon",width:"24",height:"16",viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg"},/*#__PURE__*/e.createElement("path",{d:"M5,2 C5.55228,2 6,2.44772 6,3 C6,3.55228 5.55228,4 5,4 L4,4 L4,12 L12,12 L12,11 C12,10.4477 12.4477,10 13,10 C13.5523,10 14,10.4477 14,11 L14,12 C14,13.1046 13.1046,14 12,14 L4,14 C2.89543,14 2,13.1046 2,12 L2,4 C2,2.89543 2.89543,2 4,2 L5,2 Z M15,1 L15,5.99814453 C15,6.55043453 14.5523,6.99814453 14,6.99814453 C13.4477,6.99814453 13,6.55043453 13,5.99814453 L13,4.41419 L8.71571,8.69846 C8.32519,9.08899 7.69202,9.08899 7.3015,8.69846 C6.91097,8.30794 6.91097,7.67477 7.3015,7.28425 L11.5858,3 L9.99619141,3 C9.44391141,3 8.99619141,2.55228 8.99619141,2 C8.99619141,1.44772 9.44391141,1 9.99619141,1 L15,1 Z"})),We=t=>/*#__PURE__*/e.createElement(je,{tooltipContent:t.url["@id"]||t.url,id:"url-tooltip",overlayPlacement:t.overlayPlacement},/*#__PURE__*/e.createElement("a",{href:t.url["@id"]||t.url,target:"_blank",className:t.iconClassContainer},/*#__PURE__*/e.createElement(Be,{className:t.iconClass})));We.propTypes={url:a.oneOfType([a.string.isRequired,a.object.isRequired]),iconClassContainer:a.string,iconClass:a.string,overlayPlacement:a.string,absolutePosition:a.bool},We.defaultProps={iconClassContainer:"",iconClass:"",absolutePosition:!0};const Ye=()=>/*#__PURE__*/e.createElement("svg",{className:"question-comment",version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 60 60",width:"24",height:"28"},/*#__PURE__*/e.createElement("path",{d:"M30,1.5c-16.542,0-30,12.112-30,27c0,5.204,1.646,10.245,4.768,14.604c-0.591,6.537-2.175,11.39-4.475,13.689 c-0.304,0.304-0.38,0.769-0.188,1.153C0.275,58.289,0.625,58.5,1,58.5c0.046,0,0.092-0.003,0.139-0.01 c0.405-0.057,9.813-1.411,16.618-5.339C21.621,54.71,25.737,55.5,30,55.5c16.542,0,30-12.112,30-27S46.542,1.5,30,1.5z M16,32.5 c-2.206,0-4-1.794-4-4s1.794-4,4-4s4,1.794,4,4S18.206,32.5,16,32.5z M30,32.5c-2.206,0-4-1.794-4-4s1.794-4,4-4s4,1.794,4,4 S32.206,32.5,30,32.5z M44,32.5c-2.206,0-4-1.794-4-4s1.794-4,4-4s4,1.794,4,4S46.206,32.5,44,32.5z"})),Xe=()=>/*#__PURE__*/e.createElement("svg",{className:"recycle-bin-icon",version:"1.1",xmlns:"http://www.w3.org/2000/svg",height:"15px",width:"15px",viewBox:"0 0 512 512"},/*#__PURE__*/e.createElement("g",null,/*#__PURE__*/e.createElement("g",null,/*#__PURE__*/e.createElement("path",{d:"M331.636,69.818V0H180.364v69.818h-128v128h34.909V512h337.455V197.818h34.909v-128H331.636z M215.273,34.909h81.455\nv34.909h-81.455V34.909z M389.818,477.091H122.182V197.818h267.636V477.091z M424.727,162.909H87.273v-58.182h337.455V162.909z"}))),/*#__PURE__*/e.createElement("g",null,/*#__PURE__*/e.createElement("g",null,/*#__PURE__*/e.createElement("rect",{x:"168.727",y:"256",width:"34.909",height:"162.909"}))),/*#__PURE__*/e.createElement("g",null,/*#__PURE__*/e.createElement("g",null,/*#__PURE__*/e.createElement("rect",{x:"308.364",y:"256",width:"34.909",height:"162.909"}))),/*#__PURE__*/e.createElement("g",null,/*#__PURE__*/e.createElement("g",null,/*#__PURE__*/e.createElement("rect",{x:"238.545",y:"256",width:"34.909",height:"162.909"})))),Ge="Unknown author",Je=t=>{const{options:n}=o(me),[r,i]=s(!1),[a,l]=s(!1);F.addLocale(z),F.addLocale(Q),F.setDefaultLocale(te.LANG.en.locale);const c=new F(n.intl.locale),u=()=>{if(n&&n.users){const e=n.users.find(e=>e.id===n.currentUser);if(t.author)return e.label?e.label:p()}return Ge},p=()=>t.author["@id"].replace(/.*[#\/]/,"... "),m=()=>{i(!r)};/*#__PURE__*/return e.createElement("div",{className:"comment-content",onMouseEnter:()=>{l(!0)},onMouseLeave:()=>{l(!1)}},/*#__PURE__*/e.createElement("div",{className:"row"},/*#__PURE__*/e.createElement("div",{className:"col-auto comment-author",onMouseEnter:m,onMouseLeave:m},/*#__PURE__*/e.createElement(e.Fragment,null,r?/*#__PURE__*/e.createElement(e.Fragment,null,u(),/*#__PURE__*/e.createElement(We,{iconClassContainer:"emphasise-on-relevant-icon",url:t.author?Object.values(t.author).toString():Ge})):u())),/*#__PURE__*/e.createElement("div",{className:"col-auto text-muted comment-timestamp"},/*#__PURE__*/e.createElement(je,{id:"exact-time-overlay",tooltipContent:(()=>{const e=new Date(parseInt(t.timestamp));return new Intl.DateTimeFormat(n.intl.locale,{weekday:"long",year:"numeric",month:"long",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"}).format(e)})()},c.format(parseInt(t.timestamp)))),a?/*#__PURE__*/e.createElement(j.div,{className:"comment-delete emphasise-on-relevant-icon",whileHover:{scale:1.2},whileTap:{scale:.9},onClick:()=>{t.onDeleteQuestionComment(t.index),t.onDeleteViewComment()}},/*#__PURE__*/e.createElement(Xe,null)):null),/*#__PURE__*/e.createElement("div",{className:"row"},/*#__PURE__*/e.createElement("div",{className:"col comment-value"},t.commentValue)))};Je.propTypes={author:a.object,timestamp:a.string.isRequired,commentValue:a.string.isRequired,onDeleteQuestionComment:a.func.isRequired,onDeleteViewComment:a.func,index:a.number.isRequired};const Ke=({comments:e,onDeleteCommentClick:t})=>{const o=r(null),[i,a]=s(!1),l=()=>{a(!0),setTimeout(()=>{a(!1)},2e3)};return n(()=>{null!==o.current&&(o.current.scrollTop=o.current.scrollHeight)},[JSON.stringify(e)]),P("span",{children:i?q("div",{className:"comment-delete",children:[P(k,{color:"#00BFFF",height:80,width:80}),P("p",{children:"Deleting comment..."})]}):P("div",{className:"comment-list-items",ref:o,children:e.map((e,s)=>P("div",{className:"comment-list-item",children:P(Je,{commentValue:e[te.HAS_COMMENT_VALUE],author:e[te.HAS_AUTHOR]?e[te.HAS_AUTHOR]:null,timestamp:e[te.HAS_TIMESTAMP],onDeleteQuestionComment:t,onDeleteViewComment:l,index:s})},s))})})},Ze=()=>/*#__PURE__*/e.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"15",height:"15",viewBox:"0 0 24 24"},/*#__PURE__*/e.createElement("path",{d:"M6.185 4.843l11.927 7.157-11.927 7.157 2.982-7.157-2.982-7.157zm-4.185-4.843l5 12-5 12 20-12-20-12z"})),$e="300px",et=t=>{const[o,i]=s(""),a=r(null),l=B();n(()=>{a.current.focus()},[]);const c=e=>{e.preventDefault(),t.onChange(o),i("")},u=()=>{const e=a.current;e.style.height="auto",p(e)},p=e=>{e.style.height=`${e.scrollHeight}px`,parseInt(e.style.height)>parseInt($e)&&(e.style.height=$e)};/*#__PURE__*/return e.createElement(m,{onSubmit:c,onKeyUp:e=>{"Enter"===e.key&&e.ctrlKey&&o.trim()&&c(e)},onClick:e=>{e.stopPropagation()}},/*#__PURE__*/e.createElement(m.Group,{className:"m-2",controlId:"formBasicComment"},/*#__PURE__*/e.createElement(A,{className:"col-lg-12 p-0"},/*#__PURE__*/e.createElement(_,{className:"container-fluid p-0 m-0"},/*#__PURE__*/e.createElement("div",{id:"comment-form"},/*#__PURE__*/e.createElement(m.Control,{className:"comment-form-control",name:"comment",as:"textarea",placeholder:l.formatMessage({id:"comment.form.placeholder"}),required:!0,value:o,onChange:e=>{i(e.target.value)},ref:a,onKeyPress:u,onKeyDown:u}),/*#__PURE__*/e.createElement(f,{className:"comment-form-button",variant:"primary",type:"submit"},/*#__PURE__*/e.createElement(Ze,null)))))))};et.propTypes={onChange:a.func.isRequired};const tt=()=>/*#__PURE__*/e.createElement("svg",{className:"close-icon",width:"24px",height:"24px",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},/*#__PURE__*/e.createElement("path",{d:"M13.41 12l4.3-4.29a1 1 0 1 0-1.42-1.42L12 10.59l-4.29-4.3a1 1 0 0 0-1.42 1.42l4.3 4.29-4.3 4.29a1 1 0 0 0 0 1.42 1 1 0 0 0 1.42 0l4.29-4.3 4.29 4.3a1 1 0 0 0 1.42 0 1 1 0 0 0 0-1.42z"})),st=t=>{const i=o(me),a=r(null),l=r(null),c=r(null),[u,p]=s(!1),[m,d]=s("right");n(()=>{C(c.current)});const h=()=>{p(!1)},E=()=>{const e=t.question;return e[te.HAS_COMMENT]||(e[te.HAS_COMMENT]=[]),Array.isArray(e[te.HAS_COMMENT])||(e[te.HAS_COMMENT]=[e[te.HAS_COMMENT]]),e[te.HAS_COMMENT]},g=e=>{const s={};A(s,e),t.onChange(N(),s)},A=(e,t)=>{i.options.currentUser&&(e[te.HAS_AUTHOR]={"@id":i.options.currentUser}),e[te.HAS_COMMENT_VALUE]=t,e[te.HAS_TIMESTAMP]=Date.now().toString()},_=e=>{E().splice(e,1)},f=e=>{e.preventDefault(),e.stopPropagation()},N=()=>E().length,C=e=>{e&&(e.getBoundingClientRect().x>window.innerWidth/2?d("left"):d("right"))};/*#__PURE__*/return e.createElement("div",{ref:c,onClick:f},/*#__PURE__*/e.createElement("span",{className:"comment-bubble",ref:a,onClick:e=>{f(e),p(!u)}},/*#__PURE__*/e.createElement(Ye,null),N()>0?/*#__PURE__*/e.createElement(v,{className:"comment-badge",pill:!0,variant:"primary"},N()):null),/*#__PURE__*/e.createElement(j.div,{className:"overlay-comment",ref:l,drag:!0,dragConstraints:{top:-50,left:-50,right:50,bottom:50}},/*#__PURE__*/e.createElement(T,{target:a.current,show:u,placement:m,rootClose:!1,onHide:h,container:l},t=>/*#__PURE__*/e.createElement(S,X({className:"comment-tooltip"},t),/*#__PURE__*/e.createElement("span",{onKeyDown:e=>{(e=>{"Escape"===e.key&&h()})(e)}},/*#__PURE__*/e.createElement(j.div,{className:"close-comment-icon",onClick:h,whileHover:{scale:1.1,transition:{duration:.1}}},/*#__PURE__*/e.createElement(tt,null)),/*#__PURE__*/e.createElement(Ke,{comments:E(),onDeleteCommentClick:_}),/*#__PURE__*/e.createElement(et,{onChange:g}))))))};var nt;st.propTypes={question:a.object.isRequired,onChange:a.func.isRequired};class ot{static renderIcons(t,s,n,o){let r;r=s.icons?s.icons:te.DEFAULT_OPTIONS.icons;let i=[];const a=this.renderQuestionHelp(t,s,n,o),l=this.renderQuestionComments(t,s,n,o),c=this.renderQuestionLink(t,s,n,o);for(let t=0;t<r.length;t++)r[t].id===te.ICONS.QUESTION_COMMENTS&&i.push(/*#__PURE__*/e.createElement("li",{key:t,className:"icon-list-item"},l)),r[t].id===te.ICONS.QUESTION_HELP&&i.push(/*#__PURE__*/e.createElement("li",{key:t,className:"icon-list-item"},a)),r[t].id===te.ICONS.QUESTION_LINK&&i.push(/*#__PURE__*/e.createElement("li",{key:t,className:"icon-list-item"},c));/*#__PURE__*/return e.createElement("ol",{className:"icon-list-items"},i)}static renderQuestionHelp(e,t,s,n){return this.getIconComponentFromName(te.ICONS.QUESTION_HELP,e,t,s,n)}static renderQuestionLink(e,t,s,n){return this.getIconComponentFromName(te.ICONS.QUESTION_LINK,e,t,s,n)}static getIconComponentFromName(e,t,s,n,o){const r=this.getIconFromIconList(s.icons?s.icons:te.DEFAULT_OPTIONS.icons,e);return this.getIconComponent(r,t,s,n,o)}static getIconComponent(t,s,n,o,r){let i;if(t&&(t.behavior===te.ICON_BEHAVIOR.ON_HOVER||t.behavior===te.ICON_BEHAVIOR.ENABLE))return t.behavior===te.ICON_BEHAVIOR.ENABLE?(r=!0,i=""):i="emphasise-on-relevant-icon",t.id===te.ICONS.QUESTION_HELP&&s[te.HELP_DESCRIPTION]?r?/*#__PURE__*/e.createElement("div",{className:i},/*#__PURE__*/e.createElement(ke,{text:c.getLocalized(s[te.HELP_DESCRIPTION],n.intl),absolutePosition:!1})):null:t.id===te.ICONS.QUESTION_LINK&&s[te.SOURCE]?r?/*#__PURE__*/e.createElement("div",{className:i},/*#__PURE__*/e.createElement(We,{url:s[te.SOURCE]})):null:t.id===te.ICONS.QUESTION_COMMENTS&&r?/*#__PURE__*/e.createElement("div",{className:i},/*#__PURE__*/e.createElement(st,{question:s,onChange:o})):null}}nt=ot,ot.renderQuestionComments=(e,t,s,n)=>nt.getIconComponentFromName(te.ICONS.QUESTION_COMMENTS,e,t,s,n),ot.getIconFromIconList=(e,t)=>e?e.find(e=>e.id===t):null;const rt=t=>{const s=e.useContext(Z),{options:n}=e.useContext(me),o=e=>{const s=Object.assign({},t.answer);r(s,e),t.onChange(t.index,s)},r=(e,s)=>{null===s?(e[te.HAS_OBJECT_VALUE]=null,e[te.HAS_DATA_VALUE]=null):t.answer[te.HAS_OBJECT_VALUE]||re.isTypeahead(t.question)?e[te.HAS_OBJECT_VALUE]={"@id":s}:e[te.HAS_DATA_VALUE]={"@value":s}},i=t.question,a=re.resolveValue(t.answer),l=(s=>{const o=c.getLocalized(s[te.RDFS_LABEL],n.intl);/*#__PURE__*/return e.createElement("div",{className:"question-header"},o,ot.renderIcons(t.question,n,t.onCommentChange,t.showIcon))})(i),u=c.getLocalized(i[te.RDFS_COMMENT],n.intl);let p;var m;return p=re.isTypeahead(i)?((n,r,i)=>{const a=se.getStringHash(re.getPossibleValuesQuery(t.question)),l=s.getOptions(a)||[];/*#__PURE__*/return e.createElement(Pe,{question:t.question,answer:t.answer,label:r,title:i,value:n,onChange:o,options:l})})(a,l,u):(m=i)[te.HAS_OPTION]&&0!==m[te.HAS_OPTION].length?((s,n,r)=>/*#__PURE__*/e.createElement(Ue,{question:t.question,label:n,title:r,value:s,onChange:o}))(a,l,u):re.isCalendar(i)?((s,n,r)=>/*#__PURE__*/e.createElement(Ce,{question:t.question,value:s,title:r,label:n,onChange:o}))(a,l,u):re.isCheckbox(i)?((s,n,r)=>/*#__PURE__*/e.createElement(Ne,{label:n,title:r,value:s,onChange:o,question:t.question}))(a,l,u):re.isMaskedInput(i)?((s,n,r)=>/*#__PURE__*/e.createElement(xe,{label:n,title:r,value:s,onChange:o,question:t.question,answer:t.answer}))(a,l,u):re.isSparqlInput(i)?((s,n,r)=>/*#__PURE__*/e.createElement(Re,{question:t.question,answer:t.answer,label:n,title:r,value:s,onChange:o,sparql:!0}))(a,l,u):re.isTurtleInput(i)?((s,n,r)=>/*#__PURE__*/e.createElement(Re,{question:t.question,answer:t.answer,label:n,title:r,value:s,onChange:o,turtle:!0}))(a,l,u):((s,n,r)=>/*#__PURE__*/e.createElement(Re,{question:t.question,answer:t.answer,label:n,title:r,value:s,onChange:o}))(a,l,u),p};rt.propTypes={answer:a.object.isRequired,question:a.object.isRequired,onChange:a.func.isRequired,onCommentChange:a.func.isRequired,index:a.number,icons:a.object};class it{static createValidator(e,t){const s=[this._patternValidator,this._checkboxValidator,this._requiredValidator,this._completenessValidator];return n=>{if(re.hasValidationLogic(e)){const o=this._getAnswerValue(n);return this._validateAnswer(e,t,o,s)}}}static _isQuestionAnswered(e){return null!=e&&""!==e}static _isCheckboxAnswered(e){return null!=e&&""!==e&&!1!==e}static _validateAnswer(e,t,s,n){const o={};for(const r of n){const n=r(e,t,s);if(!n.isValid)return o[te.HAS_VALID_ANSWER]=!1,o[te.HAS_VALIDATION_MESSAGE]=n.message,o[te.HAS_VALIDATION_SEVERITY]=n.validationSeverity,o;if(!1===o[te.HAS_VALID_ANSWER])break}return o[te.HAS_VALID_ANSWER]=!0,o}static _patternValidator(e,t,s){return s&&s.length>0&&e[te.PATTERN]&&!new RegExp(e[te.PATTERN]).test(s)&&it._isQuestionAnswered(s)?{isValid:!1,validationSeverity:te.VALIDATION_SEVERITY.ERROR,message:e[te.HAS_VALIDATION_MESSAGE]?e[te.HAS_VALIDATION_MESSAGE]:"Please enter a valid answer to "+c.getLocalized(e[c.RDFS_LABEL],t)}:{isValid:!0}}static _requiredValidator(e,t,s){return!e[te.REQUIRES_ANSWER]||e[te.USED_ONLY_FOR_COMPLETENESS]||it._isQuestionAnswered(s)?{isValid:!0}:{isValid:!1,validationSeverity:te.VALIDATION_SEVERITY.ERROR,message:c.getLocalized(e[c.RDFS_LABEL],t)+" is required"}}static _checkboxValidator(e,t,s){return re.isCheckbox(e)&&e[te.REQUIRES_ANSWER]&&!it._isCheckboxAnswered(s)?{isValid:!1,validationSeverity:te.VALIDATION_SEVERITY.ERROR,message:c.getLocalized(e[c.RDFS_LABEL],t)+" must be checked"}:{isValid:!0}}static _completenessValidator(e,t,s){return e[te.REQUIRES_ANSWER]&&e[te.USED_ONLY_FOR_COMPLETENESS]&&!it._isQuestionAnswered(s)?{isValid:!1,validationSeverity:te.VALIDATION_SEVERITY.WARNING,message:c.getLocalized(e[c.RDFS_LABEL],t)+" should be filled to complete the form."}:{isValid:!0}}static _getAnswerValue(e){let t=null;return e[te.HAS_DATA_VALUE]?t=c.getJsonAttValue(e,te.HAS_DATA_VALUE):e[te.HAS_OBJECT_VALUE]&&(t=c.getJsonAttValue(e,te.HAS_OBJECT_VALUE,"@id")),t}}class at extends e.Component{constructor(e){super(e),this.state={prefixes:e.prefixes}}render(){const t=/*#__PURE__*/e.createElement(N,{id:"prefixes",title:"Prefixes"},/*#__PURE__*/e.createElement(C,null,this.state.prefixes.sort((e,t)=>e[te.PREFIX]<t[te.PREFIX]?-1:1).map(t=>/*#__PURE__*/e.createElement(I,{key:t[te.PREFIX]},/*#__PURE__*/e.createElement("strong",null,t[te.PREFIX]),": ",t[te.NAMESPACE]))));/*#__PURE__*/return e.createElement(g,{trigger:"click",placement:"right",overlay:t},/*#__PURE__*/e.createElement("span",{className:this.props.iconClass},this.props.children))}}at.propTypes={prefixes:a.array.isRequired,children:a.element.isRequired,iconClass:a.string},at.defaultProps={iconClass:""};const lt=({question:e})=>(()=>{const t=e[te.HAS_MEDIA_CONTENT];return t?Array.isArray(t)?P("div",{className:"col-6",children:t.map((e,s)=>P("div",{className:"row embed-responsive-21by9 media-content-video-container mb-3",children:P("iframe",{src:t[s],className:"embed-responsive-item",allowFullScreen:!0})},s))}):P("div",{className:"col-6",children:P("iframe",{src:t,className:"embed-responsive-item",allowFullScreen:!0})}):null})();class ct extends e.Component{constructor(e){super(e),this.handleAnswerChange=(e,t)=>{if(re.isSection(this.props.question)){let e=!!re.resolveValue(t);this.setState({expanded:e})}this._handleChange(te.HAS_ANSWER,e,t)},this.handleSubQuestionChange=(e,t)=>{this._handleChange(te.HAS_SUBQUESTION,e,t)},this.handleCommentChange=(e,t)=>{this._handleChange(te.HAS_COMMENT,e,t)},this._toggleCollapse=()=>{this.props.collapsible&&this.setState({expanded:!this.state.expanded})},this._onMouseEnterHandler=()=>{this.setState({showIcon:!0})},this._onMouseLeaveHandler=()=>{this.setState({showIcon:!1})},this._getHeaderClassName=()=>{const e=this.props.question,t=this.props.collapsible;let s=[];return s.push(ct.getEmphasizedOnRelevantClass(e),"question-header"),re.isWizardStep(e)&&s.push("wizard-step bg-primary text-white"),re.isEmphasised(e)&&s.push(ct.getEmphasizedClass(e)),re.isSection(e)&&s.push("section-background"),t&&s.push("cursor-pointer"),this.isDebugged(e)&&s.push("show-irrelevant"),s},ne.putObject(e.question["@id"],e.question),this.state={validator:{},expanded:!re.isCollapsed(e.question),showIcon:!1}}componentDidMount(){this.setState({validator:it.createValidator(this.props.question,this.context.options.intl)})}componentDidUpdate(){const e=this.props.question,t=this.context.options.startingQuestionId,s=e[te.HAS_SUBQUESTION].find(e=>e["@id"]===t);if(re.isSection(e)&&re.isAnswerable(e)){const e=this._getFirstAnswerValue();if(this.context.options.debugMode)return null;if(s)return null;this.state.expanded&&!e&&this.setState({expanded:!1})}}_handleChange(e,t,s){let n=Object.assign({},this.props.question);if(n[e][t]=s,e===te.HAS_ANSWER){const e=this.state.validator(s);n=Object.assign({},n,e)}ne.putObject(n["@id"],n),this.props.onChange(this.props.index,n)}isDebugged(e){const t=this.context.options.startingQuestionId;return!re.isRelevant(e)&&(!!this.context.options.debugMode||null!=t&&!!se.findQuestionById(t,e,!0,!1,!1))}render(){const t=this.props.question,s=this.renderQuestion(t);return this.isDebugged(t)?/*#__PURE__*/e.createElement("div",{className:"show-irrelevant"},s):re.isHidden(t)?null:re.isRelevant(t)?s:null}renderQuestion(t){if(re.isAnswerable(t)&&!re.isSection(t))/*#__PURE__*/return e.createElement("div",{id:t["@id"]},/*#__PURE__*/e.createElement("div",{className:"panel-title answerable-question"},this.renderAnswers()),/*#__PURE__*/e.createElement("div",{className:"answerable-subquestions"},this.renderSubQuestions()));if(re.isAnswerable(t))return this.renderAnswerableSection();if(re.isSection(t)){const{collapsible:s,withoutCard:n}=this.props,o=ct._getQuestionCategoryClass(t);if(n)/*#__PURE__*/return e.createElement("div",null,this._renderQuestionContent());const r=c.getLocalized(t[c.RDFS_LABEL],this.context.options.intl),i=/*#__PURE__*/e.createElement(O.Body,{className:Y("p-3",o)},this._renderQuestionContent());/*#__PURE__*/return e.createElement(e.Fragment,null,/*#__PURE__*/e.createElement(w,{defaultActiveKey:this.state.expanded?void 0:r},/*#__PURE__*/e.createElement(O,{className:"mb-3"},/*#__PURE__*/e.createElement(w.Toggle,{as:O.Header,onClick:this._toggleCollapse,className:this._getHeaderClassName(),onMouseEnter:this._onMouseEnterHandler,onMouseLeave:this._onMouseLeaveHandler},/*#__PURE__*/e.createElement("h6",{className:"d-inline",id:t["@id"]},s&&!re.isWizardStep(t)&&this._renderCollapseToggle(),r),this.renderQuestionIcons(),this.props.children),/*#__PURE__*/e.createElement(s?w.Collapse:e.Fragment,null,i))))}/*#__PURE__*/return e.createElement("div",null,this._renderQuestionContent())}_renderQuestionContent(){let t=[];return this.state.expanded&&t.push(/*#__PURE__*/e.createElement(lt,{key:this.props.question["@id"]+"-media",question:this.props.question})),t.push(this.renderAnswers()),t.push(this.renderSubQuestions()),t}renderQuestionIcons(){return ot.renderIcons(this.props.question,this.context.options,this.handleCommentChange,this.state.showIcon)}renderAnswerableSection(){const t=this.props.question,s=this.props.collapsible,n=ct._getQuestionCategoryClass(t);let o=this.getShowIrrelevantClassname(t);const r=/*#__PURE__*/e.createElement(O.Body,{className:Y("p-3",n)},this.renderSubQuestions(o));/*#__PURE__*/return e.createElement(w,{activeKey:this.state.expanded?t["@id"]:void 0,className:"answerable-section"},/*#__PURE__*/e.createElement(O,{className:"mb-3"},/*#__PURE__*/e.createElement(O.Header,{onClick:this._toggleCollapse,className:this._getHeaderClassName()},this.renderAnswers()),s?/*#__PURE__*/e.createElement(w.Collapse,{className:o,eventKey:t["@id"]},r):{cardBody:r}))}getShowIrrelevantClassname(e){return!this.context.options.debugMode&&!oe.checkId(e[te.HAS_SUBQUESTION],this.context.options.startingQuestionId)||re.hasAnswer(e)?"":"show-irrelevant"}renderAnswers(){const t=this.props.question,s=[],n=this._getAnswers();let o;for(let r=0,i=n.length;r<i;r++)re.isTextarea(t,re.resolveValue(n[r]))||re.isSparqlInput(t)||re.isTurtleInput(t),o=Y("answer",ct._getQuestionCategoryClass(t),ct.getEmphasizedOnRelevantClass(t)),s.push(/*#__PURE__*/e.createElement("div",{key:"row-item-"+r,className:o,id:t["@id"],onMouseEnter:this._onMouseEnterHandler,onMouseLeave:this._onMouseLeaveHandler},/*#__PURE__*/e.createElement("div",{className:"answer-content",style:this._getAnswerWidthStyle()},/*#__PURE__*/e.createElement(rt,{index:r,answer:n[r],question:t,onChange:this.handleAnswerChange,onCommentChange:this.handleCommentChange,showIcon:this.state.showIcon})),this._renderUnits(),this._renderPrefixes()));return s}_getAnswers(){const e=this.props.question;return e[te.HAS_ANSWER]||(e[te.HAS_ANSWER]=[]),Array.isArray(e[te.HAS_ANSWER])||(e[te.HAS_ANSWER]=[e[te.HAS_ANSWER]]),0===e[te.HAS_ANSWER].length&&(e[te.HAS_ANSWER]=re.isSection(e)&&!re.isAnswerable(e)?[]:[ve.generateAnswer(e)]),e[te.HAS_ANSWER]}_getAnswerWidthStyle(){const e=Number(this.props.question[te.HAS_INITIAL_INPUT_LENGTH]);return e?{flexGrow:0,maxWidth:"none",width:`calc(${e}ch + 1.5rem + 2px)`}:{}}static _getAnswerClass(e,t){return t?"col-12":1===te.GENERATED_ROW_SIZE?"col-6":"col-"+te.COLUMN_COUNT/te.GENERATED_ROW_SIZE}static _getQuestionCategoryClass(e){const t=re.getCategory(e);return t?"question-"+t:""}static getEmphasizedClass(e){return re.isEmphasised(e)?"bg-warning":""}static getEmphasizedOnRelevantClass(e){return c.hasValue(e,te.LAYOUT_CLASS,te.LAYOUT.EMPHASISE_ON_RELEVANT)?"emphasise-on-relevant":""}_renderCollapseToggle(){const{options:t}=this.context,s=this.state.expanded?t.i18n["section.collapse"]:t.i18n["section.expand"];/*#__PURE__*/return e.createElement("span",{onClick:this._toggleCollapse,title:s},/*#__PURE__*/e.createElement(this.state.expanded?qe:Fe,{title:s}))}_renderPrefixes(){const t=this.props.question;return t[te.HAS_DECLARED_PREFIX]&&t[te.HAS_DECLARED_PREFIX].length?/*#__PURE__*/e.createElement(at,{prefixes:t[te.HAS_DECLARED_PREFIX],iconClass:"help-icon-checkbox"},/*#__PURE__*/e.createElement(Qe,null)):null}_renderUnits(){const t=this.props.question;return t[te.HAS_UNIT]?/*#__PURE__*/e.createElement("div",{className:"has-unit-label"},t[te.HAS_UNIT]):null}renderSubQuestions(t){const s=[],n=this._getSubQuestions(),o=this.context.options.debugMode,r=this.context.options.startingQuestionId;for(let i=0;i<n.length;i++){let a=n[i],l=this.context.mapComponent(a,ct),c=null;(o||"show-irrelevant"!==t||se.findQuestionById(r,a,!0,!1,!1))&&(c=/*#__PURE__*/e.createElement(l,{key:"sub-question-"+i,question:a,onChange:this.handleSubQuestionChange,index:i})),s.push(c)}return s}_getSubQuestions(){const e=this.props.question;return e[te.HAS_SUBQUESTION]||(e[te.HAS_SUBQUESTION]=[]),Array.isArray(e[te.HAS_SUBQUESTION])||(e[te.HAS_SUBQUESTION]=[e[te.HAS_SUBQUESTION]]),oe.orderByLocalizedLabels(e[te.HAS_SUBQUESTION],this.context.options.intl),oe.orderPreservingToplogicalSort(e[te.HAS_SUBQUESTION],te.HAS_PRECEDING_QUESTION),e[te.HAS_SUBQUESTION]}_getFirstAnswerValue(){return re.resolveValue(this._getAnswers()[0])}}ct.contextType=me,ct.propTypes={question:a.object.isRequired,onChange:a.func.isRequired,index:a.number,withoutCard:a.bool,collapsible:a.bool},ct.defaultProps={withoutCard:!1,collapsible:!0};class ut extends e.Component{constructor(t){super(t),this.onNextStep=()=>{this.context.updateFormQuestionsData(this.props.index,this.context.getFormQuestionsData()),this.props.onNextStep()},this.onPreviousStep=()=>{this.props.onPreviousStep()},this._renderWizardStepButtons=()=>/*#__PURE__*/e.createElement(L,{className:"m-3 float-right"},!this.props.isFirstStep&&/*#__PURE__*/e.createElement(f,{className:"mr-2",onClick:this.onPreviousStep,variant:"primary",size:"sm"},this.props.options.i18n["wizard.previous"]),!this.props.isLastStep&&/*#__PURE__*/e.createElement(f,{onClick:this.onNextStep,variant:"primary",size:"sm"},this.props.options.i18n["wizard.next"])),this.onChange=(e,t)=>{this.context.updateFormQuestionsData(this.props.index||e,Object.assign({},this.props.question,t))}}render(){const t=this.context.getFormQuestionsData([this.props.index]);/*#__PURE__*/return e.createElement(e.Fragment,null,/*#__PURE__*/e.createElement(ct,{question:t,onChange:this.onChange,collapsible:re.isAnswerable(t)}),this.props.options.wizardStepButtons&&this._renderWizardStepButtons())}}ut.propTypes={options:a.object.isRequired,question:a.object.isRequired,index:a.number.isRequired,onNextStep:a.func,onPreviousStep:a.func,mapComponent:a.func,isFirstStep:a.bool,isLastStep:a.bool},ut.contextType=le;const pt=({steps:t,onNavigate:s,currentStep:n})=>{const{options:r}=o(me);/*#__PURE__*/return e.createElement(O.Header,null,/*#__PURE__*/e.createElement(R,{variant:"tabs",activeKey:n,onSelect:e=>s(parseInt(e))},t.map((t,s)=>/*#__PURE__*/e.createElement(b,{key:"nav"+s,id:"wizard-nav-"+s},/*#__PURE__*/e.createElement(y,{eventKey:s,active:s===n?"active":"",hidden:!r.debugMode&&!re.isRelevant(t),className:Y([r.debugMode&&!re.isRelevant(t)?"show-irrelevant":ct.getEmphasizedClass(t),"wizard-nav"])},c.getLocalized(t[c.RDFS_LABEL],r.intl))))))};pt.propTypes={currentStep:a.number.isRequired,steps:a.array.isRequired,onNavigate:a.func.isRequired};const mt=({steps:t,onNavigate:s,currentStep:n})=>{const{options:r}=o(me);/*#__PURE__*/return e.createElement("div",{className:"wizard-nav col-2 p-0"},/*#__PURE__*/e.createElement(C,null,t.map((t,o)=>/*#__PURE__*/e.createElement(I,{hidden:!r.debugMode&&!re.isRelevant(t),key:"nav"+o,onClick:()=>s(o),id:"wizard-nav-"+o,action:!0,active:o===n?"active":"",variant:"default",className:Y([r.debugMode&&!re.isRelevant(t)?"show-irrelevant":ct.getEmphasizedClass(t),"wizard-nav"])},c.getLocalized(t[c.RDFS_LABEL],r.intl)))))};mt.propTypes={currentStep:a.number.isRequired,steps:a.array.isRequired,onNavigate:a.func.isRequired};const dt=()=>{const t=e.useContext(le),{options:s,mapComponent:o}=e.useContext(me);let r=0;s.startingQuestionId?(r=((e,t)=>{const s=(e,n)=>e?e["@id"]===t?n:se.asArray(e[te.HAS_SUBQUESTION]).findIndex((e,t)=>-1!==s(e,t)):-1;return e.findIndex((e,t)=>-1!==s(e,t))})(t.getFormQuestionsData(),s.startingQuestionId),-1===r&&(console.warn(`Question with id ${s.startingQuestionId} not found!`),r=0)):s.startingStep&&(r=s.startingStep<t.getFormQuestionsData().length?s.startingStep:0);const[i,a]=e.useState(r),[l,c]=e.useState(!1);n(()=>{if(s.startingQuestionId&&!l){const e=document.getElementById(s.startingQuestionId);e&&(e.scrollIntoView(),e.classList.add("text-danger"),c(!0))}});const u=()=>{const e=t.getFormQuestionsData();i!==e.length-1&&(e[i+1].visited=!0,a(e=>e+1))},p=()=>{0!==i&&a(e=>e-1)},m=e=>{const n=t.getFormQuestionsData();e===i||e>=n.length||e>i&&!n[e].visited&&!s.enableForwardSkip||a(e)};let d=null;t.getFormQuestionsData().length>1&&(d=(()=>{const n=t.getFormQuestionsData();/*#__PURE__*/return e.createElement(s.horizontalWizardNav?pt:mt,{currentStep:i,steps:n,onNavigate:m})})());const h=s.horizontalWizardNav;/*#__PURE__*/return e.createElement(O,{className:h?"":"flex-row p-3"},d,/*#__PURE__*/e.createElement("div",{className:h?"card-body p-3":d?"col-10 p-0 pl-3":"col-12 p-0"},(()=>{const n=t.getFormQuestionsData()[i];let r=o(n,ut);/*#__PURE__*/return e.createElement(r,{options:s,key:"step"+i,question:n,onNextStep:u,onPreviousStep:p,mapComponent:o,index:i,isFirstStep:0===i,isLastStep:i===t.getFormQuestionsData().length-1})})()))},ht=/*#__PURE__*/e.forwardRef((t,s)=>{const{options:n}=e.useContext(me);/*#__PURE__*/return e.createElement(V,X({size:"xl",animation:!0},n.modalProps),/*#__PURE__*/e.createElement(V.Header,{closeButton:!0},/*#__PURE__*/e.createElement(V.Title,null,n.modalProps.title)),/*#__PURE__*/e.createElement(V.Body,{className:"overflow-hidden p-0"},t.children))});ht.propTypes={children:a.element.isRequired};class Et extends e.Component{constructor(...t){super(...t),this.getFormData=()=>{const e=this.context.getData(),t=this.context.getFormQuestionsData();return ve.buildQuestionAnswerModel(e,t)},this.getFormQuestionsData=()=>this.context.getFormQuestionsData(),this.handleStepChange=(e,t,s)=>{this.context.updateFormQuestionsData(t,Object.assign({},e,s))},this.renderWizardlessForm=()=>{const t=this.context.getFormQuestionsData();/*#__PURE__*/return e.createElement(O,{className:"p-3"},t.map((e,t)=>this._mapQuestion(e,t)))}}_mapQuestion(t,s){let n=this.props.mapComponent(t,ct);/*#__PURE__*/return e.createElement(n,{key:t["@id"],question:t,onChange:(e,s)=>this.handleStepChange(t,e,s),index:s})}render(){const{modalView:t}=this.props,s=this.context.getFormQuestionsData();if(!s.length)/*#__PURE__*/return e.createElement(O,{className:"p-3 font-italic"},"There are no questions available...");const n=s.every(e=>!re.isWizardStep(e));return t?/*#__PURE__*/e.createElement(ht,null,n?this.renderWizardlessForm():/*#__PURE__*/e.createElement(dt,null)):n?this.renderWizardlessForm():/*#__PURE__*/e.createElement(dt,null)}}Et.contextType=le;const gt=/*#__PURE__*/i((t,o)=>{const[r,i]=s(!0),[a,l]=s(null),[c,u]=s(null);if(n(()=>{(async()=>{const e=t.options.intl,[s,n]=await fe.constructForm(t.form,e);s.formQuestions.some(e=>re.isWizardStep(e))&&(s.formQuestions[0].visited=!0),l(s),u(n),i(!1)})()},[t.form]),r)return t.loader||/*#__PURE__*/e.createElement(O,{className:"p-3 font-italic"},"Loading SForms...");const p=((e,t)=>(s,n)=>{if(!e)return n;for(let{component:n,mapRule:o}of e)if(o(s,t))return n;return n})(t.componentMapRules,c);/*#__PURE__*/return e.createElement(he,{components:t.components,componentsOptions:t.componentsOptions,mapComponent:p,options:t.options},/*#__PURE__*/e.createElement($,{fetchTypeAheadValues:t.fetchTypeAheadValues},/*#__PURE__*/e.createElement(ce,{data:c,formQuestions:a.formQuestions,isFormValid:t.isFormValid},/*#__PURE__*/e.createElement(Et,{ref:o,modalView:t.options&&t.options.modalView,mapComponent:p}))))});gt.propTypes={form:a.object.isRequired,options:a.object.isRequired,componentMapRules:a.array,components:a.object,componentsOptions:a.object,fetchTypeAheadValues:a.func,isFormValid:a.func,loader:a.element};var St={"comment.form.placeholder":"Sem napište své komentáře (Ctrl+Enter pro potvrzení)"},At={"comment.form.placeholder":"Write your comments here (Ctrl+Enter to confirm, Esc to cancel)"};const _t=/*#__PURE__*/e.createContext({}),ft=({children:e,locale:t=navigator.language})=>{let s=At;return t===te.LANG.cs.locale&&(s=St),P(_t.Provider,{value:{locale:t,lang:s},children:P(W,{locale:t,messages:s,children:e})})};export{rt as Answer,me as ConfigurationContext,te as Constants,le as FormQuestionsContext,re as FormUtils,ke as HelpIcon,ft as IntlContextProvider,_e as JsonLdFramingUtils,ne as JsonLdObjectMap,oe as JsonLdObjectUtils,ct as Question,ot as QuestionStatic,ut as WizardStep,gt as default};
1
+ import"core-js/modules/es.array.iterator.js";import"core-js/modules/es.promise.js";import"core-js/modules/web.dom-collections.iterator.js";import e,{useMemo as t,useState as s,useEffect as n,useContext as o,useRef as r,forwardRef as i}from"react";import a from"prop-types";import"core-js/modules/es.object.assign.js";import*as l from"jsonld";import*as c from"jsonld-utils";import"core-js/modules/es.array.sort.js";import u from"@kbss-cvut/tsort";import p from"react-dom";import{Form as m,FormGroup as d,FormControl as h,FormText as E,OverlayTrigger as g,Tooltip as S,Col as A,Row as _,Button as f,Badge as v,Overlay as T,Popover as N,ListGroup as C,ListGroupItem as I,Card as O,Accordion as w,ButtonToolbar as R,Nav as L,NavItem as b,NavLink as y,Modal as V}from"react-bootstrap";import"core-js/modules/esnext.set.add-all.js";import"core-js/modules/esnext.set.delete-all.js";import"core-js/modules/esnext.set.difference.js";import"core-js/modules/esnext.set.every.js";import"core-js/modules/esnext.set.filter.js";import"core-js/modules/esnext.set.find.js";import"core-js/modules/esnext.set.intersection.js";import"core-js/modules/esnext.set.is-disjoint-from.js";import"core-js/modules/esnext.set.is-subset-of.js";import"core-js/modules/esnext.set.is-superset-of.js";import"core-js/modules/esnext.set.join.js";import"core-js/modules/esnext.set.map.js";import"core-js/modules/esnext.set.reduce.js";import"core-js/modules/esnext.set.some.js";import"core-js/modules/esnext.set.symmetric-difference.js";import"core-js/modules/esnext.set.union.js";import D from"react-datepicker";import{format as H}from"date-fns";import x from"yasgui-yasqe";import"@triply/yasgui/build/yasgui.min.css";import U from"inputmask-core";import{IntelligentTreeSelect as M}from"intelligent-tree-select/lib/components/IntelligentTreeSelect.js";import"intelligent-tree-select/lib/styles.css";import"core-js/modules/es.regexp.to-string.js";import{jsx as P,jsxs as q}from"react/jsx-runtime";import"core-js/modules/es.parse-int.js";import"core-js/modules/es.regexp.exec.js";import"core-js/modules/es.string.replace.js";import F from"javascript-time-ago";import Q from"javascript-time-ago/locale/en";import z from"javascript-time-ago/locale/cs";import{motion as j}from"framer-motion";import{Rings as k}from"react-loader-spinner";import"core-js/modules/es.string.trim.js";import{useIntl as B,IntlProvider as W}from"react-intl";import"core-js/modules/es.regexp.constructor.js";import Y from"classnames";function X(){return X=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var n in s)Object.prototype.hasOwnProperty.call(s,n)&&(e[n]=s[n])}return e},X.apply(this,arguments)}function G(e,t){if(null==e)return{};var s,n,o={},r=Object.keys(e);for(n=0;n<r.length;n++)t.indexOf(s=r[n])>=0||(o[s]=e[s]);return o}class J{static log(e){console.log(e)}static warn(e){console.warn?console.warn(e):console.log("WARNING: "+e)}static error(e){console.error?console.error(e):console.log("ERROR: "+e)}}const K=["children"],Z=/*#__PURE__*/e.createContext({}),$=s=>{let{children:n}=s,o=G(s,K),r=[];const i=async(e,t)=>{const s=r[e];if(s&&s.length)return s;const n=await o.fetchTypeAheadValues(t);return n.length?l.frame(n,{},{}).then(t=>{const s=t["@graph"];return r.push(Object.assign({},s,{[e]:s})),s}):(J.warn(`No data received when loading options using id ${e}`),[])},a=e=>r[e]||[],c=t(()=>({loadFormOptions:i,getOptions:a}),[i,a]);/*#__PURE__*/return e.createElement(Z.Provider,X({value:c},o),n)};var ee;$.propTypes={children:a.element.isRequired,fetchTypeAheadValues:a.func};class te{}ee=te,te.COLUMN_COUNT=12,te.INPUT_LENGTH_THRESHOLD=50,te.DATETIME_NUMBER_FORMAT="x",te.FORM="http://onto.fel.cvut.cz/ontologies/documentation/form",te.HAS_SUBQUESTION="http://onto.fel.cvut.cz/ontologies/documentation/has_related_question",te.HAS_ANSWER="http://onto.fel.cvut.cz/ontologies/documentation/has_answer",te.HAS_OPTION="http://onto.fel.cvut.cz/ontologies/form/has-possible-value",te.HAS_OPTIONS_QUERY="http://onto.fel.cvut.cz/ontologies/form/has-possible-values-query",te.HAS_VALUE_TYPE="http://onto.fel.cvut.cz/ontologies/form/has-value-type",te.IS_DISABLED="http://onto.fel.cvut.cz/ontologies/aviation/form-376/is-disabled",te.INPUT_MASK="http://onto.fel.cvut.cz/ontologies/form/has-input-mask",te.LAYOUT_CLASS="http://onto.fel.cvut.cz/ontologies/form-layout/has-layout-class",te.LAYOUT={FORM:"form",QUESTION_SECTION:"section",WIZARD_STEP:"wizard-step",DATE:"date",TIME:"time",DATETIME:"datetime",TEXT:"text",TEXTAREA:"textarea",CHECKBOX:"checkbox",QUESTION_TYPEAHEAD:"type-ahead",MASKED_INPUT:"masked-input",ANSWERABLE:"answerable",SPARQL:"sparql",TURTLE:"ttl",DISABLED:"disabled",HIDDEN:"hidden",COLLAPSED:"collapsed",EMPHASISED:"emphasised",EMPHASISE_ON_RELEVANT:"emphasise-on-relevant",CATEGORY:["category-1","category-2","category-3","category-4","category-5"]},te.HAS_INITIAL_INPUT_LENGTH="http://onto.fel.cvut.cz/ontologies/form-layout/has-initial-input-length",te.VALUE_TYPE_CODE="code",te.VALUE_TYPE_TEXT="text",te.GENERATED_ROW_SIZE=1,te.HAS_QUESTION_ORIGIN="http://onto.fel.cvut.cz/ontologies/form/has-question-origin",te.HAS_ANSWER_ORIGIN="http://onto.fel.cvut.cz/ontologies/form/has-answer-origin",te.HAS_DATA_VALUE="http://onto.fel.cvut.cz/ontologies/documentation/has_data_value",te.HAS_OBJECT_VALUE="http://onto.fel.cvut.cz/ontologies/documentation/has_object_value",te.HELP_DESCRIPTION="http://purl.org/dc/elements/1.1/description",te.SOURCE="http://purl.org/dc/elements/1.1/source",te.XSD={MAX_EXCLUSIVE:"http://www.w3.org/2001/XMLSchema#maxExclusive",MAX_INCLUSIVE:"http://www.w3.org/2001/XMLSchema#maxInclusive",MIN_EXCLUSIVE:"http://www.w3.org/2001/XMLSchema#minExclusive",MIN_INCLUSIVE:"http://www.w3.org/2001/XMLSchema#minInclusive",INT:"http://www.w3.org/2001/XMLSchema#int",INTEGER:"http://www.w3.org/2001/XMLSchema#integer",NEGATIVE_INTEGER:"http://www.w3.org/2001/XMLSchema#negativeInteger",NON_NEGATIVE_INTEGER:"http://www.w3.org/2001/XMLSchema#nonNegativeInteger",NON_POSITIVE_INTEGER:"http://www.w3.org/2001/XMLSchema#nonPositiveInteger",POSITIVE_INTEGER:"http://www.w3.org/2001/XMLSchema#positiveInteger",BOOLEAN:"http://www.w3.org/2001/XMLSchema#boolean"},te.STEP="http://onto.fel.cvut.cz/ontologies/form/step",te.PATTERN="http://onto.fel.cvut.cz/ontologies/form/pattern",te.ACCEPTS_ANSWER_VALUE="http://onto.fel.cvut.cz/ontologies/form/accepts-answer-value",te.ACCEPTS="http://onto.fel.cvut.cz/ontologies/form/accepts",te.HAS_DATATYPE="http://onto.fel.cvut.cz/ontologies/form/has-datatype",te.HAS_LAYOUT_CLASS="http://onto.fel.cvut.cz/ontologies/form/has-layout-class",te.HAS_POSSIBLE_VALUES_QUERY="http://onto.fel.cvut.cz/ontologies/form/has-possible-values-query",te.HAS_REQUIRED_VALUE="http://onto.fel.cvut.cz/ontologies/form/has-required-value",te.HAS_TESTED_QUESTION="http://onto.fel.cvut.cz/ontologies/form/has-tested-question",te.HAS_TESTED_FORM="http://onto.fel.cvut.cz/ontologies/form/has-tested-form",te.HAS_UNIT="http://onto.fel.cvut.cz/ontologies/form/has-unit",te.HAS_VALID_ANSWER="http://onto.fel.cvut.cz/ontologies/form/has-valid-answer",te.IS_RELEVANT_IF="http://onto.fel.cvut.cz/ontologies/form/is-relevant-if",te.ACCEPTS_VALIDATION_VALUE="http://onto.fel.cvut.cz/ontologies/form/accepts-validation-value",te.HAS_VALIDATION_MESSAGE="http://onto.fel.cvut.cz/ontologies/form/has-validation-message",te.NEGATIVE_CONDITION="http://onto.fel.cvut.cz/ontologies/form/negative-condition",te.REQUIRES_ANSWER="http://onto.fel.cvut.cz/ontologies/form/requires-answer",te.USED_ONLY_FOR_COMPLETENESS="http://onto.fel.cvut.cz/ontologies/form/used-only-for-completeness",te.REQUIRES_ANSWER_DESCRIPTION_IF="http://onto.fel.cvut.cz/ontologies/form/requires-answer-description-if",te.REQUIRES_ANSWER_IF="http://onto.fel.cvut.cz/ontologies/form/requires-answer-if",te.HAS_PRECEDING_QUESTION="http://onto.fel.cvut.cz/ontologies/form/has-preceding-question",te.HAS_PRECEDING_VALUE="http://onto.fel.cvut.cz/ontologies/form/has-preceding-value",te.HAS_MEDIA_CONTENT="http://onto.fel.cvut.cz/ontologies/form/has-media-content",te.CONDITION="http://onto.fel.cvut.cz/ontologies/form/condition",te.OR_CONDITION="http://onto.fel.cvut.cz/ontologies/form/or-condition",te.HAS_SUB_CONDITION="http://onto.fel.cvut.cz/ontologies/form/has-sub-condition",te.HAS_PATTERN="http://onto.fel.cvut.cz/ontologies/form-lt/has-pattern",te.HAS_DECLARED_PREFIX="http://onto.fel.cvut.cz/ontologies/form-spin/has-declared-prefix",te.PREFIX="http://www.w3.org/ns/shacl#prefix",te.NAMESPACE="http://www.w3.org/ns/shacl#namespace",te.HAS_COMMENT="http://onto.fel.cvut.cz/ontologies/form/has-comment",te.HAS_COMMENT_VALUE="http://onto.fel.cvut.cz/ontologies/form/has-comment-value",te.HAS_AUTHOR="http://onto.fel.cvut.cz/ontologies/form/has-author",te.HAS_TIMESTAMP="http://onto.fel.cvut.cz/ontologies/form/has-timestamp",te.TIME_FORMAT="http://onto.fel.cvut.cz/ontologies/form/time-format",te.DATE_FORMAT="http://onto.fel.cvut.cz/ontologies/form/date-format",te.DATETIME_FORMAT="http://onto.fel.cvut.cz/ontologies/form/datetime-format",te.NOT_ANSWERED_QUESTION="http://onto.fel.cvut.cz/ontologies/form/not-answered-question",te.ANSWERED_QUESTION="http://onto.fel.cvut.cz/ontologies/form/answered-question",te.HAS_VALIDATION_SEVERITY="http://onto.fel.cvut.cz/ontologies/form/has-validation-severity",te.RDFS_LABEL=c.RDFS_LABEL,te.RDFS_COMMENT=c.RDFS_COMMENT,te.DEFAULT_HAS_CHILD=c.DEFAULT_HAS_CHILD,te.BROADER="http://www.w3.org/2004/02/skos/core#broader",te.HAS_NON_SELECTABLE_VALUE="http://onto.fel.cvut.cz/ontologies/form/has-non-selectable-value",te.PROVIDES_DEREFERENCEABLE_ANSWER_VALUES="http://onto.fel.cvut.cz/ontologies/form/provides-dereferenceable-answer-values",te.ICONS={QUESTION_COMMENTS:"questionComments",QUESTION_HELP:"questionHelp",QUESTION_LINK:"questionLink"},te.ICON_BEHAVIOR={ENABLE:"enable",DISABLE:"disable",ON_HOVER:"onHover"},te.DEFAULT_OPTIONS={icons:[{id:ee.ICONS.QUESTION_HELP,behavior:ee.ICON_BEHAVIOR.ENABLE},{id:ee.ICONS.QUESTION_COMMENTS,behavior:ee.ICON_BEHAVIOR.ON_HOVER},{id:ee.ICONS.QUESTION_LINK,behavior:ee.ICON_BEHAVIOR.ON_HOVER}]},te.LANG={cs:{locale:"cs",label:"Čestina"},en:{locale:"en",label:"English"}},te.VALIDATION_SEVERITY={ERROR:"error",WARNING:"warning"};class se{static getStringHash(e){let t=0;const s=e?e.length:0;if(0===s)return t;for(let n=0;n<s;n++)t=(t<<5)-t+e.charCodeAt(n),t&=t;return t}static asArray(e){return e?e.constructor===Array?e:[e]:[]}static findQuestionById(e,t,s,n,o){if(s&&t["@id"]===e)return t;const r=se.asArray(t[te.HAS_SUBQUESTION]);if(n)for(let t of r){let s=se.findQuestionById(e,t,!0,!1,!1);if(s)return s}if(o)for(let t of r){let s=se.findQuestionById(e,t,!1,!0,!0);if(s)return s}return null}static findKeyInObjects(e,t){for(let s=0;s<e.length;s++)for(let n=0;n<t.length;n++)if(e[s].hasOwnProperty(t[n]))return t[n];return null}}class ne{static putObject(e,t){ne.objectMap[e]=t}static getObject(e){return ne.objectMap[e]}}ne.objectMap={};class oe{static getFirstObject(e,t){const s=l.getValues(e,t);return 0===s.length?null:s[0]}static compareValues(e,t){return t="object"==typeof t?t:{"@value":t},!!((e="object"==typeof e?e:{"@value":e})&&e["@value"]&&t&&t["@value"]&&("string"==typeof e["@value"]?e["@value"]:JSON.stringify(e["@value"]))===("string"==typeof t["@value"]?t["@value"]:JSON.stringify(t["@value"])))||l.compareValues(e,t)}static toplogicalSort(e,t){let s;do{s=!1;for(let n=0;n<e.length;n++)for(let o=n;o<e.length;o++)if(e[n][t]&&("object"==typeof e[n][t]?e[n][t]["@id"]:e[n][t])===e[o]["@id"]){const t=e[n];e[n]=e[o],e[o]=t,s=!0;break}}while(s);return e}static orderPreservingToplogicalSort(e,t){const s=u(),n={};for(let o=0;o<e.length;o++){let r=e[o]["@id"];s.add(r),n[r]=e[o],se.asArray(e[o][t]).map(e=>"object"==typeof e?e["@id"]:e).map(e=>[e,r]).forEach(e=>s.add(e))}let o=s.sort();for(let t=0;t<o.length;t++)e[t]=n[o[t]];return e}static getCompareLocalizedLabelFunction(e){return(t,s)=>{const n=c.getLocalized(t[c.RDFS_LABEL],e),o=c.getLocalized(s[c.RDFS_LABEL],e);return n<o?-1:n>o?1:0}}static orderByLocalizedLabels(e,t){return e.sort(oe.getCompareLocalizedLabelFunction(t))}static checkId(e,t){if(void 0!==e)return e.constructor===Array?!!e.find(e=>e["@id"]===t):e.constructor===Object?e["@id"]===t:void 0}}class re{static isForm(e){return c.hasValue(e,te.LAYOUT_CLASS,te.LAYOUT.FORM)}static isWizardStep(e){return c.hasValue(e,te.LAYOUT_CLASS,te.LAYOUT.WIZARD_STEP)}static isSection(e){return c.hasValue(e,te.LAYOUT_CLASS,te.LAYOUT.QUESTION_SECTION)}static isAnswerable(e){return c.hasValue(e,te.LAYOUT_CLASS,te.LAYOUT.ANSWERABLE)}static isTypeahead(e){return c.hasValue(e,te.LAYOUT_CLASS,te.LAYOUT.QUESTION_TYPEAHEAD)}static getPossibleValuesQuery(e){return c.getJsonAttValue(e,te.HAS_OPTIONS_QUERY)}static isDisabled(e){return c.hasValue(e,te.LAYOUT_CLASS,te.LAYOUT.DISABLED)}static isHidden(e){return c.hasValue(e,te.LAYOUT_CLASS,te.LAYOUT.HIDDEN)}static isTextarea(e,t){return t&&t.length>te.INPUT_LENGTH_THRESHOLD&&!re.isTypeahead(e)||c.hasValue(e,te.LAYOUT_CLASS,te.LAYOUT.TEXTAREA)}static isText(e){return c.hasValue(e,te.LAYOUT_CLASS,te.LAYOUT.TEXT)}static isCalendar(e){return re.isDate(e)||re.isTime(e)||re.isDateTime(e)}static isDate(e){return c.hasValue(e,te.LAYOUT_CLASS,te.LAYOUT.DATE)}static isTime(e){return c.hasValue(e,te.LAYOUT_CLASS,te.LAYOUT.TIME)}static isDateTime(e){return c.hasValue(e,te.LAYOUT_CLASS,te.LAYOUT.DATETIME)}static isCheckbox(e){return c.hasValue(e,te.LAYOUT_CLASS,te.LAYOUT.CHECKBOX)}static isMaskedInput(e){return c.hasValue(e,te.LAYOUT_CLASS,te.LAYOUT.MASKED_INPUT)}static isSparqlInput(e){return c.hasValue(e,te.LAYOUT_CLASS,te.LAYOUT.SPARQL)}static isTurtleInput(e){return c.hasValue(e,te.LAYOUT_CLASS,te.LAYOUT.TURTLE)}static isCollapsed(e){return c.hasValue(e,te.LAYOUT_CLASS,te.LAYOUT.COLLAPSED)}static isEmphasised(e){return c.hasValue(e,te.LAYOUT_CLASS,te.LAYOUT.EMPHASISED)}static getCategory(e){return te.LAYOUT.CATEGORY.find(t=>c.hasValue(e,te.LAYOUT_CLASS,t))}static resolveValue(e){return e?e[te.HAS_OBJECT_VALUE]?e[te.HAS_OBJECT_VALUE]["@id"]:c.getJsonAttValue(e,te.HAS_DATA_VALUE):null}static resolveValueObject(e){return e?e[te.HAS_OBJECT_VALUE]?se.asArray(e[te.HAS_OBJECT_VALUE])[0]:e[te.HAS_DATA_VALUE]?se.asArray(e[te.HAS_DATA_VALUE])[0]:null:null}static isRelevant(e){if(!e[te.IS_RELEVANT_IF])return!0;for(let t of se.asArray(e[te.IS_RELEVANT_IF]))if(!re.testCondition(t))return!1;return!0}static hasValidationLogic(e){return!!e[te.REQUIRES_ANSWER]||!!e[te.REQUIRES_ANSWER_IF]||!!e[te.PATTERN]}static isValid(e){if(!1===e[te.HAS_VALID_ANSWER])return!1;for(const t of se.asArray(e[te.HAS_SUBQUESTION]))if(!1===this.isValid(t))return!1;return!0}static testOrCondition(e){const t=e[te.HAS_SUB_CONDITION];t||console.warn("Or condition does not have any sub-condition !");for(const e of this._getMappedObjectsArray(t))if(this.testCondition(e))return!0;return!1}static testCondition(e){const t=e[te.ACCEPTS_VALIDATION_VALUE],s=e[te.ACCEPTS_ANSWER_VALUE],n=e[te.ACCEPTS],o=e[te.HAS_TESTED_QUESTION];let r;if(e[te.HAS_SUB_CONDITION])return this.testOrCondition(e);if(t&&s&&console.warn("Support for validation and requirement constraints at same time is not implemented !"),n&&o){const e=se.asArray(n);if(1!==e.length&&console.warn("Support for multiple accepts values is not implemented !"),e[0]["@id"]===te.ANSWERED_QUESTION){(s||t)&&console.warn("Support for accepted answer/validations values is not implemented !");for(const e of this._getMappedObjectsArray(o))if(!this.hasAnswer(e))return!1;return!0}console.warn("No support to accept question of type "+e[0]["@id"]+" !")}if(t&&o){const e=se.asArray(t);(1!==e.length||!0!==e[0]&&"true"!==e[0])&&console.warn('Validation values other than "true" are not implemented !');for(const e of se.asArray(o)){if(r=ne.getObject(e["@id"]),void 0===r)return console.warn("Questions is not loaded in an object map."),!0;if(!1===this.isValid(r))return!1}return!0}if(s&&o){r=ne.getObject(o["@id"]);for(const e of se.asArray(s)){if(!r)return console.warn("Question is not defined."),!0;if(!r.hasOwnProperty(te.HAS_ANSWER))return!1;const t=l.getValues(r,te.HAS_ANSWER);if(0===t.length)return!1;const s=re.resolveValueObject(t[0]);if(s&&e&&s.hasOwnProperty("@value")&&e.hasOwnProperty("@id")&&s["@value"]==e["@id"])return!0;if(oe.compareValues(s,e))return!0}}return!1}static _getMappedObjectsArray(e,t){return se.asArray(e).map(e=>{const s=ne.getObject(e["@id"]);return void 0===s?(console.warn((t||"Object")+' "'+e["@id"]+'" is not loaded in an object map.'),null):s}).filter(function(e){return null!==e})}static hasAnswer(e){if(!e)return!1;if(e.hasOwnProperty(te.HAS_ANSWER)){const t=l.getValues(e,te.HAS_ANSWER);if(t.length){const e=re.resolveValueObject(t[0]);if(e&&(e["@value"]||e["@id"]))return!0}}for(const t of se.asArray(e[te.HAS_SUBQUESTION]))if(re.hasAnswer(t))return!0;return!1}static getAnswerValue(e){if(!e)return null;if(e.hasOwnProperty(te.HAS_ANSWER)){const t=l.getValues(e,te.HAS_ANSWER);if(t.length){const e=re.resolveValueObject(t[0]);if(e&&(e["@value"]||e["@id"]))return e["@value"]||e["@id"]}}for(const t of se.asArray(e[te.HAS_SUBQUESTION])){const e=re.getAnswerValue(t);if(e)return e}return null}static resolveDateTimeFormat(e,t,s){const n="number"==typeof t,o=re.isDate(e),r=re.isTime(e),i=re.isDateTime(e);return n?te.DATETIME_NUMBER_FORMAT:o?e[te.DATE_FORMAT]||s.dateFormat:r?e[te.TIME_FORMAT]||s.timeFormat:i?e[te.DATETIME_FORMAT]||s.dateTimeFormat:null}}const ie={},ae=[],le=/*#__PURE__*/e.createContext({}),ce=o=>{const[r,i]=s(o.data||ie),[a,l]=s(o.formQuestions||ae);n(()=>{if(o.isFormValid){const e=re.isValid(r);o.isFormValid(e)}},[]),n(()=>{i(o.data||ie)},[a]);const c=e=>{e&&i(Object.assign({},r,e))},u=(e,t)=>{if(!(!t||e<0||e>=a.length)){if("object"==typeof t){const s=[...a];s[e]=Object.assign({},s[e],t),l(s)}if(Array.isArray(t)&&l(t),o.isFormValid){const e=re.isValid(r);o.isFormValid(e)}}},p=()=>r,m=e=>null==e?a:a[e],d=t(()=>({updateData:c,updateFormQuestionsData:u,getData:p,getFormQuestionsData:m}),[m,p]);/*#__PURE__*/return e.createElement(le.Provider,X({value:d},o),o.children)};ce.propTypes={children:a.element.isRequired,data:a.object.isRequired,formQuestions:a.array.isRequired,isFormValid:a.func};class ue extends e.Component{constructor(e){super(e),this.state={cursorPosition:0}}focus(){p.findDOMNode(this.input).focus()}getInputDOMNode(){return p.findDOMNode(this.input)}componentDidUpdate(e,t,s){(this.fieldDidShrink(e)||this.fieldDidExpand(e))&&this.updateFieldCursorPosition()}fieldDidExpand(e){return"textarea"===this.props.type&&"textarea"!==e.type}fieldDidShrink(e){return"text"===this.props.type&&"text"!==e.type}updateFieldCursorPosition(){this.focus(),this.getInputDOMNode().setSelectionRange(this.state.cursorPosition,this.state.cursorPosition)}saveCursorPosition(e){this.props.onChange(e),this.setState({cursorPosition:e.target.selectionStart})}render(){switch(this.props.type){case"radio":return this._renderRadio();case"checkbox":return this._renderCheckbox();case"select":return this._renderSelect();case"textarea":return this._renderTextArea();default:return this._renderInput()}}_renderCheckbox(){/*#__PURE__*/return e.createElement(m.Group,{size:"small",controlId:Math.floor(Math.random()*Number.MAX_SAFE_INTEGER)},/*#__PURE__*/e.createElement(m.Check,X({type:"checkbox",ref:e=>this.input=e},this.props,{label:this.props.label})))}_renderRadio(){/*#__PURE__*/return e.createElement(d,{size:"small"},/*#__PURE__*/e.createElement(m.Check,X({type:"radio",ref:e=>this.input=e},this.props,{label:this.props.label})))}_renderSelect(){/*#__PURE__*/return e.createElement(d,{size:"small"},this._renderLabel(),/*#__PURE__*/e.createElement(h,X({as:"select",ref:e=>this.input=e},this.props),this.props.children),this.props.validation&&/*#__PURE__*/e.createElement(h.Feedback,null),this._renderHelp())}_renderLabel(){return this.props.label?/*#__PURE__*/e.createElement(m.Label,null,this.props.label):null}_renderTextArea(){/*#__PURE__*/return e.createElement(d,{size:"small"},this._renderLabel(),/*#__PURE__*/e.createElement(h,X({ref:e=>this.input=e,as:"textarea"},this.props,{onChange:e=>this.saveCursorPosition(e)})),this.props.validation&&/*#__PURE__*/e.createElement(h.Feedback,null),this._renderHelp())}_renderHelp(t=""){return this.props.help?/*#__PURE__*/e.createElement(E,{className:t},this.props.help):null}_hasValidationWarning(){return this.props.validation&&"warning"===this.props.validation}_hasValidationError(){return this.props.validation&&"error"===this.props.validation}_hasValidationSuccess(){return this.props.validation&&"success"===this.props.validation}_getValidationClassname(){return this.props.validation&&"error"===this.props.validation?"is-invalid":this.props.validation&&"warning"===this.props.validation?"is-warning":""}_renderInput(){/*#__PURE__*/return e.createElement(d,{size:"small"},this._renderLabel(),/*#__PURE__*/e.createElement(h,X({className:this._getValidationClassname(),ref:e=>this.input=e,as:"input"},this.props,{onChange:e=>this.saveCursorPosition(e)})),(this._hasValidationSuccess()||this._hasValidationWarning())&&this._renderHelp(this._getValidationClassname()),this._hasValidationError()&&/*#__PURE__*/e.createElement(h.Feedback,{type:"invalid"},this.props.help),!this.props.validation&&this._renderHelp())}}ue.propTypes={type:a.string,label:a.object,value:a.any,onChange:a.func,help:a.string,validation:a.oneOf(["success","warning","error"])},ue.defaultProps={type:"text"};const pe=["children"],me=/*#__PURE__*/e.createContext({}),de={components:{inputComponent:ue},componentsOptions:{dateTimeAnswer:{dateFormat:"yyyy-MM-dd",timeFormat:"HH:mm",dateTimeFormat:"yyyy-MM-dd HH:mm:ss"},readOnly:!1},options:{intl:{locale:"en"},i18n:{"wizard.next":"Next","wizard.previous":"Previous","section.collapse":"Collapse","section.expand":"Expand"},modalView:!1,modalProps:{},horizontalWizardNav:!0,wizardStepButtons:!0,enableForwardSkip:!1,startingStep:0}},he=s=>{let{children:n}=s,o=G(s,pe);const r=t(()=>({inputComponent:o.components&&o.components.inputComponent||de.components.inputComponent,componentsOptions:Object.assign({},de.componentsOptions,o.componentsOptions),options:Object.assign({},de.options,o.options),mapComponent:o.mapComponent}),[o]);/*#__PURE__*/return e.createElement(me.Provider,{value:r},n)};he.propTypes={children:a.element.isRequired,components:a.object,mapComponent:a.func,options:a.object};var Ee,ge={"@graph":[{"@type":"http://onto.fel.cvut.cz/ontologies/documentation/question","http://onto.fel.cvut.cz/ontologies/form-layout/has-layout-class":"form","http://onto.fel.cvut.cz/ontologies/documentation/has_related_question":[{"http://onto.fel.cvut.cz/ontologies/form-layout/has-layout-class":["wizard-step","section"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@language":"en","@value":"Description"},{"@language":"cs","@value":"Popis"}],"http://onto.fel.cvut.cz/ontologies/documentation/has_related_question":[{"@type":"http://onto.fel.cvut.cz/ontologies/documentation/question","http://onto.fel.cvut.cz/ontologies/form-layout/has-layout-class":["textarea"],"http://www.w3.org/2000/01/rdf-schema#label":[{"@language":"en","@value":"Description"},{"@language":"cs","@value":"Popis"}],"http://onto.fel.cvut.cz/ontologies/documentation/has_answer":{"@type":"http://onto.fel.cvut.cz/ontologies/documentation/answer","http://onto.fel.cvut.cz/ontologies/documentation/has_data_value":""}}]}]}]};class Se{static generateForm(){return JSON.parse(JSON.stringify(ge))}}const Ae={root:{[te.HAS_LAYOUT_CLASS]:te.FORM},expandProperties:[te.HAS_SUBQUESTION,te.IS_RELEVANT_IF,te.HAS_ANSWER,te.HAS_DECLARED_PREFIX,te.HAS_OPTION,te.HAS_COMMENT]};class _e{static customFrame(e,t,s){if(arguments.length<2)return l.nextTick(function(){s(new TypeError("Could not frame, too few arguments."))});null===t&&(t=Ae),l.flatten(e,null,null,(e,t)=>{})}static expandStructure(e){let t;const s={};e["@graph"].forEach(e=>{s[e["@id"]]=e,re.isForm(e)&&(t=e)});try{this._expandGraph(t,Ae,s)}catch(e){console.error("Error '"+e+"' occured, while trying to apply frame-ing with custom shape.")}return s}static _expandGraph(e,t,s){let n,o,r;t.expandProperties.forEach(i=>{if(e.hasOwnProperty(i)){e[i]=se.asArray(e[i]),n=e[i];for(let e=0;e<n.length;e++)r=this._getId(n[e]),o=s[r],void 0!==o?(n[e]=o,this._expandGraph(o,t,s)):console.warn("object with @id "+r+" was not defined in input data.")}})}static _getId(e){return"string"==typeof e?e:e["@id"]}}Ee=_e,_e.compressStructure=e=>{let t=[],s=new Set;return t=Ee._compressGraph(e,t,s),t=t.sort((e,t)=>e["@id"]&&t["@id"]?e["@id"].localeCompare(t["@id"]):0),t},_e._compressGraph=(e,t,s)=>(s.has(e["@id"])||(t.push(e),s.add(e["@id"])),Ae.expandProperties.forEach(n=>{if(e.hasOwnProperty(n)){const o=e[n];for(let r=0;r<o.length;r++){const i=o[r];void 0!==i&&(o[r]=i,t=Ee._compressGraph(i,t,s),e[n][r]={"@id":i["@id"]})}}}),t);class fe{static constructDefaultForm(e){const t=Se.generateForm();return fe._constructFormQuestions(t,e)}static async constructForm(e,t){let s,n;return l.flatten(e,{}).then(e=>{try{const[o,r]=fe._constructFormQuestions(e,t);n=r,s={formQuestions:o}}catch(e){console.error("Error while constructing form questions from the provided structure:",e)}if(!n){const[e,o]=fe.constructDefaultForm(t);n=o,s={formQuestions:e}}return[s,n]}).catch(e=>(console.error("Failed to flatten the JSON-LD structure. Expected to transform a nested JSON-LD document into a flattened array of node objects:",e),[s,n]))}static _constructFormQuestions(e,t){let s,n,o,r=[];if(void 0!==e["@graph"][0]["@id"]?(o=_e.expandStructure(e),Object.keys(o).map(e=>{ne.putObject(e,o[e])})):console.warn("default form is constructed."),s=e["@graph"].find(e=>re.isForm(e)),n=s[te.HAS_SUBQUESTION],!n)throw J.error("Could not find any questions in the received data."),"No questions in the form";return r=n.filter(e=>!(!re.isWizardStep(e)||re.isHidden(e))||(J.warn("Item is not a wizard step: "+e),!1)),r.length||(J.log("Could not find any wizard steps in the received data. Building form without steps"),s[te.HAS_SUBQUESTION].forEach(e=>r.push(e))),r.sort(oe.getCompareLocalizedLabelFunction(t)),oe.orderPreservingToplogicalSort(r,te.HAS_PRECEDING_QUESTION),[r,{root:s}]}}class ve{static buildQuestionAnswerModel(e,t){const s={subQuestions:[]};let n;if(e&&(s.uri=e.root["@id"],s.origin=c.getJsonAttValue(e.root,te.HAS_QUESTION_ORIGIN,"@id")),t)for(let e=0;e<t.length;e++)n=ve.processQuestionAnswerHierarchy(t[e]),n&&s.subQuestions.push(n);return s}static processQuestionAnswerHierarchy(e){return e?ve._processQuestion(e):null}static _processQuestion(e){const t={};if(t.uri=e["@id"],t.origin=c.getJsonAttValue(e,te.HAS_QUESTION_ORIGIN,"@id"),e[te.HAS_SUBQUESTION]){t.subQuestions=[];for(let s=0;s<e[te.HAS_SUBQUESTION].length;s++)t.subQuestions.push(ve._processQuestion(e[te.HAS_SUBQUESTION][s]))}if(e[te.HAS_ANSWER]){t.answers=[],Array.isArray(e[te.HAS_ANSWER])||(e[te.HAS_ANSWER]=[e[te.HAS_ANSWER]]);for(let s=0;s<e[te.HAS_ANSWER].length;s++)t.answers.push(ve.processAnswer(e[te.HAS_ANSWER][s]))}if(e[te.HAS_COMMENT]){t.comments=[],Array.isArray(e[te.HAS_COMMENT])||(e[te.HAS_COMMENT]=[e[te.HAS_COMMENT]]);for(let s=0;s<e[te.HAS_COMMENT].length;s++)t.comments.push(ve.processComment(e[te.HAS_COMMENT][s]))}return t}static processComment(e){const t={};return t.author=c.getJsonAttValue(e,te.HAS_AUTHOR,"@id"),t.value=c.getJsonAttValue(e,te.HAS_COMMENT_VALUE),t.timestamp=c.getJsonAttValue(e,te.HAS_TIMESTAMP,"@id"),t}static processAnswer(e){const t={};return t.uri=e["@id"],t.origin=c.getJsonAttValue(e,te.HAS_ANSWER_ORIGIN,"@id"),e[te.HAS_OBJECT_VALUE]?t.codeValue=c.getJsonAttValue(e,te.HAS_OBJECT_VALUE,"@id"):t.textValue=c.getJsonAttValue(e,te.HAS_DATA_VALUE),t}static generateAnswer(e){const t={};return t[te.HAS_DATA_VALUE]="",t}}class Te{static resolveValidationProperties(e){const t={};return!1===e[te.HAS_VALID_ANSWER]&&(t.validation="error",t.help=e[te.HAS_VALIDATION_MESSAGE]),t}}const Ne=t=>{const{inputComponent:s,componentsOptions:n}=o(me),r=t.question;/*#__PURE__*/return e.createElement(s,Object.assign({},Te.resolveValidationProperties(r),{type:"checkbox",label:t.label,title:t.title,checked:!0===t.value||"true"===t.value,onChange:e=>{t.onChange(e.target.checked)},disabled:n.readOnly||re.isDisabled(r)}))};Ne.propTypes={question:a.object.isRequired,label:a.object.isRequired,title:a.string,value:a.oneOfType([a.string,a.bool]),onChange:a.func.isRequired,mouseHover:a.bool};const Ce=t=>{const{componentsOptions:s}=o(me),n=re.resolveDateTimeFormat(t.question,t.value,s.dateTimeAnswer),r=re.isDate(t.question),i=re.isTime(t.question);let a;a=i&&t.value&&"0"!==t.value?new Date(`0 ${t.value}`):r&&t.value&&"0"!==t.value?new Date(t.value):new Date;const l="x"===n?s.dateTimeAnswer.dateTimeFormat:n;/*#__PURE__*/return e.createElement(d,{size:"small"},/*#__PURE__*/e.createElement(m.Label,{className:"w-100"},t.label),/*#__PURE__*/e.createElement(D,{selected:a,placeholderText:l.toUpperCase(),onChange:e=>{t.onChange(n===te.DATETIME_NUMBER_FORMAT?Number(e):H(e,n))},showTimeSelect:!r,showTimeSelectOnly:i,timeFormat:"HH:mm",timeIntervals:1,timeCaption:"Time",dateFormat:l,className:"form-control",disabled:s.readOnly||re.isDisabled(t.question)}))};Ce.propTypes={question:a.object.isRequired,label:a.object.isRequired,title:a.string,value:a.oneOfType([a.string,a.number]),onChange:a.func.isRequired};const Ie=[te.XSD.INT,te.XSD.INTEGER,te.XSD.NON_NEGATIVE_INTEGER,te.XSD.NON_POSITIVE_INTEGER,te.XSD.NEGATIVE_INTEGER,te.XSD.POSITIVE_INTEGER],Oe={};Oe[te.XSD.NON_NEGATIVE_INTEGER]={min:0},Oe[te.XSD.NON_POSITIVE_INTEGER]={max:0},Oe[te.XSD.NEGATIVE_INTEGER]={max:-1},Oe[te.XSD.POSITIVE_INTEGER]={min:1};const we={"string-2":"prefixed",atom:"var"};class Re{static _resolveInputType(e,t){return re.isSparqlInput(e)||re.isTurtleInput(e)||re.isTextarea(e,t)?"textarea":Re._isNumeric(e)?"number":"text"}static _isNumeric(e){for(let t=0,s=Ie.length;t<s;t++)if(c.hasValue(e,te.HAS_DATATYPE,Ie[t]))return!0;return!1}static resolveInputProperties(e,t,s){let n={};switch(n.type=Re._resolveInputType(e,t),n.type){case"textarea":n.rows=5;break;case"number":n=Object.assign({},n,Re._resolveNumberRestrictions(e),this._resolveStepRestriction(e))}return n.disabled=s.readOnly||re.isDisabled(e),!1===e[te.HAS_VALID_ANSWER]&&(n.validation=e[te.HAS_VALIDATION_SEVERITY]===te.VALIDATION_SEVERITY.WARNING?"warning":"error",n.help=e[te.HAS_VALIDATION_MESSAGE]),n}static _resolveStepRestriction(e){let t={};return void 0!==e[te.STEP]&&(t.step=c.getJsonAttValue(e,te.STEP)),t}static _resolveNumberRestrictions(e){let t={};return Object.getOwnPropertyNames(Oe).forEach(s=>{c.hasValue(e,te.HAS_DATATYPE,s)&&(t=Object.assign({},t,Oe[s]))}),void 0!==e[te.XSD.MIN_INCLUSIVE]&&(t.min=e[te.XSD.MIN_INCLUSIVE]),void 0!==e[te.XSD.MIN_EXCLUSIVE]&&(t.min=e[te.XSD.MIN_EXCLUSIVE]+1),void 0!==e[te.XSD.MAX_EXCLUSIVE]&&(t.max=e[te.XSD.MAX_EXCLUSIVE]-1),void 0!==e[te.XSD.MAX_INCLUSIVE]&&(t.max=e[te.XSD.MAX_INCLUSIVE]),t}}const Le=t=>{const{inputComponent:s,componentsOptions:n}=o(me),r=t.question,i=t.answer;let a=t.value;return i[te.HAS_OBJECT_VALUE]&&i[te.HAS_OBJECT_VALUE][c.RDFS_LABEL]&&(a=c.getJsonAttValue(i[te.HAS_OBJECT_VALUE],c.RDFS_LABEL)),/*#__PURE__*/e.createElement(s,Object.assign({},Re.resolveInputProperties(r,a,n),{label:t.label,title:t.title,value:null==a?"":a,onChange:e=>{t.onChange(e.target.value),(t.sparql||t.turtle)&&(void 0).hide()},onFocus:e=>{if(t.sparql){const s=x.fromTextArea(e.target);s.setValue(a),s.on("change",()=>{t.onChange(s.getValue())}),x.Autocompleters.prefixes.appendPrefixIfNeeded=function(e,s){if(!e.autocompleters.getTrie(s))return;if(!e.options.autocompleters||-1===e.options.autocompleters.indexOf(s))return;const n=e.getCursor(),o=e.getTokenAt(n);if("prefixed"===we[o.type]){const r=o.string.indexOf(":");if(-1!==r){const i=e.getPreviousNonWsToken(n.line,o).string.toUpperCase(),a=e.getTokenAt({line:n.line,ch:o.start});if("PREFIX"!==i&&("ws"===a.type||null==a.type)){const n=o.string.substring(0,r+1);if(null==e.getPrefixesFromQuery()[n.slice(0,-1)])if(t.question[te.HAS_DECLARED_PREFIX]&&t.question[te.HAS_DECLARED_PREFIX].filter(e=>e[te.PREFIX]===n.slice(0,-1)).length){const s=t.question[te.HAS_DECLARED_PREFIX].filter(e=>e[te.PREFIX]===n.slice(0,-1)),o={};o[s[0][te.PREFIX]]=s[0][te.NAMESPACE],e.addPrefixes(o)}else{const t=e.autocompleters.getTrie(s).autoComplete(n);t.length>0&&e.addPrefixes(t[0])}}}}}}else if(t.turtle){console.log("TTL");const s=x.fromTextArea(e.target);s.setValue(a),s.on("change",()=>{t.onChange(s.getValue())})}}}))};Le.propTypes={question:a.object.isRequired,answer:a.object.isRequired,label:a.object.isRequired,title:a.string,value:a.oneOfType([a.string,a.number]),onChange:a.func.isRequired};const be={D:"1",M:"1",Y:"1",h:"1",m:"1",s:"1"};class ye{static mapMask(e){if(!e)return e;let t,s="";for(let n=0,o=e.length;n<o;n++)t=e.charAt(n),s+=be[t]?be[t]:t;return s}}const Ve=["size","placeholder"];function De(e){let t,s,n,o;if(void 0!==e.selectionStart)t=e.selectionStart,s=e.selectionEnd;else try{e.focus(),n=e.createTextRange(),o=n.duplicate(),n.moveToBookmark(document.selection.createRange().getBookmark()),o.setEndPoint("EndToStart",n),t=o.text.length,s=t+n.text.length}catch(e){}return{start:t,end:s}}class He extends e.Component{constructor(e){super(e),this._updatePattern=e=>{this.mask.setPattern(ye.mapMask(e.mask),{value:this.mask.getRawValue(),selection:De(this.input)})},this._updateMaskSelection=()=>{this.mask.selection=De(this.input)},this._updateInputSelection=()=>{!function(e,t){let s;try{void 0!==e.selectionStart?(e.focus(),e.setSelectionRange(t.start,t.end)):(e.focus(),s=e.createTextRange(),s.collapse(!0),s.moveStart("character",t.start),s.moveEnd("character",t.end-t.start),s.select())}catch(e){}}(this.input,this.mask.selection)},this._onChange=e=>{const t=this.mask.getValue();if(e.target.value!==t){if(e.target.value.length<t.length){const s=t.length-e.target.value.length;this._updateMaskSelection(),this.mask.selection.end=this.mask.selection.start+s,this.mask.backspace()}const s=this._getDisplayValue();e.target.value=s,s&&this._updateInputSelection()}this.props.onChange&&this.props.onChange(e)},this._onKeyDown=e=>{if(function(e){return e.ctrlKey&&90===e.keyCode}(e))e.preventDefault(),this.mask.undo()&&(e.target.value=this._getDisplayValue(),this._updateInputSelection(),this.props.onChange&&this.props.onChange(e));else if(function(e){return e.ctrlKey&&89===e.keyCode}(e))e.preventDefault(),this.mask.redo()&&(e.target.value=this._getDisplayValue(),this._updateInputSelection(),this.props.onChange&&this.props.onChange(e));else if("Backspace"===e.key&&(e.preventDefault(),this._updateMaskSelection(),this.mask.backspace())){const t=this._getDisplayValue();e.target.value=t,t&&this._updateInputSelection(),this.props.onChange&&this.props.onChange(e)}},this._onKeyPress=e=>{e.metaKey||e.altKey||e.ctrlKey||"Enter"===e.key||(e.preventDefault(),this._updateMaskSelection(),this.mask.input(e.key)&&(e.target.value=this.mask.getValue(),this._updateInputSelection(),this.props.onChange&&this.props.onChange(e)))},this._onPaste=e=>{e.preventDefault(),this._updateMaskSelection(),this.mask.paste(e.clipboardData.getData("Text"))&&(e.target.value=this.mask.getValue(),setTimeout(this._updateInputSelection,0),this.props.onChange&&this.props.onChange(e))},this.mask=new U({pattern:ye.mapMask(e.mask),value:e.value,formatCharacters:e.formatCharacters,placeholderChar:e.placeholderChar||"_"})}componentDidUpdate(e){e.mask!==this.props.mask&&this._updatePattern(this.props),e.mask!==this.props.mask&&e.value!==this.props.mask?this.mask.getValue()===this.mask.emptyValue?this.mask.setPattern(ye.mapMask(this.props.mask),{value:this.props.value}):this.mask.setPattern(ye.mapMask(this.props.mask),{value:this.mask.getRawValue()}):e.mask!==this.props.mask?this.mask.setPattern(ye.mapMask(this.props.mask),{value:this.mask.getRawValue()}):e.value!==this.props.value&&this.mask.setValue(this.props.value),e.mask!==this.props.mask&&this.mask.selection.start&&this._updateInputSelection()}_getDisplayValue(){const e=this.mask.getValue();return e===this.mask.emptyValue?"":e}focus(){this.input.focus()}blur(){this.input.blur()}render(){const t=this.props,{size:s,placeholder:n}=t,o=G(t,Ve),r=this.mask.pattern.length;/*#__PURE__*/return e.createElement(this.context.inputComponent,Object.assign({},o,{ref:e=>{e&&(this.input=e.input?p.findDOMNode(e.input):e)},maxLength:r,onChange:this._onChange,onKeyDown:this._onKeyDown,onKeyPress:this._onKeyPress,onPaste:this._onPaste,placeholder:n||this.mask.emptyValue,size:s||r,value:this._getDisplayValue(),type:"text"}))}}He.contextType=me,He.propTypes={mask:a.string.isRequired},He.defaultProps={value:""};const xe=t=>{const{componentsOptions:s}=o(me),n=t.question,r=t.value,i=c.getJsonAttValue(n,te.INPUT_MASK);return i?/*#__PURE__*/e.createElement(He,{mask:i,value:r,label:t.label,title:t.title,placeholder:i,onChange:e=>t.onChange(e.target.value),disabled:s.readOnly||re.isDisabled(n)}):(J.warn("Input mask not provided. Falling back to regular input."),/*#__PURE__*/e.createElement(Le,t))};xe.propTypes={question:a.object.isRequired,answer:a.object.isRequired,label:a.object.isRequired,title:a.string,value:a.oneOfType([a.string,a.number]),onChange:a.func.isRequired};class Ue extends e.Component{_generateSelectOptions(t){const s=[];t.sort(function(e,t){const s=c.getJsonAttValue(e,te.RDFS_LABEL),n=c.getJsonAttValue(t,te.RDFS_LABEL);return s<n?-1:s>n?1:0});for(let n=0;n<t.length;n++)s.push(/*#__PURE__*/e.createElement("option",{value:c.getJsonAttValue(t[n],te.RDFS_LABEL),key:"opt-"+n},c.getJsonAttValue(t[n],te.RDFS_LABEL)));return s}render(){const t=this.props.question;/*#__PURE__*/return e.createElement(this.context.inputComponent,{type:"select",label:this.props.label,value:this.props.value,title:this.props.title,onChange:e=>{this.props.onChange(e.target.value)},disabled:this.context.componentsOptions.readOnly||re.isDisabled(t)},this._generateSelectOptions(t[te.HAS_OPTION]))}}Ue.contextType=me,Ue.propTypes={question:a.object.isRequired,label:a.object.isRequired,title:a.string,value:a.string,onChange:a.func.isRequired};const Me=(e,t)=>e&&e.length?(e.sort(oe.getCompareLocalizedLabelFunction(t)),oe.orderPreservingToplogicalSort(e,te.HAS_PRECEDING_VALUE),e):[],Pe=t=>{const r=se.getStringHash(re.getPossibleValuesQuery(t.question)),i=o(Z),a=o(me),l=a.options.intl,[u,p]=s(!0),[h,E]=s([Me(t.options,l)]);n(()=>{let e=!1;const s=t.question;return!s[te.HAS_OPTION]&&re.getPossibleValuesQuery(s)?async function(){try{const t=await i.loadFormOptions(r,re.getPossibleValuesQuery(s));e||(p(!1),g(t))}catch(e){J.error(`An error has occurred during loadFormOptions for query hash: ${r}`)}}():(p(!1),g(s[te.HAS_OPTION])),()=>{e=!0}},[]);const g=e=>{if(!e)return[];e=Me(e,l);const t={},s=[];for(let n of e){let e=c.getLocalized(n[te.RDFS_LABEL],l);t[n["@id"]]={id:n["@id"],value:n["@id"],label:e,children:[]};for(let e of se.asArray(n[te.BROADER]))s.push({type:"parent-child",parent:e["@id"],child:n["@id"]})}for(let e of s){var n;"parent-child"===e.type&&(null==(n=t[e.parent])||n.children.push(e.child))}const o=Object.values(t);E(o)},S=se.findKeyInObjects(h,["name","value"]),A=se.findKeyInObjects(h,["name","label"]);/*#__PURE__*/return e.createElement(d,{size:"small"},/*#__PURE__*/e.createElement(m.Label,null,t.label),/*#__PURE__*/e.createElement(M,{valueKey:S,labelKey:A,valueRenderer:t.question[te.PROVIDES_DEREFERENCEABLE_ANSWER_VALUES]?t=>/*#__PURE__*/e.createElement(e.Fragment,null,t):null,valueIsControlled:!0,value:h.filter(e=>e.id===t.value),multi:!1,options:h,isSearchable:!0,isLoading:u,isClearable:!0,renderAsTree:!0,optionLeftOffset:5,isDisabled:u||a.componentsOptions.readOnly||re.isDisabled(t.question),onChange:e=>{t.onChange(e?e.id:null)}}))};Pe.propTypes={question:a.object.isRequired,answer:a.object.isRequired,label:a.oneOfType([a.string,a.object]).isRequired,title:a.string,value:a.string,onChange:a.func.isRequired};const qe=({title:t})=>/*#__PURE__*/e.createElement("svg",{className:"caret-square-up",version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"28",viewBox:"0 0 24 28"},/*#__PURE__*/e.createElement("title",null,t||""),/*#__PURE__*/e.createElement("path",{d:"M17.891 17.453c-0.172 0.344-0.516 0.547-0.891 0.547h-10c-0.375 0-0.719-0.203-0.891-0.547-0.172-0.328-0.141-0.734 0.078-1.031l5-7c0.187-0.266 0.484-0.422 0.812-0.422s0.625 0.156 0.812 0.422l5 7c0.219 0.297 0.25 0.703 0.078 1.031zM20 21.5v-15c0-0.266-0.234-0.5-0.5-0.5h-15c-0.266 0-0.5 0.234-0.5 0.5v15c0 0.266 0.234 0.5 0.5 0.5h15c0.266 0 0.5-0.234 0.5-0.5zM24 6.5v15c0 2.484-2.016 4.5-4.5 4.5h-15c-2.484 0-4.5-2.016-4.5-4.5v-15c0-2.484 2.016-4.5 4.5-4.5h15c2.484 0 4.5 2.016 4.5 4.5z"})),Fe=({title:t})=>/*#__PURE__*/e.createElement("svg",{className:"caret-square-down",version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"28",viewBox:"0 0 24 28"},/*#__PURE__*/e.createElement("title",null,t||""),/*#__PURE__*/e.createElement("path",{d:"M17.891 10.547c0.172 0.328 0.141 0.734-0.078 1.031l-5 7c-0.187 0.266-0.484 0.422-0.812 0.422s-0.625-0.156-0.812-0.422l-5-7c-0.219-0.297-0.25-0.703-0.078-1.031 0.172-0.344 0.516-0.547 0.891-0.547h10c0.375 0 0.719 0.203 0.891 0.547zM20 21.5v-15c0-0.266-0.234-0.5-0.5-0.5h-15c-0.266 0-0.5 0.234-0.5 0.5v15c0 0.266 0.234 0.5 0.5 0.5h15c0.266 0 0.5-0.234 0.5-0.5zM24 6.5v15c0 2.484-2.016 4.5-4.5 4.5h-15c-2.484 0-4.5-2.016-4.5-4.5v-15c0-2.484 2.016-4.5 4.5-4.5h15c2.484 0 4.5 2.016 4.5 4.5z"})),Qe=()=>/*#__PURE__*/e.createElement("svg",{className:"info-circle",version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"28",viewBox:"0 0 24 28"},/*#__PURE__*/e.createElement("title",null,"info-circle"),/*#__PURE__*/e.createElement("path",{d:"M16 21.5v-2.5c0-0.281-0.219-0.5-0.5-0.5h-1.5v-8c0-0.281-0.219-0.5-0.5-0.5h-5c-0.281 0-0.5 0.219-0.5 0.5v2.5c0 0.281 0.219 0.5 0.5 0.5h1.5v5h-1.5c-0.281 0-0.5 0.219-0.5 0.5v2.5c0 0.281 0.219 0.5 0.5 0.5h7c0.281 0 0.5-0.219 0.5-0.5zM14 7.5v-2.5c0-0.281-0.219-0.5-0.5-0.5h-3c-0.281 0-0.5 0.219-0.5 0.5v2.5c0 0.281 0.219 0.5 0.5 0.5h3c0.281 0 0.5-0.219 0.5-0.5zM24 14c0 6.625-5.375 12-12 12s-12-5.375-12-12 5.375-12 12-12 12 5.375 12 12z"})),ze=()=>/*#__PURE__*/e.createElement("svg",{className:"question-circle",version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"28",viewBox:"0 0 24 28"},/*#__PURE__*/e.createElement("path",{d:"M14 21.5v-3c0-0.281-0.219-0.5-0.5-0.5h-3c-0.281 0-0.5 0.219-0.5 0.5v3c0 0.281 0.219 0.5 0.5 0.5h3c0.281 0 0.5-0.219 0.5-0.5zM18 11c0-2.859-3-5-5.688-5-2.547 0-4.453 1.094-5.797 3.328-0.141 0.219-0.078 0.5 0.125 0.656l2.063 1.563c0.078 0.063 0.187 0.094 0.297 0.094 0.141 0 0.297-0.063 0.391-0.187 0.734-0.938 1.047-1.219 1.344-1.437 0.266-0.187 0.781-0.375 1.344-0.375 1 0 1.922 0.641 1.922 1.328 0 0.812-0.422 1.219-1.375 1.656-1.109 0.5-2.625 1.797-2.625 3.313v0.562c0 0.281 0.219 0.5 0.5 0.5h3c0.281 0 0.5-0.219 0.5-0.5v0c0-0.359 0.453-1.125 1.188-1.547 1.188-0.672 2.812-1.578 2.812-3.953zM24 14c0 6.625-5.375 12-12 12s-12-5.375-12-12 5.375-12 12-12 12 5.375 12 12z"})),je=t=>{const[n,o]=s("right");/*#__PURE__*/return e.createElement("span",{ref:e=>(e=>{e&&(e.getBoundingClientRect().x>window.innerWidth/2?o("left"):o("right"))})(e)},/*#__PURE__*/e.createElement(g,{overlay:/*#__PURE__*/e.createElement(S,{className:"tooltip-content",id:t.id},t.tooltipContent),placement:t.overlayPlacement||n},/*#__PURE__*/e.createElement("span",null,t.children)))};je.propTypes={tooltipContent:a.oneOfType([a.object.isRequired,a.string.isRequired]),id:a.string.isRequired,overlayPlacement:a.string,absolutePosition:a.bool},je.defaultProps={iconClassContainer:"",iconClass:"",absolutePosition:!0};const ke=t=>{const[n,o]=s("right");/*#__PURE__*/return e.createElement("div",{ref:e=>(e=>{e&&(e.getBoundingClientRect().x>window.innerWidth/2?o("left"):o("right"))})(e)},/*#__PURE__*/e.createElement(je,{id:"help-icon-tooltip-",overlayPlacement:t.overlayPlacement||n,absolutePosition:t.absolutePosition,tooltipContent:t.text},/*#__PURE__*/e.createElement(ze,{className:t.iconClass})))};ke.propTypes={text:a.string.isRequired,iconClassContainer:a.string,iconClass:a.string,overlayPlacement:a.string,absolutePosition:a.bool},ke.defaultProps={iconClassContainer:"",iconClass:"",absolutePosition:!0};const Be=()=>/*#__PURE__*/e.createElement("svg",{className:"external-link-icon",width:"24",height:"16",viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg"},/*#__PURE__*/e.createElement("path",{d:"M5,2 C5.55228,2 6,2.44772 6,3 C6,3.55228 5.55228,4 5,4 L4,4 L4,12 L12,12 L12,11 C12,10.4477 12.4477,10 13,10 C13.5523,10 14,10.4477 14,11 L14,12 C14,13.1046 13.1046,14 12,14 L4,14 C2.89543,14 2,13.1046 2,12 L2,4 C2,2.89543 2.89543,2 4,2 L5,2 Z M15,1 L15,5.99814453 C15,6.55043453 14.5523,6.99814453 14,6.99814453 C13.4477,6.99814453 13,6.55043453 13,5.99814453 L13,4.41419 L8.71571,8.69846 C8.32519,9.08899 7.69202,9.08899 7.3015,8.69846 C6.91097,8.30794 6.91097,7.67477 7.3015,7.28425 L11.5858,3 L9.99619141,3 C9.44391141,3 8.99619141,2.55228 8.99619141,2 C8.99619141,1.44772 9.44391141,1 9.99619141,1 L15,1 Z"})),We=t=>/*#__PURE__*/e.createElement(je,{tooltipContent:t.url["@id"]||t.url,id:"url-tooltip",overlayPlacement:t.overlayPlacement},/*#__PURE__*/e.createElement("a",{href:t.url["@id"]||t.url,target:"_blank",className:t.iconClassContainer},/*#__PURE__*/e.createElement(Be,{className:t.iconClass})));We.propTypes={url:a.oneOfType([a.string.isRequired,a.object.isRequired]),iconClassContainer:a.string,iconClass:a.string,overlayPlacement:a.string,absolutePosition:a.bool},We.defaultProps={iconClassContainer:"",iconClass:"",absolutePosition:!0};const Ye=()=>/*#__PURE__*/e.createElement("svg",{className:"question-comment",version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 60 60",width:"24",height:"28"},/*#__PURE__*/e.createElement("path",{d:"M30,1.5c-16.542,0-30,12.112-30,27c0,5.204,1.646,10.245,4.768,14.604c-0.591,6.537-2.175,11.39-4.475,13.689 c-0.304,0.304-0.38,0.769-0.188,1.153C0.275,58.289,0.625,58.5,1,58.5c0.046,0,0.092-0.003,0.139-0.01 c0.405-0.057,9.813-1.411,16.618-5.339C21.621,54.71,25.737,55.5,30,55.5c16.542,0,30-12.112,30-27S46.542,1.5,30,1.5z M16,32.5 c-2.206,0-4-1.794-4-4s1.794-4,4-4s4,1.794,4,4S18.206,32.5,16,32.5z M30,32.5c-2.206,0-4-1.794-4-4s1.794-4,4-4s4,1.794,4,4 S32.206,32.5,30,32.5z M44,32.5c-2.206,0-4-1.794-4-4s1.794-4,4-4s4,1.794,4,4S46.206,32.5,44,32.5z"})),Xe=()=>/*#__PURE__*/e.createElement("svg",{className:"recycle-bin-icon",version:"1.1",xmlns:"http://www.w3.org/2000/svg",height:"15px",width:"15px",viewBox:"0 0 512 512"},/*#__PURE__*/e.createElement("g",null,/*#__PURE__*/e.createElement("g",null,/*#__PURE__*/e.createElement("path",{d:"M331.636,69.818V0H180.364v69.818h-128v128h34.909V512h337.455V197.818h34.909v-128H331.636z M215.273,34.909h81.455\nv34.909h-81.455V34.909z M389.818,477.091H122.182V197.818h267.636V477.091z M424.727,162.909H87.273v-58.182h337.455V162.909z"}))),/*#__PURE__*/e.createElement("g",null,/*#__PURE__*/e.createElement("g",null,/*#__PURE__*/e.createElement("rect",{x:"168.727",y:"256",width:"34.909",height:"162.909"}))),/*#__PURE__*/e.createElement("g",null,/*#__PURE__*/e.createElement("g",null,/*#__PURE__*/e.createElement("rect",{x:"308.364",y:"256",width:"34.909",height:"162.909"}))),/*#__PURE__*/e.createElement("g",null,/*#__PURE__*/e.createElement("g",null,/*#__PURE__*/e.createElement("rect",{x:"238.545",y:"256",width:"34.909",height:"162.909"})))),Ge="Unknown author",Je=t=>{const{options:n}=o(me),[r,i]=s(!1),[a,l]=s(!1);F.addLocale(z),F.addLocale(Q),F.setDefaultLocale(te.LANG.en.locale);const c=new F(n.intl.locale),u=()=>{if(n&&n.users){const e=n.users.find(e=>e.id===n.currentUser);if(t.author)return e.label?e.label:p()}return Ge},p=()=>t.author["@id"].replace(/.*[#\/]/,"... "),m=()=>{i(!r)};/*#__PURE__*/return e.createElement("div",{className:"comment-content",onMouseEnter:()=>{l(!0)},onMouseLeave:()=>{l(!1)}},/*#__PURE__*/e.createElement("div",{className:"row"},/*#__PURE__*/e.createElement("div",{className:"col-auto comment-author",onMouseEnter:m,onMouseLeave:m},/*#__PURE__*/e.createElement(e.Fragment,null,r?/*#__PURE__*/e.createElement(e.Fragment,null,u(),/*#__PURE__*/e.createElement(We,{iconClassContainer:"emphasise-on-relevant-icon",url:t.author?Object.values(t.author).toString():Ge})):u())),/*#__PURE__*/e.createElement("div",{className:"col-auto text-muted comment-timestamp"},/*#__PURE__*/e.createElement(je,{id:"exact-time-overlay",tooltipContent:(()=>{const e=new Date(parseInt(t.timestamp));return new Intl.DateTimeFormat(n.intl.locale,{weekday:"long",year:"numeric",month:"long",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"}).format(e)})()},c.format(parseInt(t.timestamp)))),a?/*#__PURE__*/e.createElement(j.div,{className:"comment-delete emphasise-on-relevant-icon",whileHover:{scale:1.2},whileTap:{scale:.9},onClick:()=>{t.onDeleteQuestionComment(t.index),t.onDeleteViewComment()}},/*#__PURE__*/e.createElement(Xe,null)):null),/*#__PURE__*/e.createElement("div",{className:"row"},/*#__PURE__*/e.createElement("div",{className:"col comment-value"},t.commentValue)))};Je.propTypes={author:a.object,timestamp:a.string.isRequired,commentValue:a.string.isRequired,onDeleteQuestionComment:a.func.isRequired,onDeleteViewComment:a.func,index:a.number.isRequired};const Ke=({comments:e,onDeleteCommentClick:t})=>{const o=r(null),[i,a]=s(!1),l=()=>{a(!0),setTimeout(()=>{a(!1)},2e3)};return n(()=>{null!==o.current&&(o.current.scrollTop=o.current.scrollHeight)},[JSON.stringify(e)]),P("span",{children:i?q("div",{className:"comment-delete",children:[P(k,{color:"#00BFFF",height:80,width:80}),P("p",{children:"Deleting comment..."})]}):P("div",{className:"comment-list-items",ref:o,children:e.map((e,s)=>P("div",{className:"comment-list-item",children:P(Je,{commentValue:e[te.HAS_COMMENT_VALUE],author:e[te.HAS_AUTHOR]?e[te.HAS_AUTHOR]:null,timestamp:e[te.HAS_TIMESTAMP],onDeleteQuestionComment:t,onDeleteViewComment:l,index:s})},s))})})},Ze=()=>/*#__PURE__*/e.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"15",height:"15",viewBox:"0 0 24 24"},/*#__PURE__*/e.createElement("path",{d:"M6.185 4.843l11.927 7.157-11.927 7.157 2.982-7.157-2.982-7.157zm-4.185-4.843l5 12-5 12 20-12-20-12z"})),$e="300px",et=t=>{const[o,i]=s(""),a=r(null),l=B();n(()=>{a.current.focus()},[]);const c=e=>{e.preventDefault(),t.onChange(o),i("")},u=()=>{const e=a.current;e.style.height="auto",p(e)},p=e=>{e.style.height=`${e.scrollHeight}px`,parseInt(e.style.height)>parseInt($e)&&(e.style.height=$e)};/*#__PURE__*/return e.createElement(m,{onSubmit:c,onKeyUp:e=>{"Enter"===e.key&&e.ctrlKey&&o.trim()&&c(e)},onClick:e=>{e.stopPropagation()}},/*#__PURE__*/e.createElement(m.Group,{className:"m-2",controlId:"formBasicComment"},/*#__PURE__*/e.createElement(A,{className:"col-lg-12 p-0"},/*#__PURE__*/e.createElement(_,{className:"container-fluid p-0 m-0"},/*#__PURE__*/e.createElement("div",{id:"comment-form"},/*#__PURE__*/e.createElement(m.Control,{className:"comment-form-control",name:"comment",as:"textarea",placeholder:l.formatMessage({id:"comment.form.placeholder"}),required:!0,value:o,onChange:e=>{i(e.target.value)},ref:a,onKeyPress:u,onKeyDown:u}),/*#__PURE__*/e.createElement(f,{className:"comment-form-button",variant:"primary",type:"submit"},/*#__PURE__*/e.createElement(Ze,null)))))))};et.propTypes={onChange:a.func.isRequired};const tt=()=>/*#__PURE__*/e.createElement("svg",{className:"close-icon",width:"24px",height:"24px",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},/*#__PURE__*/e.createElement("path",{d:"M13.41 12l4.3-4.29a1 1 0 1 0-1.42-1.42L12 10.59l-4.29-4.3a1 1 0 0 0-1.42 1.42l4.3 4.29-4.3 4.29a1 1 0 0 0 0 1.42 1 1 0 0 0 1.42 0l4.29-4.3 4.29 4.3a1 1 0 0 0 1.42 0 1 1 0 0 0 0-1.42z"})),st=t=>{const i=o(me),a=r(null),l=r(null),c=r(null),[u,p]=s(!1),[m,d]=s("right");n(()=>{C(c.current)});const h=()=>{p(!1)},E=()=>{const e=t.question;return e[te.HAS_COMMENT]||(e[te.HAS_COMMENT]=[]),Array.isArray(e[te.HAS_COMMENT])||(e[te.HAS_COMMENT]=[e[te.HAS_COMMENT]]),e[te.HAS_COMMENT]},g=e=>{const s={};A(s,e),t.onChange(N(),s)},A=(e,t)=>{i.options.currentUser&&(e[te.HAS_AUTHOR]={"@id":i.options.currentUser}),e[te.HAS_COMMENT_VALUE]=t,e[te.HAS_TIMESTAMP]=Date.now().toString()},_=e=>{E().splice(e,1)},f=e=>{e.preventDefault(),e.stopPropagation()},N=()=>E().length,C=e=>{e&&(e.getBoundingClientRect().x>window.innerWidth/2?d("left"):d("right"))};/*#__PURE__*/return e.createElement("div",{ref:c,onClick:f},/*#__PURE__*/e.createElement("span",{className:"comment-bubble",ref:a,onClick:e=>{f(e),p(!u)}},/*#__PURE__*/e.createElement(Ye,null),N()>0?/*#__PURE__*/e.createElement(v,{className:"comment-badge",pill:!0,variant:"primary"},N()):null),/*#__PURE__*/e.createElement(j.div,{className:"overlay-comment",ref:l,drag:!0,dragConstraints:{top:-50,left:-50,right:50,bottom:50}},/*#__PURE__*/e.createElement(T,{target:a.current,show:u,placement:m,rootClose:!1,onHide:h,container:l},t=>/*#__PURE__*/e.createElement(S,X({className:"comment-tooltip"},t),/*#__PURE__*/e.createElement("span",{onKeyDown:e=>{(e=>{"Escape"===e.key&&h()})(e)}},/*#__PURE__*/e.createElement(j.div,{className:"close-comment-icon",onClick:h,whileHover:{scale:1.1,transition:{duration:.1}}},/*#__PURE__*/e.createElement(tt,null)),/*#__PURE__*/e.createElement(Ke,{comments:E(),onDeleteCommentClick:_}),/*#__PURE__*/e.createElement(et,{onChange:g}))))))};var nt;st.propTypes={question:a.object.isRequired,onChange:a.func.isRequired};class ot{static renderIcons(t,s,n,o){let r;r=s.icons?s.icons:te.DEFAULT_OPTIONS.icons;let i=[];const a=this.renderQuestionHelp(t,s,n,o),l=this.renderQuestionComments(t,s,n,o),c=this.renderQuestionLink(t,s,n,o);for(let t=0;t<r.length;t++)r[t].id===te.ICONS.QUESTION_COMMENTS&&i.push(/*#__PURE__*/e.createElement("li",{key:t,className:"icon-list-item"},l)),r[t].id===te.ICONS.QUESTION_HELP&&i.push(/*#__PURE__*/e.createElement("li",{key:t,className:"icon-list-item"},a)),r[t].id===te.ICONS.QUESTION_LINK&&i.push(/*#__PURE__*/e.createElement("li",{key:t,className:"icon-list-item"},c));/*#__PURE__*/return e.createElement("ol",{className:"icon-list-items"},i)}static renderQuestionHelp(e,t,s,n){return this.getIconComponentFromName(te.ICONS.QUESTION_HELP,e,t,s,n)}static renderQuestionLink(e,t,s,n){return this.getIconComponentFromName(te.ICONS.QUESTION_LINK,e,t,s,n)}static getIconComponentFromName(e,t,s,n,o){const r=this.getIconFromIconList(s.icons?s.icons:te.DEFAULT_OPTIONS.icons,e);return this.getIconComponent(r,t,s,n,o)}static getIconComponent(t,s,n,o,r){let i;if(t&&(t.behavior===te.ICON_BEHAVIOR.ON_HOVER||t.behavior===te.ICON_BEHAVIOR.ENABLE))return t.behavior===te.ICON_BEHAVIOR.ENABLE?(r=!0,i=""):i="emphasise-on-relevant-icon",t.id===te.ICONS.QUESTION_HELP&&s[te.HELP_DESCRIPTION]?r?/*#__PURE__*/e.createElement("div",{className:i},/*#__PURE__*/e.createElement(ke,{text:c.getLocalized(s[te.HELP_DESCRIPTION],n.intl),absolutePosition:!1})):null:t.id===te.ICONS.QUESTION_LINK&&s[te.SOURCE]?r?/*#__PURE__*/e.createElement("div",{className:i},/*#__PURE__*/e.createElement(We,{url:s[te.SOURCE]})):null:t.id===te.ICONS.QUESTION_COMMENTS&&r?/*#__PURE__*/e.createElement("div",{className:i},/*#__PURE__*/e.createElement(st,{question:s,onChange:o})):null}}nt=ot,ot.renderQuestionComments=(e,t,s,n)=>nt.getIconComponentFromName(te.ICONS.QUESTION_COMMENTS,e,t,s,n),ot.getIconFromIconList=(e,t)=>e?e.find(e=>e.id===t):null;const rt=t=>{const s=e.useContext(Z),{options:n}=e.useContext(me),o=e=>{const s=Object.assign({},t.answer);r(s,e),t.onChange(t.index,s)},r=(e,s)=>{null===s?(e[te.HAS_OBJECT_VALUE]=null,e[te.HAS_DATA_VALUE]=null):t.answer[te.HAS_OBJECT_VALUE]||re.isTypeahead(t.question)?e[te.HAS_OBJECT_VALUE]={"@id":s}:e[te.HAS_DATA_VALUE]={"@value":s}},i=t.question,a=re.resolveValue(t.answer),l=(s=>{const o=c.getLocalized(s[te.RDFS_LABEL],n.intl);/*#__PURE__*/return e.createElement("div",{className:"question-header"},o,ot.renderIcons(t.question,n,t.onCommentChange,t.showIcon))})(i),u=c.getLocalized(i[te.RDFS_COMMENT],n.intl);let p;var m;return p=re.isTypeahead(i)?((n,r,i)=>{const a=se.getStringHash(re.getPossibleValuesQuery(t.question)),l=s.getOptions(a)||[];/*#__PURE__*/return e.createElement(Pe,{question:t.question,answer:t.answer,label:r,title:i,value:n,onChange:o,options:l})})(a,l,u):(m=i)[te.HAS_OPTION]&&0!==m[te.HAS_OPTION].length?((s,n,r)=>/*#__PURE__*/e.createElement(Ue,{question:t.question,label:n,title:r,value:s,onChange:o}))(a,l,u):re.isCalendar(i)?((s,n,r)=>/*#__PURE__*/e.createElement(Ce,{question:t.question,value:s,title:r,label:n,onChange:o}))(a,l,u):re.isCheckbox(i)?((s,n,r)=>/*#__PURE__*/e.createElement(Ne,{label:n,title:r,value:s,onChange:o,question:t.question}))(a,l,u):re.isMaskedInput(i)?((s,n,r)=>/*#__PURE__*/e.createElement(xe,{label:n,title:r,value:s,onChange:o,question:t.question,answer:t.answer}))(a,l,u):re.isSparqlInput(i)?((s,n,r)=>/*#__PURE__*/e.createElement(Le,{question:t.question,answer:t.answer,label:n,title:r,value:s,onChange:o,sparql:!0}))(a,l,u):re.isTurtleInput(i)?((s,n,r)=>/*#__PURE__*/e.createElement(Le,{question:t.question,answer:t.answer,label:n,title:r,value:s,onChange:o,turtle:!0}))(a,l,u):((s,n,r)=>/*#__PURE__*/e.createElement(Le,{question:t.question,answer:t.answer,label:n,title:r,value:s,onChange:o}))(a,l,u),p};rt.propTypes={answer:a.object.isRequired,question:a.object.isRequired,onChange:a.func.isRequired,onCommentChange:a.func.isRequired,index:a.number,icons:a.object};class it{static createValidator(e,t){const s=[this._patternValidator,this._checkboxValidator,this._requiredValidator,this._completenessValidator];return()=>{if(re.hasValidationLogic(e)){const n=re.getAnswerValue(e);return this._validateAnswer(e,t,n,s)}}}static _validateAnswer(e,t,s,n){const o={};for(const r of n){const n=r(e,t,s);if(!n.isValid)return o[te.HAS_VALID_ANSWER]=!1,o[te.HAS_VALIDATION_MESSAGE]=n.message,o[te.HAS_VALIDATION_SEVERITY]=n.validationSeverity,o;if(!1===o[te.HAS_VALID_ANSWER])break}return o[te.HAS_VALID_ANSWER]=!0,o[te.HAS_VALIDATION_MESSAGE]="",o[te.HAS_VALIDATION_SEVERITY]="",o}static _patternValidator(e,t,s){return s&&s.length>0&&e[te.PATTERN]&&!new RegExp(e[te.PATTERN]).test(s)&&re.hasAnswer(e)?{isValid:!1,validationSeverity:te.VALIDATION_SEVERITY.ERROR,message:e[te.HAS_VALIDATION_MESSAGE]?e[te.HAS_VALIDATION_MESSAGE]:"Please enter a valid answer to "+c.getLocalized(e[c.RDFS_LABEL],t)}:{isValid:!0}}static _requiredValidator(e,t){return!e[te.REQUIRES_ANSWER]||e[te.USED_ONLY_FOR_COMPLETENESS]||re.hasAnswer(e)?{isValid:!0}:{isValid:!1,validationSeverity:te.VALIDATION_SEVERITY.ERROR,message:c.getLocalized(e[c.RDFS_LABEL],t)+" is required"}}static _checkboxValidator(e,t){return re.isCheckbox(e)&&e[te.REQUIRES_ANSWER]&&!re.hasAnswer(e)?{isValid:!1,validationSeverity:te.VALIDATION_SEVERITY.ERROR,message:c.getLocalized(e[c.RDFS_LABEL],t)+" must be checked"}:{isValid:!0}}static _completenessValidator(e,t){return e[te.REQUIRES_ANSWER]&&e[te.USED_ONLY_FOR_COMPLETENESS]&&!re.hasAnswer(e)?{isValid:!1,validationSeverity:te.VALIDATION_SEVERITY.WARNING,message:c.getLocalized(e[c.RDFS_LABEL],t)+" should be filled to complete the form."}:{isValid:!0}}}class at extends e.Component{constructor(e){super(e),this.state={prefixes:e.prefixes}}render(){const t=/*#__PURE__*/e.createElement(N,{id:"prefixes",title:"Prefixes"},/*#__PURE__*/e.createElement(C,null,this.state.prefixes.sort((e,t)=>e[te.PREFIX]<t[te.PREFIX]?-1:1).map(t=>/*#__PURE__*/e.createElement(I,{key:t[te.PREFIX]},/*#__PURE__*/e.createElement("strong",null,t[te.PREFIX]),": ",t[te.NAMESPACE]))));/*#__PURE__*/return e.createElement(g,{trigger:"click",placement:"right",overlay:t},/*#__PURE__*/e.createElement("span",{className:this.props.iconClass},this.props.children))}}at.propTypes={prefixes:a.array.isRequired,children:a.element.isRequired,iconClass:a.string},at.defaultProps={iconClass:""};const lt=({question:e})=>(()=>{const t=e[te.HAS_MEDIA_CONTENT];return t?Array.isArray(t)?P("div",{className:"col-6",children:t.map((e,s)=>P("div",{className:"row embed-responsive-21by9 media-content-video-container mb-3",children:P("iframe",{src:t[s],className:"embed-responsive-item",allowFullScreen:!0})},s))}):P("div",{className:"col-6",children:P("iframe",{src:t,className:"embed-responsive-item",allowFullScreen:!0})}):null})();class ct extends e.Component{constructor(e){super(e),this.handleAnswerChange=(e,t)=>{if(re.isSection(this.props.question)){let e=!!re.resolveValue(t);this.setState({expanded:e})}this._handleChange(te.HAS_ANSWER,e,t)},this.handleSubQuestionChange=(e,t)=>{this._handleChange(te.HAS_SUBQUESTION,e,t)},this.handleCommentChange=(e,t)=>{this._handleChange(te.HAS_COMMENT,e,t)},this._toggleCollapse=()=>{this.props.collapsible&&this.setState({expanded:!this.state.expanded})},this._onMouseEnterHandler=()=>{this.setState({showIcon:!0})},this._onMouseLeaveHandler=()=>{this.setState({showIcon:!1})},this._getHeaderClassName=()=>{const e=this.props.question,t=this.props.collapsible;let s=[];return s.push(ct.getEmphasizedOnRelevantClass(e),"question-header"),re.isWizardStep(e)&&s.push("wizard-step bg-primary text-white"),re.isEmphasised(e)&&s.push(ct.getEmphasizedClass(e)),re.isSection(e)&&s.push("section-background"),t&&s.push("cursor-pointer"),this.isDebugged(e)&&s.push("show-irrelevant"),s},ne.putObject(e.question["@id"],e.question),this.state={validator:{},expanded:!re.isCollapsed(e.question),showIcon:!1}}componentDidMount(){this.setState({validator:it.createValidator(this.props.question,this.context.options.intl)})}componentDidUpdate(){const e=this.props.question,t=this.context.options.startingQuestionId,s=e[te.HAS_SUBQUESTION].find(e=>e["@id"]===t);if(re.isSection(e)&&re.isAnswerable(e)){const e=this._getFirstAnswerValue();if(this.context.options.debugMode)return null;if(s)return null;this.state.expanded&&!e&&this.setState({expanded:!1})}}_handleChange(e,t,s){let n=Object.assign({},this.props.question);if(n[e][t]=s,e===te.HAS_ANSWER){const e=this.state.validator(s);n=Object.assign({},n,e)}ne.putObject(n["@id"],n),this.props.onChange(this.props.index,n)}isDebugged(e){const t=this.context.options.startingQuestionId;return!re.isRelevant(e)&&(!!this.context.options.debugMode||null!=t&&!!se.findQuestionById(t,e,!0,!1,!1))}render(){const t=this.props.question,s=this.renderQuestion(t);return this.isDebugged(t)?/*#__PURE__*/e.createElement("div",{className:"show-irrelevant"},s):re.isHidden(t)?null:re.isRelevant(t)?s:null}renderQuestion(t){if(re.isAnswerable(t)&&!re.isSection(t))/*#__PURE__*/return e.createElement("div",{id:t["@id"]},/*#__PURE__*/e.createElement("div",{className:"panel-title answerable-question"},this.renderAnswers()),/*#__PURE__*/e.createElement("div",{className:"answerable-subquestions"},this.renderSubQuestions()));if(re.isAnswerable(t))return this.renderAnswerableSection();if(re.isSection(t)){const{collapsible:s,withoutCard:n}=this.props,o=ct._getQuestionCategoryClass(t);if(n)/*#__PURE__*/return e.createElement("div",null,this._renderQuestionContent());const r=c.getLocalized(t[c.RDFS_LABEL],this.context.options.intl),i=/*#__PURE__*/e.createElement(O.Body,{className:Y("p-3",o)},this._renderQuestionContent());/*#__PURE__*/return e.createElement(e.Fragment,null,/*#__PURE__*/e.createElement(w,{defaultActiveKey:this.state.expanded?void 0:r},/*#__PURE__*/e.createElement(O,{className:"mb-3"},/*#__PURE__*/e.createElement(w.Toggle,{as:O.Header,onClick:this._toggleCollapse,className:this._getHeaderClassName(),onMouseEnter:this._onMouseEnterHandler,onMouseLeave:this._onMouseLeaveHandler},/*#__PURE__*/e.createElement("h6",{className:"d-inline",id:t["@id"]},s&&!re.isWizardStep(t)&&this._renderCollapseToggle(),r),this.renderQuestionIcons(),this.props.children),/*#__PURE__*/e.createElement(s?w.Collapse:e.Fragment,null,i))))}/*#__PURE__*/return e.createElement("div",null,this._renderQuestionContent())}_renderQuestionContent(){let t=[];return this.state.expanded&&t.push(/*#__PURE__*/e.createElement(lt,{key:this.props.question["@id"]+"-media",question:this.props.question})),t.push(this.renderAnswers()),t.push(this.renderSubQuestions()),t}renderQuestionIcons(){return ot.renderIcons(this.props.question,this.context.options,this.handleCommentChange,this.state.showIcon)}renderAnswerableSection(){const t=this.props.question,s=this.props.collapsible,n=ct._getQuestionCategoryClass(t);let o=this.getShowIrrelevantClassname(t);const r=/*#__PURE__*/e.createElement(O.Body,{className:Y("p-3",n)},this.renderSubQuestions(o));/*#__PURE__*/return e.createElement(w,{activeKey:this.state.expanded?t["@id"]:void 0,className:"answerable-section"},/*#__PURE__*/e.createElement(O,{className:"mb-3"},/*#__PURE__*/e.createElement(O.Header,{onClick:this._toggleCollapse,className:this._getHeaderClassName()},this.renderAnswers()),s?/*#__PURE__*/e.createElement(w.Collapse,{className:o,eventKey:t["@id"]},r):{cardBody:r}))}getShowIrrelevantClassname(e){return!this.context.options.debugMode&&!oe.checkId(e[te.HAS_SUBQUESTION],this.context.options.startingQuestionId)||re.hasAnswer(e)?"":"show-irrelevant"}renderAnswers(){const t=this.props.question,s=[],n=this._getAnswers();let o;for(let r=0,i=n.length;r<i;r++)re.isTextarea(t,re.resolveValue(n[r]))||re.isSparqlInput(t)||re.isTurtleInput(t),o=Y("answer",ct._getQuestionCategoryClass(t),ct.getEmphasizedOnRelevantClass(t)),s.push(/*#__PURE__*/e.createElement("div",{key:"row-item-"+r,className:o,id:t["@id"],onMouseEnter:this._onMouseEnterHandler,onMouseLeave:this._onMouseLeaveHandler},/*#__PURE__*/e.createElement("div",{className:"answer-content",style:this._getAnswerWidthStyle()},/*#__PURE__*/e.createElement(rt,{index:r,answer:n[r],question:t,onChange:this.handleAnswerChange,onCommentChange:this.handleCommentChange,showIcon:this.state.showIcon})),this._renderUnits(),this._renderPrefixes()));return s}_getAnswers(){const e=this.props.question;return e[te.HAS_ANSWER]||(e[te.HAS_ANSWER]=[]),Array.isArray(e[te.HAS_ANSWER])||(e[te.HAS_ANSWER]=[e[te.HAS_ANSWER]]),0===e[te.HAS_ANSWER].length&&(e[te.HAS_ANSWER]=re.isSection(e)&&!re.isAnswerable(e)?[]:[ve.generateAnswer(e)]),e[te.HAS_ANSWER]}_getAnswerWidthStyle(){const e=Number(this.props.question[te.HAS_INITIAL_INPUT_LENGTH]);return e?{flexGrow:0,maxWidth:"none",width:`calc(${e}ch + 1.5rem + 2px)`}:{}}static _getAnswerClass(e,t){return t?"col-12":1===te.GENERATED_ROW_SIZE?"col-6":"col-"+te.COLUMN_COUNT/te.GENERATED_ROW_SIZE}static _getQuestionCategoryClass(e){const t=re.getCategory(e);return t?"question-"+t:""}static getEmphasizedClass(e){return re.isEmphasised(e)?"bg-warning":""}static getEmphasizedOnRelevantClass(e){return c.hasValue(e,te.LAYOUT_CLASS,te.LAYOUT.EMPHASISE_ON_RELEVANT)?"emphasise-on-relevant":""}_renderCollapseToggle(){const{options:t}=this.context,s=this.state.expanded?t.i18n["section.collapse"]:t.i18n["section.expand"];/*#__PURE__*/return e.createElement("span",{onClick:this._toggleCollapse,title:s},/*#__PURE__*/e.createElement(this.state.expanded?qe:Fe,{title:s}))}_renderPrefixes(){const t=this.props.question;return t[te.HAS_DECLARED_PREFIX]&&t[te.HAS_DECLARED_PREFIX].length?/*#__PURE__*/e.createElement(at,{prefixes:t[te.HAS_DECLARED_PREFIX],iconClass:"help-icon-checkbox"},/*#__PURE__*/e.createElement(Qe,null)):null}_renderUnits(){const t=this.props.question;return t[te.HAS_UNIT]?/*#__PURE__*/e.createElement("div",{className:"has-unit-label"},t[te.HAS_UNIT]):null}renderSubQuestions(t){const s=[],n=this._getSubQuestions(),o=this.context.options.debugMode,r=this.context.options.startingQuestionId;for(let i=0;i<n.length;i++){let a=n[i],l=this.context.mapComponent(a,ct),c=null;(o||"show-irrelevant"!==t||se.findQuestionById(r,a,!0,!1,!1))&&(c=/*#__PURE__*/e.createElement(l,{key:"sub-question-"+i,question:a,onChange:this.handleSubQuestionChange,index:i})),s.push(c)}return s}_getSubQuestions(){const e=this.props.question;return e[te.HAS_SUBQUESTION]||(e[te.HAS_SUBQUESTION]=[]),Array.isArray(e[te.HAS_SUBQUESTION])||(e[te.HAS_SUBQUESTION]=[e[te.HAS_SUBQUESTION]]),oe.orderByLocalizedLabels(e[te.HAS_SUBQUESTION],this.context.options.intl),oe.orderPreservingToplogicalSort(e[te.HAS_SUBQUESTION],te.HAS_PRECEDING_QUESTION),e[te.HAS_SUBQUESTION]}_getFirstAnswerValue(){return re.resolveValue(this._getAnswers()[0])}}ct.contextType=me,ct.propTypes={question:a.object.isRequired,onChange:a.func.isRequired,index:a.number,withoutCard:a.bool,collapsible:a.bool},ct.defaultProps={withoutCard:!1,collapsible:!0};class ut extends e.Component{constructor(t){super(t),this.onNextStep=()=>{this.context.updateFormQuestionsData(this.props.index,this.context.getFormQuestionsData()),this.props.onNextStep()},this.onPreviousStep=()=>{this.props.onPreviousStep()},this._renderWizardStepButtons=()=>/*#__PURE__*/e.createElement(R,{className:"m-3 float-right"},!this.props.isFirstStep&&/*#__PURE__*/e.createElement(f,{className:"mr-2",onClick:this.onPreviousStep,variant:"primary",size:"sm"},this.props.options.i18n["wizard.previous"]),!this.props.isLastStep&&/*#__PURE__*/e.createElement(f,{onClick:this.onNextStep,variant:"primary",size:"sm"},this.props.options.i18n["wizard.next"])),this.onChange=(e,t)=>{this.context.updateFormQuestionsData(this.props.index||e,Object.assign({},this.props.question,t))}}render(){const t=this.context.getFormQuestionsData([this.props.index]);/*#__PURE__*/return e.createElement(e.Fragment,null,/*#__PURE__*/e.createElement(ct,{question:t,onChange:this.onChange,collapsible:re.isAnswerable(t)}),this.props.options.wizardStepButtons&&this._renderWizardStepButtons())}}ut.propTypes={options:a.object.isRequired,question:a.object.isRequired,index:a.number.isRequired,onNextStep:a.func,onPreviousStep:a.func,mapComponent:a.func,isFirstStep:a.bool,isLastStep:a.bool},ut.contextType=le;const pt=({steps:t,onNavigate:s,currentStep:n})=>{const{options:r}=o(me);/*#__PURE__*/return e.createElement(O.Header,null,/*#__PURE__*/e.createElement(L,{variant:"tabs",activeKey:n,onSelect:e=>s(parseInt(e))},t.map((t,s)=>/*#__PURE__*/e.createElement(b,{key:"nav"+s,id:"wizard-nav-"+s},/*#__PURE__*/e.createElement(y,{eventKey:s,active:s===n?"active":"",hidden:!r.debugMode&&!re.isRelevant(t),className:Y([r.debugMode&&!re.isRelevant(t)?"show-irrelevant":ct.getEmphasizedClass(t),"wizard-nav"])},c.getLocalized(t[c.RDFS_LABEL],r.intl))))))};pt.propTypes={currentStep:a.number.isRequired,steps:a.array.isRequired,onNavigate:a.func.isRequired};const mt=({steps:t,onNavigate:s,currentStep:n})=>{const{options:r}=o(me);/*#__PURE__*/return e.createElement("div",{className:"wizard-nav col-2 p-0"},/*#__PURE__*/e.createElement(C,null,t.map((t,o)=>/*#__PURE__*/e.createElement(I,{hidden:!r.debugMode&&!re.isRelevant(t),key:"nav"+o,onClick:()=>s(o),id:"wizard-nav-"+o,action:!0,active:o===n?"active":"",variant:"default",className:Y([r.debugMode&&!re.isRelevant(t)?"show-irrelevant":ct.getEmphasizedClass(t),"wizard-nav"])},c.getLocalized(t[c.RDFS_LABEL],r.intl)))))};mt.propTypes={currentStep:a.number.isRequired,steps:a.array.isRequired,onNavigate:a.func.isRequired};const dt=()=>{const t=e.useContext(le),{options:s,mapComponent:o}=e.useContext(me);let r=0;s.startingQuestionId?(r=((e,t)=>{const s=(e,n)=>e?e["@id"]===t?n:se.asArray(e[te.HAS_SUBQUESTION]).findIndex((e,t)=>-1!==s(e,t)):-1;return e.findIndex((e,t)=>-1!==s(e,t))})(t.getFormQuestionsData(),s.startingQuestionId),-1===r&&(console.warn(`Question with id ${s.startingQuestionId} not found!`),r=0)):s.startingStep&&(r=s.startingStep<t.getFormQuestionsData().length?s.startingStep:0);const[i,a]=e.useState(r),[l,c]=e.useState(!1);n(()=>{if(s.startingQuestionId&&!l){const e=document.getElementById(s.startingQuestionId);e&&(e.scrollIntoView(),e.classList.add("text-danger"),c(!0))}});const u=()=>{const e=t.getFormQuestionsData();i!==e.length-1&&(e[i+1].visited=!0,a(e=>e+1))},p=()=>{0!==i&&a(e=>e-1)},m=e=>{const n=t.getFormQuestionsData();e===i||e>=n.length||e>i&&!n[e].visited&&!s.enableForwardSkip||a(e)};let d=null;t.getFormQuestionsData().length>1&&(d=(()=>{const n=t.getFormQuestionsData();/*#__PURE__*/return e.createElement(s.horizontalWizardNav?pt:mt,{currentStep:i,steps:n,onNavigate:m})})());const h=s.horizontalWizardNav;/*#__PURE__*/return e.createElement(O,{className:h?"":"flex-row p-3"},d,/*#__PURE__*/e.createElement("div",{className:h?"card-body p-3":d?"col-10 p-0 pl-3":"col-12 p-0"},(()=>{const n=t.getFormQuestionsData()[i];let r=o(n,ut);/*#__PURE__*/return e.createElement(r,{options:s,key:"step"+i,question:n,onNextStep:u,onPreviousStep:p,mapComponent:o,index:i,isFirstStep:0===i,isLastStep:i===t.getFormQuestionsData().length-1})})()))},ht=/*#__PURE__*/e.forwardRef((t,s)=>{const{options:n}=e.useContext(me);/*#__PURE__*/return e.createElement(V,X({size:"xl",animation:!0},n.modalProps),/*#__PURE__*/e.createElement(V.Header,{closeButton:!0},/*#__PURE__*/e.createElement(V.Title,null,n.modalProps.title)),/*#__PURE__*/e.createElement(V.Body,{className:"overflow-hidden p-0"},t.children))});var Et;ht.propTypes={children:a.element.isRequired};class gt{}Et=gt,gt.updateQuestionValidation=(e,t,s,n)=>{if(t[te.HAS_ANSWER]){const o=it.createValidator(t,n)();o&&(e[s]=Object.assign({},t,o))}},gt.updateSubQuestionsValidation=(e,t)=>{if(e[te.HAS_SUBQUESTION]&&e[te.HAS_SUBQUESTION].length>0){const s=e[te.HAS_SUBQUESTION];for(let e=0;e<s.length;e++)Et.updateQuestionValidation(s,s[e],e,t)}};class St extends e.Component{constructor(...t){super(...t),this.getFormData=()=>{const e=this.context.getData(),t=this.context.getFormQuestionsData();return ve.buildQuestionAnswerModel(e,t)},this.validateForm=()=>{const e=this.context.getFormQuestionsData();for(let t=0;t<e.length;t++){const s=e[t];gt.updateQuestionValidation(e,s,t,"en"),gt.updateSubQuestionsValidation(s,"en")}this.context.updateFormQuestionsData(null,e)},this.getFormQuestionsData=()=>this.context.getFormQuestionsData(),this.handleStepChange=(e,t,s)=>{this.context.updateFormQuestionsData(t,Object.assign({},e,s))},this.renderWizardlessForm=()=>{const t=this.context.getFormQuestionsData();/*#__PURE__*/return e.createElement(O,{className:"p-3"},t.map((e,t)=>this._mapQuestion(e,t)))}}_mapQuestion(t,s){let n=this.props.mapComponent(t,ct);/*#__PURE__*/return e.createElement(n,{key:t["@id"],question:t,onChange:(e,s)=>this.handleStepChange(t,e,s),index:s})}render(){const{modalView:t}=this.props,s=this.context.getFormQuestionsData();if(!s.length)/*#__PURE__*/return e.createElement(O,{className:"p-3 font-italic"},"There are no questions available...");const n=s.every(e=>!re.isWizardStep(e));return t?/*#__PURE__*/e.createElement(ht,null,n?this.renderWizardlessForm():/*#__PURE__*/e.createElement(dt,null)):n?this.renderWizardlessForm():/*#__PURE__*/e.createElement(dt,null)}}St.contextType=le;const At=/*#__PURE__*/i((t,o)=>{const[r,i]=s(!0),[a,l]=s(null),[c,u]=s(null);if(n(()=>{(async()=>{const e=t.options.intl,[s,n]=await fe.constructForm(t.form,e);s.formQuestions.some(e=>re.isWizardStep(e))&&(s.formQuestions[0].visited=!0),l(s),u(n),i(!1)})()},[t.form]),r)return t.loader||/*#__PURE__*/e.createElement(O,{className:"p-3 font-italic"},"Loading SForms...");const p=((e,t)=>(s,n)=>{if(!e)return n;for(let{component:n,mapRule:o}of e)if(o(s,t))return n;return n})(t.componentMapRules,c);/*#__PURE__*/return e.createElement(he,{components:t.components,componentsOptions:t.componentsOptions,mapComponent:p,options:t.options},/*#__PURE__*/e.createElement($,{fetchTypeAheadValues:t.fetchTypeAheadValues},/*#__PURE__*/e.createElement(ce,{data:c,formQuestions:a.formQuestions,isFormValid:t.isFormValid},/*#__PURE__*/e.createElement(St,{ref:o,modalView:t.options&&t.options.modalView,mapComponent:p}))))});At.propTypes={form:a.object.isRequired,options:a.object.isRequired,componentMapRules:a.array,components:a.object,componentsOptions:a.object,fetchTypeAheadValues:a.func,isFormValid:a.func,loader:a.element};var _t={"comment.form.placeholder":"Sem napište své komentáře (Ctrl+Enter pro potvrzení)"},ft={"comment.form.placeholder":"Write your comments here (Ctrl+Enter to confirm, Esc to cancel)"};const vt=/*#__PURE__*/e.createContext({}),Tt=({children:e,locale:t=navigator.language})=>{let s=ft;return t===te.LANG.cs.locale&&(s=_t),P(vt.Provider,{value:{locale:t,lang:s},children:P(W,{locale:t,messages:s,children:e})})};export{rt as Answer,me as ConfigurationContext,te as Constants,le as FormQuestionsContext,re as FormUtils,ke as HelpIcon,Tt as IntlContextProvider,_e as JsonLdFramingUtils,ne as JsonLdObjectMap,oe as JsonLdObjectUtils,ct as Question,ot as QuestionStatic,ut as WizardStep,At as default};
2
2
  //# sourceMappingURL=s-forms.modern.js.map