@decaf-ts/ui-decorators 0.5.15 → 0.5.16

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.
@@ -308,4 +308,64 @@ export function uilistprop(propName = undefined, props) {
308
308
  propMetadata(RenderingEngine.key(UIKeys.UILISTPROP), metadata)(target, propertyKey);
309
309
  };
310
310
  }
311
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91aS9kZWNvcmF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLE1BQU0sRUFBRSx1QkFBb0I7QUFDckMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBTzlELE9BQU8sRUFBRSxlQUFlLEVBQUUsdUJBQW9CO0FBQzlDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV4RDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtDRztBQUNILE1BQU0sVUFBVSxNQUFNLENBQUMsR0FBRyxVQUErQjtJQUN2RCxPQUFPLFlBQVksQ0FDakIsZUFBZSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQ2xDLFVBQVUsQ0FDWCxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0NHO0FBQ0gsTUFBTSxVQUFVLE1BQU07SUFDcEIsT0FBTyxNQUFNLENBQ1gsYUFBYSxDQUFDLE1BQU0sRUFDcEIsYUFBYSxDQUFDLElBQUksRUFDbEIsYUFBYSxDQUFDLE1BQU0sRUFDcEIsYUFBYSxDQUFDLE1BQU0sQ0FDckIsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F5Q0c7QUFDSCxNQUFNLFVBQVUsU0FBUyxDQUN2QixHQUFXLEVBQ1gsS0FBMkIsRUFDM0IsWUFBcUIsS0FBSztJQUUxQixPQUFPLENBQUMsUUFBYSxFQUFFLFdBQWlCLEVBQUUsRUFBRTtRQUMxQyxNQUFNLFFBQVEsR0FBc0I7WUFDbEMsR0FBRyxFQUFFLEdBQUc7WUFDUixTQUFTLEVBQUUsU0FBUztZQUNwQixLQUFLLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsS0FBSyxJQUFJLEVBQUUsRUFBRTtnQkFDcEMsSUFBSSxFQUFFLFdBQVc7YUFDbEIsQ0FBQztTQUNILENBQUM7UUFFRixPQUFPLFlBQVksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FDaEUsUUFBUSxFQUNSLFdBQVcsQ0FDWixDQUFDO0lBQ0osQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwQ0c7QUFDSCxNQUFNLFVBQVUsTUFBTSxDQUNwQixXQUErQixTQUFTLEVBQ3hDLFlBQXFCLEtBQUs7SUFFMUIsT0FBTyxDQUFDLE1BQVcsRUFBRSxXQUFtQixFQUFFLEVBQUU7UUFDMUMsTUFBTSxRQUFRLEdBQW1CO1lBQy9CLElBQUksRUFBRSxRQUFRLElBQUksV0FBVztZQUM3QixTQUFTLEVBQUUsU0FBUztTQUNyQixDQUFDO1FBQ0YsWUFBWSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUN0RCxNQUFNLEVBQ04sV0FBVyxDQUNaLENBQUM7SUFDSixDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvREc7QUFFSCxNQUFNLFVBQVUsT0FBTyxDQUNyQixLQUFhLEVBQ2IsR0FBVyxFQUNYLFFBQTZCLEVBQUUsRUFDL0IsWUFBcUIsS0FBSztJQUUxQixPQUFPLENBQUMsTUFBVyxFQUFFLFdBQW1CLEVBQUUsRUFBRTtRQUMxQyxNQUFNLFFBQVEsR0FBc0I7WUFDbEMsR0FBRyxFQUFFLEdBQUc7WUFDUixTQUFTLEVBQUUsU0FBUztZQUNwQixLQUFLLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsS0FBSyxJQUFJLEVBQUUsRUFBRTtnQkFDcEMsSUFBSSxFQUFFLEtBQUssSUFBSSxXQUFXO2FBQzNCLENBQUM7U0FDSCxDQUFDO1FBRUYsWUFBWSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUN2RCxNQUFNLEVBQ04sV0FBVyxDQUNaLENBQUM7SUFDSixDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWdERztBQUNILE1BQU0sVUFBVSxVQUFVLENBQ3hCLFdBQStCLFNBQVMsRUFDeEMsS0FBMkI7SUFFM0IsT0FBTyxDQUFDLE1BQVcsRUFBRSxXQUFtQixFQUFFLEVBQUU7UUFDMUMsTUFBTSxRQUFRLEdBQWdDO1lBQzVDLElBQUksRUFBRSxRQUFRLElBQUksV0FBVztZQUM3QixLQUFLLEVBQUUsS0FBSyxJQUFJLEVBQUU7U0FDbkIsQ0FBQztRQUNGLFlBQVksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FDNUQsTUFBTSxFQUNOLFdBQVcsQ0FDWixDQUFDO0lBQ0osQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcInJlZmxlY3QtbWV0YWRhdGFcIjtcbmltcG9ydCB7IFVJS2V5cyB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgcHJvcE1ldGFkYXRhIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHtcbiAgQ3J1ZE9wZXJhdGlvbktleXMsXG4gIFVJRWxlbWVudE1ldGFkYXRhLFxuICBVSUxpc3RQcm9wTWV0YWRhdGEsXG4gIFVJUHJvcE1ldGFkYXRhLFxufSBmcm9tIFwiLi90eXBlc1wiO1xuaW1wb3J0IHsgUmVuZGVyaW5nRW5naW5lIH0gZnJvbSBcIi4vUmVuZGVyaW5nXCI7XG5pbXBvcnQgeyBPcGVyYXRpb25LZXlzIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIERlY29yYXRvciB0aGF0IGhpZGVzIGEgcHJvcGVydHkgZHVyaW5nIHNwZWNpZmljIENSVUQgb3BlcmF0aW9uc1xuICogQHN1bW1hcnkgQ29udHJvbHMgcHJvcGVydHkgdmlzaWJpbGl0eSBiYXNlZCBvbiBvcGVyYXRpb24gdHlwZVxuICogVGhpcyBkZWNvcmF0b3IgYWxsb3dzIHlvdSB0byBzcGVjaWZ5IHdoaWNoIENSVUQgb3BlcmF0aW9ucyBzaG91bGQgaGlkZSBhIHByb3BlcnR5XG4gKiBpbiB0aGUgVUkuIFRoZSBwcm9wZXJ0eSB3aWxsIG9ubHkgYmUgdmlzaWJsZSBkdXJpbmcgb3BlcmF0aW9ucyBub3Qgc3BlY2lmaWVkLlxuICpcbiAqIEBwYXJhbSBvcGVyYXRpb25zIC0gVGhlIENSVUQgb3BlcmF0aW9ucyBkdXJpbmcgd2hpY2ggdGhlIHByb3BlcnR5IHNob3VsZCBiZSBoaWRkZW5cbiAqIEByZXR1cm4ge0Z1bmN0aW9ufSBBIHByb3BlcnR5IGRlY29yYXRvciBmdW5jdGlvblxuICpcbiAqIEBmdW5jdGlvbiBoaWRlT25cbiAqIEBjYXRlZ29yeSBQcm9wZXJ0eSBEZWNvcmF0b3JzXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEhpZGUgdGhlIHBhc3N3b3JkIGZpZWxkIGR1cmluZyBSRUFEIG9wZXJhdGlvbnNcbiAqIGNsYXNzIFVzZXIge1xuICogICBAYXR0cmlidXRlKClcbiAqICAgdXNlcm5hbWU6IHN0cmluZztcbiAqXG4gKiAgIEBhdHRyaWJ1dGUoKVxuICogICBAaGlkZU9uKE9wZXJhdGlvbktleXMuUkVBRClcbiAqICAgcGFzc3dvcmQ6IHN0cmluZztcbiAqIH1cbiAqXG4gKiBAbWVybWFpZFxuICogc2VxdWVuY2VEaWFncmFtXG4gKiAgIHBhcnRpY2lwYW50IE1vZGVsXG4gKiAgIHBhcnRpY2lwYW50IGhpZGVPblxuICogICBwYXJ0aWNpcGFudCBSZW5kZXJpbmdFbmdpbmVcbiAqICAgcGFydGljaXBhbnQgVUlcbiAqICAgTW9kZWwtPj5oaWRlT246IEFwcGx5IHRvIHByb3BlcnR5XG4gKiAgIGhpZGVPbi0+Pk1vZGVsOiBBZGQgaGlkZGVuIG1ldGFkYXRhXG4gKiAgIFJlbmRlcmluZ0VuZ2luZS0+Pk1vZGVsOiBDaGVjayBpZiBwcm9wZXJ0eSBzaG91bGQgYmUgaGlkZGVuXG4gKiAgIE1vZGVsLT4+UmVuZGVyaW5nRW5naW5lOiBSZXR1cm4gaGlkZGVuIG9wZXJhdGlvbnNcbiAqICAgUmVuZGVyaW5nRW5naW5lLT4+VUk6IFJlbmRlciBvciBoaWRlIGJhc2VkIG9uIGN1cnJlbnQgb3BlcmF0aW9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoaWRlT24oLi4ub3BlcmF0aW9uczogQ3J1ZE9wZXJhdGlvbktleXNbXSkge1xuICByZXR1cm4gcHJvcE1ldGFkYXRhPENydWRPcGVyYXRpb25LZXlzW10+KFxuICAgIFJlbmRlcmluZ0VuZ2luZS5rZXkoVUlLZXlzLkhJRERFTiksXG4gICAgb3BlcmF0aW9uc1xuICApO1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBEZWNvcmF0b3IgdGhhdCBjb21wbGV0ZWx5IGhpZGVzIGEgcHJvcGVydHkgaW4gYWxsIFVJIG9wZXJhdGlvbnNcbiAqIEBzdW1tYXJ5IE1ha2VzIGEgcHJvcGVydHkgaW52aXNpYmxlIGluIGFsbCBDUlVEIG9wZXJhdGlvbnNcbiAqIFRoaXMgZGVjb3JhdG9yIGlzIGEgY29udmVuaWVuY2Ugd3JhcHBlciBhcm91bmQgaGlkZU9uIHRoYXQgaGlkZXMgYSBwcm9wZXJ0eVxuICogZHVyaW5nIGFsbCBDUlVEIG9wZXJhdGlvbnMgKENSRUFURSwgUkVBRCwgVVBEQVRFLCBERUxFVEUpLlxuICpcbiAqIEByZXR1cm4ge0Z1bmN0aW9ufSBBIHByb3BlcnR5IGRlY29yYXRvciBmdW5jdGlvblxuICpcbiAqIEBmdW5jdGlvbiBoaWRkZW5cbiAqIEBjYXRlZ29yeSBQcm9wZXJ0eSBEZWNvcmF0b3JzXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIENvbXBsZXRlbHkgaGlkZSB0aGUgaW50ZXJuYWxJZCBmaWVsZCBpbiB0aGUgVUlcbiAqIGNsYXNzIFByb2R1Y3Qge1xuICogICBAYXR0cmlidXRlKClcbiAqICAgbmFtZTogc3RyaW5nO1xuICpcbiAqICAgQGF0dHJpYnV0ZSgpXG4gKiAgIEBoaWRkZW4oKVxuICogICBpbnRlcm5hbElkOiBzdHJpbmc7XG4gKiB9XG4gKlxuICogQG1lcm1haWRcbiAqIHNlcXVlbmNlRGlhZ3JhbVxuICogICBwYXJ0aWNpcGFudCBNb2RlbFxuICogICBwYXJ0aWNpcGFudCBoaWRkZW5cbiAqICAgcGFydGljaXBhbnQgaGlkZU9uXG4gKiAgIHBhcnRpY2lwYW50IFJlbmRlcmluZ0VuZ2luZVxuICogICBNb2RlbC0+PmhpZGRlbjogQXBwbHkgdG8gcHJvcGVydHlcbiAqICAgaGlkZGVuLT4+aGlkZU9uOiBDYWxsIHdpdGggYWxsIG9wZXJhdGlvbnNcbiAqICAgaGlkZU9uLT4+TW9kZWw6IEFkZCBoaWRkZW4gbWV0YWRhdGFcbiAqICAgUmVuZGVyaW5nRW5naW5lLT4+TW9kZWw6IENoZWNrIGlmIHByb3BlcnR5IHNob3VsZCBiZSBoaWRkZW5cbiAqICAgTW9kZWwtPj5SZW5kZXJpbmdFbmdpbmU6IFJldHVybiBhbGwgb3BlcmF0aW9uc1xuICogICBSZW5kZXJpbmdFbmdpbmUtPj5VSTogQWx3YXlzIGhpZGUgcHJvcGVydHlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhpZGRlbigpIHtcbiAgcmV0dXJuIGhpZGVPbihcbiAgICBPcGVyYXRpb25LZXlzLkNSRUFURSxcbiAgICBPcGVyYXRpb25LZXlzLlJFQUQsXG4gICAgT3BlcmF0aW9uS2V5cy5VUERBVEUsXG4gICAgT3BlcmF0aW9uS2V5cy5ERUxFVEVcbiAgKTtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gRGVjb3JhdG9yIHRoYXQgc3BlY2lmaWVzIGhvdyBhIHByb3BlcnR5IHNob3VsZCBiZSByZW5kZXJlZCBhcyBhIFVJIGVsZW1lbnRcbiAqIEBzdW1tYXJ5IE1hcHMgYSBtb2RlbCBwcm9wZXJ0eSB0byBhIHNwZWNpZmljIFVJIGVsZW1lbnQgd2l0aCBjdXN0b20gcHJvcGVydGllc1xuICogVGhpcyBkZWNvcmF0b3IgYWxsb3dzIHlvdSB0byBkZWZpbmUgd2hpY2ggSFRNTCBlbGVtZW50IG9yIGNvbXBvbmVudCBzaG91bGQgYmUgdXNlZFxuICogdG8gcmVuZGVyIGEgc3BlY2lmaWMgcHJvcGVydHksIGFsb25nIHdpdGggYW55IGFkZGl0aW9uYWwgcHJvcGVydGllcyB0byBwYXNzIHRvIHRoYXQgZWxlbWVudC5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gdGFnIFRoZSBIVE1MIGVsZW1lbnQgb3IgY29tcG9uZW50IHRhZyBuYW1lIHRvIHVzZSBmb3IgcmVuZGVyaW5nXG4gKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT59IFtwcm9wc10gQWRkaXRpb25hbCBwcm9wZXJ0aWVzIHRvIHBhc3MgdG8gdGhlIGVsZW1lbnRcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW3NlcmlhbGl6ZT1mYWxzZV0gV2hldGhlciB0aGUgcHJvcGVydHkgc2hvdWxkIGJlIHNlcmlhbGl6ZWRcbiAqIEByZXR1cm4ge0Z1bmN0aW9ufSBBIHByb3BlcnR5IGRlY29yYXRvciBmdW5jdGlvblxuICpcbiAqIEBmdW5jdGlvbiB1aWVsZW1lbnRcbiAqIEBjYXRlZ29yeSBQcm9wZXJ0eSBEZWNvcmF0b3JzXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFJlbmRlciBhIHByb3BlcnR5IGFzIGEgdGV4dCBpbnB1dFxuICogY2xhc3MgTG9naW5Gb3JtIHtcbiAqICAgQGF0dHJpYnV0ZSgpXG4gKiAgIEB1aWVsZW1lbnQoJ2lucHV0JywgeyB0eXBlOiAndGV4dCcsIHBsYWNlaG9sZGVyOiAnRW50ZXIgdXNlcm5hbWUnIH0pXG4gKiAgIHVzZXJuYW1lOiBzdHJpbmc7XG4gKlxuICogICBAYXR0cmlidXRlKClcbiAqICAgQHVpZWxlbWVudCgnaW5wdXQnLCB7IHR5cGU6ICdwYXNzd29yZCcsIHBsYWNlaG9sZGVyOiAnRW50ZXIgcGFzc3dvcmQnIH0pXG4gKiAgIHBhc3N3b3JkOiBzdHJpbmc7XG4gKlxuICogICBAYXR0cmlidXRlKClcbiAqICAgQHVpZWxlbWVudCgnYnV0dG9uJywgeyBjbGFzczogJ2J0bi1wcmltYXJ5JyB9KVxuICogICBzdWJtaXQ6IHN0cmluZyA9ICdMb2dpbic7XG4gKiB9XG4gKlxuICogQG1lcm1haWRcbiAqIHNlcXVlbmNlRGlhZ3JhbVxuICogICBwYXJ0aWNpcGFudCBNb2RlbFxuICogICBwYXJ0aWNpcGFudCB1aWVsZW1lbnRcbiAqICAgcGFydGljaXBhbnQgUmVuZGVyaW5nRW5naW5lXG4gKiAgIHBhcnRpY2lwYW50IFVJXG4gKiAgIE1vZGVsLT4+dWllbGVtZW50OiBBcHBseSB0byBwcm9wZXJ0eVxuICogICB1aWVsZW1lbnQtPj5Nb2RlbDogQWRkIGVsZW1lbnQgbWV0YWRhdGFcbiAqICAgUmVuZGVyaW5nRW5naW5lLT4+TW9kZWw6IEdldCBlbGVtZW50IG1ldGFkYXRhXG4gKiAgIE1vZGVsLT4+UmVuZGVyaW5nRW5naW5lOiBSZXR1cm4gdGFnIGFuZCBwcm9wc1xuICogICBSZW5kZXJpbmdFbmdpbmUtPj5VSTogUmVuZGVyIHdpdGggc3BlY2lmaWVkIGVsZW1lbnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVpZWxlbWVudChcbiAgdGFnOiBzdHJpbmcsXG4gIHByb3BzPzogUmVjb3JkPHN0cmluZywgYW55PixcbiAgc2VyaWFsaXplOiBib29sZWFuID0gZmFsc2Vcbikge1xuICByZXR1cm4gKG9yaWdpbmFsOiBhbnksIHByb3BlcnR5S2V5PzogYW55KSA9PiB7XG4gICAgY29uc3QgbWV0YWRhdGE6IFVJRWxlbWVudE1ldGFkYXRhID0ge1xuICAgICAgdGFnOiB0YWcsXG4gICAgICBzZXJpYWxpemU6IHNlcmlhbGl6ZSxcbiAgICAgIHByb3BzOiBPYmplY3QuYXNzaWduKHt9LCBwcm9wcyB8fCB7fSwge1xuICAgICAgICBuYW1lOiBwcm9wZXJ0eUtleSxcbiAgICAgIH0pLFxuICAgIH07XG5cbiAgICByZXR1cm4gcHJvcE1ldGFkYXRhKFJlbmRlcmluZ0VuZ2luZS5rZXkoVUlLZXlzLkVMRU1FTlQpLCBtZXRhZGF0YSkoXG4gICAgICBvcmlnaW5hbCxcbiAgICAgIHByb3BlcnR5S2V5XG4gICAgKTtcbiAgfTtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gRGVjb3JhdG9yIHRoYXQgbWFwcyBhIG1vZGVsIHByb3BlcnR5IHRvIGEgVUkgY29tcG9uZW50IHByb3BlcnR5XG4gKiBAc3VtbWFyeSBTcGVjaWZpZXMgaG93IGEgcHJvcGVydHkgc2hvdWxkIGJlIHBhc3NlZCB0byBhIFVJIGNvbXBvbmVudFxuICogVGhpcyBkZWNvcmF0b3IgYWxsb3dzIHlvdSB0byBkZWZpbmUgaG93IGEgbW9kZWwgcHJvcGVydHkgc2hvdWxkIGJlIG1hcHBlZCB0b1xuICogYSBwcm9wZXJ0eSBvZiB0aGUgVUkgY29tcG9uZW50IHdoZW4gcmVuZGVyaW5nLiBJdCByZXF1aXJlcyB0aGUgY2xhc3MgdG8gYmVcbiAqIGRlY29yYXRlZCB3aXRoIEB1aW1vZGVsLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBbcHJvcE5hbWVdIFRoZSBuYW1lIG9mIHRoZSBwcm9wZXJ0eSB0byBwYXNzIHRvIHRoZSBjb21wb25lbnQgKGRlZmF1bHRzIHRvIHRoZSBwcm9wZXJ0eSBrZXkpXG4gKiBAcGFyYW0ge2Jvb2xlYW59IFtzdHJpbmdpZnk9ZmFsc2VdIFdoZXRoZXIgdG8gc3RyaW5naWZ5IHRoZSBwcm9wZXJ0eSB2YWx1ZVxuICogQHJldHVybiB7RnVuY3Rpb259IEEgcHJvcGVydHkgZGVjb3JhdG9yIGZ1bmN0aW9uXG4gKlxuICogQGZ1bmN0aW9uIHVpcHJvcFxuICogQGNhdGVnb3J5IFByb3BlcnR5IERlY29yYXRvcnNcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gTWFwIG1vZGVsIHByb3BlcnRpZXMgdG8gY29tcG9uZW50IHByb3BlcnRpZXNcbiAqIEB1aW1vZGVsKCd1c2VyLXByb2ZpbGUnKVxuICogY2xhc3MgVXNlclByb2ZpbGUge1xuICogICBAYXR0cmlidXRlKClcbiAqICAgQHVpcHJvcCgpIC8vIFdpbGwgYmUgcGFzc2VkIGFzICdmdWxsTmFtZScgdG8gdGhlIGNvbXBvbmVudFxuICogICBmdWxsTmFtZTogc3RyaW5nO1xuICpcbiAqICAgQGF0dHJpYnV0ZSgpXG4gKiAgIEB1aXByb3AoJ3VzZXJFbWFpbCcpIC8vIFdpbGwgYmUgcGFzc2VkIGFzICd1c2VyRW1haWwnIHRvIHRoZSBjb21wb25lbnRcbiAqICAgZW1haWw6IHN0cmluZztcbiAqXG4gKiAgIEBhdHRyaWJ1dGUoKVxuICogICBAdWlwcm9wKCd1c2VyRGF0YScsIHRydWUpIC8vIFdpbGwgYmUgcGFzc2VkIGFzIHN0cmluZ2lmaWVkIEpTT05cbiAqICAgdXNlckRhdGE6IFJlY29yZDxzdHJpbmcsIGFueT47XG4gKiB9XG4gKlxuICogQG1lcm1haWRcbiAqIHNlcXVlbmNlRGlhZ3JhbVxuICogICBwYXJ0aWNpcGFudCBNb2RlbFxuICogICBwYXJ0aWNpcGFudCB1aXByb3BcbiAqICAgcGFydGljaXBhbnQgUmVuZGVyaW5nRW5naW5lXG4gKiAgIHBhcnRpY2lwYW50IENvbXBvbmVudFxuICogICBNb2RlbC0+PnVpcHJvcDogQXBwbHkgdG8gcHJvcGVydHlcbiAqICAgdWlwcm9wLT4+TW9kZWw6IEFkZCBwcm9wIG1ldGFkYXRhXG4gKiAgIFJlbmRlcmluZ0VuZ2luZS0+Pk1vZGVsOiBHZXQgcHJvcCBtZXRhZGF0YVxuICogICBNb2RlbC0+PlJlbmRlcmluZ0VuZ2luZTogUmV0dXJuIHByb3AgbmFtZSBhbmQgc3RyaW5naWZ5IGZsYWdcbiAqICAgUmVuZGVyaW5nRW5naW5lLT4+Q29tcG9uZW50OiBQYXNzIHByb3BlcnR5IHdpdGggc3BlY2lmaWVkIG5hbWVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVpcHJvcChcbiAgcHJvcE5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCxcbiAgc3RyaW5naWZ5OiBib29sZWFuID0gZmFsc2Vcbikge1xuICByZXR1cm4gKHRhcmdldDogYW55LCBwcm9wZXJ0eUtleTogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgbWV0YWRhdGE6IFVJUHJvcE1ldGFkYXRhID0ge1xuICAgICAgbmFtZTogcHJvcE5hbWUgfHwgcHJvcGVydHlLZXksXG4gICAgICBzdHJpbmdpZnk6IHN0cmluZ2lmeSxcbiAgICB9O1xuICAgIHByb3BNZXRhZGF0YShSZW5kZXJpbmdFbmdpbmUua2V5KFVJS2V5cy5QUk9QKSwgbWV0YWRhdGEpKFxuICAgICAgdGFyZ2V0LFxuICAgICAgcHJvcGVydHlLZXlcbiAgICApO1xuICB9O1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBEZWNvcmF0b3IgdGhhdCBtYXBzIGEgbmVzdGVkIG1vZGVsIHByb3BlcnR5IHRvIGEgVUkgY29tcG9uZW50IHByb3BlcnR5LlxuICogQHN1bW1hcnkgRGVmaW5lcyBob3cgYSBwYXJlbnQgY29tcG9uZW50IHNob3VsZCByZW5kZXIgdGhlIGNoaWxkIG1vZGVsIHdoZW4gbmVzdGVkLlxuICpcbiAqIFRoaXMgZGVjb3JhdG9yIGlzIHVzZWQgdG8gZGVjb3JhdGUgcHJvcGVydGllcyB0aGF0IGFyZSBuZXN0ZWQgbW9kZWxzLlxuICogV2hlbiBhcHBsaWVkLCBpdCBhbGxvd3Mgb3ZlcnJpZGluZyB0aGUgZGVmYXVsdCB0YWcgb2YgdGhlIGNoaWxkIG1vZGVsIHdpdGggdGhlIHByb3ZpZGVkIG9uZSxcbiAqIGVuYWJsaW5nIGRpZmZlcmVudCByZW5kZXJpbmcgYmVoYXZpb3Igd2hlbiB0aGUgbW9kZWwgYWN0cyBhcyBhIGNoaWxkIChuZXN0ZWQpXG4gKiBjb21wYXJlZCB0byB3aGVuIGl0IGlzIHJlbmRlcmVkIGFzIHRoZSBwYXJlbnQgbW9kZWwuXG4gKlxuICogSXQgcmVxdWlyZXMgdGhlIGNsYXNzIHRvIGJlIGRlY29yYXRlZCB3aXRoIGBAdWltb2RlbGAuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGNsYXp6IFRoZSBtb2RlbCBjbGFzcyBuYW1lIHRvIHBhc3MgdG8gdGhlIGNvbXBvbmVudCAoZGVmYXVsdHMgdG8gdGhlIHByb3BlcnR5IGtleSkuXG4gKiBAcGFyYW0ge3N0cmluZ30gdGFnIFRoZSBIVE1MIGVsZW1lbnQgb3IgY29tcG9uZW50IHRhZyBuYW1lIHRvIG92ZXJyaWRlIHRoZSBVSSB0YWcgb2YgdGhlIG5lc3RlZCBtb2RlbFxuICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSBbcHJvcHNdIEFkZGl0aW9uYWwgcHJvcGVydGllcyB0byBwYXNzIHRvIHRoZSBlbGVtZW50XG4gKiBAcGFyYW0ge2Jvb2xlYW59IFtzZXJpYWxpemU9ZmFsc2VdIFdoZXRoZXIgdGhlIHByb3BlcnR5IHNob3VsZCBiZSBzZXJpYWxpemVkXG4gKiBAcmV0dXJuIHtGdW5jdGlvbn0gQSBwcm9wZXJ0eSBkZWNvcmF0b3IgZnVuY3Rpb24uXG4gKlxuICogQGZ1bmN0aW9uIHVpY2hpbGRcbiAqIEBjYXRlZ29yeSBQcm9wZXJ0eSBEZWNvcmF0b3JzXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIE1hcCBhIG5lc3RlZCBtb2RlbCB0byBhIGNvbXBvbmVudCBwcm9wZXJ0eSB3aXRoIGEgZGlmZmVyZW50IHRhZyB3aGVuIG5lc3RlZFxuICogQHVpbW9kZWwoJ2FkZHJlc3MtY29tcG9uZW50JylcbiAqIGNsYXNzIEFkZHJlc3Mge1xuICogICBAYXR0cmlidXRlKClcbiAqICAgc3RyZWV0OiBzdHJpbmc7XG4gKlxuICogICBAYXR0cmlidXRlKClcbiAqICAgY2l0eTogc3RyaW5nO1xuICogfVxuICpcbiAqIEB1aW1vZGVsKCd1c2VyLXByb2ZpbGUnKVxuICogY2xhc3MgVXNlclByb2ZpbGUge1xuICogICBAYXR0cmlidXRlKClcbiAqICAgQHVpY2hpbGQoQWRkcmVzcy5uYW1lLCAnYWRkcmVzcy1jaGlsZC1jb21wb25lbnQnKVxuICogICBhZGRyZXNzOiBBZGRyZXNzO1xuICogfVxuICpcbiAqIC8vIEluIHRoaXMgZXhhbXBsZSwgdGhlIEFkZHJlc3MgbW9kZWwgaGFzIHRoZSBkZWZhdWx0IHRhZyAnYWRkcmVzcy1jb21wb25lbnQnIHdoZW4gcmVuZGVyZWQgYXMgYSByb290IGNvbXBvbmVudCxcbiAqIC8vIGJ1dCB3aGVuIHVzZWQgaW5zaWRlIFVzZXJQcm9maWxlLCBpdCBpcyByZW5kZXJlZCB3aXRoIHRoZSBvdmVycmlkZGVuIHRhZyAnYWRkcmVzcy1jaGlsZC1jb21wb25lbnQnXG4gKlxuICogQG1lcm1haWRcbiAqIHNlcXVlbmNlRGlhZ3JhbVxuICogICBwYXJ0aWNpcGFudCBNb2RlbFxuICogICBwYXJ0aWNpcGFudCB1aWNoaWxkXG4gKiAgIHBhcnRpY2lwYW50IFJlbmRlcmluZ0VuZ2luZVxuICogICBwYXJ0aWNpcGFudCBDb21wb25lbnRcbiAqICAgTW9kZWwtPj51aWNoaWxkOiBBcHBseSB0byBwcm9wZXJ0eVxuICogICB1aWNoaWxkLT4+TW9kZWw6IEFkZCBjaGlsZCBtZXRhZGF0YVxuICogICBSZW5kZXJpbmdFbmdpbmUtPj5Nb2RlbDogR2V0IGNoaWxkIG1ldGFkYXRhXG4gKiAgIE1vZGVsLT4+UmVuZGVyaW5nRW5naW5lOiBSZXR1cm4gcHJvcCBuYW1lLCBzdHJpbmdpZnkgZmxhZywgYW5kIGNoaWxkIHRhZyBvdmVycmlkZVxuICogICBSZW5kZXJpbmdFbmdpbmUtPj5Db21wb25lbnQ6IFBhc3MgcHJvcGVydHkgd2l0aCBzcGVjaWZpZWQgbmFtZSBhbmQgcmVuZGVyIHdpdGggb3ZlcnJpZGRlbiB0YWcgaWYgbmVzdGVkXG4gKi9cblxuZXhwb3J0IGZ1bmN0aW9uIHVpY2hpbGQoXG4gIGNsYXp6OiBzdHJpbmcsXG4gIHRhZzogc3RyaW5nLFxuICBwcm9wczogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9LFxuICBzZXJpYWxpemU6IGJvb2xlYW4gPSBmYWxzZVxuKSB7XG4gIHJldHVybiAodGFyZ2V0OiBhbnksIHByb3BlcnR5S2V5OiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCBtZXRhZGF0YTogVUlFbGVtZW50TWV0YWRhdGEgPSB7XG4gICAgICB0YWc6IHRhZyxcbiAgICAgIHNlcmlhbGl6ZTogc2VyaWFsaXplLFxuICAgICAgcHJvcHM6IE9iamVjdC5hc3NpZ24oe30sIHByb3BzIHx8IHt9LCB7XG4gICAgICAgIG5hbWU6IGNsYXp6IHx8IHByb3BlcnR5S2V5LFxuICAgICAgfSksXG4gICAgfTtcblxuICAgIHByb3BNZXRhZGF0YShSZW5kZXJpbmdFbmdpbmUua2V5KFVJS2V5cy5DSElMRCksIG1ldGFkYXRhKShcbiAgICAgIHRhcmdldCxcbiAgICAgIHByb3BlcnR5S2V5XG4gICAgKTtcbiAgfTtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gRGVjb3JhdG9yIHRoYXQgbWFwcyBhIG1vZGVsIHByb3BlcnR5IHRvIGEgbGlzdCBpdGVtIGNvbXBvbmVudFxuICogQHN1bW1hcnkgU3BlY2lmaWVzIGhvdyBhIHByb3BlcnR5IHNob3VsZCBiZSByZW5kZXJlZCBpbiBhIGxpc3QgY29udGV4dFxuICogVGhpcyBkZWNvcmF0b3IgYWxsb3dzIHlvdSB0byBkZWZpbmUgaG93IGEgbW9kZWwgcHJvcGVydHkgY29udGFpbmluZyBhIGxpc3RcbiAqIHNob3VsZCBiZSByZW5kZXJlZC4gSXQgcmVxdWlyZXMgdGhlIGNsYXNzIHRvIGJlIGRlY29yYXRlZCB3aXRoIEB1aWxpc3RpdGVtLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBbcHJvcE5hbWVdIFRoZSBuYW1lIG9mIHRoZSBwcm9wZXJ0eSB0byBwYXNzIHRvIHRoZSBsaXN0IGNvbXBvbmVudCAoZGVmYXVsdHMgdG8gdGhlIHByb3BlcnR5IGtleSlcbiAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgYW55Pn0gW3Byb3BzXSBBZGRpdGlvbmFsIHByb3BlcnRpZXMgdG8gcGFzcyB0byB0aGUgbGlzdCBjb250YWluZXJcbiAqIEByZXR1cm4ge0Z1bmN0aW9ufSBBIHByb3BlcnR5IGRlY29yYXRvciBmdW5jdGlvblxuICpcbiAqIEBmdW5jdGlvbiB1aWxpc3Rwcm9wXG4gKiBAY2F0ZWdvcnkgUHJvcGVydHkgRGVjb3JhdG9yc1xuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBEZWZpbmUgYSBsaXN0IHByb3BlcnR5IHdpdGggY3VzdG9tIHJlbmRlcmluZ1xuICogQHVpbW9kZWwoJ3RvZG8tbGlzdCcpXG4gKiBjbGFzcyBUb2RvTGlzdCB7XG4gKiAgIEBhdHRyaWJ1dGUoKVxuICogICB0aXRsZTogc3RyaW5nO1xuICpcbiAqICAgQGF0dHJpYnV0ZSgpXG4gKiAgIEB1aWxpc3Rwcm9wKCdpdGVtcycsIHsgY2xhc3M6ICd0b2RvLWl0ZW1zLWNvbnRhaW5lcicgfSlcbiAqICAgaXRlbXM6IFRvZG9JdGVtW107XG4gKiB9XG4gKlxuICogQHVpbGlzdGl0ZW0oJ2xpJywgeyBjbGFzczogJ3RvZG8taXRlbScgfSlcbiAqIGNsYXNzIFRvZG9JdGVtIGV4dGVuZHMgTW9kZWwge1xuICogICBAYXR0cmlidXRlKClcbiAqICAgdGV4dDogc3RyaW5nO1xuICpcbiAqICAgQGF0dHJpYnV0ZSgpXG4gKiAgIGNvbXBsZXRlZDogYm9vbGVhbjtcbiAqIH1cbiAqXG4gKiBAbWVybWFpZFxuICogc2VxdWVuY2VEaWFncmFtXG4gKiAgIHBhcnRpY2lwYW50IE1vZGVsXG4gKiAgIHBhcnRpY2lwYW50IHVpbGlzdHByb3BcbiAqICAgcGFydGljaXBhbnQgUmVuZGVyaW5nRW5naW5lXG4gKiAgIHBhcnRpY2lwYW50IExpc3RDb250YWluZXJcbiAqICAgcGFydGljaXBhbnQgTGlzdEl0ZW1zXG4gKiAgIE1vZGVsLT4+dWlsaXN0cHJvcDogQXBwbHkgdG8gcHJvcGVydHlcbiAqICAgdWlsaXN0cHJvcC0+Pk1vZGVsOiBBZGQgbGlzdCBwcm9wIG1ldGFkYXRhXG4gKiAgIFJlbmRlcmluZ0VuZ2luZS0+Pk1vZGVsOiBHZXQgbGlzdCBwcm9wIG1ldGFkYXRhXG4gKiAgIE1vZGVsLT4+UmVuZGVyaW5nRW5naW5lOiBSZXR1cm4gcHJvcCBuYW1lIGFuZCBjb250YWluZXIgcHJvcHNcbiAqICAgUmVuZGVyaW5nRW5naW5lLT4+TGlzdENvbnRhaW5lcjogQ3JlYXRlIGNvbnRhaW5lciB3aXRoIHByb3BzXG4gKiAgIFJlbmRlcmluZ0VuZ2luZS0+Pkxpc3RJdGVtczogUmVuZGVyIGVhY2ggaXRlbSB1c2luZyBAdWlsaXN0aXRlbVxuICogICBMaXN0Q29udGFpbmVyLT4+UmVuZGVyaW5nRW5naW5lOiBSZXR1cm4gcmVuZGVyZWQgbGlzdFxuICovXG5leHBvcnQgZnVuY3Rpb24gdWlsaXN0cHJvcChcbiAgcHJvcE5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCxcbiAgcHJvcHM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+XG4pIHtcbiAgcmV0dXJuICh0YXJnZXQ6IGFueSwgcHJvcGVydHlLZXk6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IG1ldGFkYXRhOiBQYXJ0aWFsPFVJTGlzdFByb3BNZXRhZGF0YT4gPSB7XG4gICAgICBuYW1lOiBwcm9wTmFtZSB8fCBwcm9wZXJ0eUtleSxcbiAgICAgIHByb3BzOiBwcm9wcyB8fCB7fSxcbiAgICB9O1xuICAgIHByb3BNZXRhZGF0YShSZW5kZXJpbmdFbmdpbmUua2V5KFVJS2V5cy5VSUxJU1RQUk9QKSwgbWV0YWRhdGEpKFxuICAgICAgdGFyZ2V0LFxuICAgICAgcHJvcGVydHlLZXlcbiAgICApO1xuICB9O1xufVxuIl19
311
+ /**
312
+ * @description Decorator that positions a property in a specific grid layout position
313
+ * @summary Specifies the column and row position for a property in a UI layout grid
314
+ * This decorator allows you to define the specific position of a property within
315
+ * a grid-based layout system. It specifies which column and row the property
316
+ * should occupy when rendered in the UI.
317
+ *
318
+ * @param {number} col The column position in the grid layout
319
+ * @param {number} [row=1] The row position in the grid layout (defaults to 1)
320
+ * @param {Record<string, any>} [props={}] Additional properties to pass to the layout item
321
+ * @return {Function} A property decorator function
322
+ *
323
+ * @function uilayoutitem
324
+ * @category Property Decorators
325
+ *
326
+ * @example
327
+ * // Position properties in a grid layout
328
+ * @uimodel('user-form')
329
+ * class UserForm {
330
+ * @attribute()
331
+ * @uilayoutitem(1, 1) // First column, first row
332
+ * firstName: string;
333
+ *
334
+ * @attribute()
335
+ * @uilayoutitem(2, 1) // Second column, first row
336
+ * lastName: string;
337
+ *
338
+ * @attribute()
339
+ * @uilayoutitem(1, 2, { colspan: 2 }) // First column, second row, spans 2 columns
340
+ * email: string;
341
+ *
342
+ * @attribute()
343
+ * @uilayoutitem(1, 3, { class: 'full-width' }) // First column, third row with custom class
344
+ * bio: string;
345
+ * }
346
+ *
347
+ * @mermaid
348
+ * sequenceDiagram
349
+ * participant Model
350
+ * participant uilayoutitem
351
+ * participant RenderingEngine
352
+ * participant LayoutContainer
353
+ * Model->>uilayoutitem: Apply to property
354
+ * uilayoutitem->>Model: Add layout item metadata
355
+ * RenderingEngine->>Model: Get layout item metadata
356
+ * Model->>RenderingEngine: Return column, row, and props
357
+ * RenderingEngine->>LayoutContainer: Position element at grid coordinates
358
+ * LayoutContainer->>RenderingEngine: Return positioned element
359
+ */
360
+ export function uilayoutitem(col, row = 1, props = {}) {
361
+ return (target, propertyKey) => {
362
+ const metadata = {
363
+ name: propertyKey,
364
+ col,
365
+ row,
366
+ props: Object.assign({}, props),
367
+ };
368
+ propMetadata(RenderingEngine.key(UIKeys.UILAYOUTITEM), metadata)(target, propertyKey);
369
+ };
370
+ }
371
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91aS9kZWNvcmF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLE1BQU0sRUFBRSx1QkFBb0I7QUFDckMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBUTlELE9BQU8sRUFBRSxlQUFlLEVBQUUsdUJBQW9CO0FBQzlDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV4RDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtDRztBQUNILE1BQU0sVUFBVSxNQUFNLENBQUMsR0FBRyxVQUErQjtJQUN2RCxPQUFPLFlBQVksQ0FDakIsZUFBZSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQ2xDLFVBQVUsQ0FDWCxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0NHO0FBQ0gsTUFBTSxVQUFVLE1BQU07SUFDcEIsT0FBTyxNQUFNLENBQ1gsYUFBYSxDQUFDLE1BQU0sRUFDcEIsYUFBYSxDQUFDLElBQUksRUFDbEIsYUFBYSxDQUFDLE1BQU0sRUFDcEIsYUFBYSxDQUFDLE1BQU0sQ0FDckIsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F5Q0c7QUFDSCxNQUFNLFVBQVUsU0FBUyxDQUN2QixHQUFXLEVBQ1gsS0FBMkIsRUFDM0IsWUFBcUIsS0FBSztJQUUxQixPQUFPLENBQUMsUUFBYSxFQUFFLFdBQWlCLEVBQUUsRUFBRTtRQUMxQyxNQUFNLFFBQVEsR0FBc0I7WUFDbEMsR0FBRyxFQUFFLEdBQUc7WUFDUixTQUFTLEVBQUUsU0FBUztZQUNwQixLQUFLLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsS0FBSyxJQUFJLEVBQUUsRUFBRTtnQkFDcEMsSUFBSSxFQUFFLFdBQVc7YUFDbEIsQ0FBQztTQUNILENBQUM7UUFFRixPQUFPLFlBQVksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FDaEUsUUFBUSxFQUNSLFdBQVcsQ0FDWixDQUFDO0lBQ0osQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwQ0c7QUFDSCxNQUFNLFVBQVUsTUFBTSxDQUNwQixXQUErQixTQUFTLEVBQ3hDLFlBQXFCLEtBQUs7SUFFMUIsT0FBTyxDQUFDLE1BQVcsRUFBRSxXQUFtQixFQUFFLEVBQUU7UUFDMUMsTUFBTSxRQUFRLEdBQW1CO1lBQy9CLElBQUksRUFBRSxRQUFRLElBQUksV0FBVztZQUM3QixTQUFTLEVBQUUsU0FBUztTQUNyQixDQUFDO1FBQ0YsWUFBWSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUN0RCxNQUFNLEVBQ04sV0FBVyxDQUNaLENBQUM7SUFDSixDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvREc7QUFFSCxNQUFNLFVBQVUsT0FBTyxDQUNyQixLQUFhLEVBQ2IsR0FBVyxFQUNYLFFBQTZCLEVBQUUsRUFDL0IsWUFBcUIsS0FBSztJQUUxQixPQUFPLENBQUMsTUFBVyxFQUFFLFdBQW1CLEVBQUUsRUFBRTtRQUMxQyxNQUFNLFFBQVEsR0FBc0I7WUFDbEMsR0FBRyxFQUFFLEdBQUc7WUFDUixTQUFTLEVBQUUsU0FBUztZQUNwQixLQUFLLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsS0FBSyxJQUFJLEVBQUUsRUFBRTtnQkFDcEMsSUFBSSxFQUFFLEtBQUssSUFBSSxXQUFXO2FBQzNCLENBQUM7U0FDSCxDQUFDO1FBRUYsWUFBWSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUN2RCxNQUFNLEVBQ04sV0FBVyxDQUNaLENBQUM7SUFDSixDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWdERztBQUNILE1BQU0sVUFBVSxVQUFVLENBQ3hCLFdBQStCLFNBQVMsRUFDeEMsS0FBMkI7SUFFM0IsT0FBTyxDQUFDLE1BQVcsRUFBRSxXQUFtQixFQUFFLEVBQUU7UUFDMUMsTUFBTSxRQUFRLEdBQWdDO1lBQzVDLElBQUksRUFBRSxRQUFRLElBQUksV0FBVztZQUM3QixLQUFLLEVBQUUsS0FBSyxJQUFJLEVBQUU7U0FDbkIsQ0FBQztRQUNGLFlBQVksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FDNUQsTUFBTSxFQUNOLFdBQVcsQ0FDWixDQUFDO0lBQ0osQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnREc7QUFDSCxNQUFNLFVBQVUsWUFBWSxDQUMxQixHQUFXLEVBQ1gsTUFBYyxDQUFDLEVBQ2YsUUFBNkIsRUFBRTtJQUUvQixPQUFPLENBQUMsTUFBVyxFQUFFLFdBQW1CLEVBQUUsRUFBRTtRQUMxQyxNQUFNLFFBQVEsR0FBeUI7WUFDckMsSUFBSSxFQUFHLFdBQVc7WUFDbEIsR0FBRztZQUNILEdBQUc7WUFDSCxLQUFLLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDO1NBQ2hDLENBQUM7UUFDRixZQUFZLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQzlELE1BQU0sRUFDTixXQUFXLENBQ1osQ0FBQztJQUNKLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJyZWZsZWN0LW1ldGFkYXRhXCI7XG5pbXBvcnQgeyBVSUtleXMgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IHByb3BNZXRhZGF0YSB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7XG4gIENydWRPcGVyYXRpb25LZXlzLFxuICBVSUVsZW1lbnRNZXRhZGF0YSxcbiAgVUlMYXlvdXRJdGVtTWV0YWRhdGEsXG4gIFVJTGlzdFByb3BNZXRhZGF0YSxcbiAgVUlQcm9wTWV0YWRhdGEsXG59IGZyb20gXCIuL3R5cGVzXCI7XG5pbXBvcnQgeyBSZW5kZXJpbmdFbmdpbmUgfSBmcm9tIFwiLi9SZW5kZXJpbmdcIjtcbmltcG9ydCB7IE9wZXJhdGlvbktleXMgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gRGVjb3JhdG9yIHRoYXQgaGlkZXMgYSBwcm9wZXJ0eSBkdXJpbmcgc3BlY2lmaWMgQ1JVRCBvcGVyYXRpb25zXG4gKiBAc3VtbWFyeSBDb250cm9scyBwcm9wZXJ0eSB2aXNpYmlsaXR5IGJhc2VkIG9uIG9wZXJhdGlvbiB0eXBlXG4gKiBUaGlzIGRlY29yYXRvciBhbGxvd3MgeW91IHRvIHNwZWNpZnkgd2hpY2ggQ1JVRCBvcGVyYXRpb25zIHNob3VsZCBoaWRlIGEgcHJvcGVydHlcbiAqIGluIHRoZSBVSS4gVGhlIHByb3BlcnR5IHdpbGwgb25seSBiZSB2aXNpYmxlIGR1cmluZyBvcGVyYXRpb25zIG5vdCBzcGVjaWZpZWQuXG4gKlxuICogQHBhcmFtIG9wZXJhdGlvbnMgLSBUaGUgQ1JVRCBvcGVyYXRpb25zIGR1cmluZyB3aGljaCB0aGUgcHJvcGVydHkgc2hvdWxkIGJlIGhpZGRlblxuICogQHJldHVybiB7RnVuY3Rpb259IEEgcHJvcGVydHkgZGVjb3JhdG9yIGZ1bmN0aW9uXG4gKlxuICogQGZ1bmN0aW9uIGhpZGVPblxuICogQGNhdGVnb3J5IFByb3BlcnR5IERlY29yYXRvcnNcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gSGlkZSB0aGUgcGFzc3dvcmQgZmllbGQgZHVyaW5nIFJFQUQgb3BlcmF0aW9uc1xuICogY2xhc3MgVXNlciB7XG4gKiAgIEBhdHRyaWJ1dGUoKVxuICogICB1c2VybmFtZTogc3RyaW5nO1xuICpcbiAqICAgQGF0dHJpYnV0ZSgpXG4gKiAgIEBoaWRlT24oT3BlcmF0aW9uS2V5cy5SRUFEKVxuICogICBwYXNzd29yZDogc3RyaW5nO1xuICogfVxuICpcbiAqIEBtZXJtYWlkXG4gKiBzZXF1ZW5jZURpYWdyYW1cbiAqICAgcGFydGljaXBhbnQgTW9kZWxcbiAqICAgcGFydGljaXBhbnQgaGlkZU9uXG4gKiAgIHBhcnRpY2lwYW50IFJlbmRlcmluZ0VuZ2luZVxuICogICBwYXJ0aWNpcGFudCBVSVxuICogICBNb2RlbC0+PmhpZGVPbjogQXBwbHkgdG8gcHJvcGVydHlcbiAqICAgaGlkZU9uLT4+TW9kZWw6IEFkZCBoaWRkZW4gbWV0YWRhdGFcbiAqICAgUmVuZGVyaW5nRW5naW5lLT4+TW9kZWw6IENoZWNrIGlmIHByb3BlcnR5IHNob3VsZCBiZSBoaWRkZW5cbiAqICAgTW9kZWwtPj5SZW5kZXJpbmdFbmdpbmU6IFJldHVybiBoaWRkZW4gb3BlcmF0aW9uc1xuICogICBSZW5kZXJpbmdFbmdpbmUtPj5VSTogUmVuZGVyIG9yIGhpZGUgYmFzZWQgb24gY3VycmVudCBvcGVyYXRpb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhpZGVPbiguLi5vcGVyYXRpb25zOiBDcnVkT3BlcmF0aW9uS2V5c1tdKSB7XG4gIHJldHVybiBwcm9wTWV0YWRhdGE8Q3J1ZE9wZXJhdGlvbktleXNbXT4oXG4gICAgUmVuZGVyaW5nRW5naW5lLmtleShVSUtleXMuSElEREVOKSxcbiAgICBvcGVyYXRpb25zXG4gICk7XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIERlY29yYXRvciB0aGF0IGNvbXBsZXRlbHkgaGlkZXMgYSBwcm9wZXJ0eSBpbiBhbGwgVUkgb3BlcmF0aW9uc1xuICogQHN1bW1hcnkgTWFrZXMgYSBwcm9wZXJ0eSBpbnZpc2libGUgaW4gYWxsIENSVUQgb3BlcmF0aW9uc1xuICogVGhpcyBkZWNvcmF0b3IgaXMgYSBjb252ZW5pZW5jZSB3cmFwcGVyIGFyb3VuZCBoaWRlT24gdGhhdCBoaWRlcyBhIHByb3BlcnR5XG4gKiBkdXJpbmcgYWxsIENSVUQgb3BlcmF0aW9ucyAoQ1JFQVRFLCBSRUFELCBVUERBVEUsIERFTEVURSkuXG4gKlxuICogQHJldHVybiB7RnVuY3Rpb259IEEgcHJvcGVydHkgZGVjb3JhdG9yIGZ1bmN0aW9uXG4gKlxuICogQGZ1bmN0aW9uIGhpZGRlblxuICogQGNhdGVnb3J5IFByb3BlcnR5IERlY29yYXRvcnNcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gQ29tcGxldGVseSBoaWRlIHRoZSBpbnRlcm5hbElkIGZpZWxkIGluIHRoZSBVSVxuICogY2xhc3MgUHJvZHVjdCB7XG4gKiAgIEBhdHRyaWJ1dGUoKVxuICogICBuYW1lOiBzdHJpbmc7XG4gKlxuICogICBAYXR0cmlidXRlKClcbiAqICAgQGhpZGRlbigpXG4gKiAgIGludGVybmFsSWQ6IHN0cmluZztcbiAqIH1cbiAqXG4gKiBAbWVybWFpZFxuICogc2VxdWVuY2VEaWFncmFtXG4gKiAgIHBhcnRpY2lwYW50IE1vZGVsXG4gKiAgIHBhcnRpY2lwYW50IGhpZGRlblxuICogICBwYXJ0aWNpcGFudCBoaWRlT25cbiAqICAgcGFydGljaXBhbnQgUmVuZGVyaW5nRW5naW5lXG4gKiAgIE1vZGVsLT4+aGlkZGVuOiBBcHBseSB0byBwcm9wZXJ0eVxuICogICBoaWRkZW4tPj5oaWRlT246IENhbGwgd2l0aCBhbGwgb3BlcmF0aW9uc1xuICogICBoaWRlT24tPj5Nb2RlbDogQWRkIGhpZGRlbiBtZXRhZGF0YVxuICogICBSZW5kZXJpbmdFbmdpbmUtPj5Nb2RlbDogQ2hlY2sgaWYgcHJvcGVydHkgc2hvdWxkIGJlIGhpZGRlblxuICogICBNb2RlbC0+PlJlbmRlcmluZ0VuZ2luZTogUmV0dXJuIGFsbCBvcGVyYXRpb25zXG4gKiAgIFJlbmRlcmluZ0VuZ2luZS0+PlVJOiBBbHdheXMgaGlkZSBwcm9wZXJ0eVxuICovXG5leHBvcnQgZnVuY3Rpb24gaGlkZGVuKCkge1xuICByZXR1cm4gaGlkZU9uKFxuICAgIE9wZXJhdGlvbktleXMuQ1JFQVRFLFxuICAgIE9wZXJhdGlvbktleXMuUkVBRCxcbiAgICBPcGVyYXRpb25LZXlzLlVQREFURSxcbiAgICBPcGVyYXRpb25LZXlzLkRFTEVURVxuICApO1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBEZWNvcmF0b3IgdGhhdCBzcGVjaWZpZXMgaG93IGEgcHJvcGVydHkgc2hvdWxkIGJlIHJlbmRlcmVkIGFzIGEgVUkgZWxlbWVudFxuICogQHN1bW1hcnkgTWFwcyBhIG1vZGVsIHByb3BlcnR5IHRvIGEgc3BlY2lmaWMgVUkgZWxlbWVudCB3aXRoIGN1c3RvbSBwcm9wZXJ0aWVzXG4gKiBUaGlzIGRlY29yYXRvciBhbGxvd3MgeW91IHRvIGRlZmluZSB3aGljaCBIVE1MIGVsZW1lbnQgb3IgY29tcG9uZW50IHNob3VsZCBiZSB1c2VkXG4gKiB0byByZW5kZXIgYSBzcGVjaWZpYyBwcm9wZXJ0eSwgYWxvbmcgd2l0aCBhbnkgYWRkaXRpb25hbCBwcm9wZXJ0aWVzIHRvIHBhc3MgdG8gdGhhdCBlbGVtZW50LlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSB0YWcgVGhlIEhUTUwgZWxlbWVudCBvciBjb21wb25lbnQgdGFnIG5hbWUgdG8gdXNlIGZvciByZW5kZXJpbmdcbiAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgYW55Pn0gW3Byb3BzXSBBZGRpdGlvbmFsIHByb3BlcnRpZXMgdG8gcGFzcyB0byB0aGUgZWxlbWVudFxuICogQHBhcmFtIHtib29sZWFufSBbc2VyaWFsaXplPWZhbHNlXSBXaGV0aGVyIHRoZSBwcm9wZXJ0eSBzaG91bGQgYmUgc2VyaWFsaXplZFxuICogQHJldHVybiB7RnVuY3Rpb259IEEgcHJvcGVydHkgZGVjb3JhdG9yIGZ1bmN0aW9uXG4gKlxuICogQGZ1bmN0aW9uIHVpZWxlbWVudFxuICogQGNhdGVnb3J5IFByb3BlcnR5IERlY29yYXRvcnNcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gUmVuZGVyIGEgcHJvcGVydHkgYXMgYSB0ZXh0IGlucHV0XG4gKiBjbGFzcyBMb2dpbkZvcm0ge1xuICogICBAYXR0cmlidXRlKClcbiAqICAgQHVpZWxlbWVudCgnaW5wdXQnLCB7IHR5cGU6ICd0ZXh0JywgcGxhY2Vob2xkZXI6ICdFbnRlciB1c2VybmFtZScgfSlcbiAqICAgdXNlcm5hbWU6IHN0cmluZztcbiAqXG4gKiAgIEBhdHRyaWJ1dGUoKVxuICogICBAdWllbGVtZW50KCdpbnB1dCcsIHsgdHlwZTogJ3Bhc3N3b3JkJywgcGxhY2Vob2xkZXI6ICdFbnRlciBwYXNzd29yZCcgfSlcbiAqICAgcGFzc3dvcmQ6IHN0cmluZztcbiAqXG4gKiAgIEBhdHRyaWJ1dGUoKVxuICogICBAdWllbGVtZW50KCdidXR0b24nLCB7IGNsYXNzOiAnYnRuLXByaW1hcnknIH0pXG4gKiAgIHN1Ym1pdDogc3RyaW5nID0gJ0xvZ2luJztcbiAqIH1cbiAqXG4gKiBAbWVybWFpZFxuICogc2VxdWVuY2VEaWFncmFtXG4gKiAgIHBhcnRpY2lwYW50IE1vZGVsXG4gKiAgIHBhcnRpY2lwYW50IHVpZWxlbWVudFxuICogICBwYXJ0aWNpcGFudCBSZW5kZXJpbmdFbmdpbmVcbiAqICAgcGFydGljaXBhbnQgVUlcbiAqICAgTW9kZWwtPj51aWVsZW1lbnQ6IEFwcGx5IHRvIHByb3BlcnR5XG4gKiAgIHVpZWxlbWVudC0+Pk1vZGVsOiBBZGQgZWxlbWVudCBtZXRhZGF0YVxuICogICBSZW5kZXJpbmdFbmdpbmUtPj5Nb2RlbDogR2V0IGVsZW1lbnQgbWV0YWRhdGFcbiAqICAgTW9kZWwtPj5SZW5kZXJpbmdFbmdpbmU6IFJldHVybiB0YWcgYW5kIHByb3BzXG4gKiAgIFJlbmRlcmluZ0VuZ2luZS0+PlVJOiBSZW5kZXIgd2l0aCBzcGVjaWZpZWQgZWxlbWVudFxuICovXG5leHBvcnQgZnVuY3Rpb24gdWllbGVtZW50KFxuICB0YWc6IHN0cmluZyxcbiAgcHJvcHM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICBzZXJpYWxpemU6IGJvb2xlYW4gPSBmYWxzZVxuKSB7XG4gIHJldHVybiAob3JpZ2luYWw6IGFueSwgcHJvcGVydHlLZXk/OiBhbnkpID0+IHtcbiAgICBjb25zdCBtZXRhZGF0YTogVUlFbGVtZW50TWV0YWRhdGEgPSB7XG4gICAgICB0YWc6IHRhZyxcbiAgICAgIHNlcmlhbGl6ZTogc2VyaWFsaXplLFxuICAgICAgcHJvcHM6IE9iamVjdC5hc3NpZ24oe30sIHByb3BzIHx8IHt9LCB7XG4gICAgICAgIG5hbWU6IHByb3BlcnR5S2V5LFxuICAgICAgfSksXG4gICAgfTtcblxuICAgIHJldHVybiBwcm9wTWV0YWRhdGEoUmVuZGVyaW5nRW5naW5lLmtleShVSUtleXMuRUxFTUVOVCksIG1ldGFkYXRhKShcbiAgICAgIG9yaWdpbmFsLFxuICAgICAgcHJvcGVydHlLZXlcbiAgICApO1xuICB9O1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBEZWNvcmF0b3IgdGhhdCBtYXBzIGEgbW9kZWwgcHJvcGVydHkgdG8gYSBVSSBjb21wb25lbnQgcHJvcGVydHlcbiAqIEBzdW1tYXJ5IFNwZWNpZmllcyBob3cgYSBwcm9wZXJ0eSBzaG91bGQgYmUgcGFzc2VkIHRvIGEgVUkgY29tcG9uZW50XG4gKiBUaGlzIGRlY29yYXRvciBhbGxvd3MgeW91IHRvIGRlZmluZSBob3cgYSBtb2RlbCBwcm9wZXJ0eSBzaG91bGQgYmUgbWFwcGVkIHRvXG4gKiBhIHByb3BlcnR5IG9mIHRoZSBVSSBjb21wb25lbnQgd2hlbiByZW5kZXJpbmcuIEl0IHJlcXVpcmVzIHRoZSBjbGFzcyB0byBiZVxuICogZGVjb3JhdGVkIHdpdGggQHVpbW9kZWwuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IFtwcm9wTmFtZV0gVGhlIG5hbWUgb2YgdGhlIHByb3BlcnR5IHRvIHBhc3MgdG8gdGhlIGNvbXBvbmVudCAoZGVmYXVsdHMgdG8gdGhlIHByb3BlcnR5IGtleSlcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW3N0cmluZ2lmeT1mYWxzZV0gV2hldGhlciB0byBzdHJpbmdpZnkgdGhlIHByb3BlcnR5IHZhbHVlXG4gKiBAcmV0dXJuIHtGdW5jdGlvbn0gQSBwcm9wZXJ0eSBkZWNvcmF0b3IgZnVuY3Rpb25cbiAqXG4gKiBAZnVuY3Rpb24gdWlwcm9wXG4gKiBAY2F0ZWdvcnkgUHJvcGVydHkgRGVjb3JhdG9yc1xuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBNYXAgbW9kZWwgcHJvcGVydGllcyB0byBjb21wb25lbnQgcHJvcGVydGllc1xuICogQHVpbW9kZWwoJ3VzZXItcHJvZmlsZScpXG4gKiBjbGFzcyBVc2VyUHJvZmlsZSB7XG4gKiAgIEBhdHRyaWJ1dGUoKVxuICogICBAdWlwcm9wKCkgLy8gV2lsbCBiZSBwYXNzZWQgYXMgJ2Z1bGxOYW1lJyB0byB0aGUgY29tcG9uZW50XG4gKiAgIGZ1bGxOYW1lOiBzdHJpbmc7XG4gKlxuICogICBAYXR0cmlidXRlKClcbiAqICAgQHVpcHJvcCgndXNlckVtYWlsJykgLy8gV2lsbCBiZSBwYXNzZWQgYXMgJ3VzZXJFbWFpbCcgdG8gdGhlIGNvbXBvbmVudFxuICogICBlbWFpbDogc3RyaW5nO1xuICpcbiAqICAgQGF0dHJpYnV0ZSgpXG4gKiAgIEB1aXByb3AoJ3VzZXJEYXRhJywgdHJ1ZSkgLy8gV2lsbCBiZSBwYXNzZWQgYXMgc3RyaW5naWZpZWQgSlNPTlxuICogICB1c2VyRGF0YTogUmVjb3JkPHN0cmluZywgYW55PjtcbiAqIH1cbiAqXG4gKiBAbWVybWFpZFxuICogc2VxdWVuY2VEaWFncmFtXG4gKiAgIHBhcnRpY2lwYW50IE1vZGVsXG4gKiAgIHBhcnRpY2lwYW50IHVpcHJvcFxuICogICBwYXJ0aWNpcGFudCBSZW5kZXJpbmdFbmdpbmVcbiAqICAgcGFydGljaXBhbnQgQ29tcG9uZW50XG4gKiAgIE1vZGVsLT4+dWlwcm9wOiBBcHBseSB0byBwcm9wZXJ0eVxuICogICB1aXByb3AtPj5Nb2RlbDogQWRkIHByb3AgbWV0YWRhdGFcbiAqICAgUmVuZGVyaW5nRW5naW5lLT4+TW9kZWw6IEdldCBwcm9wIG1ldGFkYXRhXG4gKiAgIE1vZGVsLT4+UmVuZGVyaW5nRW5naW5lOiBSZXR1cm4gcHJvcCBuYW1lIGFuZCBzdHJpbmdpZnkgZmxhZ1xuICogICBSZW5kZXJpbmdFbmdpbmUtPj5Db21wb25lbnQ6IFBhc3MgcHJvcGVydHkgd2l0aCBzcGVjaWZpZWQgbmFtZVxuICovXG5leHBvcnQgZnVuY3Rpb24gdWlwcm9wKFxuICBwcm9wTmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkLFxuICBzdHJpbmdpZnk6IGJvb2xlYW4gPSBmYWxzZVxuKSB7XG4gIHJldHVybiAodGFyZ2V0OiBhbnksIHByb3BlcnR5S2V5OiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCBtZXRhZGF0YTogVUlQcm9wTWV0YWRhdGEgPSB7XG4gICAgICBuYW1lOiBwcm9wTmFtZSB8fCBwcm9wZXJ0eUtleSxcbiAgICAgIHN0cmluZ2lmeTogc3RyaW5naWZ5LFxuICAgIH07XG4gICAgcHJvcE1ldGFkYXRhKFJlbmRlcmluZ0VuZ2luZS5rZXkoVUlLZXlzLlBST1ApLCBtZXRhZGF0YSkoXG4gICAgICB0YXJnZXQsXG4gICAgICBwcm9wZXJ0eUtleVxuICAgICk7XG4gIH07XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIERlY29yYXRvciB0aGF0IG1hcHMgYSBuZXN0ZWQgbW9kZWwgcHJvcGVydHkgdG8gYSBVSSBjb21wb25lbnQgcHJvcGVydHkuXG4gKiBAc3VtbWFyeSBEZWZpbmVzIGhvdyBhIHBhcmVudCBjb21wb25lbnQgc2hvdWxkIHJlbmRlciB0aGUgY2hpbGQgbW9kZWwgd2hlbiBuZXN0ZWQuXG4gKlxuICogVGhpcyBkZWNvcmF0b3IgaXMgdXNlZCB0byBkZWNvcmF0ZSBwcm9wZXJ0aWVzIHRoYXQgYXJlIG5lc3RlZCBtb2RlbHMuXG4gKiBXaGVuIGFwcGxpZWQsIGl0IGFsbG93cyBvdmVycmlkaW5nIHRoZSBkZWZhdWx0IHRhZyBvZiB0aGUgY2hpbGQgbW9kZWwgd2l0aCB0aGUgcHJvdmlkZWQgb25lLFxuICogZW5hYmxpbmcgZGlmZmVyZW50IHJlbmRlcmluZyBiZWhhdmlvciB3aGVuIHRoZSBtb2RlbCBhY3RzIGFzIGEgY2hpbGQgKG5lc3RlZClcbiAqIGNvbXBhcmVkIHRvIHdoZW4gaXQgaXMgcmVuZGVyZWQgYXMgdGhlIHBhcmVudCBtb2RlbC5cbiAqXG4gKiBJdCByZXF1aXJlcyB0aGUgY2xhc3MgdG8gYmUgZGVjb3JhdGVkIHdpdGggYEB1aW1vZGVsYC5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gY2xhenogVGhlIG1vZGVsIGNsYXNzIG5hbWUgdG8gcGFzcyB0byB0aGUgY29tcG9uZW50IChkZWZhdWx0cyB0byB0aGUgcHJvcGVydHkga2V5KS5cbiAqIEBwYXJhbSB7c3RyaW5nfSB0YWcgVGhlIEhUTUwgZWxlbWVudCBvciBjb21wb25lbnQgdGFnIG5hbWUgdG8gb3ZlcnJpZGUgdGhlIFVJIHRhZyBvZiB0aGUgbmVzdGVkIG1vZGVsXG4gKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT59IFtwcm9wc10gQWRkaXRpb25hbCBwcm9wZXJ0aWVzIHRvIHBhc3MgdG8gdGhlIGVsZW1lbnRcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW3NlcmlhbGl6ZT1mYWxzZV0gV2hldGhlciB0aGUgcHJvcGVydHkgc2hvdWxkIGJlIHNlcmlhbGl6ZWRcbiAqIEByZXR1cm4ge0Z1bmN0aW9ufSBBIHByb3BlcnR5IGRlY29yYXRvciBmdW5jdGlvbi5cbiAqXG4gKiBAZnVuY3Rpb24gdWljaGlsZFxuICogQGNhdGVnb3J5IFByb3BlcnR5IERlY29yYXRvcnNcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gTWFwIGEgbmVzdGVkIG1vZGVsIHRvIGEgY29tcG9uZW50IHByb3BlcnR5IHdpdGggYSBkaWZmZXJlbnQgdGFnIHdoZW4gbmVzdGVkXG4gKiBAdWltb2RlbCgnYWRkcmVzcy1jb21wb25lbnQnKVxuICogY2xhc3MgQWRkcmVzcyB7XG4gKiAgIEBhdHRyaWJ1dGUoKVxuICogICBzdHJlZXQ6IHN0cmluZztcbiAqXG4gKiAgIEBhdHRyaWJ1dGUoKVxuICogICBjaXR5OiBzdHJpbmc7XG4gKiB9XG4gKlxuICogQHVpbW9kZWwoJ3VzZXItcHJvZmlsZScpXG4gKiBjbGFzcyBVc2VyUHJvZmlsZSB7XG4gKiAgIEBhdHRyaWJ1dGUoKVxuICogICBAdWljaGlsZChBZGRyZXNzLm5hbWUsICdhZGRyZXNzLWNoaWxkLWNvbXBvbmVudCcpXG4gKiAgIGFkZHJlc3M6IEFkZHJlc3M7XG4gKiB9XG4gKlxuICogLy8gSW4gdGhpcyBleGFtcGxlLCB0aGUgQWRkcmVzcyBtb2RlbCBoYXMgdGhlIGRlZmF1bHQgdGFnICdhZGRyZXNzLWNvbXBvbmVudCcgd2hlbiByZW5kZXJlZCBhcyBhIHJvb3QgY29tcG9uZW50LFxuICogLy8gYnV0IHdoZW4gdXNlZCBpbnNpZGUgVXNlclByb2ZpbGUsIGl0IGlzIHJlbmRlcmVkIHdpdGggdGhlIG92ZXJyaWRkZW4gdGFnICdhZGRyZXNzLWNoaWxkLWNvbXBvbmVudCdcbiAqXG4gKiBAbWVybWFpZFxuICogc2VxdWVuY2VEaWFncmFtXG4gKiAgIHBhcnRpY2lwYW50IE1vZGVsXG4gKiAgIHBhcnRpY2lwYW50IHVpY2hpbGRcbiAqICAgcGFydGljaXBhbnQgUmVuZGVyaW5nRW5naW5lXG4gKiAgIHBhcnRpY2lwYW50IENvbXBvbmVudFxuICogICBNb2RlbC0+PnVpY2hpbGQ6IEFwcGx5IHRvIHByb3BlcnR5XG4gKiAgIHVpY2hpbGQtPj5Nb2RlbDogQWRkIGNoaWxkIG1ldGFkYXRhXG4gKiAgIFJlbmRlcmluZ0VuZ2luZS0+Pk1vZGVsOiBHZXQgY2hpbGQgbWV0YWRhdGFcbiAqICAgTW9kZWwtPj5SZW5kZXJpbmdFbmdpbmU6IFJldHVybiBwcm9wIG5hbWUsIHN0cmluZ2lmeSBmbGFnLCBhbmQgY2hpbGQgdGFnIG92ZXJyaWRlXG4gKiAgIFJlbmRlcmluZ0VuZ2luZS0+PkNvbXBvbmVudDogUGFzcyBwcm9wZXJ0eSB3aXRoIHNwZWNpZmllZCBuYW1lIGFuZCByZW5kZXIgd2l0aCBvdmVycmlkZGVuIHRhZyBpZiBuZXN0ZWRcbiAqL1xuXG5leHBvcnQgZnVuY3Rpb24gdWljaGlsZChcbiAgY2xheno6IHN0cmluZyxcbiAgdGFnOiBzdHJpbmcsXG4gIHByb3BzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge30sXG4gIHNlcmlhbGl6ZTogYm9vbGVhbiA9IGZhbHNlXG4pIHtcbiAgcmV0dXJuICh0YXJnZXQ6IGFueSwgcHJvcGVydHlLZXk6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IG1ldGFkYXRhOiBVSUVsZW1lbnRNZXRhZGF0YSA9IHtcbiAgICAgIHRhZzogdGFnLFxuICAgICAgc2VyaWFsaXplOiBzZXJpYWxpemUsXG4gICAgICBwcm9wczogT2JqZWN0LmFzc2lnbih7fSwgcHJvcHMgfHwge30sIHtcbiAgICAgICAgbmFtZTogY2xhenogfHwgcHJvcGVydHlLZXksXG4gICAgICB9KSxcbiAgICB9O1xuXG4gICAgcHJvcE1ldGFkYXRhKFJlbmRlcmluZ0VuZ2luZS5rZXkoVUlLZXlzLkNISUxEKSwgbWV0YWRhdGEpKFxuICAgICAgdGFyZ2V0LFxuICAgICAgcHJvcGVydHlLZXlcbiAgICApO1xuICB9O1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBEZWNvcmF0b3IgdGhhdCBtYXBzIGEgbW9kZWwgcHJvcGVydHkgdG8gYSBsaXN0IGl0ZW0gY29tcG9uZW50XG4gKiBAc3VtbWFyeSBTcGVjaWZpZXMgaG93IGEgcHJvcGVydHkgc2hvdWxkIGJlIHJlbmRlcmVkIGluIGEgbGlzdCBjb250ZXh0XG4gKiBUaGlzIGRlY29yYXRvciBhbGxvd3MgeW91IHRvIGRlZmluZSBob3cgYSBtb2RlbCBwcm9wZXJ0eSBjb250YWluaW5nIGEgbGlzdFxuICogc2hvdWxkIGJlIHJlbmRlcmVkLiBJdCByZXF1aXJlcyB0aGUgY2xhc3MgdG8gYmUgZGVjb3JhdGVkIHdpdGggQHVpbGlzdGl0ZW0uXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IFtwcm9wTmFtZV0gVGhlIG5hbWUgb2YgdGhlIHByb3BlcnR5IHRvIHBhc3MgdG8gdGhlIGxpc3QgY29tcG9uZW50IChkZWZhdWx0cyB0byB0aGUgcHJvcGVydHkga2V5KVxuICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSBbcHJvcHNdIEFkZGl0aW9uYWwgcHJvcGVydGllcyB0byBwYXNzIHRvIHRoZSBsaXN0IGNvbnRhaW5lclxuICogQHJldHVybiB7RnVuY3Rpb259IEEgcHJvcGVydHkgZGVjb3JhdG9yIGZ1bmN0aW9uXG4gKlxuICogQGZ1bmN0aW9uIHVpbGlzdHByb3BcbiAqIEBjYXRlZ29yeSBQcm9wZXJ0eSBEZWNvcmF0b3JzXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIERlZmluZSBhIGxpc3QgcHJvcGVydHkgd2l0aCBjdXN0b20gcmVuZGVyaW5nXG4gKiBAdWltb2RlbCgndG9kby1saXN0JylcbiAqIGNsYXNzIFRvZG9MaXN0IHtcbiAqICAgQGF0dHJpYnV0ZSgpXG4gKiAgIHRpdGxlOiBzdHJpbmc7XG4gKlxuICogICBAYXR0cmlidXRlKClcbiAqICAgQHVpbGlzdHByb3AoJ2l0ZW1zJywgeyBjbGFzczogJ3RvZG8taXRlbXMtY29udGFpbmVyJyB9KVxuICogICBpdGVtczogVG9kb0l0ZW1bXTtcbiAqIH1cbiAqXG4gKiBAdWlsaXN0aXRlbSgnbGknLCB7IGNsYXNzOiAndG9kby1pdGVtJyB9KVxuICogY2xhc3MgVG9kb0l0ZW0gZXh0ZW5kcyBNb2RlbCB7XG4gKiAgIEBhdHRyaWJ1dGUoKVxuICogICB0ZXh0OiBzdHJpbmc7XG4gKlxuICogICBAYXR0cmlidXRlKClcbiAqICAgY29tcGxldGVkOiBib29sZWFuO1xuICogfVxuICpcbiAqIEBtZXJtYWlkXG4gKiBzZXF1ZW5jZURpYWdyYW1cbiAqICAgcGFydGljaXBhbnQgTW9kZWxcbiAqICAgcGFydGljaXBhbnQgdWlsaXN0cHJvcFxuICogICBwYXJ0aWNpcGFudCBSZW5kZXJpbmdFbmdpbmVcbiAqICAgcGFydGljaXBhbnQgTGlzdENvbnRhaW5lclxuICogICBwYXJ0aWNpcGFudCBMaXN0SXRlbXNcbiAqICAgTW9kZWwtPj51aWxpc3Rwcm9wOiBBcHBseSB0byBwcm9wZXJ0eVxuICogICB1aWxpc3Rwcm9wLT4+TW9kZWw6IEFkZCBsaXN0IHByb3AgbWV0YWRhdGFcbiAqICAgUmVuZGVyaW5nRW5naW5lLT4+TW9kZWw6IEdldCBsaXN0IHByb3AgbWV0YWRhdGFcbiAqICAgTW9kZWwtPj5SZW5kZXJpbmdFbmdpbmU6IFJldHVybiBwcm9wIG5hbWUgYW5kIGNvbnRhaW5lciBwcm9wc1xuICogICBSZW5kZXJpbmdFbmdpbmUtPj5MaXN0Q29udGFpbmVyOiBDcmVhdGUgY29udGFpbmVyIHdpdGggcHJvcHNcbiAqICAgUmVuZGVyaW5nRW5naW5lLT4+TGlzdEl0ZW1zOiBSZW5kZXIgZWFjaCBpdGVtIHVzaW5nIEB1aWxpc3RpdGVtXG4gKiAgIExpc3RDb250YWluZXItPj5SZW5kZXJpbmdFbmdpbmU6IFJldHVybiByZW5kZXJlZCBsaXN0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1aWxpc3Rwcm9wKFxuICBwcm9wTmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkLFxuICBwcm9wcz86IFJlY29yZDxzdHJpbmcsIGFueT5cbikge1xuICByZXR1cm4gKHRhcmdldDogYW55LCBwcm9wZXJ0eUtleTogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgbWV0YWRhdGE6IFBhcnRpYWw8VUlMaXN0UHJvcE1ldGFkYXRhPiA9IHtcbiAgICAgIG5hbWU6IHByb3BOYW1lIHx8IHByb3BlcnR5S2V5LFxuICAgICAgcHJvcHM6IHByb3BzIHx8IHt9LFxuICAgIH07XG4gICAgcHJvcE1ldGFkYXRhKFJlbmRlcmluZ0VuZ2luZS5rZXkoVUlLZXlzLlVJTElTVFBST1ApLCBtZXRhZGF0YSkoXG4gICAgICB0YXJnZXQsXG4gICAgICBwcm9wZXJ0eUtleVxuICAgICk7XG4gIH07XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIERlY29yYXRvciB0aGF0IHBvc2l0aW9ucyBhIHByb3BlcnR5IGluIGEgc3BlY2lmaWMgZ3JpZCBsYXlvdXQgcG9zaXRpb25cbiAqIEBzdW1tYXJ5IFNwZWNpZmllcyB0aGUgY29sdW1uIGFuZCByb3cgcG9zaXRpb24gZm9yIGEgcHJvcGVydHkgaW4gYSBVSSBsYXlvdXQgZ3JpZFxuICogVGhpcyBkZWNvcmF0b3IgYWxsb3dzIHlvdSB0byBkZWZpbmUgdGhlIHNwZWNpZmljIHBvc2l0aW9uIG9mIGEgcHJvcGVydHkgd2l0aGluXG4gKiBhIGdyaWQtYmFzZWQgbGF5b3V0IHN5c3RlbS4gSXQgc3BlY2lmaWVzIHdoaWNoIGNvbHVtbiBhbmQgcm93IHRoZSBwcm9wZXJ0eVxuICogc2hvdWxkIG9jY3VweSB3aGVuIHJlbmRlcmVkIGluIHRoZSBVSS5cbiAqXG4gKiBAcGFyYW0ge251bWJlcn0gY29sIFRoZSBjb2x1bW4gcG9zaXRpb24gaW4gdGhlIGdyaWQgbGF5b3V0XG4gKiBAcGFyYW0ge251bWJlcn0gW3Jvdz0xXSBUaGUgcm93IHBvc2l0aW9uIGluIHRoZSBncmlkIGxheW91dCAoZGVmYXVsdHMgdG8gMSlcbiAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgYW55Pn0gW3Byb3BzPXt9XSBBZGRpdGlvbmFsIHByb3BlcnRpZXMgdG8gcGFzcyB0byB0aGUgbGF5b3V0IGl0ZW1cbiAqIEByZXR1cm4ge0Z1bmN0aW9ufSBBIHByb3BlcnR5IGRlY29yYXRvciBmdW5jdGlvblxuICpcbiAqIEBmdW5jdGlvbiB1aWxheW91dGl0ZW1cbiAqIEBjYXRlZ29yeSBQcm9wZXJ0eSBEZWNvcmF0b3JzXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFBvc2l0aW9uIHByb3BlcnRpZXMgaW4gYSBncmlkIGxheW91dFxuICogQHVpbW9kZWwoJ3VzZXItZm9ybScpXG4gKiBjbGFzcyBVc2VyRm9ybSB7XG4gKiAgIEBhdHRyaWJ1dGUoKVxuICogICBAdWlsYXlvdXRpdGVtKDEsIDEpIC8vIEZpcnN0IGNvbHVtbiwgZmlyc3Qgcm93XG4gKiAgIGZpcnN0TmFtZTogc3RyaW5nO1xuICpcbiAqICAgQGF0dHJpYnV0ZSgpXG4gKiAgIEB1aWxheW91dGl0ZW0oMiwgMSkgLy8gU2Vjb25kIGNvbHVtbiwgZmlyc3Qgcm93XG4gKiAgIGxhc3ROYW1lOiBzdHJpbmc7XG4gKlxuICogICBAYXR0cmlidXRlKClcbiAqICAgQHVpbGF5b3V0aXRlbSgxLCAyLCB7IGNvbHNwYW46IDIgfSkgLy8gRmlyc3QgY29sdW1uLCBzZWNvbmQgcm93LCBzcGFucyAyIGNvbHVtbnNcbiAqICAgZW1haWw6IHN0cmluZztcbiAqXG4gKiAgIEBhdHRyaWJ1dGUoKVxuICogICBAdWlsYXlvdXRpdGVtKDEsIDMsIHsgY2xhc3M6ICdmdWxsLXdpZHRoJyB9KSAvLyBGaXJzdCBjb2x1bW4sIHRoaXJkIHJvdyB3aXRoIGN1c3RvbSBjbGFzc1xuICogICBiaW86IHN0cmluZztcbiAqIH1cbiAqXG4gKiBAbWVybWFpZFxuICogc2VxdWVuY2VEaWFncmFtXG4gKiAgIHBhcnRpY2lwYW50IE1vZGVsXG4gKiAgIHBhcnRpY2lwYW50IHVpbGF5b3V0aXRlbVxuICogICBwYXJ0aWNpcGFudCBSZW5kZXJpbmdFbmdpbmVcbiAqICAgcGFydGljaXBhbnQgTGF5b3V0Q29udGFpbmVyXG4gKiAgIE1vZGVsLT4+dWlsYXlvdXRpdGVtOiBBcHBseSB0byBwcm9wZXJ0eVxuICogICB1aWxheW91dGl0ZW0tPj5Nb2RlbDogQWRkIGxheW91dCBpdGVtIG1ldGFkYXRhXG4gKiAgIFJlbmRlcmluZ0VuZ2luZS0+Pk1vZGVsOiBHZXQgbGF5b3V0IGl0ZW0gbWV0YWRhdGFcbiAqICAgTW9kZWwtPj5SZW5kZXJpbmdFbmdpbmU6IFJldHVybiBjb2x1bW4sIHJvdywgYW5kIHByb3BzXG4gKiAgIFJlbmRlcmluZ0VuZ2luZS0+PkxheW91dENvbnRhaW5lcjogUG9zaXRpb24gZWxlbWVudCBhdCBncmlkIGNvb3JkaW5hdGVzXG4gKiAgIExheW91dENvbnRhaW5lci0+PlJlbmRlcmluZ0VuZ2luZTogUmV0dXJuIHBvc2l0aW9uZWQgZWxlbWVudFxuICovXG5leHBvcnQgZnVuY3Rpb24gdWlsYXlvdXRpdGVtKFxuICBjb2w6IG51bWJlcixcbiAgcm93OiBudW1iZXIgPSAxLFxuICBwcm9wczogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9LFxuKSB7XG4gIHJldHVybiAodGFyZ2V0OiBhbnksIHByb3BlcnR5S2V5OiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCBtZXRhZGF0YTogVUlMYXlvdXRJdGVtTWV0YWRhdGEgPSB7XG4gICAgICBuYW1lOiAgcHJvcGVydHlLZXksXG4gICAgICBjb2wsXG4gICAgICByb3csXG4gICAgICBwcm9wczogT2JqZWN0LmFzc2lnbih7fSwgcHJvcHMpLFxuICAgIH07ICBcbiAgICBwcm9wTWV0YWRhdGEoUmVuZGVyaW5nRW5naW5lLmtleShVSUtleXMuVUlMQVlPVVRJVEVNKSwgbWV0YWRhdGEpKFxuICAgICAgdGFyZ2V0LFxuICAgICAgcHJvcGVydHlLZXlcbiAgICApO1xuICB9O1xufVxuIl19
@@ -30,6 +30,8 @@ export interface FieldDefinition<T = void> {
30
30
  props: T & FieldProperties;
31
31
  children?: FieldDefinition<T>[];
32
32
  item?: UIListItemElementMetadata;
33
+ col?: number | string[];
34
+ row?: number | string[];
33
35
  }
34
36
  /**
35
37
  * @description Interface for field properties including validation
@@ -109,6 +111,10 @@ export type UIPropMetadata = {
109
111
  name: string;
110
112
  stringify: boolean;
111
113
  };
114
+ /**
115
+ * @typedef CrudOperationKeys
116
+ * @memberOf module:ui-decorators
117
+ */
112
118
  export type CrudOperationKeys = OperationKeys.CREATE | OperationKeys.READ | OperationKeys.UPDATE | OperationKeys.DELETE;
113
119
  /**
114
120
  * @typedef UIListPropMetadata
@@ -126,7 +132,7 @@ export type UIListItemModelMetadata = {
126
132
  item: UIListItemElementMetadata;
127
133
  };
128
134
  /**
129
- * @typedef UIListItemElementMetada
135
+ * @typedef UIListItemElementMetadata
130
136
  * @memberOf module:ui-decorators
131
137
  */
132
138
  export type UIListItemElementMetadata = {
@@ -134,3 +140,34 @@ export type UIListItemElementMetadata = {
134
140
  props?: Record<string, any>;
135
141
  mapper?: Record<string, string>;
136
142
  };
143
+ /**
144
+ * @typedef UILayoutMetadata
145
+ * @memberOf module:ui-decorators
146
+ */
147
+ export type UILayoutMetadata = {
148
+ props: {
149
+ cols?: number | string[];
150
+ rows?: number;
151
+ props?: Record<string, any>;
152
+ };
153
+ };
154
+ /**
155
+ * @typedef UIClassMetadata
156
+ * @memberOf module:ui-decorators
157
+ */
158
+ export type UIClassMetadata = UILayoutMetadata | UIModelMetadata | UIListItemModelMetadata;
159
+ /**
160
+ * @typedef UILayoutItemMetadata
161
+ * @memberOf ui-decorators.ui.decorators
162
+ */
163
+ export type UILayoutItemMetadata = {
164
+ name: string;
165
+ props: Record<string, any>;
166
+ col: number | string[];
167
+ row: number | string[];
168
+ };
169
+ /**
170
+ * @typedef UIMediaBreakPoints
171
+ * @memberOf module:ui-decorators
172
+ */
173
+ export type UIMediaBreakPoints = 'xl' | 'l' | 'm' | 's' | 'medium' | 'large' | 'small' | 'xlarge';
@@ -7,4 +7,4 @@
7
7
  * @memberOf module:ui-decorators
8
8
  */
9
9
  import { UIKeys } from "./constants.js";
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdWkvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7R0FPRztBQUdILE9BQU8sRUFBRSxNQUFNLEVBQUUsdUJBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZGVzY3JpcHRpb24gVHlwZSBkZWZpbml0aW9ucyBmb3IgVUkgY29tcG9uZW50cyBhbmQgcmVuZGVyaW5nXG4gKiBAc3VtbWFyeSBEZWZpbmVzIHR5cGVzIGFuZCBpbnRlcmZhY2VzIHVzZWQgdGhyb3VnaG91dCB0aGUgVUkgZGVjb3JhdG9ycyBsaWJyYXJ5XG4gKiBUaGlzIG1vZHVsZSBjb250YWlucyB0eXBlIGRlZmluaXRpb25zIGZvciBmaWVsZCBwcm9wZXJ0aWVzLCBVSSBtZXRhZGF0YSxcbiAqIGFuZCBvdGhlciBzdHJ1Y3R1cmVzIHVzZWQgaW4gcmVuZGVyaW5nIFVJIGNvbXBvbmVudHMuXG4gKiBAbW9kdWxlIHVpL3R5cGVzXG4gKiBAbWVtYmVyT2YgbW9kdWxlOnVpLWRlY29yYXRvcnNcbiAqL1xuXG5pbXBvcnQgeyBPcGVyYXRpb25LZXlzIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBVSUtleXMgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gSW50ZXJmYWNlIGZvciBkZWZpbmluZyBhIFVJIGZpZWxkIG9yIGNvbXBvbmVudFxuICogQHN1bW1hcnkgUmVwcmVzZW50cyBhIHJlbmRlcmFibGUgVUkgZWxlbWVudCB3aXRoIHByb3BlcnRpZXMgYW5kIGNoaWxkcmVuXG4gKiBUaGlzIGludGVyZmFjZSBkZWZpbmVzIHRoZSBzdHJ1Y3R1cmUgb2YgYSBVSSBmaWVsZCBvciBjb21wb25lbnQsIGluY2x1ZGluZ1xuICogaXRzIHRhZyBuYW1lLCBwcm9wZXJ0aWVzLCBhbmQgb3B0aW9uYWwgY2hpbGRyZW4gZWxlbWVudHMuXG4gKlxuICogQGludGVyZmFjZSBGaWVsZERlZmluaXRpb25cbiAqIEB0ZW1wbGF0ZSBUIEFkZGl0aW9uYWwgcHJvcGVydGllcyB0eXBlIChkZWZhdWx0cyB0byB2b2lkKVxuICogQG1lbWJlck9mIG1vZHVsZTp1aS1kZWNvcmF0b3JzXG4gKlxuICogQHByb3BlcnR5IHtzdHJpbmd9IHRhZyAtIFRoZSBIVE1MIGVsZW1lbnQgb3IgY29tcG9uZW50IHRhZyBuYW1lXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW3JlbmRlcmVySWRdIC0gT3B0aW9uYWwgSUQgb2YgdGhlIHJlbmRlcmVyIHRvIHVzZVxuICogQHByb3BlcnR5IHByb3BzIC0gQ29tYmluZWQgcHJvcGVydGllcyBmb3IgdGhlIGZpZWxkXG4gKiBAcHJvcGVydHkge0ZpZWxkRGVmaW5pdGlvbltdfSBbY2hpbGRyZW5dIC0gT3B0aW9uYWwgY2hpbGQgZWxlbWVudHNcbiAqIEBwcm9wZXJ0eSB7VUlMaXN0SXRlbUVsZW1lbnRNZXRhZGF0YX0gW2l0ZW1dIC0gT3B0aW9uYWwgbGlzdCBpdGVtIG1ldGFkYXRhXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmllbGREZWZpbml0aW9uPFQgPSB2b2lkPiB7XG4gIHRhZzogc3RyaW5nO1xuICByZW5kZXJlcklkPzogc3RyaW5nO1xuICBwcm9wczogVCAmIEZpZWxkUHJvcGVydGllcztcbiAgY2hpbGRyZW4/OiBGaWVsZERlZmluaXRpb248VD5bXTtcbiAgaXRlbT86IFVJTGlzdEl0ZW1FbGVtZW50TWV0YWRhdGE7XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIEludGVyZmFjZSBmb3IgZmllbGQgcHJvcGVydGllcyBpbmNsdWRpbmcgdmFsaWRhdGlvblxuICogQHN1bW1hcnkgRGVmaW5lcyBjb21tb24gcHJvcGVydGllcyBhbmQgdmFsaWRhdGlvbiBydWxlcyBmb3IgVUkgZmllbGRzXG4gKiBUaGlzIGludGVyZmFjZSBkZWZpbmVzIHRoZSBzdGFuZGFyZCBwcm9wZXJ0aWVzIHRoYXQgY2FuIGJlIGFwcGxpZWQgdG9cbiAqIFVJIGZpZWxkcywgaW5jbHVkaW5nIGJhc2ljIGF0dHJpYnV0ZXMgYW5kIHZhbGlkYXRpb24gcnVsZXMuXG4gKlxuICogQGludGVyZmFjZSBGaWVsZFByb3BlcnRpZXNcbiAqIEBtZW1iZXJPZiBtb2R1bGU6dWktZGVjb3JhdG9yc1xuICpcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBuYW1lIC0gVGhlIG5hbWUgb2YgdGhlIGZpZWxkXG4gKiBAcHJvcGVydHkge3N0cmluZ30gcGF0aCAtIFRoZSBmdWxsIGhpZXJhcmNoaWNhbCBwYXRoIG9mIHRoZSBmaWVsZFxuICogQHByb3BlcnR5IHtzdHJpbmd9IGNoaWxkT2YgLSBUaGUgcGFyZW50IHBhdGggb2YgdGhlIGltbWVkaWF0ZSBwYXJlbnQgZmllbGQsIGlmIG5lc3RlZFxuICogQHByb3BlcnR5IHtzdHJpbmd9IHR5cGUgLSBUaGUgdHlwZSBvZiB0aGUgZmllbGQgKGUuZy4sICd0ZXh0JywgJ251bWJlcicpXG4gKiBAcHJvcGVydHkge3N0cmluZ3xudW1iZXJ8RGF0ZX0gdmFsdWUgLSBUaGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgZmllbGRcbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW2hpZGRlbl0gLSBXaGV0aGVyIHRoZSBmaWVsZCBpcyBoaWRkZW5cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW2Rpc2FibGVkXSAtIFdoZXRoZXIgdGhlIGZpZWxkIGlzIGRpc2FibGVkXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtyZXF1aXJlZF0gLSBXaGV0aGVyIHRoZSBmaWVsZCBpcyByZXF1aXJlZFxuICogQHByb3BlcnR5IHtib29sZWFufSBbcmVhZG9ubHldIC0gV2hldGhlciB0aGUgZmllbGQgaXMgcmVhZC1vbmx5XG4gKiBAcHJvcGVydHkge251bWJlcn0gW21heExlbmd0aF0gLSBNYXhpbXVtIGxlbmd0aCBmb3IgdGV4dCBmaWVsZHNcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBbbWluTGVuZ3RoXSAtIE1pbmltdW0gbGVuZ3RoIGZvciB0ZXh0IGZpZWxkc1xuICogQHByb3BlcnR5IHtudW1iZXJ8RGF0ZX0gW21heF0gLSBNYXhpbXVtIHZhbHVlIGZvciBudW1lcmljIG9yIGRhdGUgZmllbGRzXG4gKiBAcHJvcGVydHkge251bWJlcnxEYXRlfSBbbWluXSAtIE1pbmltdW0gdmFsdWUgZm9yIG51bWVyaWMgb3IgZGF0ZSBmaWVsZHNcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbcGF0dGVybl0gLSBSZWdleCBwYXR0ZXJuIGZvciB2YWxpZGF0aW9uXG4gKiBAcHJvcGVydHkge251bWJlcn0gW3N0ZXBdIC0gU3RlcCB2YWx1ZSBmb3IgbnVtZXJpYyBmaWVsZHNcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbZm9ybWF0XSAtIEZvcm1hdCBzdHJpbmcgZm9yIGRhdGUgZmllbGRzXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2VxdWFsc10gLSBGaWVsZCBtdXN0IGVxdWFsIHRoZSB2YWx1ZSBvZiB0aGlzIGZpZWxkXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2RpZmZdIC0gRmllbGQgbXVzdCBkaWZmZXIgZnJvbSB0aGUgdmFsdWUgb2YgdGhpcyBmaWVsZFxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtsZXNzVGhhbl0gLSBGaWVsZCBtdXN0IGJlIGxlc3MgdGhhbiB0aGlzIGZpZWxkXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2xlc3NUaGFuT3JFcXVhbF0gLSBGaWVsZCBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byB0aGlzIGZpZWxkXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2dyZWF0ZXJUaGFuXSAtIEZpZWxkIG11c3QgYmUgZ3JlYXRlciB0aGFuIHRoaXMgZmllbGRcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbZ3JlYXRlclRoYW5PckVxdWFsXSAtIEZpZWxkIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIHRoaXMgZmllbGRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGaWVsZFByb3BlcnRpZXMge1xuICBuYW1lOiBzdHJpbmc7XG4gIHBhdGg6IHN0cmluZztcbiAgY2hpbGRPZj86IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xuICB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgRGF0ZTtcbiAgaGlkZGVuPzogYm9vbGVhbjtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICAvLyBWYWxpZGF0aW9uXG4gIHJlcXVpcmVkPzogYm9vbGVhbjtcbiAgcmVhZG9ubHk/OiBib29sZWFuO1xuICBtYXhMZW5ndGg/OiBudW1iZXI7XG4gIG1pbkxlbmd0aD86IG51bWJlcjtcbiAgbWF4PzogbnVtYmVyIHwgRGF0ZTtcbiAgbWluPzogbnVtYmVyIHwgRGF0ZTtcbiAgcGF0dGVybj86IHN0cmluZztcbiAgc3RlcD86IG51bWJlcjtcbiAgZm9ybWF0Pzogc3RyaW5nO1xuICBbVUlLZXlzLkVRVUFMU10/OiBzdHJpbmc7XG4gIFtVSUtleXMuRElGRl0/OiBzdHJpbmc7XG4gIFtVSUtleXMuTEVTU19USEFOXT86IHN0cmluZztcbiAgW1VJS2V5cy5MRVNTX1RIQU5fT1JfRVFVQUxdPzogc3RyaW5nO1xuICBbVUlLZXlzLkdSRUFURVJfVEhBTl0/OiBzdHJpbmc7XG4gIFtVSUtleXMuR1JFQVRFUl9USEFOX09SX0VRVUFMXT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBAdHlwZWRlZiBVSUVsZW1lbnRNZXRhZGF0YVxuICogQG1lbWJlck9mIG1vZHVsZTp1aS1kZWNvcmF0b3JzXG4gKi9cbmV4cG9ydCB0eXBlIFVJRWxlbWVudE1ldGFkYXRhID0ge1xuICB0YWc6IHN0cmluZztcbiAgcHJvcHM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICBzZXJpYWxpemU/OiBib29sZWFuO1xufTtcblxuLyoqXG4gKiBAdHlwZWRlZiBVSUVsZW1lbnRNZXRhZGF0YVxuICogQG1lbWJlck9mIHVpLWRlY29yYXRvcnMudWkuZGVjb3JhdG9yc1xuICovXG5leHBvcnQgdHlwZSBVSU1vZGVsTWV0YWRhdGEgPSBPbWl0PFVJRWxlbWVudE1ldGFkYXRhLCBcInNlcmlhbGl6ZVwiPjtcblxuLyoqXG4gKiBAdHlwZWRlZiBVSVByb3BNZXRhZGF0YVxuICogQG1lbWJlck9mIG1vZHVsZTp1aS1kZWNvcmF0b3JzXG4gKi9cbmV4cG9ydCB0eXBlIFVJUHJvcE1ldGFkYXRhID0ge1xuICBuYW1lOiBzdHJpbmc7XG4gIHN0cmluZ2lmeTogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCB0eXBlIENydWRPcGVyYXRpb25LZXlzID1cbiAgfCBPcGVyYXRpb25LZXlzLkNSRUFURVxuICB8IE9wZXJhdGlvbktleXMuUkVBRFxuICB8IE9wZXJhdGlvbktleXMuVVBEQVRFXG4gIHwgT3BlcmF0aW9uS2V5cy5ERUxFVEU7XG5cbi8qKlxuICogQHR5cGVkZWYgVUlMaXN0UHJvcE1ldGFkYXRhXG4gKiBAbWVtYmVyT2YgbW9kdWxlOnVpLWRlY29yYXRvcnNcbiAqL1xuZXhwb3J0IHR5cGUgVUlMaXN0UHJvcE1ldGFkYXRhID0ge1xuICBuYW1lOiBzdHJpbmc7XG4gIHByb3BzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xufTtcblxuLyoqXG4gKiBAdHlwZWRlZiBVSUxpc3RJdGVtTW9kZWxNZXRhZGF0YVxuICogQG1lbWJlck9mIG1vZHVsZTp1aS1kZWNvcmF0b3JzXG4gKi9cbmV4cG9ydCB0eXBlIFVJTGlzdEl0ZW1Nb2RlbE1ldGFkYXRhID0ge1xuICBpdGVtOiBVSUxpc3RJdGVtRWxlbWVudE1ldGFkYXRhO1xufTtcblxuLyoqXG4gKiBAdHlwZWRlZiBVSUxpc3RJdGVtRWxlbWVudE1ldGFkYVxuICogQG1lbWJlck9mIG1vZHVsZTp1aS1kZWNvcmF0b3JzXG4gKi9cbmV4cG9ydCB0eXBlIFVJTGlzdEl0ZW1FbGVtZW50TWV0YWRhdGEgPSB7XG4gIHRhZzogc3RyaW5nO1xuICBwcm9wcz86IFJlY29yZDxzdHJpbmcsIGFueT47XG4gIG1hcHBlcj86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG59O1xuIl19
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdWkvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7R0FPRztBQUdILE9BQU8sRUFBRSxNQUFNLEVBQUUsdUJBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZGVzY3JpcHRpb24gVHlwZSBkZWZpbml0aW9ucyBmb3IgVUkgY29tcG9uZW50cyBhbmQgcmVuZGVyaW5nXG4gKiBAc3VtbWFyeSBEZWZpbmVzIHR5cGVzIGFuZCBpbnRlcmZhY2VzIHVzZWQgdGhyb3VnaG91dCB0aGUgVUkgZGVjb3JhdG9ycyBsaWJyYXJ5XG4gKiBUaGlzIG1vZHVsZSBjb250YWlucyB0eXBlIGRlZmluaXRpb25zIGZvciBmaWVsZCBwcm9wZXJ0aWVzLCBVSSBtZXRhZGF0YSxcbiAqIGFuZCBvdGhlciBzdHJ1Y3R1cmVzIHVzZWQgaW4gcmVuZGVyaW5nIFVJIGNvbXBvbmVudHMuXG4gKiBAbW9kdWxlIHVpL3R5cGVzXG4gKiBAbWVtYmVyT2YgbW9kdWxlOnVpLWRlY29yYXRvcnNcbiAqL1xuXG5pbXBvcnQgeyBPcGVyYXRpb25LZXlzIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBVSUtleXMgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gSW50ZXJmYWNlIGZvciBkZWZpbmluZyBhIFVJIGZpZWxkIG9yIGNvbXBvbmVudFxuICogQHN1bW1hcnkgUmVwcmVzZW50cyBhIHJlbmRlcmFibGUgVUkgZWxlbWVudCB3aXRoIHByb3BlcnRpZXMgYW5kIGNoaWxkcmVuXG4gKiBUaGlzIGludGVyZmFjZSBkZWZpbmVzIHRoZSBzdHJ1Y3R1cmUgb2YgYSBVSSBmaWVsZCBvciBjb21wb25lbnQsIGluY2x1ZGluZ1xuICogaXRzIHRhZyBuYW1lLCBwcm9wZXJ0aWVzLCBhbmQgb3B0aW9uYWwgY2hpbGRyZW4gZWxlbWVudHMuXG4gKlxuICogQGludGVyZmFjZSBGaWVsZERlZmluaXRpb25cbiAqIEB0ZW1wbGF0ZSBUIEFkZGl0aW9uYWwgcHJvcGVydGllcyB0eXBlIChkZWZhdWx0cyB0byB2b2lkKVxuICogQG1lbWJlck9mIG1vZHVsZTp1aS1kZWNvcmF0b3JzXG4gKlxuICogQHByb3BlcnR5IHtzdHJpbmd9IHRhZyAtIFRoZSBIVE1MIGVsZW1lbnQgb3IgY29tcG9uZW50IHRhZyBuYW1lXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW3JlbmRlcmVySWRdIC0gT3B0aW9uYWwgSUQgb2YgdGhlIHJlbmRlcmVyIHRvIHVzZVxuICogQHByb3BlcnR5IHByb3BzIC0gQ29tYmluZWQgcHJvcGVydGllcyBmb3IgdGhlIGZpZWxkXG4gKiBAcHJvcGVydHkge0ZpZWxkRGVmaW5pdGlvbltdfSBbY2hpbGRyZW5dIC0gT3B0aW9uYWwgY2hpbGQgZWxlbWVudHNcbiAqIEBwcm9wZXJ0eSB7VUlMaXN0SXRlbUVsZW1lbnRNZXRhZGF0YX0gW2l0ZW1dIC0gT3B0aW9uYWwgbGlzdCBpdGVtIG1ldGFkYXRhXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmllbGREZWZpbml0aW9uPFQgPSB2b2lkPiB7XG4gIHRhZzogc3RyaW5nO1xuICByZW5kZXJlcklkPzogc3RyaW5nO1xuICBwcm9wczogVCAmIEZpZWxkUHJvcGVydGllcztcbiAgY2hpbGRyZW4/OiBGaWVsZERlZmluaXRpb248VD5bXTtcbiAgaXRlbT86IFVJTGlzdEl0ZW1FbGVtZW50TWV0YWRhdGE7XG4gIGNvbD86IG51bWJlciB8IHN0cmluZ1tdO1xuICByb3c/OiBudW1iZXIgfCBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gSW50ZXJmYWNlIGZvciBmaWVsZCBwcm9wZXJ0aWVzIGluY2x1ZGluZyB2YWxpZGF0aW9uXG4gKiBAc3VtbWFyeSBEZWZpbmVzIGNvbW1vbiBwcm9wZXJ0aWVzIGFuZCB2YWxpZGF0aW9uIHJ1bGVzIGZvciBVSSBmaWVsZHNcbiAqIFRoaXMgaW50ZXJmYWNlIGRlZmluZXMgdGhlIHN0YW5kYXJkIHByb3BlcnRpZXMgdGhhdCBjYW4gYmUgYXBwbGllZCB0b1xuICogVUkgZmllbGRzLCBpbmNsdWRpbmcgYmFzaWMgYXR0cmlidXRlcyBhbmQgdmFsaWRhdGlvbiBydWxlcy5cbiAqXG4gKiBAaW50ZXJmYWNlIEZpZWxkUHJvcGVydGllc1xuICogQG1lbWJlck9mIG1vZHVsZTp1aS1kZWNvcmF0b3JzXG4gKlxuICogQHByb3BlcnR5IHtzdHJpbmd9IG5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgZmllbGRcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBwYXRoIC0gVGhlIGZ1bGwgaGllcmFyY2hpY2FsIHBhdGggb2YgdGhlIGZpZWxkXG4gKiBAcHJvcGVydHkge3N0cmluZ30gY2hpbGRPZiAtIFRoZSBwYXJlbnQgcGF0aCBvZiB0aGUgaW1tZWRpYXRlIHBhcmVudCBmaWVsZCwgaWYgbmVzdGVkXG4gKiBAcHJvcGVydHkge3N0cmluZ30gdHlwZSAtIFRoZSB0eXBlIG9mIHRoZSBmaWVsZCAoZS5nLiwgJ3RleHQnLCAnbnVtYmVyJylcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfG51bWJlcnxEYXRlfSB2YWx1ZSAtIFRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBmaWVsZFxuICogQHByb3BlcnR5IHtib29sZWFufSBbaGlkZGVuXSAtIFdoZXRoZXIgdGhlIGZpZWxkIGlzIGhpZGRlblxuICogQHByb3BlcnR5IHtib29sZWFufSBbZGlzYWJsZWRdIC0gV2hldGhlciB0aGUgZmllbGQgaXMgZGlzYWJsZWRcbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW3JlcXVpcmVkXSAtIFdoZXRoZXIgdGhlIGZpZWxkIGlzIHJlcXVpcmVkXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtyZWFkb25seV0gLSBXaGV0aGVyIHRoZSBmaWVsZCBpcyByZWFkLW9ubHlcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBbbWF4TGVuZ3RoXSAtIE1heGltdW0gbGVuZ3RoIGZvciB0ZXh0IGZpZWxkc1xuICogQHByb3BlcnR5IHtudW1iZXJ9IFttaW5MZW5ndGhdIC0gTWluaW11bSBsZW5ndGggZm9yIHRleHQgZmllbGRzXG4gKiBAcHJvcGVydHkge251bWJlcnxEYXRlfSBbbWF4XSAtIE1heGltdW0gdmFsdWUgZm9yIG51bWVyaWMgb3IgZGF0ZSBmaWVsZHNcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfERhdGV9IFttaW5dIC0gTWluaW11bSB2YWx1ZSBmb3IgbnVtZXJpYyBvciBkYXRlIGZpZWxkc1xuICogQHByb3BlcnR5IHtzdHJpbmd9IFtwYXR0ZXJuXSAtIFJlZ2V4IHBhdHRlcm4gZm9yIHZhbGlkYXRpb25cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBbc3RlcF0gLSBTdGVwIHZhbHVlIGZvciBudW1lcmljIGZpZWxkc1xuICogQHByb3BlcnR5IHtzdHJpbmd9IFtmb3JtYXRdIC0gRm9ybWF0IHN0cmluZyBmb3IgZGF0ZSBmaWVsZHNcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbZXF1YWxzXSAtIEZpZWxkIG11c3QgZXF1YWwgdGhlIHZhbHVlIG9mIHRoaXMgZmllbGRcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbZGlmZl0gLSBGaWVsZCBtdXN0IGRpZmZlciBmcm9tIHRoZSB2YWx1ZSBvZiB0aGlzIGZpZWxkXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2xlc3NUaGFuXSAtIEZpZWxkIG11c3QgYmUgbGVzcyB0aGFuIHRoaXMgZmllbGRcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbbGVzc1RoYW5PckVxdWFsXSAtIEZpZWxkIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIHRoaXMgZmllbGRcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbZ3JlYXRlclRoYW5dIC0gRmllbGQgbXVzdCBiZSBncmVhdGVyIHRoYW4gdGhpcyBmaWVsZFxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtncmVhdGVyVGhhbk9yRXF1YWxdIC0gRmllbGQgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gdGhpcyBmaWVsZFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZpZWxkUHJvcGVydGllcyB7XG4gIG5hbWU6IHN0cmluZztcbiAgcGF0aDogc3RyaW5nO1xuICBjaGlsZE9mPzogc3RyaW5nO1xuICB0eXBlOiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfCBEYXRlO1xuICBoaWRkZW4/OiBib29sZWFuO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIC8vIFZhbGlkYXRpb25cbiAgcmVxdWlyZWQ/OiBib29sZWFuO1xuICByZWFkb25seT86IGJvb2xlYW47XG4gIG1heExlbmd0aD86IG51bWJlcjtcbiAgbWluTGVuZ3RoPzogbnVtYmVyO1xuICBtYXg/OiBudW1iZXIgfCBEYXRlO1xuICBtaW4/OiBudW1iZXIgfCBEYXRlO1xuICBwYXR0ZXJuPzogc3RyaW5nO1xuICBzdGVwPzogbnVtYmVyO1xuICBmb3JtYXQ/OiBzdHJpbmc7XG4gIFtVSUtleXMuRVFVQUxTXT86IHN0cmluZztcbiAgW1VJS2V5cy5ESUZGXT86IHN0cmluZztcbiAgW1VJS2V5cy5MRVNTX1RIQU5dPzogc3RyaW5nO1xuICBbVUlLZXlzLkxFU1NfVEhBTl9PUl9FUVVBTF0/OiBzdHJpbmc7XG4gIFtVSUtleXMuR1JFQVRFUl9USEFOXT86IHN0cmluZztcbiAgW1VJS2V5cy5HUkVBVEVSX1RIQU5fT1JfRVFVQUxdPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEB0eXBlZGVmIFVJRWxlbWVudE1ldGFkYXRhXG4gKiBAbWVtYmVyT2YgbW9kdWxlOnVpLWRlY29yYXRvcnNcbiAqL1xuZXhwb3J0IHR5cGUgVUlFbGVtZW50TWV0YWRhdGEgPSB7XG4gIHRhZzogc3RyaW5nO1xuICBwcm9wcz86IFJlY29yZDxzdHJpbmcsIGFueT47XG4gIHNlcmlhbGl6ZT86IGJvb2xlYW47XG59O1xuXG4vKipcbiAqIEB0eXBlZGVmIFVJRWxlbWVudE1ldGFkYXRhXG4gKiBAbWVtYmVyT2YgdWktZGVjb3JhdG9ycy51aS5kZWNvcmF0b3JzXG4gKi9cbmV4cG9ydCB0eXBlIFVJTW9kZWxNZXRhZGF0YSA9IE9taXQ8VUlFbGVtZW50TWV0YWRhdGEsIFwic2VyaWFsaXplXCI+O1xuXG4vKipcbiAqIEB0eXBlZGVmIFVJUHJvcE1ldGFkYXRhXG4gKiBAbWVtYmVyT2YgbW9kdWxlOnVpLWRlY29yYXRvcnNcbiAqL1xuZXhwb3J0IHR5cGUgVUlQcm9wTWV0YWRhdGEgPSB7XG4gIG5hbWU6IHN0cmluZztcbiAgc3RyaW5naWZ5OiBib29sZWFuO1xufTtcblxuLyoqXG4gKiBAdHlwZWRlZiBDcnVkT3BlcmF0aW9uS2V5c1xuICogQG1lbWJlck9mIG1vZHVsZTp1aS1kZWNvcmF0b3JzXG4gKi9cbmV4cG9ydCB0eXBlIENydWRPcGVyYXRpb25LZXlzID1cbiAgfCBPcGVyYXRpb25LZXlzLkNSRUFURVxuICB8IE9wZXJhdGlvbktleXMuUkVBRFxuICB8IE9wZXJhdGlvbktleXMuVVBEQVRFXG4gIHwgT3BlcmF0aW9uS2V5cy5ERUxFVEU7XG5cbi8qKlxuICogQHR5cGVkZWYgVUlMaXN0UHJvcE1ldGFkYXRhXG4gKiBAbWVtYmVyT2YgbW9kdWxlOnVpLWRlY29yYXRvcnNcbiAqL1xuZXhwb3J0IHR5cGUgVUlMaXN0UHJvcE1ldGFkYXRhID0ge1xuICBuYW1lOiBzdHJpbmc7XG4gIHByb3BzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xufTtcblxuLyoqXG4gKiBAdHlwZWRlZiBVSUxpc3RJdGVtTW9kZWxNZXRhZGF0YVxuICogQG1lbWJlck9mIG1vZHVsZTp1aS1kZWNvcmF0b3JzXG4gKi9cbmV4cG9ydCB0eXBlIFVJTGlzdEl0ZW1Nb2RlbE1ldGFkYXRhID0ge1xuICBpdGVtOiBVSUxpc3RJdGVtRWxlbWVudE1ldGFkYXRhO1xufTtcblxuLyoqXG4gKiBAdHlwZWRlZiBVSUxpc3RJdGVtRWxlbWVudE1ldGFkYXRhXG4gKiBAbWVtYmVyT2YgbW9kdWxlOnVpLWRlY29yYXRvcnNcbiAqL1xuZXhwb3J0IHR5cGUgVUlMaXN0SXRlbUVsZW1lbnRNZXRhZGF0YSA9IHtcbiAgdGFnOiBzdHJpbmc7XG4gIHByb3BzPzogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgbWFwcGVyPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbn07XG5cblxuLyoqXG4gKiBAdHlwZWRlZiBVSUxheW91dE1ldGFkYXRhXG4gKiBAbWVtYmVyT2YgbW9kdWxlOnVpLWRlY29yYXRvcnNcbiAqL1xuZXhwb3J0IHR5cGUgVUlMYXlvdXRNZXRhZGF0YSA9IHtcbiAgcHJvcHM6IHtcbiAgICBjb2xzPzogbnVtYmVyIHwgc3RyaW5nW107XG4gICAgcm93cz86IG51bWJlcjtcbiAgICBwcm9wcz86IFJlY29yZDxzdHJpbmcsIGFueT47XG4gIH1cbn1cblxuLyoqXG4gKiBAdHlwZWRlZiBVSUNsYXNzTWV0YWRhdGFcbiAqIEBtZW1iZXJPZiBtb2R1bGU6dWktZGVjb3JhdG9yc1xuICovXG5leHBvcnQgdHlwZSBVSUNsYXNzTWV0YWRhdGEgPSBVSUxheW91dE1ldGFkYXRhIHwgVUlNb2RlbE1ldGFkYXRhIHwgVUlMaXN0SXRlbU1vZGVsTWV0YWRhdGE7XG5cbi8qKlxuICogQHR5cGVkZWYgVUlMYXlvdXRJdGVtTWV0YWRhdGFcbiAqIEBtZW1iZXJPZiB1aS1kZWNvcmF0b3JzLnVpLmRlY29yYXRvcnNcbiAqL1xuZXhwb3J0IHR5cGUgVUlMYXlvdXRJdGVtTWV0YWRhdGEgPXtcbiAgbmFtZTogc3RyaW5nO1xuICBwcm9wczogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgY29sOiBudW1iZXIgfCBzdHJpbmdbXTtcbiAgcm93OiBudW1iZXIgfCBzdHJpbmdbXTtcbn07XG5cbi8qKlxuICogQHR5cGVkZWYgVUlNZWRpYUJyZWFrUG9pbnRzXG4gKiBAbWVtYmVyT2YgbW9kdWxlOnVpLWRlY29yYXRvcnNcbiAqL1xuZXhwb3J0IHR5cGUgVUlNZWRpYUJyZWFrUG9pbnRzID0gJ3hsJyB8ICdsJyB8ICdtJyB8ICdzJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJyB8ICdzbWFsbCcgfCAneGxhcmdlJzsiXX0=
@@ -8,6 +8,8 @@ import { findModelId, InternalError } from "@decaf-ts/db-decorators";
8
8
  */
9
9
  export function formatByType(type, value, ...args) {
10
10
  if (type === UIKeys.DATE) {
11
+ if (!value)
12
+ return "";
11
13
  const format = args.shift() || HTML5DateFormat;
12
14
  return formatDate(new Date(value), format);
13
15
  }
@@ -21,14 +23,16 @@ export function parseValueByType(type, value, fieldProps) {
21
23
  break;
22
24
  case HTML5InputTypes.DATE: {
23
25
  const format = fieldProps.format;
24
- result =
25
- typeof value === ReservedModels.NUMBER
26
- ? new Date(value)
27
- : value
28
- ? format
29
- ? parseDate(format, value)
30
- : new Date(value)
31
- : undefined;
26
+ if (value) {
27
+ result =
28
+ typeof value === ReservedModels.NUMBER
29
+ ? new Date(value)
30
+ : value
31
+ ? format
32
+ ? parseDate(format, value)
33
+ : new Date(value)
34
+ : undefined;
35
+ }
32
36
  break;
33
37
  }
34
38
  default:
@@ -84,4 +88,4 @@ export function generateUIModelID(model) {
84
88
  const name = model.constructor.name;
85
89
  return `${name}-${id}`;
86
90
  }
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdWkvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFVBQVUsRUFFVixTQUFTLEVBQ1QsY0FBYyxHQUNmLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLHVCQUFvQjtBQUN2RSxPQUFPLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBR3JFOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsWUFBWSxDQUMxQixJQUFTLEVBQ1QsS0FBVSxFQUNWLEdBQUcsSUFBZTtJQUVsQixJQUFJLElBQUksS0FBSyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDekIsTUFBTSxNQUFNLEdBQVksSUFBSSxDQUFDLEtBQUssRUFBYSxJQUFJLGVBQWUsQ0FBQztRQUNuRSxPQUFPLFVBQVUsQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBRUQsTUFBTSxVQUFVLGdCQUFnQixDQUM5QixJQUFZLEVBQ1osS0FBc0IsRUFDdEIsVUFBMkI7SUFFM0IsSUFBSSxNQUFNLEdBQXVDLFNBQVMsQ0FBQztJQUMzRCxRQUFRLElBQUksRUFBRSxDQUFDO1FBQ2IsS0FBSyxlQUFlLENBQUMsTUFBTTtZQUN6QixNQUFNLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzlCLE1BQU07UUFDUixLQUFLLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQzFCLE1BQU0sTUFBTSxHQUF1QixVQUFVLENBQUMsTUFBTSxDQUFDO1lBQ3JELE1BQU07Z0JBQ0osT0FBTyxLQUFLLEtBQUssY0FBYyxDQUFDLE1BQU07b0JBQ3BDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUM7b0JBQ2pCLENBQUMsQ0FBQyxLQUFLO3dCQUNMLENBQUMsQ0FBQyxNQUFNOzRCQUNOLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQzs0QkFDMUIsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQzt3QkFDbkIsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUNsQixNQUFNO1FBQ1IsQ0FBQztRQUNEO1lBQ0UsTUFBTTtnQkFDSixPQUFPLEtBQUssS0FBSyxjQUFjLENBQUMsTUFBTTtvQkFDcEMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxLQUFlLENBQUM7b0JBQzdCLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDakIsQ0FBQztJQUNELElBQUksT0FBTyxNQUFNLEtBQUssV0FBVyxFQUFFLENBQUM7UUFDbEMsTUFBTSxJQUFJLGFBQWEsQ0FDckIsaUNBQWlDLElBQUksU0FBUyxPQUFPLEtBQUssTUFBTSxLQUFLLEVBQUUsQ0FDeEUsQ0FBQztJQUNKLENBQUM7SUFDRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxLQUFzQjtJQUNsRCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFBRSxPQUFPLEtBQUssQ0FBQztJQUU3RCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFBRSxPQUFPLE1BQU0sQ0FBQztJQUVsQyxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDO0FBRUQsTUFBTSxVQUFVLFVBQVUsQ0FBQyxLQUFhO0lBQ3RDLElBQUksQ0FBQyxLQUFLO1FBQUUsT0FBTyxLQUFLLENBQUM7SUFFekIsTUFBTSxhQUFhLEdBQTJCO1FBQzVDLEdBQUcsRUFBRSxPQUFPO1FBQ1osR0FBRyxFQUFFLE1BQU07UUFDWCxHQUFHLEVBQUUsTUFBTTtLQUNaLENBQUM7SUFDRixPQUFPLEdBQUcsS0FBSyxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO1FBQzFDLE9BQU8sYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQztJQUNuQyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsVUFBVSxDQUFDLEtBQWE7SUFDdEMsTUFBTSxhQUFhLEdBQTJCO1FBQzVDLE9BQU8sRUFBRSxHQUFHO1FBQ1osTUFBTSxFQUFFLEdBQUc7UUFDWCxNQUFNLEVBQUUsR0FBRztLQUNaLENBQUM7SUFFRixPQUFPLEdBQUcsS0FBSyxFQUFFLENBQUMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7UUFDcEQsT0FBTyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDO0lBQ25DLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FBa0IsS0FBUTtJQUN6RCxJQUFJLEVBQTRCLENBQUM7SUFDakMsSUFBSSxDQUFDO1FBQ0gsRUFBRSxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQW9CLENBQUM7UUFDM0MsNkRBQTZEO0lBQy9ELENBQUM7SUFBQyxPQUFPLENBQVUsRUFBRSxDQUFDO1FBQ3BCLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUNELE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO0lBQ3BDLE9BQU8sR0FBRyxJQUFJLElBQUksRUFBRSxFQUFFLENBQUM7QUFDekIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGZvcm1hdERhdGUsXG4gIE1vZGVsLFxuICBwYXJzZURhdGUsXG4gIFJlc2VydmVkTW9kZWxzLFxufSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyBIVE1MNURhdGVGb3JtYXQsIEhUTUw1SW5wdXRUeXBlcywgVUlLZXlzIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBmaW5kTW9kZWxJZCwgSW50ZXJuYWxFcnJvciB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgRmllbGRQcm9wZXJ0aWVzIH0gZnJvbSBcIi4vdHlwZXNcIjtcblxuLyoqXG4gKiBAZnVuY3Rpb24gZm9ybWF0QnlUeXBlXG4gKlxuICogQG1lbWJlck9mIG1vZHVsZTp1aS1kZWNvcmF0b3JzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRCeVR5cGUoXG4gIHR5cGU6IGFueSxcbiAgdmFsdWU6IGFueSxcbiAgLi4uYXJnczogdW5rbm93bltdXG4pOiBzdHJpbmcgfCBudW1iZXIge1xuICBpZiAodHlwZSA9PT0gVUlLZXlzLkRBVEUpIHtcbiAgICBjb25zdCBmb3JtYXQ6IHN0cmluZyA9IChhcmdzLnNoaWZ0KCkgYXMgc3RyaW5nKSB8fCBIVE1MNURhdGVGb3JtYXQ7XG4gICAgcmV0dXJuIGZvcm1hdERhdGUobmV3IERhdGUodmFsdWUpLCBmb3JtYXQpO1xuICB9XG4gIHJldHVybiB2YWx1ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlVmFsdWVCeVR5cGUoXG4gIHR5cGU6IHN0cmluZyxcbiAgdmFsdWU6IHN0cmluZyB8IG51bWJlcixcbiAgZmllbGRQcm9wczogRmllbGRQcm9wZXJ0aWVzXG4pOiBzdHJpbmcgfCBudW1iZXIgfCBEYXRlIHtcbiAgbGV0IHJlc3VsdDogc3RyaW5nIHwgbnVtYmVyIHwgRGF0ZSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSBIVE1MNUlucHV0VHlwZXMuTlVNQkVSOlxuICAgICAgcmVzdWx0ID0gcGFyc2VUb051bWJlcih2YWx1ZSk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIEhUTUw1SW5wdXRUeXBlcy5EQVRFOiB7XG4gICAgICBjb25zdCBmb3JtYXQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IGZpZWxkUHJvcHMuZm9ybWF0O1xuICAgICAgcmVzdWx0ID1cbiAgICAgICAgdHlwZW9mIHZhbHVlID09PSBSZXNlcnZlZE1vZGVscy5OVU1CRVJcbiAgICAgICAgICA/IG5ldyBEYXRlKHZhbHVlKVxuICAgICAgICAgIDogdmFsdWVcbiAgICAgICAgICAgID8gZm9ybWF0XG4gICAgICAgICAgICAgID8gcGFyc2VEYXRlKGZvcm1hdCwgdmFsdWUpXG4gICAgICAgICAgICAgIDogbmV3IERhdGUodmFsdWUpXG4gICAgICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBkZWZhdWx0OlxuICAgICAgcmVzdWx0ID1cbiAgICAgICAgdHlwZW9mIHZhbHVlID09PSBSZXNlcnZlZE1vZGVscy5TVFJJTkdcbiAgICAgICAgICA/IGVzY2FwZUh0bWwodmFsdWUgYXMgc3RyaW5nKVxuICAgICAgICAgIDogcmVzdWx0O1xuICB9XG4gIGlmICh0eXBlb2YgcmVzdWx0ID09PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXG4gICAgICBgRmFpbGVkIHRvIHBhcnNlIHZhbHVlIG9mIHR5cGUgJHt0eXBlfSBmcm9tICR7dHlwZW9mIHZhbHVlfSAtICR7dmFsdWV9YFxuICAgICk7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlVG9OdW1iZXIodmFsdWU6IHN0cmluZyB8IG51bWJlcikge1xuICBpZiAodHlwZW9mIHZhbHVlID09PSBcIm51bWJlclwiICYmICFpc05hTih2YWx1ZSkpIHJldHVybiB2YWx1ZTtcblxuICBjb25zdCBwYXJzZWQgPSBOdW1iZXIodmFsdWUpO1xuICBpZiAoIWlzTmFOKHBhcnNlZCkpIHJldHVybiBwYXJzZWQ7XG5cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVzY2FwZUh0bWwodmFsdWU6IHN0cmluZykge1xuICBpZiAoIXZhbHVlKSByZXR1cm4gdmFsdWU7XG5cbiAgY29uc3QgdGFnc1RvUmVwbGFjZTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICBcIiZcIjogXCImYW1wO1wiLFxuICAgIFwiPFwiOiBcIiZsdDtcIixcbiAgICBcIj5cIjogXCImZ3Q7XCIsXG4gIH07XG4gIHJldHVybiBgJHt2YWx1ZX1gLnJlcGxhY2UoL1smPD5dL2csICh0YWcpID0+IHtcbiAgICByZXR1cm4gdGFnc1RvUmVwbGFjZVt0YWddIHx8IHRhZztcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXZlcnRIdG1sKHZhbHVlOiBzdHJpbmcpIHtcbiAgY29uc3QgdGFnc1RvUmVwbGFjZTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICBcIiZhbXA7XCI6IFwiJlwiLFxuICAgIFwiJmx0O1wiOiBcIjxcIixcbiAgICBcIiZndDtcIjogXCI+XCIsXG4gIH07XG5cbiAgcmV0dXJuIGAke3ZhbHVlfWAucmVwbGFjZSgvJmx0O3wmZ3Q7fCZhbXA7L2csICh0YWcpID0+IHtcbiAgICByZXR1cm4gdGFnc1RvUmVwbGFjZVt0YWddIHx8IHRhZztcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZVVJTW9kZWxJRDxNIGV4dGVuZHMgTW9kZWw+KG1vZGVsOiBNKSB7XG4gIGxldCBpZDogc3RyaW5nIHwgbnVtYmVyIHwgYmlnaW50O1xuICB0cnkge1xuICAgIGlkID0gZmluZE1vZGVsSWQobW9kZWwpIGFzIHN0cmluZyB8IG51bWJlcjtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gIH0gY2F0Y2ggKGU6IHVua25vd24pIHtcbiAgICBpZCA9IERhdGUubm93KCk7XG4gIH1cbiAgY29uc3QgbmFtZSA9IG1vZGVsLmNvbnN0cnVjdG9yLm5hbWU7XG4gIHJldHVybiBgJHtuYW1lfS0ke2lkfWA7XG59XG4iXX0=
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdWkvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFVBQVUsRUFFVixTQUFTLEVBQ1QsY0FBYyxHQUNmLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLHVCQUFvQjtBQUN2RSxPQUFPLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBR3JFOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsWUFBWSxDQUMxQixJQUFTLEVBQ1QsS0FBVSxFQUNWLEdBQUcsSUFBZTtJQUVsQixJQUFJLElBQUksS0FBSyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDekIsSUFBRyxDQUFDLEtBQUs7WUFDTCxPQUFPLEVBQUUsQ0FBQztRQUNkLE1BQU0sTUFBTSxHQUFZLElBQUksQ0FBQyxLQUFLLEVBQWEsSUFBSSxlQUFlLENBQUM7UUFDbkUsT0FBTyxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUVELE1BQU0sVUFBVSxnQkFBZ0IsQ0FDOUIsSUFBWSxFQUNaLEtBQXNCLEVBQ3RCLFVBQTJCO0lBRTNCLElBQUksTUFBTSxHQUF1QyxTQUFTLENBQUM7SUFDM0QsUUFBUSxJQUFJLEVBQUUsQ0FBQztRQUNiLEtBQUssZUFBZSxDQUFDLE1BQU07WUFDekIsTUFBTSxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM5QixNQUFNO1FBQ1IsS0FBSyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUMxQixNQUFNLE1BQU0sR0FBdUIsVUFBVSxDQUFDLE1BQU0sQ0FBQztZQUNyRCxJQUFHLEtBQUssRUFBRSxDQUFDO2dCQUNULE1BQU07b0JBQ0osT0FBTyxLQUFLLEtBQUssY0FBYyxDQUFDLE1BQU07d0JBQ3BDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUM7d0JBQ2pCLENBQUMsQ0FBQyxLQUFLOzRCQUNMLENBQUMsQ0FBQyxNQUFNO2dDQUNOLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQztnQ0FDMUIsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQzs0QkFDbkIsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUNwQixDQUFDO1lBQ0QsTUFBTTtRQUNSLENBQUM7UUFDRDtZQUNFLE1BQU07Z0JBQ0osT0FBTyxLQUFLLEtBQUssY0FBYyxDQUFDLE1BQU07b0JBQ3BDLENBQUMsQ0FBQyxVQUFVLENBQUMsS0FBZSxDQUFDO29CQUM3QixDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ2pCLENBQUM7SUFDRCxJQUFJLE9BQU8sTUFBTSxLQUFLLFdBQVcsRUFBRSxDQUFDO1FBQ2xDLE1BQU0sSUFBSSxhQUFhLENBQ3JCLGlDQUFpQyxJQUFJLFNBQVMsT0FBTyxLQUFLLE1BQU0sS0FBSyxFQUFFLENBQ3hFLENBQUM7SUFDSixDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsS0FBc0I7SUFDbEQsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQUUsT0FBTyxLQUFLLENBQUM7SUFFN0QsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQUUsT0FBTyxNQUFNLENBQUM7SUFFbEMsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQztBQUVELE1BQU0sVUFBVSxVQUFVLENBQUMsS0FBYTtJQUN0QyxJQUFJLENBQUMsS0FBSztRQUFFLE9BQU8sS0FBSyxDQUFDO0lBRXpCLE1BQU0sYUFBYSxHQUEyQjtRQUM1QyxHQUFHLEVBQUUsT0FBTztRQUNaLEdBQUcsRUFBRSxNQUFNO1FBQ1gsR0FBRyxFQUFFLE1BQU07S0FDWixDQUFDO0lBQ0YsT0FBTyxHQUFHLEtBQUssRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtRQUMxQyxPQUFPLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUM7SUFDbkMsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLFVBQVUsQ0FBQyxLQUFhO0lBQ3RDLE1BQU0sYUFBYSxHQUEyQjtRQUM1QyxPQUFPLEVBQUUsR0FBRztRQUNaLE1BQU0sRUFBRSxHQUFHO1FBQ1gsTUFBTSxFQUFFLEdBQUc7S0FDWixDQUFDO0lBRUYsT0FBTyxHQUFHLEtBQUssRUFBRSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO1FBQ3BELE9BQU8sYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQztJQUNuQyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsaUJBQWlCLENBQWtCLEtBQVE7SUFDekQsSUFBSSxFQUE0QixDQUFDO0lBQ2pDLElBQUksQ0FBQztRQUNILEVBQUUsR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFvQixDQUFDO1FBQzNDLDZEQUE2RDtJQUMvRCxDQUFDO0lBQUMsT0FBTyxDQUFVLEVBQUUsQ0FBQztRQUNwQixFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFDRCxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztJQUNwQyxPQUFPLEdBQUcsSUFBSSxJQUFJLEVBQUUsRUFBRSxDQUFDO0FBQ3pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBmb3JtYXREYXRlLFxuICBNb2RlbCxcbiAgcGFyc2VEYXRlLFxuICBSZXNlcnZlZE1vZGVscyxcbn0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgSFRNTDVEYXRlRm9ybWF0LCBIVE1MNUlucHV0VHlwZXMsIFVJS2V5cyB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgZmluZE1vZGVsSWQsIEludGVybmFsRXJyb3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IEZpZWxkUHJvcGVydGllcyB9IGZyb20gXCIuL3R5cGVzXCI7XG5cbi8qKlxuICogQGZ1bmN0aW9uIGZvcm1hdEJ5VHlwZVxuICpcbiAqIEBtZW1iZXJPZiBtb2R1bGU6dWktZGVjb3JhdG9yc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0QnlUeXBlKFxuICB0eXBlOiBhbnksXG4gIHZhbHVlOiBhbnksXG4gIC4uLmFyZ3M6IHVua25vd25bXVxuKTogc3RyaW5nIHwgbnVtYmVyIHtcbiAgaWYgKHR5cGUgPT09IFVJS2V5cy5EQVRFKSB7XG4gICAgaWYoIXZhbHVlKVxuICAgICAgICByZXR1cm4gXCJcIjtcbiAgICBjb25zdCBmb3JtYXQ6IHN0cmluZyA9IChhcmdzLnNoaWZ0KCkgYXMgc3RyaW5nKSB8fCBIVE1MNURhdGVGb3JtYXQ7XG4gICAgcmV0dXJuIGZvcm1hdERhdGUobmV3IERhdGUodmFsdWUpLCBmb3JtYXQpO1xuICB9XG4gIHJldHVybiB2YWx1ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlVmFsdWVCeVR5cGUoXG4gIHR5cGU6IHN0cmluZyxcbiAgdmFsdWU6IHN0cmluZyB8IG51bWJlcixcbiAgZmllbGRQcm9wczogRmllbGRQcm9wZXJ0aWVzXG4pOiBzdHJpbmcgfCBudW1iZXIgfCBEYXRlIHtcbiAgbGV0IHJlc3VsdDogc3RyaW5nIHwgbnVtYmVyIHwgRGF0ZSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSBIVE1MNUlucHV0VHlwZXMuTlVNQkVSOlxuICAgICAgcmVzdWx0ID0gcGFyc2VUb051bWJlcih2YWx1ZSk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIEhUTUw1SW5wdXRUeXBlcy5EQVRFOiB7XG4gICAgICBjb25zdCBmb3JtYXQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IGZpZWxkUHJvcHMuZm9ybWF0O1xuICAgICAgaWYodmFsdWUpIHtcbiAgICAgICAgcmVzdWx0ID1cbiAgICAgICAgICB0eXBlb2YgdmFsdWUgPT09IFJlc2VydmVkTW9kZWxzLk5VTUJFUlxuICAgICAgICAgICAgPyBuZXcgRGF0ZSh2YWx1ZSlcbiAgICAgICAgICAgIDogdmFsdWVcbiAgICAgICAgICAgICAgPyBmb3JtYXRcbiAgICAgICAgICAgICAgICA/IHBhcnNlRGF0ZShmb3JtYXQsIHZhbHVlKVxuICAgICAgICAgICAgICAgIDogbmV3IERhdGUodmFsdWUpXG4gICAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuICAgICAgfVxuICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGRlZmF1bHQ6XG4gICAgICByZXN1bHQgPVxuICAgICAgICB0eXBlb2YgdmFsdWUgPT09IFJlc2VydmVkTW9kZWxzLlNUUklOR1xuICAgICAgICAgID8gZXNjYXBlSHRtbCh2YWx1ZSBhcyBzdHJpbmcpXG4gICAgICAgICAgOiByZXN1bHQ7XG4gIH1cbiAgaWYgKHR5cGVvZiByZXN1bHQgPT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgIGBGYWlsZWQgdG8gcGFyc2UgdmFsdWUgb2YgdHlwZSAke3R5cGV9IGZyb20gJHt0eXBlb2YgdmFsdWV9IC0gJHt2YWx1ZX1gXG4gICAgKTtcbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VUb051bWJlcih2YWx1ZTogc3RyaW5nIHwgbnVtYmVyKSB7XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09IFwibnVtYmVyXCIgJiYgIWlzTmFOKHZhbHVlKSkgcmV0dXJuIHZhbHVlO1xuXG4gIGNvbnN0IHBhcnNlZCA9IE51bWJlcih2YWx1ZSk7XG4gIGlmICghaXNOYU4ocGFyc2VkKSkgcmV0dXJuIHBhcnNlZDtcblxuICByZXR1cm4gdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZXNjYXBlSHRtbCh2YWx1ZTogc3RyaW5nKSB7XG4gIGlmICghdmFsdWUpIHJldHVybiB2YWx1ZTtcblxuICBjb25zdCB0YWdzVG9SZXBsYWNlOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgIFwiJlwiOiBcIiZhbXA7XCIsXG4gICAgXCI8XCI6IFwiJmx0O1wiLFxuICAgIFwiPlwiOiBcIiZndDtcIixcbiAgfTtcbiAgcmV0dXJuIGAke3ZhbHVlfWAucmVwbGFjZSgvWyY8Pl0vZywgKHRhZykgPT4ge1xuICAgIHJldHVybiB0YWdzVG9SZXBsYWNlW3RhZ10gfHwgdGFnO1xuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJldmVydEh0bWwodmFsdWU6IHN0cmluZykge1xuICBjb25zdCB0YWdzVG9SZXBsYWNlOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgIFwiJmFtcDtcIjogXCImXCIsXG4gICAgXCImbHQ7XCI6IFwiPFwiLFxuICAgIFwiJmd0O1wiOiBcIj5cIixcbiAgfTtcblxuICByZXR1cm4gYCR7dmFsdWV9YC5yZXBsYWNlKC8mbHQ7fCZndDt8JmFtcDsvZywgKHRhZykgPT4ge1xuICAgIHJldHVybiB0YWdzVG9SZXBsYWNlW3RhZ10gfHwgdGFnO1xuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlVUlNb2RlbElEPE0gZXh0ZW5kcyBNb2RlbD4obW9kZWw6IE0pIHtcbiAgbGV0IGlkOiBzdHJpbmcgfCBudW1iZXIgfCBiaWdpbnQ7XG4gIHRyeSB7XG4gICAgaWQgPSBmaW5kTW9kZWxJZChtb2RlbCkgYXMgc3RyaW5nIHwgbnVtYmVyO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuICAgIGlkID0gRGF0ZS5ub3coKTtcbiAgfVxuICBjb25zdCBuYW1lID0gbW9kZWwuY29uc3RydWN0b3IubmFtZTtcbiAgcmV0dXJuIGAke25hbWV9LSR7aWR9YDtcbn1cbiJdfQ==
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.5.15";
33
+ exports.VERSION = "0.5.16";
34
34
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFSCxvREFBd0I7QUFDeEIsaURBQXFCO0FBRXJCOzs7OztHQUtHO0FBQ1UsUUFBQSxPQUFPLEdBQUcsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZGVzY3JpcHRpb24gVUkgZGVjb3JhdG9ycyBtb2R1bGUgZm9yIFR5cGVTY3JpcHQgYXBwbGljYXRpb25zXG4gKiBAc3VtbWFyeSBBIGNvbGxlY3Rpb24gb2YgZGVjb3JhdG9ycyBhbmQgdXRpbGl0aWVzIGZvciBidWlsZGluZyBVSSBjb21wb25lbnRzIGluIFR5cGVTY3JpcHQgYXBwbGljYXRpb25zLlxuICogVGhpcyBtb2R1bGUgZXhwb3J0cyBmdW5jdGlvbmFsaXR5IGZyb20gYm90aCB0aGUgbW9kZWwgYW5kIFVJIHN1Ym1vZHVsZXMsIHByb3ZpZGluZyBkZWNvcmF0b3JzIGZvclxuICogcmVuZGVyaW5nLCBjb21wb25lbnQgZGVmaW5pdGlvbiwgYW5kIFVJIHN0YXRlIG1hbmFnZW1lbnQuXG4gKiBAbW9kdWxlIHVpLWRlY29yYXRvcnNcbiAqL1xuXG5leHBvcnQgKiBmcm9tIFwiLi9tb2RlbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdWlcIjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gQ3VycmVudCBwYWNrYWdlIHZlcnNpb24gc3RyaW5nXG4gKiBAc3VtbWFyeSBTdG9yZXMgdGhlIGN1cnJlbnQgcGFja2FnZSB2ZXJzaW9uIGZvciByZWZlcmVuY2VcbiAqIEBjb25zdCBWRVJTSU9OXG4gKiBAbWVtYmVyT2YgbW9kdWxlOnVpLWRlY29yYXRvcnNcbiAqL1xuZXhwb3J0IGNvbnN0IFZFUlNJT04gPSBcIiMjVkVSU0lPTiMjXCI7XG4iXX0=
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.5.15";
16
+ export declare const VERSION = "0.5.16";
@@ -4,6 +4,7 @@ exports.uimodel = uimodel;
4
4
  exports.renderedBy = renderedBy;
5
5
  exports.uilistitem = uilistitem;
6
6
  exports.uihandlers = uihandlers;
7
+ exports.uilayout = uilayout;
7
8
  const constants_1 = require("./../ui/constants.cjs");
8
9
  const reflection_1 = require("@decaf-ts/reflection");
9
10
  const Rendering_1 = require("./../ui/Rendering.cjs");
@@ -152,6 +153,59 @@ function uilistitem(tag, props) {
152
153
  return (0, reflection_1.metadata)(Rendering_1.RenderingEngine.key(constants_1.UIKeys.UILISTITEM), meta)(original);
153
154
  };
154
155
  }
156
+ /**
157
+ * @description Decorator that adds event handlers to a UI model
158
+ * @summary Specifies event handlers that should be attached to the rendered model
159
+ * This decorator allows you to define event handlers that will be automatically
160
+ * attached to the rendered UI element. The handlers are passed as properties
161
+ * to the rendering engine.
162
+ *
163
+ * @param {Record<string, any>} [props] Object containing event handler functions and other properties
164
+ * @return {Function} A class decorator function
165
+ *
166
+ * @function uihandlers
167
+ * @category Class Decorators
168
+ *
169
+ * @example
170
+ * // Add event handlers to a model
171
+ * @uimodel('button')
172
+ * @uihandlers({
173
+ * onClick: (event) => console.log('Button clicked'),
174
+ * onMouseOver: (event) => console.log('Mouse over button'),
175
+ * disabled: false
176
+ * })
177
+ * class ClickableButton extends Model {
178
+ * @attribute()
179
+ * label: string;
180
+ * }
181
+ *
182
+ * // Add form submission handlers
183
+ * @uimodel('form')
184
+ * @uihandlers({
185
+ * onSubmit: (event) => {
186
+ * event.preventDefault();
187
+ * console.log('Form submitted');
188
+ * },
189
+ * onReset: (event) => console.log('Form reset')
190
+ * })
191
+ * class ContactForm extends Model {
192
+ * @attribute()
193
+ * email: string;
194
+ * }
195
+ *
196
+ * @mermaid
197
+ * sequenceDiagram
198
+ * participant System
199
+ * participant uihandlers
200
+ * participant Model
201
+ * participant RenderingEngine
202
+ * participant UI
203
+ * System->>uihandlers: apply to Model
204
+ * uihandlers->>Model: adds handler metadata
205
+ * Model->>RenderingEngine: requests rendering with handlers
206
+ * RenderingEngine->>UI: renders element with event handlers attached
207
+ * UI->>Model: triggers handlers on events
208
+ */
155
209
  function uihandlers(props) {
156
210
  return (original) => {
157
211
  const meta = {
@@ -160,4 +214,67 @@ function uihandlers(props) {
160
214
  return (0, reflection_1.metadata)(Rendering_1.RenderingEngine.key(constants_1.UIKeys.HANDLERS), meta)(original);
161
215
  };
162
216
  }
163
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tb2RlbC9kZWNvcmF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBZ0RBLDBCQVNDO0FBa0NELGdDQUVDO0FBK0NELGdDQVdDO0FBR0QsZ0NBT0M7QUFqS0QscURBQXlDO0FBQ3pDLHFEQUF1RDtBQUN2RCxxREFBa0Q7QUFHbEQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBDRztBQUNILFNBQWdCLE9BQU8sQ0FBQyxHQUFZLEVBQUUsS0FBMkI7SUFDL0QsNkRBQTZEO0lBQzdELE9BQU8sQ0FBQyxRQUFhLEVBQUUsV0FBaUIsRUFBRSxFQUFFO1FBQzFDLE1BQU0sSUFBSSxHQUFvQjtZQUM1QixHQUFHLEVBQUUsR0FBRyxJQUFJLFFBQVEsQ0FBQyxJQUFJO1lBQ3pCLEtBQUssRUFBRSxLQUFLO1NBQ2IsQ0FBQztRQUNGLE9BQU8sSUFBQSxxQkFBUSxFQUFDLDJCQUFlLENBQUMsR0FBRyxDQUFDLGtCQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdkUsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBK0JHO0FBQ0gsU0FBZ0IsVUFBVSxDQUFDLE1BQWM7SUFDdkMsT0FBTyxJQUFBLGtCQUFLLEVBQUMsSUFBQSxxQkFBUSxFQUFDLDJCQUFlLENBQUMsR0FBRyxDQUFDLGtCQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztBQUMxRSxDQUFDO0FBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNENHO0FBQ0gsU0FBZ0IsVUFBVSxDQUFDLEdBQVksRUFBRSxLQUEyQjtJQUNsRSw2REFBNkQ7SUFDN0QsT0FBTyxDQUFDLFFBQWEsRUFBRSxXQUFpQixFQUFFLEVBQUU7UUFDMUMsTUFBTSxJQUFJLEdBQTRCO1lBQ3BDLElBQUksRUFBRTtnQkFDSixHQUFHLEVBQUUsR0FBRyxJQUFJLFFBQVEsQ0FBQyxJQUFJO2dCQUN6QixLQUFLLEVBQUUsS0FBSzthQUNiO1NBQ0YsQ0FBQztRQUNGLE9BQU8sSUFBQSxxQkFBUSxFQUFDLDJCQUFlLENBQUMsR0FBRyxDQUFDLGtCQUFNLENBQUMsVUFBVSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDMUUsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUdELFNBQWdCLFVBQVUsQ0FBQyxLQUEyQjtJQUNwRCxPQUFPLENBQUMsUUFBYSxFQUFFLEVBQUU7UUFDdkIsTUFBTSxJQUFJLEdBQUc7WUFDWCxRQUFRLEVBQUUsS0FBSztTQUNoQixDQUFDO1FBQ0YsT0FBTyxJQUFBLHFCQUFRLEVBQUMsMkJBQWUsQ0FBQyxHQUFHLENBQUMsa0JBQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN4RSxDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVUlLZXlzIH0gZnJvbSBcIi4uL3VpL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgYXBwbHksIG1ldGFkYXRhIH0gZnJvbSBcIkBkZWNhZi10cy9yZWZsZWN0aW9uXCI7XG5pbXBvcnQgeyBSZW5kZXJpbmdFbmdpbmUgfSBmcm9tIFwiLi4vdWkvUmVuZGVyaW5nXCI7XG5pbXBvcnQgeyBVSUxpc3RJdGVtTW9kZWxNZXRhZGF0YSwgVUlNb2RlbE1ldGFkYXRhIH0gZnJvbSBcIi4uL3VpL3R5cGVzXCI7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIERlY29yYXRvciB0aGF0IHRhZ3MgYSBjbGFzcyBhcyBhIFVJIG1vZGVsXG4gKiBAc3VtbWFyeSBBZGRzIHJlbmRlcmluZyBjYXBhYmlsaXRpZXMgdG8gYSBtb2RlbCBjbGFzcyBieSBwcm92aWRpbmcgYSByZW5kZXIgbWV0aG9kXG4gKiBUaGlzIGRlY29yYXRvciBhcHBsaWVzIG1ldGFkYXRhIHRvIHRoZSBjbGFzcyB0aGF0IGVuYWJsZXMgaXQgdG8gYmUgcmVuZGVyZWQgYnkgdGhlIFVJIHJlbmRlcmluZyBlbmdpbmUuXG4gKiBUaGUgbW9kZWwgd2lsbCBiZSByZW5kZXJlZCB3aXRoIHRoZSBzcGVjaWZpZWQgdGFnIGFuZCBwcm9wZXJ0aWVzLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBbdGFnXSBUaGUgSFRNTCB0YWcgdG8gdXNlIHdoZW4gcmVuZGVyaW5nIHRoaXMgbW9kZWwgKGRlZmF1bHRzIHRvIGNsYXNzIG5hbWUpXG4gKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT59IFtwcm9wc10gQWRkaXRpb25hbCBwcm9wZXJ0aWVzIHRvIHBhc3MgdG8gdGhlIHJlbmRlcmVkIGVsZW1lbnRcbiAqIEByZXR1cm4ge0Z1bmN0aW9ufSBBIGNsYXNzIGRlY29yYXRvciBmdW5jdGlvblxuICpcbiAqIEBmdW5jdGlvbiB1aW1vZGVsXG4gKiBAY2F0ZWdvcnkgQ2xhc3MgRGVjb3JhdG9yc1xuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBCYXNpYyB1c2FnZSB3aXRoIGRlZmF1bHQgdGFnIChjbGFzcyBuYW1lKVxuICogQHVpbW9kZWwoKVxuICogY2xhc3MgVXNlclByb2ZpbGUgZXh0ZW5kcyBNb2RlbCB7XG4gKiAgIEBhdHRyaWJ1dGUoKVxuICogICBuYW1lOiBzdHJpbmc7XG4gKlxuICogICBAYXR0cmlidXRlKClcbiAqICAgZW1haWw6IHN0cmluZztcbiAqIH1cbiAqXG4gKiAvLyBVc2FnZSB3aXRoIGN1c3RvbSB0YWcgYW5kIHByb3BlcnRpZXNcbiAqIEB1aW1vZGVsKCdkaXYnLCB7IGNsYXNzOiAndXNlci1jYXJkJyB9KVxuICogY2xhc3MgVXNlckNhcmQgZXh0ZW5kcyBNb2RlbCB7XG4gKiAgIEBhdHRyaWJ1dGUoKVxuICogICB1c2VybmFtZTogc3RyaW5nO1xuICogfVxuICpcbiAqIEBtZXJtYWlkXG4gKiBzZXF1ZW5jZURpYWdyYW1cbiAqICAgcGFydGljaXBhbnQgU3lzdGVtXG4gKiAgIHBhcnRpY2lwYW50IHVpbW9kZWxcbiAqICAgcGFydGljaXBhbnQgY29uc3RydWN0b3JcbiAqICAgcGFydGljaXBhbnQgaW5zdGFuY2VcbiAqICAgU3lzdGVtLT4+dWltb2RlbDpkbyhjb25zdHJ1Y3RvcilcbiAqICAgdWltb2RlbC0+PmNvbnN0cnVjdG9yOiBFeGVjdXRlcyB0aGUgY29uc3RydWN0b3JcbiAqICAgY29uc3RydWN0b3ItPj51aW1vZGVsOiByZXR1cm5zIGluc3RhbmNlXG4gKiAgIHVpbW9kZWwtPj5pbnN0YW5jZTogYWRkcyB0aGUgcmVuZGVyIG1ldGhvZFxuICogICB1aW1vZGVsLT4+U3lzdGVtOiByZXR1cm5zIFVJTW9kZWwgaW5zdGFuY2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVpbW9kZWwodGFnPzogc3RyaW5nLCBwcm9wcz86IFJlY29yZDxzdHJpbmcsIGFueT4pIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICByZXR1cm4gKG9yaWdpbmFsOiBhbnksIHByb3BlcnR5S2V5PzogYW55KSA9PiB7XG4gICAgY29uc3QgbWV0YTogVUlNb2RlbE1ldGFkYXRhID0ge1xuICAgICAgdGFnOiB0YWcgfHwgb3JpZ2luYWwubmFtZSxcbiAgICAgIHByb3BzOiBwcm9wcyxcbiAgICB9O1xuICAgIHJldHVybiBtZXRhZGF0YShSZW5kZXJpbmdFbmdpbmUua2V5KFVJS2V5cy5VSU1PREVMKSwgbWV0YSkob3JpZ2luYWwpO1xuICB9O1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBEZWNvcmF0b3IgdGhhdCBzcGVjaWZpZXMgd2hpY2ggcmVuZGVyaW5nIGVuZ2luZSB0byB1c2UgZm9yIGEgbW9kZWxcbiAqIEBzdW1tYXJ5IEFzc29jaWF0ZXMgYSBtb2RlbCB3aXRoIGEgc3BlY2lmaWMgcmVuZGVyaW5nIGVuZ2luZSBpbXBsZW1lbnRhdGlvblxuICogVGhpcyBkZWNvcmF0b3IgYWxsb3dzIHlvdSB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCByZW5kZXJpbmcgZW5naW5lIGZvciBhIHNwZWNpZmljIG1vZGVsIGNsYXNzLFxuICogZW5hYmxpbmcgZGlmZmVyZW50IHJlbmRlcmluZyBzdHJhdGVnaWVzIGZvciBkaWZmZXJlbnQgbW9kZWxzLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBlbmdpbmUgVGhlIG5hbWUgb2YgdGhlIHJlbmRlcmluZyBlbmdpbmUgdG8gdXNlXG4gKiBAcmV0dXJuIHtGdW5jdGlvbn0gQSBjbGFzcyBkZWNvcmF0b3IgZnVuY3Rpb25cbiAqXG4gKiBAZnVuY3Rpb24gcmVuZGVyZWRCeVxuICogQGNhdGVnb3J5IENsYXNzIERlY29yYXRvcnNcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gU3BlY2lmeSBhIGN1c3RvbSByZW5kZXJpbmcgZW5naW5lIGZvciBhIG1vZGVsXG4gKiBAdWltb2RlbCgpXG4gKiBAcmVuZGVyZWRCeSgncmVhY3QnKVxuICogY2xhc3MgUmVhY3RDb21wb25lbnQgZXh0ZW5kcyBNb2RlbCB7XG4gKiAgIEBhdHRyaWJ1dGUoKVxuICogICB0aXRsZTogc3RyaW5nO1xuICogfVxuICpcbiAqIEBtZXJtYWlkXG4gKiBzZXF1ZW5jZURpYWdyYW1cbiAqICAgcGFydGljaXBhbnQgU3lzdGVtXG4gKiAgIHBhcnRpY2lwYW50IHJlbmRlcmVkQnlcbiAqICAgcGFydGljaXBhbnQgTW9kZWxcbiAqICAgcGFydGljaXBhbnQgUmVuZGVyaW5nRW5naW5lXG4gKiAgIFN5c3RlbS0+PnJlbmRlcmVkQnk6IGFwcGx5IHRvIE1vZGVsXG4gKiAgIHJlbmRlcmVkQnktPj5Nb2RlbDogYWRkcyBlbmdpbmUgbWV0YWRhdGFcbiAqICAgTW9kZWwtPj5SZW5kZXJpbmdFbmdpbmU6IHVzZXMgc3BlY2lmaWVkIGVuZ2luZVxuICogICBSZW5kZXJpbmdFbmdpbmUtPj5TeXN0ZW06IHJlbmRlcnMgd2l0aCBjdXN0b20gZW5naW5lXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZW5kZXJlZEJ5KGVuZ2luZTogc3RyaW5nKSB7XG4gIHJldHVybiBhcHBseShtZXRhZGF0YShSZW5kZXJpbmdFbmdpbmUua2V5KFVJS2V5cy5SRU5ERVJFRF9CWSksIGVuZ2luZSkpO1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBEZWNvcmF0b3IgdGhhdCB0YWdzIGEgbW9kZWwgYXMgYSBsaXN0IGl0ZW0gZm9yIFVJIHJlbmRlcmluZ1xuICogQHN1bW1hcnkgU3BlY2lmaWVzIGhvdyBhIG1vZGVsIHNob3VsZCBiZSByZW5kZXJlZCB3aGVuIGRpc3BsYXllZCBpbiBhIGxpc3QgY29udGV4dFxuICogVGhpcyBkZWNvcmF0b3IgYXBwbGllcyBtZXRhZGF0YSB0byB0aGUgY2xhc3MgdGhhdCBlbmFibGVzIGl0IHRvIGJlIHJlbmRlcmVkIGFzIGEgbGlzdCBpdGVtXG4gKiBieSB0aGUgVUkgcmVuZGVyaW5nIGVuZ2luZS4gVGhlIG1vZGVsIHdpbGwgYmUgcmVuZGVyZWQgd2l0aCB0aGUgc3BlY2lmaWVkIHRhZyBhbmQgcHJvcGVydGllc1xuICogd2hlbiBpdCBhcHBlYXJzIGluIGEgbGlzdC5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gW3RhZ10gVGhlIEhUTUwgdGFnIHRvIHVzZSB3aGVuIHJlbmRlcmluZyB0aGlzIG1vZGVsIGFzIGEgbGlzdCBpdGVtIChkZWZhdWx0cyB0byBjbGFzcyBuYW1lKVxuICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSBbcHJvcHNdIEFkZGl0aW9uYWwgcHJvcGVydGllcyB0byBwYXNzIHRvIHRoZSByZW5kZXJlZCBsaXN0IGl0ZW0gZWxlbWVudFxuICogQHJldHVybiB7RnVuY3Rpb259IEEgY2xhc3MgZGVjb3JhdG9yIGZ1bmN0aW9uXG4gKlxuICogQGZ1bmN0aW9uIHVpbGlzdGl0ZW1cbiAqIEBjYXRlZ29yeSBDbGFzcyBEZWNvcmF0b3JzXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEJhc2ljIHVzYWdlIHdpdGggZGVmYXVsdCB0YWcgKGNsYXNzIG5hbWUpXG4gKiBAdWltb2RlbCgpXG4gKiBAdWlsaXN0aXRlbSgpXG4gKiBjbGFzcyBUb2RvSXRlbSBleHRlbmRzIE1vZGVsIHtcbiAqICAgQGF0dHJpYnV0ZSgpXG4gKiAgIHRpdGxlOiBzdHJpbmc7XG4gKlxuICogICBAYXR0cmlidXRlKClcbiAqICAgY29tcGxldGVkOiBib29sZWFuO1xuICogfVxuICpcbiAqIC8vIFVzYWdlIHdpdGggY3VzdG9tIHRhZyBhbmQgcHJvcGVydGllc1xuICogQHVpbW9kZWwoKVxuICogQHVpbGlzdGl0ZW0oJ2xpJywgeyBjbGFzczogJ2xpc3QtZ3JvdXAtaXRlbScgfSlcbiAqIGNsYXNzIExpc3RJdGVtIGV4dGVuZHMgTW9kZWwge1xuICogICBAYXR0cmlidXRlKClcbiAqICAgdGV4dDogc3RyaW5nO1xuICogfVxuICpcbiAqIEBtZXJtYWlkXG4gKiBzZXF1ZW5jZURpYWdyYW1cbiAqICAgcGFydGljaXBhbnQgU3lzdGVtXG4gKiAgIHBhcnRpY2lwYW50IHVpbGlzdGl0ZW1cbiAqICAgcGFydGljaXBhbnQgTW9kZWxcbiAqICAgcGFydGljaXBhbnQgUmVuZGVyaW5nRW5naW5lXG4gKiAgIFN5c3RlbS0+PnVpbGlzdGl0ZW06IGFwcGx5IHRvIE1vZGVsXG4gKiAgIHVpbGlzdGl0ZW0tPj5Nb2RlbDogYWRkcyBsaXN0IGl0ZW0gbWV0YWRhdGFcbiAqICAgTW9kZWwtPj5SZW5kZXJpbmdFbmdpbmU6IHVzZXMgbGlzdCBpdGVtIG1ldGFkYXRhIHdoZW4gaW4gbGlzdCBjb250ZXh0XG4gKiAgIFJlbmRlcmluZ0VuZ2luZS0+PlN5c3RlbTogcmVuZGVycyB3aXRoIGxpc3QgaXRlbSBzdHlsaW5nXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1aWxpc3RpdGVtKHRhZz86IHN0cmluZywgcHJvcHM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+KSB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgcmV0dXJuIChvcmlnaW5hbDogYW55LCBwcm9wZXJ0eUtleT86IGFueSkgPT4ge1xuICAgIGNvbnN0IG1ldGE6IFVJTGlzdEl0ZW1Nb2RlbE1ldGFkYXRhID0ge1xuICAgICAgaXRlbToge1xuICAgICAgICB0YWc6IHRhZyB8fCBvcmlnaW5hbC5uYW1lLFxuICAgICAgICBwcm9wczogcHJvcHMsXG4gICAgICB9LFxuICAgIH07XG4gICAgcmV0dXJuIG1ldGFkYXRhKFJlbmRlcmluZ0VuZ2luZS5rZXkoVUlLZXlzLlVJTElTVElURU0pLCBtZXRhKShvcmlnaW5hbCk7XG4gIH07XG59XG5cblxuZXhwb3J0IGZ1bmN0aW9uIHVpaGFuZGxlcnMocHJvcHM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+KSB7XG4gIHJldHVybiAob3JpZ2luYWw6IGFueSkgPT4ge1xuICAgIGNvbnN0IG1ldGEgPSB7XG4gICAgICBoYW5kbGVyczogcHJvcHNcbiAgICB9O1xuICAgIHJldHVybiBtZXRhZGF0YShSZW5kZXJpbmdFbmdpbmUua2V5KFVJS2V5cy5IQU5ETEVSUyksIG1ldGEpKG9yaWdpbmFsKTtcbiAgfTtcbn0iXX0=
217
+ /**
218
+ * @description Decorator that creates a layout container with grid specifications
219
+ * @summary Combines UI model functionality with layout grid configuration
220
+ * This decorator creates a UI model that acts as a layout container with specified
221
+ * column and row configurations. It's a convenience decorator that combines
222
+ * @uimodel with layout-specific properties for responsive grid layouts.
223
+ *
224
+ * @param {string} tag The HTML tag to use for the layout container
225
+ * @param {number} [cols=1] Number of columns in the grid layout
226
+ * @param {number|string[]} [rows=1] Number of rows or array of row definitions
227
+ * @param {UIMediaBreakPoints} [breakpoint='m'] Media breakpoint for responsive behavior
228
+ * @return {Function} A class decorator function
229
+ *
230
+ * @function uilayout
231
+ * @category Class Decorators
232
+ *
233
+ * @example
234
+ * // Create a simple 2-column layout
235
+ * @uilayout('div', 2, 3)
236
+ * class TwoColumnLayout extends Model {
237
+ * @attribute()
238
+ * @uilayoutitem(1, 1)
239
+ * header: string;
240
+ *
241
+ * @attribute()
242
+ * @uilayoutitem(1, 2)
243
+ * leftContent: string;
244
+ *
245
+ * @attribute()
246
+ * @uilayoutitem(2, 2)
247
+ * rightContent: string;
248
+ * }
249
+ *
250
+ * // Create a responsive layout with custom breakpoint
251
+ * @uilayout('section', 3, 2, 'l')
252
+ * class ResponsiveLayout extends Model {
253
+ * @attribute()
254
+ * @uilayoutitem(1, 1)
255
+ * title: string;
256
+ *
257
+ * @attribute()
258
+ * @uilayoutitem(2, 1)
259
+ * subtitle: string;
260
+ * }
261
+ *
262
+ * @mermaid
263
+ * sequenceDiagram
264
+ * participant System
265
+ * participant uilayout
266
+ * participant uimodel
267
+ * participant Model
268
+ * participant RenderingEngine
269
+ * System->>uilayout: apply to Model
270
+ * uilayout->>uimodel: call with layout props
271
+ * uimodel->>Model: adds model metadata with layout config
272
+ * Model->>RenderingEngine: requests rendering as layout container
273
+ * RenderingEngine->>System: renders grid layout with specified dimensions
274
+ */
275
+ function uilayout(tag, cols = 1, rows = 1, breakpoint = 'm') {
276
+ return (original, propertyKey) => {
277
+ return uimodel(tag, { cols, rows, breakpoint })(original, propertyKey);
278
+ };
279
+ }
280
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tb2RlbC9kZWNvcmF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBZ0RBLDBCQVNDO0FBa0NELGdDQUVDO0FBK0NELGdDQVdDO0FBdURELGdDQU9DO0FBNERELDRCQUlDO0FBclJELHFEQUF5QztBQUN6QyxxREFBdUQ7QUFDdkQscURBQWtEO0FBR2xEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwQ0c7QUFDSCxTQUFnQixPQUFPLENBQUMsR0FBWSxFQUFFLEtBQTJCO0lBQy9ELDZEQUE2RDtJQUM3RCxPQUFPLENBQUMsUUFBYSxFQUFFLFdBQWlCLEVBQUUsRUFBRTtRQUMxQyxNQUFNLElBQUksR0FBb0I7WUFDNUIsR0FBRyxFQUFFLEdBQUcsSUFBSSxRQUFRLENBQUMsSUFBSTtZQUN6QixLQUFLLEVBQUUsS0FBSztTQUNiLENBQUM7UUFDRixPQUFPLElBQUEscUJBQVEsRUFBQywyQkFBZSxDQUFDLEdBQUcsQ0FBQyxrQkFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3ZFLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQStCRztBQUNILFNBQWdCLFVBQVUsQ0FBQyxNQUFjO0lBQ3ZDLE9BQU8sSUFBQSxrQkFBSyxFQUFDLElBQUEscUJBQVEsRUFBQywyQkFBZSxDQUFDLEdBQUcsQ0FBQyxrQkFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFDMUUsQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTRDRztBQUNILFNBQWdCLFVBQVUsQ0FBQyxHQUFZLEVBQUUsS0FBMkI7SUFDbEUsNkRBQTZEO0lBQzdELE9BQU8sQ0FBQyxRQUFhLEVBQUUsV0FBaUIsRUFBRSxFQUFFO1FBQzFDLE1BQU0sSUFBSSxHQUE0QjtZQUNwQyxJQUFJLEVBQUU7Z0JBQ0osR0FBRyxFQUFFLEdBQUcsSUFBSSxRQUFRLENBQUMsSUFBSTtnQkFDekIsS0FBSyxFQUFFLEtBQUs7YUFDYjtTQUNGLENBQUM7UUFDRixPQUFPLElBQUEscUJBQVEsRUFBQywyQkFBZSxDQUFDLEdBQUcsQ0FBQyxrQkFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzFFLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9ERztBQUNILFNBQWdCLFVBQVUsQ0FBQyxLQUEyQjtJQUNwRCxPQUFPLENBQUMsUUFBYSxFQUFFLEVBQUU7UUFDdkIsTUFBTSxJQUFJLEdBQUc7WUFDWCxRQUFRLEVBQUUsS0FBSztTQUNoQixDQUFDO1FBQ0YsT0FBTyxJQUFBLHFCQUFRLEVBQUMsMkJBQWUsQ0FBQyxHQUFHLENBQUMsa0JBQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN4RSxDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXlERztBQUNILFNBQWdCLFFBQVEsQ0FBQyxHQUFXLEVBQUUsT0FBZSxDQUFDLEVBQUUsT0FBMEIsQ0FBQyxFQUFFLGFBQWlDLEdBQUc7SUFDdkgsT0FBTyxDQUFDLFFBQWEsRUFBRSxXQUFpQixFQUFFLEVBQUU7UUFDMUMsT0FBTyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUN2RSxDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVUlLZXlzIH0gZnJvbSBcIi4uL3VpL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgYXBwbHksIG1ldGFkYXRhIH0gZnJvbSBcIkBkZWNhZi10cy9yZWZsZWN0aW9uXCI7XG5pbXBvcnQgeyBSZW5kZXJpbmdFbmdpbmUgfSBmcm9tIFwiLi4vdWkvUmVuZGVyaW5nXCI7XG5pbXBvcnQgeyBVSUxpc3RJdGVtTW9kZWxNZXRhZGF0YSwgVUlNZWRpYUJyZWFrUG9pbnRzLCBVSU1vZGVsTWV0YWRhdGEgfSBmcm9tIFwiLi4vdWkvdHlwZXNcIjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gRGVjb3JhdG9yIHRoYXQgdGFncyBhIGNsYXNzIGFzIGEgVUkgbW9kZWxcbiAqIEBzdW1tYXJ5IEFkZHMgcmVuZGVyaW5nIGNhcGFiaWxpdGllcyB0byBhIG1vZGVsIGNsYXNzIGJ5IHByb3ZpZGluZyBhIHJlbmRlciBtZXRob2RcbiAqIFRoaXMgZGVjb3JhdG9yIGFwcGxpZXMgbWV0YWRhdGEgdG8gdGhlIGNsYXNzIHRoYXQgZW5hYmxlcyBpdCB0byBiZSByZW5kZXJlZCBieSB0aGUgVUkgcmVuZGVyaW5nIGVuZ2luZS5cbiAqIFRoZSBtb2RlbCB3aWxsIGJlIHJlbmRlcmVkIHdpdGggdGhlIHNwZWNpZmllZCB0YWcgYW5kIHByb3BlcnRpZXMuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IFt0YWddIFRoZSBIVE1MIHRhZyB0byB1c2Ugd2hlbiByZW5kZXJpbmcgdGhpcyBtb2RlbCAoZGVmYXVsdHMgdG8gY2xhc3MgbmFtZSlcbiAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgYW55Pn0gW3Byb3BzXSBBZGRpdGlvbmFsIHByb3BlcnRpZXMgdG8gcGFzcyB0byB0aGUgcmVuZGVyZWQgZWxlbWVudFxuICogQHJldHVybiB7RnVuY3Rpb259IEEgY2xhc3MgZGVjb3JhdG9yIGZ1bmN0aW9uXG4gKlxuICogQGZ1bmN0aW9uIHVpbW9kZWxcbiAqIEBjYXRlZ29yeSBDbGFzcyBEZWNvcmF0b3JzXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEJhc2ljIHVzYWdlIHdpdGggZGVmYXVsdCB0YWcgKGNsYXNzIG5hbWUpXG4gKiBAdWltb2RlbCgpXG4gKiBjbGFzcyBVc2VyUHJvZmlsZSBleHRlbmRzIE1vZGVsIHtcbiAqICAgQGF0dHJpYnV0ZSgpXG4gKiAgIG5hbWU6IHN0cmluZztcbiAqXG4gKiAgIEBhdHRyaWJ1dGUoKVxuICogICBlbWFpbDogc3RyaW5nO1xuICogfVxuICpcbiAqIC8vIFVzYWdlIHdpdGggY3VzdG9tIHRhZyBhbmQgcHJvcGVydGllc1xuICogQHVpbW9kZWwoJ2RpdicsIHsgY2xhc3M6ICd1c2VyLWNhcmQnIH0pXG4gKiBjbGFzcyBVc2VyQ2FyZCBleHRlbmRzIE1vZGVsIHtcbiAqICAgQGF0dHJpYnV0ZSgpXG4gKiAgIHVzZXJuYW1lOiBzdHJpbmc7XG4gKiB9XG4gKlxuICogQG1lcm1haWRcbiAqIHNlcXVlbmNlRGlhZ3JhbVxuICogICBwYXJ0aWNpcGFudCBTeXN0ZW1cbiAqICAgcGFydGljaXBhbnQgdWltb2RlbFxuICogICBwYXJ0aWNpcGFudCBjb25zdHJ1Y3RvclxuICogICBwYXJ0aWNpcGFudCBpbnN0YW5jZVxuICogICBTeXN0ZW0tPj51aW1vZGVsOmRvKGNvbnN0cnVjdG9yKVxuICogICB1aW1vZGVsLT4+Y29uc3RydWN0b3I6IEV4ZWN1dGVzIHRoZSBjb25zdHJ1Y3RvclxuICogICBjb25zdHJ1Y3Rvci0+PnVpbW9kZWw6IHJldHVybnMgaW5zdGFuY2VcbiAqICAgdWltb2RlbC0+Pmluc3RhbmNlOiBhZGRzIHRoZSByZW5kZXIgbWV0aG9kXG4gKiAgIHVpbW9kZWwtPj5TeXN0ZW06IHJldHVybnMgVUlNb2RlbCBpbnN0YW5jZVxuICovXG5leHBvcnQgZnVuY3Rpb24gdWltb2RlbCh0YWc/OiBzdHJpbmcsIHByb3BzPzogUmVjb3JkPHN0cmluZywgYW55Pikge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gIHJldHVybiAob3JpZ2luYWw6IGFueSwgcHJvcGVydHlLZXk/OiBhbnkpID0+IHtcbiAgICBjb25zdCBtZXRhOiBVSU1vZGVsTWV0YWRhdGEgPSB7XG4gICAgICB0YWc6IHRhZyB8fCBvcmlnaW5hbC5uYW1lLFxuICAgICAgcHJvcHM6IHByb3BzLFxuICAgIH07XG4gICAgcmV0dXJuIG1ldGFkYXRhKFJlbmRlcmluZ0VuZ2luZS5rZXkoVUlLZXlzLlVJTU9ERUwpLCBtZXRhKShvcmlnaW5hbCk7XG4gIH07XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIERlY29yYXRvciB0aGF0IHNwZWNpZmllcyB3aGljaCByZW5kZXJpbmcgZW5naW5lIHRvIHVzZSBmb3IgYSBtb2RlbFxuICogQHN1bW1hcnkgQXNzb2NpYXRlcyBhIG1vZGVsIHdpdGggYSBzcGVjaWZpYyByZW5kZXJpbmcgZW5naW5lIGltcGxlbWVudGF0aW9uXG4gKiBUaGlzIGRlY29yYXRvciBhbGxvd3MgeW91IHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHJlbmRlcmluZyBlbmdpbmUgZm9yIGEgc3BlY2lmaWMgbW9kZWwgY2xhc3MsXG4gKiBlbmFibGluZyBkaWZmZXJlbnQgcmVuZGVyaW5nIHN0cmF0ZWdpZXMgZm9yIGRpZmZlcmVudCBtb2RlbHMuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGVuZ2luZSBUaGUgbmFtZSBvZiB0aGUgcmVuZGVyaW5nIGVuZ2luZSB0byB1c2VcbiAqIEByZXR1cm4ge0Z1bmN0aW9ufSBBIGNsYXNzIGRlY29yYXRvciBmdW5jdGlvblxuICpcbiAqIEBmdW5jdGlvbiByZW5kZXJlZEJ5XG4gKiBAY2F0ZWdvcnkgQ2xhc3MgRGVjb3JhdG9yc1xuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBTcGVjaWZ5IGEgY3VzdG9tIHJlbmRlcmluZyBlbmdpbmUgZm9yIGEgbW9kZWxcbiAqIEB1aW1vZGVsKClcbiAqIEByZW5kZXJlZEJ5KCdyZWFjdCcpXG4gKiBjbGFzcyBSZWFjdENvbXBvbmVudCBleHRlbmRzIE1vZGVsIHtcbiAqICAgQGF0dHJpYnV0ZSgpXG4gKiAgIHRpdGxlOiBzdHJpbmc7XG4gKiB9XG4gKlxuICogQG1lcm1haWRcbiAqIHNlcXVlbmNlRGlhZ3JhbVxuICogICBwYXJ0aWNpcGFudCBTeXN0ZW1cbiAqICAgcGFydGljaXBhbnQgcmVuZGVyZWRCeVxuICogICBwYXJ0aWNpcGFudCBNb2RlbFxuICogICBwYXJ0aWNpcGFudCBSZW5kZXJpbmdFbmdpbmVcbiAqICAgU3lzdGVtLT4+cmVuZGVyZWRCeTogYXBwbHkgdG8gTW9kZWxcbiAqICAgcmVuZGVyZWRCeS0+Pk1vZGVsOiBhZGRzIGVuZ2luZSBtZXRhZGF0YVxuICogICBNb2RlbC0+PlJlbmRlcmluZ0VuZ2luZTogdXNlcyBzcGVjaWZpZWQgZW5naW5lXG4gKiAgIFJlbmRlcmluZ0VuZ2luZS0+PlN5c3RlbTogcmVuZGVycyB3aXRoIGN1c3RvbSBlbmdpbmVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlbmRlcmVkQnkoZW5naW5lOiBzdHJpbmcpIHtcbiAgcmV0dXJuIGFwcGx5KG1ldGFkYXRhKFJlbmRlcmluZ0VuZ2luZS5rZXkoVUlLZXlzLlJFTkRFUkVEX0JZKSwgZW5naW5lKSk7XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIERlY29yYXRvciB0aGF0IHRhZ3MgYSBtb2RlbCBhcyBhIGxpc3QgaXRlbSBmb3IgVUkgcmVuZGVyaW5nXG4gKiBAc3VtbWFyeSBTcGVjaWZpZXMgaG93IGEgbW9kZWwgc2hvdWxkIGJlIHJlbmRlcmVkIHdoZW4gZGlzcGxheWVkIGluIGEgbGlzdCBjb250ZXh0XG4gKiBUaGlzIGRlY29yYXRvciBhcHBsaWVzIG1ldGFkYXRhIHRvIHRoZSBjbGFzcyB0aGF0IGVuYWJsZXMgaXQgdG8gYmUgcmVuZGVyZWQgYXMgYSBsaXN0IGl0ZW1cbiAqIGJ5IHRoZSBVSSByZW5kZXJpbmcgZW5naW5lLiBUaGUgbW9kZWwgd2lsbCBiZSByZW5kZXJlZCB3aXRoIHRoZSBzcGVjaWZpZWQgdGFnIGFuZCBwcm9wZXJ0aWVzXG4gKiB3aGVuIGl0IGFwcGVhcnMgaW4gYSBsaXN0LlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBbdGFnXSBUaGUgSFRNTCB0YWcgdG8gdXNlIHdoZW4gcmVuZGVyaW5nIHRoaXMgbW9kZWwgYXMgYSBsaXN0IGl0ZW0gKGRlZmF1bHRzIHRvIGNsYXNzIG5hbWUpXG4gKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT59IFtwcm9wc10gQWRkaXRpb25hbCBwcm9wZXJ0aWVzIHRvIHBhc3MgdG8gdGhlIHJlbmRlcmVkIGxpc3QgaXRlbSBlbGVtZW50XG4gKiBAcmV0dXJuIHtGdW5jdGlvbn0gQSBjbGFzcyBkZWNvcmF0b3IgZnVuY3Rpb25cbiAqXG4gKiBAZnVuY3Rpb24gdWlsaXN0aXRlbVxuICogQGNhdGVnb3J5IENsYXNzIERlY29yYXRvcnNcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gQmFzaWMgdXNhZ2Ugd2l0aCBkZWZhdWx0IHRhZyAoY2xhc3MgbmFtZSlcbiAqIEB1aW1vZGVsKClcbiAqIEB1aWxpc3RpdGVtKClcbiAqIGNsYXNzIFRvZG9JdGVtIGV4dGVuZHMgTW9kZWwge1xuICogICBAYXR0cmlidXRlKClcbiAqICAgdGl0bGU6IHN0cmluZztcbiAqXG4gKiAgIEBhdHRyaWJ1dGUoKVxuICogICBjb21wbGV0ZWQ6IGJvb2xlYW47XG4gKiB9XG4gKlxuICogLy8gVXNhZ2Ugd2l0aCBjdXN0b20gdGFnIGFuZCBwcm9wZXJ0aWVzXG4gKiBAdWltb2RlbCgpXG4gKiBAdWlsaXN0aXRlbSgnbGknLCB7IGNsYXNzOiAnbGlzdC1ncm91cC1pdGVtJyB9KVxuICogY2xhc3MgTGlzdEl0ZW0gZXh0ZW5kcyBNb2RlbCB7XG4gKiAgIEBhdHRyaWJ1dGUoKVxuICogICB0ZXh0OiBzdHJpbmc7XG4gKiB9XG4gKlxuICogQG1lcm1haWRcbiAqIHNlcXVlbmNlRGlhZ3JhbVxuICogICBwYXJ0aWNpcGFudCBTeXN0ZW1cbiAqICAgcGFydGljaXBhbnQgdWlsaXN0aXRlbVxuICogICBwYXJ0aWNpcGFudCBNb2RlbFxuICogICBwYXJ0aWNpcGFudCBSZW5kZXJpbmdFbmdpbmVcbiAqICAgU3lzdGVtLT4+dWlsaXN0aXRlbTogYXBwbHkgdG8gTW9kZWxcbiAqICAgdWlsaXN0aXRlbS0+Pk1vZGVsOiBhZGRzIGxpc3QgaXRlbSBtZXRhZGF0YVxuICogICBNb2RlbC0+PlJlbmRlcmluZ0VuZ2luZTogdXNlcyBsaXN0IGl0ZW0gbWV0YWRhdGEgd2hlbiBpbiBsaXN0IGNvbnRleHRcbiAqICAgUmVuZGVyaW5nRW5naW5lLT4+U3lzdGVtOiByZW5kZXJzIHdpdGggbGlzdCBpdGVtIHN0eWxpbmdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVpbGlzdGl0ZW0odGFnPzogc3RyaW5nLCBwcm9wcz86IFJlY29yZDxzdHJpbmcsIGFueT4pIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICByZXR1cm4gKG9yaWdpbmFsOiBhbnksIHByb3BlcnR5S2V5PzogYW55KSA9PiB7XG4gICAgY29uc3QgbWV0YTogVUlMaXN0SXRlbU1vZGVsTWV0YWRhdGEgPSB7XG4gICAgICBpdGVtOiB7XG4gICAgICAgIHRhZzogdGFnIHx8IG9yaWdpbmFsLm5hbWUsXG4gICAgICAgIHByb3BzOiBwcm9wcyxcbiAgICAgIH0sXG4gICAgfTtcbiAgICByZXR1cm4gbWV0YWRhdGEoUmVuZGVyaW5nRW5naW5lLmtleShVSUtleXMuVUlMSVNUSVRFTSksIG1ldGEpKG9yaWdpbmFsKTtcbiAgfTtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gRGVjb3JhdG9yIHRoYXQgYWRkcyBldmVudCBoYW5kbGVycyB0byBhIFVJIG1vZGVsXG4gKiBAc3VtbWFyeSBTcGVjaWZpZXMgZXZlbnQgaGFuZGxlcnMgdGhhdCBzaG91bGQgYmUgYXR0YWNoZWQgdG8gdGhlIHJlbmRlcmVkIG1vZGVsXG4gKiBUaGlzIGRlY29yYXRvciBhbGxvd3MgeW91IHRvIGRlZmluZSBldmVudCBoYW5kbGVycyB0aGF0IHdpbGwgYmUgYXV0b21hdGljYWxseVxuICogYXR0YWNoZWQgdG8gdGhlIHJlbmRlcmVkIFVJIGVsZW1lbnQuIFRoZSBoYW5kbGVycyBhcmUgcGFzc2VkIGFzIHByb3BlcnRpZXNcbiAqIHRvIHRoZSByZW5kZXJpbmcgZW5naW5lLlxuICpcbiAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgYW55Pn0gW3Byb3BzXSBPYmplY3QgY29udGFpbmluZyBldmVudCBoYW5kbGVyIGZ1bmN0aW9ucyBhbmQgb3RoZXIgcHJvcGVydGllc1xuICogQHJldHVybiB7RnVuY3Rpb259IEEgY2xhc3MgZGVjb3JhdG9yIGZ1bmN0aW9uXG4gKlxuICogQGZ1bmN0aW9uIHVpaGFuZGxlcnNcbiAqIEBjYXRlZ29yeSBDbGFzcyBEZWNvcmF0b3JzXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEFkZCBldmVudCBoYW5kbGVycyB0byBhIG1vZGVsXG4gKiBAdWltb2RlbCgnYnV0dG9uJylcbiAqIEB1aWhhbmRsZXJzKHtcbiAqICAgb25DbGljazogKGV2ZW50KSA9PiBjb25zb2xlLmxvZygnQnV0dG9uIGNsaWNrZWQnKSxcbiAqICAgb25Nb3VzZU92ZXI6IChldmVudCkgPT4gY29uc29sZS5sb2coJ01vdXNlIG92ZXIgYnV0dG9uJyksXG4gKiAgIGRpc2FibGVkOiBmYWxzZVxuICogfSlcbiAqIGNsYXNzIENsaWNrYWJsZUJ1dHRvbiBleHRlbmRzIE1vZGVsIHtcbiAqICAgQGF0dHJpYnV0ZSgpXG4gKiAgIGxhYmVsOiBzdHJpbmc7XG4gKiB9XG4gKlxuICogLy8gQWRkIGZvcm0gc3VibWlzc2lvbiBoYW5kbGVyc1xuICogQHVpbW9kZWwoJ2Zvcm0nKVxuICogQHVpaGFuZGxlcnMoe1xuICogICBvblN1Ym1pdDogKGV2ZW50KSA9PiB7XG4gKiAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAqICAgICBjb25zb2xlLmxvZygnRm9ybSBzdWJtaXR0ZWQnKTtcbiAqICAgfSxcbiAqICAgb25SZXNldDogKGV2ZW50KSA9PiBjb25zb2xlLmxvZygnRm9ybSByZXNldCcpXG4gKiB9KVxuICogY2xhc3MgQ29udGFjdEZvcm0gZXh0ZW5kcyBNb2RlbCB7XG4gKiAgIEBhdHRyaWJ1dGUoKVxuICogICBlbWFpbDogc3RyaW5nO1xuICogfVxuICpcbiAqIEBtZXJtYWlkXG4gKiBzZXF1ZW5jZURpYWdyYW1cbiAqICAgcGFydGljaXBhbnQgU3lzdGVtXG4gKiAgIHBhcnRpY2lwYW50IHVpaGFuZGxlcnNcbiAqICAgcGFydGljaXBhbnQgTW9kZWxcbiAqICAgcGFydGljaXBhbnQgUmVuZGVyaW5nRW5naW5lXG4gKiAgIHBhcnRpY2lwYW50IFVJXG4gKiAgIFN5c3RlbS0+PnVpaGFuZGxlcnM6IGFwcGx5IHRvIE1vZGVsXG4gKiAgIHVpaGFuZGxlcnMtPj5Nb2RlbDogYWRkcyBoYW5kbGVyIG1ldGFkYXRhXG4gKiAgIE1vZGVsLT4+UmVuZGVyaW5nRW5naW5lOiByZXF1ZXN0cyByZW5kZXJpbmcgd2l0aCBoYW5kbGVyc1xuICogICBSZW5kZXJpbmdFbmdpbmUtPj5VSTogcmVuZGVycyBlbGVtZW50IHdpdGggZXZlbnQgaGFuZGxlcnMgYXR0YWNoZWRcbiAqICAgVUktPj5Nb2RlbDogdHJpZ2dlcnMgaGFuZGxlcnMgb24gZXZlbnRzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1aWhhbmRsZXJzKHByb3BzPzogUmVjb3JkPHN0cmluZywgYW55Pikge1xuICByZXR1cm4gKG9yaWdpbmFsOiBhbnkpID0+IHtcbiAgICBjb25zdCBtZXRhID0ge1xuICAgICAgaGFuZGxlcnM6IHByb3BzXG4gICAgfTtcbiAgICByZXR1cm4gbWV0YWRhdGEoUmVuZGVyaW5nRW5naW5lLmtleShVSUtleXMuSEFORExFUlMpLCBtZXRhKShvcmlnaW5hbCk7XG4gIH07XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIERlY29yYXRvciB0aGF0IGNyZWF0ZXMgYSBsYXlvdXQgY29udGFpbmVyIHdpdGggZ3JpZCBzcGVjaWZpY2F0aW9uc1xuICogQHN1bW1hcnkgQ29tYmluZXMgVUkgbW9kZWwgZnVuY3Rpb25hbGl0eSB3aXRoIGxheW91dCBncmlkIGNvbmZpZ3VyYXRpb25cbiAqIFRoaXMgZGVjb3JhdG9yIGNyZWF0ZXMgYSBVSSBtb2RlbCB0aGF0IGFjdHMgYXMgYSBsYXlvdXQgY29udGFpbmVyIHdpdGggc3BlY2lmaWVkXG4gKiBjb2x1bW4gYW5kIHJvdyBjb25maWd1cmF0aW9ucy4gSXQncyBhIGNvbnZlbmllbmNlIGRlY29yYXRvciB0aGF0IGNvbWJpbmVzXG4gKiBAdWltb2RlbCB3aXRoIGxheW91dC1zcGVjaWZpYyBwcm9wZXJ0aWVzIGZvciByZXNwb25zaXZlIGdyaWQgbGF5b3V0cy5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gdGFnIFRoZSBIVE1MIHRhZyB0byB1c2UgZm9yIHRoZSBsYXlvdXQgY29udGFpbmVyXG4gKiBAcGFyYW0ge251bWJlcn0gW2NvbHM9MV0gTnVtYmVyIG9mIGNvbHVtbnMgaW4gdGhlIGdyaWQgbGF5b3V0XG4gKiBAcGFyYW0ge251bWJlcnxzdHJpbmdbXX0gW3Jvd3M9MV0gTnVtYmVyIG9mIHJvd3Mgb3IgYXJyYXkgb2Ygcm93IGRlZmluaXRpb25zXG4gKiBAcGFyYW0ge1VJTWVkaWFCcmVha1BvaW50c30gW2JyZWFrcG9pbnQ9J20nXSBNZWRpYSBicmVha3BvaW50IGZvciByZXNwb25zaXZlIGJlaGF2aW9yXG4gKiBAcmV0dXJuIHtGdW5jdGlvbn0gQSBjbGFzcyBkZWNvcmF0b3IgZnVuY3Rpb25cbiAqXG4gKiBAZnVuY3Rpb24gdWlsYXlvdXRcbiAqIEBjYXRlZ29yeSBDbGFzcyBEZWNvcmF0b3JzXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIENyZWF0ZSBhIHNpbXBsZSAyLWNvbHVtbiBsYXlvdXRcbiAqIEB1aWxheW91dCgnZGl2JywgMiwgMylcbiAqIGNsYXNzIFR3b0NvbHVtbkxheW91dCBleHRlbmRzIE1vZGVsIHtcbiAqICAgQGF0dHJpYnV0ZSgpXG4gKiAgIEB1aWxheW91dGl0ZW0oMSwgMSlcbiAqICAgaGVhZGVyOiBzdHJpbmc7XG4gKlxuICogICBAYXR0cmlidXRlKClcbiAqICAgQHVpbGF5b3V0aXRlbSgxLCAyKVxuICogICBsZWZ0Q29udGVudDogc3RyaW5nO1xuICpcbiAqICAgQGF0dHJpYnV0ZSgpXG4gKiAgIEB1aWxheW91dGl0ZW0oMiwgMilcbiAqICAgcmlnaHRDb250ZW50OiBzdHJpbmc7XG4gKiB9XG4gKlxuICogLy8gQ3JlYXRlIGEgcmVzcG9uc2l2ZSBsYXlvdXQgd2l0aCBjdXN0b20gYnJlYWtwb2ludFxuICogQHVpbGF5b3V0KCdzZWN0aW9uJywgMywgMiwgJ2wnKVxuICogY2xhc3MgUmVzcG9uc2l2ZUxheW91dCBleHRlbmRzIE1vZGVsIHtcbiAqICAgQGF0dHJpYnV0ZSgpXG4gKiAgIEB1aWxheW91dGl0ZW0oMSwgMSlcbiAqICAgdGl0bGU6IHN0cmluZztcbiAqXG4gKiAgIEBhdHRyaWJ1dGUoKVxuICogICBAdWlsYXlvdXRpdGVtKDIsIDEpXG4gKiAgIHN1YnRpdGxlOiBzdHJpbmc7XG4gKiB9XG4gKlxuICogQG1lcm1haWRcbiAqIHNlcXVlbmNlRGlhZ3JhbVxuICogICBwYXJ0aWNpcGFudCBTeXN0ZW1cbiAqICAgcGFydGljaXBhbnQgdWlsYXlvdXRcbiAqICAgcGFydGljaXBhbnQgdWltb2RlbFxuICogICBwYXJ0aWNpcGFudCBNb2RlbFxuICogICBwYXJ0aWNpcGFudCBSZW5kZXJpbmdFbmdpbmVcbiAqICAgU3lzdGVtLT4+dWlsYXlvdXQ6IGFwcGx5IHRvIE1vZGVsXG4gKiAgIHVpbGF5b3V0LT4+dWltb2RlbDogY2FsbCB3aXRoIGxheW91dCBwcm9wc1xuICogICB1aW1vZGVsLT4+TW9kZWw6IGFkZHMgbW9kZWwgbWV0YWRhdGEgd2l0aCBsYXlvdXQgY29uZmlnXG4gKiAgIE1vZGVsLT4+UmVuZGVyaW5nRW5naW5lOiByZXF1ZXN0cyByZW5kZXJpbmcgYXMgbGF5b3V0IGNvbnRhaW5lclxuICogICBSZW5kZXJpbmdFbmdpbmUtPj5TeXN0ZW06IHJlbmRlcnMgZ3JpZCBsYXlvdXQgd2l0aCBzcGVjaWZpZWQgZGltZW5zaW9uc1xuICovXG5leHBvcnQgZnVuY3Rpb24gdWlsYXlvdXQodGFnOiBzdHJpbmcsIGNvbHM6IG51bWJlciA9IDEsIHJvd3M6IG51bWJlciB8IHN0cmluZ1tdID0gMSwgYnJlYWtwb2ludDogVUlNZWRpYUJyZWFrUG9pbnRzID0gJ20nKSB7XG4gIHJldHVybiAob3JpZ2luYWw6IGFueSwgcHJvcGVydHlLZXk/OiBhbnkpID0+IHtcbiAgICByZXR1cm4gdWltb2RlbCh0YWcsIHtjb2xzLCByb3dzLCBicmVha3BvaW50fSkob3JpZ2luYWwsIHByb3BlcnR5S2V5KTtcbiAgfTtcbn0iXX0=