@tsed/schema-formio 7.70.2 → 7.71.0

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.
Files changed (138) hide show
  1. package/jest.config.js +3 -1
  2. package/lib/browser/schema-formio.umd.min.js +1 -1
  3. package/lib/browser/schema-formio.umd.min.js.map +1 -1
  4. package/lib/cjs/components/anyToComponent.js +10 -10
  5. package/lib/cjs/components/anyToComponent.js.map +1 -1
  6. package/lib/cjs/components/arrayToComponent.js +9 -9
  7. package/lib/cjs/components/arrayToComponent.js.map +1 -1
  8. package/lib/cjs/components/booleanToComponent.js +3 -3
  9. package/lib/cjs/components/booleanToComponent.js.map +1 -1
  10. package/lib/cjs/components/dateToComponent.js +3 -3
  11. package/lib/cjs/components/dateToComponent.js.map +1 -1
  12. package/lib/cjs/components/defaultToComponent.js +4 -4
  13. package/lib/cjs/components/defaultToComponent.js.map +1 -1
  14. package/lib/cjs/components/enumToComponent.js +3 -3
  15. package/lib/cjs/components/enumToComponent.js.map +1 -1
  16. package/lib/cjs/components/mapToComponent.js +4 -4
  17. package/lib/cjs/components/mapToComponent.js.map +1 -1
  18. package/lib/cjs/components/nestedToComponent.js +4 -4
  19. package/lib/cjs/components/nestedToComponent.js.map +1 -1
  20. package/lib/cjs/components/numberToComponent.js +4 -4
  21. package/lib/cjs/components/numberToComponent.js.map +1 -1
  22. package/lib/cjs/components/objectToEditGrid.js +4 -4
  23. package/lib/cjs/components/objectToEditGrid.js.map +1 -1
  24. package/lib/cjs/components/panelToComponent.js +4 -4
  25. package/lib/cjs/components/panelToComponent.js.map +1 -1
  26. package/lib/cjs/components/propertiesToComponents.js +3 -3
  27. package/lib/cjs/components/propertiesToComponents.js.map +1 -1
  28. package/lib/cjs/components/stringToComponent.js +6 -6
  29. package/lib/cjs/components/stringToComponent.js.map +1 -1
  30. package/lib/cjs/decorators/conditional.js +2 -2
  31. package/lib/cjs/decorators/conditional.js.map +1 -1
  32. package/lib/cjs/decorators/currency.js +2 -2
  33. package/lib/cjs/decorators/currency.js.map +1 -1
  34. package/lib/cjs/decorators/customClass.js +2 -2
  35. package/lib/cjs/decorators/customClass.js.map +1 -1
  36. package/lib/cjs/decorators/customConditional.js +2 -2
  37. package/lib/cjs/decorators/customConditional.js.map +1 -1
  38. package/lib/cjs/decorators/dataSourceJson.js +2 -2
  39. package/lib/cjs/decorators/dataSourceJson.js.map +1 -1
  40. package/lib/cjs/decorators/dataSourceUrl.js +2 -2
  41. package/lib/cjs/decorators/dataSourceUrl.js.map +1 -1
  42. package/lib/cjs/decorators/errorLabel.js +2 -2
  43. package/lib/cjs/decorators/errorLabel.js.map +1 -1
  44. package/lib/cjs/decorators/errorMessage.js +2 -2
  45. package/lib/cjs/decorators/errorMessage.js.map +1 -1
  46. package/lib/cjs/decorators/form.js +5 -5
  47. package/lib/cjs/decorators/form.js.map +1 -1
  48. package/lib/cjs/decorators/hidden.js +2 -2
  49. package/lib/cjs/decorators/hidden.js.map +1 -1
  50. package/lib/cjs/decorators/inputTags.js +2 -2
  51. package/lib/cjs/decorators/inputTags.js.map +1 -1
  52. package/lib/cjs/decorators/label.js +2 -2
  53. package/lib/cjs/decorators/label.js.map +1 -1
  54. package/lib/cjs/decorators/mask.js +3 -3
  55. package/lib/cjs/decorators/mask.js.map +1 -1
  56. package/lib/cjs/decorators/maxWords.js +2 -2
  57. package/lib/cjs/decorators/maxWords.js.map +1 -1
  58. package/lib/cjs/decorators/minWords.js +2 -2
  59. package/lib/cjs/decorators/minWords.js.map +1 -1
  60. package/lib/cjs/decorators/modalEdit.js +2 -2
  61. package/lib/cjs/decorators/modalEdit.js.map +1 -1
  62. package/lib/cjs/decorators/multiple.js +2 -2
  63. package/lib/cjs/decorators/multiple.js.map +1 -1
  64. package/lib/cjs/decorators/openWhenEmpty.js +2 -2
  65. package/lib/cjs/decorators/openWhenEmpty.js.map +1 -1
  66. package/lib/cjs/decorators/password.js +2 -2
  67. package/lib/cjs/decorators/password.js.map +1 -1
  68. package/lib/cjs/decorators/placeholder.js +2 -2
  69. package/lib/cjs/decorators/placeholder.js.map +1 -1
  70. package/lib/cjs/decorators/prefix.js +2 -2
  71. package/lib/cjs/decorators/prefix.js.map +1 -1
  72. package/lib/cjs/decorators/select.js +2 -2
  73. package/lib/cjs/decorators/select.js.map +1 -1
  74. package/lib/cjs/decorators/suffix.js +2 -2
  75. package/lib/cjs/decorators/suffix.js.map +1 -1
  76. package/lib/cjs/decorators/tableView.js +2 -2
  77. package/lib/cjs/decorators/tableView.js.map +1 -1
  78. package/lib/cjs/decorators/textCase.js +2 -2
  79. package/lib/cjs/decorators/textCase.js.map +1 -1
  80. package/lib/cjs/decorators/textarea.js +2 -2
  81. package/lib/cjs/decorators/textarea.js.map +1 -1
  82. package/lib/cjs/decorators/tooltip.js +2 -2
  83. package/lib/cjs/decorators/tooltip.js.map +1 -1
  84. package/lib/cjs/decorators/validate.js +2 -2
  85. package/lib/cjs/decorators/validate.js.map +1 -1
  86. package/lib/cjs/index.js +52 -52
  87. package/lib/cjs/index.js.map +1 -1
  88. package/lib/cjs/utils/getFormioSchema.js +4 -4
  89. package/lib/cjs/utils/getFormioSchema.js.map +1 -1
  90. package/lib/esm/components/anyToComponent.js.map +1 -1
  91. package/lib/esm/components/arrayToComponent.js.map +1 -1
  92. package/lib/esm/components/booleanToComponent.js.map +1 -1
  93. package/lib/esm/components/dateToComponent.js.map +1 -1
  94. package/lib/esm/components/defaultToComponent.js.map +1 -1
  95. package/lib/esm/components/enumToComponent.js.map +1 -1
  96. package/lib/esm/components/mapToComponent.js.map +1 -1
  97. package/lib/esm/components/nestedToComponent.js.map +1 -1
  98. package/lib/esm/components/numberToComponent.js.map +1 -1
  99. package/lib/esm/components/objectToEditGrid.js.map +1 -1
  100. package/lib/esm/components/panelToComponent.js.map +1 -1
  101. package/lib/esm/components/propertiesToComponents.js.map +1 -1
  102. package/lib/esm/components/stringToComponent.js.map +1 -1
  103. package/lib/esm/decorators/conditional.js.map +1 -1
  104. package/lib/esm/decorators/currency.js.map +1 -1
  105. package/lib/esm/decorators/customClass.js.map +1 -1
  106. package/lib/esm/decorators/customConditional.js.map +1 -1
  107. package/lib/esm/decorators/dataSourceJson.js.map +1 -1
  108. package/lib/esm/decorators/dataSourceUrl.js.map +1 -1
  109. package/lib/esm/decorators/errorLabel.js.map +1 -1
  110. package/lib/esm/decorators/errorMessage.js.map +1 -1
  111. package/lib/esm/decorators/form.js.map +1 -1
  112. package/lib/esm/decorators/hidden.js.map +1 -1
  113. package/lib/esm/decorators/inputTags.js.map +1 -1
  114. package/lib/esm/decorators/label.js.map +1 -1
  115. package/lib/esm/decorators/mask.js.map +1 -1
  116. package/lib/esm/decorators/maxWords.js.map +1 -1
  117. package/lib/esm/decorators/minWords.js.map +1 -1
  118. package/lib/esm/decorators/modalEdit.js.map +1 -1
  119. package/lib/esm/decorators/multiple.js.map +1 -1
  120. package/lib/esm/decorators/openWhenEmpty.js.map +1 -1
  121. package/lib/esm/decorators/password.js.map +1 -1
  122. package/lib/esm/decorators/placeholder.js.map +1 -1
  123. package/lib/esm/decorators/prefix.js.map +1 -1
  124. package/lib/esm/decorators/select.js.map +1 -1
  125. package/lib/esm/decorators/suffix.js.map +1 -1
  126. package/lib/esm/decorators/tableView.js.map +1 -1
  127. package/lib/esm/decorators/textCase.js.map +1 -1
  128. package/lib/esm/decorators/textarea.js.map +1 -1
  129. package/lib/esm/decorators/tooltip.js.map +1 -1
  130. package/lib/esm/decorators/validate.js.map +1 -1
  131. package/lib/esm/index.js +2 -2
  132. package/lib/esm/index.js.map +1 -1
  133. package/lib/esm/utils/getFormioSchema.js.map +1 -1
  134. package/lib/types/decorators/dataSourceJson.d.ts +1 -1
  135. package/lib/types/decorators/dataSourceUrl.d.ts +1 -1
  136. package/lib/types/index.d.ts +50 -50
  137. package/package.json +11 -11
  138. package/webpack.config.js +1 -0
package/jest.config.js CHANGED
@@ -1,10 +1,12 @@
1
1
  // For a detailed explanation regarding each configuration property, visit:
2
2
  // https://jestjs.io/docs/en/configuration.html
3
+ const config = require("@tsed/jest-config");
3
4
 
4
5
  module.exports = {
5
- ...require("@tsed/jest-config"),
6
+ ...config,
6
7
  roots: ["<rootDir>/src", "<rootDir>/test"],
7
8
  moduleNameMapper: {
9
+ ...config.moduleNameMapper,
8
10
  "@tsed/schema-formio": "<rootDir>/src/index.ts"
9
11
  },
10
12
  coverageThreshold: {
@@ -1,2 +1,2 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@tsed/core"),require("@tsed/schema")):"function"==typeof define&&define.amd?define(["@tsed/core","@tsed/schema"],t):"object"==typeof exports?exports["@tsed/schema-formio"]=t(require("@tsed/core"),require("@tsed/schema")):e["@tsed/schema-formio"]=t(e["@tsed/core"],e["@tsed/schema"])}(self,((e,t)=>(()=>{"use strict";var n={803:t=>{t.exports=e},953:e=>{e.exports=t}},r={};function o(e){var t=r[e];if(void 0!==t)return t.exports;var a=r[e]={exports:{}};return n[e](a,a.exports,o),a.exports}o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var a={};return(()=>{o.r(a),o.d(a,{Component:()=>P,Conditional:()=>V,Currency:()=>W,CustomClass:()=>q,CustomConditional:()=>D,DataSourceJson:()=>A,DataSourceUrl:()=>$,ErrorLabel:()=>I,ErrorMessage:()=>K,Form:()=>_,FormsContainer:()=>U,Hidden:()=>H,HideWhen:()=>L,InputTags:()=>G,Label:()=>Z,Mask:()=>B,Masks:()=>Q,MaxWords:()=>X,MinWords:()=>Y,ModalEdit:()=>ee,Multiple:()=>te,OpenWhenEmpty:()=>ne,Password:()=>re,Placeholder:()=>oe,Prefix:()=>ae,Select:()=>ie,ShowWhen:()=>F,Suffix:()=>ue,TableView:()=>se,Tabs:()=>fe,TextCase:()=>me,Textarea:()=>ye,Tooltip:()=>be,Validate:()=>J,anyToComponent:()=>s,arrayToComponent:()=>c,defaultToComponent:()=>l,enumToComponent:()=>d,execMapper:()=>r,getFormioMapper:()=>n,getFormioProps:()=>p,getFormioSchema:()=>ge,getRef:()=>u,mapToComponent:()=>f,nestedToComponent:()=>O,numberToComponent:()=>x,objectToEditGrid:()=>S,panelToComponent:()=>C,propertiesToComponents:()=>k,registerFormioMapper:()=>t,stringToComponent:()=>M});const e=new Map;function t(t,n){return e.set(t,n)}function n(t){if(!e.has(t))throw new Error(`Formio ${t} mapper doesn't exists`);return e.get(t)}function r(e,t,r){return n(e)(t,r)}var i=o(803);function u(e,t){return e.$ref?(0,i.getValue)(t,e.$ref.replace("#/","").replace(/\//g,".")):e}function s(e,t){switch((e=u(e,t))?.type){case"object":return e.properties||e.$ref?r("nested",e,t):r("map",e,t);case"array":return r("array",e,t);case"string":return r("string",e,t);case"boolean":return r("boolean",e,t);case"integer":case"number":return r("number",e,t)}return{}}function c(e,t){const n=e.items.$ref?u(e.items,t):e.items,{type:o}=n;switch(o){case"object":return{...r("default",e,t),...r("editgrid",n,t)};case"string":if(n.enum)return{...r("enum",n,t),inline:!1,type:"selectboxes"};const a=r(o,n,t);return(0,i.cleanObject)({...a,multiple:"tags"!==a.type||void 0});default:return{...r(o,n,t),multiple:!0}}}function p(e){return Object.entries(e).reduce(((e,[t,n])=>t.startsWith("x-formio-")?{...e,[t.replace("x-formio-","")]:n}:e),{})}function l(e,t){const n=p(e);return(0,i.cleanObject)({...n,disabled:!!e.readOnly,description:e.description,defaultValue:e.default})}function d(e,t){const n=r("default",e,t),o=e.enum.map((e=>({label:e,value:e})));return"select"===n.type?(0,i.cleanObject)({...n,data:{json:n.data?.json||JSON.stringify(o)},dataSrc:"json",idPath:"value",valueProperty:"value",template:n.template||"<span>{{ item.label }}</span>"}):(0,i.cleanObject)({...n,values:e["x-values"]||o.map((e=>({...e,shortcut:""})))})}function f(e,t){return{...r("default",e,t),type:"datamap",tableView:!1,input:!0,valueComponent:{...e.additionalProperties?r("any",e.additionalProperties,t):{},hideLabel:!0,tableView:!0}}}t("any",s),t("array",c),t("boolean",(function(e,t){const n=r("default",e,t);return(0,i.cleanObject)({...n,input:!0,type:n.type||"checkbox"})})),t("date",(function(e,t){const n=r("default",e,t),o={enableMinDateInput:!1,enableMaxDateInput:!1,input:!0,...n,type:"datetime",datePicker:{disableWeekends:!1,disableWeekdays:!1,...(0,i.getValue)(n,"datePicker")},widget:{type:"calendar",displayInTimezone:"viewer",locale:"en",useLocaleSettings:!1,allowInput:!0,mode:"single",noCalendar:!1,hourIncrement:1,minuteIncrement:1,minDate:null,disableWeekends:!1,disableWeekdays:!1,maxDate:null,...(0,i.getValue)(n,"widget")}};return"date"===e.format?{...o,format:"yyyy-MM-dd",enableTime:!1,widget:{...o.widget,enableTime:!1,format:"yyyy-MM-dd",...(0,i.getValue)(n,"widget")}}:{...o,timePicker:{showMeridian:!1,...(0,i.getValue)(n,"timePicker")},widget:{...o.widget,enableTime:!0,time_24hr:!0,...(0,i.getValue)(n,"widget")}}})),t("default",l),t("enum",d),t("map",f);var m=function(){return m=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},m.apply(this,arguments)};function y(e){return e.toLowerCase()}Object.create,Object.create,"function"==typeof SuppressedError&&SuppressedError;var b=[/([a-z0-9])([A-Z])/g,/([A-Z])([A-Z][a-z])/g],g=/[^A-Z0-9]+/gi;function h(e,t){void 0===t&&(t={});for(var n=t.splitRegexp,r=void 0===n?b:n,o=t.stripRegexp,a=void 0===o?g:o,i=t.transform,u=void 0===i?y:i,s=t.delimiter,c=void 0===s?" ":s,p=v(v(e,r,"$1\0$2"),a,"\0"),l=0,d=p.length;"\0"===p.charAt(l);)l++;for(;"\0"===p.charAt(d-1);)d--;return p.slice(l,d).split("\0").map(u).join(c)}function v(e,t,n){return t instanceof RegExp?e.replace(t,n):t.reduce((function(e,t){return e.replace(t,n)}),e)}function j(e,t){var n=e.toLowerCase();return 0===t?function(e){return e.charAt(0).toUpperCase()+e.substr(1)}(n):n}function w(e,t){return void 0===t&&(t={}),h(e,m({delimiter:" ",transform:j},t))}function O(e,t){return{...r("default",e,t),label:!1,tableView:!1,type:"form",display:"form",input:!0,components:[{key:"panel",label:t.parentKey&&w(t.parentKey),...r("panel",e,t)}]}}function x(e,t){const n=r("default",e,t);return(0,i.cleanObject)({...n,input:!0,delimiter:(0,i.getValue)(n,"delimiter",!1),inputFormat:(0,i.getValue)(n,"inputFormat","plain"),mask:(0,i.getValue)(n,"mask",!1),requireDecimal:!1,type:"number"})}function S(e,t){return{...r("default",e,t),rowDrafts:!1,type:"editgrid",input:!0,components:r("properties",e,t)}}function C(e,t){return{...r("default",e,t),collapsible:!1,input:!1,tableView:!1,components:r("properties",e,t)}}function E(e,t,n,r){const o=(n.required||[]).includes(e),a={...t.validate||{},required:o,pattern:r.pattern,minLength:!o||o&&r.minLength>1?r.minLength:void 0,maxLength:r.maxLength,min:r.minimum||r.minItems,max:r.maximum||r.maxItems};switch(r.type){case"string":0===r.minLength&&a.required&&(a.minLength=void 0,a.required=!1);break;case"boolean":a.required=!1}return(0,i.cleanObject)(a)}function k(e,t){const n={label:"Tabs",key:"tabs",type:"tabs",input:!1,tableView:!1,components:new Map,pushed:!1},o=[];return Object.entries(e.properties).forEach((([a,u])=>{const s=u["x-formiotabs"],c=r("any",u,{...t,parentKey:a});let p=(0,i.cleanObject)({key:a,...c,label:0==c.label?void 0:c.label||u.title||w(a),validate:E(a,c,e,u)});p=function(e,t){if(e.data){const n={...e.data};return Object.entries(n).forEach((([r,o])=>{(0,i.isFunction)(o)&&t.resolvers.push((async a=>{n[r]=await o({...t,component:e,form:a})}))})),{...e,data:n}}return e}(p,t),s?(n.pushed||(o.push(n),n.pushed=!0),n.components.has(s.key)||n.components.set(s.key,{...s,components:[]}),n.components.get(s.key).components.push(p)):o.push(p)})),n.components.size&&(n.components=[...n.components.values()]),o}function M(e,t){if(e.format){const n=r("default",e,t);switch(e.format){case"date":case"date-time":return r("date",e,t);case"uri":return(0,i.cleanObject)({input:!0,...n,type:n.type||"url"});default:return(0,i.cleanObject)({input:!0,...n,type:n.type||e.format})}}if(e.enum){const n=r("enum",e,t);return{...n,type:n.type||"radio"}}const n=r("default",e,t);return(0,i.cleanObject)({input:!0,type:n.type||"textfield",...n})}t("nested",O),t("number",x),t("integer",x),t("editgrid",S),t("panel",C),t("properties",k),t("string",M);var T=o(953);function P(e){return e=Object.entries(e).reduce(((e,[t,n])=>("validate"===t&&(e["x-formio-validate"]={...e["x-formio-validate"]||{},...n}),{...e,[`x-formio-${t}`]:n})),{}),(0,T.JsonEntityFn)((t=>{Object.entries(e).forEach((([e,n])=>{t.itemSchema.customKey(e,n),t.isCollection&&t.schema.customKey(e,n)}))}))}function V(e){return P({conditional:e})}function F(e,t){return V({show:!0,when:e,eq:t})}function L(e,t){return V({show:!1,when:e,eq:t})}function W(e={}){return P({currency:"USD",inputFormat:"plain",mask:!1,spellcheck:!0,delimiter:!0,...e,type:"currency"})}function q(e){return P({customClass:e})}function D(e){return(0,i.isArrowFn)(e)&&(e=function(e){const t=e.toString(),[n,...r]=t.split("=>");let o=r.join("=>");return n.includes("{")||(o=o.replace(new RegExp(`${n.trim()}.`,"gi"),"")),`show = ${o.trim()}`}(e)),P({customConditional:e})}function A(e,t={}){return P({...t,dataSrc:"json",data:{...t.data,json:(0,i.isFunction)(e)?(n=e,async e=>{const t=await n(e);return JSON.stringify(t)}):JSON.stringify(e)}});var n}function $(e,t={}){return P({...t,dataSrc:"url",data:{...t.data,url:e}})}function I(e){return P({errorLabel:e})}function J(e,t){return P({validate:{[e]:t}})}function K(e){return J("customMessage",e)}var N=function(){return N=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},N.apply(this,arguments)};Object.create,Object.create,"function"==typeof SuppressedError&&SuppressedError;var R=function(){return R=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},R.apply(this,arguments)};function z(e,t){return void 0===t&&(t={}),function(e,t){return void 0===t&&(t={}),h(e,R({delimiter:"."},t))}(e,N({delimiter:"-"},t))}Object.create,Object.create,"function"==typeof SuppressedError&&SuppressedError;const U=new Map;function Z(e){return(0,T.JsonEntityFn)((t=>"property"===t.decoratorType?P({label:e}):(0,T.CustomKey)("x-formio-label",e)))}function _(e={}){return(0,i.useDecorators)((t=>{const n=e.name||(0,i.nameOf)(t),r=z(n);U.set(n,t),U.set(r,t)}),e.name&&(0,T.Name)(e.name),e.label&&Z(e.label),e&&(0,i.StoreSet)("formio:form",e))}function H(e=!0){return P({hidden:e})}function G(e={}){return(0,i.useDecorators)((0,T.CollectionOf)(String),P({...e,tableView:!1,storeas:"array",type:"tags"}))}function B(e,t=""){return P({inputMask:e,inputMaskPlaceholderChar:t})}function Q(...e){return P({inputMasks:e})}function X(e){return J("maxWords",e)}function Y(e){return J("minWords",e)}function ee(e=!0){return P({modalEdit:e})}function te(e=!1){return P({multiple:e})}function ne(e=!0){return P({openWhenEmpty:e})}function re(e={}){return P({...e,type:"password",protected:!0})}function oe(e){return P({placeholder:e})}function ae(e){return P({prefix:e})}function ie(e={}){return P({selectThreshold:.3,input:!0,widget:"choicesjs",...e,type:"select"})}function ue(e){return P({suffix:e})}function se(e){return P({tableView:e})}var ce=function(){return ce=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},ce.apply(this,arguments)};Object.create,Object.create,"function"==typeof SuppressedError&&SuppressedError;var pe=function(){return pe=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},pe.apply(this,arguments)};function le(e,t){var n=e.charAt(0),r=e.substr(1).toLowerCase();return t>0&&n>="0"&&n<="9"?"_"+n+r:""+n.toUpperCase()+r}function de(e,t){return 0===t?e.toLowerCase():le(e,t)}function fe(e){return(0,T.JsonEntityFn)((t=>{var n,r;t.schema.customKey("x-formiotabs",{key:(n=e,void 0===r&&(r={}),function(e,t){return void 0===t&&(t={}),h(e,pe({delimiter:"",transform:le},t))}(n,ce({transform:de},r))),label:e})}))}function me(e){return P({case:e})}function ye(e={}){return P({autoExpand:!1,...e,type:"textarea"})}function be(e){return P({tooltip:e})}async function ge(e,t={}){if(!e)return;if((0,i.isString)(e))return ge(U.get(e),t);const n=T.JsonEntityStore.from(e),o=(0,T.getJsonSchema)(n,{...t,customKeys:!0}),a=n.schema.getName(),u=z(a),s=[],c=r("properties",o,{...t,definitions:o.definitions,resolvers:s}),p={title:a,type:"form",display:"form",tags:[],access:[],submissionAccess:[],...n.store.get("formio:form",{}),name:u,machineName:u,components:c};return await Promise.all(s.map((e=>e(p,t)))),p}Object.create,Object.create,"function"==typeof SuppressedError&&SuppressedError})(),a})()));
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@tsed/core"),require("@tsed/schema")):"function"==typeof define&&define.amd?define(["@tsed/core","@tsed/schema"],t):"object"==typeof exports?exports["@tsed/schema-formio"]=t(require("@tsed/core"),require("@tsed/schema")):e["@tsed/schema-formio"]=t(e["@tsed/core"],e["@tsed/schema"])}(self,((e,t)=>(()=>{"use strict";var n={803:t=>{t.exports=e},953:e=>{e.exports=t}},r={};function o(e){var t=r[e];if(void 0!==t)return t.exports;var a=r[e]={exports:{}};return n[e](a,a.exports,o),a.exports}o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var a={};return(()=>{o.r(a),o.d(a,{Component:()=>P,Conditional:()=>V,Currency:()=>W,CustomClass:()=>q,CustomConditional:()=>D,DataSourceJson:()=>A,DataSourceUrl:()=>$,ErrorLabel:()=>I,ErrorMessage:()=>K,Form:()=>_,FormsContainer:()=>U,Hidden:()=>H,HideWhen:()=>L,InputTags:()=>G,Label:()=>Z,Mask:()=>B,Masks:()=>Q,MaxWords:()=>X,MinWords:()=>Y,ModalEdit:()=>ee,Multiple:()=>te,OpenWhenEmpty:()=>ne,Password:()=>re,Placeholder:()=>oe,Prefix:()=>ae,Select:()=>ie,ShowWhen:()=>F,Suffix:()=>ue,TableView:()=>se,Tabs:()=>fe,TextCase:()=>ye,Textarea:()=>me,Tooltip:()=>be,Validate:()=>J,anyToComponent:()=>s,arrayToComponent:()=>c,defaultToComponent:()=>l,enumToComponent:()=>d,execMapper:()=>r,getFormioMapper:()=>n,getFormioProps:()=>p,getFormioSchema:()=>ge,getRef:()=>u,mapToComponent:()=>f,nestedToComponent:()=>O,numberToComponent:()=>x,objectToEditGrid:()=>S,panelToComponent:()=>C,propertiesToComponents:()=>k,registerFormioMapper:()=>t,stringToComponent:()=>M});const e=new Map;function t(t,n){return e.set(t,n)}function n(t){if(!e.has(t))throw new Error(`Formio ${t} mapper doesn't exists`);return e.get(t)}function r(e,t,r){return n(e)(t,r)}var i=o(803);function u(e,t){return e.$ref?(0,i.getValue)(t,e.$ref.replace("#/","").replace(/\//g,".")):e}function s(e,t){switch((e=u(e,t))?.type){case"object":return e.properties||e.$ref?r("nested",e,t):r("map",e,t);case"array":return r("array",e,t);case"string":return r("string",e,t);case"boolean":return r("boolean",e,t);case"integer":case"number":return r("number",e,t)}return{}}function c(e,t){const n=e.items.$ref?u(e.items,t):e.items,{type:o}=n;switch(o){case"object":return{...r("default",e,t),...r("editgrid",n,t)};case"string":if(n.enum)return{...r("enum",n,t),inline:!1,type:"selectboxes"};const a=r(o,n,t);return(0,i.cleanObject)({...a,multiple:"tags"!==a.type||void 0});default:return{...r(o,n,t),multiple:!0}}}function p(e){return Object.entries(e).reduce(((e,[t,n])=>t.startsWith("x-formio-")?{...e,[t.replace("x-formio-","")]:n}:e),{})}function l(e,t){const n=p(e);return(0,i.cleanObject)({...n,disabled:!!e.readOnly,description:e.description,defaultValue:e.default})}function d(e,t){const n=r("default",e,t),o=e.enum.map((e=>({label:e,value:e})));return"select"===n.type?(0,i.cleanObject)({...n,data:{json:n.data?.json||JSON.stringify(o)},dataSrc:"json",idPath:"value",valueProperty:"value",template:n.template||"<span>{{ item.label }}</span>"}):(0,i.cleanObject)({...n,values:e["x-values"]||o.map((e=>({...e,shortcut:""})))})}function f(e,t){return{...r("default",e,t),type:"datamap",tableView:!1,input:!0,valueComponent:{...e.additionalProperties?r("any",e.additionalProperties,t):{},hideLabel:!0,tableView:!0}}}t("any",s),t("array",c),t("boolean",(function(e,t){const n=r("default",e,t);return(0,i.cleanObject)({...n,input:!0,type:n.type||"checkbox"})})),t("date",(function(e,t){const n=r("default",e,t),o={enableMinDateInput:!1,enableMaxDateInput:!1,input:!0,...n,type:"datetime",datePicker:{disableWeekends:!1,disableWeekdays:!1,...(0,i.getValue)(n,"datePicker")},widget:{type:"calendar",displayInTimezone:"viewer",locale:"en",useLocaleSettings:!1,allowInput:!0,mode:"single",noCalendar:!1,hourIncrement:1,minuteIncrement:1,minDate:null,disableWeekends:!1,disableWeekdays:!1,maxDate:null,...(0,i.getValue)(n,"widget")}};return"date"===e.format?{...o,format:"yyyy-MM-dd",enableTime:!1,widget:{...o.widget,enableTime:!1,format:"yyyy-MM-dd",...(0,i.getValue)(n,"widget")}}:{...o,timePicker:{showMeridian:!1,...(0,i.getValue)(n,"timePicker")},widget:{...o.widget,enableTime:!0,time_24hr:!0,...(0,i.getValue)(n,"widget")}}})),t("default",l),t("enum",d),t("map",f);var m=function(){return m=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},m.apply(this,arguments)};function y(e){return e.toLowerCase()}Object.create,Object.create,"function"==typeof SuppressedError&&SuppressedError;var b=[/([a-z0-9])([A-Z])/g,/([A-Z])([A-Z][a-z])/g],g=/[^A-Z0-9]+/gi;function h(e,t){void 0===t&&(t={});for(var n=t.splitRegexp,r=void 0===n?b:n,o=t.stripRegexp,a=void 0===o?g:o,i=t.transform,u=void 0===i?y:i,s=t.delimiter,c=void 0===s?" ":s,p=v(v(e,r,"$1\0$2"),a,"\0"),l=0,d=p.length;"\0"===p.charAt(l);)l++;for(;"\0"===p.charAt(d-1);)d--;return p.slice(l,d).split("\0").map(u).join(c)}function v(e,t,n){return t instanceof RegExp?e.replace(t,n):t.reduce((function(e,t){return e.replace(t,n)}),e)}function j(e,t){var n=e.toLowerCase();return 0===t?function(e){return e.charAt(0).toUpperCase()+e.substr(1)}(n):n}function w(e,t){return void 0===t&&(t={}),h(e,m({delimiter:" ",transform:j},t))}function O(e,t){return{...r("default",e,t),label:!1,tableView:!1,type:"form",display:"form",input:!0,components:[{key:"panel",label:t.parentKey&&w(t.parentKey),...r("panel",e,t)}]}}function x(e,t){const n=r("default",e,t);return(0,i.cleanObject)({...n,input:!0,delimiter:(0,i.getValue)(n,"delimiter",!1),inputFormat:(0,i.getValue)(n,"inputFormat","plain"),mask:(0,i.getValue)(n,"mask",!1),requireDecimal:!1,type:"number"})}function S(e,t){return{...r("default",e,t),rowDrafts:!1,type:"editgrid",input:!0,components:r("properties",e,t)}}function C(e,t){return{...r("default",e,t),collapsible:!1,input:!1,tableView:!1,components:r("properties",e,t)}}function E(e,t,n,r){const o=(n.required||[]).includes(e),a={...t.validate||{},required:o,pattern:r.pattern,minLength:!o||o&&r.minLength>1?r.minLength:void 0,maxLength:r.maxLength,min:r.minimum||r.minItems,max:r.maximum||r.maxItems};switch(r.type){case"string":0===r.minLength&&a.required&&(a.minLength=void 0,a.required=!1);break;case"boolean":a.required=!1}return(0,i.cleanObject)(a)}function k(e,t){const n={label:"Tabs",key:"tabs",type:"tabs",input:!1,tableView:!1,components:new Map,pushed:!1},o=[];return Object.entries(e.properties).forEach((([a,u])=>{const s=u["x-formiotabs"],c=r("any",u,{...t,parentKey:a});let p=(0,i.cleanObject)({key:a,...c,label:0==c.label?void 0:c.label||u.title||w(a),validate:E(a,c,e,u)});p=function(e,t){if(e.data){const n={...e.data};return Object.entries(n).forEach((([r,o])=>{(0,i.isFunction)(o)&&t.resolvers.push((async a=>{n[r]=await o({...t,component:e,form:a})}))})),{...e,data:n}}return e}(p,t),s?(n.pushed||(o.push(n),n.pushed=!0),n.components.has(s.key)||n.components.set(s.key,{...s,components:[]}),n.components.get(s.key).components.push(p)):o.push(p)})),n.components.size&&(n.components=[...n.components.values()]),o}function M(e,t){if(e.format){const n=r("default",e,t);switch(e.format){case"date":case"date-time":return r("date",e,t);case"uri":return(0,i.cleanObject)({input:!0,...n,type:n.type||"url"});default:return(0,i.cleanObject)({input:!0,...n,type:n.type||e.format})}}if(e.enum){const n=r("enum",e,t);return{...n,type:n.type||"radio"}}const n=r("default",e,t);return(0,i.cleanObject)({input:!0,type:n.type||"textfield",...n})}t("nested",O),t("number",x),t("integer",x),t("editgrid",S),t("panel",C),t("properties",k),t("string",M);var T=o(953);function P(e){return e=Object.entries(e).reduce(((e,[t,n])=>("validate"===t&&(e["x-formio-validate"]={...e["x-formio-validate"]||{},...n}),{...e,[`x-formio-${t}`]:n})),{}),(0,T.JsonEntityFn)((t=>{Object.entries(e).forEach((([e,n])=>{t.itemSchema.customKey(e,n),t.isCollection&&t.schema.customKey(e,n)}))}))}function V(e){return P({conditional:e})}function F(e,t){return V({show:!0,when:e,eq:t})}function L(e,t){return V({show:!1,when:e,eq:t})}function W(e={}){return P({currency:"USD",inputFormat:"plain",mask:!1,spellcheck:!0,delimiter:!0,...e,type:"currency"})}function q(e){return P({customClass:e})}function D(e){return(0,i.isArrowFn)(e)&&(e=function(e){const t=e.toString(),[n,...r]=t.split("=>");let o=r.join("=>");return n.includes("{")||(o=o.replace(new RegExp(`${n.trim()}.`,"gi"),"")),`show = ${o.trim()}`}(e)),P({customConditional:e})}function A(e,t={}){return P({...t,dataSrc:"json",data:{...t.data,json:(0,i.isFunction)(e)?(n=e,async e=>{const t=await n(e);return JSON.stringify(t)}):JSON.stringify(e)}});var n}function $(e,t={}){return P({...t,dataSrc:"url",data:{...t.data,url:e}})}function I(e){return P({errorLabel:e})}function J(e,t){return P({validate:{[e]:t}})}function K(e){return J("customMessage",e)}var N=function(){return N=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},N.apply(this,arguments)};Object.create,Object.create,"function"==typeof SuppressedError&&SuppressedError;var R=function(){return R=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},R.apply(this,arguments)};function z(e,t){return void 0===t&&(t={}),function(e,t){return void 0===t&&(t={}),h(e,R({delimiter:"."},t))}(e,N({delimiter:"-"},t))}Object.create,Object.create,"function"==typeof SuppressedError&&SuppressedError;const U=new Map;function Z(e){return(0,T.JsonEntityFn)((t=>"property"===t.decoratorType?P({label:e}):(0,T.CustomKey)("x-formio-label",e)))}function _(e={}){return(0,i.useDecorators)((t=>{const n=e.name||(0,i.nameOf)(t),r=z(n);U.set(n,t),U.set(r,t)}),e.name&&(0,T.Name)(e.name),e.label&&Z(e.label),e&&(0,i.StoreSet)("formio:form",e))}function H(e=!0){return P({hidden:e})}function G(e={}){return(0,i.useDecorators)((0,T.CollectionOf)(String),P({...e,tableView:!1,storeas:"array",type:"tags"}))}function B(e,t=""){return P({inputMask:e,inputMaskPlaceholderChar:t})}function Q(...e){return P({inputMasks:e})}function X(e){return J("maxWords",e)}function Y(e){return J("minWords",e)}function ee(e=!0){return P({modalEdit:e})}function te(e=!1){return P({multiple:e})}function ne(e=!0){return P({openWhenEmpty:e})}function re(e={}){return P({...e,type:"password",protected:!0})}function oe(e){return P({placeholder:e})}function ae(e){return P({prefix:e})}function ie(e={}){return P({selectThreshold:.3,input:!0,widget:"choicesjs",...e,type:"select"})}function ue(e){return P({suffix:e})}function se(e){return P({tableView:e})}var ce=function(){return ce=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},ce.apply(this,arguments)};Object.create,Object.create,"function"==typeof SuppressedError&&SuppressedError;var pe=function(){return pe=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},pe.apply(this,arguments)};function le(e,t){var n=e.charAt(0),r=e.substr(1).toLowerCase();return t>0&&n>="0"&&n<="9"?"_"+n+r:""+n.toUpperCase()+r}function de(e,t){return 0===t?e.toLowerCase():le(e,t)}function fe(e){return(0,T.JsonEntityFn)((t=>{var n,r;t.schema.customKey("x-formiotabs",{key:(n=e,void 0===r&&(r={}),function(e,t){return void 0===t&&(t={}),h(e,pe({delimiter:"",transform:le},t))}(n,ce({transform:de},r))),label:e})}))}function me(e={}){return P({autoExpand:!1,...e,type:"textarea"})}function ye(e){return P({case:e})}function be(e){return P({tooltip:e})}async function ge(e,t={}){if(!e)return;if((0,i.isString)(e))return ge(U.get(e),t);const n=T.JsonEntityStore.from(e),o=(0,T.getJsonSchema)(n,{...t,customKeys:!0}),a=n.schema.getName(),u=z(a),s=[],c=r("properties",o,{...t,definitions:o.definitions,resolvers:s}),p={title:a,type:"form",display:"form",tags:[],access:[],submissionAccess:[],...n.store.get("formio:form",{}),name:u,machineName:u,components:c};return await Promise.all(s.map((e=>e(p,t)))),p}Object.create,Object.create,"function"==typeof SuppressedError&&SuppressedError})(),a})()));
2
2
  //# sourceMappingURL=schema-formio.umd.min.js.map