@socotra/ec-react-utils 2.4.0-next.1 → 2.4.0-next.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.es.js CHANGED
@@ -87,7 +87,7 @@ const ee = (e) => {
87
87
  }
88
88
  let v = "";
89
89
  if (g) {
90
- const O = (g == null ? void 0 : g.state) === "validated" ? d.charAt(0).toLowerCase() + d.slice(1) : d;
90
+ const O = (g == null ? void 0 : g.accountState) === "validated" ? d.charAt(0).toLowerCase() + d.slice(1) : d;
91
91
  v = (p = g == null ? void 0 : g.data) != null && p[O] ? (b = g == null ? void 0 : g.data) == null ? void 0 : b[O] : m === "boolean" ? !!c.defaultValue : c.defaultValue;
92
92
  }
93
93
  return x && (v = (w = (D = x.element) == null ? void 0 : D.data) != null && w[d] ? (I = (S = x.element) == null ? void 0 : S.data) == null ? void 0 : I[d] : m === "boolean" ? !!c.defaultValue : c.defaultValue), $ && (v = (N = $ == null ? void 0 : $.data) != null && N[d] ? (A = $ == null ? void 0 : $.data) == null ? void 0 : A[d] : m === "boolean" ? !!c.defaultValue : c.defaultValue), P ? [
@@ -1 +1 @@
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-coverage-terms-default-values.ts","../lib/utils/get-default-quote-values.ts","../lib/utils/get-default-element-values.ts","../lib/utils/extract-element-data-model-from-type.ts","../lib/utils/extract-element-from-quote.ts","../lib/utils/extract-element-data-model.ts","../lib/utils/extract-elements-from-quote.ts","../lib/utils/extract-product-data-model.ts","../lib/utils/split-input-and-quantifier.ts","../lib/utils/extract-product-elements.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: Array<'P' | 'Q' | 'QQ'>;\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\n\t\t\t\tif (scope.some((s) => dataScope.includes(s))) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\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\tcoverageTerms?: {\n\t\t\t[key: string]: 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 = structuredClone(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\tif (formData.coverageTerms) {\n\t\trequest.setCoverageTerms = data.coverageTerms;\n\t}\n\n\tdelete formData.coverageTerms;\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 { CoverageTermsConfigRecord } from '@socotra/ec-react-schemas';\n\n/**\n * The `getCoverageTermsDefaultValues` function extracts default coverage terms values from a\n * `CoverageTermsConfigRecord` object and sets them based on certain conditions.\n * @param {Record<string, string>} coverageTermOptions - The `coverageTermOptions` parameter in the\n * `getCoverageTermsDefaultValues` function represents the options for coverage terms.\n * @param {CoverageTermsConfigRecord} coverageTermDataModel - The `coverageTermDataModel` parameter in the\n * `getCoverageTermsDefaultValues` function represents the configuration settings for coverage terms.\n * @returns The `getCoverageTermsDefaultValues` function returns an object with default values for\n * coverage terms.\n */\nexport const getCoverageTermsDefaultValues = ({\n\tcoverageTermOptions,\n\tcoverageTermDataModel,\n}: {\n\tcoverageTermOptions: Record<string, string>;\n\tcoverageTermDataModel: CoverageTermsConfigRecord;\n}) => {\n\tconst coverageTermsDefaultValues = structuredClone(coverageTermOptions) ?? {};\n\n\tconst coverageTermsDataModel = coverageTermDataModel;\n\n\tObject.keys(coverageTermsDataModel).forEach((coverageTermKey) => {\n\t\t// Check if it's already set by the quote\n\t\tif (coverageTermsDefaultValues[coverageTermKey]) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst options = Object.keys(\n\t\t\tcoverageTermsDataModel[coverageTermKey].options,\n\t\t);\n\n\t\toptions.forEach((option) => {\n\t\t\tif (option.startsWith('*')) {\n\t\t\t\t// Remove the * and set the default value\n\t\t\t\tconst defaultValue = option.substring(1);\n\t\t\t\tcoverageTermsDefaultValues[coverageTermKey] = defaultValue;\n\t\t\t}\n\t\t});\n\t});\n\n\treturn coverageTermsDefaultValues;\n};\n","import {\n\tDataModel,\n\tProductConfig,\n\tQuoteResponse,\n} from '@socotra/ec-react-schemas';\nimport dayjs from 'dayjs';\n\nimport { getCoverageTermsDefaultValues } from './get-coverage-terms-default-values';\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\tcoverageTerms: getCoverageTermsDefaultValues({\n\t\t\tcoverageTermDataModel: dataModel.coverageTerms,\n\t\t\tcoverageTermOptions: quote?.element?.coverageTerms ?? {},\n\t\t}),\n\t};\n};\n","import {\n\tCoverageTermsConfigRecord,\n\tElementResponse,\n} from '@socotra/ec-react-schemas';\n\nimport { getCoverageTermsDefaultValues } from './get-coverage-terms-default-values';\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\tcoverageTermDataModel: CoverageTermsConfigRecord,\n): Partial<ElementResponse> => {\n\treturn {\n\t\t...element.data,\n\t\tcoverageTerms: getCoverageTermsDefaultValues({\n\t\t\tcoverageTermOptions: element.coverageTerms ?? {},\n\t\t\tcoverageTermDataModel: coverageTermDataModel,\n\t\t}),\n\t};\n};\n","import { DataModel, ElementConfig } from '@socotra/ec-react-schemas';\n\n/**\n * The function `extractElementDataModelFromType` extracts element data model given a data model and\n * element type.\n * @param - - `dataModel`: A DataModel object containing information about a data model.\n * @param - - `elementType`: A string containing the element type.\n * @returns The function `extractElementDataModelFromType` returns either an `ElementConfig` object or `false`\n * based on the provided parameters and data model.\n */\nexport const extractElementDataModelFromType = ({\n\tdataModel,\n\telementType,\n}: {\n\tdataModel: DataModel;\n\telementType: string;\n}): ElementConfig | false => {\n\tlet elementDataModel: ElementConfig | false = false;\n\n\t// elements on a quote have type {elementType}Quote, we have to split this\n\tconst splitElementType = elementType.split('Quote')[0];\n\n\t// Check exposures\n\tObject.keys(dataModel.exposures ?? {}).forEach((exposureKey) => {\n\t\tif (exposureKey === splitElementType) {\n\t\t\telementDataModel = dataModel.exposures\n\t\t\t\t? dataModel.exposures[exposureKey]\n\t\t\t\t: {};\n\t\t}\n\t});\n\n\t// Check coverages\n\tif (!elementDataModel) {\n\t\tObject.keys(dataModel.coverages ?? {}).forEach((coverageKey) => {\n\t\t\tif (coverageKey === splitElementType) {\n\t\t\t\telementDataModel = dataModel.coverages\n\t\t\t\t\t? dataModel.coverages[coverageKey]\n\t\t\t\t\t: {};\n\t\t\t}\n\t\t});\n\t}\n\n\t// Check policyLines\n\tif (!elementDataModel) {\n\t\tObject.keys(dataModel.policyLines ?? {}).forEach((policyLineKey) => {\n\t\t\tif (policyLineKey === splitElementType) {\n\t\t\t\telementDataModel = dataModel.policyLines\n\t\t\t\t\t? dataModel.policyLines[policyLineKey]\n\t\t\t\t\t: {};\n\t\t\t}\n\t\t});\n\t}\n\n\t// Check exposureGroups\n\tif (!elementDataModel) {\n\t\tObject.keys(dataModel.exposureGroups ?? {}).forEach((exposureGroupKey) => {\n\t\t\tif (exposureGroupKey === splitElementType) {\n\t\t\t\telementDataModel = dataModel.exposureGroups\n\t\t\t\t\t? dataModel.exposureGroups[exposureGroupKey]\n\t\t\t\t\t: {};\n\t\t\t}\n\t\t});\n\t}\n\n\treturn elementDataModel;\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\tElementConfig,\n\tQuoteResponse,\n} from '@socotra/ec-react-schemas';\n\nimport { extractElementDataModelFromType } from './extract-element-data-model-from-type';\nimport { extractElementFromQuote } from './extract-element-from-quote';\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 * @param - - `dataModel`: A DataModel object containing information about a data model.\n * @param - - `elementLocator`: A string containing the element locator.\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 elementDataModel = extractElementDataModelFromType({\n\t\tdataModel,\n\t\telementType: element.type,\n\t});\n\n\treturn elementDataModel;\n};\n","import { ElementResponse } from '@socotra/ec-react-schemas';\n\nexport const extractElementsFromQuote = (\n\telements: Array<ElementResponse>,\n\telementType: string,\n) => {\n\tconst filteredElements = elements.filter(\n\t\t(element) => element.type === `${elementType}Quote`,\n\t);\n\n\treturn filteredElements;\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 { DataModel, ElementConfig } 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\tcontents,\n}: {\n\tdataModel: DataModel;\n\tcontents: string[];\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 = 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"],"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","getCoverageTermsDefaultValues","coverageTermOptions","coverageTermDataModel","coverageTermsDefaultValues","coverageTermsDataModel","coverageTermKey","option","getDefaultQuoteValues","productModel","dataModel","getDefaultElementValues","extractElementDataModelFromType","elementType","elementDataModel","splitElementType","exposureKey","coverageKey","policyLineKey","exposureGroupKey","findElementInElementArray","elements","elementLocator","foundElement","extractElementFromQuote","extractElementDataModel","extractElementsFromQuote","extractProductDataModel","productName","splitInputAndQuantifier","input","name","extractProductElements","contents","dataModelExposures","dataModelCoverages","dataModelPolicyLines","dataModelExposureGroups","currProductModelElementsWithoutQuantifiers","availableExposureKeys","exposure","availableCoverageKeys","coverage","availablePolicyLineKeys","policyLine","availableExposureGroupKeys","exposureGroup","elementModels"],"mappings":"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","x_google_ignoreList":[1]}
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-coverage-terms-default-values.ts","../lib/utils/get-default-quote-values.ts","../lib/utils/get-default-element-values.ts","../lib/utils/extract-element-data-model-from-type.ts","../lib/utils/extract-element-from-quote.ts","../lib/utils/extract-element-data-model.ts","../lib/utils/extract-elements-from-quote.ts","../lib/utils/extract-product-data-model.ts","../lib/utils/split-input-and-quantifier.ts","../lib/utils/extract-product-elements.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: Array<'P' | 'Q' | 'QQ'>;\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\n\t\t\t\tif (scope.some((s) => dataScope.includes(s))) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\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?.accountState === '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\tcoverageTerms?: {\n\t\t\t[key: string]: 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 = structuredClone(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\tif (formData.coverageTerms) {\n\t\trequest.setCoverageTerms = data.coverageTerms;\n\t}\n\n\tdelete formData.coverageTerms;\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 { CoverageTermsConfigRecord } from '@socotra/ec-react-schemas';\n\n/**\n * The `getCoverageTermsDefaultValues` function extracts default coverage terms values from a\n * `CoverageTermsConfigRecord` object and sets them based on certain conditions.\n * @param {Record<string, string>} coverageTermOptions - The `coverageTermOptions` parameter in the\n * `getCoverageTermsDefaultValues` function represents the options for coverage terms.\n * @param {CoverageTermsConfigRecord} coverageTermDataModel - The `coverageTermDataModel` parameter in the\n * `getCoverageTermsDefaultValues` function represents the configuration settings for coverage terms.\n * @returns The `getCoverageTermsDefaultValues` function returns an object with default values for\n * coverage terms.\n */\nexport const getCoverageTermsDefaultValues = ({\n\tcoverageTermOptions,\n\tcoverageTermDataModel,\n}: {\n\tcoverageTermOptions: Record<string, string>;\n\tcoverageTermDataModel: CoverageTermsConfigRecord;\n}) => {\n\tconst coverageTermsDefaultValues = structuredClone(coverageTermOptions) ?? {};\n\n\tconst coverageTermsDataModel = coverageTermDataModel;\n\n\tObject.keys(coverageTermsDataModel).forEach((coverageTermKey) => {\n\t\t// Check if it's already set by the quote\n\t\tif (coverageTermsDefaultValues[coverageTermKey]) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst options = Object.keys(\n\t\t\tcoverageTermsDataModel[coverageTermKey].options,\n\t\t);\n\n\t\toptions.forEach((option) => {\n\t\t\tif (option.startsWith('*')) {\n\t\t\t\t// Remove the * and set the default value\n\t\t\t\tconst defaultValue = option.substring(1);\n\t\t\t\tcoverageTermsDefaultValues[coverageTermKey] = defaultValue;\n\t\t\t}\n\t\t});\n\t});\n\n\treturn coverageTermsDefaultValues;\n};\n","import {\n\tDataModel,\n\tProductConfig,\n\tQuoteResponse,\n} from '@socotra/ec-react-schemas';\nimport dayjs from 'dayjs';\n\nimport { getCoverageTermsDefaultValues } from './get-coverage-terms-default-values';\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\tcoverageTerms: getCoverageTermsDefaultValues({\n\t\t\tcoverageTermDataModel: dataModel.coverageTerms,\n\t\t\tcoverageTermOptions: quote?.element?.coverageTerms ?? {},\n\t\t}),\n\t};\n};\n","import {\n\tCoverageTermsConfigRecord,\n\tElementResponse,\n} from '@socotra/ec-react-schemas';\n\nimport { getCoverageTermsDefaultValues } from './get-coverage-terms-default-values';\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\tcoverageTermDataModel: CoverageTermsConfigRecord,\n): Partial<ElementResponse> => {\n\treturn {\n\t\t...element.data,\n\t\tcoverageTerms: getCoverageTermsDefaultValues({\n\t\t\tcoverageTermOptions: element.coverageTerms ?? {},\n\t\t\tcoverageTermDataModel: coverageTermDataModel,\n\t\t}),\n\t};\n};\n","import { DataModel, ElementConfig } from '@socotra/ec-react-schemas';\n\n/**\n * The function `extractElementDataModelFromType` extracts element data model given a data model and\n * element type.\n * @param - - `dataModel`: A DataModel object containing information about a data model.\n * @param - - `elementType`: A string containing the element type.\n * @returns The function `extractElementDataModelFromType` returns either an `ElementConfig` object or `false`\n * based on the provided parameters and data model.\n */\nexport const extractElementDataModelFromType = ({\n\tdataModel,\n\telementType,\n}: {\n\tdataModel: DataModel;\n\telementType: string;\n}): ElementConfig | false => {\n\tlet elementDataModel: ElementConfig | false = false;\n\n\t// elements on a quote have type {elementType}Quote, we have to split this\n\tconst splitElementType = elementType.split('Quote')[0];\n\n\t// Check exposures\n\tObject.keys(dataModel.exposures ?? {}).forEach((exposureKey) => {\n\t\tif (exposureKey === splitElementType) {\n\t\t\telementDataModel = dataModel.exposures\n\t\t\t\t? dataModel.exposures[exposureKey]\n\t\t\t\t: {};\n\t\t}\n\t});\n\n\t// Check coverages\n\tif (!elementDataModel) {\n\t\tObject.keys(dataModel.coverages ?? {}).forEach((coverageKey) => {\n\t\t\tif (coverageKey === splitElementType) {\n\t\t\t\telementDataModel = dataModel.coverages\n\t\t\t\t\t? dataModel.coverages[coverageKey]\n\t\t\t\t\t: {};\n\t\t\t}\n\t\t});\n\t}\n\n\t// Check policyLines\n\tif (!elementDataModel) {\n\t\tObject.keys(dataModel.policyLines ?? {}).forEach((policyLineKey) => {\n\t\t\tif (policyLineKey === splitElementType) {\n\t\t\t\telementDataModel = dataModel.policyLines\n\t\t\t\t\t? dataModel.policyLines[policyLineKey]\n\t\t\t\t\t: {};\n\t\t\t}\n\t\t});\n\t}\n\n\t// Check exposureGroups\n\tif (!elementDataModel) {\n\t\tObject.keys(dataModel.exposureGroups ?? {}).forEach((exposureGroupKey) => {\n\t\t\tif (exposureGroupKey === splitElementType) {\n\t\t\t\telementDataModel = dataModel.exposureGroups\n\t\t\t\t\t? dataModel.exposureGroups[exposureGroupKey]\n\t\t\t\t\t: {};\n\t\t\t}\n\t\t});\n\t}\n\n\treturn elementDataModel;\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\tElementConfig,\n\tQuoteResponse,\n} from '@socotra/ec-react-schemas';\n\nimport { extractElementDataModelFromType } from './extract-element-data-model-from-type';\nimport { extractElementFromQuote } from './extract-element-from-quote';\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 * @param - - `dataModel`: A DataModel object containing information about a data model.\n * @param - - `elementLocator`: A string containing the element locator.\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 elementDataModel = extractElementDataModelFromType({\n\t\tdataModel,\n\t\telementType: element.type,\n\t});\n\n\treturn elementDataModel;\n};\n","import { ElementResponse } from '@socotra/ec-react-schemas';\n\nexport const extractElementsFromQuote = (\n\telements: Array<ElementResponse>,\n\telementType: string,\n) => {\n\tconst filteredElements = elements.filter(\n\t\t(element) => element.type === `${elementType}Quote`,\n\t);\n\n\treturn filteredElements;\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 { DataModel, ElementConfig } 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\tcontents,\n}: {\n\tdataModel: DataModel;\n\tcontents: string[];\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 = 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"],"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","getCoverageTermsDefaultValues","coverageTermOptions","coverageTermDataModel","coverageTermsDefaultValues","coverageTermsDataModel","coverageTermKey","option","getDefaultQuoteValues","productModel","dataModel","getDefaultElementValues","extractElementDataModelFromType","elementType","elementDataModel","splitElementType","exposureKey","coverageKey","policyLineKey","exposureGroupKey","findElementInElementArray","elements","elementLocator","foundElement","extractElementFromQuote","extractElementDataModel","extractElementsFromQuote","extractProductDataModel","productName","splitInputAndQuantifier","input","name","extractProductElements","contents","dataModelExposures","dataModelCoverages","dataModelPolicyLines","dataModelExposureGroups","currProductModelElementsWithoutQuantifiers","availableExposureKeys","exposure","availableCoverageKeys","coverage","availablePolicyLineKeys","policyLine","availableExposureGroupKeys","exposureGroup","elementModels"],"mappings":"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","x_google_ignoreList":[1]}
package/dist/index.umd.js CHANGED
@@ -1,2 +1,2 @@
1
- (function(w,H){typeof exports=="object"&&typeof module<"u"?H(exports):typeof define=="function"&&define.amd?define(["exports"],H):(w=typeof globalThis<"u"?globalThis:w||self,H(w.schemas={}))})(this,function(w){"use strict";const H=e=>{const{data:t,scope:s,dataTypes:f,rootDisplayName:y,account:p,quote:x,element:$}=e,Y=[];let k={};const Q=Object.fromEntries(Object.entries(t??{}).filter(([,m])=>{var O;const c=(O=m.scope)==null?void 0:O.split(",").map(j=>j.trim());return!!(!c||s.some(j=>c.includes(j)))}).map(([m,c])=>{var F,R,u,i,n,r,a,l,o,g,D,b,M,E,V,C,B;let O=!1,j=!1,G=!1;const U=c.displayName??m,q=(F=c.type)==null?void 0:F.slice(-1),A=c.maxLength,z=c.minLength,N=c.max,L=c.min,J=c.regex;let d=c.type??"",_;switch(q){case"*":j=!0,O=!0,d=d==null?void 0:d.split("*")[0];break;case"?":d=d==null?void 0:d.split("?")[0],O=!0;break;case"+":j=!0,d=d==null?void 0:d.split("+")[0];break;case"!":d=d==null?void 0:d.split("!")[0];break}switch(d){case"string":d="string";break;case"int":case"long":d="integer";break;case"decimal":d="number";break;case"dateTime":case"datetime":d="string",_="date-time";break;case"date":d="string",_="date";break;case"boolean":case"bool":d="boolean";break;default:G=!0;break}if(!O&&!G&&!j&&Y.push(m),G){const S=f==null?void 0:f[d];if(S){let T=j?[]:{};const I=H({data:S.data??{},scope:s,dataTypes:f,rootDisplayName:S.displayName??m});return x&&(u=(R=x.element)==null?void 0:R.data)!=null&&u[m]&&(T=(n=(i=x.element)==null?void 0:i.data)==null?void 0:n[m]),$&&(r=$==null?void 0:$.data)!=null&&r[m]&&(T=(a=$==null?void 0:$.data)==null?void 0:a[m]),p&&(l=p==null?void 0:p.data)!=null&&l[m]&&(T=(o=p==null?void 0:p.data)==null?void 0:o[m]),k={...k,[`${d}`]:I},j?[m,{title:S.displayName??m,type:"array",default:T,items:{$ref:`#/definitions/${d}`},...!O&&{minItems:1}}]:[m,{title:S.displayName??m,default:T,$ref:`#/definitions/${d}`}]}}let v="";if(p){const S=(p==null?void 0:p.state)==="validated"?m.charAt(0).toLowerCase()+m.slice(1):m;v=(g=p==null?void 0:p.data)!=null&&g[S]?(D=p==null?void 0:p.data)==null?void 0:D[S]:d==="boolean"?!!c.defaultValue:c.defaultValue}return x&&(v=(M=(b=x.element)==null?void 0:b.data)!=null&&M[m]?(V=(E=x.element)==null?void 0:E.data)==null?void 0:V[m]:d==="boolean"?!!c.defaultValue:c.defaultValue),$&&(v=(C=$==null?void 0:$.data)!=null&&C[m]?(B=$==null?void 0:$.data)==null?void 0:B[m]:d==="boolean"?!!c.defaultValue:c.defaultValue),j?[m,{title:U,type:"array",default:v,items:{type:d,...A&&{maxLength:A},...z&&{minLength:z},...L&&{min:L},...N&&{max:N},..._&&{format:_},...J&&{pattern:c.regex}},...!O&&{minItems:1}}]:[m,{title:U,type:d,...v&&{default:v},...z&&{minLength:z},...A&&{maxLength:A},...L&&{minimum:parseInt(L)},...N&&{maximum:parseInt(N)},..._&&{format:_},...c.options&&{enum:c.options},...J&&{pattern:c.regex}}]}));return{title:y||"",type:"object",definitions:k,required:Y,properties:Q}};var ie=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 ee={exports:{}};(function(e,t){(function(s,f){e.exports=f()})(ie,function(){var s=1e3,f=6e4,y=36e5,p="millisecond",x="second",$="minute",Y="hour",k="day",Q="week",P="month",m="quarter",c="year",O="date",j="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,q={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(u){var i=["th","st","nd","rd"],n=u%100;return"["+u+(i[(n-20)%10]||i[n]||i[0])+"]"}},A=function(u,i,n){var r=String(u);return!r||r.length>=i?u:""+Array(i+1-r.length).join(n)+u},z={s:A,z:function(u){var i=-u.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 u(i,n){if(i.date()<n.date())return-u(n,i);var r=12*(n.year()-i.year())+(n.month()-i.month()),a=i.clone().add(r,P),l=n-a<0,o=i.clone().add(r+(l?-1:1),P);return+(-(r+(n-a)/(l?a-o:o-a))||0)},a:function(u){return u<0?Math.ceil(u)||0:Math.floor(u)},p:function(u){return{M:P,y:c,w:Q,d:k,D:O,h:Y,m:$,s:x,ms:p,Q:m}[u]||String(u||"").toLowerCase().replace(/s$/,"")},u:function(u){return u===void 0}},N="en",L={};L[N]=q;var J="$isDayjsObject",d=function(u){return u instanceof F||!(!u||!u[J])},_=function u(i,n,r){var a;if(!i)return N;if(typeof i=="string"){var l=i.toLowerCase();L[l]&&(a=l),n&&(L[l]=n,a=l);var o=i.split("-");if(!a&&o.length>1)return u(o[0])}else{var g=i.name;L[g]=i,a=g}return!r&&a&&(N=a),a||!r&&N},v=function(u,i){if(d(u))return u.clone();var n=typeof i=="object"?i:{};return n.date=u,n.args=arguments,new F(n)},h=z;h.l=_,h.i=d,h.w=function(u,i){return v(u,{locale:i.$L,utc:i.$u,x:i.$x,$offset:i.$offset})};var F=function(){function u(n){this.$L=_(n.locale,null,!0),this.parse(n),this.$x=this.$x||n.x||{},this[J]=!0}var i=u.prototype;return i.parse=function(n){this.$d=function(r){var a=r.date,l=r.utc;if(a===null)return new Date(NaN);if(h.u(a))return new Date;if(a instanceof Date)return new Date(a);if(typeof a=="string"&&!/Z$/i.test(a)){var o=a.match(G);if(o){var g=o[2]-1||0,D=(o[7]||"0").substring(0,3);return l?new Date(Date.UTC(o[1],g,o[3]||1,o[4]||0,o[5]||0,o[6]||0,D)):new Date(o[1],g,o[3]||1,o[4]||0,o[5]||0,o[6]||0,D)}}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 h},i.isValid=function(){return this.$d.toString()!==j},i.isSame=function(n,r){var a=v(n);return this.startOf(r)<=a&&a<=this.endOf(r)},i.isAfter=function(n,r){return v(n)<this.startOf(r)},i.isBefore=function(n,r){return this.endOf(r)<v(n)},i.$g=function(n,r,a){return h.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,l=!!h.u(r)||r,o=h.p(n),g=function(S,T){var I=h.w(a.$u?Date.UTC(a.$y,T,S):new Date(a.$y,T,S),a);return l?I:I.endOf(k)},D=function(S,T){return h.w(a.toDate()[S].apply(a.toDate("s"),(l?[0,0,0,0]:[23,59,59,999]).slice(T)),a)},b=this.$W,M=this.$M,E=this.$D,V="set"+(this.$u?"UTC":"");switch(o){case c:return l?g(1,0):g(31,11);case P:return l?g(1,M):g(0,M+1);case Q:var C=this.$locale().weekStart||0,B=(b<C?b+7:b)-C;return g(l?E-B:E+(6-B),M);case k:case O:return D(V+"Hours",0);case Y:return D(V+"Minutes",1);case $:return D(V+"Seconds",2);case x:return D(V+"Milliseconds",3);default:return this.clone()}},i.endOf=function(n){return this.startOf(n,!1)},i.$set=function(n,r){var a,l=h.p(n),o="set"+(this.$u?"UTC":""),g=(a={},a[k]=o+"Date",a[O]=o+"Date",a[P]=o+"Month",a[c]=o+"FullYear",a[Y]=o+"Hours",a[$]=o+"Minutes",a[x]=o+"Seconds",a[p]=o+"Milliseconds",a)[l],D=l===k?this.$D+(r-this.$W):r;if(l===P||l===c){var b=this.clone().set(O,1);b.$d[g](D),b.init(),this.$d=b.set(O,Math.min(this.$D,b.daysInMonth())).$d}else g&&this.$d[g](D);return this.init(),this},i.set=function(n,r){return this.clone().$set(n,r)},i.get=function(n){return this[h.p(n)]()},i.add=function(n,r){var a,l=this;n=Number(n);var o=h.p(r),g=function(M){var E=v(l);return h.w(E.date(E.date()+Math.round(M*n)),l)};if(o===P)return this.set(P,this.$M+n);if(o===c)return this.set(c,this.$y+n);if(o===k)return g(1);if(o===Q)return g(7);var D=(a={},a[$]=f,a[Y]=y,a[x]=s,a)[o]||1,b=this.$d.getTime()+n*D;return h.w(b,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||j;var l=n||"YYYY-MM-DDTHH:mm:ssZ",o=h.z(this),g=this.$H,D=this.$m,b=this.$M,M=a.weekdays,E=a.months,V=a.meridiem,C=function(T,I,Z,X){return T&&(T[I]||T(r,l))||Z[I].slice(0,X)},B=function(T){return h.s(g%12||12,T,"0")},S=V||function(T,I,Z){var X=T<12?"AM":"PM";return Z?X.toLowerCase():X};return l.replace(U,function(T,I){return I||function(Z){switch(Z){case"YY":return String(r.$y).slice(-2);case"YYYY":return h.s(r.$y,4,"0");case"M":return b+1;case"MM":return h.s(b+1,2,"0");case"MMM":return C(a.monthsShort,b,E,3);case"MMMM":return C(E,b);case"D":return r.$D;case"DD":return h.s(r.$D,2,"0");case"d":return String(r.$W);case"dd":return C(a.weekdaysMin,r.$W,M,2);case"ddd":return C(a.weekdaysShort,r.$W,M,3);case"dddd":return M[r.$W];case"H":return String(g);case"HH":return h.s(g,2,"0");case"h":return B(1);case"hh":return B(2);case"a":return S(g,D,!0);case"A":return S(g,D,!1);case"m":return String(D);case"mm":return h.s(D,2,"0");case"s":return String(r.$s);case"ss":return h.s(r.$s,2,"0");case"SSS":return h.s(r.$ms,3,"0");case"Z":return o}return null}(T)||o.replace(":","")})},i.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},i.diff=function(n,r,a){var l,o=this,g=h.p(r),D=v(n),b=(D.utcOffset()-this.utcOffset())*f,M=this-D,E=function(){return h.m(o,D)};switch(g){case c:l=E()/12;break;case P:l=E();break;case m:l=E()/3;break;case Q:l=(M-b)/6048e5;break;case k:l=(M-b)/864e5;break;case Y:l=M/y;break;case $:l=M/f;break;case x:l=M/s;break;default:l=M}return a?l:h.a(l)},i.daysInMonth=function(){return this.endOf(P).$D},i.$locale=function(){return L[this.$L]},i.locale=function(n,r){if(!n)return this.$L;var a=this.clone(),l=_(n,r,!0);return l&&(a.$L=l),a},i.clone=function(){return h.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()},u}(),R=F.prototype;return v.prototype=R,[["$ms",p],["$s",x],["$m",$],["$H",Y],["$W",k],["$M",P],["$y",c],["$D",O]].forEach(function(u){R[u[1]]=function(i){return this.$g(i,u[0],u[1])}}),v.extend=function(u,i){return u.$i||(u(i,F,v),u.$i=!0),v},v.locale=_,v.isDayjs=d,v.unix=function(u){return v(1e3*u)},v.en=L[N],v.Ls=L,v.p={},v})})(ee);var ce=ee.exports;const W=re(ce),ue=({data:e})=>{const t={},s=structuredClone(e);return s.default&&(s.default.startTime&&(t.startTime=W(s.default.startTime).format()),s.default.endTime&&(t.endTime=W(s.default.endTime).format()),s.default.expirationTime&&(t.expirationTime=W(s.default.expirationTime).format())),s.advanced&&(s.advanced.currency&&(t.currency=s.advanced.currency),s.advanced.timezone&&(t.timezone=s.advanced.timezone),s.advanced.billingPlan&&(t.billingPlan=s.advanced.billingPlan),s.advanced.defaultTermDuration&&(t.defaultTermDuration=s.advanced.defaultTermDuration),s.advanced.installmentPlan&&(t.installmentPlan=s.advanced.installmentPlan),s.advanced.durationBasis&&(t.durationBasis=s.advanced.durationBasis),s.advanced.delinquencyPlanName&&(t.delinquencyPlanName=s.advanced.delinquencyPlanName)),s.coverageTerms&&(t.setCoverageTerms=e.coverageTerms),delete s.coverageTerms,delete s.default,delete s.advanced,t.setData=s,t};function le(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 K=({coverageTermOptions:e,coverageTermDataModel:t})=>{const s=structuredClone(e)??{},f=t;return Object.keys(f).forEach(y=>{if(s[y])return;Object.keys(f[y].options).forEach(x=>{if(x.startsWith("*")){const $=x.substring(1);s[y]=$}})}),s},oe=(e,t,s)=>{var f,y,p;return{...((f=e==null?void 0:e.element)==null?void 0:f.data)&&{...(y=e==null?void 0:e.element)==null?void 0:y.data},default:{...(e==null?void 0:e.startTime)&&{startTime:W(e.startTime).format("YYYY-MM-DD")},...(e==null?void 0:e.endTime)&&{endTime:W(e.endTime).format("YYYY-MM-DD")},...(e==null?void 0:e.expirationTime)&&{expirationTime:W(e.expirationTime).format("YYYY-MM-DD")}},advanced:{currency:(e==null?void 0:e.currency)??t.defaultCurrency??s.defaultCurrency??void 0,timezone:(e==null?void 0:e.timezone)??t.defaultTimeZone??s.defaultTimeZone??void 0,billingLevel:(e==null?void 0:e.billingLevel)??t.defaultBillingLevel??s.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},coverageTerms:K({coverageTermDataModel:s.coverageTerms,coverageTermOptions:((p=e==null?void 0:e.element)==null?void 0:p.coverageTerms)??{}})}},fe=(e,t)=>({...e.data,coverageTerms:K({coverageTermOptions:e.coverageTerms??{},coverageTermDataModel:t})}),te=({dataModel:e,elementType:t})=>{let s=!1;const f=t.split("Quote")[0];return Object.keys(e.exposures??{}).forEach(y=>{y===f&&(s=e.exposures?e.exposures[y]:{})}),s||Object.keys(e.coverages??{}).forEach(y=>{y===f&&(s=e.coverages?e.coverages[y]:{})}),s||Object.keys(e.policyLines??{}).forEach(y=>{y===f&&(s=e.policyLines?e.policyLines[y]:{})}),s||Object.keys(e.exposureGroups??{}).forEach(y=>{y===f&&(s=e.exposureGroups?e.exposureGroups[y]:{})}),s},ne=(e,t)=>{for(const s of e){if(s.locator===t)return s;const f=ne(s.elements??[],t);if(f)return f}return!1},ae=(e,t)=>{var s,f;return((s=e.element)==null?void 0:s.locator)===t?e.element:ne(((f=e.element)==null?void 0:f.elements)??[],t)},de=({dataModel:e,quote:t,elementLocator:s})=>{const f=ae(t,s);return f?te({dataModel:e,elementType:f.type}):{}},me=(e,t)=>e.filter(f=>f.type===`${t}Quote`),he=({dataModel:e,element:{productName:t}})=>e.products[t]??{},se=e=>{var f;e=e??"";const t=e.replace(/\?|\*|!|\+/g,""),s=(f=e.match(/\?|\*|!|\+/g))==null?void 0:f.pop();return{name:t,quantifier:s??""}},ge=({dataModel:e,contents:t})=>{const s=e.exposures??{},f=e.coverages??{},y=e.policyLines??{},p=e.exposureGroups??{},$=(t??[]).map(c=>{const{name:O}=se(c);return O}),Y=Object.keys(s).filter(c=>$.includes(c)),k=Object.keys(f).filter(c=>$.includes(c)),Q=Object.keys(y).filter(c=>$.includes(c)),P=Object.keys(p).filter(c=>$.includes(c)),m={coverages:{},exposures:{},policyLines:{},exposureGroups:{}};for(const c of Y)m.exposures[c]=s[c];for(const c of k)m.coverages[c]=f[c];for(const c of Q)m.policyLines[c]=y[c];for(const c of P)m.exposureGroups[c]=p[c];return m};w.dataModelToJSONSchema=H,w.extractElementDataModel=de,w.extractElementDataModelFromType=te,w.extractElementFromQuote=ae,w.extractElementsFromQuote=me,w.extractProductDataModel=he,w.extractProductElements=ge,w.getCoverageTermsDefaultValues=K,w.getDefaultElementValues=fe,w.getDefaultQuoteValues=oe,w.getQuoteRequest=ue,w.splitInputAndQuantifier=se,w.transformErrors=le,Object.defineProperty(w,Symbol.toStringTag,{value:"Module"})});
1
+ (function(w,H){typeof exports=="object"&&typeof module<"u"?H(exports):typeof define=="function"&&define.amd?define(["exports"],H):(w=typeof globalThis<"u"?globalThis:w||self,H(w.schemas={}))})(this,function(w){"use strict";const H=e=>{const{data:t,scope:s,dataTypes:f,rootDisplayName:y,account:p,quote:x,element:$}=e,Y=[];let k={};const Q=Object.fromEntries(Object.entries(t??{}).filter(([,m])=>{var O;const c=(O=m.scope)==null?void 0:O.split(",").map(j=>j.trim());return!!(!c||s.some(j=>c.includes(j)))}).map(([m,c])=>{var F,R,u,i,n,r,a,l,o,g,D,b,M,E,V,C,B;let O=!1,j=!1,G=!1;const U=c.displayName??m,q=(F=c.type)==null?void 0:F.slice(-1),A=c.maxLength,z=c.minLength,N=c.max,L=c.min,J=c.regex;let d=c.type??"",_;switch(q){case"*":j=!0,O=!0,d=d==null?void 0:d.split("*")[0];break;case"?":d=d==null?void 0:d.split("?")[0],O=!0;break;case"+":j=!0,d=d==null?void 0:d.split("+")[0];break;case"!":d=d==null?void 0:d.split("!")[0];break}switch(d){case"string":d="string";break;case"int":case"long":d="integer";break;case"decimal":d="number";break;case"dateTime":case"datetime":d="string",_="date-time";break;case"date":d="string",_="date";break;case"boolean":case"bool":d="boolean";break;default:G=!0;break}if(!O&&!G&&!j&&Y.push(m),G){const S=f==null?void 0:f[d];if(S){let T=j?[]:{};const I=H({data:S.data??{},scope:s,dataTypes:f,rootDisplayName:S.displayName??m});return x&&(u=(R=x.element)==null?void 0:R.data)!=null&&u[m]&&(T=(n=(i=x.element)==null?void 0:i.data)==null?void 0:n[m]),$&&(r=$==null?void 0:$.data)!=null&&r[m]&&(T=(a=$==null?void 0:$.data)==null?void 0:a[m]),p&&(l=p==null?void 0:p.data)!=null&&l[m]&&(T=(o=p==null?void 0:p.data)==null?void 0:o[m]),k={...k,[`${d}`]:I},j?[m,{title:S.displayName??m,type:"array",default:T,items:{$ref:`#/definitions/${d}`},...!O&&{minItems:1}}]:[m,{title:S.displayName??m,default:T,$ref:`#/definitions/${d}`}]}}let v="";if(p){const S=(p==null?void 0:p.accountState)==="validated"?m.charAt(0).toLowerCase()+m.slice(1):m;v=(g=p==null?void 0:p.data)!=null&&g[S]?(D=p==null?void 0:p.data)==null?void 0:D[S]:d==="boolean"?!!c.defaultValue:c.defaultValue}return x&&(v=(M=(b=x.element)==null?void 0:b.data)!=null&&M[m]?(V=(E=x.element)==null?void 0:E.data)==null?void 0:V[m]:d==="boolean"?!!c.defaultValue:c.defaultValue),$&&(v=(C=$==null?void 0:$.data)!=null&&C[m]?(B=$==null?void 0:$.data)==null?void 0:B[m]:d==="boolean"?!!c.defaultValue:c.defaultValue),j?[m,{title:U,type:"array",default:v,items:{type:d,...A&&{maxLength:A},...z&&{minLength:z},...L&&{min:L},...N&&{max:N},..._&&{format:_},...J&&{pattern:c.regex}},...!O&&{minItems:1}}]:[m,{title:U,type:d,...v&&{default:v},...z&&{minLength:z},...A&&{maxLength:A},...L&&{minimum:parseInt(L)},...N&&{maximum:parseInt(N)},..._&&{format:_},...c.options&&{enum:c.options},...J&&{pattern:c.regex}}]}));return{title:y||"",type:"object",definitions:k,required:Y,properties:Q}};var ie=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 ee={exports:{}};(function(e,t){(function(s,f){e.exports=f()})(ie,function(){var s=1e3,f=6e4,y=36e5,p="millisecond",x="second",$="minute",Y="hour",k="day",Q="week",P="month",m="quarter",c="year",O="date",j="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,q={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(u){var i=["th","st","nd","rd"],n=u%100;return"["+u+(i[(n-20)%10]||i[n]||i[0])+"]"}},A=function(u,i,n){var r=String(u);return!r||r.length>=i?u:""+Array(i+1-r.length).join(n)+u},z={s:A,z:function(u){var i=-u.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 u(i,n){if(i.date()<n.date())return-u(n,i);var r=12*(n.year()-i.year())+(n.month()-i.month()),a=i.clone().add(r,P),l=n-a<0,o=i.clone().add(r+(l?-1:1),P);return+(-(r+(n-a)/(l?a-o:o-a))||0)},a:function(u){return u<0?Math.ceil(u)||0:Math.floor(u)},p:function(u){return{M:P,y:c,w:Q,d:k,D:O,h:Y,m:$,s:x,ms:p,Q:m}[u]||String(u||"").toLowerCase().replace(/s$/,"")},u:function(u){return u===void 0}},N="en",L={};L[N]=q;var J="$isDayjsObject",d=function(u){return u instanceof F||!(!u||!u[J])},_=function u(i,n,r){var a;if(!i)return N;if(typeof i=="string"){var l=i.toLowerCase();L[l]&&(a=l),n&&(L[l]=n,a=l);var o=i.split("-");if(!a&&o.length>1)return u(o[0])}else{var g=i.name;L[g]=i,a=g}return!r&&a&&(N=a),a||!r&&N},v=function(u,i){if(d(u))return u.clone();var n=typeof i=="object"?i:{};return n.date=u,n.args=arguments,new F(n)},h=z;h.l=_,h.i=d,h.w=function(u,i){return v(u,{locale:i.$L,utc:i.$u,x:i.$x,$offset:i.$offset})};var F=function(){function u(n){this.$L=_(n.locale,null,!0),this.parse(n),this.$x=this.$x||n.x||{},this[J]=!0}var i=u.prototype;return i.parse=function(n){this.$d=function(r){var a=r.date,l=r.utc;if(a===null)return new Date(NaN);if(h.u(a))return new Date;if(a instanceof Date)return new Date(a);if(typeof a=="string"&&!/Z$/i.test(a)){var o=a.match(G);if(o){var g=o[2]-1||0,D=(o[7]||"0").substring(0,3);return l?new Date(Date.UTC(o[1],g,o[3]||1,o[4]||0,o[5]||0,o[6]||0,D)):new Date(o[1],g,o[3]||1,o[4]||0,o[5]||0,o[6]||0,D)}}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 h},i.isValid=function(){return this.$d.toString()!==j},i.isSame=function(n,r){var a=v(n);return this.startOf(r)<=a&&a<=this.endOf(r)},i.isAfter=function(n,r){return v(n)<this.startOf(r)},i.isBefore=function(n,r){return this.endOf(r)<v(n)},i.$g=function(n,r,a){return h.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,l=!!h.u(r)||r,o=h.p(n),g=function(S,T){var I=h.w(a.$u?Date.UTC(a.$y,T,S):new Date(a.$y,T,S),a);return l?I:I.endOf(k)},D=function(S,T){return h.w(a.toDate()[S].apply(a.toDate("s"),(l?[0,0,0,0]:[23,59,59,999]).slice(T)),a)},b=this.$W,M=this.$M,E=this.$D,V="set"+(this.$u?"UTC":"");switch(o){case c:return l?g(1,0):g(31,11);case P:return l?g(1,M):g(0,M+1);case Q:var C=this.$locale().weekStart||0,B=(b<C?b+7:b)-C;return g(l?E-B:E+(6-B),M);case k:case O:return D(V+"Hours",0);case Y:return D(V+"Minutes",1);case $:return D(V+"Seconds",2);case x:return D(V+"Milliseconds",3);default:return this.clone()}},i.endOf=function(n){return this.startOf(n,!1)},i.$set=function(n,r){var a,l=h.p(n),o="set"+(this.$u?"UTC":""),g=(a={},a[k]=o+"Date",a[O]=o+"Date",a[P]=o+"Month",a[c]=o+"FullYear",a[Y]=o+"Hours",a[$]=o+"Minutes",a[x]=o+"Seconds",a[p]=o+"Milliseconds",a)[l],D=l===k?this.$D+(r-this.$W):r;if(l===P||l===c){var b=this.clone().set(O,1);b.$d[g](D),b.init(),this.$d=b.set(O,Math.min(this.$D,b.daysInMonth())).$d}else g&&this.$d[g](D);return this.init(),this},i.set=function(n,r){return this.clone().$set(n,r)},i.get=function(n){return this[h.p(n)]()},i.add=function(n,r){var a,l=this;n=Number(n);var o=h.p(r),g=function(M){var E=v(l);return h.w(E.date(E.date()+Math.round(M*n)),l)};if(o===P)return this.set(P,this.$M+n);if(o===c)return this.set(c,this.$y+n);if(o===k)return g(1);if(o===Q)return g(7);var D=(a={},a[$]=f,a[Y]=y,a[x]=s,a)[o]||1,b=this.$d.getTime()+n*D;return h.w(b,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||j;var l=n||"YYYY-MM-DDTHH:mm:ssZ",o=h.z(this),g=this.$H,D=this.$m,b=this.$M,M=a.weekdays,E=a.months,V=a.meridiem,C=function(T,I,Z,X){return T&&(T[I]||T(r,l))||Z[I].slice(0,X)},B=function(T){return h.s(g%12||12,T,"0")},S=V||function(T,I,Z){var X=T<12?"AM":"PM";return Z?X.toLowerCase():X};return l.replace(U,function(T,I){return I||function(Z){switch(Z){case"YY":return String(r.$y).slice(-2);case"YYYY":return h.s(r.$y,4,"0");case"M":return b+1;case"MM":return h.s(b+1,2,"0");case"MMM":return C(a.monthsShort,b,E,3);case"MMMM":return C(E,b);case"D":return r.$D;case"DD":return h.s(r.$D,2,"0");case"d":return String(r.$W);case"dd":return C(a.weekdaysMin,r.$W,M,2);case"ddd":return C(a.weekdaysShort,r.$W,M,3);case"dddd":return M[r.$W];case"H":return String(g);case"HH":return h.s(g,2,"0");case"h":return B(1);case"hh":return B(2);case"a":return S(g,D,!0);case"A":return S(g,D,!1);case"m":return String(D);case"mm":return h.s(D,2,"0");case"s":return String(r.$s);case"ss":return h.s(r.$s,2,"0");case"SSS":return h.s(r.$ms,3,"0");case"Z":return o}return null}(T)||o.replace(":","")})},i.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},i.diff=function(n,r,a){var l,o=this,g=h.p(r),D=v(n),b=(D.utcOffset()-this.utcOffset())*f,M=this-D,E=function(){return h.m(o,D)};switch(g){case c:l=E()/12;break;case P:l=E();break;case m:l=E()/3;break;case Q:l=(M-b)/6048e5;break;case k:l=(M-b)/864e5;break;case Y:l=M/y;break;case $:l=M/f;break;case x:l=M/s;break;default:l=M}return a?l:h.a(l)},i.daysInMonth=function(){return this.endOf(P).$D},i.$locale=function(){return L[this.$L]},i.locale=function(n,r){if(!n)return this.$L;var a=this.clone(),l=_(n,r,!0);return l&&(a.$L=l),a},i.clone=function(){return h.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()},u}(),R=F.prototype;return v.prototype=R,[["$ms",p],["$s",x],["$m",$],["$H",Y],["$W",k],["$M",P],["$y",c],["$D",O]].forEach(function(u){R[u[1]]=function(i){return this.$g(i,u[0],u[1])}}),v.extend=function(u,i){return u.$i||(u(i,F,v),u.$i=!0),v},v.locale=_,v.isDayjs=d,v.unix=function(u){return v(1e3*u)},v.en=L[N],v.Ls=L,v.p={},v})})(ee);var ce=ee.exports;const W=re(ce),ue=({data:e})=>{const t={},s=structuredClone(e);return s.default&&(s.default.startTime&&(t.startTime=W(s.default.startTime).format()),s.default.endTime&&(t.endTime=W(s.default.endTime).format()),s.default.expirationTime&&(t.expirationTime=W(s.default.expirationTime).format())),s.advanced&&(s.advanced.currency&&(t.currency=s.advanced.currency),s.advanced.timezone&&(t.timezone=s.advanced.timezone),s.advanced.billingPlan&&(t.billingPlan=s.advanced.billingPlan),s.advanced.defaultTermDuration&&(t.defaultTermDuration=s.advanced.defaultTermDuration),s.advanced.installmentPlan&&(t.installmentPlan=s.advanced.installmentPlan),s.advanced.durationBasis&&(t.durationBasis=s.advanced.durationBasis),s.advanced.delinquencyPlanName&&(t.delinquencyPlanName=s.advanced.delinquencyPlanName)),s.coverageTerms&&(t.setCoverageTerms=e.coverageTerms),delete s.coverageTerms,delete s.default,delete s.advanced,t.setData=s,t};function le(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 K=({coverageTermOptions:e,coverageTermDataModel:t})=>{const s=structuredClone(e)??{},f=t;return Object.keys(f).forEach(y=>{if(s[y])return;Object.keys(f[y].options).forEach(x=>{if(x.startsWith("*")){const $=x.substring(1);s[y]=$}})}),s},oe=(e,t,s)=>{var f,y,p;return{...((f=e==null?void 0:e.element)==null?void 0:f.data)&&{...(y=e==null?void 0:e.element)==null?void 0:y.data},default:{...(e==null?void 0:e.startTime)&&{startTime:W(e.startTime).format("YYYY-MM-DD")},...(e==null?void 0:e.endTime)&&{endTime:W(e.endTime).format("YYYY-MM-DD")},...(e==null?void 0:e.expirationTime)&&{expirationTime:W(e.expirationTime).format("YYYY-MM-DD")}},advanced:{currency:(e==null?void 0:e.currency)??t.defaultCurrency??s.defaultCurrency??void 0,timezone:(e==null?void 0:e.timezone)??t.defaultTimeZone??s.defaultTimeZone??void 0,billingLevel:(e==null?void 0:e.billingLevel)??t.defaultBillingLevel??s.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},coverageTerms:K({coverageTermDataModel:s.coverageTerms,coverageTermOptions:((p=e==null?void 0:e.element)==null?void 0:p.coverageTerms)??{}})}},fe=(e,t)=>({...e.data,coverageTerms:K({coverageTermOptions:e.coverageTerms??{},coverageTermDataModel:t})}),te=({dataModel:e,elementType:t})=>{let s=!1;const f=t.split("Quote")[0];return Object.keys(e.exposures??{}).forEach(y=>{y===f&&(s=e.exposures?e.exposures[y]:{})}),s||Object.keys(e.coverages??{}).forEach(y=>{y===f&&(s=e.coverages?e.coverages[y]:{})}),s||Object.keys(e.policyLines??{}).forEach(y=>{y===f&&(s=e.policyLines?e.policyLines[y]:{})}),s||Object.keys(e.exposureGroups??{}).forEach(y=>{y===f&&(s=e.exposureGroups?e.exposureGroups[y]:{})}),s},ne=(e,t)=>{for(const s of e){if(s.locator===t)return s;const f=ne(s.elements??[],t);if(f)return f}return!1},ae=(e,t)=>{var s,f;return((s=e.element)==null?void 0:s.locator)===t?e.element:ne(((f=e.element)==null?void 0:f.elements)??[],t)},de=({dataModel:e,quote:t,elementLocator:s})=>{const f=ae(t,s);return f?te({dataModel:e,elementType:f.type}):{}},me=(e,t)=>e.filter(f=>f.type===`${t}Quote`),he=({dataModel:e,element:{productName:t}})=>e.products[t]??{},se=e=>{var f;e=e??"";const t=e.replace(/\?|\*|!|\+/g,""),s=(f=e.match(/\?|\*|!|\+/g))==null?void 0:f.pop();return{name:t,quantifier:s??""}},ge=({dataModel:e,contents:t})=>{const s=e.exposures??{},f=e.coverages??{},y=e.policyLines??{},p=e.exposureGroups??{},$=(t??[]).map(c=>{const{name:O}=se(c);return O}),Y=Object.keys(s).filter(c=>$.includes(c)),k=Object.keys(f).filter(c=>$.includes(c)),Q=Object.keys(y).filter(c=>$.includes(c)),P=Object.keys(p).filter(c=>$.includes(c)),m={coverages:{},exposures:{},policyLines:{},exposureGroups:{}};for(const c of Y)m.exposures[c]=s[c];for(const c of k)m.coverages[c]=f[c];for(const c of Q)m.policyLines[c]=y[c];for(const c of P)m.exposureGroups[c]=p[c];return m};w.dataModelToJSONSchema=H,w.extractElementDataModel=de,w.extractElementDataModelFromType=te,w.extractElementFromQuote=ae,w.extractElementsFromQuote=me,w.extractProductDataModel=he,w.extractProductElements=ge,w.getCoverageTermsDefaultValues=K,w.getDefaultElementValues=fe,w.getDefaultQuoteValues=oe,w.getQuoteRequest=ue,w.splitInputAndQuantifier=se,w.transformErrors=le,Object.defineProperty(w,Symbol.toStringTag,{value:"Module"})});
2
2
  //# sourceMappingURL=index.umd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.umd.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-coverage-terms-default-values.ts","../lib/utils/get-default-quote-values.ts","../lib/utils/get-default-element-values.ts","../lib/utils/extract-element-data-model-from-type.ts","../lib/utils/extract-element-from-quote.ts","../lib/utils/extract-element-data-model.ts","../lib/utils/extract-elements-from-quote.ts","../lib/utils/extract-product-data-model.ts","../lib/utils/split-input-and-quantifier.ts","../lib/utils/extract-product-elements.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: Array<'P' | 'Q' | 'QQ'>;\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\n\t\t\t\tif (scope.some((s) => dataScope.includes(s))) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\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\tcoverageTerms?: {\n\t\t\t[key: string]: 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 = structuredClone(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\tif (formData.coverageTerms) {\n\t\trequest.setCoverageTerms = data.coverageTerms;\n\t}\n\n\tdelete formData.coverageTerms;\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 { CoverageTermsConfigRecord } from '@socotra/ec-react-schemas';\n\n/**\n * The `getCoverageTermsDefaultValues` function extracts default coverage terms values from a\n * `CoverageTermsConfigRecord` object and sets them based on certain conditions.\n * @param {Record<string, string>} coverageTermOptions - The `coverageTermOptions` parameter in the\n * `getCoverageTermsDefaultValues` function represents the options for coverage terms.\n * @param {CoverageTermsConfigRecord} coverageTermDataModel - The `coverageTermDataModel` parameter in the\n * `getCoverageTermsDefaultValues` function represents the configuration settings for coverage terms.\n * @returns The `getCoverageTermsDefaultValues` function returns an object with default values for\n * coverage terms.\n */\nexport const getCoverageTermsDefaultValues = ({\n\tcoverageTermOptions,\n\tcoverageTermDataModel,\n}: {\n\tcoverageTermOptions: Record<string, string>;\n\tcoverageTermDataModel: CoverageTermsConfigRecord;\n}) => {\n\tconst coverageTermsDefaultValues = structuredClone(coverageTermOptions) ?? {};\n\n\tconst coverageTermsDataModel = coverageTermDataModel;\n\n\tObject.keys(coverageTermsDataModel).forEach((coverageTermKey) => {\n\t\t// Check if it's already set by the quote\n\t\tif (coverageTermsDefaultValues[coverageTermKey]) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst options = Object.keys(\n\t\t\tcoverageTermsDataModel[coverageTermKey].options,\n\t\t);\n\n\t\toptions.forEach((option) => {\n\t\t\tif (option.startsWith('*')) {\n\t\t\t\t// Remove the * and set the default value\n\t\t\t\tconst defaultValue = option.substring(1);\n\t\t\t\tcoverageTermsDefaultValues[coverageTermKey] = defaultValue;\n\t\t\t}\n\t\t});\n\t});\n\n\treturn coverageTermsDefaultValues;\n};\n","import {\n\tDataModel,\n\tProductConfig,\n\tQuoteResponse,\n} from '@socotra/ec-react-schemas';\nimport dayjs from 'dayjs';\n\nimport { getCoverageTermsDefaultValues } from './get-coverage-terms-default-values';\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\tcoverageTerms: getCoverageTermsDefaultValues({\n\t\t\tcoverageTermDataModel: dataModel.coverageTerms,\n\t\t\tcoverageTermOptions: quote?.element?.coverageTerms ?? {},\n\t\t}),\n\t};\n};\n","import {\n\tCoverageTermsConfigRecord,\n\tElementResponse,\n} from '@socotra/ec-react-schemas';\n\nimport { getCoverageTermsDefaultValues } from './get-coverage-terms-default-values';\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\tcoverageTermDataModel: CoverageTermsConfigRecord,\n): Partial<ElementResponse> => {\n\treturn {\n\t\t...element.data,\n\t\tcoverageTerms: getCoverageTermsDefaultValues({\n\t\t\tcoverageTermOptions: element.coverageTerms ?? {},\n\t\t\tcoverageTermDataModel: coverageTermDataModel,\n\t\t}),\n\t};\n};\n","import { DataModel, ElementConfig } from '@socotra/ec-react-schemas';\n\n/**\n * The function `extractElementDataModelFromType` extracts element data model given a data model and\n * element type.\n * @param - - `dataModel`: A DataModel object containing information about a data model.\n * @param - - `elementType`: A string containing the element type.\n * @returns The function `extractElementDataModelFromType` returns either an `ElementConfig` object or `false`\n * based on the provided parameters and data model.\n */\nexport const extractElementDataModelFromType = ({\n\tdataModel,\n\telementType,\n}: {\n\tdataModel: DataModel;\n\telementType: string;\n}): ElementConfig | false => {\n\tlet elementDataModel: ElementConfig | false = false;\n\n\t// elements on a quote have type {elementType}Quote, we have to split this\n\tconst splitElementType = elementType.split('Quote')[0];\n\n\t// Check exposures\n\tObject.keys(dataModel.exposures ?? {}).forEach((exposureKey) => {\n\t\tif (exposureKey === splitElementType) {\n\t\t\telementDataModel = dataModel.exposures\n\t\t\t\t? dataModel.exposures[exposureKey]\n\t\t\t\t: {};\n\t\t}\n\t});\n\n\t// Check coverages\n\tif (!elementDataModel) {\n\t\tObject.keys(dataModel.coverages ?? {}).forEach((coverageKey) => {\n\t\t\tif (coverageKey === splitElementType) {\n\t\t\t\telementDataModel = dataModel.coverages\n\t\t\t\t\t? dataModel.coverages[coverageKey]\n\t\t\t\t\t: {};\n\t\t\t}\n\t\t});\n\t}\n\n\t// Check policyLines\n\tif (!elementDataModel) {\n\t\tObject.keys(dataModel.policyLines ?? {}).forEach((policyLineKey) => {\n\t\t\tif (policyLineKey === splitElementType) {\n\t\t\t\telementDataModel = dataModel.policyLines\n\t\t\t\t\t? dataModel.policyLines[policyLineKey]\n\t\t\t\t\t: {};\n\t\t\t}\n\t\t});\n\t}\n\n\t// Check exposureGroups\n\tif (!elementDataModel) {\n\t\tObject.keys(dataModel.exposureGroups ?? {}).forEach((exposureGroupKey) => {\n\t\t\tif (exposureGroupKey === splitElementType) {\n\t\t\t\telementDataModel = dataModel.exposureGroups\n\t\t\t\t\t? dataModel.exposureGroups[exposureGroupKey]\n\t\t\t\t\t: {};\n\t\t\t}\n\t\t});\n\t}\n\n\treturn elementDataModel;\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\tElementConfig,\n\tQuoteResponse,\n} from '@socotra/ec-react-schemas';\n\nimport { extractElementDataModelFromType } from './extract-element-data-model-from-type';\nimport { extractElementFromQuote } from './extract-element-from-quote';\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 * @param - - `dataModel`: A DataModel object containing information about a data model.\n * @param - - `elementLocator`: A string containing the element locator.\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 elementDataModel = extractElementDataModelFromType({\n\t\tdataModel,\n\t\telementType: element.type,\n\t});\n\n\treturn elementDataModel;\n};\n","import { ElementResponse } from '@socotra/ec-react-schemas';\n\nexport const extractElementsFromQuote = (\n\telements: Array<ElementResponse>,\n\telementType: string,\n) => {\n\tconst filteredElements = elements.filter(\n\t\t(element) => element.type === `${elementType}Quote`,\n\t);\n\n\treturn filteredElements;\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 { DataModel, ElementConfig } 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\tcontents,\n}: {\n\tdataModel: DataModel;\n\tcontents: string[];\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 = 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"],"names":["dataModelToJSONSchema","args","data","scope","dataTypes","rootDisplayName","account","quote","element","requiredFields","definitions","properties","value","dataScope","_a","s","key","isOptional","isArray","isCustomDataType","displayName","quantifier","maxLength","minLength","max","min","regex","type","format","customDataType","defaultValues","referenceSchema","_c","_b","_e","_d","_f","_g","_h","_i","defaultValue","dataKey","_j","_k","_m","_l","_o","_n","_p","_q","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","getCoverageTermsDefaultValues","coverageTermOptions","coverageTermDataModel","coverageTermsDefaultValues","coverageTermsDataModel","coverageTermKey","option","getDefaultQuoteValues","productModel","dataModel","getDefaultElementValues","extractElementDataModelFromType","elementType","elementDataModel","splitElementType","exposureKey","coverageKey","policyLineKey","exposureGroupKey","findElementInElementArray","elements","elementLocator","foundElement","extractElementFromQuote","extractElementDataModel","extractElementsFromQuote","extractProductDataModel","productName","splitInputAndQuantifier","input","name","extractProductElements","contents","dataModelExposures","dataModelCoverages","dataModelPolicyLines","dataModelExposureGroups","currProductModelElementsWithoutQuantifiers","availableExposureKeys","exposure","availableCoverageKeys","coverage","availablePolicyLineKeys","policyLine","availableExposureGroupKeys","exposureGroup","elementModels"],"mappings":"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","x_google_ignoreList":[1]}
1
+ {"version":3,"file":"index.umd.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-coverage-terms-default-values.ts","../lib/utils/get-default-quote-values.ts","../lib/utils/get-default-element-values.ts","../lib/utils/extract-element-data-model-from-type.ts","../lib/utils/extract-element-from-quote.ts","../lib/utils/extract-element-data-model.ts","../lib/utils/extract-elements-from-quote.ts","../lib/utils/extract-product-data-model.ts","../lib/utils/split-input-and-quantifier.ts","../lib/utils/extract-product-elements.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: Array<'P' | 'Q' | 'QQ'>;\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\n\t\t\t\tif (scope.some((s) => dataScope.includes(s))) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\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?.accountState === '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\tcoverageTerms?: {\n\t\t\t[key: string]: 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 = structuredClone(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\tif (formData.coverageTerms) {\n\t\trequest.setCoverageTerms = data.coverageTerms;\n\t}\n\n\tdelete formData.coverageTerms;\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 { CoverageTermsConfigRecord } from '@socotra/ec-react-schemas';\n\n/**\n * The `getCoverageTermsDefaultValues` function extracts default coverage terms values from a\n * `CoverageTermsConfigRecord` object and sets them based on certain conditions.\n * @param {Record<string, string>} coverageTermOptions - The `coverageTermOptions` parameter in the\n * `getCoverageTermsDefaultValues` function represents the options for coverage terms.\n * @param {CoverageTermsConfigRecord} coverageTermDataModel - The `coverageTermDataModel` parameter in the\n * `getCoverageTermsDefaultValues` function represents the configuration settings for coverage terms.\n * @returns The `getCoverageTermsDefaultValues` function returns an object with default values for\n * coverage terms.\n */\nexport const getCoverageTermsDefaultValues = ({\n\tcoverageTermOptions,\n\tcoverageTermDataModel,\n}: {\n\tcoverageTermOptions: Record<string, string>;\n\tcoverageTermDataModel: CoverageTermsConfigRecord;\n}) => {\n\tconst coverageTermsDefaultValues = structuredClone(coverageTermOptions) ?? {};\n\n\tconst coverageTermsDataModel = coverageTermDataModel;\n\n\tObject.keys(coverageTermsDataModel).forEach((coverageTermKey) => {\n\t\t// Check if it's already set by the quote\n\t\tif (coverageTermsDefaultValues[coverageTermKey]) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst options = Object.keys(\n\t\t\tcoverageTermsDataModel[coverageTermKey].options,\n\t\t);\n\n\t\toptions.forEach((option) => {\n\t\t\tif (option.startsWith('*')) {\n\t\t\t\t// Remove the * and set the default value\n\t\t\t\tconst defaultValue = option.substring(1);\n\t\t\t\tcoverageTermsDefaultValues[coverageTermKey] = defaultValue;\n\t\t\t}\n\t\t});\n\t});\n\n\treturn coverageTermsDefaultValues;\n};\n","import {\n\tDataModel,\n\tProductConfig,\n\tQuoteResponse,\n} from '@socotra/ec-react-schemas';\nimport dayjs from 'dayjs';\n\nimport { getCoverageTermsDefaultValues } from './get-coverage-terms-default-values';\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\tcoverageTerms: getCoverageTermsDefaultValues({\n\t\t\tcoverageTermDataModel: dataModel.coverageTerms,\n\t\t\tcoverageTermOptions: quote?.element?.coverageTerms ?? {},\n\t\t}),\n\t};\n};\n","import {\n\tCoverageTermsConfigRecord,\n\tElementResponse,\n} from '@socotra/ec-react-schemas';\n\nimport { getCoverageTermsDefaultValues } from './get-coverage-terms-default-values';\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\tcoverageTermDataModel: CoverageTermsConfigRecord,\n): Partial<ElementResponse> => {\n\treturn {\n\t\t...element.data,\n\t\tcoverageTerms: getCoverageTermsDefaultValues({\n\t\t\tcoverageTermOptions: element.coverageTerms ?? {},\n\t\t\tcoverageTermDataModel: coverageTermDataModel,\n\t\t}),\n\t};\n};\n","import { DataModel, ElementConfig } from '@socotra/ec-react-schemas';\n\n/**\n * The function `extractElementDataModelFromType` extracts element data model given a data model and\n * element type.\n * @param - - `dataModel`: A DataModel object containing information about a data model.\n * @param - - `elementType`: A string containing the element type.\n * @returns The function `extractElementDataModelFromType` returns either an `ElementConfig` object or `false`\n * based on the provided parameters and data model.\n */\nexport const extractElementDataModelFromType = ({\n\tdataModel,\n\telementType,\n}: {\n\tdataModel: DataModel;\n\telementType: string;\n}): ElementConfig | false => {\n\tlet elementDataModel: ElementConfig | false = false;\n\n\t// elements on a quote have type {elementType}Quote, we have to split this\n\tconst splitElementType = elementType.split('Quote')[0];\n\n\t// Check exposures\n\tObject.keys(dataModel.exposures ?? {}).forEach((exposureKey) => {\n\t\tif (exposureKey === splitElementType) {\n\t\t\telementDataModel = dataModel.exposures\n\t\t\t\t? dataModel.exposures[exposureKey]\n\t\t\t\t: {};\n\t\t}\n\t});\n\n\t// Check coverages\n\tif (!elementDataModel) {\n\t\tObject.keys(dataModel.coverages ?? {}).forEach((coverageKey) => {\n\t\t\tif (coverageKey === splitElementType) {\n\t\t\t\telementDataModel = dataModel.coverages\n\t\t\t\t\t? dataModel.coverages[coverageKey]\n\t\t\t\t\t: {};\n\t\t\t}\n\t\t});\n\t}\n\n\t// Check policyLines\n\tif (!elementDataModel) {\n\t\tObject.keys(dataModel.policyLines ?? {}).forEach((policyLineKey) => {\n\t\t\tif (policyLineKey === splitElementType) {\n\t\t\t\telementDataModel = dataModel.policyLines\n\t\t\t\t\t? dataModel.policyLines[policyLineKey]\n\t\t\t\t\t: {};\n\t\t\t}\n\t\t});\n\t}\n\n\t// Check exposureGroups\n\tif (!elementDataModel) {\n\t\tObject.keys(dataModel.exposureGroups ?? {}).forEach((exposureGroupKey) => {\n\t\t\tif (exposureGroupKey === splitElementType) {\n\t\t\t\telementDataModel = dataModel.exposureGroups\n\t\t\t\t\t? dataModel.exposureGroups[exposureGroupKey]\n\t\t\t\t\t: {};\n\t\t\t}\n\t\t});\n\t}\n\n\treturn elementDataModel;\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\tElementConfig,\n\tQuoteResponse,\n} from '@socotra/ec-react-schemas';\n\nimport { extractElementDataModelFromType } from './extract-element-data-model-from-type';\nimport { extractElementFromQuote } from './extract-element-from-quote';\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 * @param - - `dataModel`: A DataModel object containing information about a data model.\n * @param - - `elementLocator`: A string containing the element locator.\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 elementDataModel = extractElementDataModelFromType({\n\t\tdataModel,\n\t\telementType: element.type,\n\t});\n\n\treturn elementDataModel;\n};\n","import { ElementResponse } from '@socotra/ec-react-schemas';\n\nexport const extractElementsFromQuote = (\n\telements: Array<ElementResponse>,\n\telementType: string,\n) => {\n\tconst filteredElements = elements.filter(\n\t\t(element) => element.type === `${elementType}Quote`,\n\t);\n\n\treturn filteredElements;\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 { DataModel, ElementConfig } 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\tcontents,\n}: {\n\tdataModel: DataModel;\n\tcontents: string[];\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 = 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"],"names":["dataModelToJSONSchema","args","data","scope","dataTypes","rootDisplayName","account","quote","element","requiredFields","definitions","properties","value","dataScope","_a","s","key","isOptional","isArray","isCustomDataType","displayName","quantifier","maxLength","minLength","max","min","regex","type","format","customDataType","defaultValues","referenceSchema","_c","_b","_e","_d","_f","_g","_h","_i","defaultValue","dataKey","_j","_k","_m","_l","_o","_n","_p","_q","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","getCoverageTermsDefaultValues","coverageTermOptions","coverageTermDataModel","coverageTermsDefaultValues","coverageTermsDataModel","coverageTermKey","option","getDefaultQuoteValues","productModel","dataModel","getDefaultElementValues","extractElementDataModelFromType","elementType","elementDataModel","splitElementType","exposureKey","coverageKey","policyLineKey","exposureGroupKey","findElementInElementArray","elements","elementLocator","foundElement","extractElementFromQuote","extractElementDataModel","extractElementsFromQuote","extractProductDataModel","productName","splitInputAndQuantifier","input","name","extractProductElements","contents","dataModelExposures","dataModelCoverages","dataModelPolicyLines","dataModelExposureGroups","currProductModelElementsWithoutQuantifiers","availableExposureKeys","exposure","availableCoverageKeys","coverage","availablePolicyLineKeys","policyLine","availableExposureGroupKeys","exposureGroup","elementModels"],"mappings":"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","x_google_ignoreList":[1]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@socotra/ec-react-utils",
3
- "version": "2.4.0-next.1",
3
+ "version": "2.4.0-next.2",
4
4
  "type": "module",
5
5
  "main": "./dist/index.umd.js",
6
6
  "module": "./dist/index.es.js",
@@ -33,9 +33,9 @@
33
33
  },
34
34
  "dependencies": {
35
35
  "@jsonforms/core": "^3.3.0",
36
- "@socotra/ec-react-schemas": "2.4.0-next.1",
36
+ "@socotra/ec-react-schemas": "2.4.0-next.2",
37
37
  "ajv": "^8.14.0",
38
38
  "dayjs": "^1.11.11"
39
39
  },
40
- "gitHead": "c1ff841ca24d4b07a67ec67861cfce3dfb018ef1"
40
+ "gitHead": "23ea6a6231749ef6e591a13862f7c988b8a44f48"
41
41
  }