survey-react-ui 1.11.5 → 1.11.7
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 +7761 -22775
- 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/actions/action.ts","webpack://SurveyReact/./src/actions/adaptive-container.ts","webpack://SurveyReact/./src/actions/container.ts","webpack://SurveyReact/./src/base.ts","webpack://SurveyReact/./src/conditionProcessValue.ts","webpack://SurveyReact/./src/conditions.ts","webpack://SurveyReact/./src/conditionsParser.ts","webpack://SurveyReact/./src/console-warnings.ts","webpack://SurveyReact/./src/element-helper.ts","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/expressions/expressionParser.ts","webpack://SurveyReact/./src/expressions/expressions.ts","webpack://SurveyReact/./src/functionsfactory.ts","webpack://SurveyReact/./src/global_variables_utils.ts","webpack://SurveyReact/./src/helpers.ts","webpack://SurveyReact/./src/jsonobject.ts","webpack://SurveyReact/./src/list.ts","webpack://SurveyReact/./src/localizablestring.ts","webpack://SurveyReact/./src/localization/english.ts","webpack://SurveyReact/./src/popup.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/file/file-choose-button.tsx","webpack://SurveyReact/./src/react/components/file/file-preview.tsx","webpack://SurveyReact/./src/react/components/header.tsx","webpack://SurveyReact/./src/react/components/list/list-item-content.tsx","webpack://SurveyReact/./src/react/components/list/list-item-group.tsx","webpack://SurveyReact/./src/react/components/list/list-item.tsx","webpack://SurveyReact/./src/react/components/list/list.tsx","webpack://SurveyReact/./src/react/components/loading-indicator.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/question-error.tsx","webpack://SurveyReact/./src/react/components/rating/rating-dropdown-item.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/element.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/progress.tsx","webpack://SurveyReact/./src/react/progressButtons.tsx","webpack://SurveyReact/./src/react/progressToc.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/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/svgbundle.tsx","webpack://SurveyReact/./src/react/tagbox-filter.tsx","webpack://SurveyReact/./src/react/tagbox-item.tsx","webpack://SurveyReact/./src/settings.ts","webpack://SurveyReact/./src/survey-element.ts","webpack://SurveyReact/./src/surveyStrings.ts","webpack://SurveyReact/./src/utils/animation.ts","webpack://SurveyReact/./src/utils/cssClassBuilder.ts","webpack://SurveyReact/./src/utils/responsivity-manager.ts","webpack://SurveyReact/./src/utils/taskmanager.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","import { ILocalizableOwner, LocalizableString } from \"../localizablestring\";\r\nimport { Base, ComputedUpdater } from \"../base\";\r\nimport { surveyLocalization } from \"../surveyStrings\";\r\nimport { property } from \"../jsonobject\";\r\nimport { IListModel, ListModel } from \"../list\";\r\nimport { IPopupOptionsBase, PopupModel } from \"../popup\";\r\nimport { CssClassBuilder } from \"../utils/cssClassBuilder\";\r\nimport { defaultActionBarCss } from \"./container\";\r\n\r\nexport type actionModeType = \"large\" | \"small\" | \"popup\" | \"removed\";\r\n\r\n/**\r\n * An action item.\r\n *\r\n * Action items are used in the Toolbar, matrix rows, titles of pages, panels, questions, and other survey elements.\r\n *\r\n * [View Demo](https://surveyjs.io/form-library/examples/add-custom-navigation-button/ (linkStyle))\r\n */\r\nexport interface IAction {\r\n /**\r\n * A unique action item identifier.\r\n *\r\n * [View Demo](https://surveyjs.io/form-library/examples/add-custom-navigation-button/ (linkStyle))\r\n */\r\n id?: string;\r\n /**\r\n * Specifies the action item's visibility.\r\n * @see enabled\r\n * @see active\r\n */\r\n visible?: boolean | ComputedUpdater<boolean>;\r\n /**\r\n * The action item's title.\r\n *\r\n * [View Demo](https://surveyjs.io/form-library/examples/add-custom-navigation-button/ (linkStyle))\r\n * @see showTitle\r\n * @see disableShrink\r\n */\r\n title?: string;\r\n locTitle?: LocalizableString;\r\n locTitleName?: string;\r\n /**\r\n * The action item's tooltip.\r\n */\r\n tooltip?: string;\r\n locTooltipName?: string;\r\n /**\r\n * Specifies whether users can interact with the action item.\r\n * @see active\r\n * @see visible\r\n */\r\n enabled?: boolean | ComputedUpdater<boolean>;\r\n enabledIf?: () => boolean;\r\n /**\r\n * Specifies the visibility of the action item's title.\r\n * @see title\r\n * @see disableShrink\r\n */\r\n showTitle?: boolean;\r\n /**\r\n * A function that is executed when users click the action item.\r\n *\r\n * [View Demo](https://surveyjs.io/form-library/examples/add-custom-navigation-button/ (linkStyle))\r\n */\r\n action?: (context?: any) => void;\r\n /**\r\n * One or several CSS classes that you want to apply to the outer `<div>` element.\r\n *\r\n * In the markup, an action item is rendered as an `<input>` wrapped in a `<div>`. The `css` property applies classes to the `<div>`.\r\n *\r\n * To apply several classes, separate them with a space character: `\"myclass1 myclass2\"`.\r\n *\r\n * [View Demo](https://surveyjs.io/form-library/examples/add-custom-navigation-button/ (linkStyle))\r\n * @see innerCss\r\n */\r\n css?: string;\r\n /**\r\n * One or several CSS classes that you want to apply to the inner `<input>` element.\r\n *\r\n * In the markup, an action item is rendered as an `<input>` wrapped in a `<div>`. The `innerCss` property applies classes to the `<input>`.\r\n *\r\n * To apply several classes, separate them with a space character: `\"myclass1 myclass2\"`.\r\n *\r\n * [View Demo](https://surveyjs.io/form-library/examples/add-custom-navigation-button/ (linkStyle))\r\n * @see css\r\n */\r\n innerCss?: string;\r\n /**\r\n * The action item's data object. Use it to pass required data to a custom template or component.\r\n */\r\n data?: any;\r\n popupModel?: any; //TODO: temp, use data instead\r\n needSeparator?: boolean; //TODO: temp\r\n /**\r\n * Specifies whether the action item is active.\r\n *\r\n * Use this property as a flag to specify different action item appearances in different states.\r\n * @see enabled\r\n * @see visible\r\n */\r\n active?: boolean;\r\n pressed?: boolean;\r\n /**\r\n * Specifies the name of a template used to render the action item.\r\n * @see component\r\n */\r\n template?: string;\r\n /**\r\n * Specifies the name of a component used to render the action item.\r\n */\r\n component?: string;\r\n /**\r\n * The action item's icon name.\r\n * @see iconSize\r\n */\r\n iconName?: string;\r\n /**\r\n * The action item's icon size in pixels.\r\n * @see iconName\r\n */\r\n iconSize?: number | string;\r\n /**\r\n * The action item's location in a matrix question's row.\r\n *\r\n * The following values are available:\r\n *\r\n * - `\"start\"` - The action item is located at the beginning of the row.\r\n * - `\"end\"` - The action is located at the end of the row.\r\n */\r\n location?: string;\r\n /**\r\n * Set this property to `true` if you want to disable keyboard navigation for the action item (sets the `tabIndex` attribute to -1).\r\n */\r\n disableTabStop?: boolean;\r\n\r\n /**\r\n * Set this property to `true` if you want the item's `title` to be always visible.\r\n * If you set it to `false`, the `title` hides when the screen space is limited, and the item displays only the icon.\r\n * @see title\r\n * @see iconName\r\n */\r\n disableShrink?: boolean;\r\n disableHide?: boolean;\r\n mode?: actionModeType;\r\n /**\r\n * A number that specifies the action's position relative to other actions.\r\n *\r\n * [View Demo](https://surveyjs.io/form-library/examples/add-custom-navigation-button/ (linkStyle))\r\n */\r\n visibleIndex?: number;\r\n needSpace?: boolean;\r\n ariaChecked?: boolean;\r\n ariaExpanded?: boolean;\r\n ariaRole?: string;\r\n elementId?: string;\r\n items?: Array<IAction>;\r\n markerIconName?: string;\r\n markerIconSize?: number;\r\n showPopup?: () => void;\r\n hidePopup?: () => void;\r\n}\r\n\r\nexport interface IActionDropdownPopupOptions extends IListModel, IPopupOptionsBase {\r\n}\r\nexport function createDropdownActionModel(actionOptions: IAction, dropdownOptions: IActionDropdownPopupOptions, locOwner?: ILocalizableOwner): Action {\r\n dropdownOptions.locOwner = locOwner;\r\n return createDropdownActionModelAdvanced(actionOptions, dropdownOptions, dropdownOptions);\r\n}\r\nexport function createDropdownActionModelAdvanced(actionOptions: IAction, listOptions: IListModel, popupOptions?: IPopupOptionsBase): Action {\r\n const originalSelectionChanged = listOptions.onSelectionChanged;\r\n listOptions.onSelectionChanged = (item: Action, ...params: any[]) => {\r\n if (newAction.hasTitle) { newAction.title = item.title; }\r\n if (originalSelectionChanged) {\r\n originalSelectionChanged(item, params);\r\n }\r\n };\r\n const popupModel: PopupModel = createPopupModelWithListModel(listOptions, popupOptions);\r\n\r\n const newActionOptions = Object.assign({}, actionOptions, {\r\n component: \"sv-action-bar-item-dropdown\",\r\n popupModel: popupModel,\r\n action: (action: IAction, isUserAction: boolean) => {\r\n !!(actionOptions.action) && actionOptions.action();\r\n popupModel.isFocusedContent = popupModel.isFocusedContent || !isUserAction;\r\n popupModel.show();\r\n },\r\n });\r\n const newAction: Action = new Action(newActionOptions);\r\n newAction.data = popupModel.contentComponentData?.model;\r\n\r\n return newAction;\r\n}\r\n\r\nexport function createPopupModelWithListModel(listOptions: IListModel, popupOptions: IPopupOptionsBase): PopupModel {\r\n const listModel: ListModel = new ListModel(listOptions as any);\r\n listModel.onSelectionChanged = (item: Action) => {\r\n if (listOptions.onSelectionChanged) {\r\n listOptions.onSelectionChanged(item);\r\n }\r\n popupModel.hide();\r\n };\r\n\r\n const _popupOptions = popupOptions || {};\r\n _popupOptions.onDispose = () => { listModel.dispose(); };\r\n const popupModel: PopupModel = new PopupModel(\"sv-list\", { model: listModel }, _popupOptions);\r\n popupModel.isFocusedContent = listModel.showFilter;\r\n popupModel.onShow = () => {\r\n if (!!_popupOptions.onShow) _popupOptions.onShow();\r\n listModel.scrollToSelectedItem();\r\n };\r\n\r\n return popupModel;\r\n}\r\n\r\nexport function getActionDropdownButtonTarget(container: HTMLElement): HTMLElement {\r\n return container?.previousElementSibling as HTMLElement;\r\n}\r\n\r\nexport abstract class BaseAction extends Base implements IAction {\r\n items?: IAction[];\r\n private static renderedId = 1;\r\n private static getNextRendredId(): number { return BaseAction.renderedId++; }\r\n private cssClassesValue: any;\r\n private rendredIdValue = BaseAction.getNextRendredId();\r\n private ownerValue: ILocalizableOwner;\r\n @property() tooltip: string;\r\n @property() showTitle: boolean;\r\n @property() innerCss: string;\r\n @property() active: boolean;\r\n @property() pressed: boolean;\r\n @property() data: any;\r\n @property() popupModel: any;\r\n @property() needSeparator: boolean;\r\n @property() template: string;\r\n @property({ defaultValue: \"large\" }) mode: actionModeType;\r\n @property() visibleIndex: number;\r\n @property() disableTabStop: boolean;\r\n @property() disableShrink: boolean;\r\n @property() disableHide: boolean;\r\n @property({ defaultValue: false }) needSpace: boolean;\r\n @property() ariaChecked: boolean;\r\n @property() ariaExpanded: boolean;\r\n @property({ defaultValue: \"button\" }) ariaRole: string;\r\n public id: string;\r\n public removePriority: number;\r\n @property() iconName: string;\r\n @property({ defaultValue: 24 }) iconSize: number;\r\n @property() markerIconName: string;\r\n @property() markerIconSize: number = 16;\r\n @property() css?: string\r\n minDimension: number;\r\n maxDimension: number;\r\n\r\n public get renderedId(): number { return this.rendredIdValue; }\r\n public get owner(): ILocalizableOwner { return this.ownerValue; }\r\n public set owner(val: ILocalizableOwner) {\r\n if (val !== this.owner) {\r\n this.ownerValue = val;\r\n this.locStrsChanged();\r\n }\r\n }\r\n public get visible(): boolean {\r\n return this.getVisible();\r\n }\r\n public set visible(val: boolean) {\r\n this.setVisible(val);\r\n }\r\n public get enabled() {\r\n return this.getEnabled();\r\n }\r\n public set enabled(val: boolean) {\r\n this.setEnabled(val);\r\n }\r\n public get component(): string {\r\n return this.getComponent();\r\n }\r\n public set component(val: string) {\r\n this.setComponent(val);\r\n }\r\n public get locTitle(): LocalizableString {\r\n return this.getLocTitle();\r\n }\r\n public set locTitle(val: LocalizableString) {\r\n this.setLocTitle(val);\r\n }\r\n public get title(): string {\r\n return this.getTitle();\r\n }\r\n public set title(val: string) {\r\n this.setTitle(val);\r\n }\r\n public set cssClasses(val: any) {\r\n this.cssClassesValue = val;\r\n }\r\n public get cssClasses() {\r\n return this.cssClassesValue || defaultActionBarCss;\r\n }\r\n public get isVisible() {\r\n return this.visible && this.mode !== \"popup\" && this.mode !== \"removed\";\r\n }\r\n public get disabled(): boolean {\r\n return this.enabled !== undefined && !this.enabled;\r\n }\r\n public get canShrink() {\r\n return !!this.iconName;\r\n }\r\n public get hasTitle(): boolean {\r\n return (\r\n ((this.mode != \"small\" &&\r\n (this.showTitle || this.showTitle === undefined)) ||\r\n !this.iconName) &&\r\n !!this.title\r\n );\r\n }\r\n public get hasSubItems(): boolean {\r\n return !!this.items && this.items.length > 0;\r\n }\r\n public getActionBarItemTitleCss(): string {\r\n return new CssClassBuilder()\r\n .append(this.cssClasses.itemTitle)\r\n .append(this.cssClasses.itemTitleWithIcon, !!this.iconName)\r\n .toString();\r\n }\r\n public getActionBarItemCss(): string {\r\n return new CssClassBuilder()\r\n .append(this.cssClasses.item)\r\n .append(this.cssClasses.itemWithTitle, this.hasTitle)\r\n .append(this.cssClasses.itemAsIcon, !this.hasTitle)\r\n .append(this.cssClasses.itemActive, !!this.active)\r\n .append(this.cssClasses.itemPressed, !!this.pressed)\r\n .append(this.innerCss)\r\n .toString();\r\n }\r\n public getActionRootCss(): string {\r\n return new CssClassBuilder()\r\n .append(\"sv-action\")\r\n .append(this.css)\r\n .append(\"sv-action--space\", this.needSpace)\r\n .append(\"sv-action--hidden\", !this.isVisible)\r\n .toString();\r\n }\r\n public getTooltip(): string {\r\n return this.tooltip || this.title;\r\n }\r\n public getIsTrusted(args: any): boolean {\r\n if (!!args.originalEvent) {\r\n return args.originalEvent.isTrusted;\r\n }\r\n return args.isTrusted;\r\n }\r\n public showPopup(): void {\r\n if (!!this.popupModel) {\r\n this.popupModel.show();\r\n }\r\n }\r\n public hidePopup(): void {\r\n if (!!this.popupModel) {\r\n this.popupModel.hide();\r\n }\r\n }\r\n\r\n @property({ defaultValue: false }) isPressed: boolean;\r\n @property({ defaultValue: false }) isHovered: boolean;\r\n\r\n private showPopupTimeout: NodeJS.Timeout;\r\n private hidePopupTimeout: NodeJS.Timeout;\r\n private clearPopupTimeouts() {\r\n if (this.showPopupTimeout) clearTimeout(this.showPopupTimeout);\r\n if (this.hidePopupTimeout) clearTimeout(this.hidePopupTimeout);\r\n }\r\n public showPopupDelayed(delay: number) {\r\n\r\n this.clearPopupTimeouts();\r\n this.showPopupTimeout = setTimeout(() => {\r\n this.clearPopupTimeouts();\r\n\r\n this.showPopup();\r\n\r\n }, delay);\r\n }\r\n\r\n public hidePopupDelayed(delay: number) {\r\n if (this.popupModel?.isVisible) {\r\n\r\n this.clearPopupTimeouts();\r\n this.hidePopupTimeout = setTimeout(() => {\r\n this.clearPopupTimeouts();\r\n\r\n this.hidePopup();\r\n this.isHovered = false;\r\n\r\n }, delay);\r\n } else {\r\n this.clearPopupTimeouts();\r\n this.isHovered = false;\r\n }\r\n }\r\n\r\n protected abstract getEnabled(): boolean;\r\n protected abstract setEnabled(val: boolean): void;\r\n protected abstract getVisible(): boolean;\r\n protected abstract setVisible(val: boolean): void;\r\n protected abstract getLocTitle(): LocalizableString;\r\n protected abstract setLocTitle(val: LocalizableString): void;\r\n protected abstract getTitle(): string;\r\n protected abstract setTitle(val: string): void;\r\n protected abstract getComponent(): string;\r\n protected abstract setComponent(val: string): void;\r\n}\r\n\r\nexport class Action extends BaseAction implements IAction, ILocalizableOwner {\r\n private locTitleValue: LocalizableString;\r\n public updateCallback: (isResetInitialized: boolean) => void;\r\n private raiseUpdate(isResetInitialized: boolean = false) {\r\n this.updateCallback && this.updateCallback(isResetInitialized);\r\n }\r\n constructor(public innerItem: IAction) {\r\n super();\r\n this.locTitle = !!innerItem ? innerItem[\"locTitle\"] : null;\r\n //Object.assign(this, item) to support IE11\r\n if (!!innerItem) {\r\n for (var key in innerItem) {\r\n if (key === \"locTitle\" || key === \"title\" && !!this.locTitle && !!this.title) continue;\r\n (<any>this)[key] = (<any>innerItem)[key];\r\n }\r\n }\r\n if (!!this.locTitleName) {\r\n this.locTitleChanged();\r\n }\r\n this.registerFunctionOnPropertyValueChanged(\"_title\", () => {\r\n this.raiseUpdate(true);\r\n });\r\n this.locStrChangedInPopupModel();\r\n }\r\n private createLocTitle(): LocalizableString {\r\n return this.createLocalizableString(\"title\", this, true);\r\n }\r\n public setSubItems(options: IListModel): void {\r\n this.markerIconName = \"icon-next_16x16\";\r\n this.component = \"sv-list-item-group\";\r\n this.items = [...options.items];\r\n const listOptions = Object.assign({}, options);\r\n listOptions.searchEnabled = false;\r\n const popupModel = createPopupModelWithListModel(\r\n listOptions,\r\n { horizontalPosition: \"right\", showPointer: false, canShrink: false }\r\n );\r\n popupModel.cssClass = \"sv-popup-inner\";\r\n this.popupModel = popupModel;\r\n }\r\n\r\n location?: string;\r\n @property() id: string;\r\n @property({\r\n defaultValue: true, onSet: (_, target: Action) => {\r\n target.raiseUpdate();\r\n }\r\n }) private _visible: boolean;\r\n @property({\r\n onSet: (_, target: Action) => {\r\n target.locTooltipChanged();\r\n }\r\n }) locTooltipName?: string;\r\n @property() private _enabled: boolean;\r\n @property() action: (context?: any, isUserAction?: boolean) => void;\r\n @property() _component: string;\r\n @property() items: any;\r\n @property({\r\n onSet: (val, target) => {\r\n if (target.locTitleValue.text === val) return;\r\n target.locTitleValue.text = val;\r\n }\r\n }) _title: string;\r\n protected getLocTitle(): LocalizableString {\r\n return this.locTitleValue;\r\n }\r\n protected setLocTitle(val: LocalizableString): void {\r\n if (!val && !this.locTitleValue) {\r\n val = this.createLocTitle();\r\n }\r\n if (!!this.locTitleValue) {\r\n this.locTitleValue.onStringChanged.remove(this.locTitleChanged);\r\n }\r\n this.locTitleValue = val;\r\n this.locTitleValue.onStringChanged.add(this.locTitleChanged);\r\n this.locTitleChanged();\r\n }\r\n protected getTitle(): string {\r\n return this._title;\r\n }\r\n protected setTitle(val: string): void {\r\n this._title = val;\r\n }\r\n public get locTitleName(): string {\r\n return this.locTitle.localizationName;\r\n }\r\n public set locTitleName(val: string) {\r\n this.locTitle.localizationName = val;\r\n }\r\n public locStrsChanged(): void {\r\n super.locStrsChanged();\r\n this.locTooltipChanged();\r\n this.locStrChangedInPopupModel();\r\n }\r\n private locStrChangedInPopupModel(): void {\r\n if (!this.popupModel || !this.popupModel.contentComponentData || !this.popupModel.contentComponentData.model) return;\r\n const model = this.popupModel.contentComponentData.model;\r\n if (Array.isArray(model.actions)) {\r\n const actions: Array<any> = model.actions;\r\n actions.forEach(item => {\r\n if (!!(<any>item).locStrsChanged) {\r\n (<any>item).locStrsChanged();\r\n }\r\n });\r\n }\r\n }\r\n private locTitleChanged = () => {\r\n const val = this.locTitle.renderedHtml;\r\n this.setPropertyValue(\"_title\", !!val ? val : undefined);\r\n }\r\n private locTooltipChanged(): void {\r\n if (!this.locTooltipName) return;\r\n this.tooltip = surveyLocalization.getString(this.locTooltipName, this.locTitle.locale);\r\n }\r\n\r\n //ILocalizableOwner\r\n getLocale(): string { return this.owner ? this.owner.getLocale() : \"\"; }\r\n getMarkdownHtml(text: string, name: string): string { return this.owner ? this.owner.getMarkdownHtml(text, name) : undefined; }\r\n getProcessedText(text: string): string { return this.owner ? this.owner.getProcessedText(text) : text; }\r\n getRenderer(name: string): string { return this.owner ? this.owner.getRenderer(name) : null; }\r\n getRendererContext(locStr: LocalizableString): any { return this.owner ? this.owner.getRendererContext(locStr) : locStr; }\r\n\r\n public setVisible(val: boolean): void {\r\n this._visible = val;\r\n }\r\n public getVisible(): boolean {\r\n return this._visible;\r\n }\r\n\r\n public enabledIf?: () => boolean;\r\n public setEnabled(val: boolean): void {\r\n this._enabled = val;\r\n }\r\n public getEnabled(): boolean {\r\n if (this.enabledIf) return this.enabledIf();\r\n return this._enabled;\r\n }\r\n public setComponent(val: string): void {\r\n this._component = val;\r\n }\r\n public getComponent(): string {\r\n return this._component;\r\n }\r\n public dispose(): void {\r\n this.updateCallback = undefined;\r\n this.action = undefined;\r\n super.dispose();\r\n if (this.popupModel) {\r\n this.popupModel.dispose();\r\n }\r\n if (!!this.locTitleValue) {\r\n this.locTitleValue.onStringChanged.remove(this.locTitleChanged);\r\n this.locTitleChanged = undefined;\r\n }\r\n }\r\n}\r\n\r\nexport class ActionDropdownViewModel {\r\n private popupModel: any;\r\n private funcKey = \"sv-dropdown-action\";\r\n constructor(private item: Action) {\r\n this.setupPopupCallbacks();\r\n }\r\n private setupPopupCallbacks() {\r\n const popupModel = this.popupModel = this.item.popupModel;\r\n if (!popupModel) return;\r\n popupModel.registerPropertyChangedHandlers([\"isVisible\"], () => {\r\n if (!popupModel.isVisible) {\r\n this.item.pressed = false;\r\n } else {\r\n this.item.pressed = true;\r\n }\r\n }, this.funcKey);\r\n }\r\n private removePopupCallbacks() {\r\n if (!!this.popupModel) {\r\n this.popupModel.unregisterPropertyChangedHandlers([\"isVisible\"], this.funcKey);\r\n }\r\n }\r\n public dispose(): void {\r\n this.removePopupCallbacks();\r\n }\r\n}","import { ResponsivityManager } from \"../utils/responsivity-manager\";\r\nimport { ListModel } from \"../list\";\r\nimport { Action, actionModeType, createDropdownActionModelAdvanced, IAction } from \"./action\";\r\nimport { ActionContainer } from \"./container\";\r\nimport { surveyLocalization } from \"../surveyStrings\";\r\n\r\nexport class AdaptiveActionContainer<T extends Action = Action> extends ActionContainer<T> {\r\n public dotsItem: Action;\r\n private responsivityManager: ResponsivityManager;\r\n public minVisibleItemsCount: number = 0;\r\n public isResponsivenessDisabled = false;\r\n\r\n private hideItemsGreaterN(visibleItemsCount: number) {\r\n const actionsToHide = this.getActionsToHide();\r\n visibleItemsCount = Math.max(visibleItemsCount, this.minVisibleItemsCount - (this.visibleActions.length - actionsToHide.length));\r\n const hiddenItems: IAction[] = [];\r\n actionsToHide.forEach((item) => {\r\n if (visibleItemsCount <= 0) {\r\n if(item.removePriority) {\r\n item.mode = \"removed\";\r\n } else {\r\n item.mode = \"popup\";\r\n hiddenItems.push(item.innerItem);\r\n }\r\n }\r\n visibleItemsCount--;\r\n });\r\n this.hiddenItemsListModel.setItems(hiddenItems);\r\n }\r\n\r\n private getActionsToHide() {\r\n return this.visibleActions.filter(action => !action.disableHide).sort((a, b) => a.removePriority || 0 - b.removePriority || 0);\r\n }\r\n\r\n private getVisibleItemsCount(availableSize: number): number {\r\n this.visibleActions.filter((action) => action.disableHide).forEach(action => availableSize -= action.minDimension);\r\n const itemsSizes: number[] = this.getActionsToHide().map((item) => item.minDimension);\r\n let currSize: number = 0;\r\n for (var i = 0; i < itemsSizes.length; i++) {\r\n currSize += itemsSizes[i];\r\n if (currSize > availableSize) return i;\r\n }\r\n return i;\r\n }\r\n\r\n private updateItemMode(availableSize: number, itemsSize: number) {\r\n const items = this.visibleActions;\r\n for (let index = items.length - 1; index >= 0; index--) {\r\n if (itemsSize > availableSize && !items[index].disableShrink) {\r\n itemsSize -= items[index].maxDimension - items[index].minDimension;\r\n items[index].mode = \"small\";\r\n } else {\r\n items[index].mode = \"large\";\r\n }\r\n }\r\n if (itemsSize > availableSize) {\r\n const hidableItems = this.visibleActions.filter(a => a.removePriority);\r\n hidableItems.sort((a, b) => a.removePriority - b.removePriority);\r\n for (let index = 0; index < hidableItems.length; index++) {\r\n if (itemsSize > availableSize) {\r\n itemsSize -= items[index].disableShrink ? hidableItems[index].maxDimension : hidableItems[index].minDimension;\r\n hidableItems[index].mode = \"removed\";\r\n }\r\n }\r\n }\r\n }\r\n\r\n private static ContainerID = 1;\r\n\r\n constructor() {\r\n super();\r\n\r\n this.dotsItem = createDropdownActionModelAdvanced({\r\n id: \"dotsItem-id\" + AdaptiveActionContainer.ContainerID++,\r\n css: \"sv-dots\",\r\n innerCss: \"sv-dots__item\",\r\n iconName: \"icon-more\",\r\n visible: false,\r\n tooltip: surveyLocalization.getString(\"more\"),\r\n }, {\r\n items: [],\r\n allowSelection: false\r\n });\r\n }\r\n public get hiddenItemsListModel(): ListModel {\r\n return this.dotsItem.data as ListModel;\r\n }\r\n\r\n protected onSet() {\r\n this.actions.forEach(action => action.updateCallback = (isResetInitialized: boolean) => this.raiseUpdate(isResetInitialized));\r\n super.onSet();\r\n }\r\n\r\n protected onPush(item: T) {\r\n item.updateCallback = (isResetInitialized: boolean) => this.raiseUpdate(isResetInitialized);\r\n super.onPush(item);\r\n }\r\n\r\n protected getRenderedActions(): Array<T> {\r\n if (this.actions.length === 1 && !!this.actions[0].iconName)\r\n return this.actions;\r\n return this.actions.concat([<T>this.dotsItem]);\r\n }\r\n\r\n protected raiseUpdate(isResetInitialized: boolean) {\r\n if (!this.isResponsivenessDisabled) {\r\n super.raiseUpdate(isResetInitialized);\r\n }\r\n }\r\n\r\n public fit(dimension: number, dotsItemSize: number) {\r\n if (dimension <= 0) return;\r\n\r\n this.dotsItem.visible = false;\r\n let minSize = 0;\r\n let maxSize = 0;\r\n const items = this.visibleActions;\r\n\r\n items.forEach((item) => {\r\n minSize += item.minDimension;\r\n maxSize += item.maxDimension;\r\n });\r\n\r\n if (dimension >= maxSize) {\r\n this.setActionsMode(\"large\");\r\n } else if (dimension < minSize) {\r\n this.setActionsMode(\"small\");\r\n this.hideItemsGreaterN(this.getVisibleItemsCount(dimension - dotsItemSize));\r\n this.dotsItem.visible = !!this.hiddenItemsListModel.actions.length;\r\n } else {\r\n this.updateItemMode(dimension, maxSize);\r\n }\r\n }\r\n public initResponsivityManager(container: HTMLDivElement, delayedUpdateFunction?: (callback: () => void) => void): void {\r\n this.responsivityManager = new ResponsivityManager(\r\n container, this,\r\n \":scope > .sv-action:not(.sv-dots) > .sv-action__content\", null,\r\n delayedUpdateFunction\r\n );\r\n }\r\n public resetResponsivityManager(): void {\r\n if (!!this.responsivityManager) {\r\n this.responsivityManager.dispose();\r\n this.responsivityManager = undefined;\r\n }\r\n }\r\n public setActionsMode(mode: actionModeType) {\r\n this.actions.forEach((action) => {\r\n if(mode == \"small\" && action.disableShrink) return;\r\n action.mode = mode;\r\n });\r\n }\r\n public dispose(): void {\r\n super.dispose();\r\n this.dotsItem.data.dispose();\r\n this.dotsItem.dispose();\r\n this.resetResponsivityManager();\r\n }\r\n}","import { property, propertyArray } from \"../jsonobject\";\r\nimport { Base } from \"../base\";\r\nimport { IAction, Action, BaseAction } from \"./action\";\r\nimport { CssClassBuilder } from \"../utils/cssClassBuilder\";\r\nimport { ILocalizableOwner, LocalizableString } from \".././localizablestring\";\r\nimport { mergeValues } from \"../utils/utils\";\r\n\r\nexport let defaultActionBarCss = {\r\n root: \"sv-action-bar\",\r\n defaultSizeMode: \"sv-action-bar--default-size-mode\",\r\n smallSizeMode: \"sv-action-bar--small-size-mode\",\r\n item: \"sv-action-bar-item\",\r\n itemWithTitle: \"\",\r\n itemAsIcon: \"sv-action-bar-item--icon\",\r\n itemActive: \"sv-action-bar-item--active\",\r\n itemPressed: \"sv-action-bar-item--pressed\",\r\n itemIcon: \"sv-action-bar-item__icon\",\r\n itemTitle: \"sv-action-bar-item__title\",\r\n itemTitleWithIcon: \"sv-action-bar-item__title--with-icon\",\r\n};\r\n\r\nexport class ActionContainer<T extends BaseAction = Action> extends Base implements ILocalizableOwner {\r\n public getMarkdownHtml(text: string, name: string): string {\r\n return !!this.locOwner ? this.locOwner.getMarkdownHtml(text, name) : undefined;\r\n }\r\n public getRenderer(name: string): string {\r\n return !!this.locOwner ? this.locOwner.getRenderer(name) : null;\r\n }\r\n public getRendererContext(locStr: LocalizableString): any {\r\n return !!this.locOwner ? this.locOwner.getRendererContext(locStr) : locStr;\r\n }\r\n public getProcessedText(text: string): string {\r\n return this.locOwner ? this.locOwner.getProcessedText(text) : text;\r\n }\r\n public getLocale(): string {\r\n return !!this.locOwner ? this.locOwner.getLocale() : \"\";\r\n }\r\n @propertyArray({\r\n onSet: (_: any, target: ActionContainer<Action>) => {\r\n target.onSet();\r\n },\r\n onPush: (item: any, i: number, target: ActionContainer<Action>) => {\r\n target.onPush(item);\r\n },\r\n onRemove: (item: any, i: number, target: ActionContainer<Action>) => {\r\n target.onRemove(item);\r\n }\r\n })\r\n actions: Array<T>;\r\n private cssClassesValue: any;\r\n\r\n protected getRenderedActions(): Array<T> {\r\n return this.actions;\r\n }\r\n\r\n public updateCallback: (isResetInitialized: boolean) => void;\r\n @property({}) containerCss: string;\r\n public sizeMode: \"default\" | \"small\" = \"default\";\r\n public locOwner: ILocalizableOwner;\r\n @property({ defaultValue: false }) isEmpty: boolean;\r\n\r\n public locStrsChanged(): void {\r\n super.locStrsChanged();\r\n this.actions.forEach(item => {\r\n if(item.locTitle) item.locTitle.strChanged();\r\n item.locStrsChanged();\r\n });\r\n }\r\n protected raiseUpdate(isResetInitialized: boolean) {\r\n this.isEmpty = !this.actions.some((action) => action.visible);\r\n this.updateCallback && this.updateCallback(isResetInitialized);\r\n }\r\n\r\n protected onSet() {\r\n this.actions.forEach((item) => { this.setActionCssClasses(item); });\r\n this.raiseUpdate(true);\r\n }\r\n protected onPush(item: T) {\r\n this.setActionCssClasses(item);\r\n item.owner = this;\r\n this.raiseUpdate(true);\r\n }\r\n\r\n protected onRemove(item: T) {\r\n item.owner = null;\r\n this.raiseUpdate(true);\r\n }\r\n\r\n private setActionCssClasses(item: T) {\r\n item.cssClasses = this.cssClasses;\r\n }\r\n\r\n public get hasActions(): boolean {\r\n return (this.actions || []).length > 0;\r\n }\r\n\r\n public get renderedActions(): Array<T> {\r\n return this.getRenderedActions();\r\n }\r\n\r\n get visibleActions(): Array<T> {\r\n return this.actions.filter((action) => action.visible !== false);\r\n }\r\n public getRootCss(): string {\r\n const sizeModeClass = this.sizeMode === \"small\" ? this.cssClasses.smallSizeMode : this.cssClasses.defaultSizeMode;\r\n return new CssClassBuilder().append(this.cssClasses.root + (!!sizeModeClass ? \" \" + sizeModeClass : \"\") + (!!this.containerCss ? \" \" + this.containerCss : \"\"))\r\n .append(this.cssClasses.root + \"--empty\", this.isEmpty)\r\n .toString();\r\n }\r\n protected getDefaultCssClasses(): any {\r\n return defaultActionBarCss;\r\n }\r\n public set cssClasses(val: any) {\r\n this.cssClassesValue = {};\r\n this.copyCssClasses(this.cssClassesValue, this.getDefaultCssClasses());\r\n mergeValues(val, this.cssClasses);\r\n this.actions.forEach((action: T) => {\r\n this.setActionCssClasses(action);\r\n });\r\n }\r\n public get cssClasses(): any {\r\n if(!this.cssClassesValue) {\r\n this.cssClassesValue = this.getDefaultCssClasses();\r\n }\r\n return this.cssClassesValue;\r\n }\r\n private createAction(item: IAction): T {\r\n return <T>(item instanceof BaseAction ? item : new Action(item));\r\n }\r\n public addAction(val: IAction, sortByVisibleIndex = true): T {\r\n const res: T = this.createAction(val);\r\n this.actions.push(<T>res);\r\n this.sortItems();\r\n return res;\r\n }\r\n private sortItems(): void {\r\n this.actions = []\r\n .concat(this.actions.filter((item) => item.visibleIndex === undefined || item.visibleIndex >= 0))\r\n .sort((firstItem, secondItem) => {\r\n return firstItem.visibleIndex - secondItem.visibleIndex;\r\n });\r\n }\r\n\r\n public setItems(items: Array<IAction>, sortByVisibleIndex = true): void {\r\n this.actions = <any>items.map((item) => this.createAction(item));\r\n if (sortByVisibleIndex) {\r\n this.sortItems();\r\n }\r\n }\r\n @property({ defaultValue: 300 }) subItemsShowDelay: number;\r\n @property({ defaultValue: 300 }) subItemsHideDelay: number;\r\n protected popupAfterShowCallback(itemValue: T): void {\r\n\r\n }\r\n\r\n public mouseOverHandler(itemValue: T): void {\r\n itemValue.isHovered = true;\r\n this.actions.forEach(action => {\r\n if (action === itemValue && !!itemValue.popupModel) {\r\n itemValue.showPopupDelayed(this.subItemsShowDelay);\r\n this.popupAfterShowCallback(itemValue);\r\n }\r\n });\r\n }\r\n\r\n public initResponsivityManager(container: HTMLDivElement, delayedUpdateFunction?: (callback: () => void) => void): void {\r\n return;\r\n }\r\n public resetResponsivityManager(): void { }\r\n public getActionById(id: string): T {\r\n for (var i = 0; i < this.actions.length; i++) {\r\n if (this.actions[i].id === id) return this.actions[i];\r\n }\r\n return null;\r\n }\r\n public dispose(): void {\r\n super.dispose();\r\n this.actions.forEach(action => action.dispose());\r\n this.actions.length = 0;\r\n }\r\n}\r\n","import { ILocalizableOwner, LocalizableString } from \"./localizablestring\";\nimport { Helpers, HashTable } from \"./helpers\";\nimport {\n CustomPropertiesCollection,\n JsonObject,\n JsonObjectProperty,\n JsonMetadataClass,\n Serializer,\n} from \"./jsonobject\";\nimport { settings } from \"./settings\";\nimport { ItemValue } from \"./itemvalue\";\nimport { IElement, IFindElement, IProgressInfo, ISurvey, ILoadFromJSONOptions, ISaveToJSONOptions } from \"./base-interfaces\";\nimport { ExpressionRunner } from \"./conditions\";\nimport { surveyLocalization } from \"./surveyStrings\";\nimport { ConsoleWarnings } from \"./console-warnings\";\n\ninterface IExpressionRunnerInfo {\n onExecute: (obj: Base, res: any) => void;\n canRun?: (obj: Base) => boolean;\n runner?: ExpressionRunner;\n}\nexport class Bindings {\n private properties: Array<JsonObjectProperty> = null;\n private values: any = null;\n constructor(private obj: Base) { }\n public getType(): string {\n return \"bindings\";\n }\n public getNames(): Array<string> {\n var res: Array<string> = [];\n this.fillProperties();\n for (var i = 0; i < this.properties.length; i++) {\n if (this.properties[i].isVisible(\"\", this.obj)) {\n res.push(this.properties[i].name);\n }\n }\n return res;\n }\n public getProperties(): Array<JsonObjectProperty> {\n var res: Array<JsonObjectProperty> = [];\n this.fillProperties();\n for (var i = 0; i < this.properties.length; i++) {\n res.push(this.properties[i]);\n }\n return res;\n }\n public setBinding(propertyName: string, valueName: string) {\n if (!this.values) this.values = {};\n const oldValue = this.getJson();\n if(oldValue === valueName) return;\n if (!!valueName) {\n this.values[propertyName] = valueName;\n } else {\n delete this.values[propertyName];\n if (Object.keys(this.values).length == 0) {\n this.values = null;\n }\n }\n this.onChangedJSON(oldValue);\n }\n public clearBinding(propertyName: string) {\n this.setBinding(propertyName, \"\");\n }\n public isEmpty(): boolean {\n if(!this.values) return true;\n for(var key in this.values) return false;\n return true;\n }\n public getValueNameByPropertyName(propertyName: string): string {\n if (!this.values) return undefined;\n return this.values[propertyName];\n }\n public getPropertiesByValueName(valueName: string): Array<string> {\n if (!this.values) return [];\n var res: Array<string> = [];\n for (var key in this.values) {\n if (this.values[key] == valueName) {\n res.push(key);\n }\n }\n return res;\n }\n public getJson(): any {\n if (this.isEmpty()) return undefined;\n var res: any = {};\n for (var key in this.values) {\n res[key] = this.values[key];\n }\n return res;\n }\n public setJson(value: any) {\n const oldValue = this.getJson();\n this.values = null;\n if (!!value) {\n this.values = {};\n for (var key in value) {\n this.values[key] = value[key];\n }\n }\n this.onChangedJSON(oldValue);\n }\n private fillProperties() {\n if (this.properties !== null) return;\n this.properties = [];\n var objProperties = Serializer.getPropertiesByObj(this.obj);\n for (var i = 0; i < objProperties.length; i++) {\n if (objProperties[i].isBindable) {\n this.properties.push(objProperties[i]);\n }\n }\n }\n private onChangedJSON(oldValue: any): void {\n if(this.obj) {\n this.obj.onBindingChanged(oldValue, this.getJson());\n }\n }\n}\n\nexport class Dependencies {\n private static DependenciesCount = 0;\n constructor(public currentDependency: () => void, public target: Base, public property: string) {\n }\n dependencies: Array<{ obj: Base, prop: string, id: string }> = [];\n id: string = \"\" + (++Dependencies.DependenciesCount);\n addDependency(target: Base, property: string): void {\n if (this.target === target && this.property === property)\n return;\n if (this.dependencies.some(dependency => dependency.obj === target && dependency.prop === property))\n return;\n\n this.dependencies.push({\n obj: target,\n prop: property,\n id: this.id\n });\n target.registerPropertyChangedHandlers([property], this.currentDependency, this.id);\n\n }\n public dispose(): void {\n this.dependencies.forEach(dependency => {\n dependency.obj.unregisterPropertyChangedHandlers([dependency.prop], dependency.id);\n });\n // this.currentDependency = undefined;\n }\n}\n\nexport class ComputedUpdater<T = any> {\n public static readonly ComputedUpdaterType = \"__dependency_computed\";\n private dependencies: Dependencies = undefined;\n constructor(private _updater: () => T) {\n }\n readonly type = ComputedUpdater.ComputedUpdaterType;\n public get updater(): () => T {\n return this._updater;\n }\n public setDependencies(dependencies: Dependencies): void {\n this.clearDependencies();\n this.dependencies = dependencies;\n }\n protected getDependencies(): Dependencies {\n return this.dependencies;\n }\n private clearDependencies() {\n if (this.dependencies) {\n this.dependencies.dispose();\n this.dependencies = undefined;\n }\n }\n dispose(): any {\n this.clearDependencies();\n }\n}\n\n/**\n * A base class for all SurveyJS objects.\n */\nexport class Base {\n private static currentDependencis: Dependencies = undefined;\n public static finishCollectDependencies(): Dependencies {\n const deps = Base.currentDependencis;\n Base.currentDependencis = undefined;\n return deps;\n }\n public static startCollectDependencies(updater: () => void, target: Base, property: string): void {\n if (Base.currentDependencis !== undefined) {\n throw new Error(\"Attempt to collect nested dependencies. Nested dependencies are not supported.\");\n }\n Base.currentDependencis = new Dependencies(updater, target, property);\n }\n private static collectDependency(target: Base, property: string): void {\n if (Base.currentDependencis === undefined) return;\n Base.currentDependencis.addDependency(target, property);\n }\n public dependencies: {[key: string]: ComputedUpdater } = {};\n public static get commentSuffix(): string {\n return settings.commentSuffix;\n }\n public static set commentSuffix(val: string) {\n settings.commentSuffix = val;\n }\n public static get commentPrefix(): string {\n return Base.commentSuffix;\n }\n public static set commentPrefix(val: string) {\n Base.commentSuffix = val;\n }\n public static createItemValue: (item: any, type?: string) => any;\n public static itemValueLocStrChanged: (arr: Array<any>) => void;\n /**\n * Returns `true` if a passed `value` is an empty string, array, or object or if it equals to `undefined` or `null`.\n *\n * @param value A value to be checked.\n * @param trimString *(Optional)* When this parameter is `true`, the method ignores whitespace characters at the beginning and end of a string value. Pass `false` to disable this functionality.\n */\n public isValueEmpty(value: any, trimString: boolean = true): boolean {\n if (trimString) {\n value = this.trimValue(value);\n }\n return Helpers.isValueEmpty(value);\n }\n public equals(obj: Base): boolean {\n if(!obj) return false;\n if (this.isDisposed || obj.isDisposed) return false;\n if(this.getType() != obj.getType()) return false;\n return this.equalsCore(obj);\n }\n protected equalsCore(obj: Base): boolean {\n if((<any>this).name !== (<any>obj).name) return false;\n return Helpers.isTwoValueEquals(this.toJSON(), obj.toJSON(), false, true, false);\n }\n protected trimValue(value: any): any {\n if (!!value && (typeof value === \"string\" || value instanceof String))\n return value.trim();\n return value;\n }\n protected isPropertyEmpty(value: any): boolean {\n return value !== \"\" && this.isValueEmpty(value);\n }\n public static createPropertiesHash() {\n return {};\n }\n\n private propertyHash: { [index: string]: any } = Base.createPropertiesHash();\n private localizableStrings: { [index: string]: LocalizableString };\n private arraysInfo: { [index: string]: any };\n private eventList: Array<EventBase<any>> = [];\n private expressionInfo: { [index: string]: IExpressionRunnerInfo };\n private bindingsValue: Bindings;\n private isDisposedValue: boolean;\n private classMetaData: JsonMetadataClass;\n private onPropChangeFunctions: Array<{\n name: string,\n func: (...args: any[]) => void,\n key: string,\n }>;\n protected isLoadingFromJsonValue: boolean = false;\n public loadingOwner: Base = null;\n\n protected jsonObj: any;\n /**\n * An event that is raised when a property of this SurveyJS object has changed.\n *\n * Parameters:\n *\n * - `sender`: `this`\\\n * A SurveyJS object whose property has changed.\n * - `options.name`: `string`\\\n * The name of the changed property.\n * - `options.newValue`: `any`\\\n * A new value for the property.\n * - `options.oldValue`: `any`\\\n * An old value of the property. If the property is an array, `oldValue` contains the same array as `newValue` does.\n *\n * If you need to add and remove property change event handlers dynamically, use the [`registerPropertyChangedHandlers`](#registerPropertyChangedHandlers) and [`unregisterPropertyChangedHandlers`](#unregisterPropertyChangedHandlers) methods instead.\n */\n public onPropertyChanged: EventBase<Base> = this.addEvent<Base>();\n /**\n * An event that is raised when an [`ItemValue`](https://surveyjs.io/form-library/documentation/itemvalue) property is changed.\n *\n * Parameters:\n *\n * - `sender`: `this`\\\n * A SurveyJS object whose property contains an array of `ItemValue` objects.\n * - `options.obj`: [`ItemValue`](https://surveyjs.io/form-library/documentation/itemvalue)\\\n * An `ItemValue` object.\n * - `options.propertyName`: `string`\\\n * The name of the property to which an array of `ItemValue` objects is assigned (for example, `\"choices\"` or `\"rows\"`).\n * - `options.name`: `\"text\"` | `\"value\"`\\\n * The name of the changed property.\n * - `options.newValue`: `any`\\\n * A new value for the property.\n */\n public onItemValuePropertyChanged: Event<\n (sender: Base, options: any) => any,\n Base,\n any\n > = this.addEvent<Base>();\n\n getPropertyValueCoreHandler: (propertiesHash: any, name: string) => any;\n\n setPropertyValueCoreHandler: (\n propertiesHash: any,\n name: string,\n val: any\n ) => void;\n createArrayCoreHandler: (propertiesHash: any, name: string) => Array<any>;\n surveyChangedCallback: () => void;\n\n private isCreating = true;\n\n public constructor() {\n this.bindingsValue = new Bindings(this);\n CustomPropertiesCollection.createProperties(this);\n this.onBaseCreating();\n this.isCreating = false;\n }\n public dispose(): void {\n for (var i = 0; i < this.eventList.length; i++) {\n this.eventList[i].clear();\n }\n this.onPropertyValueChangedCallback = undefined;\n this.isDisposedValue = true;\n Object.keys(this.dependencies).forEach(key => this.dependencies[key].dispose());\n }\n public get isDisposed() {\n return this.isDisposedValue === true;\n }\n protected addEvent<T, Options = any>(): EventBase<T, Options> {\n const res = new EventBase<T, Options>();\n this.eventList.push(res);\n return res;\n }\n protected onBaseCreating() { }\n /**\n * Returns the object type as it is used in the JSON schema.\n */\n public getType(): string {\n return \"base\";\n }\n /**\n * Use this method to find out if the current object is of a given `typeName` or inherited from it.\n *\n * @param typeName One of the values listed in the [getType()](https://surveyjs.io/form-library/documentation/question#getType) description.\n * @returns `true` if the current object is of a given `typeName` or inherited from it.\n * @see getType\n */\n public isDescendantOf(typeName: string): boolean {\n return Serializer.isDescendantOf(this.getType(), typeName);\n }\n public getSurvey(isLive: boolean = false): ISurvey {\n return null;\n }\n /**\n * Returns `true` if the survey is being designed in Survey Creator.\n */\n public get isDesignMode(): boolean {\n const survey = this.getSurvey();\n return !!survey && survey.isDesignMode;\n }\n public get isDesignModeV2(): boolean {\n return settings.supportCreatorV2 && this.isDesignMode;\n }\n /**\n * Returns `true` if the object is included in a survey.\n *\n * This property may return `false`, for example, when you [create a survey model dynamically](https://surveyjs.io/form-library/documentation/design-survey-create-a-simple-survey#create-or-change-a-survey-model-dynamically).\n */\n public get inSurvey(): boolean {\n return !!this.getSurvey(true);\n }\n public get bindings(): Bindings {\n return this.bindingsValue;\n }\n checkBindings(valueName: string, value: any) { }\n protected updateBindings(propertyName: string, value: any) {\n var valueName = this.bindings.getValueNameByPropertyName(propertyName);\n if (!!valueName) {\n this.updateBindingValue(valueName, value);\n }\n }\n protected updateBindingValue(valueName: string, value: any) { }\n public getTemplate(): string {\n return this.getType();\n }\n /**\n * Returns `true` if the object configuration is being loaded from JSON.\n */\n public get isLoadingFromJson(): boolean {\n return this.isLoadingFromJsonValue || this.getIsLoadingFromJson();\n }\n protected getIsLoadingFromJson(): boolean {\n if (!!this.loadingOwner && this.loadingOwner.isLoadingFromJson) return true;\n return this.isLoadingFromJsonValue;\n }\n startLoadingFromJson(json?: any): void {\n this.isLoadingFromJsonValue = true;\n this.jsonObj = json;\n }\n endLoadingFromJson() {\n this.isLoadingFromJsonValue = false;\n }\n\n /**\n * Returns a JSON object that corresponds to the current SurveyJS object.\n * @see fromJSON\n */\n public toJSON(options?: ISaveToJSONOptions): any {\n return new JsonObject().toJsonObject(this, options);\n }\n /**\n * Assigns a new configuration to the current SurveyJS object. This configuration is taken from a passed JSON object.\n *\n * The JSON object should contain only serializable properties of this SurveyJS object. Event handlers and properties that do not belong to the SurveyJS object are ignored.\n *\n * @param json A JSON object with properties that you want to apply to the current SurveyJS object.\n * @param options An object with configuration options.\n * @param {boolean} options.validatePropertyValues Pass `true` if you want to validate property values. Use the [`jsonErrors`](#jsonErrors) array to access validation errors.\n * @see toJSON\n */\n public fromJSON(json: any, options?: ILoadFromJSONOptions): void {\n new JsonObject().toObject(json, this, options);\n this.onSurveyLoad();\n }\n public onSurveyLoad() { }\n /**\n * Creates a new object that has the same type and properties as the current SurveyJS object.\n */\n public clone(): Base {\n var clonedObj = <Base>Serializer.createClass(this.getType());\n clonedObj.fromJSON(this.toJSON());\n return clonedObj;\n }\n /**\n * Returns a `JsonObjectProperty` object with metadata about a serializable property that belongs to the current SurveyJS object.\n *\n * If the property is not found, this method returns `null`.\n * @param propName A property name.\n */\n public getPropertyByName(propName: string): JsonObjectProperty {\n const type = this.getType();\n if(!this.classMetaData || this.classMetaData.name !== type) {\n this.classMetaData = Serializer.findClass(type);\n }\n return !!this.classMetaData ? this.classMetaData.findProperty(propName) : null;\n }\n public isPropertyVisible(propName: string): boolean {\n const prop = this.getPropertyByName(propName);\n return !!prop ? prop.isVisible(\"\", this) : false;\n }\n public static createProgressInfo(): IProgressInfo {\n return {\n questionCount: 0,\n answeredQuestionCount: 0,\n requiredQuestionCount: 0,\n requiredAnsweredQuestionCount: 0,\n };\n }\n public getProgressInfo(): IProgressInfo {\n return Base.createProgressInfo();\n }\n public localeChanged() { }\n public locStrsChanged() {\n if (!!this.arraysInfo) {\n for (let key in this.arraysInfo) {\n let item = this.arraysInfo[key];\n if (item && item.isItemValues) {\n var arr = this.getPropertyValue(key);\n if (arr && !!Base.itemValueLocStrChanged)\n Base.itemValueLocStrChanged(arr);\n }\n }\n }\n if (!!this.localizableStrings) {\n for (let key in this.localizableStrings) {\n let item = this.getLocalizableString(key);\n if (item) item.strChanged();\n }\n }\n }\n /**\n * Returns the value of a property with a specified name.\n *\n * If the property is not found or does not have a value, this method returns either `undefined`, `defaultValue` specified in the property configuration, or a value passed as the `defaultValue` parameter.\n *\n * @param name A property name.\n * @param defaultValue *(Optional)* A value to return if the property is not found or does not have a value.\n */\n public getPropertyValue(name: string, defaultValue: any = null): any {\n const res = this.getPropertyValueWithoutDefault(name);\n if (this.isPropertyEmpty(res)) {\n const locStr = this.localizableStrings ? this.localizableStrings[name] : undefined;\n if(locStr) return locStr.text;\n if (defaultValue !== null && defaultValue !== undefined) return defaultValue;\n const propDefaultValue = this.getDefaultPropertyValue(name);\n if(propDefaultValue !== undefined) return propDefaultValue;\n }\n return res;\n }\n public getDefaultPropertyValue(name: string): any {\n const prop = this.getPropertyByName(name);\n if(!prop || prop.isCustom && this.isCreating) return undefined;\n const dValue = prop.defaultValue;\n if (!this.isPropertyEmpty(dValue) && !Array.isArray(dValue)) return dValue;\n const locStr = this.localizableStrings ? this.localizableStrings[name] : undefined;\n if(locStr && locStr.localizationName) return this.getLocalizationString(locStr.localizationName);\n if (prop.type == \"boolean\" || prop.type == \"switch\") return false;\n if (prop.isCustom && !!prop.onGetValue) return prop.onGetValue(this);\n return undefined;\n }\n public hasDefaultPropertyValue(name: string): boolean {\n return this.getDefaultPropertyValue(name) !== undefined;\n }\n public resetPropertyValue(name: string): void {\n const locStr = this.localizableStrings ? this.localizableStrings[name] : undefined;\n if(locStr) {\n this.setLocalizableStringText(name, undefined);\n locStr.clear();\n }\n else {\n this.setPropertyValue(name, undefined);\n }\n }\n protected getPropertyValueWithoutDefault(name: string): any {\n return this.getPropertyValueCore(this.propertyHash, name);\n }\n protected getPropertyValueCore(propertiesHash: any, name: string): any {\n if(!this.isLoadingFromJson) {\n Base.collectDependency(this, name);\n }\n if (this.getPropertyValueCoreHandler)\n return this.getPropertyValueCoreHandler(propertiesHash, name);\n else return propertiesHash[name];\n }\n public geValueFromHash(): any {\n return this.propertyHash[\"value\"];\n }\n protected setPropertyValueCore(propertiesHash: any, name: string, val: any): void {\n if (this.setPropertyValueCoreHandler) {\n if (!this.isDisposedValue) {\n this.setPropertyValueCoreHandler(propertiesHash, name, val);\n } else {\n ConsoleWarnings.disposedObjectChangedProperty(name, this.getType());\n }\n }\n else propertiesHash[name] = val;\n }\n public get isEditingSurveyElement(): boolean {\n var survey = this.getSurvey();\n return !!survey && survey.isEditingSurveyElement;\n }\n public iteratePropertiesHash(func: (hash: any, key: string) => void) {\n var keys: string[] = [];\n for (var key in this.propertyHash) {\n if (\n key === \"value\" &&\n this.isEditingSurveyElement &&\n Array.isArray((<any>this).value)\n )\n continue;\n\n keys.push(key);\n }\n keys.forEach((key) => func(this.propertyHash, key));\n }\n /**\n * Assigns a new value to a specified property.\n * @param name A property name.\n * @param val A new value for the property.\n */\n public setPropertyValue(name: string, val: any): void {\n if(!this.isLoadingFromJson) {\n const prop = this.getPropertyByName(name);\n if(!!prop) {\n val = prop.settingValue(this, val);\n }\n }\n var oldValue = this.getPropertyValue(name);\n if (\n oldValue &&\n Array.isArray(oldValue) &&\n !!this.arraysInfo &&\n (!val || Array.isArray(val))\n ) {\n if (!this.isTwoValueEquals(oldValue, val)) {\n this.setArrayPropertyDirectly(name, val);\n }\n } else {\n this.setPropertyValueDirectly(name, val);\n if (!this.isDisposedValue && !this.isTwoValueEquals(oldValue, val)) {\n this.propertyValueChanged(name, oldValue, val);\n }\n }\n }\n protected setArrayPropertyDirectly(name: string, val: any, sendNotification: boolean = true): void {\n var arrayInfo = this.arraysInfo[name];\n this.setArray(\n name,\n this.getPropertyValue(name),\n val,\n arrayInfo ? arrayInfo.isItemValues : false,\n arrayInfo ? sendNotification && arrayInfo.onPush : null\n );\n }\n protected setPropertyValueDirectly(name: string, val: any) : void {\n this.setPropertyValueCore(this.propertyHash, name, val);\n }\n protected clearPropertyValue(name: string) {\n this.setPropertyValueCore(this.propertyHash, name, null);\n delete this.propertyHash[name];\n }\n public onPropertyValueChangedCallback(\n name: string,\n oldValue: any,\n newValue: any,\n sender: Base,\n arrayChanges: ArrayChanges\n ) { }\n public itemValuePropertyChanged(\n item: ItemValue,\n name: string,\n oldValue: any,\n newValue: any\n ) {\n this.onItemValuePropertyChanged.fire(this, {\n obj: item,\n name: name,\n oldValue: oldValue,\n newValue: newValue,\n propertyName: item.ownerPropertyName,\n });\n }\n protected onPropertyValueChanged(\n name: string,\n oldValue: any,\n newValue: any\n ) { }\n protected propertyValueChanged(\n name: string,\n oldValue: any,\n newValue: any,\n arrayChanges?: ArrayChanges,\n target?: Base\n ) {\n if (this.isLoadingFromJson) return;\n this.updateBindings(name, newValue);\n this.onPropertyValueChanged(name, oldValue, newValue);\n this.onPropertyChanged.fire(this, {\n name: name,\n oldValue: oldValue,\n newValue: newValue,\n });\n\n this.doPropertyValueChangedCallback(\n name,\n oldValue,\n newValue,\n arrayChanges,\n this\n );\n this.checkConditionPropertyChanged(name);\n if (!this.onPropChangeFunctions) return;\n for (var i = 0; i < this.onPropChangeFunctions.length; i++) {\n if (this.onPropChangeFunctions[i].name == name)\n this.onPropChangeFunctions[i].func(newValue, arrayChanges);\n }\n }\n public onBindingChanged(oldValue: any, newValue: any): void {\n if(this.isLoadingFromJson) return;\n this.doPropertyValueChangedCallback(\"bindings\", oldValue, newValue);\n }\n protected get isInternal(): boolean {\n return false;\n }\n private doPropertyValueChangedCallback(\n name: string,\n oldValue: any,\n newValue: any,\n arrayChanges?: ArrayChanges,\n target?: Base\n ) {\n const fireCallback = (obj: Base): void => {\n if (!!obj && !!obj.onPropertyValueChangedCallback) {\n obj.onPropertyValueChangedCallback(name, oldValue, newValue, target, arrayChanges);\n }\n };\n if (this.isInternal) {\n fireCallback(this);\n return;\n }\n if (!target) target = this;\n var notifier: any = this.getSurvey();\n if (!notifier) notifier = this;\n fireCallback(notifier);\n if (notifier !== this) {\n fireCallback(this);\n }\n }\n public addExpressionProperty(name: string, onExecute: (obj: Base, res: any) => void, canRun?: (obj: Base) => boolean): void {\n if(!this.expressionInfo) {\n this.expressionInfo = {};\n }\n this.expressionInfo[name] = { onExecute: onExecute, canRun: canRun };\n }\n public getDataFilteredValues(): any {\n return {};\n }\n public getDataFilteredProperties(): any {\n return {};\n }\n protected runConditionCore(values: HashTable<any>, properties: HashTable<any>): void {\n if(!this.expressionInfo) return;\n for(var key in this.expressionInfo) {\n this.runConditionItemCore(key, values, properties);\n }\n }\n protected canRunConditions(): boolean {\n return !this.isDesignMode;\n }\n private checkConditionPropertyChanged(propName: string): void {\n if(!this.expressionInfo || !this.expressionInfo[propName]) return;\n if(!this.canRunConditions()) return;\n this.runConditionItemCore(propName, this.getDataFilteredValues(), this.getDataFilteredProperties());\n }\n private runConditionItemCore(propName: string, values: HashTable<any>, properties: HashTable<any>): void {\n const info = this.expressionInfo[propName];\n const expression = this.getPropertyValue(propName);\n if(!expression) return;\n if(!!info.canRun && !info.canRun(this)) return;\n if(!info.runner) {\n info.runner = this.createExpressionRunner(expression);\n info.runner.onRunComplete = (res: any) => {\n info.onExecute(this, res);\n };\n }\n info.runner.expression = expression;\n info.runner.run(values, properties);\n }\n private asynExpressionHash: any;\n private doBeforeAsynRun(id: number): void {\n if(!this.asynExpressionHash) this.asynExpressionHash = [];\n const isChanged = !this.isAsyncExpressionRunning;\n this.asynExpressionHash[id] = true;\n if(isChanged) {\n this.onAsyncRunningChanged();\n }\n }\n private doAfterAsynRun(id: number): void {\n if(!!this.asynExpressionHash) {\n delete this.asynExpressionHash[id];\n if(!this.isAsyncExpressionRunning) {\n this.onAsyncRunningChanged();\n }\n }\n }\n protected onAsyncRunningChanged(): void {}\n public get isAsyncExpressionRunning(): boolean {\n return !!this.asynExpressionHash && Object.keys(this.asynExpressionHash).length > 0;\n }\n protected createExpressionRunner(expression: string): ExpressionRunner {\n const res = new ExpressionRunner(expression);\n res.onBeforeAsyncRun = (id: number): void => { this.doBeforeAsynRun(id); };\n res.onAfterAsyncRun = (id: number): void => { this.doAfterAsynRun(id); };\n return res;\n }\n /**\n * Registers a single value change handler for one or multiple properties.\n *\n * The `registerPropertyChangedHandlers` and [`unregisterPropertyChangedHandlers`](#unregisterPropertyChangedHandlers) methods allow you to manage property change event handlers dynamically. If you only need to attach an event handler without removing it afterwards, you can use the [`onPropertyChanged`](#onPropertyChanged) event instead.\n * @param propertyNames An array of one or multiple property names.\n * @param handler A function to call when one of the listed properties change. Accepts a new property value as an argument.\n * @param key *(Optional)* A key that identifies the current registration. If a function for one of the properties is already registered with the same key, the function will be overwritten. You can also use the key to subsequently unregister handlers.\n * @see unregisterPropertyChangedHandlers\n */\n public registerPropertyChangedHandlers(propertyNames: Array<string>, handler: any, key: string = null): void {\n for (var i = 0; i < propertyNames.length; i++) {\n this.registerFunctionOnPropertyValueChanged(propertyNames[i], handler, key);\n }\n }\n /**\n * Unregisters value change event handlers for the specified properties.\n * @param propertyNames An array of one or multiple property names.\n * @param key *(Optional)* A key of the registration that you want to cancel.\n * @see registerPropertyChangedHandlers\n */\n public unregisterPropertyChangedHandlers(propertyNames: Array<string>, key: string = null): void {\n for (var i = 0; i < propertyNames.length; i++) {\n this.unRegisterFunctionOnPropertyValueChanged(propertyNames[i], key);\n }\n }\n public registerFunctionOnPropertyValueChanged(name: string, func: any, key: string = null): void {\n if (!this.onPropChangeFunctions) {\n this.onPropChangeFunctions = [];\n }\n if (key) {\n for (var i = 0; i < this.onPropChangeFunctions.length; i++) {\n var item = this.onPropChangeFunctions[i];\n if (item.name == name && item.key == key) {\n item.func = func;\n return;\n }\n }\n }\n this.onPropChangeFunctions.push({ name: name, func: func, key: key });\n }\n public registerFunctionOnPropertiesValueChanged(names: Array<string>, func: any, key: string = null): void {\n this.registerPropertyChangedHandlers(names, func, key);\n }\n public unRegisterFunctionOnPropertyValueChanged(name: string, key: string = null): void {\n if (!this.onPropChangeFunctions) return;\n for (var i = 0; i < this.onPropChangeFunctions.length; i++) {\n var item = this.onPropChangeFunctions[i];\n if (item.name == name && item.key == key) {\n this.onPropChangeFunctions.splice(i, 1);\n return;\n }\n }\n }\n public unRegisterFunctionOnPropertiesValueChanged(names: Array<string>, key: string = null): void {\n this.unregisterPropertyChangedHandlers(names, key);\n }\n public createCustomLocalizableObj(name: string): LocalizableString {\n const locStr = this.getLocalizableString(name);\n if(locStr) return locStr;\n return this.createLocalizableString(name, <ILocalizableOwner>(<any>this), false, true);\n }\n public getLocale(): string {\n const locOwner = this.getSurvey();\n return !!locOwner ? locOwner.getLocale(): \"\";\n }\n public getLocalizationString(strName: string): string {\n return surveyLocalization.getString(strName, this.getLocale());\n }\n public getLocalizationFormatString(strName: string, ...args: any[]): string {\n const str: any = this.getLocalizationString(strName);\n if(!str || !str.format) return \"\";\n return str.format(...args);\n }\n protected createLocalizableString(\n name: string,\n owner: ILocalizableOwner,\n useMarkDown: boolean = false,\n defaultStr: boolean|string = false\n ): LocalizableString {\n var locStr = new LocalizableString(owner, useMarkDown, name);\n if (defaultStr) {\n locStr.localizationName = defaultStr === true ? name : defaultStr;\n }\n locStr.onStrChanged = (oldValue: string, newValue: string) => {\n this.propertyValueChanged(name, oldValue, newValue);\n };\n if (!this.localizableStrings) {\n this.localizableStrings = {};\n }\n this.localizableStrings[name] = locStr;\n const prop = this.getPropertyByName(name);\n locStr.disableLocalization = prop && prop.isLocalizable === false;\n return locStr;\n }\n public getLocalizableString(name: string): LocalizableString {\n return !!this.localizableStrings ? this.localizableStrings[name] : null;\n }\n public getLocalizableStringText(\n name: string,\n defaultStr: string = \"\"\n ): string {\n Base.collectDependency(this, name);\n var locStr = this.getLocalizableString(name);\n if (!locStr) return \"\";\n var res = locStr.text;\n return res ? res : defaultStr;\n }\n public setLocalizableStringText(name: string, value: string) {\n let locStr = this.getLocalizableString(name);\n if (!locStr) return;\n let oldValue = locStr.text;\n if(oldValue != value) {\n locStr.text = value;\n // this.propertyValueChanged(name, oldValue, value);\n }\n }\n public addUsedLocales(locales: Array<string>): void {\n if (!!this.localizableStrings) {\n for (let key in this.localizableStrings) {\n let item = this.getLocalizableString(key);\n if (item) this.AddLocStringToUsedLocales(item, locales);\n }\n }\n if (!!this.arraysInfo) {\n for (let key in this.arraysInfo) {\n let items = this.getPropertyValue(key);\n if (!items || !items.length) continue;\n for (let i = 0; i < items.length; i++) {\n let item = items[i];\n if (item && item.addUsedLocales) {\n item.addUsedLocales(locales);\n }\n }\n }\n }\n }\n public searchText(text: string, founded: Array<IFindElement>) {\n var strs: Array<LocalizableString> = [];\n this.getSearchableLocalizedStrings(strs);\n for (var i = 0; i < strs.length; i++) {\n if (strs[i].setFindText(text)) {\n founded.push({ element: this, str: strs[i] });\n }\n }\n }\n private getSearchableLocalizedStrings(arr: Array<LocalizableString>) {\n if (!!this.localizableStrings) {\n let keys: Array<string> = [];\n this.getSearchableLocKeys(keys);\n for (var i = 0; i < keys.length; i++) {\n let item = this.getLocalizableString(keys[i]);\n if (item) arr.push(item);\n }\n }\n if (!this.arraysInfo) return;\n let keys: Array<string> = [];\n this.getSearchableItemValueKeys(keys);\n for (var i = 0; i < keys.length; i++) {\n var items = this.getPropertyValue(keys[i]);\n if (!items) continue;\n for (var j = 0; j < items.length; j++) {\n arr.push(items[j].locText);\n }\n }\n }\n protected getSearchableLocKeys(keys: Array<string>) { }\n protected getSearchableItemValueKeys(keys: Array<string>) { }\n protected AddLocStringToUsedLocales(\n locStr: LocalizableString,\n locales: Array<string>\n ) {\n var locs = locStr.getLocales();\n for (var i = 0; i < locs.length; i++) {\n if (locales.indexOf(locs[i]) < 0) {\n locales.push(locs[i]);\n }\n }\n }\n protected createItemValues(name: string): Array<any> {\n var self = this;\n var result = this.createNewArray(name, function (item: any) {\n item.locOwner = self;\n item.ownerPropertyName = name;\n if (typeof item.getSurvey == \"function\") {\n const survey: any = item.getSurvey();\n if (!!survey && typeof survey.makeReactive == \"function\") {\n survey.makeReactive(item);\n }\n }\n });\n this.arraysInfo[name].isItemValues = true;\n return result;\n }\n private notifyArrayChanged(ar: any, arrayChanges: ArrayChanges) {\n !!ar.onArrayChanged && ar.onArrayChanged(arrayChanges);\n }\n protected createNewArrayCore(name: string): Array<any> {\n var res = null;\n if (!!this.createArrayCoreHandler) {\n res = this.createArrayCoreHandler(this.propertyHash, name);\n }\n if (!res) {\n res = new Array<any>();\n this.setPropertyValueCore(this.propertyHash, name, res);\n }\n return res;\n }\n protected ensureArray(\n name: string,\n onPush: any = null,\n onRemove: any = null\n ) {\n if (this.arraysInfo && this.arraysInfo[name]) {\n return;\n }\n\n return this.createNewArray(name, onPush, onRemove);\n }\n\n protected createNewArray(\n name: string,\n onPush: any = null,\n onRemove: any = null\n ): Array<any> {\n var newArray = this.createNewArrayCore(name);\n if (!this.arraysInfo) {\n this.arraysInfo = {};\n }\n this.arraysInfo[name] = { onPush: onPush, isItemValues: false };\n var self = this;\n newArray.push = function (value): number {\n var result = Object.getPrototypeOf(newArray).push.call(newArray, value);\n if (!self.isDisposedValue) {\n if (onPush) onPush(value, newArray.length - 1);\n const arrayChanges = new ArrayChanges(\n newArray.length - 1,\n 0,\n [value],\n []\n );\n self.propertyValueChanged(name, newArray, newArray, arrayChanges);\n self.notifyArrayChanged(newArray, arrayChanges);\n }\n return result;\n };\n newArray.shift = function (): number {\n var result = Object.getPrototypeOf(newArray).shift.call(newArray);\n if (!self.isDisposedValue && result) {\n if (onRemove) onRemove(result);\n const arrayChanges = new ArrayChanges(newArray.length - 1, 1, [], []);\n self.propertyValueChanged(name, newArray, newArray, arrayChanges);\n self.notifyArrayChanged(newArray, arrayChanges);\n }\n return result;\n };\n newArray.unshift = function (value): number {\n var result = Object.getPrototypeOf(newArray).unshift.call(\n newArray,\n value\n );\n if (!self.isDisposedValue) {\n if (onPush) onPush(value, newArray.length - 1);\n const arrayChanges = new ArrayChanges(0, 0, [value], []);\n self.propertyValueChanged(name, newArray, newArray, arrayChanges);\n self.notifyArrayChanged(newArray, arrayChanges);\n }\n return result;\n };\n newArray.pop = function (): number {\n var result = Object.getPrototypeOf(newArray).pop.call(newArray);\n if (!self.isDisposedValue) {\n if (onRemove) onRemove(result);\n const arrayChanges = new ArrayChanges(newArray.length - 1, 1, [], []);\n self.propertyValueChanged(name, newArray, newArray, arrayChanges);\n self.notifyArrayChanged(newArray, arrayChanges);\n }\n return result;\n };\n newArray.splice = function (\n start?: number,\n deleteCount?: number,\n ...items: any[]\n ): any[] {\n if (!start) start = 0;\n if (!deleteCount) deleteCount = 0;\n var result = Object.getPrototypeOf(newArray).splice.call(\n newArray,\n start,\n deleteCount,\n ...items\n );\n if (!items) items = [];\n if (!self.isDisposedValue) {\n if (onRemove && result) {\n for (var i = 0; i < result.length; i++) {\n onRemove(result[i]);\n }\n }\n if (onPush) {\n for (var i = 0; i < items.length; i++) {\n onPush(items[i], start + i);\n }\n }\n const arrayChanges = new ArrayChanges(\n start,\n deleteCount,\n items,\n result\n );\n self.propertyValueChanged(name, newArray, newArray, arrayChanges);\n self.notifyArrayChanged(newArray, arrayChanges);\n }\n return result;\n };\n\n return newArray;\n }\n protected getItemValueType(): string {\n return undefined;\n }\n protected setArray(\n name: string,\n src: any[],\n dest: any[],\n isItemValues: boolean,\n onPush: any\n ) {\n var deletedItems = [].concat(src);\n Object.getPrototypeOf(src).splice.call(src, 0, src.length);\n if (!!dest) {\n for (var i = 0; i < dest.length; i++) {\n var item = dest[i];\n if (isItemValues) {\n if (!!Base.createItemValue) {\n item = Base.createItemValue(item, this.getItemValueType());\n }\n }\n Object.getPrototypeOf(src).push.call(src, item);\n if (onPush) onPush(src[i]);\n }\n }\n const arrayChanges = new ArrayChanges(\n 0,\n deletedItems.length,\n src,\n deletedItems\n );\n this.propertyValueChanged(name, deletedItems, src, arrayChanges);\n this.notifyArrayChanged(src, arrayChanges);\n }\n protected isTwoValueEquals(\n x: any,\n y: any,\n caseInSensitive: boolean = false,\n trimString: boolean = false\n ): boolean {\n return Helpers.isTwoValueEquals(x, y, false, !caseInSensitive, trimString);\n }\n private static copyObject(dst: any, src: any) {\n for (var key in src) {\n var source = src[key];\n if (typeof source === \"object\") {\n source = {};\n this.copyObject(source, src[key]);\n }\n dst[key] = source;\n }\n }\n protected copyCssClasses(dest: any, source: any): void {\n if (!source) return;\n if (typeof source === \"string\" || source instanceof String) {\n dest[\"root\"] = source;\n } else {\n Base.copyObject(dest, source);\n }\n }\n private getValueInLowCase(val: any): any {\n if (!!val && typeof val == \"string\") return val.toLowerCase();\n return val;\n }\n public getElementsInDesign(includeHidden: boolean = false): Array<IElement> {\n return [];\n }\n public get animationAllowed(): boolean {\n return this.getIsAnimationAllowed();\n }\n protected getIsAnimationAllowed(): boolean {\n return settings.animationEnabled && this.animationAllowedLock >= 0 && !this.isLoadingFromJson && !this.isDisposed && (!!this.onElementRerendered || !this.supportOnElementRenderedEvent);\n }\n private animationAllowedLock: number = 0;\n public blockAnimations(): void {\n this.animationAllowedLock--;\n }\n public releaseAnimations(): void {\n this.animationAllowedLock++;\n }\n //remove when knockout obsolete\n public supportOnElementRenderedEvent = true;\n public onElementRenderedEventEnabled = false;\n public enableOnElementRenderedEvent(): void {\n this.onElementRenderedEventEnabled = true;\n }\n public disableOnElementRenderedEvent(): void {\n this.onElementRenderedEventEnabled = false;\n }\n protected _onElementRerendered: EventBase<Base> = new EventBase();\n public get onElementRerendered(): EventBase<Base> {\n return this.supportOnElementRenderedEvent && this.onElementRenderedEventEnabled ? this._onElementRerendered : undefined;\n }\n public afterRerender(): void {\n this.onElementRerendered?.fire(this, undefined);\n }\n}\n\nexport class ArrayChanges<T = any> {\n constructor(\n public index: number,\n public deleteCount: number,\n public itemsToAdd: T[],\n public deletedItems: T[]\n ) { }\n}\n\nexport class Event<CallbackFunction extends Function, Sender, Options> {\n public onCallbacksChanged: () => void;\n protected callbacks: Array<CallbackFunction>;\n public get isEmpty(): boolean {\n return this.length === 0;\n }\n public get length(): number {\n return !!this.callbacks ? this.callbacks.length : 0;\n }\n public fireByCreatingOptions(sender: any, createOptions: () => Options): void {\n if (!this.callbacks) return;\n for (var i = 0; i < this.callbacks.length; i++) {\n this.callbacks[i](sender, createOptions());\n if (!this.callbacks) return;\n }\n }\n public fire(sender: Sender, options: Options): void {\n if (!this.callbacks) return;\n const callbacks = [].concat(this.callbacks);\n for (var i = 0; i < callbacks.length; i++) {\n callbacks[i](sender, options);\n if (!this.callbacks) return;\n }\n }\n public clear(): void {\n this.callbacks = undefined;\n }\n public add(func: CallbackFunction): void {\n if (this.hasFunc(func)) return;\n if (!this.callbacks) {\n this.callbacks = new Array<CallbackFunction>();\n }\n this.callbacks.push(func);\n this.fireCallbackChanged();\n }\n public remove(func: CallbackFunction): void {\n if (this.hasFunc(func)) {\n var index = this.callbacks.indexOf(func, 0);\n this.callbacks.splice(index, 1);\n this.fireCallbackChanged();\n }\n }\n public hasFunc(func: CallbackFunction): boolean {\n if (this.callbacks == null) return false;\n return this.callbacks.indexOf(func, 0) > -1;\n }\n private fireCallbackChanged(): void {\n if (!!this.onCallbacksChanged) {\n this.onCallbacksChanged();\n }\n }\n}\n\nexport class EventBase<Sender, Options = any> extends Event<\n (sender: Sender, options: Options) => any,\n Sender,\n Options\n> { }\n","import { Helpers, HashTable } from \"./helpers\";\n\nconst surveyBuiltInVarible: string = \"@survey\";\nexport class ProcessValue {\n public values: HashTable<any> = null;\n public properties: HashTable<any> = null;\n constructor() {}\n public getFirstName(text: string, obj: any = null): string {\n if (!text) return text;\n var res = \"\";\n if (!!obj) {\n res = this.getFirstPropertyName(text, obj);\n if (!!res) return res;\n }\n for (var i = 0; i < text.length; i++) {\n var ch = text[i];\n if (ch == \".\" || ch == \"[\") break;\n res += ch;\n }\n return res;\n }\n public hasValue(text: string, values: HashTable<any> = null): boolean {\n if (!values) values = this.values;\n var res = this.getValueCore(text, values);\n return res.hasValue;\n }\n public getValue(text: string, values: HashTable<any> = null): any {\n if (!values) values = this.values;\n var res = this.getValueCore(text, values);\n return res.value;\n }\n public setValue(obj: any, text: string, value: any) {\n if (!text) return;\n var nonNestedObj = this.getNonNestedObject(obj, text, true);\n if (!nonNestedObj) return;\n obj = nonNestedObj.value;\n text = nonNestedObj.text;\n if (!!obj && !!text) {\n obj[text] = value;\n }\n }\n public getValueInfo(valueInfo: any) {\n if (!!valueInfo.path) {\n valueInfo.value = this.getValueFromPath(valueInfo.path, this.values);\n valueInfo.hasValue =\n valueInfo.value !== null && !Helpers.isValueEmpty(valueInfo.value);\n if (\n !valueInfo.hasValue &&\n valueInfo.path.length > 1 &&\n valueInfo.path[valueInfo.path.length - 1] == \"length\"\n ) {\n valueInfo.hasValue = true;\n valueInfo.value = 0;\n }\n return;\n }\n var res = this.getValueCore(valueInfo.name, this.values);\n valueInfo.value = res.value;\n valueInfo.hasValue = res.hasValue;\n valueInfo.path = res.hasValue ? res.path : null;\n valueInfo.sctrictCompare = res.sctrictCompare;\n }\n public isAnyKeyChanged(keys: any, usedNames: string[]): boolean {\n for (var i = 0; i < usedNames.length; i++) {\n const name = usedNames[i];\n if(!name) continue;\n const lowerName = name.toLowerCase();\n if (keys.hasOwnProperty(name)) return true;\n if(name !== lowerName && keys.hasOwnProperty(lowerName)) return true;\n var firstName = this.getFirstName(name);\n if (!keys.hasOwnProperty(firstName)) continue;\n if (name === firstName) return true;\n var keyValue = keys[firstName];\n if (keyValue == undefined) continue;\n if (\n !keyValue.hasOwnProperty(\"oldValue\") ||\n !keyValue.hasOwnProperty(\"newValue\")\n )\n return true;\n var v: any = {};\n v[firstName] = keyValue[\"oldValue\"];\n var oldValue = this.getValue(name, v);\n v[firstName] = keyValue[\"newValue\"];\n var newValue = this.getValue(name, v);\n if(!Helpers.isTwoValueEquals(oldValue, newValue, false, false, false)) return true;\n }\n return false;\n\n }\n private getValueFromPath(path: Array<string | number>, values: any): any {\n if(path.length === 2 && path[0] === surveyBuiltInVarible) {\n return this.getValueFromSurvey(<string>path[1]);\n }\n var index = 0;\n while (!!values && index < path.length) {\n var ind_name = path[index];\n if (\n Helpers.isNumber(ind_name) &&\n Array.isArray(values) &&\n ind_name >= values.length\n )\n return null;\n values = values[ind_name];\n index++;\n }\n return values;\n }\n private getValueCore(text: string, values: any): any {\n const question = this.getQuestionDirectly(text);\n if(question) {\n return { hasValue: true, value: question.value, path: [text], sctrictCompare: question.requireStrictCompare };\n }\n const res = this.getValueFromValues(text, values);\n if(!!text && !res.hasValue) {\n const val = this.getValueFromSurvey(text);\n if(val !== undefined) {\n res.hasValue = true;\n res.value = val;\n res.path = [surveyBuiltInVarible, text];\n }\n }\n return res;\n }\n private getQuestionDirectly(name: string): any {\n if(!!this.properties && !!this.properties.survey)\n return this.properties.survey.getQuestionByValueName(name);\n return undefined;\n }\n private getValueFromSurvey(name: string): any {\n if(!!this.properties && !!this.properties.survey)\n return this.properties.survey.getBuiltInVariableValue(name.toLocaleLowerCase());\n return undefined;\n }\n private getValueFromValues(text: string, values: any): any {\n var res: any = { hasValue: false, value: null, path: null };\n var curValue = values;\n if (!curValue && curValue !== 0 && curValue !== false) return res;\n if (\n text &&\n text.lastIndexOf(\".length\") > -1 &&\n text.lastIndexOf(\".length\") === text.length - \".length\".length\n ) {\n res.value = 0;\n res.hasValue = true;\n }\n var nonNestedObj = this.getNonNestedObject(curValue, text, false);\n if (!nonNestedObj) return res;\n res.path = nonNestedObj.path;\n res.value = !!nonNestedObj.text\n ? this.getObjectValue(nonNestedObj.value, nonNestedObj.text)\n : nonNestedObj.value;\n res.hasValue = !Helpers.isValueEmpty(res.value);\n return res;\n }\n private getNonNestedObject(obj: any, text: string, createPath: boolean): any {\n const checkedKeys = new Array<string>();\n let len = 0;\n let res = this.getNonNestedObjectCore(obj, text, createPath, checkedKeys);\n while(!res && len < checkedKeys.length) {\n len = checkedKeys.length;\n res = this.getNonNestedObjectCore(obj, text, createPath, checkedKeys);\n }\n return res;\n }\n private getNonNestedObjectCore(obj: any, text: string, createPath: boolean, checkedKeys: Array<string>): any {\n var curName = this.getFirstPropertyName(text, obj, createPath, checkedKeys);\n if(!!curName) {\n checkedKeys.push(curName);\n }\n var path = !!curName ? [curName] : null;\n while (text != curName && !!obj) {\n var isArray = text[0] == \"[\";\n if (!isArray) {\n if (!curName && text == this.getFirstName(text))\n return { value: obj, text: text, path: path };\n obj = this.getObjectValue(obj, curName);\n if (Helpers.isValueEmpty(obj) && !createPath) return null;\n text = text.substring(curName.length);\n } else {\n var objInArray = this.getObjInArray(obj, text);\n if (!objInArray) return null;\n obj = objInArray.value;\n text = objInArray.text;\n path.push(objInArray.index);\n }\n if (!!text && text[0] == \".\") {\n text = text.substring(1);\n }\n curName = this.getFirstPropertyName(text, obj, createPath, checkedKeys);\n if (!!curName) {\n path.push(curName);\n }\n }\n return { value: obj, text: text, path: path };\n }\n private getObjInArray(curValue: any, text: string): any {\n if (!Array.isArray(curValue)) return null;\n var index = 1;\n var str = \"\";\n while (index < text.length && text[index] != \"]\") {\n str += text[index];\n index++;\n }\n text = index < text.length ? text.substring(index + 1) : \"\";\n index = this.getIntValue(str);\n if (index < 0 || index >= curValue.length) return null;\n return { value: curValue[index], text: text, index: index };\n }\n private getFirstPropertyName(name: string, obj: any, createProp: boolean = false, checkedKeys: Array<string> = undefined): string {\n if (!name) return name;\n if (!obj) obj = {};\n if (obj.hasOwnProperty(name)) return name;\n var nameInLow = name.toLowerCase();\n var A = nameInLow[0];\n var a = A.toUpperCase();\n for (var key in obj) {\n if(Array.isArray(checkedKeys) && checkedKeys.indexOf(key) > -1) continue;\n var first = key[0];\n if (first === a || first === A) {\n var keyName = key.toLowerCase();\n if (keyName == nameInLow) return key;\n if (nameInLow.length <= keyName.length) continue;\n var ch = nameInLow[keyName.length];\n if (ch != \".\" && ch != \"[\") continue;\n if (keyName == nameInLow.substring(0, keyName.length)) return key;\n }\n }\n if (createProp && name[0] !== \"[\") {\n var ind = name.indexOf(\".\");\n if (ind > -1) {\n name = name.substring(0, ind);\n obj[name] = {};\n }\n return name;\n }\n return \"\";\n }\n private getObjectValue(obj: any, name: string): any {\n if (!name) return null;\n return obj[name];\n }\n private getIntValue(str: any) {\n if (str == \"0\" || ((str | 0) > 0 && str % 1 == 0)) return Number(str);\n return -1;\n }\n}\n","import { HashTable } from \"./helpers\";\nimport { ProcessValue } from \"./conditionProcessValue\";\nimport { ConsoleWarnings } from \"./console-warnings\";\nimport { Operand, FunctionOperand } from \"./expressions/expressions\";\nimport { ConditionsParser } from \"./conditionsParser\";\n\n/**\n * Base interface for expression execution\n */\nexport interface IExpresionExecutor {\n /**\n * This call back runs on executing expression if there is at least one async function\n */\n onComplete: (res: any) => void;\n /**\n * The expression as string, property with get\n */\n expression: string;\n /**\n * Returns true if the expression is valid and can be executed\n */\n canRun(): boolean;\n /**\n * Run the expression. Returns the result of execution.\n * The result can be undefined if there is an asyn function. In this case result will be returned onComplete callback.\n * @param values has with values names and their results. Normally it is question names and their values\n * @param properties the list of properties that are available in functions. Commonly it is survey and question, if expression execuited in a question context\n */\n run(values: HashTable<any>, properties: HashTable<any>): any;\n /**\n * Returns the list of variables that used in the expression. They defined as: {variableName} in default parser.\n */\n getVariables(): Array<string>;\n /**\n * Returns true if there is a function in the expression\n */\n hasFunction(): boolean;\n /**\n * Returns true if there is an async function in the expression\n */\n isAsync: boolean;\n}\n\nexport class ExpressionExecutor implements IExpresionExecutor {\n public static createExpressionExecutor: (expression: string) => IExpresionExecutor =\n (expression: string) => { return new ExpressionExecutor(expression); }\n public onComplete: (res: any) => void;\n private expressionValue: string;\n private operand: Operand;\n private processValue = new ProcessValue();\n private parser = new ConditionsParser();\n private isAsyncValue: boolean = false;\n private hasFunctionValue: boolean = false;\n private asyncFuncList: Array<FunctionOperand>;\n constructor(expression: string) {\n this.setExpression(expression);\n }\n public get expression(): string {\n return this.expressionValue;\n }\n private setExpression(value: string): void {\n if (this.expression === value) return;\n this.expressionValue = value;\n this.operand = this.parser.parseExpression(value);\n this.hasFunctionValue = this.canRun() ? this.operand.hasFunction() : false;\n this.isAsyncValue = this.hasFunction()\n ? this.operand.hasAsyncFunction()\n : false;\n }\n public getVariables(): Array<string> {\n if (!this.operand) return [];\n\n var variables: Array<string> = [];\n this.operand.setVariables(variables);\n return variables;\n }\n\n public hasFunction(): boolean {\n return this.hasFunctionValue;\n }\n public get isAsync(): boolean {\n return this.isAsyncValue;\n }\n\n public canRun(): boolean {\n return !!this.operand;\n }\n\n public run(\n values: HashTable<any>,\n properties: HashTable<any> = null\n ): any {\n if (!this.operand) {\n if(!!this.expression) {\n ConsoleWarnings.warn(\"Invalid expression: \" + this.expression);\n }\n return null;\n }\n this.processValue.values = values;\n this.processValue.properties = properties;\n if (!this.isAsync) return this.runValues();\n this.asyncFuncList = [];\n this.operand.addToAsyncList(this.asyncFuncList);\n for (var i = 0; i < this.asyncFuncList.length; i++) {\n this.asyncFuncList[i].onAsyncReady = () => {\n this.doAsyncFunctionReady();\n };\n }\n for (var i = 0; i < this.asyncFuncList.length; i++) {\n this.asyncFuncList[i].evaluateAsync(this.processValue);\n }\n return false;\n }\n private doAsyncFunctionReady() {\n for (var i = 0; i < this.asyncFuncList.length; i++) {\n if (!this.asyncFuncList[i].isReady) return;\n }\n this.runValues();\n }\n private runValues(): any {\n var res = this.operand.evaluate(this.processValue);\n if(!!this.onComplete) {\n this.onComplete(res);\n }\n return res;\n }\n}\n\nexport class ExpressionRunnerBase {\n private expressionExecutor: IExpresionExecutor;\n private variables: string[];\n private containsFunc: boolean;\n private static IdCounter = 1;\n private _id: number = ExpressionRunnerBase.IdCounter ++;\n public onBeforeAsyncRun: (id: number) => void;\n public onAfterAsyncRun: (id: number) => void;\n\n public constructor(expression: string) {\n this.expression = expression;\n }\n public get id(): number { return this._id; }\n public get expression(): string {\n return !!this.expressionExecutor ? this.expressionExecutor.expression : \"\";\n }\n\n public set expression(value: string) {\n if(!!this.expressionExecutor && value === this.expression) return;\n this.expressionExecutor = ExpressionExecutor.createExpressionExecutor(value);\n this.expressionExecutor.onComplete = (res: any) => { this.doOnComplete(res); };\n this.variables = undefined;\n this.containsFunc = undefined;\n }\n\n public getVariables(): Array<string> {\n if(this.variables === undefined) {\n this.variables = this.expressionExecutor.getVariables();\n }\n return this.variables;\n }\n\n public hasFunction(): boolean {\n if(this.containsFunc === undefined) {\n this.containsFunc = this.expressionExecutor.hasFunction();\n }\n return this.containsFunc;\n }\n public get isAsync(): boolean {\n return this.expressionExecutor.isAsync;\n }\n\n public canRun(): boolean {\n return this.expressionExecutor.canRun();\n }\n protected runCore(\n values: HashTable<any>,\n properties: HashTable<any> = null\n ): any {\n if(this.onBeforeAsyncRun && this.isAsync) {\n this.onBeforeAsyncRun(this.id);\n }\n return this.expressionExecutor.run(values, properties);\n }\n protected doOnComplete(res: any): void {\n if(this.onAfterAsyncRun && this.isAsync) {\n this.onAfterAsyncRun(this.id);\n }\n }\n}\n\nexport class ConditionRunner extends ExpressionRunnerBase {\n public onRunComplete: (result: boolean) => void;\n public run(\n values: HashTable<any>,\n properties: HashTable<any> = null\n ): boolean {\n return this.runCore(values, properties) == true;\n }\n protected doOnComplete(res: any): void {\n if (!!this.onRunComplete) this.onRunComplete(res == true);\n super.doOnComplete(res);\n }\n}\n\nexport class ExpressionRunner extends ExpressionRunnerBase {\n public onRunComplete: (result: any) => void;\n public run(values: HashTable<any>, properties: HashTable<any> = null): any {\n return this.runCore(values, properties);\n }\n protected doOnComplete(res: any): void {\n if (!!this.onRunComplete) this.onRunComplete(res);\n super.doOnComplete(res);\n }\n}\n","import { Operand, Const } from \"./expressions/expressions\";\nimport { SyntaxError, parse } from \"./expressions/expressionParser\";\n\nexport class ConditionsParserError {\n constructor(public at: number, public code: string) {}\n}\n\nexport class ConditionsParser {\n private conditionError: ConditionsParserError;\n private static parserCache: { [index: string]: Operand } = {};\n\n private patchExpression(text: string) {\n return text\n .replace(/=>/g, \">=\")\n .replace(/=</g, \"<=\")\n .replace(/<>/g, \"!=\")\n .replace(/equals/g, \"equal \")\n .replace(/notequals/g, \"notequal \");\n }\n\n public createCondition(text: string): Operand {\n return this.parseExpression(text);\n }\n\n public parseExpression(text: string): Operand {\n try {\n var result = ConditionsParser.parserCache[text];\n if (result === undefined) {\n result = parse(this.patchExpression(text));\n if (!result.hasAsyncFunction()) {\n ConditionsParser.parserCache[text] = result;\n }\n }\n return result;\n } catch (e) {\n if (e instanceof SyntaxError) {\n this.conditionError = new ConditionsParserError(\n e.location.start.offset,\n e.message\n );\n }\n }\n }\n\n public get error(): ConditionsParserError {\n return this.conditionError;\n }\n}\n","export class ConsoleWarnings {\n public static disposedObjectChangedProperty(propName: string, objType: string): void {\n ConsoleWarnings.warn(\"An attempt to set a property \\\"\" + propName + \"\\\" of a disposed object \\\"\" + objType + \"\\\"\");\n }\n public static inCorrectQuestionValue(questionName: string, val: any): void {\n const valStr = JSON.stringify(val, null, 3);\n ConsoleWarnings.warn(\"An attempt to assign an incorrect value\" + valStr + \" to the following question: \\\"\" + questionName + \"\\\"\");\n }\n public static warn(text: string): void {\n // eslint-disable-next-line no-console\n console.warn(text);\n }\n public static error(text: string): void {\n // eslint-disable-next-line no-console\n console.error(text);\n }\n}","import { DomDocumentHelper } from \"./global_variables_utils\";\n\nexport class ElementHelper {\n static focusElement(element: Element) {\n element && (<HTMLElement>element).focus();\n }\n static visibility(node: Element): boolean {\n var style = DomDocumentHelper.getComputedStyle(node);\n if (style.display === \"none\" || style.visibility === \"hidden\") return false;\n return node.parentElement ? this.visibility(node.parentElement) : true;\n }\n static getNextElementPreorder(element: Element): Element {\n const result = !!element.nextElementSibling ? element.nextElementSibling : element.parentElement.firstElementChild;\n if(this.visibility(result)) {\n return result;\n } else {\n return this.getNextElementPreorder(result);\n }\n }\n static getNextElementPostorder(element: Element): Element {\n const result = !!element.previousElementSibling ? element.previousElementSibling : element.parentElement.lastElementChild;\n if(this.visibility(result)) {\n return result;\n } else {\n return this.getNextElementPostorder(result);\n }\n }\n static hasHorizontalScroller(element: HTMLElement): boolean {\n if (!!element) {\n return element.scrollWidth > element.offsetWidth;\n }\n return false;\n }\n static hasVerticalScroller(element: HTMLElement): boolean {\n if (!!element) {\n return element.scrollHeight > element.offsetHeight;\n }\n return false;\n }\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 SurveyQuestionRankingItemContent\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\";\nexport { RatingDropdownItem } from \"../react/components/rating/rating-dropdown-item\";\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 SurveyQuestionMatrixCell\n} from \"../react/reactquestion_matrix\";\nexport { SurveyQuestionHtml } from \"../react/reactquestion_html\";\nexport { SurveyQuestionFile } from \"../react/reactquestion_file\";\nexport { SurveyFileChooseButton } from \"../react/components/file/file-choose-button\";\nexport { SurveyFilePreview } from \"../react/components/file/file-preview\";\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/progress\";\nexport { SurveyProgressButtons } from \"../react/progressButtons\";\nexport { SurveyProgressToc } from \"../react/progressToc\";\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 { ListItemContent } from \"../react/components/list/list-item-content\";\nexport { ListItemGroup } from \"../react/components/list/list-item-group\";\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\";\nexport { QuestionErrorComponent } from \"../react/components/question-error\";\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\";\nexport * from \"../react/components/header\";\n\nexport { SurveyLocStringViewer } from \"../react/string-viewer\";\nexport { SurveyLocStringEditor } from \"../react/string-editor\";\nexport { LoadingIndicatorComponent } from \"../react/components/loading-indicator\";\n\nexport { SvgBundleComponent } from \"../react/svgbundle\";\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\");","/* eslint-disable */\nimport {\n Const,\n BinaryOperand,\n Variable,\n Operand,\n UnaryOperand,\n FunctionOperand,\n ArrayOperand\n} from \"./expressions\";\n\n// Generated by PEG.js v. 0.10.0 (ts-pegjs plugin v. 0.3.1 )\n//\n// https://pegjs.org/ https://github.com/metadevpro/ts-pegjs\n\n\"use strict\";\n\nexport interface IFilePosition {\n offset: number;\n line: number;\n column: number;\n}\n\nexport interface IFileRange {\n start: IFilePosition;\n end: IFilePosition;\n}\n\nexport interface ILiteralExpectation {\n type: \"literal\";\n text: string;\n ignoreCase: boolean;\n}\n\nexport interface IClassParts extends Array<string | IClassParts> {}\n\nexport interface IClassExpectation {\n type: \"class\";\n parts: IClassParts;\n inverted: boolean;\n ignoreCase: boolean;\n}\n\nexport interface IAnyExpectation {\n type: \"any\";\n}\n\nexport interface IEndExpectation {\n type: \"end\";\n}\n\nexport interface IOtherExpectation {\n type: \"other\";\n description: string;\n}\n\nexport type Expectation = ILiteralExpectation | IClassExpectation | IAnyExpectation | IEndExpectation | IOtherExpectation;\n\nexport class SyntaxError extends Error {\n public static buildMessage(expected: Expectation[], found: string | null) {\n function hex(ch: string): string {\n return ch.charCodeAt(0).toString(16).toUpperCase();\n }\n\n function literalEscape(s: string): string {\n return s\n .replace(/\\\\/g, \"\\\\\\\\\")\n .replace(/\"/g, \"\\\\\\\"\")\n .replace(/\\0/g, \"\\\\0\")\n .replace(/\\t/g, \"\\\\t\")\n .replace(/\\n/g, \"\\\\n\")\n .replace(/\\r/g, \"\\\\r\")\n .replace(/[\\x00-\\x0F]/g, (ch) => \"\\\\x0\" + hex(ch))\n .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, (ch) => \"\\\\x\" + hex(ch));\n }\n\n function classEscape(s: string): string {\n return s\n .replace(/\\\\/g, \"\\\\\\\\\")\n .replace(/\\]/g, \"\\\\]\")\n .replace(/\\^/g, \"\\\\^\")\n .replace(/-/g, \"\\\\-\")\n .replace(/\\0/g, \"\\\\0\")\n .replace(/\\t/g, \"\\\\t\")\n .replace(/\\n/g, \"\\\\n\")\n .replace(/\\r/g, \"\\\\r\")\n .replace(/[\\x00-\\x0F]/g, (ch) => \"\\\\x0\" + hex(ch))\n .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, (ch) => \"\\\\x\" + hex(ch));\n }\n\n function describeExpectation(expectation: Expectation) {\n switch (expectation.type) {\n case \"literal\":\n return \"\\\"\" + literalEscape(expectation.text) + \"\\\"\";\n case \"class\":\n const escapedParts = expectation.parts.map((part) => {\n return Array.isArray(part)\n ? classEscape(part[0] as string) + \"-\" + classEscape(part[1] as string)\n : classEscape(part);\n });\n\n return \"[\" + (expectation.inverted ? \"^\" : \"\") + escapedParts + \"]\";\n case \"any\":\n return \"any character\";\n case \"end\":\n return \"end of input\";\n case \"other\":\n return expectation.description;\n }\n }\n\n function describeExpected(expected1: Expectation[]) {\n const descriptions = expected1.map(describeExpectation);\n let i: number;\n let j: number;\n\n descriptions.sort();\n\n if (descriptions.length > 0) {\n for (i = 1, j = 1; i < descriptions.length; i++) {\n if (descriptions[i - 1] !== descriptions[i]) {\n descriptions[j] = descriptions[i];\n j++;\n }\n }\n descriptions.length = j;\n }\n\n switch (descriptions.length) {\n case 1:\n return descriptions[0];\n\n case 2:\n return descriptions[0] + \" or \" + descriptions[1];\n\n default:\n return descriptions.slice(0, -1).join(\", \")\n + \", or \"\n + descriptions[descriptions.length - 1];\n }\n }\n\n function describeFound(found1: string | null) {\n return found1 ? \"\\\"\" + literalEscape(found1) + \"\\\"\" : \"end of input\";\n }\n\n return \"Expected \" + describeExpected(expected) + \" but \" + describeFound(found) + \" found.\";\n }\n\n public message: string;\n public expected: Expectation[];\n public found: string | null;\n public location: IFileRange;\n public name: string;\n\n constructor(message: string, expected: Expectation[], found: string | null, location: IFileRange) {\n super();\n this.message = message;\n this.expected = expected;\n this.found = found;\n this.location = location;\n this.name = \"SyntaxError\";\n\n if (typeof (Error as any).captureStackTrace === \"function\") {\n (Error as any).captureStackTrace(this, SyntaxError);\n }\n }\n}\n\nexport interface ICached {\n nextPos: number;\n result: any;\n}\n\nfunction peg$parse(input: string, options?: IParseOptions) {\n options = options !== undefined ? options : {};\n\n const peg$FAILED: Readonly<any> = {};\n\n const peg$startRuleFunctions: {[id: string]: any} = { Expression: peg$parseExpression };\n let peg$startRuleFunction: () => any = peg$parseExpression;\n\n const peg$c0 = function(head: any, tail: any): any {\n return buildBinaryOperand(head, tail, true);\n };\n const peg$c1 = \"||\";\n const peg$c2 = peg$literalExpectation(\"||\", false);\n const peg$c3 = \"or\";\n const peg$c4 = peg$literalExpectation(\"or\", true);\n const peg$c5 = function(): any { return \"or\"; };\n const peg$c6 = \"&&\";\n const peg$c7 = peg$literalExpectation(\"&&\", false);\n const peg$c8 = \"and\";\n const peg$c9 = peg$literalExpectation(\"and\", true);\n const peg$c10 = function(): any { return \"and\"; };\n const peg$c11 = function(head: any, tail: any): any {\n return buildBinaryOperand(head, tail);\n };\n const peg$c12 = \"<=\";\n const peg$c13 = peg$literalExpectation(\"<=\", false);\n const peg$c14 = \"lessorequal\";\n const peg$c15 = peg$literalExpectation(\"lessorequal\", true);\n const peg$c16 = function(): any { return \"lessorequal\"; };\n const peg$c17 = \">=\";\n const peg$c18 = peg$literalExpectation(\">=\", false);\n const peg$c19 = \"greaterorequal\";\n const peg$c20 = peg$literalExpectation(\"greaterorequal\", true);\n const peg$c21 = function(): any { return \"greaterorequal\"; };\n const peg$c22 = \"==\";\n const peg$c23 = peg$literalExpectation(\"==\", false);\n const peg$c24 = \"equal\";\n const peg$c25 = peg$literalExpectation(\"equal\", true);\n const peg$c26 = function(): any { return \"equal\"; };\n const peg$c27 = \"=\";\n const peg$c28 = peg$literalExpectation(\"=\", false);\n const peg$c29 = \"!=\";\n const peg$c30 = peg$literalExpectation(\"!=\", false);\n const peg$c31 = \"notequal\";\n const peg$c32 = peg$literalExpectation(\"notequal\", true);\n const peg$c33 = function(): any { return \"notequal\"; };\n const peg$c34 = \"<\";\n const peg$c35 = peg$literalExpectation(\"<\", false);\n const peg$c36 = \"less\";\n const peg$c37 = peg$literalExpectation(\"less\", true);\n const peg$c38 = function(): any { return \"less\"; };\n const peg$c39 = \">\";\n const peg$c40 = peg$literalExpectation(\">\", false);\n const peg$c41 = \"greater\";\n const peg$c42 = peg$literalExpectation(\"greater\", true);\n const peg$c43 = function(): any { return \"greater\"; };\n const peg$c44 = \"+\";\n const peg$c45 = peg$literalExpectation(\"+\", false);\n const peg$c46 = function(): any { return \"plus\"; };\n const peg$c47 = \"-\";\n const peg$c48 = peg$literalExpectation(\"-\", false);\n const peg$c49 = function(): any { return \"minus\"; };\n const peg$c50 = \"*\";\n const peg$c51 = peg$literalExpectation(\"*\", false);\n const peg$c52 = function(): any { return \"mul\"; };\n const peg$c53 = \"/\";\n const peg$c54 = peg$literalExpectation(\"/\", false);\n const peg$c55 = function(): any { return \"div\"; };\n const peg$c56 = \"%\";\n const peg$c57 = peg$literalExpectation(\"%\", false);\n const peg$c58 = function(): any { return \"mod\"; };\n const peg$c59 = \"^\";\n const peg$c60 = peg$literalExpectation(\"^\", false);\n const peg$c61 = \"power\";\n const peg$c62 = peg$literalExpectation(\"power\", true);\n const peg$c63 = function(): any { return \"power\"; };\n const peg$c64 = \"*=\";\n const peg$c65 = peg$literalExpectation(\"*=\", false);\n const peg$c66 = \"contains\";\n const peg$c67 = peg$literalExpectation(\"contains\", true);\n const peg$c68 = \"contain\";\n const peg$c69 = peg$literalExpectation(\"contain\", true);\n const peg$c70 = function(): any { return \"contains\"; };\n const peg$c71 = \"notcontains\";\n const peg$c72 = peg$literalExpectation(\"notcontains\", true);\n const peg$c73 = \"notcontain\";\n const peg$c74 = peg$literalExpectation(\"notcontain\", true);\n const peg$c75 = function(): any { return \"notcontains\"; };\n const peg$c76 = \"anyof\";\n const peg$c77 = peg$literalExpectation(\"anyof\", true);\n const peg$c78 = function(): any { return \"anyof\"; };\n const peg$c79 = \"allof\";\n const peg$c80 = peg$literalExpectation(\"allof\", true);\n const peg$c81 = function(): any { return \"allof\"; };\n const peg$c82 = \"(\";\n const peg$c83 = peg$literalExpectation(\"(\", false);\n const peg$c84 = \")\";\n const peg$c85 = peg$literalExpectation(\")\", false);\n const peg$c86 = function(expr: any): any { return expr; };\n const peg$c87 = function(name: any, params: any): any { return new FunctionOperand(name, params); };\n const peg$c88 = \"!\";\n const peg$c89 = peg$literalExpectation(\"!\", false);\n const peg$c90 = \"negate\";\n const peg$c91 = peg$literalExpectation(\"negate\", true);\n const peg$c92 = function(expr: any): any { return new UnaryOperand(expr, \"negate\"); };\n const peg$c93 = function(expr: any, op: any): any { return new UnaryOperand(expr, op); };\n const peg$c94 = \"empty\";\n const peg$c95 = peg$literalExpectation(\"empty\", true);\n const peg$c96 = function(): any { return \"empty\"; };\n const peg$c97 = \"notempty\";\n const peg$c98 = peg$literalExpectation(\"notempty\", true);\n const peg$c99 = function(): any { return \"notempty\"; };\n const peg$c100 = \"undefined\";\n const peg$c101 = peg$literalExpectation(\"undefined\", false);\n const peg$c102 = \"null\";\n const peg$c103 = peg$literalExpectation(\"null\", false);\n const peg$c104 = function(): any { return null; };\n const peg$c105 = function(value: any): any { return new Const(value); };\n const peg$c106 = \"{\";\n const peg$c107 = peg$literalExpectation(\"{\", false);\n const peg$c108 = \"}\";\n const peg$c109 = peg$literalExpectation(\"}\", false);\n const peg$c110 = function(value: any): any { return new Variable(value); };\n const peg$c111 = function(value: any): any { return value; };\n const peg$c112 = \"''\";\n const peg$c113 = peg$literalExpectation(\"''\", false);\n const peg$c114 = function(): any { return \"\"; };\n const peg$c115 = \"\\\"\\\"\";\n const peg$c116 = peg$literalExpectation(\"\\\"\\\"\", false);\n const peg$c117 = \"'\";\n const peg$c118 = peg$literalExpectation(\"'\", false);\n const peg$c119 = function(value: any): any { return \"'\" + value + \"'\"; };\n const peg$c120 = \"\\\"\";\n const peg$c121 = peg$literalExpectation(\"\\\"\", false);\n const peg$c122 = \"[\";\n const peg$c123 = peg$literalExpectation(\"[\", false);\n const peg$c124 = \"]\";\n const peg$c125 = peg$literalExpectation(\"]\", false);\n const peg$c126 = function(sequence: any): any { return sequence; };\n const peg$c127 = \",\";\n const peg$c128 = peg$literalExpectation(\",\", false);\n const peg$c129 = function(expr: any, tail: any): any {\n if (expr == null)\n return new ArrayOperand([]);\n\n var array = [expr];\n if (Array.isArray(tail)) {\n var flatten = flattenArray(tail);\n for (var i = 3; i < flatten.length; i += 4) {\n array.push(flatten[i]);\n }\n }\n\n return new ArrayOperand(array);\n };\n const peg$c130 = \"true\";\n const peg$c131 = peg$literalExpectation(\"true\", true);\n const peg$c132 = function(): any { return true; };\n const peg$c133 = \"false\";\n const peg$c134 = peg$literalExpectation(\"false\", true);\n const peg$c135 = function(): any { return false; };\n const peg$c136 = \"0x\";\n const peg$c137 = peg$literalExpectation(\"0x\", false);\n const peg$c138 = function(): any { return parseInt(text(), 16); };\n const peg$c139 = /^[\\-]/;\n const peg$c140 = peg$classExpectation([\"-\"], false, false);\n const peg$c141 = function(sign: any, num: any): any { return sign == null ? num : -num; };\n const peg$c142 = \".\";\n const peg$c143 = peg$literalExpectation(\".\", false);\n const peg$c144 = function(): any { return parseFloat(text()); };\n const peg$c145 = function(): any { return parseInt(text(), 10); };\n const peg$c146 = \"0\";\n const peg$c147 = peg$literalExpectation(\"0\", false);\n const peg$c148 = function(): any { return 0; };\n const peg$c149 = function(chars: any): any { return chars.join(\"\"); };\n const peg$c150 = \"\\\\'\";\n const peg$c151 = peg$literalExpectation(\"\\\\'\", false);\n const peg$c152 = function(): any { return \"'\"; };\n const peg$c153 = \"\\\\\\\"\";\n const peg$c154 = peg$literalExpectation(\"\\\\\\\"\", false);\n const peg$c155 = function(): any { return \"\\\"\"; };\n const peg$c156 = /^[^\"']/;\n const peg$c157 = peg$classExpectation([\"\\\"\", \"'\"], true, false);\n const peg$c158 = function(): any { return text(); };\n const peg$c159 = /^[^{}]/;\n const peg$c160 = peg$classExpectation([\"{\", \"}\"], true, false);\n const peg$c161 = /^[0-9]/;\n const peg$c162 = peg$classExpectation([[\"0\", \"9\"]], false, false);\n const peg$c163 = /^[1-9]/;\n const peg$c164 = peg$classExpectation([[\"1\", \"9\"]], false, false);\n const peg$c165 = /^[a-zA-Z_]/;\n const peg$c166 = peg$classExpectation([[\"a\", \"z\"], [\"A\", \"Z\"], \"_\"], false, false);\n const peg$c167 = peg$otherExpectation(\"whitespace\");\n const peg$c168 = /^[ \\t\\n\\r]/;\n const peg$c169 = peg$classExpectation([\" \", \"\\t\", \"\\n\", \"\\r\"], false, false);\n\n let peg$currPos = 0;\n let peg$savedPos = 0;\n const peg$posDetailsCache = [{ line: 1, column: 1 }];\n let peg$maxFailPos = 0;\n let peg$maxFailExpected: Expectation[] = [];\n let peg$silentFails = 0;\n\n const peg$resultsCache: {[id: number]: ICached} = {};\n\n let peg$result;\n\n if (options.startRule !== undefined) {\n if (!(options.startRule in peg$startRuleFunctions)) {\n throw new Error(\"Can't start parsing from rule \\\"\" + options.startRule + \"\\\".\");\n }\n\n peg$startRuleFunction = peg$startRuleFunctions[options.startRule];\n }\n\n function text(): string {\n return input.substring(peg$savedPos, peg$currPos);\n }\n\n function location(): IFileRange {\n return peg$computeLocation(peg$savedPos, peg$currPos);\n }\n\n function expected(description: string, location1?: IFileRange) {\n location1 = location1 !== undefined\n ? location1\n : peg$computeLocation(peg$savedPos, peg$currPos);\n\n throw peg$buildStructuredError(\n [peg$otherExpectation(description)],\n input.substring(peg$savedPos, peg$currPos),\n location1\n );\n }\n\n function error(message: string, location1?: IFileRange) {\n location1 = location1 !== undefined\n ? location1\n : peg$computeLocation(peg$savedPos, peg$currPos);\n\n throw peg$buildSimpleError(message, location1);\n }\n\n function peg$literalExpectation(text1: string, ignoreCase: boolean): ILiteralExpectation {\n return { type: \"literal\", text: text1, ignoreCase: ignoreCase };\n }\n\n function peg$classExpectation(parts: IClassParts, inverted: boolean, ignoreCase: boolean): IClassExpectation {\n return { type: \"class\", parts: parts, inverted: inverted, ignoreCase: ignoreCase };\n }\n\n function peg$anyExpectation(): IAnyExpectation {\n return { type: \"any\" };\n }\n\n function peg$endExpectation(): IEndExpectation {\n return { type: \"end\" };\n }\n\n function peg$otherExpectation(description: string): IOtherExpectation {\n return { type: \"other\", description: description };\n }\n\n function peg$computePosDetails(pos: number) {\n let details = peg$posDetailsCache[pos];\n let p;\n\n if (details) {\n return details;\n } else {\n p = pos - 1;\n while (!peg$posDetailsCache[p]) {\n p--;\n }\n\n details = peg$posDetailsCache[p];\n details = {\n line: details.line,\n column: details.column\n };\n\n while (p < pos) {\n if (input.charCodeAt(p) === 10) {\n details.line++;\n details.column = 1;\n } else {\n details.column++;\n }\n\n p++;\n }\n\n peg$posDetailsCache[pos] = details;\n\n return details;\n }\n }\n\n function peg$computeLocation(startPos: number, endPos: number): IFileRange {\n const startPosDetails = peg$computePosDetails(startPos);\n const endPosDetails = peg$computePosDetails(endPos);\n\n return {\n start: {\n offset: startPos,\n line: startPosDetails.line,\n column: startPosDetails.column\n },\n end: {\n offset: endPos,\n line: endPosDetails.line,\n column: endPosDetails.column\n }\n };\n }\n\n function peg$fail(expected1: Expectation) {\n if (peg$currPos < peg$maxFailPos) { return; }\n\n if (peg$currPos > peg$maxFailPos) {\n peg$maxFailPos = peg$currPos;\n peg$maxFailExpected = [];\n }\n\n peg$maxFailExpected.push(expected1);\n }\n\n function peg$buildSimpleError(message: string, location1: IFileRange) {\n return new SyntaxError(message, [], \"\", location1);\n }\n\n function peg$buildStructuredError(expected1: Expectation[], found: string | null, location1: IFileRange) {\n return new SyntaxError(\n SyntaxError.buildMessage(expected1, found),\n expected1,\n found,\n location1\n );\n }\n\n function peg$parseExpression(): Operand {\n let s0, s1, s2, s3, s4, s5, s6, s7, s8;\n\n const key = peg$currPos * 34 + 0;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseLogicOr();\n if (s2 !== peg$FAILED) {\n s3 = [];\n s4 = peg$currPos;\n s5 = peg$parse_();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseOrSign();\n if (s6 !== peg$FAILED) {\n s7 = peg$parse_();\n if (s7 !== peg$FAILED) {\n s8 = peg$parseLogicOr();\n if (s8 !== peg$FAILED) {\n s5 = [s5, s6, s7, s8];\n s4 = s5;\n } else {\n peg$currPos = s4;\n s4 = peg$FAILED;\n }\n } else {\n peg$currPos = s4;\n s4 = peg$FAILED;\n }\n } else {\n peg$currPos = s4;\n s4 = peg$FAILED;\n }\n } else {\n peg$currPos = s4;\n s4 = peg$FAILED;\n }\n while (s4 !== peg$FAILED) {\n s3.push(s4);\n s4 = peg$currPos;\n s5 = peg$parse_();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseOrSign();\n if (s6 !== peg$FAILED) {\n s7 = peg$parse_();\n if (s7 !== peg$FAILED) {\n s8 = peg$parseLogicOr();\n if (s8 !== peg$FAILED) {\n s5 = [s5, s6, s7, s8];\n s4 = s5;\n } else {\n peg$currPos = s4;\n s4 = peg$FAILED;\n }\n } else {\n peg$currPos = s4;\n s4 = peg$FAILED;\n }\n } else {\n peg$currPos = s4;\n s4 = peg$FAILED;\n }\n } else {\n peg$currPos = s4;\n s4 = peg$FAILED;\n }\n }\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c0(s2, s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseOrSign(): any {\n let s0, s1;\n\n const key = peg$currPos * 34 + 1;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c1) {\n s1 = peg$c1;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c2); }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 2).toLowerCase() === peg$c3) {\n s1 = input.substr(peg$currPos, 2);\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c4); }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c5();\n }\n s0 = s1;\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseLogicOr(): BinaryOperand {\n let s0, s1, s2, s3, s4, s5, s6, s7;\n\n const key = peg$currPos * 34 + 2;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n s1 = peg$parseLogicAnd();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseAndSign();\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseLogicAnd();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseAndSign();\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseLogicAnd();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c0(s1, s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseAndSign(): any {\n let s0, s1;\n\n const key = peg$currPos * 34 + 3;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c6) {\n s1 = peg$c6;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c7); }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 3).toLowerCase() === peg$c8) {\n s1 = input.substr(peg$currPos, 3);\n peg$currPos += 3;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c9); }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c10();\n }\n s0 = s1;\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseLogicAnd(): BinaryOperand {\n let s0, s1, s2, s3, s4, s5, s6, s7;\n\n const key = peg$currPos * 34 + 4;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n s1 = peg$parseCompOps();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseComparableOperators();\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseCompOps();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseComparableOperators();\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseCompOps();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c11(s1, s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseComparableOperators(): any {\n let s0, s1;\n\n const key = peg$currPos * 34 + 5;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c12) {\n s1 = peg$c12;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c13); }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 11).toLowerCase() === peg$c14) {\n s1 = input.substr(peg$currPos, 11);\n peg$currPos += 11;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c15); }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c16();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c17) {\n s1 = peg$c17;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c18); }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 14).toLowerCase() === peg$c19) {\n s1 = input.substr(peg$currPos, 14);\n peg$currPos += 14;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c20); }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c21();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c22) {\n s1 = peg$c22;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c23); }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 5).toLowerCase() === peg$c24) {\n s1 = input.substr(peg$currPos, 5);\n peg$currPos += 5;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c25); }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c26();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 61) {\n s1 = peg$c27;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c28); }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 5).toLowerCase() === peg$c24) {\n s1 = input.substr(peg$currPos, 5);\n peg$currPos += 5;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c25); }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c26();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c29) {\n s1 = peg$c29;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c30); }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 8).toLowerCase() === peg$c31) {\n s1 = input.substr(peg$currPos, 8);\n peg$currPos += 8;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c32); }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c33();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 60) {\n s1 = peg$c34;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c35); }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 4).toLowerCase() === peg$c36) {\n s1 = input.substr(peg$currPos, 4);\n peg$currPos += 4;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c37); }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c38();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 62) {\n s1 = peg$c39;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c40); }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 7).toLowerCase() === peg$c41) {\n s1 = input.substr(peg$currPos, 7);\n peg$currPos += 7;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c42); }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c43();\n }\n s0 = s1;\n }\n }\n }\n }\n }\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseCompOps(): BinaryOperand {\n let s0, s1, s2, s3, s4, s5, s6, s7;\n\n const key = peg$currPos * 34 + 6;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n s1 = peg$parsePlusMinusOps();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parsePlusMinusSigns();\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parsePlusMinusOps();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parsePlusMinusSigns();\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parsePlusMinusOps();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c0(s1, s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parsePlusMinusSigns(): any {\n let s0, s1;\n\n const key = peg$currPos * 34 + 7;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 43) {\n s1 = peg$c44;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c45); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c46();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 45) {\n s1 = peg$c47;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c48); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c49();\n }\n s0 = s1;\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parsePlusMinusOps(): BinaryOperand {\n let s0, s1, s2, s3, s4, s5, s6, s7;\n\n const key = peg$currPos * 34 + 8;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n s1 = peg$parseMulDivOps();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseMulDivSigns();\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseMulDivOps();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseMulDivSigns();\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseMulDivOps();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c0(s1, s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseMulDivSigns(): any {\n let s0, s1;\n\n const key = peg$currPos * 34 + 9;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 42) {\n s1 = peg$c50;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c51); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c52();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 47) {\n s1 = peg$c53;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c54); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c55();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 37) {\n s1 = peg$c56;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c57); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c58();\n }\n s0 = s1;\n }\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseMulDivOps(): BinaryOperand {\n let s0, s1, s2, s3, s4, s5, s6, s7;\n\n const key = peg$currPos * 34 + 10;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n s1 = peg$parseBinaryFuncOp();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parsePowerSigns();\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseBinaryFuncOp();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parsePowerSigns();\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseBinaryFuncOp();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c0(s1, s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parsePowerSigns(): any {\n let s0, s1;\n\n const key = peg$currPos * 34 + 11;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 94) {\n s1 = peg$c59;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c60); }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 5).toLowerCase() === peg$c61) {\n s1 = input.substr(peg$currPos, 5);\n peg$currPos += 5;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c62); }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c63();\n }\n s0 = s1;\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseBinaryFuncOp(): any {\n let s0, s1, s2, s3, s4, s5, s6, s7;\n\n const key = peg$currPos * 34 + 12;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n s1 = peg$parseFactor();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseBinFunctions();\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseFactor();\n if (s7 === peg$FAILED) {\n s7 = null;\n }\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseBinFunctions();\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseFactor();\n if (s7 === peg$FAILED) {\n s7 = null;\n }\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c11(s1, s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseBinFunctions(): any {\n let s0, s1;\n\n const key = peg$currPos * 34 + 13;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c64) {\n s1 = peg$c64;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c65); }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 8).toLowerCase() === peg$c66) {\n s1 = input.substr(peg$currPos, 8);\n peg$currPos += 8;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c67); }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 7).toLowerCase() === peg$c68) {\n s1 = input.substr(peg$currPos, 7);\n peg$currPos += 7;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c69); }\n }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c70();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 11).toLowerCase() === peg$c71) {\n s1 = input.substr(peg$currPos, 11);\n peg$currPos += 11;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c72); }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 10).toLowerCase() === peg$c73) {\n s1 = input.substr(peg$currPos, 10);\n peg$currPos += 10;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c74); }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c75();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 5).toLowerCase() === peg$c76) {\n s1 = input.substr(peg$currPos, 5);\n peg$currPos += 5;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c77); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c78();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 5).toLowerCase() === peg$c79) {\n s1 = input.substr(peg$currPos, 5);\n peg$currPos += 5;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c80); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c81();\n }\n s0 = s1;\n }\n }\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseFactor(): Operand {\n let s0, s1, s2, s3, s4, s5;\n\n const key = peg$currPos * 34 + 14;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 40) {\n s1 = peg$c82;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c83); }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseExpression();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 41) {\n s5 = peg$c84;\n peg$currPos++;\n } else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c85); }\n }\n if (s5 === peg$FAILED) {\n s5 = null;\n }\n if (s5 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c86(s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$parseFunctionOp();\n if (s0 === peg$FAILED) {\n s0 = peg$parseUnaryFunctionOp();\n if (s0 === peg$FAILED) {\n s0 = peg$parseAtom();\n if (s0 === peg$FAILED) {\n s0 = peg$parseArrayOp();\n }\n }\n }\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseFunctionOp(): any {\n let s0, s1, s2, s3, s4;\n\n const key = peg$currPos * 34 + 15;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n s1 = peg$parseLettersAndDigits();\n if (s1 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 40) {\n s2 = peg$c82;\n peg$currPos++;\n } else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c83); }\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parseSequence();\n if (s3 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 41) {\n s4 = peg$c84;\n peg$currPos++;\n } else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c85); }\n }\n if (s4 === peg$FAILED) {\n s4 = null;\n }\n if (s4 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c87(s1, s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseUnaryFunctionOp(): any {\n let s0, s1, s2, s3;\n\n const key = peg$currPos * 34 + 16;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 33) {\n s1 = peg$c88;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c89); }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 6).toLowerCase() === peg$c90) {\n s1 = input.substr(peg$currPos, 6);\n peg$currPos += 6;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c91); }\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseExpression();\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c92(s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = peg$parseAtom();\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseUnFunctions();\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c93(s1, s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseUnFunctions(): any {\n let s0, s1;\n\n const key = peg$currPos * 34 + 17;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 5).toLowerCase() === peg$c94) {\n s1 = input.substr(peg$currPos, 5);\n peg$currPos += 5;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c95); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c96();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 8).toLowerCase() === peg$c97) {\n s1 = input.substr(peg$currPos, 8);\n peg$currPos += 8;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c98); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c99();\n }\n s0 = s1;\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseAtom(): any {\n let s0, s1, s2, s3, s4;\n\n const key = peg$currPos * 34 + 18;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n if (input.substr(peg$currPos, 9) === peg$c100) {\n s2 = peg$c100;\n peg$currPos += 9;\n } else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c101); }\n }\n if (s2 === peg$FAILED) {\n if (input.substr(peg$currPos, 4) === peg$c102) {\n s2 = peg$c102;\n peg$currPos += 4;\n } else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c103); }\n }\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c104();\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseConstValue();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c105(s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 123) {\n s2 = peg$c106;\n peg$currPos++;\n } else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c107); }\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parseValueInput();\n if (s3 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s4 = peg$c108;\n peg$currPos++;\n } else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c109); }\n }\n if (s4 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c110(s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseConstValue(): any {\n let s0, s1, s2, s3;\n\n const key = peg$currPos * 34 + 19;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n s1 = peg$parseLogicValue();\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c111(s1);\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = peg$parseArithmeticValue();\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c111(s1);\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = peg$parseLettersAndDigits();\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c111(s1);\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c112) {\n s1 = peg$c112;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c113); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c114();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c115) {\n s1 = peg$c115;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c116); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c114();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 39) {\n s1 = peg$c117;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c118); }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parseAnyInput();\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 39) {\n s3 = peg$c117;\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c118); }\n }\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c119(s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 34) {\n s1 = peg$c120;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c121); }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parseAnyInput();\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 34) {\n s3 = peg$c120;\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c121); }\n }\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c119(s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n }\n }\n }\n }\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseArrayOp(): any {\n let s0, s1, s2, s3;\n\n const key = peg$currPos * 34 + 20;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 91) {\n s1 = peg$c122;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c123); }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parseSequence();\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 93) {\n s3 = peg$c124;\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c125); }\n }\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c126(s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseSequence(): ArrayOperand {\n let s0, s1, s2, s3, s4, s5, s6, s7;\n\n const key = peg$currPos * 34 + 21;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n s1 = peg$parseExpression();\n if (s1 === peg$FAILED) {\n s1 = null;\n }\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s5 = peg$c127;\n peg$currPos++;\n } else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c128); }\n }\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseExpression();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s5 = peg$c127;\n peg$currPos++;\n } else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c128); }\n }\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseExpression();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c129(s1, s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseLogicValue(): any {\n let s0, s1;\n\n const key = peg$currPos * 34 + 22;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 4).toLowerCase() === peg$c130) {\n s1 = input.substr(peg$currPos, 4);\n peg$currPos += 4;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c131); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c132();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 5).toLowerCase() === peg$c133) {\n s1 = input.substr(peg$currPos, 5);\n peg$currPos += 5;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c134); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c135();\n }\n s0 = s1;\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseArithmeticValue(): any {\n let s0, s1, s2;\n\n const key = peg$currPos * 34 + 23;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c136) {\n s1 = peg$c136;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c137); }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parseDigits();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c138();\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (peg$c139.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c140); }\n }\n if (s1 === peg$FAILED) {\n s1 = null;\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parseNumber();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c141(s1, s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseNumber(): any {\n let s0, s1, s2, s3;\n\n const key = peg$currPos * 34 + 24;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n s1 = peg$parseDigits();\n if (s1 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 46) {\n s2 = peg$c142;\n peg$currPos++;\n } else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c143); }\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parseDigits();\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c144();\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = peg$parseNonZeroDigits();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseDigits();\n if (s2 === peg$FAILED) {\n s2 = null;\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c145();\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 48) {\n s1 = peg$c146;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c147); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c148();\n }\n s0 = s1;\n }\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseValueInput(): any {\n let s0, s1, s2;\n\n const key = peg$currPos * 34 + 25;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parseValueCharacters();\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parseValueCharacters();\n }\n } else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c149(s1);\n }\n s0 = s1;\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseAnyInput(): any {\n let s0, s1, s2;\n\n const key = peg$currPos * 34 + 26;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parseAnyCharacters();\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parseAnyCharacters();\n }\n } else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c149(s1);\n }\n s0 = s1;\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseAnyCharacters(): any {\n let s0, s1;\n\n const key = peg$currPos * 34 + 27;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c150) {\n s1 = peg$c150;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c151); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c152();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c153) {\n s1 = peg$c153;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c154); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c155();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (peg$c156.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c157); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c158();\n }\n s0 = s1;\n }\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseValueCharacters(): any {\n let s0, s1;\n\n const key = peg$currPos * 34 + 28;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n if (peg$c159.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c160); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c158();\n }\n s0 = s1;\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseLettersAndDigits(): any {\n let s0, s1, s2, s3, s4, s5, s6;\n\n const key = peg$currPos * 34 + 29;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n s1 = peg$parseLetters();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$currPos;\n s4 = peg$parseDigits();\n if (s4 !== peg$FAILED) {\n s5 = [];\n s6 = peg$parseLetters();\n while (s6 !== peg$FAILED) {\n s5.push(s6);\n s6 = peg$parseLetters();\n }\n if (s5 !== peg$FAILED) {\n s4 = [s4, s5];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$currPos;\n s4 = peg$parseDigits();\n if (s4 !== peg$FAILED) {\n s5 = [];\n s6 = peg$parseLetters();\n while (s6 !== peg$FAILED) {\n s5.push(s6);\n s6 = peg$parseLetters();\n }\n if (s5 !== peg$FAILED) {\n s4 = [s4, s5];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c158();\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseDigits(): any {\n let s0, s1;\n\n const key = peg$currPos * 34 + 30;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = [];\n if (peg$c161.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c162); }\n }\n if (s1 !== peg$FAILED) {\n while (s1 !== peg$FAILED) {\n s0.push(s1);\n if (peg$c161.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c162); }\n }\n }\n } else {\n s0 = peg$FAILED;\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseNonZeroDigits(): any {\n let s0, s1;\n\n const key = peg$currPos * 34 + 31;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = [];\n if (peg$c163.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c164); }\n }\n if (s1 !== peg$FAILED) {\n while (s1 !== peg$FAILED) {\n s0.push(s1);\n if (peg$c163.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c164); }\n }\n }\n } else {\n s0 = peg$FAILED;\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseLetters(): any {\n let s0, s1;\n\n const key = peg$currPos * 34 + 32;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = [];\n if (peg$c165.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c166); }\n }\n if (s1 !== peg$FAILED) {\n while (s1 !== peg$FAILED) {\n s0.push(s1);\n if (peg$c165.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c166); }\n }\n }\n } else {\n s0 = peg$FAILED;\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parse_(): any {\n let s0, s1;\n\n const key = peg$currPos * 34 + 33;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n peg$silentFails++;\n s0 = [];\n if (peg$c168.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c169); }\n }\n while (s1 !== peg$FAILED) {\n s0.push(s1);\n if (peg$c168.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c169); }\n }\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c167); }\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function buildBinaryOperand(head: Operand, tail: Array<any>, isArithmeticOp: boolean = false) {\n return tail.reduce(\n function(result, elements) {\n return new BinaryOperand(elements[1], result, elements[3], isArithmeticOp);\n },\n head);\n }\n\n function flattenArray(array: Array<any>): Array<any> {\n return [].concat.apply([], array);\n }\n\n peg$result = peg$startRuleFunction();\n\n if (peg$result !== peg$FAILED && peg$currPos === input.length) {\n return peg$result;\n } else {\n if (peg$result !== peg$FAILED && peg$currPos < input.length) {\n peg$fail(peg$endExpectation());\n }\n\n throw peg$buildStructuredError(\n peg$maxFailExpected,\n peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null,\n peg$maxFailPos < input.length\n ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1)\n : peg$computeLocation(peg$maxFailPos, peg$maxFailPos)\n );\n }\n}\n\nexport interface IParseOptions {\n filename?: string;\n startRule?: string;\n tracer?: any;\n [key: string]: any;\n}\nexport type ParseFunction = (input: string, options?: IParseOptions) => any;\nexport const parse: ParseFunction = peg$parse;\n","import { HashTable, Helpers } from \"../helpers\";\nimport { FunctionFactory } from \"../functionsfactory\";\nimport { ProcessValue } from \"../conditionProcessValue\";\nimport { settings } from \"../settings\";\n\nexport abstract class Operand {\n public toString(func: (op: Operand) => string = undefined): string {\n return \"\";\n }\n public abstract getType(): string;\n public abstract evaluate(processValue?: ProcessValue): any;\n public abstract setVariables(variables: Array<string>): any;\n public hasFunction(): boolean {\n return false;\n }\n public hasAsyncFunction(): boolean { return false; }\n public addToAsyncList(list: Array<FunctionOperand>): void {}\n public isEqual(op: Operand): boolean {\n return !!op && op.getType() === this.getType() && this.isContentEqual(op);\n }\n protected abstract isContentEqual(op: Operand): boolean;\n protected areOperatorsEquals(op1: Operand, op2: Operand): boolean {\n return !op1 && !op2 || !!op1 && op1.isEqual(op2);\n }\n}\n\nexport class BinaryOperand extends Operand {\n private consumer: Function;\n private isArithmeticValue: boolean;\n constructor(\n private operatorName: string,\n private left: any = null,\n private right: any = null,\n isArithmeticOp: boolean = false\n ) {\n super();\n this.isArithmeticValue = isArithmeticOp;\n if (isArithmeticOp) {\n this.consumer = OperandMaker.binaryFunctions[\"arithmeticOp\"](\n operatorName\n );\n } else {\n this.consumer = OperandMaker.binaryFunctions[operatorName];\n }\n\n if (this.consumer == null) {\n OperandMaker.throwInvalidOperatorError(operatorName);\n }\n }\n private get requireStrictCompare(): boolean {\n return this.getIsOperandRequireStrict(this.left) ||\n this.getIsOperandRequireStrict(this.right);\n }\n private getIsOperandRequireStrict(op: any): boolean {\n return !!op && op.requireStrictCompare;\n }\n public getType(): string {\n return \"binary\";\n }\n public get isArithmetic(): boolean {\n return this.isArithmeticValue;\n }\n public get isConjunction(): boolean {\n return this.operatorName == \"or\" || this.operatorName == \"and\";\n }\n public get conjunction(): string {\n return this.isConjunction ? this.operatorName : \"\";\n }\n public get operator(): string {\n return this.operatorName;\n }\n public get leftOperand() {\n return this.left;\n }\n public get rightOperand() {\n return this.right;\n }\n protected isContentEqual(op: Operand): boolean {\n const bOp = <BinaryOperand>op;\n return bOp.operator === this.operator &&\n this.areOperatorsEquals(this.left, bOp.left) &&\n this.areOperatorsEquals(this.right, bOp.right);\n }\n private evaluateParam(x: any, processValue?: ProcessValue): any {\n return x == null ? null : x.evaluate(processValue);\n }\n\n public evaluate(processValue?: ProcessValue): any {\n return this.consumer.call(\n this,\n this.evaluateParam(this.left, processValue),\n this.evaluateParam(this.right, processValue),\n this.requireStrictCompare\n );\n }\n\n public toString(func: (op: Operand) => string = undefined): string {\n if (!!func) {\n var res = func(this);\n if (!!res) return res;\n }\n return (\n \"(\" +\n OperandMaker.safeToString(this.left, func) +\n \" \" +\n OperandMaker.operatorToString(this.operatorName) +\n \" \" +\n OperandMaker.safeToString(this.right, func) +\n \")\"\n );\n }\n\n public setVariables(variables: Array<string>) {\n if (this.left != null) this.left.setVariables(variables);\n if (this.right != null) this.right.setVariables(variables);\n }\n\n public hasFunction(): boolean {\n return (\n (!!this.left && this.left.hasFunction()) ||\n (!!this.right && this.right.hasFunction())\n );\n }\n public hasAsyncFunction(): boolean {\n return (\n (!!this.left && this.left.hasAsyncFunction()) ||\n (!!this.right && this.right.hasAsyncFunction())\n );\n }\n public addToAsyncList(list: Array<FunctionOperand>) {\n if (!!this.left) this.left.addToAsyncList(list);\n if (!!this.right) this.right.addToAsyncList(list);\n }\n}\n\nexport class UnaryOperand extends Operand {\n private consumer: Function;\n constructor(private expressionValue: Operand, private operatorName: string) {\n super();\n this.consumer = OperandMaker.unaryFunctions[operatorName];\n if (this.consumer == null) {\n OperandMaker.throwInvalidOperatorError(operatorName);\n }\n }\n public get operator(): string {\n return this.operatorName;\n }\n public get expression(): Operand {\n return this.expressionValue;\n }\n public getType(): string {\n return \"unary\";\n }\n public toString(func: (op: Operand) => string = undefined): string {\n if (!!func) {\n var res = func(this);\n if (!!res) return res;\n }\n return (\n OperandMaker.operatorToString(this.operatorName) +\n \" \" +\n this.expression.toString(func)\n );\n }\n protected isContentEqual(op: Operand): boolean {\n const uOp = <UnaryOperand>op;\n return uOp.operator == this.operator && this.areOperatorsEquals(this.expression, uOp.expression);\n }\n public hasFunction(): boolean {\n return this.expression.hasFunction();\n }\n public hasAsyncFunction(): boolean {\n return this.expression.hasAsyncFunction();\n }\n public addToAsyncList(list: Array<FunctionOperand>): void {\n this.expression.addToAsyncList(list);\n }\n public evaluate(processValue?: ProcessValue): boolean {\n let value = this.expression.evaluate(processValue);\n return this.consumer.call(this, value);\n }\n public setVariables(variables: Array<string>) {\n this.expression.setVariables(variables);\n }\n}\n\nexport class ArrayOperand extends Operand {\n constructor(public values: Array<Operand>) {\n super();\n }\n public getType(): string {\n return \"array\";\n }\n public toString(func: (op: Operand) => string = undefined): string {\n if (!!func) {\n var res = func(this);\n if (!!res) return res;\n }\n return (\n \"[\" +\n this.values\n .map(function(el: Operand) {\n return el.toString(func);\n })\n .join(\", \") +\n \"]\"\n );\n }\n\n public evaluate(processValue?: ProcessValue): Array<any> {\n return this.values.map(function(el: Operand) {\n return el.evaluate(processValue);\n });\n }\n\n public setVariables(variables: Array<string>) {\n this.values.forEach((el) => {\n el.setVariables(variables);\n });\n }\n\n public hasFunction(): boolean {\n return this.values.some((operand) => operand.hasFunction());\n }\n public hasAsyncFunction(): boolean {\n return this.values.some((operand) => operand.hasAsyncFunction());\n }\n public addToAsyncList(list: Array<FunctionOperand>) {\n this.values.forEach((operand) => operand.addToAsyncList(list));\n }\n protected isContentEqual(op: Operand): boolean {\n const aOp = <ArrayOperand>op;\n if(aOp.values.length !== this.values.length) return false;\n for(var i = 0; i < this.values.length; i ++) {\n if(!aOp.values[i].isEqual(this.values[i])) return false;\n }\n return true;\n }\n}\n\nexport class Const extends Operand {\n constructor(private value: any) {\n super();\n }\n public getType(): string {\n return \"const\";\n }\n public toString(func: (op: Operand) => string = undefined): string {\n if (!!func) {\n var res = func(this);\n if (!!res) return res;\n }\n return this.value.toString();\n }\n public get correctValue(): any {\n return this.getCorrectValue(this.value);\n }\n public get requireStrictCompare(): boolean { return false; }\n public evaluate(): any {\n return this.getCorrectValue(this.value);\n }\n\n public setVariables(variables: Array<string>) {}\n protected getCorrectValue(value: any): any {\n if (!value || typeof value != \"string\") return value;\n if (this.isBooleanValue(value)) return value.toLowerCase() === \"true\";\n if (\n value.length > 1 &&\n this.isQuote(value[0]) &&\n this.isQuote(value[value.length - 1])\n )\n return value.substring(1, value.length - 1);\n if (OperandMaker.isNumeric(value)) {\n if (value.indexOf(\"0x\") == 0) return parseInt(value);\n if (value.length > 1 && value[0] == \"0\" && (value.length < 2 || (value[1] !== \".\" && value[1] !== \",\"))) return value;\n return parseFloat(value);\n }\n return value;\n }\n protected isContentEqual(op: Operand): boolean {\n const cOp = <Const>op;\n return cOp.value == this.value;\n }\n private isQuote(ch: string): boolean {\n return ch == \"'\" || ch == '\"';\n }\n private isBooleanValue(value: any): boolean {\n return (\n value &&\n (value.toLowerCase() === \"true\" || value.toLowerCase() === \"false\")\n );\n }\n}\n\nexport class Variable extends Const {\n public static get DisableConversionChar(): string { return settings.expressionDisableConversionChar; }\n public static set DisableConversionChar(val: string) { settings.expressionDisableConversionChar = val; }\n private valueInfo: any = {};\n private useValueAsItIs: boolean = false;\n constructor(private variableName: string) {\n super(variableName);\n if (\n !!this.variableName &&\n this.variableName.length > 1 &&\n this.variableName[0] === Variable.DisableConversionChar\n ) {\n this.variableName = this.variableName.substring(1);\n this.useValueAsItIs = true;\n }\n }\n public get requireStrictCompare(): boolean {\n return this.valueInfo.sctrictCompare === true;\n }\n public getType(): string {\n return \"variable\";\n }\n public toString(func: (op: Operand) => string = undefined): string {\n if (!!func) {\n var res = func(this);\n if (!!res) return res;\n }\n var prefix = this.useValueAsItIs ? Variable.DisableConversionChar : \"\";\n return \"{\" + prefix + this.variableName + \"}\";\n }\n public get variable(): string {\n return this.variableName;\n }\n public evaluate(processValue?: ProcessValue): any {\n this.valueInfo.name = this.variableName;\n processValue.getValueInfo(this.valueInfo);\n return this.valueInfo.hasValue\n ? this.getCorrectValue(this.valueInfo.value)\n : null;\n }\n public setVariables(variables: Array<string>) {\n variables.push(this.variableName);\n }\n protected getCorrectValue(value: any): any {\n if (this.useValueAsItIs) return value;\n return super.getCorrectValue(value);\n }\n protected isContentEqual(op: Operand): boolean {\n const vOp = <Variable>op;\n return vOp.variable == this.variable;\n }\n}\n\nexport class FunctionOperand extends Operand {\n private isReadyValue: boolean;\n private asynResult: any;\n public onAsyncReady: () => void;\n constructor(private originalValue: string, private parameters: ArrayOperand) {\n super();\n this.isReadyValue = false;\n if (Array.isArray(parameters) && parameters.length === 0) {\n this.parameters = new ArrayOperand([]);\n }\n }\n public getType(): string {\n return \"function\";\n }\n public evaluateAsync(processValue: ProcessValue) {\n this.isReadyValue = false;\n var asyncProcessValue = new ProcessValue();\n asyncProcessValue.values = Helpers.createCopy(processValue.values);\n asyncProcessValue.properties = Helpers.createCopy(processValue.properties);\n asyncProcessValue.properties.returnResult = (result: any) => {\n this.asynResult = result;\n this.isReadyValue = true;\n this.onAsyncReady();\n };\n this.evaluateCore(asyncProcessValue);\n }\n public evaluate(processValue?: ProcessValue): any {\n if (this.isReady) return this.asynResult;\n return this.evaluateCore(processValue);\n }\n private evaluateCore(processValue?: ProcessValue): any {\n return FunctionFactory.Instance.run(\n this.originalValue,\n this.parameters.evaluate(processValue),\n processValue.properties,\n this.parameters.values\n );\n }\n\n public toString(func: (op: Operand) => string = undefined) {\n if (!!func) {\n var res = func(this);\n if (!!res) return res;\n }\n return this.originalValue + \"(\" + this.parameters.toString(func) + \")\";\n }\n\n public setVariables(variables: Array<string>) {\n this.parameters.setVariables(variables);\n }\n public get isReady() {\n return this.isReadyValue;\n }\n public hasFunction(): boolean {\n return true;\n }\n public hasAsyncFunction(): boolean {\n return FunctionFactory.Instance.isAsyncFunction(this.originalValue);\n }\n public addToAsyncList(list: Array<FunctionOperand>) {\n if (this.hasAsyncFunction()) {\n list.push(this);\n }\n }\n protected isContentEqual(op: Operand): boolean {\n const fOp = <FunctionOperand>op;\n return fOp.originalValue == this.originalValue && this.areOperatorsEquals(fOp.parameters, this.parameters);\n }\n}\n\nexport class OperandMaker {\n static throwInvalidOperatorError(op: string) {\n throw new Error(\"Invalid operator: '\" + op + \"'\");\n }\n\n static safeToString(operand: Operand, func: (op: Operand) => string): string {\n return operand == null ? \"\" : operand.toString(func);\n }\n\n static toOperandString(value: string): string {\n if (\n !!value &&\n !OperandMaker.isNumeric(value) &&\n !OperandMaker.isBooleanValue(value)\n )\n value = \"'\" + value + \"'\";\n return value;\n }\n\n static isSpaceString(str: string): boolean {\n return !!str && !str.replace(\" \", \"\");\n }\n\n static isNumeric(value: string): boolean {\n if (\n !!value &&\n (value.indexOf(\"-\") > -1 ||\n value.indexOf(\"+\") > 1 ||\n value.indexOf(\"*\") > -1 ||\n value.indexOf(\"^\") > -1 ||\n value.indexOf(\"/\") > -1 ||\n value.indexOf(\"%\") > -1)\n )\n return false;\n if (OperandMaker.isSpaceString(value)) return false;\n return Helpers.isNumber(value);\n }\n\n static isBooleanValue(value: string): boolean {\n return (\n !!value &&\n (value.toLowerCase() === \"true\" || value.toLowerCase() === \"false\")\n );\n }\n static countDecimals(value: number): number {\n if (Helpers.isNumber(value) && Math.floor(value) !== value) {\n const strs = value.toString().split(\".\");\n return strs.length > 1 && strs[1].length || 0;\n }\n return 0;\n }\n static plusMinus(a: number, b: number, res: number): number {\n const digitsA = OperandMaker.countDecimals(a);\n const digitsB = OperandMaker.countDecimals(b);\n if(digitsA > 0 || digitsB > 0) {\n const digits = Math.max(digitsA, digitsB);\n res = parseFloat(res.toFixed(digits));\n }\n return res;\n }\n\nstatic unaryFunctions: HashTable<Function> = {\n empty: function(value: any): boolean {\n return Helpers.isValueEmpty(value);\n },\n notempty: function(value: any): boolean {\n return !OperandMaker.unaryFunctions.empty(value);\n },\n negate: function(value: boolean): boolean {\n return !value;\n },\n};\n\n static binaryFunctions: HashTable<Function> = {\n arithmeticOp(operatorName: string) {\n const convertForArithmeticOp = (val: any, second: any): any => {\n if (!Helpers.isValueEmpty(val)) return val;\n if(typeof second === \"number\") return 0;\n if(typeof val === \"string\") return val;\n if(typeof second === \"string\") return \"\";\n if(Array.isArray(second)) return [];\n return 0;\n };\n return function(a: any, b: any): any {\n a = convertForArithmeticOp(a, b);\n b = convertForArithmeticOp(b, a);\n let consumer = OperandMaker.binaryFunctions[operatorName];\n return consumer == null ? null : consumer.call(this, a, b);\n };\n },\n and: function(a: boolean, b: boolean): boolean {\n return a && b;\n },\n or: function(a: boolean, b: boolean): boolean {\n return a || b;\n },\n plus: function(a: any, b: any): any {\n return Helpers.sumAnyValues(a, b);\n },\n minus: function(a: number, b: number): number {\n return Helpers.correctAfterPlusMinis(a, b, a - b);\n },\n mul: function(a: number, b: number): number {\n return Helpers.correctAfterMultiple(a, b, a * b);\n },\n div: function(a: number, b: number): number {\n if (!b) return null;\n return a / b;\n },\n mod: function(a: number, b: number): number {\n if (!b) return null;\n return a % b;\n },\n power: function(a: number, b: number): number {\n return Math.pow(a, b);\n },\n greater: function(left: any, right: any): boolean {\n if (left == null || right == null) return false;\n left = OperandMaker.convertValForDateCompare(left, right);\n right = OperandMaker.convertValForDateCompare(right, left);\n return left > right;\n },\n less: function(left: any, right: any): boolean {\n if (left == null || right == null) return false;\n left = OperandMaker.convertValForDateCompare(left, right);\n right = OperandMaker.convertValForDateCompare(right, left);\n return left < right;\n },\n greaterorequal: function(left: any, right: any): boolean {\n if (OperandMaker.binaryFunctions.equal(left, right)) return true;\n return OperandMaker.binaryFunctions.greater(left, right);\n },\n lessorequal: function(left: any, right: any): boolean {\n if (OperandMaker.binaryFunctions.equal(left, right)) return true;\n return OperandMaker.binaryFunctions.less(left, right);\n },\n equal: function(left: any, right: any, strictCompare?: boolean): boolean {\n left = OperandMaker.convertValForDateCompare(left, right);\n right = OperandMaker.convertValForDateCompare(right, left);\n return OperandMaker.isTwoValueEquals(left, right, strictCompare !== true);\n },\n notequal: function(left: any, right: any, strictCompare?: boolean): boolean {\n return !OperandMaker.binaryFunctions.equal(left, right, strictCompare);\n },\n contains: function(left: any, right: any): boolean {\n return OperandMaker.binaryFunctions.containsCore(left, right, true);\n },\n notcontains: function(left: any, right: any): boolean {\n if (!left && !Helpers.isValueEmpty(right)) return true;\n return OperandMaker.binaryFunctions.containsCore(left, right, false);\n },\n anyof: function(left: any, right: any): boolean {\n if (Helpers.isValueEmpty(left) && Helpers.isValueEmpty(right))\n return true;\n if (\n Helpers.isValueEmpty(left) ||\n (!Array.isArray(left) && left.length === 0)\n )\n return false;\n if (Helpers.isValueEmpty(right)) return true;\n if (!Array.isArray(left))\n return OperandMaker.binaryFunctions.contains(right, left);\n if (!Array.isArray(right))\n return OperandMaker.binaryFunctions.contains(left, right);\n for (var i = 0; i < right.length; i++) {\n if (OperandMaker.binaryFunctions.contains(left, right[i])) return true;\n }\n return false;\n },\n allof: function(left: any, right: any): boolean {\n if (!left && !Helpers.isValueEmpty(right)) return false;\n if (!Array.isArray(right))\n return OperandMaker.binaryFunctions.contains(left, right);\n for (var i = 0; i < right.length; i++) {\n if (!OperandMaker.binaryFunctions.contains(left, right[i]))\n return false;\n }\n return true;\n },\n containsCore: function(left: any, right: any, isContains: any): boolean {\n if (!left && left !== 0 && left !== false) return false;\n if (!left.length) {\n left = left.toString();\n if (typeof right === \"string\" || right instanceof String) {\n left = left.toUpperCase();\n right = right.toUpperCase();\n }\n }\n if (typeof left === \"string\" || left instanceof String) {\n if (!right) return false;\n right = right.toString();\n var found = left.indexOf(right) > -1;\n return isContains ? found : !found;\n }\n var rightArray = Array.isArray(right) ? right : [right];\n for (var rIndex = 0; rIndex < rightArray.length; rIndex++) {\n var i = 0;\n right = rightArray[rIndex];\n for (; i < left.length; i++) {\n if (OperandMaker.isTwoValueEquals(left[i], right)) break;\n }\n if (i == left.length) return !isContains;\n }\n return isContains;\n },\n };\n\n static isTwoValueEquals(x: any, y: any, ignoreOrder: boolean = true): boolean {\n if (x === \"undefined\") x = undefined;\n if (y === \"undefined\") y = undefined;\n return Helpers.isTwoValueEquals(x, y, ignoreOrder);\n }\n static operatorToString(operatorName: string): string {\n let opStr = OperandMaker.signs[operatorName];\n return opStr == null ? operatorName : opStr;\n }\n static convertValForDateCompare(val: any, second: any): any {\n if(second instanceof Date && typeof val === \"string\") {\n let res = new Date(val);\n res.setHours(0, 0, 0);\n return res;\n }\n return val;\n }\n static signs: HashTable<string> = {\n less: \"<\",\n lessorequal: \"<=\",\n greater: \">\",\n greaterorequal: \">=\",\n equal: \"==\",\n notequal: \"!=\",\n plus: \"+\",\n minus: \"-\",\n mul: \"*\",\n div: \"/\",\n and: \"and\",\n or: \"or\",\n power: \"^\",\n mod: \"%\",\n negate: \"!\",\n };\n}","import { HashTable, Helpers } from \"./helpers\";\nimport { settings } from \"./settings\";\nimport { ConsoleWarnings } from \"./console-warnings\";\nimport { ConditionRunner } from \"./conditions\";\n\nexport class FunctionFactory {\n public static Instance: FunctionFactory = new FunctionFactory();\n private functionHash: HashTable<(params: any[], originalParams?: any[]) => any> = {};\n private isAsyncHash: HashTable<boolean> = {};\n\n public register(\n name: string,\n func: (params: any[], originalParams?: any[]) => any,\n isAsync: boolean = false\n ): void {\n this.functionHash[name] = func;\n if (isAsync) this.isAsyncHash[name] = true;\n }\n public unregister(name: string): void {\n delete this.functionHash[name];\n delete this.isAsyncHash[name];\n }\n public hasFunction(name: string): boolean {\n return !!this.functionHash[name];\n }\n public isAsyncFunction(name: string): boolean {\n return !!this.isAsyncHash[name];\n }\n\n public clear(): void {\n this.functionHash = {};\n }\n public getAll(): Array<string> {\n var result = [];\n for (var key in this.functionHash) {\n result.push(key);\n }\n return result.sort();\n }\n public run(\n name: string,\n params: any[],\n properties: HashTable<any> = null,\n originalParams: any[]\n ): any {\n var func = this.functionHash[name];\n if (!func) {\n ConsoleWarnings.warn(\"Unknown function name: \" + name);\n return null;\n }\n let classRunner = {\n func: func,\n };\n\n if (properties) {\n for (var key in properties) {\n (<any>classRunner)[key] = properties[key];\n }\n }\n return classRunner.func(params, originalParams);\n }\n}\n\nexport var registerFunction = FunctionFactory.Instance.register;\n\nfunction getParamsAsArray(value: any, arr: any[]) {\n if (value === undefined || value === null) return;\n if (Array.isArray(value)) {\n for (var i = 0; i < value.length; i++) {\n getParamsAsArray(value[i], arr);\n }\n } else {\n if (Helpers.isNumber(value)) {\n value = Helpers.getNumber(value);\n }\n arr.push(value);\n }\n}\n\nfunction sum(params: any[]): any {\n var arr: any[] = [];\n getParamsAsArray(params, arr);\n var res = 0;\n for (var i = 0; i < arr.length; i++) {\n res = Helpers.correctAfterPlusMinis(res, arr[i], res + arr[i]);\n }\n return res;\n}\nFunctionFactory.Instance.register(\"sum\", sum);\n\nfunction min_max(params: any[], isMin: boolean): any {\n var arr: any[] = [];\n getParamsAsArray(params, arr);\n var res = undefined;\n for (var i = 0; i < arr.length; i++) {\n if (res === undefined) {\n res = arr[i];\n }\n if (isMin) {\n if (res > arr[i]) res = arr[i];\n } else {\n if (res < arr[i]) res = arr[i];\n }\n }\n return res;\n}\n\nfunction min(params: any[]): any {\n return min_max(params, true);\n}\nFunctionFactory.Instance.register(\"min\", min);\n\nfunction max(params: any[]): any {\n return min_max(params, false);\n}\nFunctionFactory.Instance.register(\"max\", max);\n\nfunction count(params: any[]): any {\n var arr: any[] = [];\n getParamsAsArray(params, arr);\n return arr.length;\n}\nFunctionFactory.Instance.register(\"count\", count);\n\nfunction avg(params: any[]): any {\n var arr: any[] = [];\n getParamsAsArray(params, arr);\n const res = sum(params);\n return arr.length > 0 ? res / arr.length : 0;\n}\nFunctionFactory.Instance.register(\"avg\", avg);\n\nfunction getInArrayParams(params: any[], originalParams: any[]): any {\n if (params.length < 2 || params.length > 3) return null;\n const arr = params[0];\n if (!arr) return null;\n if (!Array.isArray(arr) && !Array.isArray(Object.keys(arr))) return null;\n const name = params[1];\n if (typeof name !== \"string\" && !(name instanceof String)) return null;\n let expression = params.length > 2 ? params[2] : undefined;\n if (typeof expression !== \"string\" && !(expression instanceof String)) {\n expression = undefined;\n }\n if(!expression) {\n const operand = Array.isArray(originalParams) && originalParams.length > 2 ? originalParams[2] : undefined;\n if(operand && !!operand.toString()) {\n expression = operand.toString();\n }\n }\n return { data: arr, name: name, expression: expression };\n}\n\nfunction convertToNumber(val: any): number {\n if(typeof val === \"string\") return Helpers.isNumber(val) ? Helpers.getNumber(val) : undefined;\n return val;\n}\nfunction processItemInArray(item: any, name: string, res: number,\n func: (res: number, val: number) => number, needToConvert: boolean, condition: ConditionRunner): number {\n if(!item || Helpers.isValueEmpty(item[name])) return res;\n if(condition && !condition.run(item)) return res;\n const val = needToConvert ? convertToNumber(item[name]) : 1;\n return func(res, val);\n}\nfunction calcInArray(\n params: any[], originalParams: any[],\n func: (res: number, val: number) => number, needToConvert: boolean = true\n): any {\n var v = getInArrayParams(params, originalParams);\n if (!v) return undefined;\n let condition = !!v.expression ? new ConditionRunner(v.expression) : undefined;\n if(condition && condition.isAsync) {\n condition = undefined;\n }\n var res = undefined;\n if (Array.isArray(v.data)) {\n for (var i = 0; i < v.data.length; i++) {\n res = processItemInArray(v.data[i], v.name, res, func, needToConvert, condition);\n }\n } else {\n for (var key in v.data) {\n res = processItemInArray(v.data[key], v.name, res, func, needToConvert, condition);\n }\n }\n return res;\n}\n\nfunction sumInArray(params: any[], originalParams: any[]): any {\n var res = calcInArray(params, originalParams, function(res: number, val: number): number {\n if (res == undefined) res = 0;\n if(val == undefined || val == null) return res;\n return Helpers.correctAfterPlusMinis(res, val, res + val);\n });\n return res !== undefined ? res : 0;\n}\nFunctionFactory.Instance.register(\"sumInArray\", sumInArray);\n\nfunction minInArray(params: any[], originalParams: any[]): any {\n return calcInArray(params, originalParams, function(res: number, val: number): number {\n if (res == undefined) return val;\n if(val == undefined || val == null) return res;\n return res < val ? res : val;\n });\n}\nFunctionFactory.Instance.register(\"minInArray\", minInArray);\n\nfunction maxInArray(params: any[], originalParams: any[]): any {\n return calcInArray(params, originalParams, function(res: number, val: number): number {\n if (res == undefined) return val;\n if(val == undefined || val == null) return res;\n return res > val ? res : val;\n });\n}\nFunctionFactory.Instance.register(\"maxInArray\", maxInArray);\n\nfunction countInArray(params: any[], originalParams: any[]): any {\n var res = calcInArray(params, originalParams, function(res: number, val: number): number {\n if (res == undefined) res = 0;\n if(val == undefined || val == null) return res;\n return res + 1;\n }, false);\n return res !== undefined ? res : 0;\n}\nFunctionFactory.Instance.register(\"countInArray\", countInArray);\n\nfunction avgInArray(params: any[], originalParams: any[]): any {\n var count = countInArray(params, originalParams);\n if (count == 0) return 0;\n return sumInArray(params, originalParams) / count;\n}\nFunctionFactory.Instance.register(\"avgInArray\", avgInArray);\n\nfunction iif(params: any[]): any {\n if (!params && params.length !== 3) return \"\";\n return params[0] ? params[1] : params[2];\n}\nFunctionFactory.Instance.register(\"iif\", iif);\n\nfunction getDate(params: any[]): any {\n if (!params && params.length < 1) return null;\n if (!params[0]) return null;\n return new Date(params[0]);\n}\nFunctionFactory.Instance.register(\"getDate\", getDate);\n\nfunction dateDiffMonths(date1Param: any, date2Param: any, type: string): number {\n if(type === \"days\") return diffDays([date1Param, date2Param]);\n const date1 = !!date1Param ? new Date(date1Param) : new Date();\n const date2 = !!date2Param ? new Date(date2Param) : new Date();\n const age = date2.getFullYear() - date1.getFullYear();\n type = type || \"years\";\n let ageInMonths = age * 12 + date2.getMonth() - date1.getMonth();\n if (date2.getDate() < date1.getDate()) {\n ageInMonths -= 1;\n }\n return type === \"months\" ? ageInMonths : ~~(ageInMonths / 12);\n}\nfunction age(params: any[]): number {\n if(!Array.isArray(params) || params.length < 1 || !params[0]) return null;\n return dateDiffMonths(params[0], undefined, (params.length > 1 ? params[1] : \"\") || \"years\");\n}\nFunctionFactory.Instance.register(\"age\", age);\n\nfunction dateDiff(params: any[]): any {\n if(!Array.isArray(params) || params.length < 2 || !params[0] || !params[1]) return null;\n return dateDiffMonths(params[0], params[1], (params.length > 2 ? params[2] : \"\") || \"days\");\n}\nFunctionFactory.Instance.register(\"dateDiff\", dateDiff);\n\nfunction isContainerReadyCore(container: any): boolean {\n if (!container) return false;\n var questions = container.questions;\n for (var i = 0; i < questions.length; i++) {\n if (!questions[i].validate(false)) return false;\n }\n return true;\n}\nfunction isContainerReady(params: any[]): any {\n if (!params && params.length < 1) return false;\n if (!params[0] || !this.survey) return false;\n const name = params[0];\n let container = this.survey.getPageByName(name);\n if (!container) container = this.survey.getPanelByName(name);\n if(!container) {\n const question = this.survey.getQuestionByName(name);\n if(!question || !Array.isArray(question.panels)) return false;\n if(params.length > 1) {\n if(params[1] < question.panels.length) {\n container = question.panels[params[1]];\n }\n } else {\n for(let i = 0; i < question.panels.length; i ++) {\n if(!isContainerReadyCore(question.panels[i])) return false;\n }\n return true;\n }\n }\n return isContainerReadyCore(container);\n}\nFunctionFactory.Instance.register(\"isContainerReady\", isContainerReady);\n\nfunction isDisplayMode() {\n return this.survey && this.survey.isDisplayMode;\n}\nFunctionFactory.Instance.register(\"isDisplayMode\", isDisplayMode);\n\nfunction currentDate() {\n return new Date();\n}\nFunctionFactory.Instance.register(\"currentDate\", currentDate);\n\nfunction today(params: any[]) {\n var res = new Date();\n if(settings.localization.useLocalTimeZone) {\n res.setHours(0, 0, 0, 0);\n } else {\n res.setUTCHours(0, 0, 0, 0);\n }\n if (Array.isArray(params) && params.length == 1) {\n res.setDate(res.getDate() + params[0]);\n }\n return res;\n}\nFunctionFactory.Instance.register(\"today\", today);\n\nfunction getYear(params: any[]) {\n if(params.length !== 1 || !params[0]) return undefined;\n return new Date(params[0]).getFullYear();\n}\nFunctionFactory.Instance.register(\"getYear\", getYear);\n\nfunction currentYear() {\n return new Date().getFullYear();\n}\nFunctionFactory.Instance.register(\"currentYear\", currentYear);\n\nfunction diffDays(params: any[]) {\n if (!Array.isArray(params) || params.length !== 2) return 0;\n if (!params[0] || !params[1]) return 0;\n const date1: any = new Date(params[0]);\n const date2: any = new Date(params[1]);\n const diffTime = Math.abs(date2 - date1);\n return Math.ceil(diffTime / (1000 * 60 * 60 * 24));\n}\nFunctionFactory.Instance.register(\"diffDays\", diffDays);\n\nfunction dateFromFirstParameterOrToday(params: any[]) {\n let date = today(undefined);\n if (params && params[0]) {\n date = new Date(params[0]);\n }\n return date;\n}\n\nfunction year(params: any[]): any {\n let date = dateFromFirstParameterOrToday(params);\n return date.getFullYear();\n}\nFunctionFactory.Instance.register(\"year\", year);\n\nfunction month(params: any[]): any {\n let date = dateFromFirstParameterOrToday(params);\n return date.getMonth() + 1;\n}\nFunctionFactory.Instance.register(\"month\", month);\n\nfunction day(params: any[]): any {\n let date = dateFromFirstParameterOrToday(params);\n return date.getDate();\n}\nFunctionFactory.Instance.register(\"day\", day);\n\nfunction weekday(params: any[]): any {\n let date = dateFromFirstParameterOrToday(params);\n return date.getDay();\n}\nFunctionFactory.Instance.register(\"weekday\", weekday);\n\nfunction getQuestionValueByContext(context: any, name: string): any {\n if(!context || !name) return undefined;\n const keys = [\"row\", \"panel\", \"survey\"];\n for(let i = 0; i < keys.length; i ++) {\n const ctx = context[keys[i]];\n if(ctx && ctx.getQuestionByName) {\n const res = ctx.getQuestionByName(name);\n if(res) return res;\n }\n }\n return null;\n}\nfunction displayValue(params: any[]): any {\n const q = getQuestionValueByContext(this, params[0]);\n return q ? q.displayValue : \"\";\n}\nFunctionFactory.Instance.register(\"displayValue\", displayValue);\n\nfunction propertyValue(params: any[]): any {\n if(params.length !== 2 || !params[0] || !params[1]) return undefined;\n const q = getQuestionValueByContext(this, params[0]);\n return q ? q[params[1]] : undefined;\n}\nFunctionFactory.Instance.register(\"propertyValue\", propertyValue);\nfunction substring_(params: any[]): any {\n if(params.length < 2) return \"\";\n const s = params[0];\n if(!s || typeof s !== \"string\") return \"\";\n const start = params[1];\n if(!Helpers.isNumber(start)) return \"\";\n const end = params.length > 2 ? params[2] : undefined;\n if(!Helpers.isNumber(end)) return s.substring(start);\n return s.substring(start, end);\n}\nFunctionFactory.Instance.register(\"substring\", substring_);","/* eslint-disable no-restricted-globals */\nexport class DomWindowHelper {\n public static isAvailable(): boolean {\n return \"undefined\" !== typeof window;\n }\n public static isFileReaderAvailable(): boolean {\n if (!DomWindowHelper.isAvailable()) return false;\n return !!(<any>window)[\"FileReader\"];\n }\n public static getLocation(): Location {\n if (!DomWindowHelper.isAvailable()) return;\n return window.location;\n }\n public static getVisualViewport(): VisualViewport | null {\n if(!DomWindowHelper.isAvailable()) return null;\n return window.visualViewport;\n }\n public static getInnerWidth(): number {\n if(!DomWindowHelper.isAvailable()) return;\n return window.innerWidth;\n }\n public static getInnerHeight(): number {\n if(!DomWindowHelper.isAvailable()) return null;\n return window.innerHeight;\n }\n public static getWindow(): Window {\n if(!DomWindowHelper.isAvailable()) return;\n return window;\n }\n public static hasOwn(propertyName: string): boolean {\n if(!DomWindowHelper.isAvailable()) return;\n return propertyName in window;\n }\n public static getSelection(): Selection | null {\n if (DomWindowHelper.isAvailable() && window.getSelection) {\n return window.getSelection();\n }\n }\n public static requestAnimationFrame(callback: FrameRequestCallback): number {\n if (DomWindowHelper.isAvailable()) {\n return window.requestAnimationFrame(callback);\n }\n }\n public static addEventListener(type: string, listener: (e?: any) => void): void {\n if(!DomWindowHelper.isAvailable()) return;\n window.addEventListener(type, listener);\n }\n public static removeEventListener(type: string, listener: (e?: any) => void): void {\n if(!DomWindowHelper.isAvailable()) return;\n window.removeEventListener(type, listener);\n }\n\n public static matchMedia(mediaQueryString: string): {matches:boolean} | null {\n if(!DomWindowHelper.isAvailable() || typeof window.matchMedia === \"undefined\") return null;\n return window.matchMedia(mediaQueryString);\n }\n}\n\nexport class DomDocumentHelper {\n public static isAvailable(): boolean {\n return \"undefined\" !== typeof document;\n }\n public static getBody(): HTMLElement {\n if(!DomDocumentHelper.isAvailable()) return;\n return document.body;\n }\n public static getDocumentElement(): HTMLElement {\n if(!DomDocumentHelper.isAvailable()) return;\n return document.documentElement;\n }\n public static getDocument(): Document {\n if(!DomDocumentHelper.isAvailable()) return;\n return document;\n }\n public static getCookie(): string {\n if(!DomDocumentHelper.isAvailable()) return;\n return document.cookie;\n }\n public static setCookie(newCookie: string): void {\n if(!DomDocumentHelper.isAvailable()) return;\n document.cookie = newCookie;\n }\n public static activeElementBlur(): Document {\n if(!DomDocumentHelper.isAvailable()) return;\n\n const activeElement = document.activeElement;\n if(!!activeElement && !!(<any>activeElement).blur) {\n (<any>activeElement).blur();\n }\n }\n public static createElement(tagName: string): HTMLElement {\n if(!DomDocumentHelper.isAvailable()) return;\n return document.createElement(tagName);\n }\n public static getComputedStyle(elt: Element): CSSStyleDeclaration {\n if(!DomDocumentHelper.isAvailable()) return new CSSStyleDeclaration();\n return document.defaultView.getComputedStyle(elt);\n }\n public static addEventListener(type: string, listener: (e?: any) => void): void {\n if(!DomDocumentHelper.isAvailable()) return;\n document.addEventListener(type, listener);\n }\n public static removeEventListener(type: string, listener: (e?: any) => void): void {\n if(!DomDocumentHelper.isAvailable()) return;\n document.removeEventListener(type, listener);\n }\n}","import { settings } from \"./settings\";\n\nexport interface HashTable<T = any> {\n [key: string]: T;\n}\n\nexport class Helpers {\n /**\n * A static methods that returns true if a value undefined, null, empty string or empty array.\n * @param value\n */\n public static isValueEmpty(value: any) {\n if (Array.isArray(value) && value.length === 0) return true;\n if (!!value && Helpers.isValueObject(value) && value.constructor === Object) {\n for (var key in value) {\n if (!Helpers.isValueEmpty(value[key])) return false;\n }\n return true;\n }\n return !value && value !== 0 && value !== false;\n }\n public static isArrayContainsEqual(x: any, y: any): boolean {\n if (!Array.isArray(x) || !Array.isArray(y)) return false;\n if (x.length !== y.length) return false;\n for (var i = 0; i < x.length; i++) {\n var j = 0;\n for (; j < y.length; j++) {\n if (Helpers.isTwoValueEquals(x[i], y[j])) break;\n }\n if (j === y.length) return false;\n }\n return true;\n }\n public static isArraysEqual(\n x: any,\n y: any,\n ignoreOrder: boolean = false,\n caseSensitive?: boolean,\n trimStrings? : boolean\n ): boolean {\n if (!Array.isArray(x) || !Array.isArray(y)) return false;\n if (x.length !== y.length) return false;\n if (ignoreOrder) {\n var xSorted = [];\n var ySorted = [];\n for (var i = 0; i < x.length; i++) {\n xSorted.push(x[i]);\n ySorted.push(y[i]);\n }\n xSorted.sort();\n ySorted.sort();\n x = xSorted;\n y = ySorted;\n }\n for (var i = 0; i < x.length; i++) {\n if (!Helpers.isTwoValueEquals(x[i], y[i], ignoreOrder, caseSensitive, trimStrings)) return false;\n }\n return true;\n }\n public static compareStrings(x: string, y: string): number {\n const normalize = settings.comparator.normalizeTextCallback;\n if(!!x) x = normalize(x, \"compare\").trim();\n if(!!y) y = normalize(y, \"compare\").trim();\n if(!x && !y) return 0;\n if(!x) return -1;\n if(!y) return 1;\n if(x === y) return 0;\n let digitIndex = -1;\n for(let i = 0; i < x.length && i < y.length; i ++) {\n if(this.isCharDigit(x[i]) && this.isCharDigit(y[i])) {\n digitIndex = i;\n break;\n }\n if(x[i] !== y[i]) break;\n }\n if(digitIndex > -1) {\n let nX = this.getNumberFromStr(x, digitIndex);\n let nY = this.getNumberFromStr(y, digitIndex);\n if(!Number.isNaN(nX) && !Number.isNaN(nY) && nX !== nY) {\n return nX > nY ? 1 : -1;\n }\n }\n return x > y ? 1 : -1;\n }\n public static isTwoValueEquals(\n x: any,\n y: any,\n ignoreOrder: boolean = false,\n caseSensitive?: boolean,\n trimStrings? : boolean\n ): boolean {\n if (x === y) return true;\n\n if (Array.isArray(x) && x.length === 0 && typeof y === \"undefined\")\n return true;\n if (Array.isArray(y) && y.length === 0 && typeof x === \"undefined\")\n return true;\n if ((x === undefined || x === null) && y === \"\") return true;\n if ((y === undefined || y === null) && x === \"\") return true;\n if(trimStrings === undefined) trimStrings = settings.comparator.trimStrings;\n if(caseSensitive === undefined) caseSensitive = settings.comparator.caseSensitive;\n\n if(typeof x === \"string\" && typeof y === \"string\") {\n const normalize = settings.comparator.normalizeTextCallback;\n x = normalize(x, \"compare\");\n y = normalize(y, \"compare\");\n if(trimStrings) {\n x = x.trim();\n y = y.trim();\n }\n if(!caseSensitive) {\n x = x.toLowerCase();\n y = y.toLowerCase();\n }\n return x === y;\n }\n if(x instanceof Date && y instanceof Date) return x.getTime() == y.getTime();\n\n if (Helpers.isConvertibleToNumber(x) && Helpers.isConvertibleToNumber(y)) {\n if (parseInt(x) === parseInt(y) && parseFloat(x) === parseFloat(y)) {\n return true;\n }\n }\n\n if (\n (!Helpers.isValueEmpty(x) && Helpers.isValueEmpty(y)) ||\n (Helpers.isValueEmpty(x) && !Helpers.isValueEmpty(y))\n )\n return false;\n if ((x === true || x === false) && typeof y == \"string\") {\n return x.toString() === y.toLocaleLowerCase();\n }\n if ((y === true || y === false) && typeof x == \"string\") {\n return y.toString() === x.toLocaleLowerCase();\n }\n if (!Helpers.isValueObject(x) && !Helpers.isValueObject(y)) return x == y;\n if (!Helpers.isValueObject(x) || !Helpers.isValueObject(y)) return false;\n if (x[\"equals\"] && y[\"equals\"]) return x.equals(y);\n if (Array.isArray(x) && Array.isArray(y)) {\n return Helpers.isArraysEqual(x, y, ignoreOrder, caseSensitive, trimStrings);\n }\n\n for (var p in x) {\n if (!x.hasOwnProperty(p)) continue;\n if (!y.hasOwnProperty(p)) return false;\n if (!this.isTwoValueEquals(x[p], y[p], ignoreOrder, caseSensitive, trimStrings)) return false;\n }\n for (p in y) {\n if (y.hasOwnProperty(p) && !x.hasOwnProperty(p)) return false;\n }\n return true;\n }\n public static randomizeArray<T>(array: Array<T>): Array<T> {\n for (var i = array.length - 1; i > 0; i--) {\n var j = Math.floor(Math.random() * (i + 1));\n var temp = array[i];\n array[i] = array[j];\n array[j] = temp;\n }\n return array;\n }\n public static getUnbindValue(value: any): any {\n if(Array.isArray(value)) {\n const res = [];\n for(let i = 0; i < value.length; i ++) {\n res.push(Helpers.getUnbindValue(value[i]));\n }\n return res;\n }\n if (!!value && Helpers.isValueObject(value) && !(value instanceof Date)) {\n return JSON.parse(JSON.stringify(value));\n }\n return value;\n }\n public static createCopy(obj: any): any {\n var res: any = {};\n if (!obj) return res;\n for (var key in obj) {\n res[key] = obj[key];\n }\n return res;\n }\n public static isConvertibleToNumber(value: any): boolean {\n return (\n value !== undefined &&\n value !== null &&\n !Array.isArray(value) &&\n !isNaN(value)\n );\n }\n public static isValueObject(val: any, excludeArray?: boolean): boolean {\n return val instanceof Object && (!excludeArray || !Array.isArray(val));\n }\n public static isNumber(value: any): boolean {\n return !isNaN(this.getNumber(value));\n }\n public static getNumber(value: any): number {\n if (\n typeof value == \"string\" &&\n !!value &&\n value.indexOf(\"0x\") == 0 &&\n value.length > 32\n )\n return NaN;\n value = this.prepareStringToNumber(value);\n const res = parseFloat(value);\n if(isNaN(res) || !isFinite(value)) return NaN;\n return res;\n }\n private static prepareStringToNumber(val: any): any {\n if(typeof val !== \"string\" || !val) return val;\n let i = val.indexOf(\",\");\n if(i > -1 && val.indexOf(\",\", i + 1) < 0) {\n return val.replace(\",\", \".\");\n }\n return val;\n }\n public static getMaxLength(maxLength: number, surveyLength: number): any {\n if (maxLength < 0) {\n maxLength = surveyLength;\n }\n return maxLength > 0 ? maxLength : null;\n }\n public static getRemainingCharacterCounterText(newValue: string | undefined, maxLength: number | null): string {\n if(!maxLength || maxLength <= 0 || !settings.showMaxLengthIndicator) {\n return \"\";\n }\n const value = newValue ? newValue.length : \"0\";\n return [value, maxLength].join(\"/\");\n }\n public static getNumberByIndex(index: number, startIndexStr: string): string {\n if (index < 0) return \"\";\n var startIndex = 1;\n var prefix = \"\";\n var postfix = \".\";\n var isNumeric = true;\n var strIndex = \"A\";\n var str = \"\";\n if (!!startIndexStr) {\n str = startIndexStr;\n var ind = str.length - 1;\n var hasDigit = false;\n for (var i = 0; i < str.length; i++) {\n if (Helpers.isCharDigit(str[i])) {\n hasDigit = true;\n break;\n }\n }\n var checkLetter = function() {\n return (\n (hasDigit && !Helpers.isCharDigit(str[ind])) ||\n Helpers.isCharNotLetterAndDigit(str[ind])\n );\n };\n while (ind >= 0 && checkLetter()) ind--;\n var newPostfix = \"\";\n if (ind < str.length - 1) {\n newPostfix = str.substring(ind + 1);\n str = str.substring(0, ind + 1);\n }\n ind = str.length - 1;\n while (ind >= 0) {\n if (checkLetter()) break;\n ind--;\n if (!hasDigit) break;\n }\n strIndex = str.substring(ind + 1);\n prefix = str.substring(0, ind + 1);\n if (parseInt(strIndex)) startIndex = parseInt(strIndex);\n else if (strIndex.length == 1) isNumeric = false;\n if (!!newPostfix || !!prefix) {\n postfix = newPostfix;\n }\n }\n if (isNumeric) {\n let val = (index + startIndex).toString();\n while(val.length < strIndex.length) val = \"0\" + val;\n return prefix + val + postfix;\n }\n return (\n prefix + String.fromCharCode(strIndex.charCodeAt(0) + index) + postfix\n );\n }\n public static isCharNotLetterAndDigit(ch: string): boolean {\n return ch.toUpperCase() == ch.toLowerCase() && !Helpers.isCharDigit(ch);\n }\n public static isCharDigit(ch: string): boolean {\n return ch >= \"0\" && ch <= \"9\";\n }\n private static getNumberFromStr(str: string, index: number): number {\n if(!this.isCharDigit(str[index])) return NaN;\n let nStr = \"\";\n while(index < str.length && this.isCharDigit(str[index])) {\n nStr += str[index];\n index ++;\n }\n if(!nStr) return NaN;\n return this.getNumber(nStr);\n }\n private static countDecimals(value: number): number {\n if (Helpers.isNumber(value) && Math.floor(value) !== value) {\n const strs = value.toString().split(\".\");\n return strs.length > 1 && strs[1].length || 0;\n }\n return 0;\n }\n public static correctAfterPlusMinis(a: number, b: number, res: number): number {\n const digitsA = Helpers.countDecimals(a);\n const digitsB = Helpers.countDecimals(b);\n if(digitsA > 0 || digitsB > 0) {\n const digits = Math.max(digitsA, digitsB);\n res = parseFloat(res.toFixed(digits));\n }\n return res;\n }\n public static sumAnyValues(a: any, b: any): any {\n if (!Helpers.isNumber(a) || !Helpers.isNumber(b)) {\n if(Array.isArray(a) && Array.isArray(b))\n return [].concat(a).concat(b);\n if(Array.isArray(a) || Array.isArray(b)) {\n const arr = Array.isArray(a) ? a : b;\n const val = arr === a ? b : a;\n if(typeof val === \"string\") {\n const str = arr.join(\", \");\n return arr === a ? str + val : val + str;\n }\n if(typeof val === \"number\") {\n let res = 0;\n for(var i = 0; i < arr.length; i ++) {\n if(typeof arr[i] === \"number\") {\n res = Helpers.correctAfterPlusMinis(res, arr[i], res + arr[i]);\n }\n }\n return Helpers.correctAfterPlusMinis(res, val, res + val);\n }\n }\n return a + b;\n }\n if(typeof a === \"string\" || typeof b === \"string\") return a + b;\n return Helpers.correctAfterPlusMinis(a, b, a + b);\n }\n public static correctAfterMultiple(a: number, b: number, res: number): number {\n const digits = Helpers.countDecimals(a) + Helpers.countDecimals(b);\n if(digits > 0) {\n res = parseFloat(res.toFixed(digits));\n }\n return res;\n }\n public static convertArrayValueToObject(src: Array<any>, propName: string, dest: Array<any> = undefined): Array<any> {\n const res = new Array<any>();\n if(!src || !Array.isArray(src)) return res;\n for(var i = 0; i < src.length; i ++) {\n let item: any;\n if(Array.isArray(dest)) {\n item = Helpers.findObjByPropValue(dest, propName, src[i]);\n }\n if(!item) {\n item = {};\n item[propName] = src[i];\n }\n res.push(item);\n }\n return res;\n }\n private static findObjByPropValue(arr: Array<any>, propName: string, val: any): any {\n for(var i = 0; i < arr.length; i ++) {\n if(Helpers.isTwoValueEquals(arr[i][propName], val)) return arr[i];\n }\n return undefined;\n }\n public static convertArrayObjectToValue(src: Array<any>, propName: string): Array<any> {\n const res = new Array<any>();\n if(!src || !Array.isArray(src)) return res;\n for(var i = 0; i < src.length; i ++) {\n const itemVal = !!src[i] ? src[i][propName] : undefined;\n if(!Helpers.isValueEmpty(itemVal)) res.push(itemVal);\n }\n return res;\n }\n public static convertDateToString(date: Date): string {\n const toStr = (val: number): string => {\n if(val < 10) return \"0\" + val.toString();\n return val.toString();\n };\n return date.getFullYear() + \"-\" + toStr(date.getMonth() + 1) + \"-\" + toStr(date.getDate());\n }\n public static convertDateTimeToString(date: Date): string {\n const toStr = (val: number): string => {\n if(val < 10) return \"0\" + val.toString();\n return val.toString();\n };\n return this.convertDateToString(date) + \" \" + toStr(date.getHours()) + \":\" + toStr(date.getMinutes());\n }\n public static convertValToQuestionVal(val: any, inputType?: string): any {\n if (val instanceof Date) {\n if(inputType === \"datetime-local\") return Helpers.convertDateTimeToString(val);\n return Helpers.convertDateToString(val);\n }\n return val;\n }\n public static compareVerions(ver1: string, ver2: string): number {\n if(!ver1 && !ver2) return 0;\n const ver1Ar = ver1.split(\".\");\n const ver2Ar = ver2.split(\".\");\n const len1 = ver1Ar.length;\n const len2 = ver2Ar.length;\n for(let i = 0; i < len1 && i < len2; i ++) {\n const str1 = ver1Ar[i];\n const str2 = ver2Ar[i];\n if(str1.length === str2.length) {\n if(str1 !== str2) {\n return str1 < str2 ? -1 : 1;\n }\n } else {\n return str1.length < str2.length ? -1 : 1;\n }\n }\n return len1 === len2 ? 0 : (len1 < len2 ? -1 : 1);\n }\n}\nif (!(<any>String.prototype)[\"format\"]) {\n (<any>String.prototype)[\"format\"] = function() {\n var args = arguments;\n return this.replace(/{(\\d+)}/g, function(match: any, number: any) {\n return typeof args[number] != \"undefined\" ? args[number] : match;\n });\n };\n}\n","import { surveyLocalization } from \"./surveyStrings\";\nimport { Base, ComputedUpdater } from \"./base\";\nimport { Helpers, HashTable } from \"./helpers\";\nimport { ILoadFromJSONOptions, ISaveToJSONOptions } from \"./base-interfaces\";\n\nexport interface IPropertyDecoratorOptions<T = any> {\n defaultValue?: T;\n defaultSource?: string;\n getDefaultValue?: (objectInstance?: any) => T;\n localizable?:\n | { name?: string, onGetTextCallback?: (str: string) => string, defaultStr?: string }\n | boolean;\n onSet?: (val: T, objectInstance: any) => void;\n}\n\nfunction ensureLocString(\n target: any,\n options: IPropertyDecoratorOptions,\n key: string\n) {\n let locString = target.getLocalizableString(key);\n if (!locString) {\n let defaultStr: string;\n if(typeof options.localizable === \"object\" && options.localizable.defaultStr) {\n defaultStr = options.localizable.defaultStr;\n }\n locString = target.createLocalizableString(key, target, true, defaultStr);\n if (\n typeof options.localizable === \"object\" &&\n typeof options.localizable.onGetTextCallback === \"function\"\n ) {\n locString.onGetTextCallback = options.localizable.onGetTextCallback;\n }\n }\n}\nfunction getLocStringValue(\n target: any,\n options: IPropertyDecoratorOptions,\n key: string\n) {\n ensureLocString(target, options, key);\n let res = target.getLocalizableStringText(key);\n if (!!res) return res;\n if (typeof options.localizable === \"object\" && options.localizable.defaultStr) {\n const loc = !!target.getLocale ? target.getLocale() : \"\";\n return surveyLocalization.getString(options.localizable.defaultStr, loc);\n }\n return \"\";\n}\n\nexport function property(options: IPropertyDecoratorOptions = {}) {\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n return function (target: any, key: string): void {\n let processComputedUpdater = (obj: any, val: any) => {\n if (!!val && typeof val === \"object\" && val.type === ComputedUpdater.ComputedUpdaterType) {\n Base.startCollectDependencies(() => obj[key] = val.updater(), obj, key);\n const result = val.updater();\n const dependencies = Base.finishCollectDependencies();\n val.setDependencies(dependencies);\n if(obj.dependencies[key]) {\n obj.dependencies[key].dispose();\n }\n obj.dependencies[key] = val;\n return result;\n }\n return val;\n };\n if (!options || !options.localizable) {\n Object.defineProperty(target, key, {\n get: function () {\n // const serializationProperty = Serializer.getProperty(target.getType(), key);\n // if(!!serializationProperty && options.defaultValue !== undefined) {\n // ConsoleWarnings.error(\"remove defaultValue from @property for class \" + target.getType() + \" property name is \" + key);\n // }\n let defaultVal = null;\n if (!!options) {\n if (typeof options.getDefaultValue === \"function\") {\n defaultVal = options.getDefaultValue(this);\n }\n if (options.defaultValue !== undefined) {\n defaultVal = options.defaultValue;\n }\n }\n return this.getPropertyValue(key, defaultVal);\n },\n set: function (val: any) {\n const newValue = processComputedUpdater(this, val);\n this.setPropertyValue(key, newValue);\n if (!!options && options.onSet) {\n options.onSet(newValue, this);\n }\n },\n });\n } else {\n Object.defineProperty(target, key, {\n get: function () {\n return getLocStringValue(this, options, key);\n },\n set: function (val: any) {\n ensureLocString(this, options, key);\n const newValue = processComputedUpdater(this, val);\n this.setLocalizableStringText(key, newValue);\n if (!!options && options.onSet) {\n options.onSet(newValue, this);\n }\n },\n });\n Object.defineProperty(\n target,\n typeof options.localizable === \"object\" && !!options.localizable.name ?\n options.localizable.name : \"loc\" + key.charAt(0).toUpperCase() + key.slice(1),\n {\n get: function () {\n ensureLocString(this, options, key);\n return this.getLocalizableString(key);\n },\n }\n );\n }\n };\n}\n\nexport interface IArrayPropertyDecoratorOptions {\n onPush?: any;\n onRemove?: any;\n onSet?: (val: any, target: any) => void;\n}\n\nfunction ensureArray(\n target: any,\n options: IArrayPropertyDecoratorOptions,\n key: string\n) {\n target.ensureArray(\n key,\n (item: any, index: number) => {\n const handler = !!options ? options.onPush : null;\n handler && handler(item, index, target);\n },\n (item: any, index: number) => {\n const handler = !!options ? options.onRemove : null;\n handler && handler(item, index, target);\n },\n );\n}\n\nexport function propertyArray(options?: IArrayPropertyDecoratorOptions) {\n return function (target: any, key: string) {\n Object.defineProperty(target, key, {\n get: function () {\n ensureArray(this, options, key);\n return this.getPropertyValue(key);\n },\n set: function (val: any) {\n ensureArray(this, options, key);\n const arr = this.getPropertyValue(key);\n if (val === arr) {\n return;\n }\n if (arr) {\n arr.splice(0, arr.length, ...(val || []));\n } else {\n this.setPropertyValue(key, val);\n }\n if (!!options && options.onSet) {\n options.onSet(val, this);\n }\n },\n });\n };\n}\n\nexport interface IObject {\n [key: string]: any;\n}\n\nexport interface IJsonPropertyInfo {\n name: string;\n type?: string;\n className?: string;\n classNamePart?: string;\n baseClassName?: string;\n isRequired?: boolean;\n isUnique?: boolean;\n //uniquePropertyName\n uniqueProperty?: string;\n choices?: any;\n visible?: boolean;\n alternativeName?: string;\n oldName?: string;\n version?: string;\n dataList?: Array<string>;\n isLocalizable?: boolean;\n isSerializable?: boolean;\n isLightSerializable?: boolean;\n readOnly?: boolean;\n serializationProperty?: string;\n dependsOn?: Array<string> | string;\n\n isBindable?: boolean;\n isArray?: boolean;\n layout?: string;\n default?: any;\n defaultFunc?: (obj: Base) => any;\n baseValue?: any;\n onSerializeValue?: (obj: any) => any;\n onGetValue?: (obj: any) => any;\n onSettingValue?: (obj: any, value: any) => any;\n onSetValue?: (obj: any, value: any, jsonConv: JsonObject) => any;\n visibleIf?: (obj: any) => boolean;\n enableIf?: (obj: any) => boolean;\n onExecuteExpression?: (obj: any, res: any) => any;\n onPropertyEditorUpdate?: (obj: any, propEditor: any) => any;\n\n displayName?: string;\n category?: string;\n categoryIndex?: number;\n visibleIndex?: number;\n nextToProperty?: string;\n overridingProperty?: string;\n showMode?: string;\n maxLength?: number;\n maxValue?: any;\n minValue?: any;\n}\n/**\n * Contains information about a property of a survey element (page, panel, questions, and etc).\n * @see addProperty\n * @see removeProperty\n * @see [Add Properties](https://surveyjs.io/Documentation/Survey-Creator#addproperties)\n * @see [Remove Properties](https://surveyjs.io/Documentation/Survey-Creator#removeproperties)\n */\nexport class JsonObjectProperty implements IObject, IJsonPropertyInfo {\n public static getItemValuesDefaultValue: (val: any, type: string) => any;\n [key: string]: any;\n private static Index = 1;\n private static mergableValues = [\n \"typeValue\",\n \"choicesValue\",\n \"baseValue\",\n \"readOnlyValue\",\n \"visibleValue\",\n \"isSerializable\",\n \"isLightSerializable\",\n \"isCustom\",\n \"isBindable\",\n \"isUnique\",\n \"uniquePropertyName\",\n \"isDynamicChoices\",\n \"isLocalizableValue\",\n \"className\",\n \"alternativeName\",\n \"oldName\",\n \"layout\",\n \"version\",\n \"classNamePart\",\n \"baseClassName\",\n \"defaultValue\",\n \"defaultValueFunc\",\n \"serializationProperty\",\n \"onGetValue\",\n \"onSetValue\",\n \"onSettingValue\",\n \"displayName\",\n \"category\",\n \"categoryIndex\",\n \"visibleIndex\",\n \"nextToProperty\",\n \"overridingProperty\",\n \"showMode\",\n \"dependedProperties\",\n \"visibleIf\",\n \"enableIf\",\n \"onExecuteExpression\",\n \"onPropertyEditorUpdate\",\n \"maxLength\",\n \"maxValue\",\n \"minValue\",\n \"dataListValue\",\n ];\n private idValue: number;\n private classInfoValue: JsonMetadataClass;\n private typeValue: string;\n private choicesValue: Array<any>;\n public baseValue: any;\n private isRequiredValue: boolean = false;\n private isUniqueValue: boolean = false;\n private uniquePropertyValue: string\n private readOnlyValue: boolean | null;\n private visibleValue: boolean | null;\n private isLocalizableValue: boolean | null;\n private choicesfunc: (obj: any, choicesCallback: any) => Array<any>;\n private dependedProperties: Array<string>;\n public isSerializable: boolean = true;\n public isLightSerializable: boolean = true;\n public isCustom: boolean = false;\n public isDynamicChoices: boolean = false; //TODO obsolete, use dependsOn attribute\n public isBindable: boolean = false;\n public className: string;\n public alternativeName: string;\n public oldName: string;\n public classNamePart: string;\n public baseClassName: string;\n public defaultValueValue: any;\n public defaultValueFunc: (obj: Base) => any;\n public serializationProperty: string;\n public displayName: string;\n public category: string = \"\";\n public categoryIndex: number = -1;\n public visibleIndex: number = -1;\n public nextToProperty: string;\n public overridingProperty: string;\n public showMode: string;\n public maxLength: number = -1;\n public maxValue: any;\n public minValue: any;\n private dataListValue: Array<string>;\n public layout: string;\n public version: string;\n public onSerializeValue: (obj: any) => any;\n public onGetValue: (obj: any) => any;\n public onSettingValue: (obj: any, value: any) => any;\n public onSetValue: (obj: any, value: any, jsonConv: JsonObject) => any;\n public visibleIf: (obj: any) => boolean;\n public enableIf: (obj: any) => boolean;\n public onExecuteExpression: (obj: any, res: any) => any;\n public onPropertyEditorUpdate: (obj: any, propEditor: any) => any;\n\n constructor(\n classInfo: JsonMetadataClass,\n public name: string,\n isRequired: boolean = false\n ) {\n this.classInfoValue = classInfo;\n this.isRequiredValue = isRequired;\n this.idValue = JsonObjectProperty.Index++;\n }\n uniqueProperty?: string;\n dependsOn?: string | string[];\n default?: any;\n defaultFunc?: (obj: Base) => any;\n public get id(): number {\n return this.idValue;\n }\n public get classInfo(): JsonMetadataClass {\n return this.classInfoValue;\n }\n public get type(): string {\n return this.typeValue ? this.typeValue : \"string\";\n }\n public set type(value: string) {\n if (value === \"itemvalues\") value = \"itemvalue[]\";\n if (value === \"textitems\") value = \"textitem[]\";\n this.typeValue = value;\n if (this.typeValue.indexOf(\"[]\") === this.typeValue.length - 2) {\n this.isArray = true;\n this.className = this.typeValue.substring(0, this.typeValue.length - 2);\n }\n }\n public isArray = false;\n public get isRequired() {\n return this.isRequiredValue;\n }\n public set isRequired(val: boolean) {\n if(val !== this.isRequired) {\n this.isRequiredValue = val;\n if(!!this.classInfo) {\n this.classInfo.resetAllProperties();\n }\n }\n }\n public get isUnique(): boolean {\n return this.isUniqueValue;\n }\n public set isUnique(val: boolean) {\n this.isUniqueValue = val;\n }\n public get uniquePropertyName(): string {\n return this.uniquePropertyValue;\n }\n public set uniquePropertyName(val: string) {\n this.uniquePropertyValue = val;\n }\n public get hasToUseGetValue() {\n return this.onGetValue || this.serializationProperty;\n }\n public getDefaultValue(obj: Base): any {\n let result: any = !!this.defaultValueFunc ? this.defaultValueFunc(obj) : this.defaultValueValue;\n if (\n !!JsonObjectProperty.getItemValuesDefaultValue &&\n Serializer.isDescendantOf(this.className, \"itemvalue\")\n ) {\n result = JsonObjectProperty.getItemValuesDefaultValue(this.defaultValueValue || [], this.className);\n }\n return result;\n }\n public get defaultValue(): any {\n return this.getDefaultValue(undefined);\n }\n public set defaultValue(newValue: any) {\n this.defaultValueValue = newValue;\n }\n public isDefaultValue(value: any): boolean {\n return this.isDefaultValueByObj(undefined, value);\n }\n public isDefaultValueByObj(obj: Base, value: any): boolean {\n const dValue = this.getDefaultValue(obj);\n if (!Helpers.isValueEmpty(dValue)) {\n return Helpers.isTwoValueEquals(value, dValue, false, true, false);\n }\n if(this.isLocalizable) return value === null || value === undefined;\n return (\n (value === false && (this.type == \"boolean\" || this.type == \"switch\")) ||\n value === \"\" || Helpers.isValueEmpty(value)\n );\n }\n public getSerializableValue(obj: any): any {\n if(!!this.onSerializeValue) return this.onSerializeValue(obj);\n return this.getValue(obj);\n }\n public getValue(obj: any): any {\n if (this.onGetValue) return this.onGetValue(obj);\n if (this.serializationProperty && !!obj[this.serializationProperty])\n return obj[this.serializationProperty].getJson();\n return obj[this.name];\n }\n public getPropertyValue(obj: any): any {\n if (this.isLocalizable) {\n return !!obj[this.serializationProperty]\n ? obj[this.serializationProperty].text\n : null;\n }\n return this.getValue(obj);\n }\n public get hasToUseSetValue() {\n return this.onSetValue || this.serializationProperty;\n }\n public settingValue(obj: any, value: any): any {\n if (!this.onSettingValue || obj.isLoadingFromJson) return value;\n return this.onSettingValue(obj, value);\n }\n public setValue(obj: any, value: any, jsonConv: JsonObject): void {\n if (this.onSetValue) {\n this.onSetValue(obj, value, jsonConv);\n } else {\n if (this.serializationProperty && !!obj[this.serializationProperty])\n obj[this.serializationProperty].setJson(value);\n else {\n if (value && typeof value === \"string\") {\n if (this.type == \"number\") {\n value = parseInt(value);\n }\n if (this.type == \"boolean\" || this.type == \"switch\") {\n value = value.toLowerCase() === \"true\";\n }\n }\n obj[this.name] = value;\n }\n }\n }\n public validateValue(value: any): boolean {\n const choices = this.choices;\n if(!Array.isArray(choices) || choices.length === 0) return true;\n return choices.indexOf(value) > -1;\n }\n public getObjType(objType: string) {\n if (!this.classNamePart) return objType;\n return objType.replace(this.classNamePart, \"\");\n }\n /**\n * Depricated, please use getChoices\n */\n public get choices(): Array<any> {\n return this.getChoices(null);\n }\n public get hasChoices(): boolean {\n return !!this.choicesValue || !!this.choicesfunc;\n }\n public getChoices(obj: any, choicesCallback: any = null): Array<any> {\n if (this.choicesValue != null) return this.choicesValue;\n if (this.choicesfunc != null) return this.choicesfunc(obj, choicesCallback);\n return null;\n }\n public setChoices(\n value: Array<any>,\n valueFunc: (obj: any) => Array<any> = null\n ) {\n this.choicesValue = value;\n this.choicesfunc = valueFunc;\n }\n public getBaseValue(): string {\n if (!this.baseValue) return \"\";\n if (typeof this.baseValue == \"function\") return this.baseValue();\n return this.baseValue;\n }\n public setBaseValue(val: any) {\n this.baseValue = val;\n }\n public get readOnly(): boolean {\n return this.readOnlyValue != null ? this.readOnlyValue : false;\n }\n public set readOnly(val: boolean) {\n this.readOnlyValue = val;\n }\n public isEnable(obj: any): boolean {\n if(this.readOnly) return false;\n if(!obj || !this.enableIf) return true;\n return this.enableIf(this.getOriginalObj(obj));\n }\n public isVisible(layout: string, obj: any = null): boolean {\n let isLayout = !this.layout || this.layout == layout;\n if (!this.visible || !isLayout) return false;\n if (!!this.visibleIf && !!obj) {\n return this.visibleIf(this.getOriginalObj(obj));\n }\n return true;\n }\n private getOriginalObj(obj: any): any {\n if (obj && obj.getOriginalObj) {\n const orjObj = obj.getOriginalObj();\n if(orjObj && Serializer.findProperty(orjObj.getType(), this.name)) {\n return orjObj;\n }\n }\n return obj;\n }\n public get visible(): boolean {\n return this.visibleValue != null ? this.visibleValue : true;\n }\n public set visible(val: boolean) {\n this.visibleValue = val;\n }\n public isAvailableInVersion(ver: string): boolean {\n if(!!this.alternativeName || this.oldName) return true;\n return this.isAvailableInVersionCore(ver);\n }\n public getSerializedName(ver: string): string {\n if(!this.alternativeName) return this.name;\n return this.isAvailableInVersionCore(ver) ? this.name : this.alternativeName || this.oldName;\n }\n public getSerializedProperty(obj: any, ver: string): JsonObjectProperty {\n if(!this.oldName || this.isAvailableInVersionCore(ver)) return this;\n if(!obj || !obj.getType) return null;\n return Serializer.findProperty(obj.getType(), this.oldName);\n }\n private isAvailableInVersionCore(ver: string): boolean {\n if(!ver || !this.version) return true;\n return Helpers.compareVerions(this.version, ver) <= 0;\n }\n public get isLocalizable(): boolean {\n return this.isLocalizableValue != null ? this.isLocalizableValue : false;\n }\n public set isLocalizable(val: boolean) {\n this.isLocalizableValue = val;\n }\n public get dataList(): Array<string> {\n return Array.isArray(this.dataListValue) ? this.dataListValue : [];\n }\n public set dataList(val: Array<string>) {\n this.dataListValue = val;\n }\n public mergeWith(prop: JsonObjectProperty) {\n var valuesNames = JsonObjectProperty.mergableValues;\n for (var i = 0; i < valuesNames.length; i++) {\n this.mergeValue(prop, valuesNames[i]);\n }\n }\n public addDependedProperty(name: string) {\n if (!this.dependedProperties) {\n this.dependedProperties = [];\n }\n if (this.dependedProperties.indexOf(name) < 0) {\n this.dependedProperties.push(name);\n }\n }\n public getDependedProperties(): Array<string> {\n return !!this.dependedProperties ? this.dependedProperties : [];\n }\n public schemaType(): string {\n if(this.className === \"choicesByUrl\") return undefined;\n if(this.className === \"string\") return this.className;\n if (!!this.className) return \"array\";\n if (!!this.baseClassName) return \"array\";\n if (this.type == \"switch\") return \"boolean\";\n if (this.type == \"boolean\" || this.type == \"number\") return this.type;\n return \"string\";\n }\n public schemaRef(): string {\n if (!!this.className) return this.className;\n return undefined;\n }\n private mergeValue(prop: JsonObjectProperty, valueName: string) {\n if (this[valueName] == null && prop[valueName] != null) {\n this[valueName] = prop[valueName];\n }\n }\n}\nexport class CustomPropertiesCollection {\n private static properties: IObject = {};\n private static parentClasses: { [key: string]: string } = {};\n public static addProperty(className: string, property: any) {\n className = className.toLowerCase();\n var props = CustomPropertiesCollection.properties;\n if (!props[className]) {\n props[className] = [];\n }\n props[className].push(property);\n }\n public static removeProperty(className: string, propertyName: string) {\n className = className.toLowerCase();\n var props = CustomPropertiesCollection.properties;\n if (!props[className]) return;\n var properties = props[className];\n for (var i = 0; i < properties.length; i++) {\n if (properties[i].name == propertyName) {\n props[className].splice(i, 1);\n break;\n }\n }\n }\n public static removeAllProperties(className: string): void {\n className = className.toLowerCase();\n delete CustomPropertiesCollection.properties[className];\n }\n public static addClass(className: string, parentClassName: string) {\n className = className.toLowerCase();\n if (parentClassName) {\n parentClassName = parentClassName.toLowerCase();\n }\n CustomPropertiesCollection.parentClasses[className] = parentClassName;\n }\n public static getProperties(className: string): Array<any> {\n className = className.toLowerCase();\n var res = [];\n var props = CustomPropertiesCollection.properties;\n while (className) {\n var properties = props[className];\n if (properties) {\n for (var i = 0; i < properties.length; i++) {\n res.push(properties[i]);\n }\n }\n className = CustomPropertiesCollection.parentClasses[className];\n }\n return res;\n }\n public static createProperties(obj: any) {\n if (!obj || !obj.getType) return;\n CustomPropertiesCollection.createPropertiesCore(obj, obj.getType());\n }\n private static createPropertiesCore(obj: any, className: string) {\n var props = CustomPropertiesCollection.properties;\n if (props[className]) {\n CustomPropertiesCollection.createPropertiesInObj(obj, props[className]);\n }\n var parentClass = CustomPropertiesCollection.parentClasses[className];\n if (parentClass) {\n CustomPropertiesCollection.createPropertiesCore(obj, parentClass);\n }\n }\n private static createPropertiesInObj(obj: any, properties: any[]) {\n for (var i = 0; i < properties.length; i++) {\n CustomPropertiesCollection.createPropertyInObj(obj, properties[i]);\n }\n }\n private static createPropertyInObj(obj: any, prop: JsonObjectProperty) {\n if (CustomPropertiesCollection.checkIsPropertyExists(obj, prop.name)) return;\n if (!!prop.serializationProperty && CustomPropertiesCollection.checkIsPropertyExists(obj, prop.serializationProperty)) return;\n if (\n prop.isLocalizable &&\n prop.serializationProperty &&\n obj.createCustomLocalizableObj\n ) {\n const locStr = obj.createCustomLocalizableObj(prop.name);\n locStr.defaultValue = prop.defaultValue;\n var locDesc = {\n get: function () {\n return obj.getLocalizableString(prop.name);\n },\n };\n Object.defineProperty(obj, prop.serializationProperty, locDesc);\n var desc = {\n get: function () {\n return obj.getLocalizableStringText(prop.name);\n },\n set: function (v: any) {\n obj.setLocalizableStringText(prop.name, v);\n },\n };\n Object.defineProperty(obj, prop.name, desc);\n } else {\n var defaultValue = prop.defaultValue;\n var isArrayProp = prop.isArray || prop.type === \"multiplevalues\";\n if (typeof obj.createNewArray === \"function\") {\n if (Serializer.isDescendantOf(prop.className, \"itemvalue\")) {\n obj.createNewArray(prop.name, function (item: any) {\n item.locOwner = obj;\n item.ownerPropertyName = prop.name;\n });\n isArrayProp = true;\n } else {\n //It is a simple array property\n if (isArrayProp) {\n obj.createNewArray(prop.name);\n }\n }\n if (isArrayProp) {\n if (Array.isArray(defaultValue)) {\n obj.setPropertyValue(prop.name, defaultValue);\n }\n defaultValue = null;\n }\n }\n if (!!obj.getPropertyValue && !!obj.setPropertyValue) {\n var desc = {\n get: () => {\n if (!!prop.onGetValue) {\n return prop.onGetValue(obj);\n }\n return obj.getPropertyValue(prop.name, defaultValue);\n },\n set: function (v: any) {\n if (!!prop.onSetValue) {\n prop.onSetValue(obj, v, null);\n } else {\n obj.setPropertyValue(prop.name, v);\n }\n },\n };\n Object.defineProperty(obj, prop.name, desc);\n }\n }\n if (prop.type === \"condition\" || prop.type === \"expression\") {\n if (!!prop.onExecuteExpression) {\n obj.addExpressionProperty(prop.name, prop.onExecuteExpression);\n }\n }\n }\n private static checkIsPropertyExists(obj: any, name: string): boolean {\n return obj.hasOwnProperty(name) || obj[name];\n }\n}\n\nexport class JsonMetadataClass {\n static requiredSymbol = \"!\";\n static typeSymbol = \":\";\n properties: Array<JsonObjectProperty>;\n private isCustomValue: boolean;\n private allProperties: Array<JsonObjectProperty>;\n private requiredProperties: Array<JsonObjectProperty>;\n private hashProperties: HashTable<JsonObjectProperty>;\n constructor(\n public name: string,\n properties: Array<any>,\n public creator: (json?: any) => any = null,\n public parentName: string = null\n ) {\n name = name.toLowerCase();\n this.isCustomValue = !creator && name !== \"survey\";\n if (this.parentName) {\n this.parentName = this.parentName.toLowerCase();\n CustomPropertiesCollection.addClass(name, this.parentName);\n if (!!creator) {\n this.makeParentRegularClass();\n }\n }\n this.properties = new Array<JsonObjectProperty>();\n for (var i = 0; i < properties.length; i++) {\n this.createProperty(properties[i], this.isCustom);\n }\n }\n //Obsolete\n public find(name: string): JsonObjectProperty {\n for (var i = 0; i < this.properties.length; i++) {\n if (this.properties[i].name == name) return this.properties[i];\n }\n return null;\n }\n public findProperty(name: string): JsonObjectProperty {\n this.fillAllProperties();\n return this.hashProperties[name];\n }\n public getAllProperties(): Array<JsonObjectProperty> {\n this.fillAllProperties();\n return this.allProperties;\n }\n public getRequiredProperties(): Array<JsonObjectProperty> {\n if(!!this.requiredProperties) return this.requiredProperties;\n this.requiredProperties = [];\n const props = this.getAllProperties();\n for(let i = 0; i < props.length; i ++) {\n if(props[i].isRequired) this.requiredProperties.push(props[i]);\n }\n return this.requiredProperties;\n }\n public resetAllProperties(): void {\n this.allProperties = undefined;\n this.requiredProperties = undefined;\n this.hashProperties = undefined;\n var childClasses = Serializer.getChildrenClasses(this.name);\n for (var i = 0; i < childClasses.length; i++) {\n childClasses[i].resetAllProperties();\n }\n }\n public get isCustom(): boolean { return this.isCustomValue; }\n private fillAllProperties(): void {\n if(!!this.allProperties) return;\n this.allProperties = [];\n this.hashProperties = {};\n const localProperties: HashTable<JsonObjectProperty> = {};\n this.properties.forEach(prop => localProperties[prop.name] = prop);\n const parentClass = !!this.parentName ? Serializer.findClass(this.parentName) : null;\n if(!!parentClass) {\n const parentProperties = parentClass.getAllProperties();\n parentProperties.forEach(prop => {\n const overridedProp = localProperties[prop.name];\n if(!!overridedProp) {\n overridedProp.mergeWith(prop);\n this.addPropCore(overridedProp);\n } else {\n this.addPropCore(prop);\n }\n });\n }\n this.properties.forEach(prop => {\n if(!this.hashProperties[prop.name]) {\n this.addPropCore(prop);\n }\n });\n }\n private addPropCore(prop: JsonObjectProperty): void {\n this.allProperties.push(prop);\n this.hashProperties[prop.name] = prop;\n if(!!prop.alternativeName) {\n this.hashProperties[prop.alternativeName] = prop;\n }\n }\n private isOverridedProp(propName: string): boolean {\n return !!this.parentName && !!Serializer.findProperty(this.parentName, propName);\n }\n private hasRegularChildClass(): void {\n if (!this.isCustom) return;\n this.isCustomValue = false;\n for (var i = 0; i < this.properties.length; i++) {\n this.properties[i].isCustom = false;\n }\n CustomPropertiesCollection.removeAllProperties(this.name);\n this.makeParentRegularClass();\n }\n private makeParentRegularClass(): void {\n if (!this.parentName) return;\n const parent = Serializer.findClass(this.parentName);\n if (!!parent) {\n parent.hasRegularChildClass();\n }\n }\n public createProperty(propInfo: any, isCustom: boolean = false): JsonObjectProperty {\n var propertyName = typeof propInfo === \"string\" ? propInfo : propInfo.name;\n if (!propertyName) return;\n var propertyType = null;\n var typeIndex = propertyName.indexOf(JsonMetadataClass.typeSymbol);\n if (typeIndex > -1) {\n propertyType = propertyName.substring(typeIndex + 1);\n propertyName = propertyName.substring(0, typeIndex);\n }\n var isRequired =\n this.getIsPropertyNameRequired(propertyName) || !!propInfo.isRequired;\n propertyName = this.getPropertyName(propertyName);\n var prop = new JsonObjectProperty(this, propertyName, isRequired);\n if (propertyType) {\n prop.type = propertyType;\n }\n if (typeof propInfo === \"object\") {\n if (propInfo.type) {\n prop.type = propInfo.type;\n }\n if (propInfo.default !== undefined) {\n prop.defaultValue = propInfo.default;\n }\n if (propInfo.defaultFunc !== undefined) {\n prop.defaultValueFunc = propInfo.defaultFunc;\n }\n if (!Helpers.isValueEmpty(propInfo.isSerializable)) {\n prop.isSerializable = propInfo.isSerializable;\n }\n if (!Helpers.isValueEmpty(propInfo.isLightSerializable)) {\n prop.isLightSerializable = propInfo.isLightSerializable;\n }\n if (!Helpers.isValueEmpty(propInfo.maxLength)) {\n prop.maxLength = propInfo.maxLength;\n }\n if (propInfo.displayName !== undefined) {\n prop.displayName = propInfo.displayName;\n }\n if (!Helpers.isValueEmpty(propInfo.category)) {\n prop.category = propInfo.category;\n }\n if (!Helpers.isValueEmpty(propInfo.categoryIndex)) {\n prop.categoryIndex = propInfo.categoryIndex;\n }\n if (!Helpers.isValueEmpty(propInfo.nextToProperty)) {\n prop.nextToProperty = propInfo.nextToProperty;\n }\n if (!Helpers.isValueEmpty(propInfo.overridingProperty)) {\n prop.overridingProperty = propInfo.overridingProperty;\n }\n if (!Helpers.isValueEmpty(propInfo.visibleIndex)) {\n prop.visibleIndex = propInfo.visibleIndex;\n }\n if (!Helpers.isValueEmpty(propInfo.showMode)) {\n prop.showMode = propInfo.showMode;\n }\n if (!Helpers.isValueEmpty(propInfo.maxValue)) {\n prop.maxValue = propInfo.maxValue;\n }\n if (!Helpers.isValueEmpty(propInfo.minValue)) {\n prop.minValue = propInfo.minValue;\n }\n if (!Helpers.isValueEmpty(propInfo.dataList)) {\n prop.dataList = propInfo.dataList;\n }\n if (!Helpers.isValueEmpty(propInfo.isDynamicChoices)) {\n prop.isDynamicChoices = propInfo.isDynamicChoices;\n }\n if (!Helpers.isValueEmpty(propInfo.isBindable)) {\n prop.isBindable = propInfo.isBindable;\n }\n if (!Helpers.isValueEmpty(propInfo.isUnique)) {\n prop.isUnique = propInfo.isUnique;\n }\n if (!Helpers.isValueEmpty(propInfo.uniqueProperty)) {\n prop.uniquePropertyName = propInfo.uniqueProperty;\n }\n if (!Helpers.isValueEmpty(propInfo.isArray)) {\n prop.isArray = propInfo.isArray;\n }\n if (propInfo.visible === true || propInfo.visible === false) {\n prop.visible = propInfo.visible;\n }\n if (!!propInfo.visibleIf) {\n prop.visibleIf = propInfo.visibleIf;\n }\n if (!!propInfo.enableIf) {\n prop.enableIf = propInfo.enableIf;\n }\n if (!!propInfo.onExecuteExpression) {\n prop.onExecuteExpression = propInfo.onExecuteExpression;\n }\n if (!!propInfo.onPropertyEditorUpdate) {\n prop.onPropertyEditorUpdate = propInfo.onPropertyEditorUpdate;\n }\n if (propInfo.readOnly === true) {\n prop.readOnly = true;\n }\n if (propInfo.choices) {\n var choicesFunc =\n typeof propInfo.choices === \"function\" ? propInfo.choices : null;\n var choicesValue =\n typeof propInfo.choices !== \"function\" ? propInfo.choices : null;\n prop.setChoices(choicesValue, choicesFunc);\n }\n if (!!propInfo.baseValue) {\n prop.setBaseValue(propInfo.baseValue);\n }\n if (propInfo.onSerializeValue) {\n prop.onSerializeValue = propInfo.onSerializeValue;\n }\n if (propInfo.onGetValue) {\n prop.onGetValue = propInfo.onGetValue;\n }\n if (propInfo.onSetValue) {\n prop.onSetValue = propInfo.onSetValue;\n }\n if (propInfo.onSettingValue) {\n prop.onSettingValue = propInfo.onSettingValue;\n }\n if (propInfo.isLocalizable) {\n propInfo.serializationProperty = \"loc\" + prop.name;\n }\n if (propInfo.serializationProperty) {\n prop.serializationProperty = propInfo.serializationProperty;\n var s: string;\n if (\n prop.serializationProperty &&\n prop.serializationProperty.indexOf(\"loc\") == 0\n ) {\n prop.isLocalizable = true;\n }\n }\n if (propInfo.isLocalizable) {\n prop.isLocalizable = propInfo.isLocalizable;\n }\n if (propInfo.className) {\n prop.className = propInfo.className;\n }\n if (propInfo.baseClassName) {\n prop.baseClassName = propInfo.baseClassName;\n prop.isArray = true;\n }\n if(prop.isArray === true) {\n prop.isArray = true;\n }\n if (propInfo.classNamePart) {\n prop.classNamePart = propInfo.classNamePart;\n }\n if (propInfo.alternativeName) {\n prop.alternativeName = propInfo.alternativeName;\n }\n if(propInfo.oldName) {\n prop.oldName = propInfo.oldName;\n }\n if (propInfo.layout) {\n prop.layout = propInfo.layout;\n }\n if (propInfo.version) {\n prop.version = propInfo.version;\n }\n if (propInfo.dependsOn) {\n this.addDependsOnProperties(prop, propInfo.dependsOn);\n }\n }\n this.properties.push(prop);\n if (isCustom && !this.isOverridedProp(prop.name)) {\n prop.isCustom = true;\n CustomPropertiesCollection.addProperty(this.name, prop);\n }\n return prop;\n }\n private addDependsOnProperties(prop: JsonObjectProperty, dependsOn: any) {\n if (Array.isArray(dependsOn)) {\n for (var i = 0; i < dependsOn.length; i++) {\n this.addDependsOnProperty(prop, dependsOn[i]);\n }\n } else {\n this.addDependsOnProperty(prop, dependsOn);\n }\n }\n private addDependsOnProperty(prop: JsonObjectProperty, dependsOn: string) {\n var property = this.find(dependsOn);\n if (!property) {\n property = Serializer.findProperty(this.parentName, dependsOn);\n }\n if (!property) return;\n property.addDependedProperty(prop.name);\n }\n private getIsPropertyNameRequired(propertyName: string): boolean {\n return (\n propertyName.length > 0 &&\n propertyName[0] == JsonMetadataClass.requiredSymbol\n );\n }\n private getPropertyName(propertyName: string): string {\n if (!this.getIsPropertyNameRequired(propertyName)) return propertyName;\n propertyName = propertyName.slice(1);\n return propertyName;\n }\n}\n\n/**\n * The metadata object. It contains object properties' runtime information and allows you to modify it.\n */\nexport class JsonMetadata {\n private classes: HashTable<JsonMetadataClass> = {};\n private alternativeNames: HashTable<string> = {};\n private childrenClasses: HashTable<Array<JsonMetadataClass>> = {};\n private dynamicPropsCache: HashTable<Array<JsonObjectProperty>> = {};\n public onSerializingProperty: ((obj: Base, prop: JsonObjectProperty, value: any, json: any) => boolean) | undefined;\n public getObjPropertyValue(obj: any, name: string): any {\n if (this.isObjWrapper(obj) && this.isNeedUseObjWrapper(obj, name)) {\n const orignalObj = obj.getOriginalObj();\n const prop = Serializer.findProperty(orignalObj.getType(), name);\n if (!!prop) return this.getObjPropertyValueCore(orignalObj, prop);\n }\n const prop = Serializer.findProperty(obj.getType(), name);\n if (!prop) return obj[name];\n return this.getObjPropertyValueCore(obj, prop);\n }\n public setObjPropertyValue(obj: any, name: string, val: any) {\n if (obj[name] === val) return;\n if (!!obj[name] && !!obj[name].setJson) {\n obj[name].setJson(val);\n } else {\n if (Array.isArray(val)) {\n const newVal = [];\n for (var i = 0; i < val.length; i++) newVal.push(val[i]);\n val = newVal;\n }\n obj[name] = val;\n }\n }\n private getObjPropertyValueCore(obj: any, prop: JsonObjectProperty): any {\n if (!prop.isSerializable) return obj[prop.name];\n if (prop.isLocalizable) {\n if (prop.isArray) return obj[prop.name];\n if (!!prop.serializationProperty)\n return obj[prop.serializationProperty].text;\n }\n return obj.getPropertyValue(prop.name);\n }\n private isObjWrapper(obj: any): boolean {\n return !!obj.getOriginalObj && !!obj.getOriginalObj();\n }\n private isNeedUseObjWrapper(obj: any, name: string): boolean {\n if(!obj.getDynamicProperties) return true;\n const props = obj.getDynamicProperties();\n if(!Array.isArray(props)) return false;\n for(let i = 0; i < props.length; i ++) {\n if(props[i].name === name) return true;\n }\n return false;\n }\n public addClass(\n name: string,\n properties: Array<IJsonPropertyInfo | string>,\n creator: (json?: any) => any = null,\n parentName: string = null\n ): JsonMetadataClass {\n name = name.toLowerCase();\n var metaDataClass = new JsonMetadataClass(\n name,\n properties,\n creator,\n parentName\n );\n this.classes[name] = metaDataClass;\n if (parentName) {\n parentName = parentName.toLowerCase();\n var children = this.childrenClasses[parentName];\n if (!children) {\n this.childrenClasses[parentName] = [];\n }\n this.childrenClasses[parentName].push(metaDataClass);\n }\n return metaDataClass;\n }\n public removeClass(name: string) {\n var metaClass = this.findClass(name);\n if (!metaClass) return;\n delete this.classes[metaClass.name];\n if (!!metaClass.parentName) {\n var index = this.childrenClasses[metaClass.parentName].indexOf(metaClass);\n if (index > -1) {\n this.childrenClasses[metaClass.parentName].splice(index, 1);\n }\n }\n }\n public overrideClassCreatore(name: string, creator: () => any) {\n this.overrideClassCreator(name, creator);\n }\n public overrideClassCreator(name: string, creator: () => any) {\n name = name.toLowerCase();\n var metaDataClass = this.findClass(name);\n if (metaDataClass) {\n metaDataClass.creator = creator;\n }\n }\n public getProperties(className: string): Array<JsonObjectProperty> {\n var metaClass = this.findClass(className);\n if (!metaClass) return [];\n return metaClass.getAllProperties();\n }\n public getPropertiesByObj(obj: any): Array<JsonObjectProperty> {\n const type = !!obj && !!obj.getType ? obj.getType() : undefined;\n if (!type) return [];\n const props = this.getProperties(type);\n const dynamicProps = this.getDynamicPropertiesByObj(obj);\n for(let i = dynamicProps.length -1; i >= 0; i --) {\n if(this.findProperty(type, dynamicProps[i].name)) {\n dynamicProps.splice(i, 1);\n }\n }\n if(dynamicProps.length === 0) return props;\n\n return [].concat(props).concat(dynamicProps);\n }\n public addDynamicPropertiesIntoObj(dest: any, src: any, props: Array<JsonObjectProperty>): void {\n props.forEach(prop => {\n this.addDynamicPropertyIntoObj(dest, src, prop.name, false);\n if (prop.serializationProperty) {\n this.addDynamicPropertyIntoObj(dest, src, prop.serializationProperty, true);\n }\n if (prop.alternativeName) {\n this.addDynamicPropertyIntoObj(dest, src, prop.alternativeName, false);\n }\n });\n }\n private addDynamicPropertyIntoObj(dest: any, src: any, propName: string, isReadOnly: boolean): void {\n var desc = {\n configurable: true,\n get: function () {\n return src[propName];\n },\n };\n if (!isReadOnly) {\n (<any>desc)[\"set\"] = function (v: any) {\n src[propName] = v;\n };\n }\n Object.defineProperty(dest, propName, desc);\n }\n public getDynamicPropertiesByObj(obj: any, dynamicType: string = null): Array<JsonObjectProperty> {\n if (!obj || !obj.getType) return [];\n if(!!obj.getDynamicProperties) return obj.getDynamicProperties();\n if(!obj.getDynamicType && !dynamicType) return [];\n const dType = !!dynamicType ? dynamicType : obj.getDynamicType();\n return this.getDynamicPropertiesByTypes(obj.getType(), dType);\n }\n public getDynamicPropertiesByTypes(objType: string, dynamicType: string, invalidNames?: Array<string>): Array<JsonObjectProperty> {\n if (!dynamicType) return [];\n const cacheType = dynamicType + \"-\" + objType;\n if(this.dynamicPropsCache[cacheType]) return this.dynamicPropsCache[cacheType];\n var dynamicProps = this.getProperties(dynamicType);\n if (!dynamicProps || dynamicProps.length == 0) return [];\n const hash: any = {};\n const props = this.getProperties(objType);\n for (var i = 0; i < props.length; i++) {\n hash[props[i].name] = props[i];\n }\n const res = [];\n if(!invalidNames) invalidNames = [];\n for (let i = 0; i < dynamicProps.length; i++) {\n const dProp = dynamicProps[i];\n if (!hash[dProp.name] && invalidNames.indexOf(dProp.name) < 0) {\n res.push(dProp);\n }\n }\n this.dynamicPropsCache[cacheType] = res;\n return res;\n }\n public hasOriginalProperty(obj: Base, propName: string): boolean {\n return !!this.getOriginalProperty(obj, propName);\n }\n public getOriginalProperty(obj: Base, propName: string): JsonObjectProperty {\n var res = this.findProperty(obj.getType(), propName);\n if (!!res) return res;\n if (this.isObjWrapper(obj))\n return this.findProperty((<any>obj).getOriginalObj().getType(), propName);\n return null;\n }\n public getProperty(\n className: string,\n propertyName: string\n ): JsonObjectProperty {\n const prop = this.findProperty(className, propertyName);\n if (!prop) return prop;\n const classInfo = this.findClass(className);\n if (prop.classInfo === classInfo) return prop;\n const newProp = new JsonObjectProperty(classInfo, prop.name, prop.isRequired);\n newProp.mergeWith(prop);\n newProp.isArray = prop.isArray;\n classInfo.properties.push(newProp);\n classInfo.resetAllProperties();\n return newProp;\n }\n public findProperty(\n className: string,\n propertyName: string\n ): JsonObjectProperty {\n const cl = this.findClass(className);\n return !!cl ? cl.findProperty(propertyName): null;\n }\n public findProperties(\n className: string,\n propertyNames: Array<string>\n ): Array<JsonObjectProperty> {\n var result = new Array<JsonObjectProperty>();\n const cl = this.findClass(className);\n if(!cl) return result;\n for (var i = 0; i < propertyNames.length; i++) {\n var prop = cl.findProperty(propertyNames[i]);\n if (prop) {\n result.push(prop);\n }\n }\n return result;\n }\n public getAllPropertiesByName(\n propertyName: string\n ): Array<JsonObjectProperty> {\n var res = new Array<JsonObjectProperty>();\n var classes = this.getAllClasses();\n for (var i = 0; i < classes.length; i++) {\n var classInfo = this.findClass(classes[i]);\n for (var j = 0; j < classInfo.properties.length; j++) {\n if (classInfo.properties[j].name == propertyName) {\n res.push(classInfo.properties[j]);\n break;\n }\n }\n }\n return res;\n }\n public getAllClasses(): Array<string> {\n var res = new Array<string>();\n for (var name in this.classes) {\n res.push(name);\n }\n return res;\n }\n public createClass(name: string, json: any = undefined): any {\n name = name.toLowerCase();\n var metaDataClass = this.findClass(name);\n if (!metaDataClass) return null;\n if (metaDataClass.creator) return metaDataClass.creator(json);\n var parentName = metaDataClass.parentName;\n while (parentName) {\n metaDataClass = this.findClass(parentName);\n if (!metaDataClass) return null;\n parentName = metaDataClass.parentName;\n if (metaDataClass.creator)\n return this.createCustomType(name, metaDataClass.creator, json);\n }\n return null;\n }\n private createCustomType(\n name: string,\n creator: any,\n json: any = undefined\n ): any {\n name = name.toLowerCase();\n var res = creator(json);\n var customTypeName = name;\n var customTemplateName = res.getTemplate\n ? res.getTemplate()\n : res.getType();\n res.getType = function () {\n return customTypeName;\n };\n res.getTemplate = function () {\n return customTemplateName;\n };\n CustomPropertiesCollection.createProperties(res);\n return res;\n }\n public getChildrenClasses(\n name: string,\n canBeCreated: boolean = false\n ): Array<JsonMetadataClass> {\n name = name.toLowerCase();\n var result: Array<JsonMetadataClass> = [];\n this.fillChildrenClasses(name, canBeCreated, result);\n return result;\n }\n public getRequiredProperties(name: string): Array<string> {\n const metaClass = this.findClass(name);\n if(!metaClass) return [];\n const props = metaClass.getRequiredProperties();\n var res = [];\n for (var i = 0; i < props.length; i++) {\n res.push(props[i].name);\n }\n return res;\n }\n public addProperties(className: string, propertiesInfos: Array<IJsonPropertyInfo | string>): void {\n className = className.toLowerCase();\n var metaDataClass = this.findClass(className);\n for (var i = 0; i < propertiesInfos.length; i++) {\n this.addCustomPropertyCore(metaDataClass, propertiesInfos[i]);\n }\n }\n public addProperty(className: string, propertyInfo: IJsonPropertyInfo | string): JsonObjectProperty {\n return this.addCustomPropertyCore(this.findClass(className), propertyInfo);\n }\n private addCustomPropertyCore(\n metaDataClass: JsonMetadataClass,\n propertyInfo: any\n ): JsonObjectProperty {\n if (!metaDataClass) return null;\n var property = metaDataClass.createProperty(propertyInfo, true);\n if (property) {\n this.clearDynamicPropsCache(metaDataClass);\n metaDataClass.resetAllProperties();\n }\n return property;\n }\n public removeProperty(className: string, propertyName: string) {\n var metaDataClass = this.findClass(className);\n if (!metaDataClass) return false;\n var property = metaDataClass.find(propertyName);\n if (property) {\n this.clearDynamicPropsCache(metaDataClass);\n this.removePropertyFromClass(metaDataClass, property);\n metaDataClass.resetAllProperties();\n CustomPropertiesCollection.removeProperty(\n metaDataClass.name,\n propertyName\n );\n }\n }\n private clearDynamicPropsCache(metaDataClass: JsonMetadataClass): void {\n this.dynamicPropsCache = {};\n }\n private removePropertyFromClass(\n metaDataClass: JsonMetadataClass,\n property: JsonObjectProperty\n ) {\n var index = metaDataClass.properties.indexOf(property);\n if (index < 0) return;\n metaDataClass.properties.splice(index, 1);\n }\n private fillChildrenClasses(\n name: string,\n canBeCreated: boolean,\n result: Array<JsonMetadataClass>\n ) {\n var children = this.childrenClasses[name];\n if (!children) return;\n for (var i = 0; i < children.length; i++) {\n if (!canBeCreated || children[i].creator) {\n result.push(children[i]);\n }\n this.fillChildrenClasses(children[i].name, canBeCreated, result);\n }\n }\n public findClass(name: string): JsonMetadataClass {\n name = name.toLowerCase();\n var res = this.classes[name];\n if (!res) {\n var newName = this.alternativeNames[name];\n if (!!newName && newName != name) return this.findClass(newName);\n }\n return res;\n }\n public isDescendantOf(className: string, ancestorClassName: string) {\n if (!className || !ancestorClassName) {\n return false;\n }\n className = className.toLowerCase();\n ancestorClassName = ancestorClassName.toLowerCase();\n var class_ = this.findClass(className);\n if (!class_) {\n return false;\n }\n var parentClass = class_;\n do {\n if (parentClass.name === ancestorClassName) {\n return true;\n }\n parentClass = this.classes[parentClass.parentName];\n } while (!!parentClass);\n return false;\n }\n public addAlterNativeClassName(name: string, alternativeName: string) {\n this.alternativeNames[alternativeName.toLowerCase()] = name.toLowerCase();\n }\n public generateSchema(className: string = undefined): any {\n if (!className) className = \"survey\";\n var classInfo = this.findClass(className);\n if (!classInfo) return null;\n var res = {\n $schema: \"http://json-schema.org/draft-07/schema#\",\n title: \"SurveyJS Library json schema\",\n type: \"object\",\n properties: {},\n definitions: { locstring: this.generateLocStrClass() },\n };\n this.generateSchemaProperties(classInfo, res, res.definitions, true);\n return res;\n }\n private generateLocStrClass(): any {\n const props: any = {};\n const locProp = Serializer.findProperty(\"survey\", \"locale\");\n if(!!locProp) {\n const choices = locProp.getChoices(null);\n if(Array.isArray(choices)) {\n if(choices.indexOf(\"en\") < 0) {\n choices.splice(0, 0, \"en\");\n }\n choices.splice(0, 0, \"default\");\n choices.forEach(l => { if(!!l) { props[l] = { type: \"string\" }; } });\n }\n }\n return {\n $id: \"locstring\",\n type: \"object\",\n properties: props\n };\n }\n private generateSchemaProperties(classInfo: JsonMetadataClass, classSchema: any, schemaDef: any, isRoot: boolean): void {\n if (!classInfo) return;\n const schemaProperties = classSchema.properties;\n const requiredProps = [];\n if(classInfo.name === \"question\" || classInfo.name === \"panel\") {\n schemaProperties.type = { type: \"string\" };\n requiredProps.push(\"type\");\n }\n for (let i = 0; i < classInfo.properties.length; i++) {\n const prop = classInfo.properties[i];\n if(!!classInfo.parentName && !!Serializer.findProperty(classInfo.parentName, prop.name)) continue;\n schemaProperties[prop.name] = this.generateSchemaProperty(prop, schemaDef, isRoot);\n if(prop.isRequired) requiredProps.push(prop.name);\n }\n if(requiredProps.length > 0) {\n classSchema.required = requiredProps;\n }\n }\n private generateSchemaProperty(prop: JsonObjectProperty, schemaDef: any, isRoot: boolean): any {\n if(prop.isLocalizable) {\n return { oneOf: [\n { \"type\": \"string\" },\n { \"$ref\": this.getChemeRefName(\"locstring\", isRoot) }\n ] };\n }\n const propType = prop.schemaType();\n const refType = prop.schemaRef();\n var res: any = { };\n if(!!propType) {\n res.type = propType;\n }\n if (prop.hasChoices) {\n const enumRes = prop.getChoices(null);\n if(Array.isArray(enumRes) && enumRes.length > 0) {\n res.enum = this.getChoicesValues(enumRes);\n }\n }\n if(!!refType) {\n if(propType === \"array\") {\n if(prop.className === \"string\") {\n res.items = { type: prop.className };\n } else {\n res.items = { $ref: this.getChemeRefName(prop.className, isRoot) };\n }\n } else {\n res[\"$ref\"] = this.getChemeRefName(refType, isRoot);\n }\n this.generateChemaClass(prop.className, schemaDef, false);\n }\n if (!!prop.baseClassName) {\n var usedClasses = this.getChildrenClasses(prop.baseClassName, true);\n if (prop.baseClassName == \"question\") {\n usedClasses.push(this.findClass(\"panel\"));\n }\n res.items = { anyOf: [] };\n for (var i = 0; i < usedClasses.length; i++) {\n var className = usedClasses[i].name;\n res.items.anyOf.push({ $ref: this.getChemeRefName(className, isRoot) });\n this.generateChemaClass(className, schemaDef, false);\n }\n }\n return res;\n }\n private getChemeRefName(className: string, isRoot: boolean): string {\n //Fix for #6486, according to https://niem.github.io/json/reference/json-schema/references/#:~:text=In%20a%20JSON%20schema%2C%20a,%2C%20an%20in%2Dschema%20reference\n //Checked by https://www.jsonschemavalidator.net/\n return isRoot ? \"#/definitions/\" + className : className;\n }\n private generateChemaClass(className: string, schemaDef: any, isRoot: boolean) {\n if (!!schemaDef[className]) return;\n var classInfo = this.findClass(className);\n if (!classInfo) return;\n var hasParent = !!classInfo.parentName && classInfo.parentName != \"base\";\n if (hasParent) {\n this.generateChemaClass(classInfo.parentName, schemaDef, isRoot);\n }\n const res: any = { type: \"object\", $id: className };\n schemaDef[className] = res;\n const chemaProps: any = { properties: {} };\n this.generateSchemaProperties(classInfo, chemaProps, schemaDef, isRoot);\n if (hasParent) {\n res.allOf = [\n { $ref: this.getChemeRefName(classInfo.parentName, isRoot) },\n { properties: chemaProps.properties },\n ];\n } else {\n res.properties = chemaProps.properties;\n }\n if(Array.isArray(chemaProps.required)) {\n res.required = chemaProps.required;\n }\n }\n private getChoicesValues(enumRes: Array<any>): Array<any> {\n const res = new Array<any>();\n enumRes.forEach(item => {\n if(typeof item === \"object\" && item.value !== undefined) {\n res.push(item.value);\n } else {\n res.push(item);\n }\n });\n return res;\n }\n}\nexport class JsonError {\n public description: string = \"\";\n public at: number = -1;\n public end: number = -1;\n public jsonObj: any;\n public element: Base;\n constructor(public type: string, public message: string) { }\n public getFullDescription(): string {\n return this.message + (this.description ? \"\\n\" + this.description : \"\");\n }\n}\nexport class JsonUnknownPropertyError extends JsonError {\n constructor(public propertyName: string, public className: string) {\n super(\"unknownproperty\", \"Unknown property in class '\" + className + \"': '\" + propertyName + \"'.\");\n }\n}\nexport class JsonMissingTypeErrorBase extends JsonError {\n constructor(\n public baseClassName: string,\n public type: string,\n public message: string\n ) {\n super(type, message);\n }\n}\nexport class JsonMissingTypeError extends JsonMissingTypeErrorBase {\n constructor(public propertyName: string, public baseClassName: string) {\n super(\n baseClassName,\n \"missingtypeproperty\",\n \"The property type is missing in the object. Please take a look at property: '\" +\n propertyName +\n \"'.\"\n );\n }\n}\nexport class JsonIncorrectTypeError extends JsonMissingTypeErrorBase {\n constructor(public propertyName: string, public baseClassName: string) {\n super(\n baseClassName,\n \"incorrecttypeproperty\",\n \"The property type is incorrect in the object. Please take a look at property: '\" +\n propertyName +\n \"'.\"\n );\n }\n}\nexport class JsonRequiredPropertyError extends JsonError {\n constructor(public propertyName: string, public className: string) {\n super(\n \"requiredproperty\",\n \"The property '\" +\n propertyName +\n \"' is required in class '\" +\n className +\n \"'.\"\n );\n }\n}\nexport class JsonRequiredArrayPropertyError extends JsonError {\n constructor(public propertyName: string, public className: string) {\n super(\"arrayproperty\", \"The property '\" + propertyName + \"' should be an array in '\" + className + \"'.\");\n }\n}\n\nexport class JsonIncorrectPropertyValueError extends JsonError {\n constructor(public property: JsonObjectProperty, public value: any) {\n super(\"incorrectvalue\", \"The property value: '\" + value + \"' is incorrect for property '\" + property.name + \"'.\");\n }\n}\n\nexport class JsonObject {\n private static typePropertyName = \"type\";\n private static positionPropertyName = \"pos\";\n private static metaDataValue = new JsonMetadata();\n public static get metaData() {\n return JsonObject.metaDataValue;\n }\n public errors = new Array<JsonError>();\n public lightSerializing: boolean = false;\n public options: ILoadFromJSONOptions;\n public toJsonObject(obj: any, options?: ISaveToJSONOptions | boolean): any {\n return this.toJsonObjectCore(obj, null, options);\n }\n public toObject(jsonObj: any, obj: any, options?: ILoadFromJSONOptions): void {\n this.toObjectCore(jsonObj, obj, options);\n var error = this.getRequiredError(obj, jsonObj);\n if (!!error) {\n this.addNewError(error, jsonObj, obj);\n }\n }\n public toObjectCore(jsonObj: any, obj: any, options?: ILoadFromJSONOptions): void {\n if (!jsonObj) return;\n var properties = null;\n var objType = undefined;\n var needAddErrors = true;\n if (obj.getType) {\n objType = obj.getType();\n properties = Serializer.getProperties(objType);\n needAddErrors =\n !!objType && !Serializer.isDescendantOf(objType, \"itemvalue\");\n }\n if (!properties) return;\n if (obj.startLoadingFromJson) {\n obj.startLoadingFromJson(jsonObj);\n }\n properties = this.addDynamicProperties(obj, jsonObj, properties);\n this.options = options;\n for (var key in jsonObj) {\n if (key === JsonObject.typePropertyName) continue;\n if (key === JsonObject.positionPropertyName) {\n obj[key] = jsonObj[key];\n continue;\n }\n var property = this.findProperty(properties, key);\n if (!property) {\n if (needAddErrors) {\n this.addNewError(new JsonUnknownPropertyError(key.toString(), objType), jsonObj, obj);\n }\n continue;\n }\n this.valueToObj(jsonObj[key], obj, property, jsonObj, options);\n }\n this.options = undefined;\n if (obj.endLoadingFromJson) {\n obj.endLoadingFromJson();\n }\n }\n public toJsonObjectCore(\n obj: any,\n property: JsonObjectProperty,\n options?: ISaveToJSONOptions | boolean\n ): any {\n if (!obj || !obj.getType) return obj;\n if (typeof obj.getData === \"function\") return obj.getData();\n var result = {};\n if (property != null && !property.className) {\n (<any>result)[JsonObject.typePropertyName] = property.getObjType(\n obj.getType()\n );\n }\n const storeDefaults = options === true;\n if(!options || options === true) {\n options = { };\n }\n if(storeDefaults) {\n options.storeDefaults = storeDefaults;\n }\n this.propertiesToJson(\n obj,\n Serializer.getProperties(obj.getType()),\n result,\n options\n );\n this.propertiesToJson(\n obj,\n this.getDynamicProperties(obj),\n result,\n options\n );\n return result;\n }\n private getDynamicProperties(obj: any): Array<JsonObjectProperty> {\n return Serializer.getDynamicPropertiesByObj(obj);\n }\n private addDynamicProperties(\n obj: any,\n jsonObj: any,\n props: Array<JsonObjectProperty>\n ): Array<JsonObjectProperty> {\n if (!obj.getDynamicPropertyName && !obj.getDynamicProperties) return props;\n if(obj.getDynamicPropertyName) {\n const dynamicPropName = obj.getDynamicPropertyName();\n if (!dynamicPropName) return props;\n if (dynamicPropName && jsonObj[dynamicPropName]) {\n obj[dynamicPropName] = jsonObj[dynamicPropName];\n }\n }\n const dynamicProps = this.getDynamicProperties(obj);\n return dynamicProps.length === 0 ? props : [].concat(props).concat(dynamicProps);\n }\n private propertiesToJson(\n obj: any,\n properties: Array<JsonObjectProperty>,\n json: any,\n options: ISaveToJSONOptions\n ) {\n for (var i: number = 0; i < properties.length; i++) {\n this.valueToJson(obj, json, properties[i], options);\n }\n }\n public valueToJson(obj: any, result: any, prop: JsonObjectProperty, options?: ISaveToJSONOptions): void {\n if(!options) options = {};\n if (prop.isSerializable === false || (prop.isLightSerializable === false && this.lightSerializing)) return;\n if(options.version && !prop.isAvailableInVersion(options.version)) return;\n this.valueToJsonCore(obj, result, prop, options);\n }\n private valueToJsonCore(obj: any, result: any, prop: JsonObjectProperty, options?: ISaveToJSONOptions): void {\n const serProp = prop.getSerializedProperty(obj, options.version);\n if(serProp && serProp !== prop) {\n this.valueToJsonCore(obj, result, serProp, options);\n return;\n }\n var value = prop.getSerializableValue(obj);\n if (!options.storeDefaults && prop.isDefaultValueByObj(obj, value)) return;\n if (this.isValueArray(value)) {\n var arrValue = [];\n for (var i = 0; i < value.length; i++) {\n arrValue.push(this.toJsonObjectCore(value[i], prop, options));\n }\n value = arrValue.length > 0 ? arrValue : null;\n } else {\n value = this.toJsonObjectCore(value, prop, options);\n }\n if(value === undefined || value === null) return;\n const name = prop.getSerializedName(options.version);\n var hasValue =\n typeof obj[\"getPropertyValue\"] === \"function\" &&\n obj[\"getPropertyValue\"](name, null) !== null;\n if ((options.storeDefaults && hasValue) || !prop.isDefaultValueByObj(obj, value)) {\n if (!Serializer.onSerializingProperty || !Serializer.onSerializingProperty(obj, prop, value, result)) {\n result[name] = this.removePosOnValueToJson(prop, value);\n }\n }\n }\n public valueToObj(value: any, obj: any, property: JsonObjectProperty, jsonObj?: any, options?: ILoadFromJSONOptions): void {\n if (value === null || value === undefined) return;\n this.removePos(property, value);\n if (property != null && property.hasToUseSetValue) {\n property.setValue(obj, value, this);\n return;\n }\n if(property.isArray && !Array.isArray(value) && !!value) {\n value = [value];\n const propName = !!jsonObj && property.alternativeName && !!jsonObj[property.alternativeName] ? property.alternativeName : property.name;\n this.addNewError(new JsonRequiredArrayPropertyError(propName, obj.getType()), !!jsonObj ? jsonObj: value, obj);\n }\n if (this.isValueArray(value)) {\n this.valueToArray(value, obj, property.name, property, options);\n return;\n }\n var newObj = this.createNewObj(value, property);\n if (newObj.newObj) {\n this.toObjectCore(value, newObj.newObj, options);\n value = newObj.newObj;\n }\n if (!newObj.error) {\n if (property != null) {\n property.setValue(obj, value, this);\n if(!!options && options.validatePropertyValues) {\n if(!property.validateValue(value)) {\n this.addNewError(new JsonIncorrectPropertyValueError(property, value), jsonObj, obj);\n }\n }\n } else {\n obj[property.name] = value;\n }\n }\n }\n private removePosOnValueToJson(property: JsonObjectProperty, value: any): any {\n if(!property.isCustom || !value) return value;\n this.removePosFromObj(value);\n return value;\n }\n private removePos(property: JsonObjectProperty, value: any): void {\n if (!property || !property.type || property.type.indexOf(\"value\") < 0)\n return;\n this.removePosFromObj(value);\n }\n private removePosFromObj(obj: any) {\n if (!obj || typeof obj.getType === \"function\") return;\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n this.removePosFromObj(obj[i]);\n }\n }\n if(typeof obj !== \"object\") return;\n if (!!obj[JsonObject.positionPropertyName]) {\n delete obj[JsonObject.positionPropertyName];\n }\n for(let key in obj) {\n this.removePosFromObj(obj[key]);\n }\n }\n private isValueArray(value: any): boolean {\n return value && Array.isArray(value);\n }\n private createNewObj(value: any, property: JsonObjectProperty): any {\n var result: any = { newObj: null, error: null };\n const className = this.getClassNameForNewObj(value, property);\n result.newObj = className\n ? Serializer.createClass(className, value)\n : null;\n result.error = this.checkNewObjectOnErrors(\n result.newObj,\n value,\n property,\n className\n );\n return result;\n }\n private getClassNameForNewObj(value: any, property: JsonObjectProperty): string {\n var res = property != null && property.className ? property.className : undefined;\n if (!res) {\n res = value[JsonObject.typePropertyName];\n }\n if(!res) return res;\n res = res.toLowerCase();\n const classNamePart = property.classNamePart;\n if(classNamePart && res.indexOf(classNamePart) < 0) {\n res += classNamePart;\n }\n return res;\n }\n private checkNewObjectOnErrors(\n newObj: any,\n value: any,\n property: JsonObjectProperty,\n className: string\n ): JsonError {\n var error = null;\n if (newObj) {\n error = this.getRequiredError(newObj, value);\n } else {\n if (property.baseClassName) {\n if (!className) {\n error = new JsonMissingTypeError(\n property.name,\n property.baseClassName\n );\n } else {\n error = new JsonIncorrectTypeError(\n property.name,\n property.baseClassName\n );\n }\n }\n }\n if (error) {\n this.addNewError(error, value, newObj);\n }\n return error;\n }\n private getRequiredError(obj: any, jsonValue: any): JsonError {\n if (!obj.getType || typeof obj.getData === \"function\") return null;\n const metaClass = Serializer.findClass(obj.getType());\n if(!metaClass) return null;\n const props = metaClass.getRequiredProperties();\n if (!Array.isArray(props)) return null;\n for (var i = 0; i < props.length; i++) {\n const prop = props[i];\n if (!Helpers.isValueEmpty(prop.defaultValue)) continue;\n if (!jsonValue[prop.name]) {\n return new JsonRequiredPropertyError(prop.name, obj.getType());\n }\n }\n return null;\n }\n private addNewError(error: JsonError, jsonObj: any, element?: Base) {\n error.jsonObj = jsonObj;\n error.element = element;\n this.errors.push(error);\n if(!jsonObj) return;\n const posObj = jsonObj[JsonObject.positionPropertyName];\n if(!posObj) return;\n error.at = posObj.start;\n error.end = posObj.end;\n }\n private valueToArray(\n value: Array<any>,\n obj: any,\n key: any,\n property: JsonObjectProperty,\n options?: ILoadFromJSONOptions\n ) {\n if (obj[key] && !this.isValueArray(obj[key]))\n return;\n if (obj[key] && value.length > 0) obj[key].splice(0, obj[key].length);\n var valueRes = obj[key] ? obj[key] : [];\n this.addValuesIntoArray(value, valueRes, property, options);\n if (!obj[key]) obj[key] = valueRes;\n }\n private addValuesIntoArray(\n value: Array<any>,\n result: Array<any>,\n property: JsonObjectProperty,\n options?: ILoadFromJSONOptions\n ) {\n for (var i = 0; i < value.length; i++) {\n var newValue = this.createNewObj(value[i], property);\n if (newValue.newObj) {\n if (!!value[i].name) {\n newValue.newObj.name = value[i].name;\n }\n if (!!value[i].valueName) {\n newValue.newObj.valueName = value[i].valueName.toString();\n }\n result.push(newValue.newObj);\n this.toObjectCore(value[i], newValue.newObj, options);\n } else {\n if (!newValue.error) {\n result.push(value[i]);\n }\n }\n }\n }\n private findProperty(\n properties: Array<JsonObjectProperty>,\n key: any\n ): JsonObjectProperty {\n if (!properties) return null;\n for (var i = 0; i < properties.length; i++) {\n var prop = properties[i];\n if (prop.name == key || prop.alternativeName == key) return prop;\n }\n return null;\n }\n}\n\n/**\n * An alias for the metadata object. It contains object properties' runtime information and allows you to modify it.\n * @see JsonMetadata\n */\nexport var Serializer = JsonObject.metaData;\n","import { property } from \"./jsonobject\";\r\nimport { ActionContainer } from \"./actions/container\";\r\nimport { Action, BaseAction, IAction } from \"./actions/action\";\r\nimport { CssClassBuilder } from \"./utils/cssClassBuilder\";\r\nimport { ElementHelper } from \"./element-helper\";\r\nimport { getFirstVisibleChild } from \"./utils/utils\";\r\nimport { settings } from \"./settings\";\r\nimport { ILocalizableOwner } from \"./localizablestring\";\r\n\r\nexport let defaultListCss = {\r\n root: \"sv-list__container\",\r\n item: \"sv-list__item\",\r\n searchClearButtonIcon: \"sv-list__filter-clear-button\",\r\n loadingIndicator: \"sv-list__loading-indicator\",\r\n itemSelected: \"sv-list__item--selected\",\r\n itemGroup: \"sv-list__item--group\",\r\n itemWithIcon: \"sv-list__item--with-icon\",\r\n itemDisabled: \"sv-list__item--disabled\",\r\n itemFocused: \"sv-list__item--focused\",\r\n itemHovered: \"sv-list__item--hovered\",\r\n itemTextWrap: \"sv-list__item-text--wrap\",\r\n itemIcon: \"sv-list__item-icon\",\r\n itemMarkerIcon: \"sv-list-item__marker-icon\",\r\n itemSeparator: \"sv-list__item-separator\",\r\n itemBody: \"sv-list__item-body\",\r\n itemsContainer: \"sv-list\",\r\n itemsContainerFiltering: \"sv-list--filtering\",\r\n filter: \"sv-list__filter\",\r\n filterIcon: \"sv-list__filter-icon\",\r\n filterInput: \"sv-list__input\",\r\n emptyContainer: \"sv-list__empty-container\",\r\n emptyText: \"sv-list__empty-text\"\r\n};\r\nexport interface IListModel {\r\n items: Array<IAction>;\r\n onSelectionChanged?: (item: IAction, ...params: any[]) => void;\r\n allowSelection?: boolean;\r\n searchEnabled?: boolean;\r\n selectedItem?: IAction;\r\n elementId?: string;\r\n locOwner?: ILocalizableOwner;\r\n onFilterStringChangedCallback?: (text: string) => void;\r\n onTextSearchCallback?: (item: IAction, textToSearch: string) => boolean;\r\n}\r\nexport class ListModel<T extends BaseAction = Action> extends ActionContainer<T> {\r\n private listContainerHtmlElement: HTMLElement;\r\n private loadingIndicatorValue: T;\r\n private onFilterStringChangedCallback: (text: string) => void;\r\n private onTextSearchCallback: (item: IAction, textToSearch: string) => boolean;\r\n\r\n @property({\r\n defaultValue: true,\r\n onSet: (newValue: boolean, target: ListModel<T>) => {\r\n target.onSet();\r\n }\r\n }) searchEnabled: boolean;\r\n @property({ defaultValue: false }) showFilter: boolean;\r\n @property({ defaultValue: false }) forceShowFilter: boolean;\r\n @property({ defaultValue: false }) isExpanded: boolean;\r\n @property({}) selectedItem: IAction;\r\n @property() focusedItem: T;\r\n @property({\r\n onSet: (_, target: ListModel<T>) => {\r\n target.onFilterStringChanged(target.filterString);\r\n }\r\n }) filterString: string;\r\n @property({ defaultValue: false }) hasVerticalScroller: boolean;\r\n @property({ defaultValue: true }) isAllDataLoaded: boolean;\r\n @property({ defaultValue: false }) showSearchClearButton: boolean;\r\n @property({ defaultValue: true }) renderElements: boolean;\r\n @property({ defaultValue: false }) textWrapEnabled: boolean;\r\n\r\n public static INDENT: number = 16;\r\n public static MINELEMENTCOUNT: number = 10;\r\n public scrollHandler: (e?: any) => void;\r\n public areSameItemsCallback: (item1: IAction, item2: IAction) => boolean;\r\n\r\n private hasText(item: T, filterStringInLow: string): boolean {\r\n if (!filterStringInLow) return true;\r\n const text = item.title || \"\";\r\n if (this.onTextSearchCallback) return this.onTextSearchCallback(item, filterStringInLow);\r\n let textInLow = text.toLocaleLowerCase();\r\n textInLow = settings.comparator.normalizeTextCallback(textInLow, \"filter\");\r\n return textInLow.indexOf(filterStringInLow.toLocaleLowerCase()) > -1;\r\n }\r\n public isItemVisible(item: T): boolean {\r\n return item.visible && (!this.shouldProcessFilter || this.hasText(item, this.filterString));\r\n }\r\n\r\n protected getRenderedActions(): Array<T> {\r\n let actions = super.getRenderedActions();\r\n\r\n if (this.filterString) {\r\n let newActions: Array<T> = [];\r\n actions.forEach(action => {\r\n newActions.push(action);\r\n if (action.items) {\r\n action.items.forEach(item => {\r\n const a = new Action(item);\r\n if (!a.iconName) { a.iconName = action.iconName; }\r\n newActions.push(a as IAction as T);\r\n });\r\n }\r\n });\r\n return newActions;\r\n }\r\n\r\n return actions;\r\n }\r\n public get visibleItems(): Array<T> {\r\n return this.visibleActions.filter(item => this.isItemVisible(item));\r\n }\r\n private get shouldProcessFilter(): boolean {\r\n return !this.onFilterStringChangedCallback;\r\n }\r\n private onFilterStringChanged(text: string) {\r\n if (!!this.onFilterStringChangedCallback) {\r\n this.onFilterStringChangedCallback(text);\r\n }\r\n this.isEmpty = this.renderedActions.filter(action => this.isItemVisible(action)).length === 0;\r\n }\r\n private scrollToItem(selector: string, ms = 0): void {\r\n setTimeout(() => {\r\n if (!this.listContainerHtmlElement) return;\r\n\r\n const item = this.listContainerHtmlElement.querySelector(\".\" + selector);\r\n if (item) {\r\n setTimeout(() => {\r\n item.scrollIntoView({ behavior: \"smooth\", block: \"nearest\", inline: \"start\" });\r\n }, ms);\r\n }\r\n }, ms);\r\n }\r\n\r\n constructor(\r\n items: Array<IAction> | IListModel,\r\n public onSelectionChanged?: (item: T, ...params: any[]) => void,\r\n public allowSelection?: boolean,\r\n selectedItem?: IAction,\r\n public elementId?: string\r\n ) {\r\n super();\r\n if (Object.keys(items).indexOf(\"items\") !== -1) {\r\n const options = (items as any) as IListModel;\r\n Object.keys(options).forEach((key: keyof IListModel) => {\r\n switch (key) {\r\n case \"items\":\r\n this.setItems(options.items);\r\n break;\r\n case \"onFilterStringChangedCallback\":\r\n this.setOnFilterStringChangedCallback(options.onFilterStringChangedCallback);\r\n break;\r\n case \"onTextSearchCallback\":\r\n this.setOnTextSearchCallback(options.onTextSearchCallback);\r\n break;\r\n default:\r\n (this as any)[key] = options[key];\r\n }\r\n });\r\n } else {\r\n this.setItems(items as Array<IAction>);\r\n this.selectedItem = selectedItem;\r\n }\r\n }\r\n public setOnFilterStringChangedCallback(callback: (text: string) => void): void {\r\n this.onFilterStringChangedCallback = callback;\r\n }\r\n public setOnTextSearchCallback(callback: (item: T, textToSearch: string) => boolean): void {\r\n this.onTextSearchCallback = callback;\r\n }\r\n public setItems(items: Array<IAction>, sortByVisibleIndex = true): void {\r\n super.setItems(items, sortByVisibleIndex);\r\n if (this.elementId) {\r\n this.renderedActions.forEach((action: IAction) => { action.elementId = this.elementId + action.id; });\r\n }\r\n if (!this.isAllDataLoaded && !!this.actions.length) {\r\n this.actions.push(this.loadingIndicator);\r\n }\r\n }\r\n protected onSet(): void {\r\n this.showFilter = this.searchEnabled && (this.forceShowFilter || (this.actions || []).length > ListModel.MINELEMENTCOUNT);\r\n super.onSet();\r\n }\r\n protected getDefaultCssClasses() {\r\n return defaultListCss;\r\n }\r\n\r\n public onItemClick = (itemValue: T): void => {\r\n if (this.isItemDisabled(itemValue)) {\r\n return;\r\n }\r\n this.isExpanded = false;\r\n if (this.allowSelection) {\r\n this.selectedItem = itemValue;\r\n }\r\n if (!!this.onSelectionChanged) {\r\n this.onSelectionChanged(itemValue);\r\n }\r\n const action = (itemValue as IAction).action;\r\n if (!!action) {\r\n action(itemValue);\r\n }\r\n };\r\n\r\n protected popupAfterShowCallback(itemValue: T) {\r\n this.addScrollEventListener(() => {\r\n itemValue.hidePopup();\r\n });\r\n }\r\n\r\n public onItemHover = (itemValue: T): void => {\r\n this.mouseOverHandler(itemValue);\r\n }\r\n public onItemLeave(itemValue: T) {\r\n itemValue.hidePopupDelayed(this.subItemsHideDelay);\r\n }\r\n\r\n public isItemDisabled: (itemValue: T) => boolean = (itemValue: T) => {\r\n return itemValue.enabled !== undefined && !itemValue.enabled;\r\n };\r\n\r\n public isItemSelected: (itemValue: T) => boolean = (itemValue: T) => {\r\n return this.areSameItems(this.selectedItem, itemValue);\r\n };\r\n\r\n public isItemFocused: (itemValue: T) => boolean = (itemValue: T) => {\r\n return this.areSameItems(this.focusedItem, itemValue);\r\n };\r\n protected areSameItems(item1: IAction, item2: IAction): boolean {\r\n if (!!this.areSameItemsCallback) return this.areSameItemsCallback(item1, item2);\r\n return !!item1 && !!item2 && item1.id == item2.id;\r\n }\r\n\r\n public getListClass: () => string = () => {\r\n return new CssClassBuilder()\r\n .append(this.cssClasses.itemsContainer)\r\n .append(this.cssClasses.itemsContainerFiltering, !!this.filterString && this.visibleActions.length !== this.visibleItems.length)\r\n .toString();\r\n }\r\n public getItemClass: (itemValue: T) => string = (itemValue: T) => {\r\n return new CssClassBuilder()\r\n .append(this.cssClasses.item)\r\n .append(this.cssClasses.itemWithIcon, !!itemValue.iconName)\r\n .append(this.cssClasses.itemDisabled, this.isItemDisabled(itemValue))\r\n .append(this.cssClasses.itemFocused, this.isItemFocused(itemValue))\r\n .append(this.cssClasses.itemSelected, this.isItemSelected(itemValue))\r\n .append(this.cssClasses.itemGroup, itemValue.hasSubItems)\r\n .append(this.cssClasses.itemHovered, itemValue.isHovered)\r\n .append(this.cssClasses.itemTextWrap, this.textWrapEnabled)\r\n .append(itemValue.css)\r\n .toString();\r\n };\r\n\r\n public getItemIndent = (itemValue: any) => {\r\n const level: number = itemValue.level || 0;\r\n return (level + 1) * ListModel.INDENT + \"px\";\r\n };\r\n\r\n public get filterStringPlaceholder(): string {\r\n return this.getLocalizationString(\"filterStringPlaceholder\");\r\n }\r\n public get emptyMessage(): string {\r\n return this.isAllDataLoaded ? this.getLocalizationString(\"emptyMessage\") : this.loadingText;\r\n }\r\n public get scrollableContainer(): HTMLElement {\r\n return this.listContainerHtmlElement.querySelector(\".\" + this.getDefaultCssClasses().itemsContainer);\r\n }\r\n public get loadingText(): string {\r\n return this.getLocalizationString(\"loadingFile\");\r\n }\r\n public get loadingIndicator(): T {\r\n if (!this.loadingIndicatorValue) {\r\n this.loadingIndicatorValue = <T><any>(new Action({\r\n id: \"loadingIndicator\",\r\n title: this.loadingText,\r\n action: () => { },\r\n css: this.cssClasses.loadingIndicator\r\n }));\r\n }\r\n return this.loadingIndicatorValue;\r\n }\r\n\r\n public goToItems(event: KeyboardEvent): void {\r\n if (event.key === \"ArrowDown\" || event.keyCode === 40) {\r\n const currentElement = (<HTMLElement>event.target).parentElement;\r\n const listElement = currentElement.parentElement.querySelector(\"ul\");\r\n const firstChild = getFirstVisibleChild(listElement);\r\n if (!!listElement && !!firstChild) {\r\n ElementHelper.focusElement(firstChild);\r\n event.preventDefault();\r\n }\r\n }\r\n }\r\n public onMouseMove(event: MouseEvent): void {\r\n this.resetFocusedItem();\r\n }\r\n public onKeyDown(event: KeyboardEvent): void {\r\n const currentElement = <Element>event.target;\r\n if (event.key === \"ArrowDown\" || event.keyCode === 40) {\r\n ElementHelper.focusElement(ElementHelper.getNextElementPreorder(currentElement));\r\n event.preventDefault();\r\n } else if (event.key === \"ArrowUp\" || event.keyCode === 38) {\r\n ElementHelper.focusElement(ElementHelper.getNextElementPostorder(currentElement));\r\n event.preventDefault();\r\n }\r\n }\r\n public onPointerDown(event: PointerEvent, item: any) { }\r\n public refresh(): void { // used in popup\r\n this.filterString = \"\";\r\n this.resetFocusedItem();\r\n }\r\n public onClickSearchClearButton(event: any) {\r\n event.currentTarget.parentElement.querySelector(\"input\").focus();\r\n this.refresh();\r\n }\r\n public resetFocusedItem(): void {\r\n this.focusedItem = undefined;\r\n }\r\n public focusFirstVisibleItem(): void {\r\n this.focusedItem = this.visibleItems[0];\r\n }\r\n public focusLastVisibleItem(): void {\r\n this.focusedItem = this.visibleItems[this.visibleItems.length - 1];\r\n }\r\n public initFocusedItem() {\r\n this.focusedItem = this.visibleItems.filter(item => item.visible && this.isItemSelected(item))[0];\r\n if (!this.focusedItem) {\r\n this.focusFirstVisibleItem();\r\n }\r\n }\r\n public focusNextVisibleItem(): void {\r\n if (!this.focusedItem) {\r\n this.initFocusedItem();\r\n } else {\r\n const items = this.visibleItems;\r\n const currentFocusedItemIndex = items.indexOf(this.focusedItem);\r\n const nextItem = items[currentFocusedItemIndex + 1];\r\n if (nextItem) {\r\n this.focusedItem = nextItem;\r\n } else {\r\n this.focusFirstVisibleItem();\r\n }\r\n }\r\n }\r\n public focusPrevVisibleItem(): void {\r\n if (!this.focusedItem) {\r\n this.initFocusedItem();\r\n } else {\r\n const items = this.visibleItems;\r\n const currentFocusedItemIndex = items.indexOf(this.focusedItem);\r\n const prevItem = items[currentFocusedItemIndex - 1];\r\n if (prevItem) {\r\n this.focusedItem = prevItem;\r\n } else {\r\n this.focusLastVisibleItem();\r\n }\r\n }\r\n }\r\n public selectFocusedItem(): void {\r\n !!this.focusedItem && this.onItemClick(this.focusedItem);\r\n }\r\n public initListContainerHtmlElement(htmlElement: HTMLElement): void {\r\n this.listContainerHtmlElement = htmlElement;\r\n }\r\n public onLastItemRended(item: T): void {\r\n if (this.isAllDataLoaded) return;\r\n\r\n if (item === this.actions[this.actions.length - 1] && !!this.listContainerHtmlElement) {\r\n this.hasVerticalScroller = ElementHelper.hasVerticalScroller(this.scrollableContainer);\r\n }\r\n }\r\n public scrollToFocusedItem(): void {\r\n this.scrollToItem(this.getDefaultCssClasses().itemFocused);\r\n }\r\n public scrollToSelectedItem(): void {\r\n this.scrollToItem(this.getDefaultCssClasses().itemSelected, 110);\r\n }\r\n\r\n public addScrollEventListener(handler: (e?: any) => void): void {\r\n if (!!handler) {\r\n this.removeScrollEventListener();\r\n this.scrollHandler = handler;\r\n }\r\n if (!!this.scrollHandler) {\r\n this.scrollableContainer.addEventListener(\"scroll\", this.scrollHandler);\r\n }\r\n }\r\n public removeScrollEventListener(): void {\r\n if (!!this.scrollHandler) {\r\n this.scrollableContainer.removeEventListener(\"scroll\", this.scrollHandler);\r\n }\r\n }\r\n\r\n public dispose(): void {\r\n super.dispose();\r\n if (!!this.loadingIndicatorValue) {\r\n this.loadingIndicatorValue.dispose();\r\n }\r\n this.listContainerHtmlElement = undefined;\r\n }\r\n}\r\n","import { Helpers } from \"./helpers\";\nimport { surveyLocalization } from \"./surveyStrings\";\nimport { settings } from \"./settings\";\nimport { Base, EventBase } from \"./base\";\nimport { Serializer } from \"./jsonobject\";\nimport { SurveyElementCore } from \"./survey-element\";\n\nexport interface ILocalizableOwner {\n getLocale(): string;\n getMarkdownHtml(text: string, name: string): string;\n getProcessedText(text: string): string;\n getRenderer(name: string): string;\n getRendererContext(locStr: LocalizableString): any;\n}\nexport interface ILocalizableString {\n getLocaleText(loc: string): string;\n setLocaleText(loc: string, newValue: string): any;\n getJson(): any;\n getLocales(): Array<string>;\n getIsMultiple(): boolean;\n}\n/**\n * The class represents the string that supports multi-languages and markdown.\n * It uses in all objects where support for multi-languages and markdown is required.\n */\nexport class LocalizableString implements ILocalizableString {\n public static SerializeAsObject: boolean = false;\n public static get defaultLocale(): string {\n return settings.localization.defaultLocaleName;\n }\n public static set defaultLocale(val: string) {\n settings.localization.defaultLocaleName = val;\n }\n public static defaultRenderer = \"sv-string-viewer\";\n public static editableRenderer = \"sv-string-editor\";\n\n private values: any = {};\n private htmlValues = {};\n private renderedText: string;\n private calculatedTextValue: string;\n private _localizationName: string;\n public get localizationName(): string {\n return this._localizationName;\n }\n public set localizationName(val: string) {\n if (this._localizationName != val) {\n this._localizationName = val;\n this.strChanged();\n }\n }\n private _allowLineBreaks: boolean = false;\n public get allowLineBreaks(): boolean {\n return this._allowLineBreaks;\n }\n public onGetTextCallback: (str: string) => string;\n public storeDefaultText: boolean;\n public onGetLocalizationTextCallback: (str: string) => string;\n public onStrChanged: (oldValue: string, newValue: string) => void;\n public onSearchChanged: () => void;\n public sharedData: LocalizableString;\n public searchText: string;\n public searchIndex: number;\n public disableLocalization: boolean;\n public defaultValue: string;\n constructor(\n public owner: ILocalizableOwner,\n public useMarkdown: boolean = false,\n public name?: string\n ) {\n if (owner instanceof SurveyElementCore) {\n this._allowLineBreaks = Serializer.findProperty((owner as SurveyElementCore).getType(), name)?.type == \"text\";\n }\n this.onCreating();\n }\n public getIsMultiple(): boolean { return false; }\n public get locale(): string {\n if (this.owner && this.owner.getLocale) {\n const res = this.owner.getLocale();\n if (!!res || !this.sharedData) return res;\n }\n if (!!this.sharedData) return this.sharedData.locale;\n return \"\";\n }\n public strChanged(): void {\n this.searchableText = undefined;\n if (this.renderedText === undefined) return;\n this.calculatedTextValue = this.calcText();\n if (this.renderedText !== this.calculatedTextValue) {\n this.renderedText = undefined;\n this.calculatedTextValue = undefined;\n }\n this.htmlValues = {};\n this.onChanged();\n this.onStringChanged.fire(this, {});\n }\n public get text(): string {\n return this.pureText;\n }\n public set text(value: string) {\n this.setLocaleText(this.locale, value);\n }\n public get calculatedText(): string {\n this.renderedText =\n this.calculatedTextValue !== undefined\n ? this.calculatedTextValue\n : this.calcText();\n this.calculatedTextValue = undefined;\n return this.renderedText;\n }\n private calcText(): string {\n var res = this.pureText;\n if (\n res &&\n this.owner &&\n this.owner.getProcessedText &&\n res.indexOf(\"{\") > -1\n ) {\n res = this.owner.getProcessedText(res);\n }\n if (this.onGetTextCallback) res = this.onGetTextCallback(res);\n return res;\n }\n public get pureText(): string {\n var loc = this.locale;\n if (!loc) loc = this.defaultLoc;\n var res = this.getValue(loc);\n if (this.isValueEmpty(res) && loc === this.defaultLoc) {\n res = this.getValue(surveyLocalization.defaultLocale);\n }\n if (this.isValueEmpty(res)) {\n const dialect = this.getRootDialect(loc);\n if (!!dialect) {\n res = this.getValue(dialect);\n }\n }\n if (this.isValueEmpty(res) && loc !== this.defaultLoc) {\n res = this.getValue(this.defaultLoc);\n }\n if (this.isValueEmpty(res) && !!this.getLocalizationName()) {\n res = this.getLocalizationStr();\n if (!!this.onGetLocalizationTextCallback) {\n res = this.onGetLocalizationTextCallback(res);\n }\n }\n if (!res) res = this.defaultValue || \"\";\n return res;\n }\n private getRootDialect(loc: string): string {\n if (!loc) return loc;\n const index = loc.indexOf(\"-\");\n return index > -1 ? loc.substring(0, index) : \"\";\n }\n private getLocalizationName(): string {\n return !!this.sharedData ? this.sharedData.localizationName : this.localizationName;\n }\n private getLocalizationStr(): string {\n const name = this.getLocalizationName();\n return !!name ? surveyLocalization.getString(name, this.locale) : \"\";\n }\n public get hasHtml(): boolean {\n return this.hasHtmlValue();\n }\n public get html(): string {\n if (!this.hasHtml) return \"\";\n return this.getHtmlValue();\n }\n public get isEmpty(): boolean {\n return this.getValuesKeys().length == 0;\n }\n public get textOrHtml(): string {\n return this.hasHtml ? this.getHtmlValue() : this.calculatedText;\n }\n public get renderedHtml(): string {\n return this.textOrHtml;\n }\n public getLocaleText(loc: string): string {\n const res = this.getLocaleTextCore(loc);\n return res ? res : \"\";\n }\n private getLocaleTextCore(loc: string): string {\n if (!loc) loc = this.defaultLoc;\n return this.getValue(loc);\n }\n private isLocaleTextEqualsWithDefault(loc: string, val: string): boolean {\n let res = this.getLocaleTextCore(loc);\n if (res === val) return true;\n return this.isValueEmpty(res) && this.isValueEmpty(val);\n }\n public clear(): void {\n this.setJson(undefined);\n }\n public clearLocale(loc?: string): void {\n this.setLocaleText(loc, undefined);\n }\n public setLocaleText(loc: string, value: string): void {\n loc = this.getValueLoc(loc);\n if (!this.storeDefaultText && this.isLocaleTextEqualsWithDefault(loc, value)) {\n if (!this.isValueEmpty(value) || !!loc && loc !== this.defaultLoc) return;\n let dl = surveyLocalization.defaultLocale;\n let oldValue = this.getValue(dl);\n if (!!dl && !this.isValueEmpty(oldValue)) {\n this.setValue(dl, value);\n this.fireStrChanged(dl, oldValue);\n }\n return;\n }\n if (!settings.localization.storeDuplicatedTranslations &&\n !this.isValueEmpty(value) && loc && loc != this.defaultLoc &&\n !this.getValue(loc) &&\n value == this.getLocaleText(this.defaultLoc)\n )\n return;\n var curLoc = this.curLocale;\n if (!loc) loc = this.defaultLoc;\n var oldValue = this.onStrChanged && loc === curLoc ? this.pureText : undefined;\n delete (<any>this).htmlValues[loc];\n if (this.isValueEmpty(value)) {\n this.deleteValue(loc);\n } else {\n if (typeof value === \"string\") {\n if (this.canRemoveLocValue(loc, value)) {\n this.setLocaleText(loc, null);\n } else {\n this.setValue(loc, value);\n if (loc == this.defaultLoc) {\n this.deleteValuesEqualsToDefault(value);\n }\n }\n }\n }\n this.fireStrChanged(loc, oldValue);\n }\n private isValueEmpty(val: string): boolean {\n if (val === undefined || val === null) return true;\n if (this.localizationName) return false;\n return val === \"\";\n }\n private get curLocale(): string {\n return !!this.locale ? this.locale : this.defaultLoc;\n }\n private canRemoveLocValue(loc: string, val: string): boolean {\n if (settings.localization.storeDuplicatedTranslations) return false;\n if (loc === this.defaultLoc) return false;\n const dialect = this.getRootDialect(loc);\n if (!!dialect) {\n const dialectVal = this.getLocaleText(dialect);\n if (!!dialectVal) return dialectVal == val;\n return this.canRemoveLocValue(dialect, val);\n } else {\n return val == this.getLocaleText(this.defaultLoc);\n }\n }\n private fireStrChanged(loc: string, oldValue: string) {\n this.strChanged();\n if (!this.onStrChanged) return;\n const value = this.pureText;\n if (loc !== this.curLocale || oldValue !== value) {\n this.onStrChanged(oldValue, value);\n }\n }\n public hasNonDefaultText(): boolean {\n var keys = this.getValuesKeys();\n if (keys.length == 0) return false;\n return keys.length > 1 || keys[0] != this.defaultLoc;\n }\n public getLocales(): Array<string> {\n var keys = this.getValuesKeys();\n if (keys.length == 0) return [];\n return keys;\n }\n public getJson(): any {\n if (!!this.sharedData) return this.sharedData.getJson();\n const keys = this.getValuesKeys();\n if (keys.length == 0) return null;\n if (\n keys.length == 1 &&\n keys[0] == settings.localization.defaultLocaleName &&\n !settings.serialization.localizableStringSerializeAsObject\n )\n return (<any>this).values[keys[0]];\n const res: any = {};\n for(let key in this.values) {\n res[key] = this.values[key];\n }\n return res;\n }\n public setJson(value: any): void {\n if (!!this.sharedData) {\n this.sharedData.setJson(value);\n return;\n }\n this.values = {};\n this.htmlValues = {};\n if (value === null || value === undefined) return;\n if (typeof value === \"string\") {\n this.setLocaleText(null, value);\n } else {\n for (var key in value) {\n this.setLocaleText(key, value[key]);\n }\n }\n this.strChanged();\n }\n public get renderAs(): string {\n if (!this.owner || typeof this.owner.getRenderer !== \"function\") {\n return LocalizableString.defaultRenderer;\n }\n return this.owner.getRenderer(this.name) || LocalizableString.defaultRenderer;\n }\n public get renderAsData(): any {\n if (!this.owner || typeof this.owner.getRendererContext !== \"function\") {\n return this;\n }\n return this.owner.getRendererContext(this) || this;\n }\n public equals(obj: any): boolean {\n if (!!this.sharedData) return this.sharedData.equals(obj);\n if (!obj || !obj.values) return false;\n return Helpers.isTwoValueEquals(this.values, obj.values, false, true, false);\n }\n private searchableText: string;\n public setFindText(text: string): boolean {\n if (this.searchText == text) return;\n this.searchText = text;\n if (!this.searchableText) {\n let textOrHtml = this.textOrHtml;\n this.searchableText = !!textOrHtml ? textOrHtml.toLowerCase() : \"\";\n }\n var str = this.searchableText;\n var index = !!str && !!text ? str.indexOf(text) : undefined;\n if (index < 0) index = undefined;\n if (index != undefined || this.searchIndex != index) {\n this.searchIndex = index;\n if (!!this.onSearchChanged) {\n this.onSearchChanged();\n }\n }\n return this.searchIndex != undefined;\n }\n public onChanged(): void { }\n public onStringChanged: EventBase<LocalizableString> = new EventBase<LocalizableString>();\n protected onCreating(): void { }\n private hasHtmlValue(): boolean {\n if (!this.owner || !this.useMarkdown) return false;\n let loc = this.locale;\n if (!loc) loc = this.defaultLoc;\n if ((<any>this).htmlValues[loc] !== undefined) return !!(<any>this).htmlValues[loc];\n let renderedText = this.calculatedText;\n if (!renderedText) {\n this.setHtmlValue(loc, \"\");\n return false;\n }\n if (!!this.getLocalizationName() && renderedText === this.getLocalizationStr()) {\n this.setHtmlValue(loc, \"\");\n return false;\n }\n const res = this.owner.getMarkdownHtml(renderedText, this.name);\n this.setHtmlValue(loc, res);\n return !!res;\n }\n private setHtmlValue(loc: string, val: string): void {\n (<any>this).htmlValues[loc] = val;\n }\n public getHtmlValue(): string {\n var loc = this.locale;\n if (!loc) loc = this.defaultLoc;\n return (<any>this).htmlValues[loc];\n }\n private deleteValuesEqualsToDefault(defaultValue: string) {\n if (settings.localization.storeDuplicatedTranslations) return;\n var keys = this.getValuesKeys();\n for (var i = 0; i < keys.length; i++) {\n if (keys[i] == this.defaultLoc) continue;\n if (this.getValue(keys[i]) == defaultValue) {\n this.deleteValue(keys[i]);\n }\n }\n }\n private getValue(loc: string): string {\n if (!!this.sharedData) return this.sharedData.getValue(loc);\n return (<any>this).values[this.getValueLoc(loc)];\n }\n private setValue(loc: string, value: string) {\n if (!!this.sharedData) this.sharedData.setValue(loc, value);\n else (<any>this).values[this.getValueLoc(loc)] = value;\n }\n private deleteValue(loc: string) {\n if (!!this.sharedData) this.sharedData.deleteValue(loc);\n else delete (<any>this).values[this.getValueLoc(loc)];\n }\n private getValueLoc(loc: string): string {\n if (this.disableLocalization) return settings.localization.defaultLocaleName;\n return loc;\n }\n private getValuesKeys(): string[] {\n if (!!this.sharedData) return this.sharedData.getValuesKeys();\n return Object.keys(this.values);\n }\n private get defaultLoc(): string {\n return settings.localization.defaultLocaleName;\n }\n}\n/**\n * The class represents the list of strings that supports multi-languages.\n */\nexport class LocalizableStrings implements ILocalizableString {\n private values: any = {};\n public onValueChanged: (oldValue: any, newValue: any) => void;\n constructor(public owner: ILocalizableOwner) { }\n public getIsMultiple(): boolean { return true; }\n public get locale() {\n return this.owner && this.owner.getLocale ? this.owner.getLocale() : \"\";\n }\n public get value(): Array<string> {\n return this.getValue(\"\");\n }\n public set value(val: Array<string>) {\n this.setValue(\"\", val);\n }\n public get text(): string {\n return Array.isArray(this.value) ? this.value.join(\"\\n\") : \"\";\n }\n public set text(val: string) {\n this.value = !!val ? val.split(\"\\n\") : [];\n }\n public getLocaleText(loc: string): string {\n var res = this.getValueCore(loc, !loc || loc === this.locale);\n if (!res || !Array.isArray(res) || res.length == 0) return \"\";\n return res.join(\"\\n\");\n }\n public setLocaleText(loc: string, newValue: string): any {\n var val = !!newValue ? newValue.split(\"\\n\") : null;\n this.setValue(loc, val);\n }\n public getValue(loc: string): Array<string> {\n return this.getValueCore(loc);\n }\n private getValueCore(loc: string, useDefault: boolean = true): Array<string> {\n loc = this.getLocale(loc);\n if (this.values[loc]) return this.values[loc];\n if (useDefault) {\n var defLoc = settings.localization.defaultLocaleName;\n if (loc !== defLoc && this.values[defLoc]) return this.values[defLoc];\n }\n return [];\n }\n public setValue(loc: string, val: Array<string>) {\n loc = this.getLocale(loc);\n const oldValue = Helpers.createCopy(this.values);\n if (!val || val.length == 0) {\n delete this.values[loc];\n } else {\n this.values[loc] = val;\n }\n if (!!this.onValueChanged) {\n this.onValueChanged(oldValue, this.values);\n }\n }\n public hasValue(loc: string = \"\"): boolean {\n return !this.isEmpty && this.getValue(loc).length > 0;\n }\n public get isEmpty(): boolean {\n return this.getValuesKeys().length == 0;\n }\n private getLocale(loc: string): string {\n if (!!loc) return loc;\n loc = this.locale;\n return !!loc ? loc : settings.localization.defaultLocaleName;\n }\n public getLocales(): Array<string> {\n var keys = this.getValuesKeys();\n if (keys.length == 0) return [];\n return keys;\n }\n public getJson(): any {\n var keys = this.getValuesKeys();\n if (keys.length == 0) return null;\n if (\n keys.length == 1 &&\n keys[0] == settings.localization.defaultLocaleName &&\n !settings.serialization.localizableStringSerializeAsObject\n ) return (<any>this).values[keys[0]];\n return Helpers.createCopy(this.values);\n }\n public setJson(value: any) {\n this.values = {};\n if (!value) return;\n if (Array.isArray(value)) {\n this.setValue(null, value);\n } else {\n for (var key in value) {\n this.setValue(key, value[key]);\n }\n }\n }\n private getValuesKeys(): string[] {\n return Object.keys(this.values);\n }\n}\n","// Uncomment the line below if you create a custom dictionary\n// import { surveyLocalization } from \"survey-core\";\n\nexport var englishStrings = {\n pagePrevText: \"Previous\",\n pageNextText: \"Next\",\n completeText: \"Complete\",\n previewText: \"Preview\",\n editText: \"Edit\",\n startSurveyText: \"Start\",\n otherItemText: \"Other (describe)\",\n noneItemText: \"None\",\n refuseItemText: \"Refuse to answer\",\n dontKnowItemText: \"Don't know\",\n selectAllItemText: \"Select All\",\n progressText: \"Page {0} of {1}\",\n indexText: \"{0} of {1}\",\n panelDynamicProgressText: \"{0} of {1}\",\n panelDynamicTabTextFormat: \"Panel {panelIndex}\",\n questionsProgressText: \"Answered {0}/{1} questions\",\n emptySurvey: \"The survey doesn't contain any visible elements.\",\n completingSurvey: \"Thank you for completing the survey\",\n completingSurveyBefore: \"You have already completed this survey.\",\n loadingSurvey: \"Loading Survey...\",\n placeholder: \"Select...\",\n ratingOptionsCaption: \"Select...\",\n value: \"value\",\n requiredError: \"Response required.\",\n requiredErrorInPanel: \"Response required: answer at least one question.\",\n requiredInAllRowsError: \"Response required: answer questions in all rows.\",\n eachRowUniqueError: \"Each row must have a unique value.\",\n numericError: \"The value should be numeric.\",\n minError: \"The value should not be less than {0}\",\n maxError: \"The value should not be greater than {0}\",\n textMinLength: \"Please enter at least {0} character(s).\",\n textMaxLength: \"Please enter no more than {0} character(s).\",\n textMinMaxLength: \"Please enter at least {0} and no more than {1} characters.\",\n minRowCountError: \"Please fill in at least {0} row(s).\",\n minSelectError: \"Please select at least {0} option(s).\",\n maxSelectError: \"Please select no more than {0} option(s).\",\n numericMinMax: \"The '{0}' should be at least {1} and at most {2}\",\n numericMin: \"The '{0}' should be at least {1}\",\n numericMax: \"The '{0}' should be at most {1}\",\n invalidEmail: \"Please enter a valid e-mail address.\",\n invalidExpression: \"The expression: {0} should return 'true'.\",\n urlRequestError: \"The request returned error '{0}'. {1}\",\n urlGetChoicesError: \"The request returned empty data or the 'path' property is incorrect\",\n exceedMaxSize: \"The file size should not exceed {0}.\",\n noUploadFilesHandler: \"Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event.\",\n otherRequiredError: \"Response required: enter another value.\",\n uploadingFile: \"Your file is uploading. Please wait several seconds and try again.\",\n loadingFile: \"Loading...\",\n chooseFile: \"Choose file(s)...\",\n noFileChosen: \"No file selected\",\n filePlaceholder: \"Drag and drop a file here or click the button below to select a file to upload.\",\n confirmDelete: \"Are you sure you want to delete this record?\",\n keyDuplicationError: \"This value should be unique.\",\n addColumn: \"Add Column\",\n addRow: \"Add Row\",\n removeRow: \"Remove\",\n emptyRowsText: \"There are no rows.\",\n addPanel: \"Add new\",\n removePanel: \"Remove\",\n showDetails: \"Show Details\",\n hideDetails: \"Hide Details\",\n choices_Item: \"item\",\n matrix_column: \"Column\",\n matrix_row: \"Row\",\n multipletext_itemname: \"text\",\n savingData: \"The results are being saved on the server...\",\n savingDataError: \"An error occurred and we could not save the results.\",\n savingDataSuccess: \"The results were saved successfully!\",\n savingExceedSize: \"Your response exceeds 64KB. Please reduce the size of your file(s) and try again or contact the survey owner.\",\n saveAgainButton: \"Try again\",\n timerMin: \"min\",\n timerSec: \"sec\",\n timerSpentAll: \"You have spent {0} on this page and {1} in total.\",\n timerSpentPage: \"You have spent {0} on this page.\",\n timerSpentSurvey: \"You have spent {0} in total.\",\n timerLimitAll: \"You have spent {0} of {1} on this page and {2} of {3} in total.\",\n timerLimitPage: \"You have spent {0} of {1} on this page.\",\n timerLimitSurvey: \"You have spent {0} of {1} in total.\",\n clearCaption: \"Clear\",\n signaturePlaceHolder: \"Sign here\",\n signaturePlaceHolderReadOnly: \"No signature\",\n chooseFileCaption: \"Select File\",\n takePhotoCaption: \"Take Photo\",\n photoPlaceholder: \"Click the button below to take a photo using the camera.\",\n fileOrPhotoPlaceholder: \"Drag and drop or select a file to upload or take a photo using the camera.\",\n replaceFileCaption: \"Replace file\",\n removeFileCaption: \"Remove this file\",\n booleanCheckedLabel: \"Yes\",\n booleanUncheckedLabel: \"No\",\n confirmRemoveFile: \"Are you sure that you want to remove this file: {0}?\",\n confirmRemoveAllFiles: \"Are you sure that you want to remove all files?\",\n questionTitlePatternText: \"Question Title\",\n modalCancelButtonText: \"Cancel\",\n modalApplyButtonText: \"Apply\",\n filterStringPlaceholder: \"Type to search...\",\n emptyMessage: \"No data to display\",\n noEntriesText: \"No entries yet.\\nClick the button below to add a new entry.\",\n noEntriesReadonlyText: \"No entries\",\n tabTitlePlaceholder: \"New Panel\",\n more: \"More\",\n tagboxDoneButtonCaption: \"OK\",\n selectToRankEmptyRankedAreaText: \"All choices are selected for ranking\",\n selectToRankEmptyUnrankedAreaText: \"Drag choices here to rank them\",\n ok: \"OK\",\n cancel: \"Cancel\",\n};\n\n// Uncomment the lines below if you create a custom dictionary.\n// Replace \"en\" with a custom locale code (for example, \"fr\" or \"de\"),\n// Replace `englishStrings` with the name of the variable that contains the custom dictionary.\n// surveyLocalization.locales[\"en\"] = englishStrings;\n// surveyLocalization.localeNames[\"en\"] = \"English\";\n","import { Base, EventBase } from \"./base\";\r\nimport { IAction } from \"./actions/action\";\r\nimport { property } from \"./jsonobject\";\r\nimport { VerticalPosition, HorizontalPosition, PositionMode } from \"./utils/popup\";\r\nimport { ConsoleWarnings } from \"./console-warnings\";\r\n\r\nexport interface IPopupOptionsBase {\r\n onHide?: () => void;\r\n onShow?: () => void;\r\n onCancel?: () => void;\r\n onDispose?: () => void;\r\n cssClass?: string;\r\n title?: string;\r\n verticalPosition?: VerticalPosition;\r\n horizontalPosition?: HorizontalPosition;\r\n showPointer?: boolean;\r\n isModal?: boolean;\r\n canShrink?: boolean;\r\n displayMode?: \"popup\" | \"overlay\";\r\n}\r\nexport interface IDialogOptions extends IPopupOptionsBase {\r\n componentName: string;\r\n data: any;\r\n onApply: () => boolean;\r\n isFocusedContent?: boolean;\r\n}\r\n\r\nexport class PopupModel<T = any> extends Base implements IPopupOptionsBase {\r\n public setWidthByTarget: boolean;\r\n public focusFirstInputSelector = \"\";\r\n public locale: string;\r\n public onCancel: () => void = () => { };\r\n public onApply: () => boolean = () => { return true; };\r\n public onHide: () => void = () => { };\r\n public onShow: () => void = () => { };\r\n public onDispose: () => void = () => { };\r\n\r\n @property() contentComponentName: string;\r\n @property() contentComponentData: T;\r\n @property({ defaultValue: \"bottom\" }) verticalPosition: VerticalPosition;\r\n @property({ defaultValue: \"left\" }) horizontalPosition: HorizontalPosition;\r\n @property({ defaultValue: true }) showPointer: boolean;\r\n @property({ defaultValue: false }) isModal: boolean;\r\n @property({ defaultValue: true }) canShrink: boolean;\r\n @property({ defaultValue: true }) isFocusedContent: boolean;\r\n @property({ defaultValue: true }) isFocusedContainer: boolean;\r\n @property({ defaultValue: \"\" }) cssClass: string;\r\n @property({ defaultValue: \"\" }) title: string;\r\n @property({ defaultValue: \"auto\" }) overlayDisplayMode: \"auto\" | \"overlay\" | \"dropdown-overlay\";\r\n @property({ defaultValue: \"popup\" }) displayMode: \"popup\" | \"overlay\";\r\n @property({ defaultValue: \"flex\" }) positionMode: PositionMode;\r\n\r\n public onVisibilityChanged: EventBase<PopupModel> = this.addEvent<PopupModel>();\r\n public onFooterActionsCreated: EventBase<Base> = this.addEvent<Base>();\r\n public onRecalculatePosition: EventBase<Base> = this.addEvent<Base>();\r\n\r\n private refreshInnerModel(): void {\r\n const innerModel = (this.contentComponentData as any)[\"model\"];\r\n innerModel && innerModel.refresh && innerModel.refresh();\r\n }\r\n\r\n constructor(\r\n contentComponentName: string,\r\n contentComponentData: T,\r\n option1?: IPopupOptionsBase | any,\r\n option2?: any\r\n ) {\r\n super();\r\n this.contentComponentName = contentComponentName;\r\n this.contentComponentData = contentComponentData;\r\n if (!!option1 && typeof option1 === \"string\") {\r\n this.verticalPosition = option1 as VerticalPosition;\r\n this.horizontalPosition = option2;\r\n } else if (!!option1) {\r\n const popupOptions = option1 as IPopupOptionsBase;\r\n for (var key in popupOptions) {\r\n (<any>this)[key] = (<any>popupOptions)[key];\r\n }\r\n }\r\n }\r\n public get isVisible(): boolean {\r\n return this.getPropertyValue(\"isVisible\", false);\r\n }\r\n public set isVisible(value: boolean) {\r\n if (this.isVisible === value) {\r\n return;\r\n }\r\n this.setPropertyValue(\"isVisible\", value);\r\n this.onVisibilityChanged.fire(this, { model: this, isVisible: value });\r\n }\r\n public toggleVisibility(): void {\r\n this.isVisible = !this.isVisible;\r\n }\r\n public show(): void {\r\n if (!this.isVisible)\r\n this.isVisible = true;\r\n }\r\n public hide(): void {\r\n if (this.isVisible)\r\n this.isVisible = false;\r\n }\r\n public recalculatePosition(isResetHeight: boolean): void {\r\n this.onRecalculatePosition.fire(this, { isResetHeight: isResetHeight });\r\n }\r\n public updateFooterActions(footerActions: Array<IAction>): Array<IAction> {\r\n const options = { actions: footerActions };\r\n this.onFooterActionsCreated.fire(this, options);\r\n return options.actions;\r\n }\r\n public onHiding(): void {\r\n this.refreshInnerModel();\r\n this.onHide();\r\n }\r\n public dispose(): void {\r\n super.dispose();\r\n this.onDispose();\r\n }\r\n}\r\n\r\nexport function createDialogOptions(\r\n componentName: string,\r\n data: any,\r\n onApply: () => boolean,\r\n onCancel?: () => void,\r\n onHide = () => { },\r\n onShow = () => { },\r\n cssClass?: string,\r\n title?: string,\r\n displayMode: \"popup\" | \"overlay\" = \"popup\"): IDialogOptions {\r\n ConsoleWarnings.warn(\"The `showModal()` and `createDialogOptions()` methods are obsolete. Use the `showDialog()` method instead.\");\r\n\r\n return <IDialogOptions>{\r\n componentName: componentName,\r\n data: data,\r\n onApply: onApply,\r\n onCancel: onCancel,\r\n onHide: onHide,\r\n onShow: onShow,\r\n cssClass: cssClass,\r\n title: title,\r\n displayMode: displayMode\r\n };\r\n}","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.question.isDisabledAttr}\n readOnly={this.question.isReadOnlyAttr}\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-errormessage={this.question.ariaErrormessage}\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-errormessage = { this.question.ariaErrormessage }\n checked={value === this.question.booleanValueRendered}\n disabled={this.question.isDisabledAttr}\n readOnly={this.question.isReadOnlyAttr}\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.question.swapOrder ?\n (<>{this.renderRadioItem(false, this.question.locLabelFalse)}\n {this.renderRadioItem(true, this.question.locLabelTrue)}</>)\n :\n (<>{this.renderRadioItem(true, this.question.locLabelTrue)}\n {this.renderRadioItem(false, this.question.locLabelFalse)}</>)\n }\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.question.isDisabledAttr}\n readOnly={this.question.isReadOnlyAttr}\n checked={this.question.booleanValue || false}\n onChange={this.handleOnChange}\n role={this.question.a11y_input_ariaRole}\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-describedby={this.question.a11y_input_ariaDescribedBy}\n aria-invalid={this.question.a11y_input_ariaInvalid}\n aria-errormessage={this.question.a11y_input_ariaErrormessage}\n />\n <div className={cssClasses.sliderGhost} onClick={(event) => this.handleOnLabelClick(event, this.question.swapOrder)}>\n <span className={this.question.getLabelCss(this.question.swapOrder)}>\n {this.renderLocString(this.question.locLabelLeft)}\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, !this.question.swapOrder)}>\n <span className={this.question.getLabelCss(!this.question.swapOrder)}>\n {this.renderLocString(this.question.locLabelRight)}\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>, this.item, { 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, (callback) => { setTimeout(callback); });\n }\n }\n componentWillUnmount() {\n super.componentWillUnmount();\n if (!!this.model.hasActions) {\n this.model.resetResponsivityManager();\n }\n }\n componentDidUpdate(prevProps: IActionBarProps, prevState: any): void {\n super.componentDidUpdate(prevProps, prevState);\n if(prevProps.model == this.props.model) {\n return;\n }\n if (!!this.model.hasActions) {\n this.model.resetResponsivityManager();\n const container: HTMLDivElement | null = this.rootRef.current;\n if(!!container) {\n this.model.initResponsivityManager(container, (callback) => { setTimeout(callback); });\n }\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, container: this.props.container, key: component.id });\n })}\n </>;\n }\n return <div className={\"sv-components-column\" + \" sv-components-container-\" + this.props.container}>\n {components.map(component => {\n return ReactElementFactory.Instance.createElement(component.component as string, { survey: this.props.survey, model: component.data, container: this.props.container, 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\";\nimport { attachKey2click } from \"../../reactSurvey\";\nimport { ReactSurveyElement } from \"../../reactquestion_element\";\nimport { QuestionFileModel } from \"survey-core\";\nimport { SvgIcon } from \"../svg-icon/svg-icon\";\nimport { ReactElementFactory } from \"../../element-factory\";\n\nexport class SurveyFileChooseButton extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n }\n protected get question(): QuestionFileModel {\n return (this.props.item && this.props.item.data.question) || this.props.data.question;\n }\n render() {\n return attachKey2click(\n <label\n tabIndex={0}\n className={this.question.getChooseFileCss()}\n htmlFor={this.question.inputId}\n aria-label={this.question.chooseButtonText}\n onClick={(e) => this.question.chooseFile(e.nativeEvent)}\n >\n {(!!this.question.cssClasses.chooseFileIconId) ? <SvgIcon title={this.question.chooseButtonText} iconName={this.question.cssClasses.chooseFileIconId} size={\"auto\"}></SvgIcon>: null }\n <span>{this.question.chooseButtonText}</span>\n </label>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\n \"sv-file-choose-btn\",\n (props) => {\n return React.createElement(SurveyFileChooseButton, props);\n }\n);","import React from \"react\";\nimport { SurveyElementBase } from \"../../reactquestion_element\";\nimport { QuestionFileModel } from \"survey-core\";\nimport { SvgIcon } from \"../svg-icon/svg-icon\";\nimport { ReactElementFactory } from \"../../element-factory\";\n\nexport class SurveyFilePreview extends SurveyElementBase<{ question: QuestionFileModel }, {}> {\n\n protected get question(): QuestionFileModel {\n return this.props.question;\n }\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\n protected renderElement(): JSX.Element | 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.previewItem}\n onClick={(event) => this.question.doDownloadFileFromContainer(event as any)}\n style={{ display: this.question.isPreviewVisible(index) ? undefined : \"none\" }}\n >\n {this.renderFileSign(this.question.cssClasses.fileSign, val)}\n <div className={this.question.getImageWrapperCss(val)}>\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.getRemoveButtonCss()} onClick={(event) => this.question.doRemoveFile(val, event)}>\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 protected canRender(): boolean {\n return this.question.showPreviewContainer;\n }\n}\nReactElementFactory.Instance.registerElement(\n \"sv-file-preview\",\n (props) => {\n return React.createElement(SurveyFilePreview, props);\n }\n);","import React from \"react\";\nimport { Base, SurveyModel, Cover, CoverCell } from \"survey-core\";\nimport { SurveyElementBase } from \"../reactquestion_element\";\nimport { ReactElementFactory } from \"../element-factory\";\nimport { TitleElement } from \"./title/title-element\";\n\nexport interface ILayoutElementProps<T = Base> {\n survey: SurveyModel;\n model: T;\n}\n\nexport class HeaderMobile extends React.Component<any, any> {\n get model(): Cover {\n return this.props.model;\n }\n private renderLogoImage(): JSX.Element | null {\n const componentName: string = this.model.survey.getElementWrapperComponentName(\n this.model.survey,\n \"logo-image\"\n );\n const componentData: any = this.model.survey.getElementWrapperComponentData(\n this.model.survey,\n \"logo-image\"\n );\n return ReactElementFactory.Instance.createElement(componentName, {\n data: componentData,\n });\n }\n\n render(): JSX.Element | null {\n return (<div className=\"sv-header--mobile\">\n {this.model.survey.hasLogo ? (<div className=\"sv-header__logo\">\n {this.renderLogoImage()}\n </div>) : null}\n {this.model.survey.hasTitle ? (<div className=\"sv-header__title\" style={{ maxWidth: this.model.textAreaWidth }}>\n {/* {ReactElementFactory.Instance.createElement(\"survey-element-title\", { element: this.model.survey })} */}\n <TitleElement element={this.model.survey}/>\n </div>) : null}\n {this.model.survey.renderedHasDescription ? (<div className=\"sv-header__description\" style={{ maxWidth: this.model.textAreaWidth }}>\n <div className={this.model.survey.css.description}>\n {SurveyElementBase.renderLocString(this.model.survey.locDescription)}\n </div>\n </div>) : null}\n </div>);\n }\n}\n\nexport class HeaderCell extends React.Component<any, any> {\n get model(): CoverCell {\n return this.props.model;\n }\n private renderLogoImage(): JSX.Element | null {\n const componentName: string = this.model.survey.getElementWrapperComponentName(\n this.model.survey,\n \"logo-image\"\n );\n const componentData: any = this.model.survey.getElementWrapperComponentData(\n this.model.survey,\n \"logo-image\"\n );\n return ReactElementFactory.Instance.createElement(componentName, {\n data: componentData,\n });\n }\n\n render(): JSX.Element | null {\n return (<div className={this.model.css} style={this.model.style}>\n <div className=\"sv-header__cell-content\" style={this.model.contentStyle}>\n {this.model.showLogo ? (<div className=\"sv-header__logo\">\n {this.renderLogoImage()}\n </div>) : null}\n {this.model.showTitle ? (<div className=\"sv-header__title\" style={{ maxWidth: this.model.textAreaWidth }}>\n {/* {ReactElementFactory.Instance.createElement(\"survey-element-title\", { element: this.model.survey })} */}\n <TitleElement element={this.model.survey}/>\n </div>) : null}\n {this.model.showDescription ? (<div className=\"sv-header__description\" style={{ maxWidth: this.model.textAreaWidth }}>\n <div className={this.model.survey.css.description}>\n {SurveyElementBase.renderLocString(this.model.survey.locDescription)}\n </div>\n </div>) : null}\n </div>\n </div>);\n }\n}\n\nexport class Header extends SurveyElementBase<ILayoutElementProps<Cover>, any> {\n get model(): Cover {\n return this.props.model;\n }\n protected getStateElement(): Base {\n return this.model;\n }\n\n renderElement(): JSX.Element | null {\n this.model.survey = this.props.survey;\n\n if(!(this.props.survey.headerView === \"advanced\")) {\n return null;\n }\n\n let headerContent: JSX.Element | null = null;\n if(this.props.survey.isMobile) {\n headerContent = <HeaderMobile model={this.model}/>;\n } else {\n headerContent = (<div className={this.model.contentClasses} style={{ maxWidth: this.model.maxWidth }}>\n {this.model.cells.map((cell, index) => <HeaderCell key={index} model={cell}/>)}\n </div>);\n }\n\n return (\n <div className={this.model.headerClasses} style={{ height: this.model.renderedHeight }}>\n {this.model.backgroundImage ? <div style={this.model.backgroundImageStyle} className={this.model.backgroundImageClasses}></div> : null}\n {headerContent}\n </div>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-header\", (props) => {\n return React.createElement(Header, props);\n});","import React from \"react\";\nimport { ListModel } from \"survey-core\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { SurveyElementBase } from \"../../reactquestion_element\";\nimport { SvgIcon } from \"../svg-icon/svg-icon\";\n\ninterface IListItemProps {\n model: ListModel;\n item: any;\n}\n\nexport class ListItemContent extends SurveyElementBase<IListItemProps, any> {\n get model(): ListModel {\n return this.props.model;\n }\n get item(): any {\n return this.props.item;\n }\n getStateElement() {\n return this.item;\n }\n render(): JSX.Element | null {\n if (!this.item) return null;\n\n const content: Array<JSX.Element> = [];\n const text = this.renderLocString(this.item.locTitle, undefined, \"locString\");\n if(this.item.iconName) {\n const icon = <SvgIcon\n key={\"icon\"}\n className={this.model.cssClasses.itemIcon}\n iconName={this.item.iconName}\n size={this.item.iconSize}\n aria-label={this.item.title}\n ></SvgIcon>;\n content.push(icon);\n content.push(<span key={\"text\"}>{text}</span>);\n } else {\n content.push(text);\n }\n\n if(this.item.markerIconName) {\n const icon = <SvgIcon\n key={\"marker\"}\n className={this.item.cssClasses.itemMarkerIcon}\n iconName={this.item.markerIconName}\n size={this.item.markerIconSize}\n ></SvgIcon>;\n content.push(icon);\n }\n\n return <>\n {content}\n </>;\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-list-item-content\", (props) => {\n return React.createElement(ListItemContent, props);\n});\n","import React from \"react\";\nimport { ListModel } from \"survey-core\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { SurveyElementBase } from \"../../reactquestion_element\";\nimport { Popup } from \"../popup/popup\";\n\ninterface IListItemProps {\n model: ListModel;\n item: any;\n}\n\nexport class ListItemGroup extends SurveyElementBase<IListItemProps, any> {\n get model(): ListModel {\n return this.props.model;\n }\n get item(): any {\n return this.props.item;\n }\n getStateElement() {\n return this.item;\n }\n render(): JSX.Element | null {\n if (!this.item) return null;\n\n const newElement = ReactElementFactory.Instance.createElement(\"sv-list-item-content\", { item: this.item, key: \"content\" + this.item.id, model: this.model });\n return <>\n {newElement}\n <Popup model={this.item?.popupModel}></Popup>\n </>;\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-list-item-group\", (props) => {\n return React.createElement(ListItemGroup, 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\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 itemContent = this.item.component || \"sv-list-item-content\";\r\n const newElement = ReactElementFactory.Instance.createElement(itemContent, { item: this.item, key: this.item.id, model: this.model });\r\n const contentWrap =\r\n <div\r\n style={contentWrapStyle}\r\n className={this.model.cssClasses.itemBody}\r\n title={this.item.locTitle.calculatedText}\r\n onMouseOver={(event: any) => { this.model.onItemHover(this.item); }}\r\n onMouseLeave={(event: any) => { this.model.onItemLeave(this.item); }}\r\n >\r\n {newElement}\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>, this.item\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 componentWillUnmount(): void {\r\n super.componentWillUnmount();\r\n if(!!this.model) {\r\n this.model.initListContainerHtmlElement(undefined as any);\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 * as React from \"react\";\nimport { SvgIcon } from \"./svg-icon/svg-icon\";\n\nexport class LoadingIndicatorComponent extends React.Component<any, any> {\n render(): JSX.Element | null {\n return (<div className=\"sd-loading-indicator\"><SvgIcon iconName=\"icon-loading\" size=\"auto\"></SvgIcon></div>);\n }\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 private root: React.RefObject<HTMLTableRowElement> = React.createRef();\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 componentDidMount(): void {\n super.componentDidMount();\n if(this.root.current) {\n this.model.setRootElement(this.root.current);\n }\n }\n\n componentWillUnmount(): void {\n super.componentWillUnmount();\n this.model.setRootElement(undefined as any);\n }\n\n public shouldComponentUpdate(nextProps: any, nextState: any): boolean {\n if (!super.shouldComponentUpdate(nextProps, nextState)) return false;\n if (nextProps.model !== this.model) {\n if(nextProps.element) {\n nextProps.element.setRootElement(this.root.current);\n }\n if(this.model) {\n this.model.setRootElement(undefined as any);\n }\n }\n return true;\n }\n\n render() {\n const model = this.model;\n if(!model.visible) return null;\n return (\n <tr\n ref={this.root}\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 const btnText = this.renderLocString(this.question.locPanelAddText);\n return (\n <button type=\"button\" className={this.question.getAddButtonCss()} onClick={this.handleClick} >\n <span className={this.question.cssClasses.buttonAddText}>{btnText}</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 const btnText = this.renderLocString(this.question.locPanelRemoveText);\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 >{btnText}</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 getArea?: (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(\n container,\n this.props.getTarget ? this.props.getTarget(container) : undefined,\n this.props.getArea ? this.props.getArea(container) : undefined\n );\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 componentWillUnmount(): void {\n super.componentWillUnmount();\n this.popup.resetComponentElement();\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 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.model.isPositionSet && this.model.isVisible) {\n this.model.updateOnShowing();\n }\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 const popupViewModel: PopupBaseViewModel = createPopupModalViewModel(dialogOptions, rootElement);\n const onVisibilityChangedCallback = (\n _: PopupBaseViewModel,\n options: { isVisible: boolean }\n ) => {\n if (!options.isVisible) {\n ReactDOM.unmountComponentAtNode(popupViewModel.container);\n popupViewModel.dispose();\n }\n };\n popupViewModel.onVisibilityChanged.add(onVisibilityChangedCallback);\n\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 { SurveyError } from \"survey-core\";\nimport { ReactElementFactory } from \"../element-factory\";\nimport { SurveyLocStringViewer } from \"../string-viewer\";\n\nexport interface IQuestionErrorComponentProps {\n error: SurveyError;\n cssClasses: any;\n element: any;\n}\n\nexport class QuestionErrorComponent extends React.Component<IQuestionErrorComponentProps, any> {\n render(): JSX.Element | null {\n return (\n <div>\n <span className={this.props.cssClasses.error.icon || undefined} aria-hidden=\"true\" />\n <span className={this.props.cssClasses.error.item || undefined}>\n <SurveyLocStringViewer locStr={this.props.error.locText} />\n </span>\n </div>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-question-error\", (props) => {\n return React.createElement(QuestionErrorComponent, props);\n});","import React from \"react\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { SurveyElementBase } from \"../../reactquestion_element\";\n\ninterface IRatingItemProps {\n item: any;\n}\n\nexport class RatingDropdownItem extends SurveyElementBase<IRatingItemProps, any> {\n get item(): any {\n return this.props.item;\n }\n getStateElement() {\n return this.item;\n }\n render(): JSX.Element | null {\n if (!this.item) return null;\n const item = this.props.item;\n const description = this.renderDescription(item);\n\n return (\n <div className=\"sd-rating-dropdown-item\">\n <span className=\"sd-rating-dropdown-item_text\">{item.title}</span>\n {description}\n </div>\n );\n }\n renderDescription(item: any) {\n if(!item.description) return null;\n\n return (\n <div className=\"sd-rating-dropdown-item_description\">\n {this.renderLocString(item.description, undefined, \"locString\")}\n </div>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-rating-dropdown-item\", (props) => {\n return React.createElement(RatingDropdownItem, 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 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) as any}\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.questionName}\n id={this.question.getInputId(this.index)}\n value={this.item.value}\n disabled={this.question.isDisabledAttr}\n readOnly={this.question.isReadOnlyAttr}\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-errormessage={this.question.ariaErrormessage}\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.questionName}\n id={this.question.getInputId(this.index)}\n value={this.item.value}\n disabled={this.question.isDisabledAttr}\n readOnly={this.question.isReadOnlyAttr}\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-errormessage={this.question.ariaErrormessage}\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.questionName}\n id={this.question.getInputId(this.index)}\n value={this.item.value}\n disabled={this.question.isDisabledAttr}\n readOnly={this.question.isReadOnlyAttr}\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-errormessage={this.question.ariaErrormessage}\n />\n <span className={this.question.cssClasses.itemText} data-text={this.item.text}>{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 ? <div className={this.css.description}>{description}</div> : 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\"><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 chevronPointerDown = (event: any) => {\n this.question.dropdownListModel?.chevronPointerDown(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 renderReadOnlyElement(): JSX.Element | null {\n return <div>{this.question.readOnlyText}</div>;\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}\n aria-label={this.question.a11y_input_ariaLabel}\n aria-labelledby={this.question.a11y_input_ariaLabelledBy}\n aria-describedby={this.question.a11y_input_ariaDescribedBy}\n tabIndex={this.question.isDisabledAttr ? undefined : 0}\n className={this.question.getControlClass()}>\n {text}\n {this.renderReadOnlyElement()}\n </div>;\n } else {\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.noTabIndex ? undefined : 0}\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n disabled={this.question.isDisabledAttr}\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-errormessage={this.question.ariaErrormessage}\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-expanded={this.question.ariaExpanded === null ? undefined : this.question.ariaExpanded === \"true\"}\n aria-label={this.question.a11y_input_ariaLabel}\n aria-labelledby={this.question.a11y_input_ariaLabelledBy}\n aria-describedby={this.question.a11y_input_ariaDescribedBy}\n aria-controls={dropdownListModel.listElementId}\n aria-activedescendant={dropdownListModel.ariaActivedescendant}\n placeholder={dropdownListModel.placeholderRendered}\n readOnly={dropdownListModel.filterReadOnly ? true : undefined}\n tabIndex={dropdownListModel.noTabIndex ? undefined : -1}\n disabled={this.question.isDisabledAttr}\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.showClearButton ? \"none\" : \"\" };\n return (\n <div\n className={this.question.cssClasses.cleanButton}\n style={style}\n onClick={this.clear}\n aria-hidden=\"true\"\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 aria-hidden=\"true\"\n onPointerDown={this.chevronPointerDown}>\n <SvgIcon\n className={this.question.cssClasses.chevronButtonSvg}\n iconName={this.question.cssClasses.chevronButtonIconId}\n size={\"auto\"}\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, false)) {\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-errormessage={this.question.ariaErrormessage}\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.hasAdditionalTitleToolbar ? <SurveyActionBar model={element.additionalTitleToolbar}></SurveyActionBar> : null;\n\n const headerStyle: any = { width: undefined };\n if(element instanceof Question) {\n headerStyle.width = element.titleWidth;\n }\n\n return (\n <div className={element.cssHeader} onClick={(e) => element.clickTitleFunction && element.clickTitleFunction(e.nativeEvent)} style={headerStyle}>\n {title}\n {description}\n {additionalTitleToolbarElement}\n </div>\n );\n }\n}","import * as React from \"react\";\nimport { ISurveyCreator } from \"./reactquestion\";\nimport { SurveyModel, Question, QuestionRowModel, IElement, Base, PanelModel } from \"survey-core\";\nimport { SurveyElementBase } from \"./reactquestion_element\";\nimport { ReactElementFactory } from \"./element-factory\";\nimport { ReactSurveyElementsWrapper } from \"./reactsurveymodel\";\n\nexport class SurveyRowElement extends SurveyElementBase<any, any> {\n private rootRef: React.RefObject<HTMLDivElement>;\n constructor(props: any) {\n super(props);\n (this.element as Question).cssClasses;\n this.rootRef = React.createRef();\n }\n protected getStateElement(): any {\n return this.element;\n }\n private get element(): PanelModel | Question {\n return this.props.element as any;\n }\n private get index(): number {\n return this.props.index;\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\n componentDidMount(): void {\n super.componentDidMount();\n if(this.rootRef.current) {\n (this.element).setWrapperElement(this.rootRef.current);\n }\n }\n\n componentWillUnmount(): void {\n super.componentWillUnmount();\n this.element.setWrapperElement(undefined);\n }\n\n public shouldComponentUpdate(nextProps: any, nextState: any): boolean {\n if (!super.shouldComponentUpdate(nextProps, nextState)) return false;\n if (nextProps.element !== this.element) {\n if(nextProps.element) {\n nextProps.element.setWrapperElement(this.rootRef.current);\n }\n if(this.element) {\n this.element.setWrapperElement(undefined);\n }\n }\n\n (this.element as Question).cssClasses;\n return true;\n }\n\n protected renderElement(): JSX.Element {\n const element = this.element;\n const innerElement = this.createElement(element, this.index);\n const css = (element as Question).cssClassesValue;\n const focusIn = () => {\n const el: any = element;\n if (el && 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 ref={this.rootRef}\n >\n {this.row.isNeedRender ? innerElement : ReactElementFactory.Instance.createElement(element.skeletonComponentName, { element: element, css: this.css, })}\n </div>\n );\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 { 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 className=\"sv-hidden\">{this.question.locTitle.renderedHtml}</legend>\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.isReadOnlyAttr) return;\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 readOnly={this.question.isReadOnlyAttr}\n onChange={this.handleOnChange}\n aria-required={this.question.ariaRequired}\n aria-label={this.question.ariaLabel}\n aria-invalid={this.question.ariaInvalid}\n aria-errormessage={this.question.ariaErrormessage}\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\";\nimport { SurveyElementErrors } from \"./reactquestion\";\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\n // shouldComponentUpdate(nextProps: any, nextState: any): boolean {\n // if(!super.shouldComponentUpdate(nextProps, nextState)) return false;\n // return true;\n // }\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 const errors = (\n <SurveyElementErrors\n element={this.panelBase}\n cssClasses={this.panelBase.cssClasses}\n creator={this.creator}\n />\n );\n return (\n <div ref={this.rootRef} className={this.page.cssRoot}>\n {title}\n {description}\n {errors}\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.activePage &&\n prevProps.page.id === this.survey.activePage.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\n protected getIsVisible() {\n return this.panelBase.isVisible;\n }\n\n protected canRender(): boolean {\n return (\n super.canRender() && !!this.survey && !!this.panelBase && !!this.panelBase.survey && this.getIsVisible()\n );\n }\n protected renderRows(css: any): Array<JSX.Element> {\n return this.panelBase.visibleRows.map((row) => this.createRow(row, css));\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.renderedIsExpanded ? undefined : \"none\",\n };\n let content: JSX.Element | null = null;\n if (this.panel.renderedIsExpanded) {\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 protected getIsVisible(): boolean {\n return this.panelBase.getIsContentVisible();\n }\n\n}\n\nReactElementFactory.Instance.registerElement(\"panel\", (props) => {\n return React.createElement(SurveyPanel, props);\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(this.props.container)}>\n <div\n style={progressStyle}\n className={this.css.progressBar}\n role=\"progressbar\"\n aria-valuemin={0}\n aria-valuemax={100}\n aria-label=\"progress\"\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 { ProgressButtons, PageModel, ProgressButtonsResponsivityManager, IProgressButtonsViewModel } from \"survey-core\";\nimport { SurveyNavigationBase } from \"./reactSurveyNavigationBase\";\nimport { ReactElementFactory } from \"./element-factory\";\nimport { SurveyElementBase } from \"./reactquestion_element\";\n\nexport class SurveyProgressButtons extends SurveyNavigationBase implements IProgressButtonsViewModel {\n private respManager: ProgressButtonsResponsivityManager;\n private listContainerRef: React.RefObject<HTMLDivElement>;\n constructor(props: any) {\n super(props);\n this.listContainerRef = React.createRef();\n }\n protected get model(): ProgressButtons {\n return this.props.model;\n }\n get container(): string {\n return this.props.container;\n }\n onResize(canShowItemTitles: boolean): void {\n this.setState({ canShowItemTitles });\n this.setState({ canShowHeader: !canShowItemTitles });\n }\n onUpdateScroller(hasScroller: boolean): void {\n this.setState({ hasScroller });\n }\n onUpdateSettings(): void {\n this.setState({ canShowItemTitles: this.model.showItemTitles });\n this.setState({ canShowFooter: !this.model.showItemTitles });\n }\n render(): JSX.Element {\n return (\n <div className={this.model.getRootCss(this.props.container)} style={{ \"maxWidth\": this.model.progressWidth }} role=\"progressbar\" aria-valuemin={0} aria-valuemax={100} aria-label=\"progress\">\n {this.state.canShowHeader ? <div className={this.css.progressButtonsHeader}>\n <div className={this.css.progressButtonsPageTitle} title={this.model.headerText}>{this.model.headerText}</div>\n </div> : null}\n <div className={this.css.progressButtonsContainer}>\n <div\n className={this.model.getScrollButtonCss(this.state.hasScroller, 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.model.getScrollButtonCss(this.state.hasScroller, false)}\n role=\"button\"\n onClick={() =>\n this.clickScrollButton(this.listContainerRef.current, false)\n }\n ></div>\n </div>\n {this.state.canShowFooter ? <div className={this.css.progressButtonsFooter}>\n <div className={this.css.progressButtonsPageTitle} title={this.model.footerText}>{this.model.footerText}</div>\n </div> : null}\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 const text = SurveyElementBase.renderLocString(page.locNavigationTitle);\n return (\n <li\n key={\"listelement\" + index}\n className={this.model.getListElementCss(index)}\n onClick={\n this.model.isListElementClickable(index)\n ? () => this.model.clickListElement(page)\n : undefined\n }\n data-page-number={this.model.getItemNumber(page)}\n >\n <div className={this.css.progressButtonsConnector}></div>\n {this.state.canShowItemTitles ? <>\n <div\n className={this.css.progressButtonsPageTitle}\n title={page.renderedNavigationTitle}\n >\n {text}\n </div>\n <div\n className={this.css.progressButtonsPageDescription}\n title={page.navigationDescription}\n >\n {page.navigationDescription}\n </div>\n </> : null}\n <div className={this.css.progressButtonsButton}><div className={this.css.progressButtonsButtonBackground}></div><div className={this.css.progressButtonsButtonContent}></div><span>{this.model.getItemNumber(page)}</span></div>\n </li>\n );\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 super.componentDidMount();\n setTimeout(() => {\n this.respManager = new ProgressButtonsResponsivityManager(this.model, this.listContainerRef.current as any, this);\n }, 10);\n }\n componentWillUnmount() {\n if(!!this.respManager) {\n this.respManager.dispose();\n }\n super.componentWillUnmount();\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 = 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-navigation-toc\", (props) => {\n return React.createElement(SurveyProgressToc, 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 * from \"./components/rating/rating-dropdown-item\";\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 { Base, PopupSurveyModel } from \"survey-core\";\nimport { Survey } from \"./reactSurvey\";\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.renderBody();\n let style: React.CSSProperties = {};\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} onScroll={() => this.popup.onScroll()}>\n <div className={this.popup.cssRootContent}>\n {header}\n {body}\n </div>\n </div>\n );\n }\n protected renderWindowHeader(): JSX.Element {\n var popup = this.popup;\n var headerCss = popup.cssHeaderRoot;\n var titleCollapsed: JSX.Element | null = null;\n var expandCollapseIcon;\n var closeButton: JSX.Element | null = null;\n var allowFullScreenButon: JSX.Element | null = null;\n\n if (popup.isCollapsed) {\n headerCss += \" \" + popup.cssRootCollapsedMod;\n titleCollapsed = this.renderTitleCollapsed(popup);\n expandCollapseIcon = this.renderExpandIcon();\n } else {\n expandCollapseIcon = this.renderCollapseIcon();\n }\n\n if (popup.allowClose) {\n closeButton = this.renderCloseButton(this.popup);\n }\n\n if (popup.allowFullScreen) {\n allowFullScreenButon = this.renderAllowFullScreenButon(this.popup);\n }\n\n return (\n <div className={popup.cssHeaderRoot}>\n {titleCollapsed}\n <div className={popup.cssHeaderButtonsContainer}>\n {allowFullScreenButon}\n <div className={popup.cssHeaderCollapseButton} onClick={this.handleOnExpanded}>\n {expandCollapseIcon}\n </div>\n {closeButton}\n </div>\n </div>\n );\n }\n protected renderTitleCollapsed(popup: PopupSurveyModel): JSX.Element | null {\n if (!popup.locTitle) return null;\n return <div className={popup.cssHeaderTitleCollapsed}>{popup.locTitle.renderedHtml}</div>;\n }\n protected renderExpandIcon(): JSX.Element {\n return <SvgIcon iconName={\"icon-restore_16x16\"} size={16}></SvgIcon>;\n }\n protected renderCollapseIcon(): JSX.Element {\n return <SvgIcon iconName={\"icon-minimize_16x16\"} size={16}></SvgIcon>;\n }\n protected renderCloseButton(popup: PopupSurveyModel): JSX.Element {\n return (\n <div className={popup.cssHeaderCloseButton} onClick={() => { popup.hide(); }}>\n <SvgIcon iconName={\"icon-close_16x16\"} size={16}></SvgIcon>\n </div>\n );\n }\n protected renderAllowFullScreenButon(popup: PopupSurveyModel): JSX.Element {\n let Icon;\n\n if (popup.isFullScreen) {\n Icon = <SvgIcon iconName={\"icon-back-to-panel_16x16\"} size={16}></SvgIcon>;\n } else {\n Icon = <SvgIcon iconName={\"icon-full-screen_16x16\"} size={16}></SvgIcon>;\n }\n\n return (\n <div className={popup.cssHeaderFullScreenButton} onClick={() => { popup.toggleFullScreen(); }}>\n {Icon}\n </div>\n );\n }\n protected renderBody(): JSX.Element {\n return <div className={this.popup.cssBody}>{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.allowFullScreen = newProps.allowFullScreen;\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 { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { ReactElementFactory } from \"./element-factory\";\nimport { BrandInfo } from \"./components/brand-info\";\nimport { NotifierComponent } from \"./components/notifier\";\nimport { ComponentsContainer } from \"./components/components-container\";\nimport { SvgBundleComponent } from \"./svgbundle\";\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.renderCallback = undefined as any;\n this.survey.onPartialSend.clear();\n this.survey.stopTimer();\n this.survey.destroyResizeObserver();\n }\n }\n componentWillUnmount() {\n super.componentWillUnmount();\n this.destroySurvey();\n }\n doRender(): JSX.Element {\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 if (this.survey.state == \"empty\") {\n renderResult = this.renderEmptySurvey();\n } else {\n renderResult = this.renderSurvey();\n }\n const backgroundImage = !!this.survey.backgroundImage ? <div className={this.css.rootBackgroundImage} style={this.survey.backgroundImageStyle}></div> : null;\n const header: JSX.Element | null = this.survey.headerView === \"basic\" ? <SurveyHeader survey={this.survey}></SurveyHeader> : null;\n\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} lang={this.survey.locale || \"en\"} dir={this.survey.localeDir}>\n {this.survey.needRenderIcons ? <SvgBundleComponent></SvgBundleComponent> : null }\n <div className={this.survey.wrapperFormCss}>\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 </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 <ComponentsContainer survey={this.survey} container={\"completePage\"} needRenderWrapper={false}></ComponentsContainer>\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.survey.completedBeforeCss} />\n );\n }\n protected renderLoading(): JSX.Element {\n var htmlValue = { __html: this.survey.processedLoadingHtml };\n return (\n <div dangerouslySetInnerHTML={htmlValue} className={this.survey.loadingBodyCss} />\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 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 className=\"sv-components-column sv-components-column--expandable\">\n <ComponentsContainer survey={this.survey} container={\"center\"}></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 </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 <div className={this.css.bodyEmpty}>{this.survey.emptySurveyText}</div>;\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 element?: any\n ): JSX.Element {\n return ReactElementFactory.Instance.createElement(this.survey.questionErrorComponent, { key: key, error, cssClasses, element });\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 {\n Base,\n SurveyElement,\n SurveyError,\n Question,\n QuestionMatrixDropdownRenderedCell,\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, element?: 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 );\n }\n\n protected renderQuestionContent(): JSX.Element {\n let question = this.question;\n var contentStyle = {\n display: this.question.renderedIsExpanded ? \"\" : \"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 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 {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-describedby={question.ariaDescribedBy}\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 }\n protected get id(): string {\n return this.props.element.id + \"_errors\";\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 componentWillUnmount() {\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, this.element)\n );\n }\n\n return (\n <div\n role=\"alert\"\n aria-live=\"polite\"\n className={this.element.cssError}\n id={this.id}\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 renderContent(): JSX.Element {\n var renderedQuestion = this.renderQuestion();\n return (\n <>\n {renderedQuestion}\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 renderCellContent(): JSX.Element {\n return (\n <div className={this.props.cell.cellQuestionWrapperClassName}>\n {this.renderQuestion()}\n </div>\n );\n }\n protected renderElement(): JSX.Element {\n var style = this.getCellStyle();\n const cell = this.props.cell;\n const focusIn = () => { cell.focusIn(); };\n return (\n <td\n ref={this.cellRef}\n className={this.itemCss}\n colSpan={cell.colSpans}\n title={cell.getTitle()}\n style={style}\n onFocus={focusIn}\n >\n {this.wrapCell(this.props.cell, this.renderCellContent())}\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\nexport class SurveyQuestionErrorCell extends React.Component<any, any> {\n constructor(props: any) {\n super(props);\n this.state = {\n changed: 0\n };\n if(this.question) {\n this.registerCallback(this.question);\n }\n }\n private get question(): Question {\n return this.props.question;\n }\n private update() {\n this.setState({ changed: this.state.changed + 1 });\n }\n private registerCallback(question: Question) {\n question.registerFunctionOnPropertyValueChanged(\"errors\", () => {\n this.update();\n }, \"__reactSubscription\");\n }\n private unRegisterCallback(question: Question) {\n question.unRegisterFunctionOnPropertyValueChanged(\"errors\", \"__reactSubscription\");\n }\n componentDidUpdate(prevProps: Readonly<any>): void {\n if(prevProps.question && prevProps.question !== this.question) {\n this.unRegisterCallback(prevProps.cell);\n }\n if(this.question) {\n this.registerCallback(this.question);\n }\n }\n componentWillUnmount(): void {\n if(this.question) {\n this.unRegisterCallback(this.question);\n }\n }\n render(): JSX.Element {\n return <SurveyElementErrors element={this.question} creator={this.props.creator} cssClasses={this.question.cssClasses}></SurveyElementErrors>;\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-errormessage={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 className={this.question.getSelectBaseRootCss()}\n ref={(fieldset) => (this.setControl(fieldset))}\n role={this.question.a11y_input_ariaRole}\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-describedby={this.question.a11y_input_ariaDescribedBy}\n aria-invalid={this.question.a11y_input_ariaInvalid}\n aria-errormessage={this.question.a11y_input_ariaErrormessage}\n >\n <legend className={\"sv-hidden\"}>{this.question.locTitle.renderedHtml}</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 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 const id = this.question.getItemId(this.item);\n const itemClass = this.question.getItemClass(this.item);\n const labelClass = this.question.getLabelClass(this.item);\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}>\n <input\n className={this.cssClasses.itemControl}\n type=\"checkbox\"\n name={this.question.name + this.item.id}\n value={this.item.value}\n id={id}\n style={this.inputStyle}\n disabled={!this.question.getItemEnabled(this.item)}\n readOnly={this.question.isReadOnlyAttr}\n checked={isChecked}\n onChange={this.handleOnChange}\n required={this.question.hasRequiredError()}\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, Helpers } 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 const onBlur: ((e: any) => void) | undefined = !this.question.isInputTextUpdate ? this.updateValueOnEvent : undefined;\n const 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.isDisabledAttr}\n readOnly={this.question.isReadOnlyAttr}\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-describedby={this.question.a11y_input_ariaDescribedBy}\n aria-invalid={this.question.a11y_input_ariaInvalid}\n aria-errormessage={this.question.a11y_input_ariaErrormessage}\n style={{ resize: this.question.resizeStyle }}\n />\n {counter}\n </>\n );\n }\n}\n\nexport class SurveyQuestionCommentItem extends ReactSurveyElement {\n private control: HTMLElement;\n constructor(props: any) {\n super(props);\n this.state = { comment: this.getComment() || \"\" };\n }\n componentDidUpdate(prevProps: any, prevState: any): void {\n super.componentDidUpdate(prevProps, prevState);\n this.updateDomElement();\n }\n componentDidMount(): void {\n super.componentDidMount();\n this.updateDomElement();\n }\n protected updateDomElement(): void {\n if (!!this.control) {\n const control: any = this.control;\n const newValue = this.getComment() || \"\";\n if (!Helpers.isTwoValueEquals(newValue, control.value, false, true, false)) {\n control.value = newValue;\n }\n }\n }\n protected setControl(element: HTMLElement | null): void {\n if(!!element) {\n this.control = element;\n }\n }\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 setComment(value: any): void {\n this.props.question.comment = value;\n }\n protected getId(): string {\n return this.props.question.commentId;\n }\n protected getPlaceholder(): string {\n return this.props.question.renderedCommentPlaceholder;\n }\n protected renderElement(): JSX.Element {\n const question = this.props.question;\n let className = this.props.otherCss || this.cssClasses.comment;\n if (question.isReadOnlyRenderDiv()) {\n const comment = this.getComment() || \"\";\n return <div>{comment}</div>;\n }\n return (\n <textarea\n id={this.getId()}\n className={className}\n ref={(textarea) => (this.setControl(textarea))}\n disabled={this.isDisplayMode}\n maxLength={question.getOthersMaxLength()}\n rows={question.commentAreaRows}\n placeholder={this.getPlaceholder()}\n onBlur={(e) => { this.onCommentChange(e); }}\n onInput={(e) => this.onCommentInput(e)}\n aria-required={question.isRequired || question.a11y_input_ariaRequired}\n aria-label={question.ariaLabel || question.a11y_input_ariaLabel}\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 setComment(value: any): void {\n this.props.question.otherValue = value;\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\" }} id={question.ariaDescriptionId} 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 this.getStateElements().forEach((el) => {\n el.afterRerender();\n });\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 els[i].enableOnElementRenderedEvent();\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 els[i].disableOnElementRenderedEvent();\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\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, false)\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, false)) {\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\";\nimport { LoadingIndicatorComponent } from \"./components/loading-indicator\";\nimport { SurveyAction } from \"./components/action-bar/action-bar-item\";\nimport { ReactElementFactory, SurveyFileChooseButton } from \"../entries/react-ui-model\";\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 const preview = this.question.allowShowPreview ? this.renderPreview() : null;\n const loadingIndicator = this.question.showLoadingIndicator ? this.renderLoadingIndicator() : null;\n const video = this.question.isPlayingVideo ? this.renderVideo() : null;\n const fileDecorator = this.question.showFileDecorator ? this.renderFileDecorator() : null;\n const clearButton = this.question.showRemoveButton ? this.renderClearButton(\n this.question.cssClasses.removeButton\n ) : null;\n const clearButtonBottom = this.question.showRemoveButtonBottom ? this.renderClearButton(\n this.question.cssClasses.removeButtonBottom\n ): null;\n const fileNavigator = this.question.fileNavigatorVisible?(<SurveyActionBar model = {this.question.fileNavigator}></SurveyActionBar>) : null;\n let fileInput;\n if (this.question.isReadOnlyAttr) {\n fileInput = <input\n readOnly\n type=\"file\"\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 multiple={this.question.allowMultiple}\n placeholder={this.question.title}\n accept={this.question.acceptedTypes}\n />;\n } else if (this.question.isDisabledAttr) {\n fileInput = <input\n disabled\n type=\"file\"\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 multiple={this.question.allowMultiple}\n placeholder={this.question.title}\n accept={this.question.acceptedTypes}\n />;\n } else if (this.question.hasFileUI) {\n fileInput = <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 aria-required={this.question.ariaRequired}\n aria-label={this.question.ariaLabel}\n aria-invalid={this.question.ariaInvalid}\n aria-errormessage={this.question.ariaErrormessage}\n multiple={this.question.allowMultiple}\n title={this.question.inputTitle}\n accept={this.question.acceptedTypes}\n capture={this.question.renderCapture}\n />;\n } else {\n fileInput = null;\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 {loadingIndicator}\n {video}\n {clearButton}\n {preview}\n {clearButtonBottom}\n {fileNavigator}\n </div>\n </div>\n );\n }\n protected renderFileDecorator(): JSX.Element {\n const chooseButton = this.question.showChooseButton ? this.renderChooseButton() : null;\n const actionsContainer = this.question.actionsContainerVisible ? <SurveyActionBar model={this.question.actionsContainer}></SurveyActionBar> : null;\n const noFileChosen = this.question.isEmpty() ? (\n <span className={this.question.cssClasses.noFileChosen}>\n {this.question.noFileChosenCaption}\n </span>) : null;\n return (\n <div\n className={this.question.getFileDecoratorCss()}\n >\n <span className={this.question.cssClasses.dragAreaPlaceholder}>{this.renderLocString(this.question.locRenderedPlaceholder)}</span>\n <div className={this.question.cssClasses.wrapper}>\n {chooseButton}\n {actionsContainer}\n {noFileChosen}\n </div>\n </div>\n );\n }\n protected renderChooseButton(): JSX.Element {\n return <SurveyFileChooseButton data={{ question: this.question }}></SurveyFileChooseButton>;\n }\n protected renderClearButton(className: string): JSX.Element | null {\n return !this.question.isUploading ? (\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 renderPreview(): JSX.Element {\n return ReactElementFactory.Instance.createElement(\"sv-file-preview\", { question: this.question });\n }\n protected renderLoadingIndicator(): JSX.Element {\n return <div className={this.question.cssClasses.loadingIndicator}><LoadingIndicatorComponent></LoadingIndicatorComponent></div>;\n }\n protected renderVideo(): JSX.Element {\n return (<div className={this.question.cssClasses.videoContainer}>\n <SurveyAction item={this.question.changeCameraAction}></SurveyAction>\n <SurveyAction item={this.question.closeCameraAction}></SurveyAction>\n <video autoPlay playsInline id={this.question.videoId} className={this.question.cssClasses.video}></video>\n <SurveyAction item={this.question.takePictureAction}></SurveyAction>\n </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, ItemValue, Base } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { ReactSurveyElementsWrapper } from \"./reactsurveymodel\";\nimport { ReactElementFactory } from \"./element-factory\";\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 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 className=\"sv-hidden\">{this.question.locTitle.renderedHtml}</legend>\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 }\n protected getStateElement(): Base | null {\n if(!!this.row) return this.row.item;\n return super.getStateElement();\n }\n private get question(): QuestionMatrixModel {\n return this.props.question;\n }\n private get row(): MatrixRowModel {\n return this.props.row;\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.row.rowTextClasses}>\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(): Array<JSX.Element> {\n const tds:Array<JSX.Element> = [];\n const row = this.row;\n const cellComponent = this.question.cellComponent;\n for (var i = 0; i < this.question.visibleColumns.length; i++) {\n let td: JSX.Element | null = null;\n const column = this.question.visibleColumns[i];\n const key = \"value\" + i;\n\n let itemClass = this.question.getItemClass(row, column);\n if (this.question.hasCellText) {\n const getHandler = (column: any) => () => this.cellClick(row, column);\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 const renderedCell = ReactElementFactory.Instance.createElement(cellComponent, {\n question: this.question,\n row: this.row,\n column: column,\n columnIndex: i,\n cssClasses: this.cssClasses,\n cellChanged: () => { this.cellClick(this.row, column); }\n });\n td = (<td key={key} data-responsive-title={column.locText.renderedHtml} className={this.question.cssClasses.cell}>{renderedCell}</td>);\n }\n tds.push(td);\n }\n\n return tds;\n }\n cellClick(row: any, column: any): void {\n row.value = column.value;\n this.setState({ value: this.row.value });\n }\n}\n\nexport class SurveyQuestionMatrixCell extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n this.handleOnMouseDown = this.handleOnMouseDown.bind(this);\n this.handleOnChange = this.handleOnChange.bind(this);\n }\n handleOnChange(event: any): void {\n if(!!this.props.cellChanged) {\n this.props.cellChanged();\n }\n }\n handleOnMouseDown(event: any): void {\n this.question.onMouseDown();\n }\n private get question(): QuestionMatrixModel {\n return this.props.question;\n }\n private get row(): MatrixRowModel {\n return this.props.row;\n }\n private get column(): ItemValue {\n return this.props.column;\n }\n private get columnIndex(): number {\n return this.props.columnIndex;\n }\n protected canRender(): boolean {\n return !!this.question && !!this.row;\n }\n protected renderElement(): JSX.Element {\n const isChecked = this.row.value == this.column.value;\n const inputId = this.question.inputId + \"_\" + this.row.name + \"_\" + this.columnIndex;\n const itemClass = this.question.getItemClass(this.row, this.column);\n const mobileSpan = this.question.isMobile ?\n (<span className={this.question.cssClasses.cellResponsiveTitle}>{this.renderLocString(this.column.locText)}</span>)\n : undefined;\n return (<label onMouseDown={this.handleOnMouseDown} className={itemClass}>\n {this.renderInput(inputId, isChecked)}\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 {mobileSpan}\n </label>);\n }\n protected renderInput(inputId: string, isChecked: boolean): JSX.Element {\n return (<input\n id={inputId}\n type=\"radio\"\n className={this.cssClasses.itemValue}\n name={this.row.fullName}\n value={this.column.value}\n disabled={this.row.isDisabledAttr}\n readOnly={this.row.isReadOnlyAttr}\n checked={isChecked}\n onChange={this.handleOnChange}\n aria-required={this.question.a11y_input_ariaRequired}\n aria-label={this.question.getCellAriaLabel(this.row.locText.renderedHtml, this.column.locText.renderedHtml)}\n aria-invalid={this.question.a11y_input_ariaInvalid}\n aria-errormessage={this.question.a11y_input_ariaErrormessage}\n />);\n }\n}\n\nReactElementFactory.Instance.registerElement(\"survey-matrix-cell\", props => {\n return React.createElement(SurveyQuestionMatrixCell, props);\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 SurveyElementBase,\n SurveyQuestionElementBase,\n} from \"./reactquestion_element\";\nimport { ISurveyCreator, SurveyQuestion, SurveyQuestionAndErrorsCell, SurveyQuestionErrorCell } 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\nclass SurveyQuestionMatrixTable extends SurveyElementBase<{ question: QuestionMatrixDropdownModelBase, wrapCell: (cell: QuestionMatrixDropdownRenderedCell, element: JSX.Element, reason: string) => JSX.Element, creator: ISurveyCreator}, any> {\n protected get question() {\n return this.props.question;\n }\n protected get creator() {\n return this.props.creator;\n }\n protected get table() {\n return this.question.renderedTable;\n }\n protected getStateElement() {\n return this.table;\n }\n protected wrapCell(cell: QuestionMatrixDropdownRenderedCell, element: JSX.Element, reason: string): JSX.Element {\n return this.props.wrapCell(cell, element, reason);\n }\n renderHeader(): JSX.Element | null {\n const table = this.question.renderedTable;\n if (!table.showHeader) return null;\n const headers: any[] = [];\n const cells = table.headerRow.cells;\n for (var i = 0; i < cells.length; i++) {\n const cell = cells[i];\n const key = \"column\" + i;\n const columnStyle: any = {};\n if (!!cell.width) {\n columnStyle.width = cell.width;\n }\n if (!!cell.minWidth) {\n columnStyle.minWidth = cell.minWidth;\n }\n const 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 const table = this.question.renderedTable;\n if (!table.showFooter) return null;\n const 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 const cssClasses = this.question.cssClasses;\n const rows:Array<JSX.Element> = [];\n const renderedRows = this.question.renderedTable.renderedRows;\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 const matrixrow:Array<JSX.Element> = [];\n const 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 const key = \"row\" + keyValue;\n\n return (\n <React.Fragment key={key}>\n {(reason == \"row-footer\") ? <tr>{matrixrow}</tr> : <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 const 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 const cellContent = this.renderCellContent(cell, calcReason, cssClasses);\n let 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 return (\n <td\n className={cell.className}\n key={key}\n style={cellStyle}\n colSpan={cell.colSpans}\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 let cellContent: JSX.Element | null = null;\n let 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(cell.isErrorsCell) {\n if (cell.isErrorsCell) {\n return (\n <SurveyQuestionErrorCell\n question={cell.question}\n creator={this.creator}\n >\n </SurveyQuestionErrorCell>\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 protected renderElement(): JSX.Element | null {\n const header = this.renderHeader();\n const footers = this.renderFooter();\n const rows = this.renderRows();\n return (\n <table className={this.question.getTableCss()}>\n {header}\n {rows}\n {footers}\n </table>\n );\n }\n}\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(): void {\n super.componentDidMount();\n this.question.onRenderedTableResetCallback = () => {\n this.updateStateOnCallback();\n };\n }\n componentWillUnmount(): void {\n super.componentWillUnmount();\n this.question.onRenderedTableResetCallback = () => {};\n }\n protected renderElement(): JSX.Element {\n return this.renderTableDiv();\n }\n renderTableDiv(): JSX.Element {\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 <SurveyQuestionMatrixTable question={this.question} creator={this.creator} wrapCell={(cell, element, reason) => this.wrapCell(cell, element, reason)}></SurveyQuestionMatrixTable>\n </div>\n );\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> </span>\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(): void {\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 const 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 this.question.afterRenderCore(el);\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 renderCellContent() {\n const content = super.renderCellContent();\n const responsiveTitle = this.cell.showResponsiveTitle ? (<span className={this.cell.responsiveTitleCss}>{this.renderLocString(this.cell.responsiveLocTitle)}</span>) : null;\n return <>\n {responsiveTitle}\n {content}\n </>;\n }\n protected renderQuestion(): JSX.Element {\n if(!this.question.isVisible) return <></>;\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}","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|undefined = this.matrix.renderedTable.showAddRow ? this.renderAddRowButton(cssClasses, true) : undefined;\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, SurveyQuestionAndErrorsWrapped, SurveyQuestionErrorCell } from \"./reactquestion\";\nimport { QuestionMultipleTextModel, MultipleTextItemModel, MultipleTextCell } 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 if (tableRows[i].isVisible) {\n rows.push(this.renderRow(i, tableRows[i].cells, cssClasses));\n }\n }\n return (\n <table className={this.question.getQuestionRootCss()}>\n <tbody>{rows}</tbody>\n </table>\n );\n }\n\n protected renderCell(cell: MultipleTextCell, cssClasses: any, index: number): JSX.Element {\n let cellContent: JSX.Element;\n const focusIn = () => { cell.item.focusIn(); };\n if (cell.isErrorsCell) {\n cellContent = <SurveyQuestionErrorCell question={cell.item.editor} creator={this.creator}></SurveyQuestionErrorCell>;\n } else {\n cellContent = <SurveyMultipleTextItem question={this.question} item={cell.item} creator={this.creator} cssClasses={cssClasses}></SurveyMultipleTextItem>;\n }\n return (<td key={\"item\" + index} className={cell.className} onFocus={focusIn}>{cellContent}</td>);\n }\n\n protected renderRow(\n rowIndex: number,\n cells: Array<MultipleTextCell>,\n cssClasses: any\n ): JSX.Element {\n const key: string = \"item\" + rowIndex;\n const tds: Array<JSX.Element> = [];\n for (let i = 0; i < cells.length; i++) {\n const cell = cells[i];\n tds.push(\n this.renderCell(cell, cssClasses, i)\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 const titleStyle: any = {};\n if (!!this.question.itemTitleWidth) {\n titleStyle.minWidth = this.question.itemTitleWidth;\n titleStyle.width = this.question.itemTitleWidth;\n }\n return (<label className={this.question.getItemLabelCss(item)}>\n <span className={cssClasses.itemTitle} style={titleStyle}>\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 </label>);\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 { 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 { 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 this.question.renderedPanels.forEach((panel, index) => {\n panels.push(<SurveyQuestionPanelDynamicItem\n key={panel.id}\n element={panel}\n question={this.question}\n index={index}\n cssClasses={this.question.cssClasses}\n isDisplayMode={this.isDisplayMode}\n creator={this.creator}\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 navV2 = this.renderNavigatorV2();\n const noEntriesPlaceholder = this.renderPlaceholder();\n return (\n <div className={this.question.cssClasses.root}>\n {noEntriesPlaceholder}\n {navTop}\n <div className={this.question.cssClasses.panelsContainer}>\n {panels}\n </div>\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(this.panel)}>\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(true)}\n value={this.question.clearButtonCaption}\n />\n </div>\n );\n }\n return (\n <fieldset\n className={this.question.getSelectBaseRootCss()}\n ref={(fieldset) => (this.setControl(fieldset))}\n role={this.question.a11y_input_ariaRole}\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-describedby={this.question.a11y_input_ariaDescribedBy}\n aria-invalid={this.question.a11y_input_ariaInvalid}\n aria-errormessage={this.question.a11y_input_ariaErrormessage}\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}>\n <input\n aria-errormessage={this.question.ariaErrormessage}\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 readOnly={this.question.isReadOnlyAttr}\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 SurveyElementBase,\n SurveyQuestionElementBase,\n} from \"./reactquestion_element\";\nimport { QuestionRankingModel, SurveyModel, ItemValue } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { ReactSurveyElementsWrapper } from \"./reactsurveymodel\";\nimport { ReactElementFactory } from \"./element-factory\";\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.renderedUnRankingChoices, unrankedItem)}\n {this.question.renderedUnRankingChoices.length === 0 ? <div className={this.question.cssClasses.containerPlaceholder}> {this.renderLocString(this.question.locSelectToRankEmptyRankedAreaText)} </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.renderedRankingChoices.length === 0 ? <div className={this.question.cssClasses.containerPlaceholder}> {this.renderLocString(this.question.locSelectToRankEmptyUnrankedAreaText)} </div> : null}\n </div>\n </div>\n );\n }\n }\n\n protected getItems(choices: any = this.question.renderedRankingChoices, 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 (event: any) => {\n event.persist();\n //event.preventDefault();\n this.question.handlePointerUp.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 handlePointerUp: (event: PointerEvent) => void,\n cssClasses: any,\n itemClass: string,\n question: QuestionRankingModel,\n unrankedItem?: boolean\n ): JSX.Element {\n const key: string = \"id-\" + item.renderedId;\n const text: JSX.Element = this.renderLocString(item.locText);\n const index = i;\n const indexText: string = this.question.getNumberByIndex(index);\n const tabIndex: number = this.question.getItemTabIndex(item);\n\n const renderedItem = (\n <SurveyQuestionRankingItem\n key={item.value}\n text={text}\n index={index}\n indexText={indexText}\n itemTabIndex={tabIndex}\n handleKeydown={handleKeydown}\n handlePointerDown={handlePointerDown}\n handlePointerUp={handlePointerUp}\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 handlePointerUp(): (event: any) => void {\n return this.props.handlePointerUp;\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 renderEmptyIcon(): JSX.Element {\n return (\n <svg>\n <use xlinkHref={this.question.dashSvgIcon}></use>\n </svg>\n );\n }\n\n protected renderElement(): JSX.Element {\n let itemContent = ReactElementFactory.Instance.createElement(this.question.itemComponent, { item: this.item, cssClasses: this.cssClasses });\n return (\n <div\n tabIndex={this.itemTabIndex}\n className={this.itemClass}\n onKeyDown={this.handleKeydown}\n onPointerDown={this.handlePointerDown}\n onPointerUp={this.handlePointerUp}\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 className={this.question.getIconHoverCss()}\n >\n <use xlinkHref={this.question.dragDropSvgIcon}></use>\n </svg>\n <svg\n className={this.question.getIconFocusCss()}\n >\n <use xlinkHref={this.question.arrowsSvgIcon}></use>\n </svg>\n </div>\n\n <div className={this.question.getItemIndexClasses(this.item)}>\n {(!this.unrankedItem && this.indexText) ? this.indexText : this.renderEmptyIcon()}\n </div>\n {itemContent}\n </div>\n </div>\n </div>\n );\n }\n}\n\nexport class SurveyQuestionRankingItemContent extends ReactSurveyElement {\n protected get item(): ItemValue {\n return this.props.item;\n }\n\n protected get cssClasses(): any {\n return this.props.cssClasses;\n }\n\n protected renderElement(): JSX.Element {\n return <div className={this.cssClasses.controlLabel}>{SurveyElementBase.renderLocString(this.item.locText)}</div>;\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-ranking-item\", props => {\n return React.createElement(SurveyQuestionRankingItemContent, props);\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.itemComponent, {\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.noTabIndex ? 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-errormessage={this.question.ariaErrormessage}\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 protected renderReadOnlyElement(): JSX.Element | null {\n if(this.question.locReadOnlyText) {\n return this.renderLocString(this.question.locReadOnlyText);\n } else {\n return null;\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.inputValue}</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 disabled={this.question.isDisabledAttr}\n readOnly={this.question.isReadOnlyAttr}\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-describedby={this.question.a11y_input_ariaDescribedBy}\n aria-invalid={this.question.a11y_input_ariaInvalid}\n aria-errormessage={this.question.a11y_input_ariaErrormessage}\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 protected setValueCore(newValue: any) {\n this.question.inputValue = newValue;\n }\n protected getValueCore(): any {\n return this.question.inputValue;\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 { SurveyRowElement } from \"./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;\n }\n protected renderElementContent(): JSX.Element {\n const elements = this.row.visibleElements.map((element, elementIndex) => {\n const index = elementIndex ? \"-\" + elementIndex : 0;\n const key = element.name + index;\n return (\n <SurveyRowElement\n element={element}\n index={elementIndex}\n row={this.row}\n survey={this.survey}\n creator={this.creator}\n css={this.css}\n key={key}\n >\n </SurveyRowElement>\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(this.rootRef.current) {\n this.row.setRootElement(this.rootRef.current);\n }\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 if (nextProps.row !== this.row) {\n nextProps.row.isNeedRender = this.row.isNeedRender;\n nextProps.row.setRootElement(this.rootRef.current);\n this.row.setRootElement(undefined);\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.row.setRootElement(undefined);\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\";\nimport { LoadingIndicatorComponent } from \"./components/loading-indicator\";\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 const loadingIndicator = this.question.showLoadingIndicator ? this.renderLoadingIndicator() : null;\n var clearButton = this.renderCleanButton();\n return (\n <div className={cssClasses.root} ref={(root) => (this.setControl(root))} style={{ width: this.question.renderedCanvasWidth }}>\n <div\n className={cssClasses.placeholder}\n style={{ display: this.question.needShowPlaceholder() ? \"\" : \"none\" }}\n >\n {this.renderLocString(this.question.locRenderedPlaceholder)}\n </div>\n <div>\n {this.renderBackgroundImage()}\n <canvas tabIndex={-1} className={this.question.cssClasses.canvas} onBlur={this.question.onBlur}></canvas>\n </div>\n {clearButton}\n {loadingIndicator}\n </div>\n );\n }\n\n renderBackgroundImage(): JSX.Element | null {\n if(!this.question.backgroundImage) return null;\n\n return <img className={this.question.cssClasses.backgroundImage} src={this.question.backgroundImage} style={{ width: this.question.renderedCanvasWidth }}></img>;\n }\n protected renderLoadingIndicator(): JSX.Element {\n return <div className={this.question.cssClasses.loadingIndicator}><LoadingIndicatorComponent></LoadingIndicatorComponent></div>;\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(true)}\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 const className = this.locStr.allowLineBreaks ? \"sv-string-viewer sv-string-viewer--multiline\" : \"sv-string-viewer\";\r\n if (this.locStr.hasHtml) {\r\n let htmlValue = { __html: this.locStr.renderedHtml };\r\n return <span ref={this.rootRef} className={className} style={this.style} dangerouslySetInnerHTML={htmlValue} />;\r\n }\r\n return <span ref={this.rootRef} className={className} 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","\nimport React from \"react\";\nimport { SvgRegistry } from \"survey-core\";\n\nexport class SvgBundleComponent extends React.Component {\n private containerRef: React.RefObject<SVGSVGElement>;\n\n constructor(props: any) {\n super(props);\n this.containerRef = React.createRef();\n }\n componentDidMount() {\n if (!!this.containerRef.current) {\n this.containerRef.current.innerHTML = SvgRegistry.iconsRenderedHtml();\n }\n }\n render() {\n const svgStyle = {\n display: \"none\"\n };\n return <svg style={svgStyle} id=\"sv-icon-holder-global-container\" ref={this.containerRef}></svg>;\n }\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, false)) {\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.filterReadOnly ? true : undefined}\n size={!this.model.inputStringRendered ? 1 : undefined}\n role={this.model.filterStringEnabled ? this.question.ariaRole : undefined}\n aria-expanded={this.question.ariaExpanded === null ? undefined : this.question.ariaExpanded === \"true\"}\n aria-label={this.question.a11y_input_ariaLabel}\n aria-labelledby={this.question.a11y_input_ariaLabelledBy}\n aria-describedby={this.question.a11y_input_ariaDescribedBy}\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 { DomDocumentHelper } from \"./global_variables_utils\";\nimport { IDialogOptions } from \"./popup\";\nimport { showConfirmDialog } from \"./utils/utils\";\n\nexport type ISurveyEnvironment = {\n root: Document | ShadowRoot,\n rootElement: HTMLElement | ShadowRoot,\n popupMountContainer: HTMLElement | string,\n /**\n * @deprecated\n */\n svgMountContainer: HTMLElement | string,\n stylesSheetsMountContainer: HTMLElement,\n}\nconst document = typeof globalThis !== \"undefined\" ? globalThis.document : (this as any).document;\nconst defaultEnvironment: ISurveyEnvironment = <ISurveyEnvironment>(!!document ? {\n root: document,\n\n _rootElement: DomDocumentHelper.getBody(),\n get rootElement(): HTMLElement | ShadowRoot {\n return this._rootElement ?? DomDocumentHelper.getBody();\n },\n set rootElement(rootElement: HTMLElement | ShadowRoot) {\n (this._rootElement as any) = rootElement;\n },\n\n _popupMountContainer: DomDocumentHelper.getBody(),\n get popupMountContainer(): HTMLElement | string {\n return this._popupMountContainer ?? DomDocumentHelper.getBody();\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\n //#region designMode section, Obsolete properties\n get allowShowEmptyDescriptionInDesignMode(): boolean { return this.designMode.showEmptyDescriptions; },\n set allowShowEmptyDescriptionInDesignMode(val: boolean) { this.designMode.showEmptyDescriptions = val; },\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\n //#region localization section, obsolete properties\n get useLocalTimeZone(): boolean { return this.localization.useLocalTimeZone; },\n set useLocalTimeZone(val: boolean) { this.localization.useLocalTimeZone = val; },\n get storeDuplicatedTranslations(): boolean { return this.localization.storeDuplicatedTranslations; },\n set storeDuplicatedTranslations(val: boolean) { this.localization.storeDuplicatedTranslations = val; },\n get defaultLocaleName(): string { return this.localization.defaultLocaleName; },\n set defaultLocaleName(val: string) { this.localization.defaultLocaleName = val; },\n //#endregion\n\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 loaded from a web service](https://surveyjs.io/form-library/documentation/api-reference/questionselectbase#choicesByUrl). 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 * - `onBeforeRequestChoices`: `(sender: ChoicesRestful, options: { request: XMLHttpRequest })`\\\n * An event that is raised before a request for choices is send. Applies to questions with a specified [`choiceByUrl`](https://surveyjs.io/form-library/documentation/api-reference/questionselectbase#choicesByUrl) property. Use the `options.request` parameter to access and modify the `XMLHttpRequest` object. For instance, you can add authentication headers to it:\n *\n * ```js\n * import { settings } from \"survey-core\";\n *\n * settings.web.onBeforeSendRequest = (sender, options) => {\n * options.request.setRequestHeader('RequestVerificationToken', requestVerificationToken);\n * };\n * ```\n */\n web: {\n onBeforeRequestChoices: (sender: any, options: { request: XMLHttpRequest }): void => { },\n encodeUrlParams: true,\n cacheLoadedChoices: true,\n disableQuestionWhileLoadingChoices: false,\n surveyServiceUrl: \"https://api.surveyjs.io/public/v1/Survey\"\n },\n\n //#region web section, obsolete properties\n get webserviceEncodeParameters(): boolean { return this.web.encodeUrlParams; },\n set webserviceEncodeParameters(val: boolean) { this.web.encodeUrlParams = val; },\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 get disableOnGettingChoicesFromWeb(): boolean { return this.web.disableQuestionWhileLoadingChoices; },\n set disableOnGettingChoicesFromWeb(val: boolean) { this.web.disableQuestionWhileLoadingChoices = val; },\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\n //#region triggers section, Obsolete properties\n get executeCompleteTriggerOnValueChanged(): boolean { return this.triggers.executeCompleteOnValueChanged; },\n set executeCompleteTriggerOnValueChanged(val: boolean) { this.triggers.executeCompleteOnValueChanged = val; },\n get changeNavigationButtonsOnCompleteTrigger(): boolean { return this.triggers.changeNavigationButtonsOnComplete; },\n set changeNavigationButtonsOnCompleteTrigger(val: boolean) { this.triggers.changeNavigationButtonsOnComplete = val; },\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.serialization.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.serialization.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\n //#region serialization section, Obsolete properties\n get itemValueAlwaysSerializeAsObject(): boolean { return this.serialization.itemValueSerializeAsObject; },\n set itemValueAlwaysSerializeAsObject(val: boolean) { this.serialization.itemValueSerializeAsObject = val; },\n get itemValueAlwaysSerializeText(): boolean { return this.serialization.itemValueSerializeDisplayText; },\n set itemValueAlwaysSerializeText(val: boolean) { this.serialization.itemValueSerializeDisplayText = val; },\n get serializeLocalizableStringAsObject(): boolean { return this.serialization.localizableStringSerializeAsObject; },\n set serializeLocalizableStringAsObject(val: boolean) { this.serialization.localizableStringSerializeAsObject = val; },\n //#endregion\n\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 * [View Demo](https://surveyjs.io/form-library/examples/survey-lazy/ (linkStyle))\n * @see [SurveyModel.lazyRendering](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#lazyRendering)\n */\n lazyRender: {\n enabled: false,\n firstBatchSize: 3\n },\n\n //#region lazyRender section, Obsolete properties\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 /**\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\n //#region matrix section, Obsolete properties\n get matrixDefaultRowName(): string { return this.matrix.defaultRowName; },\n set matrixDefaultRowName(val: string) { this.matrix.defaultRowName = val; },\n get matrixDefaultCellType(): string { return this.matrix.defaultCellType; },\n set matrixDefaultCellType(val: string) { this.matrix.defaultCellType = val; },\n get matrixTotalValuePostFix(): string { return this.matrix.totalsSuffix; },\n set matrixTotalValuePostFix(val: string) { this.matrix.totalsSuffix = val; },\n get matrixMaximumRowCount(): number { return this.matrix.maxRowCount; },\n set matrixMaximumRowCount(val: number) { this.matrix.maxRowCount = val; },\n get matrixMaxRowCountInCondition(): number { return this.matrix.maxRowCountInCondition; },\n set matrixMaxRowCountInCondition(val: number) { this.matrix.maxRowCountInCondition = val; },\n get matrixRenderRemoveAsIcon(): boolean { return this.matrix.renderRemoveAsIcon; },\n set matrixRenderRemoveAsIcon(val: boolean) { this.matrix.renderRemoveAsIcon = val; },\n //#endregion\n\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\n //#region panel section, Obsolete properties\n get panelDynamicMaxPanelCountInCondition(): number { return this.panel.maxPanelCountInCondition; },\n set panelDynamicMaxPanelCountInCondition(val: number) { this.panel.maxPanelCountInCondition = val; },\n get panelMaximumPanelCount(): number { return this.panel.maxPanelCount; },\n set panelMaximumPanelCount(val: number) { this.panel.maxPanelCount = val; },\n //#endregion\n\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 enableValidation: false,\n commentRenderMode: \"textarea\",\n textRenderMode: \"input\"\n },\n\n //#region readOnly section, Obsolete properties\n get readOnlyCommentRenderMode(): string { return this.readOnly.commentRenderMode; },\n set readOnlyCommentRenderMode(val: string) { this.readOnly.commentRenderMode = val; },\n get readOnlyTextRenderMode(): string { return this.readOnly.textRenderMode; },\n set readOnlyTextRenderMode(val: string) { this.readOnly.textRenderMode = val; },\n //#endregion\n\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\n //#region numbering section, Obsolete properties\n get setQuestionVisibleIndexForHiddenTitle(): boolean { return this.numbering.includeQuestionsWithHiddenTitle; },\n set setQuestionVisibleIndexForHiddenTitle(val: boolean) { this.numbering.includeQuestionsWithHiddenTitle = val; },\n get setQuestionVisibleIndexForHiddenNumber(): boolean { return this.numbering.includeQuestionsWithHiddenNumber; },\n set setQuestionVisibleIndexForHiddenNumber(val: boolean) { this.numbering.includeQuestionsWithHiddenNumber = val; },\n //#endregion\n\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 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 * @see [settings.choicesSeparator](https://surveyjs.io/form-library/documentation/api-reference/settings#choicesSeparator)\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 [Multi-Select Dropdown (Tag Box)](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 Multi-Select Dropdown questions on a web 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 Multi-Select Dropdown question.\n */\n tagboxCloseOnSelect: false,\n /**\n * A time interval in milliseconds between the last entered character and the beginning of search in [Single-](https://surveyjs.io/form-library/examples/create-dropdown-menu-in-javascript/) and [Multi-Select Dropdown](https://surveyjs.io/form-library/examples/how-to-create-multiselect-tag-box/) questions. Applies only to questions with the [`choicesLazyLoadEnabled`](https://surveyjs.io/form-library/documentation/api-reference/dropdown-menu-model#choicesLazyLoadEnabled) property set to `true`.\n *\n * Default value: 500\n *\n * [View Demo](https://surveyjs.io/form-library/examples/lazy-loading-dropdown/ (linkStyle))\n */\n dropdownSearchDelay: 500,\n /**\n * A function that activates a browser confirm dialog.\n *\n * Use the following code to execute this function:\n *\n * ```js\n * import { settings } from \"survey-core\";\n *\n * // `result` contains `true` if the action was confirmed or `false` otherwise\n * const result = settings.confirmActionFunc(\"Are you sure?\");\n * ```\n *\n * You can redefine the `confirmActionFunc` function if you want to display a custom dialog window. Your function should return `true` if a user confirms an action or `false` otherwise.\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 function that activates a proprietary SurveyJS confirm dialog.\n *\n * Use the following code to execute this function:\n *\n * ```js\n * import { settings } from \"survey-core\";\n *\n * settings.confirmActionAsync(\"Are you sure?\", (confirmed) => {\n * if (confirmed) {\n * // ...\n * // Proceed with the action\n * // ...\n * } else {\n * // ...\n * // Cancel the action\n * // ...\n * }\n * });\n * ```\n *\n * You can redefine the `confirmActionAsync` function if you want to display a custom dialog window. Your function should return `true` to be enabled; otherwise, a survey executes the [`confirmActionFunc`](#confirmActionFunc) function. Pass the dialog result as the `callback` parameter: `true` if a user confirms an action, `false` otherwise.\n * @param message A message to be displayed in the confirm dialog window.\n * @param callback A callback function that should be called with `true` if a user confirms an action or `false` otherwise.\n */\n confirmActionAsync: function (message: string, callback: (res: boolean) => void, applyTitle?: string, locale?: string, rootElement?: HTMLElement): boolean {\n return showConfirmDialog(message, callback, applyTitle, locale, rootElement);\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 how many milliseconds a survey should wait before it automatically switches to the next page. Applies only when [auto-advance](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#goNextPageAutomatic) is enabled.\n *\n * Default value: 300\n */\n autoAdvanceDelay: 300,\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 value to save in survey results when respondents select the \"Refuse to answer\" choice item.\n *\n * Default value: `\"refused\"`\n */\n refuseItemValue: \"refused\",\n /**\n * A value to save in survey results when respondents select the \"Don't know\" choice item.\n *\n * Default value: `\"dontknow\"`\n */\n dontKnowItemValue: \"dontknow\",\n /**\n * An object whose properties specify the order of the special choice items (\"None\", \"Other\", \"Select All\", \"Refuse to answer\", \"Don't know\") in select-based questions.\n *\n * Default value: `{ selectAllItem: [-1], noneItem: [1], otherItem: [2], dontKnowItem: [3], otherItem: [4] }`\n *\n * Use this object to reorder special choices. Each property accepts an array of integer numbers. Negative numbers place a special choice item above regular choice items, positive numbers place it below them. For instance, the code below specifies the following order of choices: None, Select All, regular choices, Other.\n *\n * ```js\n * import { settings } from \"survey-core\";\n *\n * settings.specialChoicesOrder.noneItem = [-2];\n * settings.specialChoicesOrder.selectAllItem = [-1];\n * settings.specialChoicesOrder.otherItem = [1];\n * ```\n *\n * If you want to duplicate a special choice item above and below other choices, add two numbers to the corresponding array:\n *\n * ```js\n * settings.specialChoicesOrder.selectAllItem = [-1, 3] // Displays Select All above and below other choices\n * ```\n */\n specialChoicesOrder: {\n selectAllItem: [-1],\n noneItem: [1],\n refuseItem: [2],\n dontKnowItem: [3],\n otherItem: [4]\n },\n /**\n * One or several characters used to separate choice options in a list.\n *\n * Default value: `\", \"`\n * @see [settings.itemValueSeparator](https://surveyjs.io/form-library/documentation/api-reference/settings#itemValueSeparator)\n */\n choicesSeparator: \", \",\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 environment: defaultEnvironment,\n\n /**\n * Allows you to hide the maximum length indicator in text input questions.\n *\n * If you specify a question's [`maxLength`](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model#maxLength) property or a survey's [`maxTextLength`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#maxTextLength) property, text input questions indicate the number of entered characters and the character limit. Assign `false` to the `settings.showMaxLengthIndicator` property if you want to hide this indicator.\n *\n * Default value: `true`\n */\n showMaxLengthIndicator: true,\n\n /**\n * Specifies whether to animate survey elements.\n *\n * Default value: `true`\n */\n animationEnabled: true,\n\n /**\n * An object that specifies heading levels (`<h1>`, `<h2>`, etc.) to use when rendering survey, page, panel, and question titles.\n *\n * Default value: `{ survey: \"h3\", page: \"h4\", panel: \"h4\", question: \"h5\" }`\n *\n * If you want to modify heading levels for individual titles, handle `SurveyModel`'s [`onGetTitleTagName`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onGetTitleTagName) event.\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 legacyProgressBarView: false,\n /**\n * An object with properties that configure input masks.\n *\n * Nested properties:\n *\n * - `patternPlaceholderChar`: `string`\\\n * A symbol used as a placeholder for characters to be entered in [pattern masks](https://surveyjs.io/form-library/documentation/api-reference/inputmaskpattern). Default value: `\"_\"`.\n *\n * - `patternEscapeChar`: `string`\\\n * A symbol used to insert literal representations of special characters in [pattern masks](https://surveyjs.io/form-library/documentation/api-reference/inputmaskpattern). Default value: `\"\\\\\"`.\n *\n * - `patternDefinitions`: `<{ [key: string]: RegExp }>`\\\n * An object that maps placeholder symbols to regular expressions in [pattern masks](https://surveyjs.io/form-library/documentation/api-reference/inputmaskpattern). Default value: `{ \"9\": /[0-9]/, \"a\": /[a-zA-Z]/, \"#\": /[a-zA-Z0-9]/ }`.\n */\n maskSettings: {\n patternPlaceholderChar: \"_\",\n patternEscapeChar: \"\\\\\",\n patternDefinitions: <{ [key: string]: RegExp }>{\n \"9\": /[0-9]/,\n \"a\": /[a-zA-Z]/,\n \"#\": /[a-zA-Z0-9]/\n }\n }\n};","import { JsonObjectProperty, Serializer, property } from \"./jsonobject\";\r\nimport { Base } from \"./base\";\r\nimport { Action, IAction } from \"./actions/action\";\r\nimport { AdaptiveActionContainer } from \"./actions/adaptive-container\";\r\nimport {\r\n ISurveyElement,\r\n IElement,\r\n IPage,\r\n IPanel,\r\n IProgressInfo,\r\n ISurvey,\r\n ISurveyData,\r\n ISurveyImpl,\r\n ITextProcessor,\r\n ITitleOwner\r\n} from \"./base-interfaces\";\r\nimport { SurveyError } from \"./survey-error\";\r\nimport { Helpers } from \"./helpers\";\r\nimport { settings } from \"./settings\";\r\nimport { ILocalizableOwner, LocalizableString } from \"./localizablestring\";\r\nimport { ActionContainer, defaultActionBarCss } from \"./actions/container\";\r\nimport { CssClassBuilder } from \"./utils/cssClassBuilder\";\r\nimport { SurveyModel } from \"./survey\";\r\nimport { IAnimationConsumer, AnimationBoolean } from \"./utils/animation\";\r\nimport { classesToSelector } from \"./utils/utils\";\r\nimport { DomDocumentHelper, DomWindowHelper } from \"./global_variables_utils\";\r\nimport { Panel } from \"./knockout/kopage\";\r\nimport { PanelModel } from \"./panel\";\r\n/**\r\n * A base class for the [`SurveyElement`](https://surveyjs.io/form-library/documentation/surveyelement) and [`SurveyModel`](https://surveyjs.io/form-library/documentation/surveymodel) classes.\r\n */\r\nexport abstract class SurveyElementCore extends Base implements ILocalizableOwner {\r\n constructor() {\r\n super();\r\n this.createLocTitleProperty();\r\n }\r\n protected createLocTitleProperty(): LocalizableString {\r\n return this.createLocalizableString(\"title\", this, true);\r\n }\r\n /**\r\n * A title for the survey element. If `title` is undefined, the `name` property value is displayed instead.\r\n *\r\n * Empty pages and panels do not display their titles or names.\r\n *\r\n * @see [Configure Question Titles](https://surveyjs.io/form-library/documentation/design-survey-question-titles)\r\n */\r\n public get title(): string {\r\n return this.getLocalizableStringText(\"title\", this.getDefaultTitleValue());\r\n }\r\n public set title(val: string) {\r\n this.setLocalizableStringText(\"title\", val);\r\n }\r\n get locTitle(): LocalizableString {\r\n return this.getLocalizableString(\"title\");\r\n }\r\n protected getDefaultTitleValue(): string { return undefined; }\r\n /**\r\n * Returns `true` if the survey element has a description.\r\n * @see description\r\n */\r\n @property() hasDescription: boolean;\r\n /**\r\n * Explanatory text displayed under the title.\r\n * @see hasDescription\r\n */\r\n @property({\r\n localizable: true, onSet: (newDescription, self) => {\r\n self.updateDescriptionVisibility(newDescription);\r\n }\r\n }) description: string;\r\n public updateDescriptionVisibility(newDescription: any) {\r\n let showPlaceholder = false;\r\n if (this.isDesignMode) {\r\n const property: JsonObjectProperty = Serializer.findProperty(this.getType(), \"description\");\r\n showPlaceholder = !!(property?.placeholder);\r\n }\r\n this.hasDescription = !!newDescription || (showPlaceholder && this.isDesignMode);\r\n }\r\n\r\n get locDescription(): LocalizableString {\r\n return this.getLocalizableString(\"description\");\r\n }\r\n public get titleTagName(): string {\r\n let titleTagName = this.getDefaultTitleTagName();\r\n const survey = this.getSurvey();\r\n return !!survey ? survey.getElementTitleTagName(this, titleTagName) : titleTagName;\r\n }\r\n protected getDefaultTitleTagName(): string {\r\n return (<any>settings.titleTags)[this.getType()];\r\n }\r\n public get hasTitle(): boolean { return this.title.length > 0; }\r\n public get hasTitleActions(): boolean { return false; }\r\n public get hasTitleEvents(): boolean {\r\n return this.hasTitleActions;\r\n }\r\n public getTitleToolbar(): AdaptiveActionContainer { return null; }\r\n public getTitleOwner(): ITitleOwner { return undefined; }\r\n public get isTitleOwner(): boolean { return !!this.getTitleOwner(); }\r\n public get isTitleRenderedAsString(): boolean { return this.getIsTitleRenderedAsString(); }\r\n public toggleState(): boolean { return undefined; }\r\n public get cssClasses(): any { return {}; }\r\n public get cssTitle(): string { return \"\"; }\r\n public get ariaTitleId(): string { return undefined; }\r\n public get ariaDescriptionId(): string { return undefined; }\r\n public get titleTabIndex(): number { return undefined; }\r\n public get titleAriaExpanded(): any { return undefined; }\r\n public get titleAriaRole(): any { return undefined; }\r\n public get ariaLabel(): string {\r\n return this.locTitle.renderedHtml;\r\n }\r\n public get titleAriaLabel(): string | null {\r\n return this.ariaLabel;\r\n }\r\n protected getIsTitleRenderedAsString(): boolean { return !this.isTitleOwner; }\r\n //ILocalizableOwner\r\n public abstract getLocale(): string;\r\n public abstract getMarkdownHtml(text: string, name: string): string;\r\n public abstract getRenderer(name: string): string;\r\n public abstract getRendererContext(locStr: LocalizableString): any;\r\n public abstract getProcessedText(text: string): string;\r\n}\r\n\r\n// TODO: rename\r\nexport enum DragTypeOverMeEnum {\r\n InsideEmptyPanel = 1,\r\n MultilineRight,\r\n MultilineLeft,\r\n Top, Right, Bottom, Left\r\n}\r\n\r\n/**\r\n * A base class for all survey elements.\r\n */\r\nexport class SurveyElement<E = any> extends SurveyElementCore implements ISurveyElement {\r\n stateChangedCallback: () => void;\r\n\r\n public static getProgressInfoByElements(\r\n children: Array<SurveyElement>,\r\n isRequired: boolean\r\n ): IProgressInfo {\r\n const info: IProgressInfo = Base.createProgressInfo();\r\n for (let i = 0; i < children.length; i++) {\r\n if (!children[i].isVisible) continue;\r\n const childInfo: IProgressInfo = children[i].getProgressInfo();\r\n info.questionCount += childInfo.questionCount;\r\n info.answeredQuestionCount += childInfo.answeredQuestionCount;\r\n info.requiredQuestionCount += childInfo.requiredQuestionCount;\r\n info.requiredAnsweredQuestionCount +=\r\n childInfo.requiredAnsweredQuestionCount;\r\n }\r\n if (isRequired && info.questionCount > 0) {\r\n if (info.requiredQuestionCount == 0) info.requiredQuestionCount = 1;\r\n if (info.answeredQuestionCount > 0)\r\n info.requiredAnsweredQuestionCount = 1;\r\n }\r\n return info;\r\n }\r\n private surveyImplValue: ISurveyImpl;\r\n private surveyDataValue: ISurveyData;\r\n private surveyValue: ISurvey;\r\n private textProcessorValue: ITextProcessor;\r\n private selectedElementInDesignValue: SurveyElement = this;\r\n\r\n @property({ defaultValue: null }) dragTypeOverMe: DragTypeOverMeEnum;\r\n @property({ defaultValue: false }) isDragMe: boolean;\r\n\r\n public readOnlyChangedCallback: () => void;\r\n\r\n public static ScrollElementToTop(elementId: string, scrollIfVisible?: boolean, scrollIntoViewOptions?: ScrollIntoViewOptions): boolean {\r\n const { root } = settings.environment;\r\n if (!elementId || typeof root === \"undefined\") return false;\r\n const el = root.getElementById(elementId);\r\n return SurveyElement.ScrollElementToViewCore(el, false, scrollIfVisible, scrollIntoViewOptions);\r\n }\r\n public static ScrollElementToViewCore(el: HTMLElement, checkLeft: boolean, scrollIfVisible?: boolean, scrollIntoViewOptions?: ScrollIntoViewOptions): boolean {\r\n if (!el || !el.scrollIntoView) return false;\r\n const elTop: number = scrollIfVisible ? -1 : el.getBoundingClientRect().top;\r\n let needScroll = elTop < 0;\r\n let elLeft: number = -1;\r\n if(!needScroll && checkLeft) {\r\n elLeft = el.getBoundingClientRect().left;\r\n needScroll = elLeft < 0;\r\n }\r\n if(!needScroll && DomWindowHelper.isAvailable()) {\r\n const height = DomWindowHelper.getInnerHeight();\r\n needScroll = height > 0 && height < elTop;\r\n if(!needScroll && checkLeft) {\r\n const width = DomWindowHelper.getInnerWidth();\r\n needScroll = width > 0 && width < elLeft;\r\n }\r\n }\r\n if (needScroll) {\r\n el.scrollIntoView(scrollIntoViewOptions);\r\n }\r\n return needScroll;\r\n }\r\n public static GetFirstNonTextElement(elements: any, removeSpaces: boolean = false): any {\r\n if (!elements || !elements.length || elements.length == 0) return null;\r\n if (removeSpaces) {\r\n let tEl = elements[0];\r\n if (tEl.nodeName === \"#text\") tEl.data = \"\";\r\n tEl = elements[elements.length - 1];\r\n if (tEl.nodeName === \"#text\") tEl.data = \"\";\r\n }\r\n for (let i = 0; i < elements.length; i++) {\r\n if (elements[i].nodeName != \"#text\" && elements[i].nodeName != \"#comment\")\r\n return elements[i];\r\n }\r\n return null;\r\n }\r\n public static FocusElement(elementId: string): boolean {\r\n if (!elementId || !DomDocumentHelper.isAvailable()) return false;\r\n const res: boolean = SurveyElement.focusElementCore(elementId);\r\n if (!res) {\r\n setTimeout(() => {\r\n SurveyElement.focusElementCore(elementId);\r\n }, 10);\r\n }\r\n return res;\r\n }\r\n private static focusElementCore(elementId: string): boolean {\r\n const { root } = settings.environment;\r\n if (!root) return false;\r\n const el = root.getElementById(elementId);\r\n // https://stackoverflow.com/questions/19669786/check-if-element-is-visible-in-dom\r\n if (el && !(<any>el)[\"disabled\"] && el.style.display !== \"none\" && el.offsetParent !== null) {\r\n SurveyElement.ScrollElementToViewCore(el, true, false);\r\n el.focus();\r\n return true;\r\n }\r\n return false;\r\n }\r\n public static CreateDisabledDesignElements: boolean = false;\r\n public disableDesignActions: boolean =\r\n SurveyElement.CreateDisabledDesignElements;\r\n constructor(name: string) {\r\n super();\r\n this.name = name;\r\n this.createNewArray(\"errors\");\r\n this.createNewArray(\"titleActions\");\r\n this.registerPropertyChangedHandlers([\"isReadOnly\"], () => { this.onReadOnlyChanged(); });\r\n this.registerPropertyChangedHandlers([\"errors\"], () => { this.updateVisibleErrors(); });\r\n this.registerPropertyChangedHandlers([\"isSingleInRow\"], () => { this.updateElementCss(false); });\r\n }\r\n protected onPropertyValueChanged(name: string, oldValue: any, newValue: any) {\r\n super.onPropertyValueChanged(name, oldValue, newValue);\r\n if (name === \"state\") {\r\n this.updateElementCss(false);\r\n this.notifyStateChanged(oldValue);\r\n if (this.stateChangedCallback) this.stateChangedCallback();\r\n }\r\n }\r\n protected getSkeletonComponentNameCore(): string {\r\n if (this.survey) {\r\n return this.survey.getSkeletonComponentName(this);\r\n }\r\n return \"\";\r\n }\r\n\r\n private parentQuestionValue: E = null;\r\n /**\r\n * A Dynamic Panel, Dynamic Matrix, or Dropdown Matrix that includes the current question.\r\n *\r\n * This property is `null` for standalone questions.\r\n */\r\n public get parentQuestion(): E {\r\n return this.parentQuestionValue;\r\n }\r\n setParentQuestion(val: E): void {\r\n this.parentQuestionValue = val;\r\n this.onParentQuestionChanged();\r\n }\r\n protected onParentQuestionChanged(): void { }\r\n\r\n public get skeletonComponentName(): string {\r\n return this.getSkeletonComponentNameCore();\r\n }\r\n /**\r\n * Gets and sets the survey element's expand state.\r\n *\r\n * Possible values:\r\n *\r\n * - `\"default\"` (default) - The survey element is displayed in full and cannot be collapsed in the UI.\r\n * - `\"expanded\"` - The survey element is displayed in full and can be collapsed in the UI.\r\n * - `\"collapsed\"` - The survey element displays only `title` and `description` and can be expanded in the UI.\r\n *\r\n * @see toggleState\r\n * @see collapse\r\n * @see expand\r\n * @see isCollapsed\r\n * @see isExpanded\r\n */\r\n public get state(): string {\r\n return this.getPropertyValue(\"state\");\r\n }\r\n public set state(val: string) {\r\n this.setPropertyValue(\"state\", val);\r\n this.renderedIsExpanded = !(this.state === \"collapsed\" && !this.isDesignMode);\r\n }\r\n protected notifyStateChanged(prevState: string): void {\r\n if (this.survey) {\r\n this.survey.elementContentVisibilityChanged(this);\r\n }\r\n }\r\n /**\r\n * Returns `true` if the survey element is collapsed.\r\n * @see state\r\n * @see toggleState\r\n * @see collapse\r\n * @see expand\r\n * @see isExpanded\r\n */\r\n public get isCollapsed(): boolean {\r\n return this.state === \"collapsed\" && !this.isDesignMode;\r\n }\r\n /**\r\n * Returns `true` if the survey element is expanded.\r\n * @see state\r\n * @see toggleState\r\n * @see collapse\r\n * @see expand\r\n * @see isCollapsed\r\n */\r\n public get isExpanded(): boolean {\r\n return this.state === \"expanded\";\r\n }\r\n /**\r\n * Collapses the survey element.\r\n *\r\n * In collapsed state, the element displays only `title` and `description`.\r\n * @see title\r\n * @see description\r\n * @see state\r\n * @see toggleState\r\n * @see expand\r\n * @see isCollapsed\r\n * @see isExpanded\r\n */\r\n public collapse() {\r\n if (this.isDesignMode) return;\r\n this.state = \"collapsed\";\r\n }\r\n /**\r\n * Expands the survey element.\r\n * @see state\r\n * @see toggleState\r\n * @see collapse\r\n * @see isCollapsed\r\n * @see isExpanded\r\n */\r\n public expand() {\r\n this.state = \"expanded\";\r\n }\r\n /**\r\n * Toggles the survey element's `state` between collapsed and expanded.\r\n * @see state\r\n * @see collapse\r\n * @see expand\r\n * @see isCollapsed\r\n * @see isExpanded\r\n */\r\n public toggleState(): boolean {\r\n if (this.isCollapsed) {\r\n this.expand();\r\n return true;\r\n }\r\n if (this.isExpanded) {\r\n this.collapse();\r\n return false;\r\n }\r\n return true;\r\n }\r\n public get hasStateButton(): boolean {\r\n return this.isExpanded || this.isCollapsed;\r\n }\r\n public get shortcutText(): string {\r\n return this.title || this.name;\r\n }\r\n private titleToolbarValue: AdaptiveActionContainer;\r\n public getTitleToolbar(): AdaptiveActionContainer {\r\n if (!this.titleToolbarValue) {\r\n this.titleToolbarValue = <AdaptiveActionContainer>this.createActionContainer(true);\r\n this.titleToolbarValue.containerCss = (this.isPanel ? this.cssClasses.panel.titleBar : this.cssClasses.titleBar) || \"sv-action-title-bar\";\r\n this.titleToolbarValue.setItems(this.getTitleActions());\r\n }\r\n return this.titleToolbarValue;\r\n }\r\n protected createActionContainer(allowAdaptiveActions?: boolean): ActionContainer {\r\n const actionContainer = allowAdaptiveActions ? new AdaptiveActionContainer() : new ActionContainer();\r\n if (this.survey && !!this.survey.getCss().actionBar) {\r\n actionContainer.cssClasses = this.survey.getCss().actionBar;\r\n }\r\n\r\n return actionContainer;\r\n }\r\n public get titleActions(): Array<any> {\r\n return this.getPropertyValue(\"titleActions\");\r\n }\r\n private isTitleActionRequested: boolean;\r\n public getTitleActions(): Array<any> {\r\n if (!this.isTitleActionRequested) {\r\n this.updateTitleActions();\r\n this.isTitleActionRequested = true;\r\n }\r\n return this.titleActions;\r\n }\r\n protected getDefaultTitleActions(): Array<IAction> {\r\n return [];\r\n }\r\n private updateTitleActions() {\r\n let actions: Array<IAction> = this.getDefaultTitleActions();\r\n if (!!this.survey) {\r\n actions = this.survey.getUpdatedElementTitleActions(this, actions);\r\n }\r\n this.setPropertyValue(\"titleActions\", actions);\r\n }\r\n public get hasTitleActions(): boolean {\r\n return this.getTitleActions().length > 0;\r\n }\r\n public get hasTitleEvents(): boolean {\r\n return this.state !== undefined && this.state !== \"default\";\r\n }\r\n public get titleTabIndex(): number {\r\n return !this.isPage && this.state !== \"default\" ? 0 : undefined;\r\n }\r\n public get titleAriaExpanded(): any {\r\n if (this.isPage || this.state === \"default\") return undefined;\r\n return this.state === \"expanded\" ? \"true\" : \"false\";\r\n }\r\n\r\n public get titleAriaRole(): any {\r\n if (this.isPage || this.state === \"default\") return undefined;\r\n return \"button\";\r\n }\r\n\r\n public setSurveyImpl(value: ISurveyImpl, isLight?: boolean) {\r\n this.surveyImplValue = value;\r\n if (!this.surveyImplValue) {\r\n this.setSurveyCore(null);\r\n this.surveyDataValue = null;\r\n } else {\r\n this.surveyDataValue = this.surveyImplValue.getSurveyData();\r\n this.setSurveyCore(this.surveyImplValue.getSurvey());\r\n this.textProcessorValue = this.surveyImplValue.getTextProcessor();\r\n this.onSetData();\r\n }\r\n if (!!this.survey) {\r\n this.updateDescriptionVisibility(this.description);\r\n this.clearCssClasses();\r\n }\r\n }\r\n protected canRunConditions(): boolean {\r\n return super.canRunConditions() && !!this.data;\r\n }\r\n public getDataFilteredValues(): any {\r\n return !!this.data ? this.data.getFilteredValues() : {};\r\n }\r\n public getDataFilteredProperties(): any {\r\n var props = !!this.data ? this.data.getFilteredProperties() : {};\r\n props.question = this;\r\n return props;\r\n }\r\n protected get surveyImpl() {\r\n return this.surveyImplValue;\r\n }\r\n /* You shouldn't use this method ever */\r\n __setData(data: ISurveyData) {\r\n if (settings.supportCreatorV2) {\r\n this.surveyDataValue = data;\r\n }\r\n }\r\n public get data(): ISurveyData {\r\n return this.surveyDataValue;\r\n }\r\n /**\r\n * Returns the survey object.\r\n */\r\n public get survey(): ISurvey {\r\n return this.getSurvey();\r\n }\r\n public getSurvey(live: boolean = false): ISurvey {\r\n if (!!this.surveyValue) return this.surveyValue;\r\n if (!!this.surveyImplValue) {\r\n this.setSurveyCore(this.surveyImplValue.getSurvey());\r\n }\r\n return this.surveyValue;\r\n }\r\n protected setSurveyCore(value: ISurvey) {\r\n this.surveyValue = value;\r\n if (!!this.surveyChangedCallback) {\r\n this.surveyChangedCallback();\r\n }\r\n }\r\n public isContentElement: boolean = false;\r\n public isEditableTemplateElement: boolean = false;\r\n public isInteractiveDesignElement: boolean = true;\r\n protected get isInternal(): boolean {\r\n return this.isContentElement;\r\n }\r\n public get areInvisibleElementsShowing(): boolean {\r\n return (\r\n !!this.survey &&\r\n this.survey.areInvisibleElementsShowing &&\r\n !this.isContentElement\r\n );\r\n }\r\n public get isVisible(): boolean {\r\n return true;\r\n }\r\n /**\r\n * Returns `true` if the survey element or its parent element is read-only.\r\n *\r\n * If you want to switch a survey element to the read-only state based on a condition, specify the [`enableIf`](https://surveyjs.io/form-library/documentation/question#enableIf) property. Refer to the following help topic for information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility).\r\n * @see readOnly\r\n */\r\n public get isReadOnly(): boolean {\r\n return this.readOnly;\r\n }\r\n /**\r\n * Makes the survey element read-only.\r\n *\r\n * If you want to switch a survey element to the read-only state based on a condition, specify the [`enableIf`](https://surveyjs.io/form-library/documentation/question#enableIf) property. Refer to the following help topic for information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility).\r\n * @see isReadOnly\r\n */\r\n public get readOnly(): boolean {\r\n return this.getPropertyValue(\"readOnly\");\r\n }\r\n public set readOnly(val: boolean) {\r\n if (this.readOnly == val) return;\r\n this.setPropertyValue(\"readOnly\", val);\r\n if (!this.isLoadingFromJson) {\r\n this.setPropertyValue(\"isReadOnly\", this.isReadOnly);\r\n }\r\n }\r\n protected onReadOnlyChanged() {\r\n if (!!this.readOnlyChangedCallback) {\r\n this.readOnlyChangedCallback();\r\n }\r\n }\r\n private get css(): any {\r\n return !!this.survey ? this.survey.getCss() : {};\r\n }\r\n public get cssClassesValue(): any {\r\n return this.getPropertyValueWithoutDefault(\"cssClassesValue\");\r\n }\r\n public set cssClassesValue(val: any) {\r\n this.setPropertyValue(\"cssClassesValue\", val);\r\n }\r\n private ensureCssClassesValue() {\r\n if (!this.cssClassesValue) {\r\n this.cssClassesValue = this.calcCssClasses(this.css);\r\n this.updateElementCssCore(this.cssClassesValue);\r\n }\r\n }\r\n /**\r\n * Returns an object in which keys are UI elements and values are CSS classes applied to them.\r\n *\r\n * Use the following events of the [`SurveyModel`](https://surveyjs.io/form-library/documentation/surveymodel) object to override CSS classes:\r\n *\r\n * - [`onUpdateQuestionCssClasses`](https://surveyjs.io/form-library/documentation/surveymodel#onUpdateQuestionCssClasses)\r\n * - [`onUpdatePanelCssClasses`](https://surveyjs.io/form-library/documentation/surveymodel#onUpdatePanelCssClasses)\r\n * - [`onUpdatePageCssClasses`](https://surveyjs.io/form-library/documentation/surveymodel#onUpdatePageCssClasses)\r\n * - [`onUpdateChoiceItemCss`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onUpdateChoiceItemCss)\r\n */\r\n public get cssClasses(): any {\r\n const _dummy = this.cssClassesValue;\r\n if (!this.survey) return this.calcCssClasses(this.css);\r\n this.ensureCssClassesValue();\r\n return this.cssClassesValue;\r\n }\r\n public get cssTitleNumber(): any {\r\n const css = this.cssClasses;\r\n if (css.number) return css.number;\r\n return css.panel ? css.panel.number : undefined;\r\n }\r\n protected calcCssClasses(css: any): any { return undefined; }\r\n protected updateElementCssCore(cssClasses: any) { }\r\n public get cssError(): string { return \"\"; }\r\n public updateElementCss(reNew?: boolean) {\r\n this.clearCssClasses();\r\n }\r\n protected clearCssClasses() {\r\n this.cssClassesValue = undefined;\r\n }\r\n protected getIsLoadingFromJson(): boolean {\r\n if (super.getIsLoadingFromJson()) return true;\r\n return this.surveyValue ? this.surveyValue.isLoadingFromJson : false;\r\n }\r\n /**\r\n * A survey element identifier.\r\n *\r\n * > Question names must be unique.\r\n */\r\n public get name(): string {\r\n return this.getPropertyValue(\"name\", \"\");\r\n }\r\n public set name(val: string) {\r\n var oldValue = this.name;\r\n this.setPropertyValue(\"name\", this.getValidName(val));\r\n if (!this.isLoadingFromJson && !!oldValue) {\r\n this.onNameChanged(oldValue);\r\n }\r\n }\r\n protected getValidName(name: string): string {\r\n return name;\r\n }\r\n protected onNameChanged(oldValue: string) { }\r\n protected updateBindingValue(valueName: string, value: any) {\r\n if (\r\n !!this.data &&\r\n !this.isTwoValueEquals(value, this.data.getValue(valueName))\r\n ) {\r\n this.data.setValue(valueName, value, false);\r\n }\r\n }\r\n /**\r\n * Validation errors. Call the `validate()` method to validate survey element data.\r\n * @see validate\r\n */\r\n public get errors(): Array<SurveyError> {\r\n return this.getPropertyValue(\"errors\");\r\n }\r\n public set errors(val: Array<SurveyError>) {\r\n this.setPropertyValue(\"errors\", val);\r\n }\r\n @property({ defaultValue: false }) hasVisibleErrors: boolean;\r\n private updateVisibleErrors() {\r\n var counter = 0;\r\n for (var i = 0; i < this.errors.length; i++) {\r\n if (this.errors[i].visible) counter++;\r\n }\r\n this.hasVisibleErrors = counter > 0;\r\n }\r\n /**\r\n * Returns `true` if the survey element or its child elements have validation errors.\r\n *\r\n * This property contains the result of the most recent validation. This result may be outdated. Call the `validate` method to get an up-to-date value.\r\n * @see errors\r\n */\r\n public get containsErrors(): boolean {\r\n return this.getPropertyValue(\"containsErrors\", false);\r\n }\r\n public updateContainsErrors() {\r\n this.setPropertyValue(\"containsErrors\", this.getContainsErrors());\r\n }\r\n protected getContainsErrors(): boolean {\r\n return this.errors.length > 0;\r\n }\r\n public get selectedElementInDesign(): SurveyElement {\r\n return this.selectedElementInDesignValue;\r\n }\r\n public set selectedElementInDesign(val: SurveyElement) {\r\n this.selectedElementInDesignValue = val;\r\n }\r\n public updateCustomWidgets(): void { }\r\n\r\n public onSurveyLoad(): void {}\r\n private wasRenderedValue: boolean;\r\n public get wasRendered(): boolean { return !!this.wasRenderedValue; }\r\n public onFirstRendering(): void {\r\n this.wasRenderedValue = true;\r\n this.ensureCssClassesValue();\r\n }\r\n endLoadingFromJson(): void {\r\n super.endLoadingFromJson();\r\n if (!this.survey) {\r\n this.onSurveyLoad();\r\n }\r\n this.updateDescriptionVisibility(this.description);\r\n }\r\n public setVisibleIndex(index: number): number {\r\n return 0;\r\n }\r\n /**\r\n * Returns `true` if the survey element is a page.\r\n * @see Base.getType\r\n */\r\n public get isPage(): boolean {\r\n return false;\r\n }\r\n /**\r\n * Returns `true` if the survey element is a panel.\r\n * @see Base.getType\r\n */\r\n public get isPanel(): boolean {\r\n return false;\r\n }\r\n /**\r\n * Returns `true` if the survey element is a question.\r\n * @see Base.getType\r\n */\r\n public get isQuestion(): boolean {\r\n return false;\r\n }\r\n public delete(doDispose: boolean): void { }\r\n //ILocalizableOwner\r\n locOwner: ILocalizableOwner;\r\n /**\r\n * Returns the survey's [locale](https://surveyjs.io/form-library/documentation/surveymodel#locale).\r\n *\r\n * If a default locale is used, this method returns an empty string. To get the applied locale in this case, use the following code:\r\n *\r\n * ```js\r\n * import { surveyLocalization } from 'survey-core';\r\n * const defaultLocale = surveyLocalization.defaultLocale;\r\n * ```\r\n *\r\n * @see [Localization & Globalization](https://surveyjs.io/form-library/documentation/localization)\r\n */\r\n public getLocale(): string {\r\n return this.survey\r\n ? (<ILocalizableOwner>(<any>this.survey)).getLocale()\r\n : this.locOwner\r\n ? this.locOwner.getLocale()\r\n : \"\";\r\n }\r\n public getMarkdownHtml(text: string, name: string): string {\r\n return this.survey\r\n ? this.survey.getSurveyMarkdownHtml(this, text, name)\r\n : this.locOwner\r\n ? this.locOwner.getMarkdownHtml(text, name)\r\n : undefined;\r\n }\r\n public getRenderer(name: string): string {\r\n return this.survey && typeof this.survey.getRendererForString === \"function\"\r\n ? this.survey.getRendererForString(this, name)\r\n : this.locOwner && typeof this.locOwner.getRenderer === \"function\"\r\n ? this.locOwner.getRenderer(name)\r\n : null;\r\n }\r\n public getRendererContext(locStr: LocalizableString): any {\r\n return this.survey && typeof this.survey.getRendererContextForString === \"function\"\r\n ? this.survey.getRendererContextForString(this, locStr)\r\n : this.locOwner && typeof this.locOwner.getRendererContext === \"function\"\r\n ? this.locOwner.getRendererContext(locStr)\r\n : locStr;\r\n }\r\n public getProcessedText(text: string): string {\r\n if (this.isLoadingFromJson) return text;\r\n if (this.textProcessor)\r\n return this.textProcessor.processText(text, this.getUseDisplayValuesInDynamicTexts());\r\n if (this.locOwner) return this.locOwner.getProcessedText(text);\r\n return text;\r\n }\r\n protected getUseDisplayValuesInDynamicTexts(): boolean { return true; }\r\n protected removeSelfFromList(list: Array<any>) {\r\n if (!list || !Array.isArray(list)) return;\r\n const index: number = list.indexOf(this);\r\n if (index > -1) {\r\n list.splice(index, 1);\r\n }\r\n }\r\n protected get textProcessor(): ITextProcessor {\r\n return this.textProcessorValue;\r\n }\r\n protected getProcessedHtml(html: string): string {\r\n if (!html || !this.textProcessor) return html;\r\n return this.textProcessor.processText(html, true);\r\n }\r\n protected onSetData() { }\r\n public get parent(): IPanel {\r\n return this.getPropertyValue(\"parent\", null);\r\n }\r\n public set parent(val: IPanel) {\r\n this.setPropertyValue(\"parent\", val);\r\n }\r\n\r\n protected getPage(parent: IPanel): IPage {\r\n while (parent && parent.parent) parent = parent.parent;\r\n if (parent && parent.getType() == \"page\") return <IPage>(<any>parent);\r\n return null;\r\n }\r\n protected moveToBase(\r\n parent: IPanel,\r\n container: IPanel,\r\n insertBefore: any = null\r\n ): boolean {\r\n if (!container) return false;\r\n parent.removeElement(<IElement>(<any>this));\r\n let index = -1;\r\n if (Helpers.isNumber(insertBefore)) {\r\n index = parseInt(insertBefore);\r\n }\r\n if (index == -1 && !!insertBefore && !!insertBefore.getType) {\r\n index = container.indexOf(insertBefore);\r\n }\r\n container.addElement(<IElement>(<any>this), index);\r\n return true;\r\n }\r\n\r\n protected setPage(parent: IPanel, newPage: IPage): void {\r\n const oldPage: IPage = this.getPage(parent);\r\n\r\n //fix for the creator v1: https://github.com/surveyjs/survey-creator/issues/1744\r\n if (typeof newPage === \"string\") {\r\n const survey = this.getSurvey();\r\n survey.pages.forEach((page: IPage) => {\r\n if (<any>newPage === page.name) newPage = page;\r\n });\r\n }\r\n\r\n if (oldPage === newPage) return;\r\n if (parent) parent.removeElement(<IElement>(<any>this));\r\n if (newPage) {\r\n newPage.addElement(<IElement>(<any>this), -1);\r\n }\r\n }\r\n protected getSearchableLocKeys(keys: Array<string>) {\r\n keys.push(\"title\");\r\n keys.push(\"description\");\r\n }\r\n\r\n public get isDefaultV2Theme() {\r\n return this.survey && this.survey.getCss().root == \"sd-root-modern\";\r\n }\r\n\r\n public get hasParent() {\r\n return (this.parent && !this.parent.isPage && (!(<any>this.parent).originalPage)) || (this.parent === undefined);\r\n }\r\n @property({ defaultValue: true }) isSingleInRow: boolean = true;\r\n\r\n private shouldAddRunnerStyles(): boolean {\r\n return !this.isDesignMode && this.isDefaultV2Theme;\r\n }\r\n\r\n protected get isCompact(): boolean {\r\n return this.survey && (<SurveyModel>this.survey)[\"isCompact\"];\r\n }\r\n\r\n private canHaveFrameStyles() {\r\n return (this.parent !== undefined && (!this.hasParent || this.parent && (this.parent as PanelModel).showPanelAsPage));\r\n }\r\n\r\n protected getHasFrameV2(): boolean {\r\n return this.shouldAddRunnerStyles() && this.canHaveFrameStyles();\r\n }\r\n protected getIsNested(): boolean {\r\n return this.shouldAddRunnerStyles() && !this.canHaveFrameStyles();\r\n }\r\n protected getCssRoot(cssClasses: { [index: string]: string }): string {\r\n const isExpanadable = !!this.isCollapsed || !!this.isExpanded;\r\n return new CssClassBuilder()\r\n .append(cssClasses.withFrame, this.getHasFrameV2() && !this.isCompact)\r\n .append(cssClasses.compact, this.isCompact && this.getHasFrameV2())\r\n .append(cssClasses.collapsed, !!this.isCollapsed)\r\n .append(cssClasses.expandableAnimating, isExpanadable && this.isAnimatingCollapseExpand)\r\n .append(cssClasses.expanded, !!this.isExpanded && this.renderedIsExpanded)\r\n .append(cssClasses.expandable, isExpanadable)\r\n .append(cssClasses.nested, this.getIsNested())\r\n .toString();\r\n }\r\n\r\n /**\r\n * Sets survey element width in CSS values.\r\n *\r\n * Default value: \"\"\r\n * @see minWidth\r\n * @see maxWidth\r\n */\r\n public get width(): string {\r\n return this.getPropertyValue(\"width\", \"\");\r\n }\r\n public set width(val: string) {\r\n this.setPropertyValue(\"width\", val);\r\n }\r\n /**\r\n * Gets or sets minimum survey element width in CSS values.\r\n *\r\n * Default value: \"300px\" (taken from [`settings.minWidth`](https://surveyjs.io/form-library/documentation/settings#minWidth))\r\n * @see maxWidth\r\n * @see renderWidth\r\n * @see width\r\n */\r\n public get minWidth(): string {\r\n return this.getPropertyValue(\"minWidth\");\r\n }\r\n public set minWidth(val: string) {\r\n this.setPropertyValue(\"minWidth\", val);\r\n }\r\n /**\r\n * Gets or sets maximum survey element width in CSS values.\r\n *\r\n * Default value: \"100%\" (taken from [`settings.maxWidth`](https://surveyjs.io/form-library/documentation/settings#maxWidth))\r\n * @see minWidth\r\n * @see renderWidth\r\n * @see width\r\n */\r\n public get maxWidth(): string {\r\n return this.getPropertyValue(\"maxWidth\");\r\n }\r\n public set maxWidth(val: string) {\r\n this.setPropertyValue(\"maxWidth\", val);\r\n }\r\n\r\n /**\r\n * Returns a calculated width of the rendered survey element in CSS values.\r\n * @see width\r\n * @see minWidth\r\n * @see maxWidth\r\n */\r\n public get renderWidth(): string {\r\n return this.getPropertyValue(\"renderWidth\", \"\");\r\n }\r\n public set renderWidth(val: string) {\r\n this.setPropertyValue(\"renderWidth\", val);\r\n }\r\n\r\n /**\r\n * Increases or decreases an indent of survey element content from the left edge. Accepts positive integer values and 0. Does not apply in the Default V2 theme.\r\n * @see rightIndent\r\n */\r\n public get indent(): number {\r\n return this.getPropertyValue(\"indent\");\r\n }\r\n public set indent(val: number) {\r\n this.setPropertyValue(\"indent\", val);\r\n }\r\n /**\r\n * Increases or decreases an indent of survey element content from the right edge. Accepts positive integer values and 0. Does not apply in the Default V2 theme.\r\n * @see indent\r\n */\r\n public get rightIndent(): number {\r\n return this.getPropertyValue(\"rightIndent\", 0);\r\n }\r\n public set rightIndent(val: number) {\r\n this.setPropertyValue(\"rightIndent\", val);\r\n }\r\n public getRootStyle(): object {\r\n const style: any = {};\r\n if (!!this.paddingLeft) { style[\"--sv-element-add-padding-left\"] = this.paddingLeft; }\r\n if (!!this.paddingRight) { style[\"--sv-element-add-padding-right\"] = this.paddingRight; }\r\n return style;\r\n }\r\n get paddingLeft(): string {\r\n return this.getPropertyValue(\"paddingLeft\", \"\");\r\n }\r\n set paddingLeft(val: string) {\r\n this.setPropertyValue(\"paddingLeft\", val);\r\n }\r\n get paddingRight(): string {\r\n return this.getPropertyValue(\"paddingRight\", \"\");\r\n }\r\n set paddingRight(val: string) {\r\n this.setPropertyValue(\"paddingRight\", val);\r\n }\r\n\r\n @property({ defaultValue: true }) allowRootStyle: boolean;\r\n\r\n get rootStyle() {\r\n let style: { [index: string]: any } = {};\r\n let minWidth = this.minWidth;\r\n if (minWidth != \"auto\") minWidth = \"min(100%, \" + this.minWidth + \")\";\r\n if (this.allowRootStyle && this.renderWidth) {\r\n // style[\"width\"] = this.renderWidth;\r\n style[\"flexGrow\"] = 1;\r\n style[\"flexShrink\"] = 1;\r\n style[\"flexBasis\"] = this.renderWidth;\r\n style[\"minWidth\"] = minWidth;\r\n style[\"maxWidth\"] = this.maxWidth;\r\n }\r\n return style;\r\n }\r\n private isContainsSelection(el: any) {\r\n let elementWithSelection: any = undefined;\r\n const _document = DomDocumentHelper.getDocument();\r\n if (DomDocumentHelper.isAvailable() && !!_document && (_document as any)[\"selection\"]) {\r\n elementWithSelection = (_document as any)[\"selection\"].createRange().parentElement();\r\n }\r\n else {\r\n var selection = DomWindowHelper.getSelection();\r\n if (!!selection && selection.rangeCount > 0) {\r\n const range = selection.getRangeAt(0);\r\n if (range.startOffset !== range.endOffset) {\r\n elementWithSelection = range.startContainer.parentNode;\r\n }\r\n }\r\n }\r\n return elementWithSelection == el;\r\n }\r\n public get clickTitleFunction(): any {\r\n if (this.needClickTitleFunction()) {\r\n return (event?: MouseEvent) => {\r\n if (!!event && this.isContainsSelection(event.target)) {\r\n return;\r\n }\r\n return this.processTitleClick();\r\n };\r\n }\r\n return undefined;\r\n }\r\n protected needClickTitleFunction(): boolean {\r\n return this.state !== \"default\";\r\n }\r\n protected processTitleClick() {\r\n if (this.state !== \"default\") {\r\n this.toggleState();\r\n }\r\n }\r\n public get hasAdditionalTitleToolbar(): boolean {\r\n return false;\r\n }\r\n public get additionalTitleToolbar(): ActionContainer {\r\n return this.getAdditionalTitleToolbar();\r\n }\r\n protected getAdditionalTitleToolbar(): ActionContainer | null {\r\n return null;\r\n }\r\n protected getCssTitle(cssClasses: any) {\r\n const isExpandable = this.state !== \"default\";\r\n const numInlineLimit = 4;\r\n return new CssClassBuilder()\r\n .append(cssClasses.title)\r\n .append(cssClasses.titleNumInline, ((<any>this).no || \"\").length > numInlineLimit || isExpandable)\r\n .append(cssClasses.titleExpandable, isExpandable)\r\n .append(cssClasses.titleExpanded, this.isExpanded)\r\n .append(cssClasses.titleCollapsed, this.isCollapsed)\r\n .append(cssClasses.titleDisabled, this.isDisabledStyle)\r\n .append(cssClasses.titleReadOnly, this.isReadOnly)\r\n .append(cssClasses.titleOnError, this.containsErrors).toString();\r\n }\r\n public get isDisabledStyle(): boolean {\r\n return this.getIsDisableAndReadOnlyStyles(false)[1];\r\n }\r\n public get isReadOnlyStyle(): boolean {\r\n return this.getIsDisableAndReadOnlyStyles(false)[0];\r\n }\r\n protected getIsDisableAndReadOnlyStyles(itemReadOnly: boolean): Array<boolean> {\r\n const isPreview = this.isPreviewStyle;\r\n const isReadOnly = itemReadOnly || this.isReadOnly;\r\n const isReadOnlyStyle = isReadOnly && !isPreview;\r\n const isDisableStyle = !this.isDefaultV2Theme && (isReadOnly || isPreview);\r\n return [isReadOnlyStyle, isDisableStyle];\r\n }\r\n public get isPreviewStyle(): boolean {\r\n return !!this.survey && this.survey.state === \"preview\";\r\n }\r\n public localeChanged() {\r\n super.localeChanged();\r\n this.updateDescriptionVisibility(this.description);\r\n if (this.errors.length > 0) {\r\n this.errors.forEach(err => {\r\n err.updateText();\r\n });\r\n }\r\n }\r\n\r\n private wrapperElement?: HTMLElement;\r\n public setWrapperElement(element?: HTMLElement) {\r\n this.wrapperElement = element;\r\n }\r\n public getWrapperElement(): HTMLElement {\r\n return this.wrapperElement;\r\n }\r\n\r\n @property() private _renderedIsExpanded: boolean = true;\r\n private _isAnimatingCollapseExpand: boolean = false;\r\n private set isAnimatingCollapseExpand(val: boolean) {\r\n if(val !== this._isAnimatingCollapseExpand) {\r\n this._isAnimatingCollapseExpand = val;\r\n this.updateElementCss(false);\r\n }\r\n }\r\n private get isAnimatingCollapseExpand() {\r\n return this._isAnimatingCollapseExpand || this._renderedIsExpanded != this.isExpanded;\r\n }\r\n protected onElementExpanded(elementIsRendered: boolean) {\r\n }\r\n private getExpandCollapseAnimationOptions(): IAnimationConsumer {\r\n const beforeRunAnimation = (el: HTMLElement) => {\r\n this.isAnimatingCollapseExpand = true;\r\n el.style.setProperty(\"--animation-height\", el.offsetHeight + \"px\");\r\n };\r\n const afterRunAnimation = (el: HTMLElement) => {\r\n this.isAnimatingCollapseExpand = false;\r\n };\r\n return {\r\n getRerenderEvent: () => this.onElementRerendered,\r\n getEnterOptions: () => {\r\n const cssClasses = this.isPanel ? this.cssClasses.panel : this.cssClasses;\r\n return {\r\n cssClass: cssClasses.contentFadeIn,\r\n onBeforeRunAnimation: beforeRunAnimation,\r\n onAfterRunAnimation: (el) => {\r\n afterRunAnimation(el);\r\n this.onElementExpanded(true);\r\n },\r\n };\r\n },\r\n getLeaveOptions: () => {\r\n const cssClasses = this.isPanel ? this.cssClasses.panel : this.cssClasses;\r\n return { cssClass: cssClasses.contentFadeOut,\r\n onBeforeRunAnimation: beforeRunAnimation,\r\n onAfterRunAnimation: afterRunAnimation\r\n };\r\n },\r\n getAnimatedElement: () => {\r\n const cssClasses = this.isPanel ? this.cssClasses.panel : this.cssClasses;\r\n if(cssClasses.content) {\r\n const selector = classesToSelector(cssClasses.content);\r\n if(selector) {\r\n return this.getWrapperElement()?.querySelector(`:scope ${selector}`);\r\n }\r\n }\r\n return undefined;\r\n },\r\n isAnimationEnabled: () => this.isExpandCollapseAnimationEnabled\r\n };\r\n }\r\n\r\n private get isExpandCollapseAnimationEnabled() {\r\n return this.animationAllowed && !this.isDesignMode;\r\n }\r\n\r\n private animationCollapsed = new AnimationBoolean(this.getExpandCollapseAnimationOptions(), (val) => {\r\n this._renderedIsExpanded = val;\r\n if(this.animationAllowed) {\r\n if(val) {\r\n this.isAnimatingCollapseExpand = true;\r\n } else {\r\n this.updateElementCss(false);\r\n }\r\n }\r\n }, () => this.renderedIsExpanded);\r\n public set renderedIsExpanded(val: boolean) {\r\n const oldValue = this._renderedIsExpanded;\r\n this.animationCollapsed.sync(val);\r\n if(!this.isExpandCollapseAnimationEnabled && !oldValue && this.renderedIsExpanded) {\r\n this.onElementExpanded(false);\r\n }\r\n }\r\n\r\n public get renderedIsExpanded(): boolean {\r\n return !!this._renderedIsExpanded;\r\n }\r\n protected getIsAnimationAllowed(): boolean {\r\n return super.getIsAnimationAllowed() && !!this.survey && !(this.survey as SurveyModel)[\"isEndLoadingFromJson\"];\r\n }\r\n\r\n public dispose(): void {\r\n super.dispose();\r\n if (this.titleToolbarValue) {\r\n this.titleToolbarValue.dispose();\r\n }\r\n }\r\n}\r\n","import { englishStrings } from \"./localization/english\";\n\nexport var surveyLocalization = {\n currentLocaleValue: \"\",\n defaultLocaleValue: \"en\",\n locales: <{ [index: string]: any }>{},\n localeNames: <{ [index: string]: any }>{},\n localeDirections: <{ [index: string]: any }>{},\n supportedLocales: <Array<any>>[],\n get currentLocale() {\n return this.currentLocaleValue === this.defaultLocaleValue ? \"\" : this.currentLocaleValue;\n },\n set currentLocale(val: string) {\n if (val === \"cz\") val = \"cs\";\n this.currentLocaleValue = val;\n },\n get defaultLocale() {\n return this.defaultLocaleValue;\n },\n set defaultLocale(val: string) {\n if (val === \"cz\") val = \"cs\";\n this.defaultLocaleValue = val;\n },\n getLocaleStrings(loc: string): any {\n return this.locales[loc];\n },\n getString: function (strName: string, locale: string = null) {\n const locs = new Array<any>();\n const addLocaleCore = (locName: string): void => {\n const strs = this.locales[locName];\n if(!!strs) locs.push(strs);\n };\n const addLocale = (locName: string): void => {\n if(!locName) return;\n addLocaleCore(locName);\n const index = locName.indexOf(\"-\");\n if(index < 1) return;\n locName = locName.substring(0, index);\n addLocaleCore(locName);\n };\n addLocale(locale);\n addLocale(this.currentLocale);\n addLocale(this.defaultLocale);\n if(this.defaultLocale !== \"en\") {\n addLocaleCore(\"en\");\n }\n for(let i = 0; i < locs.length; i ++) {\n const res = locs[i][strName];\n if(res !== undefined) return res;\n }\n return this.onGetExternalString(strName, locale);\n },\n getLocales: function (removeDefaultLoc: boolean = false): Array<string> {\n var res = [];\n res.push(\"\");\n var locs = this.locales;\n if (this.supportedLocales && this.supportedLocales.length > 0) {\n locs = {};\n for (var i = 0; i < this.supportedLocales.length; i++) {\n locs[this.supportedLocales[i]] = true;\n }\n }\n for (var key in locs) {\n if (removeDefaultLoc && key == this.defaultLocale) continue;\n res.push(key);\n }\n var locName = (loc: string): string => {\n if (!loc) return \"\";\n var res = (<any>surveyLocalization).localeNames[loc];\n if (!res) res = loc;\n return res.toLowerCase();\n };\n res.sort((a, b): number => {\n var str1 = locName(a);\n var str2 = locName(b);\n if (str1 === str2) return 0;\n return str1 < str2 ? -1 : 1;\n });\n return res;\n },\n onGetExternalString: function (name: string, locale: string): string { return undefined; }\n};\n\nexport var surveyStrings = englishStrings;\n(<any>surveyLocalization).locales[\"en\"] = englishStrings;\n(<any>surveyLocalization).localeNames[\"en\"] = \"english\";\n","import { debounce } from \"./taskmanager\";\nimport { compareArrays } from \"./utils\";\nimport { EventBase, Base } from \"../base\";\nimport { DomWindowHelper } from \"../global_variables_utils\";\n\nexport interface AnimationOptions{\n cssClass: string;\n onBeforeRunAnimation?: (element: HTMLElement) => void;\n onAfterRunAnimation?: (element: HTMLElement) => void;\n}\n\nexport interface IAnimationConsumer<T extends Array<any> = []> {\n getLeaveOptions?(...args: T): AnimationOptions;\n getEnterOptions?(...args: T): AnimationOptions;\n getAnimatedElement(...args: T): HTMLElement;\n isAnimationEnabled(): boolean;\n getRerenderEvent(): EventBase<Base>;\n}\n\ninterface IGroupAnimationInfo {\n isReorderingRunning: boolean;\n isDeletingRunning: boolean;\n isAddingRunning: boolean;\n}\nexport interface IAnimationGroupConsumer<T> extends IAnimationConsumer<[T]> {\n getLeaveOptions?(item: T, info? : IGroupAnimationInfo): AnimationOptions;\n getEnterOptions?(item: T, info?: IGroupAnimationInfo): AnimationOptions;\n getReorderOptions?(item: T, movedForward: boolean, info?: IGroupAnimationInfo): AnimationOptions;\n getKey?: (item: T) => any;\n allowSyncRemovalAddition?: boolean;\n}\n\nexport class AnimationUtils {\n private getMsFromRule(value: string) {\n if (value === \"auto\") return 0;\n return Number(value.slice(0, -1).replace(\",\", \".\")) * 1000;\n }\n private reflow(element: HTMLElement) {\n return element.offsetHeight;\n }\n private getAnimationsCount(element: HTMLElement) {\n let animationName = \"\";\n if(getComputedStyle) {\n animationName = getComputedStyle(element).animationName;\n }\n return (animationName && animationName != \"none\" ? animationName.split(\", \").length : 0);\n }\n private getAnimationDuration(element: HTMLElement): number {\n const style = getComputedStyle(element);\n const delays = style[\"animationDelay\"].split(\", \");\n const durations = style[\"animationDuration\"].split(\", \");\n let duration = 0;\n for (let i = 0; i < Math.max(durations.length, delays.length); i ++) {\n duration = Math.max(duration, this.getMsFromRule(durations[i % durations.length]) + this.getMsFromRule(delays[i % delays.length]));\n }\n return duration;\n }\n private cancelQueue: Array<() => void> = [];\n\n private addCancelCallback(callback: () => void) {\n this.cancelQueue.push(callback);\n }\n private removeCancelCallback(callback: () => void) {\n if(this.cancelQueue.indexOf(callback) >= 0) {\n this.cancelQueue.splice(this.cancelQueue.indexOf(callback), 1);\n }\n }\n\n protected onAnimationEnd(element: HTMLElement, callback: (isCancel?: boolean) => void, options: AnimationOptions): void {\n let cancelTimeout: any;\n let animationsCount = this.getAnimationsCount(element);\n const onEndCallback = (isCancel: boolean = true) => {\n this.afterAnimationRun(element, options);\n callback(isCancel);\n clearTimeout(cancelTimeout);\n this.removeCancelCallback(onEndCallback);\n element.removeEventListener(\"animationend\", onAnimationEndCallback);\n };\n const onAnimationEndCallback = (event: AnimationEvent) => {\n if(event.target == event.currentTarget && --animationsCount <= 0) {\n onEndCallback(false);\n }\n };\n if(animationsCount > 0) {\n element.addEventListener(\"animationend\", onAnimationEndCallback);\n this.addCancelCallback(onEndCallback);\n cancelTimeout = setTimeout(() => {\n onEndCallback(false);\n }, this.getAnimationDuration(element) + 10);\n } else {\n this.afterAnimationRun(element, options);\n callback(true);\n }\n }\n\n protected afterAnimationRun(element: HTMLElement, options: AnimationOptions | AnimationOptions): void {\n if(element && options) {\n options.onAfterRunAnimation && options.onAfterRunAnimation(element);\n }\n }\n\n protected beforeAnimationRun(element: HTMLElement, options: AnimationOptions | AnimationOptions): void {\n if(element && options) {\n options.onBeforeRunAnimation && options.onBeforeRunAnimation(element);\n }\n }\n private getCssClasses(options: AnimationOptions) {\n return options.cssClass.replace(/\\s+$/, \"\").split(/\\s+/);\n }\n protected runAnimation(element: HTMLElement, options: AnimationOptions, callback: (isCancel?: boolean) => void): void {\n if(element && options?.cssClass) {\n this.reflow(element);\n this.getCssClasses(options).forEach((cssClass) => {\n element.classList.add(cssClass);\n });\n this.onAnimationEnd(element, callback, options);\n } else {\n callback(true);\n }\n }\n protected clearHtmlElement(element: HTMLElement, options: AnimationOptions): void {\n if(element && options.cssClass) {\n this.getCssClasses(options).forEach((cssClass) => {\n element.classList.remove(cssClass);\n });\n }\n }\n\n protected onNextRender(callback: (isCancel?: boolean) => void, isCancel: boolean = false): void {\n if(!isCancel && DomWindowHelper.isAvailable()) {\n const cancelCallback = () => {\n callback(true);\n cancelAnimationFrame(latestRAF);\n };\n let latestRAF = DomWindowHelper.requestAnimationFrame(() => {\n latestRAF = DomWindowHelper.requestAnimationFrame(() => {\n callback(false);\n this.removeCancelCallback(cancelCallback);\n });\n });\n this.addCancelCallback(cancelCallback);\n } else {\n callback(true);\n }\n }\n\n public cancel(): void {\n const cancelQueue = [].concat(this.cancelQueue);\n cancelQueue.forEach(callback => callback());\n this.cancelQueue = [];\n }\n}\n\nexport class AnimationPropertyUtils extends AnimationUtils {\n public onEnter(options: IAnimationConsumer): void {\n const htmlElement = options.getAnimatedElement();\n const enterOptions: AnimationOptions = options.getEnterOptions ? options.getEnterOptions() : {} as any;\n this.beforeAnimationRun(htmlElement, enterOptions);\n this.runAnimation(htmlElement, enterOptions, () => {\n this.clearHtmlElement(htmlElement, enterOptions);\n });\n }\n public onLeave(options: IAnimationConsumer, callback: () => void): void {\n const htmlElement = options.getAnimatedElement();\n const leaveOptions: AnimationOptions = options.getLeaveOptions ? options.getLeaveOptions() : {} as any;\n this.beforeAnimationRun(htmlElement, leaveOptions);\n this.runAnimation(htmlElement, leaveOptions, (isCancel) => {\n callback();\n this.onNextRender(() => {\n this.clearHtmlElement(htmlElement, leaveOptions);\n }, isCancel);\n });\n }\n}\nexport class AnimationGroupUtils<T> extends AnimationUtils {\n public runGroupAnimation(options: IAnimationGroupConsumer<T>, addedItems: Array<T>, removedItems: Array<T>, reorderedItems: Array<{ item: T, movedForward: boolean }>, callback?: () => void): void {\n const info: IGroupAnimationInfo = {\n isAddingRunning: addedItems.length > 0,\n isDeletingRunning: removedItems.length > 0,\n isReorderingRunning: reorderedItems.length > 0\n };\n const addedHtmlElements = addedItems.map((el) => options.getAnimatedElement(el));\n const enterOptions: Array<AnimationOptions> = addedItems.map((el) => options.getEnterOptions ? options.getEnterOptions(el, info) : {} as any);\n const removedHtmlElements = removedItems.map((el) => options.getAnimatedElement(el));\n const leaveOptions: Array<AnimationOptions> = removedItems.map((el) => options.getLeaveOptions ? options.getLeaveOptions(el, info) : {} as any);\n const reorderedHtmlElements = reorderedItems.map(el => options.getAnimatedElement(el.item));\n const reorderedOptions: Array<AnimationOptions> = reorderedItems.map(el => options.getReorderOptions ? options.getReorderOptions(el.item, el.movedForward, info) : {} as any);\n addedItems.forEach((_, i) => {\n this.beforeAnimationRun(addedHtmlElements[i], enterOptions[i]);\n });\n removedItems.forEach((_, i) => {\n this.beforeAnimationRun(removedHtmlElements[i], leaveOptions[i]);\n });\n reorderedItems.forEach((_, i) => {\n this.beforeAnimationRun(reorderedHtmlElements[i], reorderedOptions[i]);\n });\n let counter = addedItems.length + removedItems.length + reorderedHtmlElements.length;\n const onAnimationEndCallback = (isCancel: boolean) => {\n if(--counter <=0) {\n callback && callback();\n this.onNextRender(() => {\n addedItems.forEach((_, i) => {\n this.clearHtmlElement(addedHtmlElements[i], enterOptions[i]);\n });\n removedItems.forEach((_, i) => {\n this.clearHtmlElement(removedHtmlElements[i], leaveOptions[i]);\n });\n reorderedItems.forEach((_, i) => {\n this.clearHtmlElement(reorderedHtmlElements[i], reorderedOptions[i]);\n });\n }, isCancel);\n }\n };\n addedItems.forEach((_, i) => {\n this.runAnimation(addedHtmlElements[i], enterOptions[i], onAnimationEndCallback);\n });\n removedItems.forEach((_, i) => {\n this.runAnimation(removedHtmlElements[i], leaveOptions[i], onAnimationEndCallback);\n });\n reorderedItems.forEach((_, i) => {\n this.runAnimation(reorderedHtmlElements[i], reorderedOptions[i], onAnimationEndCallback);\n });\n }\n}\n\nexport abstract class AnimationProperty<T, S extends IAnimationConsumer<any> = IAnimationConsumer> {\n constructor(protected animationOptions: S, protected update: (val: T, isTempUpdate?: boolean) => void, protected getCurrentValue: () => T) {\n }\n protected animation: AnimationUtils;\n protected onNextRender(callback: () => void, onCancel?: () => void): void {\n const rerenderEvent = this.animationOptions.getRerenderEvent();\n if(!rerenderEvent) {\n if(DomWindowHelper.isAvailable()) {\n const raf = DomWindowHelper.requestAnimationFrame(() => {\n callback();\n this.cancelCallback = undefined;\n });\n this.cancelCallback = () => {\n onCancel && onCancel();\n cancelAnimationFrame(raf);\n this.cancelCallback = undefined;\n };\n } else {\n throw new Error(\"Can't get next render\");\n }\n } else {\n const clear = () => {\n rerenderEvent.remove(nextRenderCallback);\n this.cancelCallback = undefined;\n };\n const nextRenderCallback = () => {\n callback();\n clear();\n };\n this.cancelCallback = () => {\n onCancel && onCancel();\n clear();\n };\n rerenderEvent.add(nextRenderCallback);\n }\n }\n protected abstract _sync(newValue: T): void;\n private _debouncedSync = debounce((newValue: T) => {\n this.animation.cancel();\n try {\n this._sync(newValue);\n } catch {\n this.update(newValue);\n }\n })\n sync(newValue: T): void {\n if(this.animationOptions.isAnimationEnabled()) {\n this._debouncedSync.run(newValue);\n } else {\n this.cancel();\n this.update(newValue);\n }\n }\n private cancelCallback: () => void;\n cancel(): void {\n this._debouncedSync.cancel();\n this.cancelCallback && this.cancelCallback();\n this.animation.cancel();\n }\n}\n\nexport class AnimationBoolean extends AnimationProperty<boolean> {\n protected animation: AnimationPropertyUtils = new AnimationPropertyUtils();\n protected _sync(newValue: boolean): void {\n if(newValue !== this.getCurrentValue()) {\n if(newValue) {\n this.onNextRender(() => {\n this.animation.onEnter(this.animationOptions);\n });\n this.update(newValue);\n } else {\n this.animation.onLeave(this.animationOptions, () => {\n this.update(newValue);\n });\n }\n } else {\n this.update(newValue);\n }\n }\n}\n\nexport class AnimationGroup<T> extends AnimationProperty<Array<T>, IAnimationGroupConsumer<T>> {\n protected animation: AnimationGroupUtils<T> = new AnimationGroupUtils();\n protected _sync (newValue: Array<T>): void {\n const oldValue = this.getCurrentValue();\n const allowSyncRemovalAddition = this.animationOptions.allowSyncRemovalAddition ?? true;\n let { addedItems, deletedItems, reorderedItems, mergedItems } = compareArrays(oldValue, newValue, this.animationOptions.getKey ?? ((item: T) => item));\n if(!allowSyncRemovalAddition && (reorderedItems.length > 0 || addedItems.length > 0)) {\n deletedItems = [];\n mergedItems = newValue;\n }\n const runAnimationCallback = () => {\n this.animation.runGroupAnimation(this.animationOptions, addedItems, deletedItems, reorderedItems, () => {\n if(deletedItems.length > 0) {\n this.update(newValue);\n }\n });\n };\n if([addedItems, deletedItems, reorderedItems].some((arr) => arr.length > 0)) {\n if(deletedItems.length <= 0 || reorderedItems.length > 0 || addedItems.length > 0) {\n this.onNextRender(runAnimationCallback, () => {\n this.update(newValue);\n });\n this.update(mergedItems);\n } else {\n runAnimationCallback();\n }\n } else {\n this.update(newValue);\n }\n }\n}\nexport class AnimationTab<T> extends AnimationProperty<Array<T>, IAnimationGroupConsumer<T>> {\n protected animation: AnimationGroupUtils<T> = new AnimationGroupUtils();\n constructor(animationOptions: IAnimationGroupConsumer<T>, update: (val: Array<T>, isTempUpdate?: boolean) => void, getCurrentValue: () => Array<T>, protected mergeValues?: (newValue: Array<T>, oldValue: Array<T>) => Array<T>) {\n super(animationOptions, update, getCurrentValue);\n }\n protected _sync(newValue: [T]): void {\n const oldValue = [].concat(this.getCurrentValue());\n if(oldValue[0] !== newValue[0]) {\n const tempValue = !!this.mergeValues ? this.mergeValues(newValue, oldValue) : [].concat(oldValue, newValue);\n this.onNextRender(() => {\n this.animation.runGroupAnimation(this.animationOptions, newValue, oldValue, [], () => {\n this.update(newValue);\n });\n }, () => this.update(newValue));\n this.update(tempValue, true);\n\n } else {\n this.update(newValue);\n }\n }\n}","export class CssClassBuilder {\n private classes: string[] = [];\n\n public isEmpty(): boolean {\n return this.toString() === \"\";\n }\n public append(value: string, condition: boolean = true): CssClassBuilder {\n if (!!value && condition) {\n if (typeof value === \"string\") {\n value = value.trim();\n }\n this.classes.push(value);\n }\n return this;\n }\n public toString(): string {\n return this.classes.join(\" \");\n }\n}","import { DomDocumentHelper, DomWindowHelper } from \"../global_variables_utils\";\nimport { Action } from \"../actions/action\";\nimport { AdaptiveActionContainer } from \"../actions/adaptive-container\";\nimport { isContainerVisible, isElementVisible } 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 = (elt: Element): CSSStyleDeclaration => {\n return DomDocumentHelper.getComputedStyle(elt);\n }\n\n constructor(\n protected container: HTMLDivElement,\n private model: AdaptiveActionContainer,\n private itemsSelector: string,\n private dotsItemSize: number = null,\n private delayedUpdateFunction?: (callback: () => void) => void\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((entries: ResizeObserverEntry[]) => {\n DomWindowHelper.requestAnimationFrame((): void | undefined => {\n this.process();\n });\n });\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 getRenderedVisibleActionsCount() {\n let count = 0;\n this.container.querySelectorAll(this.itemsSelector).forEach(item => {\n if(this.calcItemSize(item as HTMLDivElement) > 0) {\n count++;\n }\n });\n return count;\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\n private process(): void {\n if (this.isContainerVisible && !this.model.isResponsivenessDisabled) {\n if (!this.isInitialized) {\n this.model.setActionsMode(\"large\");\n }\n const processResponsiveness = () => {\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 if(!this.isInitialized) {\n const callback = () => {\n this.calcItemsSizes();\n this.isInitialized = true;\n processResponsiveness();\n };\n if(this.getRenderedVisibleActionsCount() < this.model.visibleActions.length) {\n if(this.delayedUpdateFunction) {\n this.delayedUpdateFunction(callback);\n } else if(queueMicrotask) {\n queueMicrotask(callback);\n } else {\n callback();\n }\n } else {\n callback();\n }\n } else {\n processResponsiveness();\n }\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 delayedUpdateFunction?: (callback: () => void) => void\n ) {\n super(container, model, itemsSelector, dotsItemSize, delayedUpdateFunction);\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","export interface IExecutable {\n id?: string;\n execute: () => void;\n isCompleted: boolean;\n dispose?: () => void;\n}\n\nexport class Task implements IExecutable {\n private _isCompleted = false;\n constructor(private func: () => void, private isMultiple = false) {}\n execute = () => {\n if (!this._isCompleted) {\n this.func();\n this._isCompleted = !this.isMultiple;\n }\n };\n public discard() {\n this._isCompleted = true;\n }\n get isCompleted() {\n return this._isCompleted;\n }\n}\nexport class TaskManger {\n private static instance: TaskManger = undefined;\n private static tasks: Array<IExecutable> = [];\n private constructor(private interval: number = 100) {\n setTimeout(TaskManger.Instance().tick, interval);\n }\n // dispose\n public static Instance() {\n if (!TaskManger.instance) {\n TaskManger.instance = new TaskManger();\n }\n return TaskManger.instance;\n }\n private tick() {\n try {\n var newTasks = [];\n for (var i = 0; i < TaskManger.tasks.length; i++) {\n let task = TaskManger.tasks[i];\n task.execute();\n if (!task.isCompleted) {\n newTasks.push(task);\n } else {\n if (typeof task.dispose === \"function\") {\n task.dispose();\n }\n }\n }\n TaskManger.tasks = newTasks;\n } finally {\n setTimeout(TaskManger.Instance().tick, this.interval);\n }\n }\n public static schedule(task: IExecutable) {\n TaskManger.tasks.push(task);\n }\n}\n\nexport function debounce<T extends (...args: any) => void>(func: T): { run: T, cancel: () => void } {\n let isSheduled = false;\n let isCanceled = false;\n let funcArgs: any;\n return { run: ((...args: any) => {\n isCanceled = false;\n funcArgs = args;\n if(!isSheduled) {\n isSheduled = true;\n queueMicrotask(() => {\n if(!isCanceled) {\n func.apply(this, funcArgs);\n }\n isCanceled = false;\n isSheduled = false;\n });\n }\n }) as T, cancel: () => {\n isCanceled = true;\n } };\n}\n","import { LocalizableString } from \"../localizablestring\";\nimport { settings, ISurveyEnvironment } from \"./../settings\";\nimport { IDialogOptions } from \"../popup\";\nimport { surveyLocalization } from \"../surveyStrings\";\nimport { PopupBaseViewModel } from \"../popup-view-model\";\nimport { DomDocumentHelper, DomWindowHelper } from \"../global_variables_utils\";\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}\n\nfunction confirmAction(message: string): boolean {\n if (!!settings && !!settings.confirmActionFunc)\n return settings.confirmActionFunc(message);\n return confirm(message);\n}\n\nfunction confirmActionAsync(message: string, funcOnYes: () => void, funcOnNo?: () => void, locale?: string, rootElement?: HTMLElement): void {\n const callbackFunc = (res: boolean): void => {\n if (res) funcOnYes();\n else if (!!funcOnNo) funcOnNo();\n };\n\n if (!!settings && !!settings.confirmActionAsync) {\n if (settings.confirmActionAsync(message, callbackFunc, undefined, locale, rootElement)) return;\n }\n\n callbackFunc(confirmAction(message));\n}\nfunction detectIEBrowser(): boolean {\n const ua: string = 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(): boolean {\n if (typeof (<any>detectIEOrEdge).isIEOrEdge === \"undefined\") {\n const ua: string = 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): void {\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 (!!navigator && (<any>navigator)[\"msSaveBlob\"]) {\n (<any>navigator)[\"msSaveOrOpenBlob\"](bb, fileName);\n }\n } catch (err) { }\n}\nfunction isMobile(): boolean {\n return (DomWindowHelper.isAvailable() && DomWindowHelper.hasOwn(\"orientation\"));\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 DomWindowHelper.getInnerHeight()\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 setTimeout(() => scrollableEl.dispatchEvent(new CustomEvent(\"scroll\")), 10);\n }\n}\n\nfunction navigateToUrl(url: string): void {\n const location = DomWindowHelper.getLocation();\n if (!url || !location) return;\n location.href = url;\n}\n\nfunction wrapUrlForBackgroundImage(url: string): string {\n return !!url ? [\"url(\", url, \")\"].join(\"\") : \"\";\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 = DomDocumentHelper.getDocument().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 DomDocumentHelper.getComputedStyle(elt); };\n\n const style = getComputedStyle(element);\n element.style.height = \"auto\";\n if (!!element.scrollHeight) {\n element.style.height = (element.scrollHeight + parseFloat(style.borderTopWidth) + parseFloat(style.borderBottomWidth)) + \"px\";\n }\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 if (!str) return str;\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, cleanLineBreaks: boolean = true) {\n if (DomWindowHelper.isAvailable() && DomDocumentHelper.isAvailable() && element.childNodes.length > 0) {\n const selection = DomWindowHelper.getSelection();\n if (selection.rangeCount == 0) {\n return;\n }\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 let tail = selection.toString();\n let innerText = element.innerText;\n tail = tail.replace(/\\r/g, \"\");\n if (cleanLineBreaks) {\n tail = tail.replace(/\\n/g, \"\");\n innerText = innerText.replace(/\\n/g, \"\");\n }\n const tail_len = tail.length;\n\n element.innerText = innerText;\n range = DomDocumentHelper.getDocument().createRange();\n\n range.setStart(element.firstChild, 0);\n range.setEnd(element.firstChild, 0);\n\n selection.removeAllRanges();\n selection.addRange(range);\n\n while (selection.toString().length < innerText.length - tail_len) {\n const selLen = selection.toString().length;\n (selection as any).modify(\"extend\", \"forward\", \"character\");\n if (selection.toString().length == selLen) break;\n }\n range = selection.getRangeAt(0);\n range.setStart(range.endContainer, range.endOffset);\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 function showConfirmDialog(message: string, callback: (res: boolean) => void, applyTitle?: string, locale?: string, rootElement?: HTMLElement): boolean {\n const locStr = new LocalizableString(undefined);\n const popupViewModel: PopupBaseViewModel = settings.showDialog(<IDialogOptions>{\n componentName: \"sv-string-viewer\",\n data: { locStr: locStr, locString: locStr, model: locStr }, //TODO fix in library\n onApply: () => {\n callback(true);\n return true;\n },\n onCancel: () => {\n callback(false);\n return false;\n },\n title: message,\n displayMode: \"popup\",\n isFocusedContent: false,\n cssClass: \"sv-popup--confirm-delete\"\n }, rootElement);\n const toolbar = popupViewModel.footerToolbar;\n const applyBtn = toolbar.getActionById(\"apply\");\n const cancelBtn = toolbar.getActionById(\"cancel\");\n cancelBtn.title = surveyLocalization.getString(\"cancel\", locale);\n cancelBtn.innerCss = \"sv-popup__body-footer-item sv-popup__button sd-btn sd-btn--small\";\n applyBtn.title = applyTitle || surveyLocalization.getString(\"ok\", locale);\n applyBtn.innerCss = \"sv-popup__body-footer-item sv-popup__button sv-popup__button--danger sd-btn sd-btn--small sd-btn--danger\";\n configConfirmDialog(popupViewModel);\n return true;\n}\n\nexport function configConfirmDialog(popupViewModel: PopupBaseViewModel): void {\n popupViewModel.width = \"min-content\";\n}\n\nfunction chooseFiles(input: HTMLInputElement, callback: (files: File[]) => void): void {\n if (!DomWindowHelper.isFileReaderAvailable()) return;\n input.value = \"\";\n input.onchange = (event) => {\n if (!DomWindowHelper.isFileReaderAvailable()) return;\n if (!input || !input.files || input.files.length < 1) return;\n let files = [];\n for (let i = 0; i < input.files.length; i++) {\n files.push(input.files[i]);\n }\n callback(files);\n };\n input.click();\n}\nexport function compareArrays<T>(oldValue: Array<T>, newValue: Array<T>, getKey: (item: T) => any): { addedItems: Array<T>, deletedItems: Array<T>, reorderedItems: Array<{ item: T, movedForward: boolean }>, mergedItems: Array<T> } {\n const oldItemsMap = new Map<any, T>();\n const newItemsMap = new Map<any, T>();\n const commonItemsInNewMap = new Map<any, number>();\n const commonItemsInOldMap = new Map<any, number>();\n oldValue.forEach((item) => {\n const itemKey = getKey(item);\n if (!oldItemsMap.has(itemKey)) {\n oldItemsMap.set(getKey(item), item);\n } else {\n //if keys are set incorrectly do not process comparing\n throw new Error(\"keys must be unique\");\n }\n });\n newValue.forEach((item) => {\n const itemKey = getKey(item);\n if (!newItemsMap.has(itemKey)) {\n newItemsMap.set(itemKey, item);\n } else {\n //if keys are set incorrectly do not process comparing\n throw new Error(\"keys must be unique\");\n }\n });\n const addedItems: Array<T> = [];\n const deletedItems: Array<T> = [];\n\n //calculating addedItems and items that exist in both arrays\n newItemsMap.forEach((item, key) => {\n if (!oldItemsMap.has(key)) {\n addedItems.push(item);\n } else {\n commonItemsInNewMap.set(key, commonItemsInNewMap.size);\n }\n });\n\n //calculating deletedItems and items that exist in both arrays\n\n oldItemsMap.forEach((item, key) => {\n if (!newItemsMap.has(key)) {\n deletedItems.push(item);\n } else {\n commonItemsInOldMap.set(key, commonItemsInOldMap.size);\n }\n });\n\n //calculating reordered items\n const reorderedItems: Array<{ item: T, movedForward: boolean }> = [];\n commonItemsInNewMap.forEach((index, key) => {\n const oldIndex = commonItemsInOldMap.get(key);\n const item = newItemsMap.get(key);\n if (oldIndex !== index) reorderedItems.push({ item: item, movedForward: oldIndex < index });\n });\n\n //calculating merged array if multiple operations are applied at once\n\n const oldItemsWithCorrectOrder = new Array<T>(oldValue.length);\n let commonItemsIndex = 0;\n const commonItemsKeysOrder = Array.from(commonItemsInNewMap.keys());\n oldValue.forEach((item, index) => {\n if (commonItemsInNewMap.has(getKey(item))) {\n oldItemsWithCorrectOrder[index] = newItemsMap.get(commonItemsKeysOrder[commonItemsIndex]);\n commonItemsIndex++;\n } else {\n oldItemsWithCorrectOrder[index] = item;\n }\n });\n\n const valuesToInsertBeforeKey = new Map<any, Array<T>>();\n let tempValuesArray: Array<T> = [];\n oldItemsWithCorrectOrder.forEach((item) => {\n const itemKey = getKey(item);\n if (newItemsMap.has(itemKey)) {\n if (tempValuesArray.length > 0) {\n valuesToInsertBeforeKey.set(itemKey, tempValuesArray);\n tempValuesArray = [];\n }\n } else {\n tempValuesArray.push(item);\n }\n });\n\n const mergedItems = new Array<T>();\n newItemsMap.forEach((item, key) => {\n if (valuesToInsertBeforeKey.has(key)) {\n valuesToInsertBeforeKey.get(key).forEach((item) => {\n mergedItems.push(item);\n });\n }\n mergedItems.push(item);\n });\n tempValuesArray.forEach((item) => {\n mergedItems.push(item);\n });\n\n return { reorderedItems, deletedItems, addedItems, mergedItems };\n}\n\nexport {\n mergeValues,\n getElementWidth,\n isContainerVisible,\n classesToSelector,\n compareVersions,\n confirmAction,\n confirmActionAsync,\n detectIEOrEdge,\n detectIEBrowser,\n loadFileFromBase64,\n isMobile,\n isShadowDOM,\n getElement,\n isElementVisible,\n findScrollableParent,\n scrollElementByChildId,\n navigateToUrl,\n wrapUrlForBackgroundImage,\n createSvg,\n getIconNameFromProxy,\n increaseHeightByContent,\n getOriginalEvent,\n preventDefaults,\n findParentByClassNames,\n getFirstVisibleChild,\n chooseFiles\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/file/file-choose-button.tsx","webpack://SurveyReact/./src/react/components/file/file-preview.tsx","webpack://SurveyReact/./src/react/components/header.tsx","webpack://SurveyReact/./src/react/components/list/list-item-content.tsx","webpack://SurveyReact/./src/react/components/list/list-item-group.tsx","webpack://SurveyReact/./src/react/components/list/list-item.tsx","webpack://SurveyReact/./src/react/components/list/list.tsx","webpack://SurveyReact/./src/react/components/loading-indicator.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/question-error.tsx","webpack://SurveyReact/./src/react/components/rating/rating-dropdown-item.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/element.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/progress.tsx","webpack://SurveyReact/./src/react/progressButtons.tsx","webpack://SurveyReact/./src/react/progressToc.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/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/svgbundle.tsx","webpack://SurveyReact/./src/react/tagbox-filter.tsx","webpack://SurveyReact/./src/react/tagbox-item.tsx","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 SurveyQuestionRankingItemContent\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\";\nexport { RatingDropdownItem } from \"../react/components/rating/rating-dropdown-item\";\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 SurveyQuestionMatrixCell\n} from \"../react/reactquestion_matrix\";\nexport { SurveyQuestionHtml } from \"../react/reactquestion_html\";\nexport { SurveyQuestionFile } from \"../react/reactquestion_file\";\nexport { SurveyFileChooseButton } from \"../react/components/file/file-choose-button\";\nexport { SurveyFilePreview } from \"../react/components/file/file-preview\";\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/progress\";\nexport { SurveyProgressButtons } from \"../react/progressButtons\";\nexport { SurveyProgressToc } from \"../react/progressToc\";\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 { ListItemContent } from \"../react/components/list/list-item-content\";\nexport { ListItemGroup } from \"../react/components/list/list-item-group\";\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\";\nexport { QuestionErrorComponent } from \"../react/components/question-error\";\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\";\nexport * from \"../react/components/header\";\n\nexport { SurveyLocStringViewer } from \"../react/string-viewer\";\nexport { SurveyLocStringEditor } from \"../react/string-editor\";\nexport { LoadingIndicatorComponent } from \"../react/components/loading-indicator\";\n\nexport { SvgBundleComponent } from \"../react/svgbundle\";\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\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.question.isDisabledAttr}\n readOnly={this.question.isReadOnlyAttr}\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-errormessage={this.question.ariaErrormessage}\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-errormessage = { this.question.ariaErrormessage }\n checked={value === this.question.booleanValueRendered}\n disabled={this.question.isDisabledAttr}\n readOnly={this.question.isReadOnlyAttr}\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.question.swapOrder ?\n (<>{this.renderRadioItem(false, this.question.locLabelFalse)}\n {this.renderRadioItem(true, this.question.locLabelTrue)}</>)\n :\n (<>{this.renderRadioItem(true, this.question.locLabelTrue)}\n {this.renderRadioItem(false, this.question.locLabelFalse)}</>)\n }\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.question.isDisabledAttr}\n readOnly={this.question.isReadOnlyAttr}\n checked={this.question.booleanValue || false}\n onChange={this.handleOnChange}\n role={this.question.a11y_input_ariaRole}\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-describedby={this.question.a11y_input_ariaDescribedBy}\n aria-invalid={this.question.a11y_input_ariaInvalid}\n aria-errormessage={this.question.a11y_input_ariaErrormessage}\n />\n <div className={cssClasses.sliderGhost} onClick={(event) => this.handleOnLabelClick(event, this.question.swapOrder)}>\n <span className={this.question.getLabelCss(this.question.swapOrder)}>\n {this.renderLocString(this.question.locLabelLeft)}\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, !this.question.swapOrder)}>\n <span className={this.question.getLabelCss(!this.question.swapOrder)}>\n {this.renderLocString(this.question.locLabelRight)}\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 onMouseDown={() => this.item.doMouseDown()}\r\n onFocus={(args) => this.item.doFocus(args)}\r\n onClick={(args) => this.item.doAction(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>, this.item, { 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, (callback) => { setTimeout(callback); });\n }\n }\n componentWillUnmount() {\n super.componentWillUnmount();\n if (!!this.model.hasActions) {\n this.model.resetResponsivityManager();\n }\n }\n componentDidUpdate(prevProps: IActionBarProps, prevState: any): void {\n super.componentDidUpdate(prevProps, prevState);\n if(prevProps.model == this.props.model) {\n return;\n }\n if (!!this.model.hasActions) {\n this.model.resetResponsivityManager();\n const container: HTMLDivElement | null = this.rootRef.current;\n if(!!container) {\n this.model.initResponsivityManager(container, (callback) => { setTimeout(callback); });\n }\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, container: this.props.container, key: component.id });\n })}\n </>;\n }\n return <div className={\"sv-components-column\" + \" sv-components-container-\" + this.props.container}>\n {components.map(component => {\n return ReactElementFactory.Instance.createElement(component.component as string, { survey: this.props.survey, model: component.data, container: this.props.container, 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\";\nimport { attachKey2click } from \"../../reactSurvey\";\nimport { ReactSurveyElement } from \"../../reactquestion_element\";\nimport { QuestionFileModel } from \"survey-core\";\nimport { SvgIcon } from \"../svg-icon/svg-icon\";\nimport { ReactElementFactory } from \"../../element-factory\";\n\nexport class SurveyFileChooseButton extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n }\n protected get question(): QuestionFileModel {\n return (this.props.item && this.props.item.data.question) || this.props.data.question;\n }\n render() {\n return attachKey2click(\n <label\n tabIndex={0}\n className={this.question.getChooseFileCss()}\n htmlFor={this.question.inputId}\n aria-label={this.question.chooseButtonText}\n onClick={(e) => this.question.chooseFile(e.nativeEvent)}\n >\n {(!!this.question.cssClasses.chooseFileIconId) ? <SvgIcon title={this.question.chooseButtonText} iconName={this.question.cssClasses.chooseFileIconId} size={\"auto\"}></SvgIcon>: null }\n <span>{this.question.chooseButtonText}</span>\n </label>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\n \"sv-file-choose-btn\",\n (props) => {\n return React.createElement(SurveyFileChooseButton, props);\n }\n);","import React from \"react\";\nimport { SurveyElementBase } from \"../../reactquestion_element\";\nimport { QuestionFileModel } from \"survey-core\";\nimport { SvgIcon } from \"../svg-icon/svg-icon\";\nimport { ReactElementFactory } from \"../../element-factory\";\n\nexport class SurveyFilePreview extends SurveyElementBase<{ question: QuestionFileModel }, {}> {\n\n protected get question(): QuestionFileModel {\n return this.props.question;\n }\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\n protected renderElement(): JSX.Element | 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.previewItem}\n onClick={(event) => this.question.doDownloadFileFromContainer(event as any)}\n style={{ display: this.question.isPreviewVisible(index) ? undefined : \"none\" }}\n >\n {this.renderFileSign(this.question.cssClasses.fileSign, val)}\n <div className={this.question.getImageWrapperCss(val)}>\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.getRemoveButtonCss()} onClick={(event) => this.question.doRemoveFile(val, event)}>\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 protected canRender(): boolean {\n return this.question.showPreviewContainer;\n }\n}\nReactElementFactory.Instance.registerElement(\n \"sv-file-preview\",\n (props) => {\n return React.createElement(SurveyFilePreview, props);\n }\n);","import React from \"react\";\nimport { Base, SurveyModel, Cover, CoverCell } from \"survey-core\";\nimport { SurveyElementBase } from \"../reactquestion_element\";\nimport { ReactElementFactory } from \"../element-factory\";\nimport { TitleElement } from \"./title/title-element\";\n\nexport interface ILayoutElementProps<T = Base> {\n survey: SurveyModel;\n model: T;\n}\n\nexport class HeaderMobile extends React.Component<any, any> {\n get model(): Cover {\n return this.props.model;\n }\n private renderLogoImage(): JSX.Element | null {\n const componentName: string = this.model.survey.getElementWrapperComponentName(\n this.model.survey,\n \"logo-image\"\n );\n const componentData: any = this.model.survey.getElementWrapperComponentData(\n this.model.survey,\n \"logo-image\"\n );\n return ReactElementFactory.Instance.createElement(componentName, {\n data: componentData,\n });\n }\n\n render(): JSX.Element | null {\n return (<div className=\"sv-header--mobile\">\n {this.model.survey.hasLogo ? (<div className=\"sv-header__logo\">\n {this.renderLogoImage()}\n </div>) : null}\n {this.model.survey.hasTitle ? (<div className=\"sv-header__title\" style={{ maxWidth: this.model.textAreaWidth }}>\n {/* {ReactElementFactory.Instance.createElement(\"survey-element-title\", { element: this.model.survey })} */}\n <TitleElement element={this.model.survey}/>\n </div>) : null}\n {this.model.survey.renderedHasDescription ? (<div className=\"sv-header__description\" style={{ maxWidth: this.model.textAreaWidth }}>\n <div className={this.model.survey.css.description}>\n {SurveyElementBase.renderLocString(this.model.survey.locDescription)}\n </div>\n </div>) : null}\n </div>);\n }\n}\n\nexport class HeaderCell extends React.Component<any, any> {\n get model(): CoverCell {\n return this.props.model;\n }\n private renderLogoImage(): JSX.Element | null {\n const componentName: string = this.model.survey.getElementWrapperComponentName(\n this.model.survey,\n \"logo-image\"\n );\n const componentData: any = this.model.survey.getElementWrapperComponentData(\n this.model.survey,\n \"logo-image\"\n );\n return ReactElementFactory.Instance.createElement(componentName, {\n data: componentData,\n });\n }\n\n render(): JSX.Element | null {\n return (<div className={this.model.css} style={this.model.style}>\n <div className=\"sv-header__cell-content\" style={this.model.contentStyle}>\n {this.model.showLogo ? (<div className=\"sv-header__logo\">\n {this.renderLogoImage()}\n </div>) : null}\n {this.model.showTitle ? (<div className=\"sv-header__title\" style={{ maxWidth: this.model.textAreaWidth }}>\n {/* {ReactElementFactory.Instance.createElement(\"survey-element-title\", { element: this.model.survey })} */}\n <TitleElement element={this.model.survey}/>\n </div>) : null}\n {this.model.showDescription ? (<div className=\"sv-header__description\" style={{ maxWidth: this.model.textAreaWidth }}>\n <div className={this.model.survey.css.description}>\n {SurveyElementBase.renderLocString(this.model.survey.locDescription)}\n </div>\n </div>) : null}\n </div>\n </div>);\n }\n}\n\nexport class Header extends SurveyElementBase<ILayoutElementProps<Cover>, any> {\n get model(): Cover {\n return this.props.model;\n }\n protected getStateElement(): Base {\n return this.model;\n }\n\n renderElement(): JSX.Element | null {\n this.model.survey = this.props.survey;\n\n if(!(this.props.survey.headerView === \"advanced\")) {\n return null;\n }\n\n let headerContent: JSX.Element | null = null;\n if(this.props.survey.isMobile) {\n headerContent = <HeaderMobile model={this.model}/>;\n } else {\n headerContent = (<div className={this.model.contentClasses} style={{ maxWidth: this.model.maxWidth }}>\n {this.model.cells.map((cell, index) => <HeaderCell key={index} model={cell}/>)}\n </div>);\n }\n\n return (\n <div className={this.model.headerClasses} style={{ height: this.model.renderedHeight }}>\n {this.model.backgroundImage ? <div style={this.model.backgroundImageStyle} className={this.model.backgroundImageClasses}></div> : null}\n {headerContent}\n </div>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-header\", (props) => {\n return React.createElement(Header, props);\n});","import React from \"react\";\nimport { ListModel } from \"survey-core\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { SurveyElementBase } from \"../../reactquestion_element\";\nimport { SvgIcon } from \"../svg-icon/svg-icon\";\n\ninterface IListItemProps {\n model: ListModel;\n item: any;\n}\n\nexport class ListItemContent extends SurveyElementBase<IListItemProps, any> {\n get model(): ListModel {\n return this.props.model;\n }\n get item(): any {\n return this.props.item;\n }\n getStateElement() {\n return this.item;\n }\n render(): JSX.Element | null {\n if (!this.item) return null;\n\n const content: Array<JSX.Element> = [];\n const text = this.renderLocString(this.item.locTitle, undefined, \"locString\");\n if(this.item.iconName) {\n const icon = <SvgIcon\n key={\"icon\"}\n className={this.model.cssClasses.itemIcon}\n iconName={this.item.iconName}\n size={this.item.iconSize}\n aria-label={this.item.title}\n ></SvgIcon>;\n content.push(icon);\n content.push(<span key={\"text\"}>{text}</span>);\n } else {\n content.push(text);\n }\n\n if(this.item.markerIconName) {\n const icon = <SvgIcon\n key={\"marker\"}\n className={this.item.cssClasses.itemMarkerIcon}\n iconName={this.item.markerIconName}\n size={this.item.markerIconSize}\n ></SvgIcon>;\n content.push(icon);\n }\n\n return <>\n {content}\n </>;\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-list-item-content\", (props) => {\n return React.createElement(ListItemContent, props);\n});\n","import React from \"react\";\nimport { ListModel } from \"survey-core\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { SurveyElementBase } from \"../../reactquestion_element\";\nimport { Popup } from \"../popup/popup\";\n\ninterface IListItemProps {\n model: ListModel;\n item: any;\n}\n\nexport class ListItemGroup extends SurveyElementBase<IListItemProps, any> {\n get model(): ListModel {\n return this.props.model;\n }\n get item(): any {\n return this.props.item;\n }\n getStateElement() {\n return this.item;\n }\n render(): JSX.Element | null {\n if (!this.item) return null;\n\n const newElement = ReactElementFactory.Instance.createElement(\"sv-list-item-content\", { item: this.item, key: \"content\" + this.item.id, model: this.model });\n return <>\n {newElement}\n <Popup model={this.item?.popupModel}></Popup>\n </>;\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-list-item-group\", (props) => {\n return React.createElement(ListItemGroup, 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\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 itemContent = this.item.component || \"sv-list-item-content\";\r\n const newElement = ReactElementFactory.Instance.createElement(itemContent, { item: this.item, key: this.item.id, model: this.model });\r\n const contentWrap =\r\n <div\r\n style={contentWrapStyle}\r\n className={this.model.cssClasses.itemBody}\r\n title={this.item.locTitle.calculatedText}\r\n onMouseOver={(event: any) => { this.model.onItemHover(this.item); }}\r\n onMouseLeave={(event: any) => { this.model.onItemLeave(this.item); }}\r\n >\r\n {newElement}\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>, this.item\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 componentWillUnmount(): void {\r\n super.componentWillUnmount();\r\n if(!!this.model) {\r\n this.model.initListContainerHtmlElement(undefined as any);\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 * as React from \"react\";\nimport { SvgIcon } from \"./svg-icon/svg-icon\";\n\nexport class LoadingIndicatorComponent extends React.Component<any, any> {\n render(): JSX.Element | null {\n return (<div className=\"sd-loading-indicator\"><SvgIcon iconName=\"icon-loading\" size=\"auto\"></SvgIcon></div>);\n }\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 private root: React.RefObject<HTMLTableRowElement> = React.createRef();\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 componentDidMount(): void {\n super.componentDidMount();\n if(this.root.current) {\n this.model.setRootElement(this.root.current);\n }\n }\n\n componentWillUnmount(): void {\n super.componentWillUnmount();\n this.model.setRootElement(undefined as any);\n }\n\n public shouldComponentUpdate(nextProps: any, nextState: any): boolean {\n if (!super.shouldComponentUpdate(nextProps, nextState)) return false;\n if (nextProps.model !== this.model) {\n if(nextProps.element) {\n nextProps.element.setRootElement(this.root.current);\n }\n if(this.model) {\n this.model.setRootElement(undefined as any);\n }\n }\n return true;\n }\n\n render() {\n const model = this.model;\n if(!model.visible) return null;\n return (\n <tr\n ref={this.root}\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 const btnText = this.renderLocString(this.question.locPanelAddText);\n return (\n <button type=\"button\" className={this.question.getAddButtonCss()} onClick={this.handleClick} >\n <span className={this.question.cssClasses.buttonAddText}>{btnText}</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 const btnText = this.renderLocString(this.question.locPanelRemoveText);\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 >{btnText}</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 getArea?: (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(\n container,\n this.props.getTarget ? this.props.getTarget(container) : undefined,\n this.props.getArea ? this.props.getArea(container) : undefined\n );\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 componentWillUnmount(): void {\n super.componentWillUnmount();\n this.popup.resetComponentElement();\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 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.model.isPositionSet && this.model.isVisible) {\n this.model.updateOnShowing();\n }\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 const popupViewModel: PopupBaseViewModel = createPopupModalViewModel(dialogOptions, rootElement);\n const onVisibilityChangedCallback = (\n _: PopupBaseViewModel,\n options: { isVisible: boolean }\n ) => {\n if (!options.isVisible) {\n ReactDOM.unmountComponentAtNode(popupViewModel.container);\n popupViewModel.dispose();\n }\n };\n popupViewModel.onVisibilityChanged.add(onVisibilityChangedCallback);\n\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 { SurveyError } from \"survey-core\";\nimport { ReactElementFactory } from \"../element-factory\";\nimport { SurveyLocStringViewer } from \"../string-viewer\";\n\nexport interface IQuestionErrorComponentProps {\n error: SurveyError;\n cssClasses: any;\n element: any;\n}\n\nexport class QuestionErrorComponent extends React.Component<IQuestionErrorComponentProps, any> {\n render(): JSX.Element | null {\n return (\n <div>\n <span className={this.props.cssClasses.error.icon || undefined} aria-hidden=\"true\" />\n <span className={this.props.cssClasses.error.item || undefined}>\n <SurveyLocStringViewer locStr={this.props.error.locText} />\n </span>\n </div>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-question-error\", (props) => {\n return React.createElement(QuestionErrorComponent, props);\n});","import React from \"react\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { SurveyElementBase } from \"../../reactquestion_element\";\n\ninterface IRatingItemProps {\n item: any;\n}\n\nexport class RatingDropdownItem extends SurveyElementBase<IRatingItemProps, any> {\n get item(): any {\n return this.props.item;\n }\n getStateElement() {\n return this.item;\n }\n render(): JSX.Element | null {\n if (!this.item) return null;\n const item = this.props.item;\n const description = this.renderDescription(item);\n\n return (\n <div className=\"sd-rating-dropdown-item\">\n <span className=\"sd-rating-dropdown-item_text\">{item.title}</span>\n {description}\n </div>\n );\n }\n renderDescription(item: any) {\n if(!item.description) return null;\n\n return (\n <div className=\"sd-rating-dropdown-item_description\">\n {this.renderLocString(item.description, undefined, \"locString\")}\n </div>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-rating-dropdown-item\", (props) => {\n return React.createElement(RatingDropdownItem, 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 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) as any}\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.questionName}\n id={this.question.getInputId(this.index)}\n value={this.item.value}\n disabled={this.question.isDisabledAttr}\n readOnly={this.question.isReadOnlyAttr}\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-errormessage={this.question.ariaErrormessage}\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.questionName}\n id={this.question.getInputId(this.index)}\n value={this.item.value}\n disabled={this.question.isDisabledAttr}\n readOnly={this.question.isReadOnlyAttr}\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-errormessage={this.question.ariaErrormessage}\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.questionName}\n id={this.question.getInputId(this.index)}\n value={this.item.value}\n disabled={this.question.isDisabledAttr}\n readOnly={this.question.isReadOnlyAttr}\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-errormessage={this.question.ariaErrormessage}\n />\n <span className={this.question.cssClasses.itemText} data-text={this.item.text}>{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 ? <div className={this.css.description}>{description}</div> : 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\"><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 chevronPointerDown = (event: any) => {\n this.question.dropdownListModel?.chevronPointerDown(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 renderReadOnlyElement(): JSX.Element | null {\n return <div>{this.question.readOnlyText}</div>;\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}\n aria-label={this.question.a11y_input_ariaLabel}\n aria-labelledby={this.question.a11y_input_ariaLabelledBy}\n aria-describedby={this.question.a11y_input_ariaDescribedBy}\n tabIndex={this.question.isDisabledAttr ? undefined : 0}\n className={this.question.getControlClass()}>\n {text}\n {this.renderReadOnlyElement()}\n </div>;\n } else {\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.noTabIndex ? undefined : 0}\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n disabled={this.question.isDisabledAttr}\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-errormessage={this.question.ariaErrormessage}\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-expanded={this.question.ariaExpanded === null ? undefined : this.question.ariaExpanded === \"true\"}\n aria-label={this.question.a11y_input_ariaLabel}\n aria-labelledby={this.question.a11y_input_ariaLabelledBy}\n aria-describedby={this.question.a11y_input_ariaDescribedBy}\n aria-controls={dropdownListModel.listElementId}\n aria-activedescendant={dropdownListModel.ariaActivedescendant}\n placeholder={dropdownListModel.placeholderRendered}\n readOnly={dropdownListModel.filterReadOnly ? true : undefined}\n tabIndex={dropdownListModel.noTabIndex ? undefined : -1}\n disabled={this.question.isDisabledAttr}\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.showClearButton ? \"none\" : \"\" };\n return (\n <div\n className={this.question.cssClasses.cleanButton}\n style={style}\n onClick={this.clear}\n aria-hidden=\"true\"\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 aria-hidden=\"true\"\n onPointerDown={this.chevronPointerDown}>\n <SvgIcon\n className={this.question.cssClasses.chevronButtonSvg}\n iconName={this.question.cssClasses.chevronButtonIconId}\n size={\"auto\"}\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, false)) {\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-errormessage={this.question.ariaErrormessage}\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.hasAdditionalTitleToolbar ? <SurveyActionBar model={element.additionalTitleToolbar}></SurveyActionBar> : null;\n\n const headerStyle: any = { width: undefined };\n if(element instanceof Question) {\n headerStyle.width = element.titleWidth;\n }\n\n return (\n <div className={element.cssHeader} onClick={(e) => element.clickTitleFunction && element.clickTitleFunction(e.nativeEvent)} style={headerStyle}>\n {title}\n {description}\n {additionalTitleToolbarElement}\n </div>\n );\n }\n}","import * as React from \"react\";\nimport { ISurveyCreator } from \"./reactquestion\";\nimport { SurveyModel, Question, QuestionRowModel, IElement, Base, PanelModel } from \"survey-core\";\nimport { SurveyElementBase } from \"./reactquestion_element\";\nimport { ReactElementFactory } from \"./element-factory\";\nimport { ReactSurveyElementsWrapper } from \"./reactsurveymodel\";\n\nexport class SurveyRowElement extends SurveyElementBase<any, any> {\n private rootRef: React.RefObject<HTMLDivElement>;\n constructor(props: any) {\n super(props);\n (this.element as Question).cssClasses;\n this.rootRef = React.createRef();\n }\n protected getStateElement(): any {\n return this.element;\n }\n private get element(): PanelModel | Question {\n return this.props.element as any;\n }\n private get index(): number {\n return this.props.index;\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\n componentDidMount(): void {\n super.componentDidMount();\n if(this.rootRef.current) {\n (this.element).setWrapperElement(this.rootRef.current);\n }\n }\n\n componentWillUnmount(): void {\n super.componentWillUnmount();\n this.element.setWrapperElement(undefined);\n }\n\n public shouldComponentUpdate(nextProps: any, nextState: any): boolean {\n if (!super.shouldComponentUpdate(nextProps, nextState)) return false;\n if (nextProps.element !== this.element) {\n if(nextProps.element) {\n nextProps.element.setWrapperElement(this.rootRef.current);\n }\n if(this.element) {\n this.element.setWrapperElement(undefined);\n }\n }\n\n (this.element as Question).cssClasses;\n return true;\n }\n\n protected renderElement(): JSX.Element {\n const element = this.element;\n const innerElement = this.createElement(element, this.index);\n const css = (element as Question).cssClassesValue;\n const focusIn = () => {\n const el: any = element;\n if (el && 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 ref={this.rootRef}\n >\n {this.row.isNeedRender ? innerElement : ReactElementFactory.Instance.createElement(element.skeletonComponentName, { element: element, css: this.css, })}\n </div>\n );\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 { 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 className=\"sv-hidden\">{this.question.locTitle.renderedHtml}</legend>\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.isReadOnlyAttr) return;\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 readOnly={this.question.isReadOnlyAttr}\n onChange={this.handleOnChange}\n aria-required={this.question.ariaRequired}\n aria-label={this.question.ariaLabel}\n aria-invalid={this.question.ariaInvalid}\n aria-errormessage={this.question.ariaErrormessage}\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\";\nimport { SurveyElementErrors } from \"./reactquestion\";\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\n // shouldComponentUpdate(nextProps: any, nextState: any): boolean {\n // if(!super.shouldComponentUpdate(nextProps, nextState)) return false;\n // return true;\n // }\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 const errors = (\n <SurveyElementErrors\n element={this.panelBase}\n cssClasses={this.panelBase.cssClasses}\n creator={this.creator}\n />\n );\n return (\n <div ref={this.rootRef} className={this.page.cssRoot}>\n {title}\n {description}\n {errors}\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.activePage &&\n prevProps.page.id === this.survey.activePage.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\n protected getIsVisible() {\n return this.panelBase.isVisible;\n }\n\n protected canRender(): boolean {\n return (\n super.canRender() && !!this.survey && !!this.panelBase && !!this.panelBase.survey && this.getIsVisible()\n );\n }\n protected renderRows(css: any): Array<JSX.Element> {\n return this.panelBase.visibleRows.map((row) => this.createRow(row, css));\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.renderedIsExpanded ? undefined : \"none\",\n };\n let content: JSX.Element | null = null;\n if (this.panel.renderedIsExpanded) {\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 protected getIsVisible(): boolean {\n return this.panelBase.getIsContentVisible();\n }\n\n}\n\nReactElementFactory.Instance.registerElement(\"panel\", (props) => {\n return React.createElement(SurveyPanel, props);\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(this.props.container)}>\n <div\n style={progressStyle}\n className={this.css.progressBar}\n role=\"progressbar\"\n aria-valuemin={0}\n aria-valuemax={100}\n aria-label=\"progress\"\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 { ProgressButtons, PageModel, ProgressButtonsResponsivityManager, IProgressButtonsViewModel } from \"survey-core\";\nimport { SurveyNavigationBase } from \"./reactSurveyNavigationBase\";\nimport { ReactElementFactory } from \"./element-factory\";\nimport { SurveyElementBase } from \"./reactquestion_element\";\n\nexport class SurveyProgressButtons extends SurveyNavigationBase implements IProgressButtonsViewModel {\n private respManager: ProgressButtonsResponsivityManager;\n private listContainerRef: React.RefObject<HTMLDivElement>;\n constructor(props: any) {\n super(props);\n this.listContainerRef = React.createRef();\n }\n protected get model(): ProgressButtons {\n return this.props.model;\n }\n get container(): string {\n return this.props.container;\n }\n onResize(canShowItemTitles: boolean): void {\n this.setState({ canShowItemTitles });\n this.setState({ canShowHeader: !canShowItemTitles });\n }\n onUpdateScroller(hasScroller: boolean): void {\n this.setState({ hasScroller });\n }\n onUpdateSettings(): void {\n this.setState({ canShowItemTitles: this.model.showItemTitles });\n this.setState({ canShowFooter: !this.model.showItemTitles });\n }\n render(): JSX.Element {\n return (\n <div className={this.model.getRootCss(this.props.container)} style={{ \"maxWidth\": this.model.progressWidth }} role=\"progressbar\" aria-valuemin={0} aria-valuemax={100} aria-label=\"progress\">\n {this.state.canShowHeader ? <div className={this.css.progressButtonsHeader}>\n <div className={this.css.progressButtonsPageTitle} title={this.model.headerText}>{this.model.headerText}</div>\n </div> : null}\n <div className={this.css.progressButtonsContainer}>\n <div\n className={this.model.getScrollButtonCss(this.state.hasScroller, 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.model.getScrollButtonCss(this.state.hasScroller, false)}\n role=\"button\"\n onClick={() =>\n this.clickScrollButton(this.listContainerRef.current, false)\n }\n ></div>\n </div>\n {this.state.canShowFooter ? <div className={this.css.progressButtonsFooter}>\n <div className={this.css.progressButtonsPageTitle} title={this.model.footerText}>{this.model.footerText}</div>\n </div> : null}\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 const text = SurveyElementBase.renderLocString(page.locNavigationTitle);\n return (\n <li\n key={\"listelement\" + index}\n className={this.model.getListElementCss(index)}\n onClick={\n this.model.isListElementClickable(index)\n ? () => this.model.clickListElement(page)\n : undefined\n }\n data-page-number={this.model.getItemNumber(page)}\n >\n <div className={this.css.progressButtonsConnector}></div>\n {this.state.canShowItemTitles ? <>\n <div\n className={this.css.progressButtonsPageTitle}\n title={page.renderedNavigationTitle}\n >\n {text}\n </div>\n <div\n className={this.css.progressButtonsPageDescription}\n title={page.navigationDescription}\n >\n {page.navigationDescription}\n </div>\n </> : null}\n <div className={this.css.progressButtonsButton}><div className={this.css.progressButtonsButtonBackground}></div><div className={this.css.progressButtonsButtonContent}></div><span>{this.model.getItemNumber(page)}</span></div>\n </li>\n );\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 super.componentDidMount();\n setTimeout(() => {\n this.respManager = new ProgressButtonsResponsivityManager(this.model, this.listContainerRef.current as any, this);\n }, 10);\n }\n componentWillUnmount() {\n if(!!this.respManager) {\n this.respManager.dispose();\n }\n super.componentWillUnmount();\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 = 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-navigation-toc\", (props) => {\n return React.createElement(SurveyProgressToc, 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 * from \"./components/rating/rating-dropdown-item\";\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 { Base, PopupSurveyModel } from \"survey-core\";\nimport { Survey } from \"./reactSurvey\";\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.renderBody();\n let style: React.CSSProperties = {};\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} onScroll={() => this.popup.onScroll()}>\n <div className={this.popup.cssRootContent}>\n {header}\n {body}\n </div>\n </div>\n );\n }\n protected renderWindowHeader(): JSX.Element {\n var popup = this.popup;\n var headerCss = popup.cssHeaderRoot;\n var titleCollapsed: JSX.Element | null = null;\n var expandCollapseIcon;\n var closeButton: JSX.Element | null = null;\n var allowFullScreenButon: JSX.Element | null = null;\n\n if (popup.isCollapsed) {\n headerCss += \" \" + popup.cssRootCollapsedMod;\n titleCollapsed = this.renderTitleCollapsed(popup);\n expandCollapseIcon = this.renderExpandIcon();\n } else {\n expandCollapseIcon = this.renderCollapseIcon();\n }\n\n if (popup.allowClose) {\n closeButton = this.renderCloseButton(this.popup);\n }\n\n if (popup.allowFullScreen) {\n allowFullScreenButon = this.renderAllowFullScreenButon(this.popup);\n }\n\n return (\n <div className={popup.cssHeaderRoot}>\n {titleCollapsed}\n <div className={popup.cssHeaderButtonsContainer}>\n {allowFullScreenButon}\n <div className={popup.cssHeaderCollapseButton} onClick={this.handleOnExpanded}>\n {expandCollapseIcon}\n </div>\n {closeButton}\n </div>\n </div>\n );\n }\n protected renderTitleCollapsed(popup: PopupSurveyModel): JSX.Element | null {\n if (!popup.locTitle) return null;\n return <div className={popup.cssHeaderTitleCollapsed}>{popup.locTitle.renderedHtml}</div>;\n }\n protected renderExpandIcon(): JSX.Element {\n return <SvgIcon iconName={\"icon-restore_16x16\"} size={16}></SvgIcon>;\n }\n protected renderCollapseIcon(): JSX.Element {\n return <SvgIcon iconName={\"icon-minimize_16x16\"} size={16}></SvgIcon>;\n }\n protected renderCloseButton(popup: PopupSurveyModel): JSX.Element {\n return (\n <div className={popup.cssHeaderCloseButton} onClick={() => { popup.hide(); }}>\n <SvgIcon iconName={\"icon-close_16x16\"} size={16}></SvgIcon>\n </div>\n );\n }\n protected renderAllowFullScreenButon(popup: PopupSurveyModel): JSX.Element {\n let Icon;\n\n if (popup.isFullScreen) {\n Icon = <SvgIcon iconName={\"icon-back-to-panel_16x16\"} size={16}></SvgIcon>;\n } else {\n Icon = <SvgIcon iconName={\"icon-full-screen_16x16\"} size={16}></SvgIcon>;\n }\n\n return (\n <div className={popup.cssHeaderFullScreenButton} onClick={() => { popup.toggleFullScreen(); }}>\n {Icon}\n </div>\n );\n }\n protected renderBody(): JSX.Element {\n return <div className={this.popup.cssBody}>{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.allowFullScreen = newProps.allowFullScreen;\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 { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { ReactElementFactory } from \"./element-factory\";\nimport { BrandInfo } from \"./components/brand-info\";\nimport { NotifierComponent } from \"./components/notifier\";\nimport { ComponentsContainer } from \"./components/components-container\";\nimport { SvgBundleComponent } from \"./svgbundle\";\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.renderCallback = undefined as any;\n this.survey.onPartialSend.clear();\n this.survey.stopTimer();\n this.survey.destroyResizeObserver();\n }\n }\n componentWillUnmount() {\n super.componentWillUnmount();\n this.destroySurvey();\n }\n doRender(): JSX.Element {\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 if (this.survey.state == \"empty\") {\n renderResult = this.renderEmptySurvey();\n } else {\n renderResult = this.renderSurvey();\n }\n const backgroundImage = !!this.survey.backgroundImage ? <div className={this.css.rootBackgroundImage} style={this.survey.backgroundImageStyle}></div> : null;\n const header: JSX.Element | null = this.survey.headerView === \"basic\" ? <SurveyHeader survey={this.survey}></SurveyHeader> : null;\n\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} lang={this.survey.locale || \"en\"} dir={this.survey.localeDir}>\n {this.survey.needRenderIcons ? <SvgBundleComponent></SvgBundleComponent> : null }\n <div className={this.survey.wrapperFormCss}>\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 </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 <ComponentsContainer survey={this.survey} container={\"completePage\"} needRenderWrapper={false}></ComponentsContainer>\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.survey.completedBeforeCss} />\n );\n }\n protected renderLoading(): JSX.Element {\n var htmlValue = { __html: this.survey.processedLoadingHtml };\n return (\n <div dangerouslySetInnerHTML={htmlValue} className={this.survey.loadingBodyCss} />\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 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 className=\"sv-components-column sv-components-column--expandable\">\n <ComponentsContainer survey={this.survey} container={\"center\"}></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 </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 <div className={this.css.bodyEmpty}>{this.survey.emptySurveyText}</div>;\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 element?: any\n ): JSX.Element {\n return ReactElementFactory.Instance.createElement(this.survey.questionErrorComponent, { key: key, error, cssClasses, element });\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 {\n Base,\n SurveyElement,\n SurveyError,\n Question,\n QuestionMatrixDropdownRenderedCell,\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, element?: 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 );\n }\n\n protected renderQuestionContent(): JSX.Element {\n let question = this.question;\n var contentStyle = {\n display: this.question.renderedIsExpanded ? \"\" : \"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 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 {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-describedby={question.ariaDescribedBy}\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 }\n protected get id(): string {\n return this.props.element.id + \"_errors\";\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 componentWillUnmount() {\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, this.element)\n );\n }\n\n return (\n <div\n role=\"alert\"\n aria-live=\"polite\"\n className={this.element.cssError}\n id={this.id}\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 renderContent(): JSX.Element {\n var renderedQuestion = this.renderQuestion();\n return (\n <>\n {renderedQuestion}\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 renderCellContent(): JSX.Element {\n return (\n <div className={this.props.cell.cellQuestionWrapperClassName}>\n {this.renderQuestion()}\n </div>\n );\n }\n protected renderElement(): JSX.Element {\n var style = this.getCellStyle();\n const cell = this.props.cell;\n const focusIn = () => { cell.focusIn(); };\n return (\n <td\n ref={this.cellRef}\n className={this.itemCss}\n colSpan={cell.colSpans}\n title={cell.getTitle()}\n style={style}\n onFocus={focusIn}\n >\n {this.wrapCell(this.props.cell, this.renderCellContent())}\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\nexport class SurveyQuestionErrorCell extends React.Component<any, any> {\n constructor(props: any) {\n super(props);\n this.state = {\n changed: 0\n };\n if(this.question) {\n this.registerCallback(this.question);\n }\n }\n private get question(): Question {\n return this.props.question;\n }\n private update() {\n this.setState({ changed: this.state.changed + 1 });\n }\n private registerCallback(question: Question) {\n question.registerFunctionOnPropertyValueChanged(\"errors\", () => {\n this.update();\n }, \"__reactSubscription\");\n }\n private unRegisterCallback(question: Question) {\n question.unRegisterFunctionOnPropertyValueChanged(\"errors\", \"__reactSubscription\");\n }\n componentDidUpdate(prevProps: Readonly<any>): void {\n if(prevProps.question && prevProps.question !== this.question) {\n this.unRegisterCallback(prevProps.cell);\n }\n if(this.question) {\n this.registerCallback(this.question);\n }\n }\n componentWillUnmount(): void {\n if(this.question) {\n this.unRegisterCallback(this.question);\n }\n }\n render(): JSX.Element {\n return <SurveyElementErrors element={this.question} creator={this.props.creator} cssClasses={this.question.cssClasses}></SurveyElementErrors>;\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-errormessage={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 className={this.question.getSelectBaseRootCss()}\n ref={(fieldset) => (this.setControl(fieldset))}\n role={this.question.a11y_input_ariaRole}\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-describedby={this.question.a11y_input_ariaDescribedBy}\n aria-invalid={this.question.a11y_input_ariaInvalid}\n aria-errormessage={this.question.a11y_input_ariaErrormessage}\n >\n <legend className={\"sv-hidden\"}>{this.question.locTitle.renderedHtml}</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 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 const id = this.question.getItemId(this.item);\n const itemClass = this.question.getItemClass(this.item);\n const labelClass = this.question.getLabelClass(this.item);\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}>\n <input\n className={this.cssClasses.itemControl}\n type=\"checkbox\"\n name={this.question.name + this.item.id}\n value={this.item.value}\n id={id}\n style={this.inputStyle}\n disabled={!this.question.getItemEnabled(this.item)}\n readOnly={this.question.isReadOnlyAttr}\n checked={isChecked}\n onChange={this.handleOnChange}\n required={this.question.hasRequiredError()}\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, Helpers } 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 const onBlur: ((e: any) => void) | undefined = !this.question.isInputTextUpdate ? this.updateValueOnEvent : undefined;\n const 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.isDisabledAttr}\n readOnly={this.question.isReadOnlyAttr}\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-describedby={this.question.a11y_input_ariaDescribedBy}\n aria-invalid={this.question.a11y_input_ariaInvalid}\n aria-errormessage={this.question.a11y_input_ariaErrormessage}\n style={{ resize: this.question.resizeStyle }}\n />\n {counter}\n </>\n );\n }\n}\n\nexport class SurveyQuestionCommentItem extends ReactSurveyElement {\n private control: HTMLElement;\n constructor(props: any) {\n super(props);\n this.state = { comment: this.getComment() || \"\" };\n }\n componentDidUpdate(prevProps: any, prevState: any): void {\n super.componentDidUpdate(prevProps, prevState);\n this.updateDomElement();\n }\n componentDidMount(): void {\n super.componentDidMount();\n this.updateDomElement();\n }\n protected updateDomElement(): void {\n if (!!this.control) {\n const control: any = this.control;\n const newValue = this.getComment() || \"\";\n if (!Helpers.isTwoValueEquals(newValue, control.value, false, true, false)) {\n control.value = newValue;\n }\n }\n }\n protected setControl(element: HTMLElement | null): void {\n if(!!element) {\n this.control = element;\n }\n }\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 setComment(value: any): void {\n this.props.question.comment = value;\n }\n protected getId(): string {\n return this.props.question.commentId;\n }\n protected getPlaceholder(): string {\n return this.props.question.renderedCommentPlaceholder;\n }\n protected renderElement(): JSX.Element {\n const question = this.props.question;\n let className = this.props.otherCss || this.cssClasses.comment;\n if (question.isReadOnlyRenderDiv()) {\n const comment = this.getComment() || \"\";\n return <div>{comment}</div>;\n }\n return (\n <textarea\n id={this.getId()}\n className={className}\n ref={(textarea) => (this.setControl(textarea))}\n disabled={this.isDisplayMode}\n maxLength={question.getOthersMaxLength()}\n rows={question.commentAreaRows}\n placeholder={this.getPlaceholder()}\n onBlur={(e) => { this.onCommentChange(e); }}\n onInput={(e) => this.onCommentInput(e)}\n aria-required={question.isRequired || question.a11y_input_ariaRequired}\n aria-label={question.ariaLabel || question.a11y_input_ariaLabel}\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 setComment(value: any): void {\n this.props.question.otherValue = value;\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\" }} id={question.ariaDescriptionId} 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 this.getStateElements().forEach((el) => {\n el.afterRerender();\n });\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 els[i].enableOnElementRenderedEvent();\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 els[i].disableOnElementRenderedEvent();\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\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, false)\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, false)) {\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\";\nimport { LoadingIndicatorComponent } from \"./components/loading-indicator\";\nimport { SurveyAction } from \"./components/action-bar/action-bar-item\";\nimport { ReactElementFactory } from \"./element-factory\";\nimport { SurveyFileChooseButton } from \"./components/file/file-choose-button\";\n// import { ReactElementFactory, SurveyFileChooseButton } from \"../entries/react-ui-model\";\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 const preview = this.question.allowShowPreview ? this.renderPreview() : null;\n const loadingIndicator = this.question.showLoadingIndicator ? this.renderLoadingIndicator() : null;\n const video = this.question.isPlayingVideo ? this.renderVideo() : null;\n const fileDecorator = this.question.showFileDecorator ? this.renderFileDecorator() : null;\n const clearButton = this.question.showRemoveButton ? this.renderClearButton(\n this.question.cssClasses.removeButton\n ) : null;\n const clearButtonBottom = this.question.showRemoveButtonBottom ? this.renderClearButton(\n this.question.cssClasses.removeButtonBottom\n ): null;\n const fileNavigator = this.question.fileNavigatorVisible?(<SurveyActionBar model = {this.question.fileNavigator}></SurveyActionBar>) : null;\n let fileInput;\n if (this.question.isReadOnlyAttr) {\n fileInput = <input\n readOnly\n type=\"file\"\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 multiple={this.question.allowMultiple}\n placeholder={this.question.title}\n accept={this.question.acceptedTypes}\n />;\n } else if (this.question.isDisabledAttr) {\n fileInput = <input\n disabled\n type=\"file\"\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 multiple={this.question.allowMultiple}\n placeholder={this.question.title}\n accept={this.question.acceptedTypes}\n />;\n } else if (this.question.hasFileUI) {\n fileInput = <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 aria-required={this.question.ariaRequired}\n aria-label={this.question.ariaLabel}\n aria-invalid={this.question.ariaInvalid}\n aria-errormessage={this.question.ariaErrormessage}\n multiple={this.question.allowMultiple}\n title={this.question.inputTitle}\n accept={this.question.acceptedTypes}\n capture={this.question.renderCapture}\n />;\n } else {\n fileInput = null;\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 {loadingIndicator}\n {video}\n {clearButton}\n {preview}\n {clearButtonBottom}\n {fileNavigator}\n </div>\n </div>\n );\n }\n protected renderFileDecorator(): JSX.Element {\n const chooseButton = this.question.showChooseButton ? this.renderChooseButton() : null;\n const actionsContainer = this.question.actionsContainerVisible ? <SurveyActionBar model={this.question.actionsContainer}></SurveyActionBar> : null;\n const noFileChosen = this.question.isEmpty() ? (\n <span className={this.question.cssClasses.noFileChosen}>\n {this.question.noFileChosenCaption}\n </span>) : null;\n return (\n <div\n className={this.question.getFileDecoratorCss()}\n >\n <span className={this.question.cssClasses.dragAreaPlaceholder}>{this.renderLocString(this.question.locRenderedPlaceholder)}</span>\n <div className={this.question.cssClasses.wrapper}>\n {chooseButton}\n {actionsContainer}\n {noFileChosen}\n </div>\n </div>\n );\n }\n protected renderChooseButton(): JSX.Element {\n return <SurveyFileChooseButton data={{ question: this.question }}></SurveyFileChooseButton>;\n }\n protected renderClearButton(className: string): JSX.Element | null {\n return !this.question.isUploading ? (\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 renderPreview(): JSX.Element {\n return ReactElementFactory.Instance.createElement(\"sv-file-preview\", { question: this.question });\n }\n protected renderLoadingIndicator(): JSX.Element {\n return <div className={this.question.cssClasses.loadingIndicator}><LoadingIndicatorComponent></LoadingIndicatorComponent></div>;\n }\n protected renderVideo(): JSX.Element {\n return (<div className={this.question.cssClasses.videoContainer}>\n <SurveyAction item={this.question.changeCameraAction}></SurveyAction>\n <SurveyAction item={this.question.closeCameraAction}></SurveyAction>\n <video autoPlay playsInline id={this.question.videoId} className={this.question.cssClasses.video}></video>\n <SurveyAction item={this.question.takePictureAction}></SurveyAction>\n </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, ItemValue, Base } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { ReactSurveyElementsWrapper } from \"./reactsurveymodel\";\nimport { ReactElementFactory } from \"./element-factory\";\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 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 className=\"sv-hidden\">{this.question.locTitle.renderedHtml}</legend>\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 }\n protected getStateElement(): Base | null {\n if(!!this.row) return this.row.item;\n return super.getStateElement();\n }\n private get question(): QuestionMatrixModel {\n return this.props.question;\n }\n private get row(): MatrixRowModel {\n return this.props.row;\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.row.rowTextClasses}>\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(): Array<JSX.Element> {\n const tds:Array<JSX.Element> = [];\n const row = this.row;\n const cellComponent = this.question.cellComponent;\n for (var i = 0; i < this.question.visibleColumns.length; i++) {\n let td: JSX.Element | null = null;\n const column = this.question.visibleColumns[i];\n const key = \"value\" + i;\n\n let itemClass = this.question.getItemClass(row, column);\n if (this.question.hasCellText) {\n const getHandler = (column: any) => () => this.cellClick(row, column);\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 const renderedCell = ReactElementFactory.Instance.createElement(cellComponent, {\n question: this.question,\n row: this.row,\n column: column,\n columnIndex: i,\n cssClasses: this.cssClasses,\n cellChanged: () => { this.cellClick(this.row, column); }\n });\n td = (<td key={key} data-responsive-title={column.locText.renderedHtml} className={this.question.cssClasses.cell}>{renderedCell}</td>);\n }\n tds.push(td);\n }\n\n return tds;\n }\n cellClick(row: any, column: any): void {\n row.value = column.value;\n this.setState({ value: this.row.value });\n }\n}\n\nexport class SurveyQuestionMatrixCell extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n this.handleOnMouseDown = this.handleOnMouseDown.bind(this);\n this.handleOnChange = this.handleOnChange.bind(this);\n }\n handleOnChange(event: any): void {\n if(!!this.props.cellChanged) {\n this.props.cellChanged();\n }\n }\n handleOnMouseDown(event: any): void {\n this.question.onMouseDown();\n }\n private get question(): QuestionMatrixModel {\n return this.props.question;\n }\n private get row(): MatrixRowModel {\n return this.props.row;\n }\n private get column(): ItemValue {\n return this.props.column;\n }\n private get columnIndex(): number {\n return this.props.columnIndex;\n }\n protected canRender(): boolean {\n return !!this.question && !!this.row;\n }\n protected renderElement(): JSX.Element {\n const isChecked = this.row.value == this.column.value;\n const inputId = this.question.inputId + \"_\" + this.row.name + \"_\" + this.columnIndex;\n const itemClass = this.question.getItemClass(this.row, this.column);\n const mobileSpan = this.question.isMobile ?\n (<span className={this.question.cssClasses.cellResponsiveTitle}>{this.renderLocString(this.column.locText)}</span>)\n : undefined;\n return (<label onMouseDown={this.handleOnMouseDown} className={itemClass}>\n {this.renderInput(inputId, isChecked)}\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 {mobileSpan}\n </label>);\n }\n protected renderInput(inputId: string, isChecked: boolean): JSX.Element {\n return (<input\n id={inputId}\n type=\"radio\"\n className={this.cssClasses.itemValue}\n name={this.row.fullName}\n value={this.column.value}\n disabled={this.row.isDisabledAttr}\n readOnly={this.row.isReadOnlyAttr}\n checked={isChecked}\n onChange={this.handleOnChange}\n aria-required={this.question.a11y_input_ariaRequired}\n aria-label={this.question.getCellAriaLabel(this.row.locText.renderedHtml, this.column.locText.renderedHtml)}\n aria-invalid={this.question.a11y_input_ariaInvalid}\n aria-errormessage={this.question.a11y_input_ariaErrormessage}\n />);\n }\n}\n\nReactElementFactory.Instance.registerElement(\"survey-matrix-cell\", props => {\n return React.createElement(SurveyQuestionMatrixCell, props);\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 SurveyElementBase,\n SurveyQuestionElementBase,\n} from \"./reactquestion_element\";\nimport { ISurveyCreator, SurveyQuestion, SurveyQuestionAndErrorsCell, SurveyQuestionErrorCell } 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\nclass SurveyQuestionMatrixTable extends SurveyElementBase<{ question: QuestionMatrixDropdownModelBase, wrapCell: (cell: QuestionMatrixDropdownRenderedCell, element: JSX.Element, reason: string) => JSX.Element, creator: ISurveyCreator}, any> {\n protected get question() {\n return this.props.question;\n }\n protected get creator() {\n return this.props.creator;\n }\n protected get table() {\n return this.question.renderedTable;\n }\n protected getStateElement() {\n return this.table;\n }\n protected wrapCell(cell: QuestionMatrixDropdownRenderedCell, element: JSX.Element, reason: string): JSX.Element {\n return this.props.wrapCell(cell, element, reason);\n }\n renderHeader(): JSX.Element | null {\n const table = this.question.renderedTable;\n if (!table.showHeader) return null;\n const headers: any[] = [];\n const cells = table.headerRow.cells;\n for (var i = 0; i < cells.length; i++) {\n const cell = cells[i];\n const key = \"column\" + i;\n const columnStyle: any = {};\n if (!!cell.width) {\n columnStyle.width = cell.width;\n }\n if (!!cell.minWidth) {\n columnStyle.minWidth = cell.minWidth;\n }\n const 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 const table = this.question.renderedTable;\n if (!table.showFooter) return null;\n const 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 const cssClasses = this.question.cssClasses;\n const rows:Array<JSX.Element> = [];\n const renderedRows = this.question.renderedTable.renderedRows;\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 const matrixrow:Array<JSX.Element> = [];\n const 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 const key = \"row\" + keyValue;\n\n return (\n <React.Fragment key={key}>\n {(reason == \"row-footer\") ? <tr>{matrixrow}</tr> : <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 const 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 const cellContent = this.renderCellContent(cell, calcReason, cssClasses);\n let 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 return (\n <td\n className={cell.className}\n key={key}\n style={cellStyle}\n colSpan={cell.colSpans}\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 let cellContent: JSX.Element | null = null;\n let 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(cell.isErrorsCell) {\n if (cell.isErrorsCell) {\n return (\n <SurveyQuestionErrorCell\n question={cell.question}\n creator={this.creator}\n >\n </SurveyQuestionErrorCell>\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 protected renderElement(): JSX.Element | null {\n const header = this.renderHeader();\n const footers = this.renderFooter();\n const rows = this.renderRows();\n return (\n <table className={this.question.getTableCss()}>\n {header}\n {rows}\n {footers}\n </table>\n );\n }\n}\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(): void {\n super.componentDidMount();\n this.question.onRenderedTableResetCallback = () => {\n this.updateStateOnCallback();\n };\n }\n componentWillUnmount(): void {\n super.componentWillUnmount();\n this.question.onRenderedTableResetCallback = () => {};\n }\n protected renderElement(): JSX.Element {\n return this.renderTableDiv();\n }\n renderTableDiv(): JSX.Element {\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 <SurveyQuestionMatrixTable question={this.question} creator={this.creator} wrapCell={(cell, element, reason) => this.wrapCell(cell, element, reason)}></SurveyQuestionMatrixTable>\n </div>\n );\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> </span>\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(): void {\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 const 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 this.question.afterRenderCore(el);\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 renderCellContent() {\n const content = super.renderCellContent();\n const responsiveTitle = this.cell.showResponsiveTitle ? (<span className={this.cell.responsiveTitleCss}>{this.renderLocString(this.cell.responsiveLocTitle)}</span>) : null;\n return <>\n {responsiveTitle}\n {content}\n </>;\n }\n protected renderQuestion(): JSX.Element {\n if(!this.question.isVisible) return <></>;\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}","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|undefined = this.matrix.renderedTable.showAddRow ? this.renderAddRowButton(cssClasses, true) : undefined;\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, SurveyQuestionAndErrorsWrapped, SurveyQuestionErrorCell } from \"./reactquestion\";\nimport { QuestionMultipleTextModel, MultipleTextItemModel, MultipleTextCell } 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 if (tableRows[i].isVisible) {\n rows.push(this.renderRow(i, tableRows[i].cells, cssClasses));\n }\n }\n return (\n <table className={this.question.getQuestionRootCss()}>\n <tbody>{rows}</tbody>\n </table>\n );\n }\n\n protected renderCell(cell: MultipleTextCell, cssClasses: any, index: number): JSX.Element {\n let cellContent: JSX.Element;\n const focusIn = () => { cell.item.focusIn(); };\n if (cell.isErrorsCell) {\n cellContent = <SurveyQuestionErrorCell question={cell.item.editor} creator={this.creator}></SurveyQuestionErrorCell>;\n } else {\n cellContent = <SurveyMultipleTextItem question={this.question} item={cell.item} creator={this.creator} cssClasses={cssClasses}></SurveyMultipleTextItem>;\n }\n return (<td key={\"item\" + index} className={cell.className} onFocus={focusIn}>{cellContent}</td>);\n }\n\n protected renderRow(\n rowIndex: number,\n cells: Array<MultipleTextCell>,\n cssClasses: any\n ): JSX.Element {\n const key: string = \"item\" + rowIndex;\n const tds: Array<JSX.Element> = [];\n for (let i = 0; i < cells.length; i++) {\n const cell = cells[i];\n tds.push(\n this.renderCell(cell, cssClasses, i)\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 const titleStyle: any = {};\n if (!!this.question.itemTitleWidth) {\n titleStyle.minWidth = this.question.itemTitleWidth;\n titleStyle.width = this.question.itemTitleWidth;\n }\n return (<label className={this.question.getItemLabelCss(item)}>\n <span className={cssClasses.itemTitle} style={titleStyle}>\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 </label>);\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 { 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 { 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 this.question.renderedPanels.forEach((panel, index) => {\n panels.push(<SurveyQuestionPanelDynamicItem\n key={panel.id}\n element={panel}\n question={this.question}\n index={index}\n cssClasses={this.question.cssClasses}\n isDisplayMode={this.isDisplayMode}\n creator={this.creator}\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 navV2 = this.renderNavigatorV2();\n const noEntriesPlaceholder = this.renderPlaceholder();\n return (\n <div className={this.question.cssClasses.root}>\n {noEntriesPlaceholder}\n {navTop}\n <div className={this.question.cssClasses.panelsContainer}>\n {panels}\n </div>\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(this.panel)}>\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(true)}\n value={this.question.clearButtonCaption}\n />\n </div>\n );\n }\n return (\n <fieldset\n className={this.question.getSelectBaseRootCss()}\n ref={(fieldset) => (this.setControl(fieldset))}\n role={this.question.a11y_input_ariaRole}\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-describedby={this.question.a11y_input_ariaDescribedBy}\n aria-invalid={this.question.a11y_input_ariaInvalid}\n aria-errormessage={this.question.a11y_input_ariaErrormessage}\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}>\n <input\n aria-errormessage={this.question.ariaErrormessage}\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 readOnly={this.question.isReadOnlyAttr}\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 SurveyElementBase,\n SurveyQuestionElementBase,\n} from \"./reactquestion_element\";\nimport { QuestionRankingModel, SurveyModel, ItemValue } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { ReactSurveyElementsWrapper } from \"./reactsurveymodel\";\nimport { ReactElementFactory } from \"./element-factory\";\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.renderedUnRankingChoices, unrankedItem)}\n {this.question.renderedUnRankingChoices.length === 0 ? <div className={this.question.cssClasses.containerPlaceholder}> {this.renderLocString(this.question.locSelectToRankEmptyRankedAreaText)} </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.renderedRankingChoices.length === 0 ? <div className={this.question.cssClasses.containerPlaceholder}> {this.renderLocString(this.question.locSelectToRankEmptyUnrankedAreaText)} </div> : null}\n </div>\n </div>\n );\n }\n }\n\n protected getItems(choices: any = this.question.renderedRankingChoices, 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 (event: any) => {\n event.persist();\n //event.preventDefault();\n this.question.handlePointerUp.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 handlePointerUp: (event: PointerEvent) => void,\n cssClasses: any,\n itemClass: string,\n question: QuestionRankingModel,\n unrankedItem?: boolean\n ): JSX.Element {\n const key: string = \"id-\" + item.renderedId;\n const text: JSX.Element = this.renderLocString(item.locText);\n const index = i;\n const indexText: string = this.question.getNumberByIndex(index);\n const tabIndex: number = this.question.getItemTabIndex(item);\n\n const renderedItem = (\n <SurveyQuestionRankingItem\n key={item.value}\n text={text}\n index={index}\n indexText={indexText}\n itemTabIndex={tabIndex}\n handleKeydown={handleKeydown}\n handlePointerDown={handlePointerDown}\n handlePointerUp={handlePointerUp}\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 handlePointerUp(): (event: any) => void {\n return this.props.handlePointerUp;\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 renderEmptyIcon(): JSX.Element {\n return (\n <svg>\n <use xlinkHref={this.question.dashSvgIcon}></use>\n </svg>\n );\n }\n\n protected renderElement(): JSX.Element {\n let itemContent = ReactElementFactory.Instance.createElement(this.question.itemComponent, { item: this.item, cssClasses: this.cssClasses });\n return (\n <div\n tabIndex={this.itemTabIndex}\n className={this.itemClass}\n onKeyDown={this.handleKeydown}\n onPointerDown={this.handlePointerDown}\n onPointerUp={this.handlePointerUp}\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 className={this.question.getIconHoverCss()}\n >\n <use xlinkHref={this.question.dragDropSvgIcon}></use>\n </svg>\n <svg\n className={this.question.getIconFocusCss()}\n >\n <use xlinkHref={this.question.arrowsSvgIcon}></use>\n </svg>\n </div>\n\n <div className={this.question.getItemIndexClasses(this.item)}>\n {(!this.unrankedItem && this.indexText) ? this.indexText : this.renderEmptyIcon()}\n </div>\n {itemContent}\n </div>\n </div>\n </div>\n );\n }\n}\n\nexport class SurveyQuestionRankingItemContent extends ReactSurveyElement {\n protected get item(): ItemValue {\n return this.props.item;\n }\n\n protected get cssClasses(): any {\n return this.props.cssClasses;\n }\n\n protected renderElement(): JSX.Element {\n return <div className={this.cssClasses.controlLabel}>{SurveyElementBase.renderLocString(this.item.locText)}</div>;\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-ranking-item\", props => {\n return React.createElement(SurveyQuestionRankingItemContent, props);\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.itemComponent, {\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.noTabIndex ? 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-errormessage={this.question.ariaErrormessage}\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 protected renderReadOnlyElement(): JSX.Element | null {\n if(this.question.locReadOnlyText) {\n return this.renderLocString(this.question.locReadOnlyText);\n } else {\n return null;\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.inputValue}</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 disabled={this.question.isDisabledAttr}\n readOnly={this.question.isReadOnlyAttr}\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-describedby={this.question.a11y_input_ariaDescribedBy}\n aria-invalid={this.question.a11y_input_ariaInvalid}\n aria-errormessage={this.question.a11y_input_ariaErrormessage}\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 protected setValueCore(newValue: any) {\n this.question.inputValue = newValue;\n }\n protected getValueCore(): any {\n return this.question.inputValue;\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 { SurveyRowElement } from \"./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;\n }\n protected renderElementContent(): JSX.Element {\n const elements = this.row.visibleElements.map((element, elementIndex) => {\n const index = elementIndex ? \"-\" + elementIndex : 0;\n const key = element.name + index;\n return (\n <SurveyRowElement\n element={element}\n index={elementIndex}\n row={this.row}\n survey={this.survey}\n creator={this.creator}\n css={this.css}\n key={key}\n >\n </SurveyRowElement>\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(this.rootRef.current) {\n this.row.setRootElement(this.rootRef.current);\n }\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 if (nextProps.row !== this.row) {\n nextProps.row.isNeedRender = this.row.isNeedRender;\n nextProps.row.setRootElement(this.rootRef.current);\n this.row.setRootElement(undefined);\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.row.setRootElement(undefined);\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\";\nimport { LoadingIndicatorComponent } from \"./components/loading-indicator\";\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 const loadingIndicator = this.question.showLoadingIndicator ? this.renderLoadingIndicator() : null;\n var clearButton = this.renderCleanButton();\n return (\n <div className={cssClasses.root} ref={(root) => (this.setControl(root))} style={{ width: this.question.renderedCanvasWidth }}>\n <div\n className={cssClasses.placeholder}\n style={{ display: this.question.needShowPlaceholder() ? \"\" : \"none\" }}\n >\n {this.renderLocString(this.question.locRenderedPlaceholder)}\n </div>\n <div>\n {this.renderBackgroundImage()}\n <canvas tabIndex={-1} className={this.question.cssClasses.canvas} onBlur={this.question.onBlur}></canvas>\n </div>\n {clearButton}\n {loadingIndicator}\n </div>\n );\n }\n\n renderBackgroundImage(): JSX.Element | null {\n if(!this.question.backgroundImage) return null;\n\n return <img className={this.question.cssClasses.backgroundImage} src={this.question.backgroundImage} style={{ width: this.question.renderedCanvasWidth }}></img>;\n }\n protected renderLoadingIndicator(): JSX.Element {\n return <div className={this.question.cssClasses.loadingIndicator}><LoadingIndicatorComponent></LoadingIndicatorComponent></div>;\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(true)}\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 const className = this.locStr.allowLineBreaks ? \"sv-string-viewer sv-string-viewer--multiline\" : \"sv-string-viewer\";\r\n if (this.locStr.hasHtml) {\r\n let htmlValue = { __html: this.locStr.renderedHtml };\r\n return <span ref={this.rootRef} className={className} style={this.style} dangerouslySetInnerHTML={htmlValue} />;\r\n }\r\n return <span ref={this.rootRef} className={className} 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","\nimport React from \"react\";\nimport { SvgRegistry } from \"survey-core\";\n\nexport class SvgBundleComponent extends React.Component {\n private containerRef: React.RefObject<SVGSVGElement>;\n\n constructor(props: any) {\n super(props);\n this.containerRef = React.createRef();\n }\n componentDidMount() {\n if (!!this.containerRef.current) {\n this.containerRef.current.innerHTML = SvgRegistry.iconsRenderedHtml();\n }\n }\n render() {\n const svgStyle = {\n display: \"none\"\n };\n return <svg style={svgStyle} id=\"sv-icon-holder-global-container\" ref={this.containerRef}></svg>;\n }\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, false)) {\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.filterReadOnly ? true : undefined}\n size={!this.model.inputStringRendered ? 1 : undefined}\n role={this.model.filterStringEnabled ? this.question.ariaRole : undefined}\n aria-expanded={this.question.ariaExpanded === null ? undefined : this.question.ariaExpanded === \"true\"}\n aria-label={this.question.a11y_input_ariaLabel}\n aria-labelledby={this.question.a11y_input_ariaLabelledBy}\n aria-describedby={this.question.a11y_input_ariaDescribedBy}\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}","module.exports = __WEBPACK_EXTERNAL_MODULE_react__;","module.exports = __WEBPACK_EXTERNAL_MODULE_react_dom__;","module.exports = __WEBPACK_EXTERNAL_MODULE_survey_core__;"],"sourceRoot":""}
|