@socotra/ec-react-utils 2.3.0-next.2 → 2.3.0-next.3

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.es.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 {\n\tDataModel,\n\tProductConfig,\n\tQuoteResponse,\n} from '@socotra/ec-react-schemas';\nimport dayjs from 'dayjs';\n\nexport const getDefaultQuoteValues = (\n\tquote: QuoteResponse,\n\tproductModel: ProductConfig,\n\tdataModel: DataModel,\n) => {\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:\n\t\t\t\tquote?.currency ??\n\t\t\t\tproductModel.defaultCurrency ??\n\t\t\t\tdataModel.defaultCurrency ??\n\t\t\t\tundefined,\n\t\t\ttimezone:\n\t\t\t\tquote?.timezone ??\n\t\t\t\tproductModel.defaultTimeZone ??\n\t\t\t\tdataModel.defaultTimeZone ??\n\t\t\t\tundefined,\n\t\t\tbillingLevel:\n\t\t\t\tquote?.billingLevel ??\n\t\t\t\tproductModel.defaultBillingLevel ??\n\t\t\t\tdataModel.defaultBillingLevel ??\n\t\t\t\tundefined,\n\t\t\tbillingTrigger:\n\t\t\t\tquote?.billingTrigger ?? productModel.defaultBillingTrigger,\n\t\t\tdurationBasis:\n\t\t\t\tquote?.durationBasis ?? productModel.defaultDurationBasis ?? undefined,\n\t\t\tdelinquencyPlanName:\n\t\t\t\tquote?.delinquencyPlanName ??\n\t\t\t\tproductModel?.defaultDelinquencyPlan ??\n\t\t\t\tundefined,\n\t\t\tautoRenewalPlanName:\n\t\t\t\tquote?.autoRenewalPlanName ??\n\t\t\t\tproductModel?.defaultAutoRenewalPlan ??\n\t\t\t\tundefined,\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","_a","dataScope","s","key","_b","_c","_d","_e","_f","_g","_h","_i","_j","_k","_l","_m","_n","_o","_p","_q","isOptional","isArray","isCustomDataType","displayName","quantifier","maxLength","minLength","max","min","regex","type","format","customDataType","defaultValues","referenceSchema","defaultValue","dataKey","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","productModel","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":"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","x_google_ignoreList":[2]}
1
+ {"version":3,"file":"index.es.js","sources":["../lib/utils/data-model-to-JSON-schema.ts","../../../node_modules/.pnpm/dayjs@1.11.12/node_modules/dayjs/dayjs.min.js","../lib/utils/get-quote-request.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\n/**\n * The function `dataModelToJSONSchema` converts a data model to a JSON schema based on specified\n * criteria and data types.\n * @param {DataModelToJsonSchemaProps} args - The `dataModelToJSONSchema` function takes in an object\n * `args` with the following properties:\n * @returns The function `dataModelToJSONSchema` returns a JSON schema object based on the provided\n * arguments `args`. The JSON schema object includes properties, definitions, required fields, and\n * other schema details based on the input data model and configuration.\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","!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\n/**\n * The function `getQuoteRequest` processes form data to create a `QuoteRequest` object.\n * @param {QuoteFormData} - The `getQuoteRequest` function takes in a parameter `data` of type\n * `QuoteFormData` and returns a `QuoteRequest` object.\n * @returns The function `getQuoteRequest` returns a `QuoteRequest` object based on the provided\n * `QuoteFormData` data.\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","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 {\n\tDataModel,\n\tProductConfig,\n\tQuoteResponse,\n} from '@socotra/ec-react-schemas';\nimport dayjs from 'dayjs';\n\n/**\n * The `getDefaultQuoteValues` function extracts default values from a `QuoteResponse`\n * object and sets them based on certain conditions.\n * @param {QuoteResponse} quote - The `getDefaultQuoteValues` function takes in three parameters:\n * @param {ProductConfig} productModel - The `productModel` parameter in the `getDefaultQuoteValues`\n * function represents the configuration settings for a specific product.\n * @param {DataModel} dataModel - The `dataModel` parameter in the `getDefaultQuoteValues` function\n * represents the data model used in the context of generating default values for a quote.\n * @returns The `getDefaultQuoteValues` function returns an object with properties `default` and\n * `advanced`.\n */\nexport const getDefaultQuoteValues = (\n\tquote: QuoteResponse,\n\tproductModel: ProductConfig,\n\tdataModel: DataModel,\n) => {\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:\n\t\t\t\tquote?.currency ??\n\t\t\t\tproductModel.defaultCurrency ??\n\t\t\t\tdataModel.defaultCurrency ??\n\t\t\t\tundefined,\n\t\t\ttimezone:\n\t\t\t\tquote?.timezone ??\n\t\t\t\tproductModel.defaultTimeZone ??\n\t\t\t\tdataModel.defaultTimeZone ??\n\t\t\t\tundefined,\n\t\t\tbillingLevel:\n\t\t\t\tquote?.billingLevel ??\n\t\t\t\tproductModel.defaultBillingLevel ??\n\t\t\t\tdataModel.defaultBillingLevel ??\n\t\t\t\tundefined,\n\t\t\tbillingTrigger:\n\t\t\t\tquote?.billingTrigger ?? productModel.defaultBillingTrigger,\n\t\t\tdurationBasis:\n\t\t\t\tquote?.durationBasis ?? productModel.defaultDurationBasis ?? undefined,\n\t\t\tdelinquencyPlanName:\n\t\t\t\tquote?.delinquencyPlanName ??\n\t\t\t\tproductModel?.defaultDelinquencyPlan ??\n\t\t\t\tundefined,\n\t\t\tautoRenewalPlanName:\n\t\t\t\tquote?.autoRenewalPlanName ??\n\t\t\t\tproductModel?.defaultAutoRenewalPlan ??\n\t\t\t\tundefined,\n\t\t},\n\t};\n};\n","import { ElementResponse } from '@socotra/ec-react-schemas';\n\n/**\n * The function `getDefaultElementValues` returns a partial copy of an ElementResponse object with\n * default values for coverageTerms if not provided.\n * @param {ElementResponse} element - The `element` parameter in the `getDefaultElementValues` function\n * is of type `ElementResponse`, which contains data related to an element in a system or\n * application.\n * @returns A partial ElementResponse object is being returned, with the data from the input element\n * and the coverageTerms property set to element.coverageTerms if it exists, otherwise an empty object.\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\n/**\n * The function `extractElementFromQuote` takes a `QuoteResponse` object and an element locator string,\n * and returns the element with the matching locator from the quote or its nested elements.\n * @param {QuoteResponse} quote - The `quote` parameter is of type `QuoteResponse`, which is an object\n * containing information about a quote.\n * @param {string} elementLocator - The `elementLocator` parameter is a string that represents the\n * locator of the element you want to extract from the `quote` object.\n * @returns The function `extractElementFromQuote` returns the element from the `QuoteResponse` object\n * that matches the provided `elementLocator`.\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\n/**\n * The function `extractProductDataModel` extracts product data model based on the product name from a\n * given data model.\n * @param - The `extractProductDataModel` function takes in two parameters:\n * @returns The function `extractProductDataModel` returns the product configuration data for the\n * specified product name from the provided data model.\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\n/**\n * The function `splitInputAndQuantifier` takes a string input, removes certain characters from it, and\n * extracts a quantifier if present.\n * @param {string | undefined} input - The `splitInputAndQuantifier` function takes a string input and\n * splits it into two parts: the name and the quantifier. The quantifier is extracted from the end of\n * the input string, while the name is the input string with certain characters (? * ! +) removed.\n * @returns The function `splitInputAndQuantifier` returns an object with two properties:\n * - `name`: a string that is the input with any of the characters '?', '*', '!', or '+' removed\n * - `quantifier`: a string that represents the quantifier found at the end of the input string, or an\n * empty string if no quantifier is found\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\n/**\n * The function `extractProductElements` extracts specific elements from a data model based on a\n * product data model configuration.\n * @param - The `extractProductElements` function takes in two parameters:\n * @returns The function `extractProductElements` returns a `ProductElementMap` object containing\n * elements related to coverages, exposures, policy lines, and exposure groups that are available based\n * on the provided `dataModel` and `productDataModel`.\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\n/**\n * The function `extractElementDataModel` extracts element data model based on a given quote, data\n * model, and element locator.\n * @param - - `quote`: A QuoteResponse object containing information about a quote.\n * @returns The function `extractElementDataModel` returns either an `ElementConfig` object or `false`\n * based on the provided parameters and data model.\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","_a","dataScope","s","key","_b","_c","_d","_e","_f","_g","_h","_i","_j","_k","_l","_m","_n","_o","_p","_q","isOptional","isArray","isCustomDataType","displayName","quantifier","maxLength","minLength","max","min","regex","type","format","customDataType","defaultValues","referenceSchema","defaultValue","dataKey","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","formData","dayjs","transformErrors","errors","error","getDefaultQuoteValues","productModel","dataModel","getDefaultElementValues","findElementInElementArray","elements","elementLocator","foundElement","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","elementType","exposureKey","coverageKey","policyLineKey","exposureGroupKey"],"mappings":"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","x_google_ignoreList":[1]}
package/dist/index.umd.js CHANGED
@@ -1,2 +1,2 @@
1
- (function(x,H){typeof exports=="object"&&typeof module<"u"?H(exports):typeof define=="function"&&define.amd?define(["exports"],H):(x=typeof globalThis<"u"?globalThis:x||self,H(x.schemas={}))})(this,function(x){"use strict";const H=t=>{const{data:e,scope:a,dataTypes:f,rootDisplayName:v,account:d,quote:D,element:p}=t,T=[];let P={};const A=Object.fromEntries(Object.entries(e??{}).filter(([,h])=>{var E;const r=(E=h.scope)==null?void 0:E.split(",").map(Y=>Y.trim());return!!(!r||a==="P"&&(r!=null&&r.includes("P"))||r!=null&&r.includes("Q")||a==="Q"&&(r!=null&&r.includes("Q")))}).map(([h,r])=>{var F,J,c,s,n,u,i,l,o,y,b,w,O,k,N,I,V;let E=!1,Y=!1,W=!1;const U=r.displayName??h,X=(F=r.type)==null?void 0:F.slice(-1),C=r.maxLength,R=r.minLength,_=r.max,j=r.min,z=r.regex;let m=r.type??"",Q;switch(X){case"*":Y=!0,E=!0,m=m==null?void 0:m.split("*")[0];break;case"?":m=m==null?void 0:m.split("?")[0],E=!0;break;case"+":Y=!0,m=m==null?void 0:m.split("+")[0];break;case"!":m=m==null?void 0:m.split("!")[0];break}switch(m){case"string":m="string";break;case"int":case"long":m="integer";break;case"decimal":m="number";break;case"dateTime":case"datetime":m="string",Q="date-time";break;case"date":m="string",Q="date";break;case"boolean":case"bool":m="boolean";break;default:W=!0;break}if(!E&&!W&&!Y&&T.push(h),W){const S=f==null?void 0:f[m];if(S){let M=Y?[]:{};const B=H({data:S.data??{},scope:a,dataTypes:f,rootDisplayName:S.displayName??h});return D&&(c=(J=D.element)==null?void 0:J.data)!=null&&c[h]&&(M=(n=(s=D.element)==null?void 0:s.data)==null?void 0:n[h]),p&&(u=p==null?void 0:p.data)!=null&&u[h]&&(M=(i=p==null?void 0:p.data)==null?void 0:i[h]),d&&(l=d==null?void 0:d.data)!=null&&l[h]&&(M=(o=d==null?void 0:d.data)==null?void 0:o[h]),P={...P,[`${m}`]:B},Y?[h,{title:S.displayName??h,type:"array",default:M,items:{$ref:`#/definitions/${m}`},...!E&&{minItems:1}}]:[h,{title:S.displayName??h,default:M,$ref:`#/definitions/${m}`}]}}let $="";if(d){const S=(d==null?void 0:d.state)==="validated"?h.charAt(0).toLowerCase()+h.slice(1):h;$=(y=d==null?void 0:d.data)!=null&&y[S]?(b=d==null?void 0:d.data)==null?void 0:b[S]:m==="boolean"?!!r.defaultValue:r.defaultValue}return D&&($=(O=(w=D.element)==null?void 0:w.data)!=null&&O[h]?(N=(k=D.element)==null?void 0:k.data)==null?void 0:N[h]:m==="boolean"?!!r.defaultValue:r.defaultValue),p&&($=(I=p==null?void 0:p.data)!=null&&I[h]?(V=p==null?void 0:p.data)==null?void 0:V[h]:m==="boolean"?!!r.defaultValue:r.defaultValue),Y?[h,{title:U,type:"array",default:$,items:{type:m,...C&&{maxLength:C},...R&&{minLength:R},...j&&{min:j},..._&&{max:_},...Q&&{format:Q},...z&&{pattern:r.regex}},...!E&&{minItems:1}}]:[h,{title:U,type:m,...$&&{default:$},...R&&{minLength:R},...C&&{maxLength:C},...j&&{minimum:parseInt(j)},..._&&{maximum:parseInt(_)},...Q&&{format:Q},...r.options&&{enum:r.options},...z&&{pattern:r.regex}}]}));return{title:v,type:"object",definitions:P,required:T,properties:A}},ue=({formData:t,locator:e})=>({elements:[{locator:e,setData:t}]});var ce=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function le(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var q={exports:{}};(function(t,e){(function(a,f){t.exports=f()})(ce,function(){var a=1e3,f=6e4,v=36e5,d="millisecond",D="second",p="minute",T="hour",P="day",A="week",L="month",h="quarter",r="year",E="date",Y="Invalid Date",W=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,U=/\[([^\]]+)]|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,X={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(c){var s=["th","st","nd","rd"],n=c%100;return"["+c+(s[(n-20)%10]||s[n]||s[0])+"]"}},C=function(c,s,n){var u=String(c);return!u||u.length>=s?c:""+Array(s+1-u.length).join(n)+c},R={s:C,z:function(c){var s=-c.utcOffset(),n=Math.abs(s),u=Math.floor(n/60),i=n%60;return(s<=0?"+":"-")+C(u,2,"0")+":"+C(i,2,"0")},m:function c(s,n){if(s.date()<n.date())return-c(n,s);var u=12*(n.year()-s.year())+(n.month()-s.month()),i=s.clone().add(u,L),l=n-i<0,o=s.clone().add(u+(l?-1:1),L);return+(-(u+(n-i)/(l?i-o:o-i))||0)},a:function(c){return c<0?Math.ceil(c)||0:Math.floor(c)},p:function(c){return{M:L,y:r,w:A,d:P,D:E,h:T,m:p,s:D,ms:d,Q:h}[c]||String(c||"").toLowerCase().replace(/s$/,"")},u:function(c){return c===void 0}},_="en",j={};j[_]=X;var z="$isDayjsObject",m=function(c){return c instanceof F||!(!c||!c[z])},Q=function c(s,n,u){var i;if(!s)return _;if(typeof s=="string"){var l=s.toLowerCase();j[l]&&(i=l),n&&(j[l]=n,i=l);var o=s.split("-");if(!i&&o.length>1)return c(o[0])}else{var y=s.name;j[y]=s,i=y}return!u&&i&&(_=i),i||!u&&_},$=function(c,s){if(m(c))return c.clone();var n=typeof s=="object"?s:{};return n.date=c,n.args=arguments,new F(n)},g=R;g.l=Q,g.i=m,g.w=function(c,s){return $(c,{locale:s.$L,utc:s.$u,x:s.$x,$offset:s.$offset})};var F=function(){function c(n){this.$L=Q(n.locale,null,!0),this.parse(n),this.$x=this.$x||n.x||{},this[z]=!0}var s=c.prototype;return s.parse=function(n){this.$d=function(u){var i=u.date,l=u.utc;if(i===null)return new Date(NaN);if(g.u(i))return new Date;if(i instanceof Date)return new Date(i);if(typeof i=="string"&&!/Z$/i.test(i)){var o=i.match(W);if(o){var y=o[2]-1||0,b=(o[7]||"0").substring(0,3);return l?new Date(Date.UTC(o[1],y,o[3]||1,o[4]||0,o[5]||0,o[6]||0,b)):new Date(o[1],y,o[3]||1,o[4]||0,o[5]||0,o[6]||0,b)}}return new Date(i)}(n),this.init()},s.init=function(){var n=this.$d;this.$y=n.getFullYear(),this.$M=n.getMonth(),this.$D=n.getDate(),this.$W=n.getDay(),this.$H=n.getHours(),this.$m=n.getMinutes(),this.$s=n.getSeconds(),this.$ms=n.getMilliseconds()},s.$utils=function(){return g},s.isValid=function(){return this.$d.toString()!==Y},s.isSame=function(n,u){var i=$(n);return this.startOf(u)<=i&&i<=this.endOf(u)},s.isAfter=function(n,u){return $(n)<this.startOf(u)},s.isBefore=function(n,u){return this.endOf(u)<$(n)},s.$g=function(n,u,i){return g.u(n)?this[u]:this.set(i,n)},s.unix=function(){return Math.floor(this.valueOf()/1e3)},s.valueOf=function(){return this.$d.getTime()},s.startOf=function(n,u){var i=this,l=!!g.u(u)||u,o=g.p(n),y=function(S,M){var B=g.w(i.$u?Date.UTC(i.$y,M,S):new Date(i.$y,M,S),i);return l?B:B.endOf(P)},b=function(S,M){return g.w(i.toDate()[S].apply(i.toDate("s"),(l?[0,0,0,0]:[23,59,59,999]).slice(M)),i)},w=this.$W,O=this.$M,k=this.$D,N="set"+(this.$u?"UTC":"");switch(o){case r:return l?y(1,0):y(31,11);case L:return l?y(1,O):y(0,O+1);case A:var I=this.$locale().weekStart||0,V=(w<I?w+7:w)-I;return y(l?k-V:k+(6-V),O);case P:case E:return b(N+"Hours",0);case T:return b(N+"Minutes",1);case p:return b(N+"Seconds",2);case D:return b(N+"Milliseconds",3);default:return this.clone()}},s.endOf=function(n){return this.startOf(n,!1)},s.$set=function(n,u){var i,l=g.p(n),o="set"+(this.$u?"UTC":""),y=(i={},i[P]=o+"Date",i[E]=o+"Date",i[L]=o+"Month",i[r]=o+"FullYear",i[T]=o+"Hours",i[p]=o+"Minutes",i[D]=o+"Seconds",i[d]=o+"Milliseconds",i)[l],b=l===P?this.$D+(u-this.$W):u;if(l===L||l===r){var w=this.clone().set(E,1);w.$d[y](b),w.init(),this.$d=w.set(E,Math.min(this.$D,w.daysInMonth())).$d}else y&&this.$d[y](b);return this.init(),this},s.set=function(n,u){return this.clone().$set(n,u)},s.get=function(n){return this[g.p(n)]()},s.add=function(n,u){var i,l=this;n=Number(n);var o=g.p(u),y=function(O){var k=$(l);return g.w(k.date(k.date()+Math.round(O*n)),l)};if(o===L)return this.set(L,this.$M+n);if(o===r)return this.set(r,this.$y+n);if(o===P)return y(1);if(o===A)return y(7);var b=(i={},i[p]=f,i[T]=v,i[D]=a,i)[o]||1,w=this.$d.getTime()+n*b;return g.w(w,this)},s.subtract=function(n,u){return this.add(-1*n,u)},s.format=function(n){var u=this,i=this.$locale();if(!this.isValid())return i.invalidDate||Y;var l=n||"YYYY-MM-DDTHH:mm:ssZ",o=g.z(this),y=this.$H,b=this.$m,w=this.$M,O=i.weekdays,k=i.months,N=i.meridiem,I=function(M,B,Z,K){return M&&(M[B]||M(u,l))||Z[B].slice(0,K)},V=function(M){return g.s(y%12||12,M,"0")},S=N||function(M,B,Z){var K=M<12?"AM":"PM";return Z?K.toLowerCase():K};return l.replace(U,function(M,B){return B||function(Z){switch(Z){case"YY":return String(u.$y).slice(-2);case"YYYY":return g.s(u.$y,4,"0");case"M":return w+1;case"MM":return g.s(w+1,2,"0");case"MMM":return I(i.monthsShort,w,k,3);case"MMMM":return I(k,w);case"D":return u.$D;case"DD":return g.s(u.$D,2,"0");case"d":return String(u.$W);case"dd":return I(i.weekdaysMin,u.$W,O,2);case"ddd":return I(i.weekdaysShort,u.$W,O,3);case"dddd":return O[u.$W];case"H":return String(y);case"HH":return g.s(y,2,"0");case"h":return V(1);case"hh":return V(2);case"a":return S(y,b,!0);case"A":return S(y,b,!1);case"m":return String(b);case"mm":return g.s(b,2,"0");case"s":return String(u.$s);case"ss":return g.s(u.$s,2,"0");case"SSS":return g.s(u.$ms,3,"0");case"Z":return o}return null}(M)||o.replace(":","")})},s.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},s.diff=function(n,u,i){var l,o=this,y=g.p(u),b=$(n),w=(b.utcOffset()-this.utcOffset())*f,O=this-b,k=function(){return g.m(o,b)};switch(y){case r:l=k()/12;break;case L:l=k();break;case h:l=k()/3;break;case A:l=(O-w)/6048e5;break;case P:l=(O-w)/864e5;break;case T:l=O/v;break;case p:l=O/f;break;case D:l=O/a;break;default:l=O}return i?l:g.a(l)},s.daysInMonth=function(){return this.endOf(L).$D},s.$locale=function(){return j[this.$L]},s.locale=function(n,u){if(!n)return this.$L;var i=this.clone(),l=Q(n,u,!0);return l&&(i.$L=l),i},s.clone=function(){return g.w(this.$d,this)},s.toDate=function(){return new Date(this.valueOf())},s.toJSON=function(){return this.isValid()?this.toISOString():null},s.toISOString=function(){return this.$d.toISOString()},s.toString=function(){return this.$d.toUTCString()},c}(),J=F.prototype;return $.prototype=J,[["$ms",d],["$s",D],["$m",p],["$H",T],["$W",P],["$M",L],["$y",r],["$D",E]].forEach(function(c){J[c[1]]=function(s){return this.$g(s,c[0],c[1])}}),$.extend=function(c,s){return c.$i||(c(s,F,$),c.$i=!0),$},$.locale=Q,$.isDayjs=m,$.unix=function(c){return $(1e3*c)},$.en=j[_],$.Ls=j,$.p={},$})})(q);var oe=q.exports;const G=le(oe),fe=({data:t})=>{const e={},a={...t};return a.default&&(a.default.startTime&&(e.startTime=G(a.default.startTime).format()),a.default.endTime&&(e.endTime=G(a.default.endTime).format()),a.default.expirationTime&&(e.expirationTime=G(a.default.expirationTime).format())),a.advanced&&(a.advanced.currency&&(e.currency=a.advanced.currency),a.advanced.timezone&&(e.timezone=a.advanced.timezone),a.advanced.billingPlan&&(e.billingPlan=a.advanced.billingPlan),a.advanced.defaultTermDuration&&(e.defaultTermDuration=a.advanced.defaultTermDuration),a.advanced.installmentPlan&&(e.installmentPlan=a.advanced.installmentPlan),a.advanced.durationBasis&&(e.durationBasis=a.advanced.durationBasis),a.advanced.delinquencyPlanName&&(e.delinquencyPlanName=a.advanced.delinquencyPlanName)),delete a.default,delete a.advanced,e.setData=a,e},ee=t=>{const e=/^(.*?)(Quote|QuickQuote|Policy)$/,a=t.match(e);return a&&(a[2]==="Quote"||a[2]==="QuickQuote"||a[2]==="Policy")?[a[1],a[2]]:[t,null]};function te(t,e){if(t.locator===e)return t;if(t.elements)for(const a of t.elements){const f=te(a,e);if(f)return f}}function me(t,e){const[a]=ee(t.type??"");let f={};return e.exposures&&Object.keys(e.exposures).forEach(v=>{v===a&&e.exposures&&(f=e.exposures[v])}),e.coverages&&Object.keys(e.coverages).forEach(v=>{v===a&&e.coverages&&(f=e.coverages[v])}),e.policyLines&&Object.keys(e.policyLines).forEach(v=>{v===a&&e.policyLines&&(f=e.policyLines[v])}),e.exposureGroups&&Object.keys(e.exposureGroups).forEach(v=>{v===a&&e.exposureGroups&&(f=e.exposureGroups[v])}),f}function de(t){return t==null?void 0:t.map(e=>(e.keyword==="pattern"&&(e.message=`Invalid format, must match pattern ${e.params.pattern}`),e.keyword==="format"&&(e.message="Invalid format"),e.keyword==="required"&&(e.message="Required"),e.keyword==="minItems"&&(e.message=`Must have at least ${e.params.limit} item${e.params.limit!==1?"s":""}`),e.keyword==="maxItems"&&(e.message=`Must have at most ${e.params.limit} item${e.params.limit!==1?"s":""}`),e.keyword==="type"&&(e.message="Invalid format"),e.keyword==="maxLength"&&(e.message=`Must be at most ${e.params.limit} character${e.params.limit!==1?"s":""}`),e.keyword==="minLength"&&(e.message=`Must be at least ${e.params.limit} character${e.params.limit!==1?"s":""}`),e.keyword==="minimum"&&(e.message=`Must be greater than or equal to ${e.params.limit}`),e.keyword==="maximum"&&(e.message=`Must be less than or equal to ${e.params.limit}`),e.keyword==="enum"&&(e.message="Invalid value"),e))}const he=(t,e,a)=>{var f,v;return{...((f=t==null?void 0:t.element)==null?void 0:f.data)&&{...(v=t==null?void 0:t.element)==null?void 0:v.data},default:{...(t==null?void 0:t.startTime)&&{startTime:G(t.startTime).format("YYYY-MM-DD")},...(t==null?void 0:t.endTime)&&{endTime:G(t.endTime).format("YYYY-MM-DD")},...(t==null?void 0:t.expirationTime)&&{expirationTime:G(t.expirationTime).format("YYYY-MM-DD")}},advanced:{currency:(t==null?void 0:t.currency)??e.defaultCurrency??a.defaultCurrency??void 0,timezone:(t==null?void 0:t.timezone)??e.defaultTimeZone??a.defaultTimeZone??void 0,billingLevel:(t==null?void 0:t.billingLevel)??e.defaultBillingLevel??a.defaultBillingLevel??void 0,billingTrigger:(t==null?void 0:t.billingTrigger)??e.defaultBillingTrigger,durationBasis:(t==null?void 0:t.durationBasis)??e.defaultDurationBasis??void 0,delinquencyPlanName:(t==null?void 0:t.delinquencyPlanName)??(e==null?void 0:e.defaultDelinquencyPlan)??void 0,autoRenewalPlanName:(t==null?void 0:t.autoRenewalPlanName)??(e==null?void 0:e.defaultAutoRenewalPlan)??void 0}}},pe=t=>({...t.data,coverageTerms:t.coverageTerms??{}}),ne=(t,e)=>{for(const a of t){if(a.locator===e)return a;const f=ne(a.elements??[],e);if(f)return f}return!1},ie=(t,e)=>{var a,f;return((a=t.element)==null?void 0:a.locator)===e?t.element:ne(((f=t.element)==null?void 0:f.elements)??[],e)},ae=({dataModel:t,element:{productName:e}})=>t.products[e]??{},se=t=>{var f;t=t??"";const e=t.replace(/\?|\*|!|\+/g,""),a=(f=t.match(/\?|\*|!|\+/g))==null?void 0:f.pop();return{name:e,quantifier:a??""}},re=({dataModel:t,productDataModel:e})=>{const a=t.exposures??{},f=t.coverages??{},v=t.policyLines??{},d=t.exposureGroups??{},p=(e.contents??[]).map(r=>{const{name:E}=se(r);return E}),T=Object.keys(a).filter(r=>p.includes(r)),P=Object.keys(f).filter(r=>p.includes(r)),A=Object.keys(v).filter(r=>p.includes(r)),L=Object.keys(d).filter(r=>p.includes(r)),h={coverages:{},exposures:{},policyLines:{},exposureGroups:{}};for(const r of T)h.exposures[r]=a[r];for(const r of P)h.coverages[r]=f[r];for(const r of A)h.policyLines[r]=v[r];for(const r of L)h.exposureGroups[r]=d[r];return h},ge=({dataModel:t,quote:e,elementLocator:a})=>{const f=ie(e,a);if(!f)return{};const v=ae({element:e,dataModel:t}),d=re({dataModel:t,productDataModel:v});let D=!1;const p=f.type.split("Quote")[0];return Object.keys(d.exposures).forEach(T=>{T===p&&(D=d.exposures[T])}),D||Object.keys(d.coverages).forEach(T=>{T===p&&(D=d.coverages[T])}),D||Object.keys(d.policyLines).forEach(T=>{T===p&&(D=d.policyLines[T])}),D||Object.keys(d.exposureGroups).forEach(T=>{T===p&&(D=d.exposureGroups[T])}),D};x.dataModelToJSONSchema=H,x.extractElementDataModel=ge,x.extractElementFromQuote=ie,x.extractProductDataModel=ae,x.extractProductElements=re,x.getDefaultElementValues=pe,x.getDefaultQuoteValues=he,x.getQuoteElementRequest=ue,x.getQuoteRequest=fe,x.parseElementTypeAndScopeByElementType=ee,x.retrieveDataModelFromElement=me,x.retrieveElementFromQuoteByLocator=te,x.splitInputAndQuantifier=se,x.transformErrors=de,Object.defineProperty(x,Symbol.toStringTag,{value:"Module"})});
1
+ (function(S,W){typeof exports=="object"&&typeof module<"u"?W(exports):typeof define=="function"&&define.amd?define(["exports"],W):(S=typeof globalThis<"u"?globalThis:S||self,W(S.schemas={}))})(this,function(S){"use strict";const W=e=>{const{data:t,scope:u,dataTypes:$,rootDisplayName:Y,account:d,quote:b,element:h}=e,D=[];let E={};const Q=Object.fromEntries(Object.entries(t??{}).filter(([,m])=>{var x;const s=(x=m.scope)==null?void 0:x.split(",").map(L=>L.trim());return!!(!s||u==="P"&&(s!=null&&s.includes("P"))||s!=null&&s.includes("Q")||u==="Q"&&(s!=null&&s.includes("Q")))}).map(([m,s])=>{var H,R,l,i,n,r,a,c,f,p,v,M,T,P,V,I,B;let x=!1,L=!1,G=!1;const U=s.displayName??m,X=(H=s.type)==null?void 0:H.slice(-1),A=s.maxLength,F=s.minLength,N=s.max,j=s.min,J=s.regex;let o=s.type??"",_;switch(X){case"*":L=!0,x=!0,o=o==null?void 0:o.split("*")[0];break;case"?":o=o==null?void 0:o.split("?")[0],x=!0;break;case"+":L=!0,o=o==null?void 0:o.split("+")[0];break;case"!":o=o==null?void 0:o.split("!")[0];break}switch(o){case"string":o="string";break;case"int":case"long":o="integer";break;case"decimal":o="number";break;case"dateTime":case"datetime":o="string",_="date-time";break;case"date":o="string",_="date";break;case"boolean":case"bool":o="boolean";break;default:G=!0;break}if(!x&&!G&&!L&&D.push(m),G){const O=$==null?void 0:$[o];if(O){let w=L?[]:{};const C=W({data:O.data??{},scope:u,dataTypes:$,rootDisplayName:O.displayName??m});return b&&(l=(R=b.element)==null?void 0:R.data)!=null&&l[m]&&(w=(n=(i=b.element)==null?void 0:i.data)==null?void 0:n[m]),h&&(r=h==null?void 0:h.data)!=null&&r[m]&&(w=(a=h==null?void 0:h.data)==null?void 0:a[m]),d&&(c=d==null?void 0:d.data)!=null&&c[m]&&(w=(f=d==null?void 0:d.data)==null?void 0:f[m]),E={...E,[`${o}`]:C},L?[m,{title:O.displayName??m,type:"array",default:w,items:{$ref:`#/definitions/${o}`},...!x&&{minItems:1}}]:[m,{title:O.displayName??m,default:w,$ref:`#/definitions/${o}`}]}}let y="";if(d){const O=(d==null?void 0:d.state)==="validated"?m.charAt(0).toLowerCase()+m.slice(1):m;y=(p=d==null?void 0:d.data)!=null&&p[O]?(v=d==null?void 0:d.data)==null?void 0:v[O]:o==="boolean"?!!s.defaultValue:s.defaultValue}return b&&(y=(T=(M=b.element)==null?void 0:M.data)!=null&&T[m]?(V=(P=b.element)==null?void 0:P.data)==null?void 0:V[m]:o==="boolean"?!!s.defaultValue:s.defaultValue),h&&(y=(I=h==null?void 0:h.data)!=null&&I[m]?(B=h==null?void 0:h.data)==null?void 0:B[m]:o==="boolean"?!!s.defaultValue:s.defaultValue),L?[m,{title:U,type:"array",default:y,items:{type:o,...A&&{maxLength:A},...F&&{minLength:F},...j&&{min:j},...N&&{max:N},..._&&{format:_},...J&&{pattern:s.regex}},...!x&&{minItems:1}}]:[m,{title:U,type:o,...y&&{default:y},...F&&{minLength:F},...A&&{maxLength:A},...j&&{minimum:parseInt(j)},...N&&{maximum:parseInt(N)},..._&&{format:_},...s.options&&{enum:s.options},...J&&{pattern:s.regex}}]}));return{title:Y,type:"object",definitions:E,required:D,properties:Q}};var se=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function re(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var q={exports:{}};(function(e,t){(function(u,$){e.exports=$()})(se,function(){var u=1e3,$=6e4,Y=36e5,d="millisecond",b="second",h="minute",D="hour",E="day",Q="week",k="month",m="quarter",s="year",x="date",L="Invalid Date",G=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,U=/\[([^\]]+)]|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,X={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(l){var i=["th","st","nd","rd"],n=l%100;return"["+l+(i[(n-20)%10]||i[n]||i[0])+"]"}},A=function(l,i,n){var r=String(l);return!r||r.length>=i?l:""+Array(i+1-r.length).join(n)+l},F={s:A,z:function(l){var i=-l.utcOffset(),n=Math.abs(i),r=Math.floor(n/60),a=n%60;return(i<=0?"+":"-")+A(r,2,"0")+":"+A(a,2,"0")},m:function l(i,n){if(i.date()<n.date())return-l(n,i);var r=12*(n.year()-i.year())+(n.month()-i.month()),a=i.clone().add(r,k),c=n-a<0,f=i.clone().add(r+(c?-1:1),k);return+(-(r+(n-a)/(c?a-f:f-a))||0)},a:function(l){return l<0?Math.ceil(l)||0:Math.floor(l)},p:function(l){return{M:k,y:s,w:Q,d:E,D:x,h:D,m:h,s:b,ms:d,Q:m}[l]||String(l||"").toLowerCase().replace(/s$/,"")},u:function(l){return l===void 0}},N="en",j={};j[N]=X;var J="$isDayjsObject",o=function(l){return l instanceof H||!(!l||!l[J])},_=function l(i,n,r){var a;if(!i)return N;if(typeof i=="string"){var c=i.toLowerCase();j[c]&&(a=c),n&&(j[c]=n,a=c);var f=i.split("-");if(!a&&f.length>1)return l(f[0])}else{var p=i.name;j[p]=i,a=p}return!r&&a&&(N=a),a||!r&&N},y=function(l,i){if(o(l))return l.clone();var n=typeof i=="object"?i:{};return n.date=l,n.args=arguments,new H(n)},g=F;g.l=_,g.i=o,g.w=function(l,i){return y(l,{locale:i.$L,utc:i.$u,x:i.$x,$offset:i.$offset})};var H=function(){function l(n){this.$L=_(n.locale,null,!0),this.parse(n),this.$x=this.$x||n.x||{},this[J]=!0}var i=l.prototype;return i.parse=function(n){this.$d=function(r){var a=r.date,c=r.utc;if(a===null)return new Date(NaN);if(g.u(a))return new Date;if(a instanceof Date)return new Date(a);if(typeof a=="string"&&!/Z$/i.test(a)){var f=a.match(G);if(f){var p=f[2]-1||0,v=(f[7]||"0").substring(0,3);return c?new Date(Date.UTC(f[1],p,f[3]||1,f[4]||0,f[5]||0,f[6]||0,v)):new Date(f[1],p,f[3]||1,f[4]||0,f[5]||0,f[6]||0,v)}}return new Date(a)}(n),this.init()},i.init=function(){var n=this.$d;this.$y=n.getFullYear(),this.$M=n.getMonth(),this.$D=n.getDate(),this.$W=n.getDay(),this.$H=n.getHours(),this.$m=n.getMinutes(),this.$s=n.getSeconds(),this.$ms=n.getMilliseconds()},i.$utils=function(){return g},i.isValid=function(){return this.$d.toString()!==L},i.isSame=function(n,r){var a=y(n);return this.startOf(r)<=a&&a<=this.endOf(r)},i.isAfter=function(n,r){return y(n)<this.startOf(r)},i.isBefore=function(n,r){return this.endOf(r)<y(n)},i.$g=function(n,r,a){return g.u(n)?this[r]:this.set(a,n)},i.unix=function(){return Math.floor(this.valueOf()/1e3)},i.valueOf=function(){return this.$d.getTime()},i.startOf=function(n,r){var a=this,c=!!g.u(r)||r,f=g.p(n),p=function(O,w){var C=g.w(a.$u?Date.UTC(a.$y,w,O):new Date(a.$y,w,O),a);return c?C:C.endOf(E)},v=function(O,w){return g.w(a.toDate()[O].apply(a.toDate("s"),(c?[0,0,0,0]:[23,59,59,999]).slice(w)),a)},M=this.$W,T=this.$M,P=this.$D,V="set"+(this.$u?"UTC":"");switch(f){case s:return c?p(1,0):p(31,11);case k:return c?p(1,T):p(0,T+1);case Q:var I=this.$locale().weekStart||0,B=(M<I?M+7:M)-I;return p(c?P-B:P+(6-B),T);case E:case x:return v(V+"Hours",0);case D:return v(V+"Minutes",1);case h:return v(V+"Seconds",2);case b:return v(V+"Milliseconds",3);default:return this.clone()}},i.endOf=function(n){return this.startOf(n,!1)},i.$set=function(n,r){var a,c=g.p(n),f="set"+(this.$u?"UTC":""),p=(a={},a[E]=f+"Date",a[x]=f+"Date",a[k]=f+"Month",a[s]=f+"FullYear",a[D]=f+"Hours",a[h]=f+"Minutes",a[b]=f+"Seconds",a[d]=f+"Milliseconds",a)[c],v=c===E?this.$D+(r-this.$W):r;if(c===k||c===s){var M=this.clone().set(x,1);M.$d[p](v),M.init(),this.$d=M.set(x,Math.min(this.$D,M.daysInMonth())).$d}else p&&this.$d[p](v);return this.init(),this},i.set=function(n,r){return this.clone().$set(n,r)},i.get=function(n){return this[g.p(n)]()},i.add=function(n,r){var a,c=this;n=Number(n);var f=g.p(r),p=function(T){var P=y(c);return g.w(P.date(P.date()+Math.round(T*n)),c)};if(f===k)return this.set(k,this.$M+n);if(f===s)return this.set(s,this.$y+n);if(f===E)return p(1);if(f===Q)return p(7);var v=(a={},a[h]=$,a[D]=Y,a[b]=u,a)[f]||1,M=this.$d.getTime()+n*v;return g.w(M,this)},i.subtract=function(n,r){return this.add(-1*n,r)},i.format=function(n){var r=this,a=this.$locale();if(!this.isValid())return a.invalidDate||L;var c=n||"YYYY-MM-DDTHH:mm:ssZ",f=g.z(this),p=this.$H,v=this.$m,M=this.$M,T=a.weekdays,P=a.months,V=a.meridiem,I=function(w,C,Z,K){return w&&(w[C]||w(r,c))||Z[C].slice(0,K)},B=function(w){return g.s(p%12||12,w,"0")},O=V||function(w,C,Z){var K=w<12?"AM":"PM";return Z?K.toLowerCase():K};return c.replace(U,function(w,C){return C||function(Z){switch(Z){case"YY":return String(r.$y).slice(-2);case"YYYY":return g.s(r.$y,4,"0");case"M":return M+1;case"MM":return g.s(M+1,2,"0");case"MMM":return I(a.monthsShort,M,P,3);case"MMMM":return I(P,M);case"D":return r.$D;case"DD":return g.s(r.$D,2,"0");case"d":return String(r.$W);case"dd":return I(a.weekdaysMin,r.$W,T,2);case"ddd":return I(a.weekdaysShort,r.$W,T,3);case"dddd":return T[r.$W];case"H":return String(p);case"HH":return g.s(p,2,"0");case"h":return B(1);case"hh":return B(2);case"a":return O(p,v,!0);case"A":return O(p,v,!1);case"m":return String(v);case"mm":return g.s(v,2,"0");case"s":return String(r.$s);case"ss":return g.s(r.$s,2,"0");case"SSS":return g.s(r.$ms,3,"0");case"Z":return f}return null}(w)||f.replace(":","")})},i.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},i.diff=function(n,r,a){var c,f=this,p=g.p(r),v=y(n),M=(v.utcOffset()-this.utcOffset())*$,T=this-v,P=function(){return g.m(f,v)};switch(p){case s:c=P()/12;break;case k:c=P();break;case m:c=P()/3;break;case Q:c=(T-M)/6048e5;break;case E:c=(T-M)/864e5;break;case D:c=T/Y;break;case h:c=T/$;break;case b:c=T/u;break;default:c=T}return a?c:g.a(c)},i.daysInMonth=function(){return this.endOf(k).$D},i.$locale=function(){return j[this.$L]},i.locale=function(n,r){if(!n)return this.$L;var a=this.clone(),c=_(n,r,!0);return c&&(a.$L=c),a},i.clone=function(){return g.w(this.$d,this)},i.toDate=function(){return new Date(this.valueOf())},i.toJSON=function(){return this.isValid()?this.toISOString():null},i.toISOString=function(){return this.$d.toISOString()},i.toString=function(){return this.$d.toUTCString()},l}(),R=H.prototype;return y.prototype=R,[["$ms",d],["$s",b],["$m",h],["$H",D],["$W",E],["$M",k],["$y",s],["$D",x]].forEach(function(l){R[l[1]]=function(i){return this.$g(i,l[0],l[1])}}),y.extend=function(l,i){return l.$i||(l(i,H,y),l.$i=!0),y},y.locale=_,y.isDayjs=o,y.unix=function(l){return y(1e3*l)},y.en=j[N],y.Ls=j,y.p={},y})})(q);var ue=q.exports;const z=re(ue),le=({data:e})=>{const t={},u={...e};return u.default&&(u.default.startTime&&(t.startTime=z(u.default.startTime).format()),u.default.endTime&&(t.endTime=z(u.default.endTime).format()),u.default.expirationTime&&(t.expirationTime=z(u.default.expirationTime).format())),u.advanced&&(u.advanced.currency&&(t.currency=u.advanced.currency),u.advanced.timezone&&(t.timezone=u.advanced.timezone),u.advanced.billingPlan&&(t.billingPlan=u.advanced.billingPlan),u.advanced.defaultTermDuration&&(t.defaultTermDuration=u.advanced.defaultTermDuration),u.advanced.installmentPlan&&(t.installmentPlan=u.advanced.installmentPlan),u.advanced.durationBasis&&(t.durationBasis=u.advanced.durationBasis),u.advanced.delinquencyPlanName&&(t.delinquencyPlanName=u.advanced.delinquencyPlanName)),delete u.default,delete u.advanced,t.setData=u,t};function ce(e){return e==null?void 0:e.map(t=>(t.keyword==="pattern"&&(t.message=`Invalid format, must match pattern ${t.params.pattern}`),t.keyword==="format"&&(t.message="Invalid format"),t.keyword==="required"&&(t.message="Required"),t.keyword==="minItems"&&(t.message=`Must have at least ${t.params.limit} item${t.params.limit!==1?"s":""}`),t.keyword==="maxItems"&&(t.message=`Must have at most ${t.params.limit} item${t.params.limit!==1?"s":""}`),t.keyword==="type"&&(t.message="Invalid format"),t.keyword==="maxLength"&&(t.message=`Must be at most ${t.params.limit} character${t.params.limit!==1?"s":""}`),t.keyword==="minLength"&&(t.message=`Must be at least ${t.params.limit} character${t.params.limit!==1?"s":""}`),t.keyword==="minimum"&&(t.message=`Must be greater than or equal to ${t.params.limit}`),t.keyword==="maximum"&&(t.message=`Must be less than or equal to ${t.params.limit}`),t.keyword==="enum"&&(t.message="Invalid value"),t))}const fe=(e,t,u)=>{var $,Y;return{...(($=e==null?void 0:e.element)==null?void 0:$.data)&&{...(Y=e==null?void 0:e.element)==null?void 0:Y.data},default:{...(e==null?void 0:e.startTime)&&{startTime:z(e.startTime).format("YYYY-MM-DD")},...(e==null?void 0:e.endTime)&&{endTime:z(e.endTime).format("YYYY-MM-DD")},...(e==null?void 0:e.expirationTime)&&{expirationTime:z(e.expirationTime).format("YYYY-MM-DD")}},advanced:{currency:(e==null?void 0:e.currency)??t.defaultCurrency??u.defaultCurrency??void 0,timezone:(e==null?void 0:e.timezone)??t.defaultTimeZone??u.defaultTimeZone??void 0,billingLevel:(e==null?void 0:e.billingLevel)??t.defaultBillingLevel??u.defaultBillingLevel??void 0,billingTrigger:(e==null?void 0:e.billingTrigger)??t.defaultBillingTrigger,durationBasis:(e==null?void 0:e.durationBasis)??t.defaultDurationBasis??void 0,delinquencyPlanName:(e==null?void 0:e.delinquencyPlanName)??(t==null?void 0:t.defaultDelinquencyPlan)??void 0,autoRenewalPlanName:(e==null?void 0:e.autoRenewalPlanName)??(t==null?void 0:t.defaultAutoRenewalPlan)??void 0}}},oe=e=>({...e.data,coverageTerms:e.coverageTerms??{}}),ee=(e,t)=>{for(const u of e){if(u.locator===t)return u;const $=ee(u.elements??[],t);if($)return $}return!1},te=(e,t)=>{var u,$;return((u=e.element)==null?void 0:u.locator)===t?e.element:ee((($=e.element)==null?void 0:$.elements)??[],t)},ne=({dataModel:e,element:{productName:t}})=>e.products[t]??{},ae=e=>{var $;e=e??"";const t=e.replace(/\?|\*|!|\+/g,""),u=($=e.match(/\?|\*|!|\+/g))==null?void 0:$.pop();return{name:t,quantifier:u??""}},ie=({dataModel:e,productDataModel:t})=>{const u=e.exposures??{},$=e.coverages??{},Y=e.policyLines??{},d=e.exposureGroups??{},h=(t.contents??[]).map(s=>{const{name:x}=ae(s);return x}),D=Object.keys(u).filter(s=>h.includes(s)),E=Object.keys($).filter(s=>h.includes(s)),Q=Object.keys(Y).filter(s=>h.includes(s)),k=Object.keys(d).filter(s=>h.includes(s)),m={coverages:{},exposures:{},policyLines:{},exposureGroups:{}};for(const s of D)m.exposures[s]=u[s];for(const s of E)m.coverages[s]=$[s];for(const s of Q)m.policyLines[s]=Y[s];for(const s of k)m.exposureGroups[s]=d[s];return m},de=({dataModel:e,quote:t,elementLocator:u})=>{const $=te(t,u);if(!$)return{};const Y=ne({element:t,dataModel:e}),d=ie({dataModel:e,productDataModel:Y});let b=!1;const h=$.type.split("Quote")[0];return Object.keys(d.exposures).forEach(D=>{D===h&&(b=d.exposures[D])}),b||Object.keys(d.coverages).forEach(D=>{D===h&&(b=d.coverages[D])}),b||Object.keys(d.policyLines).forEach(D=>{D===h&&(b=d.policyLines[D])}),b||Object.keys(d.exposureGroups).forEach(D=>{D===h&&(b=d.exposureGroups[D])}),b};S.dataModelToJSONSchema=W,S.extractElementDataModel=de,S.extractElementFromQuote=te,S.extractProductDataModel=ne,S.extractProductElements=ie,S.getDefaultElementValues=oe,S.getDefaultQuoteValues=fe,S.getQuoteRequest=le,S.splitInputAndQuantifier=ae,S.transformErrors=ce,Object.defineProperty(S,Symbol.toStringTag,{value:"Module"})});
2
2
  //# sourceMappingURL=index.umd.js.map