{"version":3,"sources":["webpack:///./node_modules/@cognitoforms/vuemodel/lib/index.js","webpack:///./node_modules/@cognitoforms/vuemodel/lib/source-path-mixin.js","webpack:///./node_modules/@cognitoforms/vuemodel/lib/source-root-adapter.js","webpack:///./node_modules/@cognitoforms/vuemodel/lib/source-item-adapter.js","webpack:///./node_modules/@cognitoforms/vuemodel/lib/source-root-mixin.js","webpack:///./node_modules/@cognitoforms/vuemodel/node_modules/vue-property-decorator/lib/vue-property-decorator.js","webpack:///./node_modules/@cognitoforms/vuemodel/lib/vue-internals.js","webpack:///./node_modules/@cognitoforms/vuemodel/lib/vue-global-mixin.js","webpack:///./node_modules/@cognitoforms/vuemodel/lib/vue-helpers.js","webpack:///./node_modules/@cognitoforms/vuemodel/lib/null-observer.js","webpack:///./node_modules/@cognitoforms/vuemodel/lib/entity-observer.js","webpack:///./node_modules/@cognitoforms/vuemodel/lib/object-meta-observer.js","webpack:///./node_modules/@cognitoforms/vuemodel/lib/array-observer.js","webpack:///./node_modules/@cognitoforms/vuemodel/lib/source-option-adapter.js","webpack:///./node_modules/@cognitoforms/vuemodel/node_modules/vue-property-decorator/node_modules/vue-class-component/dist/vue-class-component.common.js","webpack:///./node_modules/@cognitoforms/vuemodel/lib/vm-root-component.js","webpack:///./node_modules/@cognitoforms/vuemodel/lib/vm-source-component.js","webpack:///./node_modules/@cognitoforms/vuemodel/lib/vue-model-observability.js","webpack:///./node_modules/@cognitoforms/vuemodel/lib/helpers.js","webpack:///./node_modules/@cognitoforms/vuemodel/lib/source-adapter.js","webpack:///./node_modules/@cognitoforms/vuemodel/lib/custom-observer.js","webpack:///./node_modules/@cognitoforms/vuemodel/lib/vue-model.js","webpack:///./node_modules/@cognitoforms/vuemodel/lib/source-path-adapter.js"],"names":["Object","defineProperty","exports","value","vue_model_1","default","VueModel","model_js_1","PropertyConverter","IgnoreProperty","model_js_2","isEntityType","isValueType","source_adapter_1","isSourceAdapter","vue_model_observability_1","preventVueObservability","extendStatics","__extends","this","d","b","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__","constructor","prototype","create","__decorate","decorators","target","key","desc","c","arguments","length","r","getOwnPropertyDescriptor","Reflect","decorate","i","__importDefault","mod","__esModule","vue_1","vue_property_decorator_1","source_path_adapter_1","SourcePathMixin","_super","apply","onLabelChanged","label","onOverrideValueChanged","String","onHelptextChanged","helptext","onReadonlyChanged","readonly","Boolean","onRequiredChanged","required","get","source","ensureOverridesAppliedToSourceAdapter","SourcePathAdapter","parent","propsData","overrides","enumerable","configurable","hasOverrides","hasOverrideValue","isSourcePropertyAdapter","Error","name","type","Prop","Watch","Component","SourceRootAdapter","_this","entity","meta","jstype","toString","fullName","id","helpers_1","SourceItemAdapter","_this_1","isOrphaned","internalIndex","isSubscribedToSourceChanges","created","index","suppressChangeTracking","subscribeToSourceChanges","onIndexChanged","parentSource","parentVm","$parent","parentLevel","$source","ObservableArray","ensureObservable","changed","subscribe","args","changes","forEach","ArrayChangeType","remove","startIndex","items","add","set","isEntity","property","format","convert","Number","source_root_adapter_1","SourceRootMixin","Entity","observeEntity","Inject","options","componentOptions","inject","isArray","Provide","k","provide","managed","original_1","rv","call","Model","event","props","model","prop","path","_a","deep","_b","immediate","handler","watch","push","hyphenateRE","Emit","_target","descriptor","replace","toLowerCase","original","_i","emit","returnValue","undefined","unshift","$emit","concat","isPromise","then","obj","Promise","VueModel$Vue","ensureVueInternalTypes","Vue","Observer","Dep","observableData","observable","data","$data","observer","__ob__","observerCtor","depCtor","dep","vue_helpers_1","replaceEntityData","vm","vm$private","debug","_entity","VueModel$installGlobalMixin","mixin","beforeCreate","$options","Function","dataFn","preprocessDataToInterceptEntities","_entitiesAreVueObservable","makeEntitiesVueObservable","getEntityObserver","_data","properties","methods","Vue$isReserved","Vue$proxy","proxyEntityPropertiesOntoComponentInstance","restoreComponentEntityData","str","charCodeAt","Vue$dependArray","e","l","depend","sourceKey","VueInternals","_VueInternals","NullObserver","walk","custom_observer_1","EntityObserver","_observable","accessed","_onAccess","bind","_onChange","getObjectMetaObserver","__fields__","onPropertyAccess","newValue","onPropertyChange","CustomObserver","ObjectMetaObserver","conditions","_onConditionsChanged","ArrayObserver","notify","SourceOptionAdapter","formatDisplayValue","ex","reflectionIsSupported","defineMetadata","forwardMetadata","to","from","propertyKey","getOwnMetadataKeys","metaKey","metadata","getOwnMetadata","hasProto","$internalHooks","componentFactory","_componentTag","proto","getOwnPropertyNames","indexOf","mixins","computed","originalInit","_init","keys","charAt","plainData","collectDataFromConstructor","__decorators__","fn","superProto","getPrototypeOf","Super","Extended","extend","Original","extendedDescriptor","superDescriptor","forwardStaticMembers","registerHooks","createDecorator","factory","Ctor","Ctors","vue_class_component_1","source_root_mixin_1","VMRoot","render","slotNodes","$scopedSlots","source_path_mixin_1","VMSource","model_js_3","CustomObserverConstructor","getCustomObserverConstructor","NullObserverConstructor","getNullObserverConstructor","asRootData","ob","vmCount","getEntityObserverConstructor","getProp","EntityObserverConstructor","getObjectMetaObserverConstructor","ObjectMetaObserverConstructor","observeArray","array","isObservableArray","getArrayObserver","getArrayObserverConstructor","ArrayObserverConstructor","dependChildArray","arrayObserver","vueCompatibleModels","entityRegistered","types","typeName","known","setProp","hasOwnPropertyFn","message","source_item_adapter_1","propertyDeps","getPropertyDep","propertyName","propertyDep","writable","childOb","vue_internals_1","vue_global_mixin_1","vm_root_component_1","vm_source_component_1","config","_Vue","install","vue","component","SourcePath","SourceRoot","CultureInfo","source_option_adapter_1","model_js_4","model_js_5","model_js_6","model_js_7","_id","formatErrorCondition","getPath","propertyType","isList","getLastTarget","labelIsFormat","evaluateLabel","helptextIsFormat","isPropertyBooleanFunctionAndOptions","isPropertyBooleanFunction","function","valueArray_1","observableArray_1","batchUpdate","updateArray","metaOb","conditionTargets","condition","formatErrorConditions","Property","PropertyChain","lastProperty","filter","map","conditionTarget","sort","conditionA","conditionB","compare","err","createCondition","formatError","invalidValue","text","formatter","containingType","getFormat","clearCondition","FormatError","ConditionType","convertBack","allowedValuesRules","rules","AllowedValuesRule","allowedValuesRule","targetObj","allowedValuesFromRule","values","ignoreValidation","clearInvalidOptions","$children","$destroy","allowedValues","v","existingItemsToDestroy","existingItemsMap_1","adapter","existingItem","existingItemIndex","splice","newItem","conditionTargetA","conditionTargetB","RequiredRule","category","item","displayValue","join"],"mappings":"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","file":"174.8f03aa17747eefb09c0f.js","sourcesContent":["\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar vue_model_1 = require(\"./vue-model\");\r\n// Include English resources by default\r\nrequire(\"@cognitoforms/model.js/lib/resource-en\");\r\nexports.default = vue_model_1.VueModel;\r\nvar model_js_1 = require(\"@cognitoforms/model.js\");\r\nexports.PropertyConverter = model_js_1.PropertyConverter;\r\nexports.IgnoreProperty = model_js_1.IgnoreProperty;\r\nvar model_js_2 = require(\"@cognitoforms/model.js\");\r\nexports.isEntityType = model_js_2.isEntityType;\r\nexports.isValueType = model_js_2.isValueType;\r\nvar source_adapter_1 = require(\"./source-adapter\");\r\nexports.isSourceAdapter = source_adapter_1.isSourceAdapter;\r\nvar vue_model_observability_1 = require(\"./vue-model-observability\");\r\nexports.preventVueObservability = vue_model_observability_1.preventVueObservability;\r\n","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n 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;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar vue_1 = __importDefault(require(\"vue\"));\r\nvar vue_property_decorator_1 = require(\"vue-property-decorator\");\r\nvar source_adapter_1 = require(\"./source-adapter\");\r\nvar source_path_adapter_1 = require(\"./source-path-adapter\");\r\nvar SourcePathMixin = /** @class */ (function (_super) {\r\n __extends(SourcePathMixin, _super);\r\n function SourcePathMixin() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n SourcePathMixin.prototype.onLabelChanged = function (label) {\r\n this.onOverrideValueChanged(label, String);\r\n };\r\n SourcePathMixin.prototype.onHelptextChanged = function (helptext) {\r\n this.onOverrideValueChanged(helptext, String);\r\n };\r\n SourcePathMixin.prototype.onReadonlyChanged = function (readonly) {\r\n this.onOverrideValueChanged(readonly, Boolean);\r\n };\r\n SourcePathMixin.prototype.onRequiredChanged = function (required) {\r\n this.onOverrideValueChanged(required, Boolean);\r\n };\r\n Object.defineProperty(SourcePathMixin.prototype, \"$source\", {\r\n get: function () {\r\n // If the source is an adapter, then potentially apply overrides, and return it\r\n if (source_adapter_1.isSourceAdapter(this.source)) {\r\n this.ensureOverridesAppliedToSourceAdapter(this.source);\r\n return this.source;\r\n }\r\n return new source_path_adapter_1.SourcePathAdapter({ parent: this, propsData: { source: this.source, overrides: this } });\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n SourcePathMixin.prototype.ensureOverridesAppliedToSourceAdapter = function (source) {\r\n var hasOverrides = source_adapter_1.hasOverrideValue(this.label, String) || source_adapter_1.hasOverrideValue(this.helptext, String) || source_adapter_1.hasOverrideValue(this.readonly, Boolean) || source_adapter_1.hasOverrideValue(this.required, Boolean);\r\n if (source_adapter_1.isSourcePropertyAdapter(source)) {\r\n if (hasOverrides) {\r\n if (source.overrides && source.overrides !== this) {\r\n throw new Error(\"Overrides have already been applied to source of type '\" + source.constructor.name + \"'.\");\r\n }\r\n // Apply the given overrides as the overrides for the source\r\n source.overrides = this;\r\n }\r\n }\r\n else {\r\n if (hasOverrides) {\r\n throw new Error(\"Cannot apply overrides to source of type '\" + source.constructor.name + \"'.\");\r\n }\r\n }\r\n };\r\n SourcePathMixin.prototype.onOverrideValueChanged = function (value, type) {\r\n // If the source is an adapter, and an override value is set, then ensure that the\r\n if (source_adapter_1.isSourceAdapter(this.source) && source_adapter_1.hasOverrideValue(value, type)) {\r\n this.ensureOverridesAppliedToSourceAdapter(this.source);\r\n }\r\n };\r\n __decorate([\r\n vue_property_decorator_1.Prop({ type: [String, Object] })\r\n ], SourcePathMixin.prototype, \"source\", void 0);\r\n __decorate([\r\n vue_property_decorator_1.Prop(String)\r\n ], SourcePathMixin.prototype, \"label\", void 0);\r\n __decorate([\r\n vue_property_decorator_1.Watch(\"label\")\r\n ], SourcePathMixin.prototype, \"onLabelChanged\", null);\r\n __decorate([\r\n vue_property_decorator_1.Prop(String)\r\n ], SourcePathMixin.prototype, \"helptext\", void 0);\r\n __decorate([\r\n vue_property_decorator_1.Watch(\"helptext\")\r\n ], SourcePathMixin.prototype, \"onHelptextChanged\", null);\r\n __decorate([\r\n vue_property_decorator_1.Prop({ type: Boolean, default: null })\r\n ], SourcePathMixin.prototype, \"readonly\", void 0);\r\n __decorate([\r\n vue_property_decorator_1.Watch(\"readonly\")\r\n ], SourcePathMixin.prototype, \"onReadonlyChanged\", null);\r\n __decorate([\r\n vue_property_decorator_1.Prop({ type: Boolean, default: null })\r\n ], SourcePathMixin.prototype, \"required\", void 0);\r\n __decorate([\r\n vue_property_decorator_1.Watch(\"required\")\r\n ], SourcePathMixin.prototype, \"onRequiredChanged\", null);\r\n SourcePathMixin = __decorate([\r\n vue_property_decorator_1.Component\r\n ], SourcePathMixin);\r\n return SourcePathMixin;\r\n}(vue_1.default));\r\nexports.SourcePathMixin = SourcePathMixin;\r\n","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n 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;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar vue_1 = __importDefault(require(\"vue\"));\r\nvar vue_property_decorator_1 = require(\"vue-property-decorator\");\r\nvar SourceRootAdapter = /** @class */ (function (_super) {\r\n __extends(SourceRootAdapter, _super);\r\n function SourceRootAdapter() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.readonly = false;\r\n return _this;\r\n }\r\n Object.defineProperty(SourceRootAdapter.prototype, \"value\", {\r\n get: function () {\r\n return this.entity;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(SourceRootAdapter.prototype, \"type\", {\r\n get: function () {\r\n return this.entity.meta.type.jstype;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(SourceRootAdapter.prototype, \"isList\", {\r\n get: function () {\r\n return false;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(SourceRootAdapter.prototype, \"displayValue\", {\r\n get: function () {\r\n return this.entity.toString();\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n SourceRootAdapter.prototype.toString = function () {\r\n return this.entity.meta.type.fullName + \"|\" + this.entity.meta.id;\r\n };\r\n __decorate([\r\n vue_property_decorator_1.Prop(Object)\r\n ], SourceRootAdapter.prototype, \"entity\", void 0);\r\n SourceRootAdapter = __decorate([\r\n vue_property_decorator_1.Component\r\n ], SourceRootAdapter);\r\n return SourceRootAdapter;\r\n}(vue_1.default));\r\nexports.SourceRootAdapter = SourceRootAdapter;\r\n","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n 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;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar vue_1 = __importDefault(require(\"vue\"));\r\nvar vue_property_decorator_1 = require(\"vue-property-decorator\");\r\nvar source_adapter_1 = require(\"./source-adapter\");\r\nvar model_js_1 = require(\"@cognitoforms/model.js\"); // eslint-disable-line import/no-duplicates\r\nvar helpers_1 = require(\"./helpers\");\r\nvar SourceItemAdapter = /** @class */ (function (_super) {\r\n __extends(SourceItemAdapter, _super);\r\n function SourceItemAdapter() {\r\n var _this_1 = _super !== null && _super.apply(this, arguments) || this;\r\n _this_1.isOrphaned = false;\r\n _this_1.internalIndex = -1;\r\n _this_1.isSubscribedToSourceChanges = false;\r\n return _this_1;\r\n }\r\n SourceItemAdapter.prototype.created = function () {\r\n // Track the intial index internally\r\n this.internalIndex = this.index;\r\n // Track changes to the list and update the component's state appropriately\r\n if (!this.suppressChangeTracking) {\r\n this.subscribeToSourceChanges();\r\n }\r\n };\r\n SourceItemAdapter.prototype.onIndexChanged = function (index) {\r\n this.internalIndex = index;\r\n };\r\n Object.defineProperty(SourceItemAdapter.prototype, \"parent\", {\r\n get: function () {\r\n if (source_adapter_1.isSourceAdapter(this.parentSource)) {\r\n return this.parentSource;\r\n }\r\n for (var parentVm = this.$parent.$parent, parentLevel = 1; parentVm != null; parentVm = parentVm.$parent, parentLevel += 1) {\r\n if (source_adapter_1.isSourceAdapter(parentVm.$source)) {\r\n return parentVm.$source;\r\n }\r\n }\r\n throw new Error(\"Parent source not found!\");\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(SourceItemAdapter.prototype, \"readonly\", {\r\n /**\r\n * Indicants whether the source property is readonly.\r\n *\r\n * @returns True if either the parent source or the source override is read only, otherwise false\r\n */\r\n get: function () {\r\n return this.parent.readonly || (this.overrides ? this.overrides.readonly : false);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n SourceItemAdapter.prototype.subscribeToSourceChanges = function () {\r\n if (this.isSubscribedToSourceChanges) {\r\n return;\r\n }\r\n var _this = this;\r\n var array = model_js_1.ObservableArray.ensureObservable(this.parent.value);\r\n array.changed.subscribe(function (args) {\r\n var index = _this.internalIndex;\r\n var isOrphaned = _this.isOrphaned;\r\n args.changes.forEach(function (c) {\r\n if (c.type === model_js_1.ArrayChangeType.remove) {\r\n if (c.startIndex === index) {\r\n index = -1;\r\n isOrphaned = true;\r\n }\r\n else if (c.startIndex < index) {\r\n if (c.items.length > index - c.startIndex) {\r\n index = -1;\r\n isOrphaned = true;\r\n }\r\n else {\r\n index -= c.items.length;\r\n }\r\n }\r\n }\r\n else if (c.type === model_js_1.ArrayChangeType.add) {\r\n if (c.startIndex >= 0) {\r\n if (c.startIndex <= index) {\r\n index += c.items.length;\r\n }\r\n }\r\n }\r\n });\r\n if (isOrphaned !== _this.isOrphaned) {\r\n vue_1.default.set(_this, \"isOrphaned\", isOrphaned);\r\n }\r\n if (index !== _this.internalIndex) {\r\n vue_1.default.set(_this, \"internalIndex\", index);\r\n }\r\n });\r\n this.isSubscribedToSourceChanges = true;\r\n };\r\n Object.defineProperty(SourceItemAdapter.prototype, \"value\", {\r\n get: function () {\r\n var list = this.parent.value;\r\n var value = list[this.internalIndex];\r\n return value;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(SourceItemAdapter.prototype, \"type\", {\r\n get: function () {\r\n // If possible, determine the type based on the actual entity instance\r\n if (this.value && helpers_1.isEntity(this.value))\r\n return this.value.meta.type.jstype;\r\n return this.parent.type;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(SourceItemAdapter.prototype, \"isList\", {\r\n get: function () {\r\n return false;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(SourceItemAdapter.prototype, \"displayValue\", {\r\n get: function () {\r\n var list = this.parent.value;\r\n var value = list[this.internalIndex];\r\n var displayValue;\r\n if (source_adapter_1.isSourcePropertyAdapter(this.parent) && this.parent.property.format != null) {\r\n // Use a markup or property format if available\r\n displayValue = this.parent.property.format.convert(value);\r\n }\r\n else {\r\n displayValue = value.toString();\r\n }\r\n return displayValue;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n SourceItemAdapter.prototype.toString = function () {\r\n return \"Source[\" + this.internalIndex + \"]\";\r\n };\r\n __decorate([\r\n vue_property_decorator_1.Prop(Number)\r\n ], SourceItemAdapter.prototype, \"index\", void 0);\r\n __decorate([\r\n vue_property_decorator_1.Prop(Object)\r\n ], SourceItemAdapter.prototype, \"parentSource\", void 0);\r\n __decorate([\r\n vue_property_decorator_1.Prop(Object)\r\n ], SourceItemAdapter.prototype, \"overrides\", void 0);\r\n __decorate([\r\n vue_property_decorator_1.Prop({ type: Boolean, default: false })\r\n ], SourceItemAdapter.prototype, \"suppressChangeTracking\", void 0);\r\n __decorate([\r\n vue_property_decorator_1.Watch(\"index\")\r\n ], SourceItemAdapter.prototype, \"onIndexChanged\", null);\r\n SourceItemAdapter = __decorate([\r\n vue_property_decorator_1.Component\r\n ], SourceItemAdapter);\r\n return SourceItemAdapter;\r\n}(vue_1.default));\r\nexports.SourceItemAdapter = SourceItemAdapter;\r\n","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n 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;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar vue_1 = __importDefault(require(\"vue\"));\r\nvar vue_property_decorator_1 = require(\"vue-property-decorator\");\r\nvar model_js_1 = require(\"@cognitoforms/model.js\");\r\nvar source_root_adapter_1 = require(\"./source-root-adapter\");\r\nvar vue_model_observability_1 = require(\"./vue-model-observability\");\r\nvar SourceRootMixin = /** @class */ (function (_super) {\r\n __extends(SourceRootMixin, _super);\r\n function SourceRootMixin() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n SourceRootMixin.prototype.onReadonlyChanged = function (readonly) {\r\n this.$source.readonly = readonly;\r\n };\r\n Object.defineProperty(SourceRootMixin.prototype, \"$source\", {\r\n get: function () {\r\n var entity;\r\n if (this.source instanceof model_js_1.Entity) {\r\n entity = this.source;\r\n }\r\n else {\r\n entity = this[this.source || \"entity\"];\r\n if (!entity || !(entity instanceof model_js_1.Entity)) {\r\n throw new Error(\"No entity data!\");\r\n }\r\n }\r\n vue_model_observability_1.observeEntity(entity).ensureObservable();\r\n return new source_root_adapter_1.SourceRootAdapter({ parent: this, propsData: { entity: entity } });\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n __decorate([\r\n vue_property_decorator_1.Prop({ type: [Object, String] })\r\n ], SourceRootMixin.prototype, \"source\", void 0);\r\n __decorate([\r\n vue_property_decorator_1.Prop({ type: Boolean, default: null })\r\n ], SourceRootMixin.prototype, \"readonly\", void 0);\r\n __decorate([\r\n vue_property_decorator_1.Watch(\"readonly\")\r\n ], SourceRootMixin.prototype, \"onReadonlyChanged\", null);\r\n SourceRootMixin = __decorate([\r\n vue_property_decorator_1.Component\r\n ], SourceRootMixin);\r\n return SourceRootMixin;\r\n}(vue_1.default));\r\nexports.SourceRootMixin = SourceRootMixin;\r\n","/** vue-property-decorator verson 7.3.0 MIT LICENSE copyright 2018 kaorun343 */\n'use strict';\nimport Vue from 'vue';\nimport Component, { createDecorator, mixins } from 'vue-class-component';\nexport { Component, Vue, mixins as Mixins };\n/**\n * decorator of an inject\n * @param from key\n * @return PropertyDecorator\n */\nexport function Inject(options) {\n return createDecorator(function (componentOptions, key) {\n if (typeof componentOptions.inject === 'undefined') {\n componentOptions.inject = {};\n }\n if (!Array.isArray(componentOptions.inject)) {\n componentOptions.inject[key] = options || key;\n }\n });\n}\n/**\n * decorator of a provide\n * @param key key\n * @return PropertyDecorator | void\n */\nexport function Provide(key) {\n return createDecorator(function (componentOptions, k) {\n var provide = componentOptions.provide;\n if (typeof provide !== 'function' || !provide.managed) {\n var original_1 = componentOptions.provide;\n provide = componentOptions.provide = function () {\n var rv = Object.create((typeof original_1 === 'function' ? original_1.call(this) : original_1) || null);\n for (var i in provide.managed)\n rv[provide.managed[i]] = this[i];\n return rv;\n };\n provide.managed = {};\n }\n provide.managed[k] = key || k;\n });\n}\n/**\n * decorator of model\n * @param event event name\n * @param options options\n * @return PropertyDecorator\n */\nexport function Model(event, options) {\n if (options === void 0) { options = {}; }\n return createDecorator(function (componentOptions, k) {\n (componentOptions.props || (componentOptions.props = {}))[k] = options;\n componentOptions.model = { prop: k, event: event || k };\n });\n}\n/**\n * decorator of a prop\n * @param options the options for the prop\n * @return PropertyDecorator | void\n */\nexport function Prop(options) {\n if (options === void 0) { options = {}; }\n return createDecorator(function (componentOptions, k) {\n (componentOptions.props || (componentOptions.props = {}))[k] = options;\n });\n}\n/**\n * decorator of a watch function\n * @param path the path or the expression to observe\n * @param WatchOption\n * @return MethodDecorator\n */\nexport function Watch(path, options) {\n if (options === void 0) { options = {}; }\n var _a = options.deep, deep = _a === void 0 ? false : _a, _b = options.immediate, immediate = _b === void 0 ? false : _b;\n return createDecorator(function (componentOptions, handler) {\n if (typeof componentOptions.watch !== 'object') {\n componentOptions.watch = Object.create(null);\n }\n var watch = componentOptions.watch;\n if (typeof watch[path] === 'object' && !Array.isArray(watch[path])) {\n watch[path] = [watch[path]];\n }\n else if (typeof watch[path] === 'undefined') {\n watch[path] = [];\n }\n watch[path].push({ handler: handler, deep: deep, immediate: immediate });\n });\n}\n// Code copied from Vue/src/shared/util.js\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = function (str) { return str.replace(hyphenateRE, '-$1').toLowerCase(); };\n/**\n * decorator of an event-emitter function\n * @param event The name of the event\n * @return MethodDecorator\n */\nexport function Emit(event) {\n return function (_target, key, descriptor) {\n key = hyphenate(key);\n var original = descriptor.value;\n descriptor.value = function emitter() {\n var _this = this;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var emit = function (returnValue) {\n if (returnValue !== undefined)\n args.unshift(returnValue);\n _this.$emit.apply(_this, [event || key].concat(args));\n };\n var returnValue = original.apply(this, args);\n if (isPromise(returnValue)) {\n returnValue.then(function (returnValue) {\n emit(returnValue);\n });\n }\n else {\n emit(returnValue);\n }\n };\n };\n}\nfunction isPromise(obj) {\n return obj instanceof Promise || (obj && typeof obj.then === 'function');\n}\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.VueModel$Vue = null;\r\nfunction ensureVueInternalTypes(target, Vue) {\r\n // Exit early if Observer or Dep are already defined\r\n if (target.Observer || target.Dep) {\r\n return;\r\n }\r\n var observableData;\r\n if (Vue.observable) {\r\n observableData = Vue.observable({});\r\n }\r\n else {\r\n var component = new Vue({\r\n data: function () {\r\n return {};\r\n }\r\n });\r\n observableData = component.$data;\r\n }\r\n var observer = observableData.__ob__;\r\n var observerCtor = observer.constructor;\r\n var depCtor = observer.dep.constructor;\r\n target.Observer = observerCtor;\r\n target.Dep = depCtor;\r\n}\r\nexports.ensureVueInternalTypes = ensureVueInternalTypes;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar model_js_1 = require(\"@cognitoforms/model.js\");\r\nvar helpers_1 = require(\"./helpers\");\r\nvar vue_helpers_1 = require(\"./vue-helpers\");\r\nvar vue_model_observability_1 = require(\"./vue-model-observability\");\r\n/**\r\n * Installs a global Vue mixin that hooks into component events to intercept model entities as component data and make necesary adjustments\r\n * @param Vue The Vue constructor/module object\r\n */\r\nfunction VueModel$installGlobalMixin(Vue) {\r\n Vue.mixin({\r\n beforeCreate: function VueModel$Plugin$beforeCreate() {\r\n var vm = this;\r\n if (vm.$options.data) {\r\n // Intercept data that is an entity or data function that returns an entity\r\n // so that this plugin can make the entity observable and create proxy properties\r\n preprocessDataToInterceptEntities(vm);\r\n }\r\n },\r\n created: function VueModel$Plugin$created() {\r\n var vm = this;\r\n var vm$private = vm;\r\n if (vm$private._entity) {\r\n var entity = vm$private._entity;\r\n if (!entity.meta.type.model._entitiesAreVueObservable) {\r\n // Ensure that Model entities are observable objects compatible with Vue's observer\r\n vue_model_observability_1.makeEntitiesVueObservable(vm$private._entity.meta.type.model);\r\n }\r\n vue_model_observability_1.getEntityObserver(vm$private._entity, true).ensureObservable();\r\n // Restore the data by attempting to emulate what would have happened to\r\n // the `data` object had it gone through normal component intialization\r\n restoreComponentEntityData(vm);\r\n }\r\n }\r\n });\r\n}\r\nexports.VueModel$installGlobalMixin = VueModel$installGlobalMixin;\r\nfunction replaceEntityData(vm, data) {\r\n var vm$private = vm;\r\n if (data != null && data instanceof model_js_1.Entity) {\r\n helpers_1.debug(\"Data is an entity, returning empty object...\");\r\n vm$private._entity = data;\r\n return {};\r\n }\r\n return data;\r\n}\r\nfunction preprocessDataToInterceptEntities(vm) {\r\n if (!vm.$options.data) {\r\n return;\r\n }\r\n if (vm.$options.data instanceof Function) {\r\n // The `.data` options is a function that will be invoked by Vue, so wrap it\r\n // to prevent Vue from getting an Entity prior to setting up Entity observability\r\n helpers_1.debug(\"Data is a function...wrapping to intercept the return value...\");\r\n var dataFn = vm.$options.data;\r\n vm.$options.data = function () {\r\n return replaceEntityData(vm, dataFn.apply(this, arguments));\r\n };\r\n }\r\n else {\r\n // Don't let Vue from getting an Entity prior to setting up Entity observability\r\n vm.$options.data = replaceEntityData(vm, vm.$options.data);\r\n }\r\n}\r\nfunction restoreComponentEntityData(vm) {\r\n var vm$private = vm;\r\n // Since the entity is now observable, go ahead and let the component see it\r\n // TODO: Is it necessary to somehow \"merge\" the object? Or, just not set the data\r\n // field since we're going to do custom proxying of properties anyway?\r\n vm$private._data = vm$private._entity;\r\n // Vue proxies the data objects `Object.keys()` onto the component itself,\r\n // so that the data objects properties can be used directly in templates\r\n proxyEntityPropertiesOntoComponentInstance(vm, vm$private._entity);\r\n // The internal `observe()` method basically makes the given object observable,\r\n // (entities should already be at this point) but it also updates a `vmCount` counter\r\n vue_model_observability_1.observeEntity(vm$private._entity, true).ensureObservable();\r\n // Null out the field now that we've finished preparing the entity\r\n vm$private._entity = null;\r\n}\r\nfunction proxyEntityPropertiesOntoComponentInstance(vm, entity) {\r\n // TODO: add proxies onto the component instance\r\n // proxy data on instance\r\n var properties = entity.meta.type.properties;\r\n var props = vm.$options.props;\r\n var methods = vm.$options.methods;\r\n for (var i = 0; i < properties.length; i++) {\r\n var property = properties[i];\r\n if (methods && helpers_1.hasOwnProperty(methods, property.name)) {\r\n helpers_1.debug(\"Property '\" + property.name + \"' is hidden by a component method with the same name.\");\r\n }\r\n else if (props && helpers_1.hasOwnProperty(props, property.name)) {\r\n helpers_1.debug(\"Property '\" + property.name + \"' is hidden by a component prop with the same name.\");\r\n }\r\n else if (!vue_helpers_1.Vue$isReserved(property.name)) {\r\n vue_helpers_1.Vue$proxy(vm, \"_data\", property.name);\r\n }\r\n }\r\n}\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nfunction Vue$isReserved(str) {\r\n var c = (str + \"\").charCodeAt(0);\r\n return c === 0x24 || c === 0x5F;\r\n}\r\nexports.Vue$isReserved = Vue$isReserved;\r\nfunction Vue$dependArray(value) {\r\n for (var e, i = 0, l = value.length; i < l; i++) {\r\n e = value[i];\r\n e && e.__ob__ && e.__ob__.dep.depend();\r\n if (Array.isArray(e)) {\r\n Vue$dependArray(e);\r\n }\r\n }\r\n}\r\nexports.Vue$dependArray = Vue$dependArray;\r\nfunction Vue$proxy(target, sourceKey, key) {\r\n Object.defineProperty(target, key, {\r\n configurable: true,\r\n enumerable: true,\r\n get: function VueModel$proxyPropertyGet() {\r\n return this[sourceKey][key];\r\n },\r\n set: function VueModel$proxyPropertySet(value) {\r\n this[sourceKey][key] = value;\r\n }\r\n });\r\n}\r\nexports.Vue$proxy = Vue$proxy;\r\n","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar vue_model_1 = require(\"./vue-model\");\r\nvar VueInternals = vue_model_1.VueModel._VueInternals;\r\nif (!VueInternals.Observer) {\r\n throw new Error(\"Vue's Observer constructor has not yet been obtained, be sure to call Vue.use(VueModel).\");\r\n}\r\nvar Observer = VueInternals.Observer;\r\n/**\r\n * A subclass of Vue's internal Observer class that prevents\r\n * walking and overriding the object's own properties\r\n */\r\nvar NullObserver = /** @class */ (function (_super) {\r\n __extends(NullObserver, _super);\r\n function NullObserver() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n NullObserver.prototype.walk = function () {\r\n // Overwrite the `walk()` method to prevent Vue's default property walking behavior\r\n };\r\n return NullObserver;\r\n}(Observer));\r\nexports.NullObserver = NullObserver;\r\n","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar custom_observer_1 = require(\"./custom-observer\");\r\nvar vue_model_observability_1 = require(\"./vue-model-observability\");\r\n/**\r\n * A subclass of Vue's internal `Observer` class for entities, which uses model\r\n * metadata to manage property access/change rather than property walking and rewriting\r\n */\r\nvar EntityObserver = /** @class */ (function (_super) {\r\n __extends(EntityObserver, _super);\r\n function EntityObserver() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n EntityObserver.prototype.ensureObservable = function () {\r\n if (this._observable === true) {\r\n return;\r\n }\r\n this.value.accessed.subscribe(this._onAccess.bind(this));\r\n this.value.changed.subscribe(this._onChange.bind(this));\r\n if (this.value.meta) {\r\n vue_model_observability_1.getObjectMetaObserver(this.value.meta).ensureObservable();\r\n }\r\n this._observable = true;\r\n };\r\n EntityObserver.prototype._onAccess = function (args) {\r\n // Get the current property value\r\n var value = args.entity.__fields__[args.property.name];\r\n // Notify interested observers of the property access in order to track dependencies\r\n this.onPropertyAccess(args.property.name, value);\r\n };\r\n EntityObserver.prototype._onChange = function (args) {\r\n // Get the current property value\r\n var newValue = args.entity.__fields__[args.property.name];\r\n // Notify interested observers of the property change\r\n this.onPropertyChange(args.property.name, newValue);\r\n };\r\n return EntityObserver;\r\n}(custom_observer_1.CustomObserver));\r\nexports.EntityObserver = EntityObserver;\r\n","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar custom_observer_1 = require(\"./custom-observer\");\r\n/**\r\n * A subclass of Vue's internal `Observer` class for entity meta objects, which uses model\r\n * metadata to manage condition change rather than property walking and rewriting\r\n */\r\nvar ObjectMetaObserver = /** @class */ (function (_super) {\r\n __extends(ObjectMetaObserver, _super);\r\n function ObjectMetaObserver() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n ObjectMetaObserver.prototype.ensureObservable = function () {\r\n if (this._observable === true) {\r\n return;\r\n }\r\n this.value.conditions.changed.subscribe(this._onConditionsChanged.bind(this));\r\n this._observable = true;\r\n };\r\n ObjectMetaObserver.prototype._onConditionsChanged = function () {\r\n // Notify interested observers of the condition change in order to update dependants\r\n this.onPropertyChange(\"conditions\", null);\r\n };\r\n return ObjectMetaObserver;\r\n}(custom_observer_1.CustomObserver));\r\nexports.ObjectMetaObserver = ObjectMetaObserver;\r\n","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar custom_observer_1 = require(\"./custom-observer\");\r\n/**\r\n * A subclass of Vue's internal `Observer` class for arrays, which uses observable\r\n * array events rather than property walking and rewriting\r\n */\r\nvar ArrayObserver = /** @class */ (function (_super) {\r\n __extends(ArrayObserver, _super);\r\n function ArrayObserver() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n ArrayObserver.prototype.ensureObservable = function () {\r\n if (this._observable === true) {\r\n return;\r\n }\r\n this.value.changed.subscribe(this._onChange.bind(this));\r\n this._observable = true;\r\n };\r\n ArrayObserver.prototype._onChange = function () {\r\n this.dep.notify();\r\n };\r\n return ArrayObserver;\r\n}(custom_observer_1.CustomObserver));\r\nexports.ArrayObserver = ArrayObserver;\r\n","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n 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;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar vue_1 = __importDefault(require(\"vue\"));\r\nvar vue_property_decorator_1 = require(\"vue-property-decorator\");\r\nvar source_adapter_1 = require(\"./source-adapter\");\r\nvar source_path_adapter_1 = require(\"./source-path-adapter\");\r\nvar SourceOptionAdapter = /** @class */ (function (_super) {\r\n __extends(SourceOptionAdapter, _super);\r\n function SourceOptionAdapter() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n Object.defineProperty(SourceOptionAdapter.prototype, \"parent\", {\r\n get: function () {\r\n for (var parentVm = this.$parent.$parent, parentLevel = 1; parentVm != null; parentVm = parentVm.$parent, parentLevel += 1) {\r\n if (source_adapter_1.isSourcePropertyAdapter(parentVm.$source)) {\r\n return parentVm.$source;\r\n }\r\n }\r\n throw new Error(\"Parent source not found!\");\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(SourceOptionAdapter.prototype, \"label\", {\r\n get: function () {\r\n return this.parent.label;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(SourceOptionAdapter.prototype, \"displayValue\", {\r\n get: function () {\r\n return source_path_adapter_1.formatDisplayValue(this.parent, this.value);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n SourceOptionAdapter.prototype.toString = function () {\r\n return \"Option for Source['\" + this.parent.property.path + \"']\";\r\n };\r\n __decorate([\r\n vue_property_decorator_1.Prop()\r\n ], SourceOptionAdapter.prototype, \"value\", void 0);\r\n SourceOptionAdapter = __decorate([\r\n vue_property_decorator_1.Component\r\n ], SourceOptionAdapter);\r\n return SourceOptionAdapter;\r\n}(vue_1.default));\r\nexports.SourceOptionAdapter = SourceOptionAdapter;\r\n","/**\n * vue-class-component v6.3.2\n * (c) 2015-present Evan You\n * @license MIT\n */\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar Vue = _interopDefault(require('vue'));\n\nvar reflectionIsSupported = typeof Reflect !== 'undefined' && Reflect.defineMetadata;\nfunction copyReflectionMetadata(to, from) {\n forwardMetadata(to, from);\n Object.getOwnPropertyNames(from.prototype).forEach(function (key) {\n forwardMetadata(to.prototype, from.prototype, key);\n });\n Object.getOwnPropertyNames(from).forEach(function (key) {\n forwardMetadata(to, from, key);\n });\n}\nfunction forwardMetadata(to, from, propertyKey) {\n var metaKeys = propertyKey\n ? Reflect.getOwnMetadataKeys(from, propertyKey)\n : Reflect.getOwnMetadataKeys(from);\n metaKeys.forEach(function (metaKey) {\n var metadata = propertyKey\n ? Reflect.getOwnMetadata(metaKey, from, propertyKey)\n : Reflect.getOwnMetadata(metaKey, from);\n if (propertyKey) {\n Reflect.defineMetadata(metaKey, metadata, to, propertyKey);\n }\n else {\n Reflect.defineMetadata(metaKey, metadata, to);\n }\n });\n}\n\nvar fakeArray = { __proto__: [] };\nvar hasProto = fakeArray instanceof Array;\nfunction createDecorator(factory) {\n return function (target, key, index) {\n var Ctor = typeof target === 'function'\n ? target\n : target.constructor;\n if (!Ctor.__decorators__) {\n Ctor.__decorators__ = [];\n }\n if (typeof index !== 'number') {\n index = undefined;\n }\n Ctor.__decorators__.push(function (options) { return factory(options, key, index); });\n };\n}\nfunction mixins() {\n var Ctors = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n Ctors[_i] = arguments[_i];\n }\n return Vue.extend({ mixins: Ctors });\n}\nfunction isPrimitive(value) {\n var type = typeof value;\n return value == null || (type !== 'object' && type !== 'function');\n}\nfunction warn(message) {\n if (typeof console !== 'undefined') {\n console.warn('[vue-class-component] ' + message);\n }\n}\n\nfunction collectDataFromConstructor(vm, Component) {\n // override _init to prevent to init as Vue instance\n var originalInit = Component.prototype._init;\n Component.prototype._init = function () {\n var _this = this;\n // proxy to actual vm\n var keys = Object.getOwnPropertyNames(vm);\n // 2.2.0 compat (props are no longer exposed as self properties)\n if (vm.$options.props) {\n for (var key in vm.$options.props) {\n if (!vm.hasOwnProperty(key)) {\n keys.push(key);\n }\n }\n }\n keys.forEach(function (key) {\n if (key.charAt(0) !== '_') {\n Object.defineProperty(_this, key, {\n get: function () { return vm[key]; },\n set: function (value) { vm[key] = value; },\n configurable: true\n });\n }\n });\n };\n // should be acquired class property values\n var data = new Component();\n // restore original _init to avoid memory leak (#209)\n Component.prototype._init = originalInit;\n // create plain data object\n var plainData = {};\n Object.keys(data).forEach(function (key) {\n if (data[key] !== undefined) {\n plainData[key] = data[key];\n }\n });\n if (process.env.NODE_ENV !== 'production') {\n if (!(Component.prototype instanceof Vue) && Object.keys(plainData).length > 0) {\n warn('Component class must inherit Vue or its descendant class ' +\n 'when class property is used.');\n }\n }\n return plainData;\n}\n\nvar $internalHooks = [\n 'data',\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeDestroy',\n 'destroyed',\n 'beforeUpdate',\n 'updated',\n 'activated',\n 'deactivated',\n 'render',\n 'errorCaptured' // 2.5\n];\nfunction componentFactory(Component, options) {\n if (options === void 0) { options = {}; }\n options.name = options.name || Component._componentTag || Component.name;\n // prototype props.\n var proto = Component.prototype;\n Object.getOwnPropertyNames(proto).forEach(function (key) {\n if (key === 'constructor') {\n return;\n }\n // hooks\n if ($internalHooks.indexOf(key) > -1) {\n options[key] = proto[key];\n return;\n }\n var descriptor = Object.getOwnPropertyDescriptor(proto, key);\n if (descriptor.value !== void 0) {\n // methods\n if (typeof descriptor.value === 'function') {\n (options.methods || (options.methods = {}))[key] = descriptor.value;\n }\n else {\n // typescript decorated data\n (options.mixins || (options.mixins = [])).push({\n data: function () {\n var _a;\n return _a = {}, _a[key] = descriptor.value, _a;\n }\n });\n }\n }\n else if (descriptor.get || descriptor.set) {\n // computed properties\n (options.computed || (options.computed = {}))[key] = {\n get: descriptor.get,\n set: descriptor.set\n };\n }\n });\n (options.mixins || (options.mixins = [])).push({\n data: function () {\n return collectDataFromConstructor(this, Component);\n }\n });\n // decorate options\n var decorators = Component.__decorators__;\n if (decorators) {\n decorators.forEach(function (fn) { return fn(options); });\n delete Component.__decorators__;\n }\n // find super\n var superProto = Object.getPrototypeOf(Component.prototype);\n var Super = superProto instanceof Vue\n ? superProto.constructor\n : Vue;\n var Extended = Super.extend(options);\n forwardStaticMembers(Extended, Component, Super);\n if (reflectionIsSupported) {\n copyReflectionMetadata(Extended, Component);\n }\n return Extended;\n}\nvar reservedPropertyNames = [\n // Unique id\n 'cid',\n // Super Vue constructor\n 'super',\n // Component options that will be used by the component\n 'options',\n 'superOptions',\n 'extendOptions',\n 'sealedOptions',\n // Private assets\n 'component',\n 'directive',\n 'filter'\n];\nfunction forwardStaticMembers(Extended, Original, Super) {\n // We have to use getOwnPropertyNames since Babel registers methods as non-enumerable\n Object.getOwnPropertyNames(Original).forEach(function (key) {\n // `prototype` should not be overwritten\n if (key === 'prototype') {\n return;\n }\n // Some browsers does not allow reconfigure built-in properties\n var extendedDescriptor = Object.getOwnPropertyDescriptor(Extended, key);\n if (extendedDescriptor && !extendedDescriptor.configurable) {\n return;\n }\n var descriptor = Object.getOwnPropertyDescriptor(Original, key);\n // If the user agent does not support `__proto__` or its family (IE <= 10),\n // the sub class properties may be inherited properties from the super class in TypeScript.\n // We need to exclude such properties to prevent to overwrite\n // the component options object which stored on the extended constructor (See #192).\n // If the value is a referenced value (object or function),\n // we can check equality of them and exclude it if they have the same reference.\n // If it is a primitive value, it will be forwarded for safety.\n if (!hasProto) {\n // Only `cid` is explicitly exluded from property forwarding\n // because we cannot detect whether it is a inherited property or not\n // on the no `__proto__` environment even though the property is reserved.\n if (key === 'cid') {\n return;\n }\n var superDescriptor = Object.getOwnPropertyDescriptor(Super, key);\n if (!isPrimitive(descriptor.value) &&\n superDescriptor &&\n superDescriptor.value === descriptor.value) {\n return;\n }\n }\n // Warn if the users manually declare reserved properties\n if (process.env.NODE_ENV !== 'production' &&\n reservedPropertyNames.indexOf(key) >= 0) {\n warn(\"Static property name '\" + key + \"' declared on class '\" + Original.name + \"' \" +\n 'conflicts with reserved property name of Vue internal. ' +\n 'It may cause unexpected behavior of the component. Consider renaming the property.');\n }\n Object.defineProperty(Extended, key, descriptor);\n });\n}\n\nfunction Component(options) {\n if (typeof options === 'function') {\n return componentFactory(options);\n }\n return function (Component) {\n return componentFactory(Component, options);\n };\n}\nComponent.registerHooks = function registerHooks(keys) {\n $internalHooks.push.apply($internalHooks, keys);\n};\n\nexports.default = Component;\nexports.createDecorator = createDecorator;\nexports.mixins = mixins;\n","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n 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;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar vue_property_decorator_1 = require(\"vue-property-decorator\");\r\nvar vue_class_component_1 = require(\"vue-class-component\");\r\nvar source_root_mixin_1 = require(\"./source-root-mixin\");\r\nvar VMRoot = /** @class */ (function (_super) {\r\n __extends(VMRoot, _super);\r\n function VMRoot() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n VMRoot.prototype.render = function () {\r\n var slotNodes = this.$scopedSlots.default({\r\n $source: this.$source\r\n });\r\n if (slotNodes.length !== 1) {\r\n throw new Error(\"Found \" + slotNodes.length + \" nodes in default slot for component 'vm-root'.\");\r\n }\r\n return slotNodes[0];\r\n };\r\n VMRoot = __decorate([\r\n vue_property_decorator_1.Component\r\n ], VMRoot);\r\n return VMRoot;\r\n}(vue_class_component_1.mixins(source_root_mixin_1.SourceRootMixin)));\r\nexports.VMRoot = VMRoot;\r\n","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n 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;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar vue_property_decorator_1 = require(\"vue-property-decorator\");\r\nvar vue_class_component_1 = require(\"vue-class-component\");\r\nvar source_path_mixin_1 = require(\"./source-path-mixin\");\r\nvar VMSource = /** @class */ (function (_super) {\r\n __extends(VMSource, _super);\r\n function VMSource() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n VMSource.prototype.render = function () {\r\n var slotNodes = this.$scopedSlots.default({\r\n $source: this.$source\r\n });\r\n if (slotNodes.length !== 1) {\r\n throw new Error(\"Found \" + slotNodes.length + \" nodes in default slot for component 'vm-source'.\");\r\n }\r\n return slotNodes[0];\r\n };\r\n VMSource = __decorate([\r\n vue_property_decorator_1.Component\r\n ], VMSource);\r\n return VMSource;\r\n}(vue_class_component_1.mixins(source_path_mixin_1.SourcePathMixin)));\r\nexports.VMSource = VMSource;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar model_js_1 = require(\"@cognitoforms/model.js\"); // eslint-disable-line import/no-duplicates\r\nvar model_js_2 = require(\"@cognitoforms/model.js\"); // eslint-disable-line import/no-duplicates\r\nvar model_js_3 = require(\"@cognitoforms/model.js\"); // eslint-disable-line import/no-duplicates\r\nvar helpers_1 = require(\"./helpers\");\r\nvar CustomObserverConstructor = null;\r\nfunction getCustomObserverConstructor() {\r\n return CustomObserverConstructor || (CustomObserverConstructor = require(\"./custom-observer\").CustomObserver);\r\n}\r\nexports.getCustomObserverConstructor = getCustomObserverConstructor;\r\nvar NullObserverConstructor = null;\r\nfunction getNullObserverConstructor() {\r\n return NullObserverConstructor || (NullObserverConstructor = require(\"./null-observer\").NullObserver);\r\n}\r\nexports.getNullObserverConstructor = getNullObserverConstructor;\r\nfunction preventVueObservability(obj) {\r\n if (obj) {\r\n var NullObserver = getNullObserverConstructor();\r\n if (!helpers_1.hasOwnProperty(obj, \"__ob__\")) {\r\n // eslint-disable-next-line no-new\r\n new NullObserver(obj);\r\n return true;\r\n }\r\n else if (obj.__ob__ instanceof NullObserver) {\r\n return true;\r\n }\r\n else {\r\n // Vue's default observability is also bypassed if the object's observer is a subclass of `CustomObserver`\r\n var CustomObserver = getCustomObserverConstructor();\r\n return obj.__ob__ instanceof CustomObserver;\r\n }\r\n }\r\n}\r\nexports.preventVueObservability = preventVueObservability;\r\n/**\r\n * Based on Vue's internal `observe()` function. Ensures that the given entity\r\n * is observable and optionally notes that it is referenced by a component\r\n * @param entity The entity to observe\r\n * @param asRootData The entity is referenced as a component's data\r\n */\r\nfunction observeEntity(entity, asRootData) {\r\n if (asRootData === void 0) { asRootData = false; }\r\n if (entity instanceof model_js_2.Entity) {\r\n var ob = getEntityObserver(entity, true);\r\n if (entity.meta) {\r\n getObjectMetaObserver(entity.meta, true);\r\n }\r\n if (asRootData && ob) {\r\n ob.vmCount++;\r\n }\r\n return ob;\r\n }\r\n else {\r\n // TODO: Warn about attempting to observe non-entity?\r\n }\r\n}\r\nexports.observeEntity = observeEntity;\r\n/**\r\n * Gets or creates an `EntityObserver` for the given entity\r\n * @param entity The entity begin observed\r\n * @param create If true, create the observer if it doesn't already exist\r\n */\r\nfunction getEntityObserver(entity, create) {\r\n if (create === void 0) { create = false; }\r\n var EntityObserver = getEntityObserverConstructor();\r\n if (helpers_1.hasOwnProperty(entity, \"__ob__\") && helpers_1.getProp(entity, \"__ob__\") instanceof EntityObserver) {\r\n return helpers_1.getProp(entity, \"__ob__\");\r\n }\r\n else if (create) {\r\n return new EntityObserver(entity);\r\n }\r\n else {\r\n return null;\r\n }\r\n}\r\nexports.getEntityObserver = getEntityObserver;\r\nvar EntityObserverConstructor = null;\r\nfunction getEntityObserverConstructor() {\r\n return EntityObserverConstructor || (EntityObserverConstructor = require(\"./entity-observer\").EntityObserver);\r\n}\r\nexports.getEntityObserverConstructor = getEntityObserverConstructor;\r\n/**\r\n * Gets or creates an `ObjectMetaObserver` for the given meta object\r\n * @param meta The object meta begin observed\r\n * @param create If true, create the observer if it doesn't already exist\r\n */\r\nfunction getObjectMetaObserver(meta, create) {\r\n if (create === void 0) { create = false; }\r\n var ObjectMetaObserver = getObjectMetaObserverConstructor();\r\n if (helpers_1.hasOwnProperty(meta, \"__ob__\") && helpers_1.getProp(meta, \"__ob__\") instanceof ObjectMetaObserver) {\r\n return helpers_1.getProp(meta, \"__ob__\");\r\n }\r\n else if (create) {\r\n return new ObjectMetaObserver(meta);\r\n }\r\n else {\r\n return null;\r\n }\r\n}\r\nexports.getObjectMetaObserver = getObjectMetaObserver;\r\nvar ObjectMetaObserverConstructor = null;\r\nfunction getObjectMetaObserverConstructor() {\r\n return ObjectMetaObserverConstructor || (ObjectMetaObserverConstructor = require(\"./object-meta-observer\").ObjectMetaObserver);\r\n}\r\nexports.getObjectMetaObserverConstructor = getObjectMetaObserverConstructor;\r\n/**\r\n * Based on Vue's internal `observe()` function. Ensures that the given array\r\n * is observable and optionally notes that it is referenced by a component\r\n * @param array The array to observe\r\n * @param asRootData The array is referenced as a component's data\r\n */\r\nfunction observeArray(array, asRootData) {\r\n if (asRootData === void 0) { asRootData = false; }\r\n if (Array.isArray(array)) {\r\n if (model_js_3.ObservableArray.isObservableArray(array)) {\r\n var ob = getArrayObserver(array, true);\r\n if (asRootData && ob) {\r\n ob.vmCount++;\r\n }\r\n return ob;\r\n }\r\n else {\r\n // TODO: Warn about attempting to observe non-observable array?\r\n }\r\n }\r\n else {\r\n // TODO: Warn about attempting to observe non-array?\r\n }\r\n}\r\nexports.observeArray = observeArray;\r\n/**\r\n * Gets or creates an `ArrayObserver` for the given observable array\r\n * @param entity The entity begin observed\r\n * @param create If true, create the observer if it doesn't already exist\r\n */\r\nfunction getArrayObserver(array, create) {\r\n if (create === void 0) { create = false; }\r\n var ArrayObserver = getArrayObserverConstructor();\r\n if (helpers_1.hasOwnProperty(array, \"__ob__\") && helpers_1.getProp(array, \"__ob__\") instanceof ArrayObserver) {\r\n return helpers_1.getProp(array, \"__ob__\");\r\n }\r\n else if (create) {\r\n return new ArrayObserver(array);\r\n }\r\n else {\r\n return null;\r\n }\r\n}\r\nexports.getArrayObserver = getArrayObserver;\r\nvar ArrayObserverConstructor = null;\r\nfunction getArrayObserverConstructor() {\r\n return ArrayObserverConstructor || (ArrayObserverConstructor = require(\"./array-observer\").ArrayObserver);\r\n}\r\nexports.getArrayObserverConstructor = getArrayObserverConstructor;\r\n/**\r\n * Based on Vue's internals `dependArray()` function\r\n * @param array The child array to track as a dependency\r\n */\r\nfunction dependChildArray(array) {\r\n var arrayObserver = observeArray(array);\r\n if (arrayObserver)\r\n arrayObserver.ensureObservable();\r\n for (var e, i = 0, l = array.length; i < l; i++) {\r\n e = array[i];\r\n if (e != null) {\r\n if (e instanceof model_js_2.Entity) {\r\n var observer = getEntityObserver(e, true);\r\n observer.ensureObservable();\r\n observer.dep.depend();\r\n }\r\n else if (helpers_1.hasOwnProperty(e, \"__ob__\")) {\r\n e.__ob__.dep.depend();\r\n }\r\n if (Array.isArray(e)) {\r\n dependChildArray(e);\r\n }\r\n }\r\n }\r\n}\r\nexports.dependChildArray = dependChildArray;\r\nvar vueCompatibleModels = [];\r\n/**\r\n * Make sure that entities in the given model are observable by Vue\r\n * By default, entities would not be observable, since model properties\r\n * are added to the prototype, Vue will not detect them. So, we use a custom\r\n * observer that leverages model metadata to manage property access/change.\r\n * @param model The model to augment\r\n */\r\nfunction makeEntitiesVueObservable(model) {\r\n if (!model || !(model instanceof model_js_1.Model)) {\r\n // TODO: Warn about missing or non-Model argument?\r\n return;\r\n }\r\n if (vueCompatibleModels.indexOf(model) >= 0 || model._entitiesAreVueObservable === true) {\r\n return;\r\n }\r\n model.entityRegistered.subscribe(function (args) {\r\n observeEntity(args.entity).ensureObservable();\r\n });\r\n // Make existing entities observable\r\n for (var _i = 0, _a = Object.keys(model.types); _i < _a.length; _i++) {\r\n var typeName = _a[_i];\r\n var type = model.types[typeName];\r\n type.known().forEach(function (entity) {\r\n observeEntity(entity).ensureObservable();\r\n });\r\n }\r\n vueCompatibleModels.push(model);\r\n model._entitiesAreVueObservable = true;\r\n}\r\nexports.makeEntitiesVueObservable = makeEntitiesVueObservable;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar model_js_1 = require(\"@cognitoforms/model.js\");\r\nfunction isEntity(obj) {\r\n return obj && obj.meta && obj.meta.type && obj.meta.type.jstype && model_js_1.isEntityType(obj.meta.type.jstype);\r\n}\r\nexports.isEntity = isEntity;\r\nfunction getProp(obj, prop) {\r\n return obj[prop];\r\n}\r\nexports.getProp = getProp;\r\nfunction setProp(target, key, value) {\r\n target[key] = value;\r\n}\r\nexports.setProp = setProp;\r\nvar hasOwnPropertyFn = Object.prototype.hasOwnProperty;\r\nfunction hasOwnProperty(obj, prop) {\r\n return hasOwnPropertyFn.call(obj, prop);\r\n}\r\nexports.hasOwnProperty = hasOwnProperty;\r\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\r\nfunction debug(message) {\r\n // console.log(\"%c[DEBUG] \" + message, \"background-color: #efefef; color: #999;\");\r\n}\r\nexports.debug = debug;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar source_root_adapter_1 = require(\"./source-root-adapter\");\r\nvar source_path_adapter_1 = require(\"./source-path-adapter\");\r\nvar source_item_adapter_1 = require(\"./source-item-adapter\");\r\nfunction isSourceAdapter(obj) {\r\n if (obj instanceof source_root_adapter_1.SourceRootAdapter)\r\n return true;\r\n if (obj instanceof source_path_adapter_1.SourcePathAdapter)\r\n return true;\r\n if (obj instanceof source_item_adapter_1.SourceItemAdapter)\r\n return true;\r\n return false;\r\n}\r\nexports.isSourceAdapter = isSourceAdapter;\r\nfunction isSourcePropertyAdapter(obj) {\r\n if (obj instanceof source_path_adapter_1.SourcePathAdapter)\r\n return true;\r\n return false;\r\n}\r\nexports.isSourcePropertyAdapter = isSourcePropertyAdapter;\r\nfunction hasOverrideValue(value, type) {\r\n if (type === String) {\r\n return typeof value === \"string\" && value.length > 0;\r\n }\r\n else if (type === Boolean) {\r\n return typeof value === \"boolean\";\r\n }\r\n}\r\nexports.hasOverrideValue = hasOverrideValue;\r\n","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar vue_model_1 = require(\"./vue-model\");\r\nvar helpers_1 = require(\"./helpers\");\r\nvar vue_model_observability_1 = require(\"./vue-model-observability\");\r\nvar model_js_1 = require(\"@cognitoforms/model.js\");\r\nvar VueInternals = vue_model_1.VueModel._VueInternals;\r\nif (!VueInternals.Observer) {\r\n throw new Error(\"Vue's Observer constructor has not yet been obtained, be sure to call Vue.use(VueModel).\");\r\n}\r\nvar Observer = VueInternals.Observer;\r\n/**\r\n * A subclass of Vue's internal Observer class that is responsible\r\n * for managing its own access/change events for properties rather than\r\n * walking the object's own properties\r\n */\r\nvar CustomObserver = /** @class */ (function (_super) {\r\n __extends(CustomObserver, _super);\r\n function CustomObserver() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.propertyDeps = {};\r\n return _this;\r\n }\r\n CustomObserver.prototype.walk = function () {\r\n // Overwrite the `walk()` method to prevent Vue's default property walking behavior\r\n // TODO: Should we allow this to happen?\r\n };\r\n /**\r\n * Gets (or creates) a `Dep` object for a property of the given name\r\n * The `Dep` object will be stored internally by the observer, using\r\n * the given target property name as a key\r\n * @param propertyName The target property name\r\n * @param create If true, create the `Dep` object if it doesn't already exist\r\n */\r\n CustomObserver.prototype.getPropertyDep = function (propertyName, create) {\r\n if (create === void 0) { create = false; }\r\n var propertyDep;\r\n var Dep = VueInternals.Dep;\r\n var propertyDeps = this.propertyDeps;\r\n if (helpers_1.hasOwnProperty(propertyDeps, propertyName) && propertyDeps[propertyName] instanceof Dep) {\r\n propertyDep = propertyDeps[propertyName];\r\n }\r\n else if (create) {\r\n propertyDep = new Dep();\r\n Object.defineProperty(propertyDeps, propertyName, {\r\n configurable: true,\r\n enumerable: true,\r\n value: propertyDep,\r\n writable: true\r\n });\r\n }\r\n return propertyDep;\r\n };\r\n /**\r\n * Emulate's Vue's getter logic in `defineReactive()`\r\n * @param propertyName The property being accessed\r\n * @param value The current property value\r\n */\r\n CustomObserver.prototype.onPropertyAccess = function (propertyName, value) {\r\n var Dep = VueInternals.Dep;\r\n // Attach dependencies if something is watching\r\n if (Dep.target) {\r\n // Get or initialize the `Dep` object\r\n var propertyDep = this.getPropertyDep(propertyName, true);\r\n // Let an active observer target know that the property was accessed and is a dependency\r\n propertyDep.depend();\r\n var childOb = vue_model_observability_1.observeEntity(value);\r\n if (childOb) {\r\n childOb.dep.depend();\r\n }\r\n if (Array.isArray(value)) {\r\n // Track dependency on children as well (creating entity observer as needed)\r\n vue_model_observability_1.dependChildArray(value);\r\n }\r\n }\r\n };\r\n /**\r\n * Emulate's Vue's setter logic in `defineReactive()`\r\n * @param propertyName The property being accessed\r\n * @param newValue The new property value\r\n */\r\n CustomObserver.prototype.onPropertyChange = function (propertyName, newValue) {\r\n // Get or initialize the `Dep` object\r\n var propertyDep = this.getPropertyDep(propertyName, true);\r\n // Make sure a new value that is an entity is observable\r\n if (newValue && newValue instanceof model_js_1.Entity) {\r\n vue_model_observability_1.observeEntity(newValue).ensureObservable();\r\n }\r\n // Notify of property change\r\n propertyDep.notify();\r\n };\r\n return CustomObserver;\r\n}(Observer));\r\nexports.CustomObserver = CustomObserver;\r\n","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar model_js_1 = require(\"@cognitoforms/model.js\"); // eslint-disable-line import/no-duplicates\r\nvar model_js_2 = require(\"@cognitoforms/model.js\"); // eslint-disable-line import/no-duplicates\r\nvar vue_internals_1 = require(\"./vue-internals\");\r\nvar vue_global_mixin_1 = require(\"./vue-global-mixin\");\r\nvar source_path_mixin_1 = require(\"./source-path-mixin\");\r\nvar source_root_mixin_1 = require(\"./source-root-mixin\");\r\nvar vue_model_observability_1 = require(\"./vue-model-observability\");\r\nvar vm_root_component_1 = require(\"./vm-root-component\");\r\nvar vm_source_component_1 = require(\"./vm-source-component\");\r\nvar model_js_3 = require(\"@cognitoforms/model.js\"); // eslint-disable-line import/no-duplicates\r\n// TODO: Do we need to take `toggleObserving()` into account?\r\nvar VueModel = /** @class */ (function (_super) {\r\n __extends(VueModel, _super);\r\n /**\r\n * Creates a new model with the specified type information.\r\n * @param options The set of model types to add.\r\n */\r\n function VueModel(options, config) {\r\n var _this = _super.call(this, options, config) || this;\r\n if (!VueModel._Vue) {\r\n // TODO: auto-install if needed?\r\n throw new Error(\"Vue.use(VueModel) must be called before constructing a VueModel instance.\");\r\n }\r\n // Make sure that the model itself is not made observable by Vue, since anything that we want to be made observable should be made observable explicitly\r\n vue_model_observability_1.preventVueObservability(_this);\r\n // Make sure that entities are observable by Vue\r\n vue_model_observability_1.makeEntitiesVueObservable(_this);\r\n return _this;\r\n }\r\n /**\r\n * Implement the Vue plugin interface:\r\n * https://vuejs.org/v2/guide/plugins.html#Writing-a-Plugin\r\n */\r\n VueModel.install = function (vue) {\r\n // Detect if the plugin install has already been called\r\n if (VueModel._Vue)\r\n return;\r\n // Register components globally for use in templates\r\n vue.component(\"vm-root\", vm_root_component_1.VMRoot);\r\n vue.component(\"vm-source\", vm_source_component_1.VMSource);\r\n // Store a reference to the Vue constructor/module\r\n VueModel._Vue = vue;\r\n // Get access to Vue's internal types that we need\r\n vue_internals_1.ensureVueInternalTypes(VueModel._VueInternals, VueModel._Vue);\r\n // Install the Vue global mixin\r\n return vue_global_mixin_1.VueModel$installGlobalMixin(vue);\r\n };\r\n VueModel._Vue = null;\r\n VueModel._VueInternals = { Observer: null, Dep: null };\r\n /**\r\n * Provide access to Vue mixins for source provider/consumer\r\n */\r\n VueModel.mixins = {\r\n SourcePath: source_path_mixin_1.SourcePathMixin,\r\n SourceRoot: source_root_mixin_1.SourceRootMixin\r\n // SourceRoot: function (source: string) { return new SourceRootMixin({ propsData: { source: source } }); }\r\n };\r\n VueModel.Entity = model_js_2.Entity;\r\n VueModel.CultureInfo = model_js_3.CultureInfo;\r\n return VueModel;\r\n}(model_js_1.Model));\r\nexports.VueModel = VueModel;\r\n","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n 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;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar vue_1 = __importDefault(require(\"vue\"));\r\nvar vue_property_decorator_1 = require(\"vue-property-decorator\");\r\nvar model_js_1 = require(\"@cognitoforms/model.js\"); // eslint-disable-line import/no-duplicates\r\nvar model_js_2 = require(\"@cognitoforms/model.js\"); // eslint-disable-line import/no-duplicates\r\nvar source_adapter_1 = require(\"./source-adapter\");\r\nvar source_option_adapter_1 = require(\"./source-option-adapter\");\r\nvar model_js_3 = require(\"@cognitoforms/model.js\"); // eslint-disable-line import/no-duplicates\r\nvar vue_model_observability_1 = require(\"./vue-model-observability\");\r\nvar model_js_4 = require(\"@cognitoforms/model.js\"); // eslint-disable-line import/no-duplicates\r\nvar model_js_5 = require(\"@cognitoforms/model.js\"); // eslint-disable-line import/no-duplicates\r\nvar source_item_adapter_1 = require(\"./source-item-adapter\");\r\nvar model_js_6 = require(\"@cognitoforms/model.js\"); // eslint-disable-line import/no-duplicates\r\nvar model_js_7 = require(\"@cognitoforms/model.js\"); // eslint-disable-line import/no-duplicates\r\nvar helpers_1 = require(\"./helpers\");\r\nvar _id = 0;\r\nvar SourcePathAdapter = /** @class */ (function (_super) {\r\n __extends(SourcePathAdapter, _super);\r\n function SourcePathAdapter() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n // viewState: { formatError: ConditionTarget } = { formatError: null };\r\n // formatError: FormatError = null;\r\n _this.formatErrorCondition = null;\r\n _this.id = \"\" + _id++;\r\n return _this;\r\n }\r\n Object.defineProperty(SourcePathAdapter.prototype, \"parent\", {\r\n get: function () {\r\n for (var parentVm = this.$parent.$parent, parentLevel = 1; parentVm != null; parentVm = parentVm.$parent, parentLevel += 1) {\r\n if (source_adapter_1.isSourceAdapter(parentVm.$source)) {\r\n return parentVm.$source;\r\n }\r\n }\r\n throw new Error(\"Parent source not found!\");\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(SourcePathAdapter.prototype, \"property\", {\r\n get: function () {\r\n var property = this.parent.type.meta.getPath(this.source);\r\n vue_model_observability_1.preventVueObservability(property);\r\n return property;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(SourcePathAdapter.prototype, \"type\", {\r\n get: function () {\r\n // If possible, determine the type based on the actual entity instance\r\n if (this.value && helpers_1.isEntity(this.value))\r\n return this.value.meta.type.jstype;\r\n return this.property.propertyType;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(SourcePathAdapter.prototype, \"isList\", {\r\n get: function () {\r\n return this.property.isList;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(SourcePathAdapter.prototype, \"lastTarget\", {\r\n get: function () {\r\n var property = this.property;\r\n return property.getLastTarget(this.parent.value);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(SourcePathAdapter.prototype, \"label\", {\r\n /**\r\n * Gets the label for the source property.\r\n *\r\n * @returns The source override label if specified, or the model property label if not\r\n */\r\n get: function () {\r\n var label = this.overrides ? this.overrides.label : null;\r\n if (label === undefined || label === null) {\r\n if (this.property.labelIsFormat) {\r\n label = model_js_2.evaluateLabel(this.property, this.parent.value);\r\n }\r\n else {\r\n label = this.property.label;\r\n }\r\n }\r\n return label;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(SourcePathAdapter.prototype, \"helptext\", {\r\n /**\r\n * Gets the helptext for the source property.\r\n *\r\n * @returns The source override helptext if specified, or the model property helptext if not\r\n */\r\n get: function () {\r\n var helptext = this.overrides ? this.overrides.helptext : null;\r\n if (helptext === undefined || helptext === null) {\r\n if (this.property.helptextIsFormat) {\r\n helptext = this.parent.value.toString(this.property.helptext);\r\n }\r\n else {\r\n helptext = this.property.helptext;\r\n }\r\n }\r\n return helptext;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(SourcePathAdapter.prototype, \"readonly\", {\r\n /**\r\n * Indicants whether the source property is readonly.\r\n *\r\n * @returns True if either the parent source or the source override is read only, otherwise false\r\n */\r\n get: function () {\r\n return this.parent.readonly || (this.overrides ? !!this.overrides.readonly : false);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(SourcePathAdapter.prototype, \"required\", {\r\n /**\r\n * Indicants whether the source property is required.\r\n *\r\n * @returns True if the property is required, otherwise false\r\n */\r\n get: function () {\r\n if (this.overrides && this.overrides.required != null)\r\n return this.overrides.required;\r\n if (model_js_2.isPropertyBooleanFunctionAndOptions(this.property.required)) {\r\n if (model_js_2.isPropertyBooleanFunction(this.property.required.function)) {\r\n return this.property.required.function.call(this.parent.value);\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n if (model_js_2.isPropertyBooleanFunction(this.property.required))\r\n return this.property.required.call(this.parent.value);\r\n return this.property.required === true;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(SourcePathAdapter.prototype, \"value\", {\r\n /**\r\n * Gets the value of the source property on the entity.\r\n *\r\n * @returns The observable raw value of the property\r\n */\r\n get: function () {\r\n // This adapter has no value if its parent has no value\r\n if (!this.parent.value)\r\n return;\r\n return this.ensureObservable(this.property.value(this.parent.value));\r\n },\r\n /**\r\n * Sets the value of the source property on the entity.\r\n *\r\n * @param value - The new value to assign to the property\r\n */\r\n set: function (value) {\r\n if (this.property.isList) {\r\n var valueArray_1 = value;\r\n var observableArray_1 = this.property.value(this.parent.value);\r\n observableArray_1.batchUpdate(function () { return model_js_5.updateArray(observableArray_1, valueArray_1); });\r\n }\r\n else {\r\n this.property.value(this.parent.value, this.ensureObservable(value));\r\n }\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(SourcePathAdapter.prototype, \"conditions\", {\r\n get: function () {\r\n var _this = this;\r\n var meta = this.parent.value.meta;\r\n var metaOb = vue_model_observability_1.getObjectMetaObserver(meta);\r\n // Make sure that the meta object is observable, ex: subscribes to conditions array changed\r\n metaOb.ensureObservable();\r\n var conditionTargets = meta.conditions;\r\n conditionTargets.forEach(function (condition) { vue_model_observability_1.preventVueObservability(condition); });\r\n // Raise property access to let Vue know that array was accessed\r\n // Changes to conditions will result in a Vue change notification for the 'conditions' property\r\n metaOb.onPropertyAccess(\"conditions\", conditionTargets);\r\n var formatErrorConditions = this.formatErrorCondition ? [this.formatErrorCondition] : [];\r\n var property = this.property instanceof model_js_2.Property ? this.property : this.property instanceof model_js_4.PropertyChain ? this.property.lastProperty : null;\r\n if (!property)\r\n return formatErrorConditions;\r\n var conditions = conditionTargets.filter(function (c) { return c.properties.indexOf(property) >= 0; }).map(function (conditionTarget) {\r\n return conditionTarget.condition;\r\n });\r\n conditions = conditions.concat(formatErrorConditions);\r\n conditions = conditions.sort(function (conditionA, conditionB) {\r\n return _this.compare(conditionA, conditionB);\r\n });\r\n return conditions;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(SourcePathAdapter.prototype, \"formatError\", {\r\n get: function () {\r\n return this.formatErrorCondition ? this.formatErrorCondition[\"formatError\"] : null;\r\n },\r\n set: function (err) {\r\n if (err) {\r\n vue_model_observability_1.preventVueObservability(err);\r\n var formatErrorCondition = err.createCondition(this.property.getLastTarget(this.parent.value), this.property.lastProperty);\r\n vue_model_observability_1.preventVueObservability(formatErrorCondition);\r\n formatErrorCondition[\"formatError\"] = err;\r\n this.formatErrorCondition = formatErrorCondition;\r\n }\r\n else {\r\n this.formatErrorCondition = null;\r\n }\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(SourcePathAdapter.prototype, \"invalidValue\", {\r\n get: function () {\r\n if (this.formatError) {\r\n return this.formatError.invalidValue;\r\n }\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(SourcePathAdapter.prototype, \"firstError\", {\r\n get: function () {\r\n return this.conditions.length ? this.conditions[0] : null;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(SourcePathAdapter.prototype, \"displayValue\", {\r\n get: function () {\r\n if (this.formatError) {\r\n return this.formatError.invalidValue;\r\n }\r\n var value = this.ensureObservable(this.property.value(this.parent.value));\r\n return formatDisplayValue(this, value);\r\n },\r\n set: function (text) {\r\n if (model_js_6.isEntityType(this.property.propertyType)) {\r\n throw new Error(\"Cannot set displayValue property of Adapters for entity types.\");\r\n }\r\n /// / TODO: Implement auto-reformat?\r\n // var initialValue = text;\r\n var newValue;\r\n var formatter;\r\n if (this.property.format != null) {\r\n formatter = this.property.format;\r\n }\r\n else if (model_js_6.isValueType(this.property.propertyType) && this.property.propertyType !== String) {\r\n // Try to use the general format by default\r\n formatter = this.property.containingType.model.getFormat(this.property.propertyType, \"G\");\r\n }\r\n if (this.formatError) {\r\n this.parent.value.meta.clearCondition(model_js_7.FormatError.ConditionType); // TODO: This shouldn't do anything...\r\n this.formatError = null;\r\n }\r\n if (formatter) {\r\n newValue = formatter.convertBack(text);\r\n if (newValue instanceof model_js_7.FormatError) {\r\n vue_model_observability_1.preventVueObservability(newValue);\r\n this.formatError = newValue;\r\n return;\r\n }\r\n }\r\n else if (this.property.propertyType === String && typeof text === \"string\" && text.length === 0) {\r\n // Convert blank string to null\r\n newValue = null;\r\n }\r\n else {\r\n newValue = text;\r\n }\r\n this.value = newValue;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(SourcePathAdapter.prototype, \"allowedValuesRule\", {\r\n get: function () {\r\n var property;\r\n if (this.property instanceof model_js_4.PropertyChain) {\r\n property = this.property.lastProperty;\r\n }\r\n else if (this.property instanceof model_js_2.Property) {\r\n property = this.property;\r\n }\r\n var allowedValuesRules = property.rules.filter(function (r) { return r instanceof model_js_3.AllowedValuesRule; });\r\n if (allowedValuesRules.length) {\r\n var allowedValuesRule = allowedValuesRules[0];\r\n vue_model_observability_1.preventVueObservability(allowedValuesRule);\r\n return allowedValuesRule;\r\n }\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(SourcePathAdapter.prototype, \"allowedValues\", {\r\n get: function () {\r\n var allowedValuesRule = this.allowedValuesRule;\r\n if (!allowedValuesRule) {\r\n // If there is no rule, return an empty list\r\n return;\r\n }\r\n var targetObj;\r\n if (this.property instanceof model_js_4.PropertyChain) {\r\n targetObj = this.property.getLastTarget(this.parent.value);\r\n }\r\n else {\r\n targetObj = this.parent.value;\r\n }\r\n // Retrieve the value of allowed values property\r\n var allowedValuesFromRule = allowedValuesRule.values(targetObj);\r\n if (allowedValuesFromRule) {\r\n // Clear our values that are no longer valid\r\n if (!allowedValuesRule.ignoreValidation) {\r\n this.clearInvalidOptions(allowedValuesFromRule);\r\n }\r\n }\r\n else if (!allowedValuesRule.ignoreValidation) {\r\n // Clear out values since the property doesn't currently have any allowed values\r\n this.clearInvalidOptions(null);\r\n }\r\n allowedValuesFromRule.forEach(function (value) {\r\n if (value instanceof model_js_1.Entity) {\r\n vue_model_observability_1.observeEntity(value).ensureObservable();\r\n }\r\n else if (typeof value === \"object\") {\r\n vue_model_observability_1.preventVueObservability(value);\r\n }\r\n });\r\n return allowedValuesFromRule;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(SourcePathAdapter.prototype, \"options\", {\r\n get: function () {\r\n var _this = this;\r\n // Destroy existing option components\r\n var optionsToDestroy = this.$children.filter(function (c) { return c instanceof source_option_adapter_1.SourceOptionAdapter; });\r\n optionsToDestroy.forEach(function (c) { return c.$destroy(); });\r\n // TODO: preserve option adapters if possible?\r\n var allowedValues = this.allowedValues;\r\n if (!allowedValues && this.property.propertyType === Boolean) {\r\n // Provide true and false as special allowed values for booleans\r\n allowedValues = [true, false];\r\n }\r\n if (!allowedValues) {\r\n return [];\r\n }\r\n // Map the allowed values to option adapters\r\n return allowedValues.map(function (v) { return new source_option_adapter_1.SourceOptionAdapter({ parent: _this, propsData: { value: v } }); });\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(SourcePathAdapter.prototype, \"items\", {\r\n get: function () {\r\n var items = [];\r\n // Collect existing option components to potentially be destroyed\r\n var existingItemsToDestroy = this.$children.filter(function (c) { return c instanceof source_item_adapter_1.SourceItemAdapter; });\r\n var value = this.value;\r\n if (Array.isArray(value)) {\r\n if (model_js_6.isEntityType(this.property.propertyType)) {\r\n var existingItemsMap_1 = {};\r\n existingItemsToDestroy.forEach(function (c) {\r\n var adapter = c;\r\n if (!adapter.isOrphaned) {\r\n var key = adapter.value ? adapter.value.meta.id : null;\r\n if (key) {\r\n existingItemsMap_1[key] = adapter;\r\n }\r\n }\r\n });\r\n for (var i = 0; i < value.length; i++) {\r\n var key = value[i].meta.id;\r\n var existingItem = existingItemsMap_1[key];\r\n if (existingItem) {\r\n // Delete the existing item from the map so that it can't be fetched more than once\r\n delete existingItemsMap_1[key];\r\n // Remove the component from the list of items to destroy since we're going to reuse it\r\n var existingItemIndex = existingItemsToDestroy.indexOf(existingItem);\r\n if (existingItemIndex >= 0) {\r\n existingItemsToDestroy.splice(existingItemIndex, 1);\r\n }\r\n // Set the backing storage for the 'index' prop, the internal data should\r\n // already have this value, this just makes the component's state consistent,\r\n // since the inconsistency is just a side-effect of reusing item adapters\r\n var propsData = existingItem.$options.propsData;\r\n propsData.index = i;\r\n // Include the existing item in the return value\r\n items.push(existingItem);\r\n }\r\n else {\r\n // Create a new item adapter\r\n var newItem = new source_item_adapter_1.SourceItemAdapter({ parent: this, propsData: { index: i, parentSource: this } });\r\n // Subscribes to changes to its underlying list source in order to update its index and detect when it becomes orphaned\r\n newItem.subscribeToSourceChanges();\r\n // Include the new item in the return value\r\n items.push(newItem);\r\n }\r\n }\r\n }\r\n }\r\n existingItemsToDestroy.forEach(function (c) { return c.$destroy(); });\r\n return items;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n SourcePathAdapter.prototype.compare = function (conditionTargetA, conditionTargetB) {\r\n if (conditionTargetA[\"formatError\"] instanceof model_js_7.FormatError || conditionTargetB[\"formatError\"] instanceof model_js_7.FormatError) {\r\n return conditionTargetA[\"formatError\"] instanceof model_js_7.FormatError && conditionTargetB[\"formatError\"] instanceof model_js_7.FormatError ? 0 :\r\n conditionTargetA[\"formatError\"] instanceof model_js_7.FormatError ? -1 : 1;\r\n }\r\n else if (conditionTargetA[\"source\"] instanceof model_js_1.RequiredRule || conditionTargetB[\"source\"] instanceof model_js_1.RequiredRule)\r\n return conditionTargetA[\"source\"] instanceof model_js_1.RequiredRule && conditionTargetB[\"source\"] instanceof model_js_1.RequiredRule ? 0 :\r\n conditionTargetA[\"source\"] instanceof model_js_1.RequiredRule ? -1 : 1;\r\n else if (conditionTargetA.type.category === \"Error\" || conditionTargetB.type.category === \"Error\")\r\n return conditionTargetA.type.category === \"Error\" && conditionTargetB.type.category === \"Error\" ? 0 :\r\n conditionTargetA.type.category === \"Error\" ? -1 : 1;\r\n else\r\n return 0;\r\n };\r\n SourcePathAdapter.prototype.clearInvalidOptions = function (allowedValues) {\r\n var property = this.property;\r\n var value = this.value;\r\n if (allowedValues) {\r\n // Remove option values that are no longer valid\r\n if (value instanceof Array) {\r\n var array = value;\r\n array.batchUpdate(function (array) {\r\n // From the `purge()` function in ExoWeb...\r\n for (var i = 0; i < array.length; i++) {\r\n var item = array[i];\r\n if (allowedValues.indexOf(item) < 0) {\r\n array.splice(i--, 1);\r\n }\r\n }\r\n });\r\n }\r\n else if (value !== null && allowedValues.indexOf(value) < 0) {\r\n property.value(this.parent.value, null);\r\n }\r\n }\r\n else if (value instanceof Array) {\r\n value.splice(0, value.length);\r\n }\r\n else if (value !== null) {\r\n property.value(this.parent.value, null);\r\n }\r\n };\r\n SourcePathAdapter.prototype.ensureObservable = function (value) {\r\n if (Array.isArray(value)) {\r\n if (model_js_5.ObservableArray.isObservableArray(value)) {\r\n vue_model_observability_1.observeArray(value).ensureObservable();\r\n }\r\n for (var i = 0; i < value.length; i++) {\r\n var item = value[i];\r\n if (item instanceof model_js_1.Entity) {\r\n vue_model_observability_1.observeEntity(item).ensureObservable();\r\n }\r\n }\r\n }\r\n else if (value instanceof model_js_1.Entity) {\r\n vue_model_observability_1.observeEntity(value).ensureObservable();\r\n }\r\n return value;\r\n };\r\n SourcePathAdapter.prototype.toString = function () {\r\n return \"Source['\" + this.source + \"']\";\r\n };\r\n __decorate([\r\n vue_property_decorator_1.Prop(String)\r\n ], SourcePathAdapter.prototype, \"source\", void 0);\r\n __decorate([\r\n vue_property_decorator_1.Prop(Object)\r\n ], SourcePathAdapter.prototype, \"overrides\", void 0);\r\n SourcePathAdapter = __decorate([\r\n vue_property_decorator_1.Component\r\n ], SourcePathAdapter);\r\n return SourcePathAdapter;\r\n}(vue_1.default));\r\nexports.SourcePathAdapter = SourcePathAdapter;\r\nfunction formatDisplayValue(adapter, value) {\r\n var displayValue;\r\n var property = adapter.property;\r\n if (value === null || value === undefined) {\r\n displayValue = \"\";\r\n }\r\n else if (property.format != null) {\r\n // Use a markup or property format if available\r\n if (Array.isArray(value)) {\r\n var array = value;\r\n displayValue = array.map(function (item) { return property.format.convert(item); });\r\n }\r\n else {\r\n displayValue = property.format.convert(value);\r\n }\r\n }\r\n else if (Array.isArray(value)) {\r\n // If no format exists, then fall back to toString\r\n var array = value;\r\n displayValue = array.map(function (item) {\r\n if (value === null || value === undefined) {\r\n return \"\";\r\n }\r\n else {\r\n return item.toString();\r\n }\r\n });\r\n }\r\n else {\r\n displayValue = value.toString();\r\n }\r\n displayValue = Array.isArray(displayValue) ? displayValue.join(\", \") : displayValue;\r\n return displayValue;\r\n}\r\nexports.formatDisplayValue = formatDisplayValue;\r\n"],"sourceRoot":""}