survey-angular-ui
Version:
survey.js is a JavaScript Survey Library. It is a modern way to add a survey to your website. It uses JSON for survey metadata and results.
5,417 lines • 457 kB
JavaScript
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('survey-core'), require('survey-core/icons/iconsV1'), require('survey-core/icons/iconsV2'), require('@angular/cdk/portal'), require('@angular/common'), require('@angular/forms'), require('@angular/platform-browser')) :
typeof define === 'function' && define.amd ? define('survey-angular-ui', ['exports', '@angular/core', 'survey-core', 'survey-core/icons/iconsV1', 'survey-core/icons/iconsV2', '@angular/cdk/portal', '@angular/common', '@angular/forms', '@angular/platform-browser'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["survey-angular-ui"] = {}, global.ng.core, global.Survey, global.iconsV1, global.iconsV2, global.ng.cdk.portal, global.ng.common, global.ng.forms, global.ng.platformBrowser));
})(this, (function (exports, i0, Survey, iconsV1, iconsV2, portal, i2, i2$1, i1) { 'use strict';
function _interopNamespace(e) {
if (e && e.__esModule) return e;
var n = Object.create(null);
if (e) {
Object.keys(e).forEach(function (k) {
if (k !== 'default') {
var d = Object.getOwnPropertyDescriptor(e, k);
Object.defineProperty(n, k, d.get ? d : {
enumerable: true,
get: function () { return e[k]; }
});
}
});
}
n["default"] = e;
return Object.freeze(n);
}
var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
var Survey__namespace = /*#__PURE__*/_interopNamespace(Survey);
var i2__namespace = /*#__PURE__*/_interopNamespace(i2);
var i2__namespace$1 = /*#__PURE__*/_interopNamespace(i2$1);
var i1__namespace = /*#__PURE__*/_interopNamespace(i1);
/******************************************************************************
Copyright (c) Microsoft Corporation.
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */
/* global Reflect, Promise, SuppressedError, Symbol, Iterator */
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b)
if (Object.prototype.hasOwnProperty.call(b, p))
d[p] = b[p]; };
return extendStatics(d, b);
};
function __extends(d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
}
var __assign = function () {
__assign = Object.assign || function __assign(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s)
if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
function __rest(s, e) {
var t = {};
for (var p in s)
if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
t[p] = s[p];
if (s != null && typeof Object.getOwnPropertySymbols === "function")
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
t[p[i]] = s[p[i]];
}
return t;
}
function __decorate(decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
r = Reflect.decorate(decorators, target, key, desc);
else
for (var i = decorators.length - 1; i >= 0; i--)
if (d = decorators[i])
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
}
function __param(paramIndex, decorator) {
return function (target, key) { decorator(target, key, paramIndex); };
}
function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
function accept(f) { if (f !== void 0 && typeof f !== "function")
throw new TypeError("Function expected"); return f; }
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
var _, done = false;
for (var i = decorators.length - 1; i >= 0; i--) {
var context = {};
for (var p in contextIn)
context[p] = p === "access" ? {} : contextIn[p];
for (var p in contextIn.access)
context.access[p] = contextIn.access[p];
context.addInitializer = function (f) { if (done)
throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
if (kind === "accessor") {
if (result === void 0)
continue;
if (result === null || typeof result !== "object")
throw new TypeError("Object expected");
if (_ = accept(result.get))
descriptor.get = _;
if (_ = accept(result.set))
descriptor.set = _;
if (_ = accept(result.init))
initializers.unshift(_);
}
else if (_ = accept(result)) {
if (kind === "field")
initializers.unshift(_);
else
descriptor[key] = _;
}
}
if (target)
Object.defineProperty(target, contextIn.name, descriptor);
done = true;
}
;
function __runInitializers(thisArg, initializers, value) {
var useValue = arguments.length > 2;
for (var i = 0; i < initializers.length; i++) {
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
}
return useValue ? value : void 0;
}
;
function __propKey(x) {
return typeof x === "symbol" ? x : "".concat(x);
}
;
function __setFunctionName(f, name, prefix) {
if (typeof name === "symbol")
name = name.description ? "[".concat(name.description, "]") : "";
return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
}
;
function __metadata(metadataKey, metadataValue) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
return Reflect.metadata(metadataKey, metadataValue);
}
function __awaiter(thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try {
step(generator.next(value));
}
catch (e) {
reject(e);
} }
function rejected(value) { try {
step(generator["throw"](value));
}
catch (e) {
reject(e);
} }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
}
function __generator(thisArg, body) {
var _ = { label: 0, sent: function () { if (t[0] & 1)
throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function () { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f)
throw new TypeError("Generator is already executing.");
while (g && (g = 0, op[0] && (_ = 0)), _)
try {
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done)
return t;
if (y = 0, t)
op = [op[0] & 2, t.value];
switch (op[0]) {
case 0:
case 1:
t = op;
break;
case 4:
_.label++;
return { value: op[1], done: false };
case 5:
_.label++;
y = op[1];
op = [0];
continue;
case 7:
op = _.ops.pop();
_.trys.pop();
continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
_ = 0;
continue;
}
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) {
_.label = op[1];
break;
}
if (op[0] === 6 && _.label < t[1]) {
_.label = t[1];
t = op;
break;
}
if (t && _.label < t[2]) {
_.label = t[2];
_.ops.push(op);
break;
}
if (t[2])
_.ops.pop();
_.trys.pop();
continue;
}
op = body.call(thisArg, _);
}
catch (e) {
op = [6, e];
y = 0;
}
finally {
f = t = 0;
}
if (op[0] & 5)
throw op[1];
return { value: op[0] ? op[1] : void 0, done: true };
}
}
var __createBinding = Object.create ? (function (o, m, k, k2) {
if (k2 === undefined)
k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function () { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function (o, m, k, k2) {
if (k2 === undefined)
k2 = k;
o[k2] = m[k];
});
function __exportStar(m, o) {
for (var p in m)
if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p))
__createBinding(o, m, p);
}
function __values(o) {
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
if (m)
return m.call(o);
if (o && typeof o.length === "number")
return {
next: function () {
if (o && i >= o.length)
o = void 0;
return { value: o && o[i++], done: !o };
}
};
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
}
function __read(o, n) {
var m = typeof Symbol === "function" && o[Symbol.iterator];
if (!m)
return o;
var i = m.call(o), r, ar = [], e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done)
ar.push(r.value);
}
catch (error) {
e = { error: error };
}
finally {
try {
if (r && !r.done && (m = i["return"]))
m.call(i);
}
finally {
if (e)
throw e.error;
}
}
return ar;
}
/** @deprecated */
function __spread() {
for (var ar = [], i = 0; i < arguments.length; i++)
ar = ar.concat(__read(arguments[i]));
return ar;
}
/** @deprecated */
function __spreadArrays() {
for (var s = 0, i = 0, il = arguments.length; i < il; i++)
s += arguments[i].length;
for (var r = Array(s), k = 0, i = 0; i < il; i++)
for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
r[k] = a[j];
return r;
}
function __spreadArray(to, from, pack) {
if (pack || arguments.length === 2)
for (var i = 0, l = from.length, ar; i < l; i++) {
if (ar || !(i in from)) {
if (!ar)
ar = Array.prototype.slice.call(from, 0, i);
ar[i] = from[i];
}
}
return to.concat(ar || Array.prototype.slice.call(from));
}
function __await(v) {
return this instanceof __await ? (this.v = v, this) : new __await(v);
}
function __asyncGenerator(thisArg, _arguments, generator) {
if (!Symbol.asyncIterator)
throw new TypeError("Symbol.asyncIterator is not defined.");
var g = generator.apply(thisArg, _arguments || []), i, q = [];
return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;
function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }
function verb(n, f) { if (g[n]) {
i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); };
if (f)
i[n] = f(i[n]);
} }
function resume(n, v) { try {
step(g[n](v));
}
catch (e) {
settle(q[0][3], e);
} }
function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
function fulfill(value) { resume("next", value); }
function reject(value) { resume("throw", value); }
function settle(f, v) { if (f(v), q.shift(), q.length)
resume(q[0][0], q[0][1]); }
}
function __asyncDelegator(o) {
var i, p;
return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }
}
function __asyncValues(o) {
if (!Symbol.asyncIterator)
throw new TypeError("Symbol.asyncIterator is not defined.");
var m = o[Symbol.asyncIterator], i;
return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
function settle(resolve, reject, d, v) { Promise.resolve(v).then(function (v) { resolve({ value: v, done: d }); }, reject); }
}
function __makeTemplateObject(cooked, raw) {
if (Object.defineProperty) {
Object.defineProperty(cooked, "raw", { value: raw });
}
else {
cooked.raw = raw;
}
return cooked;
}
;
var __setModuleDefault = Object.create ? (function (o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function (o, v) {
o["default"] = v;
};
var ownKeys = function (o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o)
if (Object.prototype.hasOwnProperty.call(o, k))
ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
function __importStar(mod) {
if (mod && mod.__esModule)
return mod;
var result = {};
if (mod != null)
for (var k = ownKeys(mod), i = 0; i < k.length; i++)
if (k[i] !== "default")
__createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
}
function __importDefault(mod) {
return (mod && mod.__esModule) ? mod : { default: mod };
}
function __classPrivateFieldGet(receiver, state, kind, f) {
if (kind === "a" && !f)
throw new TypeError("Private accessor was defined without a getter");
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
throw new TypeError("Cannot read private member from an object whose class did not declare it");
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
}
function __classPrivateFieldSet(receiver, state, value, kind, f) {
if (kind === "m")
throw new TypeError("Private method is not writable");
if (kind === "a" && !f)
throw new TypeError("Private accessor was defined without a setter");
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
throw new TypeError("Cannot write private member to an object whose class did not declare it");
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
}
function __classPrivateFieldIn(state, receiver) {
if (receiver === null || (typeof receiver !== "object" && typeof receiver !== "function"))
throw new TypeError("Cannot use 'in' operator on non-object");
return typeof state === "function" ? receiver === state : state.has(receiver);
}
function __addDisposableResource(env, value, async) {
if (value !== null && value !== void 0) {
if (typeof value !== "object" && typeof value !== "function")
throw new TypeError("Object expected.");
var dispose, inner;
if (async) {
if (!Symbol.asyncDispose)
throw new TypeError("Symbol.asyncDispose is not defined.");
dispose = value[Symbol.asyncDispose];
}
if (dispose === void 0) {
if (!Symbol.dispose)
throw new TypeError("Symbol.dispose is not defined.");
dispose = value[Symbol.dispose];
if (async)
inner = dispose;
}
if (typeof dispose !== "function")
throw new TypeError("Object not disposable.");
if (inner)
dispose = function () { try {
inner.call(this);
}
catch (e) {
return Promise.reject(e);
} };
env.stack.push({ value: value, dispose: dispose, async: async });
}
else if (async) {
env.stack.push({ async: true });
}
return value;
}
var _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
var e = new Error(message);
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
};
function __disposeResources(env) {
function fail(e) {
env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
env.hasError = true;
}
var r, s = 0;
function next() {
while (r = env.stack.pop()) {
try {
if (!r.async && s === 1)
return s = 0, env.stack.push(r), Promise.resolve().then(next);
if (r.dispose) {
var result = r.dispose.call(r.value);
if (r.async)
return s |= 2, Promise.resolve(result).then(next, function (e) { fail(e); return next(); });
}
else
s |= 1;
}
catch (e) {
fail(e);
}
}
if (s === 1)
return env.hasError ? Promise.reject(env.error) : Promise.resolve();
if (env.hasError)
throw env.error;
}
return next();
}
function __rewriteRelativeImportExtension(path, preserveJsx) {
if (typeof path === "string" && /^\.\.?\//.test(path)) {
return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
});
}
return path;
}
var tslib_es6 = {
__extends: __extends,
__assign: __assign,
__rest: __rest,
__decorate: __decorate,
__param: __param,
__esDecorate: __esDecorate,
__runInitializers: __runInitializers,
__propKey: __propKey,
__setFunctionName: __setFunctionName,
__metadata: __metadata,
__awaiter: __awaiter,
__generator: __generator,
__createBinding: __createBinding,
__exportStar: __exportStar,
__values: __values,
__read: __read,
__spread: __spread,
__spreadArrays: __spreadArrays,
__spreadArray: __spreadArray,
__await: __await,
__asyncGenerator: __asyncGenerator,
__asyncDelegator: __asyncDelegator,
__asyncValues: __asyncValues,
__makeTemplateObject: __makeTemplateObject,
__importStar: __importStar,
__importDefault: __importDefault,
__classPrivateFieldGet: __classPrivateFieldGet,
__classPrivateFieldSet: __classPrivateFieldSet,
__classPrivateFieldIn: __classPrivateFieldIn,
__addDisposableResource: __addDisposableResource,
__disposeResources: __disposeResources,
__rewriteRelativeImportExtension: __rewriteRelativeImportExtension,
};
var EmbeddedViewContentComponent = /** @class */ (function () {
function EmbeddedViewContentComponent(viewContainerRef) {
this.viewContainerRef = viewContainerRef;
}
EmbeddedViewContentComponent.prototype.ngOnInit = function () {
var _a;
if (!!this.templateRef) {
this.embeddedView = (_a = this.viewContainerRef) === null || _a === void 0 ? void 0 : _a.createEmbeddedView(this.templateRef);
}
};
return EmbeddedViewContentComponent;
}());
EmbeddedViewContentComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: EmbeddedViewContentComponent, deps: [{ token: i0__namespace.ViewContainerRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
EmbeddedViewContentComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: EmbeddedViewContentComponent, selector: "ng-component", viewQueries: [{ propertyName: "templateRef", first: true, predicate: ["template"], descendants: true, read: i0.TemplateRef, static: true }], ngImport: i0__namespace, template: "", isInline: true });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: EmbeddedViewContentComponent, decorators: [{
type: i0.Component,
args: [{
template: "",
}]
}], ctorParameters: function () { return [{ type: i0__namespace.ViewContainerRef }]; }, propDecorators: { templateRef: [{
type: i0.ViewChild,
args: ["template", { read: i0.TemplateRef, static: true }]
}] } });
var BaseAngular = /** @class */ (function (_super) {
__extends(BaseAngular, _super);
function BaseAngular(changeDetectorRef, viewContainerRef) {
var _this = _super.call(this, viewContainerRef) || this;
_this.changeDetectorRef = changeDetectorRef;
_this.isModelSubsribed = false;
_this.isDestroyed = false;
return _this;
}
Object.defineProperty(BaseAngular.prototype, "surveyModel", {
get: function () {
return this.getModel().getSurvey();
},
enumerable: false,
configurable: true
});
BaseAngular.prototype.ngDoCheck = function () {
if (this.previousModel !== this.getModel()) {
this.unMakeBaseElementAngular(this.previousModel);
this.makeBaseElementAngular(this.getModel());
this.onModelChanged();
this.previousModel = this.getModel();
}
this.setIsRendering(true);
};
BaseAngular.prototype.onModelChanged = function () { };
BaseAngular.prototype.setIsRendering = function (val) {
var model = this.getModel();
if (!!model) {
model.isRendering = val;
}
};
BaseAngular.prototype.getIsRendering = function () {
var model = this.getModel();
return !!model && !!model.isRendering;
};
BaseAngular.prototype.ngOnDestroy = function () {
this.isDestroyed = true;
this.unMakeBaseElementAngular(this.getModel());
this.previousModel = undefined;
};
BaseAngular.prototype.isBaseElementSubsribed = function (stateElement) {
return !!stateElement.__ngImplemented;
};
BaseAngular.prototype.getBaseElementCallbacks = function (stateElement) {
var _a;
stateElement.__ngSubscribers = (_a = stateElement.__ngSubscribers) !== null && _a !== void 0 ? _a : [];
return (stateElement.__ngSubscribers);
};
BaseAngular.prototype.makeBaseElementAngular = function (stateElement) {
var _this = this;
this.makeBaseElementAngularCallback = function () {
_this.isModelSubsribed = true;
stateElement.__ngImplemented = true;
stateElement.iteratePropertiesHash(function (hash, key) {
var val = hash[key];
if (Array.isArray(val)) {
var val = val;
val["onArrayChanged"] = function (arrayChanges) {
_this.update(key);
};
}
});
stateElement.setPropertyValueCoreHandler = function (hash, key, val) {
if (hash[key] !== val) {
hash[key] = val;
_this.update(key);
}
};
stateElement.enableOnElementRerenderedEvent();
};
if (!!stateElement) {
if (!stateElement.__ngImplemented) {
this.makeBaseElementAngularCallback();
}
else {
this.getBaseElementCallbacks(stateElement).push(this.makeBaseElementAngularCallback);
}
}
};
BaseAngular.prototype.unMakeBaseElementAngular = function (stateElement) {
if (!!stateElement) {
if (this.isModelSubsribed) {
this.isModelSubsribed = false;
stateElement.__ngImplemented = false;
stateElement.setPropertyValueCoreHandler = undefined;
stateElement.iteratePropertiesHash(function (hash, key) {
var val = hash[key];
if (Array.isArray(val)) {
var val = val;
val["onArrayChanged"] = function () { };
}
});
stateElement.disableOnElementRerenderedEvent();
var callbacks = this.getBaseElementCallbacks(stateElement);
var callback = callbacks.shift();
callback && callback();
}
else if (this.makeBaseElementAngularCallback) {
var callbacks = this.getBaseElementCallbacks(stateElement);
var index = callbacks.indexOf(this.makeBaseElementAngularCallback);
if (index > -1) {
callbacks.splice(index, 1);
}
}
}
};
BaseAngular.prototype.update = function (key) {
var _this = this;
if (this.getIsRendering())
return;
this.beforeUpdate();
if (key && this.getPropertiesToUpdateSync().indexOf(key) > -1) {
this.detectChanges();
this.afterUpdate(true);
}
else {
queueMicrotask(function () {
if (!_this.isDestroyed) {
_this.setIsRendering(true);
_this.detectChanges();
}
_this.afterUpdate();
});
}
};
BaseAngular.prototype.getChangeDetectorRef = function () {
return this.embeddedView ? this.embeddedView : this.changeDetectorRef;
};
BaseAngular.prototype.getPropertiesToUpdateSync = function () {
return [];
};
BaseAngular.prototype.detectChanges = function () {
this.getChangeDetectorRef().detectChanges();
};
BaseAngular.prototype.getShouldReattachChangeDetector = function () {
return true;
};
BaseAngular.prototype.beforeUpdate = function () {
this.setIsRendering(true);
};
BaseAngular.prototype.afterUpdate = function (isSync) {
if (isSync === void 0) { isSync = false; }
this.setIsRendering(false);
var model = this.getModel();
if (model && !this.isDestroyed) {
model.afterRerender();
}
};
BaseAngular.prototype.ngAfterViewChecked = function () {
this.setIsRendering(false);
};
return BaseAngular;
}(EmbeddedViewContentComponent));
BaseAngular.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: BaseAngular, deps: [{ token: i0__namespace.ChangeDetectorRef }, { token: i0__namespace.ViewContainerRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
BaseAngular.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: BaseAngular, selector: "ng-component", usesInheritance: true, ngImport: i0__namespace, template: "", isInline: true });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: BaseAngular, decorators: [{
type: i0.Component,
args: [{
template: ""
}]
}], ctorParameters: function () { return [{ type: i0__namespace.ChangeDetectorRef }, { type: i0__namespace.ViewContainerRef }]; } });
var AngularComponentFactory = /** @class */ (function () {
function AngularComponentFactory() {
this.creatorHash = {};
}
AngularComponentFactory.prototype.registerComponent = function (typeName, componentType) {
this.creatorHash[typeName] = componentType;
};
AngularComponentFactory.prototype.getAllTypes = function () {
var result = new Array();
for (var key in this.creatorHash) {
result.push(key);
}
return result.sort();
};
AngularComponentFactory.prototype.isComponentRegistered = function (elementType) {
return !!this.creatorHash[elementType];
};
AngularComponentFactory.prototype.create = function (containerRef, elementType, resolver) {
var componentType = this.creatorHash[elementType];
if (!componentType)
return null;
return containerRef.createComponent(resolver.resolveComponentFactory(componentType));
};
return AngularComponentFactory;
}());
AngularComponentFactory.Instance = new AngularComponentFactory();
var DynamicComponentDirective = /** @class */ (function () {
function DynamicComponentDirective(containerRef, templateRef, resolver) {
this.containerRef = containerRef;
this.templateRef = templateRef;
this.resolver = resolver;
}
DynamicComponentDirective.prototype.ngOnChanges = function (changes) {
var _a;
var componentChanges = changes["component"];
if (componentChanges.currentValue.name !== ((_a = componentChanges.previousValue) === null || _a === void 0 ? void 0 : _a.name) ||
(componentChanges.currentValue.name === undefined && componentChanges.previousValue === undefined && !this.componentInstance)) {
this.createComponent();
}
else {
this.updateComponentData();
}
};
DynamicComponentDirective.prototype.createComponent = function () {
this.containerRef.clear();
if (AngularComponentFactory.Instance.isComponentRegistered(this.component.name)) {
this.componentInstance = AngularComponentFactory.Instance.create(this.containerRef, this.component.name, this.resolver).instance;
}
else if (this.component.default) {
this.componentInstance = AngularComponentFactory.Instance.create(this.containerRef, this.component.default, this.resolver).instance;
}
if (!this.componentInstance) {
throw new Error("Can't create component with name: " + this.component.name + " and default: " + this.component.default);
}
else {
this.componentInstance.contentTempl = this.templateRef;
}
this.updateComponentData();
};
DynamicComponentDirective.prototype.updateComponentData = function () {
var _this = this;
var data = this.component.data;
Object.keys(data).forEach(function (key) {
_this.componentInstance[key] = data[key];
});
};
return DynamicComponentDirective;
}());
DynamicComponentDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DynamicComponentDirective, deps: [{ token: i0__namespace.ViewContainerRef }, { token: i0__namespace.TemplateRef }, { token: i0__namespace.ComponentFactoryResolver }], target: i0__namespace.ɵɵFactoryTarget.Directive });
DynamicComponentDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: DynamicComponentDirective, selector: "[component]", inputs: { component: "component" }, usesOnChanges: true, ngImport: i0__namespace });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DynamicComponentDirective, decorators: [{
type: i0.Directive,
args: [{
selector: "[component]"
}]
}], ctorParameters: function () { return [{ type: i0__namespace.ViewContainerRef }, { type: i0__namespace.TemplateRef }, { type: i0__namespace.ComponentFactoryResolver }]; }, propDecorators: { component: [{
type: i0.Input
}] } });
var ActionComponent = /** @class */ (function (_super) {
__extends(ActionComponent, _super);
function ActionComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
ActionComponent.prototype.getModel = function () {
return this.model;
};
Object.defineProperty(ActionComponent.prototype, "id", {
get: function () {
return this.model.id || '';
},
enumerable: false,
configurable: true
});
ActionComponent.prototype.ngOnDestroy = function () {
_super.prototype.ngOnDestroy.call(this);
this.model.updateModeCallback = undefined;
};
ActionComponent.prototype.ngAfterViewInit = function () {
var _this = this;
this.model.updateModeCallback = function (mode, callback) {
_this.model.mode = mode;
queueMicrotask(function () {
var _a;
callback(mode, (_a = _this.containerRef) === null || _a === void 0 ? void 0 : _a.nativeElement);
});
};
this.model.afterRender();
};
return ActionComponent;
}(BaseAngular));
ActionComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ActionComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
ActionComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ActionComponent, selector: "sv-ng-action", inputs: { model: "model" }, viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div [class]=\"model.getActionRootCss()\" [id]=\"id\" #container>\n <div class=\"sv-action__content\">\n <ng-container *ngIf=\"model.needSeparator\">\n <div class=\"sv-action-bar-separator\"></div>\n </ng-container>\n <ng-template [component]=\"{ name: model.component, data: { model }, default: 'sv-action-bar-item'}\"></ng-template>\n </div>\n </div>\n</ng-template>", styles: [":host { display: none; }"], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ActionComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-action",
templateUrl: "./action.component.html",
styles: [":host { display: none; }"],
}]
}], propDecorators: { model: [{
type: i0.Input
}], containerRef: [{
type: i0.ViewChild,
args: ["container"]
}] } });
AngularComponentFactory.Instance.registerComponent("sv-action", ActionComponent);
var ActionBarComponent = /** @class */ (function (_super) {
__extends(ActionBarComponent, _super);
function ActionBarComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
ActionBarComponent.prototype.getModel = function () {
return this.model;
};
ActionBarComponent.prototype.trackActionBy = function (_, action) {
return action.renderedId;
};
Object.defineProperty(ActionBarComponent.prototype, "allowOnClick", {
get: function () {
return this.handleClick !== undefined ? this.handleClick : true;
},
enumerable: false,
configurable: true
});
ActionBarComponent.prototype.onModelChanged = function () {
var _a;
_super.prototype.onModelChanged.call(this);
(_a = this.previousModel) === null || _a === void 0 ? void 0 : _a.resetResponsivityManager();
if (!!this.model.hasActions && !!this.container && !!this.container.nativeElement) {
this.model.initResponsivityManager(this.container.nativeElement);
}
};
ActionBarComponent.prototype.onClick = function (event) {
if (this.allowOnClick) {
event.stopPropagation();
}
};
ActionBarComponent.prototype.ngAfterViewInit = function () {
if (!!this.model.hasActions) {
this.model.initResponsivityManager(this.container.nativeElement);
}
};
ActionBarComponent.prototype.ngOnDestroy = function () {
_super.prototype.ngOnDestroy.call(this);
this.model.resetResponsivityManager();
};
return ActionBarComponent;
}(BaseAngular));
ActionBarComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ActionBarComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
ActionBarComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: { model: "model", handleClick: "handleClick" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div *ngIf=\"model.hasActions\" [class]=\"model.getRootCss()\" (click)=\"onClick($event)\" #container>\n <ng-container *ngFor=\"let action of model.renderedActions; trackBy: trackActionBy\">\n <sv-ng-action [model]=\"action\"></sv-ng-action>\n </ng-container>\n </div>\n</ng-template>", styles: [":host { display: none }"], components: [{ type: ActionComponent, selector: "sv-ng-action", inputs: ["model"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ActionBarComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-action-bar, sv-ng-action-bar",
templateUrl: "./action-bar.component.html",
styles: [":host { display: none }"]
}]
}], propDecorators: { model: [{
type: i0.Input
}], handleClick: [{
type: i0.Input
}], container: [{
type: i0.ViewChild,
args: ["container"]
}] } });
AngularComponentFactory.Instance.registerComponent("sv-action-bar", ActionBarComponent);
var VisibleDirective = /** @class */ (function () {
function VisibleDirective(el) {
this.el = el;
}
VisibleDirective.prototype.ngOnChanges = function (changes) {
changes["visible"].currentValue ? this.show() : this.hide();
};
VisibleDirective.prototype.hide = function () {
this.el.nativeElement.style.display = "none";
};
VisibleDirective.prototype.show = function () {
this.el.nativeElement.style.display = "";
};
return VisibleDirective;
}());
VisibleDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: VisibleDirective, deps: [{ token: i0__namespace.ElementRef }], target: i0__namespace.ɵɵFactoryTarget.Directive });
VisibleDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: VisibleDirective, selector: "[visible]", inputs: { visible: "visible" }, usesOnChanges: true, ngImport: i0__namespace });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: VisibleDirective, decorators: [{
type: i0.Directive,
args: [{
selector: "[visible]"
}]
}], ctorParameters: function () { return [{ type: i0__namespace.ElementRef }]; }, propDecorators: { visible: [{
type: i0.Input
}] } });
var PopupBaseContainerComponent = /** @class */ (function (_super) {
__extends(PopupBaseContainerComponent, _super);
function PopupBaseContainerComponent(changeDetectorRef) {
var _this = _super.call(this, changeDetectorRef) || this;
_this.changeDetectorRef.detach();
return _this;
}
PopupBaseContainerComponent.prototype.getModel = function () {
return this.model;
};
Object.defineProperty(PopupBaseContainerComponent.prototype, "applyButtonText", {
get: function () {
var popupModalModel = this.model;
if (!popupModalModel)
return null;
return popupModalModel.applyButtonText;
},
enumerable: false,
configurable: true
});
PopupBaseContainerComponent.prototype.apply = function () {
var popupModalModel = this.model;
if (!popupModalModel)
return;
popupModalModel.apply();
};
PopupBaseContainerComponent.prototype.getPropertiesToUpdateSync = function () {
return ["height"];
};
PopupBaseContainerComponent.prototype.getShouldReattachChangeDetector = function () {
return false;
};
PopupBaseContainerComponent.prototype.onModelChanged = function () {
this.changeDetectorRef.detectChanges();
};
PopupBaseContainerComponent.prototype.afterUpdate = function (isSync) {
if (isSync === void 0) { isSync = false; }
_super.prototype.afterUpdate.call(this, isSync);
if (!isSync) {
if (!this.model.isPositionSet && this.model.isVisible) {
this.model.updateOnShowing();
}
}
};
PopupBaseContainerComponent.prototype.clickInside = function (event) {
event.stopPropagation();
};
return PopupBaseContainerComponent;
}(BaseAngular));
PopupBaseContainerComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PopupBaseContainerComponent, deps: [{ token: i0__namespace.ChangeDetectorRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
PopupBaseContainerComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PopupBaseContainerComponent, selector: "sv-ng-popup-container, '[sv-ng-popup-container]'", inputs: { model: "model" }, usesInheritance: true, ngImport: i0__namespace, template: "<div class=\"sv-popup\" tabindex=\"-1\" [class]=\"model.styleClass\" [visible]=\"model.isVisible\" (click)=\"model.clickOutside($event)\" (keydown)=\"model.onKeyDown($event)\">\n <div class=\"sv-popup__container\" [style]=\"{ left: model.left, top: model.top, height: model.height, minWidth: model.minWidth, width: model.width }\" (click)=\"clickInside($event)\">\n <ng-container *ngIf=\"model.showHeader\">\n <ng-template [component]=\"{ name: model.popupHeaderTemplate, data: { model: model } }\"></ng-template>\n </ng-container>\n <div class=\"sv-popup__body-content\">\n <div *ngIf=\"model.title\" class=\"sv-popup__body-header\">{{ model.title }}</div>\n <div class=\"sv-popup__scrolling-content\">\n <div class=\"sv-popup__content\">\n <ng-template [component]=\"{ name: model.contentComponentName, data: model.contentComponentData }\"></ng-template>\n </div>\n </div>\n <div *ngIf=\"model.showFooter\" class=\"sv-popup__body-footer\">\n <sv-ng-action-bar [model]=\"model.footerToolbar\"></sv-ng-action-bar>\n </div>\n </div>\n </div>\n</div>", components: [{ type: ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }], directives: [{ type: VisibleDirective, selector: "[visible]", inputs: ["visible"] }, { type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PopupBaseContainerComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-popup-container, '[sv-ng-popup-container]'",
templateUrl: "./popup-container.component.html"
}]
}], ctorParameters: function () { return [{ type: i0__namespace.ChangeDetectorRef }]; }, propDecorators: { model: [{
type: i0.Input
}] } });
var PopupService = /** @class */ (function () {
function PopupService(injector, applicationRef, componentFactoryResolver) {
this.injector = injector;
this.applicationRef = applicationRef;
this.componentFactoryResolver = componentFactoryResolver;
}
PopupService.prototype.createComponent = function (popupViewModel) {
var portalHost = new portal.DomPortalOutlet(popupViewModel.container, this.componentFactoryResolver, this.applicationRef, this.injector);
var portal$1 = new portal.ComponentPortal(PopupBaseContainerComponent);
var componentRef = portalHost.attach(portal$1);
popupViewModel.setComponentElement(popupViewModel.container.children[0]);
componentRef.instance.model = popupViewModel;
componentRef.changeDetectorRef.detectChanges();
return portalHost;
};
return PopupService;
}());
PopupService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PopupService, deps: [{ token: i0__namespace.Injector }, { token: i0__namespace.ApplicationRef }, { token: i0__namespace.ComponentFactoryResolver }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
PopupService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PopupService });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PopupService, decorators: [{
type: i0.Injectable
}], ctorParameters: function () { return [{ type: i0__namespace.Injector }, { type: i0__namespace.ApplicationRef }, { type: i0__namespace.ComponentFactoryResolver }]; } });
var ModalComponent = /** @class */ (function () {
function ModalComponent(popupService) {
this.popupService = popupService;
this.functionDefined = false;
}
ModalComponent.prototype.showDialog = function (dialogOptions, rootElement) {
var _this = this;
var popupViewModel = this.model = Survey.createPopupModalViewModel(dialogOptions, rootElement);
var onVisibilityChangedCallback = function (_, options) {
if (!options.isVisible) {
_this.portalHost.detach();
_this.model.dispose();
}
};
popupViewModel.onVisibilityChanged.add(onVisibilityChangedCallback);
this.portalHost = this.popupService.createComponent(this.model);
this.model.model.isVisible = true;
return this.model;
};
ModalComponent.prototype.ngOnInit = function () {
var _this = this;
this.functionDefined = true;
Survey.settings.showDialog = function (dialogOptions, rootElement) {
return _this.showDialog(dialogOptions, rootElement);
};
};
ModalComponent.prototype.ngOnDestroy = function () {
var _a, _b;
(_a = this.portalHost) === null || _a === void 0 ? void 0 : _a.detach();
(_b = this.model) === null || _b === void 0 ? void 0 : _b.dispose();
if (this.functionDefined) {
Survey.settings.showDialog = undefined;
}
};
return ModalComponent;
}());
ModalComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ModalComponent, deps: [{ token: PopupService }], target: i0__namespace.ɵɵFactoryTarget.Component });
ModalComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ModalComponent, selector: "sv-ng-modal-container", ngImport: i0__namespace, template: "", isInline: true, styles: [":host{display:none}\n"] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ModalComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-modal-container",
template: "",
styleUrls: ["../../hide-host.scss"]
}]
}], ctorParameters: function () { return [{ type: PopupService }]; } });
var ScrollComponent = /** @class */ (function (_super) {
__extends(ScrollComponent, _super);
function ScrollComponent(viewContainerRef) {
var _this = _super.call(this, viewContainerRef) || this;
_this.model = new Survey.ScrollViewModel();
return _this;
}
ScrollComponent.prototype.ngAfterViewInit = function () {
var _a;
this.model.setRootElement((_a = this.container) === null || _a === void 0 ? void 0 : _a.nativeElement);
};
ScrollComponent.prototype.ngOnDestroy = function () {
this.model.setRootElement(undefined);
this.model.unsubscribeRootElement();
};
return ScrollComponent;
}(EmbeddedViewContentComponent));
ScrollComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ScrollComponent, deps: [{ token: i0__namespace.ViewContainerRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
ScrollComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ScrollComponent, selector: "sv-scroll", inputs: { disabled: "disabled" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <ng-container *ngIf=\"!disabled\">\n <div class=\"sv-scroll__wrapper\" #container>\n <div class=\"sv-scroll__scroller sv-drag-target-skipped\" (scroll)=\"model.onScrollContainer()\">\n <div class=\"sv-scroll__container\">\n <ng-container *ngTemplateOutlet=\"transparentTemplate\"></ng-container>\n </div>\n </div>\n <div class=\"sv-scroll__scrollbar\" (scroll)=\"model.onScrollScrollbar()\">\n <div class=\"sv-scroll__scrollbar-sizer\">\n </div>\n </div>\n </div>\n </ng-container>\n <ng-container *ngIf=\"disabled\"><ng-container *ngTemplateOutlet=\"transparentTemplate\"></ng-container></ng-container>\n</ng-template>\n<ng-template #transparentTemplate>\n <ng-content></ng-content>\n</ng-template>", styles: [":host { display: none; }"], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ScrollComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-scroll",
templateUrl: "./scroll.component.html",
styles: [":host { display: none; }"]
}]
}], ctorParameters: function () { return [{ type: i0__namespace.ViewContainerRef }]; }, propDecorators: { disabled: [{
type: i0.Input
}], container: [{
type: i0.ViewChild,
args: ["container"]
}] } });
AngularComponentFactory.Instance.registerComponent("sv-scroll", ScrollComponent);
var SvgBundleComponent = /** @class */ (function () {
function SvgBundleComponent() {
var _this = this;
this.onIconsChanged = function () {
var _a;
if (!!((_a = _this.svgContainer) === null || _a === void 0 ? void 0 : _a.nativeElement)) {
_this.svgContainer.nativeElement.innerHTML = Survey.SvgRegistry.iconsRenderedHtml();
}
};
}
SvgBundleComponent.prototype.ngOnInit = function () {
this.onIconsChanged();
Survey.SvgRegistry.onIconsChanged.add(this.onIconsChanged);
};
SvgBundleComponent.prototype.ngOnDestroy = function () {
Survey.SvgRegistry.onIconsChanged.remove(this.onIconsChanged);
};
return SvgBundleComponent;
}());
SvgBundleComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SvgBundleComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
SvgBundleComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SvgBundleComponent, selector: "sv-svg-bundle", viewQueries: [{ propertyName: "svgContainer", first: true, predicate: ["svgContainer"], descendants: true, static: true }], ngImport: i0__namespace, template: "<svg id='sv-icon-holder-global-container' #svgContainer></svg>", isInline: true, styles: [":host { display: none; }"] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SvgBundleComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-svg-bundle",
template: "<svg id='sv-icon-holder-global-container' #svgContainer></svg>",
styles: [":host { display: none; }"]
}]
}], propDecorators: { svgContainer: [{
type: i0.ViewChild,
args: ["svgContainer", { static: true }]
}] } });
var DynamicHeadComponent = /** @class */ (function (_super) {
__extends(DynamicHeadComponent, _super);
function DynamicHeadComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
Object.defineProperty(DynamicHeadComponent.prototype, "ariaLabel", {
get: function () {
return this.element.titleAriaLabel;
},
enumerable: false,
configurable: true
});
return DynamicHeadComponent;
}(EmbeddedViewContentComponent));
DynamicHeadComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DynamicHeadComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
DynamicHeadComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicHeadComponent, selector: "sv-ng-dynamic-head", inputs: { tagName: "tagName", element: "element" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <ng-container [ngSwitch]=\"tagName\">\n <h1 *ngSwitchCase=\"'h1'\" [class]=\"element.cssTitle\" [attr.id]=\"element.ariaTitleId\" [attr.tabindex]=\"element.titleTabIndex\" [attr.aria-expanded]=\"element.titleAriaExpanded\" [attr.role]=\"element.titleAriaRole\" [attr.aria-label]=\"ariaLabel\"><ng-container *ngTemplateOutlet=\"titleContent\"></ng-container></h1>\n <h2 *ngSwitchCase=\"'h2'\"[class]=\"element.cssTitle\" [attr.id]=\"element.ariaTitleId\" [attr.tabindex]=\"element.titleTabIndex\" [attr.aria-expanded]=\"element.titleAriaExpanded\" [attr.role]=\"element.titleAriaRole\" [attr.aria-label]=\"ariaLabel\"><ng-container *ngTemplateOutlet=\"titleContent\"></ng-container></h2>\n <h3 *ngSwitchCase=\"'h3'\"[class]=\"element.cssTitle\" [attr.id]=\"element.ariaTitleId\" [attr.tabindex]=\"element.titleTabIndex\" [attr.aria-expanded]=\"element.titleAriaExpanded\" [attr.role]=\"element.titleAriaRole\" [attr.aria-label]=\"ariaLabel\"><ng-container *ngTemplateOutlet=\"titleContent\"></ng-container></h3>\n <h4 *ngSwitchCase=\"'h4'\"[class]=\"element.cssTitle\" [attr.id]=\"element.ariaTitleId\" [attr.tabindex]=\"element.titleTabIndex\" [attr.aria-expanded]=\"element.titleAriaExpanded\" [attr.role]=\"element.titleAriaRole\" [attr.aria-label]=\"ariaLabel\"><ng-container *ngTemplateOutlet=\"titleContent\"></ng-container></h4>\n <h5 *ngSwitchCase=\"'h5'\"[class]=\"element.cssTitle\" [attr.id]=\"element.ariaTitleId\" [attr.tabindex]=\"element.titleTabIndex\" [attr.aria-expanded]=\"element.titleAriaExpanded\" [attr.role]=\"element.titleAriaRole\" [attr.aria-label]=\"ariaLabel\"><ng-container *ngTemplateOutlet=\"titleContent\"></ng-container></h5>\n <h6 *ngSwitchCase=\"'h6'\"[class]=\"element.cssTitle\" [attr.id]=\"element.ariaTitleId\" [attr.tabindex]=\"element.titleTabIndex\" [attr.aria-expanded]=\"element.titleAriaExpanded\" [attr.role]=\"element.titleAriaRole\" [attr.aria-label]=\"ariaLabel\"><ng-container *ngTemplateOutlet=\"titleContent\"></ng-container></h6>\n <label *ngSwitchCase=\"'label'\"[class]=\"element.cssTitle\" [attr.id]=\"element.ariaTitleId\" [attr.tabindex]=\"element.titleTabIndex\" [attr.aria-expanded]=\"element.titleAriaExpanded\" [attr.role]=\"element.titleAriaRole\" [attr.aria-label]=\"ariaLabel\"><ng-container *ngTemplateOutlet=\"titleContent\"></ng-container></label>\n </ng-container>\n <ng-template #titleContent>\n <ng-content></ng-content>\n </ng-template>\n</ng-template>", styles: [":host{display:none}\n"], directives: [{ type: i2__namespace.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i2__namespace.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i2__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DynamicHeadComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-dynamic-head",
templateUrl: "./dynamic-head.component.html",
styleUrls: ["../../hide-host.scss"]
}]
}], propDecorators: { tagName: [{
type: i0.Input
}], element: [{
type: i0.Input
}] } });
var SvgIconComponent = /** @class */ (function () {
function SvgIconComponent(viewContaierRef) {
this.viewContaierRef = viewContaierRef;
}
SvgIconComponent.prototype.createSvg = function () {
if (!!this.iconName) {
Survey__namespace.createSvg(this.size, this.width, this.height, this.iconName, this.viewContaierRef.element.nativeElement, this.title);
}
};
Object.defineProperty(SvgIconComponent.prototype, "rootClass", {
get: function () {
var className = "sv-svg-icon";
if (!this.css && !!this.partCss) {
className += " " + this.partCss;
}
else if (!!this.css) {
className = this.css;
}
return className;
},
enumerable: false,
configurable: true
});
Object.defineProperty(SvgIconComponent.prototype, "rootRole", {
get: function () {
return "presentation";
},
enumerable: false,
configurable: true
});
SvgIconComponent.prototype.ngOnChanges = function () {
var el = this.viewContaierRef.element.nativeElement;
el.innerHTML = "";
el.appendChild(document.createElementNS("http://www.w3.org/2000/svg", "use"));
this.createSvg();
};
return SvgIconComponent;
}());
SvgIconComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SvgIconComponent, deps: [{ token: i0__namespace.ViewContainerRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
SvgIconComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: { size: "size", width: "width", height: "height", iconName: "iconName", partCss: "partCss", css: "css", title: "title" }, host: { properties: { "class": "this.rootClass", "[attr.role]": "this.rootRole" } }, usesOnChanges: true, ngImport: i0__namespace, template: "", isInline: true });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SvgIconComponent, decorators: [{
type: i0.Component,
args: [{
selector: "'[sv-ng-svg-icon]'",
template: ""
}]
}], ctorParameters: function () { return [{ type: i0__namespace.ViewContainerRef }]; }, propDecorators: { size: [{
type: i0.Input
}], width: [{
type: i0.Input
}], height: [{
type: i0.Input
}], iconName: [{
type: i0.Input
}], partCss: [{
type: i0.Input
}], css: [{
type: i0.Input
}], title: [{
type: i0.Input
}], rootClass: [{
type: i0.HostBinding,
args: ["class"]
}], rootRole: [{
type: i0.HostBinding,
args: ["[attr.role]"]
}] } });
var SurveyStringComponent = /** @class */ (function () {
function SurveyStringComponent() {
}
return SurveyStringComponent;
}());
SurveyStringComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SurveyStringComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
SurveyStringComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: { model: "model" }, ngImport: i0__namespace, template: "<ng-template [component]='{ name: model.renderAs, data: { model: model.renderAsData } }'></ng-template>", isInline: true, directives: [{ type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SurveyStringComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-string, '[sv-ng-string]'",
template: "<ng-template [component]='{ name: model.renderAs, data: { model: model.renderAsData } }'></ng-template>"
}]
}], propDecorators: { model: [{
type: i0.Input
}] } });
var ElementTitleActionsComponent = /** @class */ (function (_super) {
__extends(ElementTitleActionsComponent, _super);
function ElementTitleActionsComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
Object.defineProperty(ElementTitleActionsComponent.prototype, "cssClasses", {
get: function () {
return (this.element.isPanel ? this.element.cssClasses.panel : this.element.cssClasses) || {};
},
enumerable: false,
configurable: true
});
return ElementTitleActionsComponent;
}(EmbeddedViewContentComponent));
ElementTitleActionsComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ElementTitleActionsComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
ElementTitleActionsComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ElementTitleActionsComponent, selector: "sv-ng-element-title-actions", inputs: { element: "element" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <ng-container *ngIf=\"!element.hasTitleActions\">\n <ng-container *ngTemplateOutlet=\"elementTitleContent\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"element.hasTitleActions\">\n <div class=\"sv-title-actions\">\n <span class=\"sv-title-actions__title\">\n <ng-container *ngTemplateOutlet=\"elementTitleContent\"></ng-container>\n </span>\n <sv-ng-action-bar [model]=\"element.getTitleToolbar()\"></sv-ng-action-bar>\n </div>\n </ng-container>\n <ng-template #elementTitleContent>\n <sv-ng-string *ngIf=\"element.isTitleRenderedAsString\" [model]=\"element.locTitle\"></sv-ng-string>\n <ng-container *ngIf=\"!element.isTitleRenderedAsString\">\n <span\n *ngIf=\"element.isRequireTextOnStart\"\n [class]=\"element.cssRequiredMark\"\n [attr.aria-hidden]=\"true\"\n >{{ element.requiredMark }}</span>\n <span\n *ngIf=\"element.no\"\n style=\"position: static\"\n [class]=\"element.cssTitleNumber\"\n [attr.aria-hidden]=\"true\"\n >{{ element.no }}</span>\n <span *ngIf=\"element.no\"> </span>\n <span\n *ngIf=\"element.isRequireTextBeforeTitle\"\n [class]=\"element.cssRequiredMark\"\n [attr.aria-hidden]=\"true\"\n >{{ element.requiredMark }}</span>\n <span *ngIf=\"element.isRequireTextBeforeTitle\"> </span>\n <sv-ng-string [model]=\"element.locTitle\"></sv-ng-string>\n <span *ngIf=\"element.isRequireTextAfterTitle\"> </span>\n <span\n *ngIf=\" element.isRequireTextAfterTitle\"\n [class]=\"element.cssRequiredMark\"\n [attr.aria-hidden]=\"true\"\n >{{ element.requiredMark }}</span> \n </ng-container>\n </ng-template>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }, { type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ElementTitleActionsComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-element-title-actions",
templateUrl: "./title-actions.component.html",
styleUrls: ["../../hide-host.scss"]
}]
}], propDecorators: { element: [{
type: i0.Input
}] } });
var ElementTitleComponent = /** @class */ (function (_super) {
__extends(ElementTitleComponent, _super);
function ElementTitleComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
return ElementTitleComponent;
}(EmbeddedViewContentComponent));
ElementTitleComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ElementTitleComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
ElementTitleComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ElementTitleComponent, selector: "sv-ng-element-title", inputs: { element: "element" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <sv-ng-dynamic-head [tagName]=\"element.titleTagName\" [element]=\"element\" *ngIf=\"element.hasTitle\">\n <svg *ngIf=\"!element.isExpanded && element.getCssTitleExpandableSvg()\" [iconName]=\"'icon-expand-16x16'\" [partCss]=\"element.getCssTitleExpandableSvg()\" [size]=\"'auto'\" sv-ng-svg-icon></svg>\n <svg *ngIf=\"element.isExpanded && element.getCssTitleExpandableSvg()\" [iconName]=\"'icon-collapse-16x16'\" [partCss]=\"element.getCssTitleExpandableSvg()\" [size]=\"'auto'\" sv-ng-svg-icon></svg>\n <sv-ng-element-title-actions [element]=\"element\"></sv-ng-element-title-actions>\n </sv-ng-dynamic-head>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: DynamicHeadComponent, selector: "sv-ng-dynamic-head", inputs: ["tagName", "element"] }, { type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: ElementTitleActionsComponent, selector: "sv-ng-element-title-actions", inputs: ["element"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ElementTitleComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-element-title",
templateUrl: "./element-title.component.html",
styleUrls: ["../../hide-host.scss"]
}]
}], propDecorators: { element: [{
type: i0.Input
}] } });
var SurveyHeaderComponent = /** @class */ (function () {
function SurveyHeaderComponent(viewContainerRef, changeDetectorRef) {
this.viewContainerRef = viewContainerRef;
this.changeDetectorRef = changeDetectorRef;
}
SurveyHeaderComponent.prototype.ngAfterViewInit = function () {
var _this = this;
this.survey.afterRenderHeader(this.viewContainerRef.element.nativeElement);
this.survey.locLogo.onChanged = function () {
_this.changeDetectorRef.detectChanges();
};
};
SurveyHeaderComponent.prototype.ngOnDestroy = function () {
this.survey.locLogo.onChanged = function () { };
};
return SurveyHeaderComponent;
}());
SurveyHeaderComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SurveyHeaderComponent, deps: [{ token: i0__namespace.ViewContainerRef }, { token: i0__namespace.ChangeDetectorRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
SurveyHeaderComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SurveyHeaderComponent, selector: "'[sv-ng-survey-header]'", inputs: { survey: "survey" }, ngImport: i0__namespace, template: "<ng-template *ngIf=\"survey.isLogoBefore\" [component]=\"{ name: survey.getElementWrapperComponentName(survey, 'logo-image'), data: { data: survey.getElementWrapperComponentData(survey, 'logo-image') } }\"></ng-template>\n<div\n *ngIf=\"survey.renderedHasTitle\"\n [class]=\"survey.css.headerText\"\n [style.maxWidth]=\"survey.titleMaxWidth\"\n>\n <sv-ng-element-title [element]=\"survey\"></sv-ng-element-title>\n <div *ngIf=\"survey.renderedHasDescription\" [class]=\"survey.css.description\" [model]=\"survey.locDescription\" sv-ng-string></div>\n</div>\n\n<ng-template *ngIf=\"survey.isLogoAfter\" [component]=\"{ name: survey.getElementWrapperComponentName(survey, 'logo-image'), data: { data: survey.getElementWrapperComponentData(survey, 'logo-image') } }\"></ng-template>\n<div [class]=\"survey.css.headerClose\"></div>", components: [{ type: ElementTitleComponent, selector: "sv-ng-element-title", inputs: ["element"] }, { type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SurveyHeaderComponent, decorators: [{
type: i0.Component,
args: [{
selector: "'[sv-ng-survey-header]'",
templateUrl: "survey-header.component.html"
}]
}], ctorParameters: function () { return [{ type: i0__namespace.ViewContainerRef }, { type: i0__namespace.ChangeDetectorRef }]; }, propDecorators: { survey: [{
type: i0.Input
}] } });
var ErrorsComponent = /** @class */ (function () {
function ErrorsComponent() {
}
Object.defineProperty(ErrorsComponent.prototype, "role", {
get: function () {
return "alert";
},
enumerable: false,
configurable: true
});
Object.defineProperty(ErrorsComponent.prototype, "id", {
get: function () {
return this.element.id + "_errors";
},
enumerable: false,
configurable: true
});
Object.defineProperty(ErrorsComponent.prototype, "ariaLive", {
get: function () {
return "polite";
},
enumerable: false,
configurable: true
});
Object.defineProperty(ErrorsComponent.prototype, "class", {
get: function () {
return this.element.cssError;
},
enumerable: false,
configurable: true
});
return ErrorsComponent;
}());
ErrorsComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ErrorsComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
ErrorsComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ErrorsComponent, selector: "'[sv-ng-errors]'", inputs: { element: "element", location: "location" }, host: { properties: { "attr.role": "this.role", "id": "this.id", "attr.aria-live": "this.ariaLive", "class": "this.class" } }, ngImport: i0__namespace, template: "<ng-container *ngFor=\"let error of element.errors;\">\n <ng-template [component]=\"{ name: element.survey.questionErrorComponent, data: { element: element, cssClasses: element.cssClasses, error: error } }\"></ng-template>\n</ng-container>\n", directives: [{ type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ErrorsComponent, decorators: [{
type: i0.Component,
args: [{
templateUrl: "./errors.component.html",
selector: "'[sv-ng-errors]'"
}]
}], ctorParameters: function () { return []; }, propDecorators: { element: [{
type: i0.Input
}], location: [{
type: i0.Input
}], role: [{
type: i0.HostBinding,
args: ["attr.role"]
}], id: [{
type: i0.HostBinding,
args: ["id"]
}], ariaLive: [{
type: i0.HostBinding,
args: ["attr.aria-live"]
}], class: [{
type: i0.HostBinding,
args: ["class"]
}] } });
var ElementComponent = /** @class */ (function (_super) {
__extends(ElementComponent, _super);
function ElementComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
ElementComponent.prototype.getModel = function () {
return this.model;
};
Object.defineProperty(ElementComponent.prototype, "elementComponentName", {
get: function () {
return this.model.isPanel ? "panel" : "question";
},
enumerable: false,
configurable: true
});
ElementComponent.prototype.onModelChanged = function () {
var _a;
_super.prototype.onModelChanged.call(this);
if (this.previousModel) {
this.previousModel.setWrapperElement(undefined);
}
if (this.model && ((_a = this.container) === null || _a === void 0 ? void 0 : _a.nativeElement)) {
this.model.setWrapperElement(this.container.nativeElement);
}
};
Object.defineProperty(ElementComponent.prototype, "componentName", {
get: function () {
var survey = this.surveyModel;
if (!!survey) {
var name = survey.getElementWrapperComponentName(this.model);
if (!!name) {
return name;
}
}
return this.elementComponentName;
},
enumerable: false,
configurable: true
});
Object.defineProperty(ElementComponent.prototype, "rootStyle", {
get: function () {
//use this if to check if cssClassses are calculated and allowRootStyle flag was set
if (!!this.model.cssClasses) {
return this.model.rootStyle;
}
else {
return {};
}
},
enumerable: false,
configurable: true
});
Object.defineProperty(ElementComponent.prototype, "componentData", {
get: function () {
var survey = this.surveyModel;
var data;
if (!!survey) {
data = survey.getElementWrapperComponentData(this.model);
}
return {
componentName: this.elementComponentName,
componentData: {
model: this.model,
data: data
}
};
},
enumerable: false,
configurable: true
});
ElementComponent.prototype.ngAfterViewInit = function () {
var _a;
if (this.model && ((_a = this.container) === null || _a === void 0 ? void 0 : _a.nativeElement)) {
this.model.setWrapperElement(this.container.nativeElement);
}
};
ElementComponent.prototype.ngOnDestroy = function () {
_super.prototype.ngOnDestroy.call(this);
this.model.setWrapperElement(undefined);
};
return ElementComponent;
}(BaseAngular));
ElementComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ElementComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
ElementComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ElementComponent, selector: "sv-ng-element", inputs: { model: "model" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, read: i0.ElementRef }], usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div *ngIf=\"!!model\" [class]=\"model.cssClasses.questionWrapper\" [style]=\"rootStyle\" (focusin)=\"model.focusIn()\" #container>\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n </div>\n</ng-template>", styles: [":host{display:none}\n"], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ElementComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-element",
templateUrl: "./element.component.html",
styleUrls: ["./hide-host.scss"]
}]
}], propDecorators: { model: [{
type: i0.Input
}], container: [{
type: i0.ViewChild,
args: ["container", { static: false, read: i0.ElementRef }]
}] } });
var RowComponent = /** @class */ (function (_super) {
__extends(RowComponent, _super);
function RowComponent(cdr, vcr, ngZone) {
var _this = _super.call(this, cdr, vcr) || this;
_this.ngZone = ngZone;
return _this;
}
RowComponent.prototype.getModel = function () {
return this.row;
};
RowComponent.prototype.trackElementBy = function (index, element) {
return element.name + index;
};
RowComponent.prototype.ngAfterViewInit = function () {
var _this = this;
var _a;
var el = (_a = this.container) === null || _a === void 0 ? void 0 : _a.nativeElement;
if (!!el) {
this.row.setRootElement(el);
if (!this.row.isNeedRender) {
this.ngZone.runOutsideAngular(function () {
setTimeout(function () {
_this.row.startLazyRendering(el);
}, 10);
});
}
}
};
RowComponent.prototype.onModelChanged = function () {
var _a;
_super.prototype.onModelChanged.call(this);
if (!this.previousModel) {
return;
}
else {
this.previousModel.setRootElement(undefined);
if ((_a = this.container) === null || _a === void 0 ? void 0 : _a.nativeElement) {
this.row.setRootElement(this.container.nativeElement);
}
this.row.isNeedRender = this.previousModel.isNeedRender;
this.stopLazyRendering();
}
};
RowComponent.prototype.stopLazyRendering = function () {
this.row.stopLazyRendering();
this.row.isNeedRender = !this.row.isLazyRendering();
};
RowComponent.prototype.ngOnDestroy = function () {
_super.prototype.ngOnDestroy.call(this);
if (!this.isBaseElementSubsribed(this.row)) {
this.row.setRootElement(undefined);
this.stopLazyRendering();
}
};
return RowComponent;
}(BaseAngular));
RowComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RowComponent, deps: [{ token: i0__namespace.ChangeDetectorRef }, { token: i0__namespace.ViewContainerRef }, { token: i0__namespace.NgZone }], target: i0__namespace.ɵɵFactoryTarget.Component });
RowComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: RowComponent, selector: "sv-ng-row", inputs: { row: "row" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, read: i0.ElementRef }], usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div [class]=\"row.getRowCss()\" #container>\n <ng-container *ngFor=\"let element of row.visibleElements; trackBy: trackElementBy\">\n <sv-ng-element [model]=\"$any(element)\" *ngIf=\"row.isNeedRender\"></sv-ng-element>\n <ng-template *ngIf=\"!row.isNeedRender && element.skeletonComponentName\" [component]=\"{ name: element.skeletonComponentName, data: { element: element } }\"></ng-template>\n </ng-container>\n </div>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: ElementComponent, selector: "sv-ng-element", inputs: ["model"] }], directives: [{ type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RowComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-row",
templateUrl: "./row.component.html",
styleUrls: ["./hide-host.scss"]
}]
}], ctorParameters: function () { return [{ type: i0__namespace.ChangeDetectorRef }, { type: i0__namespace.ViewContainerRef }, { type: i0__namespace.NgZone }]; }, propDecorators: { row: [{
type: i0.Input
}], container: [{
type: i0.ViewChild,
args: ["container", { read: i0.ElementRef }]
}] } });
var PageComponent = /** @class */ (function (_super) {
__extends(PageComponent, _super);
function PageComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
PageComponent.prototype.getModel = function () {
return this.model;
};
PageComponent.prototype.onModelChanged = function () {
if (!!this.pageContainerRef && this.pageContainerRef.nativeElement) {
this.model.survey.afterRenderPage(this.pageContainerRef.nativeElement);
}
};
PageComponent.prototype.ngAfterViewInit = function () {
var _a, _b;
(_a = this.model.survey) === null || _a === void 0 ? void 0 : _a.afterRenderPage((_b = this.pageContainerRef) === null || _b === void 0 ? void 0 : _b.nativeElement);
};
return PageComponent;
}(BaseAngular));
PageComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PageComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
PageComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PageComponent, selector: "page, sv-ng-page", inputs: { model: "model", survey: "survey" }, viewQueries: [{ propertyName: "pageContainerRef", first: true, predicate: ["pageContainer"], descendants: true, read: i0.ElementRef }], usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <ng-container *ngIf=\"!!this.survey && !!this.model && this.model.isVisible && !!this.model.survey\">\n <div [class]=\"model.cssRoot\" #pageContainer>\n <sv-ng-element-title [element]=\"model\"></sv-ng-element-title>\n <div *ngIf=\"model._showDescription\" [class]=\"model.cssClasses.page.description\">\n <sv-ng-string [model]=\"model.locDescription\"></sv-ng-string>\n </div>\n <div *ngIf=\"model.hasVisibleErrors\" [element]=\"model\" sv-ng-errors></div>\n <ng-container *ngFor=\"let row of model.visibleRows\">\n <ng-template [component]=\"{ name: $any(model.survey).getRowWrapperComponentName(row), data: { componentData: $any(model.survey).getRowWrapperComponentData(row) } }\">\n <sv-ng-row [row]=\"row\"></sv-ng-row>\n </ng-template>\n </ng-container>\n </div>\n </ng-container> \n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: ElementTitleComponent, selector: "sv-ng-element-title", inputs: ["element"] }, { type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }, { type: ErrorsComponent, selector: "'[sv-ng-errors]'", inputs: ["element", "location"] }, { type: RowComponent, selector: "sv-ng-row", inputs: ["row"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PageComponent, decorators: [{
type: i0.Component,
args: [{
selector: "page, sv-ng-page",
templateUrl: "./page.component.html",
styleUrls: ["./hide-host.scss"]
}]
}], propDecorators: { model: [{
type: i0.Input
}], survey: [{
type: i0.Input
}], pageContainerRef: [{
type: i0.ViewChild,
args: ["pageContainer", { static: false, read: i0.ElementRef }]
}] } });
var BrandInfoComponent = /** @class */ (function () {
function BrandInfoComponent() {
}
return BrandInfoComponent;
}());
BrandInfoComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: BrandInfoComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
BrandInfoComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: BrandInfoComponent, selector: "sv-brand-info", ngImport: i0__namespace, template: "<div class=\"sv-brand-info\">\n <a class=\"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 class=\"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 class=\"sv-brand-info__terms\"><a href=\"https://surveyjs.io/TermsOfUse\">Terms of Use & Privacy Statement</a></div>\n</div>" });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: BrandInfoComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-brand-info",
templateUrl: "./brand-info.component.html"
}]
}] });
AngularComponentFactory.Instance.registerComponent("sv-brand-info", BrandInfoComponent);
var NotifierComponent = /** @class */ (function (_super) {
__extends(NotifierComponent, _super);
function NotifierComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
NotifierComponent.prototype.getStateElement = function () {
return this.notifier;
};
NotifierComponent.prototype.getModel = function () {
return this.notifier;
};
return NotifierComponent;
}(BaseAngular));
NotifierComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NotifierComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
NotifierComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NotifierComponent, selector: "sv-notifier", inputs: { notifier: "notifier" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <ng-container *ngIf=\"notifier.isDisplayed\">\n <div [class]=\"notifier.css\" [style]=\"{ visibility: notifier.active ? 'visible' : 'hidden' }\" role=\"alert\" aria-live=\"polite\">\n <span>{{notifier.message}}</span>\n <sv-action-bar [model]=\"notifier.actionBar\"></sv-action-bar> \n </div>\n </ng-container>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NotifierComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-notifier",
templateUrl: "./notifier.component.html",
styles: [":host { display: none; }"]
}]
}], propDecorators: { notifier: [{
type: i0.Input
}] } });
var SafeHtmlPipe = /** @class */ (function () {
function SafeHtmlPipe(domSanitizer) {
this.domSanitizer = domSanitizer;
}
SafeHtmlPipe.prototype.transform = function (url) {
return this.domSanitizer.bypassSecurityTrustHtml(url);
};
return SafeHtmlPipe;
}());
SafeHtmlPipe.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SafeHtmlPipe, deps: [{ token: i1__namespace.DomSanitizer }], target: i0__namespace.ɵɵFactoryTarget.Pipe });
SafeHtmlPipe.ɵpipe = i0__namespace.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SafeHtmlPipe, name: "safeHtml" });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SafeHtmlPipe, decorators: [{
type: i0.Pipe,
args: [{ name: "safeHtml" }]
}], ctorParameters: function () { return [{ type: i1__namespace.DomSanitizer }]; } });
var SurveyContentComponent = /** @class */ (function (_super) {
__extends(SurveyContentComponent, _super);
function SurveyContentComponent() {
var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
_this.isSurveyUpdated = false;
return _this;
}
SurveyContentComponent.prototype.getModel = function () {
return this.model;
};
SurveyContentComponent.prototype.onModelChanged = function () {
var _this = this;
if (!!this.previousModel) {
this.previousModel.destroyResizeObserver();
this.previousModel.renderCallback = undefined;
}
if (!!this.model) {
this.model.renderCallback = function () {
_this.detectChanges();
};
}
this.isSurveyUpdated = true;
};
SurveyContentComponent.prototype.ngOnDestroy = function () {
_super.prototype.ngOnDestroy.call(this);
if (!!this.model) {
this.model.rootElement = undefined;
this.model.destroyResizeObserver();
this.model.renderCallback = undefined;
}
};
SurveyContentComponent.prototype.ngAfterViewInit = function () {
this.isSurveyUpdated = true;
};
SurveyContentComponent.prototype.ngAfterViewChecked = function () {
if (!!this.model && this.isSurveyUpdated) {
this.model.afterRenderSurvey(this.rootEl.nativeElement);
this.model.startTimerFromUI();
}
_super.prototype.ngAfterViewChecked.call(this);
};
return SurveyContentComponent;
}(BaseAngular));
SurveyContentComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SurveyContentComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
SurveyContentComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SurveyContentComponent, selector: "survey-content", inputs: { model: "model" }, viewQueries: [{ propertyName: "rootEl", first: true, predicate: ["surveyContainer"], descendants: true }], usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div #surveyContainer *ngIf=\"!!model\" [class]=\"model.getRootCss()\" [style]=\"model.themeVariables\" [lang]=\"model.locale || 'en'\" [dir]=\"model.localeDir\">\n <sv-scroll [disabled]=\"model.rootScrollDisabled\">\n <sv-svg-bundle *ngIf=\"model.needRenderIcons\"></sv-svg-bundle>\n <div [class]=\"model.wrapperFormCss\">\n <div *ngIf=\"!!model.renderBackgroundImage\" [class]=\"model.css.rootBackgroundImage\" [style]=\"model.backgroundImageStyle\"></div>\n <form onsubmit=\"return false;\">\n <sv-scroll [disabled]=\"model.formScrollDisabled\">\n <div class=\"sv_custom_header\" [hidden]=\"model.hasLogo\"></div>\n <div [class]=\"model.css.container\">\n <div *ngIf=\"model.headerView === 'basic' && model.renderedHasHeader\" [class]=\"model.css.header\" [survey]=\"model\" sv-ng-survey-header></div>\n <ng-template [component]=\"{ name: 'sv-components-container', data: { survey: model, container: 'header', needRenderWrapper: false } }\"></ng-template>\n <div *ngIf=\"model.isShowingPage\" [class]=\"model.bodyContainerCss\">\n <ng-template [component]=\"{ name: 'sv-components-container', data: { survey: model, container: 'left' } }\"></ng-template>\n <div class=\"sv-components-column sv-components-column--expandable\">\n <ng-template [component]=\"{ name: 'sv-components-container', data: { survey: model, container: 'center' } }\"></ng-template>\n <div [class]=\"model.bodyCss\" [style.maxWidth]=\"model.renderedWidth\" [id]=\"model.activePage ? model.activePage.id : ''\">\n <ng-template [component]=\"{ name: 'sv-components-container', data: { survey: model, container: 'contentTop' } }\"></ng-template>\n <!-- ko if: activePage -->\n <ng-container *ngIf=\"model.activePage\">\n <sv-ng-page [model]=\"model.activePage\" [survey]=\"model\"></sv-ng-page>\n </ng-container>\n <!-- ko if: activePage.rows.length == 0 && $data.emptyPageTemplate -->\n <!-- ko template: { name: emptyPageTemplate, data: $data.emptyPageTemplateData || $data } -->\n <!-- /ko -->\n <!-- /ko -->\n <!-- /ko -->\n <ng-template [component]=\"{ name: 'sv-components-container', data: { survey: model, container: 'contentBottom' } }\"></ng-template>\n <sv-brand-info *ngIf=\"model.showBrandInfo\"></sv-brand-info>\n </div>\n </div>\n <ng-template [component]=\"{ name: 'sv-components-container', data: { survey: model, container: 'right' } }\"></ng-template>\n </div>\n <ng-template [component]=\"{ name: 'sv-components-container', data: { survey: model, container: 'footer', needRenderWrapper: false } }\"></ng-template>\n <div *ngIf=\"model.state === 'completed' && model.showCompletedPage\" [class]=\"model.completedCss\"\n [innerHtml]=\"model.processedCompletedHtml | safeHtml\"></div>\n <ng-template *ngIf=\"model.state === 'completed' && model.showCompletedPage\" [component]=\"{ name: 'sv-components-container', data: { survey: model, container: 'completePage' } }\"></ng-template>\n <div *ngIf=\"model.state === 'completedbefore'\" [class]=\"model.completedBeforeCss\"\n [innerHtml]=\"model.processedCompletedBeforeHtml | safeHtml\"></div>\n <div *ngIf=\"model.state === 'loading'\" [class]=\"model.loadingBodyCss\" [innerHtml]=\"model.processedLoadingHtml\"></div>\n <div *ngIf=\"model.state === 'empty'\" [class]=\"model.css.bodyEmpty\">{{model.emptySurveyText}}</div>\n </div>\n </sv-scroll>\n </form>\n <sv-notifier [notifier]=\"model.notifier\"></sv-notifier>\n </div>\n </sv-scroll>\n </div>\n</ng-template>", components: [{ type: ScrollComponent, selector: "sv-scroll", inputs: ["disabled"] }, { type: SvgBundleComponent, selector: "sv-svg-bundle" }, { type: SurveyHeaderComponent, selector: "'[sv-ng-survey-header]'", inputs: ["survey"] }, { type: PageComponent, selector: "page, sv-ng-page", inputs: ["model", "survey"] }, { type: BrandInfoComponent, selector: "sv-brand-info" }, { type: NotifierComponent, selector: "sv-notifier", inputs: ["notifier"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i2__namespace$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2__namespace$1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }], pipes: { "safeHtml": SafeHtmlPipe } });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SurveyContentComponent, decorators: [{
type: i0.Component,
args: [{
selector: "survey-content",
templateUrl: "./survey-content.component.html"
}]
}], propDecorators: { model: [{
type: i0.Input
}], rootEl: [{
type: i0.ViewChild,
args: ["surveyContainer", { static: false }]
}] } });
AngularComponentFactory.Instance.registerComponent("survey", SurveyContentComponent);
Survey.addIconsToThemeSet("v1", iconsV1.icons);
Survey.addIconsToThemeSet("v2", iconsV2.icons);
Survey.SvgRegistry.registerIcons(iconsV2.icons);
var SurveyComponent = /** @class */ (function (_super) {
__extends(SurveyComponent, _super);
function SurveyComponent(changeDetectorRef) {
var _this = _super.call(this, changeDetectorRef) || this;
changeDetectorRef.detach();
return _this;
}
SurveyComponent.prototype.getModel = function () {
return this.model;
};
SurveyComponent.prototype.getShouldReattachChangeDetector = function () {
return false;
};
SurveyComponent.prototype.onModelChanged = function () {
this.changeDetectorRef.detectChanges();
};
return SurveyComponent;
}(BaseAngular));
SurveyComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SurveyComponent, deps: [{ token: i0__namespace.ChangeDetectorRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
SurveyComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SurveyComponent, selector: "survey", inputs: { model: "model" }, usesInheritance: true, ngImport: i0__namespace, template: "<sv-ng-modal-container></sv-ng-modal-container><survey-content [model]='model'></survey-content>", isInline: true, components: [{ type: ModalComponent, selector: "sv-ng-modal-container" }, { type: SurveyContentComponent, selector: "survey-content", inputs: ["model"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SurveyComponent, decorators: [{
type: i0.Component,
args: [{
selector: "survey",
template: "<sv-ng-modal-container></sv-ng-modal-container><survey-content [model]='model'></survey-content>"
}]
}], ctorParameters: function () { return [{ type: i0__namespace.ChangeDetectorRef }]; }, propDecorators: { model: [{
type: i0.Input
}] } });
var PopupSurveyComponent = /** @class */ (function (_super) {
__extends(PopupSurveyComponent, _super);
function PopupSurveyComponent(changeDetectorRef) {
var _this = _super.call(this, changeDetectorRef) || this;
changeDetectorRef.detach();
return _this;
}
PopupSurveyComponent.prototype.getModel = function () {
return this.popup;
};
PopupSurveyComponent.prototype.getShouldReattachChangeDetector = function () {
return false;
};
PopupSurveyComponent.prototype.getHeaderCss = function () {
var headerCss = this.popup.cssHeaderRoot;
if (this.popup.isCollapsed) {
headerCss += " " + this.popup.cssRootCollapsedMod;
}
return headerCss;
};
PopupSurveyComponent.prototype.closeHandler = function () {
this.popup.hide();
if (!!this.onClose) {
this.onClose();
}
};
PopupSurveyComponent.prototype.ngOnChanges = function (changes) {
var _a, _b;
if (((_a = changes["model"]) === null || _a === void 0 ? void 0 : _a.currentValue) !== ((_b = changes["model"]) === null || _b === void 0 ? void 0 : _b.previousValue)) {
this.popup = new Survey.PopupSurveyModel(null, this.model);
}
if (this.isExpanded !== undefined) {
this.popup.isExpanded = this.isExpanded;
}
if (this.allowClose !== undefined) {
this.popup.allowClose = this.allowClose;
}
if (this.allowFullScreen !== undefined) {
this.popup.allowFullScreen = this.allowFullScreen;
}
if (this.closeOnCompleteTimeout !== undefined) {
this.popup.closeOnCompleteTimeout = this.closeOnCompleteTimeout;
}
this.popup.isShowing = true;
this.changeDetectorRef.detectChanges();
};
PopupSurveyComponent.prototype.ngOnDestroy = function () {
_super.prototype.ngOnDestroy.call(this);
this.popup.dispose();
};
return PopupSurveyComponent;
}(BaseAngular));
PopupSurveyComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PopupSurveyComponent, deps: [{ token: i0__namespace.ChangeDetectorRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
PopupSurveyComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PopupSurveyComponent, selector: "popup-survey", inputs: { model: "model", isExpanded: "isExpanded", allowClose: "allowClose", closeOnCompleteTimeout: "closeOnCompleteTimeout", allowFullScreen: "allowFullScreen", onClose: "onClose" }, usesInheritance: true, usesOnChanges: true, ngImport: i0__namespace, template: "<div *ngIf=\"!!popup && popup.isShowing\" [class]=\"popup.cssRoot\" [style.width]=\"popup.renderedWidth\" [style.maxWidth]=\"popup.renderedWidth\" (scroll)=\"popup.onScroll()\">\n <div [class]=\"popup.cssRootContent\">\n <div [class]=\"getHeaderCss()\">\n <div *ngIf=\"popup.isCollapsed && !!popup.locTitle\" [class]=\"popup.cssHeaderTitleCollapsed\">\n {{popup.locTitle.renderedHtml}}\n </div>\n <div [class]=\"popup.cssHeaderButtonsContainer\">\n <div *ngIf=\"popup.allowFullScreen\" [class]=\"popup.cssHeaderFullScreenButton\" (click)=\"popup.toggleFullScreen()\">\n <svg *ngIf=\"popup.isFullScreen\" [iconName]=\"'icon-back-to-panel_16x16'\" [size]=\"16\" sv-ng-svg-icon></svg>\n <svg *ngIf=\"!popup.isFullScreen\" [iconName]=\"'icon-full-screen_16x16'\" [size]=\"16\" sv-ng-svg-icon></svg>\n </div>\n\n <div [class]=\"popup.cssHeaderCollapseButton\" (click)=\"popup.changeExpandCollapse()\">\n <svg *ngIf=\"popup.isExpanded\" [iconName]=\"'icon-minimize_16x16'\" [size]=\"16\" sv-ng-svg-icon></svg>\n <svg *ngIf=\"popup.isCollapsed\" [iconName]=\"'icon-restore_16x16'\" [size]=\"16\" sv-ng-svg-icon></svg>\n </div>\n\n <div *ngIf=\"popup.allowClose\" [class]=\"popup.cssHeaderCloseButton\" (click)=\"closeHandler()\">\n <svg [iconName]=\"'icon-close_16x16'\" [size]=\"16\" sv-ng-svg-icon></svg>\n </div>\n </div>\n </div>\n <div [class]=\"popup.cssBody\">\n <survey [model]=\"popup.survey\"></survey>\n </div>\n </div>\n</div>", styles: [""], components: [{ type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: SurveyComponent, selector: "survey", inputs: ["model"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PopupSurveyComponent, decorators: [{
type: i0.Component,
args: [{
selector: "popup-survey",
templateUrl: "./popup.survey.component.html",
styleUrls: ["./popup.survey.component.scss"]
}]
}], ctorParameters: function () { return [{ type: i0__namespace.ChangeDetectorRef }]; }, propDecorators: { model: [{
type: i0.Input
}], isExpanded: [{
type: i0.Input
}], allowClose: [{
type: i0.Input
}], closeOnCompleteTimeout: [{
type: i0.Input
}], allowFullScreen: [{
type: i0.Input
}], onClose: [{
type: i0.Input
}] } });
var QuestionAngular = /** @class */ (function (_super) {
__extends(QuestionAngular, _super);
function QuestionAngular() {
return _super !== null && _super.apply(this, arguments) || this;
}
QuestionAngular.prototype.getModel = function () {
return this.model;
};
QuestionAngular.prototype.ngAfterViewInit = function () {
var _a;
if (!!this.model) {
this.model.afterRenderQuestionElement((_a = this.elementContentRef) === null || _a === void 0 ? void 0 : _a.nativeElement);
}
};
QuestionAngular.prototype.ngOnDestroy = function () {
var _a;
if (!!this.model) {
this.model.beforeDestroyQuestionElement((_a = this.elementContentRef) === null || _a === void 0 ? void 0 : _a.nativeElement);
}
_super.prototype.ngOnDestroy.call(this);
};
return QuestionAngular;
}(BaseAngular));
QuestionAngular.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: QuestionAngular, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
QuestionAngular.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: QuestionAngular, selector: "ng-component", inputs: { model: "model" }, viewQueries: [{ propertyName: "elementContentRef", first: true, predicate: ["contentElement"], descendants: true }], usesInheritance: true, ngImport: i0__namespace, template: "", isInline: true });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: QuestionAngular, decorators: [{
type: i0.Component,
args: [{
template: ""
}]
}], propDecorators: { model: [{
type: i0.Input
}], elementContentRef: [{
type: i0.ViewChild,
args: ["contentElement"]
}] } });
function getComponentName(question) {
if (question.customWidget)
return "survey-customwidget";
if (question.isDefaultRendering()) {
return question.getTemplate() + "-question";
}
return question.getComponentName();
}
var ElementHeaderComponent = /** @class */ (function () {
function ElementHeaderComponent() {
}
Object.defineProperty(ElementHeaderComponent.prototype, "rootClass", {
get: function () {
return this.element.cssHeader;
},
enumerable: false,
configurable: true
});
Object.defineProperty(ElementHeaderComponent.prototype, "width", {
get: function () {
return this.element.titleWidth;
},
enumerable: false,
configurable: true
});
ElementHeaderComponent.prototype.click = function (e) {
if (this.element.clickTitleFunction !== undefined) {
this.element.clickTitleFunction(e);
}
};
return ElementHeaderComponent;
}());
ElementHeaderComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ElementHeaderComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
ElementHeaderComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ElementHeaderComponent, selector: "'[sv-ng-element-header]'", inputs: { element: "element" }, host: { listeners: { "click": "click($event)" }, properties: { "class": "this.rootClass", "style.width": "this.width" } }, ngImport: i0__namespace, template: "<sv-ng-element-title [element]=\"element\"></sv-ng-element-title>\n<div *ngIf=\"element.hasDescriptionUnderTitle\" [class]=\"element.cssDescription\" [model]=\"element.locDescription\" [attr.id]=\"element.ariaDescriptionId\" [style.display]=\"element.hasDescription ? '': 'none' \" sv-ng-string></div>\n<ng-container *ngIf=\"element.hasAdditionalTitleToolbar\">\n<sv-ng-action-bar [model]=\"element.additionalTitleToolbar\"></sv-ng-action-bar>\n</ng-container>", components: [{ type: ElementTitleComponent, selector: "sv-ng-element-title", inputs: ["element"] }, { type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }, { type: ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ElementHeaderComponent, decorators: [{
type: i0.Component,
args: [{
selector: "'[sv-ng-element-header]'",
templateUrl: "./element-header.component.html"
}]
}], ctorParameters: function () { return []; }, propDecorators: { element: [{
type: i0.Input
}], rootClass: [{
type: i0.HostBinding,
args: ["class"]
}], width: [{
type: i0.HostBinding,
args: ["style.width"]
}], click: [{
type: i0.HostListener,
args: ["click", ["$event"]]
}] } });
var SurveyCommentComponent = /** @class */ (function () {
function SurveyCommentComponent() {
}
Object.defineProperty(SurveyCommentComponent.prototype, "comment", {
get: function () {
if (!this.question.comment)
return "";
return this.question.comment;
},
enumerable: false,
configurable: true
});
return SurveyCommentComponent;
}());
SurveyCommentComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SurveyCommentComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
SurveyCommentComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SurveyCommentComponent, selector: "sv-ng-comment, '[sv-ng-comment]'", inputs: { question: "question" }, ngImport: i0__namespace, template: "<ng-container *ngIf=\"!question.isReadOnlyRenderDiv()\">\n <ng-template [component]=\"{ name: 'sv-text-area', data: { model: question.commentTextAreaModel } }\"></ng-template>\n</ng-container>\n<div *ngIf=\"question.isReadOnlyRenderDiv()\">{{ question.comment }}</div>\n", directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SurveyCommentComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-comment, '[sv-ng-comment]'",
templateUrl: "./comment.component.html",
}]
}], ctorParameters: function () { return []; }, propDecorators: { question: [{
type: i0.Input
}] } });
var QuestionComponent = /** @class */ (function (_super) {
__extends(QuestionComponent, _super);
function QuestionComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
QuestionComponent.prototype.getModel = function () {
return this.model;
};
QuestionComponent.prototype.ngAfterViewInit = function () {
var _a, _b;
if (!!((_a = this.rootEl) === null || _a === void 0 ? void 0 : _a.nativeElement)) {
this.model.afterRender((_b = this.rootEl) === null || _b === void 0 ? void 0 : _b.nativeElement);
}
};
QuestionComponent.prototype.ngOnDestroy = function () {
if (!!this.model) {
this.model.destroyResizeObserver();
}
};
QuestionComponent.prototype.getComponentName = function () { return getComponentName(this.model); };
QuestionComponent.prototype.getQuestionContentWrapperComponentName = function () {
return this.model.survey.getQuestionContentWrapperComponentName(this.model);
};
QuestionComponent.prototype.getQuestionContentWrapperComponentData = function () {
return {
componentData: {
model: this.model,
data: this.model.survey.getElementWrapperComponentData(this.model)
}
};
};
return QuestionComponent;
}(EmbeddedViewContentComponent));
QuestionComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: QuestionComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
QuestionComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: QuestionComponent, selector: "sv-ng-question", inputs: { model: "model" }, viewQueries: [{ propertyName: "rootEl", first: true, predicate: ["elementContainer"], descendants: true }], usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div *ngIf=\"!!model\" #elementContainer [class]=\"model.getRootCss()\" [style]=\"model.getRootStyle()\" [id]=\"model.id\" [attr.data-name]=\"model.name\" [attr.role]=\"model.ariaRole\" [attr.aria-required]=\"model.ariaRequired\" [attr.aria-invalid]=\"model.ariaInvalid\" [attr.aria-label]=\"model.ariaLabel\" [attr.aria-labelledby]=\"model.ariaLabelledBy\" [attr.aria-describedby]=\"model.ariaDescribedBy\" [attr.aria-expanded]=\"model.ariaExpanded\">\n <div *ngIf=\"model.showErrorsAboveQuestion && model.hasVisibleErrors\" [element]=\"model\" sv-ng-errors></div>\n <div [element]=\"model\" *ngIf=\"model.hasTitleOnLeftTop\" sv-ng-element-header></div>\n <ng-template [component]=\"{ name: getQuestionContentWrapperComponentName(), data: getQuestionContentWrapperComponentData() }\">\n <div [class]=\"model.cssContent\" role=\"presentation\" [visible]=\"model.renderedIsExpanded\">\n <div *ngIf=\"model.showErrorOnTop && model.hasVisibleErrors\" [element]=\"model\" sv-ng-errors></div>\n <ng-template [component]=\"{ name: getComponentName(), data: { model: model }, default: 'skeleton-question' }\"></ng-template>\n <div *ngIf=\"model.hasComment\" [class]=\"model.getCommentAreaCss(false)\">\n <div [model]=\"model.locCommentText\" sv-ng-string></div>\n <sv-ng-comment [question]=\"model\"></sv-ng-comment>\n </div>\n <div *ngIf=\"model.showErrorOnBottom && model.hasVisibleErrors\" [element]=\"model\" sv-ng-errors></div>\n <div *ngIf=\"model.hasDescriptionUnderInput\" [class]=\"model.cssDescription\" [attr.id]=\"model.ariaDescriptionId\" [model]=\"model.locDescription\" sv-ng-string></div>\n </div>\n </ng-template>\n <div [element]=\"model\" *ngIf=\"model.hasTitleOnBottom\" sv-ng-element-header></div>\n <div *ngIf=\"model.showErrorsBelowQuestion && model.hasVisibleErrors\" [element]=\"model\" sv-ng-errors></div>\n </div>\n</ng-template>", components: [{ type: ErrorsComponent, selector: "'[sv-ng-errors]'", inputs: ["element", "location"] }, { type: ElementHeaderComponent, selector: "'[sv-ng-element-header]'", inputs: ["element"] }, { type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }, { type: SurveyCommentComponent, selector: "sv-ng-comment, '[sv-ng-comment]'", inputs: ["question"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }, { type: VisibleDirective, selector: "[visible]", inputs: ["visible"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: QuestionComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-question",
templateUrl: "./question.component.html"
}]
}], propDecorators: { model: [{
type: i0.Input
}], rootEl: [{
type: i0.ViewChild,
args: ["elementContainer"]
}] } });
AngularComponentFactory.Instance.registerComponent("question", QuestionComponent);
var StringViewerComponent = /** @class */ (function () {
function StringViewerComponent(changeDetectorRef) {
this.changeDetectorRef = changeDetectorRef;
this.className = "";
}
StringViewerComponent.prototype.ngDoCheck = function () {
var _this = this;
if (this.model !== this.previousModel) {
this.className = this.model.allowLineBreaks ? "sv-string-viewer sv-string-viewer--multiline" : "sv-string-viewer";
if (!!this.previousModel) {
this.clearOnChanged(this.previousModel);
}
if (!!this.model) {
this.model.onChanged = function () { _this.changeDetectorRef.detectChanges(); };
}
this.previousModel = this.model;
}
};
StringViewerComponent.prototype.clearOnChanged = function (model) {
model.onChanged = function () { };
};
StringViewerComponent.prototype.ngOnDestroy = function () {
!!this.model && this.clearOnChanged(this.model);
};
return StringViewerComponent;
}());
StringViewerComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: StringViewerComponent, deps: [{ token: i0__namespace.ChangeDetectorRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
StringViewerComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: StringViewerComponent, selector: "sv-ng-string-viewer, string-viewer, '[sv-ng-string-viewer]'", inputs: { model: "model" }, ngImport: i0__namespace, template: "<span *ngIf=\"!model.hasHtml\" [class]=\"className\">{{model.renderedHtml}}</span>\n<span *ngIf=\"model.hasHtml\" [class]=\"className\" [innerHtml]=\"model.renderedHtml | safeHtml\"></span>", styles: [""], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "safeHtml": SafeHtmlPipe } });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: StringViewerComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-string-viewer, string-viewer, '[sv-ng-string-viewer]'",
templateUrl: "./string-viewer.component.html",
styleUrls: ["./string-viewer.component.scss"]
}]
}], ctorParameters: function () { return [{ type: i0__namespace.ChangeDetectorRef }]; }, propDecorators: { model: [{
type: i0.Input
}] } });
AngularComponentFactory.Instance.registerComponent(Survey.LocalizableString.defaultRenderer, StringViewerComponent);
var TextAreaComponent = /** @class */ (function (_super) {
__extends(TextAreaComponent, _super);
function TextAreaComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
Object.defineProperty(TextAreaComponent.prototype, "value", {
get: function () {
return this.model.getTextValue() || "";
},
enumerable: false,
configurable: true
});
TextAreaComponent.prototype.ngAfterViewInit = function () {
var _a;
if (!!this.model && !!((_a = this.elementContentRef) === null || _a === void 0 ? void 0 : _a.nativeElement)) {
var element = this.elementContentRef.nativeElement;
this.model.setElement(element);
}
};
TextAreaComponent.prototype.ngOnDestroy = function () {
!!this.model && this.model.dispose();
};
return TextAreaComponent;
}(EmbeddedViewContentComponent));
TextAreaComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TextAreaComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
TextAreaComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TextAreaComponent, selector: "sv-text-area", inputs: { model: "model" }, viewQueries: [{ propertyName: "elementContentRef", first: true, predicate: ["contentElement"], descendants: true }], usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n<textarea\n[readonly]=\"model.isReadOnlyAttr\"\n[disabled]=\"model.isDisabledAttr\"\n[id]=\"model.id\"\n[attr.maxlength]=\"model.maxLength\"\n[attr.cols]=\"model.cols\"\n[attr.rows]=\"model.rows\"\n[attr.placeholder]=\"model.placeholder\"\n[class]=\"model.className\"\n[value]=\"value\"\n(input)=\"model.onTextAreaInput($event)\"\n(keydown)=\"model.onTextAreaKeyDown($event)\"\n(focus)=\"model.onTextAreaFocus($event)\"\n(blur)=\"model.onTextAreaBlur($event)\"\n(change)=\"model.onTextAreaChange($event)\"\n[attr.aria-required]=\"model.ariaRequired\"\n[attr.aria-label]=\"model.ariaLabel\"\n[attr.aria-labelledby]=\"model.ariaLabelledBy\"\n[attr.aria-describedby]=\"model.ariaDescribedBy\"\n[attr.aria-invalid]=\"model.ariaInvalid\"\n[attr.aria-errormessage]=\"model.ariaErrormessage\"\n[style.resize]=\"model.question.resizeStyle\"\n#contentElement></textarea>\n</ng-template>", styles: [":host{display:none}\n"] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TextAreaComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-text-area",
templateUrl: "./text-area.component.html",
styleUrls: ["../../hide-host.scss"]
}]
}], propDecorators: { model: [{
type: i0.Input
}], elementContentRef: [{
type: i0.ViewChild,
args: ["contentElement"]
}] } });
AngularComponentFactory.Instance.registerComponent("sv-text-area", TextAreaComponent);
var PopupPointerComponent = /** @class */ (function (_super) {
__extends(PopupPointerComponent, _super);
function PopupPointerComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
Object.defineProperty(PopupPointerComponent.prototype, "popupModel", {
get: function () {
return this.model;
},
enumerable: false,
configurable: true
});
PopupPointerComponent.prototype.getModel = function () {
return this.model;
};
return PopupPointerComponent;
}(BaseAngular));
PopupPointerComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PopupPointerComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
PopupPointerComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PopupPointerComponent, selector: "sv-ng-popup-pointer, '[sv-ng-popup-pointer]'", inputs: { model: "model" }, usesInheritance: true, ngImport: i0__namespace, template: "<span class=\"sv-popup__pointer\" [style]=\"{ left: popupModel.pointerTarget.left, top: popupModel.pointerTarget.top }\"></span>" });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PopupPointerComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-popup-pointer, '[sv-ng-popup-pointer]'",
templateUrl: "./popup-pointer.component.html"
}]
}], propDecorators: { model: [{
type: i0.Input
}] } });
AngularComponentFactory.Instance.registerComponent("popup-pointer", PopupPointerComponent);
var PopupComponent = /** @class */ (function (_super) {
__extends(PopupComponent, _super);
function PopupComponent(viewContainerRef, changeDetectorRef) {
return _super.call(this, changeDetectorRef, viewContainerRef) || this;
}
PopupComponent.prototype.getModel = function () {
return this.popupModel;
};
PopupComponent.prototype.onModelChanged = function () {
if (this.model) {
this.model.resetComponentElement();
this.model.dispose();
}
this.model = Survey.createPopupViewModel(this.popupModel);
this.setContainerElement();
};
PopupComponent.prototype.setContainerElement = function () {
var _a;
if (!!((_a = this.containerRef) === null || _a === void 0 ? void 0 : _a.nativeElement)) {
var container = this.containerRef.nativeElement;
this.model.setComponentElement(container.parentElement);
}
};
PopupComponent.prototype.ngAfterViewInit = function () {
this.setContainerElement();
};
PopupComponent.prototype.ngOnInit = function () {
this.onModelChanged();
};
PopupComponent.prototype.ngOnDestroy = function () {
this.model.resetComponentElement();
this.model.dispose();
_super.prototype.ngOnDestroy.call(this);
};
return PopupComponent;
}(BaseAngular));
PopupComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PopupComponent, deps: [{ token: i0__namespace.ViewContainerRef }, { token: i0__namespace.ChangeDetectorRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
PopupComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PopupComponent, selector: "sv-ng-popup, '[sv-ng-popup]'", inputs: { popupModel: "popupModel" }, viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["containerRef"], descendants: true }], usesInheritance: true, ngImport: i0__namespace, template: "<div #containerRef><sv-ng-popup-container [model]='model' ></sv-ng-popup-container></div>", isInline: true, components: [{ type: PopupBaseContainerComponent, selector: "sv-ng-popup-container, '[sv-ng-popup-container]'", inputs: ["model"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PopupComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-popup, '[sv-ng-popup]'",
template: "<div #containerRef><sv-ng-popup-container [model]='model' ></sv-ng-popup-container></div>"
}]
}], ctorParameters: function () { return [{ type: i0__namespace.ViewContainerRef }, { type: i0__namespace.ChangeDetectorRef }]; }, propDecorators: { popupModel: [{
type: i0.Input
}], containerRef: [{
type: i0.ViewChild,
args: ["containerRef"]
}] } });
var QuestionSkeletonComponent = /** @class */ (function () {
function QuestionSkeletonComponent() {
}
return QuestionSkeletonComponent;
}());
QuestionSkeletonComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: QuestionSkeletonComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
QuestionSkeletonComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: QuestionSkeletonComponent, selector: "question-skeleton", inputs: { model: "model" }, ngImport: i0__namespace, template: "<div class=\"sv-skeleton--not-implemented\">\n <div>{{ model.getType() + \" question type renderer is not implemented yet.\" }}</div>\n <div>{{ model.value }}</div>\n</div>\n", styles: [".sv-skeleton--not-implemented{width:100%;min-width:300px;min-height:40px;border:1px solid red;text-align:center}\n"] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: QuestionSkeletonComponent, decorators: [{
type: i0.Component,
args: [{
selector: "question-skeleton",
templateUrl: "./skeleton.component.html",
styleUrls: ["./skeleton.component.scss"]
}]
}], propDecorators: { model: [{
type: i0.Input
}] } });
AngularComponentFactory.Instance.registerComponent("skeleton-question", QuestionSkeletonComponent);
var DropdownComponent = /** @class */ (function (_super) {
__extends(DropdownComponent, _super);
function DropdownComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
Object.defineProperty(DropdownComponent.prototype, "dropdownModel", {
get: function () {
var _a;
return (_a = this.model) === null || _a === void 0 ? void 0 : _a.dropdownListModel;
},
enumerable: false,
configurable: true
});
DropdownComponent.prototype.getModel = function () {
return this.model.dropdownListModel;
};
DropdownComponent.prototype.ngOnInit = function () {
_super.prototype.ngOnInit.call(this);
};
DropdownComponent.prototype.click = function (event) {
var _a;
(_a = this.dropdownModel) === null || _a === void 0 ? void 0 : _a.onClick(event);
};
DropdownComponent.prototype.chevronPointerDown = function (event) {
var _a;
(_a = this.dropdownModel) === null || _a === void 0 ? void 0 : _a.chevronPointerDown(event);
};
DropdownComponent.prototype.clear = function (event) {
var _a;
(_a = this.dropdownModel) === null || _a === void 0 ? void 0 : _a.onClear(event);
};
DropdownComponent.prototype.keyhandler = function (event) {
var _a;
(_a = this.dropdownModel) === null || _a === void 0 ? void 0 : _a.keyHandler(event);
};
DropdownComponent.prototype.blur = function (event) {
this.model.onBlur(event);
this.updateInputDomElement();
};
DropdownComponent.prototype.focus = function (event) {
this.model.onFocus(event);
};
DropdownComponent.prototype.inputChange = function (event) {
this.detectChanges();
};
DropdownComponent.prototype.updateInputDomElement = function () {
var _a;
if (!!((_a = this.inputElementRef) === null || _a === void 0 ? void 0 : _a.nativeElement)) {
var control = this.inputElementRef.nativeElement;
var newValue = this.model.inputStringRendered;
if (!Survey.Helpers.isTwoValueEquals(newValue, control.value, false, true, false)) {
control.value = this.model.inputStringRendered || "";
}
}
};
return DropdownComponent;
}(BaseAngular));
DropdownComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DropdownComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
DropdownComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DropdownComponent, selector: "sv-ng-dropdown, '[sv-ng-dropdown]'", inputs: { model: "model" }, viewQueries: [{ propertyName: "inputElementRef", first: true, predicate: ["inputElement"], descendants: true }], usesInheritance: true, ngImport: i0__namespace, template: "<div [class]=\"model.cssClasses.selectWrapper\" (click)=\"click($event)\">\n <div *ngIf=\"!model.isReadOnly\" [attr.tabindex]=\"dropdownModel.noTabIndex ? null : 0\" [class]=\"model.getControlClass()\"\n [attr.disabled]=\"model.isDisabledAttr ? true : null\" (blur)=\"blur($event)\"\n (keydown)=\"keyhandler($event)\" [attr.id]=\"model.inputId\" [attr.aria-required]=\"model.ariaRequired\"\n [attr.aria-labelledby]=\"model.ariaLabelledBy\"\n [attr.aria-label]=\"model.ariaLabel\" [attr.aria-invalid]=\"model.ariaInvalid\"\n [attr.aria-errormessage]=\"model.ariaErrormessage\" [attr.role]=\"model.ariaRole\"\n [attr.aria-controls]=\"dropdownModel.listElementId\"\n [attr.aria-expanded]=\"model.ariaExpanded\"\n [attr.aria-activedescendant]=\"dropdownModel.ariaActivedescendant\">\n <div *ngIf=\"dropdownModel.showHintPrefix\" [class]=\"model.cssClasses.hintPrefix\">\n <span>{{ dropdownModel.hintStringPrefix }}</span>\n </div>\n <div [class]=\"model.cssClasses.controlValue\">\n <div *ngIf=\"dropdownModel.showHintString\" [class]=\"model.cssClasses.hintSuffix\">\n <span style=\"visibility: hidden\">{{ dropdownModel.inputStringRendered }}</span>\n <span>{{ dropdownModel.hintStringSuffix }}</span>\n </div>\n <ng-container *ngIf=\"dropdownModel.showInputFieldComponent\">\n <ng-template [component]=\"{ name: model.inputFieldComponentName, data: { model: dropdownModel.getSelectedAction(), question: model } }\"></ng-template>\n </ng-container>\n <sv-ng-string *ngIf=\"model.showSelectedItemLocText\" [model]=\"model.selectedItemLocText\"></sv-ng-string>\n <input #inputElement type=\"text\" autocomplete=\"off\" [(ngModel)]=\"dropdownModel.inputStringRendered\" [class]=\"model.cssClasses.filterStringInput\"\n [attr.role]=\"dropdownModel.filterStringEnabled ? model.ariaRole : null\"\n [attr.id]=\"model.getInputId()\"\n [attr.inputmode]=\"dropdownModel.inputMode\"\n [attr.tabindex]=\"dropdownModel.noTabIndex ? null : -1\"\n [attr.disabled]=\"model.isDisabledAttr ? true : null\"\n [attr.aria-controls]=\"dropdownModel.listElementId\"\n [attr.aria-label]=\"model.a11y_input_ariaLabel\"\n [attr.aria-labelledby]=\"model.a11y_input_ariaLabelledBy\"\n [attr.aria-describedby]=\"model.a11y_input_ariaDescribedBy\"\n [attr.aria-expanded]=\"model.ariaExpanded\"\n [attr.aria-activedescendant]=\"dropdownModel.ariaActivedescendant\"\n [attr.placeholder]=\"dropdownModel.placeholderRendered\" \n [attr.readonly]=\"dropdownModel.filterReadOnly ? true : null\" \n (change)=\"inputChange($event)\" (blur)=\"blur($event)\" (focus)=\"focus($event)\"/>\n </div>\n <div *ngIf=\"(model.allowClear && model.cssClasses.cleanButtonIconId)\" aria-hidden=\"true\"\n [class]=\"model.cssClasses.cleanButton\" (click)=\"clear($event)\" [visible]=\"model.showClearButton\">\n <svg [iconName]=\"model.cssClasses.cleanButtonIconId\" [partCss]=\"model.cssClasses.cleanButtonSvg\" [title]=\"model.clearCaption\"\n [size]=\"'auto'\" sv-ng-svg-icon></svg>\n </div>\n </div>\n <sv-ng-popup *ngIf=\"!model.isReadOnly\" [popupModel]=\"dropdownModel.popupModel\"></sv-ng-popup>\n <div *ngIf=\"model.isReadOnly\" [class]=\"model.getControlClass()\" [attr.id]=\"model.inputId\" \n [attr.tabindex]=\"model.isDisabledAttr ? null : 0\"\n [attr.disabled]=\"model.isDisabledAttr ? true : null\"\n [attr.aria-label]=\"model.a11y_input_ariaLabel\"\n [attr.aria-labelledby]=\"model.a11y_input_ariaLabelledBy\"\n [attr.aria-describedby]=\"model.a11y_input_ariaDescribedBy\">\n <sv-ng-string *ngIf=\"model.selectedItemLocText\" [model]=\"model.selectedItemLocText\"></sv-ng-string>\n <div>{{ model.readOnlyText }}</div>\n </div>\n <div *ngIf=\"model.cssClasses.chevronButtonIconId\" [class]=\"model.cssClasses.chevronButton\" (pointerdown)=\"chevronPointerDown($event)\" aria-hidden=\"true\">\n <svg [iconName]=\"model.cssClasses.chevronButtonIconId\" [partCss]=\"model.cssClasses.chevronButtonSvg\" [size]=\"'auto'\" sv-ng-svg-icon></svg>\n </div>\n</div>", components: [{ type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }, { type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: PopupComponent, selector: "sv-ng-popup, '[sv-ng-popup]'", inputs: ["popupModel"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }, { type: i2__namespace$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i2__namespace$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2__namespace$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: VisibleDirective, selector: "[visible]", inputs: ["visible"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DropdownComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-dropdown, '[sv-ng-dropdown]'",
templateUrl: "./dropdown.component.html"
}]
}], propDecorators: { model: [{
type: i0.Input
}], inputElementRef: [{
type: i0.ViewChild,
args: ["inputElement"]
}] } });
var TagboxFilterComponent = /** @class */ (function (_super) {
__extends(TagboxFilterComponent, _super);
function TagboxFilterComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
TagboxFilterComponent.prototype.getModel = function () {
return this.model;
};
return TagboxFilterComponent;
}(BaseAngular));
TagboxFilterComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TagboxFilterComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
TagboxFilterComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TagboxFilterComponent, selector: "sv-tagbox-filter", inputs: { model: "model", question: "question" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div [class]=\"question.cssClasses.hint\">\n <div *ngIf=\"model.showHintPrefix\" [class]=\"question.cssClasses.hintPrefix\">\n <span>{{ model.hintStringPrefix }}</span>\n </div>\n <div [class]=\"question.cssClasses.hintSuffixWrapper\">\n <div *ngIf=\"model.showHintString\" [class]=\"question.cssClasses.hintSuffix\">\n <span style=\"visibility: hidden\">{{ model.inputStringRendered }}</span>\n <span>{{ model.hintStringSuffix }}</span>\n </div>\n <input\n type=\"text\"\n autocomplete=\"off\"\n [(ngModel)]=\"model.inputStringRendered\"\n [attr.id]=\"question.getInputId()\"\n [class]=\"question.cssClasses.filterStringInput\"\n [attr.inputmode]=\"model.inputMode\"\n [attr.role]=\"model.filterStringEnabled ? question.ariaRole : null\"\n [attr.readonly]=\"model.filterReadOnly ? true : null\"\n [attr.disabled]=\"question.isDisabledAttr ? true : null\"\n [attr.size]=\"!model.inputStringRendered ? 1 : null\"\n [attr.aria-label]=\"question.a11y_input_ariaLabel\"\n [attr.aria-labelledby]=\"question.a11y_input_ariaLabelledBy\"\n [attr.aria-describedby]=\"question.a11y_input_ariaDescribedBy\"\n [attr.aria-controls]=\"model.listElementId\"\n [attr.aria-expanded]=\"question.ariaExpanded\"\n [attr.aria-activedescendant]=\"model.ariaActivedescendant\"\n [attr.placeholder]=\"model.filterStringPlaceholder\"\n (keydown)=\"model.inputKeyHandler($event)\"\n (blur)=\"question.onBlur($event)\"\n (focus)=\"question.onFocus($event)\"\n />\n </div>\n </div>\n</ng-template>\n", styles: [":host{display:none}\n"], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i2__namespace$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2__namespace$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TagboxFilterComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-tagbox-filter",
templateUrl: "./tagbox-filter.component.html",
styleUrls: ["../../hide-host.scss"]
}]
}], propDecorators: { model: [{
type: i0.Input
}], question: [{
type: i0.Input
}] } });
AngularComponentFactory.Instance.registerComponent("sv-tagbox-filter", TagboxFilterComponent);
var TagboxItemComponent = /** @class */ (function (_super) {
__extends(TagboxItemComponent, _super);
function TagboxItemComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
TagboxItemComponent.prototype.removeItem = function (event) {
this.question.dropdownListModel.deselectItem(this.item.value);
event.stopPropagation();
};
TagboxItemComponent.prototype.getModel = function () {
return this.item;
};
return TagboxItemComponent;
}(EmbeddedViewContentComponent));
TagboxItemComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TagboxItemComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
TagboxItemComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TagboxItemComponent, selector: "sv-ng-tagbox-item, '[sv-ng-tagbox-item]'", inputs: { item: "item", question: "question" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n<div class=\"sv-tagbox__item\">\n <div class=\"sv-tagbox__item-text\" [model]=\"item.locText\" sv-ng-string></div> \n <div [class]=\"question.cssClasses.cleanItemButton\" (click)=\"removeItem($event)\">\n <svg [iconName]=\"question.cssClasses.cleanItemButtonIconId\" [partCss]=\"question.cssClasses.cleanItemButtonSvg\" [size]=\"'auto'\" sv-ng-svg-icon></svg>\n </div>\n</div>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }, { type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TagboxItemComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-tagbox-item, '[sv-ng-tagbox-item]'",
templateUrl: "./tagbox-item.component.html",
styleUrls: ["../../hide-host.scss"]
}]
}], propDecorators: { item: [{
type: i0.Input
}], question: [{
type: i0.Input
}] } });
AngularComponentFactory.Instance.registerComponent("sv-tagbox-item", TagboxItemComponent);
var TagboxComponent = /** @class */ (function () {
function TagboxComponent() {
}
Object.defineProperty(TagboxComponent.prototype, "dropdownModel", {
get: function () {
var _a;
return (_a = this.model) === null || _a === void 0 ? void 0 : _a.dropdownListModel;
},
enumerable: false,
configurable: true
});
TagboxComponent.prototype.getModel = function () {
return this.model;
};
TagboxComponent.prototype.ngOnInit = function () {
if (!this.model.dropdownListModel) {
this.model.dropdownListModel = new Survey.DropdownMultiSelectListModel(this.model);
}
};
TagboxComponent.prototype.click = function (event) {
var _a;
(_a = this.dropdownModel) === null || _a === void 0 ? void 0 : _a.onClick(event);
};
TagboxComponent.prototype.chevronPointerDown = function (event) {
var _a;
(_a = this.dropdownModel) === null || _a === void 0 ? void 0 : _a.chevronPointerDown(event);
};
TagboxComponent.prototype.clear = function (event) {
var _a;
(_a = this.dropdownModel) === null || _a === void 0 ? void 0 : _a.onClear(event);
};
TagboxComponent.prototype.keyhandler = function (event) {
var _a;
(_a = this.dropdownModel) === null || _a === void 0 ? void 0 : _a.keyHandler(event);
};
TagboxComponent.prototype.blur = function (event) {
var _a;
(_a = this.model) === null || _a === void 0 ? void 0 : _a.onBlur(event);
};
TagboxComponent.prototype.focus = function (event) {
var _a;
(_a = this.model) === null || _a === void 0 ? void 0 : _a.onFocus(event);
};
return TagboxComponent;
}());
TagboxComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TagboxComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
TagboxComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TagboxComponent, selector: "sv-ng-tagbox, '[sv-ng-tagbox]'", inputs: { model: "model" }, ngImport: i0__namespace, template: "<div [class]=\"model.cssClasses.selectWrapper\" (click)=\"click($event)\">\n <div *ngIf=\"!model.isReadOnly\" [attr.tabindex]=\"dropdownModel.noTabIndex ? null : 0\" [class]=\"model.getControlClass()\"\n [attr.disabled]=\"model.isDisabledAttr ? true : null\" (blur)=\"blur($event)\"\n (keydown)=\"keyhandler($event)\" [attr.id]=\"model.inputId\" [attr.aria-required]=\"model.ariaRequired\"\n [attr.aria-label]=\"model.ariaLabel\" [attr.aria-invalid]=\"model.ariaInvalid\"\n [attr.aria-errormessage]=\"model.ariaErrormessage\" [attr.role]=\"model.ariaRole\"\n [attr.aria-controls]=\"dropdownModel.listElementId\"\n [attr.aria-expanded]=\"model.ariaExpanded\"\n [attr.aria-activedescendant]=\"dropdownModel.ariaActivedescendant\">\n <div [class]=\"model.cssClasses.controlValue\">\n <ng-container *ngIf=\"!model.isEmpty()\">\n <sv-ng-tagbox-item *ngFor=\"let item of model.selectedChoices\" [item]=\"item\" [question]=\"model\">\n </sv-ng-tagbox-item>\n </ng-container>\n <ng-template [component]=\"{ name: 'sv-tagbox-filter', data: { model: dropdownModel, question: model } }\"></ng-template>\n </div>\n <div *ngIf=\"(model.allowClear && model.cssClasses.cleanButtonIconId)\" [class]=\"model.cssClasses.cleanButton\"\n (click)=\"clear($event)\" [visible]=\"model.showClearButton\" aria-hidden=\"true\">\n <!-- ko component: { name: 'sv-svg-icon', params: { css: model.cssClasses.cleanButtonSvg, iconName: model.cssClasses.cleanButtonIconId, size: 'auto' } } -->\n <!-- /ko -->\n <svg [iconName]=\"model.cssClasses.cleanButtonIconId\" [partCss]=\"model.cssClasses.cleanButtonSvg\" [title]=\"model.clearCaption\"\n [size]=\"'auto'\" sv-ng-svg-icon></svg>\n </div>\n </div>\n <sv-ng-popup *ngIf=\"!model.isReadOnly\" [popupModel]=\"model.popupModel\"></sv-ng-popup>\n <div *ngIf=\"model.isReadOnly\" [class]=\"model.getControlClass()\" [attr.id]=\"model.inputId\"\n [attr.tabindex]=\"model.isDisabledAttr ? null : 0\"\n [attr.disabled]=\"model.isDisabledAttr ? true : null\"\n [attr.aria-label]=\"model.a11y_input_ariaLabel\"\n [attr.aria-labelledby]=\"model.a11y_input_ariaLabelledBy\"\n [attr.aria-describedby]=\"model.a11y_input_ariaDescribedBy\">\n <sv-ng-string *ngIf=\"model.locReadOnlyText\" [model]=\"model.locReadOnlyText\"></sv-ng-string>\n </div>\n <div *ngIf=\"model.cssClasses.chevronButtonIconId\" [class]=\"model.cssClasses.chevronButton\" (pointerdown)=\"chevronPointerDown($event)\" aria-hidden=\"true\">\n <svg [iconName]=\"model.cssClasses.chevronButtonIconId\" [partCss]=\"model.cssClasses.chevronButtonSvg\" [size]=\"'auto'\" sv-ng-svg-icon></svg>\n </div>\n</div>", components: [{ type: TagboxItemComponent, selector: "sv-ng-tagbox-item, '[sv-ng-tagbox-item]'", inputs: ["item", "question"] }, { type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: PopupComponent, selector: "sv-ng-popup, '[sv-ng-popup]'", inputs: ["popupModel"] }, { type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }, { type: VisibleDirective, selector: "[visible]", inputs: ["visible"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TagboxComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-tagbox, '[sv-ng-tagbox]'",
templateUrl: "./tagbox.component.html"
}]
}], propDecorators: { model: [{
type: i0.Input
}] } });
var DropdownOptionItemComponent = /** @class */ (function (_super) {
__extends(DropdownOptionItemComponent, _super);
function DropdownOptionItemComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
DropdownOptionItemComponent.prototype.onModelChanged = function () {
var _this = this;
if (!this.item.locText)
return;
this.item.locText.onChanged = function () {
_this.detectChanges();
};
};
DropdownOptionItemComponent.prototype.getModel = function () {
return this.item;
};
return DropdownOptionItemComponent;
}(BaseAngular));
DropdownOptionItemComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DropdownOptionItemComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
DropdownOptionItemComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DropdownOptionItemComponent, selector: "sv-ng-dropdown-option-item, '[sv-ng-dropdown-option-item]'", inputs: { item: "item" }, usesInheritance: true, ngImport: i0__namespace, template: '<ng-template #template><option [value]="item.value" [disabled]="!item.isEnabled">{{ item.text }}</option><ng-template>', isInline: true, directives: [{ type: i2__namespace$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i2__namespace$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DropdownOptionItemComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-dropdown-option-item, '[sv-ng-dropdown-option-item]'",
template: '<ng-template #template><option [value]="item.value" [disabled]="!item.isEnabled">{{ item.text }}</option><ng-template>',
}]
}], propDecorators: { item: [{
type: i0.Input
}] } });
AngularComponentFactory.Instance.registerComponent("sv-dropdown-option-item", DropdownOptionItemComponent);
var SurveyCommentOtherComponent = /** @class */ (function () {
function SurveyCommentOtherComponent() {
}
Object.defineProperty(SurveyCommentOtherComponent.prototype, "otherValue", {
get: function () {
var val = this.question.otherValue;
return !!val ? val : "";
},
enumerable: false,
configurable: true
});
Object.defineProperty(SurveyCommentOtherComponent.prototype, "textAreaModel", {
get: function () {
return this.question.otherTextAreaModel;
},
enumerable: false,
configurable: true
});
return SurveyCommentOtherComponent;
}());
SurveyCommentOtherComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SurveyCommentOtherComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
SurveyCommentOtherComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SurveyCommentOtherComponent, selector: "sv-ng-comment-other, '[sv-ng-comment-other]'", inputs: { question: "question" }, ngImport: i0__namespace, template: "<ng-container *ngIf=\"!question.isReadOnlyRenderDiv()\">\n <ng-template [component]=\"{ name: 'sv-text-area', data: { model: textAreaModel } }\"></ng-template>\n</ng-container>\n<div *ngIf=\"question.isReadOnlyRenderDiv()\">{{ otherValue }}</div>\n", directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SurveyCommentOtherComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-comment-other, '[sv-ng-comment-other]'",
templateUrl: "./comment-other.component.html",
}]
}], ctorParameters: function () { return []; }, propDecorators: { question: [{
type: i0.Input
}] } });
var DropdownSelectComponent = /** @class */ (function () {
function DropdownSelectComponent() {
}
Object.defineProperty(DropdownSelectComponent.prototype, "editableValue", {
get: function () {
return this.model.renderedValue || "";
},
set: function (newValue) {
if (newValue === "") {
this.model.renderedValue = undefined;
}
else {
this.model.renderedValue = newValue;
}
},
enumerable: false,
configurable: true
});
DropdownSelectComponent.prototype.click = function (event) {
this.model.onClick(event);
};
DropdownSelectComponent.prototype.keyup = function (event) {
this.model.onKeyUp(event);
};
return DropdownSelectComponent;
}());
DropdownSelectComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DropdownSelectComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
DropdownSelectComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DropdownSelectComponent, selector: "sv-ng-dropdown-select-question", inputs: { model: "model" }, ngImport: i0__namespace, template: "<div [class]=\"model.renderCssRoot\">\n <div [class]=\"model.cssClasses.selectWrapper\">\n <select *ngIf=\"!model.isReadOnly\" [attr.id]=\"model.inputId\" [(ngModel)]=\"editableValue\"\n [disabled]=\"model.isInputReadOnly\" (click)=\"click($event)\" (keyup)=\"keyup($event)\"\n [class]=\"model.getControlClass()\" [attr.autocomplete]=\"model.autocomplete\" [required]=\"model.isRequired\"\n [attr.aria-required]=\"model.ariaRequired\" [attr.aria-label]=\"model.ariaLabel\"\n [attr.aria-invalid]=\"model.ariaInvalid\" [attr.aria-errormessage]=\"model.ariaErrormessage\">\n <option *ngIf=\"model.allowClear\" value=\"\">{{ model.placeholder }}</option>\n <ng-template *ngFor=\"let item of model.visibleChoices\"\n [component]=\"{ name: 'sv-dropdown-option-item', data: { item } }\"></ng-template>\n </select>\n <div *ngIf=\"model.isReadOnly\" disabled [class]=\"model.getControlClass()\" [attr.id]=\"model.inputId\">{{\n model.readOnlyText }}</div>\n <div *ngIf=\"model.cssClasses.chevronButtonIconId\" [class]=\"model.cssClasses.chevronButton\" aria-hidden=\"true\">\n <svg [iconName]=\"model.cssClasses.chevronButtonIconId\" [partCss]=\"model.cssClasses.chevronButtonSvg\"\n [size]=\"'auto'\" sv-ng-svg-icon></svg>\n </div>\n </div>\n <div *ngIf=\"model.isOtherSelected\" [class]=\"model.getCommentAreaCss(true)\"\n [style.display]=\"model.isFlowLayout ? 'inline': '' \" [question]=\"model\" sv-ng-comment-other></div>\n</div>", components: [{ type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: SurveyCommentOtherComponent, selector: "sv-ng-comment-other, '[sv-ng-comment-other]'", inputs: ["question"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace$1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { type: i2__namespace$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2__namespace$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i2__namespace$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i2__namespace$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i2__namespace$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DropdownSelectComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-dropdown-select-question",
templateUrl: "./dropdown-select.component.html"
}]
}], propDecorators: { model: [{
type: i0.Input
}] } });
AngularComponentFactory.Instance.registerComponent("dropdown-select-question", DropdownSelectComponent);
Survey.RendererFactory.Instance.registerRenderer("dropdown", "select", "dropdown-select-question");
//temp: disables angular sanitizer, which breaks a links
var SafeUrlPipe = /** @class */ (function () {
function SafeUrlPipe(domSanitizer) {
this.domSanitizer = domSanitizer;
}
SafeUrlPipe.prototype.transform = function (url) {
return this.domSanitizer.bypassSecurityTrustUrl(url);
};
return SafeUrlPipe;
}());
SafeUrlPipe.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SafeUrlPipe, deps: [{ token: i1__namespace.DomSanitizer }], target: i0__namespace.ɵɵFactoryTarget.Pipe });
SafeUrlPipe.ɵpipe = i0__namespace.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SafeUrlPipe, name: "safeUrl" });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SafeUrlPipe, decorators: [{
type: i0.Pipe,
args: [{ name: "safeUrl" }]
}], ctorParameters: function () { return [{ type: i1__namespace.DomSanitizer }]; } });
var SafeResourceUrlPipe = /** @class */ (function () {
function SafeResourceUrlPipe(domSanitizer) {
this.domSanitizer = domSanitizer;
}
SafeResourceUrlPipe.prototype.transform = function (url) {
return this.domSanitizer.bypassSecurityTrustResourceUrl(url);
};
return SafeResourceUrlPipe;
}());
SafeResourceUrlPipe.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SafeResourceUrlPipe, deps: [{ token: i1__namespace.DomSanitizer }], target: i0__namespace.ɵɵFactoryTarget.Pipe });
SafeResourceUrlPipe.ɵpipe = i0__namespace.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SafeResourceUrlPipe, name: "safeResourceUrl" });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SafeResourceUrlPipe, decorators: [{
type: i0.Pipe,
args: [{ name: "safeResourceUrl" }]
}], ctorParameters: function () { return [{ type: i1__namespace.DomSanitizer }]; } });
var LogoImageComponent = /** @class */ (function (_super) {
__extends(LogoImageComponent, _super);
function LogoImageComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
Object.defineProperty(LogoImageComponent.prototype, "survey", {
get: function () {
return this.data;
},
enumerable: false,
configurable: true
});
return LogoImageComponent;
}(EmbeddedViewContentComponent));
LogoImageComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: LogoImageComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
LogoImageComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: LogoImageComponent, selector: "sv-logo-image", inputs: { data: "data" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div [class]=\"survey.logoClassNames\">\n <img\n [class]=\"survey.css.logoImage\"\n [attr.src]=\"survey.locLogo.renderedHtml | safeUrl\"\n [style.width]=\"survey.renderedStyleLogoWidth\"\n [style.height]=\"survey.renderedStyleLogoHeight\"\n [attr.width]=\"survey.renderedLogoWidth\"\n [attr.height]=\"survey.renderedLogoHeight\"\n [attr.alt]=\"survey.locTitle.renderedHtml\"\n [style.objectFit]=\"survey.logoFit\"\n />\n </div>\n</ng-template>", styles: [":host{display:none}\n"], pipes: { "safeUrl": SafeUrlPipe } });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: LogoImageComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-logo-image",
templateUrl: "./logo-image.component.html",
styleUrls: ["../../hide-host.scss"]
}]
}], propDecorators: { data: [{
type: i0.Input
}] } });
AngularComponentFactory.Instance.registerComponent("sv-logo-image", LogoImageComponent);
var CharacterCounterComponent = /** @class */ (function (_super) {
__extends(CharacterCounterComponent, _super);
function CharacterCounterComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
CharacterCounterComponent.prototype.getModel = function () {
return this.counter;
};
return CharacterCounterComponent;
}(BaseAngular));
CharacterCounterComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CharacterCounterComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
CharacterCounterComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CharacterCounterComponent, selector: "sv-ng-character-counter", inputs: { counter: "counter", remainingCharacterCounter: "remainingCharacterCounter" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div [class]=\"remainingCharacterCounter\">{{ counter.remainingCharacterCounter }}</div>\n</ng-template>", styles: [":host { display: none; }"] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CharacterCounterComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-character-counter",
templateUrl: "./character-counter.component.html",
styles: [":host { display: none; }"],
}]
}], propDecorators: { counter: [{
type: i0.Input
}], remainingCharacterCounter: [{
type: i0.Input
}] } });
AngularComponentFactory.Instance.registerComponent("character-counter", CharacterCounterComponent);
var TextQuestionComponent = /** @class */ (function (_super) {
__extends(TextQuestionComponent, _super);
function TextQuestionComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
Object.defineProperty(TextQuestionComponent.prototype, "value", {
get: function () {
var _a;
return (_a = this.model.inputValue) !== null && _a !== void 0 ? _a : "";
},
enumerable: false,
configurable: true
});
TextQuestionComponent.prototype.blur = function (event) {
this.model.onBlur(event);
this.updateInputDomElement();
};
TextQuestionComponent.prototype.updateInputDomElement = function () {
var _a;
if (!!((_a = this.inputElementRef) === null || _a === void 0 ? void 0 : _a.nativeElement)) {
var control = this.inputElementRef.nativeElement;
if (!Survey.Helpers.isTwoValueEquals(this.value, control.value, false, true, false)) {
control.value = this.value;
}
}
};
return TextQuestionComponent;
}(QuestionAngular));
TextQuestionComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TextQuestionComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
TextQuestionComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TextQuestionComponent, selector: "sv-ng-text-question", viewQueries: [{ propertyName: "inputElementRef", first: true, predicate: ["inputElement"], descendants: true }], usesInheritance: true, ngImport: i0__namespace, template: " <ng-container [ngTemplateOutlet]=\"input\" *ngIf=\"!model.dataListId && !model.isReadOnlyRenderDiv()\"></ng-container>\n <div *ngIf=\"model.dataListId && !model.isReadOnlyRenderDiv()\">\n <ng-container [ngTemplateOutlet]=\"input\"></ng-container>\n <datalist [id]=\"model.dataListId\">\n <option *ngFor=\"let dataListItem of model.dataList\" [value]=\"dataListItem\"></option>\n </datalist>\n </div>\n <div *ngIf=\"model.isReadOnlyRenderDiv()\" #contentElement>{{ value }}</div>\n <ng-template #input>\n <input #inputElement [style]=\"model.inputStyle\" [class]=\"model.getControlClass()\" [attr.list]=\"model.dataListId\"\n (change)=\"model.onChange($event)\" [value]=\"value\" [disabled]=\"model.isDisabledAttr\" [type]=\"model.inputType\" [id]=\"model.inputId\" [attr.placeholder]=\"model.renderedPlaceholder\"\n (keyup)=\"model.onKeyUp($event)\" (keydown)=\"model.onKeyDown($event)\" (blur)=\"blur($event)\" (focus)=\"model.onFocus($event)\" (compositionupdate)=\"model.onCompositionUpdate($event)\" \n [attr.size] = \"model.renderedInputSize\" [attr.maxlength]= \"model.getMaxLength()\" [attr.min]=\"model.renderedMin\" [readonly]=\"model.isReadOnlyAttr\"\n [attr.max]=\"model.renderedMax\" [attr.step]=\"model.renderedStep\" [attr.max]=\"model.renderedMax\" [attr.aria-required]=\"model.a11y_input_ariaRequired\"\n [attr.aria-label]=\"model.a11y_input_ariaLabel\" [attr.aria-labelledby]=\"model.a11y_input_ariaLabelledBy\" [attr.aria-describedby]=\"model.a11y_input_ariaDescribedBy\"[attr.aria-invalid]=\"model.a11y_input_ariaInvalid\" [attr.aria-errormessage]=\"model.a11y_input_ariaErrormessage\" [attr.autocomplete]=\"model.autocomplete\" #contentElement/>\n <sv-ng-character-counter *ngIf=\"model.getMaxLength()\" \n [counter]=\"model.characterCounter\"\n [remainingCharacterCounter]=\"model.cssClasses.remainingCharacterCounter\">\n </sv-ng-character-counter>\n </ng-template>", styles: [""], components: [{ type: CharacterCounterComponent, selector: "sv-ng-character-counter", inputs: ["counter", "remainingCharacterCounter"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2__namespace$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i2__namespace$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TextQuestionComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-text-question",
templateUrl: "./text.component.html",
styleUrls: ["./text.component.scss"]
}]
}], propDecorators: { inputElementRef: [{
type: i0.ViewChild,
args: ["inputElement"]
}] } });
AngularComponentFactory.Instance.registerComponent("text-question", TextQuestionComponent);
var HtmlQuestionComponent = /** @class */ (function (_super) {
__extends(HtmlQuestionComponent, _super);
function HtmlQuestionComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
HtmlQuestionComponent.prototype.onModelChanged = function () {
var _this = this;
_super.prototype.onModelChanged.call(this);
this.model.locHtml.onChanged = function () {
_this.detectChanges();
};
};
HtmlQuestionComponent.prototype.ngOnDestroy = function () {
this.model.locHtml.onChanged = function () { };
_super.prototype.ngOnDestroy.call(this);
};
return HtmlQuestionComponent;
}(QuestionAngular));
HtmlQuestionComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: HtmlQuestionComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
HtmlQuestionComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: HtmlQuestionComponent, selector: "sv-ng-html-question", usesInheritance: true, ngImport: i0__namespace, template: "<div [class]=\"model.renderCssRoot\" [innerHTML]=\"model.locHtml.renderedHtml | safeHtml\" #contentElement></div>", pipes: { "safeHtml": SafeHtmlPipe } });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: HtmlQuestionComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-html-question",
templateUrl: "./html.component.html",
styleUrls: []
}]
}] });
AngularComponentFactory.Instance.registerComponent("html-question", HtmlQuestionComponent);
var SelectBaseComponent = /** @class */ (function (_super) {
__extends(SelectBaseComponent, _super);
function SelectBaseComponent() {
var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
_this.inputType = "checkbox";
_this.showLegend = true;
return _this;
}
SelectBaseComponent.prototype.getDefaultComponentName = function () {
return "sv-ng-selectbase-item";
};
SelectBaseComponent.prototype.trackItemBy = function (_, item) {
return item.value;
};
SelectBaseComponent.prototype.trackColumnBy = function (index) {
return index;
};
SelectBaseComponent.prototype.getItemValueComponentName = function (item) {
return this.model.getItemValueWrapperComponentName(item) || this.getDefaultComponentName();
};
SelectBaseComponent.prototype.getItemValueComponentData = function (item) {
var itemComponentProperty = this.model.getPropertyByName("itemComponent");
var isDefaultItemComponent = itemComponentProperty.isDefaultValue(this.model.itemComponent);
var itemComponent = isDefaultItemComponent ? this.getDefaultComponentName() : this.model.itemComponent;
return {
componentName: itemComponent,
componentData: {
question: this.model,
model: item,
inputType: this.inputType,
data: this.model.getItemValueWrapperComponentData(item)
}
};
};
return SelectBaseComponent;
}(QuestionAngular));
SelectBaseComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SelectBaseComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
SelectBaseComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SelectBaseComponent, selector: "['sv-ng-selectbase']", inputs: { model: "model" }, usesInheritance: true, ngImport: i0__namespace, template: "<fieldset [class]=\"model.getSelectBaseRootCss()\" #contentElement \n [attr.role]=\"model.a11y_input_ariaRole\"\n [attr.aria-required]=\"model.a11y_input_ariaRequired\"\n [attr.aria-label]=\"model.a11y_input_ariaLabel\"\n [attr.aria-labelledby]=\"model.a11y_input_ariaLabelledBy\"\n [attr.aria-describedby]=\"model.a11y_input_ariaDescribedBy\"\n [attr.aria-invalid]=\"model.a11y_input_ariaInvalid\"\n [attr.aria-errormessage]=\"model.a11y_input_ariaErrormessage\"\n>\n <legend *ngIf=\"showLegend\" class=\"sv-hidden\">{{model.locTitle.renderedHtml}}</legend>\n <ng-container *ngIf=\"model.hasHeadItems\">\n <ng-container *ngFor=\"let item of model.headItems; trackBy: trackItemBy\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!model.hasColumns && !model.blockedRow\">\n <ng-container *ngFor=\"let item of model.bodyItems; trackBy: trackItemBy\" >\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </ng-container>\n <div [class]=\"model.cssClasses.rootRow\" *ngIf=\"!model.hasColumns && model.blockedRow\">\n <ng-container *ngFor=\"let item of model.dataChoices; trackBy: trackItemBy\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </div>\n <ng-container *ngIf=\"model.hasColumns\">\n <div [class]=\"model.cssClasses.rootMultiColumn\">\n <div [class]=\"model.getColumnClass()\" *ngFor=\"let column of model.columns; trackBy: trackColumnBy\" role=\"presentation\">\n <ng-container *ngFor=\"let item of column; trackBy: trackItemBy\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </div>\n </div>\n </ng-container>\n <ng-container *ngIf=\"model.hasFootItems\">\n <ng-container *ngFor=\"let item of model.footItems; trackBy: trackItemBy\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </ng-container>\n <div *ngIf=\"model.isOtherSelected\" [class]=\"model.getCommentAreaCss(true)\" [question]=\"model\" sv-ng-comment-other></div>\n <div *ngIf=\"model.showClearButtonInContent\">\n <input\n type=\"button\"\n (click)=\"model.clearValue(true)\"\n [value]=\"model.clearButtonCaption\"\n [class]=\"model.cssClasses.clearButton\"\n />\n </div>\n</fieldset>", components: [{ type: SurveyCommentOtherComponent, selector: "sv-ng-comment-other, '[sv-ng-comment-other]'", inputs: ["question"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SelectBaseComponent, decorators: [{
type: i0.Component,
args: [{
selector: "['sv-ng-selectbase']",
templateUrl: "./selectbase.component.html"
}]
}], propDecorators: { model: [{
type: i0.Input
}] } });
AngularComponentFactory.Instance.registerComponent("selectbase", SelectBaseComponent);
var RadiogroupComponent = /** @class */ (function (_super) {
__extends(RadiogroupComponent, _super);
function RadiogroupComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
RadiogroupComponent.prototype.ngOnInit = function () {
this.inputType = "radio";
this.showLegend = false;
_super.prototype.ngOnInit.call(this);
};
return RadiogroupComponent;
}(SelectBaseComponent));
RadiogroupComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RadiogroupComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
RadiogroupComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: RadiogroupComponent, selector: "sv-ng-radiogroup-question", usesInheritance: true, ngImport: i0__namespace, template: "<fieldset [class]=\"model.getSelectBaseRootCss()\" #contentElement \n [attr.role]=\"model.a11y_input_ariaRole\"\n [attr.aria-required]=\"model.a11y_input_ariaRequired\"\n [attr.aria-label]=\"model.a11y_input_ariaLabel\"\n [attr.aria-labelledby]=\"model.a11y_input_ariaLabelledBy\"\n [attr.aria-describedby]=\"model.a11y_input_ariaDescribedBy\"\n [attr.aria-invalid]=\"model.a11y_input_ariaInvalid\"\n [attr.aria-errormessage]=\"model.a11y_input_ariaErrormessage\"\n>\n <legend *ngIf=\"showLegend\" class=\"sv-hidden\">{{model.locTitle.renderedHtml}}</legend>\n <ng-container *ngIf=\"model.hasHeadItems\">\n <ng-container *ngFor=\"let item of model.headItems; trackBy: trackItemBy\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!model.hasColumns && !model.blockedRow\">\n <ng-container *ngFor=\"let item of model.bodyItems; trackBy: trackItemBy\" >\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </ng-container>\n <div [class]=\"model.cssClasses.rootRow\" *ngIf=\"!model.hasColumns && model.blockedRow\">\n <ng-container *ngFor=\"let item of model.dataChoices; trackBy: trackItemBy\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </div>\n <ng-container *ngIf=\"model.hasColumns\">\n <div [class]=\"model.cssClasses.rootMultiColumn\">\n <div [class]=\"model.getColumnClass()\" *ngFor=\"let column of model.columns; trackBy: trackColumnBy\" role=\"presentation\">\n <ng-container *ngFor=\"let item of column; trackBy: trackItemBy\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </div>\n </div>\n </ng-container>\n <ng-container *ngIf=\"model.hasFootItems\">\n <ng-container *ngFor=\"let item of model.footItems; trackBy: trackItemBy\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </ng-container>\n <div *ngIf=\"model.isOtherSelected\" [class]=\"model.getCommentAreaCss(true)\" [question]=\"model\" sv-ng-comment-other></div>\n <div *ngIf=\"model.showClearButtonInContent\">\n <input\n type=\"button\"\n (click)=\"model.clearValue(true)\"\n [value]=\"model.clearButtonCaption\"\n [class]=\"model.cssClasses.clearButton\"\n />\n </div>\n</fieldset>", components: [{ type: SurveyCommentOtherComponent, selector: "sv-ng-comment-other, '[sv-ng-comment-other]'", inputs: ["question"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RadiogroupComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-radiogroup-question",
templateUrl: "./selectbase.component.html"
}]
}] });
AngularComponentFactory.Instance.registerComponent("radiogroup-question", RadiogroupComponent);
var RadiogroupItemComponent = /** @class */ (function () {
function RadiogroupItemComponent() {
}
return RadiogroupItemComponent;
}());
RadiogroupItemComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RadiogroupItemComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
RadiogroupItemComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: RadiogroupItemComponent, selector: "sv-ng-radiogroup-item, '[sv-ng-radiogroup-item]'", inputs: { question: "question", model: "model" }, ngImport: i0__namespace, template: "<input type=\"radio\" [name]=\"question.questionName\" [attr.name]=\"question.questionName\" [id]=\"question.getItemId(model)\" [attr.aria-errormessage]=\"question.ariaErrormessage\" [class]=\"question.cssClasses.itemControl\"\n [disabled]=\"!question.getItemEnabled(model)\" [readonly]=\"question.isReadOnlyAttr\" [(ngModel)]=\"question.renderedValue\" [attr.value]=\"model.value\" [value]=\"model.value\"\n/>\n<ng-content></ng-content>", styles: [""], directives: [{ type: i2__namespace$1.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { type: i2__namespace$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i2__namespace$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2__namespace$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RadiogroupItemComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-radiogroup-item, '[sv-ng-radiogroup-item]'",
templateUrl: "./radiogroup-item.component.html",
styleUrls: ["./radiogroup-item.component.scss"]
}]
}], ctorParameters: function () { return []; }, propDecorators: { question: [{
type: i0.Input
}], model: [{
type: i0.Input
}] } });
var CheckboxComponent = /** @class */ (function (_super) {
__extends(CheckboxComponent, _super);
function CheckboxComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
return CheckboxComponent;
}(SelectBaseComponent));
CheckboxComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CheckboxComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
CheckboxComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CheckboxComponent, selector: "sv-ng-checkbox-question", usesInheritance: true, ngImport: i0__namespace, template: "<fieldset [class]=\"model.getSelectBaseRootCss()\" #contentElement \n [attr.role]=\"model.a11y_input_ariaRole\"\n [attr.aria-required]=\"model.a11y_input_ariaRequired\"\n [attr.aria-label]=\"model.a11y_input_ariaLabel\"\n [attr.aria-labelledby]=\"model.a11y_input_ariaLabelledBy\"\n [attr.aria-describedby]=\"model.a11y_input_ariaDescribedBy\"\n [attr.aria-invalid]=\"model.a11y_input_ariaInvalid\"\n [attr.aria-errormessage]=\"model.a11y_input_ariaErrormessage\"\n>\n <legend *ngIf=\"showLegend\" class=\"sv-hidden\">{{model.locTitle.renderedHtml}}</legend>\n <ng-container *ngIf=\"model.hasHeadItems\">\n <ng-container *ngFor=\"let item of model.headItems; trackBy: trackItemBy\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!model.hasColumns && !model.blockedRow\">\n <ng-container *ngFor=\"let item of model.bodyItems; trackBy: trackItemBy\" >\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </ng-container>\n <div [class]=\"model.cssClasses.rootRow\" *ngIf=\"!model.hasColumns && model.blockedRow\">\n <ng-container *ngFor=\"let item of model.dataChoices; trackBy: trackItemBy\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </div>\n <ng-container *ngIf=\"model.hasColumns\">\n <div [class]=\"model.cssClasses.rootMultiColumn\">\n <div [class]=\"model.getColumnClass()\" *ngFor=\"let column of model.columns; trackBy: trackColumnBy\" role=\"presentation\">\n <ng-container *ngFor=\"let item of column; trackBy: trackItemBy\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </div>\n </div>\n </ng-container>\n <ng-container *ngIf=\"model.hasFootItems\">\n <ng-container *ngFor=\"let item of model.footItems; trackBy: trackItemBy\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </ng-container>\n <div *ngIf=\"model.isOtherSelected\" [class]=\"model.getCommentAreaCss(true)\" [question]=\"model\" sv-ng-comment-other></div>\n <div *ngIf=\"model.showClearButtonInContent\">\n <input\n type=\"button\"\n (click)=\"model.clearValue(true)\"\n [value]=\"model.clearButtonCaption\"\n [class]=\"model.cssClasses.clearButton\"\n />\n </div>\n</fieldset>", components: [{ type: SurveyCommentOtherComponent, selector: "sv-ng-comment-other, '[sv-ng-comment-other]'", inputs: ["question"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CheckboxComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-checkbox-question",
templateUrl: "./selectbase.component.html"
}]
}] });
AngularComponentFactory.Instance.registerComponent("checkbox-question", CheckboxComponent);
var CheckboxItemComponent = /** @class */ (function () {
function CheckboxItemComponent() {
}
CheckboxItemComponent.prototype.onChange = function (event) {
this.question["clickItemHandler"](this.model, event.target.checked);
};
CheckboxItemComponent.prototype.onSelectAllChange = function (event) {
this.question.toggleSelectAll();
};
return CheckboxItemComponent;
}());
CheckboxItemComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CheckboxItemComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
CheckboxItemComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CheckboxItemComponent, selector: "sv-ng-checkbox-item, '[sv-ng-checkbox-item]'", inputs: { question: "question", model: "model" }, ngImport: i0__namespace, template: "<input type=\"checkbox\" [name]=\"question.name+model.id\" [id]=\"question.getItemId(model)\" [class]=\"question.cssClasses.itemControl\" [required]=\"question.hasRequiredError()\"\n [disabled]=\"!question.getItemEnabled(model)\" [readonly]=\"question.isReadOnlyAttr\" [checked]=\"question.isItemSelected(model)\" [value]=\"model.value\" (change)=\"onChange($event)\"/>\n<ng-content></ng-content>", styles: [""] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CheckboxItemComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-checkbox-item, '[sv-ng-checkbox-item]'",
templateUrl: "./checkbox-item.component.html",
styleUrls: ["./checkbox-item.component.scss"]
}]
}], ctorParameters: function () { return []; }, propDecorators: { question: [{
type: i0.Input
}], model: [{
type: i0.Input
}] } });
var DropdownQuestionComponent = /** @class */ (function (_super) {
__extends(DropdownQuestionComponent, _super);
function DropdownQuestionComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
return DropdownQuestionComponent;
}(QuestionAngular));
DropdownQuestionComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DropdownQuestionComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
DropdownQuestionComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DropdownQuestionComponent, selector: "sv-ng-dropdown-question", usesInheritance: true, ngImport: i0__namespace, template: "<div [class]=\"model.renderCssRoot\" #contentElement>\n <sv-ng-dropdown [model]=\"model\"></sv-ng-dropdown>\n <div *ngIf=\"model.isOtherSelected\" [class]=\"model.getCommentAreaCss(true)\" [question]=\"model\" sv-ng-comment-other></div>\n</div>", components: [{ type: DropdownComponent, selector: "sv-ng-dropdown, '[sv-ng-dropdown]'", inputs: ["model"] }, { type: SurveyCommentOtherComponent, selector: "sv-ng-comment-other, '[sv-ng-comment-other]'", inputs: ["question"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DropdownQuestionComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-dropdown-question",
templateUrl: "./dropdown.component.html"
}]
}] });
AngularComponentFactory.Instance.registerComponent("dropdown-question", DropdownQuestionComponent);
var TagboxQuestionComponent = /** @class */ (function (_super) {
__extends(TagboxQuestionComponent, _super);
function TagboxQuestionComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
return TagboxQuestionComponent;
}(QuestionAngular));
TagboxQuestionComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TagboxQuestionComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
TagboxQuestionComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TagboxQuestionComponent, selector: "sv-ng-tagbox-question", usesInheritance: true, ngImport: i0__namespace, template: "<div [class]=\"model.renderCssRoot\" #contentElement>\n <sv-ng-tagbox [model]=\"model\"></sv-ng-tagbox>\n <div *ngIf=\"model.isOtherSelected\" [class]=\"model.getCommentAreaCss(true)\" [question]=\"model\" sv-ng-comment-other></div>\n</div>", components: [{ type: TagboxComponent, selector: "sv-ng-tagbox, '[sv-ng-tagbox]'", inputs: ["model"] }, { type: SurveyCommentOtherComponent, selector: "sv-ng-comment-other, '[sv-ng-comment-other]'", inputs: ["question"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TagboxQuestionComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-tagbox-question",
templateUrl: "./tagbox.component.html"
}]
}] });
AngularComponentFactory.Instance.registerComponent("tagbox-question", TagboxQuestionComponent);
var RatingQuestionComponent = /** @class */ (function (_super) {
__extends(RatingQuestionComponent, _super);
function RatingQuestionComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
RatingQuestionComponent.prototype.trackByFn = function (index) {
return index;
};
RatingQuestionComponent.prototype.onClick = function (event) {
event.stopPropagation();
this.model.setValueFromClick(event.target.value);
};
return RatingQuestionComponent;
}(QuestionAngular));
RatingQuestionComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RatingQuestionComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
RatingQuestionComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: RatingQuestionComponent, selector: "sv-ng-rating-question", usesInheritance: true, ngImport: i0__namespace, template: " <div [class]=\"model.ratingRootCss\" #contentElement>\n <fieldset role=\"radiogroup\">\n <legend role=\"presentation\" class=\"sv-hidden\"></legend>\n <span *ngIf=\"model.hasMinLabel\" [class]=\"model.cssClasses.minText\" [model]=\"model.locMinRateDescription\" sv-ng-string>\n </span>\n <ng-template *ngFor=\"let item of model.renderedRateItems; index as index; trackBy: trackByFn\" [component]=\"{ name: model.itemComponent, data: {model: model, item: item, index: index }}\"></ng-template>\n <span *ngIf=\"model.hasMaxLabel\" [class]=\"model.cssClasses.maxText\" [model]=\"model.locMaxRateDescription\" sv-ng-string></span>\n </fieldset>\n </div>\n", components: [{ type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RatingQuestionComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-rating-question",
templateUrl: "./rating.component.html"
}]
}] });
AngularComponentFactory.Instance.registerComponent("rating-question", RatingQuestionComponent);
var BooleanQuestionComponent = /** @class */ (function (_super) {
__extends(BooleanQuestionComponent, _super);
function BooleanQuestionComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
BooleanQuestionComponent.prototype.onChange = function (event) {
this.model.booleanValue = event.target.value;
};
return BooleanQuestionComponent;
}(QuestionAngular));
BooleanQuestionComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: BooleanQuestionComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
BooleanQuestionComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: BooleanQuestionComponent, selector: "sv-ng-boolean-question", usesInheritance: true, ngImport: i0__namespace, template: "<div [class]=\"model.cssClasses.root\" (keydown)=\"model.onKeyDownCore($event)\" #contentElement>\n <label [class]=\"model.getItemCss()\">\n <input\n type=\"checkbox\"\n [attr.name]=\"model.name\" [attr.id]=\"model.inputId\" \n [attr.role]=\"model.a11y_input_ariaRole\"\n [attr.aria-required]=\"model.a11y_input_ariaRequired\"\n [attr.aria-label]=\"model.a11y_input_ariaLabel\"\n [attr.aria-labelledby]=\"model.a11y_input_ariaLabelledBy\"\n [attr.aria-describedby]=\"model.a11y_input_ariaDescribedBy\"\n [attr.aria-invalid]=\"model.a11y_input_ariaInvalid\"\n [attr.aria-errormessage]=\"model.a11y_input_ariaErrormessage\"\n [class]=\"model.cssClasses.control\" [disabled]=\"model.isDisabledAttr\" [readonly]=\"model.isReadOnlyAttr\" [indeterminate]=\"model.isIndeterminate\" [value]=\"model.booleanValue\" [(ngModel)]=\"model.booleanValue\" />\n <div [class]=\"model.cssClasses.sliderGhost\" (click)=\"model.onLabelClick($event, model.swapOrder)\">\n <span [class]=\"model.getLabelCss(model.swapOrder)\" [model]=\"model.locLabelLeft\" sv-ng-string></span>\n </div>\n <div [class]=\"model.cssClasses.switch\" (click)=\"model.onSwitchClickModel($event)\">\n <span [class]=\"model.cssClasses.slider\">\n <span *ngIf=\"model.cssClasses.sliderText && model.isDeterminated\" [class]=\"model.cssClasses.sliderText\" [model]=\"model.getCheckedLabel()\" sv-ng-string></span>\n </span>\n </div>\n <div [class]=\"model.cssClasses.sliderGhost\" (click)=\"model.onLabelClick($event, !model.swapOrder)\">\n <span [class]=\"model.getLabelCss(!model.swapOrder)\" [model]=\"model.locLabelRight\" sv-ng-string></span>\n </div>\n </label>\n</div>", components: [{ type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2__namespace$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i2__namespace$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2__namespace$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: BooleanQuestionComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-boolean-question",
templateUrl: "./boolean.component.html"
}]
}] });
AngularComponentFactory.Instance.registerComponent("boolean-question", BooleanQuestionComponent);
var ImagePickerItemComponent = /** @class */ (function (_super) {
__extends(ImagePickerItemComponent, _super);
function ImagePickerItemComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
ImagePickerItemComponent.prototype.getModel = function () {
return this.model;
};
ImagePickerItemComponent.prototype.onChange = function (event) {
if (this.question.isReadOnlyAttr)
return;
if (this.question.multiSelect) {
if (event.target.checked) {
this.question.value = this.question.value.concat(event.target.value);
}
else {
var currValue = this.question.value;
currValue.splice(this.question.value.indexOf(event.target.value), 1);
this.question.value = currValue;
}
}
else {
this.question.value = event.target.value;
}
};
ImagePickerItemComponent.prototype.ngAfterViewInit = function () {
var _this = this;
this.model.locImageLink.onChanged = function () {
_this.detectChanges();
};
};
ImagePickerItemComponent.prototype.ngOnDestroy = function () {
_super.prototype.ngOnDestroy.call(this);
this.model.locImageLink.onChanged = function () { };
};
return ImagePickerItemComponent;
}(BaseAngular));
ImagePickerItemComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ImagePickerItemComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
ImagePickerItemComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ImagePickerItemComponent, selector: "sv-ng-imagepicker-item", inputs: { question: "question", model: "model" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div [class]=\"question.getItemClass(model)\">\n <label [class]=\"question.cssClasses.label\">\n <input [type]=\"question.inputType\" [attr.name]=\"question.questionName\" [attr.value]=\"model.value\" [id]=\"question.getItemId(model)\" [attr.aria-required]=\"question.ariaRequired\" [attr.aria-label]=\"model.locText.renderedHtml\" [attr.aria-invalid]=\"question.ariaInvalid\" [attr.aria-errormessage]=\"question.ariaErrormessage\"\n (change)=\"onChange($event)\" [checked]=\"question.isItemSelected(model)\" [disabled]=\"!question.getItemEnabled(model)\" [readonly]=\"question.isReadOnlyAttr\" [class]=\"question.cssClasses.itemControl\"\n />\n <div [class]=\"question.cssClasses.itemDecorator\">\n <div [class]=\"question.cssClasses.imageContainer\">\n <span *ngIf=\"question.cssClasses.checkedItemDecorator\" [class]=\"question.cssClasses.checkedItemDecorator\" aria-hidden=\"true\">\n <svg *ngIf=\"question.cssClasses.checkedItemSvgIconId\" [class]=\"question.cssClasses.checkedItemSvgIcon\" [iconName]=\"question.cssClasses.checkedItemSvgIconId\" [size]=\"'auto'\" sv-ng-svg-icon></svg>\n </span>\n <img *ngIf=\"model.locImageLink.renderedHtml && !model.contentNotLoaded && question.contentMode === 'image'\" [class]=\"question.cssClasses.image\" [attr.src]=\"model.locImageLink.renderedHtml\" [attr.width]=\"question.renderedImageWidth\" [attr.height]=\"question.renderedImageHeight\" [attr.alt]=\"model.locText.renderedHtml\" [style.objectFit]=\"question.imageFit\" (load)=\"question.onContentLoaded(model, $event)\" (error)=\"model.onErrorHandler()\"/>\n <video *ngIf=\"model.locImageLink.renderedHtml && !model.contentNotLoaded && question.contentMode === 'video'\" controls [class]=\"question.cssClasses.image\" [attr.src]=\"model.locImageLink.renderedHtml\" [attr.width]=\"question.renderedImageWidth\" [attr.height]=\"question.renderedImageHeight\" [style.objectFit]=\"question.imageFit\" (loadedmetadata)=\"question.onContentLoaded(model, $event)\" (error)=\"model.onErrorHandler()\"></video>\n <div *ngIf=\"!model.locImageLink.renderedHtml || model.contentNotLoaded\" [class]=\"question.cssClasses.itemNoImage\" [style.width]=\"question.renderedImageWidth + 'px'\" [style.height]=\"question.renderedImageHeight + 'px'\" [style.objectFit]=\"question.imageFit\">\n <svg *ngIf=\"question.cssClasses.itemNoImageSvgIconId\" [class]=\"question.cssClasses.itemNoImageSvgIcon\" [iconName]=\"question.cssClasses.itemNoImageSvgIconId\" [size]=\"48\" sv-ng-svg-icon></svg>\n </div>\n </div>\n <span *ngIf=\"question.showLabel\" [class]=\"question.cssClasses.itemText\" [model]=\"model.locText\" sv-ng-string></span>\n </div>\n </label>\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ImagePickerItemComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-imagepicker-item",
templateUrl: "./imagepicker-item.component.html",
styles: [":host { display: none; }"]
}]
}], propDecorators: { question: [{
type: i0.Input
}], model: [{
type: i0.Input
}] } });
AngularComponentFactory.Instance.registerComponent("sv-ng-imagepicker-item", ImagePickerItemComponent);
var ImagePickerQuestionComponent = /** @class */ (function (_super) {
__extends(ImagePickerQuestionComponent, _super);
function ImagePickerQuestionComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
ImagePickerQuestionComponent.prototype.getItemValueComponentName = function (item) {
return this.model.getItemValueWrapperComponentName(item) || "sv-ng-imagepicker-item";
};
ImagePickerQuestionComponent.prototype.getItemValueComponentData = function (item) {
return {
componentName: "sv-ng-imagepicker-item",
componentData: {
question: this.model,
model: item,
data: this.model.getItemValueWrapperComponentData(item)
}
};
};
return ImagePickerQuestionComponent;
}(QuestionAngular));
ImagePickerQuestionComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ImagePickerQuestionComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
ImagePickerQuestionComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ImagePickerQuestionComponent, selector: "sv-ng-imagepicker-question", usesInheritance: true, ngImport: i0__namespace, template: "<fieldset [class]=\"model.getSelectBaseRootCss()\" [style]=\"model.getContainerStyle()\" #contentElement>\n <legend class=\"sv-hidden\">{{model.locTitle.renderedHtml}}</legend>\n <ng-container *ngIf=\"!model.hasColumns\">\n <ng-container *ngFor=\"let item of model.visibleChoices\">\n <ng-template\n [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"model.hasColumns\">\n <div *ngFor=\"let column of model.columns\" [class]=\"model.getColumnClass()\" role=\"presentation\">\n <ng-container *ngFor=\"let item of column\">\n <ng-template\n [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </div>\n </ng-container>\n</fieldset>", directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ImagePickerQuestionComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-imagepicker-question",
templateUrl: "./imagepicker.component.html"
}]
}] });
AngularComponentFactory.Instance.registerComponent("imagepicker-question", ImagePickerQuestionComponent);
var ButtonGroupItemComponent = /** @class */ (function (_super) {
__extends(ButtonGroupItemComponent, _super);
function ButtonGroupItemComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
ButtonGroupItemComponent.prototype.ngOnChanges = function () {
this.model = new Survey.ButtonGroupItemModel(this.question, this.item, this.index);
};
ButtonGroupItemComponent.prototype.getModel = function () {
return this.item;
};
return ButtonGroupItemComponent;
}(BaseAngular));
ButtonGroupItemComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ButtonGroupItemComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
ButtonGroupItemComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ButtonGroupItemComponent, selector: "sv-button-group-item", inputs: { item: "item", question: "question", index: "index" }, usesInheritance: true, usesOnChanges: true, ngImport: i0__namespace, template: "<ng-template #template>\n <label [class]=\"model.css.label\" [attr.title]=\"model.caption.renderedHtml\">\n <input type=\"radio\"\n [attr.name]=\"model.name\" [attr.id]=\"model.id\" [attr.aria-required]=\"model.isRequired\" [attr.aria-label]=\"model.caption.renderedHtml\" [attr.aria-invalid]=\"model.hasErrors\" [attr.aria-errormessage]=\"model.describedBy\" [disabled]=\"model.readOnly\" [class]=\"model.css.control\" [(ngModel)]=\"question.renderedValue\" [attr.value]=\"model.value\" [value]=\"model.value\"/>\n <div [class]=\"model.css.decorator\">\n <svg *ngIf=\"model.iconName\" [iconName]=\"model.iconName\" [size]=\"model.iconSize\" [class]=\"model.css.icon\" sv-ng-svg-icon></svg>\n <span [class]=\"model.css.caption\" *ngIf=\"model.showCaption\" [attr.title]=\"model.caption.renderedHtml\" sv-ng-string [model]=\"model.caption\">\n </span>\n </div>\n </label>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2__namespace$1.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { type: i2__namespace$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i2__namespace$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2__namespace$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ButtonGroupItemComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-button-group-item",
templateUrl: "./button-group-item.component.html",
styleUrls: ["../../hide-host.scss"]
}]
}], propDecorators: { item: [{
type: i0.Input
}], question: [{
type: i0.Input
}], index: [{
type: i0.Input
}] } });
var ButtonGroupQuestionComponent = /** @class */ (function (_super) {
__extends(ButtonGroupQuestionComponent, _super);
function ButtonGroupQuestionComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
return ButtonGroupQuestionComponent;
}(QuestionAngular));
ButtonGroupQuestionComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ButtonGroupQuestionComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
ButtonGroupQuestionComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ButtonGroupQuestionComponent, selector: "sv-ng-buttongroup-question", usesInheritance: true, ngImport: i0__namespace, template: "<div role=\"group\" [class]=\"model.cssClasses.root\">\n <sv-button-group-item *ngFor=\"let item of model.visibleChoices; index as index\" [question]=\"model\" [item]=\"item\" [index]=\"index\" ></sv-button-group-item>\n</div>\n", components: [{ type: ButtonGroupItemComponent, selector: "sv-button-group-item", inputs: ["item", "question", "index"] }], directives: [{ type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ButtonGroupQuestionComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-buttongroup-question",
templateUrl: "./button-group.component.html"
}]
}] });
AngularComponentFactory.Instance.registerComponent("buttongroup-question", ButtonGroupQuestionComponent);
var ComponentsContainerComponent = /** @class */ (function (_super) {
__extends(ComponentsContainerComponent, _super);
function ComponentsContainerComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
Object.defineProperty(ComponentsContainerComponent.prototype, "components", {
get: function () {
return this.survey.getContainerContent(this.container);
},
enumerable: false,
configurable: true
});
Object.defineProperty(ComponentsContainerComponent.prototype, "isNeedRenderWrapper", {
get: function () {
return this.needRenderWrapper === false ? false : true;
},
enumerable: false,
configurable: true
});
return ComponentsContainerComponent;
}(EmbeddedViewContentComponent));
ComponentsContainerComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ComponentsContainerComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
ComponentsContainerComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ComponentsContainerComponent, selector: "sv-components-container, [sv-components-container], sv-ng-components-container", inputs: { survey: "survey", container: "container", needRenderWrapper: "needRenderWrapper" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <ng-container *ngIf=\"isNeedRenderWrapper\">\n <div *ngIf=\"components.length > 0\" [class]=\"'sv-components-column' + ' sv-components-container-' + container\">\n <ng-container *ngFor=\"let component of components\">\n <ng-template [component]=\"{ name: component.component, data: { survey: survey, container: container, model: component.data } }\"></ng-template>\n </ng-container>\n </div>\n </ng-container>\n <ng-container *ngIf=\"!isNeedRenderWrapper && components.length > 0\">\n <ng-container *ngFor=\"let component of components\">\n <ng-template [component]=\"{ name: component.component, data: { survey: survey, container: container, model: component.data } }\"></ng-template>\n </ng-container>\n </ng-container>\n</ng-template>", styles: [":host{display:none}\n"], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ComponentsContainerComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-components-container, [sv-components-container], sv-ng-components-container",
templateUrl: "./components-container.component.html",
styleUrls: ["./hide-host.scss"]
}]
}], propDecorators: { survey: [{
type: i0.Input
}], container: [{
type: i0.Input
}], needRenderWrapper: [{
type: i0.Input
}] } });
AngularComponentFactory.Instance.registerComponent("sv-components-container", ComponentsContainerComponent);
var Key2ClickDirective = /** @class */ (function () {
function Key2ClickDirective(el) {
var _this = this;
this.el = el;
this.isSubscribed = false;
this.options = Object.assign({}, Key2ClickDirective.defaultOptions);
this.onkeyup = function (evt) {
evt.preventDefault();
evt.stopPropagation();
Survey.doKey2ClickUp(evt, _this.options);
return false;
};
this.subscribeEventListeners();
}
Key2ClickDirective.prototype.onkeydown = function (evt) {
Survey.doKey2ClickDown(evt, this.options);
};
Key2ClickDirective.prototype.blur = function (evt) {
Survey.doKey2ClickBlur(evt);
};
Object.defineProperty(Key2ClickDirective.prototype, "element", {
get: function () {
return this.el.nativeElement;
},
enumerable: false,
configurable: true
});
Key2ClickDirective.prototype.subscribeEventListeners = function () {
if (this.isSubscribed)
return;
this.element.tabIndex = 0;
this.element.addEventListener("keyup", this.onkeyup.bind(this));
this.element.addEventListener("keydown", this.onkeydown.bind(this));
this.element.addEventListener("blur", this.blur);
this.isSubscribed = true;
};
Key2ClickDirective.prototype.unsubscribeEventListeners = function () {
if (!this.isSubscribed)
return;
this.element.tabIndex = -1;
this.element.removeEventListener("keyup", this.onkeyup.bind(this));
this.element.removeEventListener("keydown", this.onkeydown.bind(this));
this.element.removeEventListener("blur", this.blur);
this.isSubscribed = false;
};
Key2ClickDirective.prototype.ngOnChanges = function (changes) {
var curValue = changes["key2click"].currentValue;
if (curValue.disableTabStop) {
this.unsubscribeEventListeners();
}
else {
this.subscribeEventListeners();
}
this.options = Object.assign({}, Key2ClickDirective.defaultOptions, curValue);
};
Key2ClickDirective.prototype.ngOnDestroy = function () {
this.unsubscribeEventListeners();
};
return Key2ClickDirective;
}());
Key2ClickDirective.defaultOptions = { processEsc: true, disableTabStop: false };
Key2ClickDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: Key2ClickDirective, deps: [{ token: i0__namespace.ElementRef }], target: i0__namespace.ɵɵFactoryTarget.Directive });
Key2ClickDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: Key2ClickDirective, selector: "[key2click]", inputs: { key2click: "key2click" }, usesOnChanges: true, ngImport: i0__namespace });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: Key2ClickDirective, decorators: [{
type: i0.Directive,
args: [{
selector: "[key2click]"
}]
}], ctorParameters: function () { return [{ type: i0__namespace.ElementRef }]; }, propDecorators: { key2click: [{
type: i0.Input
}] } });
var ActionBarItemComponent = /** @class */ (function (_super) {
__extends(ActionBarItemComponent, _super);
function ActionBarItemComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
ActionBarItemComponent.prototype.getModel = function () {
return this.model;
};
return ActionBarItemComponent;
}(BaseAngular));
ActionBarItemComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ActionBarItemComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
ActionBarItemComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ActionBarItemComponent, selector: "sv-action-bar-item", inputs: { model: "model" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <button type=\"button\" (click)=\"model.doAction($event)\" (mousedown)=\"model.doMouseDown($event)\" (focus)=\"model.doFocus($event)\" [key2click]=\"{ processEsc: false, disableTabStop: model.disableTabStop }\" [class]=\"model.getActionBarItemCss()\" [attr.title]=\"model.tooltip || model.title\" [attr.aria-checked]=\"model.ariaChecked\" [attr.aria-expanded]=\"model.ariaExpanded\" [attr.role]=\"model.ariaRole\" [disabled]=\"model.disabled\">\n <svg *ngIf=\"model.iconName\" [iconName]=\"model.iconName\" [size]=\"model.iconSize\" [title]=\"model.tooltip || model.title\" [class]=\"model.cssClasses.itemIcon\" sv-ng-svg-icon></svg>\n <span *ngIf=\"model.hasTitle\" [class]=\"model.getActionBarItemTitleCss()\">{{ model.title }}</span>\n </button>\n<ng-template>", styles: [":host{display:none}\n"], components: [{ type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }], directives: [{ type: Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }, { type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ActionBarItemComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-action-bar-item",
templateUrl: "./action-bar-item.component.html",
styleUrls: ["../../hide-host.scss"]
}]
}], propDecorators: { model: [{
type: i0.Input
}] } });
AngularComponentFactory.Instance.registerComponent("sv-action-bar-item", ActionBarItemComponent);
var ActionBarItemDropdownComponent = /** @class */ (function (_super) {
__extends(ActionBarItemDropdownComponent, _super);
function ActionBarItemDropdownComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
ActionBarItemDropdownComponent.prototype.getModel = function () {
return this.model;
};
ActionBarItemDropdownComponent.prototype.ngOnInit = function () {
_super.prototype.ngOnInit.call(this);
this.viewModel = new Survey.ActionDropdownViewModel(this.model);
};
ActionBarItemDropdownComponent.prototype.ngOnDestroy = function () {
this.viewModel.dispose();
_super.prototype.ngOnDestroy.call(this);
};
return ActionBarItemDropdownComponent;
}(BaseAngular));
ActionBarItemDropdownComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ActionBarItemDropdownComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
ActionBarItemDropdownComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ActionBarItemDropdownComponent, selector: "sv-action-bar-item-dropdown", inputs: { model: "model" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <button type=\"button\" (click)=\"model.action(model, model.getIsTrusted($event))\" [key2click]=\"{ processEsc: false, disableTabStop: model.disableTabStop }\" [class]=\"model.getActionBarItemCss()\" [title]=\"model.tooltip || model.title\" [disabled]=\"model.disabled\" [attr.role]=\"model.ariaRole\">\n <svg *ngIf=\"model.iconName\" [iconName]=\"model.iconName\" [size]=\"model.iconSize\" [title]=\"model.tooltip || model.title\" [class]=\"model.cssClasses.itemIcon\" sv-ng-svg-icon></svg>\n <span *ngIf=\"model.hasTitle\" [class]=\"model.getActionBarItemTitleCss()\">{{ model.title }}</span>\n </button>\n <sv-ng-popup [popupModel]=\"model.popupModel\"></sv-ng-popup>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: PopupComponent, selector: "sv-ng-popup, '[sv-ng-popup]'", inputs: ["popupModel"] }], directives: [{ type: Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }, { type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ActionBarItemDropdownComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-action-bar-item-dropdown",
templateUrl: "./action-bar-item-dropdown.component.html",
styleUrls: ["../../hide-host.scss"]
}]
}], propDecorators: { model: [{
type: i0.Input
}] } });
AngularComponentFactory.Instance.registerComponent("sv-action-bar-item-dropdown", ActionBarItemDropdownComponent);
var SelectBaseItemComponent = /** @class */ (function (_super) {
__extends(SelectBaseItemComponent, _super);
function SelectBaseItemComponent() {
var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
_this.showLabel = true;
return _this;
}
SelectBaseItemComponent.prototype.getModel = function () {
return this.model;
};
SelectBaseItemComponent.prototype.onModelChanged = function () {
var _a;
_super.prototype.onModelChanged.call(this);
if (!this.question.isDesignMode) {
if (this.previousModel) {
this.previousModel.setRootElement(undefined);
}
if (this.model && ((_a = this.container) === null || _a === void 0 ? void 0 : _a.nativeElement)) {
this.model.setRootElement(this.container.nativeElement);
}
}
};
SelectBaseItemComponent.prototype.ngAfterViewInit = function () {
var _a;
if (this.model && ((_a = this.container) === null || _a === void 0 ? void 0 : _a.nativeElement) && !this.question.isDesignMode) {
this.model.setRootElement(this.container.nativeElement);
}
};
SelectBaseItemComponent.prototype.ngOnDestroy = function () {
_super.prototype.ngOnDestroy.call(this);
if (this.model && !this.question.isDesignMode) {
this.model.setRootElement(undefined);
}
};
return SelectBaseItemComponent;
}(BaseAngular));
SelectBaseItemComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SelectBaseItemComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
SelectBaseItemComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SelectBaseItemComponent, selector: "['sv-ng-selectbase-item'], sv-ng-selebase-item", inputs: { question: "question", model: "model", inputType: "inputType", showLabel: "showLabel" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, read: i0.ElementRef }], usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div role=\"presentation\" [class]=\"question.getItemClass(model)\" #container>\n <ng-container [ngSwitch]=\"inputType\">\n <label *ngSwitchCase=\"'checkbox'\" [class]=\"question.getLabelClass(model)\" [model]=\"model\" [question]=\"question\"\n sv-ng-checkbox-item>\n <ng-container *ngTemplateOutlet=\"itemDecorator\"></ng-container>\n </label>\n <label *ngSwitchCase=\"'radio'\" (mousedown)=\"question.onMouseDown()\" [class]=\"question.getLabelClass(model)\"\n [model]=\"model\" [question]=\"question\" sv-ng-radiogroup-item>\n <ng-container *ngTemplateOutlet=\"itemDecorator\"></ng-container>\n </label>\n </ng-container>\n <ng-template #itemDecorator>\n <span *ngIf=\"question.cssClasses.materialDecorator\" [class]=\"question.cssClasses.materialDecorator\">\n <svg *ngIf=\"question.itemSvgIcon\" [class]=\"question.cssClasses.itemDecorator\">\n <use [attr.xlink:href]=\"question.itemSvgIcon\"></use>\n </svg>\n </span>\n <span [class]=\"question.getControlLabelClass(model)\" *ngIf=\"!model.hideCaption\">\n <sv-ng-string [model]=\"model.locText\"></sv-ng-string>\n </span>\n </ng-template>\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: CheckboxItemComponent, selector: "sv-ng-checkbox-item, '[sv-ng-checkbox-item]'", inputs: ["question", "model"] }, { type: RadiogroupItemComponent, selector: "sv-ng-radiogroup-item, '[sv-ng-radiogroup-item]'", inputs: ["question", "model"] }, { type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2__namespace.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i2__namespace.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i2__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SelectBaseItemComponent, decorators: [{
type: i0.Component,
args: [{
selector: "['sv-ng-selectbase-item'], sv-ng-selebase-item",
templateUrl: "./selectbase-item.html",
styles: [":host { display: none; }"]
}]
}], propDecorators: { question: [{
type: i0.Input
}], model: [{
type: i0.Input
}], inputType: [{
type: i0.Input
}], showLabel: [{
type: i0.Input
}], container: [{
type: i0.ViewChild,
args: ["container", { read: i0.ElementRef }]
}] } });
AngularComponentFactory.Instance.registerComponent("sv-ng-selectbase-item", SelectBaseItemComponent);
var SkeletonComponent = /** @class */ (function (_super) {
__extends(SkeletonComponent, _super);
function SkeletonComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
return SkeletonComponent;
}(EmbeddedViewContentComponent));
SkeletonComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SkeletonComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
SkeletonComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SkeletonComponent, selector: "sv-skeleton", inputs: { element: "element" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div class=\"sv-skeleton-element\" [id]=\"element.id\" [style.height]=\"element.skeletonHeight\"></div>\n</ng-template>", styles: [":host{display:none}\n"] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SkeletonComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-skeleton",
templateUrl: "./skeleton.component.html",
styleUrls: ["../../hide-host.scss"]
}]
}], propDecorators: { element: [{
type: i0.Input
}] } });
AngularComponentFactory.Instance.registerComponent("sv-skeleton", SkeletonComponent);
var TimerPanelComponent = /** @class */ (function (_super) {
__extends(TimerPanelComponent, _super);
function TimerPanelComponent() {
var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
_this.circleLengthValue = 440;
return _this;
}
TimerPanelComponent.prototype.getStateElement = function () {
return this.model;
};
TimerPanelComponent.prototype.getModel = function () {
return this.model;
};
Object.defineProperty(TimerPanelComponent.prototype, "circleLength", {
get: function () {
return this.circleLengthValue;
},
enumerable: false,
configurable: true
});
Object.defineProperty(TimerPanelComponent.prototype, "progress", {
get: function () {
return -this.model.progress * this.circleLength;
},
enumerable: false,
configurable: true
});
return TimerPanelComponent;
}(BaseAngular));
TimerPanelComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TimerPanelComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
TimerPanelComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TimerPanelComponent, selector: "sv-timerpanel", inputs: { model: "model" }, usesInheritance: true, ngImport: i0__namespace, template: "<div *ngIf=\"model.isRunning && model.showTimerAsClock\" [class]=\"model.rootCss\">\n <svg *ngIf=\"model.showProgress\" [class]=\"model.getProgressCss()\" [style.stroke-dasharray]=\"circleLength\" [style.stroke-dashoffset]=\"progress\" [size]=\"'auto'\" [iconName]=\"'icon-timercircle'\" sv-ng-svg-icon></svg>\n <div [class]=\"model.textContainerCss\">\n <span [class]=\"model.majorTextCss\">{{ model.clockMajorText }}</span>\n <span *ngIf=\"model.clockMinorText\" [class]=\"model.minorTextCss\">{{ model.clockMinorText }}</span>\n </div>\n</div>\n<div *ngIf=\"model.isRunning && !model.showTimerAsClock\" [class]='model.survey.getCss().timerRoot'>{{model.text}}</div>", components: [{ type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TimerPanelComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-timerpanel",
templateUrl: "./timer-panel.component.html",
}]
}], propDecorators: { model: [{
type: i0.Input
}] } });
AngularComponentFactory.Instance.registerComponent("sv-timerpanel", TimerPanelComponent);
var ListItemComponent = /** @class */ (function (_super) {
__extends(ListItemComponent, _super);
function ListItemComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
Object.defineProperty(ListItemComponent.prototype, "elementId", {
get: function () {
var _a;
return (_a = this.model) === null || _a === void 0 ? void 0 : _a.elementId;
},
enumerable: false,
configurable: true
});
Object.defineProperty(ListItemComponent.prototype, "ariaSelected", {
get: function () {
return this.listModel.isItemSelected(this.model) || "";
},
enumerable: false,
configurable: true
});
Object.defineProperty(ListItemComponent.prototype, "class", {
get: function () {
return this.listModel.getItemClass(this.model);
},
enumerable: false,
configurable: true
});
Object.defineProperty(ListItemComponent.prototype, "itemStyle", {
get: function () {
return this.listModel.getItemStyle(this.model);
},
enumerable: false,
configurable: true
});
ListItemComponent.prototype.click = function (event) {
this.listModel.onItemClick(this.model);
event.stopPropagation();
};
ListItemComponent.prototype.pointerdown = function (event) {
this.listModel.onPointerDown(event, this.model);
};
Object.defineProperty(ListItemComponent.prototype, "itemComponent", {
get: function () {
return this.model.component || this.listModel.itemComponent;
},
enumerable: false,
configurable: true
});
ListItemComponent.prototype.getModel = function () {
return this.model;
};
ListItemComponent.prototype.ngAfterViewInit = function () {
this.listModel.onLastItemRended(this.model);
};
return ListItemComponent;
}(BaseAngular));
ListItemComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ListItemComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
ListItemComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ListItemComponent, selector: "sv-ng-list-item, '[sv-ng-list-item]'", inputs: { element: "element", model: "model", listModel: "listModel" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <li role=\"option\" [key2click]=\"{ processEsc: false, disableTabStop: model.disableTabStop }\" [visible]=\"listModel.isItemVisible(model)\" [class]=\"class\" [attr.id]=\"elementId\" [attr.aria-selected]=\"ariaSelected ? 'true' : 'false'\" (click)=\"click($event)\" (pointerdown)=\"pointerdown($event)\">\n <ng-container *ngIf=\"model.needSeparator\">\n <div [class]=\"listModel.cssClasses.itemSeparator\"></div>\n </ng-container>\n <div [class]=\"listModel.cssClasses.itemBody\" [style]=\"itemStyle\" [attr.title]=\"model.getTooltip()\"\n (mouseover)=\"listModel.onItemHover(model)\"\n (mouseleave)=\"listModel.onItemLeave(model)\">\n <ng-template [component]=\"{ name: itemComponent, data: { model: model, listModel: listModel } }\"></ng-template>\n </div>\n </li>\n</ng-template>", styles: [":host{display:none}\n"], directives: [{ type: Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }, { type: VisibleDirective, selector: "[visible]", inputs: ["visible"] }, { type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ListItemComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-list-item, '[sv-ng-list-item]'",
templateUrl: "./list-item.component.html",
styleUrls: ["../../hide-host.scss"],
}]
}], propDecorators: { element: [{
type: i0.Input
}], model: [{
type: i0.Input
}], listModel: [{
type: i0.Input
}] } });
AngularComponentFactory.Instance.registerComponent("sv-list-item", ListItemComponent);
var ListComponent = /** @class */ (function (_super) {
__extends(ListComponent, _super);
function ListComponent() {
var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
_this.trackItemBy = function (_, item) {
return item.id;
};
return _this;
}
ListComponent.prototype.getModel = function () {
return this.model;
};
ListComponent.prototype.onGoToItems = function (event) {
this.model.goToItems(event);
};
ListComponent.prototype.onMouseDown = function (event) {
event.preventDefault();
};
ListComponent.prototype.onKeyDown = function (event) {
this.model.onKeyDown(event);
};
ListComponent.prototype.onMouseMove = function (event) {
this.model.onMouseMove(event);
};
ListComponent.prototype.getPropertiesToUpdateSync = function () {
return ["renderElements"];
};
ListComponent.prototype.ngAfterViewInit = function () {
var _a;
if (!!((_a = this.listContainerElement) === null || _a === void 0 ? void 0 : _a.nativeElement)) {
this.model.initListContainerHtmlElement(this.listContainerElement.nativeElement);
}
};
ListComponent.prototype.ngOnDestroy = function () {
this.model.initListContainerHtmlElement(undefined);
_super.prototype.ngOnDestroy.call(this);
};
return ListComponent;
}(BaseAngular));
ListComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ListComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
ListComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ListComponent, selector: "sv-ng-list, '[sv-ng-list]'", inputs: { model: "model" }, viewQueries: [{ propertyName: "listContainerElement", first: true, predicate: ["listContainerElement"], descendants: true }], usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div [class]=\"model.cssClasses.root\" #listContainerElement>\n <div *ngIf=\"model.showFilter\" [class]=\"model.cssClasses.filter\">\n <div [class]=\"model.cssClasses.filterIcon\">\n <svg [iconName]=\"'icon-search'\" [size]=\"'auto'\" sv-ng-svg-icon></svg>\n </div>\n <input type=\"text\" [class]=\"model.cssClasses.filterInput\" [(ngModel)]=\"model.filterString\"\n [attr.aria-label]=\"model.filterStringPlaceholder || ''\"\n [attr.placeholder]=\"model.filterStringPlaceholder || ''\" \n (keyup)=\"onGoToItems($event)\" />\n <button *ngIf=\"model.showSearchClearButton && !!model.filterString\" (click)=\"model.onClickSearchClearButton($event)\" [class]=\"model.cssClasses.searchClearButtonIcon\">\n <svg [iconName]=\"'icon-searchclear'\" [size]=\"'auto'\" sv-ng-svg-icon></svg>\n </button>\n </div>\n <div [class]=\"model.cssClasses.emptyContainer\" [visible]=\"model.isEmpty\">\n <div [class]=\"model.cssClasses.emptyText\" [attr.aria-label]=\"model.emptyMessage || ''\">{{ model.emptyMessage }}</div>\n </div>\n <ul *ngIf=\"model.renderElements\" [class]=\"model.getListClass()\" role=\"listbox\" [attr.id]=\"model.elementId\" [visible]=\"!model.isEmpty\" (mousedown)=\"onMouseDown($event)\" (keydown)=\"onKeyDown($event)\" (mousemove)=\"onMouseMove($event)\">\n <sv-ng-list-item *ngFor=\"let item of model.renderedActions; trackBy: trackItemBy\" [listModel]=\"model\" [model]=\"item\"></sv-ng-list-item>\n <!--ko foreach: model.renderedActions -->\n <!-- ko component: { name: 'sv-list-item', params: { item: $data, model: $parent.model } } -->\n <!-- /ko -->\n <!-- /ko -->\n </ul>\n </div>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: ListItemComponent, selector: "sv-ng-list-item, '[sv-ng-list-item]'", inputs: ["element", "model", "listModel"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i2__namespace$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2__namespace$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: VisibleDirective, selector: "[visible]", inputs: ["visible"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ListComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-list, '[sv-ng-list]'",
templateUrl: "./list.component.html",
styleUrls: ["../../hide-host.scss"]
}]
}], propDecorators: { model: [{
type: i0.Input
}], listContainerElement: [{
type: i0.ViewChild,
args: ["listContainerElement"]
}] } });
AngularComponentFactory.Instance.registerComponent("sv-list", ListComponent);
var ListItemContentComponent = /** @class */ (function (_super) {
__extends(ListItemContentComponent, _super);
function ListItemContentComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
ListItemContentComponent.prototype.getModel = function () {
return this.model;
};
return ListItemContentComponent;
}(BaseAngular));
ListItemContentComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ListItemContentComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
ListItemContentComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ListItemContentComponent, selector: "sv-ng-list-item-content, '[sv-ng-list-item-content]'", inputs: { element: "element", model: "model", listModel: "listModel" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n<svg *ngIf=\"model.iconName\" [class]=\"listModel.cssClasses.itemIcon\" [iconName]=\"model.iconName\" [size]=\"model.iconSize\"\n sv-ng-svg-icon></svg>\n<sv-ng-string [model]=\"model.locTitle\"></sv-ng-string>\n<svg *ngIf=\"model.markerIconName\" [class]=\"model.cssClasses.itemMarkerIcon\" [iconName]=\"model.markerIconName\" [size]=\"'auto'\"\n sv-ng-svg-icon></svg>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ListItemContentComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-list-item-content, '[sv-ng-list-item-content]'",
templateUrl: "./list-item-content.component.html",
styleUrls: ["../../hide-host.scss"],
}]
}], propDecorators: { element: [{
type: i0.Input
}], model: [{
type: i0.Input
}], listModel: [{
type: i0.Input
}] } });
AngularComponentFactory.Instance.registerComponent("sv-list-item-content", ListItemContentComponent);
var ListItemGroupComponent = /** @class */ (function (_super) {
__extends(ListItemGroupComponent, _super);
function ListItemGroupComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
ListItemGroupComponent.prototype.getModel = function () {
return this.model;
};
return ListItemGroupComponent;
}(BaseAngular));
ListItemGroupComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ListItemGroupComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
ListItemGroupComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ListItemGroupComponent, selector: "sv-ng-list-item-group, '[sv-ng-list-item-group]'", inputs: { element: "element", model: "model", listModel: "listModel" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <sv-ng-list-item-content [model]=\"model\" [listModel]=\"listModel\"></sv-ng-list-item-content>\n <sv-ng-popup [popupModel]=\"model.popupModel\"></sv-ng-popup>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: ListItemContentComponent, selector: "sv-ng-list-item-content, '[sv-ng-list-item-content]'", inputs: ["element", "model", "listModel"] }, { type: PopupComponent, selector: "sv-ng-popup, '[sv-ng-popup]'", inputs: ["popupModel"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ListItemGroupComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-list-item-group, '[sv-ng-list-item-group]'",
templateUrl: "./list-item-group.component.html",
styleUrls: ["../../hide-host.scss"],
}]
}], propDecorators: { element: [{
type: i0.Input
}], model: [{
type: i0.Input
}], listModel: [{
type: i0.Input
}] } });
AngularComponentFactory.Instance.registerComponent("sv-list-item-group", ListItemGroupComponent);
var RatingItemComponent = /** @class */ (function (_super) {
__extends(RatingItemComponent, _super);
function RatingItemComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
RatingItemComponent.prototype.onClick = function (event) {
this.model.setValueFromClick(event.target.value);
event.stopPropagation();
};
RatingItemComponent.prototype.getModel = function () {
return this.item;
};
return RatingItemComponent;
}(BaseAngular));
RatingItemComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RatingItemComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
RatingItemComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: RatingItemComponent, selector: "sv-ng-rating-item", inputs: { element: "element", model: "model", item: "item", index: "index" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <label [class]=\"model.getItemClassByText(item.itemValue, item.text)\" (mousedown)=\"model.onMouseDown()\">\n <input type=\"radio\"\n class=\"sv-visuallyhidden\"\n [attr.name]=\"model.questionName\" [attr.id]=\"model.getInputId(index)\" [value]=\"item.value\" [attr.aria-required]=\"model.ariaRequired\" [attr.aria-label]=\"model.ariaLabel\" [attr.aria-invalid]=\"model.ariaInvalid\" [attr.aria-errormessage]=\"model.ariaErrormessage\"\n [disabled]=\"model.isDisabledAttr\" [readonly]=\"model.isReadOnlyAttr\" [checked]=\"model.value === item.value\" (click)=\"onClick($event)\"\n />\n <span [class]=\"model.cssClasses.itemText\" [attr.data-text]=\"item.text\" [model]=\"item.locText\" sv-ng-string></span>\n </label>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RatingItemComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-rating-item",
templateUrl: "./rating-item.component.html",
styleUrls: ["../../hide-host.scss"],
}]
}], propDecorators: { element: [{
type: i0.Input
}], model: [{
type: i0.Input
}], item: [{
type: i0.Input
}], index: [{
type: i0.Input
}] } });
AngularComponentFactory.Instance.registerComponent("sv-rating-item", RatingItemComponent);
var RatingItemStarComponent = /** @class */ (function (_super) {
__extends(RatingItemStarComponent, _super);
function RatingItemStarComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
RatingItemStarComponent.prototype.onClick = function (event) {
this.model.setValueFromClick(event.target.value);
event.stopPropagation();
};
RatingItemStarComponent.prototype.getModel = function () {
return this.item;
};
return RatingItemStarComponent;
}(BaseAngular));
RatingItemStarComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RatingItemStarComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
RatingItemStarComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: RatingItemStarComponent, selector: "sv-ng-rating-item-star", inputs: { element: "element", model: "model", item: "item", index: "index" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <label [class]=\"model.getItemClass(item.itemValue, item.highlight)\" (mouseover)=\"model.onItemMouseIn(item)\" (mouseout)=\"model.onItemMouseOut(item)\" (mousedown)=\"model.onMouseDown()\">\n <input type=\"radio\"\n class=\"sv-visuallyhidden\"\n [attr.name]=\"model.questionName\" [attr.id]=\"model.getInputId(index)\" [value]=\"item.value\" [attr.aria-required]=\"model.ariaRequired\" [attr.aria-label]=\"model.ariaLabel\" [attr.aria-invalid]=\"model.ariaInvalid\" [attr.aria-errormessage]=\"model.ariaErrormessage\"\n [disabled]=\"model.isDisabledAttr\" [readonly]=\"model.isReadOnlyAttr\" [checked]=\"model.value === item.value\" (click)=\"onClick($event)\"\n />\n <svg [iconName]=\"model.itemStarIcon\" [size]=\"'auto'\" [title]=\"item.text\" [class]=\"'sv-star'\" sv-ng-svg-icon></svg>\n <svg [iconName]=\"model.itemStarIconAlt\" [size]=\"'auto'\" [title]=\"item.text\" [class]=\"'sv-star-2'\" sv-ng-svg-icon></svg>\n </label>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RatingItemStarComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-rating-item-star",
templateUrl: "./rating-item-star.component.html",
styleUrls: ["../../hide-host.scss"],
}]
}], propDecorators: { element: [{
type: i0.Input
}], model: [{
type: i0.Input
}], item: [{
type: i0.Input
}], index: [{
type: i0.Input
}] } });
AngularComponentFactory.Instance.registerComponent("sv-rating-item-star", RatingItemStarComponent);
var RatingItemSmileyComponent = /** @class */ (function (_super) {
__extends(RatingItemSmileyComponent, _super);
function RatingItemSmileyComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
RatingItemSmileyComponent.prototype.onClick = function (event) {
this.model.setValueFromClick(event.target.value);
event.stopPropagation();
};
RatingItemSmileyComponent.prototype.getModel = function () {
return this.item;
};
return RatingItemSmileyComponent;
}(BaseAngular));
RatingItemSmileyComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RatingItemSmileyComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
RatingItemSmileyComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: RatingItemSmileyComponent, selector: "sv-ng-rating-item-smiley", inputs: { element: "element", model: "model", item: "item", index: "index" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <label [style]=\"model.getItemStyle(item.itemValue, item.highlight)\" [class]=\"model.getItemClass(item.itemValue, item.highlight)\" (mouseover)=\"model.onItemMouseIn(item)\" (mouseout)=\"model.onItemMouseOut(item)\" (mousedown)=\"model.onMouseDown()\">\n <input type=\"radio\"\n class=\"sv-visuallyhidden\"\n [attr.name]=\"model.questionName\" [attr.id]=\"model.getInputId(index)\" [value]=\"item.value\" [attr.aria-required]=\"model.ariaRequired\" [attr.aria-label]=\"model.ariaLabel\" [attr.aria-invalid]=\"model.ariaInvalid\" [attr.aria-errormessage]=\"model.ariaErrormessage\"\n [disabled]=\"model.isDisabledAttr\" [readonly]=\"model.isReadOnlyAttr\" [checked]=\"model.value === item.value\" (click)=\"onClick($event)\"\n />\n <svg [iconName]=\"model.getItemSmileyIconName(item.itemValue)\" [size]=\"'auto'\" [title]=\"item.text\" sv-ng-svg-icon></svg>\n </label>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RatingItemSmileyComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-rating-item-smiley",
templateUrl: "./rating-item-smiley.component.html",
styleUrls: ["../../hide-host.scss"],
}]
}], propDecorators: { element: [{
type: i0.Input
}], model: [{
type: i0.Input
}], item: [{
type: i0.Input
}], index: [{
type: i0.Input
}] } });
AngularComponentFactory.Instance.registerComponent("sv-rating-item-smiley", RatingItemSmileyComponent);
var RatingDropdownItemComponent = /** @class */ (function (_super) {
__extends(RatingDropdownItemComponent, _super);
function RatingDropdownItemComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
RatingDropdownItemComponent.prototype.getModel = function () {
return this.model;
};
return RatingDropdownItemComponent;
}(BaseAngular));
RatingDropdownItemComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RatingDropdownItemComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
RatingDropdownItemComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: RatingDropdownItemComponent, selector: "sv-ng-rating-dropdown-item, '[sv-ng-rating-dropdown-item]'", inputs: { element: "element", model: "model" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div class=\"sd-rating-dropdown-item\">\n <span class=\"sd-rating-dropdown-item_text\">{{model.title}}</span>\n <ng-container *ngIf=\"!!model.description\">\n <div class=\"sd-rating-dropdown-item_description\">\n <sv-ng-string [model]=\"model.description\"></sv-ng-string>\n </div>\n </ng-container>\n </div>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RatingDropdownItemComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-rating-dropdown-item, '[sv-ng-rating-dropdown-item]'",
templateUrl: "./rating-dropdown-item.component.html",
styleUrls: ["../../../hide-host.scss"],
}]
}], propDecorators: { element: [{
type: i0.Input
}], model: [{
type: i0.Input
}] } });
AngularComponentFactory.Instance.registerComponent("sv-rating-dropdown-item", RatingDropdownItemComponent);
var RatingDropdownComponent = /** @class */ (function () {
function RatingDropdownComponent() {
}
return RatingDropdownComponent;
}());
RatingDropdownComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RatingDropdownComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
RatingDropdownComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: RatingDropdownComponent, selector: "sv-ng-rating-dropdown-question", inputs: { model: "model" }, ngImport: i0__namespace, template: "<div [class]=\"model.cssClasses.rootDropdown\">\n <sv-ng-dropdown [model]=\"model\"></sv-ng-dropdown>\n</div>", components: [{ type: DropdownComponent, selector: "sv-ng-dropdown, '[sv-ng-dropdown]'", inputs: ["model"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RatingDropdownComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-rating-dropdown-question",
templateUrl: "./rating-dropdown.component.html"
}]
}], propDecorators: { model: [{
type: i0.Input
}] } });
AngularComponentFactory.Instance.registerComponent("rating-dropdown-question", RatingDropdownComponent);
Survey.RendererFactory.Instance.registerRenderer("rating", "dropdown", "rating-dropdown-question");
var BooleanCheckboxComponent = /** @class */ (function () {
function BooleanCheckboxComponent() {
}
return BooleanCheckboxComponent;
}());
BooleanCheckboxComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: BooleanCheckboxComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
BooleanCheckboxComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: BooleanCheckboxComponent, selector: "sv-ng-boolean-checkbox-question", inputs: { model: "model" }, ngImport: i0__namespace, template: "<div [class]=\"model.cssClasses.rootCheckbox\">\n <div [class]=\"model.getCheckboxItemCss()\">\n <label [class]=\"model.cssClasses.checkboxLabel\">\n <input\n type=\"checkbox\"\n [value]=\"model.booleanValue\" [class]=\"model.cssClasses.controlCheckbox\" \n [attr.name]=\"model.name\" [id]=\"model.inputId\"\n [attr.aria-required]=\"model.a11y_input_ariaRequired\"\n [attr.aria-label]=\"model.a11y_input_ariaLabel\"\n [attr.aria-labelledby]=\"model.a11y_input_ariaLabelledBy\"\n [attr.aria-describedby]=\"model.a11y_input_ariaDescribedBy\"\n [attr.aria-invalid]=\"model.a11y_input_ariaInvalid\"\n [attr.aria-errormessage]=\"model.a11y_input_ariaErrormessage\"\n [(ngModel)]=\"model.booleanValue\" [value]=\"model.booleanValue\"\n [disabled]=\"model.isDisabledAttr\" [readonly]=\"model.isReadOnlyAttr\" [indeterminate]=\"model.isIndeterminate\"\n />\n <span [class]=\"model.cssClasses.checkboxMaterialDecorator\">\n <svg *ngIf=\"!!model.svgIcon\" [class]=\"model.cssClasses.checkboxItemDecorator\">\n <use [attr.xlink:href]=\"model.svgIcon\"></use>\n </svg>\n <span class=\"check\"></span>\n </span>\n <span *ngIf=\"model.isLabelRendered\" [class]=\"model.cssClasses.checkboxControlLabel\" [id]=\"model.labelRenderedAriaID\">\n <sv-ng-element-title-actions [element]=\"model\"></sv-ng-element-title-actions>\n </span>\n </label>\n <div *ngIf=\"model.canRenderLabelDescription\" [class]=\"model.cssDescription\" [attr.id]=\"model.ariaDescriptionId\" [model]=\"model.locDescription\" sv-ng-string></div>\n </div>\n</div>", components: [{ type: ElementTitleActionsComponent, selector: "sv-ng-element-title-actions", inputs: ["element"] }, { type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2__namespace$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i2__namespace$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2__namespace$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: BooleanCheckboxComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-boolean-checkbox-question",
templateUrl: "./boolean-checkbox.component.html"
}]
}], propDecorators: { model: [{
type: i0.Input
}] } });
AngularComponentFactory.Instance.registerComponent("boolean-checkbox-question", BooleanCheckboxComponent);
Survey.RendererFactory.Instance.registerRenderer("boolean", "checkbox", "boolean-checkbox-question");
var BooleanRadioItemComponent = /** @class */ (function () {
function BooleanRadioItemComponent() {
}
return BooleanRadioItemComponent;
}());
BooleanRadioItemComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: BooleanRadioItemComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
BooleanRadioItemComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: BooleanRadioItemComponent, selector: "sv-ng-boolean-radio-item", inputs: { question: "question", value: "value", locText: "locText" }, ngImport: i0__namespace, template: "<div role=\"presentation\" [class]=\"question.getRadioItemClass(question.cssClasses, value)\">\n <label [class]=\"question.cssClasses.radioLabel\">\n <input\n type=\"radio\"\n [attr.name]=\"question.name\" [attr.aria-errormessage]=\"question.ariaErrormessage\" [value]=\"value\" [(ngModel)]=\"question.booleanValue\"\n [disabled]=\"question.isDisabledAttr\" [readonly]=\"question.isReadOnlyAttr\" [class]=\"question.cssClasses.itemRadioControl || ''\"\n />\n <span *ngIf=\"question.cssClasses.materialRadioDecorator\" [class]=\"question.cssClasses.materialRadioDecorator\">\n <svg\n *ngIf=\"question.itemSvgIcon\"\n [class]=\"question.cssClasses.itemRadioDecorator\"\n >\n <use [attr.xlink:href]=\"question.itemSvgIcon\"></use>\n </svg>\n </span>\n <span [class]=\"question.cssClasses.radioControlLabel\" [model]=\"locText\" sv-ng-string>\n </span>\n </label>\n</div>\n", components: [{ type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2__namespace$1.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { type: i2__namespace$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i2__namespace$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2__namespace$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: BooleanRadioItemComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-boolean-radio-item",
templateUrl: "boolean-radio-item.component.html",
}]
}], ctorParameters: function () { return []; }, propDecorators: { question: [{
type: i0.Input
}], value: [{
type: i0.Input
}], locText: [{
type: i0.Input
}] } });
var BooleanRadioComponent = /** @class */ (function () {
function BooleanRadioComponent() {
}
return BooleanRadioComponent;
}());
BooleanRadioComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: BooleanRadioComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
BooleanRadioComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: BooleanRadioComponent, selector: "sv-ng-boolean-radio-question", inputs: { model: "model" }, ngImport: i0__namespace, template: "<div [class]=\"model.cssClasses.rootRadio\">\n <fieldset role=\"presentation\" [class]=\"model.cssClasses.radioFieldset\">\n <sv-ng-boolean-radio-item *ngIf=\"model.swapOrder\" [value]=\"true\" [locText]=\"model.locLabelTrue\" [question]=\"model\" ></sv-ng-boolean-radio-item>\n <sv-ng-boolean-radio-item [value]=\"false\" [locText]=\"model.locLabelFalse\" [question]=\"model\" ></sv-ng-boolean-radio-item>\n <sv-ng-boolean-radio-item *ngIf=\"!model.swapOrder\" [value]=\"true\" [locText]=\"model.locLabelTrue\" [question]=\"model\" ></sv-ng-boolean-radio-item>\n </fieldset>\n</div>\n", components: [{ type: BooleanRadioItemComponent, selector: "sv-ng-boolean-radio-item", inputs: ["question", "value", "locText"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: BooleanRadioComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-boolean-radio-question",
templateUrl: "./boolean-radio.component.html"
}]
}], propDecorators: { model: [{
type: i0.Input
}] } });
AngularComponentFactory.Instance.registerComponent("boolean-radio-question", BooleanRadioComponent);
Survey.RendererFactory.Instance.registerRenderer("boolean", "radio", "boolean-radio-question");
var ProgressDefaultComponent = /** @class */ (function (_super) {
__extends(ProgressDefaultComponent, _super);
function ProgressDefaultComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
ProgressDefaultComponent.prototype.getProgressTextInBarCss = function (css) {
return Survey.SurveyProgressModel.getProgressTextInBarCss(css);
};
ProgressDefaultComponent.prototype.getProgressTextUnderBarCss = function (css) {
return Survey.SurveyProgressModel.getProgressTextUnderBarCss(css);
};
return ProgressDefaultComponent;
}(EmbeddedViewContentComponent));
ProgressDefaultComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ProgressDefaultComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
ProgressDefaultComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ProgressDefaultComponent, selector: "sv-ng-progress-default", inputs: { container: "container", model: "model" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div [class]=\"model.getProgressCssClasses(container)\">\n <div [class]=\"model.css.progressBar\" [style.width]=\"model.progressValue + '%'\"\n role=\"progressbar\" aria-valuemin=\"0\" aria-valuemax=\"100\" aria-label=\"progress\">\n <span [class]=\"getProgressTextInBarCss(model.css)\">\n {{ model.progressText }}\n </span>\n </div>\n <span [class]=\"getProgressTextUnderBarCss(model.css)\"> {{ model.progressText }} </span>\n </div>\n</ng-template>" });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ProgressDefaultComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-progress-default",
templateUrl: "./progress.component.html"
}]
}], propDecorators: { container: [{
type: i0.Input
}], model: [{
type: i0.Input
}] } });
AngularComponentFactory.Instance.registerComponent("sv-progress-progress", ProgressDefaultComponent);
AngularComponentFactory.Instance.registerComponent("sv-progress-pages", ProgressDefaultComponent);
AngularComponentFactory.Instance.registerComponent("sv-progress-questions", ProgressDefaultComponent);
AngularComponentFactory.Instance.registerComponent("sv-progress-correctquestions", ProgressDefaultComponent);
AngularComponentFactory.Instance.registerComponent("sv-progress-requiredquestions", ProgressDefaultComponent);
var ProgressButtonsComponent = /** @class */ (function () {
function ProgressButtonsComponent(changeDetectorRef) {
this.changeDetectorRef = changeDetectorRef;
this.hasScroller = false;
this.canShowHeader = false;
this.canShowFooter = false;
this.canShowItemTitles = true;
}
ProgressButtonsComponent.prototype.onResize = function (canShowItemTitles) {
this.canShowItemTitles = canShowItemTitles;
this.canShowHeader = !this.canShowItemTitles;
this.changeDetectorRef.detectChanges();
};
ProgressButtonsComponent.prototype.onUpdateScroller = function (hasScroller) {
this.hasScroller = hasScroller;
this.changeDetectorRef.detectChanges();
};
ProgressButtonsComponent.prototype.onUpdateSettings = function () {
this.canShowItemTitles = this.model.showItemTitles;
this.canShowFooter = !this.model.showItemTitles;
this.changeDetectorRef.detectChanges();
};
ProgressButtonsComponent.prototype.ngOnInit = function () {
};
ProgressButtonsComponent.prototype.ngOnChanges = function (changes) {
};
ProgressButtonsComponent.prototype.clickScrollButton = function (isLeftScroll) {
if (this.progressButtonsListContainer) {
this.progressButtonsListContainer.nativeElement.scrollLeft += (isLeftScroll ? -1 : 1) * 70;
}
};
ProgressButtonsComponent.prototype.ngAfterViewInit = function () {
var _a;
if (!!((_a = this.progressButtonsListContainer) === null || _a === void 0 ? void 0 : _a.nativeElement)) {
var element = this.progressButtonsListContainer.nativeElement;
this.respManager = new Survey.ProgressButtonsResponsivityManager(this.model, element, this);
}
};
ProgressButtonsComponent.prototype.ngOnDestroy = function () {
var _a;
(_a = this.respManager) === null || _a === void 0 ? void 0 : _a.dispose();
};
return ProgressButtonsComponent;
}());
ProgressButtonsComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ProgressButtonsComponent, deps: [{ token: i0__namespace.ChangeDetectorRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
ProgressButtonsComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ProgressButtonsComponent, selector: "sv-ng-progress-buttons", inputs: { model: "model", survey: "survey", container: "container" }, viewQueries: [{ propertyName: "progressButtonsListContainer", first: true, predicate: ["progressButtonsListContainer"], descendants: true }], usesOnChanges: true, ngImport: i0__namespace, template: "<div [class]=\"model.getRootCss(container)\" [style.maxWidth]=\"model.progressWidth\" role=\"progressbar\" aria-valuemin=\"0\" aria-valuemax=\"100\" aria-label=\"progress\">\n <div *ngIf=\"canShowHeader\" [class]=\"survey.css.progressButtonsHeader\">\n <div [class]=\"survey.css.progressButtonsPageTitle\" [title]=\"model.headerText\">{{ model.headerText }}</div>\n </div>\n <div [class]=\"survey.css.progressButtonsContainer\">\n <div\n [class]=\"model.getScrollButtonCss(hasScroller, true)\"\n (click)=\"clickScrollButton(true)\"\n role=\"button\"\n ></div>\n <div\n [class]=\"survey.css.progressButtonsListContainer\" #progressButtonsListContainer>\n <ul [class]=\"survey.css.progressButtonsList\">\n <li\n *ngFor=\"let page of survey.visiblePages; index as index\"\n [class]=\"model.getListElementCss(index)\"\n (click)=\"model.isListElementClickable(index) ? model.clickListElement(page) : null\"\n [attr.data-page-number]=\"model.getItemNumber(page)\">\n <div [class]=\"survey.css.progressButtonsConnector\"></div>\n <div *ngIf=\"canShowItemTitles\"\n [class]=\"survey.css.progressButtonsPageTitle\"\n [title]=\"page.renderedNavigationTitle\"\n >\n <sv-ng-string [model]=\"page.locNavigationTitle\"></sv-ng-string>\n </div>\n <div *ngIf=\"canShowItemTitles\"\n [class]=\"survey.css.progressButtonsPageDescription\"\n [title]=\"page.locNavigationDescription.renderedHtml\"\n >\n {{ page.locNavigationDescription.renderedHtml }}\n </div>\n <div [class]=\"survey.css.progressButtonsButton\"><div [class]=\"survey.css.progressButtonsButtonBackground\"></div><div [class]=\"survey.css.progressButtonsButtonContent\"></div><span>{{model.getItemNumber(page)}}</span></div>\n </li>\n </ul>\n </div>\n <div\n [class]=\"model.getScrollButtonCss(hasScroller, false)\"\n (click)=\"clickScrollButton(false)\"\n role=\"button\"\n ></div>\n </div>\n <div *ngIf=\"canShowFooter\" [class]=\"survey.css.progressButtonsFooter\">\n <div [class]=\"survey.css.progressButtonsPageTitle\" [title]=\"model.footerText\">{{ model.footerText }}</div>\n </div>\n</div>", components: [{ type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ProgressButtonsComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-progress-buttons",
templateUrl: "./progress.component.html"
}]
}], ctorParameters: function () { return [{ type: i0__namespace.ChangeDetectorRef }]; }, propDecorators: { model: [{
type: i0.Input
}], survey: [{
type: i0.Input
}], container: [{
type: i0.Input
}], progressButtonsListContainer: [{
type: i0.ViewChild,
args: ["progressButtonsListContainer"]
}] } });
AngularComponentFactory.Instance.registerComponent("sv-progress-buttons", ProgressButtonsComponent);
var ProgressTocComponent = /** @class */ (function (_super) {
__extends(ProgressTocComponent, _super);
function ProgressTocComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
ProgressTocComponent.prototype.ngOnInit = function () {
_super.prototype.ngOnInit.call(this);
};
ProgressTocComponent.prototype.ngAfterViewInit = function () {
this.model.updateStickyTOCSize(this.survey.rootElement);
};
ProgressTocComponent.prototype.ngOnChanges = function (changes) {
};
return ProgressTocComponent;
}(EmbeddedViewContentComponent));
ProgressTocComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ProgressTocComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
ProgressTocComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ProgressTocComponent, selector: "sv-navigation-toc, sv-ng-navigation-toc", inputs: { survey: "survey", model: "model" }, usesInheritance: true, usesOnChanges: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div [class]=\"model.containerCss\">\n <sv-ng-list *ngIf=\"!model.isMobile\" [model]=\"model.listModel\"></sv-ng-list>\n <div *ngIf=\"model.isMobile\" (click)=\"model.togglePopup()\" data-bind=\"key2click\">\n <svg [iconName]=\"model.icon\" [size]=\"24\" sv-ng-svg-icon></svg>\n <sv-ng-popup [popupModel]=\"model.popupModel\"></sv-ng-popup>\n </div>\n </div> \n</ng-template>", styles: [":host { display: none; }"], components: [{ type: ListComponent, selector: "sv-ng-list, '[sv-ng-list]'", inputs: ["model"] }, { type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: PopupComponent, selector: "sv-ng-popup, '[sv-ng-popup]'", inputs: ["popupModel"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ProgressTocComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-navigation-toc, sv-ng-navigation-toc",
templateUrl: "./progress.component.html",
styles: [":host { display: none; }"]
}]
}], propDecorators: { survey: [{
type: i0.Input
}], model: [{
type: i0.Input
}] } });
AngularComponentFactory.Instance.registerComponent("sv-navigation-toc", ProgressTocComponent);
var PanelComponent = /** @class */ (function (_super) {
__extends(PanelComponent, _super);
function PanelComponent() {
var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
_this.trackRowBy = function (_, row) {
return row.id;
};
return _this;
}
PanelComponent.prototype.getModel = function () {
return this.model;
};
PanelComponent.prototype.ngAfterViewInit = function () {
var _a;
if (!!((_a = this.panelContainerRef) === null || _a === void 0 ? void 0 : _a.nativeElement)) {
this.model.afterRender(this.panelContainerRef.nativeElement);
}
};
Object.defineProperty(PanelComponent.prototype, "canRender", {
get: function () {
return this.model && this.model.survey && this.model.getIsContentVisible();
},
enumerable: false,
configurable: true
});
return PanelComponent;
}(BaseAngular));
PanelComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PanelComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
PanelComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PanelComponent, selector: "sv-ng-panel, '[sv-ng-panel]'", inputs: { model: "model" }, viewQueries: [{ propertyName: "panelContainerRef", first: true, predicate: ["panelContainer"], descendants: true, read: i0.ElementRef }], usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div *ngIf=\"canRender\" [attr.id]=\"model.id\" [class]=\"model.getContainerCss()\" (focusin)=\"model.focusIn()\" #panelContainer>\n <div *ngIf=\"model.showErrorsAbovePanel && model.hasVisibleErrors\" [element]=\"model\" sv-ng-errors></div>\n <div *ngIf=\"model.hasDescription || model.hasTitle\" [element]=\"model\" sv-ng-element-header></div>\n <div *ngIf=\"!model.showErrorsAbovePanel && model.hasVisibleErrors\" [element]=\"model\" sv-ng-errors></div>\n <div *ngIf=\"model.renderedIsExpanded\" [style.paddingLeft]=\"model.innerPaddingLeft\" [class]=\"model.cssClasses.panel.content\" [attr.id]=\"model.contentId\">\n <ng-container *ngFor=\"let row of model.visibleRows; trackBy: trackRowBy\">\n <ng-template [component]=\"{ name: $any(model.survey).getRowWrapperComponentName(row), data: { componentData: $any(model.survey).getRowWrapperComponentData(row) } }\">\n <sv-ng-row [row]=\"row\"></sv-ng-row>\n </ng-template>\n </ng-container>\n <sv-ng-action-bar [model]=\"model.getFooterToolbar()\"></sv-ng-action-bar>\n </div>\n </div>\n</ng-template>", components: [{ type: ErrorsComponent, selector: "'[sv-ng-errors]'", inputs: ["element", "location"] }, { type: ElementHeaderComponent, selector: "'[sv-ng-element-header]'", inputs: ["element"] }, { type: RowComponent, selector: "sv-ng-row", inputs: ["row"] }, { type: ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PanelComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-panel, '[sv-ng-panel]'",
templateUrl: "./panel.component.html",
}]
}], propDecorators: { model: [{
type: i0.Input
}], panelContainerRef: [{
type: i0.ViewChild,
args: ["panelContainer", { static: false, read: i0.ElementRef }]
}] } });
AngularComponentFactory.Instance.registerComponent("panel", PanelComponent);
var SurveyNavigationButton = /** @class */ (function () {
function SurveyNavigationButton() {
}
SurveyNavigationButton.prototype.getModel = function () {
return this.model;
};
SurveyNavigationButton.prototype.buttonMouseDown = function () {
return this.model.data && this.model.data.mouseDown();
};
return SurveyNavigationButton;
}());
SurveyNavigationButton.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SurveyNavigationButton, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
SurveyNavigationButton.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SurveyNavigationButton, selector: "sv-ng-nav-btn", inputs: { model: "model" }, ngImport: i0__namespace, template: "<input *ngIf=\"model.visible\" type=\"button\" [value]=\"model.title\" [class]=\"model.innerCss\" (mousedown)=\"buttonMouseDown()\" (click)=\"model.action()\" [disabled]=\"model.disabled\" [attr.title]=\"model.getTooltip()\"/>", styles: [":host { display: contents; }"], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SurveyNavigationButton, decorators: [{
type: i0.Component,
args: [{
templateUrl: "./survey-nav-btn.component.html",
selector: "sv-ng-nav-btn",
styles: [":host { display: contents; }"]
}]
}], propDecorators: { model: [{
type: i0.Input
}] } });
AngularComponentFactory.Instance.registerComponent("sv-nav-btn", SurveyNavigationButton);
var FileItemComponent = /** @class */ (function (_super) {
__extends(FileItemComponent, _super);
function FileItemComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
return FileItemComponent;
}(EmbeddedViewContentComponent));
FileItemComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FileItemComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
FileItemComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: FileItemComponent, selector: "sv-ng-file-item", inputs: { item: "item", question: "question" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <span [class]=\"question.cssClasses.previewItem\" (click)=\"question.doDownloadFileFromContainer($event)\">\n <div *ngIf=\"item.name && question.cssClasses.fileSign\" [class]=\"question.cssClasses.fileSign\">\n <a (click)=\"question.doDownloadFile($event, item)\" [attr.href]=\"item.content | safeUrl\"\n [attr.title]=\"item.name\" [attr.download]=\"item.name\" [style.width]=\"question.imageWidth\">{{\n item.name\n }}</a>\n </div>\n <div [class]=\"question.getImageWrapperCss(item)\">\n <img *ngIf=\"question.canPreviewImage(item)\" [attr.src]=\"item.content | safeUrl\"\n [style.height]=\"question.imageHeight\" [style.width]=\"question.imageWidth\" alt=\"File preview\" />\n <svg *ngIf=\"question.defaultImage(item)\" [iconName]=\"question.cssClasses.defaultImageIconId\"\n [partCss]=\"question.cssClasses.defaultImage\" [size]=\"'auto'\" sv-ng-svg-icon></svg>\n <div *ngIf=\"item.name && !question.isReadOnly\" [class]=\"question.getRemoveButtonCss()\"\n (click)=\"question.doRemoveFile(item, $event)\">\n <span [class]=\"question.cssClasses.removeFile\">{{ question.removeFileCaption }}</span>\n <svg *ngIf=\"question.cssClasses.removeFileSvgIconId\" [title]=\"question.removeFileCaption\"\n [partCss]=\"question.cssClasses.removeFileSvg\" [iconName]=\"question.cssClasses.removeFileSvgIconId\"\n [size]=\"'auto'\" sv-ng-svg-icon></svg>\n </div>\n </div>\n <div *ngIf=\"item.name && question.cssClasses.fileSignBottom\" [class]=\"question.cssClasses.fileSignBottom\">\n <a (click)=\"question.doDownloadFile($event, item)\" [attr.href]=\"item.content | safeUrl\"\n [attr.title]=\"item.name\" [attr.download]=\"item.name\" [style.width]=\"question.imageWidth\">{{\n item.name\n }}</a>\n </div>\n </span>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "safeUrl": SafeUrlPipe } });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FileItemComponent, decorators: [{
type: i0.Component,
args: [{
templateUrl: "./file-item.component.html",
selector: "sv-ng-file-item",
styleUrls: ["../../hide-host.scss"]
}]
}], propDecorators: { item: [{
type: i0.Input
}], question: [{
type: i0.Input
}] } });
var FilePageComponent = /** @class */ (function (_super) {
__extends(FilePageComponent, _super);
function FilePageComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
FilePageComponent.prototype.getModel = function () {
return this.page;
};
return FilePageComponent;
}(BaseAngular));
FilePageComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FilePageComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
FilePageComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: FilePageComponent, selector: "sv-ng-file-page", inputs: { page: "page", question: "question" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div [class]=\"page.css\" [attr.id]=\"page.id\">\n <ng-container *ngFor=\"let item of page.items\">\n <sv-ng-file-item [item]=\"item\" [question]=\"question\"></sv-ng-file-item>\n </ng-container>\n </div>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: FileItemComponent, selector: "sv-ng-file-item", inputs: ["item", "question"] }], directives: [{ type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FilePageComponent, decorators: [{
type: i0.Component,
args: [{
templateUrl: "./file-page.component.html",
selector: "sv-ng-file-page",
styleUrls: ["../../hide-host.scss"]
}]
}], propDecorators: { page: [{
type: i0.Input
}], question: [{
type: i0.Input
}] } });
var FilePreviewComponent = /** @class */ (function (_super) {
__extends(FilePreviewComponent, _super);
function FilePreviewComponent() {
var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
_this.trackFilesFn = function (index) {
return _this.question.inputId + "_" + index;
};
return _this;
}
FilePreviewComponent.prototype.trackPagesFn = function (_, page) {
return page.id;
};
return FilePreviewComponent;
}(EmbeddedViewContentComponent));
FilePreviewComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FilePreviewComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
FilePreviewComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: FilePreviewComponent, selector: "sv-ng-file-preview", inputs: { question: "question" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <ng-container *ngIf=\"question.showPreviewContainer\">\n <div [class]=\"question.cssClasses.fileList || undefined\">\n <ng-container *ngIf=\"question.supportFileNavigator\">\n <sv-ng-file-page *ngFor=\"let page of question.renderedPages; trackBy: trackPagesFn\" [page]=\"page\" [question]=\"question\"></sv-ng-file-page>\n </ng-container>\n <ng-container *ngIf=\"!question.supportFileNavigator\">\n <sv-ng-file-item *ngFor=\"let item of question.previewValue\" [item]=\"item\" [question]=\"question\"></sv-ng-file-item>\n </ng-container>\n </div>\n </ng-container>\n</ng-template>", components: [{ type: FilePageComponent, selector: "sv-ng-file-page", inputs: ["page", "question"] }, { type: FileItemComponent, selector: "sv-ng-file-item", inputs: ["item", "question"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FilePreviewComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-file-preview",
templateUrl: "./file-preview.component.html"
}]
}], propDecorators: { question: [{
type: i0.Input
}] } });
AngularComponentFactory.Instance.registerComponent("sv-file-preview", FilePreviewComponent);
var MatrixQuestionComponent = /** @class */ (function (_super) {
__extends(MatrixQuestionComponent, _super);
function MatrixQuestionComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
MatrixQuestionComponent.prototype.ngOnInit = function () {
var _this = this;
this.model.visibleRowsChangedCallback = function () {
_this.detectChanges();
};
_super.prototype.ngOnInit.call(this);
};
MatrixQuestionComponent.prototype.onCellChanged = function (row, column) {
row.value = column.value;
this.detectChanges();
};
MatrixQuestionComponent.prototype.trackRowByFn = function (i, row) {
return "column-" + row.name + "-" + i;
};
MatrixQuestionComponent.prototype.trackColumnByFn = function (i, column) {
return "column-" + column.value + "-" + i;
};
return MatrixQuestionComponent;
}(QuestionAngular));
MatrixQuestionComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MatrixQuestionComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
MatrixQuestionComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MatrixQuestionComponent, selector: "sv-ng-matrix-question", usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div [class]=\"model.cssClasses.tableWrapper\" #contentElement>\n <fieldset>\n <legend class=\"sv-hidden\">{{model.locTitle.renderedHtml}}</legend>\n <table [class]=\"model.getTableCss()\">\n <thead *ngIf=\"model.showHeader\">\n <tr>\n <td *ngIf=\"model.hasRows\"></td>\n <th\n *ngFor=\"let column of model.visibleColumns\" [style]=\"{ minWidth: model.columnMinWidth, width: model.columnMinWidth }\" [class]=\"model.cssClasses.headerCell\">\n <ng-template [component]=\"{ name: model.getColumnHeaderWrapperComponentName(column), data: { componentData: model.getColumnHeaderWrapperComponentData(column) } }\">\n <sv-ng-string [model]=\"column.locText\"></sv-ng-string>\n </ng-template>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let row of model.visibleRows; trackBy: trackRowByFn \" [class]=\"row.rowClasses || undefined\">\n <td [class]=\"row.rowTextClasses\" [style]=\"{ minWidth: model.rowTitleWidth, width: model.rowTitleWidth }\" *ngIf=\"model.hasRows\">\n <ng-template [component]=\"{ name: model.getRowHeaderWrapperComponentName($any(row)), data: { componentData: model.getRowHeaderWrapperComponentData($any(row)) } }\">\n <sv-ng-string [model]=\"row.locText\"></sv-ng-string>\n </ng-template>\n </td>\n <ng-container *ngIf=\"model.hasCellText\">\n <td *ngFor=\"let column of model.visibleColumns\"\n [class]=\"model.getItemClass(row, column)\"\n (click)=\"onCellChanged(row, column)\" [model]=\"model.getCellDisplayLocText(row.name, column)\" sv-ng-string>\n </td>\n </ng-container>\n <ng-container *ngIf=\"!model.hasCellText\">\n <td\n *ngFor=\"let column of model.visibleColumns; index as columnIndex; trackBy: trackColumnByFn\"\n [attr.data-responsive-title]=\"column.locText.renderedHtml\"\n [class]=\"model.cssClasses.cell\">\n <ng-template [component]=\"{ name: model.cellComponent, data: { cellChangedOwner: this, question: model, row: row, column: column, columnIndex: columnIndex } }\"></ng-template>\n </td>\n </ng-container>\n </tr>\n </tbody>\n </table>\n </fieldset>\n </div>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MatrixQuestionComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-matrix-question",
templateUrl: "./matrix.component.html",
styleUrls: ["../hide-host.scss"]
}]
}] });
AngularComponentFactory.Instance.registerComponent("matrix-question", MatrixQuestionComponent);
var ChooseFileBtn = /** @class */ (function (_super) {
__extends(ChooseFileBtn, _super);
function ChooseFileBtn() {
return _super !== null && _super.apply(this, arguments) || this;
}
Object.defineProperty(ChooseFileBtn.prototype, "question", {
get: function () {
return (this.model && this.model.data.question) || this.data.question;
},
enumerable: false,
configurable: true
});
return ChooseFileBtn;
}(EmbeddedViewContentComponent));
ChooseFileBtn.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ChooseFileBtn, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
ChooseFileBtn.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ChooseFileBtn, selector: "sv-ng-choose-file-btn", inputs: { data: "data", model: "model" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <label tabindex=\"0\" [class]=\"question.getChooseFileCss()\"\n [attr.for]=\"question.inputId\" [attr.aria-label]=\"question.chooseButtonText\" [key2click]\n (click)=\"question.chooseFile($event)\">\n <svg *ngIf=\"question.cssClasses.chooseFileIconId\" [title]=\"question.chooseButtonText\"\n [iconName]=\"question.cssClasses.chooseFileIconId\" [size]=\"'auto'\" sv-ng-svg-icon></svg>\n <span>{{ question.chooseButtonText }}</span>\n</label>\n</ng-template>", components: [{ type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }], directives: [{ type: Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }, { type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ChooseFileBtn, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-choose-file-btn",
templateUrl: "./choose-file.component.html"
}]
}], propDecorators: { data: [{
type: i0.Input
}], model: [{
type: i0.Input
}] } });
AngularComponentFactory.Instance.registerComponent("sv-file-choose-btn", ChooseFileBtn);
var LoadingIndicatorComponent = /** @class */ (function (_super) {
__extends(LoadingIndicatorComponent, _super);
function LoadingIndicatorComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
return LoadingIndicatorComponent;
}(EmbeddedViewContentComponent));
LoadingIndicatorComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: LoadingIndicatorComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
LoadingIndicatorComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: LoadingIndicatorComponent, selector: "sv-ng-loading-indicator", usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div class=\"sd-loading-indicator\">\n <svg [iconName]=\"'icon-loading'\" [size]=\"'auto'\" sv-ng-svg-icon></svg>\n </div>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: LoadingIndicatorComponent, decorators: [{
type: i0.Component,
args: [{
templateUrl: "./loading-indicator.component.html",
selector: "sv-ng-loading-indicator",
styleUrls: ["../../hide-host.scss"]
}]
}] });
var FileQuestionComponent = /** @class */ (function (_super) {
__extends(FileQuestionComponent, _super);
function FileQuestionComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
return FileQuestionComponent;
}(QuestionAngular));
FileQuestionComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FileQuestionComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
FileQuestionComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: FileQuestionComponent, selector: "sv-ng-file-question", usesInheritance: true, ngImport: i0__namespace, template: "<div [class]=\"model.fileRootCss\" #contentElement>\n <input [class]=\"model.cssClasses.fileInput\" *ngIf=\"!model.isReadOnlyAttr && !model.isDisabledAttr && model.hasFileUI\" tabindex=\"-1\" type=\"file\"\n [attr.id]=\"model.inputId\" [attr.aria-required]=\"model.ariaRequired\"\n [attr.aria-label]=\"model.ariaLabel\" [attr.aria-invalid]=\"model.ariaInvalid\"\n [attr.aria-errormessage]=\"model.ariaErrormessage\" [attr.multiple]=\"model.multipleRendered\"\n [attr.title]=\"model.inputTitle\" [attr.accept]=\"model.acceptedTypes\" [attr.capture]=\"model.renderCapture\" />\n <input *ngIf=\"model.isReadOnlyAttr\" type=\"file\" readonly [class]=\"model.getReadOnlyFileCss()\" [attr.id]=\"model.inputId\"\n [attr.multiple]=\"model.multipleRendered\" [attr.placeholder]=\"model.title\" style=\"color: transparent\" />\n <input *ngIf=\"model.isDisabledAttr\" type=\"file\" disabled [class]=\"model.getReadOnlyFileCss()\" [attr.id]=\"model.inputId\"\n [attr.multiple]=\"model.multipleRendered\" [attr.placeholder]=\"model.title\" style=\"color: transparent\" />\n <div [class]=\"model.cssClasses.dragArea\" (dragenter)=\"model.onDragEnter($event)\" (drop)=\"model.onDrop($event)\"\n (dragover)=\"model.onDragOver($event)\" (dragleave)=\"model.onDragLeave($event)\">\n <div [class]=\"model.getFileDecoratorCss()\" *ngIf=\"model.showFileDecorator\">\n <span [class]=\"model.cssClasses.dragAreaPlaceholder\" [model]=\"model.locRenderedPlaceholder\" sv-ng-string></span>\n <div [class]=\"model.cssClasses.wrapper\">\n <sv-ng-choose-file-btn [data]=\"{ question: model }\" *ngIf=\"model.showChooseButton\"></sv-ng-choose-file-btn>\n <sv-ng-action-bar [model]=\"model.actionsContainer\" *ngIf=\"model.actionsContainerVisible\"></sv-ng-action-bar>\n <span [class]=\"model.cssClasses.noFileChosen\" *ngIf=\"model.isEmpty()\">{{ model.noFileChosenCaption }}</span>\n </div>\n </div>\n <ng-container *ngIf=\"model.showLoadingIndicator\">\n <div [class]=\"model.cssClasses.loadingIndicator\">\n <sv-ng-loading-indicator></sv-ng-loading-indicator>\n </div>\n </ng-container>\n <ng-container *ngIf=\"model.isPlayingVideo\">\n <ng-container *ngTemplateOutlet=\"fileVideo\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"model.showRemoveButton\">\n <ng-container *ngTemplateOutlet=\"fileCleanButton; context: { css: model.showRemoveButton }\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"model.allowShowPreview\">\n <ng-template [component]=\"{ name: 'sv-file-preview', data: { question: model } }\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"model.showRemoveButtonBottom\">\n <ng-container *ngTemplateOutlet=\"fileCleanButton; context: { css: model.showRemoveButtonBottom }\"></ng-container>\n </ng-container>\n <sv-action-bar *ngIf=\"model.fileNavigatorVisible\" [model]=\"model.fileNavigator\"></sv-action-bar>\n </div>\n</div>\n<ng-template #fileCleanButton let-css=\"css\">\n <button type=\"button\" [class]=\"css\" (click)=\"model.doClean()\">\n <span>{{ model.clearButtonCaption }}</span>\n <svg *ngIf=\"model.cssClasses.removeButtonIconId\" [iconName]=\"model.cssClasses.removeButtonIconId\" [size]=\"'auto'\"\n [title]=\"model.clearButtonCaption\" sv-ng-svg-icon></svg>\n </button>\n</ng-template>\n<ng-template #fileVideo>\n <div [class]=\"model.cssClasses.videoContainer\">\n <sv-ng-action [model]=\"model.changeCameraAction\"></sv-ng-action>\n <sv-ng-action [model]=\"model.closeCameraAction\"></sv-ng-action>\n <video autoplay playsinline [attr.id]=\"model.videoId\" [class]=\"model.cssClasses.video\"></video>\n <sv-ng-action [model]=\"model.takePictureAction\"></sv-ng-action>\n </div>\n</ng-template>", components: [{ type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }, { type: ChooseFileBtn, selector: "sv-ng-choose-file-btn", inputs: ["data", "model"] }, { type: ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }, { type: LoadingIndicatorComponent, selector: "sv-ng-loading-indicator" }, { type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: ActionComponent, selector: "sv-ng-action", inputs: ["model"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FileQuestionComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-file-question",
templateUrl: "./file.component.html",
styleUrls: []
}]
}] });
AngularComponentFactory.Instance.registerComponent("file-question", FileQuestionComponent);
var CommentQuestionComponent = /** @class */ (function (_super) {
__extends(CommentQuestionComponent, _super);
function CommentQuestionComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
CommentQuestionComponent.prototype.onChange = function (event) {
this.model.value = event.target.value;
};
return CommentQuestionComponent;
}(QuestionAngular));
CommentQuestionComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CommentQuestionComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
CommentQuestionComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CommentQuestionComponent, selector: "sv-ng-question-comment", usesInheritance: true, ngImport: i0__namespace, template: "<ng-container *ngIf=\"!model.isReadOnlyRenderDiv()\">\n <ng-template [component]=\"{ name: 'sv-text-area', data: { model: model.textAreaModel } }\"></ng-template>\n <sv-ng-character-counter *ngIf=\"model.getMaxLength()\" \n [counter]=\"model.characterCounter\"\n [remainingCharacterCounter]=\"model.cssClasses.remainingCharacterCounter\">\n </sv-ng-character-counter>\n</ng-container>\n<div *ngIf=\"model.isReadOnlyRenderDiv()\" #contentElement>{{ model.value }}</div>", components: [{ type: CharacterCounterComponent, selector: "sv-ng-character-counter", inputs: ["counter", "remainingCharacterCounter"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CommentQuestionComponent, decorators: [{
type: i0.Component,
args: [{
templateUrl: "./comment.component.html",
selector: "sv-ng-question-comment"
}]
}] });
AngularComponentFactory.Instance.registerComponent("comment-question", CommentQuestionComponent);
var SignaturePadQuestionComponent = /** @class */ (function (_super) {
__extends(SignaturePadQuestionComponent, _super);
function SignaturePadQuestionComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
return SignaturePadQuestionComponent;
}(QuestionAngular));
SignaturePadQuestionComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SignaturePadQuestionComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
SignaturePadQuestionComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SignaturePadQuestionComponent, selector: "sv-ng-signature-component", usesInheritance: true, ngImport: i0__namespace, template: "<div\n[class]=\"model.cssClasses.root\"\n[style.width]=\"model.renderedCanvasWidth\" #contentElement>\n<div [class]=\"model.cssClasses.placeholder\" [visible]=\"model.needShowPlaceholder()\" [model]=\"$any(model).locRenderedPlaceholder\" sv-ng-string></div>\n<div>\n <img *ngIf=\"!!model.backgroundImage\" [src]=\"model.backgroundImage\" [style.width]=\"model.renderedCanvasWidth\" [class]=\"model.cssClasses.backgroundImage\">\n <canvas tabindex=\"-1\" [class]=\"model.cssClasses.canvas\" (blur)=\"model.onBlur($event)\"></canvas>\n</div>\n<div [class]=\"model.cssClasses.controls\" *ngIf=\"model.canShowClearButton\">\n <button\n type=\"button\"\n [class]=\"model.cssClasses.clearButton\"\n [title]=\"model.clearButtonCaption\"\n (click)=\"model.clearValue(true)\"\n >\n <span *ngIf=\"!model.cssClasses.clearButtonIconId\">\u2716</span>\n <svg\n *ngIf=\"model.cssClasses.clearButtonIconId\"\n [iconName]=\"model.cssClasses.clearButtonIconId\"\n [size]=\"'auto'\" sv-ng-svg-icon></svg>\n </button>\n</div>\n<ng-container *ngIf=\"model.showLoadingIndicator\">\n <div [class]=\"model.cssClasses.loadingIndicator\">\n <sv-ng-loading-indicator></sv-ng-loading-indicator>\n </div>\n</ng-container>\n</div>", components: [{ type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }, { type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: LoadingIndicatorComponent, selector: "sv-ng-loading-indicator" }], directives: [{ type: VisibleDirective, selector: "[visible]", inputs: ["visible"] }, { type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SignaturePadQuestionComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-signature-component",
templateUrl: "./signature.component.html"
}]
}] });
AngularComponentFactory.Instance.registerComponent("signaturepad-question", SignaturePadQuestionComponent);
var MultipleTextItemComponent = /** @class */ (function (_super) {
__extends(MultipleTextItemComponent, _super);
function MultipleTextItemComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
MultipleTextItemComponent.prototype.getModel = function () {
if (!this.model.isErrorsCell) {
return this.model.item.editor;
}
return null;
};
Object.defineProperty(MultipleTextItemComponent.prototype, "item", {
get: function () {
return this.model.item;
},
enumerable: false,
configurable: true
});
Object.defineProperty(MultipleTextItemComponent.prototype, "editor", {
get: function () {
return this.model.item.editor;
},
enumerable: false,
configurable: true
});
MultipleTextItemComponent.prototype.ngDoCheck = function () {
var _this = this;
_super.prototype.ngDoCheck.call(this);
if (this.model.isErrorsCell) {
this.editor.registerFunctionOnPropertyValueChanged("errors", function () {
_this.update();
}, "__ngSubscription");
}
};
MultipleTextItemComponent.prototype.ngOnDestroy = function () {
_super.prototype.ngOnDestroy.call(this);
if (this.model.isErrorsCell) {
this.editor.unRegisterFunctionOnPropertyValueChanged("errors", "__ngSubscription");
}
};
return MultipleTextItemComponent;
}(BaseAngular));
MultipleTextItemComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MultipleTextItemComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
MultipleTextItemComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MultipleTextItemComponent, selector: "'[sv-ng-multipletext-item]'", inputs: { question: "question", model: "model" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-container *ngIf=\"!model.isErrorsCell\">\n <label [class]=\"question.getItemLabelCss(item)\">\n <span [class]=\"question.getItemTitleCss()\" [style]=\"{ minWidth: question.itemTitleWidth, width: question.itemTitleWidth }\">\n <span *ngIf=\" item.editor.isRequireTextBeforeTitle || item.editor.isRequireTextOnStart\"\n [class]=\"question.cssClasses.requiredMark\">{{ item.editor.requiredMark }}</span>\n <sv-ng-string [model]=\"item.locTitle\"></sv-ng-string>\n <span *ngIf=\"item.editor.isRequireTextAfterTitle\"> </span>\n <span *ngIf=\"item.editor.isRequireTextAfterTitle\" [class]=\"question.cssClasses.requiredMark\" aria-hidden=\"true\">{{\n item.editor.requiredMark }}</span>\n </span>\n <div [class]=\"question.getItemCss()\" (focusin)=\"item.focusIn()\">\n <sv-ng-text-question [model]=\"item.editor\"></sv-ng-text-question>\n </div>\n </label>\n</ng-container>\n<ng-container *ngIf=\"model.isErrorsCell\">\n <div *ngIf=\"item.editor.hasVisibleErrors\" [element]=\"item.editor\" sv-ng-errors></div>\n</ng-container>", components: [{ type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }, { type: TextQuestionComponent, selector: "sv-ng-text-question" }, { type: ErrorsComponent, selector: "'[sv-ng-errors]'", inputs: ["element", "location"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MultipleTextItemComponent, decorators: [{
type: i0.Component,
args: [{
selector: "'[sv-ng-multipletext-item]'",
templateUrl: "./mutlipletextitem.component.html"
}]
}], propDecorators: { question: [{
type: i0.Input
}], model: [{
type: i0.Input
}] } });
var MultipleTextRowComponent = /** @class */ (function (_super) {
__extends(MultipleTextRowComponent, _super);
function MultipleTextRowComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
MultipleTextRowComponent.prototype.getModel = function () {
return this.model;
};
MultipleTextRowComponent.prototype.trackItemBy = function (_, cell) {
return "item" + cell.item.editor.id;
};
return MultipleTextRowComponent;
}(BaseAngular));
MultipleTextRowComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MultipleTextRowComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
MultipleTextRowComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MultipleTextRowComponent, selector: "sv-ng-multipletext-row", inputs: { question: "question", model: "model" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <tr [class]=\"question.cssClasses.row\" *ngIf=\"model.isVisible\">\n <ng-container *ngFor=\"let cell of model.cells; trackBy: trackItemBy\">\n <td [class]=\"cell.className\" [question]=\"question\" [model]=\"cell\" sv-ng-multipletext-item></td>\n </ng-container>\n </tr>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: MultipleTextItemComponent, selector: "'[sv-ng-multipletext-item]'", inputs: ["question", "model"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MultipleTextRowComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-multipletext-row",
templateUrl: "./multipletextrow.component.html",
styleUrls: ["../hide-host.scss"]
}]
}], propDecorators: { question: [{
type: i0.Input
}], model: [{
type: i0.Input
}] } });
var MultipleTextComponent = /** @class */ (function (_super) {
__extends(MultipleTextComponent, _super);
function MultipleTextComponent() {
var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
_this.trackRowBy = function (index) {
return _this.model.inputId + "rowkey" + index;
};
return _this;
}
return MultipleTextComponent;
}(QuestionAngular));
MultipleTextComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MultipleTextComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
MultipleTextComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MultipleTextComponent, selector: "sv-ng-multipletext-question", usesInheritance: true, ngImport: i0__namespace, template: "<table [class]=\"model.getQuestionRootCss()\" #contentElement>\n <tbody>\n <ng-container *ngFor=\"let row of model.getRows(); index as rowIndex; trackBy: trackRowBy\">\n <sv-ng-multipletext-row [model]=\"row\" [question]=\"model\"></sv-ng-multipletext-row>\n </ng-container>\n </tbody>\n</table>", components: [{ type: MultipleTextRowComponent, selector: "sv-ng-multipletext-row", inputs: ["question", "model"] }], directives: [{ type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MultipleTextComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-multipletext-question",
templateUrl: "./multipletext.component.html"
}]
}] });
AngularComponentFactory.Instance.registerComponent("multipletext-question", MultipleTextComponent);
var RankingQuestionComponent = /** @class */ (function (_super) {
__extends(RankingQuestionComponent, _super);
function RankingQuestionComponent() {
var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
_this.inputType = "";
_this.trackItemBy = function (index, item) {
return item.value + "-" + index + "-item";
};
return _this;
}
RankingQuestionComponent.prototype.getDefaultComponentName = function () {
return "sv-ng-ranking-item";
};
RankingQuestionComponent.prototype.getItemValueComponentData = function (item, index, unrankedItem) {
var res = {
componentName: this.getDefaultComponentName(),
componentData: {
question: this.model,
model: item,
inputType: this.inputType,
data: this.model.getItemValueWrapperComponentData(item),
index: index,
unrankedItem: unrankedItem
}
};
return res;
};
return RankingQuestionComponent;
}(SelectBaseComponent));
RankingQuestionComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RankingQuestionComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
RankingQuestionComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: RankingQuestionComponent, selector: "sv-ng-ranking-question", usesInheritance: true, ngImport: i0__namespace, template: "<div *ngIf=\"!model.selectToRankEnabled\" [class]=\"model.rootClass\" #contentElement>\n <ng-container *ngFor=\"let item of model.renderedRankingChoices; index as index; trackBy: trackItemBy\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item, index) }\"></ng-template>\n </ng-container>\n</div>\n\n<div *ngIf=\"model.selectToRankEnabled\" [class]=\"model.rootClass\" #contentElement>\n <div [class]='model.getContainerClasses(\"from\")' data-ranking=\"from-container\">\n <ng-container *ngFor=\"let item of model.renderedUnRankingChoices; index as index; trackBy: trackItemBy\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item, index, true) }\"></ng-template>\n </ng-container>\n\n <div *ngIf=\"model.renderedUnRankingChoices.length === 0\" [class]=\"model.cssClasses.containerPlaceholder\" [model]=\"$any(model).locSelectToRankEmptyRankedAreaText\" sv-ng-string></div>\n </div>\n\n <div [class]=\"model.cssClasses.containersDivider\"></div>\n\n <div [class]='model.getContainerClasses(\"to\")' data-ranking=\"to-container\">\n <ng-container *ngFor=\"let item of model.renderedRankingChoices; index as index; trackBy: trackItemBy\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item, index) }\"></ng-template>\n </ng-container>\n\n <div *ngIf=\"model.renderedRankingChoices.length === 0\" [class]=\"model.cssClasses.containerPlaceholder\" [model]=\"$any(model).locSelectToRankEmptyUnrankedAreaText\" sv-ng-string></div>\n </div>\n</div>", components: [{ type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RankingQuestionComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-ranking-question",
templateUrl: "./ranking.component.html",
}]
}] });
AngularComponentFactory.Instance.registerComponent("ranking-question", RankingQuestionComponent);
var RankingItemComponent = /** @class */ (function (_super) {
__extends(RankingItemComponent, _super);
function RankingItemComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
RankingItemComponent.prototype.getModel = function () {
return this.model;
};
return RankingItemComponent;
}(BaseAngular));
RankingItemComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RankingItemComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
RankingItemComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: RankingItemComponent, selector: "sv-ng-ranking-item", inputs: { question: "question", model: "model", index: "index", unrankedItem: "unrankedItem" }, usesInheritance: true, ngImport: i0__namespace, template: "\n\n\n<div [attr.tabindex]=\"question.getItemTabIndex(model)\" [attr.data-sv-drop-target-ranking-item]=\"index\" \n [class]=\"question.getItemClass(model)\"\n (keydown)=\"question.handleKeydown($event, model)\"\n (pointerdown)=\"question.handlePointerDown($event, model, $any($event.currentTarget))\"\n (pointerup)=\"question.handlePointerUp($event, model, $any($event.currentTarget))\">\n <div tabindex=\"-1\" style=\"outline: none;\">\n <div [class]=\"question.cssClasses.itemGhostNode\"></div>\n <div [class]=\"question.cssClasses.itemContent\">\n <div [class]=\"question.cssClasses.itemIconContainer\">\n <svg [class]=\"question.getIconHoverCss()\">\n <use [attr.xlink:href]=\"question.dragDropSvgIcon\"></use>\n </svg> \n <svg [class]=\"question.getIconFocusCss()\">\n <use [attr.xlink:href]=\"question.arrowsSvgIcon\"></use>\n </svg> \n </div>\n\n <div *ngIf=\"!unrankedItem && question.getNumberByIndex(index); else elseBlock\" [class]=\"question.getItemIndexClasses(model)\">{{ question.getNumberByIndex(index) }}</div>\n <ng-template #elseBlock><div [class]=\"question.getItemIndexClasses(model)\">\n <svg>\n <use [attr.xlink:href]=\"question.dashSvgIcon\"></use>\n </svg> \n </div></ng-template>\n\n <ng-template [component]=\"{ name: question.itemComponent, data: { item: model, cssClasses: question.cssClasses } }\"></ng-template>\n </div>\n </div>\n</div>", directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RankingItemComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-ranking-item",
templateUrl: "./ranking-item.component.html"
}]
}], propDecorators: { question: [{
type: i0.Input
}], model: [{
type: i0.Input
}], index: [{
type: i0.Input
}], unrankedItem: [{
type: i0.Input
}] } });
AngularComponentFactory.Instance.registerComponent("sv-ng-ranking-item", RankingItemComponent);
var RankingItemContentComponent = /** @class */ (function (_super) {
__extends(RankingItemContentComponent, _super);
function RankingItemContentComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
return RankingItemContentComponent;
}(EmbeddedViewContentComponent));
RankingItemContentComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RankingItemContentComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
RankingItemContentComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: RankingItemContentComponent, selector: "sv-ranking-item", inputs: { item: "item", cssClasses: "cssClasses" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div [class]=\"cssClasses.controlLabel\">\n <sv-ng-string [model]=\"item.locText\"></sv-ng-string>\n </div>\n</ng-template>\n", styles: [":host { display: none; }"], components: [{ type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RankingItemContentComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ranking-item",
templateUrl: "./ranking-item-content.component.html",
styles: [":host { display: none; }"]
}]
}], propDecorators: { item: [{
type: i0.Input
}], cssClasses: [{
type: i0.Input
}] } });
AngularComponentFactory.Instance.registerComponent("sv-ranking-item", RankingItemContentComponent);
var StringEditorComponent = /** @class */ (function () {
function StringEditorComponent() {
var _this = this;
this.onInput = function (event) {
_this.model.text = event.target.innerText;
};
this.onClick = function (event) {
event.preventDefault();
event.stopPropagation();
};
}
return StringEditorComponent;
}());
StringEditorComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: StringEditorComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
StringEditorComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: StringEditorComponent, selector: "sv-ng-string-editor", inputs: { model: "model" }, ngImport: i0__namespace, template: "<span\n class=\"sv-string-editor\"\n contenteditable=\"true\"\n *ngIf=\"model.hasHtml\"\n [innerHtml]=\"model.renderedHtml\"\n (blur)=\"onInput($event)\"\n (click)=\"onClick($event)\"\n></span>\n<span\n class=\"sv-string-editor\"\n contenteditable=\"true\"\n *ngIf=\"!model.hasHtml\"\n (blur)=\"onInput($event)\"\n (click)=\"onClick($event)\"\n >{{ model.renderedHtml }}</span\n>\n", directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: StringEditorComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-string-editor",
templateUrl: "./string-editor.component.html"
}]
}], propDecorators: { model: [{
type: i0.Input
}] } });
AngularComponentFactory.Instance.registerComponent(Survey.LocalizableString.editableRenderer, StringEditorComponent);
var PaneldynamicAction = /** @class */ (function () {
function PaneldynamicAction() {
}
Object.defineProperty(PaneldynamicAction.prototype, "question", {
get: function () {
return (this.model && this.model.data.question) || this.data.question;
},
enumerable: false,
configurable: true
});
return PaneldynamicAction;
}());
PaneldynamicAction.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PaneldynamicAction, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
PaneldynamicAction.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PaneldynamicAction, selector: "ng-component", inputs: { data: "data", model: "model" }, ngImport: i0__namespace, template: "", isInline: true });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PaneldynamicAction, decorators: [{
type: i0.Component,
args: [{
selector: "",
template: ""
}]
}], propDecorators: { data: [{
type: i0.Input
}], model: [{
type: i0.Input
}] } });
var PanelDynamicAddBtn = /** @class */ (function (_super) {
__extends(PanelDynamicAddBtn, _super);
function PanelDynamicAddBtn() {
return _super !== null && _super.apply(this, arguments) || this;
}
PanelDynamicAddBtn.prototype.addPanelClick = function () {
this.question.addPanelUI();
};
return PanelDynamicAddBtn;
}(PaneldynamicAction));
PanelDynamicAddBtn.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PanelDynamicAddBtn, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
PanelDynamicAddBtn.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PanelDynamicAddBtn, selector: "sv-ng-paneldynamic-add-btn", usesInheritance: true, ngImport: i0__namespace, template: "<button type=\"button\" [id]=\"question.addButtonId\" *ngIf=\"question.canAddPanel\" [class]=\"question.getAddButtonCss()\" (click)=\"addPanelClick()\">\n<span [class]=\"question.cssClasses.buttonAddText\"><sv-ng-string [model]=\"question.locAddPanelText\"></sv-ng-string></span>\n</button>", components: [{ type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PanelDynamicAddBtn, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-paneldynamic-add-btn",
templateUrl: "./paneldynamic-add-btn.component.html"
}]
}] });
AngularComponentFactory.Instance.registerComponent("sv-paneldynamic-add-btn", PanelDynamicAddBtn);
var PanelDynamicNextBtn = /** @class */ (function (_super) {
__extends(PanelDynamicNextBtn, _super);
function PanelDynamicNextBtn() {
return _super !== null && _super.apply(this, arguments) || this;
}
PanelDynamicNextBtn.prototype.nextPanelClick = function () {
this.question.goToNextPanel();
};
return PanelDynamicNextBtn;
}(PaneldynamicAction));
PanelDynamicNextBtn.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PanelDynamicNextBtn, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
PanelDynamicNextBtn.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PanelDynamicNextBtn, selector: "sv-ng-paneldynamic-next-btn", usesInheritance: true, ngImport: i0__namespace, template: "<div [attr.title]=\"question.panelNextText\" (click)=\"nextPanelClick()\" [class]=\"question.getNextButtonCss()\">\n <svg [iconName]=\"question.cssClasses.progressBtnIcon\" [size]=\"'auto'\" sv-ng-svg-icon></svg>\n</div>", components: [{ type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PanelDynamicNextBtn, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-paneldynamic-next-btn",
templateUrl: "./paneldynamic-next-btn.component.html"
}]
}] });
AngularComponentFactory.Instance.registerComponent("sv-paneldynamic-next-btn", PanelDynamicNextBtn);
var PanelDynamicPrevBtn = /** @class */ (function (_super) {
__extends(PanelDynamicPrevBtn, _super);
function PanelDynamicPrevBtn() {
return _super !== null && _super.apply(this, arguments) || this;
}
PanelDynamicPrevBtn.prototype.prevPanelClick = function () {
this.question.goToPrevPanel();
};
return PanelDynamicPrevBtn;
}(PaneldynamicAction));
PanelDynamicPrevBtn.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PanelDynamicPrevBtn, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
PanelDynamicPrevBtn.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PanelDynamicPrevBtn, selector: "sv-ng-paneldynamic-prev-btn", usesInheritance: true, ngImport: i0__namespace, template: "<div [attr.title]=\"question.panelPrevText\" (click)=\"prevPanelClick()\" [class]=\"question.getPrevButtonCss()\">\n <svg [iconName]=\"question.cssClasses.progressBtnIcon\" [size]=\"'auto'\" sv-ng-svg-icon></svg>\n</div>\n", components: [{ type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PanelDynamicPrevBtn, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-paneldynamic-prev-btn",
templateUrl: "./paneldynamic-prev-btn.component.html"
}]
}] });
AngularComponentFactory.Instance.registerComponent("sv-paneldynamic-prev-btn", PanelDynamicPrevBtn);
var PaneldynamicRemoveButtonComponent = /** @class */ (function (_super) {
__extends(PaneldynamicRemoveButtonComponent, _super);
function PaneldynamicRemoveButtonComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
Object.defineProperty(PaneldynamicRemoveButtonComponent.prototype, "panel", {
get: function () {
return (this.data ? this.data : this.model.data).panel;
},
enumerable: false,
configurable: true
});
return PaneldynamicRemoveButtonComponent;
}(PaneldynamicAction));
PaneldynamicRemoveButtonComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PaneldynamicRemoveButtonComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
PaneldynamicRemoveButtonComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PaneldynamicRemoveButtonComponent, selector: "sv-ng-paneldynamic-remove-btn", usesInheritance: true, ngImport: i0__namespace, template: "<button type=\"button\" [id]=\"question.getPanelRemoveButtonId(panel)\" (click)=\"question.removePanelUI(panel)\" [class]=\"question.getPanelRemoveButtonCss()\"> \n <span [class]=\"question.cssClasses.buttonRemoveText\"><sv-ng-string [model]=\"question.locRemovePanelText\"></sv-ng-string></span>\n <span [class]=\"question.cssClasses.iconRemove\"></span>\n</button>\n", components: [{ type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PaneldynamicRemoveButtonComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-paneldynamic-remove-btn",
templateUrl: "./paneldynamic-remove-btn.component.html"
}]
}] });
AngularComponentFactory.Instance.registerComponent("sv-paneldynamic-remove-btn", PaneldynamicRemoveButtonComponent);
var PanelDynamicProgressText = /** @class */ (function (_super) {
__extends(PanelDynamicProgressText, _super);
function PanelDynamicProgressText() {
return _super !== null && _super.apply(this, arguments) || this;
}
return PanelDynamicProgressText;
}(PaneldynamicAction));
PanelDynamicProgressText.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PanelDynamicProgressText, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
PanelDynamicProgressText.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PanelDynamicProgressText, selector: "sv-ng-paneldynamic-progress-text", usesInheritance: true, ngImport: i0__namespace, template: "<div [class]=\"question.cssClasses.progressText\">{{ question.progressText }}</div>\n" });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PanelDynamicProgressText, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-paneldynamic-progress-text",
templateUrl: "./paneldynamic-progress-text.component.html"
}]
}] });
AngularComponentFactory.Instance.registerComponent("sv-paneldynamic-progress-text", PanelDynamicProgressText);
var PanelDynamicQuestionComponent = /** @class */ (function (_super) {
__extends(PanelDynamicQuestionComponent, _super);
function PanelDynamicQuestionComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
PanelDynamicQuestionComponent.prototype.trackPanelBy = function (_, panel) {
return panel.id;
};
PanelDynamicQuestionComponent.prototype.onModelChanged = function () {
var _this = this;
_super.prototype.onModelChanged.call(this);
this.model.panelCountChangedCallback = function () {
_this.update();
};
this.model.currentIndexChangedCallback = function () {
_this.update();
};
this.model.renderModeChangedCallback = function () {
_this.update();
};
};
Object.defineProperty(PanelDynamicQuestionComponent.prototype, "progressCssClass", {
get: function () {
return this.model.isProgressTopShowing
? this.model.cssClasses.progressTop
: this.model.cssClasses.progressBottom;
},
enumerable: false,
configurable: true
});
PanelDynamicQuestionComponent.prototype.ngOnDestroy = function () {
this.model.panelCountChangedCallback = function () { };
this.model.currentIndexChangedCallback = function () { };
this.model.renderModeChangedCallback = function () { };
_super.prototype.ngOnDestroy.call(this);
};
PanelDynamicQuestionComponent.prototype.getPanelComponentName = function (panel) {
var survey = this.surveyModel;
if (!!survey) {
var name = survey.getElementWrapperComponentName(panel);
if (!!name) {
return name;
}
}
return "panel";
};
PanelDynamicQuestionComponent.prototype.getPanelComponentData = function (panel) {
var survey = this.surveyModel;
var data;
if (!!survey) {
data = survey.getElementWrapperComponentData(panel);
}
return {
componentName: "panel",
componentData: {
model: panel,
data: data
}
};
};
return PanelDynamicQuestionComponent;
}(QuestionAngular));
PanelDynamicQuestionComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PanelDynamicQuestionComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
PanelDynamicQuestionComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PanelDynamicQuestionComponent, selector: "sv-ng-paneldynamic-question", usesInheritance: true, ngImport: i0__namespace, template: "<div [class]=\"model.cssClasses.root\" #contentElement>\n <div *ngIf=\"model.hasTabbedMenu\" [class]=\"model.getTabsContainerCss()\">\n <sv-action-bar [model]=\"model.tabbedMenu\"></sv-action-bar>\n </div>\n <div *ngIf=\"model.getShowNoEntriesPlaceholder()\" [class]=\"model.cssClasses.noEntriesPlaceholder\">\n <span [model]=\"model.locNoEntriesText\" sv-ng-string></span>\n <sv-ng-paneldynamic-add-btn *ngIf=\"model.canAddPanel\" [data]=\"{ question: model }\"></sv-ng-paneldynamic-add-btn>\n </div>\n <div [class]=\"model.cssClasses.progress\"\n *ngIf=\"!model.showLegacyNavigation && model.isProgressTopShowing && model.isRangeShowing\">\n <div [class]=\"model.cssClasses.progressBar\" [style]=\"{ width: model.progress }\" role=\"progressbar\"></div>\n </div>\n <ng-container [ngTemplateOutlet]=\"progress\"\n *ngIf=\"model.showLegacyNavigation && model.isProgressTopShowing\"></ng-container>\n <div [class]=\"model.cssClasses.panelsContainer\">\n <ng-container *ngFor=\"let panel of model.renderedPanels; index as index; trackBy: trackPanelBy\">\n <div [class]=\"model.getPanelWrapperCss(panel)\">\n <ng-template\n [component]=\"{ name: getPanelComponentName(panel), data: getPanelComponentData(panel) }\"></ng-template>\n <ng-container *ngIf=\"model.canRenderRemovePanelOnRight(panel)\">\n <ng-template\n [component]=\"{ name: 'sv-paneldynamic-remove-btn', data: { data: { panel, question: model }}}\"></ng-template>\n </ng-container>\n </div>\n <hr [class]=\"model.cssClasses.separator\" *ngIf=\"model.showSeparator(index)\" />\n </ng-container>\n </div>\n <ng-container [ngTemplateOutlet]=\"progress\"\n *ngIf=\"model.showLegacyNavigation && model.isProgressBottomShowing\"></ng-container>\n <sv-ng-paneldynamic-add-btn *ngIf=\"model.showLegacyNavigation && model.isRenderModeList\"\n [data]=\"{ question: model }\"></sv-ng-paneldynamic-add-btn>\n <ng-container [ngTemplateOutlet]=\"progressV2\" *ngIf=\"model.showNavigation\"></ng-container>\n</div>\n\n<ng-template #progressV2>\n <div [class]=\"model.cssClasses.footer\" *ngIf=\"!!model.cssClasses.footer\">\n <hr [class]=\"model.cssClasses.separator\" />\n <div [class]=\"model.cssClasses.progress\" *ngIf=\"model.isRangeShowing && model.isProgressBottomShowing\">\n <div [class]=\"model.cssClasses.progressBar\" [style]=\"{ width: model.progress }\" role=\"progressbar\"></div>\n </div>\n <div *ngIf=\"model.footerToolbar.visibleActions.length\" [class]=\"model.cssClasses.footerButtonsContainer\">\n <sv-ng-action-bar [model]=\"model.footerToolbar\"></sv-ng-action-bar>\n </div>\n </div>\n</ng-template>\n<ng-template #progress>\n <div [class]=\"this.progressCssClass\">\n <div style=\"clear: both\" [class]=\"this.progressCssClass\">\n <div [class]=\"model.cssClasses.progressContainer\">\n <sv-ng-paneldynamic-prev-btn [data]=\"{ question: model }\"></sv-ng-paneldynamic-prev-btn>\n <div [class]=\"model.cssClasses.progress\" *ngIf=\"model.isRangeShowing\">\n <div [class]=\"model.cssClasses.progressBar\" [style]=\"{ width: model.progress }\" role=\"progressbar\"></div>\n </div>\n <sv-ng-paneldynamic-next-btn [data]=\"{ question: model }\"></sv-ng-paneldynamic-next-btn>\n </div>\n <sv-ng-paneldynamic-add-btn [data]=\"{ question: model }\"></sv-ng-paneldynamic-add-btn>\n <sv-ng-paneldynamic-progress-text [data]=\"{ question: model }\"></sv-ng-paneldynamic-progress-text>\n </div>\n </div>\n</ng-template>", components: [{ type: ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }, { type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }, { type: PanelDynamicAddBtn, selector: "sv-ng-paneldynamic-add-btn" }, { type: PanelDynamicPrevBtn, selector: "sv-ng-paneldynamic-prev-btn" }, { type: PanelDynamicNextBtn, selector: "sv-ng-paneldynamic-next-btn" }, { type: PanelDynamicProgressText, selector: "sv-ng-paneldynamic-progress-text" }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PanelDynamicQuestionComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-paneldynamic-question",
templateUrl: "./paneldynamic.component.html"
}]
}] });
AngularComponentFactory.Instance.registerComponent("paneldynamic-question", PanelDynamicQuestionComponent);
var TemplateRendererComponent = /** @class */ (function (_super) {
__extends(TemplateRendererComponent, _super);
function TemplateRendererComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
return TemplateRendererComponent;
}(EmbeddedViewContentComponent));
TemplateRendererComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TemplateRendererComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
TemplateRendererComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TemplateRendererComponent, selector: "sv-template-renderer", inputs: { componentName: "componentName", componentData: "componentData", contentTempl: "contentTempl" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <ng-container *ngIf=\"!!componentName\">\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"!componentName && contentTempl\">\n <ng-container *ngTemplateOutlet=\"contentTempl\"></ng-container>\n </ng-container>\n</ng-template>", styles: [":host{display:none}\n"], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }, { type: i2__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TemplateRendererComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-template-renderer",
templateUrl: "./template-renderer.component.html",
styleUrls: ["./hide-host.scss"]
}]
}], propDecorators: { componentName: [{
type: i0.Input
}], componentData: [{
type: i0.Input
}], contentTempl: [{
type: i0.Input
}] } });
AngularComponentFactory.Instance.registerComponent(Survey.SurveyModel.TemplateRendererComponentName, TemplateRendererComponent);
var CustomWidgetComponent = /** @class */ (function () {
function CustomWidgetComponent() {
}
Object.defineProperty(CustomWidgetComponent.prototype, "hasDefaultRender", {
get: function () {
return this.model.customWidget.isDefaultRender || this.hasAngularComponent;
},
enumerable: false,
configurable: true
});
Object.defineProperty(CustomWidgetComponent.prototype, "hasHtml", {
get: function () {
return this.model.customWidget.htmlTemplate ? true : false;
},
enumerable: false,
configurable: true
});
Object.defineProperty(CustomWidgetComponent.prototype, "customHtml", {
get: function () {
return this.model.customWidget.htmlTemplate;
},
enumerable: false,
configurable: true
});
Object.defineProperty(CustomWidgetComponent.prototype, "hasAngularComponent", {
get: function () {
return AngularComponentFactory.Instance.isComponentRegistered(this.model.customWidget.name);
},
enumerable: false,
configurable: true
});
Object.defineProperty(CustomWidgetComponent.prototype, "componentName", {
get: function () {
if (this.hasAngularComponent)
return this.model.customWidget.name;
return this.model.getTemplate() + "-question";
},
enumerable: false,
configurable: true
});
CustomWidgetComponent.prototype.ngAfterViewInit = function () {
this.model.customWidget.afterRender(this.model, this.container.nativeElement);
};
CustomWidgetComponent.prototype.ngOnChanges = function (simpleChanges) {
if (simpleChanges["model"].previousValue !== undefined && simpleChanges["model"].currentValue !== undefined) {
this.model.customWidget.afterRender(this.model, this.container.nativeElement);
}
};
CustomWidgetComponent.prototype.ngOnDestroy = function () {
this.model.customWidget.willUnmount(this.model, this.container.nativeElement);
};
return CustomWidgetComponent;
}());
CustomWidgetComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CustomWidgetComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
CustomWidgetComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CustomWidgetComponent, selector: "sv-ng-custom-widget", inputs: { css: "css", model: "model" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["content"], descendants: true }], usesOnChanges: true, ngImport: i0__namespace, template: "<div #content>\n <div *ngIf=\"hasHtml\" [innerHTML]=\"customHtml | safeHtml\"></div>\n <ng-container *ngIf=\"hasDefaultRender\">\n <ng-template [component]=\"{ name: componentName, data: { model: model, css: css } }\"></ng-template> \n </ng-container>\n</div>", directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }], pipes: { "safeHtml": SafeHtmlPipe } });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CustomWidgetComponent, decorators: [{
type: i0.Component,
args: [{
templateUrl: "./customwidget.component.html",
selector: "sv-ng-custom-widget"
}]
}], propDecorators: { css: [{
type: i0.Input
}], model: [{
type: i0.Input
}], container: [{
type: i0.ViewChild,
args: ["content"]
}] } });
AngularComponentFactory.Instance.registerComponent("survey-customwidget", CustomWidgetComponent);
var MatrixCellComponent = /** @class */ (function (_super) {
__extends(MatrixCellComponent, _super);
function MatrixCellComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
MatrixCellComponent.prototype.getModel = function () {
return this.row.item;
};
MatrixCellComponent.prototype.onChange = function () {
this.cellChangedOwner.onCellChanged(this.row, this.column);
};
return MatrixCellComponent;
}(BaseAngular));
MatrixCellComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MatrixCellComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
MatrixCellComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MatrixCellComponent, selector: "sv-ng-matrix-cell, '[sv-ng-matrix-cell]'", inputs: { question: "question", column: "column", row: "row", columnIndex: "columnIndex", cellChangedOwner: "cellChangedOwner" }, usesInheritance: true, ngImport: i0__namespace, template: "<label (mousedown)=\"question.onMouseDown()\" [class]=\"question.getItemClass(row, column)\">\n <input\n type=\"radio\"\n [class]=\"question.cssClasses.itemValue\"\n [name]=\"row.fullName\"\n [value]=\"column.value\"\n [checked]=\"row.value === column.value\"\n [readonly]=\"row.isReadOnlyAttr\"\n [disabled]=\"row.isDisabledAttr\"\n [attr.id]=\"question.inputId + '_' + row.name + '_' + columnIndex\"\n (change)=\"onChange()\"\n [attr.aria-required]=\"question.a11y_input_ariaRequired\"\n [attr.aria-label]=\"question.getCellAriaLabel(row.locText.renderedHtml, column.locText.renderedHtml)\"\n [attr.aria-invalid]=\"question.a11y_input_ariaInvalid\"\n [attr.aria-errormessage]=\"question.a11y_input_ariaErrormessage\"\n />\n <span [class]=\"question.cssClasses.materialDecorator\">\n <svg *ngIf=\"question.itemSvgIcon\" [class]=\"question.cssClasses.itemDecorator\">\n <use [attr.xlink:href]=\"question.itemSvgIcon\"></use>\n </svg> \n </span>\n <span *ngIf=\"question.isMobile\" [class]=\"question.cssClasses.cellResponsiveTitle\" [model]=\"column.locText\" sv-ng-string></span>\n</label>\n<ng-content></ng-content>", components: [{ type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MatrixCellComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-matrix-cell, '[sv-ng-matrix-cell]'",
templateUrl: "./matrixcell.component.html"
}]
}], propDecorators: { question: [{
type: i0.Input
}], column: [{
type: i0.Input
}], row: [{
type: i0.Input
}], columnIndex: [{
type: i0.Input
}], cellChangedOwner: [{
type: i0.Input
}] } });
AngularComponentFactory.Instance.registerComponent("survey-matrix-cell", MatrixCellComponent);
var MatrixDynamicDragDropIconComponent = /** @class */ (function (_super) {
__extends(MatrixDynamicDragDropIconComponent, _super);
function MatrixDynamicDragDropIconComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
Object.defineProperty(MatrixDynamicDragDropIconComponent.prototype, "question", {
get: function () {
return this.model.data.question;
},
enumerable: false,
configurable: true
});
return MatrixDynamicDragDropIconComponent;
}(EmbeddedViewContentComponent));
MatrixDynamicDragDropIconComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MatrixDynamicDragDropIconComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
MatrixDynamicDragDropIconComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MatrixDynamicDragDropIconComponent, selector: "sv-ng-matrix-drag-drop-icon", inputs: { model: "model" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div>\n <svg *ngIf=\"question.iconDragElement\" [class]=\"question.cssClasses.dragElementDecorator\">\n <use [attr.xlink:href]=\"question.iconDragElement\"></use>\n </svg>\n <span *ngIf=\"!question.iconDragElement\" data-bind=\"css: question.cssClasses.iconDrag\"></span>\n </div>\n</ng-template>", styles: [":host{display:none}\n"], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MatrixDynamicDragDropIconComponent, decorators: [{
type: i0.Component,
args: [{
templateUrl: "drag-drop-icon.component.html",
selector: "sv-ng-matrix-drag-drop-icon",
styleUrls: ["../../../hide-host.scss"]
}]
}], propDecorators: { model: [{
type: i0.Input
}] } });
AngularComponentFactory.Instance.registerComponent("sv-matrix-drag-drop-icon", MatrixDynamicDragDropIconComponent);
var MatrixRequiredHeader = /** @class */ (function (_super) {
__extends(MatrixRequiredHeader, _super);
function MatrixRequiredHeader() {
return _super !== null && _super.apply(this, arguments) || this;
}
MatrixRequiredHeader.prototype.getModel = function () {
return this.column;
};
return MatrixRequiredHeader;
}(BaseAngular));
MatrixRequiredHeader.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MatrixRequiredHeader, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
MatrixRequiredHeader.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MatrixRequiredHeader, selector: "sv-ng-matrixheaderrequired", inputs: { column: "column", question: "question" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template><ng-container *ngIf='column.isRenderedRequired'><span> </span><span [class]='question.cssClasses.cellRequiredMark'>{{ column.requiredMark }}</span></ng-container></ng-template>", isInline: true, styles: [":host { display: none; }"], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MatrixRequiredHeader, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-matrixheaderrequired",
styles: [":host { display: none; }"],
template: "<ng-template #template><ng-container *ngIf='column.isRenderedRequired'><span> </span><span [class]='question.cssClasses.cellRequiredMark'>{{ column.requiredMark }}</span></ng-container></ng-template>"
}]
}], propDecorators: { column: [{
type: i0.Input
}], question: [{
type: i0.Input
}] } });
var MatrixDropdownCellComponent = /** @class */ (function (_super) {
__extends(MatrixDropdownCellComponent, _super);
function MatrixDropdownCellComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
MatrixDropdownCellComponent.prototype.getModel = function () {
if (this.cell.hasQuestion) {
return this.cell.question;
}
if (!!this.cell.column) {
return this.cell.column;
}
return null;
};
Object.defineProperty(MatrixDropdownCellComponent.prototype, "row", {
get: function () {
return this.cell.row;
},
enumerable: false,
configurable: true
});
MatrixDropdownCellComponent.prototype.ngDoCheck = function () {
var _this = this;
var _a;
_super.prototype.ngDoCheck.call(this);
if (this.cell.isErrorsCell && ((_a = this.cell) === null || _a === void 0 ? void 0 : _a.question)) {
this.cell.question.registerFunctionOnPropertiesValueChanged(["errors", "visible"], function () {
_this.update();
}, "__ngSubscription");
}
};
Object.defineProperty(MatrixDropdownCellComponent.prototype, "panelComponentName", {
get: function () {
var panel = this.cell.panel;
var survey = panel.survey;
if (!!survey) {
var name = survey.getElementWrapperComponentName(panel);
if (!!name) {
return name;
}
}
return "panel";
},
enumerable: false,
configurable: true
});
Object.defineProperty(MatrixDropdownCellComponent.prototype, "panelComponentData", {
get: function () {
var panel = this.cell.panel;
var survey = panel.survey;
var data;
if (!!survey) {
data = survey.getElementWrapperComponentData(panel);
}
return {
componentName: "panel",
componentData: {
model: panel,
data: data
}
};
},
enumerable: false,
configurable: true
});
MatrixDropdownCellComponent.prototype.getComponentName = function (element) { return getComponentName(element); };
MatrixDropdownCellComponent.prototype.getCellStyle = function () {
if (!!this.cell.width || !!this.cell.minWidth)
return { width: this.cell.width, minWidth: this.cell.minWidth };
return null;
};
Object.defineProperty(MatrixDropdownCellComponent.prototype, "isRequiredCell", {
get: function () {
return !!this.cell.column && this.cell.column.isRenderedRequired;
},
enumerable: false,
configurable: true
});
MatrixDropdownCellComponent.prototype.ngAfterViewInit = function () {
var _a;
if (!this.cell.hasQuestion || !this.question || !this.question.survey)
return;
var el = (_a = this.cellContainer) === null || _a === void 0 ? void 0 : _a.nativeElement;
if (el) {
var cellQ = this.cell.question;
var options = {
cell: this.cell.cell,
cellQuestion: cellQ,
htmlElement: el,
row: this.cell.row,
column: this.cell.cell.column,
};
this.question.survey.matrixAfterCellRender(this.question, options);
cellQ.afterRenderCore(el);
}
};
MatrixDropdownCellComponent.prototype.ngOnDestroy = function () {
var _a;
_super.prototype.ngOnDestroy.call(this);
if (this.cell.isErrorsCell && ((_a = this.cell) === null || _a === void 0 ? void 0 : _a.question)) {
this.cell.question.unRegisterFunctionOnPropertiesValueChanged(["errors", "visible"], "__ngSubscription");
}
};
Object.defineProperty(MatrixDropdownCellComponent.prototype, "canRender", {
get: function () {
return this.question && this.question.survey && this.cell.isVisible;
},
enumerable: false,
configurable: true
});
return MatrixDropdownCellComponent;
}(BaseAngular));
MatrixDropdownCellComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MatrixDropdownCellComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
MatrixDropdownCellComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MatrixDropdownCellComponent, selector: "sv-ng-matrixdropdown-cell", inputs: { question: "question", cell: "cell" }, viewQueries: [{ propertyName: "cellContainer", first: true, predicate: ["cellContainer"], descendants: true }], usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <td [class]=\"cell.className\" *ngIf=\"canRender\" [title]=\"cell.getTitle()\"\n [style]=\"getCellStyle()\" [attr.colspan]=\"cell.colSpans\" (focusin)=\"cell.focusIn()\" #cellContainer>\n <sv-ng-matrix-drag-drop-icon *ngIf=\"cell.isDragHandlerCell\"\n [model]=\"$any({ data: { row: row, question: question } })\"></sv-ng-matrix-drag-drop-icon>\n <sv-action-bar *ngIf=\"cell.isActionsCell\" [model]=\"cell.item.getData()\" [handleClick]=\"false\"></sv-action-bar>\n <ng-container *ngIf=\"cell.hasPanel\">\n <ng-template [component]=\"{ name: panelComponentName, data: panelComponentData }\"></ng-template>\n </ng-container>\n <div *ngIf=\"cell.isErrorsCell && cell.question?.hasVisibleErrors\" [element]=\"cell.question\" sv-ng-errors></div>\n <span *ngIf=\"cell.showResponsiveTitle\" [class]=\"cell.responsiveTitleCss\">\n <sv-ng-string [model]=\"cell.responsiveLocTitle\"></sv-ng-string>\n <sv-ng-matrixheaderrequired [column]=\"cell.column\" [question]=\"cell.matrix\">\n </sv-ng-matrixheaderrequired>\n </span>\n <div *ngIf=\"cell.hasQuestion\" [class]=\"cell.cellQuestionWrapperClassName\"\n [visible]=\"cell.question.isVisible\">\n <ng-container *ngIf=\"!cell.isChoice && cell.question.isDefaultRendering()\">\n <ng-template\n [component]=\"{ name: question.getCellWrapperComponentName(cell.cell), data: { componentData: question.getCellWrapperComponentData(cell.cell)} }\">\n <ng-template\n [component]=\"{ name: getComponentName(cell.question), data: { model: cell.question } }\"></ng-template>\n </ng-template>\n </ng-container>\n <ng-template *ngIf=\"!cell.isChoice && !cell.question.isDefaultRendering()\"\n [component]=\"{ name: cell.question.getComponentName(), data: { model: cell.question } }\">\n </ng-template>\n <ng-container *ngIf=\"cell.isItemChoice\">\n <ng-template\n [component]=\"{ name: question.getCellWrapperComponentName(cell.cell), data: { componentData: question.getCellWrapperComponentData(cell.cell)} }\">\n <sv-ng-selebase-item [showLabel]=\"false\" [inputType]=\"cell.isCheckbox ? 'checkbox': 'radio'\"\n [question]=\"cell.question\" [model]=\"cell.item\"></sv-ng-selebase-item>\n </ng-template>\n </ng-container>\n <div *ngIf=\"cell.isOtherChoice\" [class]=\"cell.question.getCommentAreaCss(true)\" [question]=\"cell.question\"\n sv-ng-comment-other></div>\n </div>\n <ng-container *ngIf=\"cell.hasTitle\">\n <ng-template\n [component]=\"{ name: question.getCellWrapperComponentName($any(cell)), data: { componentData: question.getCellWrapperComponentData($any(cell))} }\">\n <sv-ng-string [model]=\"cell.locTitle\"></sv-ng-string>\n <span *ngIf=\"isRequiredCell\" [class]=\"question.cssClasses.cellRequiredMark\">{{ cell.requiredMark }}</span>\n </ng-template>\n </ng-container>\n </td>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: MatrixDynamicDragDropIconComponent, selector: "sv-ng-matrix-drag-drop-icon", inputs: ["model"] }, { type: ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }, { type: ErrorsComponent, selector: "'[sv-ng-errors]'", inputs: ["element", "location"] }, { type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }, { type: MatrixRequiredHeader, selector: "sv-ng-matrixheaderrequired", inputs: ["column", "question"] }, { type: SelectBaseItemComponent, selector: "['sv-ng-selectbase-item'], sv-ng-selebase-item", inputs: ["question", "model", "inputType", "showLabel"] }, { type: SurveyCommentOtherComponent, selector: "sv-ng-comment-other, '[sv-ng-comment-other]'", inputs: ["question"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }, { type: VisibleDirective, selector: "[visible]", inputs: ["visible"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MatrixDropdownCellComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-matrixdropdown-cell",
templateUrl: "./matrixdropdowncell.component.html",
styles: [":host { display: none; }"]
}]
}], propDecorators: { question: [{
type: i0.Input
}], cell: [{
type: i0.Input
}], cellContainer: [{
type: i0.ViewChild,
args: ["cellContainer"]
}] } });
var MatrixRowComponent = /** @class */ (function (_super) {
__extends(MatrixRowComponent, _super);
function MatrixRowComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
MatrixRowComponent.prototype.getModel = function () {
return this.model;
};
Object.defineProperty(MatrixRowComponent.prototype, "row", {
get: function () {
return this.model.row;
},
enumerable: false,
configurable: true
});
MatrixRowComponent.prototype.trackCellBy = function (_, cell) {
return cell.id;
};
MatrixRowComponent.prototype.onModelChanged = function () {
var _a;
_super.prototype.onModelChanged.call(this);
if (this.previousModel) {
this.previousModel.setRootElement(undefined);
}
if (this.model && ((_a = this.container) === null || _a === void 0 ? void 0 : _a.nativeElement)) {
this.model.setRootElement(this.container.nativeElement);
}
};
MatrixRowComponent.prototype.ngAfterViewInit = function () {
var _a;
if (this.model && ((_a = this.container) === null || _a === void 0 ? void 0 : _a.nativeElement)) {
this.model.setRootElement(this.container.nativeElement);
}
};
MatrixRowComponent.prototype.ngOnDestroy = function () {
_super.prototype.ngOnDestroy.call(this);
this.model.setRootElement(undefined);
};
return MatrixRowComponent;
}(BaseAngular));
MatrixRowComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MatrixRowComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
MatrixRowComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MatrixRowComponent, selector: "sv-ng-matrix-row", inputs: { model: "model", question: "question" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, read: i0.ElementRef }], usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <tr *ngIf=\"model.visible\" [class]=\"model.className\" (pointerdown)=\"question.onPointerDown($event, row)\"\n [attr.data-sv-drop-target-matrix-row]=\"row && row.id\" #container>\n <sv-ng-matrixdropdown-cell [cell]=\"cell\" [question]=\"question\"\n *ngFor=\"let cell of model.cells; trackBy: trackCellBy\"></sv-ng-matrixdropdown-cell>\n </tr>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: MatrixDropdownCellComponent, selector: "sv-ng-matrixdropdown-cell", inputs: ["question", "cell"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MatrixRowComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-matrix-row",
templateUrl: "./matrix-row.component.html",
styles: [":host { display: none; }"]
}]
}], propDecorators: { model: [{
type: i0.Input
}], question: [{
type: i0.Input
}], container: [{
type: i0.ViewChild,
args: ["container", { static: false, read: i0.ElementRef }]
}] } });
var MatrixTableComponent = /** @class */ (function (_super) {
__extends(MatrixTableComponent, _super);
function MatrixTableComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
MatrixTableComponent.prototype.getModel = function () {
return this.table;
};
MatrixTableComponent.prototype.trackCellBy = function (_, cell) {
return cell.id;
};
MatrixTableComponent.prototype.trackRowBy = function (index, row) {
return row.id;
};
return MatrixTableComponent;
}(BaseAngular));
MatrixTableComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MatrixTableComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
MatrixTableComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MatrixTableComponent, selector: "sv-ng-matrix-table", inputs: { question: "question", table: "table" }, usesInheritance: true, ngImport: i0__namespace, template: "<div [style]=\"{ overflowX: question.showHorizontalScroll ? 'scroll' : '' }\" #contentElement\n [class]=\"question.cssClasses.tableWrapper\">\n <table [class]=\"question.getTableCss()\">\n <thead *ngIf=\"table.showHeader\">\n <tr>\n <ng-container *ngFor=\"let cell of table.headerRow.cells; trackBy: trackCellBy\">\n <th *ngIf=\"cell.hasTitle\" [class]=\"cell.className\" [style]=\"{ minWidth: cell.minWidth, width: cell.width }\">\n <ng-template\n [component]=\"{ name: question.getColumnHeaderWrapperComponentName($any(cell)), data: { componentData: question.getColumnHeaderWrapperComponentData($any(cell)) } }\">\n <sv-ng-string [model]=\"cell.locTitle\"></sv-ng-string>\n <sv-ng-matrixheaderrequired *ngIf=\"!!cell.column\" [column]=\"cell.column\" [question]=\"question\">\n </sv-ng-matrixheaderrequired>\n </ng-template>\n </th>\n\n <td *ngIf=\"!cell.hasTitle\" [class]=\"cell.className\" [style]=\"{ minWidth: cell.minWidth, width: cell.width }\">\n </td>\n </ng-container>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor=\"let row of table.renderedRows; trackBy: trackRowBy\">\n <sv-ng-matrix-row [model]=\"row\" [question]=\"question\"></sv-ng-matrix-row>\n </ng-container>\n </tbody>\n <tfoot *ngIf=\"table.showFooter\">\n <tr>\n <sv-ng-matrixdropdown-cell [cell]=\"cell\" [question]=\"question\"\n *ngFor=\"let cell of table.footerRow.cells; trackBy: trackCellBy\">\n </sv-ng-matrixdropdown-cell>\n </tr>\n </tfoot>\n </table>\n</div>", components: [{ type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }, { type: MatrixRequiredHeader, selector: "sv-ng-matrixheaderrequired", inputs: ["column", "question"] }, { type: MatrixRowComponent, selector: "sv-ng-matrix-row", inputs: ["model", "question"] }, { type: MatrixDropdownCellComponent, selector: "sv-ng-matrixdropdown-cell", inputs: ["question", "cell"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MatrixTableComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-matrix-table",
templateUrl: "./matrixtable.component.html"
}]
}], propDecorators: { question: [{
type: i0.Input
}], table: [{
type: i0.Input
}] } });
var MatrixDropdownComponent = /** @class */ (function (_super) {
__extends(MatrixDropdownComponent, _super);
function MatrixDropdownComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
return MatrixDropdownComponent;
}(QuestionAngular));
MatrixDropdownComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MatrixDropdownComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
MatrixDropdownComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MatrixDropdownComponent, selector: "sv-ng-matrixdropdown-question", usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <sv-ng-matrix-table *ngIf=\"model.renderedTable?.showTable\" [question]=\"model\" [table]=\"model.renderedTable\"></sv-ng-matrix-table>\n</ng-template>", components: [{ type: MatrixTableComponent, selector: "sv-ng-matrix-table", inputs: ["question", "table"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MatrixDropdownComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-matrixdropdown-question",
templateUrl: "./matrixdropdown.component.html"
}]
}] });
AngularComponentFactory.Instance.registerComponent("matrixdropdown-question", MatrixDropdownComponent);
var MatrixDynamicComponent = /** @class */ (function (_super) {
__extends(MatrixDynamicComponent, _super);
function MatrixDynamicComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
return MatrixDynamicComponent;
}(QuestionAngular));
MatrixDynamicComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MatrixDynamicComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
MatrixDynamicComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MatrixDynamicComponent, selector: "sv-ng-matrixdynamic-question", usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div #contentElement>\n <div *ngIf=\"model.renderedTable.showAddRowOnTop\" [class]=\"model.cssClasses.footer\">\n <ng-container *ngTemplateOutlet=\"addRowButton\"></ng-container>\n </div>\n <sv-ng-matrix-table *ngIf=\"model.renderedTable?.showTable\" [question]=\"model\" [table]=\"model.renderedTable\"></sv-ng-matrix-table>\n <div *ngIf=\"!model.renderedTable.showTable\" [class]=\"model.cssClasses.noRowsSection\">\n <div [class]=\"model.cssClasses.noRowsText\" [model]=\"model.locNoRowsText\" sv-ng-string></div>\n <ng-container *ngIf=\"model.renderedTable.showAddRow\">\n <ng-container *ngTemplateOutlet=\"addRowButton\"></ng-container>\n </ng-container>\n </div>\n <div *ngIf=\"model.renderedTable.showAddRowOnBottom\" [class]=\"model.cssClasses.footer\">\n <ng-container *ngTemplateOutlet=\"addRowButton\"></ng-container>\n </div>\n </div>\n <ng-template #addRowButton>\n <button type=\"button\" [class]=\"model.getAddRowButtonCss(true)\" (click)=\"model.addRowUI()\">\n <sv-ng-string [model]=\"model.locAddRowText\" ></sv-ng-string>\n <span [class]=\"model.cssClasses.iconAdd\"></span>\n </button>\n </ng-template>\n</ng-template>", components: [{ type: MatrixTableComponent, selector: "sv-ng-matrix-table", inputs: ["question", "table"] }, { type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MatrixDynamicComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-matrixdynamic-question",
templateUrl: "./matrixdynamic.component.html"
}]
}] });
AngularComponentFactory.Instance.registerComponent("matrixdynamic-question", MatrixDynamicComponent);
var MatrixDynamicRemoveButtonComponent = /** @class */ (function () {
function MatrixDynamicRemoveButtonComponent() {
}
Object.defineProperty(MatrixDynamicRemoveButtonComponent.prototype, "question", {
get: function () {
return this.model.data.question;
},
enumerable: false,
configurable: true
});
Object.defineProperty(MatrixDynamicRemoveButtonComponent.prototype, "row", {
get: function () {
return this.model.data.row;
},
enumerable: false,
configurable: true
});
MatrixDynamicRemoveButtonComponent.prototype.getModel = function () {
return this.model;
};
return MatrixDynamicRemoveButtonComponent;
}());
MatrixDynamicRemoveButtonComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MatrixDynamicRemoveButtonComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
MatrixDynamicRemoveButtonComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MatrixDynamicRemoveButtonComponent, selector: "sv-ng-matrix-remove-btn", inputs: { model: "model" }, ngImport: i0__namespace, template: "<button type=\"button\" [class]=\"question.getRemoveRowButtonCss()\" [disabled]=\"question.isInputReadOnly\" (click)=\"question.removeRowUI(row)\">\n <sv-ng-string [model]=\"question.locRemoveRowText\" ></sv-ng-string>\n <span [class]=\"question.cssClasses.iconRemove\"></span>\n</button>", components: [{ type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MatrixDynamicRemoveButtonComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-matrix-remove-btn",
templateUrl: "./remove-button.component.html"
}]
}], propDecorators: { model: [{
type: i0.Input
}] } });
AngularComponentFactory.Instance.registerComponent("sv-matrix-remove-button", MatrixDynamicRemoveButtonComponent);
var MatrixDetailButtonComponent = /** @class */ (function () {
function MatrixDetailButtonComponent() {
}
Object.defineProperty(MatrixDetailButtonComponent.prototype, "question", {
get: function () {
return this.model.data.question;
},
enumerable: false,
configurable: true
});
Object.defineProperty(MatrixDetailButtonComponent.prototype, "row", {
get: function () {
return this.model.data.row;
},
enumerable: false,
configurable: true
});
MatrixDetailButtonComponent.prototype.getModel = function () {
return this.model;
};
return MatrixDetailButtonComponent;
}());
MatrixDetailButtonComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MatrixDetailButtonComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
MatrixDetailButtonComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MatrixDetailButtonComponent, selector: "sv-ng-matrix-detail-btn", inputs: { model: "model" }, ngImport: i0__namespace, template: "<button type=\"button\" [class]=\"question.getDetailPanelButtonCss(row)\" (click)=\"row.showHideDetailPanelClick()\"\n [attr.aria-expanded]=\"question.getIsDetailPanelShowing(row) ? 'true' : 'false'\"\n [attr.aria-controls]=\"question.getIsDetailPanelShowing(row) ? row.detailPanelId : null\">\n <svg [class]=\"this.question.getDetailPanelIconCss(this.row)\" \n [iconName]=\"this.question.getDetailPanelIconId(this.row)\" [size]=\"'auto'\" sv-ng-svg-icon>\n </svg>\n</button>", components: [{ type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MatrixDetailButtonComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-matrix-detail-btn",
templateUrl: "./detail-button.component.html"
}]
}], propDecorators: { model: [{
type: i0.Input
}] } });
AngularComponentFactory.Instance.registerComponent("sv-matrix-detail-button", MatrixDetailButtonComponent);
var ExpressionComponent = /** @class */ (function (_super) {
__extends(ExpressionComponent, _super);
function ExpressionComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
return ExpressionComponent;
}(QuestionAngular));
ExpressionComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ExpressionComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
ExpressionComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ExpressionComponent, selector: "sv-ng-expression", usesInheritance: true, ngImport: i0__namespace, template: "<div [class]='model.cssClasses.root' #contentElement>{{ model.formatedValue }}</div>", isInline: true });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ExpressionComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-expression",
template: "<div [class]='model.cssClasses.root' #contentElement>{{ model.formatedValue }}</div>"
}]
}] });
AngularComponentFactory.Instance.registerComponent("expression-question", ExpressionComponent);
var ImageQuestionComponent = /** @class */ (function (_super) {
__extends(ImageQuestionComponent, _super);
function ImageQuestionComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
ImageQuestionComponent.prototype.ngAfterViewInit = function () {
var _this = this;
this.model.locImageLink.onChanged = function () {
_this.detectChanges();
};
_super.prototype.ngAfterViewInit.call(this);
};
ImageQuestionComponent.prototype.ngOnDestroy = function () {
this.model.locImageLink.onChanged = function () { };
_super.prototype.ngOnDestroy.call(this);
};
return ImageQuestionComponent;
}(QuestionAngular));
ImageQuestionComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ImageQuestionComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
ImageQuestionComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ImageQuestionComponent, selector: "sv-ng-image-question", usesInheritance: true, ngImport: i0__namespace, template: "<div [class]=\"model.cssClasses.root\" #contentElement>\n <img\n *ngIf=\"model.renderedMode === 'image'\"\n [visible]=\"!!model.locImageLink.renderedHtml && !model.contentNotLoaded\"\n [class]=\"model.getImageCss()\"\n [attr.src]=\"model.locImageLink.renderedHtml\"\n [attr.alt]=\"model.altText || model.title\"\n [attr.width]=\"model.renderedWidth\"\n [attr.height]=\"model.renderedHeight\"\n [style]=\"{ objectFit: model.imageFit, width: model.renderedStyleWidth, height: model.renderedStyleHeight }\"\n (load)=\"model.onLoadHandler()\"\n (error)=\"model.onErrorHandler()\"\n /><video\n controls\n *ngIf=\"model.renderedMode === 'video'\"\n [visible]=\"!!model.locImageLink.renderedHtml && !model.contentNotLoaded\"\n [class]=\"model.getImageCss()\"\n [attr.src]=\"model.locImageLink.renderedHtml\"\n [attr.width]=\"model.renderedWidth\"\n [attr.height]=\"model.renderedHeight\"\n [style]=\"{ objectFit: model.imageFit, width: model.renderedStyleWidth, height: model.renderedStyleHeight }\"\n (loadedmetadata)=\"model.onLoadHandler()\"\n (error)=\"model.onErrorHandler()\"\n ></video>\n <iframe\n *ngIf=\"model.renderedMode === 'youtube'\"\n [class]=\"model.getImageCss()\"\n [attr.src]=\"model.locImageLink.renderedHtml | safeResourceUrl\"\n [attr.width]=\"model.renderedWidth\"\n [attr.height]=\"model.renderedHeight\"\n [style]=\"{ objectFit: model.imageFit, width: model.renderedStyleWidth, height: model.renderedStyleHeight }\"\n ></iframe>\n <div *ngIf=\"!model.locImageLink.renderedHtml || model.contentNotLoaded\" [class]=\"model.cssClasses.noImage\">\n <svg [iconName]=\"model.cssClasses.noImageSvgIconId\" [size]=\"48\" sv-ng-svg-icon></svg>\n </div>\n</div>", components: [{ type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: VisibleDirective, selector: "[visible]", inputs: ["visible"] }], pipes: { "safeResourceUrl": SafeResourceUrlPipe } });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ImageQuestionComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-image-question",
templateUrl: "./image.component.html"
}]
}] });
AngularComponentFactory.Instance.registerComponent("image-question", ImageQuestionComponent);
var QuestionErrorComponent = /** @class */ (function () {
function QuestionErrorComponent() {
}
return QuestionErrorComponent;
}());
QuestionErrorComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: QuestionErrorComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
QuestionErrorComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: QuestionErrorComponent, selector: "sv-question-error", inputs: { error: "error", cssClasses: "cssClasses", element: "element" }, ngImport: i0__namespace, template: "<div>\n <span\n [class]=\"cssClasses ? cssClasses.error.icon : 'panel-error-icon'\"\n aria-hidden=\"true\"\n ></span>\n <span [class]=\"cssClasses ? cssClasses.error.item : 'panel-error-item'\" [model]=\"error.locText\" sv-ng-string>\n </span>\n</div>", components: [{ type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: QuestionErrorComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-question-error",
templateUrl: "./question-error.component.html"
}]
}], propDecorators: { error: [{
type: i0.Input
}], cssClasses: [{
type: i0.Input
}], element: [{
type: i0.Input
}] } });
AngularComponentFactory.Instance.registerComponent("sv-question-error", QuestionErrorComponent);
var CustomQuestionComponent = /** @class */ (function (_super) {
__extends(CustomQuestionComponent, _super);
function CustomQuestionComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
Object.defineProperty(CustomQuestionComponent.prototype, "contentQuestion", {
get: function () {
return this.model.contentQuestion;
},
enumerable: false,
configurable: true
});
CustomQuestionComponent.prototype.getComponentName = function (element) { return getComponentName(element); };
return CustomQuestionComponent;
}(QuestionAngular));
CustomQuestionComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CustomQuestionComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
CustomQuestionComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CustomQuestionComponent, selector: "sv-ng-custom-question", usesInheritance: true, ngImport: i0__namespace, template: "<ng-template [component]='{ name: getComponentName(contentQuestion), data: { model: contentQuestion } }'></ng-template>", isInline: true, directives: [{ type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CustomQuestionComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-custom-question",
template: "<ng-template [component]='{ name: getComponentName(contentQuestion), data: { model: contentQuestion } }'></ng-template>"
}]
}] });
AngularComponentFactory.Instance.registerComponent("custom-question", CustomQuestionComponent);
var CompositeQuestionComponent = /** @class */ (function (_super) {
__extends(CompositeQuestionComponent, _super);
function CompositeQuestionComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
Object.defineProperty(CompositeQuestionComponent.prototype, "contentPanel", {
get: function () {
return this.model.contentPanel;
},
enumerable: false,
configurable: true
});
return CompositeQuestionComponent;
}(QuestionAngular));
CompositeQuestionComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CompositeQuestionComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
CompositeQuestionComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CompositeQuestionComponent, selector: "sv-ng-composite-question", usesInheritance: true, ngImport: i0__namespace, template: "<sv-ng-panel [model]='contentPanel'></sv-ng-panel>", isInline: true, components: [{ type: PanelComponent, selector: "sv-ng-panel, '[sv-ng-panel]'", inputs: ["model"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CompositeQuestionComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-composite-question",
template: "<sv-ng-panel [model]='contentPanel'></sv-ng-panel>"
}]
}] });
AngularComponentFactory.Instance.registerComponent("composite-question", CompositeQuestionComponent);
var HeaderCellComponent = /** @class */ (function (_super) {
__extends(HeaderCellComponent, _super);
function HeaderCellComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
return HeaderCellComponent;
}(EmbeddedViewContentComponent));
HeaderCellComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: HeaderCellComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
HeaderCellComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: HeaderCellComponent, selector: "sv-ng-header-cell", inputs: { model: "model" }, viewQueries: [{ propertyName: "actionContent", first: true, predicate: ["actionContent"], descendants: true, read: i0.ViewContainerRef, static: true }], usesInheritance: true, ngImport: i0__namespace, template: "\n<ng-template #template>\n <div [class]=\"model.css\" [style]=\"model.style\">\n <div class=\"sv-header__cell-content\" [style]=\"model.contentStyle\">\n <div *ngIf=\"model.showLogo\" class=\"sv-header__logo\">\n <div [class]=\"model.survey.logoClassNames\">\n <ng-template [component]=\"{ name: model.survey.getElementWrapperComponentName(model.survey, 'logo-image'), data: { data: model.survey.getElementWrapperComponentData(model.survey, 'logo-image') } }\"></ng-template>\n </div>\n </div>\n <div *ngIf=\"model.showTitle\" class=\"sv-header__title\" [style]=\"{ maxWidth: model.textAreaWidth }\">\n <sv-ng-element-title [element]=\"model.survey\"></sv-ng-element-title>\n </div>\n <div *ngIf=\"model.showDescription\" class=\"sv-header__description\" [style]=\"{ maxWidth: model.textAreaWidth }\">\n <div *ngIf=\"model.survey.renderedHasDescription\" [class]=\"model.survey.css.description\" [model]=\"model.survey.locDescription\" sv-ng-string></div>\n </div>\n </div>\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: ElementTitleComponent, selector: "sv-ng-element-title", inputs: ["element"] }, { type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: HeaderCellComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-header-cell",
templateUrl: "./header-cell.component.html",
styles: [":host { display: none; }"],
}]
}], propDecorators: { model: [{
type: i0.Input
}], actionContent: [{
type: i0.ViewChild,
args: ["actionContent", { read: i0.ViewContainerRef, static: true }]
}] } });
AngularComponentFactory.Instance.registerComponent("sv-header-cell", HeaderCellComponent);
var HeaderMobileComponent = /** @class */ (function (_super) {
__extends(HeaderMobileComponent, _super);
function HeaderMobileComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
return HeaderMobileComponent;
}(EmbeddedViewContentComponent));
HeaderMobileComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: HeaderMobileComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
HeaderMobileComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: HeaderMobileComponent, selector: "sv-ng-header-mobile", inputs: { model: "model" }, viewQueries: [{ propertyName: "actionContent", first: true, predicate: ["actionContent"], descendants: true, read: i0.ViewContainerRef, static: true }], usesInheritance: true, ngImport: i0__namespace, template: "\n<ng-template #template>\n <div class=\"sv-header--mobile\">\n <div *ngIf=\"model.survey.hasLogo\" class=\"sv-header__logo\">\n <div [class]=\"model.survey.logoClassNames\">\n <ng-template [component]=\"{ name: model.survey.getElementWrapperComponentName(model.survey, 'logo-image'), data: { data: model.survey.getElementWrapperComponentData(model.survey, 'logo-image') } }\"></ng-template>\n </div>\n </div>\n <div *ngIf=\"model.survey.hasTitle\" class=\"sv-header__title\" [style]=\"{ maxWidth: model.renderedTextAreaWidth }\">\n <sv-ng-element-title [element]=\"model.survey\"></sv-ng-element-title>\n </div>\n <div *ngIf=\"model.survey.renderedHasDescription\" class=\"sv-header__description\" [style]=\"{ maxWidth: model.renderedTextAreaWidth }\">\n <div *ngIf=\"model.survey.renderedHasDescription\" [class]=\"model.survey.css.description\" [model]=\"model.survey.locDescription\" sv-ng-string></div>\n </div>\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: ElementTitleComponent, selector: "sv-ng-element-title", inputs: ["element"] }, { type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: HeaderMobileComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-ng-header-mobile",
templateUrl: "./header-mobile.component.html",
styles: [":host { display: none; }"],
}]
}], propDecorators: { model: [{
type: i0.Input
}], actionContent: [{
type: i0.ViewChild,
args: ["actionContent", { read: i0.ViewContainerRef, static: true }]
}] } });
AngularComponentFactory.Instance.registerComponent("sv-header-cell", HeaderMobileComponent);
var HeaderComponent = /** @class */ (function (_super) {
__extends(HeaderComponent, _super);
function HeaderComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
HeaderComponent.prototype.getModel = function () {
this.model.survey = this.survey;
return this.model;
};
return HeaderComponent;
}(BaseAngular));
HeaderComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: HeaderComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
HeaderComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: HeaderComponent, selector: "sv-header, sv-ng-header", inputs: { model: "model", survey: "survey" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div *ngIf=\"(survey.headerView === 'advanced') && !model.isEmpty\" [class]=\"model.headerClasses\" [style]=\"{ height: model.renderedHeight }\">\n <div *ngIf=\"!!model.backgroundImage\" [style]=\"model.backgroundImageStyle\" [class]=\"model.backgroundImageClasses\"></div>\n <div *ngIf=\"!survey.isMobile\" [class]=\"model.contentClasses\" [style.maxWidth]=\"model.maxWidth\">\n <ng-container *ngFor=\"let cell of model.cells\">\n <sv-ng-header-cell [model]=\"cell\"></sv-ng-header-cell>\n </ng-container>\n </div>\n <div *ngIf=\"survey.isMobile\">\n <sv-ng-header-mobile [model]=\"model\"></sv-ng-header-mobile>\n </div>\n </div>\n</ng-template>", styles: [":host { display: none }"], components: [{ type: HeaderCellComponent, selector: "sv-ng-header-cell", inputs: ["model"] }, { type: HeaderMobileComponent, selector: "sv-ng-header-mobile", inputs: ["model"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: HeaderComponent, decorators: [{
type: i0.Component,
args: [{
selector: "sv-header, sv-ng-header",
templateUrl: "./header.component.html",
styles: [":host { display: none }"]
}]
}], propDecorators: { model: [{
type: i0.Input
}], survey: [{
type: i0.Input
}], container: [{
type: i0.ViewChild,
args: ["container"]
}] } });
AngularComponentFactory.Instance.registerComponent("sv-header", HeaderComponent);
var SurveyModule = /** @class */ (function () {
function SurveyModule() {
}
return SurveyModule;
}());
SurveyModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SurveyModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
SurveyModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SurveyModule, declarations: [VisibleDirective, Key2ClickDirective, PanelDynamicAddBtn, PanelDynamicNextBtn, PanelDynamicPrevBtn, PanelDynamicProgressText, ElementComponent, TemplateRendererComponent,
SurveyComponent, SurveyContentComponent, PopupSurveyComponent, PageComponent, PanelComponent, QuestionComponent, StringViewerComponent, SurveyStringComponent, StringEditorComponent,
TextAreaComponent,
QuestionSkeletonComponent, ScrollComponent, TextQuestionComponent, RadiogroupComponent, RadiogroupItemComponent, CheckboxComponent, CheckboxItemComponent,
DropdownComponent, DropdownQuestionComponent, DropdownSelectComponent, DropdownOptionItemComponent,
PopupComponent, PopupBaseContainerComponent, PopupPointerComponent,
CharacterCounterComponent, ListComponent, ListItemComponent, ListItemContentComponent, ListItemGroupComponent, RatingItemComponent, RatingItemStarComponent, RatingItemSmileyComponent,
TagboxFilterComponent, TagboxComponent, TagboxQuestionComponent, TagboxItemComponent,
ActionBarComponent, ActionComponent, ActionBarItemComponent, ActionBarItemDropdownComponent, HtmlQuestionComponent,
SelectBaseItemComponent, SelectBaseComponent, SurveyCommentComponent, SurveyCommentOtherComponent, ElementHeaderComponent, ElementTitleActionsComponent, ElementTitleComponent, DynamicHeadComponent, RowComponent,
RatingQuestionComponent, RatingDropdownItemComponent, RatingDropdownComponent, BooleanQuestionComponent, BooleanCheckboxComponent, BooleanRadioComponent, BooleanRadioItemComponent, ImagePickerItemComponent, ImagePickerQuestionComponent, ImageQuestionComponent,
SurveyHeaderComponent, ProgressDefaultComponent, ProgressButtonsComponent, ProgressTocComponent, SurveyNavigationButton, MatrixQuestionComponent, SvgIconComponent, FileQuestionComponent, SafeUrlPipe, SafeHtmlPipe, CommentQuestionComponent, SignaturePadQuestionComponent, ErrorsComponent,
MultipleTextComponent, MultipleTextItemComponent, DynamicComponentDirective, RankingQuestionComponent, RankingItemComponent, RankingItemContentComponent, PanelDynamicQuestionComponent, EmbeddedViewContentComponent, CustomWidgetComponent,
MatrixCellComponent, MatrixDropdownCellComponent, MatrixTableComponent, MatrixDropdownComponent,
MatrixDynamicComponent, MatrixDetailButtonComponent, MatrixDynamicRemoveButtonComponent, MatrixDynamicDragDropIconComponent, MatrixRequiredHeader, ExpressionComponent, SafeResourceUrlPipe, BrandInfoComponent, QuestionErrorComponent,
CustomQuestionComponent, CompositeQuestionComponent, ButtonGroupItemComponent, ButtonGroupQuestionComponent, MatrixRowComponent, ModalComponent, LogoImageComponent, SkeletonComponent, TimerPanelComponent, PaneldynamicRemoveButtonComponent,
NotifierComponent, ComponentsContainerComponent, MultipleTextRowComponent, LoadingIndicatorComponent, HeaderComponent, HeaderCellComponent, HeaderMobileComponent, ChooseFileBtn, FilePreviewComponent, SvgBundleComponent, FileItemComponent, FilePageComponent], imports: [i2.CommonModule, i2$1.FormsModule], exports: [VisibleDirective, Key2ClickDirective, PanelDynamicAddBtn, PanelDynamicNextBtn, PanelDynamicPrevBtn, PanelDynamicProgressText, ElementComponent, TemplateRendererComponent,
SurveyComponent, SurveyContentComponent, PopupSurveyComponent, PageComponent, PanelComponent, QuestionComponent, StringViewerComponent, SurveyStringComponent, StringEditorComponent,
TextAreaComponent,
QuestionSkeletonComponent, ScrollComponent, TextQuestionComponent, RadiogroupComponent, RadiogroupItemComponent, CheckboxComponent, CheckboxItemComponent,
CharacterCounterComponent,
DropdownComponent, DropdownQuestionComponent, DropdownSelectComponent, DropdownOptionItemComponent,
PopupComponent, PopupBaseContainerComponent, PopupPointerComponent,
CharacterCounterComponent, ListComponent, ListItemComponent, ListItemContentComponent, ListItemGroupComponent, RatingItemComponent, RatingItemStarComponent, RatingItemSmileyComponent,
TagboxFilterComponent, TagboxComponent, TagboxQuestionComponent, TagboxItemComponent,
ActionBarComponent, ActionComponent, ActionBarItemComponent, ActionBarItemDropdownComponent, HtmlQuestionComponent,
SelectBaseItemComponent, SelectBaseComponent, SurveyCommentComponent, SurveyCommentOtherComponent, ElementHeaderComponent, ElementTitleComponent, DynamicHeadComponent, RowComponent,
RatingQuestionComponent, RatingDropdownItemComponent, RatingDropdownComponent, BooleanQuestionComponent, BooleanCheckboxComponent, BooleanRadioComponent, BooleanRadioItemComponent, ImagePickerItemComponent, ImagePickerQuestionComponent, ImageQuestionComponent,
SurveyHeaderComponent, ProgressDefaultComponent, ProgressButtonsComponent, SurveyNavigationButton, MatrixQuestionComponent, SvgIconComponent, FileQuestionComponent, SafeUrlPipe, SafeHtmlPipe, CommentQuestionComponent, SignaturePadQuestionComponent, ErrorsComponent,
MultipleTextComponent, MultipleTextItemComponent, DynamicComponentDirective, RankingQuestionComponent, RankingItemComponent, RankingItemContentComponent, PanelDynamicQuestionComponent, EmbeddedViewContentComponent, CustomWidgetComponent,
MatrixCellComponent, MatrixDropdownCellComponent, MatrixTableComponent, MatrixDropdownComponent,
MatrixDynamicComponent, MatrixDetailButtonComponent, MatrixDynamicRemoveButtonComponent, MatrixDynamicDragDropIconComponent, MatrixRequiredHeader, ExpressionComponent, SafeResourceUrlPipe,
CustomQuestionComponent, CompositeQuestionComponent, ButtonGroupQuestionComponent, ModalComponent, LogoImageComponent, SkeletonComponent, TimerPanelComponent, PaneldynamicRemoveButtonComponent,
NotifierComponent, ComponentsContainerComponent, MultipleTextRowComponent, LoadingIndicatorComponent, HeaderComponent, HeaderCellComponent, HeaderMobileComponent, FilePreviewComponent, SvgBundleComponent, FileItemComponent, FilePageComponent] });
SurveyModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SurveyModule, providers: [PopupService], imports: [[
i2.CommonModule, i2$1.FormsModule
]] });
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SurveyModule, decorators: [{
type: i0.NgModule,
args: [{
declarations: [
VisibleDirective, Key2ClickDirective, PanelDynamicAddBtn, PanelDynamicNextBtn, PanelDynamicPrevBtn, PanelDynamicProgressText, ElementComponent, TemplateRendererComponent,
SurveyComponent, SurveyContentComponent, PopupSurveyComponent, PageComponent, PanelComponent, QuestionComponent, StringViewerComponent, SurveyStringComponent, StringEditorComponent,
TextAreaComponent,
QuestionSkeletonComponent, ScrollComponent, TextQuestionComponent, RadiogroupComponent, RadiogroupItemComponent, CheckboxComponent, CheckboxItemComponent,
DropdownComponent, DropdownQuestionComponent, DropdownSelectComponent, DropdownOptionItemComponent,
PopupComponent, PopupBaseContainerComponent, PopupPointerComponent,
CharacterCounterComponent, ListComponent, ListItemComponent, ListItemContentComponent, ListItemGroupComponent, RatingItemComponent, RatingItemStarComponent, RatingItemSmileyComponent,
TagboxFilterComponent, TagboxComponent, TagboxQuestionComponent, TagboxItemComponent,
ActionBarComponent, ActionComponent, ActionBarItemComponent, ActionBarItemDropdownComponent, HtmlQuestionComponent,
SelectBaseItemComponent, SelectBaseComponent, SurveyCommentComponent, SurveyCommentOtherComponent, ElementHeaderComponent, ElementTitleActionsComponent, ElementTitleComponent, DynamicHeadComponent, RowComponent,
RatingQuestionComponent, RatingDropdownItemComponent, RatingDropdownComponent, BooleanQuestionComponent, BooleanCheckboxComponent, BooleanRadioComponent, BooleanRadioItemComponent, ImagePickerItemComponent, ImagePickerQuestionComponent, ImageQuestionComponent,
SurveyHeaderComponent, ProgressDefaultComponent, ProgressButtonsComponent, ProgressTocComponent, SurveyNavigationButton, MatrixQuestionComponent, SvgIconComponent, FileQuestionComponent, SafeUrlPipe, SafeHtmlPipe, CommentQuestionComponent, SignaturePadQuestionComponent, ErrorsComponent,
MultipleTextComponent, MultipleTextItemComponent, DynamicComponentDirective, RankingQuestionComponent, RankingItemComponent, RankingItemContentComponent, PanelDynamicQuestionComponent, EmbeddedViewContentComponent, CustomWidgetComponent,
MatrixCellComponent, MatrixDropdownCellComponent, MatrixTableComponent, MatrixDropdownComponent,
MatrixDynamicComponent, MatrixDetailButtonComponent, MatrixDynamicRemoveButtonComponent, MatrixDynamicDragDropIconComponent, MatrixRequiredHeader, ExpressionComponent, SafeResourceUrlPipe, BrandInfoComponent, QuestionErrorComponent,
CustomQuestionComponent, CompositeQuestionComponent, ButtonGroupItemComponent, ButtonGroupQuestionComponent, MatrixRowComponent, ModalComponent, LogoImageComponent, SkeletonComponent, TimerPanelComponent, PaneldynamicRemoveButtonComponent,
NotifierComponent, ComponentsContainerComponent, MultipleTextRowComponent, LoadingIndicatorComponent, HeaderComponent, HeaderCellComponent, HeaderMobileComponent, ChooseFileBtn, FilePreviewComponent, SvgBundleComponent, FileItemComponent, FilePageComponent
],
imports: [
i2.CommonModule, i2$1.FormsModule
],
exports: [
VisibleDirective, Key2ClickDirective, PanelDynamicAddBtn, PanelDynamicNextBtn, PanelDynamicPrevBtn, PanelDynamicProgressText, ElementComponent, TemplateRendererComponent,
SurveyComponent, SurveyContentComponent, PopupSurveyComponent, PageComponent, PanelComponent, QuestionComponent, StringViewerComponent, SurveyStringComponent, StringEditorComponent,
TextAreaComponent,
QuestionSkeletonComponent, ScrollComponent, TextQuestionComponent, RadiogroupComponent, RadiogroupItemComponent, CheckboxComponent, CheckboxItemComponent,
CharacterCounterComponent,
DropdownComponent, DropdownQuestionComponent, DropdownSelectComponent, DropdownOptionItemComponent,
PopupComponent, PopupBaseContainerComponent, PopupPointerComponent,
CharacterCounterComponent, ListComponent, ListItemComponent, ListItemContentComponent, ListItemGroupComponent, RatingItemComponent, RatingItemStarComponent, RatingItemSmileyComponent,
TagboxFilterComponent, TagboxComponent, TagboxQuestionComponent, TagboxItemComponent,
ActionBarComponent, ActionComponent, ActionBarItemComponent, ActionBarItemDropdownComponent, HtmlQuestionComponent,
SelectBaseItemComponent, SelectBaseComponent, SurveyCommentComponent, SurveyCommentOtherComponent, ElementHeaderComponent, ElementTitleComponent, DynamicHeadComponent, RowComponent,
RatingQuestionComponent, RatingDropdownItemComponent, RatingDropdownComponent, BooleanQuestionComponent, BooleanCheckboxComponent, BooleanRadioComponent, BooleanRadioItemComponent, ImagePickerItemComponent, ImagePickerQuestionComponent, ImageQuestionComponent,
SurveyHeaderComponent, ProgressDefaultComponent, ProgressButtonsComponent, SurveyNavigationButton, MatrixQuestionComponent, SvgIconComponent, FileQuestionComponent, SafeUrlPipe, SafeHtmlPipe, CommentQuestionComponent, SignaturePadQuestionComponent, ErrorsComponent,
MultipleTextComponent, MultipleTextItemComponent, DynamicComponentDirective, RankingQuestionComponent, RankingItemComponent, RankingItemContentComponent, PanelDynamicQuestionComponent, EmbeddedViewContentComponent, CustomWidgetComponent,
MatrixCellComponent, MatrixDropdownCellComponent, MatrixTableComponent, MatrixDropdownComponent,
MatrixDynamicComponent, MatrixDetailButtonComponent, MatrixDynamicRemoveButtonComponent, MatrixDynamicDragDropIconComponent, MatrixRequiredHeader, ExpressionComponent, SafeResourceUrlPipe,
CustomQuestionComponent, CompositeQuestionComponent, ButtonGroupQuestionComponent, ModalComponent, LogoImageComponent, SkeletonComponent, TimerPanelComponent, PaneldynamicRemoveButtonComponent,
NotifierComponent, ComponentsContainerComponent, MultipleTextRowComponent, LoadingIndicatorComponent, HeaderComponent, HeaderCellComponent, HeaderMobileComponent, FilePreviewComponent, SvgBundleComponent, FileItemComponent, FilePageComponent
],
providers: [PopupService],
}]
}] });
/**
* Generated bundle index. Do not edit.
*/
exports.ActionBarComponent = ActionBarComponent;
exports.ActionBarItemComponent = ActionBarItemComponent;
exports.ActionBarItemDropdownComponent = ActionBarItemDropdownComponent;
exports.ActionComponent = ActionComponent;
exports.AngularComponentFactory = AngularComponentFactory;
exports.BaseAngular = BaseAngular;
exports.BooleanCheckboxComponent = BooleanCheckboxComponent;
exports.BooleanQuestionComponent = BooleanQuestionComponent;
exports.BooleanRadioComponent = BooleanRadioComponent;
exports.BooleanRadioItemComponent = BooleanRadioItemComponent;
exports.BrandInfoComponent = BrandInfoComponent;
exports.ButtonGroupQuestionComponent = ButtonGroupQuestionComponent;
exports.CharacterCounterComponent = CharacterCounterComponent;
exports.CheckboxComponent = CheckboxComponent;
exports.CheckboxItemComponent = CheckboxItemComponent;
exports.CommentQuestionComponent = CommentQuestionComponent;
exports.ComponentsContainerComponent = ComponentsContainerComponent;
exports.CompositeQuestionComponent = CompositeQuestionComponent;
exports.CustomQuestionComponent = CustomQuestionComponent;
exports.CustomWidgetComponent = CustomWidgetComponent;
exports.DropdownComponent = DropdownComponent;
exports.DropdownOptionItemComponent = DropdownOptionItemComponent;
exports.DropdownQuestionComponent = DropdownQuestionComponent;
exports.DropdownSelectComponent = DropdownSelectComponent;
exports.DynamicComponentDirective = DynamicComponentDirective;
exports.DynamicHeadComponent = DynamicHeadComponent;
exports.ElementComponent = ElementComponent;
exports.ElementHeaderComponent = ElementHeaderComponent;
exports.ElementTitleComponent = ElementTitleComponent;
exports.EmbeddedViewContentComponent = EmbeddedViewContentComponent;
exports.ErrorsComponent = ErrorsComponent;
exports.ExpressionComponent = ExpressionComponent;
exports.FileItemComponent = FileItemComponent;
exports.FilePageComponent = FilePageComponent;
exports.FilePreviewComponent = FilePreviewComponent;
exports.FileQuestionComponent = FileQuestionComponent;
exports.HeaderCellComponent = HeaderCellComponent;
exports.HeaderComponent = HeaderComponent;
exports.HeaderMobileComponent = HeaderMobileComponent;
exports.HtmlQuestionComponent = HtmlQuestionComponent;
exports.ImagePickerItemComponent = ImagePickerItemComponent;
exports.ImagePickerQuestionComponent = ImagePickerQuestionComponent;
exports.ImageQuestionComponent = ImageQuestionComponent;
exports.Key2ClickDirective = Key2ClickDirective;
exports.ListComponent = ListComponent;
exports.ListItemComponent = ListItemComponent;
exports.ListItemContentComponent = ListItemContentComponent;
exports.ListItemGroupComponent = ListItemGroupComponent;
exports.LoadingIndicatorComponent = LoadingIndicatorComponent;
exports.LogoImageComponent = LogoImageComponent;
exports.MatrixCellComponent = MatrixCellComponent;
exports.MatrixDetailButtonComponent = MatrixDetailButtonComponent;
exports.MatrixDropdownCellComponent = MatrixDropdownCellComponent;
exports.MatrixDropdownComponent = MatrixDropdownComponent;
exports.MatrixDynamicComponent = MatrixDynamicComponent;
exports.MatrixDynamicDragDropIconComponent = MatrixDynamicDragDropIconComponent;
exports.MatrixDynamicRemoveButtonComponent = MatrixDynamicRemoveButtonComponent;
exports.MatrixQuestionComponent = MatrixQuestionComponent;
exports.MatrixRequiredHeader = MatrixRequiredHeader;
exports.MatrixTableComponent = MatrixTableComponent;
exports.ModalComponent = ModalComponent;
exports.MultipleTextComponent = MultipleTextComponent;
exports.MultipleTextItemComponent = MultipleTextItemComponent;
exports.MultipleTextRowComponent = MultipleTextRowComponent;
exports.NotifierComponent = NotifierComponent;
exports.PageComponent = PageComponent;
exports.PanelComponent = PanelComponent;
exports.PanelDynamicAddBtn = PanelDynamicAddBtn;
exports.PanelDynamicNextBtn = PanelDynamicNextBtn;
exports.PanelDynamicPrevBtn = PanelDynamicPrevBtn;
exports.PanelDynamicProgressText = PanelDynamicProgressText;
exports.PanelDynamicQuestionComponent = PanelDynamicQuestionComponent;
exports.PaneldynamicAction = PaneldynamicAction;
exports.PaneldynamicRemoveButtonComponent = PaneldynamicRemoveButtonComponent;
exports.PopupBaseContainerComponent = PopupBaseContainerComponent;
exports.PopupComponent = PopupComponent;
exports.PopupPointerComponent = PopupPointerComponent;
exports.PopupService = PopupService;
exports.PopupSurveyComponent = PopupSurveyComponent;
exports.ProgressButtonsComponent = ProgressButtonsComponent;
exports.ProgressDefaultComponent = ProgressDefaultComponent;
exports.ProgressTocComponent = ProgressTocComponent;
exports.QuestionAngular = QuestionAngular;
exports.QuestionComponent = QuestionComponent;
exports.QuestionErrorComponent = QuestionErrorComponent;
exports.QuestionSkeletonComponent = QuestionSkeletonComponent;
exports.RadiogroupComponent = RadiogroupComponent;
exports.RadiogroupItemComponent = RadiogroupItemComponent;
exports.RankingItemComponent = RankingItemComponent;
exports.RankingItemContentComponent = RankingItemContentComponent;
exports.RankingQuestionComponent = RankingQuestionComponent;
exports.RatingDropdownComponent = RatingDropdownComponent;
exports.RatingDropdownItemComponent = RatingDropdownItemComponent;
exports.RatingItemComponent = RatingItemComponent;
exports.RatingItemSmileyComponent = RatingItemSmileyComponent;
exports.RatingItemStarComponent = RatingItemStarComponent;
exports.RatingQuestionComponent = RatingQuestionComponent;
exports.RowComponent = RowComponent;
exports.SafeHtmlPipe = SafeHtmlPipe;
exports.SafeResourceUrlPipe = SafeResourceUrlPipe;
exports.SafeUrlPipe = SafeUrlPipe;
exports.ScrollComponent = ScrollComponent;
exports.SelectBaseComponent = SelectBaseComponent;
exports.SelectBaseItemComponent = SelectBaseItemComponent;
exports.SignaturePadQuestionComponent = SignaturePadQuestionComponent;
exports.SkeletonComponent = SkeletonComponent;
exports.StringEditorComponent = StringEditorComponent;
exports.StringViewerComponent = StringViewerComponent;
exports.SurveyCommentComponent = SurveyCommentComponent;
exports.SurveyCommentOtherComponent = SurveyCommentOtherComponent;
exports.SurveyComponent = SurveyComponent;
exports.SurveyContentComponent = SurveyContentComponent;
exports.SurveyHeaderComponent = SurveyHeaderComponent;
exports.SurveyModule = SurveyModule;
exports.SurveyNavigationButton = SurveyNavigationButton;
exports.SurveyStringComponent = SurveyStringComponent;
exports.SvgBundleComponent = SvgBundleComponent;
exports.SvgIconComponent = SvgIconComponent;
exports.TagboxComponent = TagboxComponent;
exports.TagboxFilterComponent = TagboxFilterComponent;
exports.TagboxItemComponent = TagboxItemComponent;
exports.TagboxQuestionComponent = TagboxQuestionComponent;
exports.TemplateRendererComponent = TemplateRendererComponent;
exports.TextAreaComponent = TextAreaComponent;
exports.TextQuestionComponent = TextQuestionComponent;
exports.TimerPanelComponent = TimerPanelComponent;
exports.VisibleDirective = VisibleDirective;
exports.getComponentName = getComponentName;
Object.defineProperty(exports, '__esModule', { value: true });
}));
//# sourceMappingURL=survey-angular-ui.umd.js.map