@acorex/components 7.4.1 → 7.4.4

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 (112) hide show
  1. package/button/index.d.ts +0 -1
  2. package/button/lib/button.component.d.ts +1 -0
  3. package/button/lib/button.module.d.ts +3 -3
  4. package/button-group/lib/button-group.component.d.ts +1 -1
  5. package/common/index.d.ts +5 -4
  6. package/common/lib/classes/styles.class.d.ts +1 -1
  7. package/common/lib/common.module.d.ts +2 -1
  8. package/common/lib/components/base-component.class.d.ts +1 -2
  9. package/common/lib/components/color-component.class.d.ts +0 -2
  10. package/common/lib/components/colorlook-component.class.d.ts +0 -2
  11. package/common/lib/components/interactive-component.class.d.ts +4 -5
  12. package/common/lib/components/look-component.class.d.ts +0 -2
  13. package/common/lib/directives/ripple.directive.d.ts +10 -0
  14. package/datetime-picker/lib/datetime-picker.component.d.ts +6 -2
  15. package/dialog/lib/dialog.class.d.ts +17 -4
  16. package/dialog/lib/dialog.component.d.ts +4 -5
  17. package/esm2022/alert/lib/alert.component.mjs +2 -2
  18. package/esm2022/badge/lib/badge.component.mjs +2 -2
  19. package/esm2022/button/index.mjs +1 -2
  20. package/esm2022/button/lib/button-item.class.mjs +1 -1
  21. package/esm2022/button/lib/button.component.mjs +11 -6
  22. package/esm2022/button/lib/button.module.mjs +6 -14
  23. package/esm2022/button-group/lib/button-group.component.mjs +7 -5
  24. package/esm2022/calendar/lib/calendar.component.mjs +7 -7
  25. package/esm2022/chips/lib/chips.component.mjs +2 -2
  26. package/esm2022/common/index.mjs +6 -5
  27. package/esm2022/common/lib/classes/styles.class.mjs +20 -3
  28. package/esm2022/common/lib/common.module.mjs +11 -7
  29. package/esm2022/common/lib/components/base-component.class.mjs +6 -8
  30. package/esm2022/common/lib/components/button-base-component.class.mjs +1 -1
  31. package/esm2022/common/lib/components/color-component.class.mjs +2 -4
  32. package/esm2022/common/lib/components/colorlook-component.class.mjs +3 -5
  33. package/esm2022/common/lib/components/interactive-component.class.mjs +9 -8
  34. package/esm2022/common/lib/components/look-component.class.mjs +2 -4
  35. package/esm2022/common/lib/directives/ripple.directive.mjs +38 -0
  36. package/esm2022/data-pager/lib/data-pager-numeric-selector.component.mjs +6 -6
  37. package/esm2022/data-pager/lib/data-pager.component.mjs +2 -2
  38. package/esm2022/datetime-box/lib/datetime-box.component.mjs +3 -3
  39. package/esm2022/datetime-input/lib/datetime-input.component.mjs +3 -3
  40. package/esm2022/datetime-picker/lib/datetime-picker.component.mjs +23 -11
  41. package/esm2022/dialog/lib/dialog.class.mjs +1 -1
  42. package/esm2022/dialog/lib/dialog.component.mjs +13 -14
  43. package/esm2022/dialog/lib/dialog.service.mjs +1 -3
  44. package/esm2022/form/lib/validation-rule.widget.mjs +4 -6
  45. package/esm2022/mixin/lib/color-look-mixing.class.mjs +1 -3
  46. package/esm2022/otp/lib/otp.component.mjs +11 -2
  47. package/esm2022/picker/lib/picker.component.mjs +13 -4
  48. package/esm2022/scheduler/lib/scheduler-month-view.component.mjs +3 -3
  49. package/esm2022/scheduler/lib/scheduler.component.mjs +4 -4
  50. package/esm2022/switch/lib/switch.component.mjs +2 -2
  51. package/esm2022/tabs/lib/tabs.component.mjs +2 -2
  52. package/esm2022/toast/lib/toast.component.mjs +3 -3
  53. package/fesm2022/acorex-components-alert.mjs +2 -2
  54. package/fesm2022/acorex-components-alert.mjs.map +1 -1
  55. package/fesm2022/acorex-components-badge.mjs +2 -2
  56. package/fesm2022/acorex-components-badge.mjs.map +1 -1
  57. package/fesm2022/acorex-components-button-group.mjs +6 -4
  58. package/fesm2022/acorex-components-button-group.mjs.map +1 -1
  59. package/fesm2022/acorex-components-button.mjs +16 -109
  60. package/fesm2022/acorex-components-button.mjs.map +1 -1
  61. package/fesm2022/acorex-components-calendar.mjs +6 -6
  62. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  63. package/fesm2022/acorex-components-chips.mjs +2 -2
  64. package/fesm2022/acorex-components-chips.mjs.map +1 -1
  65. package/fesm2022/acorex-components-common.mjs +78 -29
  66. package/fesm2022/acorex-components-common.mjs.map +1 -1
  67. package/fesm2022/acorex-components-data-pager.mjs +7 -7
  68. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  69. package/fesm2022/acorex-components-datetime-box.mjs +2 -2
  70. package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
  71. package/fesm2022/acorex-components-datetime-input.mjs +2 -2
  72. package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
  73. package/fesm2022/acorex-components-datetime-picker.mjs +24 -13
  74. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
  75. package/fesm2022/acorex-components-dialog.mjs +12 -15
  76. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  77. package/fesm2022/acorex-components-form.mjs +1 -3
  78. package/fesm2022/acorex-components-form.mjs.map +1 -1
  79. package/fesm2022/acorex-components-mixin.mjs +1 -3
  80. package/fesm2022/acorex-components-mixin.mjs.map +1 -1
  81. package/fesm2022/acorex-components-otp.mjs +10 -1
  82. package/fesm2022/acorex-components-otp.mjs.map +1 -1
  83. package/fesm2022/acorex-components-picker.mjs +12 -3
  84. package/fesm2022/acorex-components-picker.mjs.map +1 -1
  85. package/fesm2022/acorex-components-scheduler.mjs +4 -4
  86. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  87. package/fesm2022/acorex-components-switch.mjs +2 -2
  88. package/fesm2022/acorex-components-switch.mjs.map +1 -1
  89. package/fesm2022/acorex-components-tabs.mjs +2 -2
  90. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  91. package/fesm2022/acorex-components-toast.mjs +2 -2
  92. package/fesm2022/acorex-components-toast.mjs.map +1 -1
  93. package/form/lib/validation-rule.widget.d.ts +3 -2
  94. package/mixin/lib/base-components.class.d.ts +2 -2
  95. package/mixin/lib/base-menu-mixin.class.d.ts +5 -5
  96. package/mixin/lib/button-mixin.class.d.ts +2 -2
  97. package/mixin/lib/clickable-mixin.class.d.ts +2 -2
  98. package/mixin/lib/color-look-mixing.class.d.ts +2 -4
  99. package/mixin/lib/datalist-component.class.d.ts +10 -10
  100. package/mixin/lib/dropdown-mixin.class.d.ts +2 -2
  101. package/mixin/lib/interactive-mixin.class.d.ts +4 -4
  102. package/mixin/lib/mixin.class.d.ts +61 -61
  103. package/mixin/lib/page-component.class.d.ts +2 -2
  104. package/mixin/lib/selection-component.class.d.ts +2 -2
  105. package/mixin/lib/sizable-mixin.class.d.ts +2 -2
  106. package/mixin/lib/textbox-mixin.class.d.ts +2 -2
  107. package/mixin/lib/value-mixin.class.d.ts +8 -8
  108. package/otp/lib/otp.component.d.ts +1 -0
  109. package/package.json +7 -7
  110. package/picker/lib/picker.component.d.ts +1 -0
  111. package/button/lib/button-group.component.d.ts +0 -23
  112. package/esm2022/button/lib/button-group.component.mjs +0 -95
@@ -1,95 +0,0 @@
1
- import { MXColorLookComponent, MXInteractiveComponent, } from '@acorex/components/common';
2
- import { ChangeDetectionStrategy, Component, ContentChildren, EventEmitter, Input, Output, QueryList, ViewEncapsulation, } from '@angular/core';
3
- import { classes } from 'polytype';
4
- import { AXButtonComponent } from './button.component';
5
- import * as i0 from "@angular/core";
6
- export class AXButtonGroupComponent extends classes(MXInteractiveComponent, MXColorLookComponent) {
7
- constructor() {
8
- super(...arguments);
9
- this.selectionChange = new EventEmitter();
10
- this.onItemClick = new EventEmitter();
11
- this.onValueChanged = new EventEmitter();
12
- }
13
- get selection() {
14
- return this._selection;
15
- }
16
- set selection(value) {
17
- this.setOption({
18
- name: 'selection',
19
- value: value,
20
- afterCallback: (o, n) => {
21
- if (value == 'none') {
22
- this.clearSelection();
23
- }
24
- },
25
- });
26
- }
27
- ngAfterContentInit() {
28
- this._bindEvents();
29
- this._bindProps();
30
- this._contentButtons.changes.subscribe(() => {
31
- this._bindEvents();
32
- this._bindProps();
33
- });
34
- }
35
- _bindEvents() {
36
- this._contentButtons?.forEach((b) => {
37
- if (!b.onClick.length)
38
- b.onClick.subscribe((c) => {
39
- this._handleClickEvent(c, b);
40
- });
41
- });
42
- }
43
- _bindProps() {
44
- this._contentButtons?.forEach((b) => {
45
- if (b['originDisabled'] == null) {
46
- b['originDisabled'] = b.disabled;
47
- }
48
- b.look = this.look ?? this.look;
49
- b.color = this.color ?? this.color;
50
- b.disabled = b['originDisabled'] || this.disabled;
51
- b.toggleable = false;
52
- });
53
- }
54
- internalOptionChanged() {
55
- this._bindProps();
56
- }
57
- _handleClickEvent(e, button) {
58
- if (this.selection == 'multiple') {
59
- button.selected = !button.selected;
60
- }
61
- else if (this.selection == 'single') {
62
- this.clearSelection();
63
- button.selected = true;
64
- }
65
- else {
66
- button.selected = false;
67
- }
68
- this.onItemClick.emit({
69
- component: this,
70
- htmlElement: e.htmlElement,
71
- item: button,
72
- });
73
- }
74
- clearSelection() {
75
- this._contentButtons.forEach((c) => {
76
- c.selected = false;
77
- });
78
- }
79
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXButtonGroupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
80
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.9", type: AXButtonGroupComponent, selector: "ax-button-group", inputs: { disabled: "disabled", tabIndex: "tabIndex", color: "color", look: "look", selection: "selection" }, outputs: { onBlur: "onBlur", onFocus: "onFocus", lookChange: "lookChange", colorChange: "colorChange", disabledChange: "disabledChange", selectionChange: "selectionChange", onItemClick: "onItemClick" }, host: { attributes: { "role": "group" } }, queries: [{ propertyName: "_contentButtons", predicate: AXButtonComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-button\"></ng-content>", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
81
- }
82
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXButtonGroupComponent, decorators: [{
83
- type: Component,
84
- args: [{ selector: 'ax-button-group', inputs: ['disabled', 'tabIndex', 'color', 'look'], outputs: ['onBlur', 'onFocus', 'lookChange', 'colorChange', 'disabledChange'], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { role: 'group' }, template: "<ng-content select=\"ax-button\"></ng-content>" }]
85
- }], propDecorators: { selectionChange: [{
86
- type: Output
87
- }], selection: [{
88
- type: Input
89
- }], onItemClick: [{
90
- type: Output
91
- }], _contentButtons: [{
92
- type: ContentChildren,
93
- args: [AXButtonComponent, { descendants: true }]
94
- }] } });
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9idXR0b24vc3JjL2xpYi9idXR0b24tZ3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2J1dHRvbi9zcmMvbGliL2J1dHRvbi1ncm91cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBS0wsb0JBQW9CLEVBQ3BCLHNCQUFzQixHQUN2QixNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGVBQWUsRUFDZixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbkMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBV3ZELE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxPQUFPLENBQUMsc0JBQXNCLEVBQUUsb0JBQW9CLENBQUM7SUFUakc7O1FBV0Usb0JBQWUsR0FBa0MsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQW9CcEUsZ0JBQVcsR0FBc0QsSUFBSSxZQUFZLEVBRTlFLENBQUM7UUFFRyxtQkFBYyxHQUNuQixJQUFJLFlBQVksRUFBZ0MsQ0FBQztLQTZEcEQ7SUFuRkMsSUFDVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBQ0QsSUFBVyxTQUFTLENBQUMsS0FBc0I7UUFDekMsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNiLElBQUksRUFBRSxXQUFXO1lBQ2pCLEtBQUssRUFBRSxLQUFLO1lBQ1osYUFBYSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxF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QU0sQ0FBQyxXQUN4QyxDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsQ0FBQyxpQkFDOUQsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxRQUN6QyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUU7OEJBSXZCLGVBQWU7c0JBRGQsTUFBTTtnQkFLSSxTQUFTO3NCQURuQixLQUFLO2dCQWlCTixXQUFXO3NCQURWLE1BQU07Z0JBU0MsZUFBZTtzQkFEdEIsZUFBZTt1QkFBQyxpQkFBaUIsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBWENsaWNrRXZlbnQsXG4gIEFYSXRlbUNsaWNrRXZlbnQsXG4gIEFYU2VsZWN0aW9uTW9kZSxcbiAgQVhTZWxlY3Rpb25WYWx1ZUNoYW5nZWRFdmVudCxcbiAgTVhDb2xvckxvb2tDb21wb25lbnQsXG4gIE1YSW50ZXJhY3RpdmVDb21wb25lbnQsXG59IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY2xhc3NlcyB9IGZyb20gJ3BvbHl0eXBlJztcbmltcG9ydCB7IEFYQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9idXR0b24uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtYnV0dG9uLWdyb3VwJyxcbiAgdGVtcGxhdGVVcmw6ICdidXR0b24tZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAndGFiSW5kZXgnLCAnY29sb3InLCAnbG9vayddLFxuICBvdXRwdXRzOiBbJ29uQmx1cicsICdvbkZvY3VzJywgJ2xvb2tDaGFuZ2UnLCAnY29sb3JDaGFuZ2UnLCAnZGlzYWJsZWRDaGFuZ2UnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHsgcm9sZTogJ2dyb3VwJyB9LFxufSlcbmV4cG9ydCBjbGFzcyBBWEJ1dHRvbkdyb3VwQ29tcG9uZW50IGV4dGVuZHMgY2xhc3NlcyhNWEludGVyYWN0aXZlQ29tcG9uZW50LCBNWENvbG9yTG9va0NvbXBvbmVudCkge1xuICBAT3V0cHV0KClcbiAgc2VsZWN0aW9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8QVhTZWxlY3Rpb25Nb2RlPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBwcml2YXRlIF9zZWxlY3Rpb246IEFYU2VsZWN0aW9uTW9kZTtcbiAgQElucHV0KClcbiAgcHVibGljIGdldCBzZWxlY3Rpb24oKTogQVhTZWxlY3Rpb25Nb2RlIHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW9uO1xuICB9XG4gIHB1YmxpYyBzZXQgc2VsZWN0aW9uKHZhbHVlOiBBWFNlbGVjdGlvbk1vZGUpIHtcbiAgICB0aGlzLnNldE9wdGlvbih7XG4gICAgICBuYW1lOiAnc2VsZWN0aW9uJyxcbiAgICAgIHZhbHVlOiB2YWx1ZSxcbiAgICAgIGFmdGVyQ2FsbGJhY2s6IChvLCBuKSA9PiB7XG4gICAgICAgIGlmICh2YWx1ZSA9PSAnbm9uZScpIHtcbiAgICAgICAgICB0aGlzLmNsZWFyU2VsZWN0aW9uKCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBAT3V0cHV0KClcbiAgb25JdGVtQ2xpY2s6IEV2ZW50RW1pdHRlcjxBWEl0ZW1DbGlja0V2ZW50PEFYQnV0dG9uQ29tcG9uZW50Pj4gPSBuZXcgRXZlbnRFbWl0dGVyPFxuICAgIEFYSXRlbUNsaWNrRXZlbnQ8QVhCdXR0b25Db21wb25lbnQ+XG4gID4oKTtcblxuICBwdWJsaWMgb25WYWx1ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxBWFNlbGVjdGlvblZhbHVlQ2hhbmdlZEV2ZW50PiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxBWFNlbGVjdGlvblZhbHVlQ2hhbmdlZEV2ZW50PigpO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oQVhCdXR0b25Db21wb25lbnQsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgcHJpdmF0ZSBfY29udGVudEJ1dHRvbnM6IFF1ZXJ5TGlzdDxBWEJ1dHRvbkNvbXBvbmVudD47XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIHRoaXMuX2JpbmRFdmVudHMoKTtcbiAgICB0aGlzLl9iaW5kUHJvcHMoKTtcbiAgICB0aGlzLl9jb250ZW50QnV0dG9ucy5jaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLl9iaW5kRXZlbnRzKCk7XG4gICAgICB0aGlzLl9iaW5kUHJvcHMoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2JpbmRFdmVudHMoKSB7XG4gICAgdGhpcy5fY29udGVudEJ1dHRvbnM/LmZvckVhY2goKGI6IGFueSkgPT4ge1xuICAgICAgaWYgKCFiLm9uQ2xpY2subGVuZ3RoKVxuICAgICAgICBiLm9uQ2xpY2suc3Vic2NyaWJlKChjOiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLl9oYW5kbGVDbGlja0V2ZW50KGMsIGIpO1xuICAgICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2JpbmRQcm9wcygpIHtcbiAgICB0aGlzLl9jb250ZW50QnV0dG9ucz8uZm9yRWFjaCgoYjogYW55KSA9PiB7XG4gICAgICBpZiAoYlsnb3JpZ2luRGlzYWJsZWQnXSA9PSBudWxsKSB7XG4gICAgICAgIGJbJ29yaWdpbkRpc2FibGVkJ10gPSBiLmRpc2FibGVkO1xuICAgICAgfVxuICAgICAgYi5sb29rID0gdGhpcy5sb29rID8/IHRoaXMubG9vaztcbiAgICAgIGIuY29sb3IgPSB0aGlzLmNvbG9yID8/IHRoaXMuY29sb3I7XG4gICAgICBiLmRpc2FibGVkID0gYlsnb3JpZ2luRGlzYWJsZWQnXSB8fCB0aGlzLmRpc2FibGVkO1xuICAgICAgYi50b2dnbGVhYmxlID0gZmFsc2U7XG4gICAgfSk7XG4gIH1cblxuICBvdmVycmlkZSBpbnRlcm5hbE9wdGlvbkNoYW5nZWQoKSB7XG4gICAgdGhpcy5fYmluZFByb3BzKCk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVDbGlja0V2ZW50KGU6IEFYQ2xpY2tFdmVudCwgYnV0dG9uOiBBWEJ1dHRvbkNvbXBvbmVudCkge1xuICAgIGlmICh0aGlzLnNlbGVjdGlvbiA9PSAnbXVsdGlwbGUnKSB7XG4gICAgICBidXR0b24uc2VsZWN0ZWQgPSAhYnV0dG9uLnNlbGVjdGVkO1xuICAgIH0gZWxzZSBpZiAodGhpcy5zZWxlY3Rpb24gPT0gJ3NpbmdsZScpIHtcbiAgICAgIHRoaXMuY2xlYXJTZWxlY3Rpb24oKTtcbiAgICAgIGJ1dHRvbi5zZWxlY3RlZCA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGJ1dHRvbi5zZWxlY3RlZCA9IGZhbHNlO1xuICAgIH1cblxuICAgIHRoaXMub25JdGVtQ2xpY2suZW1pdCh7XG4gICAgICBjb21wb25lbnQ6IHRoaXMsXG4gICAgICBodG1sRWxlbWVudDogZS5odG1sRWxlbWVudCxcbiAgICAgIGl0ZW06IGJ1dHRvbixcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgY2xlYXJTZWxlY3Rpb24oKSB7XG4gICAgdGhpcy5fY29udGVudEJ1dHRvbnMuZm9yRWFjaCgoYzogQVhCdXR0b25Db21wb25lbnQpID0+IHtcbiAgICAgIGMuc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICB9KTtcbiAgfVxufVxuIiwiPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtYnV0dG9uXCI+PC9uZy1jb250ZW50PiJdfQ==