@decaf-ts/ui-decorators 0.6.6 → 0.6.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- var e,t;e=this,t=function(e,t,o,r,a){"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",SEQUENCE:"sequence",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,a)=>{const s={tag:e||r.name,props:t};return o.metadata(o.Metadata.key(i.REFLECT,i.UIMODEL),s)(r)}}class u extends r.InternalError{constructor(e){super(e,u.name)}}function M(e,t){return o.Metadata.key(i.REFLECT,o.DecorationKeys.PROPERTIES,e,t)}function T(e,o,...r){if(e===i.DATE){if(!o)return"";const e=r.shift()||l;return t.formatDate(new Date(o),e)}return o}function f(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 R(e){let o=Date.now();try{t.Model.pk(e.constructor)&&(o=e[t.Model.pk(e.constructor)])}catch(e){}return`${e.constructor.name}-${o}`}class O{static{this.cache={}}constructor(e){this.flavour=e,this.initialized=!1,O.register(this)}translate(e,o=!0){if(o)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,a={},s=!0){const{inheritProps:n,...d}=a;a=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:f,item:y,handlers:O}=p,L=t.Model.uiPropertiesOf(e.constructor);let h,m=y?.props||{},A={};const g=(e,t)=>e?[e,t].join("."):t;if(L){const s=o.Metadata.get(e.constructor,t.ValidationKeys.REFLECT)||{};for(const n of L){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 o;const s=e[n];if("object"!=typeof s||null===s||Array.isArray(s)){const e=r.props.props?.name;o=new(t.Model.get(e))}h=h||[];const i=Object.assign({},a||{},{model:o},{inheritProps:r.props,childOf:g(a?.childOf,n)}),d=this.toFieldDefinition(s||o,i,!1),{inheritProps:l}=i;l&&(d.props=Object.assign({},d.props,l.props||{})),h.push(d);break}case i.UILISTPROP:{A=A||{};const e=r.props;e.name&&(A[e.name]="object"==typeof e?.props&&i.SEQUENCE in e.props?e.props:n);const t=Object.assign({},p.props?.item||{},y?.props||{},e?.props||{},a);m={tag:y?.tag||t.render||"",props:Object.assign({},m?.props,{mapper:A},t)};break}case i.EVENTS:case i.HIDDEN:case i.PAGE:case i.ORDER:case i.UILAYOUTPROP:case i.ELEMENT:{h=h||[];const t=r.props,d=Object.assign({},m?.props,t.props||{},t?.props?.name?{path:g(a?.childOf,t.props.name),childOf:void 0}:{},a,{name:t.props?.name||n});if(r.key===i.ELEMENT){const r={tag:t.tag||m?.tag||M||"",props:d},a=s[n];if(a)for(const e of Object.entries(a).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=o.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]),h.push(r)}else{const e=h.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:o,props:a}=r.props;e.props=Object.assign({},a||{},e.props,t,o)}}break}default:throw new u("Invalid key: "+r.key)}})}}a=Object.assign({},f,a,{handlers:O||{}});const I=a?.operation;h=h?.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 D={tag:M,item:m,props:a,children:h};return s&&(D.rendererId=R(e)),D}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 O)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,...o){if(!t.Model.get(e.constructor.name)&&!t.Model.fromObject(e))throw new r.InternalError("No model registered found");const a=t.Model.renderedBy(e.constructor);return O.get(a).render(e,...o)}}function L(...e){return(t,r)=>o.propMetadata(M(r,i.HIDDEN),e)(t,r)}function h(e,t){return(r,a)=>{o.propMetadata(M(a,i.EVENTS),{[e]:t})(r,a)}}class m extends a.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={}}get repository(){return this._repository}set repository(e){this._repository=e}async render(...e){this.log.for(this.render).info(`render for ${this.componentName} with ${JSON.stringify(e)}`)}async initialize(...e){this.initialized=!0}async submit(...e){this.log.for(this.submit).info(`submit for ${this.componentName} with ${JSON.stringify(e)}`)}async translate(...e){this.log.for(this.translate).info(`translate for ${this.componentName} with ${JSON.stringify(e)}`)}}t.Model.prototype.render=function(...e){return O.render(this,...e)},t.Model.renderedBy=(e=>o.Metadata.get(e,o.Metadata.key(i.REFLECT,i.RENDERED_BY))).bind(t.Model),t.Model.uiPropertiesOf=(e=>{const t=o.Metadata.get(e,o.Metadata.key(i.REFLECT,o.DecorationKeys.PROPERTIES));if(t)return Object.keys(t)}).bind(t.Model),t.Model.uiDecorationOf=(e,t,r)=>{const a=o.Metadata.get(e,o.Metadata.key(i.REFLECT,o.DecorationKeys.PROPERTIES,t));if(a)return r?a[r]:a},t.Model.uiModelOf=e=>o.Metadata.get(e,o.Metadata.key(i.REFLECT,i.UIMODEL)),t.Model.uiElementOf=(e,t)=>o.Metadata.get(e,M(t,i.ELEMENT)),t.Model.uiListModelOf=e=>o.Metadata.get(e,o.Metadata.key(i.REFLECT,i.UILISTMODEL)),t.Model.uiHandlersFor=e=>o.Metadata.get(e,o.Metadata.key(i.REFLECT,i.HANDLERS)),t.Model.uiLayoutOf=e=>o.Metadata.get(e,o.Metadata.key(i.REFLECT,i.UILAYOUT)),t.Model.uiIsHidden=(e,t)=>!!o.Metadata.get(e,M(t,i.HIDDEN)),t.Model.uiIsHiddenOn=(e,t,r)=>{const a=o.Metadata.get(e,M(t,i.HIDDEN));return!!a&&(r?a.includes(r):a)},t.Model.uiTypeOf=(e,t)=>{const a=o.Metadata.get(e,o.Metadata.key(i.REFLECT,o.DecorationKeys.PROPERTIES,t));if(!a)throw new r.NotFoundError(`No metadata found for property '${t}' on model '${e.name}'`);const s=Object.keys(a).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 a[s[0]]},t.Model.uiListItems=(e=>{const t=o.Metadata.get(e,o.Metadata.key(i.REFLECT,o.DecorationKeys.PROPERTIES));if(t)return Object.keys(t)}).bind(t.Model),e.DecafComponent=m,e.DecafEventHandler=class extends m{constructor(){super()}handle(...e){this.log.for(this.handle).info(`component ${this.componentName} handling ${JSON.stringify(e)}`)}},e.HTML5CheckTypes=E,e.HTML5DateFormat=l,e.HTML5InputTypes=c,e.RenderingEngine=O,e.RenderingError=u,e.UIKeys=i,e.VERSION="##VERSION##",e.ValidatableByAttribute=d,e.ValidatableByType=n,e.escapeHtml=y,e.formatByType=T,e.generateUIModelID=R,e.getUIAttributeKey=M,e.hidden=()=>L(r.OperationKeys.CREATE,r.OperationKeys.READ,r.OperationKeys.UPDATE,r.OperationKeys.DELETE),e.hideOn=L,e.parseToNumber=f,e.parseValueByType=function e(o,a,s){let i;switch(o){case Array.name:i=(Array.isArray(a)?a.map(o=>e(t.ReservedModels.STRING.name.toLowerCase(),o,s)):[a]).join(",");break;case c.NUMBER:i=f(a);break;case c.DATE:{const e=s.format;a&&(""+a).trim().length&&(i=typeof a===t.ReservedModels.NUMBER.name.toLowerCase()?new Date(a):a?e?t.parseDate(e,a):new Date(a):void 0);break}default:i=typeof a===t.ReservedModels.OBJECT.name.toLowerCase()?Array.isArray(a)?a.join(","):JSON.stringify(a):typeof a===t.ReservedModels.BOOLEAN.name.toLowerCase()?a:typeof a===t.ReservedModels.STRING.name.toLowerCase()?y(a):i}if(void 0===i)throw new r.InternalError(`Failed to parse value of type ${o} from ${typeof a} - ${a}`);return i},e.renderedBy=e=>o.apply(o.metadata(o.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={},a=!1,s=!1)=>(n,d)=>{const l={tag:t,serialize:s,props:Object.assign({},r||{},{name:e||d},a?{customTypes:[Array.name],multiple:!0}:{multiple:r?.multiple||!1})};o.propMetadata(M(d,i.CHILD),l)(n,d)},e.uielement=(e,t,r=!1)=>(a,s)=>{const n={tag:e,serialize:r,props:Object.assign({},t||{},{name:s})};return o.propMetadata(M(s,i.ELEMENT),n)(a,s)},e.uihandlers=e=>t=>{const r={handlers:e};return o.metadata(o.Metadata.key(i.REFLECT,i.HANDLERS),r)(t)},e.uilayout=(t,o=1,r=1,a={})=>(s,i)=>p(t,Object.assign({..."boolean"==typeof o?{flexMode:o,cols:1}:{flexMode:!1,cols:o},rows:r,...Object.assign({breakpoint:e.UIMediaBreakPoints.LARGE},a)}))(s,i),e.uilayoutprop=(e=1,t=1)=>(r,a)=>{const s={name:a,props:Object.assign({},{row:t,col:e})};o.propMetadata(M(a,i.UILAYOUTPROP),s)(r,a)},e.uilistmodel=(e,t)=>(r,a)=>{const s={item:{tag:e||r.name,props:t}};return o.metadata(o.Metadata.key(i.REFLECT,i.UILISTMODEL),s)(r)},e.uilistprop=(e=void 0,t)=>(r,a)=>{const s={name:e||a,props:t||{}};o.propMetadata(M(a,i.UILISTPROP),s)(r,a)},e.uimodel=p,e.uion=h,e.uionrender=e=>h("render",e),e.uiorder=(e=1)=>(t,r)=>o.propMetadata(M(r,i.ORDER),e)(t,r),e.uipageprop=(e=1)=>(t,r)=>o.propMetadata(M(r,i.PAGE),e)(t,r),e.uiprop=(e=void 0,t=!1)=>(r,a)=>{const s={name:e||a,stringify:t};o.propMetadata(M(a,i.PROP),s)(r,a)},e.uisteppedmodel=(e,t=1,o=!1,r={})=>{let a=[];return"object"==typeof t&&(a=t,t=a.length),p(e,{pages:t,paginated:o,pageTitles:a,props:r})},e.uitablecol=(e,t)=>(r,a)=>{const s={name:a,props:{sequence:e,...t?{valueParserFn:t}:{}}};o.propMetadata(M(a,i.UILISTPROP),s)(r,a)}},"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);
1
+ var e,t;e=this,t=function(e,t,r,o,a){"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",SEQUENCE:"sequence",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(o,a)=>{const s={tag:e||o.name,props:t};return r.metadata(r.Metadata.key(i.REFLECT,i.UIMODEL),s)(o)}}class u extends o.InternalError{constructor(e){super(e,u.name)}}function f(e,t){return r.Metadata.key(i.REFLECT,r.DecorationKeys.PROPERTIES,e,t)}function M(e,r,...o){if(e===i.DATE){if(!r)return"";const e=o.shift()||l;return t.formatDate(new Date(r),e)}return r}function T(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 R(e){let r=Date.now();try{t.Model.pk(e.constructor)&&(r=e[t.Model.pk(e.constructor)])}catch(e){}return`${e.constructor.name}-${r}`}class O{static{this.cache={}}constructor(e){this.flavour=e,this.initialized=!1,O.register(this)}translate(e,r=!0){if(r)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,a={},s=!0){const{inheritProps:n,...d}=a;a=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:f,props:T,item:y,handlers:O}=p,h=t.Model.uiPropertiesOf(e.constructor);let L,m=y?.props||{},A={};const g=(e,t)=>e?[e,t].join("."):t;if(h){const s=r.Metadata.get(e.constructor,t.ValidationKeys.REFLECT)||{};for(const n of h){const d=t.Model.uiDecorationOf(e.constructor,n);let E;try{E=t.Model.uiTypeOf(e.constructor,n)}catch(e){if(!(e instanceof o.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(o=>{if(!o)throw new u("No decorator found");switch(o.key){case i.PROP:m[n]=o.props;break;case i.CHILD:{if(!t.Model.isPropertyModel(e,n))throw new u(`Child "${n}" must be a model.`);let r;const s=e[n];if("object"!=typeof s||null===s||Array.isArray(s)){const e=o.props.props?.name;r=new(t.Model.get(e))}L=L||[];const i=Object.assign({},a||{},{model:r},{inheritProps:o.props,childOf:g(a?.childOf,n)}),d=this.toFieldDefinition(s||r,i,!1),{inheritProps:l}=i;l&&(d.props=Object.assign({},d.props,l.props||{})),L.push(d);break}case i.UILISTPROP:{A=A||{};const e=o.props;e.name&&(A[e.name]="object"==typeof e?.props&&i.SEQUENCE in e.props?e.props:n);const t=Object.assign({},p.props?.item||{},y?.props||{},e?.props||{},a);m={tag:y?.tag||t.render||"",props:Object.assign({},m?.props,{mapper:A},t)};break}case i.EVENTS:case i.HIDDEN:case i.PAGE:case i.ORDER:case i.UILAYOUTPROP:case i.ELEMENT:{L=L||[];const t=o.props,d=Object.assign({},m?.props,t.props||{},t?.props?.name?{path:g(a?.childOf,t.props.name),childOf:void 0}:{},a,{name:t.props?.name||n});if(o.key===i.ELEMENT){const o={tag:t.tag||m?.tag||f||"",props:d},a=s[n];if(a)for(const e of Object.entries(a).map(([e,t])=>({key:e,props:t})))this.isValidatableByAttribute(e.key)?o.props[this.translate(e.key)]=this.toAttributeValue(e.key,e.props):this.isValidatableByType(e.key)&&(e.key===c.DATE&&(o.props[i.FORMAT]=e.props.format||l),o.props[i.TYPE]=e.key);if(!o.props[i.TYPE]){const t=r.Metadata.type(e.constructor,n).name;o.props[i.TYPE]=this.translate(t.toLowerCase(),!0)}o.props.value=M(o.props[i.TYPE],e[n],o.props[i.FORMAT]),L.push(o)}else{const e=L.find(e=>e.props?.name===n||[i.UILAYOUTPROP,i.PAGE,i.EVENTS].includes(o.key)&&(e.props?.childOf===n||e.props?.childOf?.endsWith("."+n)));if(e)if(o.key!==i.UILAYOUTPROP)e.props=Object.assign({},e.props,{[o.key]:t});else{const{row:t,col:r,props:a}=o.props;e.props=Object.assign({},a||{},e.props,t,r)}}break}default:throw new u("Invalid key: "+o.key)}})}}a=Object.assign({},T,a,{handlers:O||{}});const I=a?.operation;L=L?.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 D={tag:f,item:m,props:a,children:L};return s&&(D.rendererId=R(e)),D}static register(e){if(e.flavour in this.cache)throw new o.InternalError(`Rendering engine under ${e.flavour} already exists`);this.cache[e.flavour]=e,this.current=e}static getOrBoot(e){if(e instanceof O)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 o.InternalError(`Rendering engine under ${e} does not exist`);return this.getOrBoot(this.cache[e])}static render(e,...r){if(!t.Model.get(e.constructor.name)&&!t.Model.fromObject(e))throw new o.InternalError("No model registered found");const a=t.Model.renderedBy(e.constructor);return O.get(a).render(e,...r)}}function h(...e){return(t,o)=>r.propMetadata(f(o,i.HIDDEN),e)(t,o)}function L(e,t){return(o,a)=>{r.propMetadata(f(a,i.EVENTS),{[e]:t})(o,a)}}class m extends a.LoggedClass{constructor(){super(),this.enableDarkMode=!0,this.isDarkMode=!1,this.item={tag:""},this.props={},this.route="",this.borders=!1,this.OperationKeys=o.OperationKeys,this.initialized=!1,this.handlers={}}get repository(){return this._repository}set repository(e){this._repository=e}async render(...e){this.log.for(this.render).info(`render for ${this.componentName} with ${JSON.stringify(e)}`)}async refresh(...e){this.log.for(this.refresh).info("Refresh called with args: "+e)}async initialize(...e){this.initialized=!0}async translate(...e){this.log.for(this.translate).info(`translate for ${this.componentName} with ${JSON.stringify(e)}`)}async preview(...e){this.log.for(this.preview).debug("Preview called with args: "+e)}async submit(...e){this.log.for(this.submit).info(`submit for ${this.componentName} with ${JSON.stringify(e)}`)}}t.Model.prototype.render=function(...e){return O.render(this,...e)},t.Model.renderedBy=(e=>r.Metadata.get(e,r.Metadata.key(i.REFLECT,i.RENDERED_BY))).bind(t.Model),t.Model.uiPropertiesOf=(e=>{const t=r.Metadata.get(e,r.Metadata.key(i.REFLECT,r.DecorationKeys.PROPERTIES));if(t)return Object.keys(t)}).bind(t.Model),t.Model.uiDecorationOf=(e,t,o)=>{const a=r.Metadata.get(e,r.Metadata.key(i.REFLECT,r.DecorationKeys.PROPERTIES,t));if(a)return o?a[o]:a},t.Model.uiModelOf=e=>r.Metadata.get(e,r.Metadata.key(i.REFLECT,i.UIMODEL)),t.Model.uiElementOf=(e,t)=>r.Metadata.get(e,f(t,i.ELEMENT)),t.Model.uiListModelOf=e=>r.Metadata.get(e,r.Metadata.key(i.REFLECT,i.UILISTMODEL)),t.Model.uiHandlersFor=e=>r.Metadata.get(e,r.Metadata.key(i.REFLECT,i.HANDLERS)),t.Model.uiLayoutOf=e=>r.Metadata.get(e,r.Metadata.key(i.REFLECT,i.UILAYOUT)),t.Model.uiIsHidden=(e,t)=>!!r.Metadata.get(e,f(t,i.HIDDEN)),t.Model.uiIsHiddenOn=(e,t,o)=>{const a=r.Metadata.get(e,f(t,i.HIDDEN));return!!a&&(o?a.includes(o):a)},t.Model.uiTypeOf=(e,t)=>{const a=r.Metadata.get(e,r.Metadata.key(i.REFLECT,r.DecorationKeys.PROPERTIES,t));if(!a)throw new o.NotFoundError(`No metadata found for property '${t}' on model '${e.name}'`);const s=Object.keys(a).filter(e=>[i.PROP,i.ELEMENT,i.CHILD].includes(e));if(0===s.length)throw new o.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 a[s[0]]},t.Model.uiListItems=(e=>{const t=r.Metadata.get(e,r.Metadata.key(i.REFLECT,r.DecorationKeys.PROPERTIES));if(t)return Object.keys(t)}).bind(t.Model),e.DecafComponent=m,e.DecafEventHandler=class extends m{constructor(){super()}handle(...e){this.log.for(this.handle).info(`component ${this.componentName} handling ${JSON.stringify(e)}`)}},e.HTML5CheckTypes=E,e.HTML5DateFormat=l,e.HTML5InputTypes=c,e.RenderingEngine=O,e.RenderingError=u,e.UIKeys=i,e.VERSION="##VERSION##",e.ValidatableByAttribute=d,e.ValidatableByType=n,e.escapeHtml=y,e.formatByType=M,e.generateUIModelID=R,e.getUIAttributeKey=f,e.hidden=()=>h(o.OperationKeys.CREATE,o.OperationKeys.READ,o.OperationKeys.UPDATE,o.OperationKeys.DELETE),e.hideOn=h,e.parseToNumber=T,e.parseValueByType=function e(r,a,s){let i;switch(r){case Array.name:i=(Array.isArray(a)?a.map(r=>e(t.ReservedModels.STRING.name.toLowerCase(),r,s)):[a]).join(",");break;case c.NUMBER:i=T(a);break;case c.DATE:{const e=s.format;a&&(""+a).trim().length&&(i=typeof a===t.ReservedModels.NUMBER.name.toLowerCase()?new Date(a):a?e?t.parseDate(e,a):new Date(a):void 0);break}default:i=typeof a===t.ReservedModels.OBJECT.name.toLowerCase()?Array.isArray(a)?a.join(","):JSON.stringify(a):typeof a===t.ReservedModels.BOOLEAN.name.toLowerCase()?a:typeof a===t.ReservedModels.STRING.name.toLowerCase()?y(a):i}if(void 0===i)throw new o.InternalError(`Failed to parse value of type ${r} from ${typeof a} - ${a}`);return i},e.renderedBy=e=>r.apply(r.metadata(r.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,o={},a=!1,s=!1)=>(n,d)=>{const l={tag:t,serialize:s,props:Object.assign({},o||{},{name:e||d},a?{customTypes:[Array.name],multiple:!0}:{multiple:o?.multiple||!1})};r.propMetadata(f(d,i.CHILD),l)(n,d)},e.uielement=(e,t,o=!1)=>(a,s)=>{const n={tag:e,serialize:o,props:Object.assign({},t||{},{name:s})};return r.propMetadata(f(s,i.ELEMENT),n)(a,s)},e.uihandlers=e=>t=>{const o={handlers:e};return r.metadata(r.Metadata.key(i.REFLECT,i.HANDLERS),o)(t)},e.uilayout=(t,r=1,o=1,a={})=>(s,i)=>p(t,Object.assign({..."boolean"==typeof r?{flexMode:r,cols:1}:{flexMode:!1,cols:r},rows:o,...Object.assign({breakpoint:e.UIMediaBreakPoints.LARGE},a)}))(s,i),e.uilayoutprop=(e=1,t=1)=>(o,a)=>{const s={name:a,props:Object.assign({},{row:t,col:e})};r.propMetadata(f(a,i.UILAYOUTPROP),s)(o,a)},e.uilistmodel=(e,t)=>(o,a)=>{const s={item:{tag:e||o.name,props:t}};return r.metadata(r.Metadata.key(i.REFLECT,i.UILISTMODEL),s)(o)},e.uilistprop=(e=void 0,t)=>(o,a)=>{const s={name:e||a,props:t||{}};r.propMetadata(f(a,i.UILISTPROP),s)(o,a)},e.uimodel=p,e.uion=L,e.uionrender=e=>L("render",e),e.uiorder=(e=1)=>(t,o)=>r.propMetadata(f(o,i.ORDER),e)(t,o),e.uipageprop=(e=1)=>(t,o)=>r.propMetadata(f(o,i.PAGE),e)(t,o),e.uiprop=(e=void 0,t=!1)=>(o,a)=>{const s={name:e||a,stringify:t};r.propMetadata(f(a,i.PROP),s)(o,a)},e.uisteppedmodel=(e,t=1,r=!1,o={})=>{let a=[];return"object"==typeof t&&(a=t,t=a.length),p(e,{pages:t,paginated:r,pageTitles:a,props:o})},e.uitablecol=(e,t)=>(o,a)=>{const s={name:a,props:{sequence:e,...t?{valueParserFn:t}:{}}};r.propMetadata(f(a,i.UILISTPROP),s)(o,a)}},"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/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/DecafEventHandler.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","SEQUENCE","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","decProps","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","repository","_repository","log","for","info","componentName","JSON","stringify","submit","decoratorValidation","prototype","bind","uiIsHiddenOn","op","uiListItems","handle","CREATE","READ","UPDATE","DELETE","parseValueByType","fieldProps","trim","parseDate","OBJECT","apply","clazz","serialize","target","customTypes","multiple","colsMode","rows","flexMode","cols","breakpoint","LARGE","propName","page","pages","paginated","pageTitles","sequence","valueParserFn"],"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/DecafEventHandler.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","SEQUENCE","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","decProps","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","repository","_repository","log","for","info","componentName","JSON","stringify","refresh","preview","debug","submit","decoratorValidation","prototype","bind","uiIsHiddenOn","op","uiListItems","handle","CREATE","READ","UPDATE","DELETE","parseValueByType","fieldProps","trim","parseDate","OBJECT","apply","clazz","serialize","target","customTypes","multiple","colsMode","rows","flexMode","cols","breakpoint","LARGE","propName","page","pages","paginated","pageTitles","sequence","valueParserFn"],"mappings":"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"}
@@ -1,2 +1,2 @@
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 f,LessThanOrEqualValidator as T,GreaterThanValidator as O,GreaterThanOrEqualValidator as R,formatDate as L,ReservedModels as A,parseDate as h,Model as m}from"@decaf-ts/decorator-validation";import{metadata as y,Metadata as N,apply as g,DecorationKeys as I,propMetadata as D}from"@decaf-ts/decoration";import{InternalError as P,NotFoundError as S,OperationKeys as M}from"@decaf-ts/db-decorators";import{LoggedClass as b}from"@decaf-ts/logging";var w;(e=>{e.SMALL="small",e.MEDIUM="medium",e.LARGE="large",e.XLARGE="xlarge"})(w||(w={}));const C={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",SEQUENCE:"sequence",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={[C.EMAIL]:t,[C.URL]:r,[C.DATE]:o,[C.PASSWORD]:n},k={[C.REQUIRED]:s,[C.MIN]:i,[C.MAX]:a,[C.STEP]:c,[C.MIN_LENGTH]:E,[C.MAX_LENGTH]:u,[C.PATTERN]:p,[C.EQUALS]:l,[C.DIFF]:d,[C.LESS_THAN]:f,[C.LESS_THAN_OR_EQUAL]:T,[C.GREATER_THAN]:O,[C.GREATER_THAN_OR_EQUAL]:R},H="yyyy-MM-dd",_={BUTTON:"button",CHECKBOX:"checkbox",COLOR:"color",DATE:C.DATE,DATETIME_LOCAL:"datetime-local",EMAIL:C.EMAIL,FILE:"file",HIDDEN:"hidden",IMAGE:"image",MONTH:"month",NUMBER:"number",PASSWORD:C.PASSWORD,RADIO:"radio",RANGE:"range",RESET:"reset",SEARCH:"search",SUBMIT:"submit",TEL:"tel",TEXT:"text",TEXTAREA:"textarea",SELECT:"select",TIME:"time",URL:C.URL,WEEK:"week"},F=[_.CHECKBOX,_.RADIO];function B(e,t){return(r,o)=>{const n={tag:e||r.name,props:t};return y(N.key(C.REFLECT,C.UIMODEL),n)(r)}}function j(e){return g(y(N.key(C.REFLECT,C.RENDERED_BY),e))}function G(e,t){return(r,o)=>{const n={item:{tag:e||r.name,props:t}};return y(N.key(C.REFLECT,C.UILISTMODEL),n)(r)}}function $(e){return t=>{const r={handlers:e};return y(N.key(C.REFLECT,C.HANDLERS),r)(t)}}function v(e,t=1,r=1,o={}){return(n,s)=>B(e,Object.assign({..."boolean"==typeof t?{flexMode:t,cols:1}:{flexMode:!1,cols:t},rows:r,...Object.assign({breakpoint:w.LARGE},o)}))(n,s)}function X(e,t=1,r=!1,o={}){let n=[];return"object"==typeof t&&(n=t,t=n.length),B(e,{pages:t,paginated:r,pageTitles:n,props:o})}class Y extends P{constructor(e){super(e,Y.name)}}function Q(e,t){return N.key(C.REFLECT,I.PROPERTIES,e,t)}function x(e,t,...r){if(e===C.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?h(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 P(`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 J(e){const t={"&amp;":"&","&lt;":"<","&gt;":">"};return(""+e).replace(/&lt;|&gt;|&amp;/g,e=>t[e]||e)}function K(e){let t=Date.now();try{m.pk(e.constructor)&&(t=e[m.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[m.uiModelOf(e.constructor),m.uiListModelOf(e.constructor),m.uiHandlersFor(e.constructor),m.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===C.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 Y(`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=m.uiPropertiesOf(t.constructor);let d,f=u?.props||{},T={};const O=(e,t)=>e?[e,t].join("."):t;if(l){const o=N.get(t.constructor,e.REFLECT)||{};for(const e of l){const n=m.uiDecorationOf(t.constructor,e);let s;try{s=m.uiTypeOf(t.constructor,e)}catch(e){if(!(e instanceof S))throw e}if(m.uiIsHidden(t.constructor,e)&&!m.uiElementOf(t.constructor,e))throw new Y(`@uielement no found in "${e}". It is required to use hiddenOn decorator.`);Object.entries(n).map(([e,t])=>({key:e,props:t})).sort(e=>[C.ELEMENT,C.CHILD].includes(e.key)?-1:1).forEach(n=>{if(!n)throw new Y("No decorator found");switch(n.key){case C.PROP:f[e]=n.props;break;case C.CHILD:{if(!m.isPropertyModel(t,e))throw new Y(`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(m.get(e))}d=d||[];const i=Object.assign({},r||{},{model:o},{inheritProps:n.props,childOf:O(r?.childOf,e)}),a=this.toFieldDefinition(s||o,i,!1),{inheritProps:c}=i;c&&(a.props=Object.assign({},a.props,c.props||{})),d.push(a);break}case C.UILISTPROP:{T=T||{};const t=n.props;t.name&&(T[t.name]="object"==typeof t?.props&&C.SEQUENCE in t.props?t.props:e);const o=Object.assign({},a.props?.item||{},u?.props||{},t?.props||{},r);f={tag:u?.tag||o.render||"",props:Object.assign({},f?.props,{mapper:T},o)};break}case C.EVENTS:case C.HIDDEN:case C.PAGE:case C.ORDER:case C.UILAYOUTPROP:case C.ELEMENT:{d=d||[];const s=n.props,i=Object.assign({},f?.props,s.props||{},s?.props?.name?{path:O(r?.childOf,s.props.name),childOf:void 0}:{},r,{name:s.props?.name||e});if(n.key===C.ELEMENT){const r={tag:s.tag||f?.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[C.FORMAT]=e.props.format||H),r.props[C.TYPE]=e.key);if(!r.props[C.TYPE]){const o=N.type(t.constructor,e).name;r.props[C.TYPE]=this.translate(o.toLowerCase(),!0)}r.props.value=x(r.props[C.TYPE],t[e],r.props[C.FORMAT]),d.push(r)}else{const t=d.find(t=>t.props?.name===e||[C.UILAYOUTPROP,C.PAGE,C.EVENTS].includes(n.key)&&(t.props?.childOf===e||t.props?.childOf?.endsWith("."+e)));if(t)if(n.key!==C.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 Y("Invalid key: "+n.key)}})}}r=Object.assign({},E,r,{handlers:p||{}});const R=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(R)?void 0:e});const L={tag:c,item:f,props:r,children:d};return o&&(L.rendererId=K(t)),L}static register(e){if(e.flavour in this.cache)throw new P(`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 P(`Rendering engine under ${e} does not exist`);return this.getOrBoot(this.cache[e])}static render(e,...t){if(!m.get(e.constructor.name)&&!m.fromObject(e))throw new P("No model registered found");const r=m.renderedBy(e.constructor);return q.get(r).render(e,...t)}}function Z(...e){return(t,r)=>D(Q(r,C.HIDDEN),e)(t,r)}function ee(e=1){return(t,r)=>D(Q(r,C.ORDER),e)(t,r)}function te(){return Z(M.CREATE,M.READ,M.UPDATE,M.DELETE)}function re(e,t,r=!1){return(o,n)=>{const s={tag:e,serialize:r,props:Object.assign({},t||{},{name:n})};return D(Q(n,C.ELEMENT),s)(o,n)}}function oe(e=void 0,t=!1){return(r,o)=>{const n={name:e||o,stringify:t};D(Q(o,C.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})};D(Q(i,C.CHILD),a)(s,i)}}function se(e=void 0,t){return(r,o)=>{const n={name:e||o,props:t||{}};D(Q(o,C.UILISTPROP),n)(r,o)}}function ie(e=1,t=1){return(r,o)=>{const n={name:o,props:Object.assign({},{row:t,col:e})};D(Q(o,C.UILAYOUTPROP),n)(r,o)}}function ae(e=1){return(t,r)=>D(Q(r,C.PAGE),e)(t,r)}function ce(e,t){return(r,o)=>{D(Q(o,C.EVENTS),{[e]:t})(r,o)}}function Ee(e){return ce("render",e)}function ue(e,t){return(r,o)=>{const n={name:o,props:{sequence:e,...t?{valueParserFn:t}:{}}};D(Q(o,C.UILISTPROP),n)(r,o)}}class pe extends b{constructor(){super(),this.enableDarkMode=!0,this.isDarkMode=!1,this.item={tag:""},this.props={},this.route="",this.borders=!1,this.OperationKeys=M,this.initialized=!1,this.handlers={}}get repository(){return this._repository}set repository(e){this._repository=e}async render(...e){this.log.for(this.render).info(`render for ${this.componentName} with ${JSON.stringify(e)}`)}async initialize(...e){this.initialized=!0}async submit(...e){this.log.for(this.submit).info(`submit for ${this.componentName} with ${JSON.stringify(e)}`)}async translate(...e){this.log.for(this.translate).info(`translate for ${this.componentName} with ${JSON.stringify(e)}`)}}class le extends pe{constructor(){super()}handle(...e){this.log.for(this.handle).info(`component ${this.componentName} handling ${JSON.stringify(e)}`)}}m.prototype.render=function(...e){return q.render(this,...e)},m.renderedBy=(e=>N.get(e,N.key(C.REFLECT,C.RENDERED_BY))).bind(m),m.uiPropertiesOf=(e=>{const t=N.get(e,N.key(C.REFLECT,I.PROPERTIES));if(t)return Object.keys(t)}).bind(m),m.uiDecorationOf=(e,t,r)=>{const o=N.get(e,N.key(C.REFLECT,I.PROPERTIES,t));if(o)return r?o[r]:o},m.uiModelOf=e=>N.get(e,N.key(C.REFLECT,C.UIMODEL)),m.uiElementOf=(e,t)=>N.get(e,Q(t,C.ELEMENT)),m.uiListModelOf=e=>N.get(e,N.key(C.REFLECT,C.UILISTMODEL)),m.uiHandlersFor=e=>N.get(e,N.key(C.REFLECT,C.HANDLERS)),m.uiLayoutOf=e=>N.get(e,N.key(C.REFLECT,C.UILAYOUT)),m.uiIsHidden=(e,t)=>!!N.get(e,Q(t,C.HIDDEN)),m.uiIsHiddenOn=(e,t,r)=>{const o=N.get(e,Q(t,C.HIDDEN));return!!o&&(r?o.includes(r):o)},m.uiTypeOf=(e,t)=>{const r=N.get(e,N.key(C.REFLECT,I.PROPERTIES,t));if(!r)throw new S(`No metadata found for property '${t}' on model '${e.name}'`);const o=Object.keys(r).filter(e=>[C.PROP,C.ELEMENT,C.CHILD].includes(e));if(0===o.length)throw new S(`No UI type metadata found for property '${t}' on model '${e.name}'`);if(o.length>1)throw new Y("Only one type of decoration is allowed. Please choose between @uiprop, @uichild or @uielement");return r[o[0]]},m.uiListItems=(e=>{const t=N.get(e,N.key(C.REFLECT,I.PROPERTIES));if(t)return Object.keys(t)}).bind(m);const de="##VERSION##";export{pe as DecafComponent,le as DecafEventHandler,F as HTML5CheckTypes,H as HTML5DateFormat,_ as HTML5InputTypes,q as RenderingEngine,Y as RenderingError,C as UIKeys,w as UIMediaBreakPoints,de as VERSION,k as ValidatableByAttribute,U as ValidatableByType,z as escapeHtml,x as formatByType,K as generateUIModelID,Q as getUIAttributeKey,te as hidden,Z as hideOn,W as parseToNumber,V as parseValueByType,j as renderedBy,J as revertHtml,ne as uichild,re as uielement,$ as uihandlers,v as uilayout,ie as uilayoutprop,G as uilistmodel,se as uilistprop,B as uimodel,ce as uion,Ee as uionrender,ee as uiorder,ae as uipageprop,oe as uiprop,X as uisteppedmodel,ue as uitablecol};
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 f,LessThanValidator as d,LessThanOrEqualValidator as T,GreaterThanValidator as R,GreaterThanOrEqualValidator as O,formatDate as L,ReservedModels as h,parseDate as A,Model as m}from"@decaf-ts/decorator-validation";import{metadata as y,Metadata as g,apply as N,DecorationKeys as I,propMetadata as D}from"@decaf-ts/decoration";import{InternalError as P,NotFoundError as S,OperationKeys as M}from"@decaf-ts/db-decorators";import{LoggedClass as b}from"@decaf-ts/logging";var w;(e=>{e.SMALL="small",e.MEDIUM="medium",e.LARGE="large",e.XLARGE="xlarge"})(w||(w={}));const C={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",SEQUENCE:"sequence",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={[C.EMAIL]:t,[C.URL]:r,[C.DATE]:o,[C.PASSWORD]:n},k={[C.REQUIRED]:s,[C.MIN]:i,[C.MAX]:a,[C.STEP]:c,[C.MIN_LENGTH]:E,[C.MAX_LENGTH]:u,[C.PATTERN]:p,[C.EQUALS]:l,[C.DIFF]:f,[C.LESS_THAN]:d,[C.LESS_THAN_OR_EQUAL]:T,[C.GREATER_THAN]:R,[C.GREATER_THAN_OR_EQUAL]:O},H="yyyy-MM-dd",_={BUTTON:"button",CHECKBOX:"checkbox",COLOR:"color",DATE:C.DATE,DATETIME_LOCAL:"datetime-local",EMAIL:C.EMAIL,FILE:"file",HIDDEN:"hidden",IMAGE:"image",MONTH:"month",NUMBER:"number",PASSWORD:C.PASSWORD,RADIO:"radio",RANGE:"range",RESET:"reset",SEARCH:"search",SUBMIT:"submit",TEL:"tel",TEXT:"text",TEXTAREA:"textarea",SELECT:"select",TIME:"time",URL:C.URL,WEEK:"week"},F=[_.CHECKBOX,_.RADIO];function B(e,t){return(r,o)=>{const n={tag:e||r.name,props:t};return y(g.key(C.REFLECT,C.UIMODEL),n)(r)}}function j(e){return N(y(g.key(C.REFLECT,C.RENDERED_BY),e))}function G(e,t){return(r,o)=>{const n={item:{tag:e||r.name,props:t}};return y(g.key(C.REFLECT,C.UILISTMODEL),n)(r)}}function $(e){return t=>{const r={handlers:e};return y(g.key(C.REFLECT,C.HANDLERS),r)(t)}}function v(e,t=1,r=1,o={}){return(n,s)=>B(e,Object.assign({..."boolean"==typeof t?{flexMode:t,cols:1}:{flexMode:!1,cols:t},rows:r,...Object.assign({breakpoint:w.LARGE},o)}))(n,s)}function X(e,t=1,r=!1,o={}){let n=[];return"object"==typeof t&&(n=t,t=n.length),B(e,{pages:t,paginated:r,pageTitles:n,props:o})}class Y extends P{constructor(e){super(e,Y.name)}}function Q(e,t){return g.key(C.REFLECT,I.PROPERTIES,e,t)}function x(e,t,...r){if(e===C.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(h.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===h.NUMBER.name.toLowerCase()?new Date(t):t?e?A(e,t):new Date(t):void 0);break}default:o=typeof t===h.OBJECT.name.toLowerCase()?Array.isArray(t)?t.join(","):JSON.stringify(t):typeof t===h.BOOLEAN.name.toLowerCase()?t:typeof t===h.STRING.name.toLowerCase()?z(t):o}if(void 0===o)throw new P(`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 J(e){const t={"&amp;":"&","&lt;":"<","&gt;":">"};return(""+e).replace(/&lt;|&gt;|&amp;/g,e=>t[e]||e)}function K(e){let t=Date.now();try{m.pk(e.constructor)&&(t=e[m.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 h.STRING.name.toLowerCase():return _.TEXT;case h.NUMBER.name.toLowerCase():case h.BIGINT.name.toLowerCase():return _.NUMBER;case h.BOOLEAN.name.toLowerCase():return _.CHECKBOX;case h.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 h.STRING.name.toLowerCase();case _.NUMBER:return h.NUMBER.name.toLowerCase();case _.CHECKBOX:return h.BOOLEAN.name.toLowerCase();case _.DATE:case _.DATETIME_LOCAL:case _.TIME:return h.DATE.name.toLowerCase()}return e}getClassDecoratorsMetadata(e){return[m.uiModelOf(e.constructor),m.uiListModelOf(e.constructor),m.uiHandlersFor(e.constructor),m.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===C.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 Y(`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=m.uiPropertiesOf(t.constructor);let f,d=u?.props||{},T={};const R=(e,t)=>e?[e,t].join("."):t;if(l){const o=g.get(t.constructor,e.REFLECT)||{};for(const e of l){const n=m.uiDecorationOf(t.constructor,e);let s;try{s=m.uiTypeOf(t.constructor,e)}catch(e){if(!(e instanceof S))throw e}if(m.uiIsHidden(t.constructor,e)&&!m.uiElementOf(t.constructor,e))throw new Y(`@uielement no found in "${e}". It is required to use hiddenOn decorator.`);Object.entries(n).map(([e,t])=>({key:e,props:t})).sort(e=>[C.ELEMENT,C.CHILD].includes(e.key)?-1:1).forEach(n=>{if(!n)throw new Y("No decorator found");switch(n.key){case C.PROP:d[e]=n.props;break;case C.CHILD:{if(!m.isPropertyModel(t,e))throw new Y(`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(m.get(e))}f=f||[];const i=Object.assign({},r||{},{model:o},{inheritProps:n.props,childOf:R(r?.childOf,e)}),a=this.toFieldDefinition(s||o,i,!1),{inheritProps:c}=i;c&&(a.props=Object.assign({},a.props,c.props||{})),f.push(a);break}case C.UILISTPROP:{T=T||{};const t=n.props;t.name&&(T[t.name]="object"==typeof t?.props&&C.SEQUENCE in t.props?t.props:e);const o=Object.assign({},a.props?.item||{},u?.props||{},t?.props||{},r);d={tag:u?.tag||o.render||"",props:Object.assign({},d?.props,{mapper:T},o)};break}case C.EVENTS:case C.HIDDEN:case C.PAGE:case C.ORDER:case C.UILAYOUTPROP:case C.ELEMENT:{f=f||[];const s=n.props,i=Object.assign({},d?.props,s.props||{},s?.props?.name?{path:R(r?.childOf,s.props.name),childOf:void 0}:{},r,{name:s.props?.name||e});if(n.key===C.ELEMENT){const r={tag:s.tag||d?.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[C.FORMAT]=e.props.format||H),r.props[C.TYPE]=e.key);if(!r.props[C.TYPE]){const o=g.type(t.constructor,e).name;r.props[C.TYPE]=this.translate(o.toLowerCase(),!0)}r.props.value=x(r.props[C.TYPE],t[e],r.props[C.FORMAT]),f.push(r)}else{const t=f.find(t=>t.props?.name===e||[C.UILAYOUTPROP,C.PAGE,C.EVENTS].includes(n.key)&&(t.props?.childOf===e||t.props?.childOf?.endsWith("."+e)));if(t)if(n.key!==C.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 Y("Invalid key: "+n.key)}})}}r=Object.assign({},E,r,{handlers:p||{}});const O=r?.operation;f=f?.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:d,props:r,children:f};return o&&(L.rendererId=K(t)),L}static register(e){if(e.flavour in this.cache)throw new P(`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 P(`Rendering engine under ${e} does not exist`);return this.getOrBoot(this.cache[e])}static render(e,...t){if(!m.get(e.constructor.name)&&!m.fromObject(e))throw new P("No model registered found");const r=m.renderedBy(e.constructor);return q.get(r).render(e,...t)}}function Z(...e){return(t,r)=>D(Q(r,C.HIDDEN),e)(t,r)}function ee(e=1){return(t,r)=>D(Q(r,C.ORDER),e)(t,r)}function te(){return Z(M.CREATE,M.READ,M.UPDATE,M.DELETE)}function re(e,t,r=!1){return(o,n)=>{const s={tag:e,serialize:r,props:Object.assign({},t||{},{name:n})};return D(Q(n,C.ELEMENT),s)(o,n)}}function oe(e=void 0,t=!1){return(r,o)=>{const n={name:e||o,stringify:t};D(Q(o,C.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})};D(Q(i,C.CHILD),a)(s,i)}}function se(e=void 0,t){return(r,o)=>{const n={name:e||o,props:t||{}};D(Q(o,C.UILISTPROP),n)(r,o)}}function ie(e=1,t=1){return(r,o)=>{const n={name:o,props:Object.assign({},{row:t,col:e})};D(Q(o,C.UILAYOUTPROP),n)(r,o)}}function ae(e=1){return(t,r)=>D(Q(r,C.PAGE),e)(t,r)}function ce(e,t){return(r,o)=>{D(Q(o,C.EVENTS),{[e]:t})(r,o)}}function Ee(e){return ce("render",e)}function ue(e,t){return(r,o)=>{const n={name:o,props:{sequence:e,...t?{valueParserFn:t}:{}}};D(Q(o,C.UILISTPROP),n)(r,o)}}class pe extends b{constructor(){super(),this.enableDarkMode=!0,this.isDarkMode=!1,this.item={tag:""},this.props={},this.route="",this.borders=!1,this.OperationKeys=M,this.initialized=!1,this.handlers={}}get repository(){return this._repository}set repository(e){this._repository=e}async render(...e){this.log.for(this.render).info(`render for ${this.componentName} with ${JSON.stringify(e)}`)}async refresh(...e){this.log.for(this.refresh).info("Refresh called with args: "+e)}async initialize(...e){this.initialized=!0}async translate(...e){this.log.for(this.translate).info(`translate for ${this.componentName} with ${JSON.stringify(e)}`)}async preview(...e){this.log.for(this.preview).debug("Preview called with args: "+e)}async submit(...e){this.log.for(this.submit).info(`submit for ${this.componentName} with ${JSON.stringify(e)}`)}}class le extends pe{constructor(){super()}handle(...e){this.log.for(this.handle).info(`component ${this.componentName} handling ${JSON.stringify(e)}`)}}m.prototype.render=function(...e){return q.render(this,...e)},m.renderedBy=(e=>g.get(e,g.key(C.REFLECT,C.RENDERED_BY))).bind(m),m.uiPropertiesOf=(e=>{const t=g.get(e,g.key(C.REFLECT,I.PROPERTIES));if(t)return Object.keys(t)}).bind(m),m.uiDecorationOf=(e,t,r)=>{const o=g.get(e,g.key(C.REFLECT,I.PROPERTIES,t));if(o)return r?o[r]:o},m.uiModelOf=e=>g.get(e,g.key(C.REFLECT,C.UIMODEL)),m.uiElementOf=(e,t)=>g.get(e,Q(t,C.ELEMENT)),m.uiListModelOf=e=>g.get(e,g.key(C.REFLECT,C.UILISTMODEL)),m.uiHandlersFor=e=>g.get(e,g.key(C.REFLECT,C.HANDLERS)),m.uiLayoutOf=e=>g.get(e,g.key(C.REFLECT,C.UILAYOUT)),m.uiIsHidden=(e,t)=>!!g.get(e,Q(t,C.HIDDEN)),m.uiIsHiddenOn=(e,t,r)=>{const o=g.get(e,Q(t,C.HIDDEN));return!!o&&(r?o.includes(r):o)},m.uiTypeOf=(e,t)=>{const r=g.get(e,g.key(C.REFLECT,I.PROPERTIES,t));if(!r)throw new S(`No metadata found for property '${t}' on model '${e.name}'`);const o=Object.keys(r).filter(e=>[C.PROP,C.ELEMENT,C.CHILD].includes(e));if(0===o.length)throw new S(`No UI type metadata found for property '${t}' on model '${e.name}'`);if(o.length>1)throw new Y("Only one type of decoration is allowed. Please choose between @uiprop, @uichild or @uielement");return r[o[0]]},m.uiListItems=(e=>{const t=g.get(e,g.key(C.REFLECT,I.PROPERTIES));if(t)return Object.keys(t)}).bind(m);const fe="##VERSION##";export{pe as DecafComponent,le as DecafEventHandler,F as HTML5CheckTypes,H as HTML5DateFormat,_ as HTML5InputTypes,q as RenderingEngine,Y as RenderingError,C as UIKeys,w as UIMediaBreakPoints,fe as VERSION,k as ValidatableByAttribute,U as ValidatableByType,z as escapeHtml,x as formatByType,K as generateUIModelID,Q as getUIAttributeKey,te as hidden,Z as hideOn,W as parseToNumber,V as parseValueByType,j as renderedBy,J as revertHtml,ne as uichild,re as uielement,$ as uihandlers,v as uilayout,ie as uilayoutprop,G as uilistmodel,se as uilistprop,B as uimodel,ce as uion,Ee as uionrender,ee as uiorder,ae as uipageprop,oe as uiprop,X as uisteppedmodel,ue as uitablecol};
2
2
  //# sourceMappingURL=ui-decorators.js.map
@@ -1 +1 @@
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/DecafComponent.ts","../src/ui/DecafEventHandler.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","SEQUENCE","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","decProps","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","uitablecol","sequence","valueParserFn","DecafComponent","LoggedClass","enableDarkMode","isDarkMode","route","borders","repository","_repository","log","for","info","componentName","submit","DecafEventHandler","handle","prototype","bind","uiIsHiddenOn","op","uiListItems","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/DecafComponent.ts","../src/ui/DecafEventHandler.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","SEQUENCE","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","decProps","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","uitablecol","sequence","valueParserFn","DecafComponent","LoggedClass","enableDarkMode","isDarkMode","route","borders","repository","_repository","log","for","info","componentName","refresh","preview","debug","submit","DecafEventHandler","handle","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.6.6";
16
+ export declare const VERSION = "0.6.7";
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.6.6";
16
+ export const VERSION = "0.6.7";
17
17
  //# sourceMappingURL=index.js.map
@@ -1,8 +1,32 @@
1
- import { LoggedClass } from '@decaf-ts/logging';
2
- import { UIFunctionLike } from './types';
3
- import { Model } from '@decaf-ts/decorator-validation';
4
- import { IRepository, OperationKeys } from '@decaf-ts/db-decorators';
5
- export declare abstract class DecafComponent extends LoggedClass {
1
+ import { LoggedClass } from "@decaf-ts/logging";
2
+ import { UIFunctionLike } from "./types";
3
+ import { Model } from "@decaf-ts/decorator-validation";
4
+ import { IRepository, OperationKeys } from "@decaf-ts/db-decorators";
5
+ type PrimaryKeyType = string | number | bigint;
6
+ /**
7
+ * Base class for all Decaf UI components, providing common state management,
8
+ * logging, localization, navigation hooks, CRUD context metadata, and
9
+ * repository integration used by higher-level decorators and renderers.
10
+ */
11
+ export declare abstract class DecafComponent<M extends Model> extends LoggedClass {
12
+ /**
13
+ * @description Data model or model name for component operations.
14
+ * @summary The data model that this component will use for CRUD operations. This can be provided
15
+ * as a Model instance, a model constructor, or a string representing the model's registered name.
16
+ * When set, this property provides the component with access to the model's schema, validation rules,
17
+ * and metadata needed for rendering and data operations.
18
+ * @type {M | Model | string | undefined}
19
+ */
20
+ model: M | Model | string | undefined;
21
+ /**
22
+ * @description Primary key value of the current model instance.
23
+ * @summary Specifies the primary key value for the current model record being displayed or
24
+ * manipulated by the component. This identifier is used for CRUD operations that target
25
+ * specific records, such as read, update, and delete operations. The value corresponds to
26
+ * the field designated as the primary key in the model definition.
27
+ * @type {PrimaryKeyType | PrimaryKeyType[]}
28
+ */
29
+ modelId?: PrimaryKeyType | PrimaryKeyType[];
6
30
  /**
7
31
  * @description The CRUD operation type to be performed on the model.
8
32
  * @summary Specifies which operation (Create, Read, Update, Delete) this component instance
@@ -20,7 +44,6 @@ export declare abstract class DecafComponent extends LoggedClass {
20
44
  * handles route parameters, and manages the browser's navigation history.
21
45
  * @protected
22
46
  * @type {Router}
23
- * @memberOf module:lib/engine/NgxComponentDirective
24
47
  */
25
48
  router?: any;
26
49
  /**
@@ -31,7 +54,7 @@ export declare abstract class DecafComponent extends LoggedClass {
31
54
  * identifier that helps distinguish between multiple instances of the same component type.
32
55
  * @type {string}
33
56
  */
34
- protected name: string;
57
+ name: string;
35
58
  /**
36
59
  * @description Parent component identifier for hierarchical component relationships.
37
60
  * @summary Specifies the identifier of the parent component in a hierarchical component structure.
@@ -40,43 +63,24 @@ export declare abstract class DecafComponent extends LoggedClass {
40
63
  * component dependencies and establish component hierarchies for rendering and event propagation.
41
64
  * @type {string | undefined}
42
65
  */
43
- protected childOf: string | undefined;
66
+ childOf: string | undefined;
44
67
  /**
45
68
  * @description Unique identifier for the component instance.
46
69
  * @summary A unique identifier automatically generated for each component instance.
47
70
  * This UID is used for DOM element identification, component tracking, and debugging purposes.
48
71
  * By default, it generates a random 16-character value, but it can be explicitly set via input.
49
- * @type {string | number}
50
- * @default generateRandomValue(16)
51
- */
52
- protected uid?: string | number;
53
- /**
54
- * @description Data model or model name for component operations.
55
- * @summary The data model that this component will use for CRUD operations. This can be provided
56
- * as a Model instance, a model constructor, or a string representing the model's registered name.
57
- * When set, this property provides the component with access to the model's schema, validation rules,
58
- * and metadata needed for rendering and data operations.
59
- * @type {Model | string | undefined}
72
+ * @type {string}
60
73
  */
61
- protected model: Model | string | undefined;
74
+ uid?: PrimaryKeyType;
62
75
  /**
63
76
  * @description Primary key field name for the data model.
64
77
  * @summary Specifies which field in the model should be used as the primary key.
65
78
  * This is typically used for identifying unique records in operations like update and delete.
66
79
  * If not explicitly set, it defaults to the repository's configured primary key or 'id'.
67
- * @type {string}
80
+ * @type {keyof M | string}
68
81
  * @default 'id'
69
82
  */
70
- pk: string;
71
- /**
72
- * @description Primary key value of the current model instance.
73
- * @summary Specifies the primary key value for the current model record being displayed or
74
- * manipulated by the component. This identifier is used for CRUD operations that target
75
- * specific records, such as read, update, and delete operations. The value corresponds to
76
- * the field designated as the primary key in the model definition.
77
- * @type {string | number | bigint | string[] | number[] | bigint[]}
78
- */
79
- protected modelId?: string | number | bigint | string[] | number[] | bigint[];
83
+ pk: keyof M | string;
80
84
  /**
81
85
  * @description Flag to enable or disable dark mode support for the component.
82
86
  * @summary When enabled, the component will automatically detect the system's dark mode
@@ -171,7 +175,7 @@ export declare abstract class DecafComponent extends LoggedClass {
171
175
  * @type {any}
172
176
  * @public
173
177
  */
174
- protected value?: any;
178
+ value?: any;
175
179
  /**
176
180
  * @description Reference to CRUD operation constants for template usage.
177
181
  * @summary Exposes the OperationKeys enum to the component template, enabling
@@ -192,18 +196,17 @@ export declare abstract class DecafComponent extends LoggedClass {
192
196
  * popstate events, or supporting custom navigation logic.
193
197
  *
194
198
  */
195
- protected location: any;
199
+ location: any;
196
200
  /**
197
201
  * @description Repository instance for data layer operations.
198
202
  * @summary Provides a connection to the data layer for retrieving and manipulating data.
199
203
  * This is an instance of the DecafRepository class, initialized lazily in the repository getter.
200
204
  * The repository is used to perform CRUD (Create, Read, Update, Delete) operations on the
201
205
  * data model and provides methods for querying and filtering data based on specific criteria.
202
- * @type {DecafRepository<Model>}
203
- * @private
204
- * @memberOf module:lib/engine/NgxComponentDirective
206
+ * @type {IRepository<M>}
207
+ * @protected
205
208
  */
206
- protected _repository?: IRepository<Model>;
209
+ protected _repository?: IRepository<M>;
207
210
  /**
208
211
  * @description Initialization status flag for the component.
209
212
  * @summary Tracks whether the component has completed its initialization process.
@@ -213,12 +216,13 @@ export declare abstract class DecafComponent extends LoggedClass {
213
216
  * @default false
214
217
  */
215
218
  protected initialized: boolean;
216
- protected events?: Record<keyof Pick<DecafComponent, 'render' | 'initialize'>, UIFunctionLike>;
219
+ protected events?: Record<keyof Pick<DecafComponent<M>, "render" | "initialize">, UIFunctionLike>;
217
220
  protected handlers: Record<string, UIFunctionLike>;
218
221
  constructor();
219
- get repository(): IRepository<Model> | undefined;
220
- set repository(repository: IRepository<Model>);
222
+ get repository(): IRepository<M>;
223
+ set repository(repository: IRepository<M>);
221
224
  render(...args: unknown[]): Promise<void>;
225
+ refresh(...args: unknown[]): Promise<void>;
222
226
  /**
223
227
  * Asynchronously initializes the component with the provided arguments.
224
228
  * This method sets the `initialized` property to `true` once the initialization is complete.
@@ -227,13 +231,6 @@ export declare abstract class DecafComponent extends LoggedClass {
227
231
  * @returns A promise that resolves when the initialization is complete.
228
232
  */
229
233
  initialize(...args: unknown[]): Promise<void>;
230
- /**
231
- * Submits data or performs an action associated with the component.
232
- *
233
- * @param args - A variable number of arguments of any type to be passed to the submit operation.
234
- * @returns A promise that resolves with the result of the submit operation.
235
- */
236
- submit(...args: unknown[]): Promise<any>;
237
234
  /**
238
235
  * Translates content based on the provided arguments.
239
236
  * Logs the translation request with the component name and arguments.
@@ -242,4 +239,13 @@ export declare abstract class DecafComponent extends LoggedClass {
242
239
  * @returns A promise that resolves with the translation result.
243
240
  */
244
241
  protected translate(...args: unknown[]): Promise<any>;
242
+ preview(...args: unknown[]): Promise<void>;
243
+ /**
244
+ * Submits data or performs an action associated with the component.
245
+ *
246
+ * @param args - A variable number of arguments of any type to be passed to the submit operation.
247
+ * @returns A promise that resolves with the result of the submit operation.
248
+ */
249
+ submit(...args: unknown[]): Promise<any>;
245
250
  }
251
+ export {};
@@ -1,5 +1,10 @@
1
- import { LoggedClass } from '@decaf-ts/logging';
2
- import { OperationKeys } from '@decaf-ts/db-decorators';
1
+ import { LoggedClass } from "@decaf-ts/logging";
2
+ import { OperationKeys } from "@decaf-ts/db-decorators";
3
+ /**
4
+ * Base class for all Decaf UI components, providing common state management,
5
+ * logging, localization, navigation hooks, CRUD context metadata, and
6
+ * repository integration used by higher-level decorators and renderers.
7
+ */
3
8
  export class DecafComponent extends LoggedClass {
4
9
  constructor() {
5
10
  super();
@@ -35,7 +40,7 @@ export class DecafComponent extends LoggedClass {
35
40
  * @type {Record<string, unknown>}
36
41
  * @default {tag: ""}
37
42
  */
38
- this.item = { tag: '' };
43
+ this.item = { tag: "" };
39
44
  /**
40
45
  * @description Dynamic properties configuration for runtime customization.
41
46
  * @summary Contains key-value pairs of dynamic properties that can be applied to the component
@@ -93,7 +98,12 @@ export class DecafComponent extends LoggedClass {
93
98
  this._repository = repository;
94
99
  }
95
100
  async render(...args) {
96
- this.log.for(this.render).info(`render for ${this.componentName} with ${JSON.stringify(args)}`);
101
+ this.log
102
+ .for(this.render)
103
+ .info(`render for ${this.componentName} with ${JSON.stringify(args)}`);
104
+ }
105
+ async refresh(...args) {
106
+ this.log.for(this.refresh).info(`Refresh called with args: ${args}`);
97
107
  }
98
108
  /**
99
109
  * Asynchronously initializes the component with the provided arguments.
@@ -106,15 +116,6 @@ export class DecafComponent extends LoggedClass {
106
116
  async initialize(...args) {
107
117
  this.initialized = true;
108
118
  }
109
- /**
110
- * Submits data or performs an action associated with the component.
111
- *
112
- * @param args - A variable number of arguments of any type to be passed to the submit operation.
113
- * @returns A promise that resolves with the result of the submit operation.
114
- */
115
- async submit(...args) {
116
- this.log.for(this.submit).info(`submit for ${this.componentName} with ${JSON.stringify(args)}`);
117
- }
118
119
  /**
119
120
  * Translates content based on the provided arguments.
120
121
  * Logs the translation request with the component name and arguments.
@@ -123,7 +124,31 @@ export class DecafComponent extends LoggedClass {
123
124
  * @returns A promise that resolves with the translation result.
124
125
  */
125
126
  async translate(...args) {
126
- this.log.for(this.translate).info(`translate for ${this.componentName} with ${JSON.stringify(args)}`);
127
+ this.log
128
+ .for(this.translate)
129
+ .info(`translate for ${this.componentName} with ${JSON.stringify(args)}`);
130
+ }
131
+ async preview(...args) {
132
+ this.log.for(this.preview).debug(`Preview called with args: ${args}`);
133
+ }
134
+ // async process(...args: unknown[]): Promise<any> {
135
+ // this.log.for(this.process).debug(`Process called with args: ${args}`);
136
+ // }
137
+ // async batchOperation(...args: unknown[]): Promise<any> {
138
+ // this.log
139
+ // .for(this.batchOperation)
140
+ // .debug(`BatchOperation called with args: ${args}`);
141
+ // }
142
+ /**
143
+ * Submits data or performs an action associated with the component.
144
+ *
145
+ * @param args - A variable number of arguments of any type to be passed to the submit operation.
146
+ * @returns A promise that resolves with the result of the submit operation.
147
+ */
148
+ async submit(...args) {
149
+ this.log
150
+ .for(this.submit)
151
+ .info(`submit for ${this.componentName} with ${JSON.stringify(args)}`);
127
152
  }
128
153
  }
129
154
  //# sourceMappingURL=DecafComponent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DecafComponent.js","sourceRoot":"","sources":["../../../src/ui/DecafComponent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,EAAe,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAGrE,MAAM,OAAgB,cAAe,SAAQ,WAAW;IA8OtD;QACE,KAAK,EAAE,CAAC;QA3JV;;;;;;;;;WASG;QACO,mBAAc,GAAY,IAAI,CAAC;QAEzC;;;;;;;;;WASG;QACO,eAAU,GAAY,KAAK,CAAC;QAYtC;;;;;;;;;WASG;QACH,SAAI,GAA4B,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;QAE5C;;;;;;;;;WASG;QACH,UAAK,GAA4B,EAAE,CAAC;QAEpC;;;;;;;WAOG;QACH,UAAK,GAAY,EAAE,CAAC;QAEpB;;;;;;;WAOG;QACH,YAAO,GAAY,KAAK,CAAC;QA6BzB;;;;;;;;WAQG;QACgB,kBAAa,GAAG,aAAa,CAAC;QA0BjD;;;;;;;WAOG;QACO,gBAAW,GAAY,KAAK,CAAC;QAI7B,aAAQ,GAAmC,EAAE,CAAC;IAIxD,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,IAAI,UAAU,CAAC,UAA8B;QAC3C,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAG,IAAe;QAC7B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,aAAa,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClG,CAAC;IAED;;;;;;OAMG;IACH,6DAA6D;IAC7D,KAAK,CAAC,UAAU,CAAC,GAAG,IAAe;QACjC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CAAC,GAAG,IAAe;QAC7B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,aAAa,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClG,CAAC;IAED;;;;;;OAMG;IACO,KAAK,CAAC,SAAS,CAAC,GAAG,IAAe;QAC1C,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,aAAa,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxG,CAAC;CAEF"}
1
+ {"version":3,"file":"DecafComponent.js","sourceRoot":"","sources":["../../../src/ui/DecafComponent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,EAAe,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAIrE;;;;GAIG;AACH,MAAM,OAAgB,cAAgC,SAAQ,WAAW;IA6OvE;QACE,KAAK,EAAE,CAAC;QA7JV;;;;;;;;;WASG;QACO,mBAAc,GAAY,IAAI,CAAC;QAEzC;;;;;;;;;WASG;QACO,eAAU,GAAY,KAAK,CAAC;QAYtC;;;;;;;;;WASG;QACH,SAAI,GAA4B,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;QAE5C;;;;;;;;;WASG;QACH,UAAK,GAA4B,EAAE,CAAC;QAEpC;;;;;;;WAOG;QACH,UAAK,GAAY,EAAE,CAAC;QAEpB;;;;;;;WAOG;QACH,YAAO,GAAY,KAAK,CAAC;QA6BzB;;;;;;;;WAQG;QACgB,kBAAa,GAAG,aAAa,CAAC;QAyBjD;;;;;;;WAOG;QACO,gBAAW,GAAY,KAAK,CAAC;QAO7B,aAAQ,GAAmC,EAAE,CAAC;IAIxD,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAA6B,CAAC;IAC5C,CAAC;IAED,IAAI,UAAU,CAAC,UAA0B;QACvC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAG,IAAe;QAC7B,IAAI,CAAC,GAAG;aACL,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;aAChB,IAAI,CAAC,cAAc,IAAI,CAAC,aAAa,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAG,IAAe;QAC9B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,6BAA6B,IAAI,EAAE,CAAC,CAAC;IACvE,CAAC;IAED;;;;;;OAMG;IACH,6DAA6D;IAC7D,KAAK,CAAC,UAAU,CAAC,GAAG,IAAe;QACjC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED;;;;;;OAMG;IACO,KAAK,CAAC,SAAS,CAAC,GAAG,IAAe;QAC1C,IAAI,CAAC,GAAG;aACL,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;aACnB,IAAI,CAAC,iBAAiB,IAAI,CAAC,aAAa,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAG,IAAe;QAC9B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,6BAA6B,IAAI,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,oDAAoD;IACpD,2EAA2E;IAC3E,IAAI;IAEJ,2DAA2D;IAC3D,aAAa;IACb,gCAAgC;IAChC,0DAA0D;IAC1D,IAAI;IAEJ;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CAAC,GAAG,IAAe;QAC7B,IAAI,CAAC,GAAG;aACL,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;aAChB,IAAI,CAAC,cAAc,IAAI,CAAC,aAAa,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;CACF"}
@@ -1,3 +1,4 @@
1
+ import { Model } from "@decaf-ts/decorator-validation";
1
2
  import { DecafComponent } from "./DecafComponent";
2
3
  /**
3
4
  * @description Class representing an event handler
@@ -7,7 +8,7 @@ import { DecafComponent } from "./DecafComponent";
7
8
  * @class EventHandler
8
9
  * @memberOf module:ui-decorators/ui
9
10
  */
10
- export declare class DecafEventHandler extends DecafComponent {
11
+ export declare class DecafEventHandler extends DecafComponent<Model> {
11
12
  /**
12
13
  * @description Creates an instance of DecafEventHandler
13
14
  * @summary Initializes a new EventHandler object
@@ -25,7 +25,9 @@ export class DecafEventHandler extends DecafComponent {
25
25
  * @returns void
26
26
  */
27
27
  handle(...args) {
28
- this.log.for(this.handle).info(`component ${this.componentName} handling ${JSON.stringify(args)}`);
28
+ this.log
29
+ .for(this.handle)
30
+ .info(`component ${this.componentName} handling ${JSON.stringify(args)}`);
29
31
  }
30
32
  }
31
33
  //# sourceMappingURL=DecafEventHandler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DecafEventHandler.js","sourceRoot":"","sources":["../../../src/ui/DecafEventHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,4BAAyB;AAElD;;;;;;;GAOG;AACH,MAAM,OAAO,iBAAkB,SAAQ,cAAc;IAEnD;;;;;OAKG;IACH;QACE,KAAK,EAAE,CAAA;IACT,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,GAAG,IAAe;QACvB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa,aAAa,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrG,CAAC;CACF"}
1
+ {"version":3,"file":"DecafEventHandler.js","sourceRoot":"","sources":["../../../src/ui/DecafEventHandler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,4BAAyB;AAElD;;;;;;;GAOG;AACH,MAAM,OAAO,iBAAkB,SAAQ,cAAqB;IAC1D;;;;;OAKG;IACH;QACE,KAAK,EAAE,CAAC;IACV,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,GAAG,IAAe;QACvB,IAAI,CAAC,GAAG;aACL,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;aAChB,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa,aAAa,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9E,CAAC;CACF"}
@@ -1,5 +1,6 @@
1
1
  import { CrudOperationKeys, UIFunctionLike, UILayoutCol } from "./types";
2
2
  import { DecafComponent } from "./DecafComponent";
3
+ import { Model } from "@decaf-ts/decorator-validation";
3
4
  /**
4
5
  * @description Decorator that hides a property during specific CRUD operations
5
6
  * @summary Controls property visibility based on operation type
@@ -425,7 +426,7 @@ export declare function uipageprop(page?: number): (original: any, propertyKey?:
425
426
  * }
426
427
  * ```
427
428
  */
428
- export declare function uion(event: keyof Pick<DecafComponent, 'render' | 'initialize'>, handler: UIFunctionLike): (original: object, propertyKey?: string) => void;
429
+ export declare function uion(event: keyof Pick<DecafComponent<Model>, "render" | "initialize">, handler: UIFunctionLike): (original: object, propertyKey?: string) => void;
429
430
  /**
430
431
  * A decorator function that associates a UI rendering handler with the 'render' event.
431
432
  *
@@ -493,7 +493,9 @@ export function uipageprop(page = 1) {
493
493
  */
494
494
  export function uion(event, handler) {
495
495
  return function uion(original, propertyKey) {
496
- propMetadata(getUIAttributeKey(propertyKey, UIKeys.EVENTS), { [event]: handler })(original, propertyKey);
496
+ propMetadata(getUIAttributeKey(propertyKey, UIKeys.EVENTS), {
497
+ [event]: handler,
498
+ })(original, propertyKey);
497
499
  };
498
500
  }
499
501
  /**
@@ -504,7 +506,7 @@ export function uion(event, handler) {
504
506
  * @returns A decorated function that binds the handler to the 'render' event.
505
507
  */
506
508
  export function uionrender(handler) {
507
- return uion('render', handler);
509
+ return uion("render", handler);
508
510
  }
509
511
  /**
510
512
  * @description Decorator that marks a property as a column in a UI table
@@ -549,8 +551,8 @@ export function uitablecol(sequence, valueParserFn) {
549
551
  name: propertyKey,
550
552
  props: {
551
553
  sequence,
552
- ...!valueParserFn ? {} : { valueParserFn }
553
- }
554
+ ...(!valueParserFn ? {} : { valueParserFn }),
555
+ },
554
556
  };
555
557
  propMetadata(getUIAttributeKey(propertyKey, UIKeys.UILISTPROP), metadata)(target, propertyKey);
556
558
  };
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../src/ui/decorators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../src/ui/decorators.ts"],"names":[],"mappings":"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"}
package/lib/index.cjs CHANGED
@@ -30,5 +30,5 @@ __exportStar(require("./ui/index.cjs"), exports);
30
30
  * @const VERSION
31
31
  * @memberOf module:ui-decorators
32
32
  */
33
- exports.VERSION = "0.6.6";
33
+ exports.VERSION = "0.6.7";
34
34
  //# sourceMappingURL=index.js.map
package/lib/index.d.ts CHANGED
@@ -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.6.6";
16
+ export declare const VERSION = "0.6.7";
@@ -3,6 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DecafComponent = void 0;
4
4
  const logging_1 = require("@decaf-ts/logging");
5
5
  const db_decorators_1 = require("@decaf-ts/db-decorators");
6
+ /**
7
+ * Base class for all Decaf UI components, providing common state management,
8
+ * logging, localization, navigation hooks, CRUD context metadata, and
9
+ * repository integration used by higher-level decorators and renderers.
10
+ */
6
11
  class DecafComponent extends logging_1.LoggedClass {
7
12
  constructor() {
8
13
  super();
@@ -38,7 +43,7 @@ class DecafComponent extends logging_1.LoggedClass {
38
43
  * @type {Record<string, unknown>}
39
44
  * @default {tag: ""}
40
45
  */
41
- this.item = { tag: '' };
46
+ this.item = { tag: "" };
42
47
  /**
43
48
  * @description Dynamic properties configuration for runtime customization.
44
49
  * @summary Contains key-value pairs of dynamic properties that can be applied to the component
@@ -96,7 +101,12 @@ class DecafComponent extends logging_1.LoggedClass {
96
101
  this._repository = repository;
97
102
  }
98
103
  async render(...args) {
99
- this.log.for(this.render).info(`render for ${this.componentName} with ${JSON.stringify(args)}`);
104
+ this.log
105
+ .for(this.render)
106
+ .info(`render for ${this.componentName} with ${JSON.stringify(args)}`);
107
+ }
108
+ async refresh(...args) {
109
+ this.log.for(this.refresh).info(`Refresh called with args: ${args}`);
100
110
  }
101
111
  /**
102
112
  * Asynchronously initializes the component with the provided arguments.
@@ -109,15 +119,6 @@ class DecafComponent extends logging_1.LoggedClass {
109
119
  async initialize(...args) {
110
120
  this.initialized = true;
111
121
  }
112
- /**
113
- * Submits data or performs an action associated with the component.
114
- *
115
- * @param args - A variable number of arguments of any type to be passed to the submit operation.
116
- * @returns A promise that resolves with the result of the submit operation.
117
- */
118
- async submit(...args) {
119
- this.log.for(this.submit).info(`submit for ${this.componentName} with ${JSON.stringify(args)}`);
120
- }
121
122
  /**
122
123
  * Translates content based on the provided arguments.
123
124
  * Logs the translation request with the component name and arguments.
@@ -126,7 +127,31 @@ class DecafComponent extends logging_1.LoggedClass {
126
127
  * @returns A promise that resolves with the translation result.
127
128
  */
128
129
  async translate(...args) {
129
- this.log.for(this.translate).info(`translate for ${this.componentName} with ${JSON.stringify(args)}`);
130
+ this.log
131
+ .for(this.translate)
132
+ .info(`translate for ${this.componentName} with ${JSON.stringify(args)}`);
133
+ }
134
+ async preview(...args) {
135
+ this.log.for(this.preview).debug(`Preview called with args: ${args}`);
136
+ }
137
+ // async process(...args: unknown[]): Promise<any> {
138
+ // this.log.for(this.process).debug(`Process called with args: ${args}`);
139
+ // }
140
+ // async batchOperation(...args: unknown[]): Promise<any> {
141
+ // this.log
142
+ // .for(this.batchOperation)
143
+ // .debug(`BatchOperation called with args: ${args}`);
144
+ // }
145
+ /**
146
+ * Submits data or performs an action associated with the component.
147
+ *
148
+ * @param args - A variable number of arguments of any type to be passed to the submit operation.
149
+ * @returns A promise that resolves with the result of the submit operation.
150
+ */
151
+ async submit(...args) {
152
+ this.log
153
+ .for(this.submit)
154
+ .info(`submit for ${this.componentName} with ${JSON.stringify(args)}`);
130
155
  }
131
156
  }
132
157
  exports.DecafComponent = DecafComponent;
@@ -1,8 +1,32 @@
1
- import { LoggedClass } from '@decaf-ts/logging';
2
- import { UIFunctionLike } from './types';
3
- import { Model } from '@decaf-ts/decorator-validation';
4
- import { IRepository, OperationKeys } from '@decaf-ts/db-decorators';
5
- export declare abstract class DecafComponent extends LoggedClass {
1
+ import { LoggedClass } from "@decaf-ts/logging";
2
+ import { UIFunctionLike } from "./types";
3
+ import { Model } from "@decaf-ts/decorator-validation";
4
+ import { IRepository, OperationKeys } from "@decaf-ts/db-decorators";
5
+ type PrimaryKeyType = string | number | bigint;
6
+ /**
7
+ * Base class for all Decaf UI components, providing common state management,
8
+ * logging, localization, navigation hooks, CRUD context metadata, and
9
+ * repository integration used by higher-level decorators and renderers.
10
+ */
11
+ export declare abstract class DecafComponent<M extends Model> extends LoggedClass {
12
+ /**
13
+ * @description Data model or model name for component operations.
14
+ * @summary The data model that this component will use for CRUD operations. This can be provided
15
+ * as a Model instance, a model constructor, or a string representing the model's registered name.
16
+ * When set, this property provides the component with access to the model's schema, validation rules,
17
+ * and metadata needed for rendering and data operations.
18
+ * @type {M | Model | string | undefined}
19
+ */
20
+ model: M | Model | string | undefined;
21
+ /**
22
+ * @description Primary key value of the current model instance.
23
+ * @summary Specifies the primary key value for the current model record being displayed or
24
+ * manipulated by the component. This identifier is used for CRUD operations that target
25
+ * specific records, such as read, update, and delete operations. The value corresponds to
26
+ * the field designated as the primary key in the model definition.
27
+ * @type {PrimaryKeyType | PrimaryKeyType[]}
28
+ */
29
+ modelId?: PrimaryKeyType | PrimaryKeyType[];
6
30
  /**
7
31
  * @description The CRUD operation type to be performed on the model.
8
32
  * @summary Specifies which operation (Create, Read, Update, Delete) this component instance
@@ -20,7 +44,6 @@ export declare abstract class DecafComponent extends LoggedClass {
20
44
  * handles route parameters, and manages the browser's navigation history.
21
45
  * @protected
22
46
  * @type {Router}
23
- * @memberOf module:lib/engine/NgxComponentDirective
24
47
  */
25
48
  router?: any;
26
49
  /**
@@ -31,7 +54,7 @@ export declare abstract class DecafComponent extends LoggedClass {
31
54
  * identifier that helps distinguish between multiple instances of the same component type.
32
55
  * @type {string}
33
56
  */
34
- protected name: string;
57
+ name: string;
35
58
  /**
36
59
  * @description Parent component identifier for hierarchical component relationships.
37
60
  * @summary Specifies the identifier of the parent component in a hierarchical component structure.
@@ -40,43 +63,24 @@ export declare abstract class DecafComponent extends LoggedClass {
40
63
  * component dependencies and establish component hierarchies for rendering and event propagation.
41
64
  * @type {string | undefined}
42
65
  */
43
- protected childOf: string | undefined;
66
+ childOf: string | undefined;
44
67
  /**
45
68
  * @description Unique identifier for the component instance.
46
69
  * @summary A unique identifier automatically generated for each component instance.
47
70
  * This UID is used for DOM element identification, component tracking, and debugging purposes.
48
71
  * By default, it generates a random 16-character value, but it can be explicitly set via input.
49
- * @type {string | number}
50
- * @default generateRandomValue(16)
51
- */
52
- protected uid?: string | number;
53
- /**
54
- * @description Data model or model name for component operations.
55
- * @summary The data model that this component will use for CRUD operations. This can be provided
56
- * as a Model instance, a model constructor, or a string representing the model's registered name.
57
- * When set, this property provides the component with access to the model's schema, validation rules,
58
- * and metadata needed for rendering and data operations.
59
- * @type {Model | string | undefined}
72
+ * @type {string}
60
73
  */
61
- protected model: Model | string | undefined;
74
+ uid?: PrimaryKeyType;
62
75
  /**
63
76
  * @description Primary key field name for the data model.
64
77
  * @summary Specifies which field in the model should be used as the primary key.
65
78
  * This is typically used for identifying unique records in operations like update and delete.
66
79
  * If not explicitly set, it defaults to the repository's configured primary key or 'id'.
67
- * @type {string}
80
+ * @type {keyof M | string}
68
81
  * @default 'id'
69
82
  */
70
- pk: string;
71
- /**
72
- * @description Primary key value of the current model instance.
73
- * @summary Specifies the primary key value for the current model record being displayed or
74
- * manipulated by the component. This identifier is used for CRUD operations that target
75
- * specific records, such as read, update, and delete operations. The value corresponds to
76
- * the field designated as the primary key in the model definition.
77
- * @type {string | number | bigint | string[] | number[] | bigint[]}
78
- */
79
- protected modelId?: string | number | bigint | string[] | number[] | bigint[];
83
+ pk: keyof M | string;
80
84
  /**
81
85
  * @description Flag to enable or disable dark mode support for the component.
82
86
  * @summary When enabled, the component will automatically detect the system's dark mode
@@ -171,7 +175,7 @@ export declare abstract class DecafComponent extends LoggedClass {
171
175
  * @type {any}
172
176
  * @public
173
177
  */
174
- protected value?: any;
178
+ value?: any;
175
179
  /**
176
180
  * @description Reference to CRUD operation constants for template usage.
177
181
  * @summary Exposes the OperationKeys enum to the component template, enabling
@@ -192,18 +196,17 @@ export declare abstract class DecafComponent extends LoggedClass {
192
196
  * popstate events, or supporting custom navigation logic.
193
197
  *
194
198
  */
195
- protected location: any;
199
+ location: any;
196
200
  /**
197
201
  * @description Repository instance for data layer operations.
198
202
  * @summary Provides a connection to the data layer for retrieving and manipulating data.
199
203
  * This is an instance of the DecafRepository class, initialized lazily in the repository getter.
200
204
  * The repository is used to perform CRUD (Create, Read, Update, Delete) operations on the
201
205
  * data model and provides methods for querying and filtering data based on specific criteria.
202
- * @type {DecafRepository<Model>}
203
- * @private
204
- * @memberOf module:lib/engine/NgxComponentDirective
206
+ * @type {IRepository<M>}
207
+ * @protected
205
208
  */
206
- protected _repository?: IRepository<Model>;
209
+ protected _repository?: IRepository<M>;
207
210
  /**
208
211
  * @description Initialization status flag for the component.
209
212
  * @summary Tracks whether the component has completed its initialization process.
@@ -213,12 +216,13 @@ export declare abstract class DecafComponent extends LoggedClass {
213
216
  * @default false
214
217
  */
215
218
  protected initialized: boolean;
216
- protected events?: Record<keyof Pick<DecafComponent, 'render' | 'initialize'>, UIFunctionLike>;
219
+ protected events?: Record<keyof Pick<DecafComponent<M>, "render" | "initialize">, UIFunctionLike>;
217
220
  protected handlers: Record<string, UIFunctionLike>;
218
221
  constructor();
219
- get repository(): IRepository<Model> | undefined;
220
- set repository(repository: IRepository<Model>);
222
+ get repository(): IRepository<M>;
223
+ set repository(repository: IRepository<M>);
221
224
  render(...args: unknown[]): Promise<void>;
225
+ refresh(...args: unknown[]): Promise<void>;
222
226
  /**
223
227
  * Asynchronously initializes the component with the provided arguments.
224
228
  * This method sets the `initialized` property to `true` once the initialization is complete.
@@ -227,13 +231,6 @@ export declare abstract class DecafComponent extends LoggedClass {
227
231
  * @returns A promise that resolves when the initialization is complete.
228
232
  */
229
233
  initialize(...args: unknown[]): Promise<void>;
230
- /**
231
- * Submits data or performs an action associated with the component.
232
- *
233
- * @param args - A variable number of arguments of any type to be passed to the submit operation.
234
- * @returns A promise that resolves with the result of the submit operation.
235
- */
236
- submit(...args: unknown[]): Promise<any>;
237
234
  /**
238
235
  * Translates content based on the provided arguments.
239
236
  * Logs the translation request with the component name and arguments.
@@ -242,4 +239,13 @@ export declare abstract class DecafComponent extends LoggedClass {
242
239
  * @returns A promise that resolves with the translation result.
243
240
  */
244
241
  protected translate(...args: unknown[]): Promise<any>;
242
+ preview(...args: unknown[]): Promise<void>;
243
+ /**
244
+ * Submits data or performs an action associated with the component.
245
+ *
246
+ * @param args - A variable number of arguments of any type to be passed to the submit operation.
247
+ * @returns A promise that resolves with the result of the submit operation.
248
+ */
249
+ submit(...args: unknown[]): Promise<any>;
245
250
  }
251
+ export {};
@@ -1 +1 @@
1
- {"version":3,"file":"DecafComponent.js","sourceRoot":"","sources":["../../src/ui/DecafComponent.ts"],"names":[],"mappings":";;;AAAA,+CAAgD;AAGhD,2DAAqE;AAGrE,MAAsB,cAAe,SAAQ,qBAAW;IA8OtD;QACE,KAAK,EAAE,CAAC;QA3JV;;;;;;;;;WASG;QACO,mBAAc,GAAY,IAAI,CAAC;QAEzC;;;;;;;;;WASG;QACO,eAAU,GAAY,KAAK,CAAC;QAYtC;;;;;;;;;WASG;QACH,SAAI,GAA4B,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;QAE5C;;;;;;;;;WASG;QACH,UAAK,GAA4B,EAAE,CAAC;QAEpC;;;;;;;WAOG;QACH,UAAK,GAAY,EAAE,CAAC;QAEpB;;;;;;;WAOG;QACH,YAAO,GAAY,KAAK,CAAC;QA6BzB;;;;;;;;WAQG;QACgB,kBAAa,GAAG,6BAAa,CAAC;QA0BjD;;;;;;;WAOG;QACO,gBAAW,GAAY,KAAK,CAAC;QAI7B,aAAQ,GAAmC,EAAE,CAAC;IAIxD,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,IAAI,UAAU,CAAC,UAA8B;QAC3C,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAG,IAAe;QAC7B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,aAAa,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClG,CAAC;IAED;;;;;;OAMG;IACH,6DAA6D;IAC7D,KAAK,CAAC,UAAU,CAAC,GAAG,IAAe;QACjC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CAAC,GAAG,IAAe;QAC7B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,aAAa,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClG,CAAC;IAED;;;;;;OAMG;IACO,KAAK,CAAC,SAAS,CAAC,GAAG,IAAe;QAC1C,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,aAAa,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxG,CAAC;CAEF;AA/RD,wCA+RC"}
1
+ {"version":3,"file":"DecafComponent.js","sourceRoot":"","sources":["../../src/ui/DecafComponent.ts"],"names":[],"mappings":";;;AAAA,+CAAgD;AAGhD,2DAAqE;AAIrE;;;;GAIG;AACH,MAAsB,cAAgC,SAAQ,qBAAW;IA6OvE;QACE,KAAK,EAAE,CAAC;QA7JV;;;;;;;;;WASG;QACO,mBAAc,GAAY,IAAI,CAAC;QAEzC;;;;;;;;;WASG;QACO,eAAU,GAAY,KAAK,CAAC;QAYtC;;;;;;;;;WASG;QACH,SAAI,GAA4B,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;QAE5C;;;;;;;;;WASG;QACH,UAAK,GAA4B,EAAE,CAAC;QAEpC;;;;;;;WAOG;QACH,UAAK,GAAY,EAAE,CAAC;QAEpB;;;;;;;WAOG;QACH,YAAO,GAAY,KAAK,CAAC;QA6BzB;;;;;;;;WAQG;QACgB,kBAAa,GAAG,6BAAa,CAAC;QAyBjD;;;;;;;WAOG;QACO,gBAAW,GAAY,KAAK,CAAC;QAO7B,aAAQ,GAAmC,EAAE,CAAC;IAIxD,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAA6B,CAAC;IAC5C,CAAC;IAED,IAAI,UAAU,CAAC,UAA0B;QACvC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAG,IAAe;QAC7B,IAAI,CAAC,GAAG;aACL,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;aAChB,IAAI,CAAC,cAAc,IAAI,CAAC,aAAa,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAG,IAAe;QAC9B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,6BAA6B,IAAI,EAAE,CAAC,CAAC;IACvE,CAAC;IAED;;;;;;OAMG;IACH,6DAA6D;IAC7D,KAAK,CAAC,UAAU,CAAC,GAAG,IAAe;QACjC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED;;;;;;OAMG;IACO,KAAK,CAAC,SAAS,CAAC,GAAG,IAAe;QAC1C,IAAI,CAAC,GAAG;aACL,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;aACnB,IAAI,CAAC,iBAAiB,IAAI,CAAC,aAAa,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAG,IAAe;QAC9B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,6BAA6B,IAAI,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,oDAAoD;IACpD,2EAA2E;IAC3E,IAAI;IAEJ,2DAA2D;IAC3D,aAAa;IACb,gCAAgC;IAChC,0DAA0D;IAC1D,IAAI;IAEJ;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CAAC,GAAG,IAAe;QAC7B,IAAI,CAAC,GAAG;aACL,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;aAChB,IAAI,CAAC,cAAc,IAAI,CAAC,aAAa,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;CACF;AArTD,wCAqTC"}
@@ -28,7 +28,9 @@ class DecafEventHandler extends DecafComponent_1.DecafComponent {
28
28
  * @returns void
29
29
  */
30
30
  handle(...args) {
31
- this.log.for(this.handle).info(`component ${this.componentName} handling ${JSON.stringify(args)}`);
31
+ this.log
32
+ .for(this.handle)
33
+ .info(`component ${this.componentName} handling ${JSON.stringify(args)}`);
32
34
  }
33
35
  }
34
36
  exports.DecafEventHandler = DecafEventHandler;
@@ -1,3 +1,4 @@
1
+ import { Model } from "@decaf-ts/decorator-validation";
1
2
  import { DecafComponent } from "./DecafComponent";
2
3
  /**
3
4
  * @description Class representing an event handler
@@ -7,7 +8,7 @@ import { DecafComponent } from "./DecafComponent";
7
8
  * @class EventHandler
8
9
  * @memberOf module:ui-decorators/ui
9
10
  */
10
- export declare class DecafEventHandler extends DecafComponent {
11
+ export declare class DecafEventHandler extends DecafComponent<Model> {
11
12
  /**
12
13
  * @description Creates an instance of DecafEventHandler
13
14
  * @summary Initializes a new EventHandler object
@@ -1 +1 @@
1
- {"version":3,"file":"DecafEventHandler.js","sourceRoot":"","sources":["../../src/ui/DecafEventHandler.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAElD;;;;;;;GAOG;AACH,MAAa,iBAAkB,SAAQ,+BAAc;IAEnD;;;;;OAKG;IACH;QACE,KAAK,EAAE,CAAA;IACT,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,GAAG,IAAe;QACvB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa,aAAa,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrG,CAAC;CACF;AAtBD,8CAsBC"}
1
+ {"version":3,"file":"DecafEventHandler.js","sourceRoot":"","sources":["../../src/ui/DecafEventHandler.ts"],"names":[],"mappings":";;;AACA,yDAAkD;AAElD;;;;;;;GAOG;AACH,MAAa,iBAAkB,SAAQ,+BAAqB;IAC1D;;;;;OAKG;IACH;QACE,KAAK,EAAE,CAAC;IACV,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,GAAG,IAAe;QACvB,IAAI,CAAC,GAAG;aACL,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;aAChB,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa,aAAa,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9E,CAAC;CACF;AAvBD,8CAuBC"}
@@ -507,7 +507,9 @@ function uipageprop(page = 1) {
507
507
  */
508
508
  function uion(event, handler) {
509
509
  return function uion(original, propertyKey) {
510
- (0, decoration_1.propMetadata)((0, utils_1.getUIAttributeKey)(propertyKey, constants_1.UIKeys.EVENTS), { [event]: handler })(original, propertyKey);
510
+ (0, decoration_1.propMetadata)((0, utils_1.getUIAttributeKey)(propertyKey, constants_1.UIKeys.EVENTS), {
511
+ [event]: handler,
512
+ })(original, propertyKey);
511
513
  };
512
514
  }
513
515
  /**
@@ -518,7 +520,7 @@ function uion(event, handler) {
518
520
  * @returns A decorated function that binds the handler to the 'render' event.
519
521
  */
520
522
  function uionrender(handler) {
521
- return uion('render', handler);
523
+ return uion("render", handler);
522
524
  }
523
525
  /**
524
526
  * @description Decorator that marks a property as a column in a UI table
@@ -563,8 +565,8 @@ function uitablecol(sequence, valueParserFn) {
563
565
  name: propertyKey,
564
566
  props: {
565
567
  sequence,
566
- ...!valueParserFn ? {} : { valueParserFn }
567
- }
568
+ ...(!valueParserFn ? {} : { valueParserFn }),
569
+ },
568
570
  };
569
571
  (0, decoration_1.propMetadata)((0, utils_1.getUIAttributeKey)(propertyKey, constants_1.UIKeys.UILISTPROP), metadata)(target, propertyKey);
570
572
  };
@@ -1,5 +1,6 @@
1
1
  import { CrudOperationKeys, UIFunctionLike, UILayoutCol } from "./types";
2
2
  import { DecafComponent } from "./DecafComponent";
3
+ import { Model } from "@decaf-ts/decorator-validation";
3
4
  /**
4
5
  * @description Decorator that hides a property during specific CRUD operations
5
6
  * @summary Controls property visibility based on operation type
@@ -425,7 +426,7 @@ export declare function uipageprop(page?: number): (original: any, propertyKey?:
425
426
  * }
426
427
  * ```
427
428
  */
428
- export declare function uion(event: keyof Pick<DecafComponent, 'render' | 'initialize'>, handler: UIFunctionLike): (original: object, propertyKey?: string) => void;
429
+ export declare function uion(event: keyof Pick<DecafComponent<Model>, "render" | "initialize">, handler: UIFunctionLike): (original: object, propertyKey?: string) => void;
429
430
  /**
430
431
  * A decorator function that associates a UI rendering handler with the 'render' event.
431
432
  *
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/ui/decorators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/ui/decorators.ts"],"names":[],"mappings":";;AAmDA,wBAOC;AA+BD,0BAOC;AAqCD,wBAOC;AA4CD,8BAmBC;AA6CD,wBAcC;AAwDD,0BA4BC;AAmDD,gCAcC;AAoDD,oCAaC;AA+DD,gCAOC;AAqBD,oBASC;AASD,gCAEC;AAuCD,gCAcC;AAhoBD,+CAAqC;AACrC,qDAAoD;AAUpD,2DAAwD;AACxD,uCAA4C;AAI5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,SAAgB,MAAM,CAAC,GAAG,UAA+B;IACvD,OAAO,SAAS,MAAM,CAAC,MAAW,EAAE,WAAiB;QACnD,OAAO,IAAA,yBAAY,EACjB,IAAA,yBAAiB,EAAC,WAAW,EAAE,kBAAM,CAAC,MAAM,CAAC,EAC7C,UAAU,CACX,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACzB,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,SAAgB,OAAO,CAAC,QAAgB,CAAC;IACvC,OAAO,SAAS,OAAO,CAAC,MAAW,EAAE,WAAiB;QACpD,OAAO,IAAA,yBAAY,EAAC,IAAA,yBAAiB,EAAC,WAAW,EAAE,kBAAM,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CACtE,MAAM,EACN,WAAW,CACZ,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,SAAgB,MAAM;IACpB,OAAO,MAAM,CACX,6BAAa,CAAC,MAAM,EACpB,6BAAa,CAAC,IAAI,EAClB,6BAAa,CAAC,MAAM,EACpB,6BAAa,CAAC,MAAM,CACrB,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,SAAgB,SAAS,CACvB,GAAW,EACX,KAA2B,EAC3B,YAAqB,KAAK;IAE1B,OAAO,CAAC,QAAa,EAAE,WAAiB,EAAE,EAAE;QAC1C,MAAM,QAAQ,GAAsB;YAClC,GAAG,EAAE,GAAG;YACR,SAAS,EAAE,SAAS;YACpB,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE,EAAE;gBACpC,IAAI,EAAE,WAAW;aAClB,CAAC;SACH,CAAC;QAEF,OAAO,IAAA,yBAAY,EACjB,IAAA,yBAAiB,EAAC,WAAW,EAAE,kBAAM,CAAC,OAAO,CAAC,EAC9C,QAAQ,CACT,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAC3B,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,SAAgB,MAAM,CACpB,WAA+B,SAAS,EACxC,YAAqB,KAAK;IAE1B,OAAO,CAAC,MAAW,EAAE,WAAiB,EAAE,EAAE;QACxC,MAAM,QAAQ,GAAmB;YAC/B,IAAI,EAAE,QAAQ,IAAI,WAAW;YAC7B,SAAS,EAAE,SAAS;SACrB,CAAC;QACF,IAAA,yBAAY,EAAC,IAAA,yBAAiB,EAAC,WAAW,EAAE,kBAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CACjE,MAAM,EACN,WAAW,CACZ,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AAEH,SAAgB,OAAO,CACrB,KAAa,EACb,GAAW,EACX,QAA6B,EAAE,EAC/B,UAAmB,KAAK,EACxB,YAAqB,KAAK;IAE1B,OAAO,CAAC,MAAW,EAAE,WAAiB,EAAE,EAAE;QACxC,MAAM,QAAQ,GAAsB;YAClC,GAAG,EAAE,GAAG;YACR,SAAS,EAAE,SAAS;YACpB,KAAK,EAAE,MAAM,CAAC,MAAM,CAClB,EAAE,EACF,KAAK,IAAI,EAAE,EACX;gBACE,IAAI,EAAE,KAAK,IAAI,WAAW;aAC3B,EACD,OAAO;gBACL,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC/C,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,IAAI,KAAK,EAAE,CAC3C;SACF,CAAC;QAEF,IAAA,yBAAY,EAAC,IAAA,yBAAiB,EAAC,WAAW,EAAE,kBAAM,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,CAClE,MAAM,EACN,WAAW,CACZ,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,SAAgB,UAAU,CACxB,WAA+B,SAAS,EACxC,KAA2B;IAE3B,OAAO,CAAC,MAAW,EAAE,WAAiB,EAAE,EAAE;QACxC,MAAM,QAAQ,GAAgC;YAC5C,IAAI,EAAE,QAAQ,IAAI,WAAW;YAC7B,KAAK,EAAE,KAAK,IAAI,EAAE;SACnB,CAAC;QACF,IAAA,yBAAY,EAAC,IAAA,yBAAiB,EAAC,WAAW,EAAE,kBAAM,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,CACvE,MAAM,EACN,WAAW,CACZ,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,SAAgB,YAAY,CAAC,MAAmB,CAAC,EAAE,MAAc,CAAC;IAChE,OAAO,CAAC,MAAW,EAAE,WAAiB,EAAE,EAAE;QACxC,MAAM,QAAQ,GAAyB;YACrC,IAAI,EAAE,WAAW;YACjB,OAAO;YACP,OAAO;YACP,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;SACvC,CAAC;QACF,IAAA,yBAAY,EAAC,IAAA,yBAAiB,EAAC,WAAW,EAAE,kBAAM,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,CACzE,MAAM,EACN,WAAW,CACZ,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AACH,SAAgB,UAAU,CAAC,OAAe,CAAC;IACzC,OAAO,SAAS,UAAU,CAAC,QAAa,EAAE,WAAiB;QACzD,OAAO,IAAA,yBAAY,EAAC,IAAA,yBAAiB,EAAC,WAAW,EAAE,kBAAM,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CACpE,QAAQ,EACR,WAAW,CACZ,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAgB,IAAI,CAClB,KAAiE,EACjE,OAAuB;IAEvB,OAAO,SAAS,IAAI,CAAC,QAAgB,EAAE,WAAoB;QACzD,IAAA,yBAAY,EAAC,IAAA,yBAAiB,EAAC,WAAqB,EAAE,kBAAM,CAAC,MAAM,CAAC,EAAE;YACpE,CAAC,KAAK,CAAC,EAAE,OAAO;SACjB,CAAC,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAC5B,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,UAAU,CAAC,OAAuB;IAChD,OAAO,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AACjC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,SAAgB,UAAU,CAAC,QAAgB,EAAE,aAA8B;IACzE,OAAO,CAAC,MAAW,EAAE,WAAiB,EAAE,EAAE;QACxC,MAAM,QAAQ,GAAgC;YAC5C,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE;gBACL,QAAQ;gBACR,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC;aAC7C;SACF,CAAC;QACF,IAAA,yBAAY,EAAC,IAAA,yBAAiB,EAAC,WAAW,EAAE,kBAAM,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,CACvE,MAAM,EACN,WAAW,CACZ,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@decaf-ts/ui-decorators",
3
- "version": "0.6.6",
3
+ "version": "0.6.7",
4
4
  "description": "Extension of decorator validation to ui elements to allow for web integration",
5
5
  "type": "module",
6
6
  "exports": {