@socotra/ec-react-utils 2.2.5-alpha.2 → 2.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.umd.js","sources":["../lib/utils/data-model-to-JSON-schema.ts","../lib/utils/get-account-request.ts","../lib/utils/get-quote-element-request.ts","../../../node_modules/.pnpm/dayjs@1.11.11/node_modules/dayjs/dayjs.min.js","../lib/utils/get-quote-request.ts","../lib/utils/parse-element-type-and-scope-by-element-type.ts","../lib/utils/retrieve-element-from-quote-by-locator.ts","../lib/utils/retrieve-data-model-from-element.ts","../lib/utils/transform-errors.ts","../lib/utils/get-default-quote-values.ts","../lib/utils/extract-element-from-quote.ts","../lib/utils/extract-product-data-model.ts","../lib/utils/split-input-and-quantifier.ts","../lib/utils/extract-product-elements.ts","../lib/utils/extract-element-data-model.ts"],"sourcesContent":["import { JsonSchema7 } from '@jsonforms/core';\nimport {\n\tAccountResponse,\n\tDataTypeConfigRecord,\n\tElementResponse,\n\tFieldConfigRecord,\n\tQuoteResponse,\n} from '@socotra/ec-react-schemas';\n\ninterface DataModelToJsonSchemaProps {\n\tdata: FieldConfigRecord;\n\tdataTypes?: DataTypeConfigRecord;\n\tscope: 'P' | 'Q';\n\trootDisplayName: string;\n\taccount?: AccountResponse;\n\tquote?: QuoteResponse;\n\telement?: ElementResponse;\n}\n\nexport const dataModelToJSONSchema = (args: DataModelToJsonSchemaProps) => {\n\tconst { data, scope, dataTypes, rootDisplayName, account, quote, element } =\n\t\targs;\n\n\tconst requiredFields: string[] = [];\n\tlet definitions = {};\n\tconst properties = Object.fromEntries(\n\t\tObject.entries(data ?? {})\n\t\t\t.filter(([, value]) => {\n\t\t\t\tconst dataScope = value.scope?.split(',').map((s) => s.trim());\n\n\t\t\t\tif (!dataScope) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\tif (\n\t\t\t\t\t(scope === 'P' && dataScope?.includes('P')) ||\n\t\t\t\t\tdataScope?.includes('Q')\n\t\t\t\t) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\tif (scope === 'Q' && dataScope?.includes('Q')) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t})\n\t\t\t.map(([key, value]) => {\n\t\t\t\tlet isOptional = false;\n\t\t\t\tlet isArray = false;\n\t\t\t\tlet isCustomDataType = false;\n\t\t\t\tconst displayName = value.displayName ?? key;\n\t\t\t\tconst quantifier = value.type?.slice(-1);\n\t\t\t\tconst maxLength = value.maxLength;\n\t\t\t\tconst minLength = value.minLength;\n\t\t\t\tconst max = value.max;\n\t\t\t\tconst min = value.min;\n\t\t\t\tconst regex = value.regex;\n\t\t\t\tlet type: string = value.type ?? '';\n\t\t\t\tlet format: string | undefined;\n\n\t\t\t\tswitch (quantifier) {\n\t\t\t\t\tcase '*':\n\t\t\t\t\t\tisArray = true;\n\t\t\t\t\t\tisOptional = true;\n\t\t\t\t\t\ttype = type?.split('*')[0];\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase '?':\n\t\t\t\t\t\ttype = type?.split('?')[0];\n\t\t\t\t\t\tisOptional = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase '+':\n\t\t\t\t\t\tisArray = true;\n\t\t\t\t\t\ttype = type?.split('+')[0];\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase '!':\n\t\t\t\t\t\ttype = type?.split('!')[0];\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tswitch (type) {\n\t\t\t\t\t// fields can be either 'string', 'int', 'long', 'decimal', 'dateTime', 'date', 'boolean' in kernel\n\t\t\t\t\t// JSON schema supports 'string', 'integer', 'number', 'boolean', 'null'\n\t\t\t\t\tcase 'string':\n\t\t\t\t\t\ttype = 'string';\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'int':\n\t\t\t\t\tcase 'long':\n\t\t\t\t\t\ttype = 'integer';\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'decimal':\n\t\t\t\t\t\ttype = 'number';\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'dateTime':\n\t\t\t\t\tcase 'datetime':\n\t\t\t\t\t\ttype = 'string';\n\t\t\t\t\t\tformat = 'date-time';\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'date':\n\t\t\t\t\t\ttype = 'string';\n\t\t\t\t\t\tformat = 'date';\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'boolean':\n\t\t\t\t\tcase 'bool':\n\t\t\t\t\t\ttype = 'boolean';\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tisCustomDataType = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tif (!isOptional && !isCustomDataType && !isArray) {\n\t\t\t\t\trequiredFields.push(key);\n\t\t\t\t}\n\n\t\t\t\tif (isCustomDataType) {\n\t\t\t\t\tconst customDataType = dataTypes?.[type];\n\t\t\t\t\tif (customDataType) {\n\t\t\t\t\t\tlet defaultValues = isArray ? [] : {};\n\t\t\t\t\t\tconst referenceSchema = dataModelToJSONSchema({\n\t\t\t\t\t\t\tdata: customDataType.data ?? {},\n\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\tdataTypes,\n\t\t\t\t\t\t\trootDisplayName: customDataType.displayName ?? key,\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\t// find any preset quote or account data for this custom data type\n\t\t\t\t\t\tif (quote) {\n\t\t\t\t\t\t\tif (quote.element?.data?.[key]) {\n\t\t\t\t\t\t\t\tdefaultValues = quote.element?.data?.[key];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (element) {\n\t\t\t\t\t\t\tif (element?.data?.[key]) {\n\t\t\t\t\t\t\t\tdefaultValues = element?.data?.[key];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (account) {\n\t\t\t\t\t\t\tif (account?.data?.[key]) {\n\t\t\t\t\t\t\t\tdefaultValues = account?.data?.[key];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdefinitions = {\n\t\t\t\t\t\t\t...definitions,\n\t\t\t\t\t\t\t[`${type}`]: referenceSchema,\n\t\t\t\t\t\t};\n\t\t\t\t\t\tif (isArray) {\n\t\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ttitle: customDataType.displayName ?? key,\n\t\t\t\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\t\t\t\tdefault: defaultValues,\n\t\t\t\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\t\t\t\t['$ref']: `#/definitions/${type}`,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t...(!isOptional && { minItems: 1 }),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttitle: customDataType.displayName ?? key,\n\t\t\t\t\t\t\t\tdefault: defaultValues,\n\t\t\t\t\t\t\t\t['$ref']: `#/definitions/${type}`,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tlet defaultValue: string | boolean | object | undefined = '';\n\n\t\t\t\tif (account) {\n\t\t\t\t\t// An account in draft state will always have keys in the same casing as the data model\n\t\t\t\t\t// An account in validated state will have keys in camelCase, so we need to convert the keys to match the way the kernel sets them\n\t\t\t\t\tconst dataKey =\n\t\t\t\t\t\taccount?.state === 'validated'\n\t\t\t\t\t\t\t? key.charAt(0).toLowerCase() + key.slice(1)\n\t\t\t\t\t\t\t: key;\n\n\t\t\t\t\tdefaultValue = account?.data?.[dataKey]\n\t\t\t\t\t\t? account?.data?.[dataKey]\n\t\t\t\t\t\t: type === 'boolean'\n\t\t\t\t\t\t\t? Boolean(value.defaultValue)\n\t\t\t\t\t\t\t: value.defaultValue;\n\t\t\t\t}\n\n\t\t\t\tif (quote) {\n\t\t\t\t\tdefaultValue = quote.element?.data?.[key]\n\t\t\t\t\t\t? quote.element?.data?.[key]\n\t\t\t\t\t\t: type === 'boolean'\n\t\t\t\t\t\t\t? Boolean(value.defaultValue)\n\t\t\t\t\t\t\t: value.defaultValue;\n\t\t\t\t}\n\n\t\t\t\tif (element) {\n\t\t\t\t\tdefaultValue = element?.data?.[key]\n\t\t\t\t\t\t? element?.data?.[key]\n\t\t\t\t\t\t: type === 'boolean'\n\t\t\t\t\t\t\t? Boolean(value.defaultValue)\n\t\t\t\t\t\t\t: value.defaultValue;\n\t\t\t\t}\n\n\t\t\t\tif (isArray) {\n\t\t\t\t\t// if the field is an array, we need to set the type to 'array' and set the items to the type of the array\n\t\t\t\t\treturn [\n\t\t\t\t\t\tkey,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttitle: displayName,\n\t\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\t\tdefault: defaultValue,\n\t\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\t\ttype,\n\t\t\t\t\t\t\t\t...(maxLength && { maxLength }),\n\t\t\t\t\t\t\t\t...(minLength && { minLength }),\n\t\t\t\t\t\t\t\t...(min && { min }),\n\t\t\t\t\t\t\t\t...(max && { max }),\n\t\t\t\t\t\t\t\t...(format && { format }),\n\t\t\t\t\t\t\t\t...(regex && { pattern: value.regex }),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t...(!isOptional && { minItems: 1 }),\n\t\t\t\t\t\t},\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\tconst property = [\n\t\t\t\t\tkey,\n\t\t\t\t\t{\n\t\t\t\t\t\ttitle: displayName,\n\t\t\t\t\t\ttype,\n\t\t\t\t\t\t...(defaultValue && { default: defaultValue }),\n\t\t\t\t\t\t...(minLength && { minLength }),\n\t\t\t\t\t\t...(maxLength && { maxLength }),\n\t\t\t\t\t\t...(min && { minimum: parseInt(min) }),\n\t\t\t\t\t\t...(max && { maximum: parseInt(max) }),\n\t\t\t\t\t\t...(format && { format }),\n\t\t\t\t\t\t...(value.options && { enum: value.options }),\n\t\t\t\t\t\t...(regex && { pattern: value.regex }),\n\t\t\t\t\t},\n\t\t\t\t];\n\t\t\t\treturn property;\n\t\t\t}),\n\t);\n\n\tconst schema: JsonSchema7 = {\n\t\ttitle: rootDisplayName,\n\t\ttype: 'object',\n\t\tdefinitions,\n\t\trequired: requiredFields,\n\t\tproperties,\n\t};\n\n\treturn schema;\n};\n","import { AccountRequest } from '@socotra/ec-react-schemas';\n\nexport const getAccountRequest = (formData: TODO): AccountRequest => {\n\tconst autoValidate = formData.autoValidate;\n\tconst delinquencyPlanName = formData.delinquencyPlanName;\n\tconst type = formData.accountType;\n\n\t// filter out the accountType, autoValidate, and delinquencyPlanName\n\tconst data = Object.keys(formData).reduce(\n\t\t(acc, key) => {\n\t\t\tif (\n\t\t\t\tkey !== 'accountType' &&\n\t\t\t\tkey !== 'autoValidate' &&\n\t\t\t\tkey !== 'delinquencyPlanName'\n\t\t\t) {\n\t\t\t\tacc[key] = formData[key];\n\t\t\t}\n\t\t\treturn acc;\n\t\t},\n\t\t{} as { [key: string]: object },\n\t);\n\n\tconst request = {\n\t\tautoValidate,\n\t\tdelinquencyPlanName,\n\t\ttype,\n\t\tdata,\n\t};\n\n\treturn request;\n};\n","import { ElementRequest, QuoteRequest } from '@socotra/ec-react-schemas';\n\ntype GetQuoteElementRequestAttributes = {\n\tformData: { [key: string]: unknown };\n\tlocator: string;\n};\n\nexport const getQuoteElementRequest = ({\n\tformData,\n\tlocator,\n}: GetQuoteElementRequestAttributes): QuoteRequest => {\n\tconst elementRequest: ElementRequest = {\n\t\tlocator,\n\t\tsetData: formData,\n\t};\n\n\tconst request: QuoteRequest = {\n\t\telements: [elementRequest],\n\t};\n\n\treturn request;\n};\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},g=\"en\",D={};D[g]=M;var p=\"$isDayjsObject\",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v=\"set\"+(this.$u?\"UTC\":\"\");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+\"Hours\",0);case u:return $(v+\"Minutes\",1);case s:return $(v+\"Seconds\",2);case i:return $(v+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f=\"set\"+(this.$u?\"UTC\":\"\"),l=(n={},n[a]=f+\"Date\",n[d]=f+\"Date\",n[c]=f+\"Month\",n[h]=f+\"FullYear\",n[u]=f+\"Hours\",n[s]=f+\"Minutes\",n[i]=f+\"Seconds\",n[r]=f+\"Milliseconds\",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,\"0\")},$=f||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case\"YY\":return String(e.$y).slice(-2);case\"YYYY\":return b.s(e.$y,4,\"0\");case\"M\":return a+1;case\"MM\":return b.s(a+1,2,\"0\");case\"MMM\":return h(n.monthsShort,a,c,3);case\"MMMM\":return h(c,a);case\"D\":return e.$D;case\"DD\":return b.s(e.$D,2,\"0\");case\"d\":return String(e.$W);case\"dd\":return h(n.weekdaysMin,e.$W,o,2);case\"ddd\":return h(n.weekdaysShort,e.$W,o,3);case\"dddd\":return o[e.$W];case\"H\":return String(s);case\"HH\":return b.s(s,2,\"0\");case\"h\":return d(1);case\"hh\":return d(2);case\"a\":return $(s,u,!0);case\"A\":return $(s,u,!1);case\"m\":return String(u);case\"mm\":return b.s(u,2,\"0\");case\"s\":return String(e.$s);case\"ss\":return b.s(e.$s,2,\"0\");case\"SSS\":return b.s(e.$ms,3,\"0\");case\"Z\":return i}return null}(t)||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",c],[\"$y\",h],[\"$D\",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));","import { QuoteRequest } from '@socotra/ec-react-schemas';\nimport dayjs from 'dayjs';\n\ninterface QuoteFormData {\n\tdata: {\n\t\tdefault?: {\n\t\t\tstartTime?: string;\n\t\t\tendTime?: string;\n\t\t\texpirationTime?: string;\n\t\t};\n\t\tadvanced?: {\n\t\t\tcurrency?: string;\n\t\t\ttimezone?: string;\n\t\t\tbillingPlan?: string;\n\t\t\tdefaultTermDuration?: string;\n\t\t\tinstallmentPlan?: string;\n\t\t\tdurationBasis?: string;\n\t\t\tdelinquencyPlanName?: string;\n\t\t};\n\t\t[key: string]: any;\n\t};\n}\n\nexport const getQuoteRequest = ({ data }: QuoteFormData): QuoteRequest => {\n\tconst request: QuoteRequest = {};\n\n\t// copy formData into a new object\n\tconst formData = { ...data };\n\n\tif (formData.default) {\n\t\tif (formData.default.startTime) {\n\t\t\trequest.startTime = dayjs(formData.default.startTime).format();\n\t\t}\n\t\tif (formData.default.endTime) {\n\t\t\trequest.endTime = dayjs(formData.default.endTime).format();\n\t\t}\n\t\tif (formData.default.expirationTime) {\n\t\t\trequest.expirationTime = dayjs(formData.default.expirationTime).format();\n\t\t}\n\t}\n\n\tif (formData.advanced) {\n\t\tif (formData.advanced.currency) {\n\t\t\trequest.currency = formData.advanced.currency;\n\t\t}\n\t\tif (formData.advanced.timezone) {\n\t\t\trequest.timezone = formData.advanced.timezone;\n\t\t}\n\t\tif (formData.advanced.billingPlan) {\n\t\t\trequest.billingPlan = formData.advanced.billingPlan;\n\t\t}\n\t\tif (formData.advanced.defaultTermDuration) {\n\t\t\trequest.defaultTermDuration = formData.advanced.defaultTermDuration;\n\t\t}\n\t\tif (formData.advanced.installmentPlan) {\n\t\t\trequest.installmentPlan = formData.advanced.installmentPlan;\n\t\t}\n\t\tif (formData.advanced.durationBasis) {\n\t\t\trequest.durationBasis = formData.advanced.durationBasis;\n\t\t}\n\t\tif (formData.advanced.delinquencyPlanName) {\n\t\t\trequest.delinquencyPlanName = formData.advanced.delinquencyPlanName;\n\t\t}\n\t}\n\n\tdelete formData.default;\n\tdelete formData.advanced;\n\n\trequest.setData = formData;\n\n\treturn request;\n};\n","/**\n * Takes an element type and splits the postfix scope from the base model name. E.g., 'PersonalAutoQuote' becomes ['PersonalAuto', 'Quote']\n * @param elementType The element type to parse, e.g. `element.type` from an `ElementResponse`\n * @returns [elementName: string, scope: 'Quote' | 'QuickQuote' | 'Policy' | null]\n */\nexport const parseElementTypeAndScopeByElementType = (\n\telementType: string,\n): [elementName: string, scope: 'Quote' | 'QuickQuote' | 'Policy' | null] => {\n\tconst regex = /^(.*?)(Quote|QuickQuote|Policy)$/;\n\tconst match = elementType.match(regex);\n\tif (\n\t\tmatch &&\n\t\t(match[2] === 'Quote' || match[2] === 'QuickQuote' || match[2] === 'Policy')\n\t) {\n\t\treturn [match[1], match[2]]; // match[1] is the base model name, match[2] is the scope\n\t}\n\n\t// Return the original key and null for the scope if no match found\n\treturn [elementType, null];\n};\n","import { ElementResponse } from '@socotra/ec-react-schemas';\n\n/**\n * Takes the root element of a quote and a locator and returns the element with the matching locator\n * @param quoteElement The root element from the QuoteResponse\n * @param locator The locator of the element to retrieve\n * @returns ElementResponse | undefined\n */\nexport function retrieveElementFromQuoteByLocator(\n\tquoteElement: ElementResponse,\n\tlocator: string,\n): ElementResponse | undefined {\n\tif (quoteElement.locator === locator) {\n\t\treturn quoteElement;\n\t}\n\n\tif (quoteElement.elements) {\n\t\tfor (const element of quoteElement.elements) {\n\t\t\tconst foundElement = retrieveElementFromQuoteByLocator(element, locator);\n\t\t\tif (foundElement) {\n\t\t\t\treturn foundElement;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn undefined;\n}\n","import {\n\tDataModel,\n\tElementConfig,\n\tElementResponse,\n} from '@socotra/ec-react-schemas';\n\nimport { parseElementTypeAndScopeByElementType } from './parse-element-type-and-scope-by-element-type';\n\n/**\n * Looks through a data model for a matching element type and returns the element model\n * @param element The element to retrieve the data model for\n * @param dataModel The full resolved data model to search\n * @returns ElementConfig\n */\nexport function retrieveDataModelFromElement(\n\telement: ElementResponse,\n\tdataModel: DataModel,\n) {\n\tconst [elementType] = parseElementTypeAndScopeByElementType(\n\t\telement.type ?? '',\n\t);\n\n\tlet elementModel: ElementConfig = {};\n\n\t// Look in exposures\n\tif (dataModel.exposures) {\n\t\tObject.keys(dataModel.exposures).forEach((exposureName) => {\n\t\t\tif (exposureName === elementType && dataModel.exposures) {\n\t\t\t\telementModel = dataModel.exposures[exposureName];\n\t\t\t}\n\t\t});\n\t}\n\n\t// Look in coverages\n\tif (dataModel.coverages) {\n\t\tObject.keys(dataModel.coverages).forEach((coverageName) => {\n\t\t\tif (coverageName === elementType && dataModel.coverages) {\n\t\t\t\telementModel = dataModel.coverages[coverageName];\n\t\t\t}\n\t\t});\n\t}\n\n\t// Look in policyLines\n\tif (dataModel.policyLines) {\n\t\tObject.keys(dataModel.policyLines).forEach((policyLineName) => {\n\t\t\tif (policyLineName === elementType && dataModel.policyLines) {\n\t\t\t\telementModel = dataModel.policyLines[policyLineName];\n\t\t\t}\n\t\t});\n\t}\n\n\t// look in ExposureGroups\n\tif (dataModel.exposureGroups) {\n\t\tObject.keys(dataModel.exposureGroups).forEach((exposureGroupName) => {\n\t\t\tif (exposureGroupName === elementType && dataModel.exposureGroups) {\n\t\t\t\telementModel = dataModel.exposureGroups[exposureGroupName];\n\t\t\t}\n\t\t});\n\t}\n\n\treturn elementModel;\n}\n","import { ErrorObject } from 'ajv';\n\nexport function transformErrors(\n\terrors:\n\t\t| ErrorObject<string, Record<string, any>, unknown>[]\n\t\t| null\n\t\t| undefined,\n) {\n\treturn errors?.map((error) => {\n\t\tif (error.keyword === 'pattern') {\n\t\t\terror.message = `Invalid format, must match pattern ${error.params.pattern}`;\n\t\t}\n\t\tif (error.keyword === 'format') {\n\t\t\terror.message = 'Invalid format';\n\t\t}\n\t\tif (error.keyword === 'required') {\n\t\t\terror.message = 'Required';\n\t\t}\n\t\tif (error.keyword === 'minItems') {\n\t\t\terror.message = `Must have at least ${error.params.limit} item${\n\t\t\t\terror.params.limit !== 1 ? 's' : ''\n\t\t\t}`;\n\t\t}\n\t\tif (error.keyword === 'maxItems') {\n\t\t\terror.message = `Must have at most ${error.params.limit} item${\n\t\t\t\terror.params.limit !== 1 ? 's' : ''\n\t\t\t}`;\n\t\t}\n\t\tif (error.keyword === 'type') {\n\t\t\terror.message = 'Invalid format';\n\t\t}\n\t\tif (error.keyword === 'maxLength') {\n\t\t\terror.message = `Must be at most ${error.params.limit} character${\n\t\t\t\terror.params.limit !== 1 ? 's' : ''\n\t\t\t}`;\n\t\t}\n\t\tif (error.keyword === 'minLength') {\n\t\t\terror.message = `Must be at least ${error.params.limit} character${\n\t\t\t\terror.params.limit !== 1 ? 's' : ''\n\t\t\t}`;\n\t\t}\n\t\tif (error.keyword === 'minimum') {\n\t\t\terror.message = `Must be greater than or equal to ${error.params.limit}`;\n\t\t}\n\t\tif (error.keyword === 'maximum') {\n\t\t\terror.message = `Must be less than or equal to ${error.params.limit}`;\n\t\t}\n\t\tif (error.keyword === 'enum') {\n\t\t\terror.message = 'Invalid value';\n\t\t}\n\t\treturn error;\n\t});\n}\n","import { QuoteResponse } from '@socotra/ec-react-schemas';\nimport dayjs from 'dayjs';\n\nexport const getDefaultValues = (quote: QuoteResponse) => {\n\treturn {\n\t\t...(quote?.element?.data && {\n\t\t\t...quote?.element?.data,\n\t\t}),\n\t\tdefault: {\n\t\t\t// set date to yyyy-MM-dd format if it exists\n\t\t\t...(quote?.startTime && {\n\t\t\t\t...{\n\t\t\t\t\tstartTime: dayjs(quote.startTime).format('YYYY-MM-DD'),\n\t\t\t\t},\n\t\t\t}),\n\t\t\t...(quote?.endTime && {\n\t\t\t\t...{\n\t\t\t\t\tendTime: dayjs(quote.endTime).format('YYYY-MM-DD'),\n\t\t\t\t},\n\t\t\t}),\n\t\t\t...(quote?.expirationTime && {\n\t\t\t\t...{\n\t\t\t\t\texpirationTime: dayjs(quote.expirationTime).format('YYYY-MM-DD'),\n\t\t\t\t},\n\t\t\t}),\n\t\t},\n\t\tadvanced: {\n\t\t\tcurrency: quote?.currency ?? undefined,\n\t\t\ttimezone: quote?.timezone ?? undefined,\n\t\t\tbillingPlan:\n\t\t\t\tquote?.preferences?.billingPreferences?.billingPlanName ?? undefined,\n\t\t\tinstallmentPlan:\n\t\t\t\tquote?.preferences?.installmentPreferences?.installmentPlanName ??\n\t\t\t\tundefined,\n\t\t\tdurationBasis: quote?.durationBasis ?? undefined,\n\t\t\tdelinquencyPlanName: quote?.delinquencyPlanName ?? undefined,\n\t\t},\n\t};\n};\n","import { ElementResponse, QuoteResponse } from '@socotra/ec-react-schemas';\n\nconst findElementInElementArray = (\n\telements: ElementResponse[],\n\telementLocator: string,\n): ElementResponse | false => {\n\tfor (const element of elements) {\n\t\tif (element.locator === elementLocator) {\n\t\t\treturn element;\n\t\t}\n\n\t\tconst foundElement = findElementInElementArray(\n\t\t\telement.elements ?? [],\n\t\t\telementLocator,\n\t\t);\n\t\tif (foundElement) {\n\t\t\treturn foundElement;\n\t\t}\n\t}\n\n\treturn false;\n};\n\nexport const extractElementFromQuote = (\n\tquote: QuoteResponse,\n\telementLocator: string,\n) => {\n\tif (quote.element?.locator === elementLocator) {\n\t\treturn quote.element;\n\t}\n\n\treturn findElementInElementArray(\n\t\tquote.element?.elements ?? [],\n\t\telementLocator,\n\t);\n};\n","import {\n\tDataModel,\n\tProductConfig,\n\tProductConfigRecord,\n} from '@socotra/ec-react-schemas';\n\nexport const extractProductDataModel = ({\n\tdataModel,\n\telement: { productName },\n}: {\n\telement: {\n\t\tproductName: string;\n\t};\n\tdataModel: DataModel;\n}): ProductConfig => {\n\tconst currProductDataModel =\n\t\tdataModel.products[productName as keyof ProductConfigRecord] ?? {};\n\n\treturn currProductDataModel;\n};\n","import { Quantifiers } from '@socotra/ec-react-schemas';\n\nexport const splitInputAndQuantifier = (input: string | undefined) => {\n\tinput = input ?? '';\n\tconst name = input.replace(/\\?|\\*|!|\\+/g, '');\n\tconst quantifier = input.match(/\\?|\\*|!|\\+/g)?.pop() as\n\t\t| Quantifiers\n\t\t| undefined;\n\treturn {\n\t\tname,\n\t\tquantifier: quantifier ?? '',\n\t};\n};\n","import {\n\tDataModel,\n\tElementConfig,\n\tProductConfig,\n} from '@socotra/ec-react-schemas';\n\nimport { splitInputAndQuantifier } from './split-input-and-quantifier';\n\ntype ProductElement = Record<string, ElementConfig>;\n\nexport interface ProductElementMap {\n\tcoverages: ProductElement;\n\texposures: ProductElement;\n\tpolicyLines: ProductElement;\n\texposureGroups: ProductElement;\n}\n\nexport const extractProductElements = ({\n\tdataModel,\n\tproductDataModel,\n}: {\n\tdataModel: DataModel;\n\tproductDataModel: ProductConfig;\n}): ProductElementMap => {\n\tconst dataModelExposures = dataModel.exposures ?? {};\n\tconst dataModelCoverages = dataModel.coverages ?? {};\n\tconst dataModelPolicyLines = dataModel.policyLines ?? {};\n\tconst dataModelExposureGroups = dataModel.exposureGroups ?? {};\n\tconst currProductModelElements = productDataModel.contents ?? [];\n\tconst currProductModelElementsWithoutQuantifiers =\n\t\tcurrProductModelElements.map((element) => {\n\t\t\tconst { name } = splitInputAndQuantifier(element);\n\t\t\treturn name;\n\t\t});\n\n\tconst availableExposureKeys = Object.keys(dataModelExposures).filter(\n\t\t(exposure) => {\n\t\t\treturn currProductModelElementsWithoutQuantifiers.includes(exposure);\n\t\t},\n\t);\n\n\tconst availableCoverageKeys = Object.keys(dataModelCoverages).filter(\n\t\t(coverage) => {\n\t\t\treturn currProductModelElementsWithoutQuantifiers.includes(coverage);\n\t\t},\n\t);\n\n\tconst availablePolicyLineKeys = Object.keys(dataModelPolicyLines).filter(\n\t\t(policyLine) => {\n\t\t\treturn currProductModelElementsWithoutQuantifiers.includes(policyLine);\n\t\t},\n\t);\n\n\tconst availableExposureGroupKeys = Object.keys(\n\t\tdataModelExposureGroups,\n\t).filter((exposureGroup) => {\n\t\treturn currProductModelElementsWithoutQuantifiers.includes(exposureGroup);\n\t});\n\n\tconst elementModels: ProductElementMap = {\n\t\tcoverages: {},\n\t\texposures: {},\n\t\tpolicyLines: {},\n\t\texposureGroups: {},\n\t};\n\n\tfor (const key of availableExposureKeys) {\n\t\telementModels.exposures[key] = dataModelExposures[key];\n\t}\n\n\tfor (const key of availableCoverageKeys) {\n\t\telementModels.coverages[key] = dataModelCoverages[key];\n\t}\n\n\tfor (const key of availablePolicyLineKeys) {\n\t\telementModels.policyLines[key] = dataModelPolicyLines[key];\n\t}\n\n\tfor (const key of availableExposureGroupKeys) {\n\t\telementModels.exposureGroups[key] = dataModelExposureGroups[key];\n\t}\n\n\treturn elementModels;\n};\n","import {\n\tDataModel,\n\tElementConfig,\n\tQuoteResponse,\n} from '@socotra/ec-react-schemas';\n\nimport { extractElementFromQuote } from './extract-element-from-quote';\nimport { extractProductDataModel } from './extract-product-data-model';\nimport { extractProductElements } from './extract-product-elements';\n\nexport const extractElementDataModel = ({\n\tdataModel,\n\tquote,\n\telementLocator,\n}: {\n\tquote: QuoteResponse;\n\tdataModel: DataModel;\n\telementLocator: string;\n}): ElementConfig | false => {\n\tconst element = extractElementFromQuote(quote, elementLocator);\n\n\tif (!element) {\n\t\treturn {};\n\t}\n\n\tconst productDataModel = extractProductDataModel({\n\t\telement: quote,\n\t\tdataModel,\n\t});\n\n\tconst productElements = extractProductElements({\n\t\tdataModel,\n\t\tproductDataModel,\n\t});\n\n\tlet elementDataModel: ElementConfig | false = false;\n\n\t// elements on a quote have type {elementType}Quote, we have to split this\n\tconst elementType = element.type.split('Quote')[0];\n\n\t// Check exposures\n\tObject.keys(productElements.exposures).forEach((exposureKey) => {\n\t\tif (exposureKey === elementType) {\n\t\t\telementDataModel = productElements.exposures[exposureKey];\n\t\t}\n\t});\n\n\t// Check coverages\n\tif (!elementDataModel) {\n\t\tObject.keys(productElements.coverages).forEach((coverageKey) => {\n\t\t\tif (coverageKey === elementType) {\n\t\t\t\telementDataModel = productElements.coverages[coverageKey];\n\t\t\t}\n\t\t});\n\t}\n\n\t// Check policyLines\n\tif (!elementDataModel) {\n\t\tObject.keys(productElements.policyLines).forEach((policyLineKey) => {\n\t\t\tif (policyLineKey === elementType) {\n\t\t\t\telementDataModel = productElements.policyLines[policyLineKey];\n\t\t\t}\n\t\t});\n\t}\n\n\t// Check exposureGroups\n\tif (!elementDataModel) {\n\t\tObject.keys(productElements.exposureGroups).forEach((exposureGroupKey) => {\n\t\t\tif (exposureGroupKey === elementType) {\n\t\t\t\telementDataModel = productElements.exposureGroups[exposureGroupKey];\n\t\t\t}\n\t\t});\n\t}\n\n\treturn elementDataModel;\n};\n"],"names":["dataModelToJSONSchema","args","data","scope","dataTypes","rootDisplayName","account","quote","element","requiredFields","definitions","properties","value","dataScope","_a","s","key","isOptional","isArray","isCustomDataType","displayName","quantifier","maxLength","minLength","max","min","regex","type","format","customDataType","defaultValues","referenceSchema","_c","_b","_e","_d","_f","_g","_h","_i","defaultValue","dataKey","_j","_k","_m","_l","_o","_n","_p","_q","getAccountRequest","formData","autoValidate","delinquencyPlanName","acc","getQuoteElementRequest","locator","t","e","module","this","n","r","i","u","a","o","c","f","h","d","l","$","y","M","m","v","g","D","p","S","_","w","O","b","k","getQuoteRequest","request","dayjs","parseElementTypeAndScopeByElementType","elementType","match","retrieveElementFromQuoteByLocator","quoteElement","foundElement","retrieveDataModelFromElement","dataModel","elementModel","exposureName","coverageName","policyLineName","exposureGroupName","transformErrors","errors","error","getDefaultValues","findElementInElementArray","elements","elementLocator","extractElementFromQuote","extractProductDataModel","productName","splitInputAndQuantifier","input","name","extractProductElements","productDataModel","dataModelExposures","dataModelCoverages","dataModelPolicyLines","dataModelExposureGroups","currProductModelElementsWithoutQuantifiers","availableExposureKeys","exposure","availableCoverageKeys","coverage","availablePolicyLineKeys","policyLine","availableExposureGroupKeys","exposureGroup","elementModels","extractElementDataModel","productElements","elementDataModel","exposureKey","coverageKey","policyLineKey","exposureGroupKey"],"mappings":"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","x_google_ignoreList":[3]}
1
+ {"version":3,"file":"index.umd.js","sources":["../lib/utils/data-model-to-JSON-schema.ts","../lib/utils/get-quote-element-request.ts","../../../node_modules/.pnpm/dayjs@1.11.12/node_modules/dayjs/dayjs.min.js","../lib/utils/get-quote-request.ts","../lib/utils/parse-element-type-and-scope-by-element-type.ts","../lib/utils/retrieve-element-from-quote-by-locator.ts","../lib/utils/retrieve-data-model-from-element.ts","../lib/utils/transform-errors.ts","../lib/utils/get-default-quote-values.ts","../lib/utils/get-default-element-values.ts","../lib/utils/extract-element-from-quote.ts","../lib/utils/extract-product-data-model.ts","../lib/utils/split-input-and-quantifier.ts","../lib/utils/extract-product-elements.ts","../lib/utils/extract-element-data-model.ts"],"sourcesContent":["import { JsonSchema7 } from '@jsonforms/core';\nimport {\n\tAccountResponse,\n\tDataTypeConfigRecord,\n\tElementResponse,\n\tFieldConfigRecord,\n\tQuoteResponse,\n} from '@socotra/ec-react-schemas';\n\ninterface DataModelToJsonSchemaProps {\n\tdata: FieldConfigRecord;\n\tdataTypes?: DataTypeConfigRecord;\n\tscope: 'P' | 'Q';\n\trootDisplayName: string;\n\taccount?: AccountResponse;\n\tquote?: QuoteResponse;\n\telement?: ElementResponse;\n}\n\nexport const dataModelToJSONSchema = (args: DataModelToJsonSchemaProps) => {\n\tconst { data, scope, dataTypes, rootDisplayName, account, quote, element } =\n\t\targs;\n\n\tconst requiredFields: string[] = [];\n\tlet definitions = {};\n\tconst properties = Object.fromEntries(\n\t\tObject.entries(data ?? {})\n\t\t\t.filter(([, value]) => {\n\t\t\t\tconst dataScope = value.scope?.split(',').map((s) => s.trim());\n\n\t\t\t\tif (!dataScope) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\tif (\n\t\t\t\t\t(scope === 'P' && dataScope?.includes('P')) ||\n\t\t\t\t\tdataScope?.includes('Q')\n\t\t\t\t) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\tif (scope === 'Q' && dataScope?.includes('Q')) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t})\n\t\t\t.map(([key, value]) => {\n\t\t\t\tlet isOptional = false;\n\t\t\t\tlet isArray = false;\n\t\t\t\tlet isCustomDataType = false;\n\t\t\t\tconst displayName = value.displayName ?? key;\n\t\t\t\tconst quantifier = value.type?.slice(-1);\n\t\t\t\tconst maxLength = value.maxLength;\n\t\t\t\tconst minLength = value.minLength;\n\t\t\t\tconst max = value.max;\n\t\t\t\tconst min = value.min;\n\t\t\t\tconst regex = value.regex;\n\t\t\t\tlet type: string = value.type ?? '';\n\t\t\t\tlet format: string | undefined;\n\n\t\t\t\tswitch (quantifier) {\n\t\t\t\t\tcase '*':\n\t\t\t\t\t\tisArray = true;\n\t\t\t\t\t\tisOptional = true;\n\t\t\t\t\t\ttype = type?.split('*')[0];\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase '?':\n\t\t\t\t\t\ttype = type?.split('?')[0];\n\t\t\t\t\t\tisOptional = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase '+':\n\t\t\t\t\t\tisArray = true;\n\t\t\t\t\t\ttype = type?.split('+')[0];\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase '!':\n\t\t\t\t\t\ttype = type?.split('!')[0];\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tswitch (type) {\n\t\t\t\t\t// fields can be either 'string', 'int', 'long', 'decimal', 'dateTime', 'date', 'boolean' in kernel\n\t\t\t\t\t// JSON schema supports 'string', 'integer', 'number', 'boolean', 'null'\n\t\t\t\t\tcase 'string':\n\t\t\t\t\t\ttype = 'string';\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'int':\n\t\t\t\t\tcase 'long':\n\t\t\t\t\t\ttype = 'integer';\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'decimal':\n\t\t\t\t\t\ttype = 'number';\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'dateTime':\n\t\t\t\t\tcase 'datetime':\n\t\t\t\t\t\ttype = 'string';\n\t\t\t\t\t\tformat = 'date-time';\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'date':\n\t\t\t\t\t\ttype = 'string';\n\t\t\t\t\t\tformat = 'date';\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'boolean':\n\t\t\t\t\tcase 'bool':\n\t\t\t\t\t\ttype = 'boolean';\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tisCustomDataType = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tif (!isOptional && !isCustomDataType && !isArray) {\n\t\t\t\t\trequiredFields.push(key);\n\t\t\t\t}\n\n\t\t\t\tif (isCustomDataType) {\n\t\t\t\t\tconst customDataType = dataTypes?.[type];\n\t\t\t\t\tif (customDataType) {\n\t\t\t\t\t\tlet defaultValues = isArray ? [] : {};\n\t\t\t\t\t\tconst referenceSchema = dataModelToJSONSchema({\n\t\t\t\t\t\t\tdata: customDataType.data ?? {},\n\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\tdataTypes,\n\t\t\t\t\t\t\trootDisplayName: customDataType.displayName ?? key,\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\t// find any preset quote or account data for this custom data type\n\t\t\t\t\t\tif (quote) {\n\t\t\t\t\t\t\tif (quote.element?.data?.[key]) {\n\t\t\t\t\t\t\t\tdefaultValues = quote.element?.data?.[key];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (element) {\n\t\t\t\t\t\t\tif (element?.data?.[key]) {\n\t\t\t\t\t\t\t\tdefaultValues = element?.data?.[key];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (account) {\n\t\t\t\t\t\t\tif (account?.data?.[key]) {\n\t\t\t\t\t\t\t\tdefaultValues = account?.data?.[key];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdefinitions = {\n\t\t\t\t\t\t\t...definitions,\n\t\t\t\t\t\t\t[`${type}`]: referenceSchema,\n\t\t\t\t\t\t};\n\t\t\t\t\t\tif (isArray) {\n\t\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ttitle: customDataType.displayName ?? key,\n\t\t\t\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\t\t\t\tdefault: defaultValues,\n\t\t\t\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\t\t\t\t['$ref']: `#/definitions/${type}`,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t...(!isOptional && { minItems: 1 }),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttitle: customDataType.displayName ?? key,\n\t\t\t\t\t\t\t\tdefault: defaultValues,\n\t\t\t\t\t\t\t\t['$ref']: `#/definitions/${type}`,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tlet defaultValue: string | boolean | object | undefined = '';\n\n\t\t\t\tif (account) {\n\t\t\t\t\t// An account in draft state will always have keys in the same casing as the data model\n\t\t\t\t\t// An account in validated state will have keys in camelCase, so we need to convert the keys to match the way the kernel sets them\n\t\t\t\t\tconst dataKey =\n\t\t\t\t\t\taccount?.state === 'validated'\n\t\t\t\t\t\t\t? key.charAt(0).toLowerCase() + key.slice(1)\n\t\t\t\t\t\t\t: key;\n\n\t\t\t\t\tdefaultValue = account?.data?.[dataKey]\n\t\t\t\t\t\t? account?.data?.[dataKey]\n\t\t\t\t\t\t: type === 'boolean'\n\t\t\t\t\t\t\t? Boolean(value.defaultValue)\n\t\t\t\t\t\t\t: value.defaultValue;\n\t\t\t\t}\n\n\t\t\t\tif (quote) {\n\t\t\t\t\tdefaultValue = quote.element?.data?.[key]\n\t\t\t\t\t\t? quote.element?.data?.[key]\n\t\t\t\t\t\t: type === 'boolean'\n\t\t\t\t\t\t\t? Boolean(value.defaultValue)\n\t\t\t\t\t\t\t: value.defaultValue;\n\t\t\t\t}\n\n\t\t\t\tif (element) {\n\t\t\t\t\tdefaultValue = element?.data?.[key]\n\t\t\t\t\t\t? element?.data?.[key]\n\t\t\t\t\t\t: type === 'boolean'\n\t\t\t\t\t\t\t? Boolean(value.defaultValue)\n\t\t\t\t\t\t\t: value.defaultValue;\n\t\t\t\t}\n\n\t\t\t\tif (isArray) {\n\t\t\t\t\t// if the field is an array, we need to set the type to 'array' and set the items to the type of the array\n\t\t\t\t\treturn [\n\t\t\t\t\t\tkey,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttitle: displayName,\n\t\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\t\tdefault: defaultValue,\n\t\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\t\ttype,\n\t\t\t\t\t\t\t\t...(maxLength && { maxLength }),\n\t\t\t\t\t\t\t\t...(minLength && { minLength }),\n\t\t\t\t\t\t\t\t...(min && { min }),\n\t\t\t\t\t\t\t\t...(max && { max }),\n\t\t\t\t\t\t\t\t...(format && { format }),\n\t\t\t\t\t\t\t\t...(regex && { pattern: value.regex }),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t...(!isOptional && { minItems: 1 }),\n\t\t\t\t\t\t},\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\tconst property = [\n\t\t\t\t\tkey,\n\t\t\t\t\t{\n\t\t\t\t\t\ttitle: displayName,\n\t\t\t\t\t\ttype,\n\t\t\t\t\t\t...(defaultValue && { default: defaultValue }),\n\t\t\t\t\t\t...(minLength && { minLength }),\n\t\t\t\t\t\t...(maxLength && { maxLength }),\n\t\t\t\t\t\t...(min && { minimum: parseInt(min) }),\n\t\t\t\t\t\t...(max && { maximum: parseInt(max) }),\n\t\t\t\t\t\t...(format && { format }),\n\t\t\t\t\t\t...(value.options && { enum: value.options }),\n\t\t\t\t\t\t...(regex && { pattern: value.regex }),\n\t\t\t\t\t},\n\t\t\t\t];\n\t\t\t\treturn property;\n\t\t\t}),\n\t);\n\n\tconst schema: JsonSchema7 = {\n\t\ttitle: rootDisplayName,\n\t\ttype: 'object',\n\t\tdefinitions,\n\t\trequired: requiredFields,\n\t\tproperties,\n\t};\n\n\treturn schema;\n};\n","import { ElementRequest, QuoteRequest } from '@socotra/ec-react-schemas';\n\ntype GetQuoteElementRequestAttributes = {\n\tformData: { [key: string]: unknown };\n\tlocator: string;\n};\n\nexport const getQuoteElementRequest = ({\n\tformData,\n\tlocator,\n}: GetQuoteElementRequestAttributes): QuoteRequest => {\n\tconst elementRequest: ElementRequest = {\n\t\tlocator,\n\t\tsetData: formData,\n\t};\n\n\tconst request: QuoteRequest = {\n\t\telements: [elementRequest],\n\t};\n\n\treturn request;\n};\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},g=\"en\",D={};D[g]=M;var p=\"$isDayjsObject\",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v=\"set\"+(this.$u?\"UTC\":\"\");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+\"Hours\",0);case u:return $(v+\"Minutes\",1);case s:return $(v+\"Seconds\",2);case i:return $(v+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f=\"set\"+(this.$u?\"UTC\":\"\"),l=(n={},n[a]=f+\"Date\",n[d]=f+\"Date\",n[c]=f+\"Month\",n[h]=f+\"FullYear\",n[u]=f+\"Hours\",n[s]=f+\"Minutes\",n[i]=f+\"Seconds\",n[r]=f+\"Milliseconds\",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,\"0\")},$=f||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case\"YY\":return String(e.$y).slice(-2);case\"YYYY\":return b.s(e.$y,4,\"0\");case\"M\":return a+1;case\"MM\":return b.s(a+1,2,\"0\");case\"MMM\":return h(n.monthsShort,a,c,3);case\"MMMM\":return h(c,a);case\"D\":return e.$D;case\"DD\":return b.s(e.$D,2,\"0\");case\"d\":return String(e.$W);case\"dd\":return h(n.weekdaysMin,e.$W,o,2);case\"ddd\":return h(n.weekdaysShort,e.$W,o,3);case\"dddd\":return o[e.$W];case\"H\":return String(s);case\"HH\":return b.s(s,2,\"0\");case\"h\":return d(1);case\"hh\":return d(2);case\"a\":return $(s,u,!0);case\"A\":return $(s,u,!1);case\"m\":return String(u);case\"mm\":return b.s(u,2,\"0\");case\"s\":return String(e.$s);case\"ss\":return b.s(e.$s,2,\"0\");case\"SSS\":return b.s(e.$ms,3,\"0\");case\"Z\":return i}return null}(t)||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",c],[\"$y\",h],[\"$D\",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));","import { QuoteRequest } from '@socotra/ec-react-schemas';\nimport dayjs from 'dayjs';\n\ninterface QuoteFormData {\n\tdata: {\n\t\tdefault?: {\n\t\t\tstartTime?: string;\n\t\t\tendTime?: string;\n\t\t\texpirationTime?: string;\n\t\t};\n\t\tadvanced?: {\n\t\t\tcurrency?: string;\n\t\t\ttimezone?: string;\n\t\t\tbillingPlan?: string;\n\t\t\tdefaultTermDuration?: string;\n\t\t\tinstallmentPlan?: string;\n\t\t\tdurationBasis?: string;\n\t\t\tdelinquencyPlanName?: string;\n\t\t};\n\t\t[key: string]: any;\n\t};\n}\n\nexport const getQuoteRequest = ({ data }: QuoteFormData): QuoteRequest => {\n\tconst request: QuoteRequest = {};\n\n\t// copy formData into a new object\n\tconst formData = { ...data };\n\n\tif (formData.default) {\n\t\tif (formData.default.startTime) {\n\t\t\trequest.startTime = dayjs(formData.default.startTime).format();\n\t\t}\n\t\tif (formData.default.endTime) {\n\t\t\trequest.endTime = dayjs(formData.default.endTime).format();\n\t\t}\n\t\tif (formData.default.expirationTime) {\n\t\t\trequest.expirationTime = dayjs(formData.default.expirationTime).format();\n\t\t}\n\t}\n\n\tif (formData.advanced) {\n\t\tif (formData.advanced.currency) {\n\t\t\trequest.currency = formData.advanced.currency;\n\t\t}\n\t\tif (formData.advanced.timezone) {\n\t\t\trequest.timezone = formData.advanced.timezone;\n\t\t}\n\t\tif (formData.advanced.billingPlan) {\n\t\t\trequest.billingPlan = formData.advanced.billingPlan;\n\t\t}\n\t\tif (formData.advanced.defaultTermDuration) {\n\t\t\trequest.defaultTermDuration = formData.advanced.defaultTermDuration;\n\t\t}\n\t\tif (formData.advanced.installmentPlan) {\n\t\t\trequest.installmentPlan = formData.advanced.installmentPlan;\n\t\t}\n\t\tif (formData.advanced.durationBasis) {\n\t\t\trequest.durationBasis = formData.advanced.durationBasis;\n\t\t}\n\t\tif (formData.advanced.delinquencyPlanName) {\n\t\t\trequest.delinquencyPlanName = formData.advanced.delinquencyPlanName;\n\t\t}\n\t}\n\n\tdelete formData.default;\n\tdelete formData.advanced;\n\n\trequest.setData = formData;\n\n\treturn request;\n};\n","/**\n * Takes an element type and splits the postfix scope from the base model name. E.g., 'PersonalAutoQuote' becomes ['PersonalAuto', 'Quote']\n * @param elementType The element type to parse, e.g. `element.type` from an `ElementResponse`\n * @returns [elementName: string, scope: 'Quote' | 'QuickQuote' | 'Policy' | null]\n */\nexport const parseElementTypeAndScopeByElementType = (\n\telementType: string,\n): [elementName: string, scope: 'Quote' | 'QuickQuote' | 'Policy' | null] => {\n\tconst regex = /^(.*?)(Quote|QuickQuote|Policy)$/;\n\tconst match = elementType.match(regex);\n\tif (\n\t\tmatch &&\n\t\t(match[2] === 'Quote' || match[2] === 'QuickQuote' || match[2] === 'Policy')\n\t) {\n\t\treturn [match[1], match[2]]; // match[1] is the base model name, match[2] is the scope\n\t}\n\n\t// Return the original key and null for the scope if no match found\n\treturn [elementType, null];\n};\n","import { ElementResponse } from '@socotra/ec-react-schemas';\n\n/**\n * Takes the root element of a quote and a locator and returns the element with the matching locator\n * @param quoteElement The root element from the QuoteResponse\n * @param locator The locator of the element to retrieve\n * @returns ElementResponse | undefined\n */\nexport function retrieveElementFromQuoteByLocator(\n\tquoteElement: ElementResponse,\n\tlocator: string,\n): ElementResponse | undefined {\n\tif (quoteElement.locator === locator) {\n\t\treturn quoteElement;\n\t}\n\n\tif (quoteElement.elements) {\n\t\tfor (const element of quoteElement.elements) {\n\t\t\tconst foundElement = retrieveElementFromQuoteByLocator(element, locator);\n\t\t\tif (foundElement) {\n\t\t\t\treturn foundElement;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn undefined;\n}\n","import {\n\tDataModel,\n\tElementConfig,\n\tElementResponse,\n} from '@socotra/ec-react-schemas';\n\nimport { parseElementTypeAndScopeByElementType } from './parse-element-type-and-scope-by-element-type';\n\n/**\n * Looks through a data model for a matching element type and returns the element model\n * @param element The element to retrieve the data model for\n * @param dataModel The full resolved data model to search\n * @returns ElementConfig\n */\nexport function retrieveDataModelFromElement(\n\telement: ElementResponse,\n\tdataModel: DataModel,\n) {\n\tconst [elementType] = parseElementTypeAndScopeByElementType(\n\t\telement.type ?? '',\n\t);\n\n\tlet elementModel: ElementConfig = {};\n\n\t// Look in exposures\n\tif (dataModel.exposures) {\n\t\tObject.keys(dataModel.exposures).forEach((exposureName) => {\n\t\t\tif (exposureName === elementType && dataModel.exposures) {\n\t\t\t\telementModel = dataModel.exposures[exposureName];\n\t\t\t}\n\t\t});\n\t}\n\n\t// Look in coverages\n\tif (dataModel.coverages) {\n\t\tObject.keys(dataModel.coverages).forEach((coverageName) => {\n\t\t\tif (coverageName === elementType && dataModel.coverages) {\n\t\t\t\telementModel = dataModel.coverages[coverageName];\n\t\t\t}\n\t\t});\n\t}\n\n\t// Look in policyLines\n\tif (dataModel.policyLines) {\n\t\tObject.keys(dataModel.policyLines).forEach((policyLineName) => {\n\t\t\tif (policyLineName === elementType && dataModel.policyLines) {\n\t\t\t\telementModel = dataModel.policyLines[policyLineName];\n\t\t\t}\n\t\t});\n\t}\n\n\t// look in ExposureGroups\n\tif (dataModel.exposureGroups) {\n\t\tObject.keys(dataModel.exposureGroups).forEach((exposureGroupName) => {\n\t\t\tif (exposureGroupName === elementType && dataModel.exposureGroups) {\n\t\t\t\telementModel = dataModel.exposureGroups[exposureGroupName];\n\t\t\t}\n\t\t});\n\t}\n\n\treturn elementModel;\n}\n","import { ErrorObject } from 'ajv';\n\nexport function transformErrors(\n\terrors:\n\t\t| ErrorObject<string, Record<string, any>, unknown>[]\n\t\t| null\n\t\t| undefined,\n) {\n\treturn errors?.map((error) => {\n\t\tif (error.keyword === 'pattern') {\n\t\t\terror.message = `Invalid format, must match pattern ${error.params.pattern}`;\n\t\t}\n\t\tif (error.keyword === 'format') {\n\t\t\terror.message = 'Invalid format';\n\t\t}\n\t\tif (error.keyword === 'required') {\n\t\t\terror.message = 'Required';\n\t\t}\n\t\tif (error.keyword === 'minItems') {\n\t\t\terror.message = `Must have at least ${error.params.limit} item${\n\t\t\t\terror.params.limit !== 1 ? 's' : ''\n\t\t\t}`;\n\t\t}\n\t\tif (error.keyword === 'maxItems') {\n\t\t\terror.message = `Must have at most ${error.params.limit} item${\n\t\t\t\terror.params.limit !== 1 ? 's' : ''\n\t\t\t}`;\n\t\t}\n\t\tif (error.keyword === 'type') {\n\t\t\terror.message = 'Invalid format';\n\t\t}\n\t\tif (error.keyword === 'maxLength') {\n\t\t\terror.message = `Must be at most ${error.params.limit} character${\n\t\t\t\terror.params.limit !== 1 ? 's' : ''\n\t\t\t}`;\n\t\t}\n\t\tif (error.keyword === 'minLength') {\n\t\t\terror.message = `Must be at least ${error.params.limit} character${\n\t\t\t\terror.params.limit !== 1 ? 's' : ''\n\t\t\t}`;\n\t\t}\n\t\tif (error.keyword === 'minimum') {\n\t\t\terror.message = `Must be greater than or equal to ${error.params.limit}`;\n\t\t}\n\t\tif (error.keyword === 'maximum') {\n\t\t\terror.message = `Must be less than or equal to ${error.params.limit}`;\n\t\t}\n\t\tif (error.keyword === 'enum') {\n\t\t\terror.message = 'Invalid value';\n\t\t}\n\t\treturn error;\n\t});\n}\n","import { QuoteResponse } from '@socotra/ec-react-schemas';\nimport dayjs from 'dayjs';\n\nexport const getDefaultQuoteValues = (quote: QuoteResponse) => {\n\treturn {\n\t\t...(quote?.element?.data && {\n\t\t\t...quote?.element?.data,\n\t\t}),\n\t\tdefault: {\n\t\t\t// set date to yyyy-MM-dd format if it exists\n\t\t\t...(quote?.startTime && {\n\t\t\t\t...{\n\t\t\t\t\tstartTime: dayjs(quote.startTime).format('YYYY-MM-DD'),\n\t\t\t\t},\n\t\t\t}),\n\t\t\t...(quote?.endTime && {\n\t\t\t\t...{\n\t\t\t\t\tendTime: dayjs(quote.endTime).format('YYYY-MM-DD'),\n\t\t\t\t},\n\t\t\t}),\n\t\t\t...(quote?.expirationTime && {\n\t\t\t\t...{\n\t\t\t\t\texpirationTime: dayjs(quote.expirationTime).format('YYYY-MM-DD'),\n\t\t\t\t},\n\t\t\t}),\n\t\t},\n\t\tadvanced: {\n\t\t\tcurrency: quote?.currency ?? undefined,\n\t\t\ttimezone: quote?.timezone ?? undefined,\n\t\t\tbillingPlan:\n\t\t\t\tquote?.preferences?.billingPreferences?.billingPlanName ?? undefined,\n\t\t\tinstallmentPlan:\n\t\t\t\tquote?.preferences?.installmentPreferences?.installmentPlanName ??\n\t\t\t\tundefined,\n\t\t\tdurationBasis: quote?.durationBasis ?? undefined,\n\t\t\tdelinquencyPlanName: quote?.delinquencyPlanName ?? undefined,\n\t\t},\n\t};\n};\n","import { ElementResponse } from '@socotra/ec-react-schemas';\n\nexport const getDefaultElementValues = (\n\telement: ElementResponse,\n): Partial<ElementResponse> => {\n\treturn {\n\t\t...element.data,\n\t\tcoverageTerms: element.coverageTerms ?? {},\n\t};\n};\n","import { ElementResponse, QuoteResponse } from '@socotra/ec-react-schemas';\n\nconst findElementInElementArray = (\n\telements: ElementResponse[],\n\telementLocator: string,\n): ElementResponse | false => {\n\tfor (const element of elements) {\n\t\tif (element.locator === elementLocator) {\n\t\t\treturn element;\n\t\t}\n\n\t\tconst foundElement = findElementInElementArray(\n\t\t\telement.elements ?? [],\n\t\t\telementLocator,\n\t\t);\n\t\tif (foundElement) {\n\t\t\treturn foundElement;\n\t\t}\n\t}\n\n\treturn false;\n};\n\nexport const extractElementFromQuote = (\n\tquote: QuoteResponse,\n\telementLocator: string,\n) => {\n\tif (quote.element?.locator === elementLocator) {\n\t\treturn quote.element;\n\t}\n\n\treturn findElementInElementArray(\n\t\tquote.element?.elements ?? [],\n\t\telementLocator,\n\t);\n};\n","import {\n\tDataModel,\n\tProductConfig,\n\tProductConfigRecord,\n} from '@socotra/ec-react-schemas';\n\nexport const extractProductDataModel = ({\n\tdataModel,\n\telement: { productName },\n}: {\n\telement: {\n\t\tproductName: string;\n\t};\n\tdataModel: DataModel;\n}): ProductConfig => {\n\tconst currProductDataModel =\n\t\tdataModel.products[productName as keyof ProductConfigRecord] ?? {};\n\n\treturn currProductDataModel;\n};\n","import { Quantifiers } from '@socotra/ec-react-schemas';\n\nexport const splitInputAndQuantifier = (input: string | undefined) => {\n\tinput = input ?? '';\n\tconst name = input.replace(/\\?|\\*|!|\\+/g, '');\n\tconst quantifier = input.match(/\\?|\\*|!|\\+/g)?.pop() as\n\t\t| Quantifiers\n\t\t| undefined;\n\treturn {\n\t\tname,\n\t\tquantifier: quantifier ?? '',\n\t};\n};\n","import {\n\tDataModel,\n\tElementConfig,\n\tProductConfig,\n} from '@socotra/ec-react-schemas';\n\nimport { splitInputAndQuantifier } from './split-input-and-quantifier';\n\ntype ProductElement = Record<string, ElementConfig>;\n\nexport interface ProductElementMap {\n\tcoverages: ProductElement;\n\texposures: ProductElement;\n\tpolicyLines: ProductElement;\n\texposureGroups: ProductElement;\n}\n\nexport const extractProductElements = ({\n\tdataModel,\n\tproductDataModel,\n}: {\n\tdataModel: DataModel;\n\tproductDataModel: ProductConfig;\n}): ProductElementMap => {\n\tconst dataModelExposures = dataModel.exposures ?? {};\n\tconst dataModelCoverages = dataModel.coverages ?? {};\n\tconst dataModelPolicyLines = dataModel.policyLines ?? {};\n\tconst dataModelExposureGroups = dataModel.exposureGroups ?? {};\n\tconst currProductModelElements = productDataModel.contents ?? [];\n\tconst currProductModelElementsWithoutQuantifiers =\n\t\tcurrProductModelElements.map((element) => {\n\t\t\tconst { name } = splitInputAndQuantifier(element);\n\t\t\treturn name;\n\t\t});\n\n\tconst availableExposureKeys = Object.keys(dataModelExposures).filter(\n\t\t(exposure) => {\n\t\t\treturn currProductModelElementsWithoutQuantifiers.includes(exposure);\n\t\t},\n\t);\n\n\tconst availableCoverageKeys = Object.keys(dataModelCoverages).filter(\n\t\t(coverage) => {\n\t\t\treturn currProductModelElementsWithoutQuantifiers.includes(coverage);\n\t\t},\n\t);\n\n\tconst availablePolicyLineKeys = Object.keys(dataModelPolicyLines).filter(\n\t\t(policyLine) => {\n\t\t\treturn currProductModelElementsWithoutQuantifiers.includes(policyLine);\n\t\t},\n\t);\n\n\tconst availableExposureGroupKeys = Object.keys(\n\t\tdataModelExposureGroups,\n\t).filter((exposureGroup) => {\n\t\treturn currProductModelElementsWithoutQuantifiers.includes(exposureGroup);\n\t});\n\n\tconst elementModels: ProductElementMap = {\n\t\tcoverages: {},\n\t\texposures: {},\n\t\tpolicyLines: {},\n\t\texposureGroups: {},\n\t};\n\n\tfor (const key of availableExposureKeys) {\n\t\telementModels.exposures[key] = dataModelExposures[key];\n\t}\n\n\tfor (const key of availableCoverageKeys) {\n\t\telementModels.coverages[key] = dataModelCoverages[key];\n\t}\n\n\tfor (const key of availablePolicyLineKeys) {\n\t\telementModels.policyLines[key] = dataModelPolicyLines[key];\n\t}\n\n\tfor (const key of availableExposureGroupKeys) {\n\t\telementModels.exposureGroups[key] = dataModelExposureGroups[key];\n\t}\n\n\treturn elementModels;\n};\n","import {\n\tDataModel,\n\tElementConfig,\n\tQuoteResponse,\n} from '@socotra/ec-react-schemas';\n\nimport { extractElementFromQuote } from './extract-element-from-quote';\nimport { extractProductDataModel } from './extract-product-data-model';\nimport { extractProductElements } from './extract-product-elements';\n\nexport const extractElementDataModel = ({\n\tdataModel,\n\tquote,\n\telementLocator,\n}: {\n\tquote: QuoteResponse;\n\tdataModel: DataModel;\n\telementLocator: string;\n}): ElementConfig | false => {\n\tconst element = extractElementFromQuote(quote, elementLocator);\n\n\tif (!element) {\n\t\treturn {};\n\t}\n\n\tconst productDataModel = extractProductDataModel({\n\t\telement: quote,\n\t\tdataModel,\n\t});\n\n\tconst productElements = extractProductElements({\n\t\tdataModel,\n\t\tproductDataModel,\n\t});\n\n\tlet elementDataModel: ElementConfig | false = false;\n\n\t// elements on a quote have type {elementType}Quote, we have to split this\n\tconst elementType = element.type.split('Quote')[0];\n\n\t// Check exposures\n\tObject.keys(productElements.exposures).forEach((exposureKey) => {\n\t\tif (exposureKey === elementType) {\n\t\t\telementDataModel = productElements.exposures[exposureKey];\n\t\t}\n\t});\n\n\t// Check coverages\n\tif (!elementDataModel) {\n\t\tObject.keys(productElements.coverages).forEach((coverageKey) => {\n\t\t\tif (coverageKey === elementType) {\n\t\t\t\telementDataModel = productElements.coverages[coverageKey];\n\t\t\t}\n\t\t});\n\t}\n\n\t// Check policyLines\n\tif (!elementDataModel) {\n\t\tObject.keys(productElements.policyLines).forEach((policyLineKey) => {\n\t\t\tif (policyLineKey === elementType) {\n\t\t\t\telementDataModel = productElements.policyLines[policyLineKey];\n\t\t\t}\n\t\t});\n\t}\n\n\t// Check exposureGroups\n\tif (!elementDataModel) {\n\t\tObject.keys(productElements.exposureGroups).forEach((exposureGroupKey) => {\n\t\t\tif (exposureGroupKey === elementType) {\n\t\t\t\telementDataModel = productElements.exposureGroups[exposureGroupKey];\n\t\t\t}\n\t\t});\n\t}\n\n\treturn elementDataModel;\n};\n"],"names":["dataModelToJSONSchema","args","data","scope","dataTypes","rootDisplayName","account","quote","element","requiredFields","definitions","properties","value","dataScope","_a","s","key","isOptional","isArray","isCustomDataType","displayName","quantifier","maxLength","minLength","max","min","regex","type","format","customDataType","defaultValues","referenceSchema","_c","_b","_e","_d","_f","_g","_h","_i","defaultValue","dataKey","_j","_k","_m","_l","_o","_n","_p","_q","getQuoteElementRequest","formData","locator","t","e","module","this","n","r","i","u","a","o","c","f","h","d","l","$","y","M","m","v","g","D","p","S","_","w","O","b","k","getQuoteRequest","request","dayjs","parseElementTypeAndScopeByElementType","elementType","match","retrieveElementFromQuoteByLocator","quoteElement","foundElement","retrieveDataModelFromElement","dataModel","elementModel","exposureName","coverageName","policyLineName","exposureGroupName","transformErrors","errors","error","getDefaultQuoteValues","getDefaultElementValues","findElementInElementArray","elements","elementLocator","extractElementFromQuote","extractProductDataModel","productName","splitInputAndQuantifier","input","name","extractProductElements","productDataModel","dataModelExposures","dataModelCoverages","dataModelPolicyLines","dataModelExposureGroups","currProductModelElementsWithoutQuantifiers","availableExposureKeys","exposure","availableCoverageKeys","coverage","availablePolicyLineKeys","policyLine","availableExposureGroupKeys","exposureGroup","elementModels","extractElementDataModel","productElements","elementDataModel","exposureKey","coverageKey","policyLineKey","exposureGroupKey"],"mappings":"+NAmBa,MAAAA,EAAyBC,GAAqC,CACpE,KAAA,CAAE,KAAAC,EAAM,MAAAC,EAAO,UAAAC,EAAW,gBAAAC,EAAiB,QAAAC,EAAS,MAAAC,EAAO,QAAAC,CAChE,EAAAP,EAEKQ,EAA2B,CAAA,EACjC,IAAIC,EAAc,CAAA,EAClB,MAAMC,EAAa,OAAO,YACzB,OAAO,QAAQT,GAAQ,CAAA,CAAE,EACvB,OAAO,CAAC,CAAG,CAAAU,CAAK,IAAM,OAChB,MAAAC,GAAYC,EAAAF,EAAM,QAAN,YAAAE,EAAa,MAAM,KAAK,IAAKC,GAAMA,EAAE,KAAM,GAW7D,MATI,IAACF,GAIHV,IAAU,MAAOU,GAAA,MAAAA,EAAW,SAAS,OACtCA,GAAA,MAAAA,EAAW,SAAS,MAIjBV,IAAU,MAAOU,GAAA,MAAAA,EAAW,SAAS,MAIzC,CAAA,EACA,IAAI,CAAC,CAACG,EAAKJ,CAAK,IAAM,uCACtB,IAAIK,EAAa,GACbC,EAAU,GACVC,EAAmB,GACjB,MAAAC,EAAcR,EAAM,aAAeI,EACnCK,GAAaP,EAAAF,EAAM,OAAN,YAAAE,EAAY,MAAM,IAC/BQ,EAAYV,EAAM,UAClBW,EAAYX,EAAM,UAClBY,EAAMZ,EAAM,IACZa,EAAMb,EAAM,IACZc,EAAQd,EAAM,MAChB,IAAAe,EAAef,EAAM,MAAQ,GAC7BgB,EAEJ,OAAQP,EAAY,CACnB,IAAK,IACMH,EAAA,GACGD,EAAA,GACbU,EAAOA,GAAA,YAAAA,EAAM,MAAM,KAAK,GACxB,MACD,IAAK,IACJA,EAAOA,GAAA,YAAAA,EAAM,MAAM,KAAK,GACXV,EAAA,GACb,MACD,IAAK,IACMC,EAAA,GACVS,EAAOA,GAAA,YAAAA,EAAM,MAAM,KAAK,GACxB,MACD,IAAK,IACJA,EAAOA,GAAA,YAAAA,EAAM,MAAM,KAAK,GACxB,KAGF,CAEA,OAAQA,EAAM,CAGb,IAAK,SACGA,EAAA,SACP,MACD,IAAK,MACL,IAAK,OACGA,EAAA,UACP,MACD,IAAK,UACGA,EAAA,SACP,MACD,IAAK,WACL,IAAK,WACGA,EAAA,SACEC,EAAA,YACT,MACD,IAAK,OACGD,EAAA,SACEC,EAAA,OACT,MACD,IAAK,UACL,IAAK,OACGD,EAAA,UACP,MACD,QACoBR,EAAA,GACnB,KACF,CAMA,GAJI,CAACF,GAAc,CAACE,GAAoB,CAACD,GACxCT,EAAe,KAAKO,CAAG,EAGpBG,EAAkB,CACf,MAAAU,EAAiBzB,GAAA,YAAAA,EAAYuB,GACnC,GAAIE,EAAgB,CACnB,IAAIC,EAAgBZ,EAAU,CAAC,EAAI,GACnC,MAAMa,EAAkB/B,EAAsB,CAC7C,KAAM6B,EAAe,MAAQ,CAAC,EAC9B,MAAA1B,EACA,UAAAC,EACA,gBAAiByB,EAAe,aAAeb,CAAA,CAC/C,EAsBD,OAnBIT,IACCyB,GAAAC,EAAA1B,EAAM,UAAN,YAAA0B,EAAe,OAAf,MAAAD,EAAsBhB,KACTc,GAAAI,GAAAC,EAAA5B,EAAM,UAAN,YAAA4B,EAAe,OAAf,YAAAD,EAAsBlB,IAGpCR,IACC4B,EAAA5B,GAAA,YAAAA,EAAS,OAAT,MAAA4B,EAAgBpB,KACHc,GAAAO,EAAA7B,GAAA,YAAAA,EAAS,OAAT,YAAA6B,EAAgBrB,IAG9BV,IACCgC,EAAAhC,GAAA,YAAAA,EAAS,OAAT,MAAAgC,EAAgBtB,KACHc,GAAAS,EAAAjC,GAAA,YAAAA,EAAS,OAAT,YAAAiC,EAAgBvB,IAGpBN,EAAA,CACb,GAAGA,EACH,CAAC,GAAGiB,CAAI,EAAE,EAAGI,CAAA,EAEVb,EACI,CACNF,EACA,CACC,MAAOa,EAAe,aAAeb,EACrC,KAAM,QACN,QAASc,EACT,MAAO,CACL,KAAS,iBAAiBH,CAAI,EAChC,EACA,GAAI,CAACV,GAAc,CAAE,SAAU,CAAE,CAClC,CAAA,EAGK,CACND,EACA,CACC,MAAOa,EAAe,aAAeb,EACrC,QAASc,EACR,KAAS,iBAAiBH,CAAI,EAChC,CAAA,CAEF,CACD,CAEA,IAAIa,EAAsD,GAE1D,GAAIlC,EAAS,CAGZ,MAAMmC,GACLnC,GAAA,YAAAA,EAAS,SAAU,YAChBU,EAAI,OAAO,CAAC,EAAE,YAAY,EAAIA,EAAI,MAAM,CAAC,EACzCA,EAEJwB,GAAeE,EAAApC,GAAA,YAAAA,EAAS,OAAT,MAAAoC,EAAgBD,IAC5BE,EAAArC,GAAA,YAAAA,EAAS,OAAT,YAAAqC,EAAgBF,GAChBd,IAAS,UACR,EAAQf,EAAM,aACdA,EAAM,YACX,CAkBA,OAhBIL,IACHiC,GAAeI,GAAAC,EAAAtC,EAAM,UAAN,YAAAsC,EAAe,OAAf,MAAAD,EAAsB5B,IAClC8B,GAAAC,EAAAxC,EAAM,UAAN,YAAAwC,EAAe,OAAf,YAAAD,EAAsB9B,GACtBW,IAAS,UACR,EAAQf,EAAM,aACdA,EAAM,cAGPJ,IACHgC,GAAeQ,EAAAxC,GAAA,YAAAA,EAAS,OAAT,MAAAwC,EAAgBhC,IAC5BiC,EAAAzC,GAAA,YAAAA,EAAS,OAAT,YAAAyC,EAAgBjC,GAChBW,IAAS,UACR,EAAQf,EAAM,aACdA,EAAM,cAGPM,EAEI,CACNF,EACA,CACC,MAAOI,EACP,KAAM,QACN,QAASoB,EACT,MAAO,CACN,KAAAb,EACA,GAAIL,GAAa,CAAE,UAAAA,CAAU,EAC7B,GAAIC,GAAa,CAAE,UAAAA,CAAU,EAC7B,GAAIE,GAAO,CAAE,IAAAA,CAAI,EACjB,GAAID,GAAO,CAAE,IAAAA,CAAI,EACjB,GAAII,GAAU,CAAE,OAAAA,CAAO,EACvB,GAAIF,GAAS,CAAE,QAASd,EAAM,KAAM,CACrC,EACA,GAAI,CAACK,GAAc,CAAE,SAAU,CAAE,CAClC,CAAA,EAIe,CAChBD,EACA,CACC,MAAOI,EACP,KAAAO,EACA,GAAIa,GAAgB,CAAE,QAASA,CAAa,EAC5C,GAAIjB,GAAa,CAAE,UAAAA,CAAU,EAC7B,GAAID,GAAa,CAAE,UAAAA,CAAU,EAC7B,GAAIG,GAAO,CAAE,QAAS,SAASA,CAAG,CAAE,EACpC,GAAID,GAAO,CAAE,QAAS,SAASA,CAAG,CAAE,EACpC,GAAII,GAAU,CAAE,OAAAA,CAAO,EACvB,GAAIhB,EAAM,SAAW,CAAE,KAAMA,EAAM,OAAQ,EAC3C,GAAIc,GAAS,CAAE,QAASd,EAAM,KAAM,CACrC,CAAA,CAEM,CACP,CAAA,EAWI,MARqB,CAC3B,MAAOP,EACP,KAAM,SACN,YAAAK,EACA,SAAUD,EACV,WAAAE,CAAA,CAIF,ECtPauC,GAAyB,CAAC,CACtC,SAAAC,EACA,QAAAC,CACD,KAM+B,CAC7B,SAAU,CAN4B,CACtC,QAAAA,EACA,QAASD,CAAA,CAIgB,CAAA,6PCjB1B,SAASE,EAAEC,EAAE,CAAsDC,UAAeD,EAAmH,CAAA,GAAEE,GAAM,UAAU,CAAc,IAAIH,EAAE,IAAIC,EAAE,IAAIG,EAAE,KAAKC,EAAE,cAAcC,EAAE,SAAS5C,EAAE,SAAS6C,EAAE,OAAOC,EAAE,MAAMC,EAAE,OAAOC,EAAE,QAAQC,EAAE,UAAUC,EAAE,OAAOC,EAAE,OAAOC,EAAE,eAAeC,EAAE,6FAA6FC,EAAE,sFAAsFC,EAAE,CAAC,KAAK,KAAK,SAAS,2DAA2D,MAAM,GAAG,EAAE,OAAO,wFAAwF,MAAM,GAAG,EAAE,QAAQ,SAASjB,EAAE,CAAC,IAAIC,EAAE,CAAC,KAAK,KAAK,KAAK,IAAI,EAAE,EAAED,EAAE,IAAI,MAAM,IAAIA,GAAGC,GAAG,EAAE,IAAI,EAAE,GAAGA,EAAE,CAAC,GAAGA,EAAE,CAAC,GAAG,GAAG,CAAC,EAAEiB,EAAE,SAASlB,EAAEC,EAAE,EAAE,CAAC,IAAII,EAAE,OAAOL,CAAC,EAAE,MAAM,CAACK,GAAGA,EAAE,QAAQJ,EAAED,EAAE,GAAG,MAAMC,EAAE,EAAEI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAEL,CAAC,EAAEmB,EAAE,CAAC,EAAED,EAAE,EAAE,SAASlB,EAAE,CAAC,IAAIC,EAAE,CAACD,EAAE,UAAS,EAAG,EAAE,KAAK,IAAIC,CAAC,EAAEI,EAAE,KAAK,MAAM,EAAE,EAAE,EAAEC,EAAE,EAAE,GAAG,OAAOL,GAAG,EAAE,IAAI,KAAKiB,EAAEb,EAAE,EAAE,GAAG,EAAE,IAAIa,EAAEZ,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,SAASN,EAAEC,EAAE,EAAE,CAAC,GAAGA,EAAE,KAAM,EAAC,EAAE,KAAM,EAAC,MAAM,CAACD,EAAE,EAAEC,CAAC,EAAE,IAAII,EAAE,IAAI,EAAE,KAAM,EAACJ,EAAE,KAAI,IAAK,EAAE,MAAK,EAAGA,EAAE,MAAK,GAAIK,EAAEL,EAAE,MAAK,EAAG,IAAII,EAAEK,CAAC,EAAEhD,EAAE,EAAE4C,EAAE,EAAEC,EAAEN,EAAE,MAAO,EAAC,IAAII,GAAG3C,EAAE,GAAG,GAAGgD,CAAC,EAAE,MAAM,EAAE,EAAEL,GAAG,EAAEC,IAAI5C,EAAE4C,EAAEC,EAAEA,EAAED,KAAK,EAAE,EAAE,EAAE,SAASN,EAAE,CAAC,OAAOA,EAAE,EAAE,KAAK,KAAKA,CAAC,GAAG,EAAE,KAAK,MAAMA,CAAC,CAAC,EAAE,EAAE,SAASA,EAAE,CAAC,MAAM,CAAC,EAAEU,EAAE,EAAEE,EAAE,EAAEH,EAAE,EAAED,EAAE,EAAEK,EAAE,EAAEN,EAAE,EAAE7C,EAAE,EAAE4C,EAAE,GAAGD,EAAE,EAAEM,CAAC,EAAEX,CAAC,GAAG,OAAOA,GAAG,EAAE,EAAE,YAAa,EAAC,QAAQ,KAAK,EAAE,CAAC,EAAE,EAAE,SAASA,EAAE,CAAC,OAAgBA,IAAT,MAAU,CAAC,EAAEoB,EAAE,KAAKC,EAAE,CAAE,EAACA,EAAED,CAAC,EAAEH,EAAE,IAAIK,EAAE,iBAAiBC,EAAE,SAASvB,EAAE,CAAC,OAAOA,aAAawB,GAAG,EAAE,CAACxB,GAAG,CAACA,EAAEsB,CAAC,EAAE,EAAEG,EAAE,SAASzB,EAAEC,EAAE,EAAEI,EAAE,CAAC,IAAIC,EAAE,GAAG,CAACL,EAAE,OAAOmB,EAAE,GAAa,OAAOnB,GAAjB,SAAmB,CAAC,IAAIvC,EAAEuC,EAAE,YAAa,EAACoB,EAAE3D,CAAC,IAAI4C,EAAE5C,GAAG,IAAI2D,EAAE3D,CAAC,EAAE,EAAE4C,EAAE5C,GAAG,IAAI6C,EAAEN,EAAE,MAAM,GAAG,EAAE,GAAG,CAACK,GAAGC,EAAE,OAAO,EAAE,OAAOP,EAAEO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAIC,EAAEP,EAAE,KAAKoB,EAAEb,CAAC,EAAEP,EAAEK,EAAEE,CAAC,CAAC,MAAM,CAACH,GAAGC,IAAIc,EAAEd,GAAGA,GAAG,CAACD,GAAGe,CAAC,EAAEM,EAAE,SAAS1B,EAAEC,EAAE,CAAC,GAAGsB,EAAEvB,CAAC,EAAE,OAAOA,EAAE,MAAO,EAAC,IAAI,EAAY,OAAOC,GAAjB,SAAmBA,EAAE,GAAG,OAAO,EAAE,KAAKD,EAAE,EAAE,KAAK,UAAU,IAAIwB,EAAE,CAAC,CAAC,EAAEG,EAAER,EAAEQ,EAAE,EAAEF,EAAEE,EAAE,EAAEJ,EAAEI,EAAE,EAAE,SAAS3B,EAAEC,EAAE,CAAC,OAAOyB,EAAE1B,EAAE,CAAC,OAAOC,EAAE,GAAG,IAAIA,EAAE,GAAG,EAAEA,EAAE,GAAG,QAAQA,EAAE,OAAO,CAAC,CAAC,EAAE,IAAIuB,EAAE,UAAU,CAAC,SAASP,EAAEjB,EAAE,CAAC,KAAK,GAAGyB,EAAEzB,EAAE,OAAO,KAAK,EAAE,EAAE,KAAK,MAAMA,CAAC,EAAE,KAAK,GAAG,KAAK,IAAIA,EAAE,GAAG,CAAA,EAAG,KAAKsB,CAAC,EAAE,EAAE,CAAC,IAAIJ,EAAED,EAAE,UAAU,OAAOC,EAAE,MAAM,SAASlB,EAAE,CAAC,KAAK,GAAG,SAASA,EAAE,CAAC,IAAIC,EAAED,EAAE,KAAKI,EAAEJ,EAAE,IAAI,GAAUC,IAAP,KAAS,OAAO,IAAI,KAAK,GAAG,EAAE,GAAG0B,EAAE,EAAE1B,CAAC,EAAE,OAAO,IAAI,KAAK,GAAGA,aAAa,KAAK,OAAO,IAAI,KAAKA,CAAC,EAAE,GAAa,OAAOA,GAAjB,UAAoB,CAAC,MAAM,KAAKA,CAAC,EAAE,CAAC,IAAII,EAAEJ,EAAE,MAAMc,CAAC,EAAE,GAAGV,EAAE,CAAC,IAAIC,EAAED,EAAE,CAAC,EAAE,GAAG,EAAE3C,GAAG2C,EAAE,CAAC,GAAG,KAAK,UAAU,EAAE,CAAC,EAAE,OAAOD,EAAE,IAAI,KAAK,KAAK,IAAIC,EAAE,CAAC,EAAEC,EAAED,EAAE,CAAC,GAAG,EAAEA,EAAE,CAAC,GAAG,EAAEA,EAAE,CAAC,GAAG,EAAEA,EAAE,CAAC,GAAG,EAAE3C,CAAC,CAAC,EAAE,IAAI,KAAK2C,EAAE,CAAC,EAAEC,EAAED,EAAE,CAAC,GAAG,EAAEA,EAAE,CAAC,GAAG,EAAEA,EAAE,CAAC,GAAG,EAAEA,EAAE,CAAC,GAAG,EAAE3C,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,KAAKuC,CAAC,CAAC,EAAED,CAAC,EAAE,KAAK,KAAM,CAAA,EAAEkB,EAAE,KAAK,UAAU,CAAC,IAAIlB,EAAE,KAAK,GAAG,KAAK,GAAGA,EAAE,cAAc,KAAK,GAAGA,EAAE,SAAQ,EAAG,KAAK,GAAGA,EAAE,QAAO,EAAG,KAAK,GAAGA,EAAE,SAAS,KAAK,GAAGA,EAAE,SAAQ,EAAG,KAAK,GAAGA,EAAE,WAAY,EAAC,KAAK,GAAGA,EAAE,WAAY,EAAC,KAAK,IAAIA,EAAE,iBAAiB,EAAEkB,EAAE,OAAO,UAAU,CAAC,OAAOS,CAAC,EAAET,EAAE,QAAQ,UAAU,CAAC,OAAQ,KAAK,GAAG,aAAaJ,CAAE,EAAEI,EAAE,OAAO,SAASlB,EAAEC,EAAE,CAAC,IAAIG,EAAEsB,EAAE1B,CAAC,EAAE,OAAO,KAAK,QAAQC,CAAC,GAAGG,GAAGA,GAAG,KAAK,MAAMH,CAAC,CAAC,EAAEiB,EAAE,QAAQ,SAASlB,EAAEC,EAAE,CAAC,OAAOyB,EAAE1B,CAAC,EAAE,KAAK,QAAQC,CAAC,CAAC,EAAEiB,EAAE,SAAS,SAASlB,EAAEC,EAAE,CAAC,OAAO,KAAK,MAAMA,CAAC,EAAEyB,EAAE1B,CAAC,CAAC,EAAEkB,EAAE,GAAG,SAASlB,EAAEC,EAAEG,EAAE,CAAC,OAAOuB,EAAE,EAAE3B,CAAC,EAAE,KAAKC,CAAC,EAAE,KAAK,IAAIG,EAAEJ,CAAC,CAAC,EAAEkB,EAAE,KAAK,UAAU,CAAC,OAAO,KAAK,MAAM,KAAK,QAAO,EAAG,GAAG,CAAC,EAAEA,EAAE,QAAQ,UAAU,CAAC,OAAO,KAAK,GAAG,QAAS,CAAA,EAAEA,EAAE,QAAQ,SAASlB,EAAEC,EAAE,CAAC,IAAIG,EAAE,KAAKC,EAAE,CAAC,CAACsB,EAAE,EAAE1B,CAAC,GAAGA,EAAEU,EAAEgB,EAAE,EAAE3B,CAAC,EAAEc,EAAE,SAASd,EAAEC,EAAE,CAAC,IAAIK,EAAEqB,EAAE,EAAEvB,EAAE,GAAG,KAAK,IAAIA,EAAE,GAAGH,EAAED,CAAC,EAAE,IAAI,KAAKI,EAAE,GAAGH,EAAED,CAAC,EAAEI,CAAC,EAAE,OAAOC,EAAEC,EAAEA,EAAE,MAAME,CAAC,CAAC,EAAEO,EAAE,SAASf,EAAEC,EAAE,CAAC,OAAO0B,EAAE,EAAEvB,EAAE,OAAM,EAAGJ,CAAC,EAAE,MAAMI,EAAE,OAAO,GAAG,GAAGC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,MAAMJ,CAAC,CAAC,EAAEG,CAAC,CAAC,EAAEY,EAAE,KAAK,GAAGC,EAAE,KAAK,GAAGC,EAAE,KAAK,GAAGC,EAAE,OAAO,KAAK,GAAG,MAAM,IAAI,OAAOR,GAAG,KAAKC,EAAE,OAAOP,EAAES,EAAE,EAAE,CAAC,EAAEA,EAAE,GAAG,EAAE,EAAE,KAAKJ,EAAE,OAAOL,EAAES,EAAE,EAAEG,CAAC,EAAEH,EAAE,EAAEG,EAAE,CAAC,EAAE,KAAKR,EAAE,IAAIW,EAAE,KAAK,UAAU,WAAW,EAAEC,GAAGL,EAAEI,EAAEJ,EAAE,EAAEA,GAAGI,EAAE,OAAON,EAAET,EAAEa,EAAEG,EAAEH,GAAG,EAAEG,GAAGJ,CAAC,EAAE,KAAKT,EAAE,KAAKK,EAAE,OAAOE,EAAEI,EAAE,QAAQ,CAAC,EAAE,KAAKZ,EAAE,OAAOQ,EAAEI,EAAE,UAAU,CAAC,EAAE,KAAKzD,EAAE,OAAOqD,EAAEI,EAAE,UAAU,CAAC,EAAE,KAAKb,EAAE,OAAOS,EAAEI,EAAE,eAAe,CAAC,EAAE,QAAQ,OAAO,KAAK,MAAO,CAAA,CAAC,EAAED,EAAE,MAAM,SAASlB,EAAE,CAAC,OAAO,KAAK,QAAQA,EAAE,EAAE,CAAC,EAAEkB,EAAE,KAAK,SAASlB,EAAEC,EAAE,CAAC,IAAIG,EAAE,EAAEuB,EAAE,EAAE3B,CAAC,EAAEW,EAAE,OAAO,KAAK,GAAG,MAAM,IAAIG,GAAGV,EAAE,CAAA,EAAGA,EAAEI,CAAC,EAAEG,EAAE,OAAOP,EAAES,CAAC,EAAEF,EAAE,OAAOP,EAAEM,CAAC,EAAEC,EAAE,QAAQP,EAAEQ,CAAC,EAAED,EAAE,WAAWP,EAAEG,CAAC,EAAEI,EAAE,QAAQP,EAAE1C,CAAC,EAAEiD,EAAE,UAAUP,EAAEE,CAAC,EAAEK,EAAE,UAAUP,EAAEC,CAAC,EAAEM,EAAE,eAAeP,GAAG,CAAC,EAAEW,EAAE,IAAIP,EAAE,KAAK,IAAIP,EAAE,KAAK,IAAIA,EAAE,GAAG,IAAIS,GAAG,IAAIE,EAAE,CAAC,IAAII,EAAE,KAAK,QAAQ,IAAIH,EAAE,CAAC,EAAEG,EAAE,GAAGF,CAAC,EAAEC,CAAC,EAAEC,EAAE,KAAI,EAAG,KAAK,GAAGA,EAAE,IAAIH,EAAE,KAAK,IAAI,KAAK,GAAGG,EAAE,YAAW,CAAE,CAAC,EAAE,EAAE,MAAMF,GAAG,KAAK,GAAGA,CAAC,EAAEC,CAAC,EAAE,OAAO,KAAK,KAAM,EAAC,IAAI,EAAEG,EAAE,IAAI,SAASlB,EAAEC,EAAE,CAAC,OAAO,KAAK,MAAO,EAAC,KAAKD,EAAEC,CAAC,CAAC,EAAEiB,EAAE,IAAI,SAASlB,EAAE,CAAC,OAAO,KAAK2B,EAAE,EAAE3B,CAAC,CAAC,GAAG,EAAEkB,EAAE,IAAI,SAASb,EAAEM,EAAE,CAAC,IAAIE,EAAEC,EAAE,KAAKT,EAAE,OAAOA,CAAC,EAAE,IAAIU,EAAEY,EAAE,EAAEhB,CAAC,EAAEK,EAAE,SAAShB,EAAE,CAAC,IAAIC,EAAEyB,EAAEZ,CAAC,EAAE,OAAOa,EAAE,EAAE1B,EAAE,KAAKA,EAAE,KAAM,EAAC,KAAK,MAAMD,EAAEK,CAAC,CAAC,EAAES,CAAC,CAAC,EAAE,GAAGC,IAAIL,EAAE,OAAO,KAAK,IAAIA,EAAE,KAAK,GAAGL,CAAC,EAAE,GAAGU,IAAIH,EAAE,OAAO,KAAK,IAAIA,EAAE,KAAK,GAAGP,CAAC,EAAE,GAAGU,IAAIP,EAAE,OAAOQ,EAAE,CAAC,EAAE,GAAGD,IAAIN,EAAE,OAAOO,EAAE,CAAC,EAAE,IAAIC,GAAGJ,EAAE,CAAE,EAACA,EAAEnD,CAAC,EAAEuC,EAAEY,EAAEN,CAAC,EAAEH,EAAES,EAAEP,CAAC,EAAEN,EAAEa,GAAGE,CAAC,GAAG,EAAEG,EAAE,KAAK,GAAG,QAAS,EAACb,EAAEY,EAAE,OAAOU,EAAE,EAAET,EAAE,IAAI,CAAC,EAAEA,EAAE,SAAS,SAASlB,EAAEC,EAAE,CAAC,OAAO,KAAK,IAAI,GAAGD,EAAEC,CAAC,CAAC,EAAEiB,EAAE,OAAO,SAASlB,EAAE,CAAC,IAAIC,EAAE,KAAKG,EAAE,KAAK,QAAO,EAAG,GAAG,CAAC,KAAK,QAAO,EAAG,OAAOA,EAAE,aAAaU,EAAE,IAAIT,EAAEL,GAAG,uBAAuBM,EAAEqB,EAAE,EAAE,IAAI,EAAEjE,EAAE,KAAK,GAAG6C,EAAE,KAAK,GAAGC,EAAE,KAAK,GAAGC,EAAEL,EAAE,SAASM,EAAEN,EAAE,OAAOO,EAAEP,EAAE,SAASQ,EAAE,SAASZ,EAAEI,EAAEE,EAAE5C,EAAE,CAAC,OAAOsC,IAAIA,EAAEI,CAAC,GAAGJ,EAAEC,EAAEI,CAAC,IAAIC,EAAEF,CAAC,EAAE,MAAM,EAAE1C,CAAC,CAAC,EAAEmD,EAAE,SAASb,EAAE,CAAC,OAAO2B,EAAE,EAAEjE,EAAE,IAAI,GAAGsC,EAAE,GAAG,CAAC,EAAEe,EAAEJ,GAAG,SAASX,EAAEC,EAAEG,EAAE,CAAC,IAAIC,EAAEL,EAAE,GAAG,KAAK,KAAK,OAAOI,EAAEC,EAAE,YAAa,EAACA,CAAC,EAAE,OAAOA,EAAE,QAAQW,EAAG,SAAShB,EAAEK,EAAE,CAAC,OAAOA,GAAG,SAASL,EAAE,CAAC,OAAOA,EAAC,CAAE,IAAI,KAAK,OAAO,OAAOC,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,OAAO,OAAO0B,EAAE,EAAE1B,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,IAAI,OAAOO,EAAE,EAAE,IAAI,KAAK,OAAOmB,EAAE,EAAEnB,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,MAAM,OAAOI,EAAER,EAAE,YAAYI,EAAEE,EAAE,CAAC,EAAE,IAAI,OAAO,OAAOE,EAAEF,EAAEF,CAAC,EAAE,IAAI,IAAI,OAAOP,EAAE,GAAG,IAAI,KAAK,OAAO0B,EAAE,EAAE1B,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,IAAI,OAAO,OAAOA,EAAE,EAAE,EAAE,IAAI,KAAK,OAAOW,EAAER,EAAE,YAAYH,EAAE,GAAGQ,EAAE,CAAC,EAAE,IAAI,MAAM,OAAOG,EAAER,EAAE,cAAcH,EAAE,GAAGQ,EAAE,CAAC,EAAE,IAAI,OAAO,OAAOA,EAAER,EAAE,EAAE,EAAE,IAAI,IAAI,OAAO,OAAOvC,CAAC,EAAE,IAAI,KAAK,OAAOiE,EAAE,EAAEjE,EAAE,EAAE,GAAG,EAAE,IAAI,IAAI,OAAOmD,EAAE,CAAC,EAAE,IAAI,KAAK,OAAOA,EAAE,CAAC,EAAE,IAAI,IAAI,OAAOE,EAAErD,EAAE6C,EAAE,EAAE,EAAE,IAAI,IAAI,OAAOQ,EAAErD,EAAE6C,EAAE,EAAE,EAAE,IAAI,IAAI,OAAO,OAAOA,CAAC,EAAE,IAAI,KAAK,OAAOoB,EAAE,EAAEpB,EAAE,EAAE,GAAG,EAAE,IAAI,IAAI,OAAO,OAAON,EAAE,EAAE,EAAE,IAAI,KAAK,OAAO0B,EAAE,EAAE1B,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,MAAM,OAAO0B,EAAE,EAAE1B,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,IAAI,OAAOK,CAAC,CAAC,OAAO,IAAI,EAAEN,CAAC,GAAGM,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAE,EAAEY,EAAE,UAAU,UAAU,CAAC,MAAO,IAAG,CAAC,KAAK,MAAM,KAAK,GAAG,kBAAmB,EAAC,EAAE,CAAC,EAAEA,EAAE,KAAK,SAASb,EAAEQ,EAAEC,EAAE,CAAC,IAAIC,EAAEC,EAAE,KAAKC,EAAEU,EAAE,EAAEd,CAAC,EAAEK,EAAEQ,EAAErB,CAAC,EAAEc,GAAGD,EAAE,UAAS,EAAG,KAAK,aAAajB,EAAEmB,EAAE,KAAKF,EAAEG,EAAE,UAAU,CAAC,OAAOM,EAAE,EAAEX,EAAEE,CAAC,CAAC,EAAE,OAAOD,EAAG,CAAA,KAAKL,EAAEG,EAAEM,EAAC,EAAG,GAAG,MAAM,KAAKX,EAAEK,EAAEM,IAAI,MAAM,KAAKV,EAAEI,EAAEM,EAAC,EAAG,EAAE,MAAM,KAAKZ,EAAEM,GAAGK,EAAED,GAAG,OAAO,MAAM,KAAKX,EAAEO,GAAGK,EAAED,GAAG,MAAM,MAAM,KAAKZ,EAAEQ,EAAEK,EAAEhB,EAAE,MAAM,KAAK1C,EAAEqD,EAAEK,EAAEnB,EAAE,MAAM,KAAKK,EAAES,EAAEK,EAAEpB,EAAE,MAAM,QAAQe,EAAEK,CAAC,CAAC,OAAON,EAAEC,EAAEY,EAAE,EAAEZ,CAAC,CAAC,EAAEG,EAAE,YAAY,UAAU,CAAC,OAAO,KAAK,MAAMR,CAAC,EAAE,EAAE,EAAEQ,EAAE,QAAQ,UAAU,CAAC,OAAOG,EAAE,KAAK,EAAE,CAAC,EAAEH,EAAE,OAAO,SAASlB,EAAEC,EAAE,CAAC,GAAG,CAACD,EAAE,OAAO,KAAK,GAAG,IAAII,EAAE,KAAK,QAAQC,EAAEoB,EAAEzB,EAAEC,EAAE,EAAE,EAAE,OAAOI,IAAID,EAAE,GAAGC,GAAGD,CAAC,EAAEc,EAAE,MAAM,UAAU,CAAC,OAAOS,EAAE,EAAE,KAAK,GAAG,IAAI,CAAC,EAAET,EAAE,OAAO,UAAU,CAAC,OAAO,IAAI,KAAK,KAAK,SAAS,CAAC,EAAEA,EAAE,OAAO,UAAU,CAAC,OAAO,KAAK,QAAS,EAAC,KAAK,cAAc,IAAI,EAAEA,EAAE,YAAY,UAAU,CAAC,OAAO,KAAK,GAAG,YAAa,CAAA,EAAEA,EAAE,SAAS,UAAU,CAAC,OAAO,KAAK,GAAG,YAAa,CAAA,EAAED,CAAC,IAAIW,EAAEJ,EAAE,UAAU,OAAOE,EAAE,UAAUE,EAAE,CAAC,CAAC,MAAMvB,CAAC,EAAE,CAAC,KAAKC,CAAC,EAAE,CAAC,KAAK5C,CAAC,EAAE,CAAC,KAAK6C,CAAC,EAAE,CAAC,KAAKC,CAAC,EAAE,CAAC,KAAKE,CAAC,EAAE,CAAC,KAAKE,CAAC,EAAE,CAAC,KAAKC,CAAC,CAAC,EAAE,QAAS,SAASb,EAAE,CAAC4B,EAAE5B,EAAE,CAAC,CAAC,EAAE,SAASC,EAAE,CAAC,OAAO,KAAK,GAAGA,EAAED,EAAE,CAAC,EAAEA,EAAE,CAAC,CAAC,CAAC,CAAC,GAAI0B,EAAE,OAAO,SAAS1B,EAAEC,EAAE,CAAC,OAAOD,EAAE,KAAKA,EAAEC,EAAEuB,EAAEE,CAAC,EAAE1B,EAAE,GAAG,IAAI0B,CAAC,EAAEA,EAAE,OAAOD,EAAEC,EAAE,QAAQH,EAAEG,EAAE,KAAK,SAAS1B,EAAE,CAAC,OAAO0B,EAAE,IAAI1B,CAAC,CAAC,EAAE0B,EAAE,GAAGL,EAAED,CAAC,EAAEM,EAAE,GAAGL,EAAEK,EAAE,EAAE,GAAGA,CAAC,CAAC,uCCuBx+NG,GAAkB,CAAC,CAAE,KAAAhF,KAAwC,CACzE,MAAMiF,EAAwB,CAAA,EAGxBhC,EAAW,CAAE,GAAGjD,GAEtB,OAAIiD,EAAS,UACRA,EAAS,QAAQ,YACpBgC,EAAQ,UAAYC,EAAMjC,EAAS,QAAQ,SAAS,EAAE,UAEnDA,EAAS,QAAQ,UACpBgC,EAAQ,QAAUC,EAAMjC,EAAS,QAAQ,OAAO,EAAE,UAE/CA,EAAS,QAAQ,iBACpBgC,EAAQ,eAAiBC,EAAMjC,EAAS,QAAQ,cAAc,EAAE,WAI9DA,EAAS,WACRA,EAAS,SAAS,WACbgC,EAAA,SAAWhC,EAAS,SAAS,UAElCA,EAAS,SAAS,WACbgC,EAAA,SAAWhC,EAAS,SAAS,UAElCA,EAAS,SAAS,cACbgC,EAAA,YAAchC,EAAS,SAAS,aAErCA,EAAS,SAAS,sBACbgC,EAAA,oBAAsBhC,EAAS,SAAS,qBAE7CA,EAAS,SAAS,kBACbgC,EAAA,gBAAkBhC,EAAS,SAAS,iBAEzCA,EAAS,SAAS,gBACbgC,EAAA,cAAgBhC,EAAS,SAAS,eAEvCA,EAAS,SAAS,sBACbgC,EAAA,oBAAsBhC,EAAS,SAAS,sBAIlD,OAAOA,EAAS,QAChB,OAAOA,EAAS,SAEhBgC,EAAQ,QAAUhC,EAEXgC,CACR,EClEaE,GACZC,GAC4E,CAC5E,MAAM5D,EAAQ,mCACR6D,EAAQD,EAAY,MAAM5D,CAAK,EACrC,OACC6D,IACCA,EAAM,CAAC,IAAM,SAAWA,EAAM,CAAC,IAAM,cAAgBA,EAAM,CAAC,IAAM,UAE5D,CAACA,EAAM,CAAC,EAAGA,EAAM,CAAC,CAAC,EAIpB,CAACD,EAAa,IAAI,CAC1B,ECXgB,SAAAE,GACfC,EACArC,EAC8B,CAC1B,GAAAqC,EAAa,UAAYrC,EACrB,OAAAqC,EAGR,GAAIA,EAAa,SACL,UAAAjF,KAAWiF,EAAa,SAAU,CACtC,MAAAC,EAAeF,GAAkChF,EAAS4C,CAAO,EACvE,GAAIsC,EACI,OAAAA,CAET,CAIF,CCZgB,SAAAC,GACfnF,EACAoF,EACC,CACK,KAAA,CAACN,CAAW,EAAID,GACrB7E,EAAQ,MAAQ,EAAA,EAGjB,IAAIqF,EAA8B,CAAA,EAGlC,OAAID,EAAU,WACb,OAAO,KAAKA,EAAU,SAAS,EAAE,QAASE,GAAiB,CACtDA,IAAiBR,GAAeM,EAAU,YAC9BC,EAAAD,EAAU,UAAUE,CAAY,EAChD,CACA,EAIEF,EAAU,WACb,OAAO,KAAKA,EAAU,SAAS,EAAE,QAASG,GAAiB,CACtDA,IAAiBT,GAAeM,EAAU,YAC9BC,EAAAD,EAAU,UAAUG,CAAY,EAChD,CACA,EAIEH,EAAU,aACb,OAAO,KAAKA,EAAU,WAAW,EAAE,QAASI,GAAmB,CAC1DA,IAAmBV,GAAeM,EAAU,cAChCC,EAAAD,EAAU,YAAYI,CAAc,EACpD,CACA,EAIEJ,EAAU,gBACb,OAAO,KAAKA,EAAU,cAAc,EAAE,QAASK,GAAsB,CAChEA,IAAsBX,GAAeM,EAAU,iBACnCC,EAAAD,EAAU,eAAeK,CAAiB,EAC1D,CACA,EAGKJ,CACR,CC3DO,SAASK,GACfC,EAIC,CACM,OAAAA,GAAA,YAAAA,EAAQ,IAAKC,IACfA,EAAM,UAAY,YACrBA,EAAM,QAAU,sCAAsCA,EAAM,OAAO,OAAO,IAEvEA,EAAM,UAAY,WACrBA,EAAM,QAAU,kBAEbA,EAAM,UAAY,aACrBA,EAAM,QAAU,YAEbA,EAAM,UAAY,aACfA,EAAA,QAAU,sBAAsBA,EAAM,OAAO,KAAK,QACvDA,EAAM,OAAO,QAAU,EAAI,IAAM,EAClC,IAEGA,EAAM,UAAY,aACfA,EAAA,QAAU,qBAAqBA,EAAM,OAAO,KAAK,QACtDA,EAAM,OAAO,QAAU,EAAI,IAAM,EAClC,IAEGA,EAAM,UAAY,SACrBA,EAAM,QAAU,kBAEbA,EAAM,UAAY,cACfA,EAAA,QAAU,mBAAmBA,EAAM,OAAO,KAAK,aACpDA,EAAM,OAAO,QAAU,EAAI,IAAM,EAClC,IAEGA,EAAM,UAAY,cACfA,EAAA,QAAU,oBAAoBA,EAAM,OAAO,KAAK,aACrDA,EAAM,OAAO,QAAU,EAAI,IAAM,EAClC,IAEGA,EAAM,UAAY,YACrBA,EAAM,QAAU,oCAAoCA,EAAM,OAAO,KAAK,IAEnEA,EAAM,UAAY,YACrBA,EAAM,QAAU,iCAAiCA,EAAM,OAAO,KAAK,IAEhEA,EAAM,UAAY,SACrBA,EAAM,QAAU,iBAEVA,GAET,CCjDa,MAAAC,GAAyB9F,GAAyB,iBACvD,MAAA,CACN,KAAIO,EAAAP,GAAA,YAAAA,EAAO,UAAP,YAAAO,EAAgB,OAAQ,CAC3B,IAAGmB,EAAA1B,GAAA,YAAAA,EAAO,UAAP,YAAA0B,EAAgB,IACpB,EACA,QAAS,CAER,IAAI1B,GAAA,YAAAA,EAAO,YAAa,CAEtB,UAAW6E,EAAM7E,EAAM,SAAS,EAAE,OAAO,YAAY,CAEvD,EACA,IAAIA,GAAA,YAAAA,EAAO,UAAW,CAEpB,QAAS6E,EAAM7E,EAAM,OAAO,EAAE,OAAO,YAAY,CAEnD,EACA,IAAIA,GAAA,YAAAA,EAAO,iBAAkB,CAE3B,eAAgB6E,EAAM7E,EAAM,cAAc,EAAE,OAAO,YAAY,CAEjE,CACD,EACA,SAAU,CACT,UAAUA,GAAA,YAAAA,EAAO,WAAY,OAC7B,UAAUA,GAAA,YAAAA,EAAO,WAAY,OAC7B,cACC4B,GAAAH,EAAAzB,GAAA,YAAAA,EAAO,cAAP,YAAAyB,EAAoB,qBAApB,YAAAG,EAAwC,kBAAmB,OAC5D,kBACCC,GAAAF,EAAA3B,GAAA,YAAAA,EAAO,cAAP,YAAA2B,EAAoB,yBAApB,YAAAE,EAA4C,sBAC5C,OACD,eAAe7B,GAAA,YAAAA,EAAO,gBAAiB,OACvC,qBAAqBA,GAAA,YAAAA,EAAO,sBAAuB,MACpD,CAAA,CAEF,ECpCa+F,GACZ9F,IAEO,CACN,GAAGA,EAAQ,KACX,cAAeA,EAAQ,eAAiB,CAAC,CAAA,GCLrC+F,GAA4B,CACjCC,EACAC,IAC6B,CAC7B,UAAWjG,KAAWgG,EAAU,CAC3B,GAAAhG,EAAQ,UAAYiG,EAChB,OAAAjG,EAGR,MAAMkF,EAAea,GACpB/F,EAAQ,UAAY,CAAC,EACrBiG,CAAA,EAED,GAAIf,EACI,OAAAA,CAET,CAEO,MAAA,EACR,EAEagB,GAA0B,CACtCnG,EACAkG,IACI,SACA,QAAA3F,EAAAP,EAAM,UAAN,YAAAO,EAAe,WAAY2F,EACvBlG,EAAM,QAGPgG,KACNtE,EAAA1B,EAAM,UAAN,YAAA0B,EAAe,WAAY,CAAC,EAC5BwE,CAAA,CAEF,EC7BaE,GAA0B,CAAC,CACvC,UAAAf,EACA,QAAS,CAAE,YAAAgB,CAAY,CACxB,IAOEhB,EAAU,SAASgB,CAAwC,GAAK,CAAA,ECdrDC,GAA2BC,GAA8B,OACrEA,EAAQA,GAAS,GACjB,MAAMC,EAAOD,EAAM,QAAQ,cAAe,EAAE,EACtCzF,GAAaP,EAAAgG,EAAM,MAAM,aAAa,IAAzB,YAAAhG,EAA4B,MAGxC,MAAA,CACN,KAAAiG,EACA,WAAY1F,GAAc,EAAA,CAE5B,ECKa2F,GAAyB,CAAC,CACtC,UAAApB,EACA,iBAAAqB,CACD,IAGyB,CAClB,MAAAC,EAAqBtB,EAAU,WAAa,GAC5CuB,EAAqBvB,EAAU,WAAa,GAC5CwB,EAAuBxB,EAAU,aAAe,GAChDyB,EAA0BzB,EAAU,gBAAkB,GAEtD0B,GAD2BL,EAAiB,UAAY,IAEpC,IAAKzG,GAAY,CACzC,KAAM,CAAE,KAAAuG,CAAA,EAASF,GAAwBrG,CAAO,EACzC,OAAAuG,CAAA,CACP,EAEIQ,EAAwB,OAAO,KAAKL,CAAkB,EAAE,OAC5DM,GACOF,EAA2C,SAASE,CAAQ,CACpE,EAGKC,EAAwB,OAAO,KAAKN,CAAkB,EAAE,OAC5DO,GACOJ,EAA2C,SAASI,CAAQ,CACpE,EAGKC,EAA0B,OAAO,KAAKP,CAAoB,EAAE,OAChEQ,GACON,EAA2C,SAASM,CAAU,CACtE,EAGKC,EAA6B,OAAO,KACzCR,CAAA,EACC,OAAQS,GACFR,EAA2C,SAASQ,CAAa,CACxE,EAEKC,EAAmC,CACxC,UAAW,CAAC,EACZ,UAAW,CAAC,EACZ,YAAa,CAAC,EACd,eAAgB,CAAC,CAAA,EAGlB,UAAW/G,KAAOuG,EACjBQ,EAAc,UAAU/G,CAAG,EAAIkG,EAAmBlG,CAAG,EAGtD,UAAWA,KAAOyG,EACjBM,EAAc,UAAU/G,CAAG,EAAImG,EAAmBnG,CAAG,EAGtD,UAAWA,KAAO2G,EACjBI,EAAc,YAAY/G,CAAG,EAAIoG,EAAqBpG,CAAG,EAG1D,UAAWA,KAAO6G,EACjBE,EAAc,eAAe/G,CAAG,EAAIqG,EAAwBrG,CAAG,EAGzD,OAAA+G,CACR,ECzEaC,GAA0B,CAAC,CACvC,UAAApC,EACA,MAAArF,EACA,eAAAkG,CACD,IAI6B,CACtB,MAAAjG,EAAUkG,GAAwBnG,EAAOkG,CAAc,EAE7D,GAAI,CAACjG,EACJ,MAAO,GAGR,MAAMyG,EAAmBN,GAAwB,CAChD,QAASpG,EACT,UAAAqF,CAAA,CACA,EAEKqC,EAAkBjB,GAAuB,CAC9C,UAAApB,EACA,iBAAAqB,CAAA,CACA,EAED,IAAIiB,EAA0C,GAG9C,MAAM5C,EAAc9E,EAAQ,KAAK,MAAM,OAAO,EAAE,CAAC,EAGjD,cAAO,KAAKyH,EAAgB,SAAS,EAAE,QAASE,GAAgB,CAC3DA,IAAgB7C,IACA4C,EAAAD,EAAgB,UAAUE,CAAW,EACzD,CACA,EAGID,GACJ,OAAO,KAAKD,EAAgB,SAAS,EAAE,QAASG,GAAgB,CAC3DA,IAAgB9C,IACA4C,EAAAD,EAAgB,UAAUG,CAAW,EACzD,CACA,EAIGF,GACJ,OAAO,KAAKD,EAAgB,WAAW,EAAE,QAASI,GAAkB,CAC/DA,IAAkB/C,IACF4C,EAAAD,EAAgB,YAAYI,CAAa,EAC7D,CACA,EAIGH,GACJ,OAAO,KAAKD,EAAgB,cAAc,EAAE,QAASK,GAAqB,CACrEA,IAAqBhD,IACL4C,EAAAD,EAAgB,eAAeK,CAAgB,EACnE,CACA,EAGKJ,CACR","x_google_ignoreList":[2]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@socotra/ec-react-utils",
3
- "version": "2.2.5-alpha.2",
3
+ "version": "2.2.5",
4
4
  "type": "module",
5
5
  "main": "./dist/index.umd.js",
6
6
  "module": "./dist/index.es.js",
@@ -33,9 +33,9 @@
33
33
  },
34
34
  "dependencies": {
35
35
  "@jsonforms/core": "^3.3.0",
36
- "@socotra/ec-react-schemas": "2.2.5-alpha.2",
36
+ "@socotra/ec-react-schemas": "2.2.5",
37
37
  "ajv": "^8.14.0",
38
38
  "dayjs": "^1.11.11"
39
39
  },
40
- "gitHead": "2e3a66fbcf71c64a3ca366c2be3bfdb21e6952f4"
40
+ "gitHead": "db2f27495e968982d8fd96808c1023aa655ec8ca"
41
41
  }