survey-react-ui 1.9.99 → 1.9.100
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.
- package/package.json +2 -2
- package/survey-react-ui.js +2 -2
- package/survey-react-ui.js.map +1 -1
- package/survey-react-ui.min.js +2 -2
package/survey-react-ui.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack://SurveyReact/webpack/universalModuleDefinition","webpack://SurveyReact/webpack/bootstrap","webpack://SurveyReact/./src/entries/core-export.ts","webpack://SurveyReact/./src/entries/react-ui-model.ts","webpack://SurveyReact/./src/entries/react-ui.ts","webpack://SurveyReact/./src/react/boolean-checkbox.tsx","webpack://SurveyReact/./src/react/boolean-radio.tsx","webpack://SurveyReact/./src/react/boolean.tsx","webpack://SurveyReact/./src/react/components/action-bar/action-bar-item-dropdown.tsx","webpack://SurveyReact/./src/react/components/action-bar/action-bar-item.tsx","webpack://SurveyReact/./src/react/components/action-bar/action-bar-separator.tsx","webpack://SurveyReact/./src/react/components/action-bar/action-bar.tsx","webpack://SurveyReact/./src/react/components/brand-info.tsx","webpack://SurveyReact/./src/react/components/character-counter.tsx","webpack://SurveyReact/./src/react/components/components-container.tsx","webpack://SurveyReact/./src/react/components/list/list-item.tsx","webpack://SurveyReact/./src/react/components/list/list.tsx","webpack://SurveyReact/./src/react/components/matrix-actions/detail-button/detail-button.tsx","webpack://SurveyReact/./src/react/components/matrix-actions/drag-drop-icon/drag-drop-icon.tsx","webpack://SurveyReact/./src/react/components/matrix-actions/remove-button/remove-button.tsx","webpack://SurveyReact/./src/react/components/matrix/row.tsx","webpack://SurveyReact/./src/react/components/notifier.tsx","webpack://SurveyReact/./src/react/components/paneldynamic-actions/paneldynamic-add-btn.tsx","webpack://SurveyReact/./src/react/components/paneldynamic-actions/paneldynamic-next-btn.tsx","webpack://SurveyReact/./src/react/components/paneldynamic-actions/paneldynamic-prev-btn.tsx","webpack://SurveyReact/./src/react/components/paneldynamic-actions/paneldynamic-progress-text.tsx","webpack://SurveyReact/./src/react/components/paneldynamic-actions/paneldynamic-remove-btn.tsx","webpack://SurveyReact/./src/react/components/popup/popup.tsx","webpack://SurveyReact/./src/react/components/rating/rating-item-smiley.tsx","webpack://SurveyReact/./src/react/components/rating/rating-item-star.tsx","webpack://SurveyReact/./src/react/components/rating/rating-item.tsx","webpack://SurveyReact/./src/react/components/skeleton.tsx","webpack://SurveyReact/./src/react/components/survey-actions/survey-nav-button.tsx","webpack://SurveyReact/./src/react/components/survey-header/logo-image.tsx","webpack://SurveyReact/./src/react/components/survey-header/survey-header.tsx","webpack://SurveyReact/./src/react/components/svg-icon/svg-icon.tsx","webpack://SurveyReact/./src/react/components/title/title-actions.tsx","webpack://SurveyReact/./src/react/components/title/title-content.tsx","webpack://SurveyReact/./src/react/components/title/title-element.tsx","webpack://SurveyReact/./src/react/custom-widget.tsx","webpack://SurveyReact/./src/react/dropdown-base.tsx","webpack://SurveyReact/./src/react/dropdown-item.tsx","webpack://SurveyReact/./src/react/dropdown-select.tsx","webpack://SurveyReact/./src/react/element-factory.tsx","webpack://SurveyReact/./src/react/element-header.tsx","webpack://SurveyReact/./src/react/flow-panel.tsx","webpack://SurveyReact/./src/react/image.tsx","webpack://SurveyReact/./src/react/imagepicker.tsx","webpack://SurveyReact/./src/react/page.tsx","webpack://SurveyReact/./src/react/panel-base.tsx","webpack://SurveyReact/./src/react/panel.tsx","webpack://SurveyReact/./src/react/rating-dropdown.tsx","webpack://SurveyReact/./src/react/react-popup-survey.tsx","webpack://SurveyReact/./src/react/reactSurvey.tsx","webpack://SurveyReact/./src/react/reactSurveyNavigationBase.tsx","webpack://SurveyReact/./src/react/reactSurveyProgress.tsx","webpack://SurveyReact/./src/react/reactSurveyProgressButtons.tsx","webpack://SurveyReact/./src/react/reactSurveyProgressToc.tsx","webpack://SurveyReact/./src/react/reactquestion.tsx","webpack://SurveyReact/./src/react/reactquestion_buttongroup.tsx","webpack://SurveyReact/./src/react/reactquestion_checkbox.tsx","webpack://SurveyReact/./src/react/reactquestion_comment.tsx","webpack://SurveyReact/./src/react/reactquestion_custom.tsx","webpack://SurveyReact/./src/react/reactquestion_dropdown.tsx","webpack://SurveyReact/./src/react/reactquestion_element.tsx","webpack://SurveyReact/./src/react/reactquestion_empty.tsx","webpack://SurveyReact/./src/react/reactquestion_expression.tsx","webpack://SurveyReact/./src/react/reactquestion_factory.tsx","webpack://SurveyReact/./src/react/reactquestion_file.tsx","webpack://SurveyReact/./src/react/reactquestion_html.tsx","webpack://SurveyReact/./src/react/reactquestion_matrix.tsx","webpack://SurveyReact/./src/react/reactquestion_matrixdropdown.tsx","webpack://SurveyReact/./src/react/reactquestion_matrixdropdownbase.tsx","webpack://SurveyReact/./src/react/reactquestion_matrixdynamic.tsx","webpack://SurveyReact/./src/react/reactquestion_multipletext.tsx","webpack://SurveyReact/./src/react/reactquestion_paneldynamic.tsx","webpack://SurveyReact/./src/react/reactquestion_radiogroup.tsx","webpack://SurveyReact/./src/react/reactquestion_ranking.tsx","webpack://SurveyReact/./src/react/reactquestion_rating.tsx","webpack://SurveyReact/./src/react/reactquestion_tagbox.tsx","webpack://SurveyReact/./src/react/reactquestion_text.tsx","webpack://SurveyReact/./src/react/reactsurveymodel.tsx","webpack://SurveyReact/./src/react/reacttimerpanel.tsx","webpack://SurveyReact/./src/react/row.tsx","webpack://SurveyReact/./src/react/signaturepad.tsx","webpack://SurveyReact/./src/react/string-editor.tsx","webpack://SurveyReact/./src/react/string-viewer.tsx","webpack://SurveyReact/./src/react/tagbox-filter.tsx","webpack://SurveyReact/./src/react/tagbox-item.tsx","webpack://SurveyReact/./src/settings.ts","webpack://SurveyReact/./src/utils/responsivity-manager.ts","webpack://SurveyReact/./src/utils/utils.ts","webpack://SurveyReact/external {\"root\":\"React\",\"commonjs2\":\"react\",\"commonjs\":\"react\",\"amd\":\"react\"}","webpack://SurveyReact/external {\"root\":\"ReactDOM\",\"commonjs2\":\"react-dom\",\"commonjs\":\"react-dom\",\"amd\":\"react-dom\"}","webpack://SurveyReact/external {\"root\":\"Survey\",\"commonjs2\":\"survey-core\",\"commonjs\":\"survey-core\",\"amd\":\"survey-core\"}"],"names":[],"mappings":"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","file":"survey-react-ui.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"), require(\"react-dom\"), require(\"survey-core\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"survey-react-ui\", [\"react\", \"react-dom\", \"survey-core\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"survey-react-ui\"] = factory(require(\"react\"), require(\"react-dom\"), require(\"survey-core\"));\n\telse\n\t\troot[\"SurveyReact\"] = factory(root[\"React\"], root[\"ReactDOM\"], root[\"Survey\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_react__, __WEBPACK_EXTERNAL_MODULE_react_dom__, __WEBPACK_EXTERNAL_MODULE_survey_core__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./src/entries/react-ui.ts\");\n","export { SurveyModel, SurveyWindowModel } from \"survey-core\";\nexport { settings, ISurveyEnvironment } from \"survey-core\";\nexport { surveyLocalization, surveyStrings } from \"survey-core\";\n","// react\nexport { Survey, attachKey2click } from \"../react/reactSurvey\";\nexport { ReactSurveyElementsWrapper } from \"../react/reactsurveymodel\";\nexport { SurveyNavigationBase } from \"../react/reactSurveyNavigationBase\";\nexport { SurveyTimerPanel } from \"../react/reacttimerpanel\";\nexport { SurveyPage } from \"../react/page\";\nexport { SurveyRow } from \"../react/row\";\nexport { SurveyPanel } from \"../react/panel\";\nexport { SurveyFlowPanel } from \"../react/flow-panel\";\nexport {\n SurveyQuestion,\n SurveyElementErrors,\n SurveyQuestionAndErrorsCell,\n ISurveyCreator\n} from \"../react/reactquestion\";\nexport {\n ReactSurveyElement,\n SurveyElementBase,\n SurveyQuestionElementBase,\n} from \"../react/reactquestion_element\";\nexport {\n SurveyQuestionCommentItem,\n SurveyQuestionComment,\n} from \"../react/reactquestion_comment\";\nexport {\n SurveyQuestionCheckbox,\n SurveyQuestionCheckboxItem,\n} from \"../react/reactquestion_checkbox\";\nexport {\n SurveyQuestionRanking,\n SurveyQuestionRankingItem,\n} from \"../react/reactquestion_ranking\";\n\nexport { RatingItem } from \"../react/components/rating/rating-item\";\nexport { RatingItemStar } from \"../react/components/rating/rating-item-star\";\nexport { RatingItemSmiley } from \"../react/components/rating/rating-item-smiley\";\n\nexport { TagboxFilterString } from \"../react/tagbox-filter\";\nexport { SurveyQuestionOptionItem } from \"../react/dropdown-item\";\nexport { SurveyQuestionDropdownBase } from \"../react/dropdown-base\";\nexport { SurveyQuestionDropdown } from \"../react/reactquestion_dropdown\";\nexport { SurveyQuestionTagboxItem } from \"../react/tagbox-item\";\nexport { SurveyQuestionTagbox } from \"../react/reactquestion_tagbox\";\nexport { SurveyQuestionDropdownSelect } from \"../react/dropdown-select\";\nexport {\n SurveyQuestionMatrix,\n SurveyQuestionMatrixRow,\n} from \"../react/reactquestion_matrix\";\nexport { SurveyQuestionHtml } from \"../react/reactquestion_html\";\nexport { SurveyQuestionFile } from \"../react/reactquestion_file\";\nexport { SurveyQuestionMultipleText } from \"../react/reactquestion_multipletext\";\nexport { SurveyQuestionRadiogroup, SurveyQuestionRadioItem } from \"../react/reactquestion_radiogroup\";\nexport { SurveyQuestionText } from \"../react/reactquestion_text\";\nexport { SurveyQuestionBoolean } from \"../react/boolean\";\nexport { SurveyQuestionBooleanCheckbox } from \"../react/boolean-checkbox\";\nexport { SurveyQuestionBooleanRadio } from \"../react/boolean-radio\";\nexport { SurveyQuestionEmpty } from \"../react/reactquestion_empty\";\nexport { SurveyQuestionMatrixDropdownCell, SurveyQuestionMatrixDropdownBase } from \"../react/reactquestion_matrixdropdownbase\";\nexport { SurveyQuestionMatrixDropdown } from \"../react/reactquestion_matrixdropdown\";\nexport { SurveyQuestionMatrixDynamic, SurveyQuestionMatrixDynamicAddButton } from \"../react/reactquestion_matrixdynamic\";\nexport { SurveyQuestionPanelDynamic } from \"../react/reactquestion_paneldynamic\";\nexport { SurveyProgress } from \"../react/reactSurveyProgress\";\nexport { SurveyProgressButtons } from \"../react/reactSurveyProgressButtons\";\nexport { SurveyProgressToc } from \"../react/reactSurveyProgressToc\";\nexport { SurveyQuestionRating } from \"../react/reactquestion_rating\";\nexport { SurveyQuestionRatingDropdown } from \"../react/rating-dropdown\";\nexport { SurveyQuestionExpression } from \"../react/reactquestion_expression\";\nexport { PopupSurvey, SurveyWindow } from \"../react/react-popup-survey\";\nexport { ReactQuestionFactory } from \"../react/reactquestion_factory\";\nexport { ReactElementFactory } from \"../react/element-factory\";\nexport { SurveyQuestionImagePicker } from \"../react/imagepicker\";\nexport { SurveyQuestionImage } from \"../react/image\";\nexport { SurveyQuestionSignaturePad } from \"../react/signaturepad\";\nexport { SurveyQuestionButtonGroup } from \"../react/reactquestion_buttongroup\";\nexport { SurveyQuestionCustom, SurveyQuestionComposite } from \"../react/reactquestion_custom\";\n\nexport { Popup } from \"../react/components/popup/popup\";\nexport { List } from \"../react/components/list/list\";\nexport { TitleActions } from \"../react/components/title/title-actions\";\nexport { TitleElement } from \"../react/components/title/title-element\";\nexport { SurveyActionBar } from \"../react/components/action-bar/action-bar\";\nexport { LogoImage } from \"../react/components/survey-header/logo-image\";\nexport { SurveyHeader } from \"../react/components/survey-header/survey-header\";\nexport { SvgIcon } from \"../react/components/svg-icon/svg-icon\";\nexport { SurveyQuestionMatrixDynamicRemoveButton } from \"../react/components/matrix-actions/remove-button/remove-button\";\nexport { SurveyQuestionMatrixDetailButton } from \"../react/components/matrix-actions/detail-button/detail-button\";\nexport { SurveyQuestionMatrixDynamicDragDropIcon } from \"../react/components/matrix-actions/drag-drop-icon/drag-drop-icon\";\nexport { SurveyQuestionPanelDynamicAddButton } from \"../react/components/paneldynamic-actions/paneldynamic-add-btn\";\nexport { SurveyQuestionPanelDynamicRemoveButton } from \"../react/components/paneldynamic-actions/paneldynamic-remove-btn\";\nexport { SurveyQuestionPanelDynamicPrevButton } from \"../react/components/paneldynamic-actions/paneldynamic-prev-btn\";\nexport { SurveyQuestionPanelDynamicNextButton } from \"../react/components/paneldynamic-actions/paneldynamic-next-btn\";\nexport { SurveyQuestionPanelDynamicProgressText } from \"../react/components/paneldynamic-actions/paneldynamic-progress-text\";\nexport { SurveyNavigationButton } from \"../react/components/survey-actions/survey-nav-button\";\n\nexport { MatrixRow } from \"../react/components/matrix/row\";\nexport { Skeleton } from \"../react/components/skeleton\";\nexport { NotifierComponent } from \"../react/components/notifier\";\nexport { ComponentsContainer } from \"../react/components/components-container\";\nexport { CharacterCounterComponent } from \"../react/components/character-counter\";\n\nexport { SurveyLocStringViewer } from \"../react/string-viewer\";\nexport { SurveyLocStringEditor } from \"../react/string-editor\";\n\n//Uncomment to include the \"date\" question type.\n//export {default as SurveyQuestionDate} from \"../plugins/react/reactquestiondate\";\n","export * from \"./react-ui-model\";\nexport * from \"./core-export\";\nexport { SurveyModel as Model } from \"survey-core\";\n\nexport * from \"../utils/responsivity-manager\";\nexport { unwrap } from \"../utils/utils\";\n\nimport { checkLibraryVersion } from \"survey-core\";\n\ncheckLibraryVersion(`${process.env.VERSION}`, \"survey-react-ui\");","import * as React from \"react\";\nimport { RendererFactory } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { SurveyQuestionBoolean } from \"./boolean\";\nimport { TitleActions } from \"./components/title/title-actions\";\nimport { SurveyElementBase } from \"./reactquestion_element\";\n\nexport class SurveyQuestionBooleanCheckbox extends SurveyQuestionBoolean {\n constructor(props: any) {\n super(props);\n }\n protected renderElement(): JSX.Element {\n const cssClasses = this.question.cssClasses;\n const itemClass = this.question.getCheckboxItemCss();\n const description = this.question.canRenderLabelDescription ?\n SurveyElementBase.renderQuestionDescription(this.question) : null;\n return (\n <div className={cssClasses.rootCheckbox}>\n <div className={itemClass}>\n <label className={cssClasses.checkboxLabel}>\n <input\n ref={this.checkRef}\n type=\"checkbox\"\n name={this.question.name}\n value={\n this.question.booleanValue === null\n ? \"\"\n : this.question.booleanValue\n }\n id={this.question.inputId}\n className={cssClasses.controlCheckbox}\n disabled={this.isDisplayMode}\n checked={this.question.booleanValue || false}\n onChange={this.handleOnChange}\n aria-required={this.question.ariaRequired}\n aria-label={this.question.ariaLabel}\n aria-invalid={this.question.ariaInvalid}\n aria-describedby={this.question.ariaDescribedBy}\n />\n <span className={cssClasses.checkboxMaterialDecorator}>\n {this.question.svgIcon ?\n <svg\n className={cssClasses.checkboxItemDecorator}\n >\n <use xlinkHref={this.question.svgIcon}></use>\n </svg> : null\n }\n <span className=\"check\" />\n </span>\n {this.question.isLabelRendered && (\n <span className={cssClasses.checkboxControlLabel} id={this.question.labelRenderedAriaID}>\n <TitleActions element={this.question} cssClasses={this.question.cssClasses}></TitleActions>\n </span>\n )}\n </label>\n {description}\n </div>\n </div>\n );\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\n \"sv-boolean-checkbox\",\n (props) => {\n return React.createElement(SurveyQuestionBooleanCheckbox, props);\n }\n);\n\nRendererFactory.Instance.registerRenderer(\n \"boolean\",\n \"checkbox\",\n \"sv-boolean-checkbox\"\n);\n","import * as React from \"react\";\nimport { RendererFactory } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { SurveyQuestionBoolean } from \"./boolean\";\n\nexport class SurveyQuestionBooleanRadio extends SurveyQuestionBoolean {\n constructor(props: any) {\n super(props);\n }\n private renderRadioItem(value: any, locText: any): JSX.Element {\n const cssClasses = this.question.cssClasses;\n return (\n <div role=\"presentation\" className={ this.question.getRadioItemClass(cssClasses, value) }>\n <label className= { cssClasses.radioLabel }>\n <input\n type=\"radio\"\n name = { this.question.name }\n value = { value }\n aria-describedby = { this.question.ariaDescribedBy }\n checked={value === this.question.booleanValueRendered}\n disabled = { this.question.isInputReadOnly }\n className = { cssClasses.itemRadioControl }\n onChange={ this.handleOnChange }\n />\n { this.question.cssClasses.materialRadioDecorator?\n (<span className={ cssClasses.materialRadioDecorator }>\n { this.question.itemSvgIcon ?\n (<svg className={cssClasses.itemRadioDecorator}>\n <use xlinkHref={this.question.itemSvgIcon}></use>\n </svg>):null}\n </span>):null}\n <span className= { cssClasses.radioControlLabel }>\n { this.renderLocString(locText) }\n </span>\n </label>\n </div>\n );\n }\n handleOnChange = (event: any) => {\n this.question.booleanValue = event.nativeEvent.target.value == \"true\";\n }\n protected renderElement(): JSX.Element {\n const cssClasses = this.question.cssClasses;\n return (\n <div className={cssClasses.rootRadio}>\n <fieldset role=\"presentation\" className= { cssClasses.radioFieldset }>\n {this.renderRadioItem(false, this.question.locLabelFalse)}\n {this.renderRadioItem(true, this.question.locLabelTrue)}\n </fieldset>\n </div>\n );\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\n \"sv-boolean-radio\",\n (props) => {\n return React.createElement(SurveyQuestionBooleanRadio, props);\n }\n);\n\nRendererFactory.Instance.registerRenderer(\n \"boolean\",\n \"radio\",\n \"sv-boolean-radio\"\n);\n","import * as React from \"react\";\nimport { QuestionBooleanModel, CssClassBuilder, Base } from \"survey-core\";\nimport { SurveyQuestionElementBase } from \"./reactquestion_element\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\n\nexport class SurveyQuestionBoolean extends SurveyQuestionElementBase {\n protected checkRef: React.RefObject<HTMLInputElement>;\n constructor(props: any) {\n super(props);\n this.handleOnChange = this.handleOnChange.bind(this);\n this.handleOnClick = this.handleOnClick.bind(this);\n this.handleOnLabelClick = this.handleOnLabelClick.bind(this);\n this.handleOnSwitchClick = this.handleOnSwitchClick.bind(this);\n this.handleOnKeyDown = this.handleOnKeyDown.bind(this);\n this.checkRef = React.createRef();\n }\n protected getStateElement(): Base {\n return this.question;\n }\n protected get question(): QuestionBooleanModel {\n return this.questionBase as QuestionBooleanModel;\n }\n /*\n private get allowClick(): boolean {\n return this.question.isIndeterminate && !this.isDisplayMode;\n }\n */\n private doCheck(value: boolean) {\n this.question.booleanValue = value;\n }\n handleOnChange(event: any) {\n this.doCheck(event.target.checked);\n }\n handleOnClick(event: any) {\n this.question.onLabelClick(event, true);\n }\n handleOnSwitchClick(event: any) {\n this.question.onSwitchClickModel(event.nativeEvent);\n }\n handleOnLabelClick(event: any, value: boolean) {\n this.question.onLabelClick(event, value);\n }\n handleOnKeyDown(event: any) {\n this.question.onKeyDownCore(event);\n }\n\n protected updateDomElement() {\n if (!this.question) return;\n const el = this.checkRef.current;\n if (el) {\n el.indeterminate = this.question.isIndeterminate;\n }\n this.setControl(el);\n super.updateDomElement();\n }\n protected renderElement(): JSX.Element {\n const cssClasses = this.question.cssClasses;\n const itemClass: string = this.question.getItemCss();\n return (\n <div className={cssClasses.root} onKeyDown={this.handleOnKeyDown}>\n <label className={itemClass} onClick={this.handleOnClick}>\n <input\n ref={this.checkRef}\n type=\"checkbox\"\n name={this.question.name}\n value={\n this.question.booleanValue === null\n ? \"\"\n : this.question.booleanValue\n }\n id={this.question.inputId}\n className={cssClasses.control}\n disabled={this.isDisplayMode}\n checked={this.question.booleanValue || false}\n onChange={this.handleOnChange}\n aria-required={this.question.ariaRequired}\n aria-label={this.question.ariaLabel}\n aria-invalid={this.question.ariaInvalid}\n aria-describedby={this.question.ariaDescribedBy}\n />\n <div className={cssClasses.sliderGhost} onClick={(event) => this.handleOnLabelClick(event, false)}>\n <span className={this.question.getLabelCss(false)}>\n {this.renderLocString(this.question.locLabelFalse)}\n </span>\n </div>\n <div className={cssClasses.switch} onClick={this.handleOnSwitchClick}>\n <span className={cssClasses.slider}>\n {\n this.question.isDeterminated && cssClasses.sliderText ?\n <span className={cssClasses.sliderText}>{ this.renderLocString(this.question.getCheckedLabel()) }</span>\n : null\n }\n </span>\n </div>\n <div className={cssClasses.sliderGhost} onClick={(event) => this.handleOnLabelClick(event, true)}>\n <span className={this.question.getLabelCss(true)}>\n {this.renderLocString(this.question.locLabelTrue)}\n </span>\n </div>\n </label>\n </div>\n );\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"boolean\", (props) => {\n return React.createElement(SurveyQuestionBoolean, props);\n});\n","import React from \"react\";\r\nimport { ActionDropdownViewModel, getActionDropdownButtonTarget } from \"survey-core\";\r\nimport { ReactElementFactory } from \"../../element-factory\";\r\nimport { Popup } from \"../popup/popup\";\r\nimport { SurveyActionBarItem } from \"./action-bar-item\";\r\n\r\nexport class SurveyActionBarItemDropdown extends SurveyActionBarItem {\r\n private viewModel: ActionDropdownViewModel;\r\n constructor(props: any) {\r\n super(props);\r\n this.viewModel = new ActionDropdownViewModel(this.item);\r\n }\r\n renderInnerButton() {\r\n const button = super.renderInnerButton();\r\n return (\r\n <>\r\n {button}\r\n <Popup model={this.item.popupModel} getTarget={getActionDropdownButtonTarget}></Popup>\r\n </>\r\n );\r\n }\r\n componentWillUnmount(): void {\r\n super.componentWillUnmount();\r\n this.viewModel.dispose();\r\n }\r\n}\r\n\r\nReactElementFactory.Instance.registerElement(\"sv-action-bar-item-dropdown\", (props) => {\r\n return React.createElement(SurveyActionBarItemDropdown, props);\r\n});\r\n","import React from \"react\";\r\nimport { Base, Action } from \"survey-core\";\r\nimport { ReactElementFactory } from \"../../element-factory\";\r\nimport { SurveyElementBase } from \"../../reactquestion_element\";\r\nimport { attachKey2click } from \"../../reactSurvey\";\r\nimport { SvgIcon } from \"../svg-icon/svg-icon\";\r\nimport { SurveyActionBarSeparator } from \"./action-bar-separator\";\r\n\r\ninterface IActionBarItemProps {\r\n item: Action;\r\n}\r\n\r\nexport class SurveyAction extends SurveyElementBase<IActionBarItemProps, any> {\r\n get item() {\r\n return this.props.item;\r\n }\r\n protected getStateElement(): Base {\r\n return this.item;\r\n }\r\n\r\n renderElement() {\r\n //refactor\r\n const itemClass = this.item.getActionRootCss();\r\n const separator = this.item.needSeparator ? (\r\n <SurveyActionBarSeparator></SurveyActionBarSeparator>\r\n ) : null;\r\n\r\n const itemComponent = ReactElementFactory.Instance.createElement(\r\n this.item.component || \"sv-action-bar-item\",\r\n {\r\n item: this.item,\r\n }\r\n );\r\n return (\r\n <div className={itemClass} id={this.item.id}>\r\n <div className=\"sv-action__content\">\r\n {separator}\r\n {itemComponent}\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n\r\nexport class SurveyActionBarItem extends SurveyElementBase<\r\n IActionBarItemProps,\r\n any\r\n> {\r\n get item(): Action {\r\n return this.props.item;\r\n }\r\n protected getStateElement(): Base {\r\n return this.item;\r\n }\r\n\r\n renderElement() {\r\n return <>{this.renderInnerButton()}</>;\r\n }\r\n\r\n renderText() {\r\n if (!this.item.hasTitle) return null;\r\n const titleClass = this.item.getActionBarItemTitleCss();\r\n return <span className={titleClass}>{this.item.title}</span>;\r\n }\r\n\r\n renderButtonContent() {\r\n const text = this.renderText();\r\n const svgIcon = !!this.item.iconName ? (\r\n <SvgIcon\r\n className={this.item.cssClasses.itemIcon}\r\n size={this.item.iconSize}\r\n iconName={this.item.iconName}\r\n title={this.item.tooltip || this.item.title}\r\n ></SvgIcon>\r\n ) : null;\r\n return (\r\n <>\r\n {svgIcon}\r\n {text}\r\n </>\r\n );\r\n }\r\n\r\n renderInnerButton() {\r\n const className = this.item.getActionBarItemCss();\r\n const title = this.item.tooltip || this.item.title;\r\n const buttonContent = this.renderButtonContent();\r\n const tabIndex = this.item.disableTabStop ? -1 : undefined;\r\n const button = attachKey2click(\r\n <button\r\n className={className}\r\n type=\"button\"\r\n disabled={this.item.disabled}\r\n onClick={(args) => this.item.action(this.item, this.item.getIsTrusted(args))}\r\n title={title}\r\n tabIndex={tabIndex}\r\n aria-checked={this.item.ariaChecked}\r\n aria-expanded={this.item.ariaExpanded}\r\n role={this.item.ariaRole}\r\n >\r\n {buttonContent}\r\n </button>, null, { processEsc: false });\r\n\r\n return button;\r\n }\r\n}\r\n\r\nReactElementFactory.Instance.registerElement(\"sv-action-bar-item\", (props) => {\r\n return React.createElement(SurveyActionBarItem, props);\r\n});\r\n","import React from \"react\";\nimport { ReactElementFactory } from \"../../element-factory\";\n\nexport class SurveyActionBarSeparator extends React.Component<any, any> {\n constructor(props: any) {\n super(props);\n }\n render() {\n var className = `sv-action-bar-separator ${this.props.cssClasses}`;\n return <div className={className}></div>;\n }\n}\nReactElementFactory.Instance.registerElement(\n \"sv-action-bar-separator\",\n (props) => {\n return React.createElement(SurveyActionBarSeparator, props);\n }\n);\n","import React from \"react\";\nimport {\n Base,\n Action,\n ActionContainer\n} from \"survey-core\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { SurveyElementBase } from \"../../reactquestion_element\";\nimport { SurveyAction } from \"./action-bar-item\";\n\nexport * from \"./action-bar-item-dropdown\";\nexport * from \"./action-bar-separator\";\n\ninterface IActionBarProps {\n model: ActionContainer<Action>;\n handleClick?: boolean;\n}\n\nexport class SurveyActionBar extends SurveyElementBase<IActionBarProps, any> {\n private rootRef: React.RefObject<HTMLDivElement>;\n\n constructor(props: IActionBarProps) {\n super(props);\n this.rootRef = React.createRef();\n }\n\n private get handleClick() {\n return this.props.handleClick !== undefined ? this.props.handleClick : true;\n }\n\n get model() {\n return this.props.model;\n }\n\n componentDidMount() {\n super.componentDidMount();\n if (!this.model.hasActions) return;\n const container: HTMLDivElement | null = this.rootRef.current;\n if(!!container) {\n this.model.initResponsivityManager(container);\n }\n }\n componentWillUnmount() {\n super.componentWillUnmount();\n if (!!this.model.hasActions) {\n this.model.resetResponsivityManager();\n }\n }\n\n protected getStateElement(): Base {\n return this.model;\n }\n\n renderElement(): any {\n if (!this.model.hasActions) return null;\n const items = this.renderItems();\n return (\n <div\n ref={this.rootRef}\n className={this.model.getRootCss()}\n onClick={this.handleClick ? function(event) {\n event.stopPropagation();\n } : undefined}\n >\n {items}\n </div>\n );\n }\n\n renderItems() {\n return this.model.renderedActions.map(\n (item: Action, itemIndex: number) => {\n return (\n <SurveyAction item={item} key={\"item\" + itemIndex}></SurveyAction>\n );\n }\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-action-bar\", (props) => {\n return React.createElement(\n SurveyActionBar,\n (props as any) as IActionBarProps\n );\n});\n","import React from \"react\";\n\nexport class BrandInfo extends React.Component<any, any> {\n render() {\n return (\n <div className=\"sv-brand-info\">\n <a className=\"sv-brand-info__logo\" href=\"https://surveyjs.io/?utm_source=built-in_links&utm_medium=online_survey_tool&utm_campaign=landing_page\"><img src=\"https://surveyjs.io/Content/Images/poweredby.svg\"/></a>\n <div className=\"sv-brand-info__text\">Try and see how easy it is to <a href=\"https://surveyjs.io/create-survey?utm_source=built-in_links&utm_medium=online_survey_tool&utm_campaign=create_survey\">create a survey</a></div>\n <div className=\"sv-brand-info__terms\"><a href=\"https://surveyjs.io/TermsOfUse\">Terms of Use & Privacy Statement</a></div>\n </div>\n );\n }\n}\n","import React from \"react\";\nimport { Base, CharacterCounter } from \"survey-core\";\nimport { ReactElementFactory } from \"../element-factory\";\nimport { SurveyElementBase } from \"../reactquestion_element\";\n\nexport interface ICharacterCounterComponentProps {\n counter: CharacterCounter;\n remainingCharacterCounter: string;\n}\n\nexport class CharacterCounterComponent extends SurveyElementBase<ICharacterCounterComponentProps, any> {\n protected getStateElement(): Base {\n return this.props.counter;\n }\n\n renderElement(): JSX.Element | null {\n return (<div className={this.props.remainingCharacterCounter}>{this.props.counter.remainingCharacterCounter}</div>);\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-character-counter\", (props) => {\n return React.createElement(CharacterCounterComponent, props);\n});","import React from \"react\";\nimport { ISurveyLayoutElement } from \"survey-core\";\nimport { ReactElementFactory } from \"../element-factory\";\n\nexport class ComponentsContainer extends React.Component<any, any> {\n render(): JSX.Element | null {\n const components: Array<ISurveyLayoutElement> = this.props.survey.getContainerContent(this.props.container);\n const needRenderWrapper = this.props.needRenderWrapper === false ? false : true;\n if(components.length == 0) {\n return null;\n }\n if(!needRenderWrapper) {\n return <>\n {components.map(component => {\n return ReactElementFactory.Instance.createElement(component.component as string, { survey: this.props.survey, model: component.data, key: component.id });\n })}\n </>;\n }\n return <div className=\"sv-components-column\">\n {components.map(component => {\n return ReactElementFactory.Instance.createElement(component.component as string, { survey: this.props.survey, model: component.data, key: component.id });\n })}\n </div>;\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-components-container\", (props: any) => {\n return React.createElement(ComponentsContainer, props);\n});\n","import React from \"react\";\r\nimport { ListModel } from \"survey-core\";\r\nimport { ReactElementFactory } from \"../../element-factory\";\r\nimport { SurveyElementBase } from \"../../reactquestion_element\";\r\nimport { attachKey2click } from \"../../reactSurvey\";\r\nimport { SvgIcon } from \"../svg-icon/svg-icon\";\r\n\r\ninterface IListItemProps {\r\n model: ListModel;\r\n item: any;\r\n}\r\n\r\nexport class ListItem extends SurveyElementBase<IListItemProps, any> {\r\n get model(): ListModel {\r\n return this.props.model;\r\n }\r\n get item(): any {\r\n return this.props.item;\r\n }\r\n handleKeydown = (event: any) => {\r\n this.model.onKeyDown(event);\r\n };\r\n getStateElement() {\r\n return this.item;\r\n }\r\n render(): JSX.Element | null {\r\n if (!this.item) return null;\r\n const contentWrapStyle = {\r\n paddingInlineStart: this.model.getItemIndent(this.item)\r\n };\r\n const className = this.model.getItemClass(this.item);\r\n const content: Array<JSX.Element> = [];\r\n if (!this.item.component) {\r\n const text = this.renderLocString(this.item.locTitle, undefined, \"locString\");\r\n if(this.item.iconName) {\r\n const icon = <SvgIcon\r\n key={1}\r\n className={this.model.cssClasses.itemIcon}\r\n iconName={this.item.iconName}\r\n size={this.item.iconSize}\r\n aria-label={this.item.title}\r\n ></SvgIcon>;\r\n content.push(icon);\r\n content.push(<span key={2}>{text}</span>);\r\n } else {\r\n content.push(text);\r\n }\r\n } else {\r\n const newElement = ReactElementFactory.Instance.createElement(this.item.component, { item: this.item, key: this.item.id });\r\n if(!!newElement) {\r\n content.push(newElement);\r\n }\r\n }\r\n\r\n const contentWrap =\r\n <div\r\n style={contentWrapStyle}\r\n className={this.model.cssClasses.itemBody}\r\n >\r\n {content}\r\n </div>;\r\n const separator = this.item.needSeparator ? <div className = {this.model.cssClasses.itemSeparator}/>:null;\r\n const isVisible = this.model.isItemVisible(this.item);\r\n const style = {\r\n display: isVisible ? null : \"none\"\r\n };\r\n return attachKey2click(\r\n <li\r\n className={className}\r\n role=\"option\"\r\n style={style as any}\r\n id={this.item.elementId}\r\n aria-selected={this.model.isItemSelected(this.item)}\r\n onClick={(event: any) => {\r\n this.model.onItemClick(this.item);\r\n event.stopPropagation();\r\n }}\r\n onPointerDown={(event: any) => this.model.onPointerDown(event, this.item)}>\r\n {separator}\r\n {contentWrap}\r\n </li>\r\n );\r\n }\r\n componentDidMount() {\r\n super.componentDidMount();\r\n\r\n this.model.onLastItemRended(this.item);\r\n }\r\n}\r\n\r\nReactElementFactory.Instance.registerElement(\"sv-list-item\", (props) => {\r\n return React.createElement(ListItem, props);\r\n});\r\n","import React from \"react\";\r\nimport { IAction, ListModel, settings } from \"survey-core\";\r\nimport { ReactElementFactory } from \"../../element-factory\";\r\nimport { SurveyElementBase } from \"../../reactquestion_element\";\r\nimport { SvgIcon } from \"../svg-icon/svg-icon\";\r\nimport { ListItem } from \"./list-item\";\r\n\r\ninterface IListProps {\r\n model: ListModel;\r\n}\r\n\r\nexport class List extends SurveyElementBase<IListProps, any> {\r\n private listContainerRef: React.RefObject<HTMLDivElement>;\r\n\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n filterString: this.model.filterString || \"\"\r\n };\r\n this.listContainerRef = React.createRef();\r\n }\r\n get model(): ListModel {\r\n return this.props.model;\r\n }\r\n handleKeydown = (event: any) => {\r\n this.model.onKeyDown(event);\r\n };\r\n handleMouseMove = (event: any) => {\r\n this.model.onMouseMove(event);\r\n };\r\n getStateElement() {\r\n return this.model;\r\n }\r\n componentDidMount(): void {\r\n super.componentDidMount();\r\n if(!!this.listContainerRef && !!this.listContainerRef.current) {\r\n this.model.initListContainerHtmlElement(this.listContainerRef.current);\r\n }\r\n }\r\n renderElement() {\r\n return (\r\n <div className={this.model.cssClasses.root} ref={this.listContainerRef}>\r\n {this.searchElementContent()}\r\n {this.emptyContent()}\r\n {this.renderList()}\r\n </div>\r\n );\r\n }\r\n renderList() {\r\n if(!this.model.renderElements) return null;\r\n\r\n const items = this.renderItems();\r\n const ulStyle = { display: this.model.isEmpty ? \"none\" : null };\r\n\r\n return (\r\n <ul\r\n className={this.model.getListClass()}\r\n style={ulStyle as any}\r\n role=\"listbox\"\r\n id={this.model.elementId}\r\n onMouseDown={(e) => {\r\n e.preventDefault();\r\n }}\r\n onKeyDown={this.handleKeydown}\r\n onMouseMove={this.handleMouseMove}\r\n >\r\n {items}\r\n </ul>);\r\n }\r\n renderItems() {\r\n if (!this.model) {\r\n return null;\r\n }\r\n const items = this.model.renderedActions;\r\n if (!items) {\r\n return null;\r\n }\r\n return items.map((item: IAction, itemIndex: number) => {\r\n return (\r\n <ListItem model={this.model} item={item} key={\"item\" + itemIndex}></ListItem>\r\n );\r\n });\r\n }\r\n\r\n searchElementContent() {\r\n if (!this.model.showFilter) return null;\r\n else {\r\n const onChange = (e: any) => {\r\n const { root } = settings.environment;\r\n if (e.target === root.activeElement) {\r\n this.model.filterString = e.target.value;\r\n }\r\n };\r\n const onKeyUp = (e: any) => {\r\n this.model.goToItems(e);\r\n };\r\n const clearButton = this.model.showSearchClearButton && !!this.model.filterString ?\r\n <button className={this.model.cssClasses.searchClearButtonIcon} onClick={(event) => { this.model.onClickSearchClearButton(event); }}>\r\n <SvgIcon\r\n iconName={\"icon-searchclear\"}\r\n size={\"auto\"}\r\n >\r\n </SvgIcon>\r\n </button> : null;\r\n\r\n return (\r\n <div className={this.model.cssClasses.filter}>\r\n <div className={this.model.cssClasses.filterIcon}>\r\n <SvgIcon\r\n iconName={\"icon-search\"}\r\n size={\"auto\"}\r\n >\r\n </SvgIcon>\r\n </div>\r\n <input\r\n type=\"text\"\r\n className={this.model.cssClasses.filterInput}\r\n aria-label={this.model.filterStringPlaceholder}\r\n placeholder={this.model.filterStringPlaceholder}\r\n value={this.state.filterString}\r\n onKeyUp={onKeyUp}\r\n onChange={onChange}\r\n ></input>\r\n {clearButton}\r\n </div>\r\n );\r\n }\r\n }\r\n emptyContent() {\r\n const style = { display: this.model.isEmpty ? null : \"none\" };\r\n\r\n return (<div className={this.model.cssClasses.emptyContainer} style={style as any}>\r\n <div className={this.model.cssClasses.emptyText} aria-label={this.model.emptyMessage}>{this.model.emptyMessage}</div>\r\n </div>);\r\n }\r\n}\r\n\r\nReactElementFactory.Instance.registerElement(\"sv-list\", (props) => {\r\n return React.createElement(List, props);\r\n});\r\n","import React from \"react\";\nimport { Action, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase } from \"survey-core\";\nimport { ReactElementFactory } from \"../../../element-factory\";\nimport { ReactSurveyElement } from \"../../../reactquestion_element\";\nimport { SvgIcon } from \"../../svg-icon/svg-icon\";\n\nexport class SurveyQuestionMatrixDetailButton extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n this.handleOnShowHideClick = this.handleOnShowHideClick.bind(this);\n }\n protected getStateElement() {\n return this.props.item;\n }\n get item(): Action {\n return this.props.item;\n }\n private get question(): QuestionMatrixDropdownModelBase {\n return this.props.item.data.question;\n }\n private get row(): MatrixDropdownRowModelBase {\n return this.props.item.data.row;\n }\n handleOnShowHideClick(event: any) {\n this.row.showHideDetailPanelClick();\n }\n protected renderElement(): JSX.Element {\n var isExpanded = this.row.isDetailPanelShowing;\n var ariaExpanded = isExpanded;\n var ariaControls = isExpanded ? this.row.detailPanelId : undefined;\n return (\n <button\n type=\"button\"\n onClick={this.handleOnShowHideClick}\n className={this.question.getDetailPanelButtonCss(this.row)}\n aria-expanded={ariaExpanded}\n aria-controls={ariaControls}\n >\n <SvgIcon\n className={this.question.getDetailPanelIconCss(this.row)}\n iconName={this.question.getDetailPanelIconId(this.row)}\n size={\"auto\"}\n >\n </SvgIcon>\n </button>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\n \"sv-matrix-detail-button\",\n props => {\n return React.createElement(SurveyQuestionMatrixDetailButton, props);\n }\n);\n","import React from \"react\";\nimport { QuestionMatrixDropdownModelBase } from \"survey-core\";\nimport { ReactElementFactory } from \"../../../element-factory\";\nimport { ReactSurveyElement } from \"../../../reactquestion_element\";\n\nexport class SurveyQuestionMatrixDynamicDragDropIcon extends ReactSurveyElement {\n private get question(): QuestionMatrixDropdownModelBase {\n return this.props.item.data.question;\n }\n\n protected renderElement(): JSX.Element {\n if(this.question.iconDragElement) {\n return (<svg className={this.question.cssClasses.dragElementDecorator} >\n <use xlinkHref={this.question.iconDragElement}></use>\n </svg>);\n } else {\n return (<span className={this.question.cssClasses.iconDrag} />);\n }\n }\n}\n\nReactElementFactory.Instance.registerElement(\n \"sv-matrix-drag-drop-icon\",\n (props) => {\n return React.createElement(SurveyQuestionMatrixDynamicDragDropIcon, props);\n }\n);\n","import React from \"react\";\nimport {\n MatrixDropdownRowModelBase,\n QuestionMatrixDropdownModelBase,\n} from \"survey-core\";\nimport { ReactElementFactory } from \"../../../element-factory\";\nimport { ReactSurveyElement } from \"../../../reactquestion_element\";\n\nexport class SurveyQuestionMatrixDynamicRemoveButton extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n this.handleOnRowRemoveClick = this.handleOnRowRemoveClick.bind(this);\n }\n private get question(): QuestionMatrixDropdownModelBase {\n return this.props.item.data.question;\n }\n private get row(): MatrixDropdownRowModelBase {\n return this.props.item.data.row;\n }\n handleOnRowRemoveClick(event: any) {\n this.question.removeRowUI(this.row);\n }\n protected renderElement(): JSX.Element {\n var removeRowText = this.renderLocString(this.question.locRemoveRowText);\n return (\n <button\n className={this.question.getRemoveRowButtonCss()}\n type=\"button\"\n onClick={this.handleOnRowRemoveClick}\n disabled={this.question.isInputReadOnly}\n >\n {removeRowText}\n <span className={this.question.cssClasses.iconRemove} />\n </button>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\n \"sv-matrix-remove-button\",\n (props) => {\n return React.createElement(SurveyQuestionMatrixDynamicRemoveButton, props);\n }\n);\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownModelBase } from \"survey-core\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { SurveyElementBase } from \"../../reactquestion_element\";\n\ninterface IMatrixRowProps {\n model: QuestionMatrixDropdownRenderedRow;\n parentMatrix: QuestionMatrixDropdownModelBase;\n}\n\nexport class MatrixRow extends SurveyElementBase<IMatrixRowProps, any> {\n constructor(props: IMatrixRowProps) {\n super(props);\n }\n get model(): QuestionMatrixDropdownRenderedRow {\n return this.props.model;\n }\n get parentMatrix(): QuestionMatrixDropdownModelBase {\n return this.props.parentMatrix;\n }\n protected getStateElement() {\n return this.model;\n }\n protected onPointerDownHandler = (event: any) => {\n this.parentMatrix.onPointerDown(event.nativeEvent, this.model.row);\n }\n\n render() {\n const model = this.model;\n return (\n <tr\n className={model.className}\n data-sv-drop-target-matrix-row={model.row && model.row.id}\n onPointerDown={(event: any) => this.onPointerDownHandler(event)}\n >\n {this.props.children}\n </tr>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\n \"sv-matrix-row\",\n (props: IMatrixRowProps) => {\n return React.createElement(MatrixRow, props);\n }\n);\n","import React from \"react\";\nimport { Base, Notifier } from \"survey-core\";\nimport { SurveyElementBase } from \"../reactquestion_element\";\nimport { ReactElementFactory } from \"../element-factory\";\nimport { SurveyActionBar } from \"./action-bar/action-bar\";\n\nexport interface INotifierComponentProps {\n notifier: Notifier;\n}\n\nexport class NotifierComponent extends SurveyElementBase<INotifierComponentProps, any> {\n get notifier(): Notifier {\n return this.props.notifier;\n }\n protected getStateElement(): Base {\n return this.notifier;\n }\n\n renderElement(): JSX.Element | null {\n if(!this.notifier.isDisplayed) return null;\n\n const style = { visibility: this.notifier.active ? \"visible\" : \"hidden\" } as React.CSSProperties;\n\n return (\n <div className={this.notifier.css} style={style} role=\"alert\" aria-live=\"polite\">\n <span>{this.notifier.message}</span>\n <SurveyActionBar model={this.notifier.actionBar}></SurveyActionBar>\n </div>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-notifier\", (props) => {\n return React.createElement(NotifierComponent, props);\n});","import React from \"react\";\nimport {\n QuestionPanelDynamicModel\n} from \"survey-core\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { ReactSurveyElement } from \"../../reactquestion_element\";\n\nexport class SurveyQuestionPanelDynamicAction extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n }\n protected get data(): any {\n return (this.props.item && this.props.item.data) || this.props.data;\n }\n protected get question(): QuestionPanelDynamicModel {\n return (this.props.item && this.props.item.data.question) || this.props.data.question;\n }\n}\n\nexport class SurveyQuestionPanelDynamicAddButton extends SurveyQuestionPanelDynamicAction {\n protected handleClick = (event: any) => {\n this.question.addPanelUI();\n }\n protected renderElement(): JSX.Element | null {\n if (!this.question.canAddPanel) return null;\n return (\n <button type=\"button\" className={this.question.getAddButtonCss()} onClick={this.handleClick} >\n <span className={this.question.cssClasses.buttonAddText}>{this.question.panelAddText}</span>\n </button>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\n \"sv-paneldynamic-add-btn\",\n (props) => {\n return React.createElement(SurveyQuestionPanelDynamicAddButton, props);\n }\n);\n","import React from \"react\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { SvgIcon } from \"../svg-icon/svg-icon\";\nimport { SurveyQuestionPanelDynamicAction } from \"./paneldynamic-add-btn\";\n\nexport class SurveyQuestionPanelDynamicNextButton extends SurveyQuestionPanelDynamicAction {\n protected handleClick = (event: any) => {\n this.question.goToNextPanel();\n }\n protected renderElement(): JSX.Element {\n return (\n <div title={this.question.panelNextText} onClick={this.handleClick} className={this.question.getNextButtonCss()}>\n <SvgIcon\n iconName={this.question.cssClasses.progressBtnIcon}\n size={\"auto\"}\n >\n </SvgIcon>\n </div>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\n \"sv-paneldynamic-next-btn\",\n (props) => {\n return React.createElement(SurveyQuestionPanelDynamicNextButton, props);\n }\n);\n","import React from \"react\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { SvgIcon } from \"../svg-icon/svg-icon\";\nimport { SurveyQuestionPanelDynamicAction } from \"./paneldynamic-add-btn\";\n\nexport class SurveyQuestionPanelDynamicPrevButton extends SurveyQuestionPanelDynamicAction {\n protected handleClick = (event: any) => {\n this.question.goToPrevPanel();\n }\n protected renderElement(): JSX.Element {\n return (\n <div title={this.question.panelPrevText} onClick={this.handleClick} className={this.question.getPrevButtonCss()}>\n <SvgIcon\n iconName={this.question.cssClasses.progressBtnIcon}\n size={\"auto\"}\n >\n </SvgIcon>\n </div>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\n \"sv-paneldynamic-prev-btn\",\n (props) => {\n return React.createElement(SurveyQuestionPanelDynamicPrevButton, props);\n }\n);\n","import React from \"react\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { SurveyQuestionPanelDynamicAction } from \"./paneldynamic-add-btn\";\n\nexport class SurveyQuestionPanelDynamicProgressText extends SurveyQuestionPanelDynamicAction {\n protected renderElement(): JSX.Element {\n return (<div className={this.question.cssClasses.progressText}>\n {this.question.progressText}\n </div>);\n }\n}\n\nReactElementFactory.Instance.registerElement(\n \"sv-paneldynamic-progress-text\",\n (props) => {\n return React.createElement(SurveyQuestionPanelDynamicProgressText, props);\n }\n);","import React from \"react\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { ReactSurveyElement } from \"../../reactquestion_element\";\nimport { SurveyQuestionPanelDynamic } from \"../../reactquestion_paneldynamic\";\nimport { SurveyQuestionPanelDynamicAction } from \"./paneldynamic-add-btn\";\n\nexport class SurveyQuestionPanelDynamicRemoveButton extends SurveyQuestionPanelDynamicAction {\n protected handleClick = (event: any) => {\n this.question.removePanelUI(this.data.panel);\n }\n protected renderElement(): JSX.Element {\n return (\n <button\n className={this.question.getPanelRemoveButtonCss()}\n onClick={this.handleClick}\n type=\"button\">\n <span\n className={this.question.cssClasses.buttonRemoveText}\n >{this.question.panelRemoveText}</span>\n <span\n className={this.question.cssClasses.iconRemove}\n ></span>\n </button>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\n \"sv-paneldynamic-remove-btn\",\n (props) => {\n return React.createElement(SurveyQuestionPanelDynamicRemoveButton, props);\n }\n);\n","import ReactDOM from \"react-dom\";\nimport React from \"react\";\nimport { Base, PopupModel, PopupBaseViewModel, PopupDropdownViewModel, IDialogOptions, createDialogOptions, createPopupModalViewModel, createPopupViewModel, CssClassBuilder, settings } from \"survey-core\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { SurveyElementBase } from \"../../reactquestion_element\";\nimport { SurveyActionBar } from \"../action-bar/action-bar\";\n\ninterface IPopupProps {\n model: PopupModel;\n getTarget?: (container: HTMLElement) => HTMLElement;\n}\n\nexport class Popup extends SurveyElementBase<IPopupProps, any> {\n private popup: PopupBaseViewModel;\n private containerRef: React.RefObject<HTMLDivElement>;\n constructor(props: IPopupProps) {\n super(props);\n this.containerRef = React.createRef();\n this.createModel();\n }\n get model(): PopupModel {\n return this.props.model;\n }\n protected getStateElement(): Base {\n return this.model;\n }\n private createModel(): void {\n this.popup = createPopupViewModel(this.props.model, undefined as any);\n }\n private setTargetElement(): void {\n const container = this.containerRef.current as HTMLElement;\n this.popup.setComponentElement(container, this.props.getTarget ? this.props.getTarget(container) : undefined);\n }\n componentDidMount(): void {\n super.componentDidMount();\n this.setTargetElement();\n }\n componentDidUpdate(prevProps: any, prevState: any) {\n super.componentDidUpdate(prevProps, prevState);\n this.setTargetElement();\n }\n shouldComponentUpdate(nextProps: IPopupProps, nextState: any) {\n if (!super.shouldComponentUpdate(nextProps, nextState)) return false;\n const isNeedUpdate = nextProps.model !== this.popup.model;\n if(isNeedUpdate) {\n this.popup?.dispose();\n this.createModel();\n }\n return isNeedUpdate;\n }\n render(): JSX.Element {\n this.popup.model = this.model;\n let popupContainer;\n if(this.model.isModal) {\n popupContainer = <PopupContainer model={this.popup}></PopupContainer>;\n } else {\n popupContainer = <PopupDropdownContainer model={this.popup}></PopupDropdownContainer>;\n }\n return <div ref={this.containerRef}>{popupContainer}</div>;\n }\n}\n\nReactElementFactory.Instance.registerElement(\n \"sv-popup\",\n (props: IPopupProps) => {\n return React.createElement(Popup, props);\n }\n);\n\nexport class PopupContainer extends SurveyElementBase<any, any> {\n public prevIsVisible: boolean = false;\n constructor(props: any) {\n super(props);\n }\n handleKeydown = (event: any) => {\n this.model.onKeyDown(event);\n };\n get model(): PopupBaseViewModel {\n return this.props.model;\n }\n protected getStateElement(): Base {\n return this.model;\n }\n clickInside = (ev: any) => {\n ev.stopPropagation();\n };\n componentDidUpdate(prevProps: any, prevState: any) {\n super.componentDidUpdate(prevProps, prevState);\n if (!this.prevIsVisible && this.model.isVisible) {\n this.model.updateOnShowing();\n }\n this.prevIsVisible = this.model.isVisible;\n }\n renderContainer(PopupBaseViewModel: PopupBaseViewModel): JSX.Element {\n const headerPopup = PopupBaseViewModel.showHeader ? this.renderHeaderPopup(PopupBaseViewModel) : null;\n const headerContent = !!PopupBaseViewModel.title ? this.renderHeaderContent() : null;\n const content = this.renderContent();\n const footerContent = PopupBaseViewModel.showFooter ? this.renderFooter(this.model) : null;\n return (\n <div\n className=\"sv-popup__container\"\n style={{\n left: PopupBaseViewModel.left,\n top: PopupBaseViewModel.top,\n height: PopupBaseViewModel.height,\n width: PopupBaseViewModel.width,\n minWidth: PopupBaseViewModel.minWidth,\n }}\n onClick={(ev: any) => {\n this.clickInside(ev);\n }}\n >\n <div className=\"sv-popup__shadow\">\n {headerPopup}\n <div className=\"sv-popup__body-content\">\n {headerContent}\n <div className=\"sv-popup__scrolling-content\">\n {content}\n </div>\n {footerContent}\n </div>\n </div>\n </div>\n );\n }\n renderHeaderContent(): JSX.Element {\n return <div className=\"sv-popup__body-header\">{this.model.title}</div>;\n }\n renderContent(): JSX.Element {\n const contentComponent = ReactElementFactory.Instance.createElement(\n this.model.contentComponentName,\n this.model.contentComponentData\n );\n return <div className=\"sv-popup__content\">{contentComponent}</div>;\n }\n\n protected renderHeaderPopup(popupModel: PopupBaseViewModel): JSX.Element | null {\n return null;\n }\n protected renderFooter(popuModel: PopupBaseViewModel): JSX.Element | null {\n return (\n <div className=\"sv-popup__body-footer\">\n <SurveyActionBar model={popuModel.footerToolbar}></SurveyActionBar>\n </div>\n );\n }\n render(): JSX.Element {\n const container = this.renderContainer(this.model);\n const className = new CssClassBuilder()\n .append(\"sv-popup\")\n .append(this.model.styleClass)\n .toString();\n const style = { display: this.model.isVisible ? \"\" : \"none\", };\n return (\n <div\n tabIndex={-1}\n className={className}\n style={style}\n onClick={(e: any) => {\n this.model.clickOutside(e);\n }}\n onKeyDown={this.handleKeydown}\n >\n {container}\n </div>\n );\n }\n}\nexport class PopupDropdownContainer extends PopupContainer {\n\n protected renderHeaderPopup(popupModel: PopupBaseViewModel): JSX.Element | null {\n const popupDropdownModel = popupModel as PopupDropdownViewModel;\n if(!popupDropdownModel) return null;\n\n return (\n <span\n style={{\n left: popupDropdownModel.pointerTarget.left,\n top: popupDropdownModel.pointerTarget.top,\n }}\n className=\"sv-popup__pointer\"\n ></span>\n );\n }\n}\n\n// replace to showDialog then delete\nexport function showModal(\n componentName: string,\n data: any,\n onApply: () => boolean,\n onCancel?: () => void,\n cssClass?: string,\n title?: string,\n displayMode: \"popup\" | \"overlay\" = \"popup\"\n): PopupBaseViewModel {\n const options = createDialogOptions(\n componentName,\n data,\n onApply,\n onCancel,\n undefined,\n undefined,\n cssClass,\n title,\n displayMode\n );\n return showDialog(options);\n}\nexport function showDialog(dialogOptions: IDialogOptions, rootElement?: HTMLElement): PopupBaseViewModel {\n dialogOptions.onHide = () => {\n ReactDOM.unmountComponentAtNode(popupViewModel.container);\n popupViewModel.dispose();\n };\n const popupViewModel: PopupBaseViewModel = createPopupModalViewModel(dialogOptions, rootElement);\n ReactDOM.render(<PopupContainer model={popupViewModel} />, popupViewModel.container);\n popupViewModel.model.isVisible = true;\n\n return popupViewModel;\n}\n\nsettings.showModal = showModal;\nsettings.showDialog = showDialog;","import React from \"react\";\nimport { QuestionRatingModel, RenderedRatingItem } from \"survey-core\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { SurveyElementBase } from \"../../reactquestion_element\";\nimport { attachKey2click } from \"../../reactSurvey\";\nimport { SvgIcon } from \"../svg-icon/svg-icon\";\nimport { IRatingItemProps, RatingItemBase } from \"./rating-item\";\n\nexport class RatingItemSmiley extends RatingItemBase {\n render(): JSX.Element | null {\n return (\n <label onMouseDown={this.handleOnMouseDown}\n style={this.question.getItemStyle(this.item.itemValue, this.item.highlight)}\n className={this.question.getItemClass(this.item.itemValue)}\n onMouseOver={e => this.question.onItemMouseIn(this.item)}\n onMouseOut={e => this.question.onItemMouseOut(this.item)}\n >\n <input\n type=\"radio\"\n className=\"sv-visuallyhidden\"\n name={this.question.name}\n id={this.question.getInputId(this.index)}\n value={this.item.value}\n disabled={this.isDisplayMode}\n checked={this.question.value == this.item.value}\n onClick={this.props.handleOnClick}\n onChange={() => { }}\n aria-required={this.question.ariaRequired}\n aria-label={this.question.ariaLabel}\n aria-invalid={this.question.ariaInvalid}\n aria-describedby={this.question.ariaDescribedBy}\n />\n <SvgIcon\n size={\"auto\"}\n iconName={this.question.getItemSmileyIconName(this.item.itemValue)}\n title={this.item.text}\n ></SvgIcon>\n </label>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-rating-item-smiley\", (props) => {\n return React.createElement(RatingItemSmiley, props);\n});\n","import React from \"react\";\nimport { QuestionRatingModel, RenderedRatingItem } from \"survey-core\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { SurveyElementBase } from \"../../reactquestion_element\";\nimport { attachKey2click } from \"../../reactSurvey\";\nimport { SvgIcon } from \"../svg-icon/svg-icon\";\nimport { IRatingItemProps, RatingItemBase } from \"./rating-item\";\n\nexport class RatingItemStar extends RatingItemBase {\n render(): JSX.Element | null {\n return (\n <label onMouseDown={this.handleOnMouseDown}\n className={this.question.getItemClass(this.item.itemValue)}\n onMouseOver={e => this.question.onItemMouseIn(this.item)}\n onMouseOut={e => this.question.onItemMouseOut(this.item)}\n >\n <input\n type=\"radio\"\n className=\"sv-visuallyhidden\"\n name={this.question.name}\n id={this.question.getInputId(this.index)}\n value={this.item.value}\n disabled={this.isDisplayMode}\n checked={this.question.value == this.item.value}\n onClick={this.props.handleOnClick}\n onChange={() => { }}\n aria-required={this.question.ariaRequired}\n aria-label={this.question.ariaLabel}\n aria-invalid={this.question.ariaInvalid}\n aria-describedby={this.question.ariaDescribedBy}\n />\n <SvgIcon\n className={\"sv-star\"}\n size={\"auto\"}\n iconName={this.question.itemStarIcon}\n title={this.item.text}\n ></SvgIcon>\n <SvgIcon\n className={\"sv-star-2\"}\n size={\"auto\"}\n iconName={this.question.itemStarIconAlt}\n title={this.item.text}\n ></SvgIcon>\n </label>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-rating-item-star\", (props) => {\n return React.createElement(RatingItemStar, props);\n});\n","import React from \"react\";\nimport { Base, QuestionRatingModel, RenderedRatingItem } from \"survey-core\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { SurveyElementBase } from \"../../reactquestion_element\";\nimport { attachKey2click } from \"../../reactSurvey\";\nimport { SvgIcon } from \"../svg-icon/svg-icon\";\n\nexport interface IRatingItemProps {\n question: QuestionRatingModel;\n item: RenderedRatingItem;\n index: any;\n handleOnClick: any;\n isDisplayMode: boolean;\n}\nexport class RatingItemBase extends SurveyElementBase<IRatingItemProps, any> {\n constructor(props: any) {\n super(props);\n this.handleOnMouseDown = this.handleOnMouseDown.bind(this);\n }\n get question(): QuestionRatingModel {\n return this.props.question;\n }\n get item(): RenderedRatingItem {\n return this.props.item;\n }\n get index(): any {\n return this.props.index;\n }\n getStateElement(): Base {\n return this.item;\n }\n handleOnMouseDown(event: any) {\n this.question.onMouseDown();\n }\n}\nexport class RatingItem extends RatingItemBase {\n render(): JSX.Element | null {\n var itemText = this.renderLocString(this.item.locText);\n return (\n <label onMouseDown={this.handleOnMouseDown} className={this.question.getItemClassByText(this.item.itemValue, this.item.text)}>\n <input\n type=\"radio\"\n className=\"sv-visuallyhidden\"\n name={this.question.name}\n id={this.question.getInputId(this.index)}\n value={this.item.value}\n disabled={this.isDisplayMode}\n checked={this.question.value == this.item.value}\n onClick={this.props.handleOnClick}\n onChange={() => { }}\n aria-required={this.question.ariaRequired}\n aria-label={this.question.ariaLabel}\n aria-invalid={this.question.ariaInvalid}\n aria-describedby={this.question.ariaDescribedBy}\n />\n <span className={this.question.cssClasses.itemText}>{itemText}</span>\n </label>\n );\n }\n componentDidMount() {\n super.componentDidMount();\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-rating-item\", (props) => {\n return React.createElement(RatingItem, props);\n});\n","import React from \"react\";\nimport { ReactElementFactory } from \"../element-factory\";\n\nexport class Skeleton extends React.Component<any, any> {\n render() {\n return (\n <div className=\"sv-skeleton-element\" id={this.props.element?.id}>\n </div>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-skeleton\", (props: any) => {\n return React.createElement(Skeleton, props);\n});\n","import React from \"react\";\nimport { Action } from \"survey-core\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { ReactSurveyElement } from \"../../reactquestion_element\";\n\nexport class SurveyNavigationButton extends ReactSurveyElement {\n protected get item(): Action {\n return this.props.item;\n }\n protected canRender(): boolean {\n return this.item.isVisible;\n }\n protected renderElement(): JSX.Element {\n return (\n <input\n className={this.item.innerCss}\n type=\"button\"\n disabled={this.item.disabled}\n onMouseDown={this.item.data && this.item.data.mouseDown}\n onClick={this.item.action}\n title={this.item.getTooltip()}\n value={this.item.title}\n />\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\n \"sv-nav-btn\",\n (props) => {\n return React.createElement(SurveyNavigationButton, props);\n }\n);","import React from \"react\";\nimport { SurveyModel } from \"survey-core\";\nimport { ReactElementFactory } from \"../../element-factory\";\n\ninterface ILogoImageProps {\n data: SurveyModel;\n}\n\nexport class LogoImage extends React.Component<ILogoImageProps, any> {\n constructor(props: ILogoImageProps) {\n super(props);\n }\n private get survey(): SurveyModel {\n return this.props.data;\n }\n public render() {\n const content: JSX.Element[] = [];\n content.push(\n <div key={\"logo-image\"} className={this.survey.logoClassNames}>\n <img\n className={this.survey.css.logoImage}\n src={this.survey.locLogo.renderedHtml}\n alt={this.survey.locTitle.renderedHtml}\n width={this.survey.renderedLogoWidth}\n height={this.survey.renderedLogoHeight}\n style={{ objectFit: this.survey.logoFit as any, width: this.survey.renderedStyleLogoWidth, height: this.survey.renderedStyleLogoHeight }}\n />\n </div>\n );\n return <>{content}</>;\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-logo-image\", (props: ILogoImageProps) => {\n return React.createElement(LogoImage, props);\n});\n","import React from \"react\";\nimport { SurveyModel } from \"survey-core\";\nimport { SurveyElementBase } from \"../../reactquestion_element\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { TitleElement } from \"../title/title-element\";\n\ninterface ISurveyHeaderProps {\n survey: SurveyModel;\n}\n\nexport class SurveyHeader extends React.Component<ISurveyHeaderProps, any> {\n constructor(props: ISurveyHeaderProps) {\n super(props);\n this.state = { changed: 0 };\n this.rootRef = React.createRef();\n }\n\n private get survey(): SurveyModel {\n return this.props.survey;\n }\n private get css(): any {\n return this.survey.css;\n }\n private rootRef: React.RefObject<HTMLDivElement>;\n\n componentDidMount() {\n const self: SurveyHeader = this;\n this.survey.afterRenderHeader(this.rootRef.current as HTMLDivElement);\n this.survey.locLogo.onChanged = function () {\n self.setState({ changed: self.state.changed + 1 });\n };\n }\n componentWillUnmount() {\n this.survey.locLogo.onChanged = function () { };\n }\n\n private renderTitle(): JSX.Element | null {\n if (!this.survey.renderedHasTitle) return null;\n const description = SurveyElementBase.renderLocString(\n this.survey.locDescription\n );\n return (\n <div\n className={this.css.headerText}\n style={{ maxWidth: this.survey.titleMaxWidth }}\n >\n <TitleElement element={this.survey}></TitleElement>\n { this.survey.renderedHasDescription ? <h5 className={this.css.description}>{description}</h5> : null }\n </div>\n );\n }\n\n private renderLogoImage(isRender: boolean): JSX.Element | null {\n if (!isRender) return null;\n const componentName: string = this.survey.getElementWrapperComponentName(\n this.survey,\n \"logo-image\"\n );\n const componentData: any = this.survey.getElementWrapperComponentData(\n this.survey,\n \"logo-image\"\n );\n return ReactElementFactory.Instance.createElement(componentName, {\n data: componentData,\n });\n }\n public render(): JSX.Element | null {\n if (!this.survey.renderedHasHeader) return null;\n return (\n <div className={this.css.header} ref={this.rootRef}>\n {this.renderLogoImage(this.survey.isLogoBefore)}\n {this.renderTitle()}\n {this.renderLogoImage(this.survey.isLogoAfter)}\n <div className={this.css.headerClose}></div>\n </div>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\n \"survey-header\",\n (props: ISurveyHeaderProps) => {\n return React.createElement(SurveyHeader, props);\n }\n);\n","import React from \"react\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { createSvg } from \"survey-core\";\n\nexport class SvgIcon extends React.Component<any, any> {\n private svgIconRef: any;\n constructor(props: any) {\n super(props);\n this.svgIconRef = React.createRef();\n }\n\n updateSvg() {\n if(this.props.iconName)\n createSvg(\n this.props.size,\n this.props.width,\n this.props.height,\n this.props.iconName,\n this.svgIconRef.current,\n this.props.title,\n );\n }\n componentDidUpdate() {\n this.updateSvg();\n }\n render() {\n let className = \"sv-svg-icon\";\n if(this.props.className) {\n className += \" \" + this.props.className;\n }\n return (\n this.props.iconName ?\n <svg className={ className } style={this.props.style} onClick={this.props.onClick} ref={this.svgIconRef} role=\"img\" aria-label={this.props.title}><use></use></svg>\n : null\n );\n }\n componentDidMount() {\n this.updateSvg();\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-svg-icon\", (props) => {\n return React.createElement(SvgIcon, props);\n});\n","import React from \"react\";\nimport { SurveyElement, RendererFactory } from \"survey-core\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { SurveyActionBar } from \"../action-bar/action-bar\";\nimport { TitleContent } from \"./title-content\";\n\nexport class TitleActions extends React.Component<any, any> {\n protected get cssClasses() {\n return this.props.cssClasses;\n }\n protected get element(): SurveyElement {\n return this.props.element;\n }\n\n render(): JSX.Element {\n const titleContent: JSX.Element = <TitleContent element={this.element} cssClasses={this.cssClasses}></TitleContent>;\n if(!this.element.hasTitleActions) return titleContent;\n return (\n <div className=\"sv-title-actions\">\n <span className=\"sv-title-actions__title\">{titleContent}</span>\n <SurveyActionBar model={this.element.getTitleToolbar()}></SurveyActionBar>\n </div>\n );\n }\n}\n\nRendererFactory.Instance.registerRenderer(\n \"element\",\n \"title-actions\",\n \"sv-title-actions\"\n);\n\nReactElementFactory.Instance.registerElement(\"sv-title-actions\", (props) => {\n return React.createElement(TitleActions, props);\n});\n","import React from \"react\";\nimport { SurveyElementCore, ITitleOwner } from \"survey-core\";\nimport { SurveyElementBase } from \"../../reactquestion_element\";\n\nexport class TitleContent extends React.Component<any, any> {\n constructor(props: any) {\n super(props);\n }\n\n private get cssClasses() {\n return this.props.cssClasses;\n }\n\n private get element(): SurveyElementCore {\n return this.props.element;\n }\n render(): JSX.Element {\n if(this.element.isTitleRenderedAsString)\n return SurveyElementBase.renderLocString(this.element.locTitle);\n var spans = this.renderTitleSpans(this.element.getTitleOwner(), this.cssClasses);\n return <>{spans}</>;\n }\n protected renderTitleSpans(element: ITitleOwner, cssClasses: any): Array<JSX.Element> {\n var getSpaceSpan = (key: any) => {\n return (\n <span data-key={key} key={key}>\n \n </span>\n );\n };\n var spans: Array<JSX.Element> = [];\n if (element.isRequireTextOnStart) {\n spans.push(this.renderRequireText(element, cssClasses));\n spans.push(getSpaceSpan(\"req-sp\"));\n }\n var questionNumber = element.no;\n if (questionNumber) {\n const panelNumber = !!cssClasses.panel ? cssClasses.panel.number : undefined;\n spans.push(\n <span\n data-key={\"q_num\"}\n key={\"q_num\"}\n className={cssClasses.number || panelNumber}\n style={{ position: \"static\" }}\n aria-hidden={true}\n >\n {questionNumber}\n </span>\n );\n spans.push(getSpaceSpan(\"num-sp\"));\n }\n if (element.isRequireTextBeforeTitle) {\n spans.push(this.renderRequireText(element, cssClasses));\n spans.push(getSpaceSpan(\"req-sp\"));\n }\n spans.push(\n SurveyElementBase.renderLocString(element.locTitle, null, \"q_title\")\n );\n if (element.isRequireTextAfterTitle) {\n spans.push(getSpaceSpan(\"req-sp\"));\n spans.push(this.renderRequireText(element, cssClasses));\n }\n return spans;\n }\n\n private renderRequireText(\n element: ITitleOwner,\n cssClasses: any\n ): JSX.Element {\n return (\n <span\n data-key={\"req-text\"}\n key={\"req-text\"}\n className={cssClasses.requiredText || cssClasses.panel.requiredText}\n aria-hidden={true}\n >\n {element.requiredText}\n </span>\n );\n }\n}\n","import React from \"react\";\nimport { SurveyElementCore, doKey2ClickUp } from \"survey-core\";\nimport { TitleActions } from \"./title-actions\";\n\nexport class TitleElement extends React.Component<any, any> {\n constructor(props: any) {\n super(props);\n }\n private get element(): SurveyElementCore {\n return this.props.element;\n }\n render(): JSX.Element | any {\n const element = this.element;\n if (!element || !element.hasTitle) return null;\n const ariaLabel = element.titleAriaLabel || undefined;\n const titleContent = (\n <TitleActions\n element={element}\n cssClasses={element.cssClasses}\n ></TitleActions>\n );\n let onClick: undefined | ((e: any) => void) = undefined;\n let onKeyUp: undefined | ((e: any) => void) = undefined;\n if (element.hasTitleEvents) {\n onKeyUp = (evt: any) => {\n doKey2ClickUp(evt.nativeEvent);\n };\n }\n\n const CustomTag = element.titleTagName as keyof JSX.IntrinsicElements;\n return (\n <CustomTag\n className={element.cssTitle}\n id={element.ariaTitleId}\n aria-label={ariaLabel}\n tabIndex={element.titleTabIndex}\n aria-expanded={element.titleAriaExpanded}\n role={element.titleAriaRole}\n onClick={onClick}\n onKeyUp={onKeyUp}\n >\n {titleContent}\n </CustomTag>\n );\n }\n}\n","import * as React from \"react\";\nimport { SurveyQuestionElementBase } from \"./reactquestion_element\";\n\nexport class SurveyCustomWidget extends SurveyQuestionElementBase {\n private widgetRef: React.RefObject<HTMLDivElement>;\n constructor(props: any) {\n super(props);\n this.widgetRef = React.createRef();\n }\n private _afterRender() {\n if (this.questionBase.customWidget) {\n let el = this.widgetRef.current;\n if (!!el) {\n this.questionBase.customWidget.afterRender(this.questionBase, el);\n this.questionBase.customWidgetData.isNeedRender = false;\n }\n }\n }\n componentDidMount() {\n super.componentDidMount();\n if (this.questionBase) {\n this._afterRender();\n }\n }\n componentDidUpdate(prevProps: any, prevState: any) {\n super.componentDidUpdate(prevProps, prevState);\n var isDefaultRender =\n !!this.questionBase.customWidget &&\n this.questionBase.customWidget.isDefaultRender;\n if (this.questionBase && !isDefaultRender) {\n this._afterRender();\n }\n }\n componentWillUnmount() {\n super.componentWillUnmount();\n if (this.questionBase.customWidget) {\n let el = this.widgetRef.current;\n if (!!el) {\n this.questionBase.customWidget.willUnmount(this.questionBase, el);\n }\n }\n }\n protected canRender(): boolean {\n return super.canRender() && this.questionBase.visible;\n }\n protected renderElement(): JSX.Element {\n let customWidget = this.questionBase.customWidget;\n\n if (customWidget.isDefaultRender) {\n return (\n <div ref={this.widgetRef}>\n {this.creator.createQuestionElement(this.questionBase)}\n </div>\n );\n }\n\n let widget = null;\n if (customWidget.widgetJson.render) {\n widget = customWidget.widgetJson.render(this.questionBase);\n } else {\n if (customWidget.htmlTemplate) {\n let htmlValue = { __html: customWidget.htmlTemplate };\n return <div ref={this.widgetRef} dangerouslySetInnerHTML={htmlValue} />;\n }\n }\n return <div ref={this.widgetRef}>{widget}</div>;\n }\n}\n","import * as React from \"react\";\nimport { Helpers, Question, DropdownListModel, settings } from \"survey-core\";\nimport { Popup } from \"./components/popup/popup\";\nimport { SvgIcon } from \"./components/svg-icon/svg-icon\";\nimport { ReactElementFactory } from \"./element-factory\";\nimport { SurveyQuestionOtherValueItem } from \"./reactquestion_comment\";\nimport { SurveyQuestionUncontrolledElement } from \"./reactquestion_element\";\n\nexport class SurveyQuestionDropdownBase<T extends Question> extends SurveyQuestionUncontrolledElement<T> {\n inputElement: HTMLInputElement | null;\n\n click = (event: any) => {\n this.question.dropdownListModel?.onClick(event);\n };\n clear = (event: any) => {\n this.question.dropdownListModel?.onClear(event);\n };\n keyhandler = (event: any) => {\n this.question.dropdownListModel?.keyHandler(event);\n };\n blur = (event: any) => {\n this.question.dropdownListModel?.onBlur(event);\n this.updateInputDomElement();\n };\n focus = (event: any) => {\n this.question.dropdownListModel?.onFocus(event);\n };\n protected getStateElement() {\n return this.question[\"dropdownListModel\"];\n }\n protected setValueCore(newValue: any) {\n this.questionBase.renderedValue = newValue;\n }\n protected getValueCore(): any {\n return this.questionBase.renderedValue;\n }\n protected renderSelect(cssClasses: any): JSX.Element {\n let selectElement: JSX.Element | null = null;\n if (this.question.isReadOnly) {\n const text = (this.question.selectedItemLocText) ? this.renderLocString(this.question.selectedItemLocText) : \"\";\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n selectElement = <div id={this.question.inputId} className={this.question.getControlClass()} disabled>\n {text}\n <div>{this.question.readOnlyText}</div>\n </div>;\n } else {\n if (!(this.question as any)[\"dropdownListModel\"]) {\n (this.question as any)[\"dropdownListModel\"] = new DropdownListModel(this.question);\n }\n selectElement = <>\n {this.renderInput(this.question[\"dropdownListModel\"])}\n <Popup model={this.question?.dropdownListModel?.popupModel}></Popup>\n </>;\n }\n\n return (\n <div className={cssClasses.selectWrapper} onClick={this.click}>\n {selectElement}\n {this.createChevronButton()}\n </div>\n );\n }\n\n renderValueElement(dropdownListModel: DropdownListModel): JSX.Element | null {\n if (this.question.showInputFieldComponent) {\n return ReactElementFactory.Instance.createElement(this.question.inputFieldComponentName, { item: dropdownListModel.getSelectedAction(), question: this.question });\n } else if (this.question.showSelectedItemLocText) {\n return this.renderLocString(this.question.selectedItemLocText);\n }\n return null;\n }\n\n protected renderInput(dropdownListModel: DropdownListModel): JSX.Element {\n let valueElement: JSX.Element | null = this.renderValueElement(dropdownListModel);\n const { root } = settings.environment;\n\n const onInputChange = (e: any) => {\n if (e.target === root.activeElement) {\n dropdownListModel.inputStringRendered = e.target.value;\n }\n };\n return (<div\n id={this.question.inputId}\n className={this.question.getControlClass()}\n tabIndex={dropdownListModel.inputReadOnly ? undefined : 0}\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n disabled={this.question.isInputReadOnly}\n required={this.question.isRequired}\n onKeyDown={this.keyhandler}\n onBlur={this.blur}\n role={this.question.ariaRole}\n aria-required={this.question.ariaRequired}\n aria-label={this.question.ariaLabel}\n aria-invalid={this.question.ariaInvalid}\n aria-describedby={this.question.ariaDescribedBy}\n aria-expanded={this.question.ariaExpanded === null ? undefined : this.question.ariaExpanded === \"true\"}\n aria-controls={dropdownListModel.listElementId}\n aria-activedescendant={dropdownListModel.ariaActivedescendant}\n >\n {dropdownListModel.showHintPrefix ?\n (<div className={this.question.cssClasses.hintPrefix}>\n <span>{dropdownListModel.hintStringPrefix}</span>\n </div>) : null}\n <div className={this.question.cssClasses.controlValue}>\n {dropdownListModel.showHintString ?\n (<div className={this.question.cssClasses.hintSuffix}>\n <span style={{ visibility: \"hidden\" }} data-bind=\"text: model.filterString\">{dropdownListModel.inputStringRendered}</span>\n <span>{dropdownListModel.hintStringSuffix}</span>\n </div>) : null}\n {valueElement}\n <input type=\"text\" autoComplete=\"off\"\n id={this.question.getInputId()}\n ref={(element) => (this.inputElement = element)}\n className={this.question.cssClasses.filterStringInput}\n role={dropdownListModel.filterStringEnabled ? this.question.ariaRole : undefined}\n aria-label={this.question.placeholder}\n aria-expanded={this.question.ariaExpanded === null ? undefined : this.question.ariaExpanded === \"true\"}\n aria-controls={dropdownListModel.listElementId}\n aria-activedescendant={dropdownListModel.ariaActivedescendant}\n placeholder={dropdownListModel.placeholderRendered}\n readOnly={!dropdownListModel.searchEnabled ? true : undefined}\n tabIndex={dropdownListModel.inputReadOnly ? undefined : -1}\n disabled={this.question.isInputReadOnly}\n inputMode={dropdownListModel.inputMode}\n onChange={(e) => { onInputChange(e); }}\n onBlur={this.blur}\n onFocus={this.focus}\n ></input>\n </div>\n {this.createClearButton()}\n </div>);\n }\n\n createClearButton(): JSX.Element | null {\n if (!this.question.allowClear || !this.question.cssClasses.cleanButtonIconId) return null;\n\n const style = { display: this.question.isEmpty() ? \"none\" : \"\" };\n return (\n <div\n className={this.question.cssClasses.cleanButton}\n style={style}\n onClick={this.clear}\n >\n <SvgIcon\n className={this.question.cssClasses.cleanButtonSvg}\n iconName={this.question.cssClasses.cleanButtonIconId}\n title={this.question.clearCaption}\n size={\"auto\"}\n ></SvgIcon>\n </div>\n );\n }\n\n createChevronButton(): JSX.Element | null {\n if (!this.question.cssClasses.chevronButtonIconId) return null;\n\n return (\n <div className={this.question.cssClasses.chevronButton}>\n <SvgIcon\n className={this.question.cssClasses.chevronButtonSvg}\n iconName={this.question.cssClasses.chevronButtonIconId}\n size={24}\n ></SvgIcon>\n </div>\n );\n }\n\n protected renderOther(cssClasses: any): JSX.Element {\n return (\n <div className={this.question.getCommentAreaCss(true)}>\n <SurveyQuestionOtherValueItem\n question={this.question}\n otherCss={cssClasses.other}\n cssClasses={cssClasses}\n isDisplayMode={this.isDisplayMode}\n isOther={true}\n />\n </div>\n );\n }\n\n componentDidUpdate(prevProps: any, prevState: any) {\n super.componentDidUpdate(prevProps, prevState);\n this.updateInputDomElement();\n }\n componentDidMount() {\n super.componentDidMount();\n this.updateInputDomElement();\n }\n updateInputDomElement() {\n if (!!this.inputElement) {\n const control: any = this.inputElement;\n const newValue = this.question.dropdownListModel.inputStringRendered;\n if (!Helpers.isTwoValueEquals(newValue, control.value, false, true)) {\n control.value = this.question.dropdownListModel.inputStringRendered;\n }\n }\n }\n}","import * as React from \"react\";\nimport { ReactSurveyElement } from \"./reactquestion_element\";\nimport { Base, ItemValue } from \"survey-core\";\n\nexport class SurveyQuestionOptionItem extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n this.state = { changed: 0 };\n this.setupModel();\n }\n componentDidUpdate(prevProps: any, prevState: any): void {\n super.componentDidUpdate(prevProps, prevState);\n this.setupModel();\n }\n componentWillUnmount(): void {\n super.componentWillUnmount();\n if (!!this.item) {\n this.item.locText.onChanged = () => { };\n }\n }\n private setupModel(): void {\n if (!this.item.locText) return;\n const self = this;\n this.item.locText.onChanged = () => {\n self.setState({ changed: self.state.changed + 1 });\n };\n }\n protected getStateElement(): Base {\n return this.item;\n }\n private get item(): ItemValue {\n return this.props.item;\n }\n protected canRender(): boolean {\n return !!this.item;\n }\n protected renderElement(): JSX.Element {\n return (\n <option value={this.item.value} disabled={!this.item.isEnabled}>\n {this.item.text}\n </option>\n );\n }\n}","import * as React from \"react\";\nimport { RendererFactory, ItemValue } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { SurveyQuestionDropdown } from \"./reactquestion_dropdown\";\nimport { SurveyQuestionOptionItem } from \"./dropdown-item\";\n\nexport class SurveyQuestionDropdownSelect extends SurveyQuestionDropdown {\n constructor(props: any) {\n super(props);\n }\n\n protected renderSelect(cssClasses: any): JSX.Element {\n const click = (event: any) => {\n this.question.onClick(event);\n };\n const keyup = (event: any) => {\n this.question.onKeyUp(event);\n };\n\n const selectElement = this.isDisplayMode ? (\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n <div id={this.question.inputId} className={this.question.getControlClass()} disabled>{this.question.readOnlyText}</div>) :\n (<select\n id={this.question.inputId}\n className={this.question.getControlClass()}\n ref={(select) => (this.setControl(select))}\n autoComplete={this.question.autocomplete}\n onChange={this.updateValueOnEvent}\n onInput={this.updateValueOnEvent}\n onClick={click}\n onKeyUp={keyup}\n aria-required={this.question.ariaRequired}\n aria-label={this.question.ariaLabel}\n aria-invalid={this.question.ariaInvalid}\n aria-describedby={this.question.ariaDescribedBy}\n required={this.question.isRequired}>\n {this.question.allowClear ? (<option value=\"\">{this.question.placeholder}</option>) : null}\n {this.question.visibleChoices.map((item: ItemValue, i: number) => <SurveyQuestionOptionItem key={\"item\" + i} item={item} />)}\n </select>);\n return (\n <div className={cssClasses.selectWrapper}>\n {selectElement}\n {this.createChevronButton()}\n </div>\n );\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"sv-dropdown-select\", (props) => {\n return React.createElement(SurveyQuestionDropdownSelect, props);\n});\n\nRendererFactory.Instance.registerRenderer(\"dropdown\", \"select\", \"sv-dropdown-select\");","import { HashTable } from \"survey-core\";\n\nexport class ReactElementFactory {\n public static Instance: ReactElementFactory = new ReactElementFactory();\n private creatorHash: HashTable<(name: string) => JSX.Element> = {};\n\n public registerElement(\n elementType: string,\n elementCreator: (props: any) => JSX.Element\n ) {\n this.creatorHash[elementType] = elementCreator;\n }\n public getAllTypes(): Array<string> {\n var result = new Array<string>();\n for (var key in this.creatorHash) {\n result.push(key);\n }\n return result.sort();\n }\n public isElementRegistered(elementType: string) {\n return !!this.creatorHash[elementType];\n }\n public createElement(elementType: string, params: any): JSX.Element | any {\n var creator = this.creatorHash[elementType];\n if (creator == null) return null;\n return creator(params);\n }\n}\n","import React from \"react\";\nimport { Question, PanelModel, QuestionPanelDynamicModel } from \"survey-core\";\nimport { SurveyActionBar } from \"./components/action-bar/action-bar\";\nimport { TitleElement } from \"./components/title/title-element\";\nimport { SurveyElementBase } from \"./reactquestion_element\";\n\nexport class SurveyElementHeader extends React.Component<any, any> {\n private get element(): Question | PanelModel {\n return this.props.element;\n }\n public render(): JSX.Element {\n const element = this.element;\n const title = element.hasTitle ? (\n <TitleElement element={element}></TitleElement>\n ) : null;\n const description = element.hasDescriptionUnderTitle\n ? SurveyElementBase.renderQuestionDescription(this.element)\n : null;\n\n const additionalTitleToolbarElement = !!element.additionalTitleToolbar ? <SurveyActionBar model= {element.additionalTitleToolbar}></SurveyActionBar> : null;\n\n return (\n <div className={element.cssHeader} onClick={element.clickTitleFunction}>\n {title}\n {description}\n {additionalTitleToolbarElement}\n </div>\n );\n }\n}","import * as React from \"react\";\nimport { FlowPanelModel, Question } from \"survey-core\";\nimport { ReactElementFactory } from \"./element-factory\";\nimport { SurveyPanel } from \"./panel\";\nimport { SurveyQuestion } from \"./reactquestion\";\n\nexport class SurveyFlowPanel extends SurveyPanel {\n constructor(props: any) {\n super(props);\n }\n public get flowPanel(): FlowPanelModel {\n return this.panel as FlowPanelModel;\n }\n componentDidMount() {\n super.componentDidMount();\n if (!!this.flowPanel) {\n this.flowPanel.onCustomHtmlProducing = function() {\n return \"\";\n };\n this.flowPanel.onGetHtmlForQuestion = this.renderQuestion;\n }\n }\n componentWillUnmount() {\n super.componentWillUnmount();\n if (!!this.flowPanel) {\n this.flowPanel.onCustomHtmlProducing = null as any;\n this.flowPanel.onGetHtmlForQuestion = null as any;\n }\n }\n protected getQuestion(name: string): Question {\n return this.flowPanel.getQuestionByName(name);\n }\n protected renderQuestion(question: Question): string {\n return \"<question>\" + question.name + \"</question>\";\n }\n protected renderRows(): Array<JSX.Element> {\n const result = this.renderHtml();\n if(!!result) {\n return [result];\n } else {\n return [];\n }\n }\n private renderedIndex: number;\n private getNodeIndex(): number {\n return this.renderedIndex++;\n }\n protected renderHtml(): JSX.Element | null {\n if (!this.flowPanel) return null;\n const html = \"<span>\" + this.flowPanel.produceHtml() + \"</span>\";\n if (!DOMParser) {\n const htmlValue = { __html: html };\n return <div dangerouslySetInnerHTML={htmlValue} />;\n }\n const doc = new DOMParser().parseFromString(html, \"text/xml\");\n this.renderedIndex = 0;\n return this.renderParentNode(doc);\n }\n protected renderNodes(domNodes: Array<Node>): Array<JSX.Element> {\n const nodes: Array<JSX.Element> = [];\n for (let i = 0; i < domNodes.length; i++) {\n const node = this.renderNode(domNodes[i]);\n if(!!node) {\n nodes.push(node);\n }\n }\n return nodes;\n }\n private getStyle(nodeType: string) {\n const style: any = {};\n if (nodeType.toLowerCase() === \"b\") {\n style.fontWeight = \"bold\";\n }\n if (nodeType.toLowerCase() === \"i\") {\n style.fontStyle = \"italic\";\n }\n if (nodeType.toLowerCase() === \"u\") {\n style.textDecoration = \"underline\";\n }\n return style;\n }\n protected renderParentNode(node: Node): JSX.Element {\n const nodeType = node.nodeName.toLowerCase();\n const children = this.renderNodes(this.getChildDomNodes(node));\n if (nodeType === \"div\")\n return <div key={this.getNodeIndex()}>{children}</div>;\n return (\n <span key={this.getNodeIndex()} style={this.getStyle(nodeType)}>\n {children}\n </span>\n );\n }\n protected renderNode(node: Node): JSX.Element | null {\n if (!this.hasTextChildNodesOnly(node)) {\n return this.renderParentNode(node);\n }\n const nodeType = node.nodeName.toLowerCase();\n if (nodeType === \"question\") {\n const question = this.flowPanel.getQuestionByName(node.textContent as any);\n if (!question) return null;\n const questionBody = (\n <SurveyQuestion\n key={question.name}\n element={question}\n creator={this.creator}\n css={this.css}\n />\n );\n return <span key={this.getNodeIndex()}>{questionBody}</span>;\n }\n if (nodeType === \"div\") {\n return <div key={this.getNodeIndex()}>{node.textContent}</div>;\n }\n return (\n <span key={this.getNodeIndex()} style={this.getStyle(nodeType)}>\n {node.textContent}\n </span>\n );\n }\n private getChildDomNodes(node: Node): Array<Node> {\n const domNodes: Array<Node> = [];\n for (let i = 0; i < node.childNodes.length; i++) {\n domNodes.push(node.childNodes[i]);\n }\n return domNodes;\n }\n private hasTextChildNodesOnly(node: Node): boolean {\n const nodes = node.childNodes;\n for (let i = 0; i < nodes.length; i++) {\n if (nodes[i].nodeName.toLowerCase() !== \"#text\") return false;\n }\n return true;\n }\n protected renderContent(style: any, rows: JSX.Element[]): JSX.Element {\n return React.createElement(\"f-panel\", { style: style }, rows);\n }\n}\n\nReactElementFactory.Instance.registerElement(\"flowpanel\", props => {\n return React.createElement(SurveyFlowPanel, props);\n});\n","import * as React from \"react\";\nimport { SurveyQuestionElementBase } from \"./reactquestion_element\";\nimport { QuestionImageModel } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { SvgIcon } from \"./components/svg-icon/svg-icon\";\n\nexport class SurveyQuestionImage extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n }\n componentDidMount() {\n super.componentDidMount();\n this.question.locImageLink.onChanged = () => {\n this.forceUpdate();\n };\n }\n componentWillUnmount() {\n super.componentWillUnmount();\n this.question.locImageLink.onChanged = () => { };\n }\n\n protected get question(): QuestionImageModel {\n return this.questionBase as QuestionImageModel;\n }\n\n protected renderElement(): JSX.Element {\n var cssClasses = this.question.getImageCss();\n var style: any = { objectFit: this.question.imageFit, width: this.question.renderedStyleWidth, height: this.question.renderedStyleHeight };\n if(!this.question.imageLink || this.question.contentNotLoaded) {\n style[\"display\"] = \"none\";\n }\n var control: JSX.Element | null = null;\n if (this.question.renderedMode === \"image\") {\n control = (\n <img\n className={cssClasses}\n src={this.question.locImageLink.renderedHtml}\n alt={this.question.altText || this.question.title}\n width={this.question.renderedWidth}\n height={this.question.renderedHeight}\n //alt={item.text || item.value}\n style={style}\n onLoad={(event: any) => { this.question.onLoadHandler(); } }\n onError={(event: any) => { this.question.onErrorHandler(); } }\n />\n );\n }\n if (this.question.renderedMode === \"video\") {\n control = (\n <video controls\n className={cssClasses}\n src={this.question.locImageLink.renderedHtml}\n width={this.question.renderedWidth}\n height={this.question.renderedHeight}\n style={style}\n onLoadedMetadata={(event: any) => { this.question.onLoadHandler(); } }\n onError={(event: any) => { this.question.onErrorHandler(); } }\n ></video>\n );\n }\n if (this.question.renderedMode === \"youtube\") {\n control = (\n <iframe\n className={cssClasses}\n src={this.question.locImageLink.renderedHtml}\n width={this.question.renderedWidth}\n height={this.question.renderedHeight}\n style={style}\n ></iframe>\n );\n }\n var noImage: JSX.Element | null = null;\n if(!this.question.imageLink || this.question.contentNotLoaded) {\n noImage = (\n <div className={this.question.cssClasses.noImage}>\n <SvgIcon\n iconName={this.question.cssClasses.noImageSvgIconId}\n size={48}\n >\n </SvgIcon>\n </div>\n );\n }\n return <div className={this.question.cssClasses.root}>{control}{noImage}</div>;\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"image\", (props) => {\n return React.createElement(SurveyQuestionImage, props);\n});\n","import * as React from \"react\";\nimport { ReactSurveyElement, SurveyElementBase, SurveyQuestionElementBase } from \"./reactquestion_element\";\nimport { QuestionImagePickerModel, ImageItemValue, SurveyModel } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { ReactSurveyElementsWrapper } from \"./reactsurveymodel\";\nimport { SvgIcon } from \"./components/svg-icon/svg-icon\";\n\nexport class SurveyQuestionImagePicker extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n }\n protected get question(): QuestionImagePickerModel {\n return this.questionBase as QuestionImagePickerModel;\n }\n protected renderElement(): JSX.Element {\n var cssClasses = this.question.cssClasses;\n return (\n <fieldset className={this.question.getSelectBaseRootCss()}>\n <legend\n role=\"radio\"\n aria-label={this.question.locTitle.renderedHtml} />\n {this.question.hasColumns ? this.getColumns(cssClasses) : this.getItems(cssClasses)}\n </fieldset>\n );\n }\n\n protected getColumns(cssClasses: any) {\n return this.question.columns.map((column: any, ci: number) => {\n var items = column.map((item: any, ii: number) =>\n this.renderItem(\n \"item\" + ii,\n item,\n cssClasses\n )\n );\n return (\n <div key={\"column\" + ci} className={this.question.getColumnClass()} role=\"presentation\">\n {items}\n </div>\n );\n });\n }\n\n protected getItems(cssClasses: any): Array<any> {\n var items:Array<JSX.Element> = [];\n for (var i = 0; i < this.question.visibleChoices.length; i++) {\n var item = this.question.visibleChoices[i];\n var key = \"item\" + i;\n items.push(this.renderItem(key, item as ImageItemValue, cssClasses));\n }\n return items;\n }\n protected get textStyle(): any {\n return { marginLeft: \"3px\", display: \"inline\", position: \"static\" };\n }\n protected renderItem(\n key: string,\n item: ImageItemValue,\n cssClasses: any\n ): JSX.Element {\n const renderedItem = <SurveyQuestionImagePickerItem key={key} question={this.question} item={item} cssClasses={cssClasses}></SurveyQuestionImagePickerItem>;\n const survey = this.question.survey as SurveyModel;\n let wrappedItem: JSX.Element | null = null;\n if(!!survey) {\n wrappedItem = ReactSurveyElementsWrapper.wrapItemValue(survey, renderedItem, this.question, item);\n }\n return wrappedItem ?? renderedItem;\n }\n}\nexport class SurveyQuestionImagePickerItem extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n this.handleOnChange = this.handleOnChange.bind(this);\n }\n protected getStateElement() {\n return this.item;\n }\n componentDidMount() {\n super.componentDidMount();\n this.reactOnStrChanged();\n }\n componentWillUnmount() {\n super.componentWillUnmount();\n this.item.locImageLink.onChanged = function () {};\n }\n componentDidUpdate(prevProps: any, prevState: any) {\n super.componentDidUpdate(prevProps, prevState);\n this.reactOnStrChanged();\n }\n private reactOnStrChanged() {\n this.item.locImageLink.onChanged = () => {\n this.setState({ locImageLinkchanged: !!this.state && this.state.locImageLink ? this.state.locImageLink + 1 : 1 });\n };\n }\n protected get cssClasses() {\n return this.props.cssClasses;\n }\n\n protected get item() {\n return this.props.item;\n }\n\n protected get question() {\n return this.props.question;\n }\n\n handleOnChange(event: any) {\n if (this.question.multiSelect) {\n if (event.target.checked) {\n this.question.value = this.question.value.concat(event.target.value);\n } else {\n var currValue = this.question.value;\n currValue.splice(this.question.value.indexOf(event.target.value), 1);\n this.question.value = currValue;\n }\n } else {\n this.question.value = event.target.value;\n }\n this.setState({ value: this.question.value });\n }\n\n protected renderElement(): JSX.Element {\n const item = this.item;\n const question = this.question;\n const cssClasses = this.cssClasses;\n var isChecked = question.isItemSelected(item);\n var itemClass = question.getItemClass(item);\n var text: JSX.Element | null = null;\n if (question.showLabel) {\n text = (\n <span\n className={question.cssClasses.itemText}\n >\n {item.text ? SurveyElementBase.renderLocString(item.locText) : item.value}\n </span>\n );\n }\n\n var style: any = { objectFit: this.question.imageFit };\n\n var control: JSX.Element | null = null;\n if (item.locImageLink.renderedHtml && this.question.contentMode === \"image\") {\n control = (\n <img\n className={cssClasses.image}\n src={item.locImageLink.renderedHtml}\n width={ this.question.renderedImageWidth }\n height={ this.question.renderedImageHeight }\n alt={item.locText.renderedHtml}\n style={style}\n onLoad={(event: any) => { this.question[\"onContentLoaded\"](item, event.nativeEvent); }}\n onError={(event: any) => { item.onErrorHandler(item, event.nativeEvent); }}\n />\n );\n }\n if (item.locImageLink.renderedHtml && this.question.contentMode === \"video\") {\n control = (\n <video controls\n className={cssClasses.image}\n src={item.locImageLink.renderedHtml}\n width={ this.question.renderedImageWidth }\n height={ this.question.renderedImageHeight }\n style={style}\n onLoadedMetadata={(event: any) => { this.question[\"onContentLoaded\"](item, event.nativeEvent); }}\n onError={(event: any) => { item.onErrorHandler(item, event.nativeEvent); }}\n ></video>\n );\n }\n if (!item.locImageLink.renderedHtml || item.contentNotLoaded) {\n let style: any = {\n width: this.question.renderedImageWidth,\n height: this.question.renderedImageHeight,\n objectFit: this.question.imageFit\n };\n control = (\n <div\n className={cssClasses.itemNoImage}\n style={style}\n >\n {\n cssClasses.itemNoImageSvgIcon ?\n <SvgIcon\n className={cssClasses.itemNoImageSvgIcon}\n iconName={this.question.cssClasses.itemNoImageSvgIconId}\n size={48}\n ></SvgIcon>:\n null\n }\n </div>\n );\n }\n\n const renderedItem = (\n <div className={itemClass}>\n <label className={cssClasses.label}>\n <input\n className={cssClasses.itemControl}\n id={this.question.getItemId(item)}\n type={this.question.inputType}\n name={this.question.questionName}\n checked={isChecked}\n value={item.value}\n disabled={!this.question.getItemEnabled(item)}\n onChange={this.handleOnChange}\n aria-required={this.question.ariaRequired}\n aria-label={this.question.ariaLabel}\n aria-invalid={this.question.ariaInvalid}\n aria-describedby={this.question.ariaDescribedBy}\n />\n <div className={this.question.cssClasses.itemDecorator}>\n <div className={this.question.cssClasses.imageContainer}>\n {!!this.question.cssClasses.checkedItemDecorator ?\n <span className={this.question.cssClasses.checkedItemDecorator }>\n {!!this.question.cssClasses.checkedItemSvgIconId ? <SvgIcon size={\"auto\"} className={this.question.cssClasses.checkedItemSvgIcon} iconName={this.question.cssClasses.checkedItemSvgIconId}></SvgIcon> : null}\n </span> : null}\n {control}\n </div>\n {text}\n </div>\n </label>\n </div>\n );\n return renderedItem;\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"imagepicker\", (props) => {\n return React.createElement(SurveyQuestionImagePicker, props);\n});\n","import * as React from \"react\";\nimport { PageModel, PanelModelBase } from \"survey-core\";\nimport { SurveyElementBase } from \"./reactquestion_element\";\nimport { SurveyPanelBase } from \"./panel-base\";\nimport { TitleElement } from \"./components/title/title-element\";\n\nexport class SurveyPage extends SurveyPanelBase {\n constructor(props: any) {\n super(props);\n }\n protected getPanelBase(): PanelModelBase {\n return this.props.page;\n }\n public get page(): PageModel {\n return this.panelBase as PageModel;\n }\n protected renderElement(): JSX.Element {\n var title = this.renderTitle();\n var description = this.renderDescription();\n var rows = this.renderRows(this.panelBase.cssClasses);\n return (\n <div ref={this.rootRef} className={this.page.cssRoot}>\n {title}\n {description}\n {rows}\n </div >\n );\n }\n protected renderTitle(): JSX.Element {\n return <TitleElement element={this.page}></TitleElement>;\n }\n protected renderDescription(): JSX.Element | null {\n if (!this.page._showDescription) return null;\n var text = SurveyElementBase.renderLocString(this.page.locDescription);\n return (\n <div className={this.panelBase.cssClasses.page.description}>{text}</div>\n );\n }\n}\n","import * as React from \"react\";\nimport { ISurveyCreator } from \"./reactquestion\";\nimport { Base, SurveyModel, QuestionRowModel, PanelModel, PanelModelBase } from \"survey-core\";\nimport { SurveyElementBase } from \"./reactquestion_element\";\nimport { SurveyRow } from \"./row\";\n\nexport class SurveyPanelBase extends SurveyElementBase<any, any> {\n protected rootRef: React.RefObject<HTMLDivElement>;\n constructor(props: any) {\n super(props);\n this.rootRef = React.createRef();\n }\n protected getStateElement(): Base {\n return this.panelBase;\n }\n protected canUsePropInState(key: string): boolean {\n return key !== \"elements\" && super.canUsePropInState(key);\n }\n protected get survey(): SurveyModel | null {\n return this.getSurvey();\n }\n protected get creator(): ISurveyCreator {\n return this.props.creator;\n }\n protected get css(): any {\n return this.getCss();\n }\n public get panelBase(): PanelModelBase {\n return this.getPanelBase();\n }\n protected getPanelBase(): PanelModelBase {\n return this.props.element || this.props.question;\n }\n protected getSurvey(): SurveyModel | null {\n return (\n this.props.survey || (!!this.panelBase ? this.panelBase.survey : null)\n );\n }\n protected getCss(): any {\n return this.props.css;\n }\n componentDidMount() {\n super.componentDidMount();\n this.doAfterRender();\n }\n componentWillUnmount() {\n super.componentWillUnmount();\n var el = this.rootRef.current;\n if (!!el) {\n el.removeAttribute(\"data-rendered\");\n }\n }\n componentDidUpdate(prevProps: any, prevState: any) {\n super.componentDidUpdate(prevProps, prevState);\n if (\n !!prevProps.page &&\n !!this.survey &&\n !!this.survey.currentPage &&\n prevProps.page.id === this.survey.currentPage.id\n )\n return;\n this.doAfterRender();\n }\n private doAfterRender() {\n var el = this.rootRef.current;\n if (el && this.survey) {\n if (this.panelBase.isPanel) {\n this.survey.afterRenderPanel(this.panelBase as PanelModel, el);\n } else {\n this.survey.afterRenderPage(el);\n }\n }\n }\n protected canRender(): boolean {\n return (\n super.canRender() && !!this.survey && !!this.panelBase\n && this.panelBase.isVisible && !!this.panelBase.survey\n );\n }\n private renderedRowsCache: any = {};\n protected renderRows(css: any): Array<JSX.Element> {\n if (this.changedStatePropName !== \"rows\") {\n this.renderedRowsCache = {};\n }\n var rows:Array<JSX.Element> = [];\n var questionRows = this.panelBase.rows;\n for (var i = 0; i < questionRows.length; i++) {\n var row = this.renderedRowsCache[questionRows[i].id];\n if (!row) {\n row = this.createRow(questionRows[i], css);\n this.renderedRowsCache[questionRows[i].id] = row;\n }\n rows.push(row);\n }\n return rows;\n }\n protected createRow(row: QuestionRowModel, css: any): JSX.Element {\n return (\n <SurveyRow\n key={row.id}\n row={row}\n survey={this.survey}\n creator={this.creator}\n css={css}\n />\n );\n }\n}\n","import * as React from \"react\";\nimport { SurveyElementErrors } from \"./reactquestion\";\nimport { SurveyElementBase } from \"./reactquestion_element\";\nimport { ReactElementFactory } from \"./element-factory\";\n\nimport { SurveyPanelBase } from \"./panel-base\";\nimport { PanelModel, doKey2ClickUp, SurveyModel } from \"survey-core\";\nimport { ReactSurveyElementsWrapper } from \"./reactsurveymodel\";\nimport { SurveyActionBar } from \"./components/action-bar/action-bar\";\nimport { TitleElement } from \"./components/title/title-element\";\nimport { SurveyElementHeader } from \"./element-header\";\n\nexport class SurveyPanel extends SurveyPanelBase {\n private hasBeenExpanded: boolean = false;\n constructor(props: any) {\n super(props);\n }\n public get panel(): PanelModel {\n return this.panelBase as PanelModel;\n }\n protected renderElement(): JSX.Element {\n const header = this.renderHeader();\n const errors = (\n <SurveyElementErrors\n element={this.panelBase}\n cssClasses={this.panelBase.cssClasses}\n creator={this.creator}\n />\n );\n const style = {\n paddingLeft: this.panel.innerPaddingLeft,\n display: !this.panel.isCollapsed ? undefined : \"none\",\n };\n let content: JSX.Element | null = null;\n if (!this.panel.isCollapsed || this.hasBeenExpanded) {\n this.hasBeenExpanded = true;\n const rows: JSX.Element[] = this.renderRows(this.panelBase.cssClasses);\n const className: string = this.panelBase.cssClasses.panel.content;\n content = this.renderContent(style, rows, className);\n }\n const focusIn = () => {\n if(this.panelBase) (this.panelBase as PanelModel).focusIn();\n };\n return (\n <div\n ref={this.rootRef}\n className={(this.panelBase as PanelModel).getContainerCss()}\n onFocus={focusIn}\n id={this.panelBase.id}\n\n >\n {this.panel.showErrorsAbovePanel ? errors : null}\n {header}\n {this.panel.showErrorsAbovePanel ? null : errors}\n {content}\n </div>\n );\n }\n protected renderHeader() {\n if (!this.panel.hasTitle && !this.panel.hasDescription) {\n return null;\n }\n return <SurveyElementHeader element={this.panel}></SurveyElementHeader>;\n }\n protected wrapElement(element: JSX.Element): JSX.Element {\n const survey: SurveyModel = this.panel.survey as SurveyModel;\n let wrapper: JSX.Element | null = null;\n if (survey) {\n wrapper = ReactSurveyElementsWrapper.wrapElement(survey, element, this.panel);\n }\n return wrapper ?? element;\n }\n protected renderContent(style: any, rows: JSX.Element[], className: string): JSX.Element {\n const bottom: JSX.Element | null = this.renderBottom();\n return (\n <div style={style} className={className} id={this.panel.contentId}>\n {rows}\n {bottom}\n </div>\n );\n }\n protected renderTitle(): JSX.Element | null {\n if (!this.panelBase.title) return null;\n return <TitleElement element={this.panelBase}></TitleElement>;\n }\n protected renderDescription(): JSX.Element | null {\n if (!this.panelBase.description) return null;\n var text = SurveyElementBase.renderLocString(this.panelBase.locDescription);\n return (\n <div className={this.panel.cssClasses.panel.description}>{text}</div>\n );\n }\n protected renderBottom(): JSX.Element | null {\n const footerToolbar = this.panel.getFooterToolbar();\n if (!footerToolbar.hasActions) return null;\n return <SurveyActionBar model={footerToolbar}></SurveyActionBar>;\n }\n}\n\nReactElementFactory.Instance.registerElement(\"panel\", (props) => {\n return React.createElement(SurveyPanel, props);\n});\n","import * as React from \"react\";\nimport { QuestionRatingModel, RendererFactory } from \"survey-core\";\nimport { SurveyQuestionDropdownBase } from \"./dropdown-base\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\n\nexport class SurveyQuestionRatingDropdown extends SurveyQuestionDropdownBase<QuestionRatingModel> {\n constructor(props: any) {\n super(props);\n }\n protected renderElement(): JSX.Element {\n var cssClasses = this.question.cssClasses;\n var select = this.renderSelect(cssClasses);\n return (\n <div className={this.question.cssClasses.rootDropdown}>\n {select}\n </div>\n );\n }\n}\nReactQuestionFactory.Instance.registerQuestion(\n \"sv-rating-dropdown\",\n (props) => {\n return React.createElement(SurveyQuestionRatingDropdown, props);\n }\n);\n\nRendererFactory.Instance.registerRenderer(\n \"rating\",\n \"dropdown\",\n \"sv-rating-dropdown\"\n);\n","import * as React from \"react\";\nimport { Survey } from \"./reactSurvey\";\nimport { SurveyElementBase } from \"./reactquestion_element\";\nimport { Base, PopupSurveyModel } from \"survey-core\";\nimport { SvgIcon } from \"./components/svg-icon/svg-icon\";\n\nexport class PopupSurvey extends Survey {\n protected popup: PopupSurveyModel;\n constructor(props: any) {\n super(props);\n this.handleOnExpanded = this.handleOnExpanded.bind(this);\n }\n protected getStateElements(): Array<Base> {\n return [this.popup, this.popup.survey];\n }\n handleOnExpanded(event: any) {\n this.popup.changeExpandCollapse();\n }\n protected canRender(): boolean {\n return super.canRender() && this.popup.isShowing;\n }\n protected renderElement(): JSX.Element {\n var header = this.renderWindowHeader();\n var body = this.popup.isExpanded ? this.renderBody() : null;\n let style: React.CSSProperties = {\n position: \"fixed\",\n bottom: 3,\n right: 10\n };\n if (!!this.popup.renderedWidth) {\n style.width = this.popup.renderedWidth;\n style.maxWidth = this.popup.renderedWidth;\n }\n return (\n <div className={this.popup.cssRoot} style={style}>\n {header}\n {body}\n </div>\n );\n }\n protected renderWindowHeader(): JSX.Element {\n var styleA = { width: \"100%\", cursor: \"pointer\" };\n var styleTitle = { paddingRight: \"10px\" };\n var glyphClassName = this.popup.cssButton;\n glyphClassName = \"glyphicon pull-right \" + glyphClassName;\n var title = SurveyElementBase.renderLocString(this.survey.locTitle);\n return (\n <div className={this.popup.cssHeaderRoot}>\n <span onClick={this.handleOnExpanded} style={styleA}>\n <span className={this.popup.cssHeaderTitle} style={styleTitle}>\n {title}\n </span>\n <span className={glyphClassName} aria-hidden=\"true\" />\n </span>\n {this.popup.allowClose ? (\n <span\n className={this.popup.cssHeaderButton}\n onClick={() => { this.popup.hide(); }}\n style={{ transform: \"rotate(45deg)\", float: \"right\", cursor: \"pointer\", width: \"24px\", height: \"24px\" }}\n >\n <SvgIcon iconName={\"icon-expanddetail\"} size={16}>\n </SvgIcon>\n </span>\n ) : null}\n {this.popup.isExpanded ? (\n <span\n className={this.popup.cssHeaderButton}\n onClick={this.handleOnExpanded}\n style={{ float: \"right\", cursor: \"pointer\", width: \"24px\", height: \"24px\" }}\n >\n <SvgIcon iconName={\"icon-collapsedetail\"} size={16}>\n </SvgIcon>\n </span>\n ) : null}\n </div>\n );\n }\n protected renderBody(): JSX.Element {\n return <div className={this.popup.cssBody} onScroll={() => this.popup.onScroll()}>{this.doRender()}</div>;\n }\n protected createSurvey(newProps: any) {\n if (!newProps) newProps = {};\n super.createSurvey(newProps);\n this.popup = new PopupSurveyModel(null, this.survey);\n if (newProps.closeOnCompleteTimeout) {\n this.popup.closeOnCompleteTimeout = newProps.closeOnCompleteTimeout;\n }\n this.popup.allowClose = newProps.allowClose;\n this.popup.isShowing = true;\n if (!this.popup.isExpanded && (newProps.expanded || newProps.isExpanded))\n this.popup.expand();\n }\n}\n/**\n * Obsolete. Please use PopupSurvey\n */\nexport class SurveyWindow extends PopupSurvey {}\n","import * as React from \"react\";\nimport { Base, Question, PageModel, SurveyError, StylesManager, surveyCss, Helpers, doKey2ClickUp, SvgRegistry, SurveyModel, doKey2ClickBlur, doKey2ClickDown, IAttachKey2clickOptions } from \"survey-core\";\nimport { SurveyPage } from \"./page\";\nimport { ISurveyCreator } from \"./reactquestion\";\nimport { SurveyElementBase } from \"./reactquestion_element\";\nimport { SurveyLocStringViewer } from \"./string-viewer\";\nimport { SurveyHeader } from \"./components/survey-header/survey-header\";\nimport { SurveyTimerPanel } from \"./reacttimerpanel\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { ReactElementFactory } from \"./element-factory\";\nimport { SurveyActionBar } from \"./components/action-bar/action-bar\";\nimport { BrandInfo } from \"./components/brand-info\";\nimport { NotifierComponent } from \"./components/notifier\";\nimport { ComponentsContainer } from \"./components/components-container\";\n\nexport class Survey extends SurveyElementBase<any, any>\n implements ISurveyCreator {\n private previousJSON = {};\n private rootRef: React.RefObject<HTMLDivElement>;\n public static get cssType(): string {\n return surveyCss.currentType;\n }\n public static set cssType(value: string) {\n StylesManager.applyTheme(value);\n }\n protected survey: SurveyModel;\n\n private rootNodeId: string; // root dom node ID attr\n private rootNodeClassName: string; // root dom node class\n\n constructor(props: any) {\n super(props);\n this.createSurvey(props);\n this.updateSurvey(props, {});\n this.rootRef = React.createRef();\n this.rootNodeId = props.id || null;\n this.rootNodeClassName = props.className || \"\";\n }\n protected getStateElement(): Base {\n return this.survey;\n }\n private isSurveyUpdated = false;\n private onSurveyUpdated() {\n if (!!this.survey) {\n const el = this.rootRef.current;\n if (!!el) this.survey.afterRenderSurvey(el);\n this.survey.startTimerFromUI();\n }\n }\n shouldComponentUpdate(nextProps: any, nextState: any) {\n if (!super.shouldComponentUpdate(nextProps, nextState)) return false;\n if (this.isModelJSONChanged(nextProps)) {\n this.destroySurvey();\n this.createSurvey(nextProps);\n this.updateSurvey(nextProps, {});\n this.isSurveyUpdated = true;\n }\n return true;\n }\n componentDidUpdate(prevProps: any, prevState: any) {\n super.componentDidUpdate(prevProps, prevState);\n this.updateSurvey(this.props, prevProps);\n if(this.isSurveyUpdated) {\n this.onSurveyUpdated();\n this.isSurveyUpdated = false;\n }\n }\n componentDidMount() {\n super.componentDidMount();\n this.onSurveyUpdated();\n }\n destroySurvey() {\n if (this.survey) {\n this.survey.stopTimer();\n this.survey.destroyResizeObserver();\n }\n }\n componentWillUnmount() {\n super.componentWillUnmount();\n this.destroySurvey();\n }\n doRender(): JSX.Element {\n if(this.survey[\"needRenderIcons\"]) {\n SvgRegistry.renderIcons();\n }\n let renderResult: JSX.Element | null;\n if (this.survey.state == \"completed\") {\n renderResult = this.renderCompleted();\n } else if (this.survey.state == \"completedbefore\") {\n renderResult = this.renderCompletedBefore();\n } else if (this.survey.state == \"loading\") {\n renderResult = this.renderLoading();\n } else {\n renderResult = this.renderSurvey();\n }\n const backgroundImage = !!this.survey.renderBackgroundImage ? <div className={this.css.rootBackgroundImage} style={this.survey.backgroundImageStyle}></div> : null;\n const header: JSX.Element = <SurveyHeader survey={this.survey}></SurveyHeader>;\n const onSubmit = function (event: React.FormEvent<HTMLFormElement>) {\n event.preventDefault();\n };\n let customHeader: JSX.Element | null = <div className=\"sv_custom_header\" />;\n if (this.survey.hasLogo) {\n customHeader = null;\n }\n const rootCss = this.survey.getRootCss();\n const cssClasses = this.rootNodeClassName ? this.rootNodeClassName + \" \" + rootCss : rootCss;\n\n return (\n <div id={this.rootNodeId} ref={this.rootRef} className={cssClasses} style={this.survey.themeVariables}>\n {backgroundImage}\n <form onSubmit={onSubmit}>\n {customHeader}\n <div className={this.css.container}>\n {header}\n <ComponentsContainer survey={this.survey} container={\"header\"} needRenderWrapper={false}></ComponentsContainer>\n {renderResult}\n <ComponentsContainer survey={this.survey} container={\"footer\"} needRenderWrapper={false}></ComponentsContainer>\n </div>\n </form>\n { this.survey.showBrandInfo ? <BrandInfo/> : null }\n <NotifierComponent notifier={this.survey.notifier} ></NotifierComponent>\n </div>\n );\n }\n protected renderElement(): JSX.Element {\n return this.doRender();\n }\n public get css(): any {\n return this.survey.css;\n }\n public set css(value: any) {\n this.survey.css = value;\n }\n protected renderCompleted(): JSX.Element | null {\n if (!this.survey.showCompletedPage) return null;\n\n var htmlValue = { __html: this.survey.processedCompletedHtml };\n return (\n <React.Fragment>\n <div\n dangerouslySetInnerHTML={htmlValue}\n className={this.survey.completedCss}\n />\n </React.Fragment>\n );\n }\n protected renderCompletedBefore(): JSX.Element {\n var htmlValue = { __html: this.survey.processedCompletedBeforeHtml };\n return (\n <div dangerouslySetInnerHTML={htmlValue} className={this.css.body} />\n );\n }\n protected renderLoading(): JSX.Element {\n var htmlValue = { __html: this.survey.processedLoadingHtml };\n return (\n <div dangerouslySetInnerHTML={htmlValue} className={this.css.body} />\n );\n }\n protected renderSurvey(): JSX.Element {\n var activePage = this.survey.activePage\n ? this.renderPage(this.survey.activePage)\n : null;\n const isStaring = this.survey.isShowStartingPage;\n var pageId = this.survey.activePage ? this.survey.activePage.id : \"\";\n\n let className = this.survey.bodyCss;\n if (!activePage) {\n className = this.css.bodyEmpty;\n activePage = this.renderEmptySurvey();\n }\n const style: any = {};\n if(!!this.survey.renderedWidth) {\n style.maxWidth = this.survey.renderedWidth;\n }\n return (\n <div className={this.survey.bodyContainerCss}>\n <ComponentsContainer survey={this.survey} container={\"left\"}></ComponentsContainer>\n <div\n id={pageId}\n className={className}\n style={style}\n >\n <ComponentsContainer survey={this.survey} container={\"contentTop\"}></ComponentsContainer>\n {activePage}\n <ComponentsContainer survey={this.survey} container={\"contentBottom\"}></ComponentsContainer>\n </div>\n <ComponentsContainer survey={this.survey} container={\"right\"}></ComponentsContainer>\n </div>\n );\n }\n protected renderPage(page: PageModel): JSX.Element {\n return (\n <SurveyPage\n survey={this.survey}\n page={page}\n css={this.css}\n creator={this}\n />\n );\n }\n protected renderEmptySurvey(): JSX.Element {\n return <span>{this.survey.emptySurveyText}</span>;\n }\n protected createSurvey(newProps: any) {\n if (!newProps) newProps = {};\n this.previousJSON = {};\n if (newProps) {\n if (newProps.model) {\n this.survey = newProps.model;\n } else {\n if (newProps.json) {\n this.previousJSON = newProps.json;\n this.survey = new SurveyModel(newProps.json);\n }\n }\n } else {\n this.survey = new SurveyModel();\n }\n if (!!newProps.css) {\n this.survey.css = this.css;\n }\n this.setSurveyEvents();\n }\n private isModelJSONChanged(newProps: any): boolean {\n if (!!newProps[\"model\"]) {\n return this.survey !== newProps[\"model\"];\n }\n if (!!newProps[\"json\"]) {\n return !Helpers.isTwoValueEquals(newProps[\"json\"], this.previousJSON);\n }\n return false;\n }\n protected updateSurvey(newProps: any, oldProps?: any) {\n if (!newProps) return;\n oldProps = oldProps || {};\n for (var key in newProps) {\n if (key == \"model\" || key == \"children\" || key == \"json\") {\n continue;\n }\n if (key == \"css\") {\n this.survey.mergeValues(newProps.css, this.survey.getCss());\n this.survey[\"updateNavigationCss\"]();\n this.survey[\"updateElementCss\"]();\n continue;\n }\n if (newProps[key] === oldProps[key]) continue;\n if (key.indexOf(\"on\") == 0 && this.survey[key] && this.survey[key].add) {\n if (!!oldProps[key]) {\n this.survey[key].remove(oldProps[key]);\n }\n this.survey[key].add(newProps[key]);\n } else {\n this.survey[key] = newProps[key];\n }\n }\n }\n protected setSurveyEvents() {\n var self = this;\n\n this.survey.renderCallback = function () {\n var counter =\n !!self.state && !!self.state.modelChanged ? self.state.modelChanged : 0;\n self.setState({ modelChanged: counter + 1 });\n };\n this.survey.onPartialSend.add((sender) => {\n if (!!self.state) {\n self.setState(self.state);\n }\n });\n }\n\n //ISurveyCreator\n public createQuestionElement(question: Question): JSX.Element | null {\n return ReactQuestionFactory.Instance.createQuestion(question.isDefaultRendering() ? question.getTemplate() : question.getComponentName(),\n {\n question: question,\n isDisplayMode: question.isInputReadOnly,\n creator: this,\n }\n );\n }\n public renderError(\n key: string,\n error: SurveyError,\n cssClasses: any\n ): JSX.Element {\n return (\n <div key={key}>\n <span className={cssClasses.error.icon || undefined} aria-hidden=\"true\" />\n <span className={cssClasses.error.item || undefined}>\n <SurveyLocStringViewer locStr={error.locText} />\n </span>\n </div>\n );\n }\n public questionTitleLocation(): string {\n return this.survey.questionTitleLocation;\n }\n public questionErrorLocation(): string {\n return this.survey.questionErrorLocation;\n }\n}\n\nReactElementFactory.Instance.registerElement(\"survey\", (props) => {\n return React.createElement(Survey, props);\n});\n\nexport function attachKey2click(element: JSX.Element, viewModel?: any, options: IAttachKey2clickOptions = { processEsc: true, disableTabStop: false }): JSX.Element {\n if ((!!viewModel && viewModel.disableTabStop) || (!!options && options.disableTabStop)) {\n return React.cloneElement(element, { tabIndex: -1 });\n }\n options = { ...options };\n return React.cloneElement(\n element,\n {\n tabIndex: 0,\n onKeyUp: (evt: KeyboardEvent) => {\n evt.preventDefault();\n evt.stopPropagation();\n doKey2ClickUp(evt, options);\n return false;\n },\n onKeyDown: (evt: any) => doKey2ClickDown(evt, options),\n onBlur: (evt: any) => doKey2ClickBlur(evt)\n }\n );\n}","import * as React from \"react\";\nimport { SurveyModel } from \"survey-core\";\n\nexport class SurveyNavigationBase extends React.Component<any, any> {\n constructor(props: any) {\n super(props);\n this.state = { update: 0 };\n }\n protected get survey(): SurveyModel {\n return this.props.survey;\n }\n protected get css(): any {\n return this.props.css || this.survey.css;\n }\n private updateStateFunction: any = null;\n componentDidMount() {\n if (this.survey) {\n var self = this;\n this.updateStateFunction = function () {\n self.setState({ update: self.state.update + 1 });\n };\n this.survey.onPageVisibleChanged.add(this.updateStateFunction);\n }\n }\n componentWillUnmount() {\n if (this.survey && this.updateStateFunction) {\n this.survey.onPageVisibleChanged.remove(this.updateStateFunction);\n this.updateStateFunction = null;\n }\n }\n}\n","import * as React from \"react\";\nimport { SurveyProgressModel } from \"survey-core\";\nimport { SurveyNavigationBase } from \"./reactSurveyNavigationBase\";\nimport { ReactElementFactory } from \"./element-factory\";\n\nexport class SurveyProgress extends SurveyNavigationBase {\n constructor(props: any) {\n super(props);\n }\n protected get isTop(): boolean {\n return this.props.isTop;\n }\n protected get progress(): number {\n return this.survey.progressValue;\n }\n protected get progressText(): string {\n return this.survey.progressText;\n }\n render(): JSX.Element {\n var progressStyle = {\n width: this.progress + \"%\",\n };\n return (\n <div className={this.survey.getProgressCssClasses()}>\n <div\n style={progressStyle}\n className={this.css.progressBar}\n role=\"progressbar\"\n aria-valuemin={0}\n aria-valuemax={100}\n >\n <span\n className={SurveyProgressModel.getProgressTextInBarCss(this.css)}\n >\n {this.progressText}\n </span>\n </div>\n <span\n className={SurveyProgressModel.getProgressTextUnderBarCss(this.css)}\n >\n {this.progressText}\n </span>\n </div>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-progress-pages\", props => {\n return React.createElement(SurveyProgress, props);\n});\nReactElementFactory.Instance.registerElement(\"sv-progress-questions\", props => {\n return React.createElement(SurveyProgress, props);\n});\nReactElementFactory.Instance.registerElement(\n \"sv-progress-correctquestions\",\n props => {\n return React.createElement(SurveyProgress, props);\n }\n);\nReactElementFactory.Instance.registerElement(\n \"sv-progress-requiredquestions\",\n props => {\n return React.createElement(SurveyProgress, props);\n }\n);\n","import * as React from \"react\";\nimport { SurveyProgressButtonsModel, PageModel } from \"survey-core\";\nimport { SurveyNavigationBase } from \"./reactSurveyNavigationBase\";\nimport { ReactElementFactory } from \"./element-factory\";\n\nexport class SurveyProgressButtons extends SurveyNavigationBase {\n private progressButtonsModel: SurveyProgressButtonsModel;\n private updateScroller: any = undefined;\n private listContainerRef: React.RefObject<HTMLDivElement>;\n constructor(props: any) {\n super(props);\n this.progressButtonsModel = new SurveyProgressButtonsModel(this.survey);\n this.listContainerRef = React.createRef();\n }\n render(): JSX.Element {\n return (\n <div className={this.css.progressButtonsContainerCenter}>\n <div className={this.css.progressButtonsContainer}>\n <div\n className={this.getScrollButtonCss(true)}\n role=\"button\"\n onClick={() =>\n this.clickScrollButton(this.listContainerRef.current, true)\n }\n ></div>\n <div\n className={this.css.progressButtonsListContainer}\n ref={this.listContainerRef}\n >\n <ul className={this.css.progressButtonsList}>\n {this.getListElements()}\n </ul>\n </div>\n <div\n className={this.getScrollButtonCss(false)}\n role=\"button\"\n onClick={() =>\n this.clickScrollButton(this.listContainerRef.current, false)\n }\n ></div>\n </div>\n </div>\n );\n }\n protected getListElements(): JSX.Element[] {\n let buttons: JSX.Element[] = [];\n this.survey.visiblePages.forEach((page: PageModel, index: number) => {\n buttons.push(this.renderListElement(page, index));\n });\n return buttons;\n }\n protected renderListElement(page: PageModel, index: number): JSX.Element {\n return (\n <li\n key={\"listelement\" + index}\n className={this.getListElementCss(index)}\n onClick={\n this.isListElementClickable(index)\n ? () => this.clickListElement(index)\n : undefined\n }\n >\n <div\n className={this.css.progressButtonsPageTitle}\n title={page.navigationTitle || page.name}\n >\n {page.navigationTitle || page.name}\n </div>\n <div\n className={this.css.progressButtonsPageDescription}\n title={page.navigationDescription}\n >\n {page.navigationDescription}\n </div>\n </li>\n );\n }\n protected isListElementClickable(index: number): boolean {\n return this.progressButtonsModel.isListElementClickable(index);\n }\n protected getListElementCss(index: number): string {\n return this.progressButtonsModel.getListElementCss(index);\n }\n protected clickListElement(index: number): void {\n this.progressButtonsModel.clickListElement(index);\n }\n protected getScrollButtonCss(isLeftScroll: boolean): string {\n return this.progressButtonsModel.getScrollButtonCss(this.state.hasScroller, isLeftScroll);\n }\n protected clickScrollButton(\n listContainerElement: Element | null,\n isLeftScroll: boolean\n ): void {\n if(!!listContainerElement) {\n listContainerElement.scrollLeft += (isLeftScroll ? -1 : 1) * 70;\n }\n }\n componentDidMount() {\n this.updateScroller = setInterval(() => {\n if(!!this.listContainerRef.current) {\n this.setState({ hasScroller: this.listContainerRef.current.scrollWidth > this.listContainerRef.current.offsetWidth, });\n }\n }, 100);\n }\n componentWillUnmount() {\n if (typeof this.updateScroller !== \"undefined\") {\n clearInterval(this.updateScroller);\n this.updateScroller = undefined;\n }\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-progress-buttons\", (props) => {\n return React.createElement(SurveyProgressButtons, props);\n});\n","import * as React from \"react\";\nimport { createTOCListModel, getTocRootCss, TOCModel } from \"survey-core\";\nimport { SurveyNavigationBase } from \"./reactSurveyNavigationBase\";\nimport { ReactElementFactory } from \"./element-factory\";\nimport { List } from \"./components/list/list\";\nimport { Popup } from \"./components/popup/popup\";\nimport { SvgIcon } from \"./components/svg-icon/svg-icon\";\n\nexport class SurveyProgressToc extends SurveyNavigationBase {\n render(): JSX.Element {\n const tocModel = new TOCModel(this.props.model);\n let content: JSX.Element;\n if(tocModel.isMobile) {\n content = <div onClick={tocModel.togglePopup}>\n <SvgIcon iconName={tocModel.icon} size={24}/>\n <Popup model={tocModel.popupModel}/>\n </div>;\n } else {\n content = <List model={tocModel.listModel} />;\n }\n return (\n <div className={tocModel.containerCss}>\n {content}\n </div>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-progress-toc\", (props) => {\n return React.createElement(SurveyProgressToc, props);\n});\n","import * as React from \"react\";\nimport {\n Base,\n SurveyElement,\n SurveyError,\n Question,\n QuestionMatrixDropdownRenderedCell,\n TooltipManager,\n SurveyModel\n} from \"survey-core\";\nimport { ReactSurveyElementsWrapper } from \"./reactsurveymodel\";\nimport { ReactElementFactory } from \"./element-factory\";\nimport { SurveyElementBase, ReactSurveyElement } from \"./reactquestion_element\";\nimport { SurveyQuestionCommentItem } from \"./reactquestion_comment\";\nimport { SurveyCustomWidget } from \"./custom-widget\";\nimport { SurveyElementHeader } from \"./element-header\";\n\nexport interface ISurveyCreator {\n createQuestionElement(question: Question): JSX.Element | null;\n renderError(key: string, error: SurveyError, cssClasses: any): JSX.Element;\n questionTitleLocation(): string;\n questionErrorLocation(): string;\n}\n\nexport class SurveyQuestion extends SurveyElementBase<any, any> {\n private isNeedFocus = false;\n public static renderQuestionBody(\n creator: ISurveyCreator,\n question: Question\n ): JSX.Element | any {\n if (!question.isVisible) return null;\n var customWidget = question.customWidget;\n if (!customWidget) {\n return creator.createQuestionElement(question);\n }\n return <SurveyCustomWidget creator={creator} question={question} />;\n }\n private rootRef: React.RefObject<HTMLDivElement>;\n constructor(props: any) {\n super(props);\n this.rootRef = React.createRef();\n }\n protected getStateElement(): Base {\n return this.question;\n }\n protected get question(): Question {\n return this.props.element;\n }\n private get creator(): ISurveyCreator {\n return this.props.creator;\n }\n componentDidMount() {\n super.componentDidMount();\n if (!!this.question) {\n this.question[\"react\"] = this;\n }\n this.doAfterRender();\n }\n componentWillUnmount() {\n super.componentWillUnmount();\n if (!!this.question) {\n this.question[\"react\"] = null;\n }\n const el = this.rootRef.current;\n if (!!el) {\n el.removeAttribute(\"data-rendered\");\n }\n }\n componentDidUpdate(prevProps: any, prevState: any) {\n super.componentDidUpdate(prevProps, prevState);\n this.doAfterRender();\n }\n private doAfterRender() {\n if (this.isNeedFocus) {\n if (!this.question.isCollapsed) {\n this.question.clickTitleFunction();\n }\n this.isNeedFocus = false;\n }\n if (this.question) {\n var el = this.rootRef.current;\n if (el && el.getAttribute(\"data-rendered\") !== \"r\") {\n el.setAttribute(\"data-rendered\", \"r\");\n el.setAttribute(\"data-name\", this.question.name);\n if (this.question.afterRender) {\n this.question.afterRender(el);\n }\n }\n }\n }\n protected canRender(): boolean {\n return (\n super.canRender() &&\n !!this.question &&\n !!this.creator &&\n this.question.isVisible\n );\n }\n\n protected renderQuestionContent(): JSX.Element {\n let question = this.question;\n var contentStyle = {\n display: !this.question.isCollapsed ? \"\" : \"none\",\n };\n var cssClasses = question.cssClasses;\n var questionRender = this.renderQuestion();\n var errorsTop = this.question.showErrorOnTop\n ? this.renderErrors(cssClasses, \"top\")\n : null;\n var errorsBottom = this.question.showErrorOnBottom\n ? this.renderErrors(cssClasses, \"bottom\")\n : null;\n var comment =\n question && question.hasComment ? this.renderComment(cssClasses) : null;\n const errorsTooltip =\n this.question.isErrorsModeTooltip\n ? this.renderErrors(cssClasses, \"tooltip\")\n : null;\n var descriptionUnderInput = question.hasDescriptionUnderInput\n ? this.renderDescription()\n : null;\n return (\n <div\n className={question.cssContent || undefined}\n style={contentStyle}\n role=\"presentation\"\n >\n {errorsTop}\n {questionRender}\n {comment}\n {errorsBottom}\n {errorsTooltip}\n {descriptionUnderInput}\n </div>\n );\n }\n protected renderElement(): JSX.Element {\n var question = this.question;\n var cssClasses = question.cssClasses;\n var header = this.renderHeader(question);\n var headerTop = question.hasTitleOnLeftTop ? header : null;\n var headerBottom = question.hasTitleOnBottom ? header : null;\n\n const errorsAboveQuestion = this.question.showErrorsAboveQuestion\n ? this.renderErrors(cssClasses, \"\")\n : null;\n\n const errorsBelowQuestion = this.question.showErrorsBelowQuestion\n ? this.renderErrors(cssClasses, \"\")\n : null;\n\n let rootStyle = question.getRootStyle();\n let questionContent = this.wrapQuestionContent(this.renderQuestionContent());\n\n return (\n <>\n <div\n ref={this.rootRef}\n id={question.id}\n className={question.getRootCss()}\n style={rootStyle}\n role={question.ariaRole}\n aria-required={this.question.ariaRequired}\n aria-invalid={this.question.ariaInvalid}\n aria-labelledby={question.ariaLabelledBy}\n aria-expanded={question.ariaExpanded === null ? undefined : question.ariaExpanded === \"true\"}\n >\n {errorsAboveQuestion}\n {headerTop}\n {questionContent}\n {headerBottom}\n {errorsBelowQuestion}\n </div>\n </>\n );\n }\n protected wrapElement(element: JSX.Element): JSX.Element {\n const survey: SurveyModel = this.question.survey as SurveyModel;\n let wrapper: JSX.Element | null = null;\n if (survey) {\n wrapper = ReactSurveyElementsWrapper.wrapElement(survey, element, this.question);\n }\n return wrapper ?? element;\n }\n protected wrapQuestionContent(element: JSX.Element): JSX.Element {\n const survey: SurveyModel = this.question.survey as SurveyModel;\n let wrapper: JSX.Element | null = null;\n if (survey) {\n wrapper = ReactSurveyElementsWrapper.wrapQuestionContent(survey, element, this.question);\n }\n return wrapper ?? element;\n }\n protected renderQuestion(): JSX.Element {\n return SurveyQuestion.renderQuestionBody(this.creator, this.question);\n }\n protected renderDescription(): JSX.Element {\n return SurveyElementBase.renderQuestionDescription(this.question);\n }\n protected renderComment(cssClasses: any): JSX.Element {\n const commentText = SurveyElementBase.renderLocString(\n this.question.locCommentText\n );\n return (\n <div className={this.question.getCommentAreaCss()}>\n <div>{commentText}</div>\n <SurveyQuestionCommentItem\n question={this.question}\n cssClasses={cssClasses}\n otherCss={cssClasses.other}\n isDisplayMode={this.question.isInputReadOnly}\n />\n </div>\n );\n }\n protected renderHeader(question: Question): JSX.Element {\n return <SurveyElementHeader element={question}></SurveyElementHeader>;\n }\n protected renderErrors(cssClasses: any, location: string): JSX.Element {\n return (\n <SurveyElementErrors\n element={this.question}\n cssClasses={cssClasses}\n creator={this.creator}\n location={location}\n id={this.question.id + \"_errors\"}\n />\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\"question\", (props) => {\n return React.createElement(SurveyQuestion, props);\n});\n\nexport class SurveyElementErrors extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n this.state = this.getState();\n this.tooltipRef = React.createRef();\n }\n protected get id(): string {\n return this.props.id;\n }\n protected get element(): SurveyElement {\n return this.props.element;\n }\n private get creator(): ISurveyCreator {\n return this.props.creator;\n }\n protected get location(): string {\n return this.props.location;\n }\n private getState(prevState: any = null) {\n return !prevState ? { error: 0 } : { error: prevState.error + 1 };\n }\n protected canRender(): boolean {\n return !!this.element && this.element.hasVisibleErrors;\n }\n private tooltipManager: TooltipManager | undefined;\n private tooltipRef: React.RefObject<HTMLDivElement>;\n componentDidUpdate(prevProps: any, prevState: any) {\n super.componentDidUpdate(prevProps, prevState);\n if (this.props.location == \"tooltip\") {\n if (this.tooltipRef.current && !this.tooltipManager) {\n this.tooltipManager = new TooltipManager(this.tooltipRef.current);\n }\n if (!!this.tooltipManager && !this.tooltipRef.current) {\n this.disposeTooltipManager();\n }\n }\n }\n componentWillUnmount() {\n if (!!this.tooltipManager) {\n this.disposeTooltipManager();\n }\n }\n private disposeTooltipManager() {\n this.tooltipManager?.dispose();\n this.tooltipManager = undefined;\n }\n protected renderElement(): JSX.Element {\n const errors: Array<JSX.Element> = [];\n for (let i = 0; i < this.element.errors.length; i++) {\n const key: string = \"error\" + i;\n errors.push(\n this.creator.renderError(key, this.element.errors[i], this.cssClasses)\n );\n }\n\n return (\n <div\n role=\"alert\"\n aria-live=\"polite\"\n className={this.element.cssError}\n id={this.id}\n ref={this.tooltipRef}\n >\n {errors}\n </div>\n );\n }\n}\n\nexport abstract class SurveyQuestionAndErrorsWrapped extends ReactSurveyElement {\n [index: string]: any;\n constructor(props: any) {\n super(props);\n }\n protected getStateElement(): Base {\n return this.question;\n }\n protected get question(): Question {\n return this.getQuestion();\n }\n protected get creator(): ISurveyCreator {\n return this.props.creator;\n }\n protected getQuestion(): Question {\n return this.props.question;\n }\n protected get itemCss(): string {\n return this.props.itemCss;\n }\n componentDidMount() {\n super.componentDidMount();\n this.doAfterRender();\n }\n componentDidUpdate(prevProps: any, prevState: any) {\n super.componentDidUpdate(prevProps, prevState);\n this.doAfterRender();\n }\n protected doAfterRender() { }\n protected canRender(): boolean {\n return !!this.question;\n }\n protected renderErrors(errorsLocation: string) {\n return this.getShowErrors() ? (\n <SurveyElementErrors\n element={this.question}\n cssClasses={this.cssClasses}\n creator={this.creator}\n location={errorsLocation}\n />\n ) : null;\n }\n protected renderContent(): JSX.Element {\n var errorsLocation = this.creator.questionErrorLocation();\n var errors = this.renderErrors(errorsLocation);\n var errorsTop = this.question.showErrorOnTop\n ? errors\n : null;\n var errorsBottom = this.question.showErrorOnBottom\n ? errors\n : null;\n var renderedQuestion = this.renderQuestion();\n return (\n <>\n {errorsTop}\n {renderedQuestion}\n {errorsBottom}\n </>\n );\n }\n protected abstract renderElement(): JSX.Element;\n protected getShowErrors(): boolean {\n return this.question.isVisible;\n }\n protected renderQuestion(): JSX.Element {\n return SurveyQuestion.renderQuestionBody(this.creator, this.question);\n }\n}\n\nexport class SurveyQuestionAndErrorsCell extends SurveyQuestionAndErrorsWrapped {\n [index: string]: any;\n protected cellRef: React.RefObject<HTMLTableCellElement>;\n constructor(props: any) {\n super(props);\n this.cellRef = React.createRef();\n }\n componentWillUnmount() {\n super.componentWillUnmount();\n if (this.question) {\n var el = this.cellRef.current;\n if (!!el) {\n el.removeAttribute(\"data-rendered\");\n }\n }\n }\n protected renderElement(): JSX.Element {\n var style = this.getCellStyle();\n var errorsTooltip = this.question.isErrorsModeTooltip\n ? this.renderErrors(\"tooltip\")\n : null;\n return (\n <td\n ref={this.cellRef}\n className={this.itemCss}\n colSpan={this.props.cell.colSpans}\n data-responsive-title={this.getHeaderText()}\n title={this.props.cell.getTitle()}\n style={style}\n >\n {this.wrapCell(this.props.cell,\n (\n <div className={this.cssClasses.cellQuestionWrapper}>\n {this.renderContent()}\n {errorsTooltip}\n </div>)\n )}\n </td>\n );\n }\n protected getCellStyle(): any {\n return null;\n }\n protected getHeaderText(): string {\n return \"\";\n }\n protected wrapCell(\n cell: QuestionMatrixDropdownRenderedCell,\n element: JSX.Element\n ): JSX.Element {\n if (!cell) {\n return element;\n }\n const survey: SurveyModel = this.question.survey as SurveyModel;\n let wrapper: JSX.Element | null = null;\n if (survey) {\n wrapper = ReactSurveyElementsWrapper.wrapMatrixCell(survey, element, cell, this.props.reason);\n }\n return wrapper ?? element;\n }\n}\n","import { SurveyQuestionElementBase } from \"./reactquestion_element\";\nimport React from \"react\";\nimport { ReactElementFactory } from \"./element-factory\";\nimport { SurveyElementBase } from \"./reactquestion_element\";\nimport { SvgIcon } from \"./components/svg-icon/svg-icon\";\nimport {\n QuestionButtonGroupModel,\n ButtonGroupItemValue,\n ButtonGroupItemModel,\n} from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\n\nexport class SurveyQuestionButtonGroup extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n }\n protected get question(): QuestionButtonGroupModel {\n return this.questionBase as QuestionButtonGroupModel;\n }\n getStateElement() {\n return this.question;\n }\n renderElement() {\n const items = this.renderItems();\n return <div className={this.question.cssClasses.root}>{items}</div>;\n }\n renderItems() {\n return this.question.visibleChoices.map(\n (item: ButtonGroupItemValue, index: number) => {\n return (\n <SurveyButtonGroupItem\n key={this.question.inputId + \"_\" + index}\n item={item}\n question={this.question}\n index={index}\n ></SurveyButtonGroupItem>\n );\n }\n );\n }\n}\n\nexport class SurveyButtonGroupItem extends SurveyElementBase<any, any> {\n public model: ButtonGroupItemModel;\n constructor(props: any) {\n super(props);\n }\n get index(): number {\n return this.props.index;\n }\n get question(): QuestionButtonGroupModel {\n return this.props.question;\n }\n get item(): ButtonGroupItemValue {\n return this.props.item;\n }\n getStateElement() {\n return this.item;\n }\n public renderElement() {\n this.model = new ButtonGroupItemModel(this.question, this.item, this.index);\n const icon = this.renderIcon();\n const input = this.renderInput();\n const caption = this.renderCaption();\n return (\n <label\n role=\"radio\"\n className={this.model.css.label}\n title={this.model.caption.renderedHtml}\n >\n {input}\n <div className={this.model.css.decorator}>\n {icon}\n {caption}\n </div>\n </label>\n );\n }\n protected renderIcon() {\n if (!!this.model.iconName) {\n return (\n <SvgIcon\n className={this.model.css.icon}\n iconName={this.model.iconName}\n size={this.model.iconSize || 24}\n ></SvgIcon>\n );\n }\n return null;\n }\n protected renderInput() {\n return (\n <input\n className={this.model.css.control}\n id={this.model.id}\n type=\"radio\"\n name={this.model.name}\n checked={this.model.selected}\n value={this.model.value}\n disabled={this.model.readOnly}\n onChange={() => {\n this.model.onChange();\n }}\n aria-required={this.model.isRequired}\n aria-label={this.model.caption.renderedHtml}\n aria-invalid={this.model.hasErrors}\n aria-describedby={this.model.describedBy}\n role=\"radio\"\n />\n );\n }\n protected renderCaption() {\n if (!this.model.showCaption) return null;\n let caption = this.renderLocString(this.model.caption);\n return (\n <span\n className={this.model.css.caption}\n title={this.model.caption.renderedHtml}\n >\n {caption}\n </span>\n );\n }\n}\n\n// ReactQuestionFactory.Instance.registerQuestion(\"buttongroup\", props => {\n// return React.createElement(SurveyQuestionButtonGroup, props);\n// });\n","import * as React from \"react\";\nimport {\n ReactSurveyElement,\n SurveyQuestionElementBase,\n} from \"./reactquestion_element\";\nimport { SurveyQuestionOtherValueItem } from \"./reactquestion_comment\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { ReactSurveyElementsWrapper } from \"./reactsurveymodel\";\nimport { Base, ItemValue, SurveyModel, QuestionCheckboxModel } from \"survey-core\";\nimport { ReactElementFactory } from \"./element-factory\";\n\nexport class SurveyQuestionCheckbox extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n }\n protected get question(): QuestionCheckboxModel {\n return this.questionBase as QuestionCheckboxModel;\n }\n protected renderElement(): JSX.Element {\n var cssClasses = this.question.cssClasses;\n return (\n <fieldset\n role=\"presentation\"\n className={this.question.getSelectBaseRootCss()}\n ref={(fieldset) => (this.setControl(fieldset))}\n >\n <legend role=\"presentation\" className={\"sv-hidden\"}></legend>\n {this.getHeader()}\n {this.question.hasColumns\n ? this.getColumnedBody(cssClasses)\n : this.getBody(cssClasses)}\n {this.getFooter()}\n {this.question.isOtherSelected ? this.renderOther() : null}\n </fieldset>\n );\n }\n\n protected getHeader() {\n if (this.question.hasHeadItems) {\n return this.question.headItems.map((item: any, ii: number) =>\n this.renderItem(\n \"item_h\" + ii,\n item,\n false,\n this.question.cssClasses\n )\n );\n }\n }\n protected getFooter() {\n if (this.question.hasFootItems) {\n return this.question.footItems.map((item: any, ii: number) =>\n this.renderItem(\n \"item_f\" + ii,\n item,\n false,\n this.question.cssClasses\n )\n );\n }\n }\n protected getColumnedBody(cssClasses: any) {\n return (\n <div className={cssClasses.rootMultiColumn}>\n {this.getColumns(cssClasses)}\n </div>\n );\n }\n protected getColumns(cssClasses: any) {\n return this.question.columns.map((column: any, ci: number) => {\n var items = column.map((item: any, ii: number) =>\n this.renderItem(\n \"item\" + ii,\n item,\n ci === 0 && ii === 0,\n cssClasses,\n \"\" + ci + ii\n )\n );\n return (\n <div key={\"column\" + ci} className={this.question.getColumnClass()} role=\"presentation\">\n {items}\n </div>\n );\n });\n }\n\n protected getBody(cssClasses: any): JSX.Element {\n if (this.question.blockedRow) {\n return <div className={cssClasses.rootRow}>{this.getItems(cssClasses, this.question.dataChoices)}</div>;\n }\n else return <>{this.getItems(cssClasses, this.question.bodyItems)}</>;\n }\n protected getItems(cssClasses: any, choices: Array<ItemValue>): Array<any> {\n var renderedItems:Array<JSX.Element> = [];\n for (var i = 0; i < choices.length; i++) {\n var item = choices[i];\n var key = \"item\" + i;\n var renderedItem = this.renderItem(key, item, i == 0, cssClasses, \"\" + i);\n if(!!renderedItem) {\n renderedItems.push(renderedItem);\n }\n }\n return renderedItems;\n }\n protected get textStyle(): any {\n return null;\n }\n protected renderOther(): JSX.Element {\n let cssClasses = this.question.cssClasses;\n return (\n <div className={this.question.getCommentAreaCss(true)}>\n <SurveyQuestionOtherValueItem\n question={this.question}\n otherCss={cssClasses.other}\n cssClasses={cssClasses}\n isDisplayMode={this.isDisplayMode}\n />\n </div>\n );\n }\n protected renderItem(\n key: string,\n item: any,\n isFirst: boolean,\n cssClasses: any,\n index?: string\n ): JSX.Element {\n const renderedItem = ReactElementFactory.Instance.createElement(this.question.itemComponent, {\n key: key,\n question: this.question,\n cssClasses: cssClasses,\n isDisplayMode: this.isDisplayMode,\n item: item,\n textStyle: this.textStyle,\n index: index,\n isFirst: isFirst,\n });\n const survey = this.question.survey as SurveyModel;\n let wrappedItem: JSX.Element | null = null;\n if (!!survey && !!renderedItem) {\n wrappedItem = ReactSurveyElementsWrapper.wrapItemValue(survey, renderedItem, this.question, item);\n }\n return wrappedItem ?? renderedItem;\n }\n}\nexport class SurveyQuestionCheckboxItem extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n }\n protected getStateElement(): Base {\n return this.item;\n }\n protected get question(): QuestionCheckboxModel {\n return this.props.question;\n }\n protected get item(): ItemValue {\n return this.props.item;\n }\n protected get textStyle(): any {\n return this.props.textStyle;\n }\n protected get isFirst(): any {\n return this.props.isFirst;\n }\n protected get index(): number {\n return this.props.index;\n }\n private get hideCaption(): boolean {\n return this.props.hideCaption === true;\n }\n public shouldComponentUpdate(nextProps: any, nextState: any): boolean {\n if (!super.shouldComponentUpdate(nextProps, nextState)) return false;\n if(!this.question) return false;\n return (\n !this.question.customWidget ||\n !!this.question.customWidgetData.isNeedRender ||\n !!this.question.customWidget.widgetJson.isDefaultRender ||\n !!this.question.customWidget.widgetJson.render\n );\n }\n handleOnChange = (event: any) => {\n this.question.clickItemHandler(this.item, event.target.checked);\n }\n selectAllChanged = (event: any) => {\n this.question.toggleSelectAll();\n }\n protected canRender(): boolean {\n return !!this.item && !!this.question;\n }\n protected renderElement(): JSX.Element {\n var isChecked = this.question.isItemSelected(this.item);\n return this.renderCheckbox(isChecked, null);\n }\n protected get inputStyle(): any {\n return null;//{ marginRight: \"3px\" };\n }\n protected renderCheckbox(\n isChecked: boolean,\n otherItem: JSX.Element | null\n ): JSX.Element {\n var id = this.question.getItemId(this.item);\n var text = !this.hideCaption ? this.renderLocString(this.item.locText) : \"\";\n let itemClass = this.question.getItemClass(this.item);\n let labelClass = this.question.getLabelClass(this.item);\n var onItemChanged =\n this.item == this.question.selectAllItem\n ? this.selectAllChanged\n : this.handleOnChange;\n const itemLabel = !this.hideCaption ? <span className={this.cssClasses.controlLabel}>{this.renderLocString(this.item.locText, this.textStyle)}</span> : null;\n\n return (\n <div className={itemClass} role=\"presentation\">\n <label className={labelClass} aria-label={this.question.getAriaItemLabel(this.item)}>\n <input\n className={this.cssClasses.itemControl}\n role=\"option\"\n type=\"checkbox\"\n name={this.question.name}\n value={this.item.value != \"selectall\" ? this.item.value : undefined}\n id={id}\n style={this.inputStyle}\n disabled={!this.question.getItemEnabled(this.item)}\n checked={isChecked}\n onChange={onItemChanged}\n aria-describedby={this.question.ariaDescribedBy}\n />\n {\n this.cssClasses.materialDecorator ?\n <span className={this.cssClasses.materialDecorator}>\n {this.question.itemSvgIcon ?\n <svg\n className={this.cssClasses.itemDecorator}\n >\n <use xlinkHref={this.question.itemSvgIcon}></use>\n </svg> :\n null\n }\n </span> :\n null\n }\n {itemLabel}\n </label>\n {otherItem}\n </div>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\"survey-checkbox-item\", (props: any) => {\n return React.createElement(SurveyQuestionCheckboxItem, props);\n});\n\nReactQuestionFactory.Instance.registerQuestion(\"checkbox\", (props) => {\n return React.createElement(SurveyQuestionCheckbox, props);\n});\n","import * as React from \"react\";\nimport { ReactSurveyElement, SurveyQuestionUncontrolledElement } from \"./reactquestion_element\";\nimport { QuestionCommentModel } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { CharacterCounterComponent } from \"./components/character-counter\";\n\nexport class SurveyQuestionComment extends SurveyQuestionUncontrolledElement<QuestionCommentModel> {\n constructor(props: any) {\n super(props);\n }\n protected renderElement(): JSX.Element {\n var onBlur: ((e: any) => void) | undefined = !this.question.isInputTextUpdate ? this.updateValueOnEvent : undefined;\n var onInput = (event: any) => {\n if (this.question.isInputTextUpdate) {\n this.updateValueOnEvent(event);\n } else {\n this.question.updateElement();\n }\n\n const newValue = event.target.value;\n this.question.updateRemainingCharacterCounter(newValue);\n };\n const placeholder = this.question.renderedPlaceholder;\n if (this.question.isReadOnlyRenderDiv()) {\n return <div>{this.question.value}</div>;\n }\n const counter = !!this.question.getMaxLength() ? (<CharacterCounterComponent counter={this.question.characterCounter} remainingCharacterCounter={this.question.cssClasses.remainingCharacterCounter}></CharacterCounterComponent>) : null;\n return (\n <>\n <textarea\n id={this.question.inputId}\n className={this.question.className}\n disabled={this.question.isInputReadOnly}\n readOnly={this.question.isInputReadOnly}\n ref={(textarea) => (this.setControl(textarea))}\n maxLength={this.question.getMaxLength()}\n placeholder={placeholder}\n onBlur={onBlur}\n onInput={onInput}\n onKeyDown={(event) => { this.question.onKeyDown(event); }}\n cols={this.question.cols}\n rows={this.question.rows}\n aria-required={this.question.a11y_input_ariaRequired}\n aria-label={this.question.a11y_input_ariaLabel}\n aria-labelledby={this.question.a11y_input_ariaLabelledBy}\n aria-invalid={this.question.a11y_input_ariaInvalid}\n aria-describedby={this.question.a11y_input_ariaDescribedBy}\n style={{ resize: this.question.resizeStyle }}\n />\n {counter}\n </>\n );\n }\n}\n\nexport class SurveyQuestionCommentItem extends ReactSurveyElement {\n protected canRender(): boolean {\n return !!this.props.question;\n }\n protected onCommentChange(event: any): void {\n this.props.question.onCommentChange(event);\n }\n protected onCommentInput(event: any): void {\n this.props.question.onCommentInput(event);\n }\n protected getComment(): string {\n return this.props.question.comment;\n }\n protected getId(): string {\n return this.props.question.commentId;\n }\n protected getPlaceholder(): string {\n return this.props.question.commentPlaceholder;\n }\n protected renderElement(): JSX.Element {\n let question = this.props.question;\n let className = this.props.otherCss || this.cssClasses.comment;\n let handleOnChange = (event: any) => {\n this.setState({ comment: event.target.value });\n this.onCommentChange(event);\n };\n const questionComment = this.getComment();\n let stateComment: string = !!this.state ? this.state.comment : undefined;\n if (stateComment !== undefined && stateComment.trim() !== questionComment) {\n stateComment = questionComment;\n }\n let comment = stateComment !== undefined ? stateComment : questionComment || \"\";\n\n if (question.isReadOnlyRenderDiv()) {\n return <div>{comment}</div>;\n }\n return (\n <textarea\n id={this.getId()}\n className={className}\n value={comment}\n disabled={this.isDisplayMode}\n maxLength={question.getOthersMaxLength()}\n placeholder={this.getPlaceholder()}\n onChange={handleOnChange}\n onBlur={(e) => { this.onCommentChange(e); handleOnChange(e); }}\n onInput={(e) => this.onCommentInput(e)}\n aria-required={question.isRequired}\n aria-label={question.locTitle.renderedHtml}\n style={{ resize: question.resizeStyle }}\n />\n );\n }\n}\nexport class SurveyQuestionOtherValueItem extends SurveyQuestionCommentItem {\n protected onCommentChange(event: any): void {\n this.props.question.onOtherValueChange(event);\n }\n protected onCommentInput(event: any): void {\n this.props.question.onOtherValueInput(event);\n }\n protected getComment(): string {\n return this.props.question.otherValue;\n }\n protected getId(): string {\n return this.props.question.otherId;\n }\n protected getPlaceholder(): string {\n return this.props.question.otherPlaceholder;\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"comment\", (props) => {\n return React.createElement(SurveyQuestionComment, props);\n});\n","import * as React from \"react\";\nimport { SurveyQuestionUncontrolledElement } from \"./reactquestion_element\";\nimport { SurveyQuestion } from \"./reactquestion\";\nimport { Base, QuestionCustomModel, QuestionCompositeModel } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { SurveyPanel } from \"./panel\";\n\nexport class SurveyQuestionCustom extends SurveyQuestionUncontrolledElement<QuestionCustomModel> {\n constructor(props: any) {\n super(props);\n }\n protected getStateElements(): Array<Base> {\n const res = super.getStateElements();\n if(!!this.question.contentQuestion) {\n res.push(this.question.contentQuestion);\n }\n return res;\n }\n protected renderElement(): JSX.Element {\n return SurveyQuestion.renderQuestionBody(\n this.creator,\n this.question.contentQuestion\n );\n }\n}\n\nexport class SurveyQuestionComposite extends SurveyQuestionUncontrolledElement<QuestionCompositeModel> {\n constructor(props: any) {\n super(props);\n }\n protected canRender(): boolean {\n return !!this.question.contentPanel;\n }\n protected renderElement(): JSX.Element {\n return (\n <SurveyPanel\n element={this.question.contentPanel}\n creator={this.creator}\n survey={this.question.survey}\n ></SurveyPanel>\n );\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"custom\", (props) => {\n return React.createElement(SurveyQuestionCustom, props);\n});\nReactQuestionFactory.Instance.registerQuestion(\"composite\", (props) => {\n return React.createElement(SurveyQuestionComposite, props);\n});\n","import * as React from \"react\";\nimport { Question } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { SurveyQuestionDropdownBase } from \"./dropdown-base\";\n\nexport class SurveyQuestionDropdown extends SurveyQuestionDropdownBase<Question> {\n constructor(props: any) {\n super(props);\n }\n\n protected renderElement(): JSX.Element {\n const cssClasses = this.question.cssClasses;\n const comment = this.question.isOtherSelected ? this.renderOther(cssClasses) : null;\n const select = this.renderSelect(cssClasses);\n return (\n <div className={this.question.renderCssRoot}>\n {select}\n {comment}\n </div>\n );\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"dropdown\", (props) => {\n return React.createElement(SurveyQuestionDropdown, props);\n});","import * as React from \"react\";\nimport { Base, ArrayChanges, SurveyModel, Helpers, PanelModel, LocalizableString, Question } from \"survey-core\";\nimport { ISurveyCreator } from \"./reactquestion\";\nimport { ReactElementFactory } from \"./element-factory\";\nimport { ReactSurveyElementsWrapper } from \"./reactsurveymodel\";\n\nexport class SurveyElementBase<P, S> extends React.Component<P, S> {\n public static renderLocString(\n locStr: LocalizableString,\n style: any = null,\n key?: string\n ): JSX.Element {\n return ReactElementFactory.Instance.createElement(locStr.renderAs, {\n locStr: locStr.renderAsData,\n style: style,\n key: key,\n });\n }\n public static renderQuestionDescription(question: Question | PanelModel): JSX.Element {\n var descriptionText = SurveyElementBase.renderLocString(question.locDescription);\n return <div style={question.hasDescription ? undefined : { display: \"none\" } } className={question.cssDescription}>{descriptionText}</div>;\n }\n private changedStatePropNameValue: string | undefined;\n constructor(props: any) {\n super(props);\n }\n componentDidMount() {\n this.makeBaseElementsReact();\n }\n componentWillUnmount() {\n this.unMakeBaseElementsReact();\n }\n componentDidUpdate(prevProps: any, prevState: any) {\n this.makeBaseElementsReact();\n }\n private _allowComponentUpdate = true;\n protected allowComponentUpdate() {\n this._allowComponentUpdate = true;\n this.forceUpdate();\n }\n protected denyComponentUpdate() {\n this._allowComponentUpdate = false;\n }\n shouldComponentUpdate(nextProps:any, nextState:any):boolean {\n if(this._allowComponentUpdate) {\n this.unMakeBaseElementsReact();\n }\n return this._allowComponentUpdate;\n }\n render(): JSX.Element | null {\n if (!this.canRender()) {\n return null;\n }\n\n this.startEndRendering(1);\n var res = this.renderElement();\n this.startEndRendering(-1);\n\n if(!!res) {\n res = this.wrapElement(res);\n }\n\n this.changedStatePropNameValue = undefined;\n return res;\n }\n protected wrapElement(element: JSX.Element): JSX.Element {\n return element;\n }\n protected get isRendering(): boolean {\n var stateEls: Array<any> = this.getRenderedElements();\n for(let stateEl of stateEls) {\n if(stateEl.reactRendering > 0) return true;\n }\n return false;\n }\n protected getRenderedElements(): Base[] {\n return this.getStateElements();\n }\n private startEndRendering(val: number) {\n var stateEls: Array<any> = this.getRenderedElements();\n for(let stateEl of stateEls) {\n if (!stateEl.reactRendering) stateEl.reactRendering = 0;\n stateEl.reactRendering += val;\n }\n }\n protected canRender(): boolean {\n return true;\n }\n protected renderElement(): JSX.Element | null {\n return null;\n }\n protected get changedStatePropName(): string | undefined {\n return this.changedStatePropNameValue;\n }\n private makeBaseElementsReact() {\n var els = this.getStateElements();\n for (var i = 0; i < els.length; i++) {\n this.makeBaseElementReact(els[i]);\n }\n }\n private unMakeBaseElementsReact() {\n var els = this.getStateElements();\n for (var i = 0; i < els.length; i++) {\n this.unMakeBaseElementReact(els[i]);\n }\n }\n protected getStateElements(): Array<Base> {\n var el = this.getStateElement();\n return !!el ? [el] : [];\n }\n protected getStateElement(): Base | null {\n return null;\n }\n protected get isDisplayMode(): boolean {\n const props: any = this.props;\n return props.isDisplayMode || false;\n }\n protected renderLocString(\n locStr: LocalizableString,\n style: any = null,\n key?: string\n ): JSX.Element {\n return SurveyElementBase.renderLocString(locStr, style, key);\n }\n private canMakeReact(stateElement: Base): boolean {\n return !!stateElement && !!stateElement.iteratePropertiesHash;\n }\n private makeBaseElementReact(stateElement: Base) {\n if (!this.canMakeReact(stateElement)) return;\n stateElement.iteratePropertiesHash((hash, key) => {\n if (!this.canUsePropInState(key)) return;\n var val: any = hash[key];\n if (Array.isArray(val)) {\n var val: any = val;\n val[\"onArrayChanged\"] = (arrayChanges: ArrayChanges) => {\n if (this.isRendering) return;\n this.changedStatePropNameValue = key;\n this.setState((state: any) => {\n var newState: { [index: string]: any } = {};\n newState[key] = val;\n return newState as S;\n });\n };\n }\n });\n stateElement.setPropertyValueCoreHandler = (\n hash: any,\n key: string,\n val: any\n ) => {\n if (hash[key] !== val) {\n hash[key] = val;\n if (!this.canUsePropInState(key)) return;\n if (this.isRendering) return;\n this.changedStatePropNameValue = key;\n this.setState((state: any) => {\n var newState: { [index: string]: any } = {};\n newState[key] = val;\n return newState as S;\n });\n }\n };\n }\n protected canUsePropInState(key: string): boolean {\n return true;\n }\n private unMakeBaseElementReact(stateElement: Base) {\n if (!this.canMakeReact(stateElement)) return;\n stateElement.setPropertyValueCoreHandler = undefined as any;\n stateElement.iteratePropertiesHash((hash, key) => {\n var val: any = hash[key];\n if (Array.isArray(val)) {\n var val: any = val;\n val[\"onArrayChanged\"] = () => {};\n }\n });\n }\n}\n\nexport class ReactSurveyElement extends SurveyElementBase<any, any> {\n constructor(props: any) {\n super(props);\n }\n protected get cssClasses(): any {\n return this.props.cssClasses;\n }\n}\n\nexport class SurveyQuestionElementBase extends SurveyElementBase<any, any> {\n control: HTMLElement;\n constructor(props: any) {\n super(props);\n }\n componentDidUpdate(prevProps: any, prevState: any) {\n super.componentDidUpdate(prevProps, prevState);\n this.updateDomElement();\n }\n componentDidMount() {\n super.componentDidMount();\n this.updateDomElement();\n }\n componentWillUnmount() {\n super.componentWillUnmount();\n if (!!this.questionBase) {\n const el: HTMLElement = this.control;\n this.questionBase.beforeDestroyQuestionElement(el);\n if (!!el) {\n el.removeAttribute(\"data-rendered\");\n }\n }\n }\n protected updateDomElement() {\n const el: HTMLElement = this.control;\n if (!!el) {\n if (el.getAttribute(\"data-rendered\") !== \"r\") {\n el.setAttribute(\"data-rendered\", \"r\");\n this.questionBase.afterRenderQuestionElement(el);\n }\n }\n }\n protected get questionBase(): Question {\n return this.props.question;\n }\n protected getRenderedElements(): Base[] {\n return [this.questionBase];\n }\n protected get creator(): ISurveyCreator {\n return this.props.creator;\n }\n protected canRender(): boolean {\n return !!this.questionBase && !!this.creator;\n }\n public shouldComponentUpdate(nextProps: any, nextState: any): boolean {\n if (!super.shouldComponentUpdate(nextProps, nextState)) return false;\n\n return (\n !this.questionBase.customWidget ||\n !!this.questionBase.customWidgetData.isNeedRender ||\n !!this.questionBase.customWidget.widgetJson.isDefaultRender ||\n !!this.questionBase.customWidget.widgetJson.render\n );\n }\n protected get isDisplayMode(): boolean {\n const props: any = this.props;\n return (\n props.isDisplayMode ||\n (!!this.questionBase && this.questionBase.isInputReadOnly) || false\n );\n }\n protected wrapCell(\n cell: any,\n element: JSX.Element,\n reason: string\n ): JSX.Element {\n if (!reason) {\n return element;\n }\n const survey: SurveyModel = this.questionBase\n .survey as SurveyModel;\n let wrapper: JSX.Element | null = null;\n if (survey) {\n wrapper = ReactSurveyElementsWrapper.wrapMatrixCell(survey, element, cell, reason);\n }\n return wrapper ?? element;\n }\n public setControl(element: HTMLElement | null): void {\n if(!!element) {\n this.control = element;\n }\n }\n}\n\nexport class SurveyQuestionUncontrolledElement<\n T extends Question\n> extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n this.updateValueOnEvent = this.updateValueOnEvent.bind(this);\n }\n protected get question(): T {\n return this.questionBase as T;\n }\n updateValueOnEvent = (event: any) => {\n if (\n !Helpers.isTwoValueEquals(this.questionBase.value, event.target.value, false, true)\n ) {\n this.setValueCore(event.target.value);\n }\n };\n protected setValueCore(newValue: any) {\n this.questionBase.value = newValue;\n }\n protected getValueCore(): any {\n return this.questionBase.value;\n }\n protected updateDomElement() {\n if (!!this.control) {\n const control: any = this.control;\n const newValue = this.getValueCore();\n if (!Helpers.isTwoValueEquals(newValue, control.value, false, true)) {\n control.value = this.getValue(newValue);\n }\n }\n super.updateDomElement();\n }\n private getValue(val: any): any {\n if (Helpers.isValueEmpty(val)) return \"\";\n return val;\n }\n}\n","import * as React from \"react\";\nimport { SurveyQuestionElementBase } from \"./reactquestion_element\";\nimport { QuestionEmptyModel } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\n\nexport class SurveyQuestionEmpty extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n this.state = { value: this.question.value };\n }\n protected get question(): QuestionEmptyModel {\n return this.questionBase as QuestionEmptyModel;\n }\n protected renderElement(): JSX.Element {\n return <div />;\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"empty\", (props) => {\n return React.createElement(SurveyQuestionEmpty, props);\n});\n","import * as React from \"react\";\nimport { SurveyQuestionElementBase } from \"./reactquestion_element\";\nimport { QuestionExpressionModel } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\n\nexport class SurveyQuestionExpression extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n }\n protected get question(): QuestionExpressionModel {\n return this.questionBase as QuestionExpressionModel;\n }\n protected renderElement(): JSX.Element {\n var cssClasses = this.question.cssClasses;\n return (\n <div\n id={this.question.inputId}\n className={cssClasses.root}\n ref={(div) => (this.setControl(div))}\n >\n {this.question.formatedValue}\n </div>\n );\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"expression\", (props) => {\n return React.createElement(SurveyQuestionExpression, props);\n});\n","import { HashTable } from \"survey-core\";\n\nexport class ReactQuestionFactory {\n public static Instance: ReactQuestionFactory = new ReactQuestionFactory();\n private creatorHash: HashTable<(name: string) => JSX.Element> = {};\n\n public registerQuestion(\n questionType: string,\n questionCreator: (name: string) => JSX.Element\n ) {\n this.creatorHash[questionType] = questionCreator;\n }\n public getAllTypes(): Array<string> {\n var result = new Array<string>();\n for (var key in this.creatorHash) {\n result.push(key);\n }\n return result.sort();\n }\n public createQuestion(questionType: string, params: any): JSX.Element | null {\n var creator = this.creatorHash[questionType];\n if (creator == null) return null;\n return creator(params);\n }\n}\n","import * as React from \"react\";\nimport { QuestionFileModel } from \"survey-core\";\nimport { SurveyActionBar } from \"./components/action-bar/action-bar\";\nimport { SvgIcon } from \"./components/svg-icon/svg-icon\";\nimport { SurveyQuestionElementBase } from \"./reactquestion_element\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { attachKey2click } from \"./reactSurvey\";\n\nexport class SurveyQuestionFile extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n }\n protected get question(): QuestionFileModel {\n return this.questionBase as QuestionFileModel;\n }\n protected renderElement(): JSX.Element {\n var preview = this.renderPreview();\n var fileInput: JSX.Element | null = null;\n var fileDecorator = this.renderFileDecorator();\n var clearButton = this.renderClearButton(\n this.question.showRemoveButton\n );\n var clearButtonBottom = this.renderClearButton(\n this.question.showRemoveButtonBottom\n );\n\n let mobileFileNavigator = this.question.mobileFileNavigatorVisible?(<SurveyActionBar model = {this.question.mobileFileNavigator}></SurveyActionBar>):null;\n fileInput = (\n this.isDisplayMode ?\n <input\n type=\"file\"\n disabled={this.isDisplayMode}\n className={!this.isDisplayMode ? this.question.cssClasses.fileInput : this.question.getReadOnlyFileCss()}\n id={this.question.inputId}\n ref={input => (this.setControl(input))}\n style={!this.isDisplayMode ? {} : { color: \"transparent\" }}\n onChange={!this.isDisplayMode ? this.question.doChange : (() => {})}\n multiple={this.question.allowMultiple}\n placeholder={this.question.title}\n accept={this.question.acceptedTypes}\n />\n :\n <input\n type=\"file\"\n disabled={this.isDisplayMode}\n tabIndex={-1}\n className={!this.isDisplayMode ? this.question.cssClasses.fileInput : this.question.getReadOnlyFileCss()}\n id={this.question.inputId}\n ref={input => (this.setControl(input))}\n style={!this.isDisplayMode ? {} : { color: \"transparent\" }}\n onChange={!this.isDisplayMode ? this.question.doChange : (() => {})}\n aria-required={this.question.ariaRequired}\n aria-label={this.question.ariaLabel}\n aria-invalid={this.question.ariaInvalid}\n aria-describedby={this.question.ariaDescribedBy}\n multiple={this.question.allowMultiple}\n title={this.question.inputTitle}\n accept={this.question.acceptedTypes}\n capture={this.question.renderCapture}\n />\n );\n return (\n <div className={this.question.fileRootCss}>\n {fileInput}\n <div\n className={this.question.cssClasses.dragArea}\n onDrop={this.question.onDrop}\n onDragOver={this.question.onDragOver}\n onDragLeave={this.question.onDragLeave}\n onDragEnter={this.question.onDragEnter}\n >\n {fileDecorator}\n {clearButton}\n {preview}\n {clearButtonBottom}\n {mobileFileNavigator}\n </div>\n </div>\n );\n }\n protected renderFileDecorator(): JSX.Element {\n const questionCss = this.question.cssClasses;\n let noFileChosen: JSX.Element | null = null;\n let chooseFile: JSX.Element | null = null;\n chooseFile = attachKey2click(\n <label\n role=\"button\"\n tabIndex={0}\n className={this.question.getChooseFileCss()}\n htmlFor={this.question.inputId}\n aria-label={this.question.chooseButtonCaption}\n >\n <span>{this.question.chooseButtonCaption}</span>\n {(!!this.question.cssClasses.chooseFileIconId) ? <SvgIcon title={this.question.chooseButtonCaption} iconName={this.question.cssClasses.chooseFileIconId} size={\"auto\"}></SvgIcon>: null }\n </label>\n );\n if (this.question.isEmpty()) {\n noFileChosen = (\n <span className={this.question.cssClasses.noFileChosen}>\n {this.question.noFileChosenCaption}\n </span>\n );\n }\n return (\n <div\n className={this.question.getFileDecoratorCss()}\n >\n <span className={this.question.cssClasses.dragAreaPlaceholder}>{this.question.dragAreaPlaceholder}</span>\n <div className={this.question.cssClasses.wrapper}>\n {chooseFile}\n {noFileChosen}\n </div>\n </div>\n );\n }\n protected renderClearButton(className: string): JSX.Element | null {\n return className ? (\n <button type=\"button\" onClick={this.question.doClean} className={className}>\n <span>{this.question.clearButtonCaption}</span>\n {(!!this.question.cssClasses.removeButtonIconId) ? <SvgIcon iconName={this.question.cssClasses.removeButtonIconId} size={\"auto\"} title={this.question.clearButtonCaption}></SvgIcon>: null }\n </button>\n ) : null;\n }\n protected renderFileSign(className: string, val: any): JSX.Element | null {\n if(!className || !val.name) return null;\n return (\n <div className={className}>\n <a\n href={val.content}\n onClick={event => {\n this.question.doDownloadFile(event, val);\n }}\n title={val.name}\n download={val.name}\n style={{ width: this.question.imageWidth }}\n >\n {val.name}\n </a>\n </div>\n );\n }\n protected renderPreview(): JSX.Element | null {\n if (!this.question.previewValue || !this.question.previewValue.length) return null;\n var previews = this.question.previewValue.map((val, index) => {\n if (!val) return null;\n return (\n <span\n key={this.question.inputId + \"_\" + index}\n className={this.question.cssClasses.preview}\n style={{ display: this.question.isPreviewVisible(index) ? undefined : \"none\" }}\n >\n {this.renderFileSign(this.question.cssClasses.fileSign, val)}\n <div className={this.question.cssClasses.imageWrapper}>\n {this.question.canPreviewImage(val) ? (\n <img\n src={val.content}\n style={{ height: this.question.imageHeight, width: this.question.imageWidth }}\n alt=\"File preview\"\n />\n ) : (this.question.cssClasses.defaultImage?(\n <SvgIcon iconName={this.question.cssClasses.defaultImageIconId} size={\"auto\"} className={this.question.cssClasses.defaultImage}></SvgIcon>\n ):null)}\n {val.name && !this.question.isReadOnly ? (\n <div className={this.question.cssClasses.removeFileButton} onClick={() => this.question.doRemoveFile(val)}>\n <span\n className={this.question.cssClasses.removeFile}\n >\n {this.question.removeFileCaption}\n </span>\n {(this.question.cssClasses.removeFileSvgIconId) ?\n (<SvgIcon title={this.question.removeFileCaption} iconName={this.question.cssClasses.removeFileSvgIconId} size={\"auto\"} className={this.question.cssClasses.removeFileSvg}></SvgIcon>): null }\n </div>\n ) : null}\n </div>\n {this.renderFileSign(this.question.cssClasses.fileSignBottom, val)}\n </span>\n );\n });\n return <div className={this.question.cssClasses.fileList || undefined}>{previews}</div>;\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"file\", props => {\n return React.createElement(SurveyQuestionFile, props);\n});\n","import * as React from \"react\";\nimport { SurveyQuestionElementBase } from \"./reactquestion_element\";\nimport { QuestionHtmlModel } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\n\nexport class SurveyQuestionHtml extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n }\n protected get question(): QuestionHtmlModel {\n return this.questionBase as QuestionHtmlModel;\n }\n componentDidMount() {\n this.reactOnStrChanged();\n }\n componentWillUnmount() {\n this.question.locHtml.onChanged = function () {};\n }\n componentDidUpdate(prevProps: any, prevState: any) {\n this.reactOnStrChanged();\n }\n private reactOnStrChanged() {\n this.question.locHtml.onChanged = () => {\n this.setState({ changed: !!this.state && this.state.changed ? this.state.changed + 1 : 1 });\n };\n }\n protected canRender(): boolean {\n return super.canRender() && !!this.question.html;\n }\n protected renderElement(): JSX.Element {\n var htmlValue = { __html: this.question.locHtml.renderedHtml };\n return (\n <div\n className={this.question.renderCssRoot}\n dangerouslySetInnerHTML={htmlValue}\n />\n );\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"html\", (props) => {\n return React.createElement(SurveyQuestionHtml, props);\n});\n","import * as React from \"react\";\nimport {\n ReactSurveyElement,\n SurveyQuestionElementBase,\n} from \"./reactquestion_element\";\nimport { QuestionMatrixModel, MatrixRowModel, SurveyModel, Helpers } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { ReactSurveyElementsWrapper } from \"./reactsurveymodel\";\n\nexport class SurveyQuestionMatrix extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n this.state = { rowsChanged: 0 };\n }\n protected get question(): QuestionMatrixModel {\n return this.questionBase as QuestionMatrixModel;\n }\n componentDidMount() {\n super.componentDidMount();\n if (this.question) {\n var self = this;\n this.question.visibleRowsChangedCallback = function() {\n self.setState({ rowsChanged: self.state.rowsChanged + 1 });\n };\n }\n }\n componentWillUnmount() {\n super.componentWillUnmount();\n if (this.question) {\n this.question.visibleRowsChangedCallback = null as any;\n }\n }\n\n protected renderElement(): JSX.Element {\n var cssClasses = this.question.cssClasses;\n var rowsTH = this.question.hasRows ? <td /> : null;\n var headers:Array<JSX.Element> = [];\n for (var i = 0; i < this.question.visibleColumns.length; i++) {\n var column = this.question.visibleColumns[i];\n var key = \"column\" + i;\n var columText = this.renderLocString(column.locText);\n const style: any = {};\n if (!!this.question.columnMinWidth) {\n style.minWidth = this.question.columnMinWidth;\n style.width = this.question.columnMinWidth;\n }\n headers.push(\n <th className={this.question.cssClasses.headerCell} style={style} key={key}>\n {this.wrapCell({ column: column }, columText, \"column-header\")}\n </th>\n );\n }\n var rows:Array<JSX.Element> = [];\n var visibleRows = this.question.visibleRows;\n for (var i = 0; i < visibleRows.length; i++) {\n var row = visibleRows[i];\n var key = \"row-\" + row.name + \"-\" + i;\n rows.push(\n <SurveyQuestionMatrixRow\n key={key}\n question={this.question}\n cssClasses={cssClasses}\n isDisplayMode={this.isDisplayMode}\n row={row}\n isFirst={i == 0}\n />\n );\n }\n var header = !this.question.showHeader ? null : (\n <thead>\n <tr>\n {rowsTH}\n {headers}\n </tr>\n </thead>\n );\n return (\n <div\n className={cssClasses.tableWrapper}\n ref={root => (this.setControl(root))}\n >\n <fieldset>\n <legend aria-label={this.question.locTitle.renderedHtml} />\n <table className={this.question.getTableCss()}>\n {header}\n <tbody>{rows}</tbody>\n </table>\n </fieldset>\n </div>\n );\n }\n}\n\nexport class SurveyQuestionMatrixRow extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n this.handleOnChange = this.handleOnChange.bind(this);\n this.handleOnMouseDown = this.handleOnMouseDown.bind(this);\n }\n private get question(): QuestionMatrixModel {\n return this.props.question;\n }\n private get row(): MatrixRowModel {\n return this.props.row;\n }\n handleOnChange(event: any) {\n this.row.value = event.target.value;\n this.setState({ value: this.row.value });\n }\n handleOnMouseDown(event: any) {\n this.question.onMouseDown();\n }\n protected wrapCell(cell: any, element: JSX.Element, reason: string): JSX.Element {\n if(!reason) {\n return element;\n }\n const survey: SurveyModel = this.question.survey as SurveyModel;\n let wrapper: JSX.Element | null = null;\n if (survey) {\n wrapper = ReactSurveyElementsWrapper.wrapMatrixCell(survey, element, cell, reason);\n }\n return wrapper ?? element;\n }\n protected canRender(): boolean {\n return !!this.row;\n }\n protected renderElement(): JSX.Element {\n var rowsTD: JSX.Element | null = null;\n\n if (this.question.hasRows) {\n var rowText = this.renderLocString(this.row.locText);\n const style: any = {};\n if (!!this.question.rowTitleWidth) {\n style.minWidth = this.question.rowTitleWidth;\n style.width = this.question.rowTitleWidth;\n }\n rowsTD = <td style={style} className={this.question.cssClasses.rowTextCell}>\n {this.wrapCell({ row: this.row }, rowText, \"row-header\")}\n </td>;\n }\n\n var tds = this.generateTds();\n return (\n <tr className={this.row.rowClasses || undefined}>\n {rowsTD}\n {tds}\n </tr>\n );\n }\n\n generateTds() {\n var tds:Array<JSX.Element> = [];\n var row = this.row;\n\n for (var i = 0; i < this.question.visibleColumns.length; i++) {\n var td: JSX.Element | null = null;\n var column = this.question.visibleColumns[i];\n var key = \"value\" + i;\n\n var isChecked = row.value == column.value;\n let itemClass = this.question.getItemClass(row, column);\n var inputId = this.question.inputId + \"_\" + row.name + \"_\" + i;\n if (this.question.hasCellText) {\n var getHandler = !this.question.isInputReadOnly\n ? (column: any) => () => this.cellClick(row, column)\n : null;\n td = (\n <td\n key={key}\n className={itemClass}\n onClick={getHandler ? getHandler(column) : () => {}}\n >\n {this.renderLocString(\n this.question.getCellDisplayLocText(row.name, column)\n )}\n </td>\n );\n } else {\n td = (\n <td\n key={key}\n data-responsive-title={column.locText.renderedHtml}\n className={this.question.cssClasses.cell}\n >\n <label onMouseDown={this.handleOnMouseDown} className={itemClass}>\n <input\n id={inputId}\n type=\"radio\"\n className={this.cssClasses.itemValue}\n name={row.fullName}\n value={column.value}\n disabled={this.isDisplayMode}\n checked={isChecked}\n onChange={this.handleOnChange}\n aria-required={this.question.ariaRequired}\n aria-label={column.locText.renderedHtml}\n aria-invalid={this.question.ariaInvalid}\n aria-describedby={this.question.ariaDescribedBy}\n />\n <span className={this.question.cssClasses.materialDecorator}>\n {this.question.itemSvgIcon ?\n <svg\n className={this.cssClasses.itemDecorator}\n >\n <use xlinkHref={this.question.itemSvgIcon}></use>\n </svg> :\n null\n }\n </span>\n <span style={!this.question.isMobile ? { display: \"none\" } : undefined } className={this.question.cssClasses.cellResponsiveTitle}>\n {this.renderLocString(column.locText)}\n </span>\n </label>\n </td>\n );\n }\n tds.push(td);\n }\n\n return tds;\n }\n cellClick(row: any, column: any) {\n row.value = column.value;\n this.setState({ value: this.row.value });\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"matrix\", props => {\n return React.createElement(SurveyQuestionMatrix, props);\n});\n","import * as React from \"react\";\nimport { SurveyQuestionMatrixDropdownBase } from \"./reactquestion_matrixdropdownbase\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\n\nexport class SurveyQuestionMatrixDropdown extends SurveyQuestionMatrixDropdownBase {\n constructor(props: any) {\n super(props);\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"matrixdropdown\", props => {\n return React.createElement(SurveyQuestionMatrixDropdown, props);\n});\n","import * as React from \"react\";\nimport {\n ReactSurveyElement,\n SurveyQuestionElementBase\n} from \"./reactquestion_element\";\nimport { SurveyQuestion, SurveyQuestionAndErrorsCell } from \"./reactquestion\";\nimport {\n QuestionMatrixDropdownModelBase,\n QuestionMatrixDropdownRenderedRow,\n QuestionMatrixDropdownRenderedCell,\n MatrixDropdownColumn,\n AdaptiveActionContainer,\n Question,\n Base\n} from \"survey-core\";\nimport { SurveyQuestionCheckboxItem } from \"./reactquestion_checkbox\";\nimport { SurveyQuestionRadioItem } from \"./reactquestion_radiogroup\";\nimport { SurveyPanel } from \"./panel\";\nimport { SurveyActionBar } from \"./components/action-bar/action-bar\";\nimport { MatrixRow } from \"./components/matrix/row\";\nimport { SurveyQuestionMatrixDynamicDragDropIcon } from \"./components/matrix-actions/drag-drop-icon/drag-drop-icon\";\nimport { SurveyQuestionOtherValueItem } from \"./reactquestion_comment\";\nimport { ReactElementFactory } from \"./element-factory\";\n\nexport class SurveyQuestionMatrixDropdownBase extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n //Create rendered table in contructor and not on rendering\n const table = this.question.renderedTable;\n this.state = this.getState();\n }\n protected get question(): QuestionMatrixDropdownModelBase {\n return this.questionBase as QuestionMatrixDropdownModelBase;\n }\n private getState(prevState: any = null) {\n return { rowCounter: !prevState ? 0 : prevState.rowCounter + 1 };\n }\n private updateStateOnCallback() {\n if (this.isRendering) return;\n this.setState(this.getState(this.state));\n }\n componentDidMount() {\n super.componentDidMount();\n this.question.visibleRowsChangedCallback = () => {\n this.updateStateOnCallback();\n };\n this.question.onRenderedTableResetCallback = () => {\n this.question.renderedTable.renderedRowsChangedCallback = () => {\n this.updateStateOnCallback();\n };\n this.updateStateOnCallback();\n };\n this.question.renderedTable.renderedRowsChangedCallback = () => {\n this.updateStateOnCallback();\n };\n }\n componentWillUnmount() {\n super.componentWillUnmount();\n this.question.visibleRowsChangedCallback = () => {};\n this.question.onRenderedTableResetCallback = () => {};\n this.question.renderedTable.renderedRowsChangedCallback = () => {};\n }\n protected renderElement(): JSX.Element {\n return this.renderTableDiv();\n }\n renderTableDiv(): JSX.Element {\n var header = this.renderHeader();\n var footers = this.renderFooter();\n var rows = this.renderRows();\n var divStyle = this.question.showHorizontalScroll\n ? ({ overflowX: \"scroll\" } as React.CSSProperties)\n : ({} as React.CSSProperties);\n return (\n <div style={divStyle} className={this.question.cssClasses.tableWrapper} ref={(root) => (this.setControl(root))}>\n <table className={this.question.getTableCss()}>\n {header}\n {rows}\n {footers}\n </table>\n </div>\n );\n }\n renderHeader(): JSX.Element | null {\n var table = this.question.renderedTable;\n if (!table.showHeader) return null;\n var headers: any[] = [];\n var cells = table.headerRow.cells;\n for (var i = 0; i < cells.length; i++) {\n var cell = cells[i];\n var key = \"column\" + i;\n var columnStyle: any = {};\n if (!!cell.width) {\n columnStyle.width = cell.width;\n }\n if (!!cell.minWidth) {\n columnStyle.minWidth = cell.minWidth;\n }\n var cellContent = this.renderCellContent(cell, \"column-header\", {});\n const header = cell.hasTitle ?\n <th className={cell.className} key={key} style={columnStyle}> {cellContent} </th>\n : <td className={cell.className} key={key} style={columnStyle}></td>;\n headers.push(header);\n }\n return (\n <thead>\n <tr>{headers}</tr>\n </thead>\n );\n }\n renderFooter(): JSX.Element | null {\n var table = this.question.renderedTable;\n if (!table.showFooter) return null;\n var row = this.renderRow(\n \"footer\",\n table.footerRow,\n this.question.cssClasses,\n \"row-footer\"\n );\n return <tfoot>{row}</tfoot>;\n }\n renderRows(): JSX.Element {\n var cssClasses = this.question.cssClasses;\n var rows:Array<JSX.Element> = [];\n var renderedRows = this.question.renderedTable.rows;\n for (var i = 0; i < renderedRows.length; i++) {\n rows.push(\n this.renderRow(renderedRows[i].id, renderedRows[i], cssClasses)\n );\n }\n return <tbody>{rows}</tbody>;\n }\n renderRow(\n keyValue: any,\n row: QuestionMatrixDropdownRenderedRow,\n cssClasses: any,\n reason?: string\n ): JSX.Element {\n var matrixrow:Array<JSX.Element> = [];\n var cells = row.cells;\n\n for (var i = 0; i < cells.length; i++) {\n matrixrow.push(this.renderCell(cells[i], i, cssClasses, reason));\n }\n var key = \"row\" + keyValue;\n\n return (\n <React.Fragment key={key}>\n <MatrixRow model={row} parentMatrix={this.question}>{matrixrow}</MatrixRow>\n </React.Fragment>\n );\n }\n\n renderCell(\n cell: QuestionMatrixDropdownRenderedCell,\n index: number,\n cssClasses: any,\n reason?: string\n ): JSX.Element {\n var key = \"cell\" + index;\n if (cell.hasQuestion) {\n return (\n <SurveyQuestionMatrixDropdownCell\n key={key}\n cssClasses={cssClasses}\n cell={cell}\n creator={this.creator}\n reason={reason}\n />\n );\n }\n let calcReason = reason;\n if(!calcReason) {\n calcReason = cell.hasTitle ? \"row-header\" : \"\";\n }\n var cellContent = this.renderCellContent(cell, calcReason, cssClasses);\n var cellStyle: any = null;\n if (!!cell.width || !!cell.minWidth) {\n cellStyle = {};\n if (!!cell.width) cellStyle.width = cell.width;\n if (!!cell.minWidth) cellStyle.minWidth = cell.minWidth;\n }\n\n return (\n <td\n className={cell.className}\n key={key}\n style={cellStyle}\n colSpan={cell.colSpans}\n data-responsive-title={cell.headers}\n title={cell.getTitle()}\n >\n {cellContent}\n </td>\n );\n }\n private renderCellContent(\n cell: QuestionMatrixDropdownRenderedCell,\n reason: string,\n cssClasses: any\n ): JSX.Element | null {\n var cellContent: JSX.Element | null = null;\n var cellStyle: any = null;\n if (!!cell.width || !!cell.minWidth) {\n cellStyle = {};\n if (!!cell.width) cellStyle.width = cell.width;\n if (!!cell.minWidth) cellStyle.minWidth = cell.minWidth;\n }\n if (cell.hasTitle) {\n reason = \"row-header\";\n const str = this.renderLocString(cell.locTitle);\n const require = !!cell.column ? <SurveyQuestionMatrixHeaderRequired column={cell.column} question={this.question}/> : null;\n cellContent = (<>{str}{require}</>);\n }\n if (cell.isDragHandlerCell) {\n cellContent = (<>\n <SurveyQuestionMatrixDynamicDragDropIcon item={{ data: { row: cell.row, question: this.question } }}/>\n </>);\n }\n if (cell.isActionsCell) {\n cellContent = (\n ReactElementFactory.Instance.createElement(\"sv-matrixdynamic-actions-cell\", {\n question: this.question, cssClasses, cell, model: cell.item.getData()\n })\n );\n }\n if (cell.hasPanel) {\n cellContent = (\n <SurveyPanel\n key={cell.panel.id}\n element={cell.panel}\n survey={this.question.survey}\n cssClasses={cssClasses}\n isDisplayMode={this.isDisplayMode}\n creator={this.creator}\n />\n );\n }\n if (!cellContent) return null;\n\n const readyCell = (\n <>\n {cellContent}\n </>\n );\n return this.wrapCell(cell, readyCell, reason);\n }\n}\n\nclass SurveyQuestionMatrixActionsCell extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n }\n get model(): AdaptiveActionContainer {\n return this.props.model;\n }\n protected renderElement(): JSX.Element {\n return (\n <SurveyActionBar model={this.model} handleClick={false}></SurveyActionBar>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\n \"sv-matrixdynamic-actions-cell\",\n (props) => {\n return React.createElement(SurveyQuestionMatrixActionsCell, props);\n }\n);\nclass SurveyQuestionMatrixHeaderRequired extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n }\n get column(): MatrixDropdownColumn {\n return this.props.column;\n }\n get question(): Question {\n return this.props.question;\n }\n protected getStateElement(): Base {\n return this.column;\n }\n protected renderElement(): JSX.Element | null {\n if(!this.column.isRenderedRequired) return null;\n return (\n <>\n <span className={this.question.cssClasses.cellRequiredText}>{this.column.requiredText}</span>\n </>\n );\n }\n}\n\nexport class SurveyQuestionMatrixDropdownCell extends SurveyQuestionAndErrorsCell {\n constructor(props: any) {\n super(props);\n }\n private get cell(): QuestionMatrixDropdownRenderedCell {\n return this.props.cell;\n }\n protected get itemCss(): string {\n return !!this.cell ? this.cell.className : \"\";\n }\n protected getQuestion(): Question | any {\n var q = super.getQuestion();\n if (!!q) return q;\n return !!this.cell ? this.cell.question : null;\n }\n protected doAfterRender() {\n var el = this.cellRef.current;\n if (\n el &&\n this.cell &&\n this.question &&\n this.question.survey &&\n el.getAttribute(\"data-rendered\") !== \"r\"\n ) {\n el.setAttribute(\"data-rendered\", \"r\");\n var options = {\n cell: this.cell,\n cellQuestion: this.question,\n htmlElement: el,\n row: this.cell.row,\n column: this.cell.cell.column,\n };\n this.question.survey.matrixAfterCellRender(this.question, options);\n }\n }\n protected getShowErrors(): boolean {\n return (\n this.question.isVisible &&\n (!this.cell.isChoice || this.cell.isFirstChoice)\n );\n }\n protected getCellStyle(): any {\n var res: any = super.getCellStyle();\n if (!!this.cell.width || !!this.cell.minWidth) {\n if (!res) res = {};\n if (!!this.cell.width) res.width = this.cell.width;\n if (!!this.cell.minWidth) res.minWidth = this.cell.minWidth;\n }\n\n return res;\n }\n\n protected getHeaderText(): string {\n return this.cell.headers;\n }\n protected renderQuestion(): JSX.Element {\n if (!this.cell.isChoice)\n return SurveyQuestion.renderQuestionBody(this.creator, this.question);\n if (this.cell.isOtherChoice) return this.renderOtherComment();\n if (this.cell.isCheckbox) return this.renderCellCheckboxButton();\n return this.renderCellRadiogroupButton();\n }\n private renderOtherComment(): JSX.Element {\n const question = this.cell.question;\n const cssClasses = question.cssClasses || {};\n return <SurveyQuestionOtherValueItem question={question} cssClasses={cssClasses} otherCss={cssClasses.other} isDisplayMode={question.isInputReadOnly} />;\n }\n private renderCellCheckboxButton(): JSX.Element {\n var key = this.cell.question.id + \"item\" + this.cell.choiceIndex;\n return (\n <SurveyQuestionCheckboxItem\n key={key}\n question={this.cell.question}\n cssClasses={this.cell.question.cssClasses}\n isDisplayMode={this.cell.question.isInputReadOnly}\n item={this.cell.item}\n isFirst={this.cell.isFirstChoice}\n index={this.cell.choiceIndex.toString()}\n hideCaption={true}\n />\n );\n }\n private renderCellRadiogroupButton(): JSX.Element {\n var key = this.cell.question.id + \"item\" + this.cell.choiceIndex;\n return (\n <SurveyQuestionRadioItem\n key={key}\n question={this.cell.question}\n cssClasses={this.cell.question.cssClasses}\n isDisplayMode={this.cell.question.isInputReadOnly}\n item={this.cell.item}\n index={this.cell.choiceIndex.toString()}\n isChecked={this.cell.question.value === this.cell.item.value}\n isDisabled={this.cell.question.isReadOnly || !this.cell.item.isEnabled}\n hideCaption={true}\n />\n );\n }\n}\n","import * as React from \"react\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { SurveyQuestionMatrixDropdownBase } from \"./reactquestion_matrixdropdownbase\";\nimport { QuestionMatrixDynamicModel } from \"survey-core\";\nimport { ReactElementFactory } from \"./element-factory\";\nimport { ReactSurveyElement } from \"./reactquestion_element\";\n\nexport class SurveyQuestionMatrixDynamic extends SurveyQuestionMatrixDropdownBase {\n constructor(props: any) {\n super(props);\n this.handleOnRowAddClick = this.handleOnRowAddClick.bind(this);\n }\n protected get matrix(): QuestionMatrixDynamicModel {\n return this.questionBase as QuestionMatrixDynamicModel;\n }\n handleOnRowAddClick(event: any) {\n this.matrix.addRowUI();\n }\n protected renderElement(): JSX.Element {\n var cssClasses = this.question.cssClasses;\n var showTable = this.question.renderedTable.showTable;\n var mainDiv = showTable\n ? this.renderTableDiv()\n : this.renderNoRowsContent(cssClasses);\n return (\n <div>\n {this.renderAddRowButtonOnTop(cssClasses)}\n {mainDiv}\n {this.renderAddRowButtonOnBottom(cssClasses)}\n </div>\n );\n }\n protected renderAddRowButtonOnTop(cssClasses: any): JSX.Element | null {\n if (!this.matrix.renderedTable.showAddRowOnTop) return null;\n return this.renderAddRowButton(cssClasses);\n }\n protected renderAddRowButtonOnBottom(cssClasses: any): JSX.Element | null {\n if (!this.matrix.renderedTable.showAddRowOnBottom) return null;\n return this.renderAddRowButton(cssClasses);\n }\n protected renderNoRowsContent(cssClasses: any): JSX.Element {\n const text: JSX.Element = this.renderLocString(this.matrix.locEmptyRowsText);\n const textDiv: JSX.Element = <div className={cssClasses.emptyRowsText}>{text}</div>;\n const btn: JSX.Element = this.renderAddRowButton(cssClasses, true);\n return (\n <div className={cssClasses.emptyRowsSection}>\n {textDiv}\n {btn}\n </div>\n );\n }\n protected renderAddRowButton(\n cssClasses: any,\n isEmptySection: boolean = false\n ): JSX.Element {\n return ReactElementFactory.Instance.createElement(\"sv-matrixdynamic-add-btn\", {\n question: this.question, cssClasses, isEmptySection\n });\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"matrixdynamic\", (props) => {\n return React.createElement(SurveyQuestionMatrixDynamic, props);\n});\n\nexport class SurveyQuestionMatrixDynamicAddButton extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n this.handleOnRowAddClick = this.handleOnRowAddClick.bind(this);\n }\n protected get matrix(): QuestionMatrixDynamicModel {\n return this.props.question as QuestionMatrixDynamicModel;\n }\n handleOnRowAddClick(event: any) {\n this.matrix.addRowUI();\n }\n protected renderElement(): JSX.Element {\n const addRowText: JSX.Element = this.renderLocString(this.matrix.locAddRowText);\n const addButton = (<button\n className={this.matrix.getAddRowButtonCss(this.props.isEmptySection)}\n type=\"button\"\n disabled={this.matrix.isInputReadOnly}\n onClick={\n this.matrix.isDesignMode ? undefined : this.handleOnRowAddClick\n }\n >\n {addRowText}\n <span className={this.props.cssClasses.iconAdd} />\n </button>);\n return (\n this.props.isEmptySection ? addButton : <div className={this.props.cssClasses.footer}>{addButton}</div>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\n \"sv-matrixdynamic-add-btn\",\n (props) => {\n return React.createElement(SurveyQuestionMatrixDynamicAddButton, props);\n }\n);\n","import * as React from \"react\";\nimport { SurveyQuestionElementBase } from \"./reactquestion_element\";\nimport { ISurveyCreator, SurveyElementErrors, SurveyQuestionAndErrorsWrapped } from \"./reactquestion\";\nimport { QuestionMultipleTextModel, MultipleTextItemModel } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { ReactSurveyElement } from \"./reactquestion_element\";\nimport { TitleContent } from \"./components/title/title-content\";\n\nexport class SurveyQuestionMultipleText extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n }\n protected get question(): QuestionMultipleTextModel {\n return this.questionBase as QuestionMultipleTextModel;\n }\n protected renderElement(): JSX.Element {\n var cssClasses = this.question.cssClasses;\n var tableRows = this.question.getRows();\n var rows:Array<JSX.Element> = [];\n for (var i = 0; i < tableRows.length; i++) {\n rows.push(this.renderRow(i, tableRows[i], cssClasses));\n }\n return (\n <table className={cssClasses.root}>\n <tbody>{rows}</tbody>\n </table>\n );\n }\n protected renderRow(\n rowIndex: number,\n items: Array<MultipleTextItemModel>,\n cssClasses: any\n ) {\n var key: string = \"item\" + rowIndex;\n var tds:Array<JSX.Element> = [];\n for (var i = 0; i < items.length; i++) {\n var item = items[i];\n tds.push(\n <td key={\"item\" + i} className={this.question.cssClasses.cell}>\n <SurveyMultipleTextItem question={this.question} item={item} creator={this.creator} cssClasses={cssClasses}></SurveyMultipleTextItem>\n </td>\n );\n }\n return (\n <tr key={key} className={cssClasses.row}>\n {tds}\n </tr>\n );\n }\n}\n\nexport class SurveyMultipleTextItem extends ReactSurveyElement {\n private get question(): QuestionMultipleTextModel {\n return this.props.question;\n }\n private get item(): MultipleTextItemModel {\n return this.props.item;\n }\n protected getStateElements() {\n return [this.item, this.item.editor];\n }\n private get creator(): ISurveyCreator {\n return this.props.creator;\n }\n\n protected renderElement() {\n const item = this.item;\n const cssClasses = this.cssClasses;\n return (<label className={this.question.getItemLabelCss(item)}>\n <span className={cssClasses.itemTitle}>\n <TitleContent element={item.editor} cssClasses={item.editor.cssClasses}></TitleContent>\n </span>\n <SurveyMultipleTextItemEditor\n cssClasses={cssClasses}\n itemCss={this.question.getItemCss()}\n question={item.editor}\n creator={this.creator}\n />\n {this.renderItemTooltipError(item, cssClasses)}\n </label>);\n }\n\n protected renderItemTooltipError(item: MultipleTextItemModel, cssClasses: any): JSX.Element | null {\n return this.item.editor.isErrorsModeTooltip ? (\n <SurveyElementErrors\n element={item.editor}\n cssClasses={cssClasses}\n creator={this.creator}\n location={\"tooltip\"}\n id={item.editor.id + \"_errors\"}\n />\n ): null;\n }\n}\n\nexport class SurveyMultipleTextItemEditor extends SurveyQuestionAndErrorsWrapped {\n protected renderElement(): JSX.Element {\n return <div className={this.itemCss}>{this.renderContent()}</div>;\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"multipletext\", (props) => {\n return React.createElement(SurveyQuestionMultipleText, props);\n});\n","import * as React from \"react\";\nimport { SurveyQuestionElementBase } from \"./reactquestion_element\";\nimport { SurveyModel, QuestionPanelDynamicModel } from \"survey-core\";\nimport { SurveyPanel } from \"./panel\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { SvgIcon } from \"./components/svg-icon/svg-icon\";\nimport { SurveyActionBar } from \"./components/action-bar/action-bar\";\nimport { SurveyQuestionPanelDynamicNextButton } from \"./components/paneldynamic-actions/paneldynamic-next-btn\";\nimport { SurveyQuestionPanelDynamicPrevButton } from \"./components/paneldynamic-actions/paneldynamic-prev-btn\";\nimport { SurveyQuestionPanelDynamicProgressText } from \"./components/paneldynamic-actions/paneldynamic-progress-text\";\nimport { SurveyQuestionPanelDynamicAddButton } from \"./components/paneldynamic-actions/paneldynamic-add-btn\";\nimport { SurveyQuestionPanelDynamicRemoveButton } from \"./components/paneldynamic-actions/paneldynamic-remove-btn\";\nimport { ReactElementFactory } from \"./element-factory\";\n\nexport class SurveyQuestionPanelDynamic extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n }\n protected get question(): QuestionPanelDynamicModel {\n return this.questionBase as QuestionPanelDynamicModel;\n }\n componentDidMount() {\n super.componentDidMount();\n this.setState({ panelCounter: 0 });\n const self: SurveyQuestionPanelDynamic = this;\n this.question.panelCountChangedCallback = function () {\n self.updateQuestionRendering();\n };\n this.question.currentIndexChangedCallback = function () {\n self.updateQuestionRendering();\n };\n this.question.renderModeChangedCallback = function () {\n self.updateQuestionRendering();\n };\n }\n componentWillUnmount() {\n super.componentWillUnmount();\n this.question.panelCountChangedCallback = () => {};\n this.question.currentIndexChangedCallback = () => {};\n this.question.renderModeChangedCallback = () => {};\n }\n private updateQuestionRendering() {\n this.setState({\n panelCounter: this.state ? this.state.panelCounter + 1 : 1,\n });\n }\n protected renderElement(): JSX.Element {\n const panels:Array<JSX.Element> = [];\n if (this.question.isRenderModeList) {\n for (let i = 0; i < this.question.panels.length; i++) {\n const panel = this.question.panels[i];\n panels.push(\n <SurveyQuestionPanelDynamicItem\n key={panel.id}\n element={panel}\n question={this.question}\n index={i}\n cssClasses={this.question.cssClasses}\n isDisplayMode={this.isDisplayMode}\n creator={this.creator}\n />\n );\n }\n } else {\n if (this.question.currentPanel != null) {\n const panel = this.question.currentPanel;\n panels.push(\n <SurveyQuestionPanelDynamicItem\n key={this.question.currentIndex}\n element={panel}\n question={this.question}\n index={this.question.currentIndex}\n cssClasses={this.question.cssClasses}\n isDisplayMode={this.isDisplayMode}\n creator={this.creator}\n />\n );\n }\n }\n const btnAdd: JSX.Element | null = this.question.isRenderModeList && this.question[\"showLegacyNavigation\"]\n ? this.renderAddRowButton()\n : null;\n const navTop: JSX.Element | null = this.question.isProgressTopShowing\n ? this.renderNavigator()\n : null;\n const navBottom: JSX.Element | null = this.question.isProgressBottomShowing\n ? this.renderNavigator()\n : null;\n\n const style: any = {};\n const navV2 = this.renderNavigatorV2();\n const noEntriesPlaceholder = this.renderPlaceholder();\n return (\n <div className={this.question.cssClasses.root}>\n {noEntriesPlaceholder}\n {navTop}\n {panels}\n {navBottom}\n {btnAdd}\n {navV2}\n </div>\n );\n }\n protected renderNavigator(): JSX.Element | null {\n if(!this.question[\"showLegacyNavigation\"]) {\n if(this.question.isRangeShowing && this.question.isProgressTopShowing) {\n return this.renderRange();\n } else {\n return null;\n }\n }\n const range: JSX.Element | null = this.question.isRangeShowing ? this.renderRange() : null;\n const btnPrev: JSX.Element = this.rendrerPrevButton();\n const btnNext: JSX.Element = this.rendrerNextButton();\n const btnAdd: JSX.Element | null = this.renderAddRowButton();\n const progressClass: string = this.question.isProgressTopShowing\n ? this.question.cssClasses.progressTop\n : this.question.cssClasses.progressBottom;\n return (\n <div className={progressClass}>\n <div style={{ clear: \"both\" }}>\n <div className={this.question.cssClasses.progressContainer}>\n {btnPrev}\n {range}\n {btnNext}\n </div>\n {btnAdd}\n {this.renderProgressText()}\n </div>\n </div>\n );\n }\n private renderProgressText(): JSX.Element {\n return (\n <SurveyQuestionPanelDynamicProgressText data={ { question: this.question }}></SurveyQuestionPanelDynamicProgressText>\n );\n }\n\n protected rendrerPrevButton() {\n return (\n <SurveyQuestionPanelDynamicPrevButton data={ { question: this.question }}></SurveyQuestionPanelDynamicPrevButton>\n );\n }\n protected rendrerNextButton() {\n return (\n <SurveyQuestionPanelDynamicNextButton data={ { question: this.question }}></SurveyQuestionPanelDynamicNextButton>\n );\n }\n\n protected renderRange(): JSX.Element {\n return (\n <div className={this.question.cssClasses.progress}>\n <div\n className={this.question.cssClasses.progressBar}\n style={{ width: this.question.progress }}\n role=\"progressbar\"\n />\n </div>\n );\n }\n protected renderAddRowButton(): JSX.Element | null {\n return ReactElementFactory.Instance.createElement(\"sv-paneldynamic-add-btn\", {\n data: { question: this.question }\n });\n }\n protected renderNavigatorV2(): JSX.Element | null {\n if (!this.question.showNavigation) return null;\n const range: JSX.Element | null = this.question.isRangeShowing && this.question.isProgressBottomShowing ? this.renderRange() : null;\n return (<div className={this.question.cssClasses.footer}>\n <hr className={this.question.cssClasses.separator} />\n {range}\n {this.question.footerToolbar.visibleActions.length ? (<div className={this.question.cssClasses.footerButtonsContainer}>\n <SurveyActionBar model={this.question.footerToolbar}></SurveyActionBar>\n </div>) : null}\n </div>);\n }\n protected renderPlaceholder(): JSX.Element | null {\n if (this.question.getShowNoEntriesPlaceholder()) {\n return (\n <div className={this.question.cssClasses.noEntriesPlaceholder}>\n <span>{this.renderLocString(this.question.locNoEntriesText)}</span>\n {this.renderAddRowButton()}\n </div>\n );\n }\n return null;\n }\n}\n\nexport class SurveyQuestionPanelDynamicItem extends SurveyPanel {\n private get question(): QuestionPanelDynamicModel {\n return this.props.question;\n }\n private get index(): number {\n return this.props.index;\n }\n protected getSurvey(): SurveyModel | null {\n return !!this.question ? (this.question.survey as SurveyModel) : null;\n }\n protected getCss(): any {\n const survey = this.getSurvey();\n return !!survey ? survey.getCss() : {};\n }\n public render() {\n const panel = super.render();\n const removeButton = this.renderButton();\n const separator: JSX.Element | null = this.question.showSeparator(this.index) ?\n (<hr className={this.question.cssClasses.separator} />) : null;\n return (\n <>\n <div className={this.question.getPanelWrapperCss()}>\n {panel}\n {removeButton}\n </div>\n {separator}\n </>\n );\n }\n protected renderButton(): JSX.Element | null {\n if (\n this.question.panelRemoveButtonLocation !== \"right\" ||\n !this.question.canRemovePanel ||\n (this.question.isRenderModeList && this.panel.isCollapsed)\n ) {\n return null;\n }\n return ReactElementFactory.Instance.createElement(\"sv-paneldynamic-remove-btn\", {\n data: { question: this.question, panel: this.panel }\n });\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"paneldynamic\", props => {\n return React.createElement(SurveyQuestionPanelDynamic, props);\n});\n","import * as React from \"react\";\nimport { SurveyQuestionElementBase, ReactSurveyElement } from \"./reactquestion_element\";\nimport { QuestionRadiogroupModel, ItemValue, Base, SurveyModel } from \"survey-core\";\nimport { SurveyQuestionOtherValueItem } from \"./reactquestion_comment\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { ReactSurveyElementsWrapper } from \"./reactsurveymodel\";\nimport { ReactElementFactory } from \"./element-factory\";\n\nexport class SurveyQuestionRadiogroup extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n }\n protected get question(): QuestionRadiogroupModel {\n return this.questionBase as QuestionRadiogroupModel;\n }\n protected renderElement(): JSX.Element {\n var cssClasses = this.question.cssClasses;\n var clearButton: JSX.Element | null = null;\n if (this.question.showClearButtonInContent) {\n clearButton = (\n <div>\n <input\n type=\"button\"\n className={this.question.cssClasses.clearButton}\n onClick={() => this.question.clearValue()}\n value={this.question.clearButtonCaption}\n />\n </div>\n );\n }\n return (\n <fieldset\n className={this.question.getSelectBaseRootCss()}\n role=\"presentation\"\n ref={(fieldset) => (this.setControl(fieldset))}\n >\n {this.question.hasColumns\n ? this.getColumnedBody(cssClasses)\n : this.getBody(cssClasses)}\n {this.getFooter()}\n {this.question.isOtherSelected ? this.renderOther(cssClasses) : null}\n {clearButton}\n </fieldset>\n );\n }\n protected getFooter() {\n if (this.question.hasFootItems) {\n return this.question.footItems.map((item: any, ii: number) =>\n this.renderItem(\n \"item_f\" + ii,\n item,\n false,\n this.question.cssClasses\n )\n );\n }\n }\n protected getColumnedBody(cssClasses: any) {\n return (\n <div className={cssClasses.rootMultiColumn}>\n {this.getColumns(cssClasses)}\n </div>\n );\n }\n protected getColumns(cssClasses: any) {\n var value = this.getStateValue();\n return this.question.columns.map((column: any, ci: number) => {\n var items = column.map((item: any, ii: number) =>\n this.renderItem(\"item\" + ci + ii, item, value, cssClasses, \"\" + ci + ii)\n );\n return (\n <div key={\"column\" + ci} className={this.question.getColumnClass()} role=\"presentation\">\n {items}\n </div>\n );\n });\n }\n\n protected getBody(cssClasses: any): JSX.Element {\n if(this.question.blockedRow) {\n return <div className={cssClasses.rootRow}>{this.getItems(cssClasses, this.question.dataChoices)}</div>;\n }\n else return <>{this.getItems(cssClasses, this.question.bodyItems)}</>;\n }\n\n protected getItems(cssClasses: any, choices: Array <ItemValue>): Array<any> {\n var items:Array<JSX.Element> = [];\n var value = this.getStateValue();\n for (var i = 0; i < choices.length; i++) {\n var item = choices[i];\n var renderedItem = this.renderItem(\"item\" + i, item, value, cssClasses, \"\" + i);\n items.push(renderedItem);\n }\n return items;\n }\n protected get textStyle(): any {\n return null;//{ display: \"inline\", position: \"static\" };\n }\n protected renderOther(cssClasses: any): JSX.Element {\n return (\n <div className={this.question.getCommentAreaCss(true)}>\n <SurveyQuestionOtherValueItem\n question={this.question}\n otherCss={cssClasses.other}\n cssClasses={cssClasses}\n isDisplayMode={this.isDisplayMode}\n />\n </div>\n );\n }\n private renderItem(\n key: string,\n item: ItemValue,\n value: any,\n cssClasses: any,\n index?: string\n ): JSX.Element {\n const renderedItem = ReactElementFactory.Instance.createElement(this.question.itemComponent, {\n key: key,\n question: this.question,\n cssClasses: cssClasses,\n isDisplayMode: this.isDisplayMode,\n item: item,\n textStyle: this.textStyle,\n index: index,\n isChecked: value === item.value,\n });\n const survey = this.question.survey as SurveyModel;\n let wrappedItem: JSX.Element | null = null;\n if (!!survey) {\n wrappedItem = ReactSurveyElementsWrapper.wrapItemValue(survey, renderedItem, this.question, item);\n }\n return wrappedItem ?? renderedItem;\n }\n private getStateValue(): any {\n return !this.question.isEmpty() ? this.question.renderedValue : \"\";\n }\n}\n\nexport class SurveyQuestionRadioItem extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n this.handleOnChange = this.handleOnChange.bind(this);\n this.handleOnMouseDown = this.handleOnMouseDown.bind(this);\n }\n protected getStateElement(): Base {\n return this.item;\n }\n protected get question(): QuestionRadiogroupModel {\n return this.props.question;\n }\n protected get item(): ItemValue {\n return this.props.item;\n }\n protected get textStyle(): any {\n return this.props.textStyle;\n }\n protected get index(): number {\n return this.props.index;\n }\n protected get isChecked(): boolean {\n return this.props.isChecked;\n }\n private get hideCaption(): boolean {\n return this.props.hideCaption === true;\n }\n public shouldComponentUpdate(nextProps: any, nextState: any): boolean {\n if (!super.shouldComponentUpdate(nextProps, nextState)) return false;\n if(!this.question) return false;\n return (\n !this.question.customWidget ||\n !!this.question.customWidgetData.isNeedRender ||\n !!this.question.customWidget.widgetJson.isDefaultRender ||\n !!this.question.customWidget.widgetJson.render\n );\n }\n handleOnChange(event: any) {\n this.question.clickItemHandler(this.item);\n }\n handleOnMouseDown(event: any) {\n this.question.onMouseDown();\n }\n protected canRender(): boolean {\n return !!this.question && !!this.item;\n }\n protected renderElement(): JSX.Element {\n var itemClass = this.question.getItemClass(this.item);\n var labelClass = this.question.getLabelClass(this.item);\n var controlLabelClass = this.question.getControlLabelClass(this.item);\n const itemLabel = !this.hideCaption ? <span className={controlLabelClass}>{this.renderLocString(this.item.locText, this.textStyle)}</span> : null;\n return (\n <div\n className={itemClass}\n role=\"presentation\"\n >\n <label onMouseDown={this.handleOnMouseDown} className={labelClass} aria-label={this.question.getAriaItemLabel(this.item)}>\n <input\n aria-describedby={this.question.ariaDescribedBy}\n className={this.cssClasses.itemControl}\n id={this.question.getItemId(this.item)}\n type=\"radio\"\n name={this.question.questionName}\n checked={this.isChecked}\n value={this.item.value}\n disabled={!this.question.getItemEnabled(this.item)}\n onChange={this.handleOnChange}\n />\n {\n this.cssClasses.materialDecorator ?\n <span className={this.cssClasses.materialDecorator}>\n {this.question.itemSvgIcon ?\n <svg\n className={this.cssClasses.itemDecorator}\n >\n <use xlinkHref={this.question.itemSvgIcon}></use>\n </svg> :\n null\n }\n </span> :\n null\n }\n {itemLabel}\n </label>\n </div>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\"survey-radiogroup-item\", (props: any) => {\n return React.createElement(SurveyQuestionRadioItem, props);\n});\n\nReactQuestionFactory.Instance.registerQuestion(\"radiogroup\", (props) => {\n return React.createElement(SurveyQuestionRadiogroup, props);\n});\n","import * as React from \"react\";\nimport {\n ReactSurveyElement,\n SurveyQuestionElementBase,\n} from \"./reactquestion_element\";\nimport { QuestionRankingModel, SurveyModel, ItemValue } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { ReactSurveyElementsWrapper } from \"./reactsurveymodel\";\n\nexport class SurveyQuestionRanking extends SurveyQuestionElementBase {\n protected get question(): QuestionRankingModel {\n return this.questionBase as QuestionRankingModel;\n }\n\n protected renderElement(): JSX.Element {\n\n if (!this.question.selectToRankEnabled) {\n return (\n <div\n className={this.question.rootClass}\n ref={(root) => (this.setControl(root))}\n >\n {this.getItems()}\n </div>\n );\n } else {\n const unrankedItem = true;\n return (\n <div\n className={this.question.rootClass}\n ref={(root) => (this.setControl(root))}\n >\n <div className={this.question.getContainerClasses(\"from\")} data-ranking=\"from-container\">\n {this.getItems(this.question.unRankingChoices, unrankedItem)}\n {this.question.unRankingChoices.length === 0 ? <div className={this.question.cssClasses.containerPlaceholder}> {this.question.selectToRankEmptyRankedAreaText} </div> : null}\n </div>\n\n <div className={this.question.cssClasses.containersDivider}></div>\n\n <div className={this.question.getContainerClasses(\"to\")} data-ranking=\"to-container\">\n {this.getItems()}\n {this.question.rankingChoices.length === 0 ? <div className={this.question.cssClasses.containerPlaceholder}>{this.question.selectToRankEmptyUnrankedAreaText}</div> : null}\n </div>\n </div>\n );\n }\n }\n\n protected getItems(choices: any = this.question.rankingChoices, unrankedItem?: boolean): Array<any> {\n const items: Array<JSX.Element> = [];\n for (let i = 0; i < choices.length; i++) {\n const item = choices[i];\n items.push(\n this.renderItem(\n item,\n i,\n (event: PointerEvent) => {\n this.question.handleKeydown.call(this.question, event, item);\n },\n (event: any) => {\n event.persist();\n //event.preventDefault();\n this.question.handlePointerDown.call(\n this.question,\n event,\n item,\n event.currentTarget\n );\n },\n this.question.cssClasses,\n this.question.getItemClass(item),\n this.question,\n unrankedItem\n )\n );\n }\n return items;\n }\n\n protected renderItem(\n item: ItemValue,\n i: number,\n handleKeydown: (event: any) => void,\n handlePointerDown: (event: PointerEvent) => void,\n cssClasses: any,\n itemClass: string,\n question: QuestionRankingModel,\n unrankedItem?: boolean\n ): JSX.Element {\n const key: string = item.value + \"-\" + i + \"-item\";\n const text: JSX.Element = this.renderLocString(item.locText);\n const index = i;\n const indexText: string = this.question.getNumberByIndex(i);\n const tabIndex: number = this.question.getItemTabIndex(item);\n const renderedItem = (\n <SurveyQuestionRankingItem\n key={key}\n text={text}\n index={index}\n indexText={indexText}\n itemTabIndex={tabIndex}\n handleKeydown={handleKeydown}\n handlePointerDown={handlePointerDown}\n cssClasses={cssClasses}\n itemClass={itemClass}\n question={question}\n unrankedItem={unrankedItem}\n item={item}\n />\n );\n const survey = this.question.survey as SurveyModel;\n let wrappedItem: JSX.Element | null = null;\n if (!!survey) {\n wrappedItem = ReactSurveyElementsWrapper.wrapItemValue(survey, renderedItem, this.question, item);\n }\n return wrappedItem ?? renderedItem;\n }\n}\n\nexport class SurveyQuestionRankingItem extends ReactSurveyElement {\n protected get text(): string {\n return this.props.text;\n }\n protected get index(): string {\n return this.props.index;\n }\n protected get indexText(): string {\n return this.props.indexText;\n }\n protected get handleKeydown(): (event: any) => void {\n return this.props.handleKeydown;\n }\n protected get handlePointerDown(): (event: any) => void {\n return this.props.handlePointerDown;\n }\n protected get cssClasses(): any {\n return this.props.cssClasses;\n }\n protected get itemClass(): string {\n return this.props.itemClass;\n }\n protected get itemTabIndex(): number {\n return this.props.itemTabIndex;\n }\n protected get question(): any {\n return this.props.question;\n }\n protected get unrankedItem(): any {\n return this.props.unrankedItem;\n }\n protected get item(): any {\n return this.props.item;\n }\n\n protected renderElement(): JSX.Element {\n return (\n <div\n tabIndex={this.itemTabIndex}\n className={this.itemClass}\n onKeyDown={this.handleKeydown}\n onPointerDown={this.handlePointerDown}\n data-sv-drop-target-ranking-item={this.index}\n >\n <div tabIndex={-1} style={{ outline: \"none\" }}>\n <div className={this.cssClasses.itemGhostNode} />\n <div className={this.cssClasses.itemContent}>\n <div className={this.cssClasses.itemIconContainer}>\n <svg\n width=\"10\"\n height=\"16\"\n viewBox=\"0 0 10 16\"\n className={this.question.getIconHoverCss()}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M6 2C6 0.9 6.9 0 8 0C9.1 0 10 0.9 10 2C10 3.1 9.1 4 8 4C6.9 4 6 3.1 6 2ZM2 0C0.9 0 0 0.9 0 2C0 3.1 0.9 4 2 4C3.1 4 4 3.1 4 2C4 0.9 3.1 0 2 0ZM8 6C6.9 6 6 6.9 6 8C6 9.1 6.9 10 8 10C9.1 10 10 9.1 10 8C10 6.9 9.1 6 8 6ZM2 6C0.9 6 0 6.9 0 8C0 9.1 0.9 10 2 10C3.1 10 4 9.1 4 8C4 6.9 3.1 6 2 6ZM8 12C6.9 12 6 12.9 6 14C6 15.1 6.9 16 8 16C9.1 16 10 15.1 10 14C10 12.9 9.1 12 8 12ZM2 12C0.9 12 0 12.9 0 14C0 15.1 0.9 16 2 16C3.1 16 4 15.1 4 14C4 12.9 3.1 12 2 12Z\" />\n </svg>\n <svg\n width=\"10\"\n height=\"24\"\n viewBox=\"0 0 10 24\"\n className={this.question.getIconFocusCss()}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M10 5L5 0L0 5H4V9H6V5H10Z\" />\n <path d=\"M6 19V15H4V19H0L5 24L10 19H6Z\" />\n </svg>\n </div>\n\n <div className={this.question.getItemIndexClasses(this.item)}>{this.unrankedItem ? \"\" : this.indexText}</div>\n <div className={this.cssClasses.controlLabel}>{this.text}</div>\n </div>\n </div>\n </div>\n );\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"ranking\", (props) => {\n return React.createElement(SurveyQuestionRanking, props);\n});\n","import * as React from \"react\";\nimport { SurveyQuestionElementBase } from \"./reactquestion_element\";\nimport { QuestionRatingModel, RenderedRatingItem } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { ReactElementFactory } from \"./element-factory\";\n\nexport class SurveyQuestionRating extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n this.handleOnClick = this.handleOnClick.bind(this);\n }\n protected get question(): QuestionRatingModel {\n return this.questionBase as QuestionRatingModel;\n }\n handleOnClick(event: any) {\n this.question.setValueFromClick(event.target.value);\n this.setState({ value: this.question.value });\n }\n\n protected renderItem(\n item: any,\n index: Number\n ): JSX.Element {\n const renderedItem = ReactElementFactory.Instance.createElement(this.question.itemComponentName, {\n question: this.question,\n item: item,\n index: index,\n key: \"value\" + index,\n handleOnClick: this.handleOnClick,\n isDisplayMode: this.isDisplayMode\n });\n return renderedItem;\n }\n\n protected renderElement(): JSX.Element {\n var cssClasses = this.question.cssClasses;\n var minText = this.question.minRateDescription\n ? this.renderLocString(this.question.locMinRateDescription)\n : null;\n var maxText = this.question.maxRateDescription\n ? this.renderLocString(this.question.locMaxRateDescription)\n : null;\n return (\n <div className={this.question.ratingRootCss} ref={(div) => (this.setControl(div))}>\n <fieldset role=\"radiogroup\">\n <legend role=\"presentation\" className={\"sv-hidden\"}></legend>\n {!!this.question.hasMinLabel ? <span className={cssClasses.minText}>{minText}</span>: null}\n {this.question.renderedRateItems.map((item, index) => this.renderItem(item, index))}\n {!!this.question.hasMaxLabel ? <span className={cssClasses.maxText}>{maxText}</span>: null}\n </fieldset>\n </div>\n );\n }\n\n}\nReactQuestionFactory.Instance.registerQuestion(\"rating\", (props) => {\n return React.createElement(SurveyQuestionRating, props);\n});\n","import * as React from \"react\";\nimport { QuestionTagboxModel, DropdownListModel, DropdownMultiSelectListModel } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { SurveyQuestionDropdownBase } from \"./dropdown-base\";\nimport { SurveyQuestionTagboxItem } from \"./tagbox-item\";\nimport { TagboxFilterString } from \"./tagbox-filter\";\n\nexport class SurveyQuestionTagbox extends SurveyQuestionDropdownBase<QuestionTagboxModel> {\n constructor(props: any) {\n super(props);\n }\n\n protected renderItem(key: string, item: any): JSX.Element {\n const renderedItem = (\n <SurveyQuestionTagboxItem\n key={key}\n question={this.question}\n item={item}\n />\n );\n return renderedItem;\n }\n\n protected renderInput(dropdownListModel: DropdownListModel): JSX.Element {\n const dropdownMultiSelectListModel = dropdownListModel as DropdownMultiSelectListModel;\n const items = this.question.selectedChoices.map((choice, index) => { return this.renderItem(\"item\" + index, choice); });\n return (\n <div\n id={this.question.inputId}\n className={this.question.getControlClass()}\n tabIndex={dropdownListModel.inputReadOnly ? undefined : 0}\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n disabled={this.question.isInputReadOnly}\n required={this.question.isRequired}\n onKeyDown={this.keyhandler}\n onBlur={this.blur}\n role={this.question.ariaRole}\n aria-required={this.question.ariaRequired}\n aria-label={this.question.ariaLabel}\n aria-invalid={this.question.ariaInvalid}\n aria-describedby={this.question.ariaDescribedBy}\n aria-expanded={this.question.ariaExpanded === null ? undefined : this.question.ariaExpanded === \"true\"}\n aria-controls={dropdownListModel.listElementId}\n aria-activedescendant={dropdownListModel.ariaActivedescendant}\n >\n <div className={this.question.cssClasses.controlValue}>\n {items}\n <TagboxFilterString model={dropdownMultiSelectListModel} question={this.question}></TagboxFilterString>\n </div>\n {this.createClearButton()}\n </div>);\n }\n\n protected renderElement(): JSX.Element {\n const cssClasses = this.question.cssClasses;\n const comment = this.question.isOtherSelected ? this.renderOther(cssClasses) : null;\n const select = this.renderSelect(cssClasses);\n return (\n <div className={this.question.renderCssRoot}>\n {select}\n {comment}\n </div>\n );\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"tagbox\", (props) => {\n return React.createElement(SurveyQuestionTagbox, props);\n});","import * as React from \"react\";\nimport { SurveyQuestionUncontrolledElement } from \"./reactquestion_element\";\nimport { QuestionTextModel } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { CharacterCounterComponent } from \"./components/character-counter\";\n\nexport class SurveyQuestionText extends SurveyQuestionUncontrolledElement<\n QuestionTextModel\n> {\n //controlRef: React.RefObject<HTMLInputElement>;\n constructor(props: any) {\n super(props);\n //this.controlRef = React.createRef();\n }\n protected renderInput() {\n const inputClass = (this.question as QuestionTextModel).getControlClass();\n\n const placeholder = this.question.renderedPlaceholder;\n if (this.question.isReadOnlyRenderDiv()) {\n return <div>{this.question.value}</div>;\n }\n const counter = !!this.question.getMaxLength() ? (<CharacterCounterComponent counter={this.question.characterCounter} remainingCharacterCounter={this.question.cssClasses.remainingCharacterCounter}></CharacterCounterComponent>) : null;\n return (\n <>\n <input\n id={this.question.inputId}\n disabled={this.isDisplayMode}\n className={inputClass}\n type={this.question.inputType}\n //ref={this.controlRef}\n ref={(input) => (this.setControl(input))}\n style={this.question.inputStyle}\n maxLength={this.question.getMaxLength()}\n min={this.question.renderedMin}\n max={this.question.renderedMax}\n step={this.question.renderedStep}\n size={this.question.inputSize}\n placeholder={placeholder}\n list={this.question.dataListId}\n autoComplete={this.question.autocomplete}\n onBlur={this.question.onBlur}\n onFocus={this.question.onFocus}\n onChange={this.question.onChange}\n onKeyUp={this.question.onKeyUp}\n onKeyDown={this.question.onKeyDown}\n onCompositionUpdate={(event) => this.question.onCompositionUpdate(event.nativeEvent)}\n aria-required={this.question.a11y_input_ariaRequired}\n aria-label={this.question.a11y_input_ariaLabel}\n aria-labelledby={this.question.a11y_input_ariaLabelledBy}\n aria-invalid={this.question.a11y_input_ariaInvalid}\n aria-describedby={this.question.a11y_input_ariaDescribedBy}\n />\n {counter}\n </>\n );\n }\n protected renderElement(): JSX.Element {\n return (\n this.question.dataListId ?\n <div>\n { this.renderInput() }\n { this.renderDataList() }\n </div>:\n this.renderInput()\n );\n }\n private renderDataList(): JSX.Element | null {\n if (!this.question.dataListId) return null;\n var items = this.question.dataList;\n if (items.length == 0) return null;\n var options:Array<JSX.Element> = [];\n for (var i = 0; i < items.length; i++) {\n options.push(<option key={\"item\"+i} value={items[i]}></option>);\n }\n return <datalist id={this.question.dataListId}>{options}</datalist>;\n }\n // protected updateDomElement() {\n // this.control = this.controlRef.current;\n // super.updateDomElement();\n // }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"text\", (props) => {\n return React.createElement(SurveyQuestionText, props);\n});\n","import { SurveyModel, QuestionMatrixDropdownRenderedCell, SurveyElement, QuestionRowModel, ItemValue, QuestionSelectBase } from \"survey-core\";\nimport { ReactElementFactory } from \"./element-factory\";\n\nexport class ReactSurveyElementsWrapper {\n public static wrapRow(survey: SurveyModel, element: JSX.Element, row: QuestionRowModel): JSX.Element {\n const componentName = survey.getRowWrapperComponentName(row);\n const componentData = survey.getRowWrapperComponentData(row);\n return ReactElementFactory.Instance.createElement(componentName, {\n element,\n row,\n componentData,\n });\n }\n public static wrapElement(survey: SurveyModel, element: JSX.Element, question: SurveyElement): JSX.Element {\n const componentName = survey.getElementWrapperComponentName(question);\n const componentData = survey.getElementWrapperComponentData(question);\n return ReactElementFactory.Instance.createElement(componentName, {\n element,\n question,\n componentData,\n });\n }\n public static wrapQuestionContent(survey: SurveyModel, element: JSX.Element, question: SurveyElement): JSX.Element {\n const componentName = survey.getQuestionContentWrapperComponentName(question);\n const componentData = survey.getElementWrapperComponentData(question);\n return ReactElementFactory.Instance.createElement(componentName, {\n element,\n question,\n componentData,\n });\n }\n public static wrapItemValue(survey: SurveyModel, element: JSX.Element, question: QuestionSelectBase, item: ItemValue): JSX.Element {\n const componentName = survey.getItemValueWrapperComponentName(item, question);\n const componentData = survey.getItemValueWrapperComponentData(item, question);\n return ReactElementFactory.Instance.createElement(componentName, {\n key: element?.key,\n element,\n question,\n item,\n componentData,\n });\n }\n public static wrapMatrixCell(survey: SurveyModel, element: JSX.Element, cell: QuestionMatrixDropdownRenderedCell, reason: string = \"cell\"): JSX.Element {\n const componentName = survey.getElementWrapperComponentName(cell, reason);\n const componentData = survey.getElementWrapperComponentData(cell, reason);\n return ReactElementFactory.Instance.createElement(componentName, {\n element,\n cell,\n componentData,\n });\n }\n}\n\nSurveyModel.platform = \"react\";\n","import * as React from \"react\";\nimport { Base, SurveyTimerModel } from \"survey-core\";\nimport { SvgIcon } from \"./components/svg-icon/svg-icon\";\nimport { ReactElementFactory } from \"./element-factory\";\nimport { ReactSurveyElement } from \"./reactquestion_element\";\n\nexport class SurveyTimerPanel extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n }\n protected getStateElement(): Base {\n return this.timerModel;\n }\n protected get timerModel(): SurveyTimerModel {\n return this.props.model;\n }\n private readonly circleLength = 440;\n private get progress(): number {\n return -this.timerModel.progress * this.circleLength;\n }\n render(): JSX.Element | null {\n if(!this.timerModel.isRunning) {\n return null;\n }\n let result = <div className={this.timerModel.survey.getCss().timerRoot}>{this.timerModel.text}</div>;\n if(this.timerModel.showTimerAsClock) {\n let style = { strokeDasharray: this.circleLength, strokeDashoffset: this.progress };\n const progress = (this.timerModel.showProgress ? <SvgIcon className={this.timerModel.getProgressCss()} style={style} iconName={\"icon-timercircle\"} size={\"auto\"}></SvgIcon>: null);\n result =\n (<div className={this.timerModel.rootCss}>\n {progress}\n <div className={this.timerModel.textContainerCss}>\n <span className={this.timerModel.majorTextCss}>{this.timerModel.clockMajorText }</span>\n {(this.timerModel.clockMinorText ? <span className={this.timerModel.minorTextCss}>{this.timerModel.clockMinorText }</span> : null)}\n </div>\n </div>);\n }\n return result;\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-timerpanel\", (props) => {\n return React.createElement(SurveyTimerPanel, props);\n});","import * as React from \"react\";\nimport { ISurveyCreator } from \"./reactquestion\";\nimport { SurveyModel, Question, QuestionRowModel, IElement, Base } from \"survey-core\";\nimport { SurveyElementBase } from \"./reactquestion_element\";\nimport { ReactElementFactory } from \"./element-factory\";\nimport { ReactSurveyElementsWrapper } from \"./reactsurveymodel\";\n\nexport class SurveyRow extends SurveyElementBase<any, any> {\n private rootRef: React.RefObject<HTMLDivElement>;\n constructor(props: any) {\n super(props);\n this.rootRef = React.createRef();\n this.recalculateCss();\n }\n private recalculateCss() {\n this.row.visibleElements.map(element => (element as Question).cssClasses);\n }\n protected getStateElement(): Base {\n return this.row;\n }\n private get row(): QuestionRowModel {\n return this.props.row;\n }\n private get survey(): SurveyModel {\n return this.props.survey;\n }\n private get creator(): ISurveyCreator {\n return this.props.creator;\n }\n protected get css(): any {\n return this.props.css;\n }\n protected canRender(): boolean {\n return !!this.row && !!this.survey && !!this.creator && this.row.visible;\n }\n protected renderElementContent(): JSX.Element {\n const elements = this.row.visibleElements.map((element, index) => {\n const innerElement = this.createElement(element, index);\n const css = (element as Question).cssClassesValue;\n const focusIn = () => {\n const el: any = element;\n if(el && !el.isDisposed && el.isQuestion) {\n el.focusIn();\n }\n };\n return (\n <div\n className={css.questionWrapper}\n style={(element as any).rootStyle}\n data-key={innerElement.key}\n key={innerElement.key}\n onFocus={focusIn}\n >\n {this.row.isNeedRender ? innerElement : ReactElementFactory.Instance.createElement(element.skeletonComponentName, { element: element, css: this.css, })}\n </div>\n );\n });\n\n return (\n <div ref={this.rootRef} className={this.row.getRowCss()} >\n {elements}\n </div>\n );\n }\n protected renderElement(): JSX.Element {\n const survey: SurveyModel = this.survey as SurveyModel;\n const content = this.renderElementContent();\n const wrapper = ReactSurveyElementsWrapper.wrapRow(survey, content, this.row);\n return wrapper || content;\n }\n componentDidMount() {\n super.componentDidMount();\n var el = this.rootRef.current;\n if (!!el && !this.row.isNeedRender) {\n var rowContainerDiv = el;\n setTimeout(() => {\n this.row.startLazyRendering(rowContainerDiv);\n }, 10);\n }\n }\n public shouldComponentUpdate(nextProps: any, nextState: any): boolean {\n if (!super.shouldComponentUpdate(nextProps, nextState)) return false;\n\n if (nextProps.row !== this.row) {\n nextProps.row.isNeedRender = this.row.isNeedRender;\n this.stopLazyRendering();\n }\n this.recalculateCss();\n return true;\n }\n private stopLazyRendering() {\n this.row.stopLazyRendering();\n this.row.isNeedRender = !this.row.isLazyRendering();\n }\n componentWillUnmount() {\n super.componentWillUnmount();\n this.stopLazyRendering();\n }\n\n protected createElement(element: IElement, elementIndex?: number): JSX.Element {\n const index = elementIndex ? \"-\" + elementIndex : 0;\n var elementType = element.getType();\n if (!ReactElementFactory.Instance.isElementRegistered(elementType)) {\n elementType = \"question\";\n }\n return ReactElementFactory.Instance.createElement(elementType, {\n key: element.name + index,\n element: element,\n creator: this.creator,\n survey: this.survey,\n css: this.css,\n });\n }\n}\n","import * as React from \"react\";\nimport { SurveyQuestionElementBase } from \"./reactquestion_element\";\nimport { QuestionSignaturePadModel } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { SvgIcon } from \"./components/svg-icon/svg-icon\";\n\nexport class SurveyQuestionSignaturePad extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n this.state = { value: this.question.value };\n }\n protected get question(): QuestionSignaturePadModel {\n return this.questionBase as QuestionSignaturePadModel;\n }\n protected renderElement(): JSX.Element {\n var cssClasses = this.question.cssClasses;\n var clearButton = this.renderCleanButton();\n return (\n <div className={cssClasses.root} ref={(root) => (this.setControl(root))} style={{ height: this.question.signatureHeight, width: this.question.signatureWidth }}>\n <div\n className={cssClasses.placeholder}\n style={{ display: this.question.needShowPlaceholder() ? \"\" : \"none\" }}\n >\n {this.question.placeHolderText}\n </div>\n <div>\n <canvas tabIndex={0}></canvas>\n </div>\n {clearButton}\n </div>\n );\n }\n\n renderCleanButton(): JSX.Element | null {\n if(!this.question.canShowClearButton) return null;\n\n var cssClasses = this.question.cssClasses;\n return <div className={cssClasses.controls}>\n <button\n type=\"button\"\n className={cssClasses.clearButton}\n title={this.question.clearButtonCaption}\n onClick={() => this.question.clearValue()}\n >\n {this.question.cssClasses.clearButtonIconId ? <SvgIcon iconName={this.question.cssClasses.clearButtonIconId} size={\"auto\"}></SvgIcon> : <span>✖</span>}\n </button>\n </div>;\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"signaturepad\", (props) => {\n return React.createElement(SurveyQuestionSignaturePad, props);\n});\n","import React from \"react\";\r\nimport { LocalizableString } from \"survey-core\";\r\nimport { ReactElementFactory } from \"./element-factory\";\r\n\r\nexport class SurveyLocStringEditor extends React.Component<any, any> {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = { changed: 0 };\r\n }\r\n private get locStr(): LocalizableString {\r\n return this.props.locStr;\r\n }\r\n private get style(): any {\r\n return this.props.style;\r\n }\r\n componentDidMount() {\r\n if (!this.locStr) return;\r\n var self = this;\r\n this.locStr.onChanged = function () {\r\n self.setState({ changed: self.state.changed + 1 });\r\n };\r\n }\r\n componentWillUnmount() {\r\n if (!this.locStr) return;\r\n this.locStr.onChanged = function () {};\r\n }\r\n onInput = (event: any) => {\r\n this.locStr.text = event.target.innerText;\r\n };\r\n onClick = (event: any) => {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n };\r\n render(): JSX.Element | null {\r\n if (!this.locStr) {\r\n return null;\r\n }\r\n if (this.locStr.hasHtml) {\r\n const htmlValue = { __html: this.locStr.renderedHtml };\r\n return (\r\n <span\r\n className=\"sv-string-editor\"\r\n contentEditable=\"true\"\r\n suppressContentEditableWarning={true}\r\n style={this.style}\r\n dangerouslySetInnerHTML={htmlValue}\r\n onBlur={this.onInput}\r\n onClick={this.onClick}\r\n />\r\n );\r\n }\r\n return (\r\n <span\r\n className=\"sv-string-editor\"\r\n contentEditable=\"true\"\r\n suppressContentEditableWarning={true}\r\n style={this.style}\r\n onBlur={this.onInput}\r\n onClick={this.onClick}\r\n >\r\n {this.locStr.renderedHtml}\r\n </span>\r\n );\r\n }\r\n}\r\n\r\nReactElementFactory.Instance.registerElement(\r\n LocalizableString.editableRenderer,\r\n (props) => {\r\n return React.createElement(SurveyLocStringEditor, props);\r\n }\r\n);\r\n","import React from \"react\";\r\nimport { LocalizableString } from \"survey-core\";\r\nimport { ReactElementFactory } from \"./element-factory\";\r\n\r\nexport class SurveyLocStringViewer extends React.Component<any, any> {\r\n constructor(props: any) {\r\n super(props);\r\n this.rootRef = React.createRef();\r\n }\r\n private rootRef: React.RefObject<HTMLSpanElement>;\r\n private get locStr(): LocalizableString {\r\n return this.props.locStr;\r\n }\r\n private get style(): any {\r\n return this.props.style;\r\n }\r\n componentDidMount() {\r\n this.reactOnStrChanged();\r\n }\r\n componentWillUnmount() {\r\n if (!this.locStr) return;\r\n this.locStr.onStringChanged.remove(this.onChangedHandler);\r\n }\r\n componentDidUpdate(prevProps: any, prevState: any) {\r\n if(!!prevProps.locStr) {\r\n prevProps.locStr.onStringChanged.remove(this.onChangedHandler);\r\n }\r\n this.reactOnStrChanged();\r\n }\r\n private isRendering: boolean;\r\n private onChangedHandler = (sender: any, options: any) => {\r\n if(this.isRendering) return;\r\n this.setState({ changed: !!this.state && this.state.changed ? this.state.changed + 1 : 1 });\r\n }\r\n private reactOnStrChanged() {\r\n if (!this.locStr) return;\r\n this.locStr.onStringChanged.add(this.onChangedHandler);\r\n }\r\n render(): JSX.Element | null {\r\n if (!this.locStr) return null;\r\n this.isRendering = true;\r\n const strEl = this.renderString();\r\n this.isRendering = false;\r\n return strEl;\r\n }\r\n protected renderString(): JSX.Element {\r\n if (this.locStr.hasHtml) {\r\n let htmlValue = { __html: this.locStr.renderedHtml };\r\n return <span ref={this.rootRef} className=\"sv-string-viewer\" style={this.style} dangerouslySetInnerHTML={htmlValue} />;\r\n }\r\n return <span ref={this.rootRef} className=\"sv-string-viewer\" style={this.style}>{this.locStr.renderedHtml}</span>;\r\n }\r\n}\r\n\r\nReactElementFactory.Instance.registerElement(\r\n LocalizableString.defaultRenderer,\r\n (props) => {\r\n return React.createElement(SurveyLocStringViewer, props);\r\n }\r\n);\r\n","import * as React from \"react\";\nimport { DropdownMultiSelectListModel, QuestionTagboxModel, Helpers, settings } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { SurveyElementBase } from \"./reactquestion_element\";\n\ninterface ITagboxFilterProps {\n model: DropdownMultiSelectListModel;\n question: QuestionTagboxModel;\n}\n\nexport class TagboxFilterString extends SurveyElementBase<ITagboxFilterProps, any> {\n inputElement: HTMLInputElement | null;\n\n get model(): DropdownMultiSelectListModel {\n return this.props.model;\n }\n get question(): QuestionTagboxModel {\n return this.props.question;\n }\n componentDidUpdate(prevProps: any, prevState: any) {\n super.componentDidUpdate(prevProps, prevState);\n this.updateDomElement();\n }\n componentDidMount() {\n super.componentDidMount();\n this.updateDomElement();\n }\n updateDomElement() {\n if (!!this.inputElement) {\n const control: any = this.inputElement;\n const newValue = this.model.inputStringRendered;\n if (!Helpers.isTwoValueEquals(newValue, control.value, false, true)) {\n control.value = this.model.inputStringRendered;\n }\n }\n }\n onChange(e: any) {\n const { root } = settings.environment;\n if (e.target === root.activeElement) {\n this.model.inputStringRendered = e.target.value;\n }\n }\n keyhandler(e: any) {\n this.model.inputKeyHandler(e);\n }\n onBlur(e: any) {\n this.model.onBlur(e);\n }\n onFocus(e: any) {\n this.model.onFocus(e);\n }\n constructor(props: any) {\n super(props);\n }\n getStateElement() {\n return this.model;\n }\n render(): JSX.Element {\n return (\n <div className={this.question.cssClasses.hint}>\n {this.model.showHintPrefix ?\n (<div className={this.question.cssClasses.hintPrefix}>\n <span>{this.model.hintStringPrefix}</span>\n </div>) : null}\n <div className={this.question.cssClasses.hintSuffixWrapper}>\n {this.model.showHintString ?\n (<div className={this.question.cssClasses.hintSuffix}>\n <span style={{ visibility: \"hidden\" }} data-bind=\"text: model.filterString\">{this.model.inputStringRendered}</span>\n <span>{this.model.hintStringSuffix}</span>\n </div>) : null}\n\n <input type=\"text\" autoComplete=\"off\"\n id={this.question.getInputId()}\n inputMode={this.model.inputMode}\n ref={(element) => (this.inputElement = element)}\n className={this.question.cssClasses.filterStringInput}\n disabled={this.question.isInputReadOnly}\n readOnly={!this.model.searchEnabled ? true : undefined}\n size={!this.model.inputStringRendered ? 1 : undefined}\n role={this.model.filterStringEnabled ? this.question.ariaRole : undefined}\n aria-label={this.question.placeholder}\n aria-expanded={this.question.ariaExpanded === null ? undefined : this.question.ariaExpanded === \"true\"}\n aria-controls={this.model.listElementId}\n aria-activedescendant={this.model.ariaActivedescendant}\n placeholder={this.model.filterStringPlaceholder}\n onKeyDown={(e) => { this.keyhandler(e); }}\n onChange={(e) => { this.onChange(e); }}\n onBlur={(e) => { this.onBlur(e); }}\n onFocus={(e) => { this.onFocus(e); }}\n ></input>\n </div>\n </div>\n );\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"sv-tagbox-filter\", (props) => {\n return React.createElement(TagboxFilterString, props);\n});","import * as React from \"react\";\nimport { ReactSurveyElement } from \"./reactquestion_element\";\nimport { Base, QuestionTagboxModel, ItemValue } from \"survey-core\";\nimport { SvgIcon } from \"./components/svg-icon/svg-icon\";\n\nexport class SurveyQuestionTagboxItem extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n }\n protected get question(): QuestionTagboxModel {\n return this.props.question;\n }\n protected get item(): ItemValue {\n return this.props.item;\n }\n protected canRender(): boolean {\n return !!this.item && !!this.question;\n }\n protected renderElement(): JSX.Element {\n const text = this.renderLocString(this.item.locText);\n\n const removeItem = (event: any) => {\n this.question.dropdownListModel.deselectItem(this.item.value);\n event.stopPropagation();\n };\n\n return (\n <div className=\"sv-tagbox__item\">\n <div className=\"sv-tagbox__item-text\">{text}</div>\n <div\n className={ this.question.cssClasses.cleanItemButton}\n onClick={removeItem}\n >\n <SvgIcon\n className={this.question.cssClasses.cleanItemButtonSvg}\n iconName={this.question.cssClasses.cleanItemButtonIconId}\n size={\"auto\"}\n ></SvgIcon>\n </div>\n </div>\n );\n }\n}","import { IDialogOptions } from \"./popup\";\n\nexport type ISurveyEnvironment = {\n root: Document | ShadowRoot,\n rootElement: HTMLElement | ShadowRoot,\n popupMountContainer: HTMLElement | string,\n svgMountContainer: HTMLElement | string,\n stylesSheetsMountContainer: HTMLElement,\n}\nconst document = globalThis.document;\nconst defaultEnvironment: ISurveyEnvironment = <ISurveyEnvironment> (!!document ? {\n root: document,\n\n _rootElement: document.body,\n get rootElement(): HTMLElement | ShadowRoot {\n return this._rootElement ?? document.body;\n },\n set rootElement(rootElement: HTMLElement | ShadowRoot) {\n (this._rootElement as any) = rootElement;\n },\n\n _popupMountContainer: document.body,\n get popupMountContainer(): HTMLElement | string {\n return this._popupMountContainer ?? document.body;\n },\n set popupMountContainer(popupMountContainer: HTMLElement | string) {\n (this._popupMountContainer as any) = popupMountContainer;\n },\n svgMountContainer: document.head,\n stylesSheetsMountContainer: document.head,\n} : undefined);\nconst columnWidthsByType: { [index: string]: { minWidth?: string, width?: string } } = {\n \"file\": { minWidth: \"240px\" },\n \"comment\": { minWidth: \"200px\" }\n};\n/**\n * Global settings that apply to all surveys on the page. To specify one of the settings, use the code below:\n *\n * ```js\n * import { settings } from \"survey-core\";\n *\n * settings.settingName = \"value\";\n * ```\n */\n\nexport var settings = {\n /**\n * An object that configures survey appearance when the survey is being designed in Survey Creator.\n *\n * Nested properties:\n *\n * - `showEmptyDescriptions`: `Boolean`\\\n * Specifies whether to display an empty description for pages and panels. Default value: `true`.\n *\n * - `showEmptyTitles`: `Boolean`\\\n * Specifies whether to display an empty title for pages and panels. Default value: `true`.\n */\n designMode: {\n showEmptyDescriptions: true,\n showEmptyTitles: true\n },\n //#region designMode section, Obsolete properties\n /**\n * This property is obsolete. Use the [`settings.designMode.showEmptyDescriptions`](https://surveyjs.io/form-library/documentation/api-reference/settings#designMode) property instead.\n */\n get allowShowEmptyDescriptionInDesignMode(): boolean { return this.designMode.showEmptyDescriptions; },\n set allowShowEmptyDescriptionInDesignMode(val: boolean) { this.designMode.showEmptyDescriptions = val; },\n /**\n * This property is obsolete. Use the [`settings.designMode.showEmptyTitles`](https://surveyjs.io/form-library/documentation/api-reference/settings#designMode) property instead.\n */\n get allowShowEmptyTitleInDesignMode(): boolean { return this.designMode.showEmptyTitles; },\n set allowShowEmptyTitleInDesignMode(val: boolean) { this.designMode.showEmptyTitles = val; },\n //#endregion\n\n /**\n * An object that contains properties related to localization.\n *\n * Nested properties:\n *\n * - `useLocalTimeZone`: `Boolean`\\\n * Disable this property if you want internal SurveyJS functions to use methods that work with UTC date and time (`setUTCDate()` `setUTCHours()`, etc.) instead of methods that work with local date and time (`setYear`, `setHours()`, etc.). Default value: `true`.\n *\n * - `defaultLocaleName`: `String`\\\n * A property key that stores a translation for the default locale. Default value: `\"default\"`.\n *\n * - `storeDuplicatedTranslations`: `Boolean`\\\n * Specifies whether surveys should store translation strings that equal the translation strings in the default locale. Default value: `false`.\n */\n localization: {\n useLocalTimeZone: true,\n storeDuplicatedTranslations: false,\n defaultLocaleName: \"default\"\n },\n //#region localization section, obsolete properties\n /**\n * This property is obsolete. Use the [`settings.localization.useLocalTimeZone`](https://surveyjs.io/form-library/documentation/api-reference/settings#localization) property instead.\n */\n get useLocalTimeZone(): boolean { return this.localization.useLocalTimeZone; },\n set useLocalTimeZone(val: boolean) { this.localization.useLocalTimeZone = val; },\n /**\n * This property is obsolete. Use the [`settings.localization.storeDuplicatedTranslations`](https://surveyjs.io/form-library/documentation/api-reference/settings#localization) property instead.\n */\n get storeDuplicatedTranslations(): boolean { return this.localization.storeDuplicatedTranslations; },\n set storeDuplicatedTranslations(val: boolean) { this.localization.storeDuplicatedTranslations = val; },\n /**\n * This property is obsolete. Use the [`settings.localization.defaultLocaleName`](https://surveyjs.io/form-library/documentation/api-reference/settings#localization) property instead.\n */\n get defaultLocaleName(): string { return this.localization.defaultLocaleName; },\n set defaultLocaleName(val: string) { this.localization.defaultLocaleName = val; },\n //#endregion\n /**\n * An object with properties that configure surveys when they work with a web service.\n *\n * Nested properties:\n *\n * - `encodeUrlParams`: `Boolean`\\\n * Specifies whether to encode URL parameters when you access a web service. Default value: `true`.\n *\n * - `cacheLoadedChoices`: `Boolean`\\\n * Specifies whether to cache [choices](https://surveyjs.io/form-library/documentation/api-reference/checkbox-question-model#choicesByUrl) loaded from a web service. Default value: `true`.\n *\n * - `disableQuestionWhileLoadingChoices`: `Boolean`\\\n * Disables a question while its choices are being loaded from a web service. Default value: `false`.\n *\n * - `surveyServiceUrl`: `String`\\\n * The URL of the SurveyJS Service API endpoint.\n */\n web: {\n encodeUrlParams: true,\n cacheLoadedChoices: true,\n disableQuestionWhileLoadingChoices: false,\n surveyServiceUrl: \"https://api.surveyjs.io/public/v1/Survey\"\n },\n //#region web section, obsolete properties\n /**\n * This property is obsolete. Use the [`settings.web.encodeUrlParams`](https://surveyjs.io/form-library/documentation/api-reference/settings#web) property instead.\n */\n get webserviceEncodeParameters(): boolean { return this.web.encodeUrlParams; },\n set webserviceEncodeParameters(val: boolean) { this.web.encodeUrlParams = val; },\n /**\n * This property is obsolete. Use the [`settings.web.cacheLoadedChoices`](https://surveyjs.io/form-library/documentation/api-reference/settings#web) property instead.\n */\n get useCachingForChoicesRestful(): boolean { return this.web.cacheLoadedChoices; },\n set useCachingForChoicesRestful(val: boolean) { this.web.cacheLoadedChoices = val; },\n get useCachingForChoicesRestfull(): boolean { return this.web.cacheLoadedChoices; },\n set useCachingForChoicesRestfull(val: boolean) { this.web.cacheLoadedChoices = val; },\n /**\n * This property is obsolete. Use the [`settings.web.disableQuestionWhileLoadingChoices`](https://surveyjs.io/form-library/documentation/api-reference/settings#web) property instead.\n */\n get disableOnGettingChoicesFromWeb(): boolean { return this.web.disableQuestionWhileLoadingChoices; },\n set disableOnGettingChoicesFromWeb(val: boolean) { this.web.disableQuestionWhileLoadingChoices = val; },\n /**\n * This property is obsolete. Use the [`settings.web.surveyServiceUrl`](https://surveyjs.io/form-library/documentation/api-reference/settings#web) property instead.\n */\n get surveyServiceUrl(): string { return this.web.surveyServiceUrl; },\n set surveyServiceUrl(val: string) { this.web.surveyServiceUrl = val; },\n //#endregion\n\n /**\n * An object that contains properties related to [triggers](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#conditional-survey-logic-triggers).\n *\n * Nested properties:\n *\n * - `changeNavigationButtonsOnComplete`: `Boolean`\\\n * Specifies whether to re-evaluate an expression associated with the [Complete trigger](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#complete) immediately when a question value changes. If the expression evaluates to `true`, the trigger is executed. Default value: `false`.\\\n * Keep this property set to `false` if you want to re-evaluate the Complete trigger's expression only when the respondents navigate to another page.\n *\n * - `executeCompleteOnValueChanged`: `Boolean`\\\n * Specifies whether to replace the Next button with the Complete button when the [Complete trigger](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#complete) is going to be executed. Default value: `true`.\n *\n * - `executeSkipOnValueChanged`: `Boolean`\\\n * Specifies whether to re-evaluate an expression associated with the [Skip trigger](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#skip) immediately when a question value changes. If the expression evaluates to `true`, the trigger is executed. Default value: `true`.\\\n * Disable this property if you want to re-evaluate the Skip trigger's expression only when respondents navigate to another page.\n */\n triggers: {\n changeNavigationButtonsOnComplete: true,\n executeCompleteOnValueChanged: false,\n executeSkipOnValueChanged: true\n },\n //#region triggers section, Obsolete properties\n /**\n * This property is obsolete. Use the [`settings.triggers.executeCompleteOnValueChanged`](https://surveyjs.io/form-library/documentation/api-reference/settings#triggers) property instead.\n */\n get executeCompleteTriggerOnValueChanged(): boolean { return this.triggers.executeCompleteOnValueChanged; },\n set executeCompleteTriggerOnValueChanged(val: boolean) { this.triggers.executeCompleteOnValueChanged = val; },\n /**\n * This property is obsolete. Use the [`settings.triggers.changeNavigationButtonsOnComplete`](https://surveyjs.io/form-library/documentation/api-reference/settings#triggers) property instead.\n */\n get changeNavigationButtonsOnCompleteTrigger(): boolean { return this.triggers.changeNavigationButtonsOnComplete; },\n set changeNavigationButtonsOnCompleteTrigger(val: boolean) { this.triggers.changeNavigationButtonsOnComplete = val; },\n /**\n * This property is obsolete. Use the [`settings.triggers.executeSkipOnValueChanged`](https://surveyjs.io/form-library/documentation/api-reference/settings#triggers) property instead.\n */\n get executeSkipTriggerOnValueChanged(): boolean { return this.triggers.executeSkipOnValueChanged; },\n set executeSkipTriggerOnValueChanged(val: boolean) { this.triggers.executeSkipOnValueChanged = val; },\n //#endregion\n\n /**\n * An object that contains properties related to JSON serialization.\n *\n * Nested properties:\n *\n * - `itemValueSerializeAsObject`: `Boolean`\\\n * Enable this property if you want to serialize [`ItemValue`](https://surveyjs.io/form-library/documentation/api-reference/itemvalue) instances as objects even when they include only the `value` property. Default value: `false`. View an example below.\n *\n * - `itemValueSerializeDisplayText`: `Boolean`\\\n * Enable this property if you want to serialize the `text` property of [`ItemValue`](https://surveyjs.io/form-library/documentation/api-reference/itemvalue) objects even when it is empty or equal to the `value` property. Default value: `false`. View an example below.\n *\n * - `localizableStringSerializeAsObject`: `Boolean`\\\n * Enable this property if you want to serialize [`LocalizableString`](https://surveyjs.io/form-library/documentation/api-reference/localizablestring) instances as objects even when they include only a translation string for the default locale. For example, `\"Custom String\"` will be serialized as `{ default: \"Custom String\" }`. Default value: `false`.\n *\n * ```js\n * import { ItemValue, settings } from \"survey-core\";\n *\n * // `itemValueSerializeAsObject` example\n * settings.localization.itemValueSerializeAsObject = true;\n * const item = new ItemValue(5);\n * const itemString = item.toJSON(); // Produces { value: 5 } instead of 5\n *\n * // `itemValueSerializeDisplayText` example\n * settings.localization.itemValueSerializeDisplayText = true;\n * const item = new ItemValue(\"item1\");\n * const itemString = item.toJSON(); // Produces { value: \"item1\", text: \"item1\" } instead of \"item1\"\n * ```\n */\n serialization: {\n itemValueSerializeAsObject: false,\n itemValueSerializeDisplayText: false,\n localizableStringSerializeAsObject: false\n },\n //#region serialization section, Obsolete properties\n /**\n * This property is obsolete. Use the [`settings.serialization.itemValueSerializeAsObject`](https://surveyjs.io/form-library/documentation/api-reference/settings#serialization) property instead.\n */\n get itemValueAlwaysSerializeAsObject(): boolean { return this.serialization.itemValueSerializeAsObject; },\n set itemValueAlwaysSerializeAsObject(val: boolean) { this.serialization.itemValueSerializeAsObject = val; },\n /**\n * This property is obsolete. Use the [`settings.serialization.itemValueSerializeDisplayText`](https://surveyjs.io/form-library/documentation/api-reference/settings#serialization) property instead.\n */\n get itemValueAlwaysSerializeText(): boolean { return this.serialization.itemValueSerializeDisplayText; },\n set itemValueAlwaysSerializeText(val: boolean) { this.serialization.itemValueSerializeDisplayText = val; },\n /**\n * This property is obsolete. Use the [`settings.serialization.localizableStringSerializeAsObject`](https://surveyjs.io/form-library/documentation/api-reference/settings#serialization) property instead.\n */\n get serializeLocalizableStringAsObject(): boolean { return this.serialization.localizableStringSerializeAsObject; },\n set serializeLocalizableStringAsObject(val: boolean) { this.serialization.localizableStringSerializeAsObject = val; },\n //#endregion\n /**\n * An object that configures lazy rendering.\n *\n * Nested properties:\n *\n * - `enabled`: `Boolean`\\\n * Specifies whether to add questions to the DOM only when they get into the viewport. Default value: `false`.\n *\n * > Lazy rendering is an experimental feature that may not work as expected in all use cases.\n */\n lazyRender: {\n enabled: false,\n firstBatchSize: 3\n },\n //#region lazyRender section, Obsolete properties\n /**\n * This property is obsolete. Use the [`settings.lazyRender.enabled`](https://surveyjs.io/form-library/documentation/api-reference/settings#lazyRender) property instead.\n */\n get lazyRowsRendering(): boolean { return this.lazyRender.enabled; },\n set lazyRowsRendering(val: boolean) { this.lazyRender.enabled = val; },\n get lazyRowsRenderingStartRow(): number { return this.lazyRender.firstBatchSize; },\n set lazyRowsRenderingStartRow(val: number) { this.lazyRender.firstBatchSize = val; },\n //#endregion\n /**\n * An object with properties that apply to [Single-Choice](https://surveyjs.io/form-library/documentation/api-reference/matrix-table-question-model), [Multiple-Choice](https://surveyjs.io/form-library/documentation/api-reference/matrix-table-with-dropdown-list), and [Dynamic Matrix](https://surveyjs.io/form-library/documentation/api-reference/dynamic-matrix-table-question-model) questions.\n *\n * Nested properties:\n *\n * - `defaultRowName`: `String`\\\n * A property key that stores an object with default cell values. Default value: \"default\".\n *\n * - `defaultCellType`: `String`\\\n * The default type of matrix cells. Default value: `\"dropdown\"`.\\\n * You can specify this setting for individual questions or matrix columns: [`cellType`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-matrix-table-question-model#cellType). Refer to the `cellType` property description for information on possible values.\n *\n * - `totalsSuffix`: `String`\\\n * A suffix added to the name of the property that stores total values. The resulting property name consists of the matrix name and the suffix. Default value: `\"-total\"`.\n *\n * - `maxRowCount`: `Number`\\\n * A maximum number of rows in a Dynamic Matrix. Default value: 1000.\\\n * You can specify this setting for an individual Dynamic Matrix: [`maxRowCount`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-matrix-table-question-model#maxRowCount).\n *\n * - `maxRowCountInCondition`: `Number`\\\n * A maximum number of matrix rows included in the Condition drop-down menu in Survey Creator. This menu is used to configure conditional survey logic. Default value: 1.\\\n * If you set this property to 0, the Condition menu does not include any matrix rows. Users still can specify conditions that use matrix rows but only with Manual Entry.\n *\n * - `renderRemoveAsIcon`: `Boolean`\\\n * Disable this property if you want to render the Remove action in Dynamic Matrix as a button. Otherwise, the action is rendered as an icon. Default value: `true`.\n *\n * - `columnWidthsByType`: `Object`\\\n * An object that specifies fixed and minimum column width based on the column type.\\\n * Example: `settings.matrix.columnWidthsByType = { \"tagbox\": { minWidth: \"240px\", width: \"300px\" } }`\n *\n * - `rateSize`: `\"small\"` (default) | `\"normal\"`\\\n * Specifies the size of rate values. Applies to [Rating Scale](https://surveyjs.io/form-library/examples/rating-scale/) questions within matrixes.\n */\n matrix: {\n defaultCellType: \"dropdown\",\n defaultRowName: \"default\",\n totalsSuffix: \"-total\",\n maxRowCount: 1000,\n maxRowCountInCondition: 1,\n renderRemoveAsIcon: true,\n columnWidthsByType: columnWidthsByType,\n rateSize: \"small\" as \"small\" | \"normal\",\n },\n //#region matrix section, Obsolete properties\n /**\n * This property is obsolete. Use the [`settings.matrix.defaultRowName`](https://surveyjs.io/form-library/documentation/api-reference/settings#matrix) property instead.\n */\n get matrixDefaultRowName(): string { return this.matrix.defaultRowName; },\n set matrixDefaultRowName(val: string) { this.matrix.defaultRowName = val; },\n /**\n * This property is obsolete. Use the [`settings.matrix.defaultCellType`](https://surveyjs.io/form-library/documentation/api-reference/settings#matrix) property instead.\n */\n get matrixDefaultCellType(): string { return this.matrix.defaultCellType; },\n set matrixDefaultCellType(val: string) { this.matrix.defaultCellType = val; },\n /**\n * This property is obsolete. Use the [`settings.matrix.totalsSuffix`](https://surveyjs.io/form-library/documentation/api-reference/settings#matrix) property instead.\n */\n get matrixTotalValuePostFix(): string { return this.matrix.totalsSuffix; },\n set matrixTotalValuePostFix(val: string) { this.matrix.totalsSuffix = val; },\n /**\n * This property is obsolete. Use the [`settings.matrix.maxRowCount`](https://surveyjs.io/form-library/documentation/api-reference/settings#matrix) property instead.\n */\n get matrixMaximumRowCount(): number { return this.matrix.maxRowCount; },\n set matrixMaximumRowCount(val: number) { this.matrix.maxRowCount = val; },\n /**\n * This property is obsolete. Use the [`settings.matrix.maxRowCountInCondition`](https://surveyjs.io/form-library/documentation/api-reference/settings#matrix) property instead.\n */\n get matrixMaxRowCountInCondition(): number { return this.matrix.maxRowCountInCondition; },\n set matrixMaxRowCountInCondition(val: number) { this.matrix.maxRowCountInCondition = val; },\n /**\n * This property is obsolete. Use the [`settings.matrix.renderRemoveAsIcon`](https://surveyjs.io/form-library/documentation/api-reference/settings#matrix) property instead.\n */\n get matrixRenderRemoveAsIcon(): boolean { return this.matrix.renderRemoveAsIcon; },\n set matrixRenderRemoveAsIcon(val: boolean) { this.matrix.renderRemoveAsIcon = val; },\n //#endregion\n /**\n * An object with properties that apply to [Dynamic Panel](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model) questions.\n *\n * Nested properties:\n *\n * - `maxPanelCount`: `Number`\\\n * A maximum number of panels in Dynamic Panel. Default value: 100.\\\n * You can specify this setting for an individual Dynamic Panel: [`maxPanelCount`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#maxPanelCount).\n *\n * - `maxPanelCountInCondition`: `Number`\\\n * A maximum number of Dynamic Panel panels included in the Condition drop-down menu in Survey Creator. This menu is used to configure conditional survey logic. Default value: 1.\\\n * If you set this property to 0, the Condition menu does not include any panel questions. Users still can specify conditions that use panel questions but only with Manual Entry.\n */\n panel: {\n maxPanelCount: 100,\n maxPanelCountInCondition: 1\n },\n //#region panel section, Obsolete properties\n /**\n * This property is obsolete. Use the [`settings.panel.maxPanelCountInCondition`](https://surveyjs.io/form-library/documentation/api-reference/settings#panel) property instead.\n */\n get panelDynamicMaxPanelCountInCondition(): number { return this.panel.maxPanelCountInCondition; },\n set panelDynamicMaxPanelCountInCondition(val: number) { this.panel.maxPanelCountInCondition = val; },\n /**\n * This property is obsolete. Use the [`settings.panel.maxPanelCount`](https://surveyjs.io/form-library/documentation/api-reference/settings#panel) property instead.\n */\n get panelMaximumPanelCount(): number { return this.panel.maxPanelCount; },\n set panelMaximumPanelCount(val: number) { this.panel.maxPanelCount = val; },\n //#endregion\n /**\n * An object with properties that configure questions in read-only mode.\n *\n * Nested properties:\n *\n * - `commentRenderMode`: `\"textarea\"` (default) | `\"div\"`\\\n * Specifies how to render the input field of [Comment](https://surveyjs.io/form-library/documentation/api-reference/comment-field-model) questions in [read-only](https://surveyjs.io/form-library/documentation/api-reference/comment-field-model#readOnly) mode: as a disabled `<textarea>` element or as a `<div>` element with a non-editable question value within it.\n *\n * - `textRenderMode`: `\"input\"` (default) | `\"div\"`\\\n * Specifies how to render the input field of [Text](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model) questions in [read-only](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model#readOnly) mode: as a disabled `<input>` element or as a `<div>` element with a non-editable question value within it.\n */\n readOnly: {\n commentRenderMode: \"textarea\",\n textRenderMode: \"input\"\n },\n //#region readOnly section, Obsolete properties\n /**\n * This property is obsolete. Use the [`settings.readOnly.commentRenderMode`](https://surveyjs.io/form-library/documentation/api-reference/settings#readOnly) property instead.\n */\n get readOnlyCommentRenderMode(): string { return this.readOnly.commentRenderMode; },\n set readOnlyCommentRenderMode(val: string) { this.readOnly.commentRenderMode = val; },\n /**\n * This property is obsolete. Use the [`settings.readOnly.textRenderMode`](https://surveyjs.io/form-library/documentation/api-reference/settings#readOnly) property instead.\n */\n get readOnlyTextRenderMode(): string { return this.readOnly.textRenderMode; },\n set readOnlyTextRenderMode(val: string) { this.readOnly.textRenderMode = val; },\n //#endregion\n /**\n * An object with properties that configure question numbering.\n *\n * Nested properties:\n *\n * - `includeQuestionsWithHiddenNumber`: `Boolean`\\\n * Specifies whether to number questions whose [`hideNumber`](https://surveyjs.io/form-library/documentation/api-reference/question#hideNumber) property is enabled. Default value: `false`.\n *\n * - `includeQuestionsWithHiddenTitle`: `Boolean`\\\n * Specifies whether to number questions whose [`titleLocation`](https://surveyjs.io/form-library/documentation/api-reference/question#titleLocation) property is set to `\"hidden\"`. Default value: `false`.\n */\n numbering: {\n includeQuestionsWithHiddenNumber: false,\n includeQuestionsWithHiddenTitle: false\n },\n //#region numbering section, Obsolete properties\n /**\n * This property is obsolete. Use the [`settings.numbering.includeQuestionsWithHiddenTitle`](https://surveyjs.io/form-library/documentation/api-reference/settings#numbering) property instead.\n */\n get setQuestionVisibleIndexForHiddenTitle(): boolean { return this.numbering.includeQuestionsWithHiddenTitle; },\n set setQuestionVisibleIndexForHiddenTitle(val: boolean) { this.numbering.includeQuestionsWithHiddenTitle = val; },\n /**\n * This property is obsolete. Use the [`settings.numbering.includeQuestionsWithHiddenNumber`](https://surveyjs.io/form-library/documentation/api-reference/settings#numbering) property instead.\n */\n get setQuestionVisibleIndexForHiddenNumber(): boolean { return this.numbering.includeQuestionsWithHiddenNumber; },\n set setQuestionVisibleIndexForHiddenNumber(val: boolean) { this.numbering.includeQuestionsWithHiddenNumber = val; },\n //#endregion\n /**\n * Specifies an action to perform when users press the Enter key within a survey.\n *\n * Possible values:\n *\n * - `\"moveToNextEditor\"` - Moves focus to the next editor.\n * - `\"loseFocus\"` - Removes focus from the current editor.\n * - `\"default\"` - Behaves as a standard `<input>` element.\n */\n enterKeyAction: \"default\" as \"moveToNextEditor\" | \"loseFocus\" | \"default\",\n /**\n * An object that configures string comparison.\n *\n * Nested properties:\n *\n * - `trimStrings`: `Boolean`\\\n * Specifies whether to remove whitespace from both ends of a string before the comparison. Default value: `true`.\n *\n * - `caseSensitive`: `Boolean`\\\n * Specifies whether to differentiate between capital and lower-case letters. Default value: `false`.\n *\n * - `normalizedTextCallback`: `(str: string, reason: string) => string`\n * Use the following function { str.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\"); }\n * If you want to 'Brouillé' to be equal to 'Brouille'.\n * Use the following function { return reason === \"filter\" ? str.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\"): \"\"; }\n * If you want to use this functionality during filtering only, for example in list.\n */\n comparator: {\n trimStrings: true,\n caseSensitive: false,\n normalizeTextCallback: (str: string, reason: string): string => { return str; }\n },\n expressionDisableConversionChar: \"#\",\n get commentPrefix(): string { return settings.commentSuffix; },\n set commentPrefix(val: string) { settings.commentSuffix = val; },\n /**\n * A suffix added to the name of the property that stores comments.\n *\n * Default value: \"-Comment\"\n *\n * You can specify this setting for an individual survey: [`commentSuffix`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#commentSuffix).\n */\n commentSuffix: \"-Comment\",\n /**\n * A separator used in a shorthand notation that specifies a value and display text for an [`ItemValue`](https://surveyjs.io/form-library/documentation/api-reference/itemvalue) object: `\"value|text\"`.\n *\n * Default value: `\"|\"`\n */\n itemValueSeparator: \"|\",\n /**\n * A maximum number of rate values in a [Rating](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model) question.\n *\n * Default value: 20\n */\n ratingMaximumRateValueCount: 20,\n /**\n * Specifies whether to close the drop-down menu of a [TagBox](https://surveyjs.io/form-library/examples/how-to-create-multiselect-tag-box/) question after a user selects a value.\n *\n * This setting applies to all TagBox questions on a page. You can use the [closeOnSelect](https://surveyjs.io/form-library/documentation/api-reference/dropdown-tag-box-model#closeOnSelect) property to specify the same setting for an individual TagBox question.\n */\n tagboxCloseOnSelect: false,\n /**\n * A property that allows you to display a custom confirm dialog instead of the standard browser dialog. Set this property to a function that renders your custom dialog window.\n * @param message A message to be displayed in the confirm dialog window.\n */\n confirmActionFunc: function (message: string): boolean {\n return confirm(message);\n },\n /**\n * A minimum width value for all survey elements.\n *\n * Default value: `\"300px\"`\n *\n * You can override this setting for individual elements: [`minWidth`](https://surveyjs.io/form-library/documentation/api-reference/surveyelement#minWidth).\n */\n minWidth: \"300px\",\n /**\n * A maximum width value for all survey elements.\n *\n * Default value: `\"100%\"`\n *\n * You can override this setting for individual elements: [`maxWidth`](https://surveyjs.io/form-library/documentation/api-reference/surveyelement#maxWidth).\n */\n maxWidth: \"100%\",\n /**\n * Specifies how many times surveys can re-evaluate expressions when a question value changes. This limit helps avoid recursions in expressions.\n *\n * Default value: 10\n */\n maxConditionRunCountOnValueChanged: 10,\n /**\n * An object that configures notifications.\n *\n * Nested properties:\n *\n * - `lifetime`: `Number`\\\n * Specifies a time period during which a notification is displayed; measured in milliseconds.\n */\n notifications: {\n lifetime: 2000\n },\n /**\n * Specifies the direction in which to lay out Checkbox and Radiogroup items. This setting affects the resulting UI when items are arranged in [more than one column](https://surveyjs.io/form-library/documentation/api-reference/checkbox-question-model#colCount).\n *\n * Possible values:\n *\n * - `\"row\"` (default) - Items fill the current row, then move on to the next row.\n * - `\"column\"` - Items fill the current column, then move on to the next column.\n */\n showItemsInOrder: \"default\",\n /**\n * A value to save in survey results when respondents select the None choice item.\n *\n * Default value: `\"none\"`\n */\n noneItemValue: \"none\",\n /**\n * A list of supported validators by question type.\n */\n supportedValidators: {\n question: [\"expression\"],\n comment: [\"text\", \"regex\"],\n text: [\"numeric\", \"text\", \"regex\", \"email\"],\n checkbox: [\"answercount\"],\n imagepicker: [\"answercount\"],\n },\n /**\n * Specifies a minimum date that users can enter into a [Text](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model) question with [`inputType`](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model#inputType) set to `\"date\"` or `\"datetime-local\"`. Set this property to a string with the folllowing format: `\"yyyy-mm-dd\"`.\n */\n minDate: \"\",\n /**\n * Specifies a maximum date that users can enter into a [Text](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model) question with [`inputType`](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model#inputType) set to `\"date\"` or `\"datetime-local\"`. Set this property to a string with the folllowing format: `\"yyyy-mm-dd\"`.\n */\n maxDate: \"\",\n showModal: <\n (\n componentName: string,\n data: any,\n onApply: () => boolean,\n onCancel?: () => void,\n cssClass?: string,\n title?: string,\n displayMode?: \"popup\" | \"overlay\"\n ) => any\n >undefined,\n showDialog: < (options: IDialogOptions, rootElement?: HTMLElement) => any >undefined,\n supportCreatorV2: false,\n showDefaultItemsInCreatorV2: true,\n /**\n * An object that specifies icon replacements. Object keys are built-in icon names. To use a custom icon, assign its name to the key of the icon you want to replace:\n *\n * ```js\n * import { settings } from \"survey-core\";\n *\n * settings.customIcons[\"icon-redo\"] = \"custom-redo-icon\";\n * ```\n *\n * For more information about icons in SurveyJS, refer to the following help topic: [UI Icons](https://surveyjs.io/form-library/documentation/icons).\n */\n customIcons: {},\n /**\n * Specifies which part of a choice item responds to a drag gesture in Ranking questions.\n *\n * Possible values:\n *\n * - `\"entireItem\"` (default) - Users can use the entire choice item as a drag handle.\n * - `\"icon\"` - Users can only use the choice item icon as a drag handle.\n */\n rankingDragHandleArea: \"entireItem\",\n\n /**\n * Specifies environment in which SurveyJS will exist\n */\n environment: defaultEnvironment,\n\n showMaxLengthIndicator: true,\n\n titleTags: {\n survey: \"h3\",\n page: \"h4\",\n panel: \"h4\",\n question: \"h5\",\n },\n questions: {\n inputTypes: [\n \"color\",\n \"date\",\n \"datetime-local\",\n \"email\",\n \"month\",\n \"number\",\n \"password\",\n \"range\",\n \"tel\",\n \"text\",\n \"time\",\n \"url\",\n \"week\",\n ],\n dataList: [\n \"\",\n \"name\",\n \"honorific-prefix\",\n \"given-name\",\n \"additional-name\",\n \"family-name\",\n \"honorific-suffix\",\n \"nickname\",\n \"organization-title\",\n \"username\",\n \"new-password\",\n \"current-password\",\n \"organization\",\n \"street-address\",\n \"address-line1\",\n \"address-line2\",\n \"address-line3\",\n \"address-level4\",\n \"address-level3\",\n \"address-level2\",\n \"address-level1\",\n \"country\",\n \"country-name\",\n \"postal-code\",\n \"cc-name\",\n \"cc-given-name\",\n \"cc-additional-name\",\n \"cc-family-name\",\n \"cc-number\",\n \"cc-exp\",\n \"cc-exp-month\",\n \"cc-exp-year\",\n \"cc-csc\",\n \"cc-type\",\n \"transaction-currency\",\n \"transaction-amount\",\n \"language\",\n \"bday\",\n \"bday-day\",\n \"bday-month\",\n \"bday-year\",\n \"sex\",\n \"url\",\n \"photo\",\n \"tel\",\n \"tel-country-code\",\n \"tel-national\",\n \"tel-area-code\",\n \"tel-local\",\n \"tel-local-prefix\",\n \"tel-local-suffix\",\n \"tel-extension\",\n \"email\",\n \"impp\",\n ]\n }\n};","import { Action } from \"../actions/action\";\nimport { AdaptiveActionContainer } from \"../actions/adaptive-container\";\nimport { isContainerVisible } from \"./utils\";\n\ninterface IDimensions {\n scroll: number;\n offset: number;\n}\n\nexport class ResponsivityManager {\n private resizeObserver: ResizeObserver = undefined;\n private isInitialized = false;\n protected minDimensionConst = 56;\n private separatorSize = 17;\n private separatorAddConst = 1;\n private paddingSizeConst = 8;\n private dotsSizeConst = 48;\n protected recalcMinDimensionConst = true;\n\n public getComputedStyle: (\n elt: Element\n ) => CSSStyleDeclaration = window.getComputedStyle.bind(window);\n\n constructor(\n protected container: HTMLDivElement,\n private model: AdaptiveActionContainer,\n private itemsSelector: string,\n private dotsItemSize: number = null,\n ) {\n this.model.updateCallback = (isResetInitialized: boolean) => {\n if(isResetInitialized)\n this.isInitialized = false;\n setTimeout(() => { this.process(); }, 1);\n };\n if (typeof ResizeObserver !== \"undefined\") {\n this.resizeObserver = new ResizeObserver((_) => this.process());\n this.resizeObserver.observe(this.container.parentElement);\n }\n }\n\n protected getDimensions(element: HTMLElement): IDimensions {\n return {\n scroll: element.scrollWidth,\n offset: element.offsetWidth,\n };\n }\n\n protected getAvailableSpace(): number {\n const style: CSSStyleDeclaration = this.getComputedStyle(this.container);\n let space = this.container.offsetWidth;\n if (style.boxSizing === \"border-box\") {\n space -= parseFloat(style.paddingLeft) + parseFloat(style.paddingRight);\n }\n return space;\n }\n\n protected calcItemSize(item: HTMLDivElement): number {\n return item.offsetWidth;\n }\n\n private calcMinDimension(currentAction: Action) {\n let minDimensionConst = this.minDimensionConst;\n if(currentAction.iconSize && this.recalcMinDimensionConst) {\n minDimensionConst = 2 * currentAction.iconSize + this.paddingSizeConst;\n }\n return currentAction.canShrink\n ? minDimensionConst +\n (currentAction.needSeparator ? this.separatorSize : 0)\n : currentAction.maxDimension;\n }\n\n private calcItemsSizes() {\n const actions = this.model.actions;\n const _items = this.container.querySelectorAll(this.itemsSelector);\n (_items || []).forEach((item: HTMLDivElement, index: number) => {\n let currentAction = actions[index];\n this.calcActionDimensions(currentAction, item);\n });\n }\n protected calcActionDimensions(currentAction: Action, item: HTMLDivElement) {\n currentAction.maxDimension = this.calcItemSize(item);\n currentAction.minDimension = this.calcMinDimension(currentAction);\n }\n private get isContainerVisible(): boolean {\n return isContainerVisible(this.container);\n }\n private process(): void {\n if (this.isContainerVisible && !this.model.isResponsivenessDisabled) {\n if (!this.isInitialized) {\n this.model.setActionsMode(\"large\");\n this.calcItemsSizes();\n this.isInitialized = true;\n }\n let dotsItemSize = this.dotsItemSize;\n if (!this.dotsItemSize) {\n const dotsItemElement: HTMLDivElement = this.container?.querySelector(\".sv-dots\");\n dotsItemSize = dotsItemElement && this.calcItemSize(dotsItemElement) || this.dotsSizeConst;\n }\n this.model.fit(this.getAvailableSpace(), dotsItemSize);\n }\n }\n\n public dispose(): void {\n this.model.updateCallback = undefined;\n if (!!this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n }\n}\n\nexport class VerticalResponsivityManager extends ResponsivityManager {\n constructor(\n container: HTMLDivElement,\n model: AdaptiveActionContainer,\n itemsSelector: string,\n dotsItemSize?: number,\n minDimension = 40\n ) {\n super(container, model, itemsSelector, dotsItemSize);\n this.minDimensionConst = minDimension;\n this.recalcMinDimensionConst = false;\n }\n\n protected getDimensions(): IDimensions {\n return {\n scroll: this.container.scrollHeight,\n offset: this.container.offsetHeight,\n };\n }\n\n protected getAvailableSpace(): number {\n const style: CSSStyleDeclaration = this.getComputedStyle(this.container);\n let space: number = this.container.offsetHeight;\n if (style.boxSizing === \"border-box\") {\n space -= parseFloat(style.paddingTop) + parseFloat(style.paddingBottom);\n }\n return space;\n }\n\n protected calcItemSize(item: HTMLDivElement): number {\n return item.offsetHeight;\n }\n protected calcActionDimensions(currentAction: Action, item: HTMLDivElement) {\n currentAction.maxDimension = this.calcItemSize(item);\n currentAction.minDimension = this.calcItemSize(item);\n }\n}\n","import { settings, ISurveyEnvironment } from \"./../settings\";\n\nfunction compareVersions(a: any, b: any) {\n const regExStrip0: RegExp = /(\\.0+)+$/;\n const segmentsA: string[] = a.replace(regExStrip0, \"\").split(\".\");\n const segmentsB: string[] = b.replace(regExStrip0, \"\").split(\".\");\n const len: number = Math.min(segmentsA.length, segmentsB.length);\n for (let i: number = 0; i < len; i++) {\n const diff: number =\n parseInt(segmentsA[i], 10) - parseInt(segmentsB[i], 10);\n if (diff) {\n return diff;\n }\n }\n return segmentsA.length - segmentsB.length;\n}\nfunction confirmAction(message: string): boolean {\n if (!!settings && !!settings.confirmActionFunc)\n return settings.confirmActionFunc(message);\n return confirm(message);\n}\nfunction detectIEBrowser() {\n if (typeof window === \"undefined\") return false;\n const ua: string = window.navigator.userAgent;\n const oldIe: number = ua.indexOf(\"MSIE \");\n const elevenIe: number = ua.indexOf(\"Trident/\");\n return oldIe > -1 || elevenIe > -1;\n}\nfunction detectIEOrEdge() {\n if (typeof window === \"undefined\") return false;\n if (typeof (<any>detectIEOrEdge).isIEOrEdge === \"undefined\") {\n const ua: string = window.navigator.userAgent;\n const msie: number = ua.indexOf(\"MSIE \");\n const trident: number = ua.indexOf(\"Trident/\");\n const edge: number = ua.indexOf(\"Edge/\");\n (<any>detectIEOrEdge).isIEOrEdge = edge > 0 || trident > 0 || msie > 0;\n }\n return (<any>detectIEOrEdge).isIEOrEdge;\n}\nfunction loadFileFromBase64(b64Data: string, fileName: string) {\n try {\n const byteString: string = atob(b64Data.split(\",\")[1]);\n\n // separate out the mime component\n const mimeString: string = b64Data\n .split(\",\")[0]\n .split(\":\")[1]\n .split(\";\")[0];\n\n // write the bytes of the string to an ArrayBuffer\n const ab: ArrayBuffer = new ArrayBuffer(byteString.length);\n const ia: Uint8Array = new Uint8Array(ab);\n for (let i = 0; i < byteString.length; i++) {\n ia[i] = byteString.charCodeAt(i);\n }\n // write the ArrayBuffer to a blob, and you're done\n const bb: Blob = new Blob([ab], { type: mimeString });\n if (\n typeof window !== \"undefined\" &&\n window.navigator &&\n (<any>window.navigator)[\"msSaveBlob\"]\n ) {\n (<any>window.navigator)[\"msSaveOrOpenBlob\"](bb, fileName);\n }\n } catch (err) { }\n}\nfunction isMobile() {\n return (\n typeof window !== \"undefined\" && typeof window.orientation !== \"undefined\"\n );\n}\n\nconst isShadowDOM = (rootElement: Document | ShadowRoot | HTMLElement): rootElement is ShadowRoot => {\n return !!rootElement && !!(\"host\" in rootElement && rootElement.host);\n};\n\nconst getElement = (element: HTMLElement | string): HTMLElement => {\n const { root }: ISurveyEnvironment = settings.environment;\n return typeof element === \"string\" ? root.getElementById(element) : element;\n};\n\nfunction isElementVisible(\n element: HTMLElement,\n threshold: number = 0\n): boolean {\n if (typeof settings.environment === \"undefined\") {\n return false;\n }\n\n const { root }: ISurveyEnvironment = settings.environment;\n const clientHeight = isShadowDOM(root)\n ? root.host.clientHeight\n : root.documentElement.clientHeight;\n const elementRect: DOMRect = element.getBoundingClientRect();\n const viewHeight: number = Math.max(\n clientHeight,\n window.innerHeight\n );\n const topWin: number = -threshold;\n const bottomWin: number = viewHeight + threshold;\n const topEl: number = elementRect.top;\n const bottomEl: number = elementRect.bottom;\n\n const maxTop: number = Math.max(topWin, topEl);\n const minBottom: number = Math.min(bottomWin, bottomEl);\n return maxTop <= minBottom;\n}\n\nfunction findScrollableParent(element: HTMLElement): HTMLElement {\n const { root }: ISurveyEnvironment = settings.environment;\n if (!element) {\n return isShadowDOM(root)\n ? root.host as HTMLElement\n : root.documentElement;\n }\n if (\n element.scrollHeight > element.clientHeight &&\n (getComputedStyle(element).overflowY === \"scroll\" ||\n getComputedStyle(element).overflowY === \"auto\")\n ) {\n return element;\n }\n\n if (\n element.scrollWidth > element.clientWidth &&\n (getComputedStyle(element).overflowX === \"scroll\" ||\n getComputedStyle(element).overflowX === \"auto\")\n ) {\n return element;\n }\n\n return findScrollableParent(element.parentElement);\n}\n\nfunction scrollElementByChildId(id: string) {\n const environment : ISurveyEnvironment = settings.environment;\n if (!environment) return;\n const { root } = environment;\n const el = root.getElementById(id);\n if (!el) return;\n const scrollableEl = findScrollableParent(el);\n if (!!scrollableEl) {\n scrollableEl.dispatchEvent(new CustomEvent(\"scroll\"));\n }\n}\n\nfunction navigateToUrl(url: string): void {\n if (!url || typeof window === \"undefined\" || !window.location) return;\n window.location.href = url;\n}\n\nfunction getIconNameFromProxy(iconName: string): string {\n if (!iconName) return iconName;\n var proxyName = (<any>settings.customIcons)[iconName];\n return !!proxyName ? proxyName : iconName;\n}\n\nfunction createSvg(\n size: number | string,\n width: number,\n height: number,\n iconName: string,\n svgElem: any,\n title: string,\n): void {\n if (!svgElem) return;\n if (size !== \"auto\") {\n svgElem.style.width = (size || width || 16) + \"px\";\n svgElem.style.height = (size || height || 16) + \"px\";\n }\n const node: any = svgElem.childNodes[0];\n const realIconName = getIconNameFromProxy(iconName);\n node.setAttributeNS(\n \"http://www.w3.org/1999/xlink\",\n \"xlink:href\",\n \"#\" + realIconName\n );\n\n let titleElement = svgElem.getElementsByTagName(\"title\")[0];\n if (!title) {\n if (!!titleElement) {\n svgElem.removeChild(titleElement);\n }\n return;\n } else {\n if (!titleElement) {\n titleElement = document.createElementNS(\"http://www.w3.org/2000/svg\", \"title\");\n svgElem.appendChild(titleElement);\n }\n }\n titleElement.textContent = title;\n}\n\nexport function unwrap<T>(value: T | (() => T)): T {\n if (typeof value !== \"function\") {\n return value;\n } else {\n return (<() => T>value)();\n }\n}\n\n// export function getSize(value: any): number {\n// if (typeof value === \"number\") {\n// return value;\n// }\n// if (typeof value === \"string\" && value.includes(\"px\")) {\n// return parseInt(value);\n// }\n// if (!!value && typeof value === \"string\" && value.length > 0) {\n// const lastSymbol: string = value[value.length - 1];\n// if ((lastSymbol >= \"0\" && lastSymbol <= \"9\") || lastSymbol == \".\") {\n// try {\n// const num: number = parseInt(value);\n// return num;\n// } catch { }\n// }\n// }\n// return value;\n// }\n\nexport function getRenderedSize(val: string | number): number {\n if(typeof val == \"string\") {\n if(!isNaN(Number(val))) {\n return Number(val);\n }\n else if(val.includes(\"px\")) {\n return parseFloat(val);\n }\n }\n if(typeof val == \"number\") {\n return val;\n }\n return undefined;\n}\nexport function getRenderedStyleSize(val: string | number): string {\n if(getRenderedSize(val) !== undefined) {\n return undefined;\n }\n return val as string;\n}\n\nexport interface IAttachKey2clickOptions {\n processEsc?: boolean;\n disableTabStop?: boolean;\n __keyDownReceived?: boolean;\n}\nconst keyFocusedClassName = \"sv-focused--by-key\";\nexport function doKey2ClickBlur(evt: KeyboardEvent): void {\n const element: any = evt.target;\n if (!element || !element.classList) return;\n element.classList.remove(keyFocusedClassName);\n}\n\nexport function doKey2ClickUp(evt: KeyboardEvent, options?: IAttachKey2clickOptions): void {\n if (!!evt.target && (<any>evt.target)[\"contentEditable\"] === \"true\") {\n return;\n }\n const element: any = evt.target;\n if (!element) return;\n const char: number = evt.which || evt.keyCode;\n if (char === 9) {\n if (!!element.classList && !element.classList.contains(keyFocusedClassName)) {\n element.classList.add(keyFocusedClassName);\n }\n return;\n }\n\n if (options) {\n if (!options.__keyDownReceived) return;\n options.__keyDownReceived = false;\n }\n\n if (char === 13 || char === 32) {\n if (element.click) element.click();\n } else if ((!options || options.processEsc) && char === 27) {\n if (element.blur) element.blur();\n }\n}\n\nexport function doKey2ClickDown(evt: KeyboardEvent, options: IAttachKey2clickOptions = { processEsc: true }): void {\n if (options) options.__keyDownReceived = true;\n if (!!evt.target && (<any>evt.target)[\"contentEditable\"] === \"true\") {\n return;\n }\n var char = evt.which || evt.keyCode;\n const supportedCodes = [13, 32];\n if (options.processEsc) {\n supportedCodes.push(27);\n }\n if (supportedCodes.indexOf(char) !== -1) {\n evt.preventDefault();\n }\n}\n\nfunction increaseHeightByContent(element: HTMLElement, getComputedStyle?: (elt: Element) => any) {\n if (!element) return;\n if (!getComputedStyle) getComputedStyle = (elt: Element) => { return window.getComputedStyle(elt); };\n\n const style = getComputedStyle(element);\n element.style.height = \"auto\";\n element.style.height = (element.scrollHeight + parseFloat(style.borderTopWidth) + parseFloat(style.borderBottomWidth)) + \"px\";\n}\nfunction getOriginalEvent(event: any) {\n return event.originalEvent || event;\n}\nfunction preventDefaults(event: any) {\n event.preventDefault();\n event.stopPropagation();\n}\nfunction classesToSelector(str: string): string {\n const re = /\\s*?([\\w-]+)\\s*?/g;\n return str.replace(re, \".$1\");\n}\n\nfunction getElementWidth(el: HTMLElement) {\n return !!getComputedStyle ? Number.parseFloat(getComputedStyle(el).width) : el.offsetWidth;\n}\n\nfunction isContainerVisible(el: HTMLElement) {\n return !!(\n el.offsetWidth ||\n el.offsetHeight ||\n el.getClientRects().length\n );\n}\n\nfunction getFirstVisibleChild(el: HTMLElement) {\n let result;\n for(let index = 0; index < el.children.length; index++) {\n if(!result && getComputedStyle(el.children[index]).display !== \"none\") {\n result = el.children[index];\n }\n }\n return result;\n}\nfunction findParentByClassNames(element: HTMLElement, classNames: Array<string>): Element {\n if (!!element) {\n if (classNames.every(className => !className || element.classList.contains(className))) {\n return element;\n } else {\n return findParentByClassNames(element.parentElement, classNames);\n }\n }\n}\nexport function sanitizeEditableContent(element: any) {\n if (window.getSelection && document.createRange && element.childNodes.length > 0) {\n const selection = document.getSelection();\n\n let range = selection.getRangeAt(0);\n range.setStart(range.endContainer, range.endOffset);\n range.setEndAfter(element.lastChild);\n selection.removeAllRanges();\n selection.addRange(range);\n const tail_len = selection.toString().replace(/\\n/g, \"\").length;\n\n element.innerText = element.innerText.replace(/\\n/g, \"\");\n range = document.createRange();\n range.setStart(element.childNodes[0], element.innerText.length - tail_len);\n range.collapse(true);\n selection.removeAllRanges();\n selection.addRange(range);\n }\n}\nfunction mergeValues(src: any, dest: any) {\n if (!dest || !src) return;\n if (typeof dest !== \"object\") return;\n for (var key in src) {\n var value = src[key];\n if (!Array.isArray(value) && value && typeof value === \"object\") {\n if (!dest[key] || typeof dest[key] !== \"object\") dest[key] = {};\n mergeValues(value, dest[key]);\n } else {\n dest[key] = value;\n }\n }\n}\n\nexport class Logger {\n private _result = \"\";\n public log(action: string) {\n this._result += \"->\" + action;\n }\n public get result() {\n return this._result;\n }\n}\n\nexport {\n mergeValues,\n getElementWidth,\n isContainerVisible,\n classesToSelector,\n compareVersions,\n confirmAction,\n detectIEOrEdge,\n detectIEBrowser,\n loadFileFromBase64,\n isMobile,\n isShadowDOM,\n getElement,\n isElementVisible,\n findScrollableParent,\n scrollElementByChildId,\n navigateToUrl,\n createSvg,\n getIconNameFromProxy,\n increaseHeightByContent,\n getOriginalEvent,\n preventDefaults,\n findParentByClassNames,\n getFirstVisibleChild,\n};\n","module.exports = __WEBPACK_EXTERNAL_MODULE_react__;","module.exports = __WEBPACK_EXTERNAL_MODULE_react_dom__;","module.exports = __WEBPACK_EXTERNAL_MODULE_survey_core__;"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["webpack://SurveyReact/webpack/universalModuleDefinition","webpack://SurveyReact/webpack/bootstrap","webpack://SurveyReact/./src/entries/core-export.ts","webpack://SurveyReact/./src/entries/react-ui-model.ts","webpack://SurveyReact/./src/entries/react-ui.ts","webpack://SurveyReact/./src/react/boolean-checkbox.tsx","webpack://SurveyReact/./src/react/boolean-radio.tsx","webpack://SurveyReact/./src/react/boolean.tsx","webpack://SurveyReact/./src/react/components/action-bar/action-bar-item-dropdown.tsx","webpack://SurveyReact/./src/react/components/action-bar/action-bar-item.tsx","webpack://SurveyReact/./src/react/components/action-bar/action-bar-separator.tsx","webpack://SurveyReact/./src/react/components/action-bar/action-bar.tsx","webpack://SurveyReact/./src/react/components/brand-info.tsx","webpack://SurveyReact/./src/react/components/character-counter.tsx","webpack://SurveyReact/./src/react/components/components-container.tsx","webpack://SurveyReact/./src/react/components/list/list-item.tsx","webpack://SurveyReact/./src/react/components/list/list.tsx","webpack://SurveyReact/./src/react/components/matrix-actions/detail-button/detail-button.tsx","webpack://SurveyReact/./src/react/components/matrix-actions/drag-drop-icon/drag-drop-icon.tsx","webpack://SurveyReact/./src/react/components/matrix-actions/remove-button/remove-button.tsx","webpack://SurveyReact/./src/react/components/matrix/row.tsx","webpack://SurveyReact/./src/react/components/notifier.tsx","webpack://SurveyReact/./src/react/components/paneldynamic-actions/paneldynamic-add-btn.tsx","webpack://SurveyReact/./src/react/components/paneldynamic-actions/paneldynamic-next-btn.tsx","webpack://SurveyReact/./src/react/components/paneldynamic-actions/paneldynamic-prev-btn.tsx","webpack://SurveyReact/./src/react/components/paneldynamic-actions/paneldynamic-progress-text.tsx","webpack://SurveyReact/./src/react/components/paneldynamic-actions/paneldynamic-remove-btn.tsx","webpack://SurveyReact/./src/react/components/popup/popup.tsx","webpack://SurveyReact/./src/react/components/rating/rating-item-smiley.tsx","webpack://SurveyReact/./src/react/components/rating/rating-item-star.tsx","webpack://SurveyReact/./src/react/components/rating/rating-item.tsx","webpack://SurveyReact/./src/react/components/skeleton.tsx","webpack://SurveyReact/./src/react/components/survey-actions/survey-nav-button.tsx","webpack://SurveyReact/./src/react/components/survey-header/logo-image.tsx","webpack://SurveyReact/./src/react/components/survey-header/survey-header.tsx","webpack://SurveyReact/./src/react/components/svg-icon/svg-icon.tsx","webpack://SurveyReact/./src/react/components/title/title-actions.tsx","webpack://SurveyReact/./src/react/components/title/title-content.tsx","webpack://SurveyReact/./src/react/components/title/title-element.tsx","webpack://SurveyReact/./src/react/custom-widget.tsx","webpack://SurveyReact/./src/react/dropdown-base.tsx","webpack://SurveyReact/./src/react/dropdown-item.tsx","webpack://SurveyReact/./src/react/dropdown-select.tsx","webpack://SurveyReact/./src/react/element-factory.tsx","webpack://SurveyReact/./src/react/element-header.tsx","webpack://SurveyReact/./src/react/flow-panel.tsx","webpack://SurveyReact/./src/react/image.tsx","webpack://SurveyReact/./src/react/imagepicker.tsx","webpack://SurveyReact/./src/react/page.tsx","webpack://SurveyReact/./src/react/panel-base.tsx","webpack://SurveyReact/./src/react/panel.tsx","webpack://SurveyReact/./src/react/rating-dropdown.tsx","webpack://SurveyReact/./src/react/react-popup-survey.tsx","webpack://SurveyReact/./src/react/reactSurvey.tsx","webpack://SurveyReact/./src/react/reactSurveyNavigationBase.tsx","webpack://SurveyReact/./src/react/reactSurveyProgress.tsx","webpack://SurveyReact/./src/react/reactSurveyProgressButtons.tsx","webpack://SurveyReact/./src/react/reactSurveyProgressToc.tsx","webpack://SurveyReact/./src/react/reactquestion.tsx","webpack://SurveyReact/./src/react/reactquestion_buttongroup.tsx","webpack://SurveyReact/./src/react/reactquestion_checkbox.tsx","webpack://SurveyReact/./src/react/reactquestion_comment.tsx","webpack://SurveyReact/./src/react/reactquestion_custom.tsx","webpack://SurveyReact/./src/react/reactquestion_dropdown.tsx","webpack://SurveyReact/./src/react/reactquestion_element.tsx","webpack://SurveyReact/./src/react/reactquestion_empty.tsx","webpack://SurveyReact/./src/react/reactquestion_expression.tsx","webpack://SurveyReact/./src/react/reactquestion_factory.tsx","webpack://SurveyReact/./src/react/reactquestion_file.tsx","webpack://SurveyReact/./src/react/reactquestion_html.tsx","webpack://SurveyReact/./src/react/reactquestion_matrix.tsx","webpack://SurveyReact/./src/react/reactquestion_matrixdropdown.tsx","webpack://SurveyReact/./src/react/reactquestion_matrixdropdownbase.tsx","webpack://SurveyReact/./src/react/reactquestion_matrixdynamic.tsx","webpack://SurveyReact/./src/react/reactquestion_multipletext.tsx","webpack://SurveyReact/./src/react/reactquestion_paneldynamic.tsx","webpack://SurveyReact/./src/react/reactquestion_radiogroup.tsx","webpack://SurveyReact/./src/react/reactquestion_ranking.tsx","webpack://SurveyReact/./src/react/reactquestion_rating.tsx","webpack://SurveyReact/./src/react/reactquestion_tagbox.tsx","webpack://SurveyReact/./src/react/reactquestion_text.tsx","webpack://SurveyReact/./src/react/reactsurveymodel.tsx","webpack://SurveyReact/./src/react/reacttimerpanel.tsx","webpack://SurveyReact/./src/react/row.tsx","webpack://SurveyReact/./src/react/signaturepad.tsx","webpack://SurveyReact/./src/react/string-editor.tsx","webpack://SurveyReact/./src/react/string-viewer.tsx","webpack://SurveyReact/./src/react/tagbox-filter.tsx","webpack://SurveyReact/./src/react/tagbox-item.tsx","webpack://SurveyReact/./src/settings.ts","webpack://SurveyReact/./src/utils/responsivity-manager.ts","webpack://SurveyReact/./src/utils/utils.ts","webpack://SurveyReact/external {\"root\":\"React\",\"commonjs2\":\"react\",\"commonjs\":\"react\",\"amd\":\"react\"}","webpack://SurveyReact/external {\"root\":\"ReactDOM\",\"commonjs2\":\"react-dom\",\"commonjs\":\"react-dom\",\"amd\":\"react-dom\"}","webpack://SurveyReact/external {\"root\":\"Survey\",\"commonjs2\":\"survey-core\",\"commonjs\":\"survey-core\",\"amd\":\"survey-core\"}"],"names":[],"mappings":"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","file":"survey-react-ui.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"), require(\"react-dom\"), require(\"survey-core\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"survey-react-ui\", [\"react\", \"react-dom\", \"survey-core\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"survey-react-ui\"] = factory(require(\"react\"), require(\"react-dom\"), require(\"survey-core\"));\n\telse\n\t\troot[\"SurveyReact\"] = factory(root[\"React\"], root[\"ReactDOM\"], root[\"Survey\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_react__, __WEBPACK_EXTERNAL_MODULE_react_dom__, __WEBPACK_EXTERNAL_MODULE_survey_core__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./src/entries/react-ui.ts\");\n","export { SurveyModel, SurveyWindowModel } from \"survey-core\";\nexport { settings, ISurveyEnvironment } from \"survey-core\";\nexport { surveyLocalization, surveyStrings } from \"survey-core\";\n","// react\nexport { Survey, attachKey2click } from \"../react/reactSurvey\";\nexport { ReactSurveyElementsWrapper } from \"../react/reactsurveymodel\";\nexport { SurveyNavigationBase } from \"../react/reactSurveyNavigationBase\";\nexport { SurveyTimerPanel } from \"../react/reacttimerpanel\";\nexport { SurveyPage } from \"../react/page\";\nexport { SurveyRow } from \"../react/row\";\nexport { SurveyPanel } from \"../react/panel\";\nexport { SurveyFlowPanel } from \"../react/flow-panel\";\nexport {\n SurveyQuestion,\n SurveyElementErrors,\n SurveyQuestionAndErrorsCell,\n ISurveyCreator\n} from \"../react/reactquestion\";\nexport {\n ReactSurveyElement,\n SurveyElementBase,\n SurveyQuestionElementBase,\n} from \"../react/reactquestion_element\";\nexport {\n SurveyQuestionCommentItem,\n SurveyQuestionComment,\n} from \"../react/reactquestion_comment\";\nexport {\n SurveyQuestionCheckbox,\n SurveyQuestionCheckboxItem,\n} from \"../react/reactquestion_checkbox\";\nexport {\n SurveyQuestionRanking,\n SurveyQuestionRankingItem,\n} from \"../react/reactquestion_ranking\";\n\nexport { RatingItem } from \"../react/components/rating/rating-item\";\nexport { RatingItemStar } from \"../react/components/rating/rating-item-star\";\nexport { RatingItemSmiley } from \"../react/components/rating/rating-item-smiley\";\n\nexport { TagboxFilterString } from \"../react/tagbox-filter\";\nexport { SurveyQuestionOptionItem } from \"../react/dropdown-item\";\nexport { SurveyQuestionDropdownBase } from \"../react/dropdown-base\";\nexport { SurveyQuestionDropdown } from \"../react/reactquestion_dropdown\";\nexport { SurveyQuestionTagboxItem } from \"../react/tagbox-item\";\nexport { SurveyQuestionTagbox } from \"../react/reactquestion_tagbox\";\nexport { SurveyQuestionDropdownSelect } from \"../react/dropdown-select\";\nexport {\n SurveyQuestionMatrix,\n SurveyQuestionMatrixRow,\n} from \"../react/reactquestion_matrix\";\nexport { SurveyQuestionHtml } from \"../react/reactquestion_html\";\nexport { SurveyQuestionFile } from \"../react/reactquestion_file\";\nexport { SurveyQuestionMultipleText } from \"../react/reactquestion_multipletext\";\nexport { SurveyQuestionRadiogroup, SurveyQuestionRadioItem } from \"../react/reactquestion_radiogroup\";\nexport { SurveyQuestionText } from \"../react/reactquestion_text\";\nexport { SurveyQuestionBoolean } from \"../react/boolean\";\nexport { SurveyQuestionBooleanCheckbox } from \"../react/boolean-checkbox\";\nexport { SurveyQuestionBooleanRadio } from \"../react/boolean-radio\";\nexport { SurveyQuestionEmpty } from \"../react/reactquestion_empty\";\nexport { SurveyQuestionMatrixDropdownCell, SurveyQuestionMatrixDropdownBase } from \"../react/reactquestion_matrixdropdownbase\";\nexport { SurveyQuestionMatrixDropdown } from \"../react/reactquestion_matrixdropdown\";\nexport { SurveyQuestionMatrixDynamic, SurveyQuestionMatrixDynamicAddButton } from \"../react/reactquestion_matrixdynamic\";\nexport { SurveyQuestionPanelDynamic } from \"../react/reactquestion_paneldynamic\";\nexport { SurveyProgress } from \"../react/reactSurveyProgress\";\nexport { SurveyProgressButtons } from \"../react/reactSurveyProgressButtons\";\nexport { SurveyProgressToc } from \"../react/reactSurveyProgressToc\";\nexport { SurveyQuestionRating } from \"../react/reactquestion_rating\";\nexport { SurveyQuestionRatingDropdown } from \"../react/rating-dropdown\";\nexport { SurveyQuestionExpression } from \"../react/reactquestion_expression\";\nexport { PopupSurvey, SurveyWindow } from \"../react/react-popup-survey\";\nexport { ReactQuestionFactory } from \"../react/reactquestion_factory\";\nexport { ReactElementFactory } from \"../react/element-factory\";\nexport { SurveyQuestionImagePicker } from \"../react/imagepicker\";\nexport { SurveyQuestionImage } from \"../react/image\";\nexport { SurveyQuestionSignaturePad } from \"../react/signaturepad\";\nexport { SurveyQuestionButtonGroup } from \"../react/reactquestion_buttongroup\";\nexport { SurveyQuestionCustom, SurveyQuestionComposite } from \"../react/reactquestion_custom\";\n\nexport { Popup } from \"../react/components/popup/popup\";\nexport { List } from \"../react/components/list/list\";\nexport { TitleActions } from \"../react/components/title/title-actions\";\nexport { TitleElement } from \"../react/components/title/title-element\";\nexport { SurveyActionBar } from \"../react/components/action-bar/action-bar\";\nexport { LogoImage } from \"../react/components/survey-header/logo-image\";\nexport { SurveyHeader } from \"../react/components/survey-header/survey-header\";\nexport { SvgIcon } from \"../react/components/svg-icon/svg-icon\";\nexport { SurveyQuestionMatrixDynamicRemoveButton } from \"../react/components/matrix-actions/remove-button/remove-button\";\nexport { SurveyQuestionMatrixDetailButton } from \"../react/components/matrix-actions/detail-button/detail-button\";\nexport { SurveyQuestionMatrixDynamicDragDropIcon } from \"../react/components/matrix-actions/drag-drop-icon/drag-drop-icon\";\nexport { SurveyQuestionPanelDynamicAddButton } from \"../react/components/paneldynamic-actions/paneldynamic-add-btn\";\nexport { SurveyQuestionPanelDynamicRemoveButton } from \"../react/components/paneldynamic-actions/paneldynamic-remove-btn\";\nexport { SurveyQuestionPanelDynamicPrevButton } from \"../react/components/paneldynamic-actions/paneldynamic-prev-btn\";\nexport { SurveyQuestionPanelDynamicNextButton } from \"../react/components/paneldynamic-actions/paneldynamic-next-btn\";\nexport { SurveyQuestionPanelDynamicProgressText } from \"../react/components/paneldynamic-actions/paneldynamic-progress-text\";\nexport { SurveyNavigationButton } from \"../react/components/survey-actions/survey-nav-button\";\n\nexport { MatrixRow } from \"../react/components/matrix/row\";\nexport { Skeleton } from \"../react/components/skeleton\";\nexport { NotifierComponent } from \"../react/components/notifier\";\nexport { ComponentsContainer } from \"../react/components/components-container\";\nexport { CharacterCounterComponent } from \"../react/components/character-counter\";\n\nexport { SurveyLocStringViewer } from \"../react/string-viewer\";\nexport { SurveyLocStringEditor } from \"../react/string-editor\";\n\n//Uncomment to include the \"date\" question type.\n//export {default as SurveyQuestionDate} from \"../plugins/react/reactquestiondate\";\n","export * from \"./react-ui-model\";\nexport * from \"./core-export\";\nexport { SurveyModel as Model } from \"survey-core\";\n\nexport * from \"../utils/responsivity-manager\";\nexport { unwrap } from \"../utils/utils\";\n\nimport { checkLibraryVersion } from \"survey-core\";\n\ncheckLibraryVersion(`${process.env.VERSION}`, \"survey-react-ui\");","import * as React from \"react\";\nimport { RendererFactory } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { SurveyQuestionBoolean } from \"./boolean\";\nimport { TitleActions } from \"./components/title/title-actions\";\nimport { SurveyElementBase } from \"./reactquestion_element\";\n\nexport class SurveyQuestionBooleanCheckbox extends SurveyQuestionBoolean {\n constructor(props: any) {\n super(props);\n }\n protected renderElement(): JSX.Element {\n const cssClasses = this.question.cssClasses;\n const itemClass = this.question.getCheckboxItemCss();\n const description = this.question.canRenderLabelDescription ?\n SurveyElementBase.renderQuestionDescription(this.question) : null;\n return (\n <div className={cssClasses.rootCheckbox}>\n <div className={itemClass}>\n <label className={cssClasses.checkboxLabel}>\n <input\n ref={this.checkRef}\n type=\"checkbox\"\n name={this.question.name}\n value={\n this.question.booleanValue === null\n ? \"\"\n : this.question.booleanValue\n }\n id={this.question.inputId}\n className={cssClasses.controlCheckbox}\n disabled={this.isDisplayMode}\n checked={this.question.booleanValue || false}\n onChange={this.handleOnChange}\n aria-required={this.question.ariaRequired}\n aria-label={this.question.ariaLabel}\n aria-invalid={this.question.ariaInvalid}\n aria-describedby={this.question.ariaDescribedBy}\n />\n <span className={cssClasses.checkboxMaterialDecorator}>\n {this.question.svgIcon ?\n <svg\n className={cssClasses.checkboxItemDecorator}\n >\n <use xlinkHref={this.question.svgIcon}></use>\n </svg> : null\n }\n <span className=\"check\" />\n </span>\n {this.question.isLabelRendered && (\n <span className={cssClasses.checkboxControlLabel} id={this.question.labelRenderedAriaID}>\n <TitleActions element={this.question} cssClasses={this.question.cssClasses}></TitleActions>\n </span>\n )}\n </label>\n {description}\n </div>\n </div>\n );\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\n \"sv-boolean-checkbox\",\n (props) => {\n return React.createElement(SurveyQuestionBooleanCheckbox, props);\n }\n);\n\nRendererFactory.Instance.registerRenderer(\n \"boolean\",\n \"checkbox\",\n \"sv-boolean-checkbox\"\n);\n","import * as React from \"react\";\nimport { RendererFactory } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { SurveyQuestionBoolean } from \"./boolean\";\n\nexport class SurveyQuestionBooleanRadio extends SurveyQuestionBoolean {\n constructor(props: any) {\n super(props);\n }\n private renderRadioItem(value: any, locText: any): JSX.Element {\n const cssClasses = this.question.cssClasses;\n return (\n <div role=\"presentation\" className={ this.question.getRadioItemClass(cssClasses, value) }>\n <label className= { cssClasses.radioLabel }>\n <input\n type=\"radio\"\n name = { this.question.name }\n value = { value }\n aria-describedby = { this.question.ariaDescribedBy }\n checked={value === this.question.booleanValueRendered}\n disabled = { this.question.isInputReadOnly }\n className = { cssClasses.itemRadioControl }\n onChange={ this.handleOnChange }\n />\n { this.question.cssClasses.materialRadioDecorator?\n (<span className={ cssClasses.materialRadioDecorator }>\n { this.question.itemSvgIcon ?\n (<svg className={cssClasses.itemRadioDecorator}>\n <use xlinkHref={this.question.itemSvgIcon}></use>\n </svg>):null}\n </span>):null}\n <span className= { cssClasses.radioControlLabel }>\n { this.renderLocString(locText) }\n </span>\n </label>\n </div>\n );\n }\n handleOnChange = (event: any) => {\n this.question.booleanValue = event.nativeEvent.target.value == \"true\";\n }\n protected renderElement(): JSX.Element {\n const cssClasses = this.question.cssClasses;\n return (\n <div className={cssClasses.rootRadio}>\n <fieldset role=\"presentation\" className= { cssClasses.radioFieldset }>\n {this.renderRadioItem(false, this.question.locLabelFalse)}\n {this.renderRadioItem(true, this.question.locLabelTrue)}\n </fieldset>\n </div>\n );\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\n \"sv-boolean-radio\",\n (props) => {\n return React.createElement(SurveyQuestionBooleanRadio, props);\n }\n);\n\nRendererFactory.Instance.registerRenderer(\n \"boolean\",\n \"radio\",\n \"sv-boolean-radio\"\n);\n","import * as React from \"react\";\nimport { QuestionBooleanModel, CssClassBuilder, Base } from \"survey-core\";\nimport { SurveyQuestionElementBase } from \"./reactquestion_element\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\n\nexport class SurveyQuestionBoolean extends SurveyQuestionElementBase {\n protected checkRef: React.RefObject<HTMLInputElement>;\n constructor(props: any) {\n super(props);\n this.handleOnChange = this.handleOnChange.bind(this);\n this.handleOnClick = this.handleOnClick.bind(this);\n this.handleOnLabelClick = this.handleOnLabelClick.bind(this);\n this.handleOnSwitchClick = this.handleOnSwitchClick.bind(this);\n this.handleOnKeyDown = this.handleOnKeyDown.bind(this);\n this.checkRef = React.createRef();\n }\n protected getStateElement(): Base {\n return this.question;\n }\n protected get question(): QuestionBooleanModel {\n return this.questionBase as QuestionBooleanModel;\n }\n /*\n private get allowClick(): boolean {\n return this.question.isIndeterminate && !this.isDisplayMode;\n }\n */\n private doCheck(value: boolean) {\n this.question.booleanValue = value;\n }\n handleOnChange(event: any) {\n this.doCheck(event.target.checked);\n }\n handleOnClick(event: any) {\n this.question.onLabelClick(event, true);\n }\n handleOnSwitchClick(event: any) {\n this.question.onSwitchClickModel(event.nativeEvent);\n }\n handleOnLabelClick(event: any, value: boolean) {\n this.question.onLabelClick(event, value);\n }\n handleOnKeyDown(event: any) {\n this.question.onKeyDownCore(event);\n }\n\n protected updateDomElement() {\n if (!this.question) return;\n const el = this.checkRef.current;\n if (el) {\n el.indeterminate = this.question.isIndeterminate;\n }\n this.setControl(el);\n super.updateDomElement();\n }\n protected renderElement(): JSX.Element {\n const cssClasses = this.question.cssClasses;\n const itemClass: string = this.question.getItemCss();\n return (\n <div className={cssClasses.root} onKeyDown={this.handleOnKeyDown}>\n <label className={itemClass} onClick={this.handleOnClick}>\n <input\n ref={this.checkRef}\n type=\"checkbox\"\n name={this.question.name}\n value={\n this.question.booleanValue === null\n ? \"\"\n : this.question.booleanValue\n }\n id={this.question.inputId}\n className={cssClasses.control}\n disabled={this.isDisplayMode}\n checked={this.question.booleanValue || false}\n onChange={this.handleOnChange}\n aria-required={this.question.ariaRequired}\n aria-label={this.question.ariaLabel}\n aria-invalid={this.question.ariaInvalid}\n aria-describedby={this.question.ariaDescribedBy}\n />\n <div className={cssClasses.sliderGhost} onClick={(event) => this.handleOnLabelClick(event, false)}>\n <span className={this.question.getLabelCss(false)}>\n {this.renderLocString(this.question.locLabelFalse)}\n </span>\n </div>\n <div className={cssClasses.switch} onClick={this.handleOnSwitchClick}>\n <span className={cssClasses.slider}>\n {\n this.question.isDeterminated && cssClasses.sliderText ?\n <span className={cssClasses.sliderText}>{ this.renderLocString(this.question.getCheckedLabel()) }</span>\n : null\n }\n </span>\n </div>\n <div className={cssClasses.sliderGhost} onClick={(event) => this.handleOnLabelClick(event, true)}>\n <span className={this.question.getLabelCss(true)}>\n {this.renderLocString(this.question.locLabelTrue)}\n </span>\n </div>\n </label>\n </div>\n );\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"boolean\", (props) => {\n return React.createElement(SurveyQuestionBoolean, props);\n});\n","import React from \"react\";\r\nimport { ActionDropdownViewModel, getActionDropdownButtonTarget } from \"survey-core\";\r\nimport { ReactElementFactory } from \"../../element-factory\";\r\nimport { Popup } from \"../popup/popup\";\r\nimport { SurveyActionBarItem } from \"./action-bar-item\";\r\n\r\nexport class SurveyActionBarItemDropdown extends SurveyActionBarItem {\r\n private viewModel: ActionDropdownViewModel;\r\n constructor(props: any) {\r\n super(props);\r\n this.viewModel = new ActionDropdownViewModel(this.item);\r\n }\r\n renderInnerButton() {\r\n const button = super.renderInnerButton();\r\n return (\r\n <>\r\n {button}\r\n <Popup model={this.item.popupModel} getTarget={getActionDropdownButtonTarget}></Popup>\r\n </>\r\n );\r\n }\r\n componentWillUnmount(): void {\r\n super.componentWillUnmount();\r\n this.viewModel.dispose();\r\n }\r\n}\r\n\r\nReactElementFactory.Instance.registerElement(\"sv-action-bar-item-dropdown\", (props) => {\r\n return React.createElement(SurveyActionBarItemDropdown, props);\r\n});\r\n","import React from \"react\";\r\nimport { Base, Action } from \"survey-core\";\r\nimport { ReactElementFactory } from \"../../element-factory\";\r\nimport { SurveyElementBase } from \"../../reactquestion_element\";\r\nimport { attachKey2click } from \"../../reactSurvey\";\r\nimport { SvgIcon } from \"../svg-icon/svg-icon\";\r\nimport { SurveyActionBarSeparator } from \"./action-bar-separator\";\r\n\r\ninterface IActionBarItemProps {\r\n item: Action;\r\n}\r\n\r\nexport class SurveyAction extends SurveyElementBase<IActionBarItemProps, any> {\r\n get item() {\r\n return this.props.item;\r\n }\r\n protected getStateElement(): Base {\r\n return this.item;\r\n }\r\n\r\n renderElement() {\r\n //refactor\r\n const itemClass = this.item.getActionRootCss();\r\n const separator = this.item.needSeparator ? (\r\n <SurveyActionBarSeparator></SurveyActionBarSeparator>\r\n ) : null;\r\n\r\n const itemComponent = ReactElementFactory.Instance.createElement(\r\n this.item.component || \"sv-action-bar-item\",\r\n {\r\n item: this.item,\r\n }\r\n );\r\n return (\r\n <div className={itemClass} id={this.item.id}>\r\n <div className=\"sv-action__content\">\r\n {separator}\r\n {itemComponent}\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n\r\nexport class SurveyActionBarItem extends SurveyElementBase<\r\n IActionBarItemProps,\r\n any\r\n> {\r\n get item(): Action {\r\n return this.props.item;\r\n }\r\n protected getStateElement(): Base {\r\n return this.item;\r\n }\r\n\r\n renderElement() {\r\n return <>{this.renderInnerButton()}</>;\r\n }\r\n\r\n renderText() {\r\n if (!this.item.hasTitle) return null;\r\n const titleClass = this.item.getActionBarItemTitleCss();\r\n return <span className={titleClass}>{this.item.title}</span>;\r\n }\r\n\r\n renderButtonContent() {\r\n const text = this.renderText();\r\n const svgIcon = !!this.item.iconName ? (\r\n <SvgIcon\r\n className={this.item.cssClasses.itemIcon}\r\n size={this.item.iconSize}\r\n iconName={this.item.iconName}\r\n title={this.item.tooltip || this.item.title}\r\n ></SvgIcon>\r\n ) : null;\r\n return (\r\n <>\r\n {svgIcon}\r\n {text}\r\n </>\r\n );\r\n }\r\n\r\n renderInnerButton() {\r\n const className = this.item.getActionBarItemCss();\r\n const title = this.item.tooltip || this.item.title;\r\n const buttonContent = this.renderButtonContent();\r\n const tabIndex = this.item.disableTabStop ? -1 : undefined;\r\n const button = attachKey2click(\r\n <button\r\n className={className}\r\n type=\"button\"\r\n disabled={this.item.disabled}\r\n onClick={(args) => this.item.action(this.item, this.item.getIsTrusted(args))}\r\n title={title}\r\n tabIndex={tabIndex}\r\n aria-checked={this.item.ariaChecked}\r\n aria-expanded={this.item.ariaExpanded}\r\n role={this.item.ariaRole}\r\n >\r\n {buttonContent}\r\n </button>, null, { processEsc: false });\r\n\r\n return button;\r\n }\r\n}\r\n\r\nReactElementFactory.Instance.registerElement(\"sv-action-bar-item\", (props) => {\r\n return React.createElement(SurveyActionBarItem, props);\r\n});\r\n","import React from \"react\";\nimport { ReactElementFactory } from \"../../element-factory\";\n\nexport class SurveyActionBarSeparator extends React.Component<any, any> {\n constructor(props: any) {\n super(props);\n }\n render() {\n var className = `sv-action-bar-separator ${this.props.cssClasses}`;\n return <div className={className}></div>;\n }\n}\nReactElementFactory.Instance.registerElement(\n \"sv-action-bar-separator\",\n (props) => {\n return React.createElement(SurveyActionBarSeparator, props);\n }\n);\n","import React from \"react\";\nimport {\n Base,\n Action,\n ActionContainer\n} from \"survey-core\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { SurveyElementBase } from \"../../reactquestion_element\";\nimport { SurveyAction } from \"./action-bar-item\";\n\nexport * from \"./action-bar-item-dropdown\";\nexport * from \"./action-bar-separator\";\n\ninterface IActionBarProps {\n model: ActionContainer<Action>;\n handleClick?: boolean;\n}\n\nexport class SurveyActionBar extends SurveyElementBase<IActionBarProps, any> {\n private rootRef: React.RefObject<HTMLDivElement>;\n\n constructor(props: IActionBarProps) {\n super(props);\n this.rootRef = React.createRef();\n }\n\n private get handleClick() {\n return this.props.handleClick !== undefined ? this.props.handleClick : true;\n }\n\n get model() {\n return this.props.model;\n }\n\n componentDidMount() {\n super.componentDidMount();\n if (!this.model.hasActions) return;\n const container: HTMLDivElement | null = this.rootRef.current;\n if(!!container) {\n this.model.initResponsivityManager(container);\n }\n }\n componentWillUnmount() {\n super.componentWillUnmount();\n if (!!this.model.hasActions) {\n this.model.resetResponsivityManager();\n }\n }\n\n protected getStateElement(): Base {\n return this.model;\n }\n\n renderElement(): any {\n if (!this.model.hasActions) return null;\n const items = this.renderItems();\n return (\n <div\n ref={this.rootRef}\n className={this.model.getRootCss()}\n onClick={this.handleClick ? function(event) {\n event.stopPropagation();\n } : undefined}\n >\n {items}\n </div>\n );\n }\n\n renderItems() {\n return this.model.renderedActions.map(\n (item: Action, itemIndex: number) => {\n return (\n <SurveyAction item={item} key={\"item\" + itemIndex}></SurveyAction>\n );\n }\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-action-bar\", (props) => {\n return React.createElement(\n SurveyActionBar,\n (props as any) as IActionBarProps\n );\n});\n","import React from \"react\";\n\nexport class BrandInfo extends React.Component<any, any> {\n render() {\n return (\n <div className=\"sv-brand-info\">\n <a className=\"sv-brand-info__logo\" href=\"https://surveyjs.io/?utm_source=built-in_links&utm_medium=online_survey_tool&utm_campaign=landing_page\"><img src=\"https://surveyjs.io/Content/Images/poweredby.svg\"/></a>\n <div className=\"sv-brand-info__text\">Try and see how easy it is to <a href=\"https://surveyjs.io/create-survey?utm_source=built-in_links&utm_medium=online_survey_tool&utm_campaign=create_survey\">create a survey</a></div>\n <div className=\"sv-brand-info__terms\"><a href=\"https://surveyjs.io/TermsOfUse\">Terms of Use & Privacy Statement</a></div>\n </div>\n );\n }\n}\n","import React from \"react\";\nimport { Base, CharacterCounter } from \"survey-core\";\nimport { ReactElementFactory } from \"../element-factory\";\nimport { SurveyElementBase } from \"../reactquestion_element\";\n\nexport interface ICharacterCounterComponentProps {\n counter: CharacterCounter;\n remainingCharacterCounter: string;\n}\n\nexport class CharacterCounterComponent extends SurveyElementBase<ICharacterCounterComponentProps, any> {\n protected getStateElement(): Base {\n return this.props.counter;\n }\n\n renderElement(): JSX.Element | null {\n return (<div className={this.props.remainingCharacterCounter}>{this.props.counter.remainingCharacterCounter}</div>);\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-character-counter\", (props) => {\n return React.createElement(CharacterCounterComponent, props);\n});","import React from \"react\";\nimport { ISurveyLayoutElement } from \"survey-core\";\nimport { ReactElementFactory } from \"../element-factory\";\n\nexport class ComponentsContainer extends React.Component<any, any> {\n render(): JSX.Element | null {\n const components: Array<ISurveyLayoutElement> = this.props.survey.getContainerContent(this.props.container);\n const needRenderWrapper = this.props.needRenderWrapper === false ? false : true;\n if(components.length == 0) {\n return null;\n }\n if(!needRenderWrapper) {\n return <>\n {components.map(component => {\n return ReactElementFactory.Instance.createElement(component.component as string, { survey: this.props.survey, model: component.data, key: component.id });\n })}\n </>;\n }\n return <div className=\"sv-components-column\">\n {components.map(component => {\n return ReactElementFactory.Instance.createElement(component.component as string, { survey: this.props.survey, model: component.data, key: component.id });\n })}\n </div>;\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-components-container\", (props: any) => {\n return React.createElement(ComponentsContainer, props);\n});\n","import React from \"react\";\r\nimport { ListModel } from \"survey-core\";\r\nimport { ReactElementFactory } from \"../../element-factory\";\r\nimport { SurveyElementBase } from \"../../reactquestion_element\";\r\nimport { attachKey2click } from \"../../reactSurvey\";\r\nimport { SvgIcon } from \"../svg-icon/svg-icon\";\r\n\r\ninterface IListItemProps {\r\n model: ListModel;\r\n item: any;\r\n}\r\n\r\nexport class ListItem extends SurveyElementBase<IListItemProps, any> {\r\n get model(): ListModel {\r\n return this.props.model;\r\n }\r\n get item(): any {\r\n return this.props.item;\r\n }\r\n handleKeydown = (event: any) => {\r\n this.model.onKeyDown(event);\r\n };\r\n getStateElement() {\r\n return this.item;\r\n }\r\n render(): JSX.Element | null {\r\n if (!this.item) return null;\r\n const contentWrapStyle = {\r\n paddingInlineStart: this.model.getItemIndent(this.item)\r\n };\r\n const className = this.model.getItemClass(this.item);\r\n const content: Array<JSX.Element> = [];\r\n if (!this.item.component) {\r\n const text = this.renderLocString(this.item.locTitle, undefined, \"locString\");\r\n if(this.item.iconName) {\r\n const icon = <SvgIcon\r\n key={1}\r\n className={this.model.cssClasses.itemIcon}\r\n iconName={this.item.iconName}\r\n size={this.item.iconSize}\r\n aria-label={this.item.title}\r\n ></SvgIcon>;\r\n content.push(icon);\r\n content.push(<span key={2}>{text}</span>);\r\n } else {\r\n content.push(text);\r\n }\r\n } else {\r\n const newElement = ReactElementFactory.Instance.createElement(this.item.component, { item: this.item, key: this.item.id });\r\n if(!!newElement) {\r\n content.push(newElement);\r\n }\r\n }\r\n\r\n const contentWrap =\r\n <div\r\n style={contentWrapStyle}\r\n className={this.model.cssClasses.itemBody}\r\n >\r\n {content}\r\n </div>;\r\n const separator = this.item.needSeparator ? <div className = {this.model.cssClasses.itemSeparator}/>:null;\r\n const isVisible = this.model.isItemVisible(this.item);\r\n const style = {\r\n display: isVisible ? null : \"none\"\r\n };\r\n return attachKey2click(\r\n <li\r\n className={className}\r\n role=\"option\"\r\n style={style as any}\r\n id={this.item.elementId}\r\n aria-selected={this.model.isItemSelected(this.item)}\r\n onClick={(event: any) => {\r\n this.model.onItemClick(this.item);\r\n event.stopPropagation();\r\n }}\r\n onPointerDown={(event: any) => this.model.onPointerDown(event, this.item)}>\r\n {separator}\r\n {contentWrap}\r\n </li>\r\n );\r\n }\r\n componentDidMount() {\r\n super.componentDidMount();\r\n\r\n this.model.onLastItemRended(this.item);\r\n }\r\n}\r\n\r\nReactElementFactory.Instance.registerElement(\"sv-list-item\", (props) => {\r\n return React.createElement(ListItem, props);\r\n});\r\n","import React from \"react\";\r\nimport { IAction, ListModel, settings } from \"survey-core\";\r\nimport { ReactElementFactory } from \"../../element-factory\";\r\nimport { SurveyElementBase } from \"../../reactquestion_element\";\r\nimport { SvgIcon } from \"../svg-icon/svg-icon\";\r\nimport { ListItem } from \"./list-item\";\r\n\r\ninterface IListProps {\r\n model: ListModel;\r\n}\r\n\r\nexport class List extends SurveyElementBase<IListProps, any> {\r\n private listContainerRef: React.RefObject<HTMLDivElement>;\r\n\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n filterString: this.model.filterString || \"\"\r\n };\r\n this.listContainerRef = React.createRef();\r\n }\r\n get model(): ListModel {\r\n return this.props.model;\r\n }\r\n handleKeydown = (event: any) => {\r\n this.model.onKeyDown(event);\r\n };\r\n handleMouseMove = (event: any) => {\r\n this.model.onMouseMove(event);\r\n };\r\n getStateElement() {\r\n return this.model;\r\n }\r\n componentDidMount(): void {\r\n super.componentDidMount();\r\n if(!!this.listContainerRef && !!this.listContainerRef.current) {\r\n this.model.initListContainerHtmlElement(this.listContainerRef.current);\r\n }\r\n }\r\n renderElement() {\r\n return (\r\n <div className={this.model.cssClasses.root} ref={this.listContainerRef}>\r\n {this.searchElementContent()}\r\n {this.emptyContent()}\r\n {this.renderList()}\r\n </div>\r\n );\r\n }\r\n renderList() {\r\n if(!this.model.renderElements) return null;\r\n\r\n const items = this.renderItems();\r\n const ulStyle = { display: this.model.isEmpty ? \"none\" : null };\r\n\r\n return (\r\n <ul\r\n className={this.model.getListClass()}\r\n style={ulStyle as any}\r\n role=\"listbox\"\r\n id={this.model.elementId}\r\n onMouseDown={(e) => {\r\n e.preventDefault();\r\n }}\r\n onKeyDown={this.handleKeydown}\r\n onMouseMove={this.handleMouseMove}\r\n >\r\n {items}\r\n </ul>);\r\n }\r\n renderItems() {\r\n if (!this.model) {\r\n return null;\r\n }\r\n const items = this.model.renderedActions;\r\n if (!items) {\r\n return null;\r\n }\r\n return items.map((item: IAction, itemIndex: number) => {\r\n return (\r\n <ListItem model={this.model} item={item} key={\"item\" + itemIndex}></ListItem>\r\n );\r\n });\r\n }\r\n\r\n searchElementContent() {\r\n if (!this.model.showFilter) return null;\r\n else {\r\n const onChange = (e: any) => {\r\n const { root } = settings.environment;\r\n if (e.target === root.activeElement) {\r\n this.model.filterString = e.target.value;\r\n }\r\n };\r\n const onKeyUp = (e: any) => {\r\n this.model.goToItems(e);\r\n };\r\n const clearButton = this.model.showSearchClearButton && !!this.model.filterString ?\r\n <button className={this.model.cssClasses.searchClearButtonIcon} onClick={(event) => { this.model.onClickSearchClearButton(event); }}>\r\n <SvgIcon\r\n iconName={\"icon-searchclear\"}\r\n size={\"auto\"}\r\n >\r\n </SvgIcon>\r\n </button> : null;\r\n\r\n return (\r\n <div className={this.model.cssClasses.filter}>\r\n <div className={this.model.cssClasses.filterIcon}>\r\n <SvgIcon\r\n iconName={\"icon-search\"}\r\n size={\"auto\"}\r\n >\r\n </SvgIcon>\r\n </div>\r\n <input\r\n type=\"text\"\r\n className={this.model.cssClasses.filterInput}\r\n aria-label={this.model.filterStringPlaceholder}\r\n placeholder={this.model.filterStringPlaceholder}\r\n value={this.state.filterString}\r\n onKeyUp={onKeyUp}\r\n onChange={onChange}\r\n ></input>\r\n {clearButton}\r\n </div>\r\n );\r\n }\r\n }\r\n emptyContent() {\r\n const style = { display: this.model.isEmpty ? null : \"none\" };\r\n\r\n return (<div className={this.model.cssClasses.emptyContainer} style={style as any}>\r\n <div className={this.model.cssClasses.emptyText} aria-label={this.model.emptyMessage}>{this.model.emptyMessage}</div>\r\n </div>);\r\n }\r\n}\r\n\r\nReactElementFactory.Instance.registerElement(\"sv-list\", (props) => {\r\n return React.createElement(List, props);\r\n});\r\n","import React from \"react\";\nimport { Action, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase } from \"survey-core\";\nimport { ReactElementFactory } from \"../../../element-factory\";\nimport { ReactSurveyElement } from \"../../../reactquestion_element\";\nimport { SvgIcon } from \"../../svg-icon/svg-icon\";\n\nexport class SurveyQuestionMatrixDetailButton extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n this.handleOnShowHideClick = this.handleOnShowHideClick.bind(this);\n }\n protected getStateElement() {\n return this.props.item;\n }\n get item(): Action {\n return this.props.item;\n }\n private get question(): QuestionMatrixDropdownModelBase {\n return this.props.item.data.question;\n }\n private get row(): MatrixDropdownRowModelBase {\n return this.props.item.data.row;\n }\n handleOnShowHideClick(event: any) {\n this.row.showHideDetailPanelClick();\n }\n protected renderElement(): JSX.Element {\n var isExpanded = this.row.isDetailPanelShowing;\n var ariaExpanded = isExpanded;\n var ariaControls = isExpanded ? this.row.detailPanelId : undefined;\n return (\n <button\n type=\"button\"\n onClick={this.handleOnShowHideClick}\n className={this.question.getDetailPanelButtonCss(this.row)}\n aria-expanded={ariaExpanded}\n aria-controls={ariaControls}\n >\n <SvgIcon\n className={this.question.getDetailPanelIconCss(this.row)}\n iconName={this.question.getDetailPanelIconId(this.row)}\n size={\"auto\"}\n >\n </SvgIcon>\n </button>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\n \"sv-matrix-detail-button\",\n props => {\n return React.createElement(SurveyQuestionMatrixDetailButton, props);\n }\n);\n","import React from \"react\";\nimport { QuestionMatrixDropdownModelBase } from \"survey-core\";\nimport { ReactElementFactory } from \"../../../element-factory\";\nimport { ReactSurveyElement } from \"../../../reactquestion_element\";\n\nexport class SurveyQuestionMatrixDynamicDragDropIcon extends ReactSurveyElement {\n private get question(): QuestionMatrixDropdownModelBase {\n return this.props.item.data.question;\n }\n\n protected renderElement(): JSX.Element {\n if(this.question.iconDragElement) {\n return (<svg className={this.question.cssClasses.dragElementDecorator} >\n <use xlinkHref={this.question.iconDragElement}></use>\n </svg>);\n } else {\n return (<span className={this.question.cssClasses.iconDrag} />);\n }\n }\n}\n\nReactElementFactory.Instance.registerElement(\n \"sv-matrix-drag-drop-icon\",\n (props) => {\n return React.createElement(SurveyQuestionMatrixDynamicDragDropIcon, props);\n }\n);\n","import React from \"react\";\nimport {\n MatrixDropdownRowModelBase,\n QuestionMatrixDropdownModelBase,\n} from \"survey-core\";\nimport { ReactElementFactory } from \"../../../element-factory\";\nimport { ReactSurveyElement } from \"../../../reactquestion_element\";\n\nexport class SurveyQuestionMatrixDynamicRemoveButton extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n this.handleOnRowRemoveClick = this.handleOnRowRemoveClick.bind(this);\n }\n private get question(): QuestionMatrixDropdownModelBase {\n return this.props.item.data.question;\n }\n private get row(): MatrixDropdownRowModelBase {\n return this.props.item.data.row;\n }\n handleOnRowRemoveClick(event: any) {\n this.question.removeRowUI(this.row);\n }\n protected renderElement(): JSX.Element {\n var removeRowText = this.renderLocString(this.question.locRemoveRowText);\n return (\n <button\n className={this.question.getRemoveRowButtonCss()}\n type=\"button\"\n onClick={this.handleOnRowRemoveClick}\n disabled={this.question.isInputReadOnly}\n >\n {removeRowText}\n <span className={this.question.cssClasses.iconRemove} />\n </button>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\n \"sv-matrix-remove-button\",\n (props) => {\n return React.createElement(SurveyQuestionMatrixDynamicRemoveButton, props);\n }\n);\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownModelBase } from \"survey-core\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { SurveyElementBase } from \"../../reactquestion_element\";\n\ninterface IMatrixRowProps {\n model: QuestionMatrixDropdownRenderedRow;\n parentMatrix: QuestionMatrixDropdownModelBase;\n}\n\nexport class MatrixRow extends SurveyElementBase<IMatrixRowProps, any> {\n constructor(props: IMatrixRowProps) {\n super(props);\n }\n get model(): QuestionMatrixDropdownRenderedRow {\n return this.props.model;\n }\n get parentMatrix(): QuestionMatrixDropdownModelBase {\n return this.props.parentMatrix;\n }\n protected getStateElement() {\n return this.model;\n }\n protected onPointerDownHandler = (event: any) => {\n this.parentMatrix.onPointerDown(event.nativeEvent, this.model.row);\n }\n\n render() {\n const model = this.model;\n return (\n <tr\n className={model.className}\n data-sv-drop-target-matrix-row={model.row && model.row.id}\n onPointerDown={(event: any) => this.onPointerDownHandler(event)}\n >\n {this.props.children}\n </tr>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\n \"sv-matrix-row\",\n (props: IMatrixRowProps) => {\n return React.createElement(MatrixRow, props);\n }\n);\n","import React from \"react\";\nimport { Base, Notifier } from \"survey-core\";\nimport { SurveyElementBase } from \"../reactquestion_element\";\nimport { ReactElementFactory } from \"../element-factory\";\nimport { SurveyActionBar } from \"./action-bar/action-bar\";\n\nexport interface INotifierComponentProps {\n notifier: Notifier;\n}\n\nexport class NotifierComponent extends SurveyElementBase<INotifierComponentProps, any> {\n get notifier(): Notifier {\n return this.props.notifier;\n }\n protected getStateElement(): Base {\n return this.notifier;\n }\n\n renderElement(): JSX.Element | null {\n if(!this.notifier.isDisplayed) return null;\n\n const style = { visibility: this.notifier.active ? \"visible\" : \"hidden\" } as React.CSSProperties;\n\n return (\n <div className={this.notifier.css} style={style} role=\"alert\" aria-live=\"polite\">\n <span>{this.notifier.message}</span>\n <SurveyActionBar model={this.notifier.actionBar}></SurveyActionBar>\n </div>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-notifier\", (props) => {\n return React.createElement(NotifierComponent, props);\n});","import React from \"react\";\nimport {\n QuestionPanelDynamicModel\n} from \"survey-core\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { ReactSurveyElement } from \"../../reactquestion_element\";\n\nexport class SurveyQuestionPanelDynamicAction extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n }\n protected get data(): any {\n return (this.props.item && this.props.item.data) || this.props.data;\n }\n protected get question(): QuestionPanelDynamicModel {\n return (this.props.item && this.props.item.data.question) || this.props.data.question;\n }\n}\n\nexport class SurveyQuestionPanelDynamicAddButton extends SurveyQuestionPanelDynamicAction {\n protected handleClick = (event: any) => {\n this.question.addPanelUI();\n }\n protected renderElement(): JSX.Element | null {\n if (!this.question.canAddPanel) return null;\n return (\n <button type=\"button\" className={this.question.getAddButtonCss()} onClick={this.handleClick} >\n <span className={this.question.cssClasses.buttonAddText}>{this.question.panelAddText}</span>\n </button>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\n \"sv-paneldynamic-add-btn\",\n (props) => {\n return React.createElement(SurveyQuestionPanelDynamicAddButton, props);\n }\n);\n","import React from \"react\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { SvgIcon } from \"../svg-icon/svg-icon\";\nimport { SurveyQuestionPanelDynamicAction } from \"./paneldynamic-add-btn\";\n\nexport class SurveyQuestionPanelDynamicNextButton extends SurveyQuestionPanelDynamicAction {\n protected handleClick = (event: any) => {\n this.question.goToNextPanel();\n }\n protected renderElement(): JSX.Element {\n return (\n <div title={this.question.panelNextText} onClick={this.handleClick} className={this.question.getNextButtonCss()}>\n <SvgIcon\n iconName={this.question.cssClasses.progressBtnIcon}\n size={\"auto\"}\n >\n </SvgIcon>\n </div>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\n \"sv-paneldynamic-next-btn\",\n (props) => {\n return React.createElement(SurveyQuestionPanelDynamicNextButton, props);\n }\n);\n","import React from \"react\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { SvgIcon } from \"../svg-icon/svg-icon\";\nimport { SurveyQuestionPanelDynamicAction } from \"./paneldynamic-add-btn\";\n\nexport class SurveyQuestionPanelDynamicPrevButton extends SurveyQuestionPanelDynamicAction {\n protected handleClick = (event: any) => {\n this.question.goToPrevPanel();\n }\n protected renderElement(): JSX.Element {\n return (\n <div title={this.question.panelPrevText} onClick={this.handleClick} className={this.question.getPrevButtonCss()}>\n <SvgIcon\n iconName={this.question.cssClasses.progressBtnIcon}\n size={\"auto\"}\n >\n </SvgIcon>\n </div>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\n \"sv-paneldynamic-prev-btn\",\n (props) => {\n return React.createElement(SurveyQuestionPanelDynamicPrevButton, props);\n }\n);\n","import React from \"react\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { SurveyQuestionPanelDynamicAction } from \"./paneldynamic-add-btn\";\n\nexport class SurveyQuestionPanelDynamicProgressText extends SurveyQuestionPanelDynamicAction {\n protected renderElement(): JSX.Element {\n return (<div className={this.question.cssClasses.progressText}>\n {this.question.progressText}\n </div>);\n }\n}\n\nReactElementFactory.Instance.registerElement(\n \"sv-paneldynamic-progress-text\",\n (props) => {\n return React.createElement(SurveyQuestionPanelDynamicProgressText, props);\n }\n);","import React from \"react\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { ReactSurveyElement } from \"../../reactquestion_element\";\nimport { SurveyQuestionPanelDynamic } from \"../../reactquestion_paneldynamic\";\nimport { SurveyQuestionPanelDynamicAction } from \"./paneldynamic-add-btn\";\n\nexport class SurveyQuestionPanelDynamicRemoveButton extends SurveyQuestionPanelDynamicAction {\n protected handleClick = (event: any) => {\n this.question.removePanelUI(this.data.panel);\n }\n protected renderElement(): JSX.Element {\n return (\n <button\n className={this.question.getPanelRemoveButtonCss()}\n onClick={this.handleClick}\n type=\"button\">\n <span\n className={this.question.cssClasses.buttonRemoveText}\n >{this.question.panelRemoveText}</span>\n <span\n className={this.question.cssClasses.iconRemove}\n ></span>\n </button>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\n \"sv-paneldynamic-remove-btn\",\n (props) => {\n return React.createElement(SurveyQuestionPanelDynamicRemoveButton, props);\n }\n);\n","import ReactDOM from \"react-dom\";\nimport React from \"react\";\nimport { Base, PopupModel, PopupBaseViewModel, PopupDropdownViewModel, IDialogOptions, createDialogOptions, createPopupModalViewModel, createPopupViewModel, CssClassBuilder, settings } from \"survey-core\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { SurveyElementBase } from \"../../reactquestion_element\";\nimport { SurveyActionBar } from \"../action-bar/action-bar\";\n\ninterface IPopupProps {\n model: PopupModel;\n getTarget?: (container: HTMLElement) => HTMLElement;\n}\n\nexport class Popup extends SurveyElementBase<IPopupProps, any> {\n private popup: PopupBaseViewModel;\n private containerRef: React.RefObject<HTMLDivElement>;\n constructor(props: IPopupProps) {\n super(props);\n this.containerRef = React.createRef();\n this.createModel();\n }\n get model(): PopupModel {\n return this.props.model;\n }\n protected getStateElement(): Base {\n return this.model;\n }\n private createModel(): void {\n this.popup = createPopupViewModel(this.props.model, undefined as any);\n }\n private setTargetElement(): void {\n const container = this.containerRef.current as HTMLElement;\n this.popup.setComponentElement(container, this.props.getTarget ? this.props.getTarget(container) : undefined);\n }\n componentDidMount(): void {\n super.componentDidMount();\n this.setTargetElement();\n }\n componentDidUpdate(prevProps: any, prevState: any) {\n super.componentDidUpdate(prevProps, prevState);\n this.setTargetElement();\n }\n shouldComponentUpdate(nextProps: IPopupProps, nextState: any) {\n if (!super.shouldComponentUpdate(nextProps, nextState)) return false;\n const isNeedUpdate = nextProps.model !== this.popup.model;\n if(isNeedUpdate) {\n this.popup?.dispose();\n this.createModel();\n }\n return isNeedUpdate;\n }\n render(): JSX.Element {\n this.popup.model = this.model;\n let popupContainer;\n if(this.model.isModal) {\n popupContainer = <PopupContainer model={this.popup}></PopupContainer>;\n } else {\n popupContainer = <PopupDropdownContainer model={this.popup}></PopupDropdownContainer>;\n }\n return <div ref={this.containerRef}>{popupContainer}</div>;\n }\n}\n\nReactElementFactory.Instance.registerElement(\n \"sv-popup\",\n (props: IPopupProps) => {\n return React.createElement(Popup, props);\n }\n);\n\nexport class PopupContainer extends SurveyElementBase<any, any> {\n public prevIsVisible: boolean = false;\n constructor(props: any) {\n super(props);\n }\n handleKeydown = (event: any) => {\n this.model.onKeyDown(event);\n };\n get model(): PopupBaseViewModel {\n return this.props.model;\n }\n protected getStateElement(): Base {\n return this.model;\n }\n clickInside = (ev: any) => {\n ev.stopPropagation();\n };\n componentDidUpdate(prevProps: any, prevState: any) {\n super.componentDidUpdate(prevProps, prevState);\n if (!this.prevIsVisible && this.model.isVisible) {\n this.model.updateOnShowing();\n }\n this.prevIsVisible = this.model.isVisible;\n }\n renderContainer(PopupBaseViewModel: PopupBaseViewModel): JSX.Element {\n const headerPopup = PopupBaseViewModel.showHeader ? this.renderHeaderPopup(PopupBaseViewModel) : null;\n const headerContent = !!PopupBaseViewModel.title ? this.renderHeaderContent() : null;\n const content = this.renderContent();\n const footerContent = PopupBaseViewModel.showFooter ? this.renderFooter(this.model) : null;\n return (\n <div\n className=\"sv-popup__container\"\n style={{\n left: PopupBaseViewModel.left,\n top: PopupBaseViewModel.top,\n height: PopupBaseViewModel.height,\n width: PopupBaseViewModel.width,\n minWidth: PopupBaseViewModel.minWidth,\n }}\n onClick={(ev: any) => {\n this.clickInside(ev);\n }}\n >\n <div className=\"sv-popup__shadow\">\n {headerPopup}\n <div className=\"sv-popup__body-content\">\n {headerContent}\n <div className=\"sv-popup__scrolling-content\">\n {content}\n </div>\n {footerContent}\n </div>\n </div>\n </div>\n );\n }\n renderHeaderContent(): JSX.Element {\n return <div className=\"sv-popup__body-header\">{this.model.title}</div>;\n }\n renderContent(): JSX.Element {\n const contentComponent = ReactElementFactory.Instance.createElement(\n this.model.contentComponentName,\n this.model.contentComponentData\n );\n return <div className=\"sv-popup__content\">{contentComponent}</div>;\n }\n\n protected renderHeaderPopup(popupModel: PopupBaseViewModel): JSX.Element | null {\n return null;\n }\n protected renderFooter(popuModel: PopupBaseViewModel): JSX.Element | null {\n return (\n <div className=\"sv-popup__body-footer\">\n <SurveyActionBar model={popuModel.footerToolbar}></SurveyActionBar>\n </div>\n );\n }\n render(): JSX.Element {\n const container = this.renderContainer(this.model);\n const className = new CssClassBuilder()\n .append(\"sv-popup\")\n .append(this.model.styleClass)\n .toString();\n const style = { display: this.model.isVisible ? \"\" : \"none\", };\n return (\n <div\n tabIndex={-1}\n className={className}\n style={style}\n onClick={(e: any) => {\n this.model.clickOutside(e);\n }}\n onKeyDown={this.handleKeydown}\n >\n {container}\n </div>\n );\n }\n}\nexport class PopupDropdownContainer extends PopupContainer {\n\n protected renderHeaderPopup(popupModel: PopupBaseViewModel): JSX.Element | null {\n const popupDropdownModel = popupModel as PopupDropdownViewModel;\n if(!popupDropdownModel) return null;\n\n return (\n <span\n style={{\n left: popupDropdownModel.pointerTarget.left,\n top: popupDropdownModel.pointerTarget.top,\n }}\n className=\"sv-popup__pointer\"\n ></span>\n );\n }\n}\n\n// replace to showDialog then delete\nexport function showModal(\n componentName: string,\n data: any,\n onApply: () => boolean,\n onCancel?: () => void,\n cssClass?: string,\n title?: string,\n displayMode: \"popup\" | \"overlay\" = \"popup\"\n): PopupBaseViewModel {\n const options = createDialogOptions(\n componentName,\n data,\n onApply,\n onCancel,\n undefined,\n undefined,\n cssClass,\n title,\n displayMode\n );\n return showDialog(options);\n}\nexport function showDialog(dialogOptions: IDialogOptions, rootElement?: HTMLElement): PopupBaseViewModel {\n dialogOptions.onHide = () => {\n ReactDOM.unmountComponentAtNode(popupViewModel.container);\n popupViewModel.dispose();\n };\n const popupViewModel: PopupBaseViewModel = createPopupModalViewModel(dialogOptions, rootElement);\n ReactDOM.render(<PopupContainer model={popupViewModel} />, popupViewModel.container);\n popupViewModel.model.isVisible = true;\n\n return popupViewModel;\n}\n\nsettings.showModal = showModal;\nsettings.showDialog = showDialog;","import React from \"react\";\nimport { QuestionRatingModel, RenderedRatingItem } from \"survey-core\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { SurveyElementBase } from \"../../reactquestion_element\";\nimport { attachKey2click } from \"../../reactSurvey\";\nimport { SvgIcon } from \"../svg-icon/svg-icon\";\nimport { IRatingItemProps, RatingItemBase } from \"./rating-item\";\n\nexport class RatingItemSmiley extends RatingItemBase {\n render(): JSX.Element | null {\n return (\n <label onMouseDown={this.handleOnMouseDown}\n style={this.question.getItemStyle(this.item.itemValue, this.item.highlight)}\n className={this.question.getItemClass(this.item.itemValue)}\n onMouseOver={e => this.question.onItemMouseIn(this.item)}\n onMouseOut={e => this.question.onItemMouseOut(this.item)}\n >\n <input\n type=\"radio\"\n className=\"sv-visuallyhidden\"\n name={this.question.name}\n id={this.question.getInputId(this.index)}\n value={this.item.value}\n disabled={this.isDisplayMode}\n checked={this.question.value == this.item.value}\n onClick={this.props.handleOnClick}\n onChange={() => { }}\n aria-required={this.question.ariaRequired}\n aria-label={this.question.ariaLabel}\n aria-invalid={this.question.ariaInvalid}\n aria-describedby={this.question.ariaDescribedBy}\n />\n <SvgIcon\n size={\"auto\"}\n iconName={this.question.getItemSmileyIconName(this.item.itemValue)}\n title={this.item.text}\n ></SvgIcon>\n </label>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-rating-item-smiley\", (props) => {\n return React.createElement(RatingItemSmiley, props);\n});\n","import React from \"react\";\nimport { QuestionRatingModel, RenderedRatingItem } from \"survey-core\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { SurveyElementBase } from \"../../reactquestion_element\";\nimport { attachKey2click } from \"../../reactSurvey\";\nimport { SvgIcon } from \"../svg-icon/svg-icon\";\nimport { IRatingItemProps, RatingItemBase } from \"./rating-item\";\n\nexport class RatingItemStar extends RatingItemBase {\n render(): JSX.Element | null {\n return (\n <label onMouseDown={this.handleOnMouseDown}\n className={this.question.getItemClass(this.item.itemValue)}\n onMouseOver={e => this.question.onItemMouseIn(this.item)}\n onMouseOut={e => this.question.onItemMouseOut(this.item)}\n >\n <input\n type=\"radio\"\n className=\"sv-visuallyhidden\"\n name={this.question.name}\n id={this.question.getInputId(this.index)}\n value={this.item.value}\n disabled={this.isDisplayMode}\n checked={this.question.value == this.item.value}\n onClick={this.props.handleOnClick}\n onChange={() => { }}\n aria-required={this.question.ariaRequired}\n aria-label={this.question.ariaLabel}\n aria-invalid={this.question.ariaInvalid}\n aria-describedby={this.question.ariaDescribedBy}\n />\n <SvgIcon\n className={\"sv-star\"}\n size={\"auto\"}\n iconName={this.question.itemStarIcon}\n title={this.item.text}\n ></SvgIcon>\n <SvgIcon\n className={\"sv-star-2\"}\n size={\"auto\"}\n iconName={this.question.itemStarIconAlt}\n title={this.item.text}\n ></SvgIcon>\n </label>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-rating-item-star\", (props) => {\n return React.createElement(RatingItemStar, props);\n});\n","import React from \"react\";\nimport { Base, QuestionRatingModel, RenderedRatingItem } from \"survey-core\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { SurveyElementBase } from \"../../reactquestion_element\";\nimport { attachKey2click } from \"../../reactSurvey\";\nimport { SvgIcon } from \"../svg-icon/svg-icon\";\n\nexport interface IRatingItemProps {\n question: QuestionRatingModel;\n item: RenderedRatingItem;\n index: any;\n handleOnClick: any;\n isDisplayMode: boolean;\n}\nexport class RatingItemBase extends SurveyElementBase<IRatingItemProps, any> {\n constructor(props: any) {\n super(props);\n this.handleOnMouseDown = this.handleOnMouseDown.bind(this);\n }\n get question(): QuestionRatingModel {\n return this.props.question;\n }\n get item(): RenderedRatingItem {\n return this.props.item;\n }\n get index(): any {\n return this.props.index;\n }\n getStateElement(): Base {\n return this.item;\n }\n handleOnMouseDown(event: any) {\n this.question.onMouseDown();\n }\n}\nexport class RatingItem extends RatingItemBase {\n render(): JSX.Element | null {\n var itemText = this.renderLocString(this.item.locText);\n return (\n <label onMouseDown={this.handleOnMouseDown} className={this.question.getItemClassByText(this.item.itemValue, this.item.text)}>\n <input\n type=\"radio\"\n className=\"sv-visuallyhidden\"\n name={this.question.name}\n id={this.question.getInputId(this.index)}\n value={this.item.value}\n disabled={this.isDisplayMode}\n checked={this.question.value == this.item.value}\n onClick={this.props.handleOnClick}\n onChange={() => { }}\n aria-required={this.question.ariaRequired}\n aria-label={this.question.ariaLabel}\n aria-invalid={this.question.ariaInvalid}\n aria-describedby={this.question.ariaDescribedBy}\n />\n <span className={this.question.cssClasses.itemText}>{itemText}</span>\n </label>\n );\n }\n componentDidMount() {\n super.componentDidMount();\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-rating-item\", (props) => {\n return React.createElement(RatingItem, props);\n});\n","import React from \"react\";\nimport { ReactElementFactory } from \"../element-factory\";\n\nexport class Skeleton extends React.Component<any, any> {\n render() {\n return (\n <div className=\"sv-skeleton-element\" id={this.props.element?.id}>\n </div>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-skeleton\", (props: any) => {\n return React.createElement(Skeleton, props);\n});\n","import React from \"react\";\nimport { Action } from \"survey-core\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { ReactSurveyElement } from \"../../reactquestion_element\";\n\nexport class SurveyNavigationButton extends ReactSurveyElement {\n protected get item(): Action {\n return this.props.item;\n }\n protected canRender(): boolean {\n return this.item.isVisible;\n }\n protected renderElement(): JSX.Element {\n return (\n <input\n className={this.item.innerCss}\n type=\"button\"\n disabled={this.item.disabled}\n onMouseDown={this.item.data && this.item.data.mouseDown}\n onClick={this.item.action}\n title={this.item.getTooltip()}\n value={this.item.title}\n />\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\n \"sv-nav-btn\",\n (props) => {\n return React.createElement(SurveyNavigationButton, props);\n }\n);","import React from \"react\";\nimport { SurveyModel } from \"survey-core\";\nimport { ReactElementFactory } from \"../../element-factory\";\n\ninterface ILogoImageProps {\n data: SurveyModel;\n}\n\nexport class LogoImage extends React.Component<ILogoImageProps, any> {\n constructor(props: ILogoImageProps) {\n super(props);\n }\n private get survey(): SurveyModel {\n return this.props.data;\n }\n public render() {\n const content: JSX.Element[] = [];\n content.push(\n <div key={\"logo-image\"} className={this.survey.logoClassNames}>\n <img\n className={this.survey.css.logoImage}\n src={this.survey.locLogo.renderedHtml}\n alt={this.survey.locTitle.renderedHtml}\n width={this.survey.renderedLogoWidth}\n height={this.survey.renderedLogoHeight}\n style={{ objectFit: this.survey.logoFit as any, width: this.survey.renderedStyleLogoWidth, height: this.survey.renderedStyleLogoHeight }}\n />\n </div>\n );\n return <>{content}</>;\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-logo-image\", (props: ILogoImageProps) => {\n return React.createElement(LogoImage, props);\n});\n","import React from \"react\";\nimport { SurveyModel } from \"survey-core\";\nimport { SurveyElementBase } from \"../../reactquestion_element\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { TitleElement } from \"../title/title-element\";\n\ninterface ISurveyHeaderProps {\n survey: SurveyModel;\n}\n\nexport class SurveyHeader extends React.Component<ISurveyHeaderProps, any> {\n constructor(props: ISurveyHeaderProps) {\n super(props);\n this.state = { changed: 0 };\n this.rootRef = React.createRef();\n }\n\n private get survey(): SurveyModel {\n return this.props.survey;\n }\n private get css(): any {\n return this.survey.css;\n }\n private rootRef: React.RefObject<HTMLDivElement>;\n\n componentDidMount() {\n const self: SurveyHeader = this;\n this.survey.afterRenderHeader(this.rootRef.current as HTMLDivElement);\n this.survey.locLogo.onChanged = function () {\n self.setState({ changed: self.state.changed + 1 });\n };\n }\n componentWillUnmount() {\n this.survey.locLogo.onChanged = function () { };\n }\n\n private renderTitle(): JSX.Element | null {\n if (!this.survey.renderedHasTitle) return null;\n const description = SurveyElementBase.renderLocString(\n this.survey.locDescription\n );\n return (\n <div\n className={this.css.headerText}\n style={{ maxWidth: this.survey.titleMaxWidth }}\n >\n <TitleElement element={this.survey}></TitleElement>\n { this.survey.renderedHasDescription ? <h5 className={this.css.description}>{description}</h5> : null }\n </div>\n );\n }\n\n private renderLogoImage(isRender: boolean): JSX.Element | null {\n if (!isRender) return null;\n const componentName: string = this.survey.getElementWrapperComponentName(\n this.survey,\n \"logo-image\"\n );\n const componentData: any = this.survey.getElementWrapperComponentData(\n this.survey,\n \"logo-image\"\n );\n return ReactElementFactory.Instance.createElement(componentName, {\n data: componentData,\n });\n }\n public render(): JSX.Element | null {\n if (!this.survey.renderedHasHeader) return null;\n return (\n <div className={this.css.header} ref={this.rootRef}>\n {this.renderLogoImage(this.survey.isLogoBefore)}\n {this.renderTitle()}\n {this.renderLogoImage(this.survey.isLogoAfter)}\n <div className={this.css.headerClose}></div>\n </div>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\n \"survey-header\",\n (props: ISurveyHeaderProps) => {\n return React.createElement(SurveyHeader, props);\n }\n);\n","import React from \"react\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { createSvg } from \"survey-core\";\n\nexport class SvgIcon extends React.Component<any, any> {\n private svgIconRef: any;\n constructor(props: any) {\n super(props);\n this.svgIconRef = React.createRef();\n }\n\n updateSvg() {\n if(this.props.iconName)\n createSvg(\n this.props.size,\n this.props.width,\n this.props.height,\n this.props.iconName,\n this.svgIconRef.current,\n this.props.title,\n );\n }\n componentDidUpdate() {\n this.updateSvg();\n }\n render() {\n let className = \"sv-svg-icon\";\n if(this.props.className) {\n className += \" \" + this.props.className;\n }\n return (\n this.props.iconName ?\n <svg className={ className } style={this.props.style} onClick={this.props.onClick} ref={this.svgIconRef} role=\"img\" aria-label={this.props.title}><use></use></svg>\n : null\n );\n }\n componentDidMount() {\n this.updateSvg();\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-svg-icon\", (props) => {\n return React.createElement(SvgIcon, props);\n});\n","import React from \"react\";\nimport { SurveyElement, RendererFactory } from \"survey-core\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { SurveyActionBar } from \"../action-bar/action-bar\";\nimport { TitleContent } from \"./title-content\";\n\nexport class TitleActions extends React.Component<any, any> {\n protected get cssClasses() {\n return this.props.cssClasses;\n }\n protected get element(): SurveyElement {\n return this.props.element;\n }\n\n render(): JSX.Element {\n const titleContent: JSX.Element = <TitleContent element={this.element} cssClasses={this.cssClasses}></TitleContent>;\n if(!this.element.hasTitleActions) return titleContent;\n return (\n <div className=\"sv-title-actions\">\n <span className=\"sv-title-actions__title\">{titleContent}</span>\n <SurveyActionBar model={this.element.getTitleToolbar()}></SurveyActionBar>\n </div>\n );\n }\n}\n\nRendererFactory.Instance.registerRenderer(\n \"element\",\n \"title-actions\",\n \"sv-title-actions\"\n);\n\nReactElementFactory.Instance.registerElement(\"sv-title-actions\", (props) => {\n return React.createElement(TitleActions, props);\n});\n","import React from \"react\";\nimport { SurveyElementCore, ITitleOwner } from \"survey-core\";\nimport { SurveyElementBase } from \"../../reactquestion_element\";\n\nexport class TitleContent extends React.Component<any, any> {\n constructor(props: any) {\n super(props);\n }\n\n private get cssClasses() {\n return this.props.cssClasses;\n }\n\n private get element(): SurveyElementCore {\n return this.props.element;\n }\n render(): JSX.Element {\n if(this.element.isTitleRenderedAsString)\n return SurveyElementBase.renderLocString(this.element.locTitle);\n var spans = this.renderTitleSpans(this.element.getTitleOwner(), this.cssClasses);\n return <>{spans}</>;\n }\n protected renderTitleSpans(element: ITitleOwner, cssClasses: any): Array<JSX.Element> {\n var getSpaceSpan = (key: any) => {\n return (\n <span data-key={key} key={key}>\n \n </span>\n );\n };\n var spans: Array<JSX.Element> = [];\n if (element.isRequireTextOnStart) {\n spans.push(this.renderRequireText(element, cssClasses));\n spans.push(getSpaceSpan(\"req-sp\"));\n }\n var questionNumber = element.no;\n if (questionNumber) {\n const panelNumber = !!cssClasses.panel ? cssClasses.panel.number : undefined;\n spans.push(\n <span\n data-key={\"q_num\"}\n key={\"q_num\"}\n className={cssClasses.number || panelNumber}\n style={{ position: \"static\" }}\n aria-hidden={true}\n >\n {questionNumber}\n </span>\n );\n spans.push(getSpaceSpan(\"num-sp\"));\n }\n if (element.isRequireTextBeforeTitle) {\n spans.push(this.renderRequireText(element, cssClasses));\n spans.push(getSpaceSpan(\"req-sp\"));\n }\n spans.push(\n SurveyElementBase.renderLocString(element.locTitle, null, \"q_title\")\n );\n if (element.isRequireTextAfterTitle) {\n spans.push(getSpaceSpan(\"req-sp\"));\n spans.push(this.renderRequireText(element, cssClasses));\n }\n return spans;\n }\n\n private renderRequireText(\n element: ITitleOwner,\n cssClasses: any\n ): JSX.Element {\n return (\n <span\n data-key={\"req-text\"}\n key={\"req-text\"}\n className={cssClasses.requiredText || cssClasses.panel.requiredText}\n aria-hidden={true}\n >\n {element.requiredText}\n </span>\n );\n }\n}\n","import React from \"react\";\nimport { SurveyElementCore, doKey2ClickUp } from \"survey-core\";\nimport { TitleActions } from \"./title-actions\";\n\nexport class TitleElement extends React.Component<any, any> {\n constructor(props: any) {\n super(props);\n }\n private get element(): SurveyElementCore {\n return this.props.element;\n }\n render(): JSX.Element | any {\n const element = this.element;\n if (!element || !element.hasTitle) return null;\n const ariaLabel = element.titleAriaLabel || undefined;\n const titleContent = (\n <TitleActions\n element={element}\n cssClasses={element.cssClasses}\n ></TitleActions>\n );\n let onClick: undefined | ((e: any) => void) = undefined;\n let onKeyUp: undefined | ((e: any) => void) = undefined;\n if (element.hasTitleEvents) {\n onKeyUp = (evt: any) => {\n doKey2ClickUp(evt.nativeEvent);\n };\n }\n\n const CustomTag = element.titleTagName as keyof JSX.IntrinsicElements;\n return (\n <CustomTag\n className={element.cssTitle}\n id={element.ariaTitleId}\n aria-label={ariaLabel}\n tabIndex={element.titleTabIndex}\n aria-expanded={element.titleAriaExpanded}\n role={element.titleAriaRole}\n onClick={onClick}\n onKeyUp={onKeyUp}\n >\n {titleContent}\n </CustomTag>\n );\n }\n}\n","import * as React from \"react\";\nimport { SurveyQuestionElementBase } from \"./reactquestion_element\";\n\nexport class SurveyCustomWidget extends SurveyQuestionElementBase {\n private widgetRef: React.RefObject<HTMLDivElement>;\n constructor(props: any) {\n super(props);\n this.widgetRef = React.createRef();\n }\n private _afterRender() {\n if (this.questionBase.customWidget) {\n let el = this.widgetRef.current;\n if (!!el) {\n this.questionBase.customWidget.afterRender(this.questionBase, el);\n this.questionBase.customWidgetData.isNeedRender = false;\n }\n }\n }\n componentDidMount() {\n super.componentDidMount();\n if (this.questionBase) {\n this._afterRender();\n }\n }\n componentDidUpdate(prevProps: any, prevState: any) {\n super.componentDidUpdate(prevProps, prevState);\n var isDefaultRender =\n !!this.questionBase.customWidget &&\n this.questionBase.customWidget.isDefaultRender;\n if (this.questionBase && !isDefaultRender) {\n this._afterRender();\n }\n }\n componentWillUnmount() {\n super.componentWillUnmount();\n if (this.questionBase.customWidget) {\n let el = this.widgetRef.current;\n if (!!el) {\n this.questionBase.customWidget.willUnmount(this.questionBase, el);\n }\n }\n }\n protected canRender(): boolean {\n return super.canRender() && this.questionBase.visible;\n }\n protected renderElement(): JSX.Element {\n let customWidget = this.questionBase.customWidget;\n\n if (customWidget.isDefaultRender) {\n return (\n <div ref={this.widgetRef}>\n {this.creator.createQuestionElement(this.questionBase)}\n </div>\n );\n }\n\n let widget = null;\n if (customWidget.widgetJson.render) {\n widget = customWidget.widgetJson.render(this.questionBase);\n } else {\n if (customWidget.htmlTemplate) {\n let htmlValue = { __html: customWidget.htmlTemplate };\n return <div ref={this.widgetRef} dangerouslySetInnerHTML={htmlValue} />;\n }\n }\n return <div ref={this.widgetRef}>{widget}</div>;\n }\n}\n","import * as React from \"react\";\nimport { Helpers, Question, DropdownListModel, settings } from \"survey-core\";\nimport { Popup } from \"./components/popup/popup\";\nimport { SvgIcon } from \"./components/svg-icon/svg-icon\";\nimport { ReactElementFactory } from \"./element-factory\";\nimport { SurveyQuestionOtherValueItem } from \"./reactquestion_comment\";\nimport { SurveyQuestionUncontrolledElement } from \"./reactquestion_element\";\n\nexport class SurveyQuestionDropdownBase<T extends Question> extends SurveyQuestionUncontrolledElement<T> {\n inputElement: HTMLInputElement | null;\n\n click = (event: any) => {\n this.question.dropdownListModel?.onClick(event);\n };\n clear = (event: any) => {\n this.question.dropdownListModel?.onClear(event);\n };\n keyhandler = (event: any) => {\n this.question.dropdownListModel?.keyHandler(event);\n };\n blur = (event: any) => {\n this.question.dropdownListModel?.onBlur(event);\n this.updateInputDomElement();\n };\n focus = (event: any) => {\n this.question.dropdownListModel?.onFocus(event);\n };\n protected getStateElement() {\n return this.question[\"dropdownListModel\"];\n }\n protected setValueCore(newValue: any) {\n this.questionBase.renderedValue = newValue;\n }\n protected getValueCore(): any {\n return this.questionBase.renderedValue;\n }\n protected renderSelect(cssClasses: any): JSX.Element {\n let selectElement: JSX.Element | null = null;\n if (this.question.isReadOnly) {\n const text = (this.question.selectedItemLocText) ? this.renderLocString(this.question.selectedItemLocText) : \"\";\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n selectElement = <div id={this.question.inputId} className={this.question.getControlClass()} disabled>\n {text}\n <div>{this.question.readOnlyText}</div>\n </div>;\n } else {\n if (!(this.question as any)[\"dropdownListModel\"]) {\n (this.question as any)[\"dropdownListModel\"] = new DropdownListModel(this.question);\n }\n selectElement = <>\n {this.renderInput(this.question[\"dropdownListModel\"])}\n <Popup model={this.question?.dropdownListModel?.popupModel}></Popup>\n </>;\n }\n\n return (\n <div className={cssClasses.selectWrapper} onClick={this.click}>\n {selectElement}\n {this.createChevronButton()}\n </div>\n );\n }\n\n renderValueElement(dropdownListModel: DropdownListModel): JSX.Element | null {\n if (this.question.showInputFieldComponent) {\n return ReactElementFactory.Instance.createElement(this.question.inputFieldComponentName, { item: dropdownListModel.getSelectedAction(), question: this.question });\n } else if (this.question.showSelectedItemLocText) {\n return this.renderLocString(this.question.selectedItemLocText);\n }\n return null;\n }\n\n protected renderInput(dropdownListModel: DropdownListModel): JSX.Element {\n let valueElement: JSX.Element | null = this.renderValueElement(dropdownListModel);\n const { root } = settings.environment;\n\n const onInputChange = (e: any) => {\n if (e.target === root.activeElement) {\n dropdownListModel.inputStringRendered = e.target.value;\n }\n };\n return (<div\n id={this.question.inputId}\n className={this.question.getControlClass()}\n tabIndex={dropdownListModel.inputReadOnly ? undefined : 0}\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n disabled={this.question.isInputReadOnly}\n required={this.question.isRequired}\n onKeyDown={this.keyhandler}\n onBlur={this.blur}\n role={this.question.ariaRole}\n aria-required={this.question.ariaRequired}\n aria-label={this.question.ariaLabel}\n aria-invalid={this.question.ariaInvalid}\n aria-describedby={this.question.ariaDescribedBy}\n aria-expanded={this.question.ariaExpanded === null ? undefined : this.question.ariaExpanded === \"true\"}\n aria-controls={dropdownListModel.listElementId}\n aria-activedescendant={dropdownListModel.ariaActivedescendant}\n >\n {dropdownListModel.showHintPrefix ?\n (<div className={this.question.cssClasses.hintPrefix}>\n <span>{dropdownListModel.hintStringPrefix}</span>\n </div>) : null}\n <div className={this.question.cssClasses.controlValue}>\n {dropdownListModel.showHintString ?\n (<div className={this.question.cssClasses.hintSuffix}>\n <span style={{ visibility: \"hidden\" }} data-bind=\"text: model.filterString\">{dropdownListModel.inputStringRendered}</span>\n <span>{dropdownListModel.hintStringSuffix}</span>\n </div>) : null}\n {valueElement}\n <input type=\"text\" autoComplete=\"off\"\n id={this.question.getInputId()}\n ref={(element) => (this.inputElement = element)}\n className={this.question.cssClasses.filterStringInput}\n role={dropdownListModel.filterStringEnabled ? this.question.ariaRole : undefined}\n aria-label={this.question.placeholder}\n aria-expanded={this.question.ariaExpanded === null ? undefined : this.question.ariaExpanded === \"true\"}\n aria-controls={dropdownListModel.listElementId}\n aria-activedescendant={dropdownListModel.ariaActivedescendant}\n placeholder={dropdownListModel.placeholderRendered}\n readOnly={!dropdownListModel.searchEnabled ? true : undefined}\n tabIndex={dropdownListModel.inputReadOnly ? undefined : -1}\n disabled={this.question.isInputReadOnly}\n inputMode={dropdownListModel.inputMode}\n onChange={(e) => { onInputChange(e); }}\n onBlur={this.blur}\n onFocus={this.focus}\n ></input>\n </div>\n {this.createClearButton()}\n </div>);\n }\n\n createClearButton(): JSX.Element | null {\n if (!this.question.allowClear || !this.question.cssClasses.cleanButtonIconId) return null;\n\n const style = { display: this.question.isEmpty() ? \"none\" : \"\" };\n return (\n <div\n className={this.question.cssClasses.cleanButton}\n style={style}\n onClick={this.clear}\n >\n <SvgIcon\n className={this.question.cssClasses.cleanButtonSvg}\n iconName={this.question.cssClasses.cleanButtonIconId}\n title={this.question.clearCaption}\n size={\"auto\"}\n ></SvgIcon>\n </div>\n );\n }\n\n createChevronButton(): JSX.Element | null {\n if (!this.question.cssClasses.chevronButtonIconId) return null;\n\n return (\n <div className={this.question.cssClasses.chevronButton}>\n <SvgIcon\n className={this.question.cssClasses.chevronButtonSvg}\n iconName={this.question.cssClasses.chevronButtonIconId}\n size={24}\n ></SvgIcon>\n </div>\n );\n }\n\n protected renderOther(cssClasses: any): JSX.Element {\n return (\n <div className={this.question.getCommentAreaCss(true)}>\n <SurveyQuestionOtherValueItem\n question={this.question}\n otherCss={cssClasses.other}\n cssClasses={cssClasses}\n isDisplayMode={this.isDisplayMode}\n isOther={true}\n />\n </div>\n );\n }\n\n componentDidUpdate(prevProps: any, prevState: any) {\n super.componentDidUpdate(prevProps, prevState);\n this.updateInputDomElement();\n }\n componentDidMount() {\n super.componentDidMount();\n this.updateInputDomElement();\n }\n updateInputDomElement() {\n if (!!this.inputElement) {\n const control: any = this.inputElement;\n const newValue = this.question.dropdownListModel.inputStringRendered;\n if (!Helpers.isTwoValueEquals(newValue, control.value, false, true)) {\n control.value = this.question.dropdownListModel.inputStringRendered;\n }\n }\n }\n}","import * as React from \"react\";\nimport { ReactSurveyElement } from \"./reactquestion_element\";\nimport { Base, ItemValue } from \"survey-core\";\n\nexport class SurveyQuestionOptionItem extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n this.state = { changed: 0 };\n this.setupModel();\n }\n componentDidUpdate(prevProps: any, prevState: any): void {\n super.componentDidUpdate(prevProps, prevState);\n this.setupModel();\n }\n componentWillUnmount(): void {\n super.componentWillUnmount();\n if (!!this.item) {\n this.item.locText.onChanged = () => { };\n }\n }\n private setupModel(): void {\n if (!this.item.locText) return;\n const self = this;\n this.item.locText.onChanged = () => {\n self.setState({ changed: self.state.changed + 1 });\n };\n }\n protected getStateElement(): Base {\n return this.item;\n }\n private get item(): ItemValue {\n return this.props.item;\n }\n protected canRender(): boolean {\n return !!this.item;\n }\n protected renderElement(): JSX.Element {\n return (\n <option value={this.item.value} disabled={!this.item.isEnabled}>\n {this.item.text}\n </option>\n );\n }\n}","import * as React from \"react\";\nimport { RendererFactory, ItemValue } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { SurveyQuestionDropdown } from \"./reactquestion_dropdown\";\nimport { SurveyQuestionOptionItem } from \"./dropdown-item\";\n\nexport class SurveyQuestionDropdownSelect extends SurveyQuestionDropdown {\n constructor(props: any) {\n super(props);\n }\n\n protected renderSelect(cssClasses: any): JSX.Element {\n const click = (event: any) => {\n this.question.onClick(event);\n };\n const keyup = (event: any) => {\n this.question.onKeyUp(event);\n };\n\n const selectElement = this.isDisplayMode ? (\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n <div id={this.question.inputId} className={this.question.getControlClass()} disabled>{this.question.readOnlyText}</div>) :\n (<select\n id={this.question.inputId}\n className={this.question.getControlClass()}\n ref={(select) => (this.setControl(select))}\n autoComplete={this.question.autocomplete}\n onChange={this.updateValueOnEvent}\n onInput={this.updateValueOnEvent}\n onClick={click}\n onKeyUp={keyup}\n aria-required={this.question.ariaRequired}\n aria-label={this.question.ariaLabel}\n aria-invalid={this.question.ariaInvalid}\n aria-describedby={this.question.ariaDescribedBy}\n required={this.question.isRequired}>\n {this.question.allowClear ? (<option value=\"\">{this.question.placeholder}</option>) : null}\n {this.question.visibleChoices.map((item: ItemValue, i: number) => <SurveyQuestionOptionItem key={\"item\" + i} item={item} />)}\n </select>);\n return (\n <div className={cssClasses.selectWrapper}>\n {selectElement}\n {this.createChevronButton()}\n </div>\n );\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"sv-dropdown-select\", (props) => {\n return React.createElement(SurveyQuestionDropdownSelect, props);\n});\n\nRendererFactory.Instance.registerRenderer(\"dropdown\", \"select\", \"sv-dropdown-select\");","import { HashTable } from \"survey-core\";\n\nexport class ReactElementFactory {\n public static Instance: ReactElementFactory = new ReactElementFactory();\n private creatorHash: HashTable<(name: string) => JSX.Element> = {};\n\n public registerElement(\n elementType: string,\n elementCreator: (props: any) => JSX.Element\n ) {\n this.creatorHash[elementType] = elementCreator;\n }\n public getAllTypes(): Array<string> {\n var result = new Array<string>();\n for (var key in this.creatorHash) {\n result.push(key);\n }\n return result.sort();\n }\n public isElementRegistered(elementType: string) {\n return !!this.creatorHash[elementType];\n }\n public createElement(elementType: string, params: any): JSX.Element | any {\n var creator = this.creatorHash[elementType];\n if (creator == null) return null;\n return creator(params);\n }\n}\n","import React from \"react\";\nimport { Question, PanelModel, QuestionPanelDynamicModel } from \"survey-core\";\nimport { SurveyActionBar } from \"./components/action-bar/action-bar\";\nimport { TitleElement } from \"./components/title/title-element\";\nimport { SurveyElementBase } from \"./reactquestion_element\";\n\nexport class SurveyElementHeader extends React.Component<any, any> {\n private get element(): Question | PanelModel {\n return this.props.element;\n }\n public render(): JSX.Element {\n const element = this.element;\n const title = element.hasTitle ? (\n <TitleElement element={element}></TitleElement>\n ) : null;\n const description = element.hasDescriptionUnderTitle\n ? SurveyElementBase.renderQuestionDescription(this.element)\n : null;\n\n const additionalTitleToolbarElement = !!element.additionalTitleToolbar ? <SurveyActionBar model= {element.additionalTitleToolbar}></SurveyActionBar> : null;\n\n return (\n <div className={element.cssHeader} onClick={element.clickTitleFunction}>\n {title}\n {description}\n {additionalTitleToolbarElement}\n </div>\n );\n }\n}","import * as React from \"react\";\nimport { FlowPanelModel, Question } from \"survey-core\";\nimport { ReactElementFactory } from \"./element-factory\";\nimport { SurveyPanel } from \"./panel\";\nimport { SurveyQuestion } from \"./reactquestion\";\n\nexport class SurveyFlowPanel extends SurveyPanel {\n constructor(props: any) {\n super(props);\n }\n public get flowPanel(): FlowPanelModel {\n return this.panel as FlowPanelModel;\n }\n componentDidMount() {\n super.componentDidMount();\n if (!!this.flowPanel) {\n this.flowPanel.onCustomHtmlProducing = function() {\n return \"\";\n };\n this.flowPanel.onGetHtmlForQuestion = this.renderQuestion;\n }\n }\n componentWillUnmount() {\n super.componentWillUnmount();\n if (!!this.flowPanel) {\n this.flowPanel.onCustomHtmlProducing = null as any;\n this.flowPanel.onGetHtmlForQuestion = null as any;\n }\n }\n protected getQuestion(name: string): Question {\n return this.flowPanel.getQuestionByName(name);\n }\n protected renderQuestion(question: Question): string {\n return \"<question>\" + question.name + \"</question>\";\n }\n protected renderRows(): Array<JSX.Element> {\n const result = this.renderHtml();\n if(!!result) {\n return [result];\n } else {\n return [];\n }\n }\n private renderedIndex: number;\n private getNodeIndex(): number {\n return this.renderedIndex++;\n }\n protected renderHtml(): JSX.Element | null {\n if (!this.flowPanel) return null;\n const html = \"<span>\" + this.flowPanel.produceHtml() + \"</span>\";\n if (!DOMParser) {\n const htmlValue = { __html: html };\n return <div dangerouslySetInnerHTML={htmlValue} />;\n }\n const doc = new DOMParser().parseFromString(html, \"text/xml\");\n this.renderedIndex = 0;\n return this.renderParentNode(doc);\n }\n protected renderNodes(domNodes: Array<Node>): Array<JSX.Element> {\n const nodes: Array<JSX.Element> = [];\n for (let i = 0; i < domNodes.length; i++) {\n const node = this.renderNode(domNodes[i]);\n if(!!node) {\n nodes.push(node);\n }\n }\n return nodes;\n }\n private getStyle(nodeType: string) {\n const style: any = {};\n if (nodeType.toLowerCase() === \"b\") {\n style.fontWeight = \"bold\";\n }\n if (nodeType.toLowerCase() === \"i\") {\n style.fontStyle = \"italic\";\n }\n if (nodeType.toLowerCase() === \"u\") {\n style.textDecoration = \"underline\";\n }\n return style;\n }\n protected renderParentNode(node: Node): JSX.Element {\n const nodeType = node.nodeName.toLowerCase();\n const children = this.renderNodes(this.getChildDomNodes(node));\n if (nodeType === \"div\")\n return <div key={this.getNodeIndex()}>{children}</div>;\n return (\n <span key={this.getNodeIndex()} style={this.getStyle(nodeType)}>\n {children}\n </span>\n );\n }\n protected renderNode(node: Node): JSX.Element | null {\n if (!this.hasTextChildNodesOnly(node)) {\n return this.renderParentNode(node);\n }\n const nodeType = node.nodeName.toLowerCase();\n if (nodeType === \"question\") {\n const question = this.flowPanel.getQuestionByName(node.textContent as any);\n if (!question) return null;\n const questionBody = (\n <SurveyQuestion\n key={question.name}\n element={question}\n creator={this.creator}\n css={this.css}\n />\n );\n return <span key={this.getNodeIndex()}>{questionBody}</span>;\n }\n if (nodeType === \"div\") {\n return <div key={this.getNodeIndex()}>{node.textContent}</div>;\n }\n return (\n <span key={this.getNodeIndex()} style={this.getStyle(nodeType)}>\n {node.textContent}\n </span>\n );\n }\n private getChildDomNodes(node: Node): Array<Node> {\n const domNodes: Array<Node> = [];\n for (let i = 0; i < node.childNodes.length; i++) {\n domNodes.push(node.childNodes[i]);\n }\n return domNodes;\n }\n private hasTextChildNodesOnly(node: Node): boolean {\n const nodes = node.childNodes;\n for (let i = 0; i < nodes.length; i++) {\n if (nodes[i].nodeName.toLowerCase() !== \"#text\") return false;\n }\n return true;\n }\n protected renderContent(style: any, rows: JSX.Element[]): JSX.Element {\n return React.createElement(\"f-panel\", { style: style }, rows);\n }\n}\n\nReactElementFactory.Instance.registerElement(\"flowpanel\", props => {\n return React.createElement(SurveyFlowPanel, props);\n});\n","import * as React from \"react\";\nimport { SurveyQuestionElementBase } from \"./reactquestion_element\";\nimport { QuestionImageModel } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { SvgIcon } from \"./components/svg-icon/svg-icon\";\n\nexport class SurveyQuestionImage extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n }\n componentDidMount() {\n super.componentDidMount();\n this.question.locImageLink.onChanged = () => {\n this.forceUpdate();\n };\n }\n componentWillUnmount() {\n super.componentWillUnmount();\n this.question.locImageLink.onChanged = () => { };\n }\n\n protected get question(): QuestionImageModel {\n return this.questionBase as QuestionImageModel;\n }\n\n protected renderElement(): JSX.Element {\n var cssClasses = this.question.getImageCss();\n var style: any = { objectFit: this.question.imageFit, width: this.question.renderedStyleWidth, height: this.question.renderedStyleHeight };\n if(!this.question.imageLink || this.question.contentNotLoaded) {\n style[\"display\"] = \"none\";\n }\n var control: JSX.Element | null = null;\n if (this.question.renderedMode === \"image\") {\n control = (\n <img\n className={cssClasses}\n src={this.question.locImageLink.renderedHtml}\n alt={this.question.altText || this.question.title}\n width={this.question.renderedWidth}\n height={this.question.renderedHeight}\n //alt={item.text || item.value}\n style={style}\n onLoad={(event: any) => { this.question.onLoadHandler(); } }\n onError={(event: any) => { this.question.onErrorHandler(); } }\n />\n );\n }\n if (this.question.renderedMode === \"video\") {\n control = (\n <video controls\n className={cssClasses}\n src={this.question.locImageLink.renderedHtml}\n width={this.question.renderedWidth}\n height={this.question.renderedHeight}\n style={style}\n onLoadedMetadata={(event: any) => { this.question.onLoadHandler(); } }\n onError={(event: any) => { this.question.onErrorHandler(); } }\n ></video>\n );\n }\n if (this.question.renderedMode === \"youtube\") {\n control = (\n <iframe\n className={cssClasses}\n src={this.question.locImageLink.renderedHtml}\n width={this.question.renderedWidth}\n height={this.question.renderedHeight}\n style={style}\n ></iframe>\n );\n }\n var noImage: JSX.Element | null = null;\n if(!this.question.imageLink || this.question.contentNotLoaded) {\n noImage = (\n <div className={this.question.cssClasses.noImage}>\n <SvgIcon\n iconName={this.question.cssClasses.noImageSvgIconId}\n size={48}\n >\n </SvgIcon>\n </div>\n );\n }\n return <div className={this.question.cssClasses.root}>{control}{noImage}</div>;\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"image\", (props) => {\n return React.createElement(SurveyQuestionImage, props);\n});\n","import * as React from \"react\";\nimport { ReactSurveyElement, SurveyElementBase, SurveyQuestionElementBase } from \"./reactquestion_element\";\nimport { QuestionImagePickerModel, ImageItemValue, SurveyModel } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { ReactSurveyElementsWrapper } from \"./reactsurveymodel\";\nimport { SvgIcon } from \"./components/svg-icon/svg-icon\";\n\nexport class SurveyQuestionImagePicker extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n }\n protected get question(): QuestionImagePickerModel {\n return this.questionBase as QuestionImagePickerModel;\n }\n protected renderElement(): JSX.Element {\n var cssClasses = this.question.cssClasses;\n return (\n <fieldset className={this.question.getSelectBaseRootCss()}>\n <legend\n role=\"radio\"\n aria-label={this.question.locTitle.renderedHtml} />\n {this.question.hasColumns ? this.getColumns(cssClasses) : this.getItems(cssClasses)}\n </fieldset>\n );\n }\n\n protected getColumns(cssClasses: any) {\n return this.question.columns.map((column: any, ci: number) => {\n var items = column.map((item: any, ii: number) =>\n this.renderItem(\n \"item\" + ii,\n item,\n cssClasses\n )\n );\n return (\n <div key={\"column\" + ci} className={this.question.getColumnClass()} role=\"presentation\">\n {items}\n </div>\n );\n });\n }\n\n protected getItems(cssClasses: any): Array<any> {\n var items:Array<JSX.Element> = [];\n for (var i = 0; i < this.question.visibleChoices.length; i++) {\n var item = this.question.visibleChoices[i];\n var key = \"item\" + i;\n items.push(this.renderItem(key, item as ImageItemValue, cssClasses));\n }\n return items;\n }\n protected get textStyle(): any {\n return { marginLeft: \"3px\", display: \"inline\", position: \"static\" };\n }\n protected renderItem(\n key: string,\n item: ImageItemValue,\n cssClasses: any\n ): JSX.Element {\n const renderedItem = <SurveyQuestionImagePickerItem key={key} question={this.question} item={item} cssClasses={cssClasses}></SurveyQuestionImagePickerItem>;\n const survey = this.question.survey as SurveyModel;\n let wrappedItem: JSX.Element | null = null;\n if(!!survey) {\n wrappedItem = ReactSurveyElementsWrapper.wrapItemValue(survey, renderedItem, this.question, item);\n }\n return wrappedItem ?? renderedItem;\n }\n}\nexport class SurveyQuestionImagePickerItem extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n this.handleOnChange = this.handleOnChange.bind(this);\n }\n protected getStateElement() {\n return this.item;\n }\n componentDidMount() {\n super.componentDidMount();\n this.reactOnStrChanged();\n }\n componentWillUnmount() {\n super.componentWillUnmount();\n this.item.locImageLink.onChanged = function () {};\n }\n componentDidUpdate(prevProps: any, prevState: any) {\n super.componentDidUpdate(prevProps, prevState);\n this.reactOnStrChanged();\n }\n private reactOnStrChanged() {\n this.item.locImageLink.onChanged = () => {\n this.setState({ locImageLinkchanged: !!this.state && this.state.locImageLink ? this.state.locImageLink + 1 : 1 });\n };\n }\n protected get cssClasses() {\n return this.props.cssClasses;\n }\n\n protected get item() {\n return this.props.item;\n }\n\n protected get question() {\n return this.props.question;\n }\n\n handleOnChange(event: any) {\n if (this.question.multiSelect) {\n if (event.target.checked) {\n this.question.value = this.question.value.concat(event.target.value);\n } else {\n var currValue = this.question.value;\n currValue.splice(this.question.value.indexOf(event.target.value), 1);\n this.question.value = currValue;\n }\n } else {\n this.question.value = event.target.value;\n }\n this.setState({ value: this.question.value });\n }\n\n protected renderElement(): JSX.Element {\n const item = this.item;\n const question = this.question;\n const cssClasses = this.cssClasses;\n var isChecked = question.isItemSelected(item);\n var itemClass = question.getItemClass(item);\n var text: JSX.Element | null = null;\n if (question.showLabel) {\n text = (\n <span\n className={question.cssClasses.itemText}\n >\n {item.text ? SurveyElementBase.renderLocString(item.locText) : item.value}\n </span>\n );\n }\n\n var style: any = { objectFit: this.question.imageFit };\n\n var control: JSX.Element | null = null;\n if (item.locImageLink.renderedHtml && this.question.contentMode === \"image\") {\n control = (\n <img\n className={cssClasses.image}\n src={item.locImageLink.renderedHtml}\n width={ this.question.renderedImageWidth }\n height={ this.question.renderedImageHeight }\n alt={item.locText.renderedHtml}\n style={style}\n onLoad={(event: any) => { this.question[\"onContentLoaded\"](item, event.nativeEvent); }}\n onError={(event: any) => { item.onErrorHandler(item, event.nativeEvent); }}\n />\n );\n }\n if (item.locImageLink.renderedHtml && this.question.contentMode === \"video\") {\n control = (\n <video controls\n className={cssClasses.image}\n src={item.locImageLink.renderedHtml}\n width={ this.question.renderedImageWidth }\n height={ this.question.renderedImageHeight }\n style={style}\n onLoadedMetadata={(event: any) => { this.question[\"onContentLoaded\"](item, event.nativeEvent); }}\n onError={(event: any) => { item.onErrorHandler(item, event.nativeEvent); }}\n ></video>\n );\n }\n if (!item.locImageLink.renderedHtml || item.contentNotLoaded) {\n let style: any = {\n width: this.question.renderedImageWidth,\n height: this.question.renderedImageHeight,\n objectFit: this.question.imageFit\n };\n control = (\n <div\n className={cssClasses.itemNoImage}\n style={style}\n >\n {\n cssClasses.itemNoImageSvgIcon ?\n <SvgIcon\n className={cssClasses.itemNoImageSvgIcon}\n iconName={this.question.cssClasses.itemNoImageSvgIconId}\n size={48}\n ></SvgIcon>:\n null\n }\n </div>\n );\n }\n\n const renderedItem = (\n <div className={itemClass}>\n <label className={cssClasses.label}>\n <input\n className={cssClasses.itemControl}\n id={this.question.getItemId(item)}\n type={this.question.inputType}\n name={this.question.questionName}\n checked={isChecked}\n value={item.value}\n disabled={!this.question.getItemEnabled(item)}\n onChange={this.handleOnChange}\n aria-required={this.question.ariaRequired}\n aria-label={this.question.ariaLabel}\n aria-invalid={this.question.ariaInvalid}\n aria-describedby={this.question.ariaDescribedBy}\n />\n <div className={this.question.cssClasses.itemDecorator}>\n <div className={this.question.cssClasses.imageContainer}>\n {!!this.question.cssClasses.checkedItemDecorator ?\n <span className={this.question.cssClasses.checkedItemDecorator }>\n {!!this.question.cssClasses.checkedItemSvgIconId ? <SvgIcon size={\"auto\"} className={this.question.cssClasses.checkedItemSvgIcon} iconName={this.question.cssClasses.checkedItemSvgIconId}></SvgIcon> : null}\n </span> : null}\n {control}\n </div>\n {text}\n </div>\n </label>\n </div>\n );\n return renderedItem;\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"imagepicker\", (props) => {\n return React.createElement(SurveyQuestionImagePicker, props);\n});\n","import * as React from \"react\";\nimport { PageModel, PanelModelBase } from \"survey-core\";\nimport { SurveyElementBase } from \"./reactquestion_element\";\nimport { SurveyPanelBase } from \"./panel-base\";\nimport { TitleElement } from \"./components/title/title-element\";\n\nexport class SurveyPage extends SurveyPanelBase {\n constructor(props: any) {\n super(props);\n }\n protected getPanelBase(): PanelModelBase {\n return this.props.page;\n }\n public get page(): PageModel {\n return this.panelBase as PageModel;\n }\n protected renderElement(): JSX.Element {\n var title = this.renderTitle();\n var description = this.renderDescription();\n var rows = this.renderRows(this.panelBase.cssClasses);\n return (\n <div ref={this.rootRef} className={this.page.cssRoot}>\n {title}\n {description}\n {rows}\n </div >\n );\n }\n protected renderTitle(): JSX.Element {\n return <TitleElement element={this.page}></TitleElement>;\n }\n protected renderDescription(): JSX.Element | null {\n if (!this.page._showDescription) return null;\n var text = SurveyElementBase.renderLocString(this.page.locDescription);\n return (\n <div className={this.panelBase.cssClasses.page.description}>{text}</div>\n );\n }\n}\n","import * as React from \"react\";\nimport { ISurveyCreator } from \"./reactquestion\";\nimport { Base, SurveyModel, QuestionRowModel, PanelModel, PanelModelBase } from \"survey-core\";\nimport { SurveyElementBase } from \"./reactquestion_element\";\nimport { SurveyRow } from \"./row\";\n\nexport class SurveyPanelBase extends SurveyElementBase<any, any> {\n protected rootRef: React.RefObject<HTMLDivElement>;\n constructor(props: any) {\n super(props);\n this.rootRef = React.createRef();\n }\n protected getStateElement(): Base {\n return this.panelBase;\n }\n protected canUsePropInState(key: string): boolean {\n return key !== \"elements\" && super.canUsePropInState(key);\n }\n protected get survey(): SurveyModel | null {\n return this.getSurvey();\n }\n protected get creator(): ISurveyCreator {\n return this.props.creator;\n }\n protected get css(): any {\n return this.getCss();\n }\n public get panelBase(): PanelModelBase {\n return this.getPanelBase();\n }\n protected getPanelBase(): PanelModelBase {\n return this.props.element || this.props.question;\n }\n protected getSurvey(): SurveyModel | null {\n return (\n this.props.survey || (!!this.panelBase ? this.panelBase.survey : null)\n );\n }\n protected getCss(): any {\n return this.props.css;\n }\n componentDidMount() {\n super.componentDidMount();\n this.doAfterRender();\n }\n componentWillUnmount() {\n super.componentWillUnmount();\n var el = this.rootRef.current;\n if (!!el) {\n el.removeAttribute(\"data-rendered\");\n }\n }\n componentDidUpdate(prevProps: any, prevState: any) {\n super.componentDidUpdate(prevProps, prevState);\n if (\n !!prevProps.page &&\n !!this.survey &&\n !!this.survey.currentPage &&\n prevProps.page.id === this.survey.currentPage.id\n )\n return;\n this.doAfterRender();\n }\n private doAfterRender() {\n var el = this.rootRef.current;\n if (el && this.survey) {\n if (this.panelBase.isPanel) {\n this.survey.afterRenderPanel(this.panelBase as PanelModel, el);\n } else {\n this.survey.afterRenderPage(el);\n }\n }\n }\n protected canRender(): boolean {\n return (\n super.canRender() && !!this.survey && !!this.panelBase\n && this.panelBase.isVisible && !!this.panelBase.survey\n );\n }\n private renderedRowsCache: any = {};\n protected renderRows(css: any): Array<JSX.Element> {\n if (this.changedStatePropName !== \"rows\") {\n this.renderedRowsCache = {};\n }\n var rows:Array<JSX.Element> = [];\n var questionRows = this.panelBase.rows;\n for (var i = 0; i < questionRows.length; i++) {\n var row = this.renderedRowsCache[questionRows[i].id];\n if (!row) {\n row = this.createRow(questionRows[i], css);\n this.renderedRowsCache[questionRows[i].id] = row;\n }\n rows.push(row);\n }\n return rows;\n }\n protected createRow(row: QuestionRowModel, css: any): JSX.Element {\n return (\n <SurveyRow\n key={row.id}\n row={row}\n survey={this.survey}\n creator={this.creator}\n css={css}\n />\n );\n }\n}\n","import * as React from \"react\";\nimport { SurveyElementErrors } from \"./reactquestion\";\nimport { SurveyElementBase } from \"./reactquestion_element\";\nimport { ReactElementFactory } from \"./element-factory\";\n\nimport { SurveyPanelBase } from \"./panel-base\";\nimport { PanelModel, doKey2ClickUp, SurveyModel } from \"survey-core\";\nimport { ReactSurveyElementsWrapper } from \"./reactsurveymodel\";\nimport { SurveyActionBar } from \"./components/action-bar/action-bar\";\nimport { TitleElement } from \"./components/title/title-element\";\nimport { SurveyElementHeader } from \"./element-header\";\n\nexport class SurveyPanel extends SurveyPanelBase {\n private hasBeenExpanded: boolean = false;\n constructor(props: any) {\n super(props);\n }\n public get panel(): PanelModel {\n return this.panelBase as PanelModel;\n }\n protected renderElement(): JSX.Element {\n const header = this.renderHeader();\n const errors = (\n <SurveyElementErrors\n element={this.panelBase}\n cssClasses={this.panelBase.cssClasses}\n creator={this.creator}\n />\n );\n const style = {\n paddingLeft: this.panel.innerPaddingLeft,\n display: !this.panel.isCollapsed ? undefined : \"none\",\n };\n let content: JSX.Element | null = null;\n if (!this.panel.isCollapsed || this.hasBeenExpanded) {\n this.hasBeenExpanded = true;\n const rows: JSX.Element[] = this.renderRows(this.panelBase.cssClasses);\n const className: string = this.panelBase.cssClasses.panel.content;\n content = this.renderContent(style, rows, className);\n }\n const focusIn = () => {\n if(this.panelBase) (this.panelBase as PanelModel).focusIn();\n };\n return (\n <div\n ref={this.rootRef}\n className={(this.panelBase as PanelModel).getContainerCss()}\n onFocus={focusIn}\n id={this.panelBase.id}\n\n >\n {this.panel.showErrorsAbovePanel ? errors : null}\n {header}\n {this.panel.showErrorsAbovePanel ? null : errors}\n {content}\n </div>\n );\n }\n protected renderHeader() {\n if (!this.panel.hasTitle && !this.panel.hasDescription) {\n return null;\n }\n return <SurveyElementHeader element={this.panel}></SurveyElementHeader>;\n }\n protected wrapElement(element: JSX.Element): JSX.Element {\n const survey: SurveyModel = this.panel.survey as SurveyModel;\n let wrapper: JSX.Element | null = null;\n if (survey) {\n wrapper = ReactSurveyElementsWrapper.wrapElement(survey, element, this.panel);\n }\n return wrapper ?? element;\n }\n protected renderContent(style: any, rows: JSX.Element[], className: string): JSX.Element {\n const bottom: JSX.Element | null = this.renderBottom();\n return (\n <div style={style} className={className} id={this.panel.contentId}>\n {rows}\n {bottom}\n </div>\n );\n }\n protected renderTitle(): JSX.Element | null {\n if (!this.panelBase.title) return null;\n return <TitleElement element={this.panelBase}></TitleElement>;\n }\n protected renderDescription(): JSX.Element | null {\n if (!this.panelBase.description) return null;\n var text = SurveyElementBase.renderLocString(this.panelBase.locDescription);\n return (\n <div className={this.panel.cssClasses.panel.description}>{text}</div>\n );\n }\n protected renderBottom(): JSX.Element | null {\n const footerToolbar = this.panel.getFooterToolbar();\n if (!footerToolbar.hasActions) return null;\n return <SurveyActionBar model={footerToolbar}></SurveyActionBar>;\n }\n}\n\nReactElementFactory.Instance.registerElement(\"panel\", (props) => {\n return React.createElement(SurveyPanel, props);\n});\n","import * as React from \"react\";\nimport { QuestionRatingModel, RendererFactory } from \"survey-core\";\nimport { SurveyQuestionDropdownBase } from \"./dropdown-base\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\n\nexport class SurveyQuestionRatingDropdown extends SurveyQuestionDropdownBase<QuestionRatingModel> {\n constructor(props: any) {\n super(props);\n }\n protected renderElement(): JSX.Element {\n var cssClasses = this.question.cssClasses;\n var select = this.renderSelect(cssClasses);\n return (\n <div className={this.question.cssClasses.rootDropdown}>\n {select}\n </div>\n );\n }\n}\nReactQuestionFactory.Instance.registerQuestion(\n \"sv-rating-dropdown\",\n (props) => {\n return React.createElement(SurveyQuestionRatingDropdown, props);\n }\n);\n\nRendererFactory.Instance.registerRenderer(\n \"rating\",\n \"dropdown\",\n \"sv-rating-dropdown\"\n);\n","import * as React from \"react\";\nimport { Survey } from \"./reactSurvey\";\nimport { SurveyElementBase } from \"./reactquestion_element\";\nimport { Base, PopupSurveyModel } from \"survey-core\";\nimport { SvgIcon } from \"./components/svg-icon/svg-icon\";\n\nexport class PopupSurvey extends Survey {\n protected popup: PopupSurveyModel;\n constructor(props: any) {\n super(props);\n this.handleOnExpanded = this.handleOnExpanded.bind(this);\n }\n protected getStateElements(): Array<Base> {\n return [this.popup, this.popup.survey];\n }\n handleOnExpanded(event: any) {\n this.popup.changeExpandCollapse();\n }\n protected canRender(): boolean {\n return super.canRender() && this.popup.isShowing;\n }\n protected renderElement(): JSX.Element {\n var header = this.renderWindowHeader();\n var body = this.popup.isExpanded ? this.renderBody() : null;\n let style: React.CSSProperties = {\n position: \"fixed\",\n bottom: 3,\n right: 10\n };\n if (!!this.popup.renderedWidth) {\n style.width = this.popup.renderedWidth;\n style.maxWidth = this.popup.renderedWidth;\n }\n return (\n <div className={this.popup.cssRoot} style={style}>\n {header}\n {body}\n </div>\n );\n }\n protected renderWindowHeader(): JSX.Element {\n var styleA = { width: \"100%\", cursor: \"pointer\" };\n var styleTitle = { paddingRight: \"10px\" };\n var glyphClassName = this.popup.cssButton;\n glyphClassName = \"glyphicon pull-right \" + glyphClassName;\n var title = SurveyElementBase.renderLocString(this.survey.locTitle);\n return (\n <div className={this.popup.cssHeaderRoot}>\n <span onClick={this.handleOnExpanded} style={styleA}>\n <span className={this.popup.cssHeaderTitle} style={styleTitle}>\n {title}\n </span>\n <span className={glyphClassName} aria-hidden=\"true\" />\n </span>\n {this.popup.allowClose ? (\n <span\n className={this.popup.cssHeaderButton}\n onClick={() => { this.popup.hide(); }}\n style={{ transform: \"rotate(45deg)\", float: \"right\", cursor: \"pointer\", width: \"24px\", height: \"24px\" }}\n >\n <SvgIcon iconName={\"icon-expanddetail\"} size={16}>\n </SvgIcon>\n </span>\n ) : null}\n {this.popup.isExpanded ? (\n <span\n className={this.popup.cssHeaderButton}\n onClick={this.handleOnExpanded}\n style={{ float: \"right\", cursor: \"pointer\", width: \"24px\", height: \"24px\" }}\n >\n <SvgIcon iconName={\"icon-collapsedetail\"} size={16}>\n </SvgIcon>\n </span>\n ) : null}\n </div>\n );\n }\n protected renderBody(): JSX.Element {\n return <div className={this.popup.cssBody} onScroll={() => this.popup.onScroll()}>{this.doRender()}</div>;\n }\n protected createSurvey(newProps: any) {\n if (!newProps) newProps = {};\n super.createSurvey(newProps);\n this.popup = new PopupSurveyModel(null, this.survey);\n if (newProps.closeOnCompleteTimeout) {\n this.popup.closeOnCompleteTimeout = newProps.closeOnCompleteTimeout;\n }\n this.popup.allowClose = newProps.allowClose;\n this.popup.isShowing = true;\n if (!this.popup.isExpanded && (newProps.expanded || newProps.isExpanded))\n this.popup.expand();\n }\n}\n/**\n * Obsolete. Please use PopupSurvey\n */\nexport class SurveyWindow extends PopupSurvey {}\n","import * as React from \"react\";\nimport { Base, Question, PageModel, SurveyError, StylesManager, surveyCss, Helpers, doKey2ClickUp, SvgRegistry, SurveyModel, doKey2ClickBlur, doKey2ClickDown, IAttachKey2clickOptions } from \"survey-core\";\nimport { SurveyPage } from \"./page\";\nimport { ISurveyCreator } from \"./reactquestion\";\nimport { SurveyElementBase } from \"./reactquestion_element\";\nimport { SurveyLocStringViewer } from \"./string-viewer\";\nimport { SurveyHeader } from \"./components/survey-header/survey-header\";\nimport { SurveyTimerPanel } from \"./reacttimerpanel\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { ReactElementFactory } from \"./element-factory\";\nimport { SurveyActionBar } from \"./components/action-bar/action-bar\";\nimport { BrandInfo } from \"./components/brand-info\";\nimport { NotifierComponent } from \"./components/notifier\";\nimport { ComponentsContainer } from \"./components/components-container\";\n\nexport class Survey extends SurveyElementBase<any, any>\n implements ISurveyCreator {\n private previousJSON = {};\n private rootRef: React.RefObject<HTMLDivElement>;\n public static get cssType(): string {\n return surveyCss.currentType;\n }\n public static set cssType(value: string) {\n StylesManager.applyTheme(value);\n }\n protected survey: SurveyModel;\n\n private rootNodeId: string; // root dom node ID attr\n private rootNodeClassName: string; // root dom node class\n\n constructor(props: any) {\n super(props);\n this.createSurvey(props);\n this.updateSurvey(props, {});\n this.rootRef = React.createRef();\n this.rootNodeId = props.id || null;\n this.rootNodeClassName = props.className || \"\";\n }\n protected getStateElement(): Base {\n return this.survey;\n }\n private isSurveyUpdated = false;\n private onSurveyUpdated() {\n if (!!this.survey) {\n const el = this.rootRef.current;\n if (!!el) this.survey.afterRenderSurvey(el);\n this.survey.startTimerFromUI();\n }\n }\n shouldComponentUpdate(nextProps: any, nextState: any) {\n if (!super.shouldComponentUpdate(nextProps, nextState)) return false;\n if (this.isModelJSONChanged(nextProps)) {\n this.destroySurvey();\n this.createSurvey(nextProps);\n this.updateSurvey(nextProps, {});\n this.isSurveyUpdated = true;\n }\n return true;\n }\n componentDidUpdate(prevProps: any, prevState: any) {\n super.componentDidUpdate(prevProps, prevState);\n this.updateSurvey(this.props, prevProps);\n if(this.isSurveyUpdated) {\n this.onSurveyUpdated();\n this.isSurveyUpdated = false;\n }\n }\n componentDidMount() {\n super.componentDidMount();\n this.onSurveyUpdated();\n }\n destroySurvey() {\n if (this.survey) {\n this.survey.stopTimer();\n this.survey.destroyResizeObserver();\n }\n }\n componentWillUnmount() {\n super.componentWillUnmount();\n this.destroySurvey();\n }\n doRender(): JSX.Element {\n if(this.survey[\"needRenderIcons\"]) {\n SvgRegistry.renderIcons();\n }\n let renderResult: JSX.Element | null;\n if (this.survey.state == \"completed\") {\n renderResult = this.renderCompleted();\n } else if (this.survey.state == \"completedbefore\") {\n renderResult = this.renderCompletedBefore();\n } else if (this.survey.state == \"loading\") {\n renderResult = this.renderLoading();\n } else {\n renderResult = this.renderSurvey();\n }\n const backgroundImage = !!this.survey.renderBackgroundImage ? <div className={this.css.rootBackgroundImage} style={this.survey.backgroundImageStyle}></div> : null;\n const header: JSX.Element = <SurveyHeader survey={this.survey}></SurveyHeader>;\n const onSubmit = function (event: React.FormEvent<HTMLFormElement>) {\n event.preventDefault();\n };\n let customHeader: JSX.Element | null = <div className=\"sv_custom_header\" />;\n if (this.survey.hasLogo) {\n customHeader = null;\n }\n const rootCss = this.survey.getRootCss();\n const cssClasses = this.rootNodeClassName ? this.rootNodeClassName + \" \" + rootCss : rootCss;\n\n return (\n <div id={this.rootNodeId} ref={this.rootRef} className={cssClasses} style={this.survey.themeVariables}>\n {backgroundImage}\n <form onSubmit={onSubmit}>\n {customHeader}\n <div className={this.css.container}>\n {header}\n <ComponentsContainer survey={this.survey} container={\"header\"} needRenderWrapper={false}></ComponentsContainer>\n {renderResult}\n <ComponentsContainer survey={this.survey} container={\"footer\"} needRenderWrapper={false}></ComponentsContainer>\n </div>\n </form>\n { this.survey.showBrandInfo ? <BrandInfo/> : null }\n <NotifierComponent notifier={this.survey.notifier} ></NotifierComponent>\n </div>\n );\n }\n protected renderElement(): JSX.Element {\n return this.doRender();\n }\n public get css(): any {\n return this.survey.css;\n }\n public set css(value: any) {\n this.survey.css = value;\n }\n protected renderCompleted(): JSX.Element | null {\n if (!this.survey.showCompletedPage) return null;\n\n var htmlValue = { __html: this.survey.processedCompletedHtml };\n return (\n <React.Fragment>\n <div\n dangerouslySetInnerHTML={htmlValue}\n className={this.survey.completedCss}\n />\n </React.Fragment>\n );\n }\n protected renderCompletedBefore(): JSX.Element {\n var htmlValue = { __html: this.survey.processedCompletedBeforeHtml };\n return (\n <div dangerouslySetInnerHTML={htmlValue} className={this.css.body} />\n );\n }\n protected renderLoading(): JSX.Element {\n var htmlValue = { __html: this.survey.processedLoadingHtml };\n return (\n <div dangerouslySetInnerHTML={htmlValue} className={this.css.body} />\n );\n }\n protected renderSurvey(): JSX.Element {\n var activePage = this.survey.activePage\n ? this.renderPage(this.survey.activePage)\n : null;\n const isStaring = this.survey.isShowStartingPage;\n var pageId = this.survey.activePage ? this.survey.activePage.id : \"\";\n\n let className = this.survey.bodyCss;\n if (!activePage) {\n className = this.css.bodyEmpty;\n activePage = this.renderEmptySurvey();\n }\n const style: any = {};\n if(!!this.survey.renderedWidth) {\n style.maxWidth = this.survey.renderedWidth;\n }\n return (\n <div className={this.survey.bodyContainerCss}>\n <ComponentsContainer survey={this.survey} container={\"left\"}></ComponentsContainer>\n <div\n id={pageId}\n className={className}\n style={style}\n >\n <ComponentsContainer survey={this.survey} container={\"contentTop\"}></ComponentsContainer>\n {activePage}\n <ComponentsContainer survey={this.survey} container={\"contentBottom\"}></ComponentsContainer>\n </div>\n <ComponentsContainer survey={this.survey} container={\"right\"}></ComponentsContainer>\n </div>\n );\n }\n protected renderPage(page: PageModel): JSX.Element {\n return (\n <SurveyPage\n survey={this.survey}\n page={page}\n css={this.css}\n creator={this}\n />\n );\n }\n protected renderEmptySurvey(): JSX.Element {\n return <span>{this.survey.emptySurveyText}</span>;\n }\n protected createSurvey(newProps: any) {\n if (!newProps) newProps = {};\n this.previousJSON = {};\n if (newProps) {\n if (newProps.model) {\n this.survey = newProps.model;\n } else {\n if (newProps.json) {\n this.previousJSON = newProps.json;\n this.survey = new SurveyModel(newProps.json);\n }\n }\n } else {\n this.survey = new SurveyModel();\n }\n if (!!newProps.css) {\n this.survey.css = this.css;\n }\n this.setSurveyEvents();\n }\n private isModelJSONChanged(newProps: any): boolean {\n if (!!newProps[\"model\"]) {\n return this.survey !== newProps[\"model\"];\n }\n if (!!newProps[\"json\"]) {\n return !Helpers.isTwoValueEquals(newProps[\"json\"], this.previousJSON);\n }\n return false;\n }\n protected updateSurvey(newProps: any, oldProps?: any) {\n if (!newProps) return;\n oldProps = oldProps || {};\n for (var key in newProps) {\n if (key == \"model\" || key == \"children\" || key == \"json\") {\n continue;\n }\n if (key == \"css\") {\n this.survey.mergeValues(newProps.css, this.survey.getCss());\n this.survey[\"updateNavigationCss\"]();\n this.survey[\"updateElementCss\"]();\n continue;\n }\n if (newProps[key] === oldProps[key]) continue;\n if (key.indexOf(\"on\") == 0 && this.survey[key] && this.survey[key].add) {\n if (!!oldProps[key]) {\n this.survey[key].remove(oldProps[key]);\n }\n this.survey[key].add(newProps[key]);\n } else {\n this.survey[key] = newProps[key];\n }\n }\n }\n protected setSurveyEvents() {\n var self = this;\n\n this.survey.renderCallback = function () {\n var counter =\n !!self.state && !!self.state.modelChanged ? self.state.modelChanged : 0;\n self.setState({ modelChanged: counter + 1 });\n };\n this.survey.onPartialSend.add((sender) => {\n if (!!self.state) {\n self.setState(self.state);\n }\n });\n }\n\n //ISurveyCreator\n public createQuestionElement(question: Question): JSX.Element | null {\n return ReactQuestionFactory.Instance.createQuestion(question.isDefaultRendering() ? question.getTemplate() : question.getComponentName(),\n {\n question: question,\n isDisplayMode: question.isInputReadOnly,\n creator: this,\n }\n );\n }\n public renderError(\n key: string,\n error: SurveyError,\n cssClasses: any\n ): JSX.Element {\n return (\n <div key={key}>\n <span className={cssClasses.error.icon || undefined} aria-hidden=\"true\" />\n <span className={cssClasses.error.item || undefined}>\n <SurveyLocStringViewer locStr={error.locText} />\n </span>\n </div>\n );\n }\n public questionTitleLocation(): string {\n return this.survey.questionTitleLocation;\n }\n public questionErrorLocation(): string {\n return this.survey.questionErrorLocation;\n }\n}\n\nReactElementFactory.Instance.registerElement(\"survey\", (props) => {\n return React.createElement(Survey, props);\n});\n\nexport function attachKey2click(element: JSX.Element, viewModel?: any, options: IAttachKey2clickOptions = { processEsc: true, disableTabStop: false }): JSX.Element {\n if ((!!viewModel && viewModel.disableTabStop) || (!!options && options.disableTabStop)) {\n return React.cloneElement(element, { tabIndex: -1 });\n }\n options = { ...options };\n return React.cloneElement(\n element,\n {\n tabIndex: 0,\n onKeyUp: (evt: KeyboardEvent) => {\n evt.preventDefault();\n evt.stopPropagation();\n doKey2ClickUp(evt, options);\n return false;\n },\n onKeyDown: (evt: any) => doKey2ClickDown(evt, options),\n onBlur: (evt: any) => doKey2ClickBlur(evt)\n }\n );\n}","import * as React from \"react\";\nimport { SurveyModel } from \"survey-core\";\n\nexport class SurveyNavigationBase extends React.Component<any, any> {\n constructor(props: any) {\n super(props);\n this.state = { update: 0 };\n }\n protected get survey(): SurveyModel {\n return this.props.survey;\n }\n protected get css(): any {\n return this.props.css || this.survey.css;\n }\n private updateStateFunction: any = null;\n componentDidMount() {\n if (this.survey) {\n var self = this;\n this.updateStateFunction = function () {\n self.setState({ update: self.state.update + 1 });\n };\n this.survey.onPageVisibleChanged.add(this.updateStateFunction);\n }\n }\n componentWillUnmount() {\n if (this.survey && this.updateStateFunction) {\n this.survey.onPageVisibleChanged.remove(this.updateStateFunction);\n this.updateStateFunction = null;\n }\n }\n}\n","import * as React from \"react\";\nimport { SurveyProgressModel } from \"survey-core\";\nimport { SurveyNavigationBase } from \"./reactSurveyNavigationBase\";\nimport { ReactElementFactory } from \"./element-factory\";\n\nexport class SurveyProgress extends SurveyNavigationBase {\n constructor(props: any) {\n super(props);\n }\n protected get isTop(): boolean {\n return this.props.isTop;\n }\n protected get progress(): number {\n return this.survey.progressValue;\n }\n protected get progressText(): string {\n return this.survey.progressText;\n }\n render(): JSX.Element {\n var progressStyle = {\n width: this.progress + \"%\",\n };\n return (\n <div className={this.survey.getProgressCssClasses()}>\n <div\n style={progressStyle}\n className={this.css.progressBar}\n role=\"progressbar\"\n aria-valuemin={0}\n aria-valuemax={100}\n >\n <span\n className={SurveyProgressModel.getProgressTextInBarCss(this.css)}\n >\n {this.progressText}\n </span>\n </div>\n <span\n className={SurveyProgressModel.getProgressTextUnderBarCss(this.css)}\n >\n {this.progressText}\n </span>\n </div>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-progress-pages\", props => {\n return React.createElement(SurveyProgress, props);\n});\nReactElementFactory.Instance.registerElement(\"sv-progress-questions\", props => {\n return React.createElement(SurveyProgress, props);\n});\nReactElementFactory.Instance.registerElement(\n \"sv-progress-correctquestions\",\n props => {\n return React.createElement(SurveyProgress, props);\n }\n);\nReactElementFactory.Instance.registerElement(\n \"sv-progress-requiredquestions\",\n props => {\n return React.createElement(SurveyProgress, props);\n }\n);\n","import * as React from \"react\";\nimport { SurveyProgressButtonsModel, PageModel } from \"survey-core\";\nimport { SurveyNavigationBase } from \"./reactSurveyNavigationBase\";\nimport { ReactElementFactory } from \"./element-factory\";\n\nexport class SurveyProgressButtons extends SurveyNavigationBase {\n private progressButtonsModel: SurveyProgressButtonsModel;\n private updateScroller: any = undefined;\n private listContainerRef: React.RefObject<HTMLDivElement>;\n constructor(props: any) {\n super(props);\n this.progressButtonsModel = new SurveyProgressButtonsModel(this.survey);\n this.listContainerRef = React.createRef();\n }\n render(): JSX.Element {\n return (\n <div className={this.css.progressButtonsContainerCenter}>\n <div className={this.css.progressButtonsContainer}>\n <div\n className={this.getScrollButtonCss(true)}\n role=\"button\"\n onClick={() =>\n this.clickScrollButton(this.listContainerRef.current, true)\n }\n ></div>\n <div\n className={this.css.progressButtonsListContainer}\n ref={this.listContainerRef}\n >\n <ul className={this.css.progressButtonsList}>\n {this.getListElements()}\n </ul>\n </div>\n <div\n className={this.getScrollButtonCss(false)}\n role=\"button\"\n onClick={() =>\n this.clickScrollButton(this.listContainerRef.current, false)\n }\n ></div>\n </div>\n </div>\n );\n }\n protected getListElements(): JSX.Element[] {\n let buttons: JSX.Element[] = [];\n this.survey.visiblePages.forEach((page: PageModel, index: number) => {\n buttons.push(this.renderListElement(page, index));\n });\n return buttons;\n }\n protected renderListElement(page: PageModel, index: number): JSX.Element {\n return (\n <li\n key={\"listelement\" + index}\n className={this.getListElementCss(index)}\n onClick={\n this.isListElementClickable(index)\n ? () => this.clickListElement(index)\n : undefined\n }\n >\n <div\n className={this.css.progressButtonsPageTitle}\n title={page.navigationTitle || page.name}\n >\n {page.navigationTitle || page.name}\n </div>\n <div\n className={this.css.progressButtonsPageDescription}\n title={page.navigationDescription}\n >\n {page.navigationDescription}\n </div>\n </li>\n );\n }\n protected isListElementClickable(index: number): boolean {\n return this.progressButtonsModel.isListElementClickable(index);\n }\n protected getListElementCss(index: number): string {\n return this.progressButtonsModel.getListElementCss(index);\n }\n protected clickListElement(index: number): void {\n this.progressButtonsModel.clickListElement(index);\n }\n protected getScrollButtonCss(isLeftScroll: boolean): string {\n return this.progressButtonsModel.getScrollButtonCss(this.state.hasScroller, isLeftScroll);\n }\n protected clickScrollButton(\n listContainerElement: Element | null,\n isLeftScroll: boolean\n ): void {\n if(!!listContainerElement) {\n listContainerElement.scrollLeft += (isLeftScroll ? -1 : 1) * 70;\n }\n }\n componentDidMount() {\n this.updateScroller = setInterval(() => {\n if(!!this.listContainerRef.current) {\n this.setState({ hasScroller: this.listContainerRef.current.scrollWidth > this.listContainerRef.current.offsetWidth, });\n }\n }, 100);\n }\n componentWillUnmount() {\n if (typeof this.updateScroller !== \"undefined\") {\n clearInterval(this.updateScroller);\n this.updateScroller = undefined;\n }\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-progress-buttons\", (props) => {\n return React.createElement(SurveyProgressButtons, props);\n});\n","import * as React from \"react\";\nimport { createTOCListModel, getTocRootCss, TOCModel } from \"survey-core\";\nimport { SurveyNavigationBase } from \"./reactSurveyNavigationBase\";\nimport { ReactElementFactory } from \"./element-factory\";\nimport { List } from \"./components/list/list\";\nimport { Popup } from \"./components/popup/popup\";\nimport { SvgIcon } from \"./components/svg-icon/svg-icon\";\n\nexport class SurveyProgressToc extends SurveyNavigationBase {\n render(): JSX.Element {\n const tocModel = new TOCModel(this.props.model);\n let content: JSX.Element;\n if(tocModel.isMobile) {\n content = <div onClick={tocModel.togglePopup}>\n <SvgIcon iconName={tocModel.icon} size={24}/>\n <Popup model={tocModel.popupModel}/>\n </div>;\n } else {\n content = <List model={tocModel.listModel} />;\n }\n return (\n <div className={tocModel.containerCss}>\n {content}\n </div>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-progress-toc\", (props) => {\n return React.createElement(SurveyProgressToc, props);\n});\n","import * as React from \"react\";\nimport {\n Base,\n SurveyElement,\n SurveyError,\n Question,\n QuestionMatrixDropdownRenderedCell,\n TooltipManager,\n SurveyModel\n} from \"survey-core\";\nimport { ReactSurveyElementsWrapper } from \"./reactsurveymodel\";\nimport { ReactElementFactory } from \"./element-factory\";\nimport { SurveyElementBase, ReactSurveyElement } from \"./reactquestion_element\";\nimport { SurveyQuestionCommentItem } from \"./reactquestion_comment\";\nimport { SurveyCustomWidget } from \"./custom-widget\";\nimport { SurveyElementHeader } from \"./element-header\";\n\nexport interface ISurveyCreator {\n createQuestionElement(question: Question): JSX.Element | null;\n renderError(key: string, error: SurveyError, cssClasses: any): JSX.Element;\n questionTitleLocation(): string;\n questionErrorLocation(): string;\n}\n\nexport class SurveyQuestion extends SurveyElementBase<any, any> {\n private isNeedFocus = false;\n public static renderQuestionBody(\n creator: ISurveyCreator,\n question: Question\n ): JSX.Element | any {\n if (!question.isVisible) return null;\n var customWidget = question.customWidget;\n if (!customWidget) {\n return creator.createQuestionElement(question);\n }\n return <SurveyCustomWidget creator={creator} question={question} />;\n }\n private rootRef: React.RefObject<HTMLDivElement>;\n constructor(props: any) {\n super(props);\n this.rootRef = React.createRef();\n }\n protected getStateElement(): Base {\n return this.question;\n }\n protected get question(): Question {\n return this.props.element;\n }\n private get creator(): ISurveyCreator {\n return this.props.creator;\n }\n componentDidMount() {\n super.componentDidMount();\n if (!!this.question) {\n this.question[\"react\"] = this;\n }\n this.doAfterRender();\n }\n componentWillUnmount() {\n super.componentWillUnmount();\n if (!!this.question) {\n this.question[\"react\"] = null;\n }\n const el = this.rootRef.current;\n if (!!el) {\n el.removeAttribute(\"data-rendered\");\n }\n }\n componentDidUpdate(prevProps: any, prevState: any) {\n super.componentDidUpdate(prevProps, prevState);\n this.doAfterRender();\n }\n private doAfterRender() {\n if (this.isNeedFocus) {\n if (!this.question.isCollapsed) {\n this.question.clickTitleFunction();\n }\n this.isNeedFocus = false;\n }\n if (this.question) {\n var el = this.rootRef.current;\n if (el && el.getAttribute(\"data-rendered\") !== \"r\") {\n el.setAttribute(\"data-rendered\", \"r\");\n el.setAttribute(\"data-name\", this.question.name);\n if (this.question.afterRender) {\n this.question.afterRender(el);\n }\n }\n }\n }\n protected canRender(): boolean {\n return (\n super.canRender() &&\n !!this.question &&\n !!this.creator &&\n this.question.isVisible\n );\n }\n\n protected renderQuestionContent(): JSX.Element {\n let question = this.question;\n var contentStyle = {\n display: !this.question.isCollapsed ? \"\" : \"none\",\n };\n var cssClasses = question.cssClasses;\n var questionRender = this.renderQuestion();\n var errorsTop = this.question.showErrorOnTop\n ? this.renderErrors(cssClasses, \"top\")\n : null;\n var errorsBottom = this.question.showErrorOnBottom\n ? this.renderErrors(cssClasses, \"bottom\")\n : null;\n var comment =\n question && question.hasComment ? this.renderComment(cssClasses) : null;\n const errorsTooltip =\n this.question.isErrorsModeTooltip\n ? this.renderErrors(cssClasses, \"tooltip\")\n : null;\n var descriptionUnderInput = question.hasDescriptionUnderInput\n ? this.renderDescription()\n : null;\n return (\n <div\n className={question.cssContent || undefined}\n style={contentStyle}\n role=\"presentation\"\n >\n {errorsTop}\n {questionRender}\n {comment}\n {errorsBottom}\n {errorsTooltip}\n {descriptionUnderInput}\n </div>\n );\n }\n protected renderElement(): JSX.Element {\n var question = this.question;\n var cssClasses = question.cssClasses;\n var header = this.renderHeader(question);\n var headerTop = question.hasTitleOnLeftTop ? header : null;\n var headerBottom = question.hasTitleOnBottom ? header : null;\n\n const errorsAboveQuestion = this.question.showErrorsAboveQuestion\n ? this.renderErrors(cssClasses, \"\")\n : null;\n\n const errorsBelowQuestion = this.question.showErrorsBelowQuestion\n ? this.renderErrors(cssClasses, \"\")\n : null;\n\n let rootStyle = question.getRootStyle();\n let questionContent = this.wrapQuestionContent(this.renderQuestionContent());\n\n return (\n <>\n <div\n ref={this.rootRef}\n id={question.id}\n className={question.getRootCss()}\n style={rootStyle}\n role={question.ariaRole}\n aria-required={this.question.ariaRequired}\n aria-invalid={this.question.ariaInvalid}\n aria-labelledby={question.ariaLabelledBy}\n aria-expanded={question.ariaExpanded === null ? undefined : question.ariaExpanded === \"true\"}\n >\n {errorsAboveQuestion}\n {headerTop}\n {questionContent}\n {headerBottom}\n {errorsBelowQuestion}\n </div>\n </>\n );\n }\n protected wrapElement(element: JSX.Element): JSX.Element {\n const survey: SurveyModel = this.question.survey as SurveyModel;\n let wrapper: JSX.Element | null = null;\n if (survey) {\n wrapper = ReactSurveyElementsWrapper.wrapElement(survey, element, this.question);\n }\n return wrapper ?? element;\n }\n protected wrapQuestionContent(element: JSX.Element): JSX.Element {\n const survey: SurveyModel = this.question.survey as SurveyModel;\n let wrapper: JSX.Element | null = null;\n if (survey) {\n wrapper = ReactSurveyElementsWrapper.wrapQuestionContent(survey, element, this.question);\n }\n return wrapper ?? element;\n }\n protected renderQuestion(): JSX.Element {\n return SurveyQuestion.renderQuestionBody(this.creator, this.question);\n }\n protected renderDescription(): JSX.Element {\n return SurveyElementBase.renderQuestionDescription(this.question);\n }\n protected renderComment(cssClasses: any): JSX.Element {\n const commentText = SurveyElementBase.renderLocString(\n this.question.locCommentText\n );\n return (\n <div className={this.question.getCommentAreaCss()}>\n <div>{commentText}</div>\n <SurveyQuestionCommentItem\n question={this.question}\n cssClasses={cssClasses}\n otherCss={cssClasses.other}\n isDisplayMode={this.question.isInputReadOnly}\n />\n </div>\n );\n }\n protected renderHeader(question: Question): JSX.Element {\n return <SurveyElementHeader element={question}></SurveyElementHeader>;\n }\n protected renderErrors(cssClasses: any, location: string): JSX.Element {\n return (\n <SurveyElementErrors\n element={this.question}\n cssClasses={cssClasses}\n creator={this.creator}\n location={location}\n id={this.question.id + \"_errors\"}\n />\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\"question\", (props) => {\n return React.createElement(SurveyQuestion, props);\n});\n\nexport class SurveyElementErrors extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n this.state = this.getState();\n this.tooltipRef = React.createRef();\n }\n protected get id(): string {\n return this.props.id;\n }\n protected get element(): SurveyElement {\n return this.props.element;\n }\n private get creator(): ISurveyCreator {\n return this.props.creator;\n }\n protected get location(): string {\n return this.props.location;\n }\n private getState(prevState: any = null) {\n return !prevState ? { error: 0 } : { error: prevState.error + 1 };\n }\n protected canRender(): boolean {\n return !!this.element && this.element.hasVisibleErrors;\n }\n private tooltipManager: TooltipManager | undefined;\n private tooltipRef: React.RefObject<HTMLDivElement>;\n componentDidUpdate(prevProps: any, prevState: any) {\n super.componentDidUpdate(prevProps, prevState);\n if (this.props.location == \"tooltip\") {\n if (this.tooltipRef.current && !this.tooltipManager) {\n this.tooltipManager = new TooltipManager(this.tooltipRef.current);\n }\n if (!!this.tooltipManager && !this.tooltipRef.current) {\n this.disposeTooltipManager();\n }\n }\n }\n componentWillUnmount() {\n if (!!this.tooltipManager) {\n this.disposeTooltipManager();\n }\n }\n private disposeTooltipManager() {\n this.tooltipManager?.dispose();\n this.tooltipManager = undefined;\n }\n protected renderElement(): JSX.Element {\n const errors: Array<JSX.Element> = [];\n for (let i = 0; i < this.element.errors.length; i++) {\n const key: string = \"error\" + i;\n errors.push(\n this.creator.renderError(key, this.element.errors[i], this.cssClasses)\n );\n }\n\n return (\n <div\n role=\"alert\"\n aria-live=\"polite\"\n className={this.element.cssError}\n id={this.id}\n ref={this.tooltipRef}\n >\n {errors}\n </div>\n );\n }\n}\n\nexport abstract class SurveyQuestionAndErrorsWrapped extends ReactSurveyElement {\n [index: string]: any;\n constructor(props: any) {\n super(props);\n }\n protected getStateElement(): Base {\n return this.question;\n }\n protected get question(): Question {\n return this.getQuestion();\n }\n protected get creator(): ISurveyCreator {\n return this.props.creator;\n }\n protected getQuestion(): Question {\n return this.props.question;\n }\n protected get itemCss(): string {\n return this.props.itemCss;\n }\n componentDidMount() {\n super.componentDidMount();\n this.doAfterRender();\n }\n componentDidUpdate(prevProps: any, prevState: any) {\n super.componentDidUpdate(prevProps, prevState);\n this.doAfterRender();\n }\n protected doAfterRender() { }\n protected canRender(): boolean {\n return !!this.question;\n }\n protected renderErrors(errorsLocation: string) {\n return this.getShowErrors() ? (\n <SurveyElementErrors\n element={this.question}\n cssClasses={this.cssClasses}\n creator={this.creator}\n location={errorsLocation}\n />\n ) : null;\n }\n protected renderContent(): JSX.Element {\n var errorsLocation = this.creator.questionErrorLocation();\n var errors = this.renderErrors(errorsLocation);\n var errorsTop = this.question.showErrorOnTop\n ? errors\n : null;\n var errorsBottom = this.question.showErrorOnBottom\n ? errors\n : null;\n var renderedQuestion = this.renderQuestion();\n return (\n <>\n {errorsTop}\n {renderedQuestion}\n {errorsBottom}\n </>\n );\n }\n protected abstract renderElement(): JSX.Element;\n protected getShowErrors(): boolean {\n return this.question.isVisible;\n }\n protected renderQuestion(): JSX.Element {\n return SurveyQuestion.renderQuestionBody(this.creator, this.question);\n }\n}\n\nexport class SurveyQuestionAndErrorsCell extends SurveyQuestionAndErrorsWrapped {\n [index: string]: any;\n protected cellRef: React.RefObject<HTMLTableCellElement>;\n constructor(props: any) {\n super(props);\n this.cellRef = React.createRef();\n }\n componentWillUnmount() {\n super.componentWillUnmount();\n if (this.question) {\n var el = this.cellRef.current;\n if (!!el) {\n el.removeAttribute(\"data-rendered\");\n }\n }\n }\n protected renderElement(): JSX.Element {\n var style = this.getCellStyle();\n var errorsTooltip = this.question.isErrorsModeTooltip\n ? this.renderErrors(\"tooltip\")\n : null;\n return (\n <td\n ref={this.cellRef}\n className={this.itemCss}\n colSpan={this.props.cell.colSpans}\n data-responsive-title={this.getHeaderText()}\n title={this.props.cell.getTitle()}\n style={style}\n >\n {this.wrapCell(this.props.cell,\n (\n <div className={this.cssClasses.cellQuestionWrapper}>\n {this.renderContent()}\n {errorsTooltip}\n </div>)\n )}\n </td>\n );\n }\n protected getCellStyle(): any {\n return null;\n }\n protected getHeaderText(): string {\n return \"\";\n }\n protected wrapCell(\n cell: QuestionMatrixDropdownRenderedCell,\n element: JSX.Element\n ): JSX.Element {\n if (!cell) {\n return element;\n }\n const survey: SurveyModel = this.question.survey as SurveyModel;\n let wrapper: JSX.Element | null = null;\n if (survey) {\n wrapper = ReactSurveyElementsWrapper.wrapMatrixCell(survey, element, cell, this.props.reason);\n }\n return wrapper ?? element;\n }\n}\n","import { SurveyQuestionElementBase } from \"./reactquestion_element\";\nimport React from \"react\";\nimport { ReactElementFactory } from \"./element-factory\";\nimport { SurveyElementBase } from \"./reactquestion_element\";\nimport { SvgIcon } from \"./components/svg-icon/svg-icon\";\nimport {\n QuestionButtonGroupModel,\n ButtonGroupItemValue,\n ButtonGroupItemModel,\n} from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\n\nexport class SurveyQuestionButtonGroup extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n }\n protected get question(): QuestionButtonGroupModel {\n return this.questionBase as QuestionButtonGroupModel;\n }\n getStateElement() {\n return this.question;\n }\n renderElement() {\n const items = this.renderItems();\n return <div className={this.question.cssClasses.root}>{items}</div>;\n }\n renderItems() {\n return this.question.visibleChoices.map(\n (item: ButtonGroupItemValue, index: number) => {\n return (\n <SurveyButtonGroupItem\n key={this.question.inputId + \"_\" + index}\n item={item}\n question={this.question}\n index={index}\n ></SurveyButtonGroupItem>\n );\n }\n );\n }\n}\n\nexport class SurveyButtonGroupItem extends SurveyElementBase<any, any> {\n public model: ButtonGroupItemModel;\n constructor(props: any) {\n super(props);\n }\n get index(): number {\n return this.props.index;\n }\n get question(): QuestionButtonGroupModel {\n return this.props.question;\n }\n get item(): ButtonGroupItemValue {\n return this.props.item;\n }\n getStateElement() {\n return this.item;\n }\n public renderElement() {\n this.model = new ButtonGroupItemModel(this.question, this.item, this.index);\n const icon = this.renderIcon();\n const input = this.renderInput();\n const caption = this.renderCaption();\n return (\n <label\n role=\"radio\"\n className={this.model.css.label}\n title={this.model.caption.renderedHtml}\n >\n {input}\n <div className={this.model.css.decorator}>\n {icon}\n {caption}\n </div>\n </label>\n );\n }\n protected renderIcon() {\n if (!!this.model.iconName) {\n return (\n <SvgIcon\n className={this.model.css.icon}\n iconName={this.model.iconName}\n size={this.model.iconSize || 24}\n ></SvgIcon>\n );\n }\n return null;\n }\n protected renderInput() {\n return (\n <input\n className={this.model.css.control}\n id={this.model.id}\n type=\"radio\"\n name={this.model.name}\n checked={this.model.selected}\n value={this.model.value}\n disabled={this.model.readOnly}\n onChange={() => {\n this.model.onChange();\n }}\n aria-required={this.model.isRequired}\n aria-label={this.model.caption.renderedHtml}\n aria-invalid={this.model.hasErrors}\n aria-describedby={this.model.describedBy}\n role=\"radio\"\n />\n );\n }\n protected renderCaption() {\n if (!this.model.showCaption) return null;\n let caption = this.renderLocString(this.model.caption);\n return (\n <span\n className={this.model.css.caption}\n title={this.model.caption.renderedHtml}\n >\n {caption}\n </span>\n );\n }\n}\n\n// ReactQuestionFactory.Instance.registerQuestion(\"buttongroup\", props => {\n// return React.createElement(SurveyQuestionButtonGroup, props);\n// });\n","import * as React from \"react\";\nimport {\n ReactSurveyElement,\n SurveyQuestionElementBase,\n} from \"./reactquestion_element\";\nimport { SurveyQuestionOtherValueItem } from \"./reactquestion_comment\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { ReactSurveyElementsWrapper } from \"./reactsurveymodel\";\nimport { Base, ItemValue, SurveyModel, QuestionCheckboxModel } from \"survey-core\";\nimport { ReactElementFactory } from \"./element-factory\";\n\nexport class SurveyQuestionCheckbox extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n }\n protected get question(): QuestionCheckboxModel {\n return this.questionBase as QuestionCheckboxModel;\n }\n protected renderElement(): JSX.Element {\n var cssClasses = this.question.cssClasses;\n return (\n <fieldset\n role=\"presentation\"\n className={this.question.getSelectBaseRootCss()}\n ref={(fieldset) => (this.setControl(fieldset))}\n >\n <legend role=\"presentation\" className={\"sv-hidden\"}></legend>\n {this.getHeader()}\n {this.question.hasColumns\n ? this.getColumnedBody(cssClasses)\n : this.getBody(cssClasses)}\n {this.getFooter()}\n {this.question.isOtherSelected ? this.renderOther() : null}\n </fieldset>\n );\n }\n\n protected getHeader() {\n if (this.question.hasHeadItems) {\n return this.question.headItems.map((item: any, ii: number) =>\n this.renderItem(\n \"item_h\" + ii,\n item,\n false,\n this.question.cssClasses\n )\n );\n }\n }\n protected getFooter() {\n if (this.question.hasFootItems) {\n return this.question.footItems.map((item: any, ii: number) =>\n this.renderItem(\n \"item_f\" + ii,\n item,\n false,\n this.question.cssClasses\n )\n );\n }\n }\n protected getColumnedBody(cssClasses: any) {\n return (\n <div className={cssClasses.rootMultiColumn}>\n {this.getColumns(cssClasses)}\n </div>\n );\n }\n protected getColumns(cssClasses: any) {\n return this.question.columns.map((column: any, ci: number) => {\n var items = column.map((item: any, ii: number) =>\n this.renderItem(\n \"item\" + ii,\n item,\n ci === 0 && ii === 0,\n cssClasses,\n \"\" + ci + ii\n )\n );\n return (\n <div key={\"column\" + ci} className={this.question.getColumnClass()} role=\"presentation\">\n {items}\n </div>\n );\n });\n }\n\n protected getBody(cssClasses: any): JSX.Element {\n if (this.question.blockedRow) {\n return <div className={cssClasses.rootRow}>{this.getItems(cssClasses, this.question.dataChoices)}</div>;\n }\n else return <>{this.getItems(cssClasses, this.question.bodyItems)}</>;\n }\n protected getItems(cssClasses: any, choices: Array<ItemValue>): Array<any> {\n var renderedItems:Array<JSX.Element> = [];\n for (var i = 0; i < choices.length; i++) {\n var item = choices[i];\n var key = \"item\" + i;\n var renderedItem = this.renderItem(key, item, i == 0, cssClasses, \"\" + i);\n if(!!renderedItem) {\n renderedItems.push(renderedItem);\n }\n }\n return renderedItems;\n }\n protected get textStyle(): any {\n return null;\n }\n protected renderOther(): JSX.Element {\n let cssClasses = this.question.cssClasses;\n return (\n <div className={this.question.getCommentAreaCss(true)}>\n <SurveyQuestionOtherValueItem\n question={this.question}\n otherCss={cssClasses.other}\n cssClasses={cssClasses}\n isDisplayMode={this.isDisplayMode}\n />\n </div>\n );\n }\n protected renderItem(\n key: string,\n item: any,\n isFirst: boolean,\n cssClasses: any,\n index?: string\n ): JSX.Element {\n const renderedItem = ReactElementFactory.Instance.createElement(this.question.itemComponent, {\n key: key,\n question: this.question,\n cssClasses: cssClasses,\n isDisplayMode: this.isDisplayMode,\n item: item,\n textStyle: this.textStyle,\n index: index,\n isFirst: isFirst,\n });\n const survey = this.question.survey as SurveyModel;\n let wrappedItem: JSX.Element | null = null;\n if (!!survey && !!renderedItem) {\n wrappedItem = ReactSurveyElementsWrapper.wrapItemValue(survey, renderedItem, this.question, item);\n }\n return wrappedItem ?? renderedItem;\n }\n}\nexport class SurveyQuestionCheckboxItem extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n }\n protected getStateElement(): Base {\n return this.item;\n }\n protected get question(): QuestionCheckboxModel {\n return this.props.question;\n }\n protected get item(): ItemValue {\n return this.props.item;\n }\n protected get textStyle(): any {\n return this.props.textStyle;\n }\n protected get isFirst(): any {\n return this.props.isFirst;\n }\n protected get index(): number {\n return this.props.index;\n }\n private get hideCaption(): boolean {\n return this.props.hideCaption === true;\n }\n public shouldComponentUpdate(nextProps: any, nextState: any): boolean {\n if (!super.shouldComponentUpdate(nextProps, nextState)) return false;\n if(!this.question) return false;\n return (\n !this.question.customWidget ||\n !!this.question.customWidgetData.isNeedRender ||\n !!this.question.customWidget.widgetJson.isDefaultRender ||\n !!this.question.customWidget.widgetJson.render\n );\n }\n handleOnChange = (event: any) => {\n this.question.clickItemHandler(this.item, event.target.checked);\n }\n selectAllChanged = (event: any) => {\n this.question.toggleSelectAll();\n }\n protected canRender(): boolean {\n return !!this.item && !!this.question;\n }\n protected renderElement(): JSX.Element {\n var isChecked = this.question.isItemSelected(this.item);\n return this.renderCheckbox(isChecked, null);\n }\n protected get inputStyle(): any {\n return null;//{ marginRight: \"3px\" };\n }\n protected renderCheckbox(\n isChecked: boolean,\n otherItem: JSX.Element | null\n ): JSX.Element {\n var id = this.question.getItemId(this.item);\n var text = !this.hideCaption ? this.renderLocString(this.item.locText) : \"\";\n let itemClass = this.question.getItemClass(this.item);\n let labelClass = this.question.getLabelClass(this.item);\n var onItemChanged =\n this.item == this.question.selectAllItem\n ? this.selectAllChanged\n : this.handleOnChange;\n const itemLabel = !this.hideCaption ? <span className={this.cssClasses.controlLabel}>{this.renderLocString(this.item.locText, this.textStyle)}</span> : null;\n\n return (\n <div className={itemClass} role=\"presentation\">\n <label className={labelClass} aria-label={this.question.getAriaItemLabel(this.item)}>\n <input\n className={this.cssClasses.itemControl}\n role=\"option\"\n type=\"checkbox\"\n name={this.question.name}\n value={this.item.value != \"selectall\" ? this.item.value : undefined}\n id={id}\n style={this.inputStyle}\n disabled={!this.question.getItemEnabled(this.item)}\n checked={isChecked}\n onChange={onItemChanged}\n aria-describedby={this.question.ariaDescribedBy}\n />\n {\n this.cssClasses.materialDecorator ?\n <span className={this.cssClasses.materialDecorator}>\n {this.question.itemSvgIcon ?\n <svg\n className={this.cssClasses.itemDecorator}\n >\n <use xlinkHref={this.question.itemSvgIcon}></use>\n </svg> :\n null\n }\n </span> :\n null\n }\n {itemLabel}\n </label>\n {otherItem}\n </div>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\"survey-checkbox-item\", (props: any) => {\n return React.createElement(SurveyQuestionCheckboxItem, props);\n});\n\nReactQuestionFactory.Instance.registerQuestion(\"checkbox\", (props) => {\n return React.createElement(SurveyQuestionCheckbox, props);\n});\n","import * as React from \"react\";\nimport { ReactSurveyElement, SurveyQuestionUncontrolledElement } from \"./reactquestion_element\";\nimport { QuestionCommentModel } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { CharacterCounterComponent } from \"./components/character-counter\";\n\nexport class SurveyQuestionComment extends SurveyQuestionUncontrolledElement<QuestionCommentModel> {\n constructor(props: any) {\n super(props);\n }\n protected renderElement(): JSX.Element {\n var onBlur: ((e: any) => void) | undefined = !this.question.isInputTextUpdate ? this.updateValueOnEvent : undefined;\n var onInput = (event: any) => {\n if (this.question.isInputTextUpdate) {\n this.updateValueOnEvent(event);\n } else {\n this.question.updateElement();\n }\n\n const newValue = event.target.value;\n this.question.updateRemainingCharacterCounter(newValue);\n };\n const placeholder = this.question.renderedPlaceholder;\n if (this.question.isReadOnlyRenderDiv()) {\n return <div>{this.question.value}</div>;\n }\n const counter = !!this.question.getMaxLength() ? (<CharacterCounterComponent counter={this.question.characterCounter} remainingCharacterCounter={this.question.cssClasses.remainingCharacterCounter}></CharacterCounterComponent>) : null;\n return (\n <>\n <textarea\n id={this.question.inputId}\n className={this.question.className}\n disabled={this.question.isInputReadOnly}\n readOnly={this.question.isInputReadOnly}\n ref={(textarea) => (this.setControl(textarea))}\n maxLength={this.question.getMaxLength()}\n placeholder={placeholder}\n onBlur={onBlur}\n onInput={onInput}\n onKeyDown={(event) => { this.question.onKeyDown(event); }}\n cols={this.question.cols}\n rows={this.question.rows}\n aria-required={this.question.a11y_input_ariaRequired}\n aria-label={this.question.a11y_input_ariaLabel}\n aria-labelledby={this.question.a11y_input_ariaLabelledBy}\n aria-invalid={this.question.a11y_input_ariaInvalid}\n aria-describedby={this.question.a11y_input_ariaDescribedBy}\n style={{ resize: this.question.resizeStyle }}\n />\n {counter}\n </>\n );\n }\n}\n\nexport class SurveyQuestionCommentItem extends ReactSurveyElement {\n protected canRender(): boolean {\n return !!this.props.question;\n }\n protected onCommentChange(event: any): void {\n this.props.question.onCommentChange(event);\n }\n protected onCommentInput(event: any): void {\n this.props.question.onCommentInput(event);\n }\n protected getComment(): string {\n return this.props.question.comment;\n }\n protected getId(): string {\n return this.props.question.commentId;\n }\n protected getPlaceholder(): string {\n return this.props.question.commentPlaceholder;\n }\n protected renderElement(): JSX.Element {\n let question = this.props.question;\n let className = this.props.otherCss || this.cssClasses.comment;\n let handleOnChange = (event: any) => {\n this.setState({ comment: event.target.value });\n this.onCommentChange(event);\n };\n const questionComment = this.getComment();\n let stateComment: string = !!this.state ? this.state.comment : undefined;\n if (stateComment !== undefined && stateComment.trim() !== questionComment) {\n stateComment = questionComment;\n }\n let comment = stateComment !== undefined ? stateComment : questionComment || \"\";\n\n if (question.isReadOnlyRenderDiv()) {\n return <div>{comment}</div>;\n }\n return (\n <textarea\n id={this.getId()}\n className={className}\n value={comment}\n disabled={this.isDisplayMode}\n maxLength={question.getOthersMaxLength()}\n placeholder={this.getPlaceholder()}\n onChange={handleOnChange}\n onBlur={(e) => { this.onCommentChange(e); handleOnChange(e); }}\n onInput={(e) => this.onCommentInput(e)}\n aria-required={question.isRequired}\n aria-label={question.locTitle.renderedHtml}\n style={{ resize: question.resizeStyle }}\n />\n );\n }\n}\nexport class SurveyQuestionOtherValueItem extends SurveyQuestionCommentItem {\n protected onCommentChange(event: any): void {\n this.props.question.onOtherValueChange(event);\n }\n protected onCommentInput(event: any): void {\n this.props.question.onOtherValueInput(event);\n }\n protected getComment(): string {\n return this.props.question.otherValue;\n }\n protected getId(): string {\n return this.props.question.otherId;\n }\n protected getPlaceholder(): string {\n return this.props.question.otherPlaceholder;\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"comment\", (props) => {\n return React.createElement(SurveyQuestionComment, props);\n});\n","import * as React from \"react\";\nimport { SurveyQuestionUncontrolledElement } from \"./reactquestion_element\";\nimport { SurveyQuestion } from \"./reactquestion\";\nimport { Base, QuestionCustomModel, QuestionCompositeModel } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { SurveyPanel } from \"./panel\";\n\nexport class SurveyQuestionCustom extends SurveyQuestionUncontrolledElement<QuestionCustomModel> {\n constructor(props: any) {\n super(props);\n }\n protected getStateElements(): Array<Base> {\n const res = super.getStateElements();\n if(!!this.question.contentQuestion) {\n res.push(this.question.contentQuestion);\n }\n return res;\n }\n protected renderElement(): JSX.Element {\n return SurveyQuestion.renderQuestionBody(\n this.creator,\n this.question.contentQuestion\n );\n }\n}\n\nexport class SurveyQuestionComposite extends SurveyQuestionUncontrolledElement<QuestionCompositeModel> {\n constructor(props: any) {\n super(props);\n }\n protected canRender(): boolean {\n return !!this.question.contentPanel;\n }\n protected renderElement(): JSX.Element {\n return (\n <SurveyPanel\n element={this.question.contentPanel}\n creator={this.creator}\n survey={this.question.survey}\n ></SurveyPanel>\n );\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"custom\", (props) => {\n return React.createElement(SurveyQuestionCustom, props);\n});\nReactQuestionFactory.Instance.registerQuestion(\"composite\", (props) => {\n return React.createElement(SurveyQuestionComposite, props);\n});\n","import * as React from \"react\";\nimport { Question } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { SurveyQuestionDropdownBase } from \"./dropdown-base\";\n\nexport class SurveyQuestionDropdown extends SurveyQuestionDropdownBase<Question> {\n constructor(props: any) {\n super(props);\n }\n\n protected renderElement(): JSX.Element {\n const cssClasses = this.question.cssClasses;\n const comment = this.question.isOtherSelected ? this.renderOther(cssClasses) : null;\n const select = this.renderSelect(cssClasses);\n return (\n <div className={this.question.renderCssRoot}>\n {select}\n {comment}\n </div>\n );\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"dropdown\", (props) => {\n return React.createElement(SurveyQuestionDropdown, props);\n});","import * as React from \"react\";\nimport { Base, ArrayChanges, SurveyModel, Helpers, PanelModel, LocalizableString, Question } from \"survey-core\";\nimport { ISurveyCreator } from \"./reactquestion\";\nimport { ReactElementFactory } from \"./element-factory\";\nimport { ReactSurveyElementsWrapper } from \"./reactsurveymodel\";\n\nexport class SurveyElementBase<P, S> extends React.Component<P, S> {\n public static renderLocString(\n locStr: LocalizableString,\n style: any = null,\n key?: string\n ): JSX.Element {\n return ReactElementFactory.Instance.createElement(locStr.renderAs, {\n locStr: locStr.renderAsData,\n style: style,\n key: key,\n });\n }\n public static renderQuestionDescription(question: Question | PanelModel): JSX.Element {\n var descriptionText = SurveyElementBase.renderLocString(question.locDescription);\n return <div style={question.hasDescription ? undefined : { display: \"none\" } } className={question.cssDescription}>{descriptionText}</div>;\n }\n private changedStatePropNameValue: string | undefined;\n constructor(props: any) {\n super(props);\n }\n componentDidMount() {\n this.makeBaseElementsReact();\n }\n componentWillUnmount() {\n this.unMakeBaseElementsReact();\n }\n componentDidUpdate(prevProps: any, prevState: any) {\n this.makeBaseElementsReact();\n }\n private _allowComponentUpdate = true;\n protected allowComponentUpdate() {\n this._allowComponentUpdate = true;\n this.forceUpdate();\n }\n protected denyComponentUpdate() {\n this._allowComponentUpdate = false;\n }\n shouldComponentUpdate(nextProps:any, nextState:any):boolean {\n if(this._allowComponentUpdate) {\n this.unMakeBaseElementsReact();\n }\n return this._allowComponentUpdate;\n }\n render(): JSX.Element | null {\n if (!this.canRender()) {\n return null;\n }\n\n this.startEndRendering(1);\n var res = this.renderElement();\n this.startEndRendering(-1);\n\n if(!!res) {\n res = this.wrapElement(res);\n }\n\n this.changedStatePropNameValue = undefined;\n return res;\n }\n protected wrapElement(element: JSX.Element): JSX.Element {\n return element;\n }\n protected get isRendering(): boolean {\n var stateEls: Array<any> = this.getRenderedElements();\n for(let stateEl of stateEls) {\n if(stateEl.reactRendering > 0) return true;\n }\n return false;\n }\n protected getRenderedElements(): Base[] {\n return this.getStateElements();\n }\n private startEndRendering(val: number) {\n var stateEls: Array<any> = this.getRenderedElements();\n for(let stateEl of stateEls) {\n if (!stateEl.reactRendering) stateEl.reactRendering = 0;\n stateEl.reactRendering += val;\n }\n }\n protected canRender(): boolean {\n return true;\n }\n protected renderElement(): JSX.Element | null {\n return null;\n }\n protected get changedStatePropName(): string | undefined {\n return this.changedStatePropNameValue;\n }\n private makeBaseElementsReact() {\n var els = this.getStateElements();\n for (var i = 0; i < els.length; i++) {\n this.makeBaseElementReact(els[i]);\n }\n }\n private unMakeBaseElementsReact() {\n var els = this.getStateElements();\n for (var i = 0; i < els.length; i++) {\n this.unMakeBaseElementReact(els[i]);\n }\n }\n protected getStateElements(): Array<Base> {\n var el = this.getStateElement();\n return !!el ? [el] : [];\n }\n protected getStateElement(): Base | null {\n return null;\n }\n protected get isDisplayMode(): boolean {\n const props: any = this.props;\n return props.isDisplayMode || false;\n }\n protected renderLocString(\n locStr: LocalizableString,\n style: any = null,\n key?: string\n ): JSX.Element {\n return SurveyElementBase.renderLocString(locStr, style, key);\n }\n private canMakeReact(stateElement: Base): boolean {\n return !!stateElement && !!stateElement.iteratePropertiesHash;\n }\n private makeBaseElementReact(stateElement: Base) {\n if (!this.canMakeReact(stateElement)) return;\n stateElement.iteratePropertiesHash((hash, key) => {\n if (!this.canUsePropInState(key)) return;\n var val: any = hash[key];\n if (Array.isArray(val)) {\n var val: any = val;\n val[\"onArrayChanged\"] = (arrayChanges: ArrayChanges) => {\n if (this.isRendering) return;\n this.changedStatePropNameValue = key;\n this.setState((state: any) => {\n var newState: { [index: string]: any } = {};\n newState[key] = val;\n return newState as S;\n });\n };\n }\n });\n stateElement.setPropertyValueCoreHandler = (\n hash: any,\n key: string,\n val: any\n ) => {\n if (hash[key] !== val) {\n hash[key] = val;\n if (!this.canUsePropInState(key)) return;\n if (this.isRendering) return;\n this.changedStatePropNameValue = key;\n this.setState((state: any) => {\n var newState: { [index: string]: any } = {};\n newState[key] = val;\n return newState as S;\n });\n }\n };\n }\n protected canUsePropInState(key: string): boolean {\n return true;\n }\n private unMakeBaseElementReact(stateElement: Base) {\n if (!this.canMakeReact(stateElement)) return;\n stateElement.setPropertyValueCoreHandler = undefined as any;\n stateElement.iteratePropertiesHash((hash, key) => {\n var val: any = hash[key];\n if (Array.isArray(val)) {\n var val: any = val;\n val[\"onArrayChanged\"] = () => {};\n }\n });\n }\n}\n\nexport class ReactSurveyElement extends SurveyElementBase<any, any> {\n constructor(props: any) {\n super(props);\n }\n protected get cssClasses(): any {\n return this.props.cssClasses;\n }\n}\n\nexport class SurveyQuestionElementBase extends SurveyElementBase<any, any> {\n control: HTMLElement;\n constructor(props: any) {\n super(props);\n }\n componentDidUpdate(prevProps: any, prevState: any) {\n super.componentDidUpdate(prevProps, prevState);\n this.updateDomElement();\n }\n componentDidMount() {\n super.componentDidMount();\n this.updateDomElement();\n }\n componentWillUnmount() {\n super.componentWillUnmount();\n if (!!this.questionBase) {\n const el: HTMLElement = this.control;\n this.questionBase.beforeDestroyQuestionElement(el);\n if (!!el) {\n el.removeAttribute(\"data-rendered\");\n }\n }\n }\n protected updateDomElement() {\n const el: HTMLElement = this.control;\n if (!!el) {\n if (el.getAttribute(\"data-rendered\") !== \"r\") {\n el.setAttribute(\"data-rendered\", \"r\");\n this.questionBase.afterRenderQuestionElement(el);\n }\n }\n }\n protected get questionBase(): Question {\n return this.props.question;\n }\n protected getRenderedElements(): Base[] {\n return [this.questionBase];\n }\n protected get creator(): ISurveyCreator {\n return this.props.creator;\n }\n protected canRender(): boolean {\n return !!this.questionBase && !!this.creator;\n }\n public shouldComponentUpdate(nextProps: any, nextState: any): boolean {\n if (!super.shouldComponentUpdate(nextProps, nextState)) return false;\n\n return (\n !this.questionBase.customWidget ||\n !!this.questionBase.customWidgetData.isNeedRender ||\n !!this.questionBase.customWidget.widgetJson.isDefaultRender ||\n !!this.questionBase.customWidget.widgetJson.render\n );\n }\n protected get isDisplayMode(): boolean {\n const props: any = this.props;\n return (\n props.isDisplayMode ||\n (!!this.questionBase && this.questionBase.isInputReadOnly) || false\n );\n }\n protected wrapCell(\n cell: any,\n element: JSX.Element,\n reason: string\n ): JSX.Element {\n if (!reason) {\n return element;\n }\n const survey: SurveyModel = this.questionBase\n .survey as SurveyModel;\n let wrapper: JSX.Element | null = null;\n if (survey) {\n wrapper = ReactSurveyElementsWrapper.wrapMatrixCell(survey, element, cell, reason);\n }\n return wrapper ?? element;\n }\n public setControl(element: HTMLElement | null): void {\n if(!!element) {\n this.control = element;\n }\n }\n}\n\nexport class SurveyQuestionUncontrolledElement<\n T extends Question\n> extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n this.updateValueOnEvent = this.updateValueOnEvent.bind(this);\n }\n protected get question(): T {\n return this.questionBase as T;\n }\n updateValueOnEvent = (event: any) => {\n if (\n !Helpers.isTwoValueEquals(this.questionBase.value, event.target.value, false, true)\n ) {\n this.setValueCore(event.target.value);\n }\n };\n protected setValueCore(newValue: any) {\n this.questionBase.value = newValue;\n }\n protected getValueCore(): any {\n return this.questionBase.value;\n }\n protected updateDomElement() {\n if (!!this.control) {\n const control: any = this.control;\n const newValue = this.getValueCore();\n if (!Helpers.isTwoValueEquals(newValue, control.value, false, true)) {\n control.value = this.getValue(newValue);\n }\n }\n super.updateDomElement();\n }\n private getValue(val: any): any {\n if (Helpers.isValueEmpty(val)) return \"\";\n return val;\n }\n}\n","import * as React from \"react\";\nimport { SurveyQuestionElementBase } from \"./reactquestion_element\";\nimport { QuestionEmptyModel } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\n\nexport class SurveyQuestionEmpty extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n this.state = { value: this.question.value };\n }\n protected get question(): QuestionEmptyModel {\n return this.questionBase as QuestionEmptyModel;\n }\n protected renderElement(): JSX.Element {\n return <div />;\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"empty\", (props) => {\n return React.createElement(SurveyQuestionEmpty, props);\n});\n","import * as React from \"react\";\nimport { SurveyQuestionElementBase } from \"./reactquestion_element\";\nimport { QuestionExpressionModel } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\n\nexport class SurveyQuestionExpression extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n }\n protected get question(): QuestionExpressionModel {\n return this.questionBase as QuestionExpressionModel;\n }\n protected renderElement(): JSX.Element {\n var cssClasses = this.question.cssClasses;\n return (\n <div\n id={this.question.inputId}\n className={cssClasses.root}\n ref={(div) => (this.setControl(div))}\n >\n {this.question.formatedValue}\n </div>\n );\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"expression\", (props) => {\n return React.createElement(SurveyQuestionExpression, props);\n});\n","import { HashTable } from \"survey-core\";\n\nexport class ReactQuestionFactory {\n public static Instance: ReactQuestionFactory = new ReactQuestionFactory();\n private creatorHash: HashTable<(name: string) => JSX.Element> = {};\n\n public registerQuestion(\n questionType: string,\n questionCreator: (name: string) => JSX.Element\n ) {\n this.creatorHash[questionType] = questionCreator;\n }\n public getAllTypes(): Array<string> {\n var result = new Array<string>();\n for (var key in this.creatorHash) {\n result.push(key);\n }\n return result.sort();\n }\n public createQuestion(questionType: string, params: any): JSX.Element | null {\n var creator = this.creatorHash[questionType];\n if (creator == null) return null;\n return creator(params);\n }\n}\n","import * as React from \"react\";\nimport { QuestionFileModel } from \"survey-core\";\nimport { SurveyActionBar } from \"./components/action-bar/action-bar\";\nimport { SvgIcon } from \"./components/svg-icon/svg-icon\";\nimport { SurveyQuestionElementBase } from \"./reactquestion_element\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { attachKey2click } from \"./reactSurvey\";\n\nexport class SurveyQuestionFile extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n }\n protected get question(): QuestionFileModel {\n return this.questionBase as QuestionFileModel;\n }\n protected renderElement(): JSX.Element {\n var preview = this.renderPreview();\n var fileInput: JSX.Element | null = null;\n var fileDecorator = this.renderFileDecorator();\n var clearButton = this.renderClearButton(\n this.question.showRemoveButton\n );\n var clearButtonBottom = this.renderClearButton(\n this.question.showRemoveButtonBottom\n );\n\n let mobileFileNavigator = this.question.mobileFileNavigatorVisible?(<SurveyActionBar model = {this.question.mobileFileNavigator}></SurveyActionBar>):null;\n fileInput = (\n this.isDisplayMode ?\n <input\n type=\"file\"\n disabled={this.isDisplayMode}\n className={!this.isDisplayMode ? this.question.cssClasses.fileInput : this.question.getReadOnlyFileCss()}\n id={this.question.inputId}\n ref={input => (this.setControl(input))}\n style={!this.isDisplayMode ? {} : { color: \"transparent\" }}\n onChange={!this.isDisplayMode ? this.question.doChange : (() => {})}\n multiple={this.question.allowMultiple}\n placeholder={this.question.title}\n accept={this.question.acceptedTypes}\n />\n :\n <input\n type=\"file\"\n disabled={this.isDisplayMode}\n tabIndex={-1}\n className={!this.isDisplayMode ? this.question.cssClasses.fileInput : this.question.getReadOnlyFileCss()}\n id={this.question.inputId}\n ref={input => (this.setControl(input))}\n style={!this.isDisplayMode ? {} : { color: \"transparent\" }}\n onChange={!this.isDisplayMode ? this.question.doChange : (() => {})}\n aria-required={this.question.ariaRequired}\n aria-label={this.question.ariaLabel}\n aria-invalid={this.question.ariaInvalid}\n aria-describedby={this.question.ariaDescribedBy}\n multiple={this.question.allowMultiple}\n title={this.question.inputTitle}\n accept={this.question.acceptedTypes}\n capture={this.question.renderCapture}\n />\n );\n return (\n <div className={this.question.fileRootCss}>\n {fileInput}\n <div\n className={this.question.cssClasses.dragArea}\n onDrop={this.question.onDrop}\n onDragOver={this.question.onDragOver}\n onDragLeave={this.question.onDragLeave}\n onDragEnter={this.question.onDragEnter}\n >\n {fileDecorator}\n {clearButton}\n {preview}\n {clearButtonBottom}\n {mobileFileNavigator}\n </div>\n </div>\n );\n }\n protected renderFileDecorator(): JSX.Element {\n const questionCss = this.question.cssClasses;\n let noFileChosen: JSX.Element | null = null;\n let chooseFile: JSX.Element | null = null;\n chooseFile = attachKey2click(\n <label\n role=\"button\"\n tabIndex={0}\n className={this.question.getChooseFileCss()}\n htmlFor={this.question.inputId}\n aria-label={this.question.chooseButtonCaption}\n >\n <span>{this.question.chooseButtonCaption}</span>\n {(!!this.question.cssClasses.chooseFileIconId) ? <SvgIcon title={this.question.chooseButtonCaption} iconName={this.question.cssClasses.chooseFileIconId} size={\"auto\"}></SvgIcon>: null }\n </label>\n );\n if (this.question.isEmpty()) {\n noFileChosen = (\n <span className={this.question.cssClasses.noFileChosen}>\n {this.question.noFileChosenCaption}\n </span>\n );\n }\n return (\n <div\n className={this.question.getFileDecoratorCss()}\n >\n <span className={this.question.cssClasses.dragAreaPlaceholder}>{this.question.dragAreaPlaceholder}</span>\n <div className={this.question.cssClasses.wrapper}>\n {chooseFile}\n {noFileChosen}\n </div>\n </div>\n );\n }\n protected renderClearButton(className: string): JSX.Element | null {\n return className ? (\n <button type=\"button\" onClick={this.question.doClean} className={className}>\n <span>{this.question.clearButtonCaption}</span>\n {(!!this.question.cssClasses.removeButtonIconId) ? <SvgIcon iconName={this.question.cssClasses.removeButtonIconId} size={\"auto\"} title={this.question.clearButtonCaption}></SvgIcon>: null }\n </button>\n ) : null;\n }\n protected renderFileSign(className: string, val: any): JSX.Element | null {\n if(!className || !val.name) return null;\n return (\n <div className={className}>\n <a\n href={val.content}\n onClick={event => {\n this.question.doDownloadFile(event, val);\n }}\n title={val.name}\n download={val.name}\n style={{ width: this.question.imageWidth }}\n >\n {val.name}\n </a>\n </div>\n );\n }\n protected renderPreview(): JSX.Element | null {\n if (!this.question.previewValue || !this.question.previewValue.length) return null;\n var previews = this.question.previewValue.map((val, index) => {\n if (!val) return null;\n return (\n <span\n key={this.question.inputId + \"_\" + index}\n className={this.question.cssClasses.preview}\n style={{ display: this.question.isPreviewVisible(index) ? undefined : \"none\" }}\n >\n {this.renderFileSign(this.question.cssClasses.fileSign, val)}\n <div className={this.question.cssClasses.imageWrapper}>\n {this.question.canPreviewImage(val) ? (\n <img\n src={val.content}\n style={{ height: this.question.imageHeight, width: this.question.imageWidth }}\n alt=\"File preview\"\n />\n ) : (this.question.cssClasses.defaultImage?(\n <SvgIcon iconName={this.question.cssClasses.defaultImageIconId} size={\"auto\"} className={this.question.cssClasses.defaultImage}></SvgIcon>\n ):null)}\n {val.name && !this.question.isReadOnly ? (\n <div className={this.question.cssClasses.removeFileButton} onClick={() => this.question.doRemoveFile(val)}>\n <span\n className={this.question.cssClasses.removeFile}\n >\n {this.question.removeFileCaption}\n </span>\n {(this.question.cssClasses.removeFileSvgIconId) ?\n (<SvgIcon title={this.question.removeFileCaption} iconName={this.question.cssClasses.removeFileSvgIconId} size={\"auto\"} className={this.question.cssClasses.removeFileSvg}></SvgIcon>): null }\n </div>\n ) : null}\n </div>\n {this.renderFileSign(this.question.cssClasses.fileSignBottom, val)}\n </span>\n );\n });\n return <div className={this.question.cssClasses.fileList || undefined}>{previews}</div>;\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"file\", props => {\n return React.createElement(SurveyQuestionFile, props);\n});\n","import * as React from \"react\";\nimport { SurveyQuestionElementBase } from \"./reactquestion_element\";\nimport { QuestionHtmlModel } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\n\nexport class SurveyQuestionHtml extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n }\n protected get question(): QuestionHtmlModel {\n return this.questionBase as QuestionHtmlModel;\n }\n componentDidMount() {\n this.reactOnStrChanged();\n }\n componentWillUnmount() {\n this.question.locHtml.onChanged = function () {};\n }\n componentDidUpdate(prevProps: any, prevState: any) {\n this.reactOnStrChanged();\n }\n private reactOnStrChanged() {\n this.question.locHtml.onChanged = () => {\n this.setState({ changed: !!this.state && this.state.changed ? this.state.changed + 1 : 1 });\n };\n }\n protected canRender(): boolean {\n return super.canRender() && !!this.question.html;\n }\n protected renderElement(): JSX.Element {\n var htmlValue = { __html: this.question.locHtml.renderedHtml };\n return (\n <div\n className={this.question.renderCssRoot}\n dangerouslySetInnerHTML={htmlValue}\n />\n );\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"html\", (props) => {\n return React.createElement(SurveyQuestionHtml, props);\n});\n","import * as React from \"react\";\nimport {\n ReactSurveyElement,\n SurveyQuestionElementBase,\n} from \"./reactquestion_element\";\nimport { QuestionMatrixModel, MatrixRowModel, SurveyModel, Helpers } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { ReactSurveyElementsWrapper } from \"./reactsurveymodel\";\n\nexport class SurveyQuestionMatrix extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n this.state = { rowsChanged: 0 };\n }\n protected get question(): QuestionMatrixModel {\n return this.questionBase as QuestionMatrixModel;\n }\n componentDidMount() {\n super.componentDidMount();\n if (this.question) {\n var self = this;\n this.question.visibleRowsChangedCallback = function() {\n self.setState({ rowsChanged: self.state.rowsChanged + 1 });\n };\n }\n }\n componentWillUnmount() {\n super.componentWillUnmount();\n if (this.question) {\n this.question.visibleRowsChangedCallback = null as any;\n }\n }\n\n protected renderElement(): JSX.Element {\n var cssClasses = this.question.cssClasses;\n var rowsTH = this.question.hasRows ? <td /> : null;\n var headers:Array<JSX.Element> = [];\n for (var i = 0; i < this.question.visibleColumns.length; i++) {\n var column = this.question.visibleColumns[i];\n var key = \"column\" + i;\n var columText = this.renderLocString(column.locText);\n const style: any = {};\n if (!!this.question.columnMinWidth) {\n style.minWidth = this.question.columnMinWidth;\n style.width = this.question.columnMinWidth;\n }\n headers.push(\n <th className={this.question.cssClasses.headerCell} style={style} key={key}>\n {this.wrapCell({ column: column }, columText, \"column-header\")}\n </th>\n );\n }\n var rows:Array<JSX.Element> = [];\n var visibleRows = this.question.visibleRows;\n for (var i = 0; i < visibleRows.length; i++) {\n var row = visibleRows[i];\n var key = \"row-\" + row.name + \"-\" + i;\n rows.push(\n <SurveyQuestionMatrixRow\n key={key}\n question={this.question}\n cssClasses={cssClasses}\n isDisplayMode={this.isDisplayMode}\n row={row}\n isFirst={i == 0}\n />\n );\n }\n var header = !this.question.showHeader ? null : (\n <thead>\n <tr>\n {rowsTH}\n {headers}\n </tr>\n </thead>\n );\n return (\n <div\n className={cssClasses.tableWrapper}\n ref={root => (this.setControl(root))}\n >\n <fieldset>\n <legend aria-label={this.question.locTitle.renderedHtml} />\n <table className={this.question.getTableCss()}>\n {header}\n <tbody>{rows}</tbody>\n </table>\n </fieldset>\n </div>\n );\n }\n}\n\nexport class SurveyQuestionMatrixRow extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n this.handleOnChange = this.handleOnChange.bind(this);\n this.handleOnMouseDown = this.handleOnMouseDown.bind(this);\n }\n private get question(): QuestionMatrixModel {\n return this.props.question;\n }\n private get row(): MatrixRowModel {\n return this.props.row;\n }\n handleOnChange(event: any) {\n this.row.value = event.target.value;\n this.setState({ value: this.row.value });\n }\n handleOnMouseDown(event: any) {\n this.question.onMouseDown();\n }\n protected wrapCell(cell: any, element: JSX.Element, reason: string): JSX.Element {\n if(!reason) {\n return element;\n }\n const survey: SurveyModel = this.question.survey as SurveyModel;\n let wrapper: JSX.Element | null = null;\n if (survey) {\n wrapper = ReactSurveyElementsWrapper.wrapMatrixCell(survey, element, cell, reason);\n }\n return wrapper ?? element;\n }\n protected canRender(): boolean {\n return !!this.row;\n }\n protected renderElement(): JSX.Element {\n var rowsTD: JSX.Element | null = null;\n\n if (this.question.hasRows) {\n var rowText = this.renderLocString(this.row.locText);\n const style: any = {};\n if (!!this.question.rowTitleWidth) {\n style.minWidth = this.question.rowTitleWidth;\n style.width = this.question.rowTitleWidth;\n }\n rowsTD = <td style={style} className={this.question.cssClasses.rowTextCell}>\n {this.wrapCell({ row: this.row }, rowText, \"row-header\")}\n </td>;\n }\n\n var tds = this.generateTds();\n return (\n <tr className={this.row.rowClasses || undefined}>\n {rowsTD}\n {tds}\n </tr>\n );\n }\n\n generateTds() {\n var tds:Array<JSX.Element> = [];\n var row = this.row;\n\n for (var i = 0; i < this.question.visibleColumns.length; i++) {\n var td: JSX.Element | null = null;\n var column = this.question.visibleColumns[i];\n var key = \"value\" + i;\n\n var isChecked = row.value == column.value;\n let itemClass = this.question.getItemClass(row, column);\n var inputId = this.question.inputId + \"_\" + row.name + \"_\" + i;\n if (this.question.hasCellText) {\n var getHandler = !this.question.isInputReadOnly\n ? (column: any) => () => this.cellClick(row, column)\n : null;\n td = (\n <td\n key={key}\n className={itemClass}\n onClick={getHandler ? getHandler(column) : () => {}}\n >\n {this.renderLocString(\n this.question.getCellDisplayLocText(row.name, column)\n )}\n </td>\n );\n } else {\n td = (\n <td\n key={key}\n data-responsive-title={column.locText.renderedHtml}\n className={this.question.cssClasses.cell}\n >\n <label onMouseDown={this.handleOnMouseDown} className={itemClass}>\n <input\n id={inputId}\n type=\"radio\"\n className={this.cssClasses.itemValue}\n name={row.fullName}\n value={column.value}\n disabled={this.isDisplayMode}\n checked={isChecked}\n onChange={this.handleOnChange}\n aria-required={this.question.ariaRequired}\n aria-label={column.locText.renderedHtml}\n aria-invalid={this.question.ariaInvalid}\n aria-describedby={this.question.ariaDescribedBy}\n />\n <span className={this.question.cssClasses.materialDecorator}>\n {this.question.itemSvgIcon ?\n <svg\n className={this.cssClasses.itemDecorator}\n >\n <use xlinkHref={this.question.itemSvgIcon}></use>\n </svg> :\n null\n }\n </span>\n <span style={!this.question.isMobile ? { display: \"none\" } : undefined } className={this.question.cssClasses.cellResponsiveTitle}>\n {this.renderLocString(column.locText)}\n </span>\n </label>\n </td>\n );\n }\n tds.push(td);\n }\n\n return tds;\n }\n cellClick(row: any, column: any) {\n row.value = column.value;\n this.setState({ value: this.row.value });\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"matrix\", props => {\n return React.createElement(SurveyQuestionMatrix, props);\n});\n","import * as React from \"react\";\nimport { SurveyQuestionMatrixDropdownBase } from \"./reactquestion_matrixdropdownbase\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\n\nexport class SurveyQuestionMatrixDropdown extends SurveyQuestionMatrixDropdownBase {\n constructor(props: any) {\n super(props);\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"matrixdropdown\", props => {\n return React.createElement(SurveyQuestionMatrixDropdown, props);\n});\n","import * as React from \"react\";\nimport {\n ReactSurveyElement,\n SurveyQuestionElementBase\n} from \"./reactquestion_element\";\nimport { SurveyQuestion, SurveyQuestionAndErrorsCell } from \"./reactquestion\";\nimport {\n QuestionMatrixDropdownModelBase,\n QuestionMatrixDropdownRenderedRow,\n QuestionMatrixDropdownRenderedCell,\n MatrixDropdownColumn,\n AdaptiveActionContainer,\n Question,\n Base\n} from \"survey-core\";\nimport { SurveyQuestionCheckboxItem } from \"./reactquestion_checkbox\";\nimport { SurveyQuestionRadioItem } from \"./reactquestion_radiogroup\";\nimport { SurveyPanel } from \"./panel\";\nimport { SurveyActionBar } from \"./components/action-bar/action-bar\";\nimport { MatrixRow } from \"./components/matrix/row\";\nimport { SurveyQuestionMatrixDynamicDragDropIcon } from \"./components/matrix-actions/drag-drop-icon/drag-drop-icon\";\nimport { SurveyQuestionOtherValueItem } from \"./reactquestion_comment\";\nimport { ReactElementFactory } from \"./element-factory\";\n\nexport class SurveyQuestionMatrixDropdownBase extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n //Create rendered table in contructor and not on rendering\n const table = this.question.renderedTable;\n this.state = this.getState();\n }\n protected get question(): QuestionMatrixDropdownModelBase {\n return this.questionBase as QuestionMatrixDropdownModelBase;\n }\n private getState(prevState: any = null) {\n return { rowCounter: !prevState ? 0 : prevState.rowCounter + 1 };\n }\n private updateStateOnCallback() {\n if (this.isRendering) return;\n this.setState(this.getState(this.state));\n }\n componentDidMount() {\n super.componentDidMount();\n this.question.visibleRowsChangedCallback = () => {\n this.updateStateOnCallback();\n };\n this.question.onRenderedTableResetCallback = () => {\n this.question.renderedTable.renderedRowsChangedCallback = () => {\n this.updateStateOnCallback();\n };\n this.updateStateOnCallback();\n };\n this.question.renderedTable.renderedRowsChangedCallback = () => {\n this.updateStateOnCallback();\n };\n }\n componentWillUnmount() {\n super.componentWillUnmount();\n this.question.visibleRowsChangedCallback = () => {};\n this.question.onRenderedTableResetCallback = () => {};\n this.question.renderedTable.renderedRowsChangedCallback = () => {};\n }\n protected renderElement(): JSX.Element {\n return this.renderTableDiv();\n }\n renderTableDiv(): JSX.Element {\n var header = this.renderHeader();\n var footers = this.renderFooter();\n var rows = this.renderRows();\n var divStyle = this.question.showHorizontalScroll\n ? ({ overflowX: \"scroll\" } as React.CSSProperties)\n : ({} as React.CSSProperties);\n return (\n <div style={divStyle} className={this.question.cssClasses.tableWrapper} ref={(root) => (this.setControl(root))}>\n <table className={this.question.getTableCss()}>\n {header}\n {rows}\n {footers}\n </table>\n </div>\n );\n }\n renderHeader(): JSX.Element | null {\n var table = this.question.renderedTable;\n if (!table.showHeader) return null;\n var headers: any[] = [];\n var cells = table.headerRow.cells;\n for (var i = 0; i < cells.length; i++) {\n var cell = cells[i];\n var key = \"column\" + i;\n var columnStyle: any = {};\n if (!!cell.width) {\n columnStyle.width = cell.width;\n }\n if (!!cell.minWidth) {\n columnStyle.minWidth = cell.minWidth;\n }\n var cellContent = this.renderCellContent(cell, \"column-header\", {});\n const header = cell.hasTitle ?\n <th className={cell.className} key={key} style={columnStyle}> {cellContent} </th>\n : <td className={cell.className} key={key} style={columnStyle}></td>;\n headers.push(header);\n }\n return (\n <thead>\n <tr>{headers}</tr>\n </thead>\n );\n }\n renderFooter(): JSX.Element | null {\n var table = this.question.renderedTable;\n if (!table.showFooter) return null;\n var row = this.renderRow(\n \"footer\",\n table.footerRow,\n this.question.cssClasses,\n \"row-footer\"\n );\n return <tfoot>{row}</tfoot>;\n }\n renderRows(): JSX.Element {\n var cssClasses = this.question.cssClasses;\n var rows:Array<JSX.Element> = [];\n var renderedRows = this.question.renderedTable.rows;\n for (var i = 0; i < renderedRows.length; i++) {\n rows.push(\n this.renderRow(renderedRows[i].id, renderedRows[i], cssClasses)\n );\n }\n return <tbody>{rows}</tbody>;\n }\n renderRow(\n keyValue: any,\n row: QuestionMatrixDropdownRenderedRow,\n cssClasses: any,\n reason?: string\n ): JSX.Element {\n var matrixrow:Array<JSX.Element> = [];\n var cells = row.cells;\n\n for (var i = 0; i < cells.length; i++) {\n matrixrow.push(this.renderCell(cells[i], i, cssClasses, reason));\n }\n var key = \"row\" + keyValue;\n\n return (\n <React.Fragment key={key}>\n <MatrixRow model={row} parentMatrix={this.question}>{matrixrow}</MatrixRow>\n </React.Fragment>\n );\n }\n\n renderCell(\n cell: QuestionMatrixDropdownRenderedCell,\n index: number,\n cssClasses: any,\n reason?: string\n ): JSX.Element {\n var key = \"cell\" + index;\n if (cell.hasQuestion) {\n return (\n <SurveyQuestionMatrixDropdownCell\n key={key}\n cssClasses={cssClasses}\n cell={cell}\n creator={this.creator}\n reason={reason}\n />\n );\n }\n let calcReason = reason;\n if(!calcReason) {\n calcReason = cell.hasTitle ? \"row-header\" : \"\";\n }\n var cellContent = this.renderCellContent(cell, calcReason, cssClasses);\n var cellStyle: any = null;\n if (!!cell.width || !!cell.minWidth) {\n cellStyle = {};\n if (!!cell.width) cellStyle.width = cell.width;\n if (!!cell.minWidth) cellStyle.minWidth = cell.minWidth;\n }\n\n return (\n <td\n className={cell.className}\n key={key}\n style={cellStyle}\n colSpan={cell.colSpans}\n data-responsive-title={cell.headers}\n title={cell.getTitle()}\n >\n {cellContent}\n </td>\n );\n }\n private renderCellContent(\n cell: QuestionMatrixDropdownRenderedCell,\n reason: string,\n cssClasses: any\n ): JSX.Element | null {\n var cellContent: JSX.Element | null = null;\n var cellStyle: any = null;\n if (!!cell.width || !!cell.minWidth) {\n cellStyle = {};\n if (!!cell.width) cellStyle.width = cell.width;\n if (!!cell.minWidth) cellStyle.minWidth = cell.minWidth;\n }\n if (cell.hasTitle) {\n reason = \"row-header\";\n const str = this.renderLocString(cell.locTitle);\n const require = !!cell.column ? <SurveyQuestionMatrixHeaderRequired column={cell.column} question={this.question}/> : null;\n cellContent = (<>{str}{require}</>);\n }\n if (cell.isDragHandlerCell) {\n cellContent = (<>\n <SurveyQuestionMatrixDynamicDragDropIcon item={{ data: { row: cell.row, question: this.question } }}/>\n </>);\n }\n if (cell.isActionsCell) {\n cellContent = (\n ReactElementFactory.Instance.createElement(\"sv-matrixdynamic-actions-cell\", {\n question: this.question, cssClasses, cell, model: cell.item.getData()\n })\n );\n }\n if (cell.hasPanel) {\n cellContent = (\n <SurveyPanel\n key={cell.panel.id}\n element={cell.panel}\n survey={this.question.survey}\n cssClasses={cssClasses}\n isDisplayMode={this.isDisplayMode}\n creator={this.creator}\n />\n );\n }\n if (!cellContent) return null;\n\n const readyCell = (\n <>\n {cellContent}\n </>\n );\n return this.wrapCell(cell, readyCell, reason);\n }\n}\n\nclass SurveyQuestionMatrixActionsCell extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n }\n get model(): AdaptiveActionContainer {\n return this.props.model;\n }\n protected renderElement(): JSX.Element {\n return (\n <SurveyActionBar model={this.model} handleClick={false}></SurveyActionBar>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\n \"sv-matrixdynamic-actions-cell\",\n (props) => {\n return React.createElement(SurveyQuestionMatrixActionsCell, props);\n }\n);\nclass SurveyQuestionMatrixHeaderRequired extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n }\n get column(): MatrixDropdownColumn {\n return this.props.column;\n }\n get question(): Question {\n return this.props.question;\n }\n protected getStateElement(): Base {\n return this.column;\n }\n protected renderElement(): JSX.Element | null {\n if(!this.column.isRenderedRequired) return null;\n return (\n <>\n <span className={this.question.cssClasses.cellRequiredText}>{this.column.requiredText}</span>\n </>\n );\n }\n}\n\nexport class SurveyQuestionMatrixDropdownCell extends SurveyQuestionAndErrorsCell {\n constructor(props: any) {\n super(props);\n }\n private get cell(): QuestionMatrixDropdownRenderedCell {\n return this.props.cell;\n }\n protected get itemCss(): string {\n return !!this.cell ? this.cell.className : \"\";\n }\n protected getQuestion(): Question | any {\n var q = super.getQuestion();\n if (!!q) return q;\n return !!this.cell ? this.cell.question : null;\n }\n protected doAfterRender() {\n var el = this.cellRef.current;\n if (\n el &&\n this.cell &&\n this.question &&\n this.question.survey &&\n el.getAttribute(\"data-rendered\") !== \"r\"\n ) {\n el.setAttribute(\"data-rendered\", \"r\");\n var options = {\n cell: this.cell,\n cellQuestion: this.question,\n htmlElement: el,\n row: this.cell.row,\n column: this.cell.cell.column,\n };\n this.question.survey.matrixAfterCellRender(this.question, options);\n }\n }\n protected getShowErrors(): boolean {\n return (\n this.question.isVisible &&\n (!this.cell.isChoice || this.cell.isFirstChoice)\n );\n }\n protected getCellStyle(): any {\n var res: any = super.getCellStyle();\n if (!!this.cell.width || !!this.cell.minWidth) {\n if (!res) res = {};\n if (!!this.cell.width) res.width = this.cell.width;\n if (!!this.cell.minWidth) res.minWidth = this.cell.minWidth;\n }\n\n return res;\n }\n\n protected getHeaderText(): string {\n return this.cell.headers;\n }\n protected renderQuestion(): JSX.Element {\n if (!this.cell.isChoice)\n return SurveyQuestion.renderQuestionBody(this.creator, this.question);\n if (this.cell.isOtherChoice) return this.renderOtherComment();\n if (this.cell.isCheckbox) return this.renderCellCheckboxButton();\n return this.renderCellRadiogroupButton();\n }\n private renderOtherComment(): JSX.Element {\n const question = this.cell.question;\n const cssClasses = question.cssClasses || {};\n return <SurveyQuestionOtherValueItem question={question} cssClasses={cssClasses} otherCss={cssClasses.other} isDisplayMode={question.isInputReadOnly} />;\n }\n private renderCellCheckboxButton(): JSX.Element {\n var key = this.cell.question.id + \"item\" + this.cell.choiceIndex;\n return (\n <SurveyQuestionCheckboxItem\n key={key}\n question={this.cell.question}\n cssClasses={this.cell.question.cssClasses}\n isDisplayMode={this.cell.question.isInputReadOnly}\n item={this.cell.item}\n isFirst={this.cell.isFirstChoice}\n index={this.cell.choiceIndex.toString()}\n hideCaption={true}\n />\n );\n }\n private renderCellRadiogroupButton(): JSX.Element {\n var key = this.cell.question.id + \"item\" + this.cell.choiceIndex;\n return (\n <SurveyQuestionRadioItem\n key={key}\n question={this.cell.question}\n cssClasses={this.cell.question.cssClasses}\n isDisplayMode={this.cell.question.isInputReadOnly}\n item={this.cell.item}\n index={this.cell.choiceIndex.toString()}\n isChecked={this.cell.question.value === this.cell.item.value}\n isDisabled={this.cell.question.isReadOnly || !this.cell.item.isEnabled}\n hideCaption={true}\n />\n );\n }\n}\n","import * as React from \"react\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { SurveyQuestionMatrixDropdownBase } from \"./reactquestion_matrixdropdownbase\";\nimport { QuestionMatrixDynamicModel } from \"survey-core\";\nimport { ReactElementFactory } from \"./element-factory\";\nimport { ReactSurveyElement } from \"./reactquestion_element\";\n\nexport class SurveyQuestionMatrixDynamic extends SurveyQuestionMatrixDropdownBase {\n constructor(props: any) {\n super(props);\n this.handleOnRowAddClick = this.handleOnRowAddClick.bind(this);\n }\n protected get matrix(): QuestionMatrixDynamicModel {\n return this.questionBase as QuestionMatrixDynamicModel;\n }\n handleOnRowAddClick(event: any) {\n this.matrix.addRowUI();\n }\n protected renderElement(): JSX.Element {\n var cssClasses = this.question.cssClasses;\n var showTable = this.question.renderedTable.showTable;\n var mainDiv = showTable\n ? this.renderTableDiv()\n : this.renderNoRowsContent(cssClasses);\n return (\n <div>\n {this.renderAddRowButtonOnTop(cssClasses)}\n {mainDiv}\n {this.renderAddRowButtonOnBottom(cssClasses)}\n </div>\n );\n }\n protected renderAddRowButtonOnTop(cssClasses: any): JSX.Element | null {\n if (!this.matrix.renderedTable.showAddRowOnTop) return null;\n return this.renderAddRowButton(cssClasses);\n }\n protected renderAddRowButtonOnBottom(cssClasses: any): JSX.Element | null {\n if (!this.matrix.renderedTable.showAddRowOnBottom) return null;\n return this.renderAddRowButton(cssClasses);\n }\n protected renderNoRowsContent(cssClasses: any): JSX.Element {\n const text: JSX.Element = this.renderLocString(this.matrix.locEmptyRowsText);\n const textDiv: JSX.Element = <div className={cssClasses.emptyRowsText}>{text}</div>;\n const btn: JSX.Element = this.renderAddRowButton(cssClasses, true);\n return (\n <div className={cssClasses.emptyRowsSection}>\n {textDiv}\n {btn}\n </div>\n );\n }\n protected renderAddRowButton(\n cssClasses: any,\n isEmptySection: boolean = false\n ): JSX.Element {\n return ReactElementFactory.Instance.createElement(\"sv-matrixdynamic-add-btn\", {\n question: this.question, cssClasses, isEmptySection\n });\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"matrixdynamic\", (props) => {\n return React.createElement(SurveyQuestionMatrixDynamic, props);\n});\n\nexport class SurveyQuestionMatrixDynamicAddButton extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n this.handleOnRowAddClick = this.handleOnRowAddClick.bind(this);\n }\n protected get matrix(): QuestionMatrixDynamicModel {\n return this.props.question as QuestionMatrixDynamicModel;\n }\n handleOnRowAddClick(event: any) {\n this.matrix.addRowUI();\n }\n protected renderElement(): JSX.Element {\n const addRowText: JSX.Element = this.renderLocString(this.matrix.locAddRowText);\n const addButton = (<button\n className={this.matrix.getAddRowButtonCss(this.props.isEmptySection)}\n type=\"button\"\n disabled={this.matrix.isInputReadOnly}\n onClick={\n this.matrix.isDesignMode ? undefined : this.handleOnRowAddClick\n }\n >\n {addRowText}\n <span className={this.props.cssClasses.iconAdd} />\n </button>);\n return (\n this.props.isEmptySection ? addButton : <div className={this.props.cssClasses.footer}>{addButton}</div>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\n \"sv-matrixdynamic-add-btn\",\n (props) => {\n return React.createElement(SurveyQuestionMatrixDynamicAddButton, props);\n }\n);\n","import * as React from \"react\";\nimport { SurveyQuestionElementBase } from \"./reactquestion_element\";\nimport { ISurveyCreator, SurveyElementErrors, SurveyQuestionAndErrorsWrapped } from \"./reactquestion\";\nimport { QuestionMultipleTextModel, MultipleTextItemModel } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { ReactSurveyElement } from \"./reactquestion_element\";\nimport { TitleContent } from \"./components/title/title-content\";\n\nexport class SurveyQuestionMultipleText extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n }\n protected get question(): QuestionMultipleTextModel {\n return this.questionBase as QuestionMultipleTextModel;\n }\n protected renderElement(): JSX.Element {\n var cssClasses = this.question.cssClasses;\n var tableRows = this.question.getRows();\n var rows:Array<JSX.Element> = [];\n for (var i = 0; i < tableRows.length; i++) {\n rows.push(this.renderRow(i, tableRows[i], cssClasses));\n }\n return (\n <table className={cssClasses.root}>\n <tbody>{rows}</tbody>\n </table>\n );\n }\n protected renderRow(\n rowIndex: number,\n items: Array<MultipleTextItemModel>,\n cssClasses: any\n ) {\n var key: string = \"item\" + rowIndex;\n var tds:Array<JSX.Element> = [];\n for (var i = 0; i < items.length; i++) {\n var item = items[i];\n tds.push(\n <td key={\"item\" + i} className={this.question.cssClasses.cell}>\n <SurveyMultipleTextItem question={this.question} item={item} creator={this.creator} cssClasses={cssClasses}></SurveyMultipleTextItem>\n </td>\n );\n }\n return (\n <tr key={key} className={cssClasses.row}>\n {tds}\n </tr>\n );\n }\n}\n\nexport class SurveyMultipleTextItem extends ReactSurveyElement {\n private get question(): QuestionMultipleTextModel {\n return this.props.question;\n }\n private get item(): MultipleTextItemModel {\n return this.props.item;\n }\n protected getStateElements() {\n return [this.item, this.item.editor];\n }\n private get creator(): ISurveyCreator {\n return this.props.creator;\n }\n\n protected renderElement() {\n const item = this.item;\n const cssClasses = this.cssClasses;\n return (<label className={this.question.getItemLabelCss(item)}>\n <span className={cssClasses.itemTitle}>\n <TitleContent element={item.editor} cssClasses={item.editor.cssClasses}></TitleContent>\n </span>\n <SurveyMultipleTextItemEditor\n cssClasses={cssClasses}\n itemCss={this.question.getItemCss()}\n question={item.editor}\n creator={this.creator}\n />\n {this.renderItemTooltipError(item, cssClasses)}\n </label>);\n }\n\n protected renderItemTooltipError(item: MultipleTextItemModel, cssClasses: any): JSX.Element | null {\n return this.item.editor.isErrorsModeTooltip ? (\n <SurveyElementErrors\n element={item.editor}\n cssClasses={cssClasses}\n creator={this.creator}\n location={\"tooltip\"}\n id={item.editor.id + \"_errors\"}\n />\n ): null;\n }\n}\n\nexport class SurveyMultipleTextItemEditor extends SurveyQuestionAndErrorsWrapped {\n protected renderElement(): JSX.Element {\n return <div className={this.itemCss}>{this.renderContent()}</div>;\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"multipletext\", (props) => {\n return React.createElement(SurveyQuestionMultipleText, props);\n});\n","import * as React from \"react\";\nimport { SurveyQuestionElementBase } from \"./reactquestion_element\";\nimport { SurveyModel, QuestionPanelDynamicModel } from \"survey-core\";\nimport { SurveyPanel } from \"./panel\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { SvgIcon } from \"./components/svg-icon/svg-icon\";\nimport { SurveyActionBar } from \"./components/action-bar/action-bar\";\nimport { SurveyQuestionPanelDynamicNextButton } from \"./components/paneldynamic-actions/paneldynamic-next-btn\";\nimport { SurveyQuestionPanelDynamicPrevButton } from \"./components/paneldynamic-actions/paneldynamic-prev-btn\";\nimport { SurveyQuestionPanelDynamicProgressText } from \"./components/paneldynamic-actions/paneldynamic-progress-text\";\nimport { SurveyQuestionPanelDynamicAddButton } from \"./components/paneldynamic-actions/paneldynamic-add-btn\";\nimport { SurveyQuestionPanelDynamicRemoveButton } from \"./components/paneldynamic-actions/paneldynamic-remove-btn\";\nimport { ReactElementFactory } from \"./element-factory\";\n\nexport class SurveyQuestionPanelDynamic extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n }\n protected get question(): QuestionPanelDynamicModel {\n return this.questionBase as QuestionPanelDynamicModel;\n }\n componentDidMount() {\n super.componentDidMount();\n this.setState({ panelCounter: 0 });\n const self: SurveyQuestionPanelDynamic = this;\n this.question.panelCountChangedCallback = function () {\n self.updateQuestionRendering();\n };\n this.question.currentIndexChangedCallback = function () {\n self.updateQuestionRendering();\n };\n this.question.renderModeChangedCallback = function () {\n self.updateQuestionRendering();\n };\n }\n componentWillUnmount() {\n super.componentWillUnmount();\n this.question.panelCountChangedCallback = () => {};\n this.question.currentIndexChangedCallback = () => {};\n this.question.renderModeChangedCallback = () => {};\n }\n private updateQuestionRendering() {\n this.setState({\n panelCounter: this.state ? this.state.panelCounter + 1 : 1,\n });\n }\n protected renderElement(): JSX.Element {\n const panels:Array<JSX.Element> = [];\n if (this.question.isRenderModeList) {\n for (let i = 0; i < this.question.panels.length; i++) {\n const panel = this.question.panels[i];\n panels.push(\n <SurveyQuestionPanelDynamicItem\n key={panel.id}\n element={panel}\n question={this.question}\n index={i}\n cssClasses={this.question.cssClasses}\n isDisplayMode={this.isDisplayMode}\n creator={this.creator}\n />\n );\n }\n } else {\n if (this.question.currentPanel != null) {\n const panel = this.question.currentPanel;\n panels.push(\n <SurveyQuestionPanelDynamicItem\n key={this.question.currentIndex}\n element={panel}\n question={this.question}\n index={this.question.currentIndex}\n cssClasses={this.question.cssClasses}\n isDisplayMode={this.isDisplayMode}\n creator={this.creator}\n />\n );\n }\n }\n const btnAdd: JSX.Element | null = this.question.isRenderModeList && this.question[\"showLegacyNavigation\"]\n ? this.renderAddRowButton()\n : null;\n const navTop: JSX.Element | null = this.question.isProgressTopShowing\n ? this.renderNavigator()\n : null;\n const navBottom: JSX.Element | null = this.question.isProgressBottomShowing\n ? this.renderNavigator()\n : null;\n\n const style: any = {};\n const navV2 = this.renderNavigatorV2();\n const noEntriesPlaceholder = this.renderPlaceholder();\n return (\n <div className={this.question.cssClasses.root}>\n {noEntriesPlaceholder}\n {navTop}\n {panels}\n {navBottom}\n {btnAdd}\n {navV2}\n </div>\n );\n }\n protected renderNavigator(): JSX.Element | null {\n if(!this.question[\"showLegacyNavigation\"]) {\n if(this.question.isRangeShowing && this.question.isProgressTopShowing) {\n return this.renderRange();\n } else {\n return null;\n }\n }\n const range: JSX.Element | null = this.question.isRangeShowing ? this.renderRange() : null;\n const btnPrev: JSX.Element = this.rendrerPrevButton();\n const btnNext: JSX.Element = this.rendrerNextButton();\n const btnAdd: JSX.Element | null = this.renderAddRowButton();\n const progressClass: string = this.question.isProgressTopShowing\n ? this.question.cssClasses.progressTop\n : this.question.cssClasses.progressBottom;\n return (\n <div className={progressClass}>\n <div style={{ clear: \"both\" }}>\n <div className={this.question.cssClasses.progressContainer}>\n {btnPrev}\n {range}\n {btnNext}\n </div>\n {btnAdd}\n {this.renderProgressText()}\n </div>\n </div>\n );\n }\n private renderProgressText(): JSX.Element {\n return (\n <SurveyQuestionPanelDynamicProgressText data={ { question: this.question }}></SurveyQuestionPanelDynamicProgressText>\n );\n }\n\n protected rendrerPrevButton() {\n return (\n <SurveyQuestionPanelDynamicPrevButton data={ { question: this.question }}></SurveyQuestionPanelDynamicPrevButton>\n );\n }\n protected rendrerNextButton() {\n return (\n <SurveyQuestionPanelDynamicNextButton data={ { question: this.question }}></SurveyQuestionPanelDynamicNextButton>\n );\n }\n\n protected renderRange(): JSX.Element {\n return (\n <div className={this.question.cssClasses.progress}>\n <div\n className={this.question.cssClasses.progressBar}\n style={{ width: this.question.progress }}\n role=\"progressbar\"\n />\n </div>\n );\n }\n protected renderAddRowButton(): JSX.Element | null {\n return ReactElementFactory.Instance.createElement(\"sv-paneldynamic-add-btn\", {\n data: { question: this.question }\n });\n }\n protected renderNavigatorV2(): JSX.Element | null {\n if (!this.question.showNavigation) return null;\n const range: JSX.Element | null = this.question.isRangeShowing && this.question.isProgressBottomShowing ? this.renderRange() : null;\n return (<div className={this.question.cssClasses.footer}>\n <hr className={this.question.cssClasses.separator} />\n {range}\n {this.question.footerToolbar.visibleActions.length ? (<div className={this.question.cssClasses.footerButtonsContainer}>\n <SurveyActionBar model={this.question.footerToolbar}></SurveyActionBar>\n </div>) : null}\n </div>);\n }\n protected renderPlaceholder(): JSX.Element | null {\n if (this.question.getShowNoEntriesPlaceholder()) {\n return (\n <div className={this.question.cssClasses.noEntriesPlaceholder}>\n <span>{this.renderLocString(this.question.locNoEntriesText)}</span>\n {this.renderAddRowButton()}\n </div>\n );\n }\n return null;\n }\n}\n\nexport class SurveyQuestionPanelDynamicItem extends SurveyPanel {\n private get question(): QuestionPanelDynamicModel {\n return this.props.question;\n }\n private get index(): number {\n return this.props.index;\n }\n protected getSurvey(): SurveyModel | null {\n return !!this.question ? (this.question.survey as SurveyModel) : null;\n }\n protected getCss(): any {\n const survey = this.getSurvey();\n return !!survey ? survey.getCss() : {};\n }\n public render() {\n const panel = super.render();\n const removeButton = this.renderButton();\n const separator: JSX.Element | null = this.question.showSeparator(this.index) ?\n (<hr className={this.question.cssClasses.separator} />) : null;\n return (\n <>\n <div className={this.question.getPanelWrapperCss()}>\n {panel}\n {removeButton}\n </div>\n {separator}\n </>\n );\n }\n protected renderButton(): JSX.Element | null {\n if (\n this.question.panelRemoveButtonLocation !== \"right\" ||\n !this.question.canRemovePanel ||\n (this.question.isRenderModeList && this.panel.isCollapsed)\n ) {\n return null;\n }\n return ReactElementFactory.Instance.createElement(\"sv-paneldynamic-remove-btn\", {\n data: { question: this.question, panel: this.panel }\n });\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"paneldynamic\", props => {\n return React.createElement(SurveyQuestionPanelDynamic, props);\n});\n","import * as React from \"react\";\nimport { SurveyQuestionElementBase, ReactSurveyElement } from \"./reactquestion_element\";\nimport { QuestionRadiogroupModel, ItemValue, Base, SurveyModel } from \"survey-core\";\nimport { SurveyQuestionOtherValueItem } from \"./reactquestion_comment\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { ReactSurveyElementsWrapper } from \"./reactsurveymodel\";\nimport { ReactElementFactory } from \"./element-factory\";\n\nexport class SurveyQuestionRadiogroup extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n }\n protected get question(): QuestionRadiogroupModel {\n return this.questionBase as QuestionRadiogroupModel;\n }\n protected renderElement(): JSX.Element {\n var cssClasses = this.question.cssClasses;\n var clearButton: JSX.Element | null = null;\n if (this.question.showClearButtonInContent) {\n clearButton = (\n <div>\n <input\n type=\"button\"\n className={this.question.cssClasses.clearButton}\n onClick={() => this.question.clearValue()}\n value={this.question.clearButtonCaption}\n />\n </div>\n );\n }\n return (\n <fieldset\n className={this.question.getSelectBaseRootCss()}\n role=\"presentation\"\n ref={(fieldset) => (this.setControl(fieldset))}\n >\n {this.question.hasColumns\n ? this.getColumnedBody(cssClasses)\n : this.getBody(cssClasses)}\n {this.getFooter()}\n {this.question.isOtherSelected ? this.renderOther(cssClasses) : null}\n {clearButton}\n </fieldset>\n );\n }\n protected getFooter() {\n if (this.question.hasFootItems) {\n return this.question.footItems.map((item: any, ii: number) =>\n this.renderItem(\n \"item_f\" + ii,\n item,\n false,\n this.question.cssClasses\n )\n );\n }\n }\n protected getColumnedBody(cssClasses: any) {\n return (\n <div className={cssClasses.rootMultiColumn}>\n {this.getColumns(cssClasses)}\n </div>\n );\n }\n protected getColumns(cssClasses: any) {\n var value = this.getStateValue();\n return this.question.columns.map((column: any, ci: number) => {\n var items = column.map((item: any, ii: number) =>\n this.renderItem(\"item\" + ci + ii, item, value, cssClasses, \"\" + ci + ii)\n );\n return (\n <div key={\"column\" + ci} className={this.question.getColumnClass()} role=\"presentation\">\n {items}\n </div>\n );\n });\n }\n\n protected getBody(cssClasses: any): JSX.Element {\n if(this.question.blockedRow) {\n return <div className={cssClasses.rootRow}>{this.getItems(cssClasses, this.question.dataChoices)}</div>;\n }\n else return <>{this.getItems(cssClasses, this.question.bodyItems)}</>;\n }\n\n protected getItems(cssClasses: any, choices: Array <ItemValue>): Array<any> {\n var items:Array<JSX.Element> = [];\n var value = this.getStateValue();\n for (var i = 0; i < choices.length; i++) {\n var item = choices[i];\n var renderedItem = this.renderItem(\"item\" + i, item, value, cssClasses, \"\" + i);\n items.push(renderedItem);\n }\n return items;\n }\n protected get textStyle(): any {\n return null;//{ display: \"inline\", position: \"static\" };\n }\n protected renderOther(cssClasses: any): JSX.Element {\n return (\n <div className={this.question.getCommentAreaCss(true)}>\n <SurveyQuestionOtherValueItem\n question={this.question}\n otherCss={cssClasses.other}\n cssClasses={cssClasses}\n isDisplayMode={this.isDisplayMode}\n />\n </div>\n );\n }\n private renderItem(\n key: string,\n item: ItemValue,\n value: any,\n cssClasses: any,\n index?: string\n ): JSX.Element {\n const renderedItem = ReactElementFactory.Instance.createElement(this.question.itemComponent, {\n key: key,\n question: this.question,\n cssClasses: cssClasses,\n isDisplayMode: this.isDisplayMode,\n item: item,\n textStyle: this.textStyle,\n index: index,\n isChecked: value === item.value,\n });\n const survey = this.question.survey as SurveyModel;\n let wrappedItem: JSX.Element | null = null;\n if (!!survey) {\n wrappedItem = ReactSurveyElementsWrapper.wrapItemValue(survey, renderedItem, this.question, item);\n }\n return wrappedItem ?? renderedItem;\n }\n private getStateValue(): any {\n return !this.question.isEmpty() ? this.question.renderedValue : \"\";\n }\n}\n\nexport class SurveyQuestionRadioItem extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n this.handleOnChange = this.handleOnChange.bind(this);\n this.handleOnMouseDown = this.handleOnMouseDown.bind(this);\n }\n protected getStateElement(): Base {\n return this.item;\n }\n protected get question(): QuestionRadiogroupModel {\n return this.props.question;\n }\n protected get item(): ItemValue {\n return this.props.item;\n }\n protected get textStyle(): any {\n return this.props.textStyle;\n }\n protected get index(): number {\n return this.props.index;\n }\n protected get isChecked(): boolean {\n return this.props.isChecked;\n }\n private get hideCaption(): boolean {\n return this.props.hideCaption === true;\n }\n public shouldComponentUpdate(nextProps: any, nextState: any): boolean {\n if (!super.shouldComponentUpdate(nextProps, nextState)) return false;\n if(!this.question) return false;\n return (\n !this.question.customWidget ||\n !!this.question.customWidgetData.isNeedRender ||\n !!this.question.customWidget.widgetJson.isDefaultRender ||\n !!this.question.customWidget.widgetJson.render\n );\n }\n handleOnChange(event: any) {\n this.question.clickItemHandler(this.item);\n }\n handleOnMouseDown(event: any) {\n this.question.onMouseDown();\n }\n protected canRender(): boolean {\n return !!this.question && !!this.item;\n }\n protected renderElement(): JSX.Element {\n var itemClass = this.question.getItemClass(this.item);\n var labelClass = this.question.getLabelClass(this.item);\n var controlLabelClass = this.question.getControlLabelClass(this.item);\n const itemLabel = !this.hideCaption ? <span className={controlLabelClass}>{this.renderLocString(this.item.locText, this.textStyle)}</span> : null;\n return (\n <div\n className={itemClass}\n role=\"presentation\"\n >\n <label onMouseDown={this.handleOnMouseDown} className={labelClass} aria-label={this.question.getAriaItemLabel(this.item)}>\n <input\n aria-describedby={this.question.ariaDescribedBy}\n className={this.cssClasses.itemControl}\n id={this.question.getItemId(this.item)}\n type=\"radio\"\n name={this.question.questionName}\n checked={this.isChecked}\n value={this.item.value}\n disabled={!this.question.getItemEnabled(this.item)}\n onChange={this.handleOnChange}\n />\n {\n this.cssClasses.materialDecorator ?\n <span className={this.cssClasses.materialDecorator}>\n {this.question.itemSvgIcon ?\n <svg\n className={this.cssClasses.itemDecorator}\n >\n <use xlinkHref={this.question.itemSvgIcon}></use>\n </svg> :\n null\n }\n </span> :\n null\n }\n {itemLabel}\n </label>\n </div>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\"survey-radiogroup-item\", (props: any) => {\n return React.createElement(SurveyQuestionRadioItem, props);\n});\n\nReactQuestionFactory.Instance.registerQuestion(\"radiogroup\", (props) => {\n return React.createElement(SurveyQuestionRadiogroup, props);\n});\n","import * as React from \"react\";\nimport {\n ReactSurveyElement,\n SurveyQuestionElementBase,\n} from \"./reactquestion_element\";\nimport { QuestionRankingModel, SurveyModel, ItemValue } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { ReactSurveyElementsWrapper } from \"./reactsurveymodel\";\n\nexport class SurveyQuestionRanking extends SurveyQuestionElementBase {\n protected get question(): QuestionRankingModel {\n return this.questionBase as QuestionRankingModel;\n }\n\n protected renderElement(): JSX.Element {\n\n if (!this.question.selectToRankEnabled) {\n return (\n <div\n className={this.question.rootClass}\n ref={(root) => (this.setControl(root))}\n >\n {this.getItems()}\n </div>\n );\n } else {\n const unrankedItem = true;\n return (\n <div\n className={this.question.rootClass}\n ref={(root) => (this.setControl(root))}\n >\n <div className={this.question.getContainerClasses(\"from\")} data-ranking=\"from-container\">\n {this.getItems(this.question.unRankingChoices, unrankedItem)}\n {this.question.unRankingChoices.length === 0 ? <div className={this.question.cssClasses.containerPlaceholder}> {this.question.selectToRankEmptyRankedAreaText} </div> : null}\n </div>\n\n <div className={this.question.cssClasses.containersDivider}></div>\n\n <div className={this.question.getContainerClasses(\"to\")} data-ranking=\"to-container\">\n {this.getItems()}\n {this.question.rankingChoices.length === 0 ? <div className={this.question.cssClasses.containerPlaceholder}>{this.question.selectToRankEmptyUnrankedAreaText}</div> : null}\n </div>\n </div>\n );\n }\n }\n\n protected getItems(choices: any = this.question.rankingChoices, unrankedItem?: boolean): Array<any> {\n const items: Array<JSX.Element> = [];\n for (let i = 0; i < choices.length; i++) {\n const item = choices[i];\n items.push(\n this.renderItem(\n item,\n i,\n (event: PointerEvent) => {\n this.question.handleKeydown.call(this.question, event, item);\n },\n (event: any) => {\n event.persist();\n //event.preventDefault();\n this.question.handlePointerDown.call(\n this.question,\n event,\n item,\n event.currentTarget\n );\n },\n this.question.cssClasses,\n this.question.getItemClass(item),\n this.question,\n unrankedItem\n )\n );\n }\n return items;\n }\n\n protected renderItem(\n item: ItemValue,\n i: number,\n handleKeydown: (event: any) => void,\n handlePointerDown: (event: PointerEvent) => void,\n cssClasses: any,\n itemClass: string,\n question: QuestionRankingModel,\n unrankedItem?: boolean\n ): JSX.Element {\n const key: string = item.value + \"-\" + i + \"-item\";\n const text: JSX.Element = this.renderLocString(item.locText);\n const index = i;\n const indexText: string = this.question.getNumberByIndex(i);\n const tabIndex: number = this.question.getItemTabIndex(item);\n const renderedItem = (\n <SurveyQuestionRankingItem\n key={key}\n text={text}\n index={index}\n indexText={indexText}\n itemTabIndex={tabIndex}\n handleKeydown={handleKeydown}\n handlePointerDown={handlePointerDown}\n cssClasses={cssClasses}\n itemClass={itemClass}\n question={question}\n unrankedItem={unrankedItem}\n item={item}\n />\n );\n const survey = this.question.survey as SurveyModel;\n let wrappedItem: JSX.Element | null = null;\n if (!!survey) {\n wrappedItem = ReactSurveyElementsWrapper.wrapItemValue(survey, renderedItem, this.question, item);\n }\n return wrappedItem ?? renderedItem;\n }\n}\n\nexport class SurveyQuestionRankingItem extends ReactSurveyElement {\n protected get text(): string {\n return this.props.text;\n }\n protected get index(): string {\n return this.props.index;\n }\n protected get indexText(): string {\n return this.props.indexText;\n }\n protected get handleKeydown(): (event: any) => void {\n return this.props.handleKeydown;\n }\n protected get handlePointerDown(): (event: any) => void {\n return this.props.handlePointerDown;\n }\n protected get cssClasses(): any {\n return this.props.cssClasses;\n }\n protected get itemClass(): string {\n return this.props.itemClass;\n }\n protected get itemTabIndex(): number {\n return this.props.itemTabIndex;\n }\n protected get question(): any {\n return this.props.question;\n }\n protected get unrankedItem(): any {\n return this.props.unrankedItem;\n }\n protected get item(): any {\n return this.props.item;\n }\n\n protected renderElement(): JSX.Element {\n return (\n <div\n tabIndex={this.itemTabIndex}\n className={this.itemClass}\n onKeyDown={this.handleKeydown}\n onPointerDown={this.handlePointerDown}\n data-sv-drop-target-ranking-item={this.index}\n >\n <div tabIndex={-1} style={{ outline: \"none\" }}>\n <div className={this.cssClasses.itemGhostNode} />\n <div className={this.cssClasses.itemContent}>\n <div className={this.cssClasses.itemIconContainer}>\n <svg\n width=\"10\"\n height=\"16\"\n viewBox=\"0 0 10 16\"\n className={this.question.getIconHoverCss()}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M6 2C6 0.9 6.9 0 8 0C9.1 0 10 0.9 10 2C10 3.1 9.1 4 8 4C6.9 4 6 3.1 6 2ZM2 0C0.9 0 0 0.9 0 2C0 3.1 0.9 4 2 4C3.1 4 4 3.1 4 2C4 0.9 3.1 0 2 0ZM8 6C6.9 6 6 6.9 6 8C6 9.1 6.9 10 8 10C9.1 10 10 9.1 10 8C10 6.9 9.1 6 8 6ZM2 6C0.9 6 0 6.9 0 8C0 9.1 0.9 10 2 10C3.1 10 4 9.1 4 8C4 6.9 3.1 6 2 6ZM8 12C6.9 12 6 12.9 6 14C6 15.1 6.9 16 8 16C9.1 16 10 15.1 10 14C10 12.9 9.1 12 8 12ZM2 12C0.9 12 0 12.9 0 14C0 15.1 0.9 16 2 16C3.1 16 4 15.1 4 14C4 12.9 3.1 12 2 12Z\" />\n </svg>\n <svg\n width=\"10\"\n height=\"24\"\n viewBox=\"0 0 10 24\"\n className={this.question.getIconFocusCss()}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M10 5L5 0L0 5H4V9H6V5H10Z\" />\n <path d=\"M6 19V15H4V19H0L5 24L10 19H6Z\" />\n </svg>\n </div>\n\n <div className={this.question.getItemIndexClasses(this.item)}>{this.unrankedItem ? \"\" : this.indexText}</div>\n <div className={this.cssClasses.controlLabel}>{this.text}</div>\n </div>\n </div>\n </div>\n );\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"ranking\", (props) => {\n return React.createElement(SurveyQuestionRanking, props);\n});\n","import * as React from \"react\";\nimport { SurveyQuestionElementBase } from \"./reactquestion_element\";\nimport { QuestionRatingModel, RenderedRatingItem } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { ReactElementFactory } from \"./element-factory\";\n\nexport class SurveyQuestionRating extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n this.handleOnClick = this.handleOnClick.bind(this);\n }\n protected get question(): QuestionRatingModel {\n return this.questionBase as QuestionRatingModel;\n }\n handleOnClick(event: any) {\n this.question.setValueFromClick(event.target.value);\n this.setState({ value: this.question.value });\n }\n\n protected renderItem(\n item: any,\n index: Number\n ): JSX.Element {\n const renderedItem = ReactElementFactory.Instance.createElement(this.question.itemComponentName, {\n question: this.question,\n item: item,\n index: index,\n key: \"value\" + index,\n handleOnClick: this.handleOnClick,\n isDisplayMode: this.isDisplayMode\n });\n return renderedItem;\n }\n\n protected renderElement(): JSX.Element {\n var cssClasses = this.question.cssClasses;\n var minText = this.question.minRateDescription\n ? this.renderLocString(this.question.locMinRateDescription)\n : null;\n var maxText = this.question.maxRateDescription\n ? this.renderLocString(this.question.locMaxRateDescription)\n : null;\n return (\n <div className={this.question.ratingRootCss} ref={(div) => (this.setControl(div))}>\n <fieldset role=\"radiogroup\">\n <legend role=\"presentation\" className={\"sv-hidden\"}></legend>\n {!!this.question.hasMinLabel ? <span className={cssClasses.minText}>{minText}</span>: null}\n {this.question.renderedRateItems.map((item, index) => this.renderItem(item, index))}\n {!!this.question.hasMaxLabel ? <span className={cssClasses.maxText}>{maxText}</span>: null}\n </fieldset>\n </div>\n );\n }\n\n}\nReactQuestionFactory.Instance.registerQuestion(\"rating\", (props) => {\n return React.createElement(SurveyQuestionRating, props);\n});\n","import * as React from \"react\";\nimport { QuestionTagboxModel, DropdownListModel, DropdownMultiSelectListModel } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { SurveyQuestionDropdownBase } from \"./dropdown-base\";\nimport { SurveyQuestionTagboxItem } from \"./tagbox-item\";\nimport { TagboxFilterString } from \"./tagbox-filter\";\n\nexport class SurveyQuestionTagbox extends SurveyQuestionDropdownBase<QuestionTagboxModel> {\n constructor(props: any) {\n super(props);\n }\n\n protected renderItem(key: string, item: any): JSX.Element {\n const renderedItem = (\n <SurveyQuestionTagboxItem\n key={key}\n question={this.question}\n item={item}\n />\n );\n return renderedItem;\n }\n\n protected renderInput(dropdownListModel: DropdownListModel): JSX.Element {\n const dropdownMultiSelectListModel = dropdownListModel as DropdownMultiSelectListModel;\n const items = this.question.selectedChoices.map((choice, index) => { return this.renderItem(\"item\" + index, choice); });\n return (\n <div\n id={this.question.inputId}\n className={this.question.getControlClass()}\n tabIndex={dropdownListModel.inputReadOnly ? undefined : 0}\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n disabled={this.question.isInputReadOnly}\n required={this.question.isRequired}\n onKeyDown={this.keyhandler}\n onBlur={this.blur}\n role={this.question.ariaRole}\n aria-required={this.question.ariaRequired}\n aria-label={this.question.ariaLabel}\n aria-invalid={this.question.ariaInvalid}\n aria-describedby={this.question.ariaDescribedBy}\n aria-expanded={this.question.ariaExpanded === null ? undefined : this.question.ariaExpanded === \"true\"}\n aria-controls={dropdownListModel.listElementId}\n aria-activedescendant={dropdownListModel.ariaActivedescendant}\n >\n <div className={this.question.cssClasses.controlValue}>\n {items}\n <TagboxFilterString model={dropdownMultiSelectListModel} question={this.question}></TagboxFilterString>\n </div>\n {this.createClearButton()}\n </div>);\n }\n\n protected renderElement(): JSX.Element {\n const cssClasses = this.question.cssClasses;\n const comment = this.question.isOtherSelected ? this.renderOther(cssClasses) : null;\n const select = this.renderSelect(cssClasses);\n return (\n <div className={this.question.renderCssRoot}>\n {select}\n {comment}\n </div>\n );\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"tagbox\", (props) => {\n return React.createElement(SurveyQuestionTagbox, props);\n});","import * as React from \"react\";\nimport { SurveyQuestionUncontrolledElement } from \"./reactquestion_element\";\nimport { QuestionTextModel } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { CharacterCounterComponent } from \"./components/character-counter\";\n\nexport class SurveyQuestionText extends SurveyQuestionUncontrolledElement<\n QuestionTextModel\n> {\n //controlRef: React.RefObject<HTMLInputElement>;\n constructor(props: any) {\n super(props);\n //this.controlRef = React.createRef();\n }\n protected renderInput() {\n const inputClass = (this.question as QuestionTextModel).getControlClass();\n\n const placeholder = this.question.renderedPlaceholder;\n if (this.question.isReadOnlyRenderDiv()) {\n return <div>{this.question.value}</div>;\n }\n const counter = !!this.question.getMaxLength() ? (<CharacterCounterComponent counter={this.question.characterCounter} remainingCharacterCounter={this.question.cssClasses.remainingCharacterCounter}></CharacterCounterComponent>) : null;\n return (\n <>\n <input\n id={this.question.inputId}\n disabled={this.isDisplayMode}\n className={inputClass}\n type={this.question.inputType}\n //ref={this.controlRef}\n ref={(input) => (this.setControl(input))}\n style={this.question.inputStyle}\n maxLength={this.question.getMaxLength()}\n min={this.question.renderedMin}\n max={this.question.renderedMax}\n step={this.question.renderedStep}\n size={this.question.inputSize}\n placeholder={placeholder}\n list={this.question.dataListId}\n autoComplete={this.question.autocomplete}\n onBlur={this.question.onBlur}\n onFocus={this.question.onFocus}\n onChange={this.question.onChange}\n onKeyUp={this.question.onKeyUp}\n onKeyDown={this.question.onKeyDown}\n onCompositionUpdate={(event) => this.question.onCompositionUpdate(event.nativeEvent)}\n aria-required={this.question.a11y_input_ariaRequired}\n aria-label={this.question.a11y_input_ariaLabel}\n aria-labelledby={this.question.a11y_input_ariaLabelledBy}\n aria-invalid={this.question.a11y_input_ariaInvalid}\n aria-describedby={this.question.a11y_input_ariaDescribedBy}\n />\n {counter}\n </>\n );\n }\n protected renderElement(): JSX.Element {\n return (\n this.question.dataListId ?\n <div>\n { this.renderInput() }\n { this.renderDataList() }\n </div>:\n this.renderInput()\n );\n }\n private renderDataList(): JSX.Element | null {\n if (!this.question.dataListId) return null;\n var items = this.question.dataList;\n if (items.length == 0) return null;\n var options:Array<JSX.Element> = [];\n for (var i = 0; i < items.length; i++) {\n options.push(<option key={\"item\"+i} value={items[i]}></option>);\n }\n return <datalist id={this.question.dataListId}>{options}</datalist>;\n }\n // protected updateDomElement() {\n // this.control = this.controlRef.current;\n // super.updateDomElement();\n // }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"text\", (props) => {\n return React.createElement(SurveyQuestionText, props);\n});\n","import { SurveyModel, QuestionMatrixDropdownRenderedCell, SurveyElement, QuestionRowModel, ItemValue, QuestionSelectBase } from \"survey-core\";\nimport { ReactElementFactory } from \"./element-factory\";\n\nexport class ReactSurveyElementsWrapper {\n public static wrapRow(survey: SurveyModel, element: JSX.Element, row: QuestionRowModel): JSX.Element {\n const componentName = survey.getRowWrapperComponentName(row);\n const componentData = survey.getRowWrapperComponentData(row);\n return ReactElementFactory.Instance.createElement(componentName, {\n element,\n row,\n componentData,\n });\n }\n public static wrapElement(survey: SurveyModel, element: JSX.Element, question: SurveyElement): JSX.Element {\n const componentName = survey.getElementWrapperComponentName(question);\n const componentData = survey.getElementWrapperComponentData(question);\n return ReactElementFactory.Instance.createElement(componentName, {\n element,\n question,\n componentData,\n });\n }\n public static wrapQuestionContent(survey: SurveyModel, element: JSX.Element, question: SurveyElement): JSX.Element {\n const componentName = survey.getQuestionContentWrapperComponentName(question);\n const componentData = survey.getElementWrapperComponentData(question);\n return ReactElementFactory.Instance.createElement(componentName, {\n element,\n question,\n componentData,\n });\n }\n public static wrapItemValue(survey: SurveyModel, element: JSX.Element, question: QuestionSelectBase, item: ItemValue): JSX.Element {\n const componentName = survey.getItemValueWrapperComponentName(item, question);\n const componentData = survey.getItemValueWrapperComponentData(item, question);\n return ReactElementFactory.Instance.createElement(componentName, {\n key: element?.key,\n element,\n question,\n item,\n componentData,\n });\n }\n public static wrapMatrixCell(survey: SurveyModel, element: JSX.Element, cell: QuestionMatrixDropdownRenderedCell, reason: string = \"cell\"): JSX.Element {\n const componentName = survey.getElementWrapperComponentName(cell, reason);\n const componentData = survey.getElementWrapperComponentData(cell, reason);\n return ReactElementFactory.Instance.createElement(componentName, {\n element,\n cell,\n componentData,\n });\n }\n}\n\nSurveyModel.platform = \"react\";\n","import * as React from \"react\";\nimport { Base, SurveyTimerModel } from \"survey-core\";\nimport { SvgIcon } from \"./components/svg-icon/svg-icon\";\nimport { ReactElementFactory } from \"./element-factory\";\nimport { ReactSurveyElement } from \"./reactquestion_element\";\n\nexport class SurveyTimerPanel extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n }\n protected getStateElement(): Base {\n return this.timerModel;\n }\n protected get timerModel(): SurveyTimerModel {\n return this.props.model;\n }\n private readonly circleLength = 440;\n private get progress(): number {\n return -this.timerModel.progress * this.circleLength;\n }\n render(): JSX.Element | null {\n if(!this.timerModel.isRunning) {\n return null;\n }\n let result = <div className={this.timerModel.survey.getCss().timerRoot}>{this.timerModel.text}</div>;\n if(this.timerModel.showTimerAsClock) {\n let style = { strokeDasharray: this.circleLength, strokeDashoffset: this.progress };\n const progress = (this.timerModel.showProgress ? <SvgIcon className={this.timerModel.getProgressCss()} style={style} iconName={\"icon-timercircle\"} size={\"auto\"}></SvgIcon>: null);\n result =\n (<div className={this.timerModel.rootCss}>\n {progress}\n <div className={this.timerModel.textContainerCss}>\n <span className={this.timerModel.majorTextCss}>{this.timerModel.clockMajorText }</span>\n {(this.timerModel.clockMinorText ? <span className={this.timerModel.minorTextCss}>{this.timerModel.clockMinorText }</span> : null)}\n </div>\n </div>);\n }\n return result;\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-timerpanel\", (props) => {\n return React.createElement(SurveyTimerPanel, props);\n});","import * as React from \"react\";\nimport { ISurveyCreator } from \"./reactquestion\";\nimport { SurveyModel, Question, QuestionRowModel, IElement, Base } from \"survey-core\";\nimport { SurveyElementBase } from \"./reactquestion_element\";\nimport { ReactElementFactory } from \"./element-factory\";\nimport { ReactSurveyElementsWrapper } from \"./reactsurveymodel\";\n\nexport class SurveyRow extends SurveyElementBase<any, any> {\n private rootRef: React.RefObject<HTMLDivElement>;\n constructor(props: any) {\n super(props);\n this.rootRef = React.createRef();\n this.recalculateCss();\n }\n private recalculateCss() {\n this.row.visibleElements.map(element => (element as Question).cssClasses);\n }\n protected getStateElement(): Base {\n return this.row;\n }\n private get row(): QuestionRowModel {\n return this.props.row;\n }\n private get survey(): SurveyModel {\n return this.props.survey;\n }\n private get creator(): ISurveyCreator {\n return this.props.creator;\n }\n protected get css(): any {\n return this.props.css;\n }\n protected canRender(): boolean {\n return !!this.row && !!this.survey && !!this.creator && this.row.visible;\n }\n protected renderElementContent(): JSX.Element {\n const elements = this.row.visibleElements.map((element, index) => {\n const innerElement = this.createElement(element, index);\n const css = (element as Question).cssClassesValue;\n const focusIn = () => {\n const el: any = element;\n if(el && !el.isDisposed && el.isQuestion) {\n el.focusIn();\n }\n };\n return (\n <div\n className={css.questionWrapper}\n style={(element as any).rootStyle}\n data-key={innerElement.key}\n key={innerElement.key}\n onFocus={focusIn}\n >\n {this.row.isNeedRender ? innerElement : ReactElementFactory.Instance.createElement(element.skeletonComponentName, { element: element, css: this.css, })}\n </div>\n );\n });\n\n return (\n <div ref={this.rootRef} className={this.row.getRowCss()} >\n {elements}\n </div>\n );\n }\n protected renderElement(): JSX.Element {\n const survey: SurveyModel = this.survey as SurveyModel;\n const content = this.renderElementContent();\n const wrapper = ReactSurveyElementsWrapper.wrapRow(survey, content, this.row);\n return wrapper || content;\n }\n componentDidMount() {\n super.componentDidMount();\n var el = this.rootRef.current;\n if (!!el && !this.row.isNeedRender) {\n var rowContainerDiv = el;\n setTimeout(() => {\n this.row.startLazyRendering(rowContainerDiv);\n }, 10);\n }\n }\n public shouldComponentUpdate(nextProps: any, nextState: any): boolean {\n if (!super.shouldComponentUpdate(nextProps, nextState)) return false;\n\n if (nextProps.row !== this.row) {\n nextProps.row.isNeedRender = this.row.isNeedRender;\n this.stopLazyRendering();\n }\n this.recalculateCss();\n return true;\n }\n private stopLazyRendering() {\n this.row.stopLazyRendering();\n this.row.isNeedRender = !this.row.isLazyRendering();\n }\n componentWillUnmount() {\n super.componentWillUnmount();\n this.stopLazyRendering();\n }\n\n protected createElement(element: IElement, elementIndex?: number): JSX.Element {\n const index = elementIndex ? \"-\" + elementIndex : 0;\n var elementType = element.getType();\n if (!ReactElementFactory.Instance.isElementRegistered(elementType)) {\n elementType = \"question\";\n }\n return ReactElementFactory.Instance.createElement(elementType, {\n key: element.name + index,\n element: element,\n creator: this.creator,\n survey: this.survey,\n css: this.css,\n });\n }\n}\n","import * as React from \"react\";\nimport { SurveyQuestionElementBase } from \"./reactquestion_element\";\nimport { QuestionSignaturePadModel } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { SvgIcon } from \"./components/svg-icon/svg-icon\";\n\nexport class SurveyQuestionSignaturePad extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n this.state = { value: this.question.value };\n }\n protected get question(): QuestionSignaturePadModel {\n return this.questionBase as QuestionSignaturePadModel;\n }\n protected renderElement(): JSX.Element {\n var cssClasses = this.question.cssClasses;\n var clearButton = this.renderCleanButton();\n return (\n <div className={cssClasses.root} ref={(root) => (this.setControl(root))} style={{ height: this.question.signatureHeight, width: this.question.signatureWidth }}>\n <div\n className={cssClasses.placeholder}\n style={{ display: this.question.needShowPlaceholder() ? \"\" : \"none\" }}\n >\n {this.question.placeHolderText}\n </div>\n <div>\n <canvas tabIndex={0}></canvas>\n </div>\n {clearButton}\n </div>\n );\n }\n\n renderCleanButton(): JSX.Element | null {\n if(!this.question.canShowClearButton) return null;\n\n var cssClasses = this.question.cssClasses;\n return <div className={cssClasses.controls}>\n <button\n type=\"button\"\n className={cssClasses.clearButton}\n title={this.question.clearButtonCaption}\n onClick={() => this.question.clearValue()}\n >\n {this.question.cssClasses.clearButtonIconId ? <SvgIcon iconName={this.question.cssClasses.clearButtonIconId} size={\"auto\"}></SvgIcon> : <span>✖</span>}\n </button>\n </div>;\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"signaturepad\", (props) => {\n return React.createElement(SurveyQuestionSignaturePad, props);\n});\n","import React from \"react\";\r\nimport { LocalizableString } from \"survey-core\";\r\nimport { ReactElementFactory } from \"./element-factory\";\r\n\r\nexport class SurveyLocStringEditor extends React.Component<any, any> {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = { changed: 0 };\r\n }\r\n private get locStr(): LocalizableString {\r\n return this.props.locStr;\r\n }\r\n private get style(): any {\r\n return this.props.style;\r\n }\r\n componentDidMount() {\r\n if (!this.locStr) return;\r\n var self = this;\r\n this.locStr.onChanged = function () {\r\n self.setState({ changed: self.state.changed + 1 });\r\n };\r\n }\r\n componentWillUnmount() {\r\n if (!this.locStr) return;\r\n this.locStr.onChanged = function () {};\r\n }\r\n onInput = (event: any) => {\r\n this.locStr.text = event.target.innerText;\r\n };\r\n onClick = (event: any) => {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n };\r\n render(): JSX.Element | null {\r\n if (!this.locStr) {\r\n return null;\r\n }\r\n if (this.locStr.hasHtml) {\r\n const htmlValue = { __html: this.locStr.renderedHtml };\r\n return (\r\n <span\r\n className=\"sv-string-editor\"\r\n contentEditable=\"true\"\r\n suppressContentEditableWarning={true}\r\n style={this.style}\r\n dangerouslySetInnerHTML={htmlValue}\r\n onBlur={this.onInput}\r\n onClick={this.onClick}\r\n />\r\n );\r\n }\r\n return (\r\n <span\r\n className=\"sv-string-editor\"\r\n contentEditable=\"true\"\r\n suppressContentEditableWarning={true}\r\n style={this.style}\r\n onBlur={this.onInput}\r\n onClick={this.onClick}\r\n >\r\n {this.locStr.renderedHtml}\r\n </span>\r\n );\r\n }\r\n}\r\n\r\nReactElementFactory.Instance.registerElement(\r\n LocalizableString.editableRenderer,\r\n (props) => {\r\n return React.createElement(SurveyLocStringEditor, props);\r\n }\r\n);\r\n","import React from \"react\";\r\nimport { LocalizableString } from \"survey-core\";\r\nimport { ReactElementFactory } from \"./element-factory\";\r\n\r\nexport class SurveyLocStringViewer extends React.Component<any, any> {\r\n constructor(props: any) {\r\n super(props);\r\n this.rootRef = React.createRef();\r\n }\r\n private rootRef: React.RefObject<HTMLSpanElement>;\r\n private get locStr(): LocalizableString {\r\n return this.props.locStr;\r\n }\r\n private get style(): any {\r\n return this.props.style;\r\n }\r\n componentDidMount() {\r\n this.reactOnStrChanged();\r\n }\r\n componentWillUnmount() {\r\n if (!this.locStr) return;\r\n this.locStr.onStringChanged.remove(this.onChangedHandler);\r\n }\r\n componentDidUpdate(prevProps: any, prevState: any) {\r\n if(!!prevProps.locStr) {\r\n prevProps.locStr.onStringChanged.remove(this.onChangedHandler);\r\n }\r\n this.reactOnStrChanged();\r\n }\r\n private isRendering: boolean;\r\n private onChangedHandler = (sender: any, options: any) => {\r\n if(this.isRendering) return;\r\n this.setState({ changed: !!this.state && this.state.changed ? this.state.changed + 1 : 1 });\r\n }\r\n private reactOnStrChanged() {\r\n if (!this.locStr) return;\r\n this.locStr.onStringChanged.add(this.onChangedHandler);\r\n }\r\n render(): JSX.Element | null {\r\n if (!this.locStr) return null;\r\n this.isRendering = true;\r\n const strEl = this.renderString();\r\n this.isRendering = false;\r\n return strEl;\r\n }\r\n protected renderString(): JSX.Element {\r\n if (this.locStr.hasHtml) {\r\n let htmlValue = { __html: this.locStr.renderedHtml };\r\n return <span ref={this.rootRef} className=\"sv-string-viewer\" style={this.style} dangerouslySetInnerHTML={htmlValue} />;\r\n }\r\n return <span ref={this.rootRef} className=\"sv-string-viewer\" style={this.style}>{this.locStr.renderedHtml}</span>;\r\n }\r\n}\r\n\r\nReactElementFactory.Instance.registerElement(\r\n LocalizableString.defaultRenderer,\r\n (props) => {\r\n return React.createElement(SurveyLocStringViewer, props);\r\n }\r\n);\r\n","import * as React from \"react\";\nimport { DropdownMultiSelectListModel, QuestionTagboxModel, Helpers, settings } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { SurveyElementBase } from \"./reactquestion_element\";\n\ninterface ITagboxFilterProps {\n model: DropdownMultiSelectListModel;\n question: QuestionTagboxModel;\n}\n\nexport class TagboxFilterString extends SurveyElementBase<ITagboxFilterProps, any> {\n inputElement: HTMLInputElement | null;\n\n get model(): DropdownMultiSelectListModel {\n return this.props.model;\n }\n get question(): QuestionTagboxModel {\n return this.props.question;\n }\n componentDidUpdate(prevProps: any, prevState: any) {\n super.componentDidUpdate(prevProps, prevState);\n this.updateDomElement();\n }\n componentDidMount() {\n super.componentDidMount();\n this.updateDomElement();\n }\n updateDomElement() {\n if (!!this.inputElement) {\n const control: any = this.inputElement;\n const newValue = this.model.inputStringRendered;\n if (!Helpers.isTwoValueEquals(newValue, control.value, false, true)) {\n control.value = this.model.inputStringRendered;\n }\n }\n }\n onChange(e: any) {\n const { root } = settings.environment;\n if (e.target === root.activeElement) {\n this.model.inputStringRendered = e.target.value;\n }\n }\n keyhandler(e: any) {\n this.model.inputKeyHandler(e);\n }\n onBlur(e: any) {\n this.model.onBlur(e);\n }\n onFocus(e: any) {\n this.model.onFocus(e);\n }\n constructor(props: any) {\n super(props);\n }\n getStateElement() {\n return this.model;\n }\n render(): JSX.Element {\n return (\n <div className={this.question.cssClasses.hint}>\n {this.model.showHintPrefix ?\n (<div className={this.question.cssClasses.hintPrefix}>\n <span>{this.model.hintStringPrefix}</span>\n </div>) : null}\n <div className={this.question.cssClasses.hintSuffixWrapper}>\n {this.model.showHintString ?\n (<div className={this.question.cssClasses.hintSuffix}>\n <span style={{ visibility: \"hidden\" }} data-bind=\"text: model.filterString\">{this.model.inputStringRendered}</span>\n <span>{this.model.hintStringSuffix}</span>\n </div>) : null}\n\n <input type=\"text\" autoComplete=\"off\"\n id={this.question.getInputId()}\n inputMode={this.model.inputMode}\n ref={(element) => (this.inputElement = element)}\n className={this.question.cssClasses.filterStringInput}\n disabled={this.question.isInputReadOnly}\n readOnly={!this.model.searchEnabled ? true : undefined}\n size={!this.model.inputStringRendered ? 1 : undefined}\n role={this.model.filterStringEnabled ? this.question.ariaRole : undefined}\n aria-label={this.question.placeholder}\n aria-expanded={this.question.ariaExpanded === null ? undefined : this.question.ariaExpanded === \"true\"}\n aria-controls={this.model.listElementId}\n aria-activedescendant={this.model.ariaActivedescendant}\n placeholder={this.model.filterStringPlaceholder}\n onKeyDown={(e) => { this.keyhandler(e); }}\n onChange={(e) => { this.onChange(e); }}\n onBlur={(e) => { this.onBlur(e); }}\n onFocus={(e) => { this.onFocus(e); }}\n ></input>\n </div>\n </div>\n );\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"sv-tagbox-filter\", (props) => {\n return React.createElement(TagboxFilterString, props);\n});","import * as React from \"react\";\nimport { ReactSurveyElement } from \"./reactquestion_element\";\nimport { Base, QuestionTagboxModel, ItemValue } from \"survey-core\";\nimport { SvgIcon } from \"./components/svg-icon/svg-icon\";\n\nexport class SurveyQuestionTagboxItem extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n }\n protected get question(): QuestionTagboxModel {\n return this.props.question;\n }\n protected get item(): ItemValue {\n return this.props.item;\n }\n protected canRender(): boolean {\n return !!this.item && !!this.question;\n }\n protected renderElement(): JSX.Element {\n const text = this.renderLocString(this.item.locText);\n\n const removeItem = (event: any) => {\n this.question.dropdownListModel.deselectItem(this.item.value);\n event.stopPropagation();\n };\n\n return (\n <div className=\"sv-tagbox__item\">\n <div className=\"sv-tagbox__item-text\">{text}</div>\n <div\n className={ this.question.cssClasses.cleanItemButton}\n onClick={removeItem}\n >\n <SvgIcon\n className={this.question.cssClasses.cleanItemButtonSvg}\n iconName={this.question.cssClasses.cleanItemButtonIconId}\n size={\"auto\"}\n ></SvgIcon>\n </div>\n </div>\n );\n }\n}","import { IDialogOptions } from \"./popup\";\n\nexport type ISurveyEnvironment = {\n root: Document | ShadowRoot,\n rootElement: HTMLElement | ShadowRoot,\n popupMountContainer: HTMLElement | string,\n svgMountContainer: HTMLElement | string,\n stylesSheetsMountContainer: HTMLElement,\n}\nconst document = globalThis.document;\nconst defaultEnvironment: ISurveyEnvironment = <ISurveyEnvironment> (!!document ? {\n root: document,\n\n _rootElement: document.body,\n get rootElement(): HTMLElement | ShadowRoot {\n return this._rootElement ?? document.body;\n },\n set rootElement(rootElement: HTMLElement | ShadowRoot) {\n (this._rootElement as any) = rootElement;\n },\n\n _popupMountContainer: document.body,\n get popupMountContainer(): HTMLElement | string {\n return this._popupMountContainer ?? document.body;\n },\n set popupMountContainer(popupMountContainer: HTMLElement | string) {\n (this._popupMountContainer as any) = popupMountContainer;\n },\n svgMountContainer: document.head,\n stylesSheetsMountContainer: document.head,\n} : undefined);\nconst columnWidthsByType: { [index: string]: { minWidth?: string, width?: string } } = {\n \"file\": { minWidth: \"240px\" },\n \"comment\": { minWidth: \"200px\" }\n};\n/**\n * Global settings that apply to all surveys on the page. To specify one of the settings, use the code below:\n *\n * ```js\n * import { settings } from \"survey-core\";\n *\n * settings.settingName = \"value\";\n * ```\n */\n\nexport var settings = {\n /**\n * An object that configures survey appearance when the survey is being designed in Survey Creator.\n *\n * Nested properties:\n *\n * - `showEmptyDescriptions`: `Boolean`\\\n * Specifies whether to display an empty description for pages and panels. Default value: `true`.\n *\n * - `showEmptyTitles`: `Boolean`\\\n * Specifies whether to display an empty title for pages and panels. Default value: `true`.\n */\n designMode: {\n showEmptyDescriptions: true,\n showEmptyTitles: true\n },\n //#region designMode section, Obsolete properties\n /**\n * This property is obsolete. Use the [`settings.designMode.showEmptyDescriptions`](https://surveyjs.io/form-library/documentation/api-reference/settings#designMode) property instead.\n */\n get allowShowEmptyDescriptionInDesignMode(): boolean { return this.designMode.showEmptyDescriptions; },\n set allowShowEmptyDescriptionInDesignMode(val: boolean) { this.designMode.showEmptyDescriptions = val; },\n /**\n * This property is obsolete. Use the [`settings.designMode.showEmptyTitles`](https://surveyjs.io/form-library/documentation/api-reference/settings#designMode) property instead.\n */\n get allowShowEmptyTitleInDesignMode(): boolean { return this.designMode.showEmptyTitles; },\n set allowShowEmptyTitleInDesignMode(val: boolean) { this.designMode.showEmptyTitles = val; },\n //#endregion\n\n /**\n * An object that contains properties related to localization.\n *\n * Nested properties:\n *\n * - `useLocalTimeZone`: `Boolean`\\\n * Disable this property if you want internal SurveyJS functions to use methods that work with UTC date and time (`setUTCDate()` `setUTCHours()`, etc.) instead of methods that work with local date and time (`setYear`, `setHours()`, etc.). Default value: `true`.\n *\n * - `defaultLocaleName`: `String`\\\n * A property key that stores a translation for the default locale. Default value: `\"default\"`.\n *\n * - `storeDuplicatedTranslations`: `Boolean`\\\n * Specifies whether surveys should store translation strings that equal the translation strings in the default locale. Default value: `false`.\n */\n localization: {\n useLocalTimeZone: true,\n storeDuplicatedTranslations: false,\n defaultLocaleName: \"default\"\n },\n //#region localization section, obsolete properties\n /**\n * This property is obsolete. Use the [`settings.localization.useLocalTimeZone`](https://surveyjs.io/form-library/documentation/api-reference/settings#localization) property instead.\n */\n get useLocalTimeZone(): boolean { return this.localization.useLocalTimeZone; },\n set useLocalTimeZone(val: boolean) { this.localization.useLocalTimeZone = val; },\n /**\n * This property is obsolete. Use the [`settings.localization.storeDuplicatedTranslations`](https://surveyjs.io/form-library/documentation/api-reference/settings#localization) property instead.\n */\n get storeDuplicatedTranslations(): boolean { return this.localization.storeDuplicatedTranslations; },\n set storeDuplicatedTranslations(val: boolean) { this.localization.storeDuplicatedTranslations = val; },\n /**\n * This property is obsolete. Use the [`settings.localization.defaultLocaleName`](https://surveyjs.io/form-library/documentation/api-reference/settings#localization) property instead.\n */\n get defaultLocaleName(): string { return this.localization.defaultLocaleName; },\n set defaultLocaleName(val: string) { this.localization.defaultLocaleName = val; },\n //#endregion\n /**\n * An object with properties that configure surveys when they work with a web service.\n *\n * Nested properties:\n *\n * - `encodeUrlParams`: `Boolean`\\\n * Specifies whether to encode URL parameters when you access a web service. Default value: `true`.\n *\n * - `cacheLoadedChoices`: `Boolean`\\\n * Specifies whether to cache [choices](https://surveyjs.io/form-library/documentation/api-reference/checkbox-question-model#choicesByUrl) loaded from a web service. Default value: `true`.\n *\n * - `disableQuestionWhileLoadingChoices`: `Boolean`\\\n * Disables a question while its choices are being loaded from a web service. Default value: `false`.\n *\n * - `surveyServiceUrl`: `String`\\\n * The URL of the SurveyJS Service API endpoint.\n */\n web: {\n encodeUrlParams: true,\n cacheLoadedChoices: true,\n disableQuestionWhileLoadingChoices: false,\n surveyServiceUrl: \"https://api.surveyjs.io/public/v1/Survey\"\n },\n //#region web section, obsolete properties\n /**\n * This property is obsolete. Use the [`settings.web.encodeUrlParams`](https://surveyjs.io/form-library/documentation/api-reference/settings#web) property instead.\n */\n get webserviceEncodeParameters(): boolean { return this.web.encodeUrlParams; },\n set webserviceEncodeParameters(val: boolean) { this.web.encodeUrlParams = val; },\n /**\n * This property is obsolete. Use the [`settings.web.cacheLoadedChoices`](https://surveyjs.io/form-library/documentation/api-reference/settings#web) property instead.\n */\n get useCachingForChoicesRestful(): boolean { return this.web.cacheLoadedChoices; },\n set useCachingForChoicesRestful(val: boolean) { this.web.cacheLoadedChoices = val; },\n get useCachingForChoicesRestfull(): boolean { return this.web.cacheLoadedChoices; },\n set useCachingForChoicesRestfull(val: boolean) { this.web.cacheLoadedChoices = val; },\n /**\n * This property is obsolete. Use the [`settings.web.disableQuestionWhileLoadingChoices`](https://surveyjs.io/form-library/documentation/api-reference/settings#web) property instead.\n */\n get disableOnGettingChoicesFromWeb(): boolean { return this.web.disableQuestionWhileLoadingChoices; },\n set disableOnGettingChoicesFromWeb(val: boolean) { this.web.disableQuestionWhileLoadingChoices = val; },\n /**\n * This property is obsolete. Use the [`settings.web.surveyServiceUrl`](https://surveyjs.io/form-library/documentation/api-reference/settings#web) property instead.\n */\n get surveyServiceUrl(): string { return this.web.surveyServiceUrl; },\n set surveyServiceUrl(val: string) { this.web.surveyServiceUrl = val; },\n //#endregion\n\n /**\n * An object that contains properties related to [triggers](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#conditional-survey-logic-triggers).\n *\n * Nested properties:\n *\n * - `changeNavigationButtonsOnComplete`: `Boolean`\\\n * Specifies whether to re-evaluate an expression associated with the [Complete trigger](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#complete) immediately when a question value changes. If the expression evaluates to `true`, the trigger is executed. Default value: `false`.\\\n * Keep this property set to `false` if you want to re-evaluate the Complete trigger's expression only when the respondents navigate to another page.\n *\n * - `executeCompleteOnValueChanged`: `Boolean`\\\n * Specifies whether to replace the Next button with the Complete button when the [Complete trigger](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#complete) is going to be executed. Default value: `true`.\n *\n * - `executeSkipOnValueChanged`: `Boolean`\\\n * Specifies whether to re-evaluate an expression associated with the [Skip trigger](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#skip) immediately when a question value changes. If the expression evaluates to `true`, the trigger is executed. Default value: `true`.\\\n * Disable this property if you want to re-evaluate the Skip trigger's expression only when respondents navigate to another page.\n */\n triggers: {\n changeNavigationButtonsOnComplete: true,\n executeCompleteOnValueChanged: false,\n executeSkipOnValueChanged: true\n },\n //#region triggers section, Obsolete properties\n /**\n * This property is obsolete. Use the [`settings.triggers.executeCompleteOnValueChanged`](https://surveyjs.io/form-library/documentation/api-reference/settings#triggers) property instead.\n */\n get executeCompleteTriggerOnValueChanged(): boolean { return this.triggers.executeCompleteOnValueChanged; },\n set executeCompleteTriggerOnValueChanged(val: boolean) { this.triggers.executeCompleteOnValueChanged = val; },\n /**\n * This property is obsolete. Use the [`settings.triggers.changeNavigationButtonsOnComplete`](https://surveyjs.io/form-library/documentation/api-reference/settings#triggers) property instead.\n */\n get changeNavigationButtonsOnCompleteTrigger(): boolean { return this.triggers.changeNavigationButtonsOnComplete; },\n set changeNavigationButtonsOnCompleteTrigger(val: boolean) { this.triggers.changeNavigationButtonsOnComplete = val; },\n /**\n * This property is obsolete. Use the [`settings.triggers.executeSkipOnValueChanged`](https://surveyjs.io/form-library/documentation/api-reference/settings#triggers) property instead.\n */\n get executeSkipTriggerOnValueChanged(): boolean { return this.triggers.executeSkipOnValueChanged; },\n set executeSkipTriggerOnValueChanged(val: boolean) { this.triggers.executeSkipOnValueChanged = val; },\n //#endregion\n\n /**\n * An object that contains properties related to JSON serialization.\n *\n * Nested properties:\n *\n * - `itemValueSerializeAsObject`: `Boolean`\\\n * Enable this property if you want to serialize [`ItemValue`](https://surveyjs.io/form-library/documentation/api-reference/itemvalue) instances as objects even when they include only the `value` property. Default value: `false`. View an example below.\n *\n * - `itemValueSerializeDisplayText`: `Boolean`\\\n * Enable this property if you want to serialize the `text` property of [`ItemValue`](https://surveyjs.io/form-library/documentation/api-reference/itemvalue) objects even when it is empty or equal to the `value` property. Default value: `false`. View an example below.\n *\n * - `localizableStringSerializeAsObject`: `Boolean`\\\n * Enable this property if you want to serialize [`LocalizableString`](https://surveyjs.io/form-library/documentation/api-reference/localizablestring) instances as objects even when they include only a translation string for the default locale. For example, `\"Custom String\"` will be serialized as `{ default: \"Custom String\" }`. Default value: `false`.\n *\n * ```js\n * import { ItemValue, settings } from \"survey-core\";\n *\n * // `itemValueSerializeAsObject` example\n * settings.localization.itemValueSerializeAsObject = true;\n * const item = new ItemValue(5);\n * const itemString = item.toJSON(); // Produces { value: 5 } instead of 5\n *\n * // `itemValueSerializeDisplayText` example\n * settings.localization.itemValueSerializeDisplayText = true;\n * const item = new ItemValue(\"item1\");\n * const itemString = item.toJSON(); // Produces { value: \"item1\", text: \"item1\" } instead of \"item1\"\n * ```\n */\n serialization: {\n itemValueSerializeAsObject: false,\n itemValueSerializeDisplayText: false,\n localizableStringSerializeAsObject: false\n },\n //#region serialization section, Obsolete properties\n /**\n * This property is obsolete. Use the [`settings.serialization.itemValueSerializeAsObject`](https://surveyjs.io/form-library/documentation/api-reference/settings#serialization) property instead.\n */\n get itemValueAlwaysSerializeAsObject(): boolean { return this.serialization.itemValueSerializeAsObject; },\n set itemValueAlwaysSerializeAsObject(val: boolean) { this.serialization.itemValueSerializeAsObject = val; },\n /**\n * This property is obsolete. Use the [`settings.serialization.itemValueSerializeDisplayText`](https://surveyjs.io/form-library/documentation/api-reference/settings#serialization) property instead.\n */\n get itemValueAlwaysSerializeText(): boolean { return this.serialization.itemValueSerializeDisplayText; },\n set itemValueAlwaysSerializeText(val: boolean) { this.serialization.itemValueSerializeDisplayText = val; },\n /**\n * This property is obsolete. Use the [`settings.serialization.localizableStringSerializeAsObject`](https://surveyjs.io/form-library/documentation/api-reference/settings#serialization) property instead.\n */\n get serializeLocalizableStringAsObject(): boolean { return this.serialization.localizableStringSerializeAsObject; },\n set serializeLocalizableStringAsObject(val: boolean) { this.serialization.localizableStringSerializeAsObject = val; },\n //#endregion\n /**\n * An object that configures lazy rendering.\n *\n * Nested properties:\n *\n * - `enabled`: `Boolean`\\\n * Specifies whether to add questions to the DOM only when they get into the viewport. Default value: `false`.\n *\n * > Lazy rendering is an experimental feature that may not work as expected in all use cases.\n */\n lazyRender: {\n enabled: false,\n firstBatchSize: 3\n },\n //#region lazyRender section, Obsolete properties\n /**\n * This property is obsolete. Use the [`settings.lazyRender.enabled`](https://surveyjs.io/form-library/documentation/api-reference/settings#lazyRender) property instead.\n */\n get lazyRowsRendering(): boolean { return this.lazyRender.enabled; },\n set lazyRowsRendering(val: boolean) { this.lazyRender.enabled = val; },\n get lazyRowsRenderingStartRow(): number { return this.lazyRender.firstBatchSize; },\n set lazyRowsRenderingStartRow(val: number) { this.lazyRender.firstBatchSize = val; },\n //#endregion\n /**\n * An object with properties that apply to [Single-Choice](https://surveyjs.io/form-library/documentation/api-reference/matrix-table-question-model), [Multiple-Choice](https://surveyjs.io/form-library/documentation/api-reference/matrix-table-with-dropdown-list), and [Dynamic Matrix](https://surveyjs.io/form-library/documentation/api-reference/dynamic-matrix-table-question-model) questions.\n *\n * Nested properties:\n *\n * - `defaultRowName`: `String`\\\n * A property key that stores an object with default cell values. Default value: \"default\".\n *\n * - `defaultCellType`: `String`\\\n * The default type of matrix cells. Default value: `\"dropdown\"`.\\\n * You can specify this setting for individual questions or matrix columns: [`cellType`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-matrix-table-question-model#cellType). Refer to the `cellType` property description for information on possible values.\n *\n * - `totalsSuffix`: `String`\\\n * A suffix added to the name of the property that stores total values. The resulting property name consists of the matrix name and the suffix. Default value: `\"-total\"`.\n *\n * - `maxRowCount`: `Number`\\\n * A maximum number of rows in a Dynamic Matrix. Default value: 1000.\\\n * You can specify this setting for an individual Dynamic Matrix: [`maxRowCount`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-matrix-table-question-model#maxRowCount).\n *\n * - `maxRowCountInCondition`: `Number`\\\n * A maximum number of matrix rows included in the Condition drop-down menu in Survey Creator. This menu is used to configure conditional survey logic. Default value: 1.\\\n * If you set this property to 0, the Condition menu does not include any matrix rows. Users still can specify conditions that use matrix rows but only with Manual Entry.\n *\n * - `renderRemoveAsIcon`: `Boolean`\\\n * Disable this property if you want to render the Remove action in Dynamic Matrix as a button. Otherwise, the action is rendered as an icon. Default value: `true`.\n *\n * - `columnWidthsByType`: `Object`\\\n * An object that specifies fixed and minimum column width based on the column type.\\\n * Example: `settings.matrix.columnWidthsByType = { \"tagbox\": { minWidth: \"240px\", width: \"300px\" } }`\n *\n * - `rateSize`: `\"small\"` (default) | `\"normal\"`\\\n * Specifies the size of rate values. Applies to [Rating Scale](https://surveyjs.io/form-library/examples/rating-scale/) questions within matrixes.\n */\n matrix: {\n defaultCellType: \"dropdown\",\n defaultRowName: \"default\",\n totalsSuffix: \"-total\",\n maxRowCount: 1000,\n maxRowCountInCondition: 1,\n renderRemoveAsIcon: true,\n columnWidthsByType: columnWidthsByType,\n rateSize: \"small\" as \"small\" | \"normal\",\n },\n //#region matrix section, Obsolete properties\n /**\n * This property is obsolete. Use the [`settings.matrix.defaultRowName`](https://surveyjs.io/form-library/documentation/api-reference/settings#matrix) property instead.\n */\n get matrixDefaultRowName(): string { return this.matrix.defaultRowName; },\n set matrixDefaultRowName(val: string) { this.matrix.defaultRowName = val; },\n /**\n * This property is obsolete. Use the [`settings.matrix.defaultCellType`](https://surveyjs.io/form-library/documentation/api-reference/settings#matrix) property instead.\n */\n get matrixDefaultCellType(): string { return this.matrix.defaultCellType; },\n set matrixDefaultCellType(val: string) { this.matrix.defaultCellType = val; },\n /**\n * This property is obsolete. Use the [`settings.matrix.totalsSuffix`](https://surveyjs.io/form-library/documentation/api-reference/settings#matrix) property instead.\n */\n get matrixTotalValuePostFix(): string { return this.matrix.totalsSuffix; },\n set matrixTotalValuePostFix(val: string) { this.matrix.totalsSuffix = val; },\n /**\n * This property is obsolete. Use the [`settings.matrix.maxRowCount`](https://surveyjs.io/form-library/documentation/api-reference/settings#matrix) property instead.\n */\n get matrixMaximumRowCount(): number { return this.matrix.maxRowCount; },\n set matrixMaximumRowCount(val: number) { this.matrix.maxRowCount = val; },\n /**\n * This property is obsolete. Use the [`settings.matrix.maxRowCountInCondition`](https://surveyjs.io/form-library/documentation/api-reference/settings#matrix) property instead.\n */\n get matrixMaxRowCountInCondition(): number { return this.matrix.maxRowCountInCondition; },\n set matrixMaxRowCountInCondition(val: number) { this.matrix.maxRowCountInCondition = val; },\n /**\n * This property is obsolete. Use the [`settings.matrix.renderRemoveAsIcon`](https://surveyjs.io/form-library/documentation/api-reference/settings#matrix) property instead.\n */\n get matrixRenderRemoveAsIcon(): boolean { return this.matrix.renderRemoveAsIcon; },\n set matrixRenderRemoveAsIcon(val: boolean) { this.matrix.renderRemoveAsIcon = val; },\n //#endregion\n /**\n * An object with properties that apply to [Dynamic Panel](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model) questions.\n *\n * Nested properties:\n *\n * - `maxPanelCount`: `Number`\\\n * A maximum number of panels in Dynamic Panel. Default value: 100.\\\n * You can specify this setting for an individual Dynamic Panel: [`maxPanelCount`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#maxPanelCount).\n *\n * - `maxPanelCountInCondition`: `Number`\\\n * A maximum number of Dynamic Panel panels included in the Condition drop-down menu in Survey Creator. This menu is used to configure conditional survey logic. Default value: 1.\\\n * If you set this property to 0, the Condition menu does not include any panel questions. Users still can specify conditions that use panel questions but only with Manual Entry.\n */\n panel: {\n maxPanelCount: 100,\n maxPanelCountInCondition: 1\n },\n //#region panel section, Obsolete properties\n /**\n * This property is obsolete. Use the [`settings.panel.maxPanelCountInCondition`](https://surveyjs.io/form-library/documentation/api-reference/settings#panel) property instead.\n */\n get panelDynamicMaxPanelCountInCondition(): number { return this.panel.maxPanelCountInCondition; },\n set panelDynamicMaxPanelCountInCondition(val: number) { this.panel.maxPanelCountInCondition = val; },\n /**\n * This property is obsolete. Use the [`settings.panel.maxPanelCount`](https://surveyjs.io/form-library/documentation/api-reference/settings#panel) property instead.\n */\n get panelMaximumPanelCount(): number { return this.panel.maxPanelCount; },\n set panelMaximumPanelCount(val: number) { this.panel.maxPanelCount = val; },\n //#endregion\n /**\n * An object with properties that configure questions in read-only mode.\n *\n * Nested properties:\n *\n * - `commentRenderMode`: `\"textarea\"` (default) | `\"div\"`\\\n * Specifies how to render the input field of [Comment](https://surveyjs.io/form-library/documentation/api-reference/comment-field-model) questions in [read-only](https://surveyjs.io/form-library/documentation/api-reference/comment-field-model#readOnly) mode: as a disabled `<textarea>` element or as a `<div>` element with a non-editable question value within it.\n *\n * - `textRenderMode`: `\"input\"` (default) | `\"div\"`\\\n * Specifies how to render the input field of [Text](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model) questions in [read-only](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model#readOnly) mode: as a disabled `<input>` element or as a `<div>` element with a non-editable question value within it.\n */\n readOnly: {\n commentRenderMode: \"textarea\",\n textRenderMode: \"input\"\n },\n //#region readOnly section, Obsolete properties\n /**\n * This property is obsolete. Use the [`settings.readOnly.commentRenderMode`](https://surveyjs.io/form-library/documentation/api-reference/settings#readOnly) property instead.\n */\n get readOnlyCommentRenderMode(): string { return this.readOnly.commentRenderMode; },\n set readOnlyCommentRenderMode(val: string) { this.readOnly.commentRenderMode = val; },\n /**\n * This property is obsolete. Use the [`settings.readOnly.textRenderMode`](https://surveyjs.io/form-library/documentation/api-reference/settings#readOnly) property instead.\n */\n get readOnlyTextRenderMode(): string { return this.readOnly.textRenderMode; },\n set readOnlyTextRenderMode(val: string) { this.readOnly.textRenderMode = val; },\n //#endregion\n /**\n * An object with properties that configure question numbering.\n *\n * Nested properties:\n *\n * - `includeQuestionsWithHiddenNumber`: `Boolean`\\\n * Specifies whether to number questions whose [`hideNumber`](https://surveyjs.io/form-library/documentation/api-reference/question#hideNumber) property is enabled. Default value: `false`.\n *\n * - `includeQuestionsWithHiddenTitle`: `Boolean`\\\n * Specifies whether to number questions whose [`titleLocation`](https://surveyjs.io/form-library/documentation/api-reference/question#titleLocation) property is set to `\"hidden\"`. Default value: `false`.\n */\n numbering: {\n includeQuestionsWithHiddenNumber: false,\n includeQuestionsWithHiddenTitle: false\n },\n //#region numbering section, Obsolete properties\n /**\n * This property is obsolete. Use the [`settings.numbering.includeQuestionsWithHiddenTitle`](https://surveyjs.io/form-library/documentation/api-reference/settings#numbering) property instead.\n */\n get setQuestionVisibleIndexForHiddenTitle(): boolean { return this.numbering.includeQuestionsWithHiddenTitle; },\n set setQuestionVisibleIndexForHiddenTitle(val: boolean) { this.numbering.includeQuestionsWithHiddenTitle = val; },\n /**\n * This property is obsolete. Use the [`settings.numbering.includeQuestionsWithHiddenNumber`](https://surveyjs.io/form-library/documentation/api-reference/settings#numbering) property instead.\n */\n get setQuestionVisibleIndexForHiddenNumber(): boolean { return this.numbering.includeQuestionsWithHiddenNumber; },\n set setQuestionVisibleIndexForHiddenNumber(val: boolean) { this.numbering.includeQuestionsWithHiddenNumber = val; },\n //#endregion\n /**\n * Specifies an action to perform when users press the Enter key within a survey.\n *\n * Possible values:\n *\n * - `\"moveToNextEditor\"` - Moves focus to the next editor.\n * - `\"loseFocus\"` - Removes focus from the current editor.\n * - `\"default\"` - Behaves as a standard `<input>` element.\n */\n enterKeyAction: \"default\" as \"moveToNextEditor\" | \"loseFocus\" | \"default\",\n /**\n * An object that configures string comparison.\n *\n * Nested properties:\n *\n * - `trimStrings`: `Boolean`\\\n * Specifies whether to remove whitespace from both ends of a string before the comparison. Default value: `true`.\n *\n * - `caseSensitive`: `Boolean`\\\n * Specifies whether to differentiate between capital and lower-case letters. Default value: `false`.\n *\n * - `normalizedTextCallback`: `(str: string, reason: string) => string`\n * Use the following function { str.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\"); }\n * If you want to 'Brouillé' to be equal to 'Brouille'.\n * Use the following function { return reason === \"filter\" ? str.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\"): \"\"; }\n * If you want to use this functionality during filtering only, for example in list.\n */\n comparator: {\n trimStrings: true,\n caseSensitive: false,\n normalizeTextCallback: (str: string, reason: string): string => { return str; }\n },\n expressionDisableConversionChar: \"#\",\n get commentPrefix(): string { return settings.commentSuffix; },\n set commentPrefix(val: string) { settings.commentSuffix = val; },\n /**\n * A suffix added to the name of the property that stores comments.\n *\n * Default value: \"-Comment\"\n *\n * You can specify this setting for an individual survey: [`commentSuffix`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#commentSuffix).\n */\n commentSuffix: \"-Comment\",\n /**\n * A separator used in a shorthand notation that specifies a value and display text for an [`ItemValue`](https://surveyjs.io/form-library/documentation/api-reference/itemvalue) object: `\"value|text\"`.\n *\n * Default value: `\"|\"`\n */\n itemValueSeparator: \"|\",\n /**\n * A maximum number of rate values in a [Rating](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model) question.\n *\n * Default value: 20\n */\n ratingMaximumRateValueCount: 20,\n /**\n * Specifies whether to close the drop-down menu of a [TagBox](https://surveyjs.io/form-library/examples/how-to-create-multiselect-tag-box/) question after a user selects a value.\n *\n * This setting applies to all TagBox questions on a page. You can use the [closeOnSelect](https://surveyjs.io/form-library/documentation/api-reference/dropdown-tag-box-model#closeOnSelect) property to specify the same setting for an individual TagBox question.\n */\n tagboxCloseOnSelect: false,\n /**\n * A property that allows you to display a custom confirm dialog instead of the standard browser dialog. Set this property to a function that renders your custom dialog window.\n * @param message A message to be displayed in the confirm dialog window.\n */\n confirmActionFunc: function (message: string): boolean {\n return confirm(message);\n },\n /**\n * A minimum width value for all survey elements.\n *\n * Default value: `\"300px\"`\n *\n * You can override this setting for individual elements: [`minWidth`](https://surveyjs.io/form-library/documentation/api-reference/surveyelement#minWidth).\n */\n minWidth: \"300px\",\n /**\n * A maximum width value for all survey elements.\n *\n * Default value: `\"100%\"`\n *\n * You can override this setting for individual elements: [`maxWidth`](https://surveyjs.io/form-library/documentation/api-reference/surveyelement#maxWidth).\n */\n maxWidth: \"100%\",\n /**\n * Specifies how many times surveys can re-evaluate expressions when a question value changes. This limit helps avoid recursions in expressions.\n *\n * Default value: 10\n */\n maxConditionRunCountOnValueChanged: 10,\n /**\n * An object that configures notifications.\n *\n * Nested properties:\n *\n * - `lifetime`: `Number`\\\n * Specifies a time period during which a notification is displayed; measured in milliseconds.\n */\n notifications: {\n lifetime: 2000\n },\n /**\n * Specifies the direction in which to lay out Checkbox and Radiogroup items. This setting affects the resulting UI when items are arranged in [more than one column](https://surveyjs.io/form-library/documentation/api-reference/checkbox-question-model#colCount).\n *\n * Possible values:\n *\n * - `\"row\"` (default) - Items fill the current row, then move on to the next row.\n * - `\"column\"` - Items fill the current column, then move on to the next column.\n */\n showItemsInOrder: \"default\",\n /**\n * A value to save in survey results when respondents select the None choice item.\n *\n * Default value: `\"none\"`\n */\n noneItemValue: \"none\",\n /**\n * A list of supported validators by question type.\n */\n supportedValidators: {\n question: [\"expression\"],\n comment: [\"text\", \"regex\"],\n text: [\"numeric\", \"text\", \"regex\", \"email\"],\n checkbox: [\"answercount\"],\n imagepicker: [\"answercount\"],\n },\n /**\n * Specifies a minimum date that users can enter into a [Text](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model) question with [`inputType`](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model#inputType) set to `\"date\"` or `\"datetime-local\"`. Set this property to a string with the folllowing format: `\"yyyy-mm-dd\"`.\n */\n minDate: \"\",\n /**\n * Specifies a maximum date that users can enter into a [Text](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model) question with [`inputType`](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model#inputType) set to `\"date\"` or `\"datetime-local\"`. Set this property to a string with the folllowing format: `\"yyyy-mm-dd\"`.\n */\n maxDate: \"\",\n showModal: <\n (\n componentName: string,\n data: any,\n onApply: () => boolean,\n onCancel?: () => void,\n cssClass?: string,\n title?: string,\n displayMode?: \"popup\" | \"overlay\"\n ) => any\n >undefined,\n showDialog: < (options: IDialogOptions, rootElement?: HTMLElement) => any >undefined,\n supportCreatorV2: false,\n showDefaultItemsInCreatorV2: true,\n /**\n * An object that specifies icon replacements. Object keys are built-in icon names. To use a custom icon, assign its name to the key of the icon you want to replace:\n *\n * ```js\n * import { settings } from \"survey-core\";\n *\n * settings.customIcons[\"icon-redo\"] = \"custom-redo-icon\";\n * ```\n *\n * For more information about icons in SurveyJS, refer to the following help topic: [UI Icons](https://surveyjs.io/form-library/documentation/icons).\n */\n customIcons: {},\n /**\n * Specifies which part of a choice item responds to a drag gesture in Ranking questions.\n *\n * Possible values:\n *\n * - `\"entireItem\"` (default) - Users can use the entire choice item as a drag handle.\n * - `\"icon\"` - Users can only use the choice item icon as a drag handle.\n */\n rankingDragHandleArea: \"entireItem\",\n\n /**\n * Specifies environment in which SurveyJS will exist\n */\n environment: defaultEnvironment,\n\n showMaxLengthIndicator: true,\n\n titleTags: {\n survey: \"h3\",\n page: \"h4\",\n panel: \"h4\",\n question: \"h5\",\n },\n questions: {\n inputTypes: [\n \"color\",\n \"date\",\n \"datetime-local\",\n \"email\",\n \"month\",\n \"number\",\n \"password\",\n \"range\",\n \"tel\",\n \"text\",\n \"time\",\n \"url\",\n \"week\",\n ],\n dataList: [\n \"\",\n \"name\",\n \"honorific-prefix\",\n \"given-name\",\n \"additional-name\",\n \"family-name\",\n \"honorific-suffix\",\n \"nickname\",\n \"organization-title\",\n \"username\",\n \"new-password\",\n \"current-password\",\n \"organization\",\n \"street-address\",\n \"address-line1\",\n \"address-line2\",\n \"address-line3\",\n \"address-level4\",\n \"address-level3\",\n \"address-level2\",\n \"address-level1\",\n \"country\",\n \"country-name\",\n \"postal-code\",\n \"cc-name\",\n \"cc-given-name\",\n \"cc-additional-name\",\n \"cc-family-name\",\n \"cc-number\",\n \"cc-exp\",\n \"cc-exp-month\",\n \"cc-exp-year\",\n \"cc-csc\",\n \"cc-type\",\n \"transaction-currency\",\n \"transaction-amount\",\n \"language\",\n \"bday\",\n \"bday-day\",\n \"bday-month\",\n \"bday-year\",\n \"sex\",\n \"url\",\n \"photo\",\n \"tel\",\n \"tel-country-code\",\n \"tel-national\",\n \"tel-area-code\",\n \"tel-local\",\n \"tel-local-prefix\",\n \"tel-local-suffix\",\n \"tel-extension\",\n \"email\",\n \"impp\",\n ]\n }\n};","import { Action } from \"../actions/action\";\nimport { AdaptiveActionContainer } from \"../actions/adaptive-container\";\nimport { isContainerVisible } from \"./utils\";\n\ninterface IDimensions {\n scroll: number;\n offset: number;\n}\n\nexport class ResponsivityManager {\n private resizeObserver: ResizeObserver = undefined;\n private isInitialized = false;\n protected minDimensionConst = 56;\n private separatorSize = 17;\n private separatorAddConst = 1;\n private paddingSizeConst = 8;\n private dotsSizeConst = 48;\n protected recalcMinDimensionConst = true;\n\n public getComputedStyle: (\n elt: Element\n ) => CSSStyleDeclaration = window.getComputedStyle.bind(window);\n\n constructor(\n protected container: HTMLDivElement,\n private model: AdaptiveActionContainer,\n private itemsSelector: string,\n private dotsItemSize: number = null,\n ) {\n this.model.updateCallback = (isResetInitialized: boolean) => {\n if(isResetInitialized)\n this.isInitialized = false;\n setTimeout(() => { this.process(); }, 1);\n };\n if (typeof ResizeObserver !== \"undefined\") {\n this.resizeObserver = new ResizeObserver((_) => this.process());\n this.resizeObserver.observe(this.container.parentElement);\n }\n }\n\n protected getDimensions(element: HTMLElement): IDimensions {\n return {\n scroll: element.scrollWidth,\n offset: element.offsetWidth,\n };\n }\n\n protected getAvailableSpace(): number {\n const style: CSSStyleDeclaration = this.getComputedStyle(this.container);\n let space = this.container.offsetWidth;\n if (style.boxSizing === \"border-box\") {\n space -= parseFloat(style.paddingLeft) + parseFloat(style.paddingRight);\n }\n return space;\n }\n\n protected calcItemSize(item: HTMLDivElement): number {\n return item.offsetWidth;\n }\n\n private calcMinDimension(currentAction: Action) {\n let minDimensionConst = this.minDimensionConst;\n if(currentAction.iconSize && this.recalcMinDimensionConst) {\n minDimensionConst = 2 * currentAction.iconSize + this.paddingSizeConst;\n }\n return currentAction.canShrink\n ? minDimensionConst +\n (currentAction.needSeparator ? this.separatorSize : 0)\n : currentAction.maxDimension;\n }\n\n private calcItemsSizes() {\n const actions = this.model.actions;\n const _items = this.container.querySelectorAll(this.itemsSelector);\n (_items || []).forEach((item: HTMLDivElement, index: number) => {\n let currentAction = actions[index];\n this.calcActionDimensions(currentAction, item);\n });\n }\n protected calcActionDimensions(currentAction: Action, item: HTMLDivElement) {\n currentAction.maxDimension = this.calcItemSize(item);\n currentAction.minDimension = this.calcMinDimension(currentAction);\n }\n private get isContainerVisible(): boolean {\n return isContainerVisible(this.container);\n }\n private process(): void {\n if (this.isContainerVisible && !this.model.isResponsivenessDisabled) {\n if (!this.isInitialized) {\n this.model.setActionsMode(\"large\");\n this.calcItemsSizes();\n this.isInitialized = true;\n }\n let dotsItemSize = this.dotsItemSize;\n if (!this.dotsItemSize) {\n const dotsItemElement: HTMLDivElement = this.container?.querySelector(\".sv-dots\");\n dotsItemSize = dotsItemElement && this.calcItemSize(dotsItemElement) || this.dotsSizeConst;\n }\n this.model.fit(this.getAvailableSpace(), dotsItemSize);\n }\n }\n\n public dispose(): void {\n this.model.updateCallback = undefined;\n if (!!this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n }\n}\n\nexport class VerticalResponsivityManager extends ResponsivityManager {\n constructor(\n container: HTMLDivElement,\n model: AdaptiveActionContainer,\n itemsSelector: string,\n dotsItemSize?: number,\n minDimension = 40\n ) {\n super(container, model, itemsSelector, dotsItemSize);\n this.minDimensionConst = minDimension;\n this.recalcMinDimensionConst = false;\n }\n\n protected getDimensions(): IDimensions {\n return {\n scroll: this.container.scrollHeight,\n offset: this.container.offsetHeight,\n };\n }\n\n protected getAvailableSpace(): number {\n const style: CSSStyleDeclaration = this.getComputedStyle(this.container);\n let space: number = this.container.offsetHeight;\n if (style.boxSizing === \"border-box\") {\n space -= parseFloat(style.paddingTop) + parseFloat(style.paddingBottom);\n }\n return space;\n }\n\n protected calcItemSize(item: HTMLDivElement): number {\n return item.offsetHeight;\n }\n protected calcActionDimensions(currentAction: Action, item: HTMLDivElement) {\n currentAction.maxDimension = this.calcItemSize(item);\n currentAction.minDimension = this.calcItemSize(item);\n }\n}\n","import { settings, ISurveyEnvironment } from \"./../settings\";\n\nfunction compareVersions(a: any, b: any) {\n const regExStrip0: RegExp = /(\\.0+)+$/;\n const segmentsA: string[] = a.replace(regExStrip0, \"\").split(\".\");\n const segmentsB: string[] = b.replace(regExStrip0, \"\").split(\".\");\n const len: number = Math.min(segmentsA.length, segmentsB.length);\n for (let i: number = 0; i < len; i++) {\n const diff: number =\n parseInt(segmentsA[i], 10) - parseInt(segmentsB[i], 10);\n if (diff) {\n return diff;\n }\n }\n return segmentsA.length - segmentsB.length;\n}\nfunction confirmAction(message: string): boolean {\n if (!!settings && !!settings.confirmActionFunc)\n return settings.confirmActionFunc(message);\n return confirm(message);\n}\nfunction detectIEBrowser() {\n if (typeof window === \"undefined\") return false;\n const ua: string = window.navigator.userAgent;\n const oldIe: number = ua.indexOf(\"MSIE \");\n const elevenIe: number = ua.indexOf(\"Trident/\");\n return oldIe > -1 || elevenIe > -1;\n}\nfunction detectIEOrEdge() {\n if (typeof window === \"undefined\") return false;\n if (typeof (<any>detectIEOrEdge).isIEOrEdge === \"undefined\") {\n const ua: string = window.navigator.userAgent;\n const msie: number = ua.indexOf(\"MSIE \");\n const trident: number = ua.indexOf(\"Trident/\");\n const edge: number = ua.indexOf(\"Edge/\");\n (<any>detectIEOrEdge).isIEOrEdge = edge > 0 || trident > 0 || msie > 0;\n }\n return (<any>detectIEOrEdge).isIEOrEdge;\n}\nfunction loadFileFromBase64(b64Data: string, fileName: string) {\n try {\n const byteString: string = atob(b64Data.split(\",\")[1]);\n\n // separate out the mime component\n const mimeString: string = b64Data\n .split(\",\")[0]\n .split(\":\")[1]\n .split(\";\")[0];\n\n // write the bytes of the string to an ArrayBuffer\n const ab: ArrayBuffer = new ArrayBuffer(byteString.length);\n const ia: Uint8Array = new Uint8Array(ab);\n for (let i = 0; i < byteString.length; i++) {\n ia[i] = byteString.charCodeAt(i);\n }\n // write the ArrayBuffer to a blob, and you're done\n const bb: Blob = new Blob([ab], { type: mimeString });\n if (\n typeof window !== \"undefined\" &&\n window.navigator &&\n (<any>window.navigator)[\"msSaveBlob\"]\n ) {\n (<any>window.navigator)[\"msSaveOrOpenBlob\"](bb, fileName);\n }\n } catch (err) { }\n}\nfunction isMobile() {\n return (\n typeof window !== \"undefined\" && typeof window.orientation !== \"undefined\"\n );\n}\n\nconst isShadowDOM = (rootElement: Document | ShadowRoot | HTMLElement): rootElement is ShadowRoot => {\n return !!rootElement && !!(\"host\" in rootElement && rootElement.host);\n};\n\nconst getElement = (element: HTMLElement | string): HTMLElement => {\n const { root }: ISurveyEnvironment = settings.environment;\n return typeof element === \"string\" ? root.getElementById(element) : element;\n};\n\nfunction isElementVisible(\n element: HTMLElement,\n threshold: number = 0\n): boolean {\n if (typeof settings.environment === \"undefined\") {\n return false;\n }\n\n const { root }: ISurveyEnvironment = settings.environment;\n const clientHeight = isShadowDOM(root)\n ? root.host.clientHeight\n : root.documentElement.clientHeight;\n const elementRect: DOMRect = element.getBoundingClientRect();\n const viewHeight: number = Math.max(\n clientHeight,\n window.innerHeight\n );\n const topWin: number = -threshold;\n const bottomWin: number = viewHeight + threshold;\n const topEl: number = elementRect.top;\n const bottomEl: number = elementRect.bottom;\n\n const maxTop: number = Math.max(topWin, topEl);\n const minBottom: number = Math.min(bottomWin, bottomEl);\n return maxTop <= minBottom;\n}\n\nfunction findScrollableParent(element: HTMLElement): HTMLElement {\n const { root }: ISurveyEnvironment = settings.environment;\n if (!element) {\n return isShadowDOM(root)\n ? root.host as HTMLElement\n : root.documentElement;\n }\n if (\n element.scrollHeight > element.clientHeight &&\n (getComputedStyle(element).overflowY === \"scroll\" ||\n getComputedStyle(element).overflowY === \"auto\")\n ) {\n return element;\n }\n\n if (\n element.scrollWidth > element.clientWidth &&\n (getComputedStyle(element).overflowX === \"scroll\" ||\n getComputedStyle(element).overflowX === \"auto\")\n ) {\n return element;\n }\n\n return findScrollableParent(element.parentElement);\n}\n\nfunction scrollElementByChildId(id: string) {\n const environment : ISurveyEnvironment = settings.environment;\n if (!environment) return;\n const { root } = environment;\n const el = root.getElementById(id);\n if (!el) return;\n const scrollableEl = findScrollableParent(el);\n if (!!scrollableEl) {\n scrollableEl.dispatchEvent(new CustomEvent(\"scroll\"));\n }\n}\n\nfunction navigateToUrl(url: string): void {\n if (!url || typeof window === \"undefined\" || !window.location) return;\n window.location.href = url;\n}\n\nfunction getIconNameFromProxy(iconName: string): string {\n if (!iconName) return iconName;\n var proxyName = (<any>settings.customIcons)[iconName];\n return !!proxyName ? proxyName : iconName;\n}\n\nfunction createSvg(\n size: number | string,\n width: number,\n height: number,\n iconName: string,\n svgElem: any,\n title: string,\n): void {\n if (!svgElem) return;\n if (size !== \"auto\") {\n svgElem.style.width = (size || width || 16) + \"px\";\n svgElem.style.height = (size || height || 16) + \"px\";\n }\n const node: any = svgElem.childNodes[0];\n const realIconName = getIconNameFromProxy(iconName);\n node.setAttributeNS(\n \"http://www.w3.org/1999/xlink\",\n \"xlink:href\",\n \"#\" + realIconName\n );\n\n let titleElement = svgElem.getElementsByTagName(\"title\")[0];\n if (!title) {\n if (!!titleElement) {\n svgElem.removeChild(titleElement);\n }\n return;\n } else {\n if (!titleElement) {\n titleElement = document.createElementNS(\"http://www.w3.org/2000/svg\", \"title\");\n svgElem.appendChild(titleElement);\n }\n }\n titleElement.textContent = title;\n}\n\nexport function unwrap<T>(value: T | (() => T)): T {\n if (typeof value !== \"function\") {\n return value;\n } else {\n return (<() => T>value)();\n }\n}\n\n// export function getSize(value: any): number {\n// if (typeof value === \"number\") {\n// return value;\n// }\n// if (typeof value === \"string\" && value.includes(\"px\")) {\n// return parseInt(value);\n// }\n// if (!!value && typeof value === \"string\" && value.length > 0) {\n// const lastSymbol: string = value[value.length - 1];\n// if ((lastSymbol >= \"0\" && lastSymbol <= \"9\") || lastSymbol == \".\") {\n// try {\n// const num: number = parseInt(value);\n// return num;\n// } catch { }\n// }\n// }\n// return value;\n// }\n\nexport function getRenderedSize(val: string | number): number {\n if(typeof val == \"string\") {\n if(!isNaN(Number(val))) {\n return Number(val);\n }\n else if(val.includes(\"px\")) {\n return parseFloat(val);\n }\n }\n if(typeof val == \"number\") {\n return val;\n }\n return undefined;\n}\nexport function getRenderedStyleSize(val: string | number): string {\n if(getRenderedSize(val) !== undefined) {\n return undefined;\n }\n return val as string;\n}\n\nexport interface IAttachKey2clickOptions {\n processEsc?: boolean;\n disableTabStop?: boolean;\n __keyDownReceived?: boolean;\n}\nconst keyFocusedClassName = \"sv-focused--by-key\";\nexport function doKey2ClickBlur(evt: KeyboardEvent): void {\n const element: any = evt.target;\n if (!element || !element.classList) return;\n element.classList.remove(keyFocusedClassName);\n}\n\nexport function doKey2ClickUp(evt: KeyboardEvent, options?: IAttachKey2clickOptions): void {\n if (!!evt.target && (<any>evt.target)[\"contentEditable\"] === \"true\") {\n return;\n }\n const element: any = evt.target;\n if (!element) return;\n const char: number = evt.which || evt.keyCode;\n if (char === 9) {\n if (!!element.classList && !element.classList.contains(keyFocusedClassName)) {\n element.classList.add(keyFocusedClassName);\n }\n return;\n }\n\n if (options) {\n if (!options.__keyDownReceived) return;\n options.__keyDownReceived = false;\n }\n\n if (char === 13 || char === 32) {\n if (element.click) element.click();\n } else if ((!options || options.processEsc) && char === 27) {\n if (element.blur) element.blur();\n }\n}\n\nexport function doKey2ClickDown(evt: KeyboardEvent, options: IAttachKey2clickOptions = { processEsc: true }): void {\n if (options) options.__keyDownReceived = true;\n if (!!evt.target && (<any>evt.target)[\"contentEditable\"] === \"true\") {\n return;\n }\n var char = evt.which || evt.keyCode;\n const supportedCodes = [13, 32];\n if (options.processEsc) {\n supportedCodes.push(27);\n }\n if (supportedCodes.indexOf(char) !== -1) {\n evt.preventDefault();\n }\n}\n\nfunction increaseHeightByContent(element: HTMLElement, getComputedStyle?: (elt: Element) => any) {\n if (!element) return;\n if (!getComputedStyle) getComputedStyle = (elt: Element) => { return window.getComputedStyle(elt); };\n\n const style = getComputedStyle(element);\n element.style.height = \"auto\";\n element.style.height = (element.scrollHeight + parseFloat(style.borderTopWidth) + parseFloat(style.borderBottomWidth)) + \"px\";\n}\nfunction getOriginalEvent(event: any) {\n return event.originalEvent || event;\n}\nfunction preventDefaults(event: any) {\n event.preventDefault();\n event.stopPropagation();\n}\nfunction classesToSelector(str: string): string {\n const re = /\\s*?([\\w-]+)\\s*?/g;\n return str.replace(re, \".$1\");\n}\n\nfunction getElementWidth(el: HTMLElement) {\n return !!getComputedStyle ? Number.parseFloat(getComputedStyle(el).width) : el.offsetWidth;\n}\n\nfunction isContainerVisible(el: HTMLElement) {\n return !!(\n el.offsetWidth ||\n el.offsetHeight ||\n el.getClientRects().length\n );\n}\n\nfunction getFirstVisibleChild(el: HTMLElement) {\n let result;\n for(let index = 0; index < el.children.length; index++) {\n if(!result && getComputedStyle(el.children[index]).display !== \"none\") {\n result = el.children[index];\n }\n }\n return result;\n}\nfunction findParentByClassNames(element: HTMLElement, classNames: Array<string>): Element {\n if (!!element) {\n if (classNames.every(className => !className || element.classList.contains(className))) {\n return element;\n } else {\n return findParentByClassNames(element.parentElement, classNames);\n }\n }\n}\nexport function sanitizeEditableContent(element: any) {\n if (window.getSelection && document.createRange && element.childNodes.length > 0) {\n const selection = document.getSelection();\n\n let range = selection.getRangeAt(0);\n range.setStart(range.endContainer, range.endOffset);\n range.setEndAfter(element.lastChild);\n selection.removeAllRanges();\n selection.addRange(range);\n const tail_len = selection.toString().replace(/\\n/g, \"\").length;\n\n element.innerText = element.innerText.replace(/\\n/g, \"\");\n range = document.createRange();\n range.setStart(element.childNodes[0], element.innerText.length - tail_len);\n range.collapse(true);\n selection.removeAllRanges();\n selection.addRange(range);\n }\n}\nfunction mergeValues(src: any, dest: any) {\n if (!dest || !src) return;\n if (typeof dest !== \"object\") return;\n for (var key in src) {\n var value = src[key];\n if (!Array.isArray(value) && value && typeof value === \"object\") {\n if (!dest[key] || typeof dest[key] !== \"object\") dest[key] = {};\n mergeValues(value, dest[key]);\n } else {\n dest[key] = value;\n }\n }\n}\n\nexport class Logger {\n private _result = \"\";\n public log(action: string) {\n this._result += \"->\" + action;\n }\n public get result() {\n return this._result;\n }\n}\n\nexport {\n mergeValues,\n getElementWidth,\n isContainerVisible,\n classesToSelector,\n compareVersions,\n confirmAction,\n detectIEOrEdge,\n detectIEBrowser,\n loadFileFromBase64,\n isMobile,\n isShadowDOM,\n getElement,\n isElementVisible,\n findScrollableParent,\n scrollElementByChildId,\n navigateToUrl,\n createSvg,\n getIconNameFromProxy,\n increaseHeightByContent,\n getOriginalEvent,\n preventDefaults,\n findParentByClassNames,\n getFirstVisibleChild,\n};\n","module.exports = __WEBPACK_EXTERNAL_MODULE_react__;","module.exports = __WEBPACK_EXTERNAL_MODULE_react_dom__;","module.exports = __WEBPACK_EXTERNAL_MODULE_survey_core__;"],"sourceRoot":""}
|