@wavemaker/app-ng-runtime 11.5.0-next.141085 → 11.5.0-next.141086

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. app-ng-runtime/build-task/bundles/index.umd.js +1 -1
  2. app-ng-runtime/build-task/esm2020/input/default/composite/composite.build.mjs +2 -2
  3. app-ng-runtime/build-task/fesm2015/index.mjs +1 -1
  4. app-ng-runtime/build-task/fesm2015/index.mjs.map +1 -1
  5. app-ng-runtime/build-task/fesm2020/index.mjs +1 -1
  6. app-ng-runtime/build-task/fesm2020/index.mjs.map +1 -1
  7. app-ng-runtime/components/base/bundles/index.umd.js +4 -4
  8. app-ng-runtime/components/base/directives/show-in-device.directive.d.ts +2 -2
  9. app-ng-runtime/components/base/esm2020/directives/show-in-device.directive.mjs +5 -5
  10. app-ng-runtime/components/base/fesm2015/index.mjs +4 -4
  11. app-ng-runtime/components/base/fesm2015/index.mjs.map +1 -1
  12. app-ng-runtime/components/base/fesm2020/index.mjs +4 -4
  13. app-ng-runtime/components/base/fesm2020/index.mjs.map +1 -1
  14. app-ng-runtime/components/input/default/bundles/index.umd.js +4 -4
  15. app-ng-runtime/components/input/default/caption-position.directive.d.ts +1 -1
  16. app-ng-runtime/components/input/default/esm2020/caption-position.directive.mjs +5 -5
  17. app-ng-runtime/components/input/default/fesm2015/index.mjs +4 -4
  18. app-ng-runtime/components/input/default/fesm2015/index.mjs.map +1 -1
  19. app-ng-runtime/components/input/default/fesm2020/index.mjs +4 -4
  20. app-ng-runtime/components/input/default/fesm2020/index.mjs.map +1 -1
  21. app-ng-runtime/package.json +1 -1
  22. app-ng-runtime/transpiler/bundles/index.umd.js +1 -1
  23. app-ng-runtime/transpiler/esm2020/build.mjs +2 -2
  24. app-ng-runtime/transpiler/fesm2015/index.mjs +1 -1
  25. app-ng-runtime/transpiler/fesm2015/index.mjs.map +1 -1
  26. app-ng-runtime/transpiler/fesm2020/index.mjs +1 -1
  27. app-ng-runtime/transpiler/fesm2020/index.mjs.map +1 -1
@@ -3248,8 +3248,8 @@
3248
3248
  // check for datavalue attribute in composite element and defaultvalue attribute in form field element
3249
3249
  // check for datavalue.bind attribute to see whether default value is binded via expression or a variable
3250
3250
  // check for displayformat attribute, as in form fields user can set display format to the field
3251
- // check for formdata/bindformdata attribute to see if any default value is binded to the form
3252
- // check for select tag with multiple attribute enabled
3251
+ // check for formdata/bindformdata attribute to see if any default value is binded to the form
3252
+ // check for select tag with multiple attribute enabled
3253
3253
  if ((this.inputEl.val() && !this.inputEl.is('select')) || $(this.inputEl.closest('[widget-id]')).attr('datavalue') || $(this.inputEl.parent('[widget-id]')).attr('datavalue.bind') || this.nativeEl.getAttribute('defaultvalue')
3254
3254
  || this.nativeEl.getAttribute('displayformat') || $(this.nativeEl).find('select option:selected').text() || $(this.nativeEl).find('select').attr('multiple')) {
3255
3255
  this.compositeEle.classList.add('float-active');
@@ -3360,12 +3360,12 @@
3360
3360
  }
3361
3361
  }
3362
3362
  CaptionPositionDirective.ɵfac = function CaptionPositionDirective_Factory(t) { return new (t || CaptionPositionDirective)(i0__namespace.ɵɵdirectiveInject(i0__namespace.Injector), i0__namespace.ɵɵdirectiveInject(i1$2__namespace.App)); };
3363
- CaptionPositionDirective.ɵdir = /*@__PURE__*/ i0__namespace.ɵɵdefineDirective({ type: CaptionPositionDirective, selectors: [["", "captionPosition", ""]] });
3363
+ CaptionPositionDirective.ɵdir = /*@__PURE__*/ i0__namespace.ɵɵdefineDirective({ type: CaptionPositionDirective, selectors: [["", "wmCaptionPosition", ""]] });
3364
3364
  (function () {
3365
3365
  (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(CaptionPositionDirective, [{
3366
3366
  type: i0.Directive,
3367
3367
  args: [{
3368
- selector: '[captionPosition]'
3368
+ selector: '[wmCaptionPosition]'
3369
3369
  }]
3370
3370
  }], function () { return [{ type: i0__namespace.Injector }, { type: i1$2__namespace.App }]; }, null);
3371
3371
  })();
@@ -27,5 +27,5 @@ export declare class CaptionPositionDirective implements AfterViewInit, OnInit,
27
27
  ngOnInit(): void;
28
28
  ngOnDestroy(): void;
29
29
  static ɵfac: i0.ɵɵFactoryDeclaration<CaptionPositionDirective, never>;
30
- static ɵdir: i0.ɵɵDirectiveDeclaration<CaptionPositionDirective, "[captionPosition]", never, {}, {}, never, never, false, never>;
30
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CaptionPositionDirective, "[wmCaptionPosition]", never, {}, {}, never, never, false, never>;
31
31
  }
@@ -47,8 +47,8 @@ export class CaptionPositionDirective {
47
47
  // check for datavalue attribute in composite element and defaultvalue attribute in form field element
48
48
  // check for datavalue.bind attribute to see whether default value is binded via expression or a variable
49
49
  // check for displayformat attribute, as in form fields user can set display format to the field
50
- // check for formdata/bindformdata attribute to see if any default value is binded to the form
51
- // check for select tag with multiple attribute enabled
50
+ // check for formdata/bindformdata attribute to see if any default value is binded to the form
51
+ // check for select tag with multiple attribute enabled
52
52
  if ((this.inputEl.val() && !this.inputEl.is('select')) || $(this.inputEl.closest('[widget-id]')).attr('datavalue') || $(this.inputEl.parent('[widget-id]')).attr('datavalue.bind') || this.nativeEl.getAttribute('defaultvalue')
53
53
  || this.nativeEl.getAttribute('displayformat') || $(this.nativeEl).find('select option:selected').text() || $(this.nativeEl).find('select').attr('multiple')) {
54
54
  this.compositeEle.classList.add('float-active');
@@ -159,11 +159,11 @@ export class CaptionPositionDirective {
159
159
  }
160
160
  }
161
161
  CaptionPositionDirective.ɵfac = function CaptionPositionDirective_Factory(t) { return new (t || CaptionPositionDirective)(i0.ɵɵdirectiveInject(i0.Injector), i0.ɵɵdirectiveInject(i1.App)); };
162
- CaptionPositionDirective.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: CaptionPositionDirective, selectors: [["", "captionPosition", ""]] });
162
+ CaptionPositionDirective.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: CaptionPositionDirective, selectors: [["", "wmCaptionPosition", ""]] });
163
163
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaptionPositionDirective, [{
164
164
  type: Directive,
165
165
  args: [{
166
- selector: '[captionPosition]'
166
+ selector: '[wmCaptionPosition]'
167
167
  }]
168
168
  }], function () { return [{ type: i0.Injector }, { type: i1.App }]; }, null); })();
169
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FwdGlvbi1wb3NpdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3dpZGdldHMvaW5wdXQvZGVmYXVsdC9zcmMvY2FwdGlvbi1wb3NpdGlvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDbEcsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7O0FBTS9CLE1BQU0sT0FBTyx3QkFBd0I7SUFjakMsWUFBWSxHQUFhLEVBQUUsR0FBUTtRQUhuQyxrREFBa0Q7UUFDMUMsNkJBQXdCLEdBQWEsQ0FBQyxVQUFVLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUd4SixJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQztRQUM5QyxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztJQUNuQixDQUFDO0lBRU8sUUFBUTtRQUNaLElBQUksY0FBYyxDQUFDO1FBQ25CLHNHQUFzRztRQUN0RyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsRUFBRTtZQUNsRSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRTtnQkFDM0IsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsUUFB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RUFBRTtZQUNqQyxJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztTQUNyQztRQUNELElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRSxDQUFDO1NBQ25DO0lBQ0wsQ0FBQzs7Z0dBaExRLHdCQUF3QjsyRUFBeEIsd0JBQXdCO3VGQUF4Qix3QkFBd0I7Y0FIcEMsU0FBUztlQUFDO2dCQUNQLFFBQVEsRUFBRSxtQkFBbUI7YUFDaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEluamVjdG9yLCBPbkluaXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXBwIH0gZnJvbSAnQHdtL2NvcmUnO1xuXG5kZWNsYXJlIGNvbnN0IF8sICQ7XG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tjYXB0aW9uUG9zaXRpb25dJ1xufSlcbmV4cG9ydCBjbGFzcyBDYXB0aW9uUG9zaXRpb25EaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmO1xuICAgIHByaXZhdGUgaW5wdXRFbDtcbiAgICBwcml2YXRlIG5hdGl2ZUVsO1xuICAgIHByaXZhdGUgY29tcG9zaXRlRWxlO1xuICAgIHByaXZhdGUgYXBwOiBBcHA7XG4gICAgcHJpdmF0ZSBsYWJlbEFuaW1hdGlvblN1YnNjcmlwdGlvbjtcbiAgICBwcml2YXRlIHBsYWNlaG9sZGVyO1xuICAgIHByaXZhdGUgX2F0dHJPYnNlcnZlcjtcbiAgICBwcml2YXRlIF9pc1BsYWNlaG9sZGVyQm91bmQ7XG5cbiAgICAvLyBza2lwIGZsb2F0aW5nIGNhcHRpb24gZm9yIHRoZSBiZWxvdyBmb3JtIGZpZWxkc1xuICAgIHByaXZhdGUgc2tpcEZsb2F0UG9zaXRpb25XaWRnZXRzOiBzdHJpbmdbXSA9IFsncmFkaW9zZXQnLCAnY2hlY2tib3hzZXQnLCAncmljaHRleHQnLCAnc3dpdGNoJywgJ2NoaXBzJywgJ2NoZWNrYm94JywgJ3NsaWRlcicsICdyYXRpbmcnLCAndG9nZ2xlJywgJ3VwbG9hZCddO1xuXG4gICAgY29uc3RydWN0b3IoaW5qOiBJbmplY3RvciwgYXBwOiBBcHApIHtcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmID0gaW5qLmdldChFbGVtZW50UmVmKTtcbiAgICAgICAgdGhpcy5uYXRpdmVFbCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgICB0aGlzLmFwcCA9IGFwcDtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uQmx1ckNiKCkgeyAvLyBvbiBibHVyLCByZW1vdmUgYW5pbWF0aW9uIGFuZCBwbGFjZWhvbGRlciBpZiB0aGVyZSBpcyBubyB2YWx1ZVxuICAgICAgICBsZXQgbW9iaWxlSW5wdXRWYWw7XG4gICAgICAgIC8vIEluIGNhc2Ugb2YgbW9iaWxlIGRhdGUgLyB0aW1lIHBpY2tlciBjaGVjayBmb3IgaW5wdXQgZWxlbWVudCdzIHZhbHVlIHdoaWNoIGhhcyAnbW9iaWxlLWlucHV0JyBjbGFzc1xuICAgICAgICBpZiAodGhpcy5pbnB1dEVsLmxlbmd0aCA+IDEgJiYgdGhpcy5pbnB1dEVsLmhhc0NsYXNzKCdtb2JpbGUtaW5wdXQnKSkgeyBcbiAgICAgICAgICAgIF8uZm9yRWFjaCh0aGlzLmlucHV0RWwsIChlbCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICgkKGVsKS5oYXNDbGFzcygnbW9iaWxlLWlucHV0JykgJiYgZWwudmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgbW9iaWxlSW5wdXRWYWwgPSBlbC52YWx1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMuaW5wdXRFbC52YWwoKSAmJiAhbW9iaWxlSW5wdXRWYWwpIHtcbiAgICAgICAgICAgIHRoaXMuY29tcG9zaXRlRWxlLmNsYXNzTGlzdC5yZW1vdmUoJ2Zsb2F0LWFjdGl2ZScpO1xuICAgICAgICAgICAgdGhpcy5pbnB1dEVsLnJlbW92ZUF0dHIoJ3BsYWNlaG9sZGVyJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIG9uRm9jdXNDYigpIHsgLy8gIG9uIGZvY3VzLCBhZGQgYW5pbWF0aW9uIGNsYXNzIGFuZCB0aGUgcGxhY2UgaG9sZGVyXG4gICAgICAgIHRoaXMuY29tcG9zaXRlRWxlLmNsYXNzTGlzdC5hZGQoJ2Zsb2F0LWFjdGl2ZScpO1xuICAgICAgICB0aGlzLmlucHV0RWwuYXR0cigncGxhY2Vob2xkZXInLCB0aGlzLnBsYWNlaG9sZGVyKTtcbiAgICB9XG5cbiAgICAvLyBGb3Igc2VsZWN0IHdpZGdldCwgZGlzcGxheSBwbGFjZWhvbGRlciBvbmx5IG9uIGZvY3VzIGVsc2UgcmVtb3ZlIHRoZSB0ZXh0IG9mIHRoZSBvcHRpb24gc2VsZWN0ZWQuXG4gICAgcHJpdmF0ZSBjaGVja0ZvclNlbGVjdFBsYWNlaG9sZGVyKCkge1xuICAgICAgICBpZiAoJCh0aGlzLm5hdGl2ZUVsKS5maW5kKCdzZWxlY3Qgb3B0aW9uOnNlbGVjdGVkJykudGV4dCgpICYmICEkKHRoaXMubmF0aXZlRWwpLmZpbmQoJ3NlbGVjdCcpLmlzKCc6Zm9jdXMnKSAmJlxuICAgICAgICAgICAgISQodGhpcy5pbnB1dEVsLmNsb3Nlc3QoJ1t3aWRnZXQtaWRdJykpLmF0dHIoJ2RhdGF2YWx1ZScpKSB7XG4gICAgICAgICAgICAkKHRoaXMubmF0aXZlRWwpLmZpbmQoJ3NlbGVjdCBvcHRpb246c2VsZWN0ZWQnKS50ZXh0KCcnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2V0RGVmYXVsdFZhbHVlQW5pbWF0aW9uKCkgeyAvLyBzZXQgYW5pbWF0aW9uIHdoZW4gZGVmYXVsdCB2YWx1ZXMgYXJlIHByZXNlbnRcbiAgICAgICAgLy8gcmVtb3ZlIHBsYWNlaG9sZGVyIHdoZW4gdGhlIGlucHV0IGVsIGhhcyBwbGFjZWhvbGRlciBhbmQgdGhlIHBsYWNlaG9sZGVyIGlzIG5vdCBib3VuZCB0byBhbnkgdmFyaWFibGVcbiAgICAgICAgaWYgKCF0aGlzLl9pc1BsYWNlaG9sZGVyQm91bmQgJiYgdGhpcy5pbnB1dEVsLmF0dHIoJ3BsYWNlaG9sZGVyJykpIHtcbiAgICAgICAgICAgIHRoaXMucGxhY2Vob2xkZXIgPSB0aGlzLmlucHV0RWwuYXR0cigncGxhY2Vob2xkZXInKTtcbiAgICAgICAgICAgIHRoaXMuaW5wdXRFbC5yZW1vdmVBdHRyKCdwbGFjZWhvbGRlcicpO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAvLyBEbyBub3Qgc2hvdyBwbGFjZWhvbGRlciBhcyBzZWxlY3RlZCBieSBkZWZhdWx0XG4gICAgICAgIHRoaXMuY2hlY2tGb3JTZWxlY3RQbGFjZWhvbGRlcigpO1xuXG4gICAgICAgIC8vIGNoZWNrIGZvciBkYXRhdmFsdWUgYXR0cmlidXRlIGluIGNvbXBvc2l0ZSBlbGVtZW50IGFuZCBkZWZhdWx0dmFsdWUgYXR0cmlidXRlIGluIGZvcm0gZmllbGQgZWxlbWVudFxuICAgICAgICAvLyBjaGVjayBmb3IgZGF0YXZhbHVlLmJpbmQgYXR0cmlidXRlIHRvIHNlZSB3aGV0aGVyIGRlZmF1bHQgdmFsdWUgaXMgYmluZGVkIHZpYSBleHByZXNzaW9uIG9yIGEgdmFyaWFibGVcbiAgICAgICAgLy8gY2hlY2sgZm9yIGRpc3BsYXlmb3JtYXQgYXR0cmlidXRlLCBhcyBpbiBmb3JtIGZpZWxkcyB1c2VyIGNhbiBzZXQgZGlzcGxheSBmb3JtYXQgdG8gdGhlIGZpZWxkXG4gICAgICAgIC8vIGNoZWNrIGZvciBmb3JtZGF0YS9iaW5kZm9ybWRhdGEgYXR0cmlidXRlIHRvIHNlZSBpZiBhbnkgZGVmYXVsdCB2YWx1ZSBpcyBiaW5kZWQgdG8gdGhlIGZvcm0gXG4gICAgICAgIC8vIGNoZWNrIGZvciBzZWxlY3QgdGFnIHdpdGggbXVsdGlwbGUgYXR0cmlidXRlIGVuYWJsZWQgXG5cbiAgICAgICAgaWYgKCh0aGlzLmlucHV0RWwudmFsKCkgJiYgIXRoaXMuaW5wdXRFbC5pcygnc2VsZWN0JykpIHx8ICQodGhpcy5pbnB1dEVsLmNsb3Nlc3QoJ1t3aWRnZXQtaWRdJykpLmF0dHIoJ2RhdGF2YWx1ZScpIHx8ICQodGhpcy5pbnB1dEVsLnBhcmVudCgnW3dpZGdldC1pZF0nKSkuYXR0cignZGF0YXZhbHVlLmJpbmQnKSB8fCB0aGlzLm5hdGl2ZUVsLmdldEF0dHJpYnV0ZSgnZGVmYXVsdHZhbHVlJylcbiAgICAgICAgICAgIHx8IHRoaXMubmF0aXZlRWwuZ2V0QXR0cmlidXRlKCdkaXNwbGF5Zm9ybWF0JykgfHwgJCh0aGlzLm5hdGl2ZUVsKS5maW5kKCdzZWxlY3Qgb3B0aW9uOnNlbGVjdGVkJykudGV4dCgpIHx8ICQodGhpcy5uYXRpdmVFbCkuZmluZCgnc2VsZWN0JykuYXR0cignbXVsdGlwbGUnKSkge1xuICAgICAgICAgICAgdGhpcy5jb21wb3NpdGVFbGUuY2xhc3NMaXN0LmFkZCgnZmxvYXQtYWN0aXZlJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBPYnNlcnZpbmcgcGxhY2Vob2xkZXIgYXR0cmlidXRlIGNoYW5nZSBvbiBET00gaW5zdGVhZCBvZiBoYXZpbmcgYSBwcm9wQ2hhbmdlSGFuZGxlciBmblxuICAgICAqIEZvciBjb21wb3NpdGUgd2lkZ2V0cyBwcm9wZXJ0eWNoYW5nZWhhbmRsZXIgZnVuY3Rpb24gaXMgaW52b2tlZCBhdCBpbmRlcGVuZGVudCB3aWRnZXRzIHdoZXJlIGFzIHRoZSBkaXJlY3RpdmUgaXMgYXQgY29tcG9zaXRlIGxldmVsXG4gICAgICovXG4gICAgcHJpdmF0ZSBvYnNlcnZlRm9yUGxhY2Vob2xkZXJBdHRyQ2hhbmdlKCkge1xuICAgICAgICB0aGlzLl9hdHRyT2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcihtdXRhdGlvbnMgPT4ge1xuICAgICAgICAgICAgbXV0YXRpb25zLmZvckVhY2goKG11dGF0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKG11dGF0aW9uLmF0dHJpYnV0ZU5hbWUgPT09ICdwbGFjZWhvbGRlcicgJiYgdGhpcy5pbnB1dEVsLmF0dHIoJ3BsYWNlaG9sZGVyJykgJiYgIXRoaXMuY29tcG9zaXRlRWxlLmNsYXNzTGlzdC5jb250YWlucygnZmxvYXQtYWN0aXZlJykpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wbGFjZWhvbGRlciA9IHRoaXMuaW5wdXRFbC5hdHRyKCdwbGFjZWhvbGRlcicpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlucHV0RWwucmVtb3ZlQXR0cigncGxhY2Vob2xkZXInKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGNvbmZpZyA9IHsgYXR0cmlidXRlczogdHJ1ZSwgY2hpbGRMaXN0OiBmYWxzZSwgY2hhcmFjdGVyRGF0YTogZmFsc2UgfTtcbiAgICAgICAgdGhpcy5fYXR0ck9ic2VydmVyLm9ic2VydmUodGhpcy5pbnB1dEVsWzBdLCBjb25maWcpOyAgIFxuICAgIH1cblxuICAgIC8vIHdoZW4gYSBmb3JtIGlzIHJpZ2h0IGFsaWduZWQgYW5kIGhhdmUgaW5wdXQtZ3JvdXAtYnRuJ3MgbGlrZSBkYXRlIHBpY2tlciwgdGltZSBwaWNrZXIgZXRjLiBhZGp1c3QgdGhlIGNzcyB0byBub3Qgb3ZlcmxhcCB0aGUgbGFiZWwgb24gdGhlIGljb25cbiAgICBwcml2YXRlIGNoZWNrRm9yUmlnaHRBbGlnbmVkRm9ybSgpIHtcbiAgICAgICAgY29uc3QgJGNvbXBvc2l0ZUVsZSA9ICQodGhpcy5jb21wb3NpdGVFbGUpO1xuICAgICAgICBpZiAoJGNvbXBvc2l0ZUVsZS5jbG9zZXN0KCcuYWxpZ24tcmlnaHQnKS5sZW5ndGggJiYgJGNvbXBvc2l0ZUVsZS5maW5kKCcuaW5wdXQtZ3JvdXAtYnRuJykubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb25zdCAkbGFiZWwgPSAkY29tcG9zaXRlRWxlLmZpbmQoJ2xhYmVsJyk7XG4gICAgICAgICAgICBpZiAoJGNvbXBvc2l0ZUVsZS5maW5kKCdbd21kYXRldGltZV0nKS5sZW5ndGgpIHsgLy8gZm9yIGRhdGV0aW1lIHBpY2tlciwgYXMgdGhlcmUgd2lsbCBiZSAyIGljb25zIGNzcyBpcyBkaWZmZXJlbnRcbiAgICAgICAgICAgICAgICAkbGFiZWwuYWRkQ2xhc3MoJ2lucHV0LWdycC1kdC1pY29uJyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICRsYWJlbC5hZGRDbGFzcygnaW5wdXQtZ3JwLWljb24nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgdGhpcy5jb21wb3NpdGVFbGUgPSB0aGlzLm5hdGl2ZUVsO1xuICAgICAgICBjb25zdCB3aWRnZXQgPSB0aGlzLm5hdGl2ZUVsLndpZGdldDtcbiAgICAgICAgbGV0IGNhcHRpb25Qb3NpdGlvbjogc3RyaW5nID0gd2lkZ2V0LiRhdHRycy5nZXQoJ2NhcHRpb25wb3NpdGlvbicpO1xuICAgICAgICBpZiAod2lkZ2V0LmZvcm0pIHtcbiAgICAgICAgICAgIGNhcHRpb25Qb3NpdGlvbiA9IHdpZGdldC5mb3JtLiRhdHRycy5nZXQoJ2NhcHRpb25wb3NpdGlvbicpO1xuICAgICAgICAgICAgdGhpcy5jb21wb3NpdGVFbGUgPSB0aGlzLm5hdGl2ZUVsLnF1ZXJ5U2VsZWN0b3IoJy5hcHAtY29tcG9zaXRlLXdpZGdldCcpO1xuICAgICAgICAgICAgdGhpcy5faXNQbGFjZWhvbGRlckJvdW5kID0gdGhpcy5uYXRpdmVFbC5nZXRBdHRyaWJ1dGUoJ3BsYWNlaG9sZGVyLmJpbmQnKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY2FwdGlvblBvc2l0aW9uID09PSAnZmxvYXRpbmcnKSB7XG4gICAgICAgICAgICBpZiAod2lkZ2V0LmZvcm0pIHsgLy8gZm9yIGZvcm0tZmllbGRzIHJlbW92ZSBjYXB0aW9uLWZsb2F0aW5nIGFuZCByZXBsYWNlIGl0IHdpdGggY2FwdGlvbi1mbG9hdCBvciBjYXB0aW9uLXRvcFxuICAgICAgICAgICAgICAgIGNvbnN0IHdpZGdldFR5cGU6IHN0cmluZyA9IHRoaXMubmF0aXZlRWwuZ2V0QXR0cmlidXRlKCd3aWRnZXR0eXBlJyk7IC8vIGZldGNoZXMgdGhlIGZvcm0gZmllbGQgdHlwZVxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnNraXBGbG9hdFBvc2l0aW9uV2lkZ2V0cy5pbmRleE9mKHdpZGdldFR5cGUpID4gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb21wb3NpdGVFbGUuY2xhc3NMaXN0LnJlbW92ZSgnY2FwdGlvbi1mbG9hdGluZycpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbXBvc2l0ZUVsZS5jbGFzc0xpc3QuYWRkKCdjYXB0aW9uLXRvcCcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmNoZWNrRm9yUmlnaHRBbGlnbmVkRm9ybSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5pbnB1dEVsID0gJCh0aGlzLm5hdGl2ZUVsKS5maW5kKCdpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYScpO1xuICAgICAgICAgICAgaWYgKCF0aGlzLl9pc1BsYWNlaG9sZGVyQm91bmQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9pc1BsYWNlaG9sZGVyQm91bmQgPSB0aGlzLmlucHV0RWwuY2xvc2VzdCgnW3dpZGdldC1pZF0nKS5hdHRyKCdwbGFjZWhvbGRlci5iaW5kJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBjYWxsIHRoZSBiZWxvdyBmdW5jdGlvbiB0byBhcHBseSBmbG9hdC1hY3RpdmUgY2xhc3Mgd2hlbiB0aGVyZSBhcmUgZGVmYXVsdCB2YWx1ZXMgdG8gdGhlIGZpZWxkc1xuICAgICAgICAgICAgc2V0VGltZW91dCh0aGlzLnNldERlZmF1bHRWYWx1ZUFuaW1hdGlvbi5iaW5kKHRoaXMpLCAwKTtcblxuICAgICAgICAgICAgdGhpcy5pbnB1dEVsLmZvY3VzKHRoaXMub25Gb2N1c0NiLmJpbmQodGhpcykpO1xuICAgICAgICAgICAgdGhpcy5pbnB1dEVsLmJsdXIodGhpcy5vbkJsdXJDYi5iaW5kKHRoaXMpKTtcblxuICAgICAgICAgICAgLy8gb2JzZXJ2ZSBmb3IgcGxhY2Vob2xkZXIgYXR0cmlidXRlIGNoYW5nZSB3aGVuIHBsYWNlaG9sZGVyIGlzIGJvdW5kIHZpYSBkYiB2YXJpYWJsZSBvciBhbiBleHByZXNzaW9uXG4gICAgICAgICAgICBpZiAodGhpcy5faXNQbGFjZWhvbGRlckJvdW5kKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vYnNlcnZlRm9yUGxhY2Vob2xkZXJBdHRyQ2hhbmdlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBjYXB0aW9uUG9zaXRpb25BbmltYXRlIGlzIG9ubHkgbm90aWZpZWQgZm9yIGRhdGUtdGltZSwgdGltZSBhbmQgc2VhcmNoIHdpZGdldHMgYXMgaW5wdXQgZWwgaXMgbm90IHVwZGF0ZWQgd2l0aCB2YWx1ZSBvbiBzZWxlY3Rpb24gb2YgZHJvcGRvd24vcG9wdXBzXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMubGFiZWxBbmltYXRpb25TdWJzY3JpcHRpb24gPSB0aGlzLmFwcC5zdWJzY3JpYmUoJ2NhcHRpb25Qb3NpdGlvbkFuaW1hdGUnLCAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgLy8gZGlzcGxheVZhbCBpcyB0cnVlIHdoZW4gdGhlcmUgaXMgYSB2YWx1ZSBlbnRlcmVkIGluIHRoZSBpbnB1dCBmaWVsZFxuICAgICAgICAgICAgLy8gSW4gY2FzZSBvZiBmb3JtIGZpZWxkcywgd2hlbiB0aGUgZmllbGQgaXMgaW4gZm9jdXMsIGlzRm9jdXNlZCB3aWxsIGJlIHNldCBhcyB0cnVlXG4gICAgICAgICAgICAvLyBpc1NlbGVjdE11bHRpcGxlIGlzIHNldCB0byB0cnVlIHdoZW4gZm9yIHNlbGVjdCB3aWRnZXQsIG11bHRpcGxlIG9wdGlvbiBpcyBlbmFibGVkXG4gICAgICAgICAgICAvLyBDaGVja2luZyBpbnB1dEVsIGZvY3VzIC0gd2hlbiBmb3JtIGlzIHJlcHJlc2VudGVkIGFzIGRpYWxvZyBhbmQgdGhlIGZpcnN0IGZpZWxkIGlzIGF1dG9tYXRpY2FsbHkgaW4gZm9jdXNcbiAgICAgICAgICAgIGNvbnN0IGlzSW5wdXRFbEZvY3VzZWQgPSB0aGlzLmlucHV0RWwgJiYgdGhpcy5pbnB1dEVsLmlzKCc6Zm9jdXMnKTtcbiAgICAgICAgICAgIGlmIChkYXRhLmRpc3BsYXlWYWwgfHwgZGF0YS5pc0ZvY3VzZWQgfHwgZGF0YS5pc1NlbGVjdE11bHRpcGxlIHx8IGlzSW5wdXRFbEZvY3VzZWQpIHtcbiAgICAgICAgICAgICAgICBkYXRhLm5hdGl2ZUVsLmFkZENsYXNzKCdmbG9hdC1hY3RpdmUnKTtcbiAgICAgICAgICAgICAgICBpZiAoIWRhdGEuZGlzcGxheVZhbCAmJiBpc0lucHV0RWxGb2N1c2VkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5wdXRFbC5hdHRyKCdwbGFjZWhvbGRlcicsIHRoaXMucGxhY2Vob2xkZXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgZGF0YS5uYXRpdmVFbC5yZW1vdmVDbGFzcygnZmxvYXQtYWN0aXZlJyk7XG4gICAgICAgICAgICAgICAgLy8gUmVtb3ZlIHBsYWNlaG9sZGVyIG9uIHJlbW92aW5nIGZsb2F0LWFjdGl2ZSwgaWYgbm90IHRoZSBsYWJlbCBhbmQgcGxhY2Vob2xkZXIgYXJlIGNvbGxpZGVkXG4gICAgICAgICAgICAgICAgLy8gYmVmb3JlIHBsYWNlaG9sZGVyIGlzIHJlbW92ZWQgYXNzaWduIGl0IHRvIHRoZSBwbGFjZWhvbGRlciB2YXJpYWJsZVxuICAgICAgICAgICAgICAgIC8vIGNoZWNrIGZvciBwbGFjZWhvbGRlciBpbiBpbnB1dGVsIGFuZCBzZWxlY3RlbFxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmlucHV0RWwpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0RWwgPSB0aGlzLmlucHV0RWwuZmluZCgnb3B0aW9uOmZpcnN0Jyk7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmlucHV0RWwuYXR0cigncGxhY2Vob2xkZXInKSB8fCBzZWxlY3RFbC50ZXh0KCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzZWxlY3RFbC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RFbC50ZXh0KCcnKTsgXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucGxhY2Vob2xkZXIgPSB0aGlzLmlucHV0RWwuYXR0cigncGxhY2Vob2xkZXInKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlucHV0RWwucmVtb3ZlQXR0cigncGxhY2Vob2xkZXInKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIGlmICh0aGlzLmxhYmVsQW5pbWF0aW9uU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmxhYmVsQW5pbWF0aW9uU3Vic2NyaXB0aW9uKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuX2F0dHJPYnNlcnZlcikge1xuICAgICAgICAgICAgdGhpcy5fYXR0ck9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
169
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FwdGlvbi1wb3NpdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3dpZGdldHMvaW5wdXQvZGVmYXVsdC9zcmMvY2FwdGlvbi1wb3NpdGlvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDbEcsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7O0FBTS9CLE1BQU0sT0FBTyx3QkFBd0I7SUFjakMsWUFBWSxHQUFhLEVBQUUsR0FBUTtRQUhuQyxrREFBa0Q7UUFDMUMsNkJBQXdCLEdBQWEsQ0FBQyxVQUFVLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUd4SixJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQztRQUM5QyxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztJQUNuQixDQUFDO0lBRU8sUUFBUTtRQUNaLElBQUksY0FBYyxDQUFDO1FBQ25CLHNHQUFzRztRQUN0RyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsRUFBRTtZQUNsRSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRTtnQkFDM0IsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsUUFB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RUFBRTtZQUNqQyxJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztTQUNyQztRQUNELElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRSxDQUFDO1NBQ25DO0lBQ0wsQ0FBQzs7Z0dBaExRLHdCQUF3QjsyRUFBeEIsd0JBQXdCO3VGQUF4Qix3QkFBd0I7Y0FIcEMsU0FBUztlQUFDO2dCQUNQLFFBQVEsRUFBRSxxQkFBcUI7YUFDbEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEluamVjdG9yLCBPbkluaXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXBwIH0gZnJvbSAnQHdtL2NvcmUnO1xuXG5kZWNsYXJlIGNvbnN0IF8sICQ7XG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1t3bUNhcHRpb25Qb3NpdGlvbl0nXG59KVxuZXhwb3J0IGNsYXNzIENhcHRpb25Qb3NpdGlvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY7XG4gICAgcHJpdmF0ZSBpbnB1dEVsO1xuICAgIHByaXZhdGUgbmF0aXZlRWw7XG4gICAgcHJpdmF0ZSBjb21wb3NpdGVFbGU7XG4gICAgcHJpdmF0ZSBhcHA6IEFwcDtcbiAgICBwcml2YXRlIGxhYmVsQW5pbWF0aW9uU3Vic2NyaXB0aW9uO1xuICAgIHByaXZhdGUgcGxhY2Vob2xkZXI7XG4gICAgcHJpdmF0ZSBfYXR0ck9ic2VydmVyO1xuICAgIHByaXZhdGUgX2lzUGxhY2Vob2xkZXJCb3VuZDtcblxuICAgIC8vIHNraXAgZmxvYXRpbmcgY2FwdGlvbiBmb3IgdGhlIGJlbG93IGZvcm0gZmllbGRzXG4gICAgcHJpdmF0ZSBza2lwRmxvYXRQb3NpdGlvbldpZGdldHM6IHN0cmluZ1tdID0gWydyYWRpb3NldCcsICdjaGVja2JveHNldCcsICdyaWNodGV4dCcsICdzd2l0Y2gnLCAnY2hpcHMnLCAnY2hlY2tib3gnLCAnc2xpZGVyJywgJ3JhdGluZycsICd0b2dnbGUnLCAndXBsb2FkJ107XG5cbiAgICBjb25zdHJ1Y3Rvcihpbmo6IEluamVjdG9yLCBhcHA6IEFwcCkge1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYgPSBpbmouZ2V0KEVsZW1lbnRSZWYpO1xuICAgICAgICB0aGlzLm5hdGl2ZUVsID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIHRoaXMuYXBwID0gYXBwO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25CbHVyQ2IoKSB7IC8vIG9uIGJsdXIsIHJlbW92ZSBhbmltYXRpb24gYW5kIHBsYWNlaG9sZGVyIGlmIHRoZXJlIGlzIG5vIHZhbHVlXG4gICAgICAgIGxldCBtb2JpbGVJbnB1dFZhbDtcbiAgICAgICAgLy8gSW4gY2FzZSBvZiBtb2JpbGUgZGF0ZSAvIHRpbWUgcGlja2VyIGNoZWNrIGZvciBpbnB1dCBlbGVtZW50J3MgdmFsdWUgd2hpY2ggaGFzICdtb2JpbGUtaW5wdXQnIGNsYXNzXG4gICAgICAgIGlmICh0aGlzLmlucHV0RWwubGVuZ3RoID4gMSAmJiB0aGlzLmlucHV0RWwuaGFzQ2xhc3MoJ21vYmlsZS1pbnB1dCcpKSB7XG4gICAgICAgICAgICBfLmZvckVhY2godGhpcy5pbnB1dEVsLCAoZWwpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoJChlbCkuaGFzQ2xhc3MoJ21vYmlsZS1pbnB1dCcpICYmIGVsLnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgIG1vYmlsZUlucHV0VmFsID0gZWwudmFsdWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLmlucHV0RWwudmFsKCkgJiYgIW1vYmlsZUlucHV0VmFsKSB7XG4gICAgICAgICAgICB0aGlzLmNvbXBvc2l0ZUVsZS5jbGFzc0xpc3QucmVtb3ZlKCdmbG9hdC1hY3RpdmUnKTtcbiAgICAgICAgICAgIHRoaXMuaW5wdXRFbC5yZW1vdmVBdHRyKCdwbGFjZWhvbGRlcicpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvbkZvY3VzQ2IoKSB7IC8vICBvbiBmb2N1cywgYWRkIGFuaW1hdGlvbiBjbGFzcyBhbmQgdGhlIHBsYWNlIGhvbGRlclxuICAgICAgICB0aGlzLmNvbXBvc2l0ZUVsZS5jbGFzc0xpc3QuYWRkKCdmbG9hdC1hY3RpdmUnKTtcbiAgICAgICAgdGhpcy5pbnB1dEVsLmF0dHIoJ3BsYWNlaG9sZGVyJywgdGhpcy5wbGFjZWhvbGRlcik7XG4gICAgfVxuXG4gICAgLy8gRm9yIHNlbGVjdCB3aWRnZXQsIGRpc3BsYXkgcGxhY2Vob2xkZXIgb25seSBvbiBmb2N1cyBlbHNlIHJlbW92ZSB0aGUgdGV4dCBvZiB0aGUgb3B0aW9uIHNlbGVjdGVkLlxuICAgIHByaXZhdGUgY2hlY2tGb3JTZWxlY3RQbGFjZWhvbGRlcigpIHtcbiAgICAgICAgaWYgKCQodGhpcy5uYXRpdmVFbCkuZmluZCgnc2VsZWN0IG9wdGlvbjpzZWxlY3RlZCcpLnRleHQoKSAmJiAhJCh0aGlzLm5hdGl2ZUVsKS5maW5kKCdzZWxlY3QnKS5pcygnOmZvY3VzJykgJiZcbiAgICAgICAgICAgICEkKHRoaXMuaW5wdXRFbC5jbG9zZXN0KCdbd2lkZ2V0LWlkXScpKS5hdHRyKCdkYXRhdmFsdWUnKSkge1xuICAgICAgICAgICAgJCh0aGlzLm5hdGl2ZUVsKS5maW5kKCdzZWxlY3Qgb3B0aW9uOnNlbGVjdGVkJykudGV4dCgnJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldERlZmF1bHRWYWx1ZUFuaW1hdGlvbigpIHsgLy8gc2V0IGFuaW1hdGlvbiB3aGVuIGRlZmF1bHQgdmFsdWVzIGFyZSBwcmVzZW50XG4gICAgICAgIC8vIHJlbW92ZSBwbGFjZWhvbGRlciB3aGVuIHRoZSBpbnB1dCBlbCBoYXMgcGxhY2Vob2xkZXIgYW5kIHRoZSBwbGFjZWhvbGRlciBpcyBub3QgYm91bmQgdG8gYW55IHZhcmlhYmxlXG4gICAgICAgIGlmICghdGhpcy5faXNQbGFjZWhvbGRlckJvdW5kICYmIHRoaXMuaW5wdXRFbC5hdHRyKCdwbGFjZWhvbGRlcicpKSB7XG4gICAgICAgICAgICB0aGlzLnBsYWNlaG9sZGVyID0gdGhpcy5pbnB1dEVsLmF0dHIoJ3BsYWNlaG9sZGVyJyk7XG4gICAgICAgICAgICB0aGlzLmlucHV0RWwucmVtb3ZlQXR0cigncGxhY2Vob2xkZXInKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIERvIG5vdCBzaG93IHBsYWNlaG9sZGVyIGFzIHNlbGVjdGVkIGJ5IGRlZmF1bHRcbiAgICAgICAgdGhpcy5jaGVja0ZvclNlbGVjdFBsYWNlaG9sZGVyKCk7XG5cbiAgICAgICAgLy8gY2hlY2sgZm9yIGRhdGF2YWx1ZSBhdHRyaWJ1dGUgaW4gY29tcG9zaXRlIGVsZW1lbnQgYW5kIGRlZmF1bHR2YWx1ZSBhdHRyaWJ1dGUgaW4gZm9ybSBmaWVsZCBlbGVtZW50XG4gICAgICAgIC8vIGNoZWNrIGZvciBkYXRhdmFsdWUuYmluZCBhdHRyaWJ1dGUgdG8gc2VlIHdoZXRoZXIgZGVmYXVsdCB2YWx1ZSBpcyBiaW5kZWQgdmlhIGV4cHJlc3Npb24gb3IgYSB2YXJpYWJsZVxuICAgICAgICAvLyBjaGVjayBmb3IgZGlzcGxheWZvcm1hdCBhdHRyaWJ1dGUsIGFzIGluIGZvcm0gZmllbGRzIHVzZXIgY2FuIHNldCBkaXNwbGF5IGZvcm1hdCB0byB0aGUgZmllbGRcbiAgICAgICAgLy8gY2hlY2sgZm9yIGZvcm1kYXRhL2JpbmRmb3JtZGF0YSBhdHRyaWJ1dGUgdG8gc2VlIGlmIGFueSBkZWZhdWx0IHZhbHVlIGlzIGJpbmRlZCB0byB0aGUgZm9ybVxuICAgICAgICAvLyBjaGVjayBmb3Igc2VsZWN0IHRhZyB3aXRoIG11bHRpcGxlIGF0dHJpYnV0ZSBlbmFibGVkXG5cbiAgICAgICAgaWYgKCh0aGlzLmlucHV0RWwudmFsKCkgJiYgIXRoaXMuaW5wdXRFbC5pcygnc2VsZWN0JykpIHx8ICQodGhpcy5pbnB1dEVsLmNsb3Nlc3QoJ1t3aWRnZXQtaWRdJykpLmF0dHIoJ2RhdGF2YWx1ZScpIHx8ICQodGhpcy5pbnB1dEVsLnBhcmVudCgnW3dpZGdldC1pZF0nKSkuYXR0cignZGF0YXZhbHVlLmJpbmQnKSB8fCB0aGlzLm5hdGl2ZUVsLmdldEF0dHJpYnV0ZSgnZGVmYXVsdHZhbHVlJylcbiAgICAgICAgICAgIHx8IHRoaXMubmF0aXZlRWwuZ2V0QXR0cmlidXRlKCdkaXNwbGF5Zm9ybWF0JykgfHwgJCh0aGlzLm5hdGl2ZUVsKS5maW5kKCdzZWxlY3Qgb3B0aW9uOnNlbGVjdGVkJykudGV4dCgpIHx8ICQodGhpcy5uYXRpdmVFbCkuZmluZCgnc2VsZWN0JykuYXR0cignbXVsdGlwbGUnKSkge1xuICAgICAgICAgICAgdGhpcy5jb21wb3NpdGVFbGUuY2xhc3NMaXN0LmFkZCgnZmxvYXQtYWN0aXZlJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBPYnNlcnZpbmcgcGxhY2Vob2xkZXIgYXR0cmlidXRlIGNoYW5nZSBvbiBET00gaW5zdGVhZCBvZiBoYXZpbmcgYSBwcm9wQ2hhbmdlSGFuZGxlciBmblxuICAgICAqIEZvciBjb21wb3NpdGUgd2lkZ2V0cyBwcm9wZXJ0eWNoYW5nZWhhbmRsZXIgZnVuY3Rpb24gaXMgaW52b2tlZCBhdCBpbmRlcGVuZGVudCB3aWRnZXRzIHdoZXJlIGFzIHRoZSBkaXJlY3RpdmUgaXMgYXQgY29tcG9zaXRlIGxldmVsXG4gICAgICovXG4gICAgcHJpdmF0ZSBvYnNlcnZlRm9yUGxhY2Vob2xkZXJBdHRyQ2hhbmdlKCkge1xuICAgICAgICB0aGlzLl9hdHRyT2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcihtdXRhdGlvbnMgPT4ge1xuICAgICAgICAgICAgbXV0YXRpb25zLmZvckVhY2goKG11dGF0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKG11dGF0aW9uLmF0dHJpYnV0ZU5hbWUgPT09ICdwbGFjZWhvbGRlcicgJiYgdGhpcy5pbnB1dEVsLmF0dHIoJ3BsYWNlaG9sZGVyJykgJiYgIXRoaXMuY29tcG9zaXRlRWxlLmNsYXNzTGlzdC5jb250YWlucygnZmxvYXQtYWN0aXZlJykpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wbGFjZWhvbGRlciA9IHRoaXMuaW5wdXRFbC5hdHRyKCdwbGFjZWhvbGRlcicpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlucHV0RWwucmVtb3ZlQXR0cigncGxhY2Vob2xkZXInKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGNvbmZpZyA9IHsgYXR0cmlidXRlczogdHJ1ZSwgY2hpbGRMaXN0OiBmYWxzZSwgY2hhcmFjdGVyRGF0YTogZmFsc2UgfTtcbiAgICAgICAgdGhpcy5fYXR0ck9ic2VydmVyLm9ic2VydmUodGhpcy5pbnB1dEVsWzBdLCBjb25maWcpO1xuICAgIH1cblxuICAgIC8vIHdoZW4gYSBmb3JtIGlzIHJpZ2h0IGFsaWduZWQgYW5kIGhhdmUgaW5wdXQtZ3JvdXAtYnRuJ3MgbGlrZSBkYXRlIHBpY2tlciwgdGltZSBwaWNrZXIgZXRjLiBhZGp1c3QgdGhlIGNzcyB0byBub3Qgb3ZlcmxhcCB0aGUgbGFiZWwgb24gdGhlIGljb25cbiAgICBwcml2YXRlIGNoZWNrRm9yUmlnaHRBbGlnbmVkRm9ybSgpIHtcbiAgICAgICAgY29uc3QgJGNvbXBvc2l0ZUVsZSA9ICQodGhpcy5jb21wb3NpdGVFbGUpO1xuICAgICAgICBpZiAoJGNvbXBvc2l0ZUVsZS5jbG9zZXN0KCcuYWxpZ24tcmlnaHQnKS5sZW5ndGggJiYgJGNvbXBvc2l0ZUVsZS5maW5kKCcuaW5wdXQtZ3JvdXAtYnRuJykubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb25zdCAkbGFiZWwgPSAkY29tcG9zaXRlRWxlLmZpbmQoJ2xhYmVsJyk7XG4gICAgICAgICAgICBpZiAoJGNvbXBvc2l0ZUVsZS5maW5kKCdbd21kYXRldGltZV0nKS5sZW5ndGgpIHsgLy8gZm9yIGRhdGV0aW1lIHBpY2tlciwgYXMgdGhlcmUgd2lsbCBiZSAyIGljb25zIGNzcyBpcyBkaWZmZXJlbnRcbiAgICAgICAgICAgICAgICAkbGFiZWwuYWRkQ2xhc3MoJ2lucHV0LWdycC1kdC1pY29uJyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICRsYWJlbC5hZGRDbGFzcygnaW5wdXQtZ3JwLWljb24nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgdGhpcy5jb21wb3NpdGVFbGUgPSB0aGlzLm5hdGl2ZUVsO1xuICAgICAgICBjb25zdCB3aWRnZXQgPSB0aGlzLm5hdGl2ZUVsLndpZGdldDtcbiAgICAgICAgbGV0IGNhcHRpb25Qb3NpdGlvbjogc3RyaW5nID0gd2lkZ2V0LiRhdHRycy5nZXQoJ2NhcHRpb25wb3NpdGlvbicpO1xuICAgICAgICBpZiAod2lkZ2V0LmZvcm0pIHtcbiAgICAgICAgICAgIGNhcHRpb25Qb3NpdGlvbiA9IHdpZGdldC5mb3JtLiRhdHRycy5nZXQoJ2NhcHRpb25wb3NpdGlvbicpO1xuICAgICAgICAgICAgdGhpcy5jb21wb3NpdGVFbGUgPSB0aGlzLm5hdGl2ZUVsLnF1ZXJ5U2VsZWN0b3IoJy5hcHAtY29tcG9zaXRlLXdpZGdldCcpO1xuICAgICAgICAgICAgdGhpcy5faXNQbGFjZWhvbGRlckJvdW5kID0gdGhpcy5uYXRpdmVFbC5nZXRBdHRyaWJ1dGUoJ3BsYWNlaG9sZGVyLmJpbmQnKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY2FwdGlvblBvc2l0aW9uID09PSAnZmxvYXRpbmcnKSB7XG4gICAgICAgICAgICBpZiAod2lkZ2V0LmZvcm0pIHsgLy8gZm9yIGZvcm0tZmllbGRzIHJlbW92ZSBjYXB0aW9uLWZsb2F0aW5nIGFuZCByZXBsYWNlIGl0IHdpdGggY2FwdGlvbi1mbG9hdCBvciBjYXB0aW9uLXRvcFxuICAgICAgICAgICAgICAgIGNvbnN0IHdpZGdldFR5cGU6IHN0cmluZyA9IHRoaXMubmF0aXZlRWwuZ2V0QXR0cmlidXRlKCd3aWRnZXR0eXBlJyk7IC8vIGZldGNoZXMgdGhlIGZvcm0gZmllbGQgdHlwZVxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnNraXBGbG9hdFBvc2l0aW9uV2lkZ2V0cy5pbmRleE9mKHdpZGdldFR5cGUpID4gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb21wb3NpdGVFbGUuY2xhc3NMaXN0LnJlbW92ZSgnY2FwdGlvbi1mbG9hdGluZycpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbXBvc2l0ZUVsZS5jbGFzc0xpc3QuYWRkKCdjYXB0aW9uLXRvcCcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmNoZWNrRm9yUmlnaHRBbGlnbmVkRm9ybSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5pbnB1dEVsID0gJCh0aGlzLm5hdGl2ZUVsKS5maW5kKCdpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYScpO1xuICAgICAgICAgICAgaWYgKCF0aGlzLl9pc1BsYWNlaG9sZGVyQm91bmQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9pc1BsYWNlaG9sZGVyQm91bmQgPSB0aGlzLmlucHV0RWwuY2xvc2VzdCgnW3dpZGdldC1pZF0nKS5hdHRyKCdwbGFjZWhvbGRlci5iaW5kJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBjYWxsIHRoZSBiZWxvdyBmdW5jdGlvbiB0byBhcHBseSBmbG9hdC1hY3RpdmUgY2xhc3Mgd2hlbiB0aGVyZSBhcmUgZGVmYXVsdCB2YWx1ZXMgdG8gdGhlIGZpZWxkc1xuICAgICAgICAgICAgc2V0VGltZW91dCh0aGlzLnNldERlZmF1bHRWYWx1ZUFuaW1hdGlvbi5iaW5kKHRoaXMpLCAwKTtcblxuICAgICAgICAgICAgdGhpcy5pbnB1dEVsLmZvY3VzKHRoaXMub25Gb2N1c0NiLmJpbmQodGhpcykpO1xuICAgICAgICAgICAgdGhpcy5pbnB1dEVsLmJsdXIodGhpcy5vbkJsdXJDYi5iaW5kKHRoaXMpKTtcblxuICAgICAgICAgICAgLy8gb2JzZXJ2ZSBmb3IgcGxhY2Vob2xkZXIgYXR0cmlidXRlIGNoYW5nZSB3aGVuIHBsYWNlaG9sZGVyIGlzIGJvdW5kIHZpYSBkYiB2YXJpYWJsZSBvciBhbiBleHByZXNzaW9uXG4gICAgICAgICAgICBpZiAodGhpcy5faXNQbGFjZWhvbGRlckJvdW5kKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vYnNlcnZlRm9yUGxhY2Vob2xkZXJBdHRyQ2hhbmdlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBjYXB0aW9uUG9zaXRpb25BbmltYXRlIGlzIG9ubHkgbm90aWZpZWQgZm9yIGRhdGUtdGltZSwgdGltZSBhbmQgc2VhcmNoIHdpZGdldHMgYXMgaW5wdXQgZWwgaXMgbm90IHVwZGF0ZWQgd2l0aCB2YWx1ZSBvbiBzZWxlY3Rpb24gb2YgZHJvcGRvd24vcG9wdXBzXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMubGFiZWxBbmltYXRpb25TdWJzY3JpcHRpb24gPSB0aGlzLmFwcC5zdWJzY3JpYmUoJ2NhcHRpb25Qb3NpdGlvbkFuaW1hdGUnLCAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgLy8gZGlzcGxheVZhbCBpcyB0cnVlIHdoZW4gdGhlcmUgaXMgYSB2YWx1ZSBlbnRlcmVkIGluIHRoZSBpbnB1dCBmaWVsZFxuICAgICAgICAgICAgLy8gSW4gY2FzZSBvZiBmb3JtIGZpZWxkcywgd2hlbiB0aGUgZmllbGQgaXMgaW4gZm9jdXMsIGlzRm9jdXNlZCB3aWxsIGJlIHNldCBhcyB0cnVlXG4gICAgICAgICAgICAvLyBpc1NlbGVjdE11bHRpcGxlIGlzIHNldCB0byB0cnVlIHdoZW4gZm9yIHNlbGVjdCB3aWRnZXQsIG11bHRpcGxlIG9wdGlvbiBpcyBlbmFibGVkXG4gICAgICAgICAgICAvLyBDaGVja2luZyBpbnB1dEVsIGZvY3VzIC0gd2hlbiBmb3JtIGlzIHJlcHJlc2VudGVkIGFzIGRpYWxvZyBhbmQgdGhlIGZpcnN0IGZpZWxkIGlzIGF1dG9tYXRpY2FsbHkgaW4gZm9jdXNcbiAgICAgICAgICAgIGNvbnN0IGlzSW5wdXRFbEZvY3VzZWQgPSB0aGlzLmlucHV0RWwgJiYgdGhpcy5pbnB1dEVsLmlzKCc6Zm9jdXMnKTtcbiAgICAgICAgICAgIGlmIChkYXRhLmRpc3BsYXlWYWwgfHwgZGF0YS5pc0ZvY3VzZWQgfHwgZGF0YS5pc1NlbGVjdE11bHRpcGxlIHx8IGlzSW5wdXRFbEZvY3VzZWQpIHtcbiAgICAgICAgICAgICAgICBkYXRhLm5hdGl2ZUVsLmFkZENsYXNzKCdmbG9hdC1hY3RpdmUnKTtcbiAgICAgICAgICAgICAgICBpZiAoIWRhdGEuZGlzcGxheVZhbCAmJiBpc0lucHV0RWxGb2N1c2VkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5wdXRFbC5hdHRyKCdwbGFjZWhvbGRlcicsIHRoaXMucGxhY2Vob2xkZXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgZGF0YS5uYXRpdmVFbC5yZW1vdmVDbGFzcygnZmxvYXQtYWN0aXZlJyk7XG4gICAgICAgICAgICAgICAgLy8gUmVtb3ZlIHBsYWNlaG9sZGVyIG9uIHJlbW92aW5nIGZsb2F0LWFjdGl2ZSwgaWYgbm90IHRoZSBsYWJlbCBhbmQgcGxhY2Vob2xkZXIgYXJlIGNvbGxpZGVkXG4gICAgICAgICAgICAgICAgLy8gYmVmb3JlIHBsYWNlaG9sZGVyIGlzIHJlbW92ZWQgYXNzaWduIGl0IHRvIHRoZSBwbGFjZWhvbGRlciB2YXJpYWJsZVxuICAgICAgICAgICAgICAgIC8vIGNoZWNrIGZvciBwbGFjZWhvbGRlciBpbiBpbnB1dGVsIGFuZCBzZWxlY3RlbFxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmlucHV0RWwpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0RWwgPSB0aGlzLmlucHV0RWwuZmluZCgnb3B0aW9uOmZpcnN0Jyk7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmlucHV0RWwuYXR0cigncGxhY2Vob2xkZXInKSB8fCBzZWxlY3RFbC50ZXh0KCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzZWxlY3RFbC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RFbC50ZXh0KCcnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wbGFjZWhvbGRlciA9IHRoaXMuaW5wdXRFbC5hdHRyKCdwbGFjZWhvbGRlcicpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaW5wdXRFbC5yZW1vdmVBdHRyKCdwbGFjZWhvbGRlcicpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgaWYgKHRoaXMubGFiZWxBbmltYXRpb25TdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMubGFiZWxBbmltYXRpb25TdWJzY3JpcHRpb24oKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5fYXR0ck9ic2VydmVyKSB7XG4gICAgICAgICAgICB0aGlzLl9hdHRyT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -3232,8 +3232,8 @@ class CaptionPositionDirective {
3232
3232
  // check for datavalue attribute in composite element and defaultvalue attribute in form field element
3233
3233
  // check for datavalue.bind attribute to see whether default value is binded via expression or a variable
3234
3234
  // check for displayformat attribute, as in form fields user can set display format to the field
3235
- // check for formdata/bindformdata attribute to see if any default value is binded to the form
3236
- // check for select tag with multiple attribute enabled
3235
+ // check for formdata/bindformdata attribute to see if any default value is binded to the form
3236
+ // check for select tag with multiple attribute enabled
3237
3237
  if ((this.inputEl.val() && !this.inputEl.is('select')) || $(this.inputEl.closest('[widget-id]')).attr('datavalue') || $(this.inputEl.parent('[widget-id]')).attr('datavalue.bind') || this.nativeEl.getAttribute('defaultvalue')
3238
3238
  || this.nativeEl.getAttribute('displayformat') || $(this.nativeEl).find('select option:selected').text() || $(this.nativeEl).find('select').attr('multiple')) {
3239
3239
  this.compositeEle.classList.add('float-active');
@@ -3344,12 +3344,12 @@ class CaptionPositionDirective {
3344
3344
  }
3345
3345
  }
3346
3346
  CaptionPositionDirective.ɵfac = function CaptionPositionDirective_Factory(t) { return new (t || CaptionPositionDirective)(i0.ɵɵdirectiveInject(i0.Injector), i0.ɵɵdirectiveInject(i1$2.App)); };
3347
- CaptionPositionDirective.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: CaptionPositionDirective, selectors: [["", "captionPosition", ""]] });
3347
+ CaptionPositionDirective.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: CaptionPositionDirective, selectors: [["", "wmCaptionPosition", ""]] });
3348
3348
  (function () {
3349
3349
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaptionPositionDirective, [{
3350
3350
  type: Directive,
3351
3351
  args: [{
3352
- selector: '[captionPosition]'
3352
+ selector: '[wmCaptionPosition]'
3353
3353
  }]
3354
3354
  }], function () { return [{ type: i0.Injector }, { type: i1$2.App }]; }, null);
3355
3355
  })();