@decaf-ts/ui-decorators 0.5.32 → 0.6.1

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 (61) hide show
  1. package/dist/ui-decorators.cjs +1 -1
  2. package/dist/ui-decorators.cjs.map +1 -1
  3. package/dist/ui-decorators.js +1 -1
  4. package/dist/ui-decorators.js.map +1 -1
  5. package/lib/esm/index.d.ts +1 -1
  6. package/lib/esm/index.js +1 -1
  7. package/lib/esm/model/decorators.d.ts +1 -1
  8. package/lib/esm/model/decorators.js +15 -17
  9. package/lib/esm/model/decorators.js.map +1 -1
  10. package/lib/esm/model/model.d.ts +17 -0
  11. package/lib/esm/model/overrides.d.ts +1 -1
  12. package/lib/esm/model/overrides.js +74 -0
  13. package/lib/esm/model/overrides.js.map +1 -1
  14. package/lib/esm/ui/DecafComponent.d.ts +195 -0
  15. package/lib/esm/ui/DecafComponent.js +96 -0
  16. package/lib/esm/ui/DecafComponent.js.map +1 -0
  17. package/lib/esm/ui/Rendering.d.ts +1 -11
  18. package/lib/esm/ui/Rendering.js +139 -70
  19. package/lib/esm/ui/Rendering.js.map +1 -1
  20. package/lib/esm/ui/constants.d.ts +3 -1
  21. package/lib/esm/ui/constants.js +10 -10
  22. package/lib/esm/ui/constants.js.map +1 -1
  23. package/lib/esm/ui/decorators.d.ts +38 -10
  24. package/lib/esm/ui/decorators.js +53 -12
  25. package/lib/esm/ui/decorators.js.map +1 -1
  26. package/lib/esm/ui/index.d.ts +1 -0
  27. package/lib/esm/ui/index.js +1 -0
  28. package/lib/esm/ui/index.js.map +1 -1
  29. package/lib/esm/ui/types.d.ts +7 -3
  30. package/lib/esm/ui/utils.d.ts +1 -0
  31. package/lib/esm/ui/utils.js +24 -12
  32. package/lib/esm/ui/utils.js.map +1 -1
  33. package/lib/index.cjs +1 -1
  34. package/lib/index.d.ts +1 -1
  35. package/lib/model/decorators.cjs +15 -17
  36. package/lib/model/decorators.d.ts +1 -1
  37. package/lib/model/decorators.js.map +1 -1
  38. package/lib/model/model.d.ts +17 -0
  39. package/lib/model/overrides.cjs +74 -0
  40. package/lib/model/overrides.d.ts +1 -1
  41. package/lib/model/overrides.js.map +1 -1
  42. package/lib/ui/DecafComponent.cjs +100 -0
  43. package/lib/ui/DecafComponent.d.ts +195 -0
  44. package/lib/ui/DecafComponent.js.map +1 -0
  45. package/lib/ui/Rendering.cjs +138 -69
  46. package/lib/ui/Rendering.d.ts +1 -11
  47. package/lib/ui/Rendering.js.map +1 -1
  48. package/lib/ui/constants.cjs +9 -9
  49. package/lib/ui/constants.d.ts +3 -1
  50. package/lib/ui/constants.js.map +1 -1
  51. package/lib/ui/decorators.cjs +55 -12
  52. package/lib/ui/decorators.d.ts +38 -10
  53. package/lib/ui/decorators.js.map +1 -1
  54. package/lib/ui/index.cjs +1 -0
  55. package/lib/ui/index.d.ts +1 -0
  56. package/lib/ui/index.js.map +1 -1
  57. package/lib/ui/types.d.ts +7 -3
  58. package/lib/ui/utils.cjs +23 -10
  59. package/lib/ui/utils.d.ts +1 -0
  60. package/lib/ui/utils.js.map +1 -1
  61. package/package.json +2 -3
@@ -1,2 +1,2 @@
1
- var e,t;e=this,t=function(e,t,r,a){"use strict";var o;e.UIMediaBreakPoints=void 0,(o=e.UIMediaBreakPoints||(e.UIMediaBreakPoints={})).SMALL="small",o.MEDIUM="medium",o.LARGE="large",o.XLARGE="xlarge";const s={REFLECT:t.ModelKeys.REFLECT+".ui.",UIMODEL:"uimodel",RENDERED_BY:"rendered-by",ELEMENT:"element",PROP:"prop",CHILD:"child",NAME:"name",NAME_PREFIX:"input-",CUSTOM_PROPS:"customValidationProps",UILISTMODEL:"uilistmodel",UILISTPROP:"listprop",UILAYOUT:"uilayout",UILAYOUTPROP:"uilayoutprop",HANDLERS:"handlers",TYPE:"type",SUB_TYPE:"subtype",HIDDEN:"hidden",FORMAT:"format",ORDER:"order",PAGE:"page",READ_ONLY:"readonly",REQUIRED:t.ValidationKeys.REQUIRED,MIN:t.ValidationKeys.MIN,MIN_LENGTH:t.ValidationKeys.MIN_LENGTH,MAX:t.ValidationKeys.MAX,MAX_LENGTH:t.ValidationKeys.MAX_LENGTH,PATTERN:t.ValidationKeys.PATTERN,URL:t.ValidationKeys.URL,STEP:t.ValidationKeys.STEP,DATE:t.ValidationKeys.DATE,EMAIL:t.ValidationKeys.EMAIL,PASSWORD:t.ValidationKeys.PASSWORD,EQUALS:t.ValidationKeys.EQUALS,DIFF:t.ValidationKeys.DIFF,LESS_THAN:t.ValidationKeys.LESS_THAN,LESS_THAN_OR_EQUAL:t.ValidationKeys.LESS_THAN_OR_EQUAL,GREATER_THAN:t.ValidationKeys.GREATER_THAN,GREATER_THAN_OR_EQUAL:t.ValidationKeys.GREATER_THAN_OR_EQUAL},i={[s.EMAIL]:t.EmailValidator,[s.URL]:t.URLValidator,[s.DATE]:t.DateValidator,[s.PASSWORD]:t.PasswordValidator},n={[s.REQUIRED]:t.RequiredValidator,[s.MIN]:t.MinValidator,[s.MAX]:t.MaxValidator,[s.STEP]:t.StepValidator,[s.MIN_LENGTH]:t.MinLengthValidator,[s.MAX_LENGTH]:t.MaxLengthValidator,[s.PATTERN]:t.PatternValidator,[s.EQUALS]:t.EqualsValidator,[s.DIFF]:t.DiffValidator,[s.LESS_THAN]:t.LessThanValidator,[s.LESS_THAN_OR_EQUAL]:t.LessThanOrEqualValidator,[s.GREATER_THAN]:t.GreaterThanValidator,[s.GREATER_THAN_OR_EQUAL]:t.GreaterThanOrEqualValidator},d="yyyy-MM-dd",l={BUTTON:"button",CHECKBOX:"checkbox",COLOR:"color",DATE:s.DATE,DATETIME_LOCAL:"datetime-local",EMAIL:s.EMAIL,FILE:"file",HIDDEN:"hidden",IMAGE:"image",MONTH:"month",NUMBER:"number",PASSWORD:s.PASSWORD,RADIO:"radio",RANGE:"range",RESET:"reset",SEARCH:"search",SUBMIT:"submit",TEL:"tel",TEXT:"text",TEXTAREA:"textarea",SELECT:"select",TIME:"time",URL:s.URL,WEEK:"week"},c=[l.CHECKBOX,l.RADIO];class E extends a.InternalError{constructor(e){super(e,E.name)}}function p(e,r,...a){if(e===s.DATE){if(!r)return"";const e=a.shift()||d;return t.formatDate(new Date(r),e)}return r}function u(e){if("number"==typeof e&&!isNaN(e))return e;const t=Number(e);return isNaN(t)?void 0:t}function R(e){if(!e)return e;const t={"&":"&amp;","<":"&lt;",">":"&gt;"};return(""+e).replace(/[&<>]/g,e=>t[e]||e)}function T(e){let t;try{t=a.findModelId(e)}catch(e){t=Date.now()}return`${e.constructor.name}-${t}`}class y{static{this.cache={}}constructor(e){this.flavour=e,this.initialized=!1,y.register(this)}translate(e,r=!0){if(r)switch(e){case t.ReservedModels.STRING:return l.TEXT;case t.ReservedModels.NUMBER:case t.ReservedModels.BIGINT:return l.NUMBER;case t.ReservedModels.BOOLEAN:return l.CHECKBOX;case t.ReservedModels.DATE:return l.DATE}else switch(e){case l.SELECT:case l.TEXT:case l.EMAIL:case l.COLOR:case l.PASSWORD:case l.TEL:case l.URL:case l.SEARCH:case l.HIDDEN:case l.TEXTAREA:case l.RADIO:return t.ReservedModels.STRING;case l.NUMBER:return t.ReservedModels.NUMBER;case l.CHECKBOX:return t.ReservedModels.BOOLEAN;case l.DATE:case l.DATETIME_LOCAL:case l.TIME:return t.ReservedModels.DATE}return e}getClassDecoratorsMetadata(e){return[Reflect.getMetadata(y.key(s.UIMODEL),e.constructor)||Reflect.getMetadata(y.key(s.UIMODEL),t.Model.get(e.constructor.name)),Reflect.getMetadata(y.key(s.UILISTMODEL),e.constructor)||Reflect.getMetadata(y.key(s.UILISTMODEL),t.Model.get(e.constructor.name)),Reflect.getMetadata(y.key(s.HANDLERS),e.constructor)||Reflect.getMetadata(y.key(s.HANDLERS),t.Model.get(e.constructor.name)),Reflect.getMetadata(y.key(s.UILAYOUT),e.constructor)||Reflect.getMetadata(y.key(s.UILAYOUT),t.Model.get(e.constructor.name))].filter(Boolean)}isValidatableByType(e){return Object.keys(i).includes(e)}isValidatableByAttribute(e){return Object.keys(n).includes(e)}toAttributeValue(e,t){if(!Object.keys(n).includes(e))throw Error(`Invalid attribute key "${e}". Expected one of: ${Object.keys(n).join(", ")}.`);return e===s.REQUIRED||t[e]}toFieldDefinition(e,a={},o=!0){const{inheritProps:i,...n}=a;a=n;const c=this.getClassDecoratorsMetadata(e);if(!c.length)throw new E(`No ui definitions set for model ${e.constructor.name}. Did you use @uimodel?`);const u=Object.assign({},...c,i||{}),{tag:R,props:y,item:f,handlers:A}=u,M=r.Reflection.getAllPropertyDecorators(e,s.REFLECT);let O,L=f?.props||{},I={};const D=(e,t)=>e?[e,t].join("."):t;if(M){const o=r.Reflection.getAllPropertyDecorators(e,t.ValidationKeys.REFLECT);for(const r in M){const i=M[r],n=Object.values(i).filter(({key:e})=>[s.PROP,s.ELEMENT,s.CHILD].includes(e));if(n?.length>1)throw new E("Only one type of decoration is allowed. Please choose between @uiprop, @uichild or @uielement");const c=i.find(({key:e})=>e===s.HIDDEN);if(c){const e=i.find(({key:e})=>e===s.ELEMENT);if(!e)throw new E(`@uielement no found in "${r}". It is required to use hiddenOn decorator.`)}i.shift(),i.sort(e=>[s.ELEMENT,s.CHILD].includes(e.key)?-1:1).forEach(i=>{if(!i)throw new E("No decorator found");switch(i.key){case s.PROP:L[r]=i.props;break;case s.CHILD:{if(!t.Model.isPropertyModel(e,r))throw new E(`Child "${r}" must be a model.`);let o;const s=e[r];if("object"!=typeof s||null===s||Array.isArray(s)){const e=i.props.props?.name;o=new(t.Model.get(e))}O=O||[];const n=Object.assign({},a||{},{model:o},{inheritProps:i.props,childOf:D(a?.childOf,r)}),d=this.toFieldDefinition(s||o,n,!1);O.push(d);break}case s.UILISTPROP:{I=I||{},i.props?.name&&(I[i.props?.name]=r);const e=Object.assign({},u.props?.item||{},f?.props||{},i.props?.props||{},a);L={tag:f?.tag||e.render||"",props:Object.assign({},L?.props,{mapper:I},e)};break}case s.HIDDEN:case s.PAGE:case s.ORDER:case s.UILAYOUTPROP:case s.ELEMENT:{O=O||[];const t=i.props,n=Object.assign({},L?.props,t.props||{},t?.props?.name?{path:D(a?.childOf,t.props.name),childOf:void 0}:{},a);if(i.key===s.ELEMENT){const a={tag:t.tag||L?.tag||R||"",props:n},i=o[r],c=i.shift();for(const e of i)this.isValidatableByAttribute(e.key)?a.props[this.translate(e.key)]=this.toAttributeValue(e.key,e.props):this.isValidatableByType(e.key)&&(e.key===l.DATE&&(a.props[s.FORMAT]=e.props.format||d),a.props[s.TYPE]=e.key);if(!a.props[s.TYPE]){const e=c.props.name;a.props[s.TYPE]=this.translate(e.toLowerCase(),!0)}a.props.value=p(a.props[s.TYPE],e[r],a.props[s.FORMAT]),O.push(a)}else{const e=O.find(e=>e.props?.name===r||[s.UILAYOUTPROP,s.PAGE].includes(i.key)&&e?.props?.childOf===r);if(e)if(i.key!==s.UILAYOUTPROP)e.props=Object.assign({},e.props,{[i.key]:t});else{const{row:t,col:r,props:a}=i.props;e.props=Object.assign({},a||{},e.props,t,r)}}break}default:throw new E("Invalid key: "+i.key)}})}}a=Object.assign({},y,a,{handlers:A||{}});const h=a?.operation;O=O?.sort((e,t)=>(e?.props?.order??0)-(t?.props?.order??0)).filter(e=>{const t=e?.props?.hidden||[];return t?.length&&t.includes(h)?void 0:e});const m={tag:R,item:L,props:a,children:O};return o&&(m.rendererId=T(e)),m}static register(e){if(e.flavour in this.cache)throw new a.InternalError(`Rendering engine under ${e.flavour} already exists`);this.cache[e.flavour]=e,this.current=e}static getOrBoot(e){if(e instanceof y)return e;const t=new e;return t.initialize(),t}static get(e){if(!e)return this.getOrBoot(this.current);if(!(e in this.cache))throw new a.InternalError(`Rendering engine under ${e} does not exist`);return this.getOrBoot(this.cache[e])}static render(e,...r){const o=t.Model.get(e.constructor.name)||t.Model.fromObject(e);if(!o)throw new a.InternalError("No model registered found");const i=Reflect.getMetadata(y.key(s.RENDERED_BY),o);return y.get(i).render(e,...r)}static key(e){return`${s.REFLECT}${e}`}}function f(e,t){return(a,o)=>{const i={tag:e||a.name,props:t};return r.metadata(y.key(s.UIMODEL),i)(a)}}function A(...e){return t.propMetadata(y.key(s.HIDDEN),e)}t.Model.prototype.render=function(...e){return y.render(this,...e)},e.EventHandler=class{constructor(){}},e.HTML5CheckTypes=c,e.HTML5DateFormat=d,e.HTML5InputTypes=l,e.RenderingEngine=y,e.RenderingError=E,e.UIKeys=s,e.VERSION="##VERSION##",e.ValidatableByAttribute=n,e.ValidatableByType=i,e.escapeHtml=R,e.formatByType=p,e.generateUIModelID=T,e.hidden=()=>A(a.OperationKeys.CREATE,a.OperationKeys.READ,a.OperationKeys.UPDATE,a.OperationKeys.DELETE),e.hideOn=A,e.parseToNumber=u,e.parseValueByType=function e(r,o,s){let i;switch(r){case Array.name:i=(Array.isArray(o)?o.map(r=>e(t.ReservedModels.STRING,r,s)):[o]).join(",");break;case l.NUMBER:i=u(o);break;case l.DATE:{const e=s.format;o&&(""+o).trim().length&&(i=typeof o===t.ReservedModels.NUMBER?new Date(o):o?e?t.parseDate(e,o):new Date(o):void 0);break}default:i=typeof o===t.ReservedModels.OBJECT?Array.isArray(o)?o.join(","):JSON.stringify(o):typeof o===t.ReservedModels.BOOLEAN?o:typeof o===t.ReservedModels.STRING?R(o):i}if(void 0===i)throw new a.InternalError(`Failed to parse value of type ${r} from ${typeof o} - ${o}`);return i},e.renderedBy=e=>r.apply(r.metadata(y.key(s.RENDERED_BY),e)),e.revertHtml=e=>{const t={"&amp;":"&","&lt;":"<","&gt;":">"};return(""+e).replace(/&lt;|&gt;|&amp;/g,e=>t[e]||e)},e.uichild=(e,r,a={},o=!1,i=!1)=>(n,d)=>{const l={tag:r,serialize:i,props:Object.assign({},a||{},{name:e||d},o?{customTypes:[Array.name],multiple:!0}:{multiple:a?.multiple||!1})};t.propMetadata(y.key(s.CHILD),l)(n,d)},e.uielement=(e,r,a=!1)=>(o,i)=>{const n={tag:e,serialize:a,props:Object.assign({},r||{},{name:i})};return t.propMetadata(y.key(s.ELEMENT),n)(o,i)},e.uihandlers=e=>t=>{const a={handlers:e};return r.metadata(y.key(s.HANDLERS),a)(t)},e.uilayout=(r,a=1,o=1,s={})=>(i,n)=>f(r,Object.assign({...typeof a===t.ReservedModels.BOOLEAN?{flexMode:a,cols:1}:{flexMode:!1,cols:a},rows:o,...Object.assign({breakpoint:e.UIMediaBreakPoints.LARGE},s)}))(i,n),e.uilayoutprop=(e=1,r=1)=>(a,o)=>{const i={name:o,props:Object.assign({},{row:r,col:e})};t.propMetadata(y.key(s.UILAYOUTPROP),i)(a,o)},e.uilistmodel=(e,t)=>(a,o)=>{const i={item:{tag:e||a.name,props:t}};return r.metadata(y.key(s.UILISTMODEL),i)(a)},e.uilistprop=(e=void 0,r)=>(a,o)=>{const i={name:e||o,props:r||{}};t.propMetadata(y.key(s.UILISTPROP),i)(a,o)},e.uimodel=f,e.uiorder=(e=1)=>t.propMetadata(y.key(s.ORDER),e),e.uipageprop=(e=1)=>t.propMetadata(y.key(s.PAGE),e),e.uiprop=(e=void 0,r=!1)=>(a,o)=>{const i={name:e||o,stringify:r};t.propMetadata(y.key(s.PROP),i)(a,o)},e.uisteppedmodel=(e,r=1,a=!1,o={})=>{let s=[];return typeof r===t.ReservedModels.OBJECT&&(s=r,r=s.length),f(e,{pages:r,paginated:a,pageTitles:s,props:o})}},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@decaf-ts/decorator-validation"),require("@decaf-ts/reflection"),require("@decaf-ts/db-decorators"),require("reflect-metadata")):"function"==typeof define&&define.amd?define(["exports","@decaf-ts/decorator-validation","@decaf-ts/reflection","@decaf-ts/db-decorators","reflect-metadata"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["ui-decorators"]={},e.decafTsDecoratorValidation,e.decafTsReflection,e.decafTsDbDecorators);
1
+ var e,t;e=this,t=function(e,t,a,r,o){"use strict";var s;e.UIMediaBreakPoints=void 0,(s=e.UIMediaBreakPoints||(e.UIMediaBreakPoints={})).SMALL="small",s.MEDIUM="medium",s.LARGE="large",s.XLARGE="xlarge";const i={REFLECT:"ui",UIMODEL:"uimodel",RENDERED_BY:"rendered-by",ELEMENT:"uielement",PROP:"uiprop",CHILD:"uichild",NAME:"name",NAME_PREFIX:"input-",CUSTOM_PROPS:"customValidationProps",UILISTMODEL:"uilistmodel",UILISTPROP:"uilistprop",UILAYOUT:"uilayout",UILAYOUTPROP:"uilayoutprop",HANDLERS:"uihandlers",TYPE:"type",SUB_TYPE:"subtype",HIDDEN:"hidden",FORMAT:"format",ORDER:"order",PAGE:"page",EVENTS:"events",READ_ONLY:"readonly",REQUIRED:t.ValidationKeys.REQUIRED,MIN:t.ValidationKeys.MIN,MIN_LENGTH:t.ValidationKeys.MIN_LENGTH,MAX:t.ValidationKeys.MAX,MAX_LENGTH:t.ValidationKeys.MAX_LENGTH,PATTERN:t.ValidationKeys.PATTERN,URL:t.ValidationKeys.URL,STEP:t.ValidationKeys.STEP,DATE:t.ValidationKeys.DATE,EMAIL:t.ValidationKeys.EMAIL,PASSWORD:t.ValidationKeys.PASSWORD,EQUALS:t.ValidationKeys.EQUALS,DIFF:t.ValidationKeys.DIFF,LESS_THAN:t.ValidationKeys.LESS_THAN,LESS_THAN_OR_EQUAL:t.ValidationKeys.LESS_THAN_OR_EQUAL,GREATER_THAN:t.ValidationKeys.GREATER_THAN,GREATER_THAN_OR_EQUAL:t.ValidationKeys.GREATER_THAN_OR_EQUAL},n={[i.EMAIL]:t.EmailValidator,[i.URL]:t.URLValidator,[i.DATE]:t.DateValidator,[i.PASSWORD]:t.PasswordValidator},d={[i.REQUIRED]:t.RequiredValidator,[i.MIN]:t.MinValidator,[i.MAX]:t.MaxValidator,[i.STEP]:t.StepValidator,[i.MIN_LENGTH]:t.MinLengthValidator,[i.MAX_LENGTH]:t.MaxLengthValidator,[i.PATTERN]:t.PatternValidator,[i.EQUALS]:t.EqualsValidator,[i.DIFF]:t.DiffValidator,[i.LESS_THAN]:t.LessThanValidator,[i.LESS_THAN_OR_EQUAL]:t.LessThanOrEqualValidator,[i.GREATER_THAN]:t.GreaterThanValidator,[i.GREATER_THAN_OR_EQUAL]:t.GreaterThanOrEqualValidator},l="yyyy-MM-dd",c={BUTTON:"button",CHECKBOX:"checkbox",COLOR:"color",DATE:i.DATE,DATETIME_LOCAL:"datetime-local",EMAIL:i.EMAIL,FILE:"file",HIDDEN:"hidden",IMAGE:"image",MONTH:"month",NUMBER:"number",PASSWORD:i.PASSWORD,RADIO:"radio",RANGE:"range",RESET:"reset",SEARCH:"search",SUBMIT:"submit",TEL:"tel",TEXT:"text",TEXTAREA:"textarea",SELECT:"select",TIME:"time",URL:i.URL,WEEK:"week"},E=[c.CHECKBOX,c.RADIO];function p(e,t){return(r,o)=>{const s={tag:e||r.name,props:t};return a.metadata(a.Metadata.key(i.REFLECT,i.UIMODEL),s)(r)}}class u extends r.InternalError{constructor(e){super(e,u.name)}}function M(e,t){return a.Metadata.key(i.REFLECT,a.DecorationKeys.PROPERTIES,e,t)}function T(e,a,...r){if(e===i.DATE){if(!a)return"";const e=r.shift()||l;return t.formatDate(new Date(a),e)}return a}function R(e){if("number"==typeof e&&!isNaN(e))return e;const t=Number(e);return isNaN(t)?void 0:t}function y(e){if(!e)return e;const t={"&":"&amp;","<":"&lt;",">":"&gt;"};return(""+e).replace(/[&<>]/g,e=>t[e]||e)}function f(e){let a=Date.now();try{t.Model.pk(e.constructor)&&(a=e[t.Model.pk(e.constructor)])}catch(e){}return`${e.constructor.name}-${a}`}class L{static{this.cache={}}constructor(e){this.flavour=e,this.initialized=!1,L.register(this)}translate(e,a=!0){if(a)switch(e){case t.ReservedModels.STRING.name.toLowerCase():return c.TEXT;case t.ReservedModels.NUMBER.name.toLowerCase():case t.ReservedModels.BIGINT.name.toLowerCase():return c.NUMBER;case t.ReservedModels.BOOLEAN.name.toLowerCase():return c.CHECKBOX;case t.ReservedModels.DATE.name.toLowerCase():return c.DATE}else switch(e){case c.SELECT:case c.TEXT:case c.EMAIL:case c.COLOR:case c.PASSWORD:case c.TEL:case c.URL:case c.SEARCH:case c.HIDDEN:case c.TEXTAREA:case c.RADIO:return t.ReservedModels.STRING.name.toLowerCase();case c.NUMBER:return t.ReservedModels.NUMBER.name.toLowerCase();case c.CHECKBOX:return t.ReservedModels.BOOLEAN.name.toLowerCase();case c.DATE:case c.DATETIME_LOCAL:case c.TIME:return t.ReservedModels.DATE.name.toLowerCase()}return e}getClassDecoratorsMetadata(e){return[t.Model.uiModelOf(e.constructor),t.Model.uiListModelOf(e.constructor),t.Model.uiHandlersFor(e.constructor),t.Model.uiLayoutOf(e.constructor)].filter(Boolean)}isValidatableByType(e){return Object.keys(n).includes(e)}isValidatableByAttribute(e){return Object.keys(d).includes(e)}toAttributeValue(e,t){if(!Object.keys(d).includes(e))throw Error(`Invalid attribute key "${e}". Expected one of: ${Object.keys(d).join(", ")}.`);return e===i.REQUIRED||t[e]}toFieldDefinition(e,o={},s=!0){const{inheritProps:n,...d}=o;o=d;const E=this.getClassDecoratorsMetadata(e);if(!E.length)throw new u(`No ui definitions set for model ${e.constructor.name}. Did you use @uimodel?`);const p=Object.assign({},...E,n||{}),{tag:M,props:R,item:y,handlers:L}=p,O=t.Model.uiPropertiesOf(e.constructor);let A,m=y?.props||{},h={};const D=(e,t)=>e?[e,t].join("."):t;if(O){const s=a.Metadata.get(e.constructor,t.ValidationKeys.REFLECT)||{};for(const n of O){const d=t.Model.uiDecorationOf(e.constructor,n);let E;try{E=t.Model.uiTypeOf(e.constructor,n)}catch(e){if(!(e instanceof r.NotFoundError))throw e}if(t.Model.uiIsHidden(e.constructor,n)&&!t.Model.uiElementOf(e.constructor,n))throw new u(`@uielement no found in "${n}". It is required to use hiddenOn decorator.`);Object.entries(d).map(([e,t])=>({key:e,props:t})).sort(e=>[i.ELEMENT,i.CHILD].includes(e.key)?-1:1).forEach(r=>{if(!r)throw new u("No decorator found");switch(r.key){case i.PROP:m[n]=r.props;break;case i.CHILD:{if(!t.Model.isPropertyModel(e,n))throw new u(`Child "${n}" must be a model.`);let a;const s=e[n];if("object"!=typeof s||null===s||Array.isArray(s)){const e=r.props.props?.name;a=new(t.Model.get(e))}A=A||[];const i=Object.assign({},o||{},{model:a},{inheritProps:r.props,childOf:D(o?.childOf,n)}),d=this.toFieldDefinition(s||a,i,!1);A.push(d);break}case i.UILISTPROP:{h=h||{},r.props.name&&(h[r.props.name]=n);const e=Object.assign({},p.props?.item||{},y?.props||{},r.props.props||{},o);m={tag:y?.tag||e.render||"",props:Object.assign({},m?.props,{mapper:h},e)};break}case i.EVENTS:case i.HIDDEN:case i.PAGE:case i.ORDER:case i.UILAYOUTPROP:case i.ELEMENT:{A=A||[];const t=r.props,d=Object.assign({},m?.props,t.props||{},t?.props?.name?{path:D(o?.childOf,t.props.name),childOf:void 0}:{},o);if(r.key===i.ELEMENT){const r={tag:t.tag||m?.tag||M||"",props:d},o=s[n];if(o)for(const e of Object.entries(o).map(([e,t])=>({key:e,props:t})))this.isValidatableByAttribute(e.key)?r.props[this.translate(e.key)]=this.toAttributeValue(e.key,e.props):this.isValidatableByType(e.key)&&(e.key===c.DATE&&(r.props[i.FORMAT]=e.props.format||l),r.props[i.TYPE]=e.key);if(!r.props[i.TYPE]){const t=a.Metadata.type(e.constructor,n).name;r.props[i.TYPE]=this.translate(t.toLowerCase(),!0)}r.props.value=T(r.props[i.TYPE],e[n],r.props[i.FORMAT]),A.push(r)}else{const e=A.find(e=>e.props?.name===n||[i.UILAYOUTPROP,i.PAGE,i.EVENTS].includes(r.key)&&(e.props?.childOf===n||e.props?.childOf?.endsWith("."+n)));if(e)if(r.key!==i.UILAYOUTPROP)e.props=Object.assign({},e.props,{[r.key]:t});else{const{row:t,col:a,props:o}=r.props;e.props=Object.assign({},o||{},e.props,t,a)}}break}default:throw new u("Invalid key: "+r.key)}})}}o=Object.assign({},R,o,{handlers:L||{}});const I=o?.operation;A=A?.sort((e,t)=>(e?.props?.order??0)-(t?.props?.order??0)).filter(e=>{const t=e?.props?.hidden||[];return t?.length&&t.includes(I)?void 0:e});const g={tag:M,item:m,props:o,children:A};return s&&(g.rendererId=f(e)),g}static register(e){if(e.flavour in this.cache)throw new r.InternalError(`Rendering engine under ${e.flavour} already exists`);this.cache[e.flavour]=e,this.current=e}static getOrBoot(e){if(e instanceof L)return e;const t=new e;return t.initialize(),t}static get(e){if(!e)return this.getOrBoot(this.current);if(!(e in this.cache))throw new r.InternalError(`Rendering engine under ${e} does not exist`);return this.getOrBoot(this.cache[e])}static render(e,...a){if(!t.Model.get(e.constructor.name)&&!t.Model.fromObject(e))throw new r.InternalError("No model registered found");const o=t.Model.renderedBy(e.constructor);return L.get(o).render(e,...a)}}function O(...e){return(t,r)=>a.propMetadata(M(r,i.HIDDEN),e)(t,r)}function A(e,t){return(r,o)=>{a.propMetadata(M(o,i.EVENTS),{[e]:t})(r,o)}}class m extends o.LoggedClass{constructor(){super(),this.enableDarkMode=!0,this.isDarkMode=!1,this.item={tag:""},this.props={},this.route="",this.borders=!1,this.OperationKeys=r.OperationKeys,this.initialized=!1,this.handlers={}}async render(...e){}async initialize(...e){this.initialized=!0}}t.Model.prototype.render=function(...e){return L.render(this,...e)},t.Model.renderedBy=(e=>a.Metadata.get(e,a.Metadata.key(i.REFLECT,i.RENDERED_BY))).bind(t.Model),t.Model.uiPropertiesOf=(e=>{const t=a.Metadata.get(e,a.Metadata.key(i.REFLECT,a.DecorationKeys.PROPERTIES));if(t)return Object.keys(t)}).bind(t.Model),t.Model.uiDecorationOf=(e,t,r)=>{const o=a.Metadata.get(e,a.Metadata.key(i.REFLECT,a.DecorationKeys.PROPERTIES,t));if(o)return r?o[r]:o},t.Model.uiModelOf=e=>a.Metadata.get(e,a.Metadata.key(i.REFLECT,i.UIMODEL)),t.Model.uiElementOf=(e,t)=>a.Metadata.get(e,M(t,i.ELEMENT)),t.Model.uiListModelOf=e=>a.Metadata.get(e,a.Metadata.key(i.REFLECT,i.UILISTMODEL)),t.Model.uiHandlersFor=e=>a.Metadata.get(e,a.Metadata.key(i.REFLECT,i.HANDLERS)),t.Model.uiLayoutOf=e=>a.Metadata.get(e,a.Metadata.key(i.REFLECT,i.UILAYOUT)),t.Model.uiIsHidden=(e,t)=>!!a.Metadata.get(e,M(t,i.HIDDEN)),t.Model.uiIsHiddenOn=(e,t,r)=>{const o=a.Metadata.get(e,M(t,i.HIDDEN));return!!o&&(r?o.includes(r):o)},t.Model.uiTypeOf=(e,t)=>{const o=a.Metadata.get(e,a.Metadata.key(i.REFLECT,a.DecorationKeys.PROPERTIES,t));if(!o)throw new r.NotFoundError(`No metadata found for property '${t}' on model '${e.name}'`);const s=Object.keys(o).filter(e=>[i.PROP,i.ELEMENT,i.CHILD].includes(e));if(0===s.length)throw new r.NotFoundError(`No UI type metadata found for property '${t}' on model '${e.name}'`);if(s.length>1)throw new u("Only one type of decoration is allowed. Please choose between @uiprop, @uichild or @uielement");return o[s[0]]},t.Model.uiListItems=(e=>{const t=a.Metadata.get(e,a.Metadata.key(i.REFLECT,a.DecorationKeys.PROPERTIES));if(t)return Object.keys(t)}).bind(t.Model),e.DecafComponent=m,e.EventHandler=class{constructor(){}},e.HTML5CheckTypes=E,e.HTML5DateFormat=l,e.HTML5InputTypes=c,e.RenderingEngine=L,e.RenderingError=u,e.UIKeys=i,e.VERSION="##VERSION##",e.ValidatableByAttribute=d,e.ValidatableByType=n,e.escapeHtml=y,e.formatByType=T,e.generateUIModelID=f,e.getUIAttributeKey=M,e.hidden=()=>O(r.OperationKeys.CREATE,r.OperationKeys.READ,r.OperationKeys.UPDATE,r.OperationKeys.DELETE),e.hideOn=O,e.parseToNumber=R,e.parseValueByType=function e(a,o,s){let i;switch(a){case Array.name:i=(Array.isArray(o)?o.map(a=>e(t.ReservedModels.STRING.name.toLowerCase(),a,s)):[o]).join(",");break;case c.NUMBER:i=R(o);break;case c.DATE:{const e=s.format;o&&(""+o).trim().length&&(i=typeof o===t.ReservedModels.NUMBER.name.toLowerCase()?new Date(o):o?e?t.parseDate(e,o):new Date(o):void 0);break}default:i=typeof o===t.ReservedModels.OBJECT.name.toLowerCase()?Array.isArray(o)?o.join(","):JSON.stringify(o):typeof o===t.ReservedModels.BOOLEAN.name.toLowerCase()?o:typeof o===t.ReservedModels.STRING.name.toLowerCase()?y(o):i}if(void 0===i)throw new r.InternalError(`Failed to parse value of type ${a} from ${typeof o} - ${o}`);return i},e.renderedBy=e=>a.apply(a.metadata(a.Metadata.key(i.REFLECT,i.RENDERED_BY),e)),e.revertHtml=e=>{const t={"&amp;":"&","&lt;":"<","&gt;":">"};return(""+e).replace(/&lt;|&gt;|&amp;/g,e=>t[e]||e)},e.uichild=(e,t,r={},o=!1,s=!1)=>(n,d)=>{const l={tag:t,serialize:s,props:Object.assign({},r||{},{name:e||d},o?{customTypes:[Array.name],multiple:!0}:{multiple:r?.multiple||!1})};a.propMetadata(M(d,i.CHILD),l)(n,d)},e.uielement=(e,t,r=!1)=>(o,s)=>{const n={tag:e,serialize:r,props:Object.assign({},t||{},{name:s})};return a.propMetadata(M(s,i.ELEMENT),n)(o,s)},e.uihandlers=e=>t=>{const r={handlers:e};return a.metadata(a.Metadata.key(i.REFLECT,i.HANDLERS),r)(t)},e.uilayout=(t,a=1,r=1,o={})=>(s,i)=>p(t,Object.assign({..."boolean"==typeof a?{flexMode:a,cols:1}:{flexMode:!1,cols:a},rows:r,...Object.assign({breakpoint:e.UIMediaBreakPoints.LARGE},o)}))(s,i),e.uilayoutprop=(e=1,t=1)=>(r,o)=>{const s={name:o,props:Object.assign({},{row:t,col:e})};a.propMetadata(M(o,i.UILAYOUTPROP),s)(r,o)},e.uilistmodel=(e,t)=>(r,o)=>{const s={item:{tag:e||r.name,props:t}};return a.metadata(a.Metadata.key(i.REFLECT,i.UILISTMODEL),s)(r)},e.uilistprop=(e=void 0,t)=>(r,o)=>{const s={name:e||o,props:t||{}};a.propMetadata(M(o,i.UILISTPROP),s)(r,o)},e.uimodel=p,e.uion=A,e.uionrender=e=>A("render",e),e.uiorder=(e=1)=>(t,r)=>a.propMetadata(M(r,i.ORDER),e)(t,r),e.uipageprop=(e=1)=>(t,r)=>a.propMetadata(M(r,i.PAGE),e)(t,r),e.uiprop=(e=void 0,t=!1)=>(r,o)=>{const s={name:e||o,stringify:t};a.propMetadata(M(o,i.PROP),s)(r,o)},e.uisteppedmodel=(e,t=1,a=!1,r={})=>{let o=[];return"object"==typeof t&&(o=t,t=o.length),p(e,{pages:t,paginated:a,pageTitles:o,props:r})}},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@decaf-ts/decorator-validation"),require("@decaf-ts/decoration"),require("@decaf-ts/db-decorators"),require("@decaf-ts/logging")):"function"==typeof define&&define.amd?define(["exports","@decaf-ts/decorator-validation","@decaf-ts/decoration","@decaf-ts/db-decorators","@decaf-ts/logging"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["ui-decorators"]={},e.decafTsDecoratorValidation,e.decafTsDecoration,e.decafTsDbDecorators,e.decafTsLogging);
2
2
  //# sourceMappingURL=ui-decorators.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ui-decorators.cjs","sources":["../src/ui/constants.ts","../src/ui/errors.ts","../src/ui/utils.ts","../src/ui/Rendering.ts","../src/model/decorators.ts","../src/ui/decorators.ts","../src/model/overrides.ts","../src/ui/handlers.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null],"names":["UIMediaBreakPoints","exports","UIKeys","REFLECT","ModelKeys","UIMODEL","RENDERED_BY","ELEMENT","PROP","CHILD","NAME","NAME_PREFIX","CUSTOM_PROPS","UILISTMODEL","UILISTPROP","UILAYOUT","UILAYOUTPROP","HANDLERS","TYPE","SUB_TYPE","HIDDEN","FORMAT","ORDER","PAGE","READ_ONLY","REQUIRED","ValidationKeys","MIN","MIN_LENGTH","MAX","MAX_LENGTH","PATTERN","URL","STEP","DATE","EMAIL","PASSWORD","EQUALS","DIFF","LESS_THAN","LESS_THAN_OR_EQUAL","GREATER_THAN","GREATER_THAN_OR_EQUAL","ValidatableByType","EmailValidator","URLValidator","DateValidator","PasswordValidator","ValidatableByAttribute","RequiredValidator","MinValidator","MaxValidator","StepValidator","MinLengthValidator","MaxLengthValidator","PatternValidator","EqualsValidator","DiffValidator","LessThanValidator","LessThanOrEqualValidator","GreaterThanValidator","GreaterThanOrEqualValidator","HTML5DateFormat","HTML5InputTypes","BUTTON","CHECKBOX","COLOR","DATETIME_LOCAL","FILE","IMAGE","MONTH","NUMBER","RADIO","RANGE","RESET","SEARCH","SUBMIT","TEL","TEXT","TEXTAREA","SELECT","TIME","WEEK","HTML5CheckTypes","RenderingError","InternalError","constructor","msg","super","name","formatByType","type","value","args","format","shift","formatDate","Date","parseToNumber","isNaN","parsed","Number","escapeHtml","tagsToReplace","replace","tag","generateUIModelID","model","id","findModelId","e","now","RenderingEngine","this","cache","flavour","initialized","register","translate","key","toView","ReservedModels","STRING","BIGINT","BOOLEAN","getClassDecoratorsMetadata","Reflect","getMetadata","Model","get","filter","Boolean","isValidatableByType","Object","keys","includes","isValidatableByAttribute","toAttributeValue","Error","join","toFieldDefinition","globalProps","generateId","inheritProps","globalPropsWithoutInherits","classDecorators","length","classDecorator","assign","props","item","handlers","uiDecorators","Reflection","getAllPropertyDecorators","children","childProps","mapper","getPath","parent","prop","validationDecorators","decs","types","values","hasHideOnDecorator","find","hasUiElementDecorator","sort","a","forEach","dec","isPropertyModel","Clazz","submodel","Array","isArray","clazzName","childrenGlobalProps","childOf","childDefinition","push","render","uiProps","path","undefined","validationDecs","typeDec","basicType","toLowerCase","child","c","row","col","operation","b","order","hiddenOn","hidden","result","rendererId","engine","current","getOrBoot","obj","initialize","fromObject","uimodel","original","propertyKey","meta","metadata","hideOn","operations","propMetadata","decoratorValidation","prototype","OperationKeys","CREATE","READ","UPDATE","DELETE","parseValueByType","fieldProps","map","v","trim","parseDate","OBJECT","JSON","stringify","apply","clazz","serialize","target","customTypes","multiple","colsMode","rows","flexMode","cols","breakpoint","LARGE","propName","page","pages","paginated","pageTitles"],"mappings":"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"}
1
+ {"version":3,"file":"ui-decorators.cjs","sources":["../src/ui/constants.ts","../src/model/decorators.ts","../src/ui/errors.ts","../src/ui/utils.ts","../src/ui/Rendering.ts","../src/ui/decorators.ts","../src/ui/DecafComponent.ts","../src/model/overrides.ts","../src/ui/handlers.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null],"names":["UIMediaBreakPoints","exports","UIKeys","REFLECT","UIMODEL","RENDERED_BY","ELEMENT","PROP","CHILD","NAME","NAME_PREFIX","CUSTOM_PROPS","UILISTMODEL","UILISTPROP","UILAYOUT","UILAYOUTPROP","HANDLERS","TYPE","SUB_TYPE","HIDDEN","FORMAT","ORDER","PAGE","EVENTS","READ_ONLY","REQUIRED","ValidationKeys","MIN","MIN_LENGTH","MAX","MAX_LENGTH","PATTERN","URL","STEP","DATE","EMAIL","PASSWORD","EQUALS","DIFF","LESS_THAN","LESS_THAN_OR_EQUAL","GREATER_THAN","GREATER_THAN_OR_EQUAL","ValidatableByType","EmailValidator","URLValidator","DateValidator","PasswordValidator","ValidatableByAttribute","RequiredValidator","MinValidator","MaxValidator","StepValidator","MinLengthValidator","MaxLengthValidator","PatternValidator","EqualsValidator","DiffValidator","LessThanValidator","LessThanOrEqualValidator","GreaterThanValidator","GreaterThanOrEqualValidator","HTML5DateFormat","HTML5InputTypes","BUTTON","CHECKBOX","COLOR","DATETIME_LOCAL","FILE","IMAGE","MONTH","NUMBER","RADIO","RANGE","RESET","SEARCH","SUBMIT","TEL","TEXT","TEXTAREA","SELECT","TIME","WEEK","HTML5CheckTypes","uimodel","tag","props","original","propertyKey","meta","name","metadata","Metadata","key","RenderingError","InternalError","constructor","msg","super","getUIAttributeKey","prop","DecorationKeys","PROPERTIES","formatByType","type","value","args","format","shift","formatDate","Date","parseToNumber","isNaN","parsed","Number","escapeHtml","tagsToReplace","replace","generateUIModelID","model","id","now","Model","pk","e","RenderingEngine","this","cache","flavour","initialized","register","translate","toView","ReservedModels","STRING","toLowerCase","BIGINT","BOOLEAN","getClassDecoratorsMetadata","uiModelOf","uiListModelOf","uiHandlersFor","uiLayoutOf","filter","Boolean","isValidatableByType","Object","keys","includes","isValidatableByAttribute","toAttributeValue","Error","join","toFieldDefinition","globalProps","generateId","inheritProps","globalPropsWithoutInherits","classDecorators","length","classDecorator","assign","item","handlers","uiDecorators","uiPropertiesOf","children","childProps","mapper","getPath","parent","validationDecorators","get","decs","uiDecorationOf","uiTypeOf","NotFoundError","uiIsHidden","uiElementOf","entries","map","k","v","sort","a","forEach","dec","isPropertyModel","Clazz","submodel","Array","isArray","clazzName","childrenGlobalProps","childOf","childDefinition","push","render","uiProps","path","undefined","validationDecs","basicType","child","find","c","endsWith","row","col","operation","b","order","hiddenOn","hidden","result","rendererId","engine","current","getOrBoot","obj","initialize","fromObject","renderedBy","hideOn","operations","object","propMetadata","uion","event","handler","DecafComponent","LoggedClass","enableDarkMode","isDarkMode","route","borders","OperationKeys","decoratorValidation","prototype","bind","uiIsHiddenOn","op","uiListItems","CREATE","READ","UPDATE","DELETE","parseValueByType","fieldProps","trim","parseDate","OBJECT","JSON","stringify","apply","clazz","serialize","target","customTypes","multiple","colsMode","rows","flexMode","cols","breakpoint","LARGE","propName","page","pages","paginated","pageTitles"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{ModelKeys as e,ValidationKeys as t,EmailValidator as r,URLValidator as o,DateValidator as n,PasswordValidator as s,RequiredValidator as a,MinValidator as i,MaxValidator as c,StepValidator as E,MinLengthValidator as p,MaxLengthValidator as u,PatternValidator as l,EqualsValidator as A,DiffValidator as T,LessThanValidator as R,LessThanOrEqualValidator as d,GreaterThanValidator as f,GreaterThanOrEqualValidator as O,formatDate as L,ReservedModels as y,parseDate as D,Model as I,propMetadata as N}from"@decaf-ts/decorator-validation";import{Reflection as h,metadata as g,apply as m}from"@decaf-ts/reflection";import{InternalError as M,findModelId as U,OperationKeys as P}from"@decaf-ts/db-decorators";import"reflect-metadata";var S;(e=>{e.SMALL="small",e.MEDIUM="medium",e.LARGE="large",e.XLARGE="xlarge"})(S||(S={}));const k={REFLECT:e.REFLECT+".ui.",UIMODEL:"uimodel",RENDERED_BY:"rendered-by",ELEMENT:"element",PROP:"prop",CHILD:"child",NAME:"name",NAME_PREFIX:"input-",CUSTOM_PROPS:"customValidationProps",UILISTMODEL:"uilistmodel",UILISTPROP:"listprop",UILAYOUT:"uilayout",UILAYOUTPROP:"uilayoutprop",HANDLERS:"handlers",TYPE:"type",SUB_TYPE:"subtype",HIDDEN:"hidden",FORMAT:"format",ORDER:"order",PAGE:"page",READ_ONLY:"readonly",REQUIRED:t.REQUIRED,MIN:t.MIN,MIN_LENGTH:t.MIN_LENGTH,MAX:t.MAX,MAX_LENGTH:t.MAX_LENGTH,PATTERN:t.PATTERN,URL:t.URL,STEP:t.STEP,DATE:t.DATE,EMAIL:t.EMAIL,PASSWORD:t.PASSWORD,EQUALS:t.EQUALS,DIFF:t.DIFF,LESS_THAN:t.LESS_THAN,LESS_THAN_OR_EQUAL:t.LESS_THAN_OR_EQUAL,GREATER_THAN:t.GREATER_THAN,GREATER_THAN_OR_EQUAL:t.GREATER_THAN_OR_EQUAL},b={[k.EMAIL]:r,[k.URL]:o,[k.DATE]:n,[k.PASSWORD]:s},H={[k.REQUIRED]:a,[k.MIN]:i,[k.MAX]:c,[k.STEP]:E,[k.MIN_LENGTH]:p,[k.MAX_LENGTH]:u,[k.PATTERN]:l,[k.EQUALS]:A,[k.DIFF]:T,[k.LESS_THAN]:R,[k.LESS_THAN_OR_EQUAL]:d,[k.GREATER_THAN]:f,[k.GREATER_THAN_OR_EQUAL]:O},_="yyyy-MM-dd",w={BUTTON:"button",CHECKBOX:"checkbox",COLOR:"color",DATE:k.DATE,DATETIME_LOCAL:"datetime-local",EMAIL:k.EMAIL,FILE:"file",HIDDEN:"hidden",IMAGE:"image",MONTH:"month",NUMBER:"number",PASSWORD:k.PASSWORD,RADIO:"radio",RANGE:"range",RESET:"reset",SEARCH:"search",SUBMIT:"submit",TEL:"tel",TEXT:"text",TEXTAREA:"textarea",SELECT:"select",TIME:"time",URL:k.URL,WEEK:"week"},C=[w.CHECKBOX,w.RADIO];class B extends M{constructor(e){super(e,B.name)}}function G(e,t,...r){if(e===k.DATE){if(!t)return"";const e=r.shift()||_;return L(new Date(t),e)}return t}function j(e,t,r){let o;switch(e){case Array.name:o=(Array.isArray(t)?t.map(e=>j(y.STRING,e,r)):[t]).join(",");break;case w.NUMBER:o=F(t);break;case w.DATE:{const e=r.format;t&&(""+t).trim().length&&(o=typeof t===y.NUMBER?new Date(t):t?e?D(e,t):new Date(t):void 0);break}default:o=typeof t===y.OBJECT?Array.isArray(t)?t.join(","):JSON.stringify(t):typeof t===y.BOOLEAN?t:typeof t===y.STRING?v(t):o}if(void 0===o)throw new M(`Failed to parse value of type ${e} from ${typeof t} - ${t}`);return o}function F(e){if("number"==typeof e&&!isNaN(e))return e;const t=Number(e);return isNaN(t)?void 0:t}function v(e){if(!e)return e;const t={"&":"&amp;","<":"&lt;",">":"&gt;"};return(""+e).replace(/[&<>]/g,e=>t[e]||e)}function Y(e){const t={"&amp;":"&","&lt;":"<","&gt;":">"};return(""+e).replace(/&lt;|&gt;|&amp;/g,e=>t[e]||e)}function X(e){let t;try{t=U(e)}catch(e){t=Date.now()}return`${e.constructor.name}-${t}`}class ${static{this.cache={}}constructor(e){this.flavour=e,this.initialized=!1,$.register(this)}translate(e,t=!0){if(t)switch(e){case y.STRING:return w.TEXT;case y.NUMBER:case y.BIGINT:return w.NUMBER;case y.BOOLEAN:return w.CHECKBOX;case y.DATE:return w.DATE}else switch(e){case w.SELECT:case w.TEXT:case w.EMAIL:case w.COLOR:case w.PASSWORD:case w.TEL:case w.URL:case w.SEARCH:case w.HIDDEN:case w.TEXTAREA:case w.RADIO:return y.STRING;case w.NUMBER:return y.NUMBER;case w.CHECKBOX:return y.BOOLEAN;case w.DATE:case w.DATETIME_LOCAL:case w.TIME:return y.DATE}return e}getClassDecoratorsMetadata(e){return[Reflect.getMetadata($.key(k.UIMODEL),e.constructor)||Reflect.getMetadata($.key(k.UIMODEL),I.get(e.constructor.name)),Reflect.getMetadata($.key(k.UILISTMODEL),e.constructor)||Reflect.getMetadata($.key(k.UILISTMODEL),I.get(e.constructor.name)),Reflect.getMetadata($.key(k.HANDLERS),e.constructor)||Reflect.getMetadata($.key(k.HANDLERS),I.get(e.constructor.name)),Reflect.getMetadata($.key(k.UILAYOUT),e.constructor)||Reflect.getMetadata($.key(k.UILAYOUT),I.get(e.constructor.name))].filter(Boolean)}isValidatableByType(e){return Object.keys(b).includes(e)}isValidatableByAttribute(e){return Object.keys(H).includes(e)}toAttributeValue(e,t){if(!Object.keys(H).includes(e))throw Error(`Invalid attribute key "${e}". Expected one of: ${Object.keys(H).join(", ")}.`);return e===k.REQUIRED||t[e]}toFieldDefinition(e,r={},o=!0){const{inheritProps:n,...s}=r;r=s;const a=this.getClassDecoratorsMetadata(e);if(!a.length)throw new B(`No ui definitions set for model ${e.constructor.name}. Did you use @uimodel?`);const i=Object.assign({},...a,n||{}),{tag:c,props:E,item:p,handlers:u}=i,l=h.getAllPropertyDecorators(e,k.REFLECT);let A,T=p?.props||{},R={};const d=(e,t)=>e?[e,t].join("."):t;if(l){const o=h.getAllPropertyDecorators(e,t.REFLECT);for(const t in l){const n=l[t],s=Object.values(n).filter(({key:e})=>[k.PROP,k.ELEMENT,k.CHILD].includes(e));if(s?.length>1)throw new B("Only one type of decoration is allowed. Please choose between @uiprop, @uichild or @uielement");const a=n.find(({key:e})=>e===k.HIDDEN);if(a){const e=n.find(({key:e})=>e===k.ELEMENT);if(!e)throw new B(`@uielement no found in "${t}". It is required to use hiddenOn decorator.`)}n.shift(),n.sort(e=>[k.ELEMENT,k.CHILD].includes(e.key)?-1:1).forEach(n=>{if(!n)throw new B("No decorator found");switch(n.key){case k.PROP:T[t]=n.props;break;case k.CHILD:{if(!I.isPropertyModel(e,t))throw new B(`Child "${t}" must be a model.`);let o;const s=e[t];if("object"!=typeof s||null===s||Array.isArray(s)){const e=n.props.props?.name;o=new(I.get(e))}A=A||[];const a=Object.assign({},r||{},{model:o},{inheritProps:n.props,childOf:d(r?.childOf,t)}),i=this.toFieldDefinition(s||o,a,!1);A.push(i);break}case k.UILISTPROP:{R=R||{},n.props?.name&&(R[n.props?.name]=t);const e=Object.assign({},i.props?.item||{},p?.props||{},n.props?.props||{},r);T={tag:p?.tag||e.render||"",props:Object.assign({},T?.props,{mapper:R},e)};break}case k.HIDDEN:case k.PAGE:case k.ORDER:case k.UILAYOUTPROP:case k.ELEMENT:{A=A||[];const s=n.props,a=Object.assign({},T?.props,s.props||{},s?.props?.name?{path:d(r?.childOf,s.props.name),childOf:void 0}:{},r);if(n.key===k.ELEMENT){const r={tag:s.tag||T?.tag||c||"",props:a},n=o[t],i=n.shift();for(const e of n)this.isValidatableByAttribute(e.key)?r.props[this.translate(e.key)]=this.toAttributeValue(e.key,e.props):this.isValidatableByType(e.key)&&(e.key===w.DATE&&(r.props[k.FORMAT]=e.props.format||_),r.props[k.TYPE]=e.key);if(!r.props[k.TYPE]){const e=i.props.name;r.props[k.TYPE]=this.translate(e.toLowerCase(),!0)}r.props.value=G(r.props[k.TYPE],e[t],r.props[k.FORMAT]),A.push(r)}else{const e=A.find(e=>e.props?.name===t||[k.UILAYOUTPROP,k.PAGE].includes(n.key)&&e?.props?.childOf===t);if(e)if(n.key!==k.UILAYOUTPROP)e.props=Object.assign({},e.props,{[n.key]:s});else{const{row:t,col:r,props:o}=n.props;e.props=Object.assign({},o||{},e.props,t,r)}}break}default:throw new B("Invalid key: "+n.key)}})}}r=Object.assign({},E,r,{handlers:u||{}});const f=r?.operation;A=A?.sort((e,t)=>(e?.props?.order??0)-(t?.props?.order??0)).filter(e=>{const t=e?.props?.hidden||[];return t?.length&&t.includes(f)?void 0:e});const O={tag:c,item:T,props:r,children:A};return o&&(O.rendererId=X(e)),O}static register(e){if(e.flavour in this.cache)throw new M(`Rendering engine under ${e.flavour} already exists`);this.cache[e.flavour]=e,this.current=e}static getOrBoot(e){if(e instanceof $)return e;const t=new e;return t.initialize(),t}static get(e){if(!e)return this.getOrBoot(this.current);if(!(e in this.cache))throw new M(`Rendering engine under ${e} does not exist`);return this.getOrBoot(this.cache[e])}static render(e,...t){const r=I.get(e.constructor.name)||I.fromObject(e);if(!r)throw new M("No model registered found");const o=Reflect.getMetadata($.key(k.RENDERED_BY),r);return $.get(o).render(e,...t)}static key(e){return`${k.REFLECT}${e}`}}function Q(e,t){return(r,o)=>{const n={tag:e||r.name,props:t};return g($.key(k.UIMODEL),n)(r)}}function x(e){return m(g($.key(k.RENDERED_BY),e))}function V(e,t){return(r,o)=>{const n={item:{tag:e||r.name,props:t}};return g($.key(k.UILISTMODEL),n)(r)}}function W(e){return t=>{const r={handlers:e};return g($.key(k.HANDLERS),r)(t)}}function K(e,t=1,r=1,o={}){return(n,s)=>Q(e,Object.assign({...typeof t===y.BOOLEAN?{flexMode:t,cols:1}:{flexMode:!1,cols:t},rows:r,...Object.assign({breakpoint:S.LARGE},o)}))(n,s)}function z(e,t=1,r=!1,o={}){let n=[];return typeof t===y.OBJECT&&(n=t,t=n.length),Q(e,{pages:t,paginated:r,pageTitles:n,props:o})}function J(...e){return N($.key(k.HIDDEN),e)}function q(e=1){return N($.key(k.ORDER),e)}function Z(){return J(P.CREATE,P.READ,P.UPDATE,P.DELETE)}function ee(e,t,r=!1){return(o,n)=>{const s={tag:e,serialize:r,props:Object.assign({},t||{},{name:n})};return N($.key(k.ELEMENT),s)(o,n)}}function te(e=void 0,t=!1){return(r,o)=>{const n={name:e||o,stringify:t};N($.key(k.PROP),n)(r,o)}}function re(e,t,r={},o=!1,n=!1){return(s,a)=>{const i={tag:t,serialize:n,props:Object.assign({},r||{},{name:e||a},o?{customTypes:[Array.name],multiple:!0}:{multiple:r?.multiple||!1})};N($.key(k.CHILD),i)(s,a)}}function oe(e=void 0,t){return(r,o)=>{const n={name:e||o,props:t||{}};N($.key(k.UILISTPROP),n)(r,o)}}function ne(e=1,t=1){return(r,o)=>{const n={name:o,props:Object.assign({},{row:t,col:e})};N($.key(k.UILAYOUTPROP),n)(r,o)}}function se(e=1){return N($.key(k.PAGE),e)}I.prototype.render=function(...e){return $.render(this,...e)};class ae{constructor(){}}const ie="##VERSION##";export{ae as EventHandler,C as HTML5CheckTypes,_ as HTML5DateFormat,w as HTML5InputTypes,$ as RenderingEngine,B as RenderingError,k as UIKeys,S as UIMediaBreakPoints,ie as VERSION,H as ValidatableByAttribute,b as ValidatableByType,v as escapeHtml,G as formatByType,X as generateUIModelID,Z as hidden,J as hideOn,F as parseToNumber,j as parseValueByType,x as renderedBy,Y as revertHtml,re as uichild,ee as uielement,W as uihandlers,K as uilayout,ne as uilayoutprop,V as uilistmodel,oe as uilistprop,Q as uimodel,q as uiorder,se as uipageprop,te as uiprop,z as uisteppedmodel};
1
+ import{ValidationKeys as e,EmailValidator as t,URLValidator as r,DateValidator as o,PasswordValidator as n,RequiredValidator as s,MinValidator as i,MaxValidator as a,StepValidator as c,MinLengthValidator as E,MaxLengthValidator as u,PatternValidator as p,EqualsValidator as l,DiffValidator as d,LessThanValidator as T,LessThanOrEqualValidator as f,GreaterThanValidator as R,GreaterThanOrEqualValidator as O,formatDate as L,ReservedModels as A,parseDate as m,Model as y}from"@decaf-ts/decorator-validation";import{metadata as h,Metadata as I,apply as D,DecorationKeys as N,propMetadata as g}from"@decaf-ts/decoration";import{InternalError as M,NotFoundError as P,OperationKeys as S}from"@decaf-ts/db-decorators";import{LoggedClass as b}from"@decaf-ts/logging";var C;(e=>{e.SMALL="small",e.MEDIUM="medium",e.LARGE="large",e.XLARGE="xlarge"})(C||(C={}));const w={REFLECT:"ui",UIMODEL:"uimodel",RENDERED_BY:"rendered-by",ELEMENT:"uielement",PROP:"uiprop",CHILD:"uichild",NAME:"name",NAME_PREFIX:"input-",CUSTOM_PROPS:"customValidationProps",UILISTMODEL:"uilistmodel",UILISTPROP:"uilistprop",UILAYOUT:"uilayout",UILAYOUTPROP:"uilayoutprop",HANDLERS:"uihandlers",TYPE:"type",SUB_TYPE:"subtype",HIDDEN:"hidden",FORMAT:"format",ORDER:"order",PAGE:"page",EVENTS:"events",READ_ONLY:"readonly",REQUIRED:e.REQUIRED,MIN:e.MIN,MIN_LENGTH:e.MIN_LENGTH,MAX:e.MAX,MAX_LENGTH:e.MAX_LENGTH,PATTERN:e.PATTERN,URL:e.URL,STEP:e.STEP,DATE:e.DATE,EMAIL:e.EMAIL,PASSWORD:e.PASSWORD,EQUALS:e.EQUALS,DIFF:e.DIFF,LESS_THAN:e.LESS_THAN,LESS_THAN_OR_EQUAL:e.LESS_THAN_OR_EQUAL,GREATER_THAN:e.GREATER_THAN,GREATER_THAN_OR_EQUAL:e.GREATER_THAN_OR_EQUAL},U={[w.EMAIL]:t,[w.URL]:r,[w.DATE]:o,[w.PASSWORD]:n},k={[w.REQUIRED]:s,[w.MIN]:i,[w.MAX]:a,[w.STEP]:c,[w.MIN_LENGTH]:E,[w.MAX_LENGTH]:u,[w.PATTERN]:p,[w.EQUALS]:l,[w.DIFF]:d,[w.LESS_THAN]:T,[w.LESS_THAN_OR_EQUAL]:f,[w.GREATER_THAN]:R,[w.GREATER_THAN_OR_EQUAL]:O},H="yyyy-MM-dd",_={BUTTON:"button",CHECKBOX:"checkbox",COLOR:"color",DATE:w.DATE,DATETIME_LOCAL:"datetime-local",EMAIL:w.EMAIL,FILE:"file",HIDDEN:"hidden",IMAGE:"image",MONTH:"month",NUMBER:"number",PASSWORD:w.PASSWORD,RADIO:"radio",RANGE:"range",RESET:"reset",SEARCH:"search",SUBMIT:"submit",TEL:"tel",TEXT:"text",TEXTAREA:"textarea",SELECT:"select",TIME:"time",URL:w.URL,WEEK:"week"},B=[_.CHECKBOX,_.RADIO];function F(e,t){return(r,o)=>{const n={tag:e||r.name,props:t};return h(I.key(w.REFLECT,w.UIMODEL),n)(r)}}function j(e){return D(h(I.key(w.REFLECT,w.RENDERED_BY),e))}function G(e,t){return(r,o)=>{const n={item:{tag:e||r.name,props:t}};return h(I.key(w.REFLECT,w.UILISTMODEL),n)(r)}}function v(e){return t=>{const r={handlers:e};return h(I.key(w.REFLECT,w.HANDLERS),r)(t)}}function X(e,t=1,r=1,o={}){return(n,s)=>F(e,Object.assign({..."boolean"==typeof t?{flexMode:t,cols:1}:{flexMode:!1,cols:t},rows:r,...Object.assign({breakpoint:C.LARGE},o)}))(n,s)}function Y(e,t=1,r=!1,o={}){let n=[];return"object"==typeof t&&(n=t,t=n.length),F(e,{pages:t,paginated:r,pageTitles:n,props:o})}class $ extends M{constructor(e){super(e,$.name)}}function Q(e,t){return I.key(w.REFLECT,N.PROPERTIES,e,t)}function x(e,t,...r){if(e===w.DATE){if(!t)return"";const e=r.shift()||H;return L(new Date(t),e)}return t}function V(e,t,r){let o;switch(e){case Array.name:o=(Array.isArray(t)?t.map(e=>V(A.STRING.name.toLowerCase(),e,r)):[t]).join(",");break;case _.NUMBER:o=W(t);break;case _.DATE:{const e=r.format;t&&(""+t).trim().length&&(o=typeof t===A.NUMBER.name.toLowerCase()?new Date(t):t?e?m(e,t):new Date(t):void 0);break}default:o=typeof t===A.OBJECT.name.toLowerCase()?Array.isArray(t)?t.join(","):JSON.stringify(t):typeof t===A.BOOLEAN.name.toLowerCase()?t:typeof t===A.STRING.name.toLowerCase()?z(t):o}if(void 0===o)throw new M(`Failed to parse value of type ${e} from ${typeof t} - ${t}`);return o}function W(e){if("number"==typeof e&&!isNaN(e))return e;const t=Number(e);return isNaN(t)?void 0:t}function z(e){if(!e)return e;const t={"&":"&amp;","<":"&lt;",">":"&gt;"};return(""+e).replace(/[&<>]/g,e=>t[e]||e)}function K(e){const t={"&amp;":"&","&lt;":"<","&gt;":">"};return(""+e).replace(/&lt;|&gt;|&amp;/g,e=>t[e]||e)}function J(e){let t=Date.now();try{y.pk(e.constructor)&&(t=e[y.pk(e.constructor)])}catch(e){}return`${e.constructor.name}-${t}`}class q{static{this.cache={}}constructor(e){this.flavour=e,this.initialized=!1,q.register(this)}translate(e,t=!0){if(t)switch(e){case A.STRING.name.toLowerCase():return _.TEXT;case A.NUMBER.name.toLowerCase():case A.BIGINT.name.toLowerCase():return _.NUMBER;case A.BOOLEAN.name.toLowerCase():return _.CHECKBOX;case A.DATE.name.toLowerCase():return _.DATE}else switch(e){case _.SELECT:case _.TEXT:case _.EMAIL:case _.COLOR:case _.PASSWORD:case _.TEL:case _.URL:case _.SEARCH:case _.HIDDEN:case _.TEXTAREA:case _.RADIO:return A.STRING.name.toLowerCase();case _.NUMBER:return A.NUMBER.name.toLowerCase();case _.CHECKBOX:return A.BOOLEAN.name.toLowerCase();case _.DATE:case _.DATETIME_LOCAL:case _.TIME:return A.DATE.name.toLowerCase()}return e}getClassDecoratorsMetadata(e){return[y.uiModelOf(e.constructor),y.uiListModelOf(e.constructor),y.uiHandlersFor(e.constructor),y.uiLayoutOf(e.constructor)].filter(Boolean)}isValidatableByType(e){return Object.keys(U).includes(e)}isValidatableByAttribute(e){return Object.keys(k).includes(e)}toAttributeValue(e,t){if(!Object.keys(k).includes(e))throw Error(`Invalid attribute key "${e}". Expected one of: ${Object.keys(k).join(", ")}.`);return e===w.REQUIRED||t[e]}toFieldDefinition(t,r={},o=!0){const{inheritProps:n,...s}=r;r=s;const i=this.getClassDecoratorsMetadata(t);if(!i.length)throw new $(`No ui definitions set for model ${t.constructor.name}. Did you use @uimodel?`);const a=Object.assign({},...i,n||{}),{tag:c,props:E,item:u,handlers:p}=a,l=y.uiPropertiesOf(t.constructor);let d,T=u?.props||{},f={};const R=(e,t)=>e?[e,t].join("."):t;if(l){const o=I.get(t.constructor,e.REFLECT)||{};for(const e of l){const n=y.uiDecorationOf(t.constructor,e);let s;try{s=y.uiTypeOf(t.constructor,e)}catch(e){if(!(e instanceof P))throw e}if(y.uiIsHidden(t.constructor,e)&&!y.uiElementOf(t.constructor,e))throw new $(`@uielement no found in "${e}". It is required to use hiddenOn decorator.`);Object.entries(n).map(([e,t])=>({key:e,props:t})).sort(e=>[w.ELEMENT,w.CHILD].includes(e.key)?-1:1).forEach(n=>{if(!n)throw new $("No decorator found");switch(n.key){case w.PROP:T[e]=n.props;break;case w.CHILD:{if(!y.isPropertyModel(t,e))throw new $(`Child "${e}" must be a model.`);let o;const s=t[e];if("object"!=typeof s||null===s||Array.isArray(s)){const e=n.props.props?.name;o=new(y.get(e))}d=d||[];const i=Object.assign({},r||{},{model:o},{inheritProps:n.props,childOf:R(r?.childOf,e)}),a=this.toFieldDefinition(s||o,i,!1);d.push(a);break}case w.UILISTPROP:{f=f||{},n.props.name&&(f[n.props.name]=e);const t=Object.assign({},a.props?.item||{},u?.props||{},n.props.props||{},r);T={tag:u?.tag||t.render||"",props:Object.assign({},T?.props,{mapper:f},t)};break}case w.EVENTS:case w.HIDDEN:case w.PAGE:case w.ORDER:case w.UILAYOUTPROP:case w.ELEMENT:{d=d||[];const s=n.props,i=Object.assign({},T?.props,s.props||{},s?.props?.name?{path:R(r?.childOf,s.props.name),childOf:void 0}:{},r);if(n.key===w.ELEMENT){const r={tag:s.tag||T?.tag||c||"",props:i},n=o[e];if(n)for(const e of Object.entries(n).map(([e,t])=>({key:e,props:t})))this.isValidatableByAttribute(e.key)?r.props[this.translate(e.key)]=this.toAttributeValue(e.key,e.props):this.isValidatableByType(e.key)&&(e.key===_.DATE&&(r.props[w.FORMAT]=e.props.format||H),r.props[w.TYPE]=e.key);if(!r.props[w.TYPE]){const o=I.type(t.constructor,e).name;r.props[w.TYPE]=this.translate(o.toLowerCase(),!0)}r.props.value=x(r.props[w.TYPE],t[e],r.props[w.FORMAT]),d.push(r)}else{const t=d.find(t=>t.props?.name===e||[w.UILAYOUTPROP,w.PAGE,w.EVENTS].includes(n.key)&&(t.props?.childOf===e||t.props?.childOf?.endsWith("."+e)));if(t)if(n.key!==w.UILAYOUTPROP)t.props=Object.assign({},t.props,{[n.key]:s});else{const{row:e,col:r,props:o}=n.props;t.props=Object.assign({},o||{},t.props,e,r)}}break}default:throw new $("Invalid key: "+n.key)}})}}r=Object.assign({},E,r,{handlers:p||{}});const O=r?.operation;d=d?.sort((e,t)=>(e?.props?.order??0)-(t?.props?.order??0)).filter(e=>{const t=e?.props?.hidden||[];return t?.length&&t.includes(O)?void 0:e});const L={tag:c,item:T,props:r,children:d};return o&&(L.rendererId=J(t)),L}static register(e){if(e.flavour in this.cache)throw new M(`Rendering engine under ${e.flavour} already exists`);this.cache[e.flavour]=e,this.current=e}static getOrBoot(e){if(e instanceof q)return e;const t=new e;return t.initialize(),t}static get(e){if(!e)return this.getOrBoot(this.current);if(!(e in this.cache))throw new M(`Rendering engine under ${e} does not exist`);return this.getOrBoot(this.cache[e])}static render(e,...t){if(!y.get(e.constructor.name)&&!y.fromObject(e))throw new M("No model registered found");const r=y.renderedBy(e.constructor);return q.get(r).render(e,...t)}}function Z(...e){return(t,r)=>g(Q(r,w.HIDDEN),e)(t,r)}function ee(e=1){return(t,r)=>g(Q(r,w.ORDER),e)(t,r)}function te(){return Z(S.CREATE,S.READ,S.UPDATE,S.DELETE)}function re(e,t,r=!1){return(o,n)=>{const s={tag:e,serialize:r,props:Object.assign({},t||{},{name:n})};return g(Q(n,w.ELEMENT),s)(o,n)}}function oe(e=void 0,t=!1){return(r,o)=>{const n={name:e||o,stringify:t};g(Q(o,w.PROP),n)(r,o)}}function ne(e,t,r={},o=!1,n=!1){return(s,i)=>{const a={tag:t,serialize:n,props:Object.assign({},r||{},{name:e||i},o?{customTypes:[Array.name],multiple:!0}:{multiple:r?.multiple||!1})};g(Q(i,w.CHILD),a)(s,i)}}function se(e=void 0,t){return(r,o)=>{const n={name:e||o,props:t||{}};g(Q(o,w.UILISTPROP),n)(r,o)}}function ie(e=1,t=1){return(r,o)=>{const n={name:o,props:Object.assign({},{row:t,col:e})};g(Q(o,w.UILAYOUTPROP),n)(r,o)}}function ae(e=1){return(t,r)=>g(Q(r,w.PAGE),e)(t,r)}function ce(e,t){return(r,o)=>{g(Q(o,w.EVENTS),{[e]:t})(r,o)}}function Ee(e){return ce("render",e)}class ue{constructor(){}}class pe extends b{constructor(){super(),this.enableDarkMode=!0,this.isDarkMode=!1,this.item={tag:""},this.props={},this.route="",this.borders=!1,this.OperationKeys=S,this.initialized=!1,this.handlers={}}async render(...e){}async initialize(...e){this.initialized=!0}}y.prototype.render=function(...e){return q.render(this,...e)},y.renderedBy=(e=>I.get(e,I.key(w.REFLECT,w.RENDERED_BY))).bind(y),y.uiPropertiesOf=(e=>{const t=I.get(e,I.key(w.REFLECT,N.PROPERTIES));if(t)return Object.keys(t)}).bind(y),y.uiDecorationOf=(e,t,r)=>{const o=I.get(e,I.key(w.REFLECT,N.PROPERTIES,t));if(o)return r?o[r]:o},y.uiModelOf=e=>I.get(e,I.key(w.REFLECT,w.UIMODEL)),y.uiElementOf=(e,t)=>I.get(e,Q(t,w.ELEMENT)),y.uiListModelOf=e=>I.get(e,I.key(w.REFLECT,w.UILISTMODEL)),y.uiHandlersFor=e=>I.get(e,I.key(w.REFLECT,w.HANDLERS)),y.uiLayoutOf=e=>I.get(e,I.key(w.REFLECT,w.UILAYOUT)),y.uiIsHidden=(e,t)=>!!I.get(e,Q(t,w.HIDDEN)),y.uiIsHiddenOn=(e,t,r)=>{const o=I.get(e,Q(t,w.HIDDEN));return!!o&&(r?o.includes(r):o)},y.uiTypeOf=(e,t)=>{const r=I.get(e,I.key(w.REFLECT,N.PROPERTIES,t));if(!r)throw new P(`No metadata found for property '${t}' on model '${e.name}'`);const o=Object.keys(r).filter(e=>[w.PROP,w.ELEMENT,w.CHILD].includes(e));if(0===o.length)throw new P(`No UI type metadata found for property '${t}' on model '${e.name}'`);if(o.length>1)throw new $("Only one type of decoration is allowed. Please choose between @uiprop, @uichild or @uielement");return r[o[0]]},y.uiListItems=(e=>{const t=I.get(e,I.key(w.REFLECT,N.PROPERTIES));if(t)return Object.keys(t)}).bind(y);const le="##VERSION##";export{pe as DecafComponent,ue as EventHandler,B as HTML5CheckTypes,H as HTML5DateFormat,_ as HTML5InputTypes,q as RenderingEngine,$ as RenderingError,w as UIKeys,C as UIMediaBreakPoints,le as VERSION,k as ValidatableByAttribute,U as ValidatableByType,z as escapeHtml,x as formatByType,J as generateUIModelID,Q as getUIAttributeKey,te as hidden,Z as hideOn,W as parseToNumber,V as parseValueByType,j as renderedBy,K as revertHtml,ne as uichild,re as uielement,v as uihandlers,X as uilayout,ie as uilayoutprop,G as uilistmodel,se as uilistprop,F as uimodel,ce as uion,Ee as uionrender,ee as uiorder,ae as uipageprop,oe as uiprop,Y as uisteppedmodel};
2
2
  //# sourceMappingURL=ui-decorators.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ui-decorators.js","sources":["../src/ui/constants.ts","../src/ui/errors.ts","../src/ui/utils.ts","../src/ui/Rendering.ts","../src/model/decorators.ts","../src/ui/decorators.ts","../src/model/overrides.ts","../src/ui/handlers.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null],"names":["UIMediaBreakPoints","UIKeys","REFLECT","ModelKeys","UIMODEL","RENDERED_BY","ELEMENT","PROP","CHILD","NAME","NAME_PREFIX","CUSTOM_PROPS","UILISTMODEL","UILISTPROP","UILAYOUT","UILAYOUTPROP","HANDLERS","TYPE","SUB_TYPE","HIDDEN","FORMAT","ORDER","PAGE","READ_ONLY","REQUIRED","ValidationKeys","MIN","MIN_LENGTH","MAX","MAX_LENGTH","PATTERN","URL","STEP","DATE","EMAIL","PASSWORD","EQUALS","DIFF","LESS_THAN","LESS_THAN_OR_EQUAL","GREATER_THAN","GREATER_THAN_OR_EQUAL","ValidatableByType","EmailValidator","URLValidator","DateValidator","PasswordValidator","ValidatableByAttribute","RequiredValidator","MinValidator","MaxValidator","StepValidator","MinLengthValidator","MaxLengthValidator","PatternValidator","EqualsValidator","DiffValidator","LessThanValidator","LessThanOrEqualValidator","GreaterThanValidator","GreaterThanOrEqualValidator","HTML5DateFormat","HTML5InputTypes","BUTTON","CHECKBOX","COLOR","DATETIME_LOCAL","FILE","IMAGE","MONTH","NUMBER","RADIO","RANGE","RESET","SEARCH","SUBMIT","TEL","TEXT","TEXTAREA","SELECT","TIME","WEEK","HTML5CheckTypes","RenderingError","InternalError","constructor","msg","super","name","formatByType","type","value","args","format","shift","formatDate","Date","parseValueByType","fieldProps","result","Array","isArray","map","v","ReservedModels","STRING","join","parseToNumber","trim","length","parseDate","undefined","OBJECT","JSON","stringify","BOOLEAN","escapeHtml","isNaN","parsed","Number","tagsToReplace","replace","tag","revertHtml","generateUIModelID","model","id","findModelId","e","now","RenderingEngine","this","cache","flavour","initialized","register","translate","key","toView","BIGINT","getClassDecoratorsMetadata","Reflect","getMetadata","Model","get","filter","Boolean","isValidatableByType","Object","keys","includes","isValidatableByAttribute","toAttributeValue","Error","toFieldDefinition","globalProps","generateId","inheritProps","globalPropsWithoutInherits","classDecorators","classDecorator","assign","props","item","handlers","uiDecorators","Reflection","getAllPropertyDecorators","children","childProps","mapper","getPath","parent","prop","validationDecorators","decs","types","values","hasHideOnDecorator","find","hasUiElementDecorator","sort","a","forEach","dec","isPropertyModel","Clazz","submodel","clazzName","childrenGlobalProps","childOf","childDefinition","push","render","uiProps","path","validationDecs","typeDec","basicType","toLowerCase","child","c","row","col","operation","b","order","hiddenOn","hidden","rendererId","engine","current","getOrBoot","obj","initialize","fromObject","uimodel","original","propertyKey","meta","metadata","renderedBy","apply","uilistmodel","uihandlers","uilayout","colsMode","rows","flexMode","cols","breakpoint","LARGE","uisteppedmodel","pages","paginated","pageTitles","hideOn","operations","propMetadata","uiorder","OperationKeys","CREATE","READ","UPDATE","DELETE","uielement","serialize","uiprop","propName","target","uichild","clazz","customTypes","multiple","uilistprop","uilayoutprop","uipageprop","page","prototype","EventHandler","VERSION"],"mappings":"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"}
1
+ {"version":3,"file":"ui-decorators.js","sources":["../src/ui/constants.ts","../src/model/decorators.ts","../src/ui/errors.ts","../src/ui/utils.ts","../src/ui/Rendering.ts","../src/ui/decorators.ts","../src/ui/handlers.ts","../src/ui/DecafComponent.ts","../src/model/overrides.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null],"names":["UIMediaBreakPoints","UIKeys","REFLECT","UIMODEL","RENDERED_BY","ELEMENT","PROP","CHILD","NAME","NAME_PREFIX","CUSTOM_PROPS","UILISTMODEL","UILISTPROP","UILAYOUT","UILAYOUTPROP","HANDLERS","TYPE","SUB_TYPE","HIDDEN","FORMAT","ORDER","PAGE","EVENTS","READ_ONLY","REQUIRED","ValidationKeys","MIN","MIN_LENGTH","MAX","MAX_LENGTH","PATTERN","URL","STEP","DATE","EMAIL","PASSWORD","EQUALS","DIFF","LESS_THAN","LESS_THAN_OR_EQUAL","GREATER_THAN","GREATER_THAN_OR_EQUAL","ValidatableByType","EmailValidator","URLValidator","DateValidator","PasswordValidator","ValidatableByAttribute","RequiredValidator","MinValidator","MaxValidator","StepValidator","MinLengthValidator","MaxLengthValidator","PatternValidator","EqualsValidator","DiffValidator","LessThanValidator","LessThanOrEqualValidator","GreaterThanValidator","GreaterThanOrEqualValidator","HTML5DateFormat","HTML5InputTypes","BUTTON","CHECKBOX","COLOR","DATETIME_LOCAL","FILE","IMAGE","MONTH","NUMBER","RADIO","RANGE","RESET","SEARCH","SUBMIT","TEL","TEXT","TEXTAREA","SELECT","TIME","WEEK","HTML5CheckTypes","uimodel","tag","props","original","propertyKey","meta","name","metadata","Metadata","key","renderedBy","engine","apply","uilistmodel","item","uihandlers","handlers","uilayout","colsMode","rows","Object","assign","flexMode","cols","breakpoint","LARGE","uisteppedmodel","pages","paginated","pageTitles","length","RenderingError","InternalError","constructor","msg","super","getUIAttributeKey","prop","DecorationKeys","PROPERTIES","formatByType","type","value","args","format","shift","formatDate","Date","parseValueByType","fieldProps","result","Array","isArray","map","v","ReservedModels","STRING","toLowerCase","join","parseToNumber","trim","parseDate","undefined","OBJECT","JSON","stringify","BOOLEAN","escapeHtml","isNaN","parsed","Number","tagsToReplace","replace","revertHtml","generateUIModelID","model","id","now","Model","pk","e","RenderingEngine","this","cache","flavour","initialized","register","translate","toView","BIGINT","getClassDecoratorsMetadata","uiModelOf","uiListModelOf","uiHandlersFor","uiLayoutOf","filter","Boolean","isValidatableByType","keys","includes","isValidatableByAttribute","toAttributeValue","Error","toFieldDefinition","globalProps","generateId","inheritProps","globalPropsWithoutInherits","classDecorators","classDecorator","uiDecorators","uiPropertiesOf","children","childProps","mapper","getPath","parent","validationDecorators","get","decs","uiDecorationOf","uiTypeOf","NotFoundError","uiIsHidden","uiElementOf","entries","k","sort","a","forEach","dec","isPropertyModel","Clazz","submodel","clazzName","childrenGlobalProps","childOf","childDefinition","push","render","uiProps","path","validationDecs","basicType","child","find","c","endsWith","row","col","operation","b","order","hiddenOn","hidden","rendererId","current","getOrBoot","obj","initialize","fromObject","hideOn","operations","object","propMetadata","uiorder","OperationKeys","CREATE","READ","UPDATE","DELETE","uielement","serialize","uiprop","propName","target","uichild","clazz","customTypes","multiple","uilistprop","uilayoutprop","uipageprop","page","uion","event","handler","uionrender","EventHandler","DecafComponent","LoggedClass","enableDarkMode","isDarkMode","route","borders","prototype","bind","uiIsHiddenOn","op","uiListItems","VERSION"],"mappings":"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"}
@@ -13,4 +13,4 @@ export * from "./ui";
13
13
  * @const VERSION
14
14
  * @memberOf module:ui-decorators
15
15
  */
16
- export declare const VERSION = "0.5.32";
16
+ export declare const VERSION = "0.6.1";
package/lib/esm/index.js CHANGED
@@ -13,5 +13,5 @@ export * from "./ui/index.js";
13
13
  * @const VERSION
14
14
  * @memberOf module:ui-decorators
15
15
  */
16
- export const VERSION = "0.5.32";
16
+ export const VERSION = "0.6.1";
17
17
  //# sourceMappingURL=index.js.map
@@ -75,7 +75,7 @@ export declare function uimodel(tag?: string, props?: Record<string, any>): (ori
75
75
  * Model->>RenderingEngine: uses specified engine
76
76
  * RenderingEngine->>System: renders with custom engine
77
77
  */
78
- export declare function renderedBy(engine: string): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor) => void;
78
+ export declare function renderedBy(engine: string): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor | number) => void;
79
79
  /**
80
80
  * @description Decorator that tags a model as a list item for UI rendering
81
81
  * @summary Specifies how a model should be rendered when displayed in a list context
@@ -1,8 +1,6 @@
1
1
  import { UIKeys } from "./../ui/constants.js";
2
- import { apply, metadata } from "@decaf-ts/reflection";
3
- import { RenderingEngine } from "./../ui/Rendering.js";
4
2
  import { UIMediaBreakPoints } from "./../ui/constants.js";
5
- import { ReservedModels } from "@decaf-ts/decorator-validation";
3
+ import { apply, Metadata, metadata } from "@decaf-ts/decoration";
6
4
  /**
7
5
  * @description Decorator that tags a class as a UI model
8
6
  * @summary Adds rendering capabilities to a model class by providing a render method
@@ -53,7 +51,7 @@ export function uimodel(tag, props) {
53
51
  tag: tag || original.name,
54
52
  props: props,
55
53
  };
56
- return metadata(RenderingEngine.key(UIKeys.UIMODEL), meta)(original);
54
+ return metadata(Metadata.key(UIKeys.REFLECT, UIKeys.UIMODEL), meta)(original);
57
55
  };
58
56
  }
59
57
  /**
@@ -89,7 +87,7 @@ export function uimodel(tag, props) {
89
87
  * RenderingEngine->>System: renders with custom engine
90
88
  */
91
89
  export function renderedBy(engine) {
92
- return apply(metadata(RenderingEngine.key(UIKeys.RENDERED_BY), engine));
90
+ return apply(metadata(Metadata.key(UIKeys.REFLECT, UIKeys.RENDERED_BY), engine));
93
91
  }
94
92
  /**
95
93
  * @description Decorator that tags a model as a list item for UI rendering
@@ -145,7 +143,7 @@ export function uilistmodel(name, props) {
145
143
  props: props,
146
144
  },
147
145
  };
148
- return metadata(RenderingEngine.key(UIKeys.UILISTMODEL), meta)(original);
146
+ return metadata(Metadata.key(UIKeys.REFLECT, UIKeys.UILISTMODEL), meta)(original);
149
147
  };
150
148
  }
151
149
  /**
@@ -204,9 +202,9 @@ export function uilistmodel(name, props) {
204
202
  export function uihandlers(props) {
205
203
  return (original) => {
206
204
  const meta = {
207
- handlers: props
205
+ handlers: props,
208
206
  };
209
- return metadata(RenderingEngine.key(UIKeys.HANDLERS), meta)(original);
207
+ return metadata(Metadata.key(UIKeys.REFLECT, UIKeys.HANDLERS), meta)(original);
210
208
  };
211
209
  }
212
210
  /**
@@ -270,17 +268,17 @@ export function uihandlers(props) {
270
268
  export function uilayout(tag, colsMode = 1, rows = 1, props = {}) {
271
269
  return (original, propertyKey) => {
272
270
  return uimodel(tag, Object.assign({
273
- ...(typeof colsMode === ReservedModels.BOOLEAN ?
274
- {
271
+ ...(typeof colsMode === "boolean"
272
+ ? {
275
273
  flexMode: colsMode,
276
- cols: 1
277
- } :
278
- {
274
+ cols: 1,
275
+ }
276
+ : {
279
277
  flexMode: false,
280
- cols: colsMode
278
+ cols: colsMode,
281
279
  }),
282
280
  rows,
283
- ...Object.assign({ breakpoint: UIMediaBreakPoints.LARGE }, props)
281
+ ...Object.assign({ breakpoint: UIMediaBreakPoints.LARGE }, props),
284
282
  }))(original, propertyKey);
285
283
  };
286
284
  }
@@ -366,7 +364,7 @@ export function uilayout(tag, colsMode = 1, rows = 1, props = {}) {
366
364
  */
367
365
  export function uisteppedmodel(tag, pages = 1, paginated = false, props = {}) {
368
366
  let pageTitles = [];
369
- if (typeof pages === ReservedModels.OBJECT) {
367
+ if (typeof pages === "object") {
370
368
  pageTitles = pages;
371
369
  pages = pageTitles.length;
372
370
  }
@@ -374,7 +372,7 @@ export function uisteppedmodel(tag, pages = 1, paginated = false, props = {}) {
374
372
  pages,
375
373
  paginated,
376
374
  pageTitles,
377
- props
375
+ props,
378
376
  });
379
377
  }
380
378
  //# sourceMappingURL=decorators.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../src/model/decorators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../src/model/decorators.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  import { Renderable } from "./Renderable";
2
+ import { Constructor } from "@decaf-ts/decoration";
3
+ import { CrudOperationKeys, UIElementMetadata, UIHandlerMetadata, UILayoutMetadata, UIListModelMetadata, UIModelMetadata } from "../ui/index";
2
4
  declare module "@decaf-ts/decorator-validation" {
3
5
  interface Model extends Renderable {
4
6
  /**
@@ -11,4 +13,19 @@ declare module "@decaf-ts/decorator-validation" {
11
13
  */
12
14
  render<R>(...args: any[]): R;
13
15
  }
16
+ namespace Model {
17
+ function renderedBy<M extends Model>(model: Constructor<M>): string | undefined;
18
+ function uiPropertiesOf<M extends Model>(model: Constructor<M>): string[] | undefined;
19
+ function uiDecorationOf<M extends Model>(model: Constructor<M>, prop: keyof M, key?: string): any;
20
+ function uiModelOf<M extends Model>(model: Constructor<M>): UIModelMetadata | undefined;
21
+ function uiElementOf<M extends Model>(model: Constructor<M>, prop: keyof M): UIElementMetadata | undefined;
22
+ function uiListModelOf<M extends Model>(model: Constructor<M>): UIListModelMetadata | undefined;
23
+ function uiHandlersFor<M extends Model>(model: Constructor<M>): UIHandlerMetadata | undefined;
24
+ function uiLayoutOf<M extends Model>(model: Constructor<M>): UILayoutMetadata | undefined;
25
+ function uiTypeOf<M extends Model>(model: Constructor<M>, prop: keyof M): UILayoutMetadata | undefined;
26
+ function uiIsHidden<M extends Model>(model: Constructor<M>, prop: keyof M): boolean;
27
+ function uiHiddenOn<M extends Model>(model: Constructor<M>, prop: keyof M): CrudOperationKeys[] | false;
28
+ function uiHiddenOn<M extends Model>(model: Constructor<M>, prop: keyof M, op: CrudOperationKeys): boolean;
29
+ function uiHiddenOn<M extends Model>(model: Constructor<M>, prop: keyof M, op?: CrudOperationKeys): CrudOperationKeys[] | boolean;
30
+ }
14
31
  }
@@ -6,4 +6,4 @@
6
6
  * @module model/overrides
7
7
  * @memberOf module:ui-decorators/model
8
8
  */
9
- export {};
9
+ import "./model";
@@ -8,6 +8,10 @@
8
8
  */
9
9
  import { Model } from "@decaf-ts/decorator-validation";
10
10
  import { RenderingEngine } from "./../ui/Rendering.js";
11
+ import { DecorationKeys, Metadata } from "@decaf-ts/decoration";
12
+ import { getUIAttributeKey, RenderingError, UIKeys, } from "./../ui/index.js";
13
+ import "./model.js";
14
+ import { NotFoundError } from "@decaf-ts/db-decorators";
11
15
  /**
12
16
  * @description Renders the model using the appropriate rendering engine
13
17
  * @summary Delegates rendering to the RenderingEngine based on model metadata
@@ -21,4 +25,74 @@ import { RenderingEngine } from "./../ui/Rendering.js";
21
25
  Model.prototype.render = function (...args) {
22
26
  return RenderingEngine.render(this, ...args);
23
27
  };
28
+ Model.renderedBy = function (model) {
29
+ return Metadata.get(model, Metadata.key(UIKeys.REFLECT, UIKeys.RENDERED_BY));
30
+ }.bind(Model);
31
+ Model.uiPropertiesOf = function (model) {
32
+ const meta = Metadata.get(model, Metadata.key(UIKeys.REFLECT, DecorationKeys.PROPERTIES));
33
+ if (!meta)
34
+ return undefined;
35
+ return Object.keys(meta);
36
+ }.bind(Model);
37
+ Model.uiDecorationOf = function (model, prop, key) {
38
+ const meta = Metadata.get(model, Metadata.key(UIKeys.REFLECT, DecorationKeys.PROPERTIES, prop));
39
+ if (!meta)
40
+ return undefined;
41
+ if (!key)
42
+ return meta;
43
+ return meta[key];
44
+ };
45
+ Model.uiModelOf = function (model) {
46
+ return Metadata.get(model, Metadata.key(UIKeys.REFLECT, UIKeys.UIMODEL));
47
+ };
48
+ Model.uiElementOf = function (model, prop) {
49
+ return Metadata.get(model, getUIAttributeKey(prop, UIKeys.ELEMENT));
50
+ };
51
+ Model.uiListModelOf = function (model) {
52
+ return Metadata.get(model, Metadata.key(UIKeys.REFLECT, UIKeys.UILISTMODEL));
53
+ };
54
+ Model.uiHandlersFor = function (model) {
55
+ return Metadata.get(model, Metadata.key(UIKeys.REFLECT, UIKeys.HANDLERS));
56
+ };
57
+ Model.uiLayoutOf = function (model) {
58
+ return Metadata.get(model, Metadata.key(UIKeys.REFLECT, UIKeys.UILAYOUT));
59
+ };
60
+ Model.uiIsHidden = function (model, prop) {
61
+ return !!Metadata.get(model, getUIAttributeKey(prop, UIKeys.HIDDEN));
62
+ };
63
+ Model.uiIsHiddenOn = function (model, prop, op) {
64
+ const meta = Metadata.get(model, getUIAttributeKey(prop, UIKeys.HIDDEN));
65
+ if (!meta)
66
+ return false;
67
+ if (!op)
68
+ return meta;
69
+ return meta.includes(op);
70
+ };
71
+ Model.uiTypeOf = function (model, prop) {
72
+ const meta = Metadata.get(model, Metadata.key(UIKeys.REFLECT, DecorationKeys.PROPERTIES, prop));
73
+ if (!meta)
74
+ throw new NotFoundError(`No metadata found for property '${prop}' on model '${model.name}'`);
75
+ const keys = Object.keys(meta).filter((k) => [UIKeys.PROP, UIKeys.ELEMENT, UIKeys.CHILD].includes(k));
76
+ if (keys.length === 0)
77
+ throw new NotFoundError(`No UI type metadata found for property '${prop}' on model '${model.name}'`);
78
+ if (keys.length > 1)
79
+ throw new RenderingError(`Only one type of decoration is allowed. Please choose between @uiprop, @uichild or @uielement`);
80
+ return meta[keys[0]];
81
+ };
82
+ //
83
+ // (Metadata as any).uiElements = function <M extends Model>(
84
+ // model: Constructor<M>
85
+ // ): string[] | undefined {
86
+ // const props = Metadata.uiPropertiesOf(model);
87
+ // if (!props) return undefined;
88
+ // return props
89
+ // .map((prop) => Metadata.get(model, getUIAttributeKey(prop, UIKeys.ELEMENT)))
90
+ // .filter(Boolean);
91
+ // }.bind(Model);
92
+ Model.uiListItems = function (model) {
93
+ const meta = Metadata.get(model, Metadata.key(UIKeys.REFLECT, DecorationKeys.PROPERTIES));
94
+ if (!meta)
95
+ return undefined;
96
+ return Object.keys(meta);
97
+ }.bind(Model);
24
98
  //# sourceMappingURL=overrides.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"overrides.js","sourceRoot":"","sources":["../../../src/model/overrides.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,6BAAwB;AAElD;;;;;;;;;GASG;AACH,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,UAAoC,GAAG,IAAW;IACzE,OAAO,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;AAC/C,CAAC,CAAC"}
1
+ {"version":3,"file":"overrides.js","sourceRoot":"","sources":["../../../src/model/overrides.ts"],"names":[],"mappings":"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"}