survey-react-ui 2.5.16 → 3.0.0-beta.1
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/fesm/survey-react-ui.mjs +124 -266
- package/fesm/survey-react-ui.mjs.map +1 -1
- package/index.html +3 -0
- package/package.json +2 -2
- package/survey-react-ui.js +141 -343
- package/survey-react-ui.js.map +1 -1
- package/survey-react-ui.min.js +2 -2
- package/typings/entries/react-ui-model.d.ts +1 -8
- package/typings/src/components/action-bar/action-bar-item.d.ts +3 -0
- package/typings/src/components/character-counter.d.ts +8 -4
- package/typings/src/components/paneldynamic-actions/paneldynamic-progress-text.d.ts +5 -2
- package/typings/src/components/text-area.d.ts +4 -0
- package/typings/src/dropdown-select.d.ts +1 -1
- package/typings/src/reactquestion_comment.d.ts +0 -1
- package/typings/src/reactquestion_matrixdynamic.d.ts +4 -11
- package/typings/src/reactquestion_paneldynamic.d.ts +2 -4
- package/typings/src/reactquestion_text.d.ts +1 -0
- package/typings/src/components/matrix-actions/detail-button/detail-button.d.ts +0 -12
- package/typings/src/components/matrix-actions/remove-button/remove-button.d.ts +0 -9
- package/typings/src/components/paneldynamic-actions/paneldynamic-add-btn.d.ts +0 -12
- package/typings/src/components/paneldynamic-actions/paneldynamic-next-btn.d.ts +0 -6
- package/typings/src/components/paneldynamic-actions/paneldynamic-prev-btn.d.ts +0 -6
- package/typings/src/components/paneldynamic-actions/paneldynamic-remove-btn.d.ts +0 -6
- package/typings/src/components/survey-actions/survey-nav-button.d.ts +0 -8
package/fesm/survey-react-ui.mjs
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* surveyjs - Survey JavaScript library
|
|
2
|
+
* surveyjs - Survey JavaScript library v3.0.0-beta.1
|
|
3
3
|
* Copyright (c) 2015-2026 Devsoft Baltic OÜ - http://surveyjs.io/
|
|
4
4
|
* License: MIT (http://www.opensource.org/licenses/mit-license.php)
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import { SurveyModel, Helpers, createSvg, LocalizableString, createPopupViewModel, CssClassBuilder, ActionDropdownViewModel, RendererFactory, doKey2ClickUp, SvgRegistry, PopupModalManager, settings, ScrollViewModel, addIconsToThemeSet, doKey2ClickBlur, doKey2ClickDown, Question, SurveyProgressModel, ProgressButtonsResponsivityManager, PopupSurveyModel, ButtonGroupItemModel, checkLibraryVersion } from 'survey-core';
|
|
7
|
+
import { SurveyModel, Helpers, createSvg, LocalizableString, createPopupViewModel, CssClassBuilder, ActionDropdownViewModel, RendererFactory, doKey2ClickUp, SvgRegistry, PopupModalManager, settings, ScrollViewModel, addIconsToThemeSet, doKey2ClickBlur, doKey2ClickDown, ResizeManager, Question, SurveyProgressModel, ProgressButtonsResponsivityManager, PopupSurveyModel, ButtonGroupItemModel, checkLibraryVersion } from 'survey-core';
|
|
8
8
|
export { SurveyModel as Model, SurveyModel, SurveyWindowModel, settings, surveyLocalization, surveyStrings } from 'survey-core';
|
|
9
9
|
import * as React from 'react';
|
|
10
10
|
import * as ReactDOM from 'react-dom';
|
|
@@ -530,6 +530,10 @@ class SurveyAction extends SurveyElementBase {
|
|
|
530
530
|
}
|
|
531
531
|
}
|
|
532
532
|
class SurveyActionBarItem extends SurveyElementBase {
|
|
533
|
+
constructor() {
|
|
534
|
+
super(...arguments);
|
|
535
|
+
this.ref = React.createRef();
|
|
536
|
+
}
|
|
533
537
|
get item() {
|
|
534
538
|
return this.props.item;
|
|
535
539
|
}
|
|
@@ -556,9 +560,17 @@ class SurveyActionBarItem extends SurveyElementBase {
|
|
|
556
560
|
const title = this.item.tooltip || this.item.title;
|
|
557
561
|
const buttonContent = this.renderButtonContent();
|
|
558
562
|
const tabIndex = this.item.disableTabStop ? -1 : undefined;
|
|
559
|
-
const button = attachKey2click(React.createElement("button", { className: className, type: "button", disabled: this.item.disabled, onMouseDown: (args) => this.item.doMouseDown(args), onFocus: (args) => this.item.doFocus(args), onClick: (args) => this.item.doAction(args), title: title, tabIndex: tabIndex, "aria-checked": this.item.ariaChecked, "aria-expanded": this.item.ariaExpanded, "aria-labelledby": this.item.ariaLabelledBy, role: this.item.ariaRole }, buttonContent), this.item, { processEsc: false });
|
|
563
|
+
const button = attachKey2click(React.createElement("button", { ref: this.ref, className: className, type: "button", disabled: this.item.disabled, onMouseDown: (args) => this.item.doMouseDown(args), onFocus: (args) => this.item.doFocus(args), onClick: (args) => this.item.doAction(args), title: title, tabIndex: tabIndex, "aria-checked": this.item.ariaChecked, "aria-expanded": this.item.ariaExpanded, "aria-controls": this.item.ariaControls, "aria-labelledby": this.item.ariaLabelledBy, role: this.item.ariaRole }, buttonContent), this.item, { processEsc: false });
|
|
560
564
|
return button;
|
|
561
565
|
}
|
|
566
|
+
componentDidMount() {
|
|
567
|
+
super.componentDidMount();
|
|
568
|
+
this.props.item.setInputElement(this.ref.current);
|
|
569
|
+
}
|
|
570
|
+
componentWillUnmount() {
|
|
571
|
+
super.componentWillUnmount();
|
|
572
|
+
this.props.item.setInputElement(undefined);
|
|
573
|
+
}
|
|
562
574
|
}
|
|
563
575
|
ReactElementFactory.Instance.registerElement("sv-action-bar-item", (props) => {
|
|
564
576
|
return React.createElement(SurveyActionBarItem, props);
|
|
@@ -1174,6 +1186,8 @@ var folder_24x24$1 = "<svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/
|
|
|
1174
1186
|
|
|
1175
1187
|
var fullsize_16x16$1 = "<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M12 13H4C2.9 13 2 12.1 2 11V5C2 3.9 2.9 3 4 3H12C13.1 3 14 3.9 14 5V11C14 12.1 13.1 13 12 13ZM4 5V11H12V5H4Z\"/></svg>";
|
|
1176
1188
|
|
|
1189
|
+
var grip$1 = "<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_247_12)\"><path d=\"M13.8666 9.86954C14.1595 9.57665 14.6342 9.57665 14.9271 9.86954C15.22 10.1624 15.22 10.6372 14.9271 10.9301L10.9271 14.9301C10.6342 15.223 10.1595 15.223 9.86659 14.9301C9.5737 14.6372 9.5737 14.1624 9.86659 13.8695L13.8666 9.86954Z\"/><path d=\"M13.4657 5.46961C13.7586 5.17672 14.2334 5.17672 14.5263 5.46961C14.8191 5.7625 14.8192 6.23726 14.5263 6.53015L6.52626 14.5302C6.23339 14.8229 5.75858 14.8229 5.46571 14.5302C5.17286 14.2373 5.17292 13.7625 5.46571 13.4696L13.4657 5.46961Z\"/></g><defs><clipPath id=\"clip0_247_12\"><rect width=\"16\" height=\"16\" fill=\"white\"/></clipPath></defs></svg>";
|
|
1190
|
+
|
|
1177
1191
|
var image_48x48$1 = "<svg viewBox=\"0 0 48 48\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M36 8H12C9.79 8 8 9.79 8 12V36C8 38.21 9.79 40 12 40H36C38.21 40 40 38.21 40 36V12C40 9.79 38.21 8 36 8ZM38 36C38 37.1 37.1 38 36 38H12C10.9 38 10 37.1 10 36V12C10 10.9 10.9 10 12 10H36C37.1 10 38 10.9 38 12V36ZM14 17C14 15.34 15.34 14 17 14C18.66 14 20 15.34 20 17C20 18.66 18.66 20 17 20C15.34 20 14 18.66 14 17ZM27 24L36 36H12L19 27L23 29L27 24Z\"/></svg>";
|
|
1178
1192
|
|
|
1179
1193
|
var loading_48x48$1 = "<svg viewBox=\"0 0 48 48\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_19679_369428)\"><path opacity=\"0.1\" d=\"M24 40C15.18 40 8 32.82 8 24C8 15.18 15.18 8 24 8C32.82 8 40 15.18 40 24C40 32.82 32.82 40 24 40ZM24 12C17.38 12 12 17.38 12 24C12 30.62 17.38 36 24 36C30.62 36 36 30.62 36 24C36 17.38 30.62 12 24 12Z\" fill=\"black\" fill-opacity=\"0.91\"/><path d=\"M10 26C8.9 26 8 25.1 8 24C8 15.18 15.18 8 24 8C25.1 8 26 8.9 26 10C26 11.1 25.1 12 24 12C17.38 12 12 17.38 12 24C12 25.1 11.1 26 10 26Z\"/></g><defs><clipPath id=\"clip0_19679_369428\"><rect width=\"32\" height=\"32\" fill=\"white\" transform=\"translate(8 8)\"/></clipPath></defs></svg>";
|
|
@@ -1262,6 +1276,7 @@ const icons$1 = {
|
|
|
1262
1276
|
"flip-24x24": flip_24x24$1,
|
|
1263
1277
|
"folder-24x24": folder_24x24$1,
|
|
1264
1278
|
"fullsize-16x16": fullsize_16x16$1,
|
|
1279
|
+
"grip": grip$1,
|
|
1265
1280
|
"image-48x48": image_48x48$1,
|
|
1266
1281
|
"loading-48x48": loading_48x48$1,
|
|
1267
1282
|
"maximize-16x16": maximize_16x16$1,
|
|
@@ -1360,6 +1375,8 @@ var folder_24x24 = "<svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/sv
|
|
|
1360
1375
|
|
|
1361
1376
|
var fullsize_16x16 = "<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M12 3.25H4C3.04 3.25 2.25 4.04 2.25 5V11C2.25 11.96 3.04 12.75 4 12.75H12C12.96 12.75 13.75 11.96 13.75 11V5C13.75 4.04 12.96 3.25 12 3.25ZM12.25 11C12.25 11.14 12.14 11.25 12 11.25H4C3.86 11.25 3.75 11.14 3.75 11V5C3.75 4.86 3.86 4.75 4 4.75H12C12.14 4.75 12.25 4.86 12.25 5V11Z\"/></svg>";
|
|
1362
1377
|
|
|
1378
|
+
var grip = "<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_247_12)\"><path d=\"M13.8666 9.86954C14.1595 9.57665 14.6342 9.57665 14.9271 9.86954C15.22 10.1624 15.22 10.6372 14.9271 10.9301L10.9271 14.9301C10.6342 15.223 10.1595 15.223 9.86659 14.9301C9.5737 14.6372 9.5737 14.1624 9.86659 13.8695L13.8666 9.86954Z\"/><path d=\"M13.4657 5.46961C13.7586 5.17672 14.2334 5.17672 14.5263 5.46961C14.8191 5.7625 14.8192 6.23726 14.5263 6.53015L6.52626 14.5302C6.23339 14.8229 5.75858 14.8229 5.46571 14.5302C5.17286 14.2373 5.17292 13.7625 5.46571 13.4696L13.4657 5.46961Z\"/></g><defs><clipPath id=\"clip0_247_12\"><rect width=\"16\" height=\"16\" fill=\"white\"/></clipPath></defs></svg>";
|
|
1379
|
+
|
|
1363
1380
|
var image_48x48 = "<svg viewBox=\"0 0 48 48\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M33 10.25H15C12.38 10.25 10.25 12.38 10.25 15V33C10.25 35.62 12.38 37.75 15 37.75H33C35.62 37.75 37.75 35.62 37.75 33V15C37.75 12.38 35.62 10.25 33 10.25ZM36.25 33C36.25 34.79 34.79 36.25 33 36.25H15C13.21 36.25 11.75 34.79 11.75 33V15C11.75 13.21 13.21 11.75 15 11.75H33C34.79 11.75 36.25 13.21 36.25 15V33ZM30.5 14.25C28.71 14.25 27.25 15.71 27.25 17.5C27.25 19.29 28.71 20.75 30.5 20.75C32.29 20.75 33.75 19.29 33.75 17.5C33.75 15.71 32.29 14.25 30.5 14.25ZM30.5 19.25C29.54 19.25 28.75 18.46 28.75 17.5C28.75 16.54 29.54 15.75 30.5 15.75C31.46 15.75 32.25 16.54 32.25 17.5C32.25 18.46 31.46 19.25 30.5 19.25ZM29.26 26.28C28.94 25.92 28.49 25.71 28.01 25.7C27.54 25.68 27.07 25.87 26.73 26.2L24.95 27.94L22.28 25.23C21.94 24.89 21.5 24.71 21 24.71C20.52 24.71 20.06 24.93 19.74 25.28L14.74 30.78C14.25 31.3 14.12 32.06 14.41 32.72C14.69 33.36 15.28 33.75 15.95 33.75H32.07C32.74 33.75 33.33 33.35 33.61 32.72C33.89 32.06 33.77 31.31 33.29 30.79L29.27 26.29L29.26 26.28ZM32.22 32.12C32.18 32.2 32.13 32.25 32.06 32.25H15.94C15.87 32.25 15.81 32.21 15.78 32.12C15.77 32.09 15.71 31.93 15.83 31.8L20.84 26.29C20.9 26.22 20.99 26.21 21.02 26.21C21.06 26.21 21.14 26.22 21.2 26.29L24.4 29.54C24.69 29.83 25.16 29.84 25.46 29.54L27.77 27.27C27.83 27.21 27.9 27.2 27.94 27.2C28.01 27.2 28.06 27.21 28.13 27.28L32.16 31.79C32.16 31.79 32.16 31.79 32.17 31.8C32.29 31.93 32.23 32.09 32.22 32.12Z\"/></svg>";
|
|
1364
1381
|
|
|
1365
1382
|
var loading_48x48 = "<svg viewBox=\"0 0 48 48\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_19679_369428)\"><path opacity=\"0.1\" d=\"M24 40C15.18 40 8 32.82 8 24C8 15.18 15.18 8 24 8C32.82 8 40 15.18 40 24C40 32.82 32.82 40 24 40ZM24 12C17.38 12 12 17.38 12 24C12 30.62 17.38 36 24 36C30.62 36 36 30.62 36 24C36 17.38 30.62 12 24 12Z\" fill=\"black\" fill-opacity=\"0.91\"/><path d=\"M10 26C8.9 26 8 25.1 8 24C8 15.18 15.18 8 24 8C25.1 8 26 8.9 26 10C26 11.1 25.1 12 24 12C17.38 12 12 17.38 12 24C12 25.1 11.1 26 10 26Z\"/></g><defs><clipPath id=\"clip0_19679_369428\"><rect width=\"32\" height=\"32\" fill=\"white\" transform=\"translate(8 8)\"/></clipPath></defs></svg>";
|
|
@@ -1448,6 +1465,7 @@ const icons = {
|
|
|
1448
1465
|
"flip-24x24": flip_24x24,
|
|
1449
1466
|
"folder-24x24": folder_24x24,
|
|
1450
1467
|
"fullsize-16x16": fullsize_16x16,
|
|
1468
|
+
"grip": grip,
|
|
1451
1469
|
"image-48x48": image_48x48,
|
|
1452
1470
|
"loading-48x48": loading_48x48,
|
|
1453
1471
|
"maximize-16x16": maximize_16x16,
|
|
@@ -2111,23 +2129,12 @@ class SurveyPanelBase extends SurveyElementBase {
|
|
|
2111
2129
|
}
|
|
2112
2130
|
}
|
|
2113
2131
|
|
|
2114
|
-
class CharacterCounterComponent extends SurveyElementBase {
|
|
2115
|
-
getStateElement() {
|
|
2116
|
-
return this.props.counter;
|
|
2117
|
-
}
|
|
2118
|
-
renderElement() {
|
|
2119
|
-
return (React.createElement("div", { className: this.props.remainingCharacterCounter }, this.props.counter.remainingCharacterCounter));
|
|
2120
|
-
}
|
|
2121
|
-
}
|
|
2122
|
-
ReactElementFactory.Instance.registerElement("sv-character-counter", (props) => {
|
|
2123
|
-
return React.createElement(CharacterCounterComponent, props);
|
|
2124
|
-
});
|
|
2125
|
-
|
|
2126
2132
|
class TextAreaComponent extends SurveyElementBase {
|
|
2127
2133
|
constructor(props) {
|
|
2128
2134
|
super(props);
|
|
2129
|
-
this.initialValue = this.viewModel.getTextValue() || "";
|
|
2130
2135
|
this.textareaRef = React.createRef();
|
|
2136
|
+
this.anchorRef = React.createRef();
|
|
2137
|
+
this.initialValue = this.viewModel.getTextValue() || "";
|
|
2131
2138
|
}
|
|
2132
2139
|
get viewModel() {
|
|
2133
2140
|
return this.props.viewModel;
|
|
@@ -2137,17 +2144,37 @@ class TextAreaComponent extends SurveyElementBase {
|
|
|
2137
2144
|
}
|
|
2138
2145
|
componentDidMount() {
|
|
2139
2146
|
super.componentDidMount();
|
|
2147
|
+
if (this.anchorRef.current && this.textareaRef.current && this.viewModel.question.resizeStyle !== "none") {
|
|
2148
|
+
this.resizeManager = new ResizeManager(this.anchorRef.current, this.textareaRef.current, this.viewModel.question.resizeStyle);
|
|
2149
|
+
}
|
|
2140
2150
|
let el = this.textareaRef.current;
|
|
2141
2151
|
if (!!el) {
|
|
2142
2152
|
this.viewModel.setElement(el);
|
|
2143
2153
|
}
|
|
2144
2154
|
}
|
|
2145
2155
|
componentWillUnmount() {
|
|
2156
|
+
var _a;
|
|
2146
2157
|
super.componentWillUnmount();
|
|
2158
|
+
(_a = this.resizeManager) === null || _a === void 0 ? void 0 : _a.dispose();
|
|
2147
2159
|
this.viewModel.resetElement();
|
|
2148
2160
|
}
|
|
2161
|
+
onContainerClick(event) {
|
|
2162
|
+
var _a;
|
|
2163
|
+
if (event.target == event.currentTarget) {
|
|
2164
|
+
(_a = this.textareaRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
2165
|
+
}
|
|
2166
|
+
}
|
|
2167
|
+
renderGroup() {
|
|
2168
|
+
return this.viewModel.hasVisibleInputActions ? React.createElement(SurveyActionBar, { model: this.viewModel.inputActionsContainer }) : null;
|
|
2169
|
+
}
|
|
2149
2170
|
renderElement() {
|
|
2150
|
-
|
|
2171
|
+
const cssClasses = this.viewModel.getCssClasses();
|
|
2172
|
+
return (React.createElement("div", { className: cssClasses.root, onClick: (event) => this.onContainerClick(event) },
|
|
2173
|
+
React.createElement("textarea", { id: this.viewModel.id, className: cssClasses.control, ref: this.textareaRef, disabled: this.viewModel.isDisabledAttr, readOnly: this.viewModel.isReadOnlyAttr, rows: this.viewModel.rows, cols: this.viewModel.cols, placeholder: this.viewModel.placeholder, maxLength: this.viewModel.maxLength, defaultValue: this.initialValue, onChange: (event) => { this.viewModel.onTextAreaInput(event); }, onFocus: (event) => { this.viewModel.onTextAreaFocus(event); }, onBlur: (event) => { this.viewModel.onTextAreaBlur(event); }, onKeyDown: (event) => { this.viewModel.onTextAreaKeyDown(event); }, "aria-required": this.viewModel.ariaRequired, "aria-label": this.viewModel.ariaLabel, "aria-labelledby": this.viewModel.ariaLabelledBy, "aria-describedby": this.viewModel.ariaDescribedBy, "aria-invalid": this.viewModel.ariaInvalid, "aria-errormessage": this.viewModel.ariaErrormessage, style: { resize: "none" } }),
|
|
2174
|
+
this.renderGroup(),
|
|
2175
|
+
this.viewModel.question.resizeStyle !== "none" ?
|
|
2176
|
+
React.createElement("div", { className: cssClasses.grip, ref: this.anchorRef },
|
|
2177
|
+
React.createElement(SvgIcon, { iconName: cssClasses.gripIconId, size: "auto" })) : null));
|
|
2151
2178
|
}
|
|
2152
2179
|
}
|
|
2153
2180
|
ReactElementFactory.Instance.registerElement("sv-text-area", (props) => {
|
|
@@ -2155,13 +2182,6 @@ ReactElementFactory.Instance.registerElement("sv-text-area", (props) => {
|
|
|
2155
2182
|
});
|
|
2156
2183
|
|
|
2157
2184
|
class SurveyQuestionComment extends SurveyQuestionUncontrolledElement {
|
|
2158
|
-
renderCharacterCounter() {
|
|
2159
|
-
let counter = null;
|
|
2160
|
-
if (!!this.question.getMaxLength()) {
|
|
2161
|
-
counter = React.createElement(CharacterCounterComponent, { counter: this.question.characterCounter, remainingCharacterCounter: this.question.cssClasses.remainingCharacterCounter });
|
|
2162
|
-
}
|
|
2163
|
-
return counter;
|
|
2164
|
-
}
|
|
2165
2185
|
constructor(props) {
|
|
2166
2186
|
super(props);
|
|
2167
2187
|
}
|
|
@@ -2169,11 +2189,9 @@ class SurveyQuestionComment extends SurveyQuestionUncontrolledElement {
|
|
|
2169
2189
|
if (this.question.isReadOnlyRenderDiv()) {
|
|
2170
2190
|
return React.createElement("div", null, this.question.value);
|
|
2171
2191
|
}
|
|
2172
|
-
const counter = this.renderCharacterCounter();
|
|
2173
2192
|
const textAreaModel = this.props.question.textAreaModel;
|
|
2174
2193
|
return (React.createElement(React.Fragment, null,
|
|
2175
|
-
React.createElement(TextAreaComponent, { viewModel: textAreaModel })
|
|
2176
|
-
counter));
|
|
2194
|
+
React.createElement(TextAreaComponent, { viewModel: textAreaModel })));
|
|
2177
2195
|
}
|
|
2178
2196
|
}
|
|
2179
2197
|
class SurveyQuestionCommentItem extends ReactSurveyElement {
|
|
@@ -3554,16 +3572,17 @@ class SurveyQuestionDropdownBase extends SurveyQuestionUncontrolledElement {
|
|
|
3554
3572
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
3555
3573
|
// @ts-ignore
|
|
3556
3574
|
disabled: this.question.isDisabledAttr, required: this.question.isRequired, onKeyDown: this.keyhandler, onBlur: this.blur, onFocus: this.focus, role: dropdownListModel.ariaQuestionRole, "aria-required": dropdownListModel.ariaQuestionRequired, "aria-invalid": dropdownListModel.ariaQuestionInvalid, "aria-errormessage": dropdownListModel.ariaQuestionErrorMessage, "aria-expanded": dropdownListModel.ariaQuestionExpanded, "aria-label": dropdownListModel.ariaQuestionLabel, "aria-labelledby": dropdownListModel.ariaQuestionLabelledby, "aria-describedby": dropdownListModel.ariaQuestionDescribedby, "aria-controls": dropdownListModel.ariaQuestionControls, "aria-activedescendant": dropdownListModel.ariaQuestionActivedescendant, ref: (div) => (this.setControl(div)) },
|
|
3557
|
-
dropdownListModel.showHintPrefix ?
|
|
3558
|
-
(React.createElement("div", { className: this.question.cssClasses.hintPrefix },
|
|
3559
|
-
React.createElement("span", null, dropdownListModel.hintStringPrefix))) : null,
|
|
3560
3575
|
React.createElement("div", { className: this.question.cssClasses.controlValue },
|
|
3561
|
-
dropdownListModel.
|
|
3562
|
-
(React.createElement("div", { className: this.question.cssClasses.
|
|
3563
|
-
React.createElement("span",
|
|
3564
|
-
|
|
3565
|
-
|
|
3566
|
-
|
|
3576
|
+
dropdownListModel.showHintPrefix ?
|
|
3577
|
+
(React.createElement("div", { className: this.question.cssClasses.hintPrefix },
|
|
3578
|
+
React.createElement("span", null, dropdownListModel.hintStringPrefix))) : null,
|
|
3579
|
+
React.createElement("div", { className: this.question.cssClasses.inputPrefixWrapper },
|
|
3580
|
+
dropdownListModel.showHintString ?
|
|
3581
|
+
(React.createElement("div", { className: this.question.cssClasses.hintSuffix },
|
|
3582
|
+
React.createElement("span", { style: { visibility: "hidden" }, "data-bind": "text: model.filterString" }, dropdownListModel.inputStringRendered),
|
|
3583
|
+
React.createElement("span", null, dropdownListModel.hintStringSuffix))) : null,
|
|
3584
|
+
valueElement,
|
|
3585
|
+
dropdownListModel.needRenderInput ? this.renderFilterInput() : null)),
|
|
3567
3586
|
this.renderEditorButtons()));
|
|
3568
3587
|
}
|
|
3569
3588
|
renderFilterInput() {
|
|
@@ -3702,18 +3721,16 @@ class SurveyQuestionDropdownSelect extends SurveyQuestionDropdown {
|
|
|
3702
3721
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
3703
3722
|
// @ts-ignore
|
|
3704
3723
|
React.createElement("div", { id: this.question.inputId, className: this.question.getControlClass(), disabled: true }, this.question.readOnlyText)) :
|
|
3705
|
-
(React.createElement("select", { id: this.question.inputId, className:
|
|
3724
|
+
(React.createElement("select", { id: this.question.inputId, className: cssClasses.controlValue, ref: (select) => (this.setControl(select)), autoComplete: this.question.autocomplete, onChange: this.updateValueOnEvent, onInput: this.updateValueOnEvent, onClick: click, onKeyUp: keyup, "aria-required": this.question.a11y_input_ariaRequired, "aria-label": this.question.a11y_input_ariaLabel, "aria-invalid": this.question.a11y_input_ariaInvalid, "aria-errormessage": this.question.a11y_input_ariaErrormessage, required: this.question.isRequired },
|
|
3706
3725
|
this.question.allowClear ? (React.createElement("option", { value: "" }, this.question.placeholder)) : null,
|
|
3707
3726
|
this.question.visibleChoices.map((item) => React.createElement(SurveyQuestionOptionItem, { key: item.uniqueId, item: item }))));
|
|
3708
3727
|
return (React.createElement("div", { className: cssClasses.selectWrapper },
|
|
3709
|
-
|
|
3710
|
-
|
|
3728
|
+
React.createElement("div", { className: this.question.getControlClass() },
|
|
3729
|
+
selectElement,
|
|
3730
|
+
this.renderEditorButtons())));
|
|
3711
3731
|
}
|
|
3712
|
-
|
|
3713
|
-
|
|
3714
|
-
return null;
|
|
3715
|
-
return (React.createElement("div", { className: this.question.cssClasses.chevronButton, "aria-hidden": "true", onPointerDown: this.chevronPointerDown },
|
|
3716
|
-
React.createElement(SvgIcon, { className: this.question.cssClasses.chevronButtonSvg, iconName: this.question.cssClasses.chevronButtonIconId, size: "auto" })));
|
|
3732
|
+
renderEditorButtons() {
|
|
3733
|
+
return React.createElement(SurveyActionBar, { model: this.question.inputActionBar });
|
|
3717
3734
|
}
|
|
3718
3735
|
}
|
|
3719
3736
|
ReactQuestionFactory.Instance.registerQuestion("sv-dropdown-select", (props) => {
|
|
@@ -4260,21 +4277,20 @@ class SurveyQuestionText extends SurveyQuestionUncontrolledElement {
|
|
|
4260
4277
|
if (this.question.isReadOnlyRenderDiv()) {
|
|
4261
4278
|
return React.createElement("div", null, this.question.inputValue);
|
|
4262
4279
|
}
|
|
4263
|
-
|
|
4264
|
-
|
|
4265
|
-
|
|
4266
|
-
|
|
4267
|
-
|
|
4268
|
-
|
|
4269
|
-
|
|
4270
|
-
|
|
4280
|
+
return (React.createElement("input", { id: this.question.inputId,
|
|
4281
|
+
// disabled={this.isDisplayMode}
|
|
4282
|
+
disabled: this.question.isDisabledAttr, readOnly: this.question.isReadOnlyAttr, className: inputClass, type: this.question.inputType,
|
|
4283
|
+
//ref={this.controlRef}
|
|
4284
|
+
ref: (input) => (this.setControl(input)), style: this.question.inputStyle, maxLength: this.question.getMaxLength(), min: this.question.renderedMin, max: this.question.renderedMax, step: this.question.renderedStep, size: this.question.inputSize, placeholder: placeholder, list: this.question.dataListId, autoComplete: this.question.autocomplete, onBlur: (event) => { this.question.onBlur(event); }, onFocus: (event) => { this.question.onFocus(event); }, onChange: this.question.onChange, onClick: this.question.readOnlyBlocker, onPointerDown: this.question.readOnlyBlocker, onKeyUp: this.question.onKeyUp, onKeyDown: this.question.onKeyDown, onCompositionUpdate: (event) => this.question.onCompositionUpdate(event.nativeEvent), "aria-required": this.question.a11y_input_ariaRequired, "aria-label": this.question.a11y_input_ariaLabel, "aria-labelledby": this.question.a11y_input_ariaLabelledBy, "aria-describedby": this.question.a11y_input_ariaDescribedBy, "aria-invalid": this.question.a11y_input_ariaInvalid, "aria-errormessage": this.question.a11y_input_ariaErrormessage }));
|
|
4285
|
+
}
|
|
4286
|
+
renderGroup() {
|
|
4287
|
+
return this.question.hasVisibleInputActions ? React.createElement(SurveyActionBar, { model: this.question.inputActionsContainer }) : null;
|
|
4271
4288
|
}
|
|
4272
4289
|
renderElement() {
|
|
4273
|
-
return (this.question.
|
|
4274
|
-
|
|
4275
|
-
|
|
4276
|
-
|
|
4277
|
-
this.renderInput());
|
|
4290
|
+
return (React.createElement("div", { className: this.question.getRootClass(), onClick: (event) => this.question.onContainerClick(event) },
|
|
4291
|
+
this.renderInput(),
|
|
4292
|
+
this.renderDataList(),
|
|
4293
|
+
this.renderGroup()));
|
|
4278
4294
|
}
|
|
4279
4295
|
setValueCore(newValue) {
|
|
4280
4296
|
this.question.inputValue = newValue;
|
|
@@ -4881,52 +4897,30 @@ class SurveyQuestionMatrixDynamic extends SurveyQuestionMatrixDropdownBase {
|
|
|
4881
4897
|
? this.renderTableDiv()
|
|
4882
4898
|
: this.renderNoRowsContent(cssClasses);
|
|
4883
4899
|
return (React.createElement("div", null,
|
|
4884
|
-
this.
|
|
4900
|
+
this.renderTopToolbar(),
|
|
4885
4901
|
mainDiv,
|
|
4886
|
-
this.
|
|
4902
|
+
this.renderBottomToolbar()));
|
|
4903
|
+
}
|
|
4904
|
+
renderToolbar() {
|
|
4905
|
+
return React.createElement("div", { className: this.matrix.cssClasses.footer }, ReactElementFactory.Instance.createElement("sv-action-bar", { model: this.matrix.toolbar }));
|
|
4887
4906
|
}
|
|
4888
|
-
|
|
4889
|
-
if (!this.matrix.
|
|
4907
|
+
renderTopToolbar() {
|
|
4908
|
+
if (!this.matrix.getShowToolbar("top"))
|
|
4890
4909
|
return null;
|
|
4891
|
-
return this.
|
|
4910
|
+
return this.renderToolbar();
|
|
4892
4911
|
}
|
|
4893
|
-
|
|
4894
|
-
if (!this.matrix.
|
|
4912
|
+
renderBottomToolbar() {
|
|
4913
|
+
if (!this.matrix.getShowToolbar("bottom"))
|
|
4895
4914
|
return null;
|
|
4896
|
-
return this.
|
|
4915
|
+
return this.renderToolbar();
|
|
4897
4916
|
}
|
|
4898
4917
|
renderNoRowsContent(cssClasses) {
|
|
4899
4918
|
return ReactElementFactory.Instance.createElement("sv-placeholder-matrixdynamic", { cssClasses: cssClasses, question: this.matrix });
|
|
4900
4919
|
}
|
|
4901
|
-
renderAddRowButton(cssClasses, isEmptySection = false) {
|
|
4902
|
-
return ReactElementFactory.Instance.createElement("sv-matrixdynamic-add-btn", {
|
|
4903
|
-
question: this.question, cssClasses, isEmptySection
|
|
4904
|
-
});
|
|
4905
|
-
}
|
|
4906
4920
|
}
|
|
4907
4921
|
ReactQuestionFactory.Instance.registerQuestion("matrixdynamic", (props) => {
|
|
4908
4922
|
return React.createElement(SurveyQuestionMatrixDynamic, props);
|
|
4909
4923
|
});
|
|
4910
|
-
class SurveyQuestionMatrixDynamicAddButton extends ReactSurveyElement {
|
|
4911
|
-
constructor(props) {
|
|
4912
|
-
super(props);
|
|
4913
|
-
this.handleOnRowAddClick = this.handleOnRowAddClick.bind(this);
|
|
4914
|
-
}
|
|
4915
|
-
get matrix() {
|
|
4916
|
-
return this.props.question;
|
|
4917
|
-
}
|
|
4918
|
-
handleOnRowAddClick(event) {
|
|
4919
|
-
this.matrix.addRowUI();
|
|
4920
|
-
}
|
|
4921
|
-
renderElement() {
|
|
4922
|
-
const addRowText = this.renderLocString(this.matrix.locAddRowText);
|
|
4923
|
-
const addButton = (React.createElement("button", { className: this.matrix.getAddRowButtonCss(this.props.isEmptySection), type: "button", disabled: this.matrix.isInputReadOnly, onClick: this.matrix.isDesignMode ? undefined : this.handleOnRowAddClick },
|
|
4924
|
-
addRowText,
|
|
4925
|
-
React.createElement("span", { className: this.props.cssClasses.iconAdd }, this.cssClasses.iconAddId && React.createElement("svg", null,
|
|
4926
|
-
React.createElement("use", { xlinkHref: this.cssClasses.iconAddId })))));
|
|
4927
|
-
return (this.props.isEmptySection ? addButton : React.createElement("div", { className: this.props.cssClasses.footer }, addButton));
|
|
4928
|
-
}
|
|
4929
|
-
}
|
|
4930
4924
|
class SurveyQuestionMatrixDynamicPlaceholder extends ReactSurveyElement {
|
|
4931
4925
|
constructor(props) {
|
|
4932
4926
|
super(props);
|
|
@@ -4934,21 +4928,14 @@ class SurveyQuestionMatrixDynamicPlaceholder extends ReactSurveyElement {
|
|
|
4934
4928
|
renderElement() {
|
|
4935
4929
|
const cssClasses = this.props.cssClasses;
|
|
4936
4930
|
const matrix = this.props.question;
|
|
4937
|
-
const showAddButton = matrix.renderedTable.showAddRow;
|
|
4938
4931
|
const text = this.renderLocString(matrix.locNoRowsText);
|
|
4939
4932
|
const textDiv = React.createElement("div", { className: cssClasses.noRowsText }, text);
|
|
4940
|
-
const
|
|
4933
|
+
const toolbar = matrix.getShowToolbar() ? ReactElementFactory.Instance.createElement("sv-action-bar", { model: matrix.toolbar }) : null;
|
|
4941
4934
|
return (React.createElement("div", { className: cssClasses.noRowsSection },
|
|
4942
4935
|
textDiv,
|
|
4943
|
-
|
|
4944
|
-
}
|
|
4945
|
-
renderAddRowButton(cssClasses, question) {
|
|
4946
|
-
return ReactElementFactory.Instance.createElement("sv-matrixdynamic-add-btn", {
|
|
4947
|
-
question: question, cssClasses: cssClasses, isEmptySection: true
|
|
4948
|
-
});
|
|
4936
|
+
toolbar));
|
|
4949
4937
|
}
|
|
4950
4938
|
}
|
|
4951
|
-
ReactElementFactory.Instance.registerElement("sv-matrixdynamic-add-btn", (props) => { return React.createElement(SurveyQuestionMatrixDynamicAddButton, props); });
|
|
4952
4939
|
ReactElementFactory.Instance.registerElement("sv-placeholder-matrixdynamic", (props) => { return React.createElement(SurveyQuestionMatrixDynamicPlaceholder, props); });
|
|
4953
4940
|
|
|
4954
4941
|
class SurveyQuestionPanelDynamic extends SurveyQuestionElementBase {
|
|
@@ -4992,7 +4979,7 @@ class SurveyQuestionPanelDynamic extends SurveyQuestionElementBase {
|
|
|
4992
4979
|
const rangeTop = this.question.isRangeShowing && this.question.isProgressTopShowing
|
|
4993
4980
|
? this.renderRange()
|
|
4994
4981
|
: null;
|
|
4995
|
-
const
|
|
4982
|
+
const navigation = this.renderNavigator();
|
|
4996
4983
|
const noEntriesPlaceholder = this.renderPlaceholder(cssClasses);
|
|
4997
4984
|
return (React.createElement("div", { className: cssClasses.root },
|
|
4998
4985
|
this.question.hasTabbedMenu ? React.createElement("div", { className: this.question.getTabsContainerCss() },
|
|
@@ -5000,18 +4987,13 @@ class SurveyQuestionPanelDynamic extends SurveyQuestionElementBase {
|
|
|
5000
4987
|
noEntriesPlaceholder,
|
|
5001
4988
|
rangeTop,
|
|
5002
4989
|
React.createElement("div", { className: this.question.cssClasses.panelsContainer }, panels),
|
|
5003
|
-
|
|
4990
|
+
navigation));
|
|
5004
4991
|
}
|
|
5005
4992
|
renderRange() {
|
|
5006
4993
|
return (React.createElement("div", { className: this.question.cssClasses.progress },
|
|
5007
4994
|
React.createElement("div", { className: this.question.cssClasses.progressBar, style: { width: this.question.progress }, role: "progressbar", "aria-label": this.question.progressBarAriaLabel })));
|
|
5008
4995
|
}
|
|
5009
|
-
|
|
5010
|
-
return ReactElementFactory.Instance.createElement("sv-paneldynamic-add-btn", {
|
|
5011
|
-
data: { question: this.question }
|
|
5012
|
-
});
|
|
5013
|
-
}
|
|
5014
|
-
renderNavigatorV2() {
|
|
4996
|
+
renderNavigator() {
|
|
5015
4997
|
if (!this.question.showNavigation)
|
|
5016
4998
|
return null;
|
|
5017
4999
|
const range = this.question.isRangeShowing && this.question.isProgressBottomShowing ? this.renderRange() : null;
|
|
@@ -5055,9 +5037,7 @@ class SurveyQuestionPanelDynamicItem extends SurveyPanel {
|
|
|
5055
5037
|
renderButton() {
|
|
5056
5038
|
if (!this.question.canRenderRemovePanelOnRight(this.panel))
|
|
5057
5039
|
return null;
|
|
5058
|
-
return
|
|
5059
|
-
data: { question: this.question, panel: this.panel }
|
|
5060
|
-
});
|
|
5040
|
+
return React.createElement(SurveyAction, { item: this.question.getRemovePanelAction(this.panel) });
|
|
5061
5041
|
}
|
|
5062
5042
|
}
|
|
5063
5043
|
ReactQuestionFactory.Instance.registerQuestion("paneldynamic", props => {
|
|
@@ -5072,12 +5052,7 @@ class SurveyQuestionPanelDynamicPlaceholder extends ReactSurveyElement {
|
|
|
5072
5052
|
const question = this.props.question;
|
|
5073
5053
|
return (React.createElement("div", { className: cssClasses.noEntriesPlaceholder },
|
|
5074
5054
|
React.createElement("span", null, this.renderLocString(question.locNoEntriesText)),
|
|
5075
|
-
this.
|
|
5076
|
-
}
|
|
5077
|
-
renderAddRowButton(question) {
|
|
5078
|
-
return ReactElementFactory.Instance.createElement("sv-paneldynamic-add-btn", {
|
|
5079
|
-
data: { question: question }
|
|
5080
|
-
});
|
|
5055
|
+
React.createElement(SurveyActionBar, { model: this.props.question.footerToolbar })));
|
|
5081
5056
|
}
|
|
5082
5057
|
}
|
|
5083
5058
|
ReactElementFactory.Instance.registerElement("sv-placeholder-paneldynamic", (props) => { return React.createElement(SurveyQuestionPanelDynamicPlaceholder, props); });
|
|
@@ -6078,145 +6053,13 @@ ReactElementFactory.Instance.registerElement("sv-logo-image", (props) => {
|
|
|
6078
6053
|
return React.createElement(LogoImage, props);
|
|
6079
6054
|
});
|
|
6080
6055
|
|
|
6081
|
-
class
|
|
6082
|
-
constructor(props) {
|
|
6083
|
-
super(props);
|
|
6084
|
-
this.handleOnRowRemoveClick = this.handleOnRowRemoveClick.bind(this);
|
|
6085
|
-
}
|
|
6086
|
-
get question() {
|
|
6087
|
-
return this.props.item.data.question;
|
|
6088
|
-
}
|
|
6089
|
-
get row() {
|
|
6090
|
-
return this.props.item.data.row;
|
|
6091
|
-
}
|
|
6092
|
-
handleOnRowRemoveClick(event) {
|
|
6093
|
-
this.question.removeRowUI(this.row);
|
|
6094
|
-
}
|
|
6095
|
-
renderElement() {
|
|
6096
|
-
var removeRowText = this.renderLocString(this.question.locRemoveRowText);
|
|
6097
|
-
return (React.createElement("button", { className: this.question.getRemoveRowButtonCss(), type: "button", onClick: this.handleOnRowRemoveClick, disabled: this.question.isInputReadOnly },
|
|
6098
|
-
removeRowText,
|
|
6099
|
-
React.createElement("span", { className: this.question.cssClasses.iconRemove })));
|
|
6100
|
-
}
|
|
6101
|
-
}
|
|
6102
|
-
ReactElementFactory.Instance.registerElement("sv-matrix-remove-button", (props) => {
|
|
6103
|
-
return React.createElement(SurveyQuestionMatrixDynamicRemoveButton, props);
|
|
6104
|
-
});
|
|
6105
|
-
|
|
6106
|
-
class SurveyQuestionMatrixDetailButton extends ReactSurveyElement {
|
|
6107
|
-
constructor(props) {
|
|
6108
|
-
super(props);
|
|
6109
|
-
this.handleOnShowHideClick = this.handleOnShowHideClick.bind(this);
|
|
6110
|
-
}
|
|
6111
|
-
getStateElement() {
|
|
6112
|
-
return this.props.item;
|
|
6113
|
-
}
|
|
6114
|
-
get item() {
|
|
6115
|
-
return this.props.item;
|
|
6116
|
-
}
|
|
6117
|
-
get question() {
|
|
6118
|
-
return this.props.item.data.question;
|
|
6119
|
-
}
|
|
6120
|
-
get row() {
|
|
6121
|
-
return this.props.item.data.row;
|
|
6122
|
-
}
|
|
6123
|
-
handleOnShowHideClick(event) {
|
|
6124
|
-
this.row.showHideDetailPanelClick();
|
|
6125
|
-
}
|
|
6126
|
-
renderElement() {
|
|
6127
|
-
var isExpanded = this.row.isDetailPanelShowing;
|
|
6128
|
-
var ariaExpanded = isExpanded;
|
|
6129
|
-
var ariaControls = isExpanded ? this.row.detailPanelId : undefined;
|
|
6130
|
-
return (React.createElement("button", { type: "button", title: this.props.item.title, onClick: this.handleOnShowHideClick, className: this.question.getDetailPanelButtonCss(this.row), "aria-expanded": ariaExpanded, "aria-controls": ariaControls },
|
|
6131
|
-
React.createElement(SvgIcon, { className: this.question.getDetailPanelIconCss(this.row), iconName: this.question.getDetailPanelIconId(this.row), size: "auto" })));
|
|
6132
|
-
}
|
|
6133
|
-
}
|
|
6134
|
-
ReactElementFactory.Instance.registerElement("sv-matrix-detail-button", props => {
|
|
6135
|
-
return React.createElement(SurveyQuestionMatrixDetailButton, props);
|
|
6136
|
-
});
|
|
6137
|
-
|
|
6138
|
-
class SurveyQuestionPanelDynamicAction extends ReactSurveyElement {
|
|
6139
|
-
constructor(props) {
|
|
6140
|
-
super(props);
|
|
6141
|
-
}
|
|
6056
|
+
class SurveyQuestionPanelDynamicProgressText extends ReactSurveyElement {
|
|
6142
6057
|
get data() {
|
|
6143
6058
|
return (this.props.item && this.props.item.data) || this.props.data;
|
|
6144
6059
|
}
|
|
6145
6060
|
get question() {
|
|
6146
6061
|
return (this.props.item && this.props.item.data.question) || this.props.data.question;
|
|
6147
6062
|
}
|
|
6148
|
-
}
|
|
6149
|
-
class SurveyQuestionPanelDynamicAddButton extends SurveyQuestionPanelDynamicAction {
|
|
6150
|
-
constructor() {
|
|
6151
|
-
super(...arguments);
|
|
6152
|
-
this.handleClick = (event) => {
|
|
6153
|
-
this.question.addPanelUI();
|
|
6154
|
-
};
|
|
6155
|
-
}
|
|
6156
|
-
renderElement() {
|
|
6157
|
-
if (!this.question.canAddPanel)
|
|
6158
|
-
return null;
|
|
6159
|
-
const btnText = this.renderLocString(this.question.locAddPanelText);
|
|
6160
|
-
return (React.createElement("button", { type: "button", id: this.question.addButtonId, className: this.question.getAddButtonCss(), onClick: this.handleClick },
|
|
6161
|
-
React.createElement("span", { className: this.question.cssClasses.buttonAddText }, btnText)));
|
|
6162
|
-
}
|
|
6163
|
-
}
|
|
6164
|
-
ReactElementFactory.Instance.registerElement("sv-paneldynamic-add-btn", (props) => {
|
|
6165
|
-
return React.createElement(SurveyQuestionPanelDynamicAddButton, props);
|
|
6166
|
-
});
|
|
6167
|
-
|
|
6168
|
-
class SurveyQuestionPanelDynamicRemoveButton extends SurveyQuestionPanelDynamicAction {
|
|
6169
|
-
constructor() {
|
|
6170
|
-
super(...arguments);
|
|
6171
|
-
this.handleClick = (event) => {
|
|
6172
|
-
this.question.removePanelUI(this.data.panel);
|
|
6173
|
-
};
|
|
6174
|
-
}
|
|
6175
|
-
renderElement() {
|
|
6176
|
-
const btnText = this.renderLocString(this.question.locRemovePanelText);
|
|
6177
|
-
const id = this.question.getPanelRemoveButtonId(this.data.panel);
|
|
6178
|
-
return (React.createElement("button", { id: id, className: this.question.getPanelRemoveButtonCss(), onClick: this.handleClick, type: "button" },
|
|
6179
|
-
React.createElement("span", { className: this.question.cssClasses.buttonRemoveText }, btnText),
|
|
6180
|
-
React.createElement("span", { className: this.question.cssClasses.iconRemove })));
|
|
6181
|
-
}
|
|
6182
|
-
}
|
|
6183
|
-
ReactElementFactory.Instance.registerElement("sv-paneldynamic-remove-btn", (props) => {
|
|
6184
|
-
return React.createElement(SurveyQuestionPanelDynamicRemoveButton, props);
|
|
6185
|
-
});
|
|
6186
|
-
|
|
6187
|
-
class SurveyQuestionPanelDynamicPrevButton extends SurveyQuestionPanelDynamicAction {
|
|
6188
|
-
constructor() {
|
|
6189
|
-
super(...arguments);
|
|
6190
|
-
this.handleClick = (event) => {
|
|
6191
|
-
this.question.goToPrevPanel();
|
|
6192
|
-
};
|
|
6193
|
-
}
|
|
6194
|
-
renderElement() {
|
|
6195
|
-
return (React.createElement("div", { title: this.question.panelPrevText, onClick: this.handleClick, className: this.question.getPrevButtonCss() },
|
|
6196
|
-
React.createElement(SvgIcon, { iconName: this.question.cssClasses.progressBtnIcon, size: "auto" })));
|
|
6197
|
-
}
|
|
6198
|
-
}
|
|
6199
|
-
ReactElementFactory.Instance.registerElement("sv-paneldynamic-prev-btn", (props) => {
|
|
6200
|
-
return React.createElement(SurveyQuestionPanelDynamicPrevButton, props);
|
|
6201
|
-
});
|
|
6202
|
-
|
|
6203
|
-
class SurveyQuestionPanelDynamicNextButton extends SurveyQuestionPanelDynamicAction {
|
|
6204
|
-
constructor() {
|
|
6205
|
-
super(...arguments);
|
|
6206
|
-
this.handleClick = (event) => {
|
|
6207
|
-
this.question.goToNextPanel();
|
|
6208
|
-
};
|
|
6209
|
-
}
|
|
6210
|
-
renderElement() {
|
|
6211
|
-
return (React.createElement("div", { title: this.question.panelNextText, onClick: this.handleClick, className: this.question.getNextButtonCss() },
|
|
6212
|
-
React.createElement(SvgIcon, { iconName: this.question.cssClasses.progressBtnIcon, size: "auto" })));
|
|
6213
|
-
}
|
|
6214
|
-
}
|
|
6215
|
-
ReactElementFactory.Instance.registerElement("sv-paneldynamic-next-btn", (props) => {
|
|
6216
|
-
return React.createElement(SurveyQuestionPanelDynamicNextButton, props);
|
|
6217
|
-
});
|
|
6218
|
-
|
|
6219
|
-
class SurveyQuestionPanelDynamicProgressText extends SurveyQuestionPanelDynamicAction {
|
|
6220
6063
|
renderElement() {
|
|
6221
6064
|
return (React.createElement("div", { className: this.question.cssClasses.progressText }, this.question.progressText));
|
|
6222
6065
|
}
|
|
@@ -6225,21 +6068,6 @@ ReactElementFactory.Instance.registerElement("sv-paneldynamic-progress-text", (p
|
|
|
6225
6068
|
return React.createElement(SurveyQuestionPanelDynamicProgressText, props);
|
|
6226
6069
|
});
|
|
6227
6070
|
|
|
6228
|
-
class SurveyNavigationButton extends ReactSurveyElement {
|
|
6229
|
-
get item() {
|
|
6230
|
-
return this.props.item;
|
|
6231
|
-
}
|
|
6232
|
-
canRender() {
|
|
6233
|
-
return this.item.isVisible;
|
|
6234
|
-
}
|
|
6235
|
-
renderElement() {
|
|
6236
|
-
return (React.createElement("input", { className: this.item.innerCss, type: "button", disabled: this.item.disabled, onMouseDown: this.item.data && this.item.data.mouseDown, onClick: this.item.action, title: this.item.getTooltip(), value: this.item.title }));
|
|
6237
|
-
}
|
|
6238
|
-
}
|
|
6239
|
-
ReactElementFactory.Instance.registerElement("sv-nav-btn", (props) => {
|
|
6240
|
-
return React.createElement(SurveyNavigationButton, props);
|
|
6241
|
-
});
|
|
6242
|
-
|
|
6243
6071
|
class QuestionErrorComponent extends React.Component {
|
|
6244
6072
|
render() {
|
|
6245
6073
|
const error = this.props.error;
|
|
@@ -6300,6 +6128,36 @@ ReactElementFactory.Instance.registerElement("sv-skeleton", (props) => {
|
|
|
6300
6128
|
return React.createElement(Skeleton, props);
|
|
6301
6129
|
});
|
|
6302
6130
|
|
|
6131
|
+
class CharacterCounterComponent extends SurveyElementBase {
|
|
6132
|
+
get counter() {
|
|
6133
|
+
if (!!this.props.item) {
|
|
6134
|
+
return this.props.item.data.counter;
|
|
6135
|
+
}
|
|
6136
|
+
else {
|
|
6137
|
+
return this.props.counter;
|
|
6138
|
+
}
|
|
6139
|
+
}
|
|
6140
|
+
get remainingCharacterCounter() {
|
|
6141
|
+
if (!!this.props.item) {
|
|
6142
|
+
return this.props.item.data.remainingCharacterCounter;
|
|
6143
|
+
}
|
|
6144
|
+
else {
|
|
6145
|
+
return this.props.remainingCharacterCounter;
|
|
6146
|
+
}
|
|
6147
|
+
}
|
|
6148
|
+
getStateElement() {
|
|
6149
|
+
return this.counter;
|
|
6150
|
+
}
|
|
6151
|
+
renderElement() {
|
|
6152
|
+
if (!this.counter)
|
|
6153
|
+
return null;
|
|
6154
|
+
return (React.createElement("div", { className: this.remainingCharacterCounter }, this.counter.remainingCharacterCounter));
|
|
6155
|
+
}
|
|
6156
|
+
}
|
|
6157
|
+
ReactElementFactory.Instance.registerElement("sv-character-counter", (props) => {
|
|
6158
|
+
return React.createElement(CharacterCounterComponent, props);
|
|
6159
|
+
});
|
|
6160
|
+
|
|
6303
6161
|
class HeaderMobile extends React.Component {
|
|
6304
6162
|
get model() {
|
|
6305
6163
|
return this.props.model;
|
|
@@ -6423,7 +6281,7 @@ ReactElementFactory.Instance.registerElement(LocalizableString.editableRenderer,
|
|
|
6423
6281
|
return React.createElement(SurveyLocStringEditor, props);
|
|
6424
6282
|
});
|
|
6425
6283
|
|
|
6426
|
-
checkLibraryVersion(`${"
|
|
6284
|
+
checkLibraryVersion(`${"3.0.0-beta.1"}`, "survey-react-ui");
|
|
6427
6285
|
|
|
6428
|
-
export { CharacterCounterComponent, ComponentsContainer, Header, HeaderCell, HeaderMobile, List, ListItemContent, ListItemGroup, LoadingIndicatorComponent, LogoImage, MatrixRow, NotifierComponent, Popup, PopupModal, PopupSurvey, QuestionErrorComponent, RatingDropdownItem, RatingItem, RatingItemSmiley, RatingItemStar, ReactElementFactory, ReactQuestionFactory, ReactSurveyElement, ReactSurveyElementsWrapper, Scroll, Skeleton, SliderLabelItem, Survey, SurveyActionBar, SurveyElementBase, SurveyElementErrors, SurveyFileChooseButton, SurveyFileItem, SurveyFilePreview, SurveyFlowPanel, SurveyHeader, SurveyLocStringEditor, SurveyLocStringViewer, SurveyNavigationBase,
|
|
6286
|
+
export { CharacterCounterComponent, ComponentsContainer, Header, HeaderCell, HeaderMobile, List, ListItemContent, ListItemGroup, LoadingIndicatorComponent, LogoImage, MatrixRow, NotifierComponent, Popup, PopupModal, PopupSurvey, QuestionErrorComponent, RatingDropdownItem, RatingItem, RatingItemSmiley, RatingItemStar, ReactElementFactory, ReactQuestionFactory, ReactSurveyElement, ReactSurveyElementsWrapper, Scroll, Skeleton, SliderLabelItem, Survey, SurveyActionBar, SurveyElementBase, SurveyElementErrors, SurveyFileChooseButton, SurveyFileItem, SurveyFilePreview, SurveyFlowPanel, SurveyHeader, SurveyLocStringEditor, SurveyLocStringViewer, SurveyNavigationBase, SurveyPage, SurveyPanel, SurveyProgress, SurveyProgressButtons, SurveyProgressToc, SurveyQuestion, SurveyQuestionAndErrorsCell, SurveyQuestionBoolean, SurveyQuestionBooleanCheckbox, SurveyQuestionBooleanRadio, SurveyQuestionButtonGroup, SurveyQuestionButtonGroupDropdown, SurveyQuestionCheckbox, SurveyQuestionCheckboxItem, SurveyQuestionComment, SurveyQuestionCommentItem, SurveyQuestionComposite, SurveyQuestionCustom, SurveyQuestionDropdown, SurveyQuestionDropdownBase, SurveyQuestionDropdownSelect, SurveyQuestionElementBase, SurveyQuestionEmpty, SurveyQuestionExpression, SurveyQuestionFile, SurveyQuestionHtml, SurveyQuestionImage, SurveyQuestionImageMap, SurveyQuestionImagePicker, SurveyQuestionMatrix, SurveyQuestionMatrixCell, SurveyQuestionMatrixDropdown, SurveyQuestionMatrixDropdownBase, SurveyQuestionMatrixDropdownCell, SurveyQuestionMatrixDynamic, SurveyQuestionMatrixDynamicDragDropIcon, SurveyQuestionMatrixRow, SurveyQuestionMultipleText, SurveyQuestionOptionItem, SurveyQuestionPanelDynamic, SurveyQuestionPanelDynamicProgressText, SurveyQuestionRadioItem, SurveyQuestionRadiogroup, SurveyQuestionRanking, SurveyQuestionRankingItem, SurveyQuestionRankingItemContent, SurveyQuestionRating, SurveyQuestionRatingDropdown, SurveyQuestionSignaturePad, SurveyQuestionSlider, SurveyQuestionTagbox, SurveyQuestionTagboxItem, SurveyQuestionText, SurveyRow, SurveyTimerPanel, SurveyWindow, SvgBundleComponent, SvgIcon, TagboxFilterString, TitleActions, TitleElement, attachKey2click };
|
|
6429
6287
|
//# sourceMappingURL=survey-react-ui.mjs.map
|