@bravura/ui 5.2.4 → 6.0.0

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 (137) hide show
  1. package/CHANGELOG.md +630 -620
  2. package/README.md +56 -56
  3. package/_index.scss +5 -5
  4. package/fesm2022/bravura-ui-alert-testing.mjs.map +1 -1
  5. package/fesm2022/bravura-ui-alert.mjs +13 -13
  6. package/fesm2022/bravura-ui-alert.mjs.map +1 -1
  7. package/fesm2022/bravura-ui-behavior.mjs +25 -21
  8. package/fesm2022/bravura-ui-behavior.mjs.map +1 -1
  9. package/fesm2022/bravura-ui-clip-note.mjs +15 -14
  10. package/fesm2022/bravura-ui-clip-note.mjs.map +1 -1
  11. package/fesm2022/bravura-ui-common.mjs +5 -5
  12. package/fesm2022/bravura-ui-common.mjs.map +1 -1
  13. package/fesm2022/bravura-ui-currency-input.mjs +10 -9
  14. package/fesm2022/bravura-ui-currency-input.mjs.map +1 -1
  15. package/fesm2022/bravura-ui-decimal-input.mjs +10 -9
  16. package/fesm2022/bravura-ui-decimal-input.mjs.map +1 -1
  17. package/fesm2022/bravura-ui-discrete-input.mjs +9 -9
  18. package/fesm2022/bravura-ui-discrete-input.mjs.map +1 -1
  19. package/fesm2022/bravura-ui-file-upload.mjs +12 -12
  20. package/fesm2022/bravura-ui-file-upload.mjs.map +1 -1
  21. package/fesm2022/bravura-ui-form-field.mjs +14 -13
  22. package/fesm2022/bravura-ui-form-field.mjs.map +1 -1
  23. package/fesm2022/bravura-ui-icon-font.mjs +10 -9
  24. package/fesm2022/bravura-ui-icon-font.mjs.map +1 -1
  25. package/fesm2022/bravura-ui-panel.mjs +18 -17
  26. package/fesm2022/bravura-ui-panel.mjs.map +1 -1
  27. package/fesm2022/bravura-ui-phone-number.mjs +20 -17
  28. package/fesm2022/bravura-ui-phone-number.mjs.map +1 -1
  29. package/fesm2022/bravura-ui-radio-panel-testing.mjs.map +1 -1
  30. package/fesm2022/bravura-ui-radio-panel.mjs +14 -14
  31. package/fesm2022/bravura-ui-radio-panel.mjs.map +1 -1
  32. package/fesm2022/bravura-ui-selection-panel.mjs +14 -13
  33. package/fesm2022/bravura-ui-selection-panel.mjs.map +1 -1
  34. package/fesm2022/bravura-ui-skeletons.mjs +18 -13
  35. package/fesm2022/bravura-ui-skeletons.mjs.map +1 -1
  36. package/fesm2022/bravura-ui-stepper.mjs +22 -20
  37. package/fesm2022/bravura-ui-stepper.mjs.map +1 -1
  38. package/fesm2022/bravura-ui-tooltip.mjs +14 -13
  39. package/fesm2022/bravura-ui-tooltip.mjs.map +1 -1
  40. package/m3-theme.scss +155 -155
  41. package/package.json +12 -52
  42. package/radio-panel/_radio-panel-theme.scss +11 -11
  43. package/selection-panel/_selection-panel-theme.scss +33 -33
  44. package/stepper/_stepper-theme.scss +20 -20
  45. package/theme/_ui-theme-legacy.scss +112 -112
  46. package/theme/_ui-theme.scss +101 -101
  47. package/esm2022/alert/alert-container.component.mjs +0 -207
  48. package/esm2022/alert/alert-message.component.mjs +0 -101
  49. package/esm2022/alert/alert.module.mjs +0 -22
  50. package/esm2022/alert/bravura-ui-alert.mjs +0 -5
  51. package/esm2022/alert/public-api.mjs +0 -2
  52. package/esm2022/alert/testing/bravura-ui-alert-testing.mjs +0 -5
  53. package/esm2022/alert/testing/test-api.mjs +0 -44
  54. package/esm2022/behavior/await.directive.mjs +0 -133
  55. package/esm2022/behavior/behavior.module.mjs +0 -37
  56. package/esm2022/behavior/bravura-ui-behavior.mjs +0 -5
  57. package/esm2022/behavior/observe-content-class.directive.mjs +0 -63
  58. package/esm2022/behavior/public-api.mjs +0 -6
  59. package/esm2022/behavior/sizing-monitor.directive.mjs +0 -31
  60. package/esm2022/behavior/sizing.directive.mjs +0 -256
  61. package/esm2022/bravura-ui.mjs +0 -5
  62. package/esm2022/clip-note/bravura-ui-clip-note.mjs +0 -5
  63. package/esm2022/clip-note/clip-note.component.mjs +0 -216
  64. package/esm2022/clip-note/clip-note.directive.mjs +0 -141
  65. package/esm2022/clip-note/clip-note.module.mjs +0 -32
  66. package/esm2022/clip-note/public-api.mjs +0 -2
  67. package/esm2022/common/bravura-ui-common.mjs +0 -5
  68. package/esm2022/common/common-utils.mjs +0 -34
  69. package/esm2022/common/common.module.mjs +0 -53
  70. package/esm2022/common/public-api.mjs +0 -3
  71. package/esm2022/currency-input/bravura-ui-currency-input.mjs +0 -5
  72. package/esm2022/currency-input/currency-input.directive.mjs +0 -276
  73. package/esm2022/currency-input/currency-input.module.mjs +0 -19
  74. package/esm2022/currency-input/public-api.mjs +0 -2
  75. package/esm2022/decimal-input/bravura-ui-decimal-input.mjs +0 -5
  76. package/esm2022/decimal-input/decimal-input.directive.mjs +0 -122
  77. package/esm2022/decimal-input/decimal-input.module.mjs +0 -19
  78. package/esm2022/decimal-input/public-api.mjs +0 -2
  79. package/esm2022/discrete-input/bravura-ui-discrete-input.mjs +0 -5
  80. package/esm2022/discrete-input/discrete-input.component.mjs +0 -337
  81. package/esm2022/discrete-input/discrete-input.module.mjs +0 -21
  82. package/esm2022/discrete-input/public-api.mjs +0 -3
  83. package/esm2022/file-upload/bravura-ui-file-upload.mjs +0 -5
  84. package/esm2022/file-upload/file-upload.component.mjs +0 -400
  85. package/esm2022/file-upload/file-upload.module.mjs +0 -44
  86. package/esm2022/file-upload/file-upload.service.mjs +0 -29
  87. package/esm2022/file-upload/public-api.mjs +0 -7
  88. package/esm2022/form-field/bravura-ui-form-field.mjs +0 -5
  89. package/esm2022/form-field/form-field.component.mjs +0 -82
  90. package/esm2022/form-field/form-field.module.mjs +0 -33
  91. package/esm2022/form-field/public-api.mjs +0 -3
  92. package/esm2022/icon-font/bravura-ui-icon-font.mjs +0 -5
  93. package/esm2022/icon-font/icon-font.module.mjs +0 -22
  94. package/esm2022/icon-font/icon.directive.mjs +0 -102
  95. package/esm2022/icon-font/public-api.mjs +0 -4
  96. package/esm2022/icon-font/utilities.mjs +0 -51
  97. package/esm2022/panel/bravura-ui-panel.mjs +0 -5
  98. package/esm2022/panel/panel-section.component.mjs +0 -41
  99. package/esm2022/panel/panel.component.mjs +0 -87
  100. package/esm2022/panel/panel.module.mjs +0 -23
  101. package/esm2022/panel/public-api.mjs +0 -2
  102. package/esm2022/panel/tinted.directive.mjs +0 -60
  103. package/esm2022/phone-number/bravura-ui-phone-number.mjs +0 -5
  104. package/esm2022/phone-number/phone-number.directive.mjs +0 -188
  105. package/esm2022/phone-number/phone-number.module.mjs +0 -24
  106. package/esm2022/phone-number/phone-number.pipe.mjs +0 -47
  107. package/esm2022/phone-number/phone-number.validator.mjs +0 -64
  108. package/esm2022/phone-number/public-api.mjs +0 -2
  109. package/esm2022/public-api.mjs +0 -2
  110. package/esm2022/radio-panel/bravura-ui-radio-panel.mjs +0 -5
  111. package/esm2022/radio-panel/public-api.mjs +0 -4
  112. package/esm2022/radio-panel/radio-panel-item.component.mjs +0 -93
  113. package/esm2022/radio-panel/radio-panel.component.mjs +0 -81
  114. package/esm2022/radio-panel/radio-panel.module.mjs +0 -25
  115. package/esm2022/radio-panel/testing/bravura-ui-radio-panel-testing.mjs +0 -5
  116. package/esm2022/radio-panel/testing/test-api.mjs +0 -46
  117. package/esm2022/selection-panel/bravura-ui-selection-panel.mjs +0 -5
  118. package/esm2022/selection-panel/public-api.mjs +0 -4
  119. package/esm2022/selection-panel/selection-panel-item.component.mjs +0 -163
  120. package/esm2022/selection-panel/selection-panel.directive.mjs +0 -119
  121. package/esm2022/selection-panel/selection-panel.module.mjs +0 -23
  122. package/esm2022/skeletons/bravura-ui-skeletons.mjs +0 -5
  123. package/esm2022/skeletons/public-api.mjs +0 -4
  124. package/esm2022/skeletons/skeleton-loader-presets.directive.mjs +0 -83
  125. package/esm2022/skeletons/skeleton-loader.component.mjs +0 -76
  126. package/esm2022/skeletons/skeletons.module.mjs +0 -35
  127. package/esm2022/stepper/bravura-ui-stepper.mjs +0 -5
  128. package/esm2022/stepper/public-api.mjs +0 -4
  129. package/esm2022/stepper/step-label-top.directive.mjs +0 -40
  130. package/esm2022/stepper/stepper-animation.mjs +0 -23
  131. package/esm2022/stepper/stepper.component.mjs +0 -178
  132. package/esm2022/stepper/stepper.module.mjs +0 -53
  133. package/esm2022/tooltip/bravura-ui-tooltip.mjs +0 -5
  134. package/esm2022/tooltip/public-api.mjs +0 -4
  135. package/esm2022/tooltip/tooltip.component.mjs +0 -63
  136. package/esm2022/tooltip/tooltip.directive.mjs +0 -150
  137. package/esm2022/tooltip/tooltip.module.mjs +0 -25
@@ -1,60 +0,0 @@
1
- import { DOCUMENT } from '@angular/common';
2
- import { Directive, Inject, Input } from '@angular/core';
3
- import { generateID } from '@bravura/ui/common';
4
- import * as i0 from "@angular/core";
5
- /**
6
- * A "tinted" element has a shaded background specified by the `ThemePalette`, which
7
- * is compatible with both light and dark themes.
8
- */
9
- export class TintedDirective {
10
- /**
11
- * The base color of the shaded background
12
- * @default 'primary'
13
- */
14
- get color() {
15
- return this._color;
16
- }
17
- set color(c) {
18
- this._color = c;
19
- this.generateStyle();
20
- }
21
- constructor(_doc, elemRef) {
22
- this._doc = _doc;
23
- this._color = 'default';
24
- this._addedStyle = this._doc.createElement('style');
25
- this._attr = 'bui-tinted-' + generateID();
26
- this._element = elemRef.nativeElement;
27
- elemRef.nativeElement.setAttribute(this._attr, '');
28
- }
29
- ngOnInit() {
30
- this._element.style.position = 'relative';
31
- this.generateStyle();
32
- this._element.appendChild(this._addedStyle);
33
- }
34
- ngOnDestroy() {
35
- this._element.removeChild(this._addedStyle);
36
- }
37
- generateStyle() {
38
- this._addedStyle.innerText =
39
- `[${this._attr}]::after { position: absolute; opacity: 0.1; border-radius: inherit; display: block; content: ''; ` +
40
- ` background-color: var(--bui-color-${this.color}); top: 0; left: 0; ` +
41
- ` bottom: 0; right: 0; pointer-events: none; }`;
42
- }
43
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: TintedDirective, deps: [{ token: DOCUMENT }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
44
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.2", type: TintedDirective, selector: "[buiTinted], bui-panel", inputs: { color: ["buiTinted", "color"] }, host: { classAttribute: "bui-host" }, exportAs: ["buiTinted"], ngImport: i0 }); }
45
- }
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: TintedDirective, decorators: [{
47
- type: Directive,
48
- args: [{
49
- selector: '[buiTinted], bui-panel',
50
- host: { class: 'bui-host' },
51
- exportAs: 'buiTinted'
52
- }]
53
- }], ctorParameters: () => [{ type: Document, decorators: [{
54
- type: Inject,
55
- args: [DOCUMENT]
56
- }] }, { type: i0.ElementRef }], propDecorators: { color: [{
57
- type: Input,
58
- args: ['buiTinted']
59
- }] } });
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGludGVkLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3BhbmVsL3RpbnRlZC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQWMsTUFBTSxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFeEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQUVoRDs7O0dBR0c7QUFNSCxNQUFNLE9BQU8sZUFBZTtJQUMzQjs7O09BR0c7SUFDSCxJQUNJLEtBQUs7UUFDUixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDcEIsQ0FBQztJQUNELElBQUksS0FBSyxDQUFDLENBQWU7UUFDeEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDaEIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFRRCxZQUFzQyxJQUFjLEVBQUUsT0FBZ0M7UUFBaEQsU0FBSSxHQUFKLElBQUksQ0FBVTtRQU41QyxXQUFNLEdBQVEsU0FBUyxDQUFDO1FBTy9CLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLEtBQUssR0FBRyxhQUFhLEdBQUcsVUFBVSxFQUFFLENBQUM7UUFDMUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDO1FBQ3RDLE9BQU8sQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELFFBQVE7UUFDUCxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDO1FBQzFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELFdBQVc7UUFDVixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVPLGFBQWE7UUFDcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTO1lBQ3pCLElBQUksSUFBSSxDQUFDLEtBQUssb0dBQW9HO2dCQUNsSCxzQ0FBc0MsSUFBSSxDQUFDLEtBQUssc0JBQXNCO2dCQUN0RSwrQ0FBK0MsQ0FBQztJQUNsRCxDQUFDOzhHQTFDVyxlQUFlLGtCQW9CUCxRQUFRO2tHQXBCaEIsZUFBZTs7MkZBQWYsZUFBZTtrQkFMM0IsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFO29CQUMzQixRQUFRLEVBQUUsV0FBVztpQkFDckI7OzBCQXFCYSxNQUFNOzJCQUFDLFFBQVE7a0VBZHhCLEtBQUs7c0JBRFIsS0FBSzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEluamVjdCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRoZW1lUGFsZXR0ZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5pbXBvcnQgeyBnZW5lcmF0ZUlEIH0gZnJvbSAnQGJyYXZ1cmEvdWkvY29tbW9uJztcclxuXHJcbi8qKlxyXG4gKiBBIFwidGludGVkXCIgZWxlbWVudCBoYXMgYSBzaGFkZWQgYmFja2dyb3VuZCBzcGVjaWZpZWQgYnkgdGhlIGBUaGVtZVBhbGV0dGVgLCB3aGljaFxyXG4gKiBpcyBjb21wYXRpYmxlIHdpdGggYm90aCBsaWdodCBhbmQgZGFyayB0aGVtZXMuXHJcbiAqL1xyXG5ARGlyZWN0aXZlKHtcclxuXHRzZWxlY3RvcjogJ1tidWlUaW50ZWRdLCBidWktcGFuZWwnLFxyXG5cdGhvc3Q6IHsgY2xhc3M6ICdidWktaG9zdCcgfSxcclxuXHRleHBvcnRBczogJ2J1aVRpbnRlZCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFRpbnRlZERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuXHQvKipcclxuXHQgKiAgVGhlIGJhc2UgY29sb3Igb2YgdGhlIHNoYWRlZCBiYWNrZ3JvdW5kXHJcblx0ICogQGRlZmF1bHQgJ3ByaW1hcnknXHJcblx0ICovXHJcblx0QElucHV0KCdidWlUaW50ZWQnKVxyXG5cdGdldCBjb2xvcigpOiBUaGVtZVBhbGV0dGUge1xyXG5cdFx0cmV0dXJuIHRoaXMuX2NvbG9yO1xyXG5cdH1cclxuXHRzZXQgY29sb3IoYzogVGhlbWVQYWxldHRlKSB7XHJcblx0XHR0aGlzLl9jb2xvciA9IGM7XHJcblx0XHR0aGlzLmdlbmVyYXRlU3R5bGUoKTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX2NvbG9yOiBhbnkgPSAnZGVmYXVsdCc7XHJcblxyXG5cdHByaXZhdGUgcmVhZG9ubHkgX2FkZGVkU3R5bGU6IEhUTUxTdHlsZUVsZW1lbnQ7XHJcblx0cHJpdmF0ZSByZWFkb25seSBfYXR0cjogc3RyaW5nO1xyXG5cdHByaXZhdGUgX2VsZW1lbnQ6IEhUTUxFbGVtZW50O1xyXG5cclxuXHRjb25zdHJ1Y3RvcihASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIF9kb2M6IERvY3VtZW50LCBlbGVtUmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pikge1xyXG5cdFx0dGhpcy5fYWRkZWRTdHlsZSA9IHRoaXMuX2RvYy5jcmVhdGVFbGVtZW50KCdzdHlsZScpO1xyXG5cdFx0dGhpcy5fYXR0ciA9ICdidWktdGludGVkLScgKyBnZW5lcmF0ZUlEKCk7XHJcblx0XHR0aGlzLl9lbGVtZW50ID0gZWxlbVJlZi5uYXRpdmVFbGVtZW50O1xyXG5cdFx0ZWxlbVJlZi5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSh0aGlzLl9hdHRyLCAnJyk7XHJcblx0fVxyXG5cclxuXHRuZ09uSW5pdCgpOiB2b2lkIHtcclxuXHRcdHRoaXMuX2VsZW1lbnQuc3R5bGUucG9zaXRpb24gPSAncmVsYXRpdmUnO1xyXG5cdFx0dGhpcy5nZW5lcmF0ZVN0eWxlKCk7XHJcblx0XHR0aGlzLl9lbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX2FkZGVkU3R5bGUpO1xyXG5cdH1cclxuXHJcblx0bmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcblx0XHR0aGlzLl9lbGVtZW50LnJlbW92ZUNoaWxkKHRoaXMuX2FkZGVkU3R5bGUpO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBnZW5lcmF0ZVN0eWxlKCk6IHZvaWQge1xyXG5cdFx0dGhpcy5fYWRkZWRTdHlsZS5pbm5lclRleHQgPVxyXG5cdFx0XHRgWyR7dGhpcy5fYXR0cn1dOjphZnRlciB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgb3BhY2l0eTogMC4xOyBib3JkZXItcmFkaXVzOiBpbmhlcml0OyBkaXNwbGF5OiBibG9jazsgY29udGVudDogJyc7IGAgK1xyXG5cdFx0XHRgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1aS1jb2xvci0ke3RoaXMuY29sb3J9KTsgdG9wOiAwOyBsZWZ0OiAwOyBgICtcclxuXHRcdFx0YCBib3R0b206IDA7IHJpZ2h0OiAwOyBwb2ludGVyLWV2ZW50czogbm9uZTsgfWA7XHJcblx0fVxyXG59XHJcbiJdfQ==
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJhdnVyYS11aS1waG9uZS1udW1iZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9waG9uZS1udW1iZXIvYnJhdnVyYS11aS1waG9uZS1udW1iZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -1,188 +0,0 @@
1
- import { Directive, EventEmitter, HostListener, Inject, Input, LOCALE_ID, Optional, Output } from '@angular/core';
2
- import intlTelInput from 'intl-tel-input';
3
- import { of } from 'rxjs';
4
- import { debounceTime, take } from 'rxjs/operators';
5
- import { getCountryCodeFromLocale } from './phone-number.pipe';
6
- import { PhoneNumberValidator, SELECTOR } from './phone-number.validator';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/forms";
9
- import * as i2 from "@angular/material/form-field";
10
- /**
11
- * Add phone number validation support by specifying the `type` attribute as `tel` in an `<input>` element.
12
- *
13
- * To use this feature, please install a peer dependency `intl-tel-input` in your project and add the following
14
- * to your application polyfills:
15
- *
16
- * ```javascript
17
- * import 'intl-tel-input/build/js/utils.js';
18
- * ```
19
- *
20
- * You will also need to add the following statements to one of your global SCSS files:
21
- *
22
- * ```scss
23
- * $flagsImagePath: '~intl-tel-input/build/img/' !default;
24
- * @import '~intl-tel-input/src/css/intlTelInput';
25
- * ```
26
- */
27
- export class PhoneNumberDirective {
28
- /**
29
- * @ignore
30
- */
31
- static { this.POST_RENDER_INIT_DELAY = 20; }
32
- /**
33
- * @ignore
34
- */
35
- static { this.BYPASS_SHADOW_DETECTION = false; }
36
- constructor(_el, _ngModel, _formControlName, _formControlDirective, _locale, _zone, _matField) {
37
- this._el = _el;
38
- this._ngModel = _ngModel;
39
- this._formControlName = _formControlName;
40
- this._formControlDirective = _formControlDirective;
41
- this._locale = _locale;
42
- this._zone = _zone;
43
- this._matField = _matField;
44
- /**
45
- * The type of phone number to validate for
46
- */
47
- this.telType = 'FIXED_LINE';
48
- /**
49
- * Disable country dropdown by setting this property to `false`.
50
- */
51
- this.telDropdown = true;
52
- /**
53
- * This event is triggered when a new country is selected from the dropdown. The event detail is the ISO country code.
54
- */
55
- this.telCountryChange = new EventEmitter();
56
- this._reactive = false;
57
- this._countryChangeListener = () => null;
58
- }
59
- /** @internal */
60
- onInput() {
61
- const err = PhoneNumberValidator.validateControl(this._input, this.telType, true);
62
- this._control.patchValue(this._input.value, { emitEvent: false });
63
- if (this._reactive && err) {
64
- this._control.setErrors({ ...this._control.errors, ...err });
65
- }
66
- }
67
- ngOnInit() {
68
- const ctrDirective = this._ngModel || this._formControlName || this._formControlDirective;
69
- this._control = ctrDirective.control;
70
- this._reactive = this._ngModel ? false : true;
71
- this._input = this._el.nativeElement;
72
- this._countryChangeListener = (() => {
73
- this._zone.run(() => {
74
- this._control.markAsDirty();
75
- this._control.updateValueAndValidity({ emitEvent: true });
76
- this.telCountryChange.emit(this._iti.getSelectedCountryData().iso2);
77
- });
78
- }).bind(this);
79
- (PhoneNumberDirective.BYPASS_SHADOW_DETECTION ? of(0) : this._zone.onStable)
80
- .pipe(debounceTime(10), take(1))
81
- .subscribe(() => this.initElement());
82
- }
83
- ngOnDestroy() {
84
- this._input.removeEventListener('countrychange', this._countryChangeListener);
85
- this._iti?.destroy();
86
- }
87
- ngOnChanges(changes) {
88
- const td = changes.telDropdown;
89
- if (td && !td.firstChange) {
90
- this.ngOnDestroy();
91
- this.ngOnInit();
92
- }
93
- const type = changes.telType;
94
- if (type && !type.firstChange) {
95
- this.onInput();
96
- }
97
- }
98
- initElement() {
99
- const countryCode = getCountryCodeFromLocale(this._locale).toLowerCase();
100
- const root = this._input.getRootNode();
101
- if (!root.querySelector('#bui-tel-input-style')) {
102
- const styleTag = document.createElement('style');
103
- styleTag.id = 'bui-tel-input-style';
104
- styleTag.innerText =
105
- '.mat-mdc-form-field .bui-tel-input-placeholder:not(.mdc-floating-label--float-above){margin-left:44px;}' +
106
- '.iti--allow-dropdown{margin-left:-8px}' +
107
- '.bui-tel-input-with-value:disabled{cursor:pointer;}';
108
- (root instanceof Document ? root.querySelector('head') : root).appendChild(styleTag);
109
- }
110
- this._iti = intlTelInput(this._input, {
111
- initialCountry: countryCode,
112
- placeholderNumberType: this.telType,
113
- preferredCountries: [countryCode, ...['au', 'ca', 'nz', 'us', 'gb'].filter(c => c !== countryCode)],
114
- dropdownContainer: root instanceof ShadowRoot ? root.querySelector('overlay-root') || root : root.body,
115
- autoPlaceholder: 'off',
116
- allowDropdown: this.telDropdown
117
- });
118
- this._input.$$iti = this._iti;
119
- this._input.addEventListener('countrychange', this._countryChangeListener);
120
- const frameTime = Date.now();
121
- const postRenderWork = () => {
122
- if (frameTime + PhoneNumberDirective.POST_RENDER_INIT_DELAY > Date.now()) {
123
- window.requestAnimationFrame(postRenderWork);
124
- return;
125
- }
126
- let label;
127
- if (this._matField?.getLabelId() && typeof root.getElementById === 'function') {
128
- label = root.getElementById(this._matField.getLabelId());
129
- label?.classList.remove('bui-tel-input-placeholder');
130
- }
131
- if (label && this.telDropdown) {
132
- label.classList.add('bui-tel-input-placeholder');
133
- }
134
- if (this._input?.value) {
135
- this._input.classList.add('bui-tel-input-with-value');
136
- }
137
- };
138
- window.requestAnimationFrame(postRenderWork);
139
- this._input.addEventListener('click', () => {
140
- if (this._control?.disabled && this._control.value) {
141
- window.location.href = 'tel://' + this._control.value;
142
- }
143
- });
144
- this._control?.registerOnDisabledChange(isDisabled => this._patchValueByState(isDisabled));
145
- this._patchValueByState(this._control.disabled);
146
- }
147
- _patchValueByState(isDisabled) {
148
- setTimeout(() => {
149
- if (!isDisabled) {
150
- this.onInput();
151
- }
152
- else {
153
- const v = this._iti.getNumber(intlTelInputUtils.numberFormat.NATIONAL);
154
- this._input.value = v;
155
- this._control?.patchValue(this._input?.value, { emitEvent: false });
156
- }
157
- }, 20);
158
- }
159
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: PhoneNumberDirective, deps: [{ token: i0.ElementRef }, { token: i1.NgModel, optional: true }, { token: i1.FormControlName, optional: true }, { token: i1.FormControlDirective, optional: true }, { token: LOCALE_ID }, { token: i0.NgZone }, { token: i2.MatFormField, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
160
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.2", type: PhoneNumberDirective, selector: "[buiTelInput], input([type=tel])[ngModel], input([type=tel])[formControlName], input([type=tel])[formControl]", inputs: { telType: "telType", telDropdown: "telDropdown" }, outputs: { telCountryChange: "telCountryChange" }, host: { listeners: { "input": "onInput()" } }, usesOnChanges: true, ngImport: i0 }); }
161
- }
162
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: PhoneNumberDirective, decorators: [{
163
- type: Directive,
164
- args: [{
165
- selector: SELECTOR
166
- }]
167
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.NgModel, decorators: [{
168
- type: Optional
169
- }] }, { type: i1.FormControlName, decorators: [{
170
- type: Optional
171
- }] }, { type: i1.FormControlDirective, decorators: [{
172
- type: Optional
173
- }] }, { type: undefined, decorators: [{
174
- type: Inject,
175
- args: [LOCALE_ID]
176
- }] }, { type: i0.NgZone }, { type: i2.MatFormField, decorators: [{
177
- type: Optional
178
- }] }], propDecorators: { telType: [{
179
- type: Input
180
- }], telDropdown: [{
181
- type: Input
182
- }], telCountryChange: [{
183
- type: Output
184
- }], onInput: [{
185
- type: HostListener,
186
- args: ['input']
187
- }] } });
188
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtbnVtYmVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3Bob25lLW51bWJlci9waG9uZS1udW1iZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTixTQUFTLEVBRVQsWUFBWSxFQUNaLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFNBQVMsRUFLVCxRQUFRLEVBQ1IsTUFBTSxFQUVOLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sWUFBWSxNQUFNLGdCQUFnQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUIsT0FBTyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVwRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsUUFBUSxFQUFZLE1BQU0sMEJBQTBCLENBQUM7Ozs7QUFPcEY7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUFJSCxNQUFNLE9BQU8sb0JBQW9CO0lBQ2hDOztPQUVHO2FBQ0ksMkJBQXNCLEdBQUcsRUFBRSxBQUFMLENBQU07SUFFbkM7O09BRUc7YUFDSSw0QkFBdUIsR0FBRyxLQUFLLEFBQVIsQ0FBUztJQTBCdkMsWUFDUyxHQUFpQyxFQUNyQixRQUFpQixFQUNqQixnQkFBaUMsRUFDakMscUJBQTJDLEVBQ3BDLE9BQWUsRUFDbEMsS0FBYSxFQUNELFNBQXVCO1FBTm5DLFFBQUcsR0FBSCxHQUFHLENBQThCO1FBQ3JCLGFBQVEsR0FBUixRQUFRLENBQVM7UUFDakIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQjtRQUNqQywwQkFBcUIsR0FBckIscUJBQXFCLENBQXNCO1FBQ3BDLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDbEMsVUFBSyxHQUFMLEtBQUssQ0FBUTtR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LENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ3JFLENBQUM7UUFDRixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDUixDQUFDOzhHQTdKVyxvQkFBb0Isc0xBd0N2QixTQUFTO2tHQXhDTixvQkFBb0I7OzJGQUFwQixvQkFBb0I7a0JBSGhDLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLFFBQVE7aUJBQ2xCOzswQkFzQ0UsUUFBUTs7MEJBQ1IsUUFBUTs7MEJBQ1IsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyxTQUFTOzswQkFFaEIsUUFBUTt5Q0EzQlYsT0FBTztzQkFETixLQUFLO2dCQU9OLFdBQVc7c0JBRFYsS0FBSztnQkFPTixnQkFBZ0I7c0JBRGYsTUFBTTtnQkFxQlAsT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG5cdERpcmVjdGl2ZSxcclxuXHRFbGVtZW50UmVmLFxyXG5cdEV2ZW50RW1pdHRlcixcclxuXHRIb3N0TGlzdGVuZXIsXHJcblx0SW5qZWN0LFxyXG5cdElucHV0LFxyXG5cdExPQ0FMRV9JRCxcclxuXHROZ1pvbmUsXHJcblx0T25DaGFuZ2VzLFxyXG5cdE9uRGVzdHJveSxcclxuXHRPbkluaXQsXHJcblx0T3B0aW9uYWwsXHJcblx0T3V0cHV0LFxyXG5cdFNpbXBsZUNoYW5nZXNcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVW50eXBlZEZvcm1Db250cm9sLCBGb3JtQ29udHJvbERpcmVjdGl2ZSwgRm9ybUNvbnRyb2xOYW1lLCBOZ01vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IGludGxUZWxJbnB1dCBmcm9tICdpbnRsLXRlbC1pbnB1dCc7XHJcbmltcG9ydCB7IG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IGdldENvdW50cnlDb2RlRnJvbUxvY2FsZSB9IGZyb20gJy4vcGhvbmUtbnVtYmVyLnBpcGUnO1xyXG5pbXBvcnQgeyBQaG9uZU51bWJlclZhbGlkYXRvciwgU0VMRUNUT1IsIFRFTF9UWVBFIH0gZnJvbSAnLi9waG9uZS1udW1iZXIudmFsaWRhdG9yJztcclxuXHJcbi8qKlxyXG4gKiBAaWdub3JlXHJcbiAqL1xyXG5kZWNsYXJlIGNvbnN0IGludGxUZWxJbnB1dFV0aWxzOiBhbnk7XHJcblxyXG4vKipcclxuICogQWRkIHBob25lIG51bWJlciB2YWxpZGF0aW9uIHN1cHBvcnQgYnkgc3BlY2lmeWluZyB0aGUgYHR5cGVgIGF0dHJpYnV0ZSBhcyBgdGVsYCBpbiBhbiBgPGlucHV0PmAgZWxlbWVudC5cclxuICpcclxuICogVG8gdXNlIHRoaXMgZmVhdHVyZSwgcGxlYXNlIGluc3RhbGwgYSBwZWVyIGRlcGVuZGVuY3kgYGludGwtdGVsLWlucHV0YCBpbiB5b3VyIHByb2plY3QgYW5kIGFkZCB0aGUgZm9sbG93aW5nXHJcbiAqIHRvIHlvdXIgYXBwbGljYXRpb24gcG9seWZpbGxzOlxyXG4gKlxyXG4gKiBgYGBqYXZhc2NyaXB0XHJcbiAqIGltcG9ydCAnaW50bC10ZWwtaW5wdXQvYnVpbGQvanMvdXRpbHMuanMnO1xyXG4gKiBgYGBcclxuICpcclxuICogWW91IHdpbGwgYWxzbyBuZWVkIHRvIGFkZCB0aGUgZm9sbG93aW5nIHN0YXRlbWVudHMgdG8gb25lIG9mIHlvdXIgZ2xvYmFsIFNDU1MgZmlsZXM6XHJcbiAqXHJcbiAqIGBgYHNjc3NcclxuICogJGZsYWdzSW1hZ2VQYXRoOiAnfmludGwtdGVsLWlucHV0L2J1aWxkL2ltZy8nICFkZWZhdWx0O1xyXG4gKiBAaW1wb3J0ICd+aW50bC10ZWwtaW5wdXQvc3JjL2Nzcy9pbnRsVGVsSW5wdXQnO1xyXG4gKiBgYGBcclxuICovXHJcbkBEaXJlY3RpdmUoe1xyXG5cdHNlbGVjdG9yOiBTRUxFQ1RPUlxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGhvbmVOdW1iZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuXHQvKipcclxuXHQgKiBAaWdub3JlXHJcblx0ICovXHJcblx0c3RhdGljIFBPU1RfUkVOREVSX0lOSVRfREVMQVkgPSAyMDtcclxuXHJcblx0LyoqXHJcblx0ICogQGlnbm9yZVxyXG5cdCAqL1xyXG5cdHN0YXRpYyBCWVBBU1NfU0hBRE9XX0RFVEVDVElPTiA9IGZhbHNlO1xyXG5cclxuXHQvKipcclxuXHQgKiBUaGUgdHlwZSBvZiBwaG9uZSBudW1iZXIgdG8gdmFsaWRhdGUgZm9yXHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHR0ZWxUeXBlOiBURUxfVFlQRSA9ICdGSVhFRF9MSU5FJztcclxuXHJcblx0LyoqXHJcblx0ICogRGlzYWJsZSBjb3VudHJ5IGRyb3Bkb3duIGJ5IHNldHRpbmcgdGhpcyBwcm9wZXJ0eSB0byBgZmFsc2VgLlxyXG5cdCAqL1xyXG5cdEBJbnB1dCgpXHJcblx0dGVsRHJvcGRvd24gPSB0cnVlO1xyXG5cclxuXHQvKipcclxuXHQgKiBUaGlzIGV2ZW50IGlzIHRyaWdnZXJlZCB3aGVuIGEgbmV3IGNvdW50cnkgaXMgc2VsZWN0ZWQgZnJvbSB0aGUgZHJvcGRvd24uIFRoZSBldmVudCBkZXRhaWwgaXMgdGhlIElTTyBjb3VudHJ5IGNvZGUuXHJcblx0ICovXHJcblx0QE91dHB1dCgpXHJcblx0dGVsQ291bnRyeUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuXHRwcml2YXRlIF9jb250cm9sOiBVbnR5cGVkRm9ybUNvbnRyb2wgfCB1bmRlZmluZWQ7XHJcblx0cHJpdmF0ZSBfcmVhY3RpdmUgPSBmYWxzZTtcclxuXHRwcml2YXRlIF9jb3VudHJ5Q2hhbmdlTGlzdGVuZXI6ICgpID0+IHZvaWQgPSAoKSA9PiBudWxsO1xyXG5cdHByaXZhdGUgX2lucHV0OiBIVE1MSW5wdXRFbGVtZW50IHwgdW5kZWZpbmVkO1xyXG5cdHByaXZhdGUgX2l0aTogYW55O1xyXG5cclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdHByaXZhdGUgX2VsOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+LFxyXG5cdFx0QE9wdGlvbmFsKCkgcHJpdmF0ZSBfbmdNb2RlbDogTmdNb2RlbCxcclxuXHRcdEBPcHRpb25hbCgpIHByaXZhdGUgX2Zvcm1Db250cm9sTmFtZTogRm9ybUNvbnRyb2xOYW1lLFxyXG5cdFx0QE9wdGlvbmFsKCkgcHJpdmF0ZSBfZm9ybUNvbnRyb2xEaXJlY3RpdmU6IEZvcm1Db250cm9sRGlyZWN0aXZlLFxyXG5cdFx0QEluamVjdChMT0NBTEVfSUQpIHByaXZhdGUgX2xvY2FsZTogc3RyaW5nLFxyXG5cdFx0cHJpdmF0ZSBfem9uZTogTmdab25lLFxyXG5cdFx0QE9wdGlvbmFsKCkgcHJpdmF0ZSBfbWF0RmllbGQ6IE1hdEZvcm1GaWVsZFxyXG5cdCkge31cclxuXHJcblx0LyoqIEBpbnRlcm5hbCAqL1xyXG5cdEBIb3N0TGlzdGVuZXIoJ2lucHV0JylcclxuXHRvbklucHV0KCkge1xyXG5cdFx0Y29uc3QgZXJyID0gUGhvbmVOdW1iZXJWYWxpZGF0b3IudmFsaWRhdGVDb250cm9sKHRoaXMuX2lucHV0ISwgdGhpcy50ZWxUeXBlLCB0cnVlKTtcclxuXHRcdHRoaXMuX2NvbnRyb2whLnBhdGNoVmFsdWUodGhpcy5faW5wdXQhLnZhbHVlLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcblxyXG5cdFx0aWYgKHRoaXMuX3JlYWN0aXZlICYmIGVycikge1xyXG5cdFx0XHR0aGlzLl9jb250cm9sIS5zZXRFcnJvcnMoeyAuLi50aGlzLl9jb250cm9sIS5lcnJvcnMsIC4uLmVyciB9KTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdG5nT25Jbml0KCkge1xyXG5cdFx0Y29uc3QgY3RyRGlyZWN0aXZlID0gdGhpcy5fbmdNb2RlbCB8fCB0aGlzLl9mb3JtQ29udHJvbE5hbWUgfHwgdGhpcy5fZm9ybUNvbnRyb2xEaXJlY3RpdmU7XHJcblx0XHR0aGlzLl9jb250cm9sID0gY3RyRGlyZWN0aXZlLmNvbnRyb2wgYXMgVW50eXBlZEZvcm1Db250cm9sO1xyXG5cdFx0dGhpcy5fcmVhY3RpdmUgPSB0aGlzLl9uZ01vZGVsID8gZmFsc2UgOiB0cnVlO1xyXG5cdFx0dGhpcy5faW5wdXQgPSB0aGlzLl9lbC5uYXRpdmVFbGVtZW50O1xyXG5cclxuXHRcdHRoaXMuX2NvdW50cnlDaGFuZ2VMaXN0ZW5lciA9ICgoKSA9PiB7XHJcblx0XHRcdHRoaXMuX3pvbmUucnVuKCgpID0+IHtcclxuXHRcdFx0XHR0aGlzLl9jb250cm9sIS5tYXJrQXNEaXJ0eSgpO1xyXG5cdFx0XHRcdHRoaXMuX2NvbnRyb2whLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoeyBlbWl0RXZlbnQ6IHRydWUgfSk7XHJcblx0XHRcdFx0dGhpcy50ZWxDb3VudHJ5Q2hhbmdlLmVtaXQodGhpcy5faXRpLmdldFNlbGVjdGVkQ291bnRyeURhdGEoKS5pc28yKTtcclxuXHRcdFx0fSk7XHJcblx0XHR9KS5iaW5kKHRoaXMpO1xyXG5cclxuXHRcdChQaG9uZU51bWJlckRpcmVjdGl2ZS5CWVBBU1NfU0hBRE9XX0RFVEVDVElPTiA/IG9mKDAgYXMgYW55KSA6IHRoaXMuX3pvbmUub25TdGFibGUpXHJcblx0XHRcdC5waXBlKGRlYm91bmNlVGltZSgxMCksIHRha2UoMSkpXHJcblx0XHRcdC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5pbml0RWxlbWVudCgpKTtcclxuXHR9XHJcblxyXG5cdG5nT25EZXN0cm95KCkge1xyXG5cdFx0dGhpcy5faW5wdXQhLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NvdW50cnljaGFuZ2UnLCB0aGlzLl9jb3VudHJ5Q2hhbmdlTGlzdGVuZXIpO1xyXG5cdFx0dGhpcy5faXRpPy5kZXN0cm95KCk7XHJcblx0fVxyXG5cclxuXHRuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcblx0XHRjb25zdCB0ZCA9IGNoYW5nZXMudGVsRHJvcGRvd247XHJcblx0XHRpZiAodGQgJiYgIXRkLmZpcnN0Q2hhbmdlKSB7XHJcblx0XHRcdHRoaXMubmdPbkRlc3Ryb3koKTtcclxuXHRcdFx0dGhpcy5uZ09uSW5pdCgpO1xyXG5cdFx0fVxyXG5cdFx0Y29uc3QgdHlwZSA9IGNoYW5nZXMudGVsVHlwZTtcclxuXHRcdGlmICh0eXBlICYmICF0eXBlLmZpcnN0Q2hhbmdlKSB7XHJcblx0XHRcdHRoaXMub25JbnB1dCgpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBpbml0RWxlbWVudCgpIHtcclxuXHRcdGNvbnN0IGNvdW50cnlDb2RlID0gZ2V0Q291bnRyeUNvZGVGcm9tTG9jYWxlKHRoaXMuX2xvY2FsZSkudG9Mb3dlckNhc2UoKTtcclxuXHJcblx0XHRjb25zdCByb290OiBTaGFkb3dSb290IHwgRG9jdW1lbnQgPSB0aGlzLl9pbnB1dCEuZ2V0Um9vdE5vZGUoKSBhcyBTaGFkb3dSb290IHwgRG9jdW1lbnQ7XHJcblx0XHRpZiAoIXJvb3QucXVlcnlTZWxlY3RvcignI2J1aS10ZWwtaW5wdXQtc3R5bGUnKSkge1xyXG5cdFx0XHRjb25zdCBzdHlsZVRhZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7XHJcblx0XHRcdHN0eWxlVGFnLmlkID0gJ2J1aS10ZWwtaW5wdXQtc3R5bGUnO1xyXG5cdFx0XHRzdHlsZVRhZy5pbm5lclRleHQgPVxyXG5cdFx0XHRcdCcubWF0LW1kYy1mb3JtLWZpZWxkIC5idWktdGVsLWlucHV0LXBsYWNlaG9sZGVyOm5vdCgubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSl7bWFyZ2luLWxlZnQ6NDRweDt9JyArXHJcblx0XHRcdFx0Jy5pdGktLWFsbG93LWRyb3Bkb3due21hcmdpbi1sZWZ0Oi04cHh9JyArXHJcblx0XHRcdFx0Jy5idWktdGVsLWlucHV0LXdpdGgtdmFsdWU6ZGlzYWJsZWR7Y3Vyc29yOnBvaW50ZXI7fSc7XHJcblx0XHRcdChyb290IGluc3RhbmNlb2YgRG9jdW1lbnQgPyAocm9vdC5xdWVyeVNlbGVjdG9yKCdoZWFkJykgYXMgYW55KSA6IHJvb3QpLmFwcGVuZENoaWxkKHN0eWxlVGFnKTtcclxuXHRcdH1cclxuXHRcdHRoaXMuX2l0aSA9IGludGxUZWxJbnB1dCh0aGlzLl9pbnB1dCEsIHtcclxuXHRcdFx0aW5pdGlhbENvdW50cnk6IGNvdW50cnlDb2RlLFxyXG5cdFx0XHRwbGFjZWhvbGRlck51bWJlclR5cGU6IHRoaXMudGVsVHlwZSxcclxuXHRcdFx0cHJlZmVycmVkQ291bnRyaWVzOiBbY291bnRyeUNvZGUsIC4uLlsnYXUnLCAnY2EnLCAnbnonLCAndXMnLCAnZ2InXS5maWx0ZXIoYyA9PiBjICE9PSBjb3VudHJ5Q29kZSldLFxyXG5cdFx0XHRkcm9wZG93bkNvbnRhaW5lcjogcm9vdCBpbnN0YW5jZW9mIFNoYWRvd1Jvb3QgPyByb290LnF1ZXJ5U2VsZWN0b3IoJ292ZXJsYXktcm9vdCcpIHx8IHJvb3QgOiAocm9vdC5ib2R5IGFzIGFueSksXHJcblx0XHRcdGF1dG9QbGFjZWhvbGRlcjogJ29mZicsXHJcblx0XHRcdGFsbG93RHJvcGRvd246IHRoaXMudGVsRHJvcGRvd25cclxuXHRcdH0pO1xyXG5cclxuXHRcdCh0aGlzLl9pbnB1dCBhcyBhbnkpLiQkaXRpID0gdGhpcy5faXRpO1xyXG5cdFx0dGhpcy5faW5wdXQhLmFkZEV2ZW50TGlzdGVuZXIoJ2NvdW50cnljaGFuZ2UnLCB0aGlzLl9jb3VudHJ5Q2hhbmdlTGlzdGVuZXIpO1xyXG5cdFx0Y29uc3QgZnJhbWVUaW1lID0gRGF0ZS5ub3coKTtcclxuXHRcdGNvbnN0IHBvc3RSZW5kZXJXb3JrID0gKCkgPT4ge1xyXG5cdFx0XHRpZiAoZnJhbWVUaW1lICsgUGhvbmVOdW1iZXJEaXJlY3RpdmUuUE9TVF9SRU5ERVJfSU5JVF9ERUxBWSA+IERhdGUubm93KCkpIHtcclxuXHRcdFx0XHR3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKHBvc3RSZW5kZXJXb3JrKTtcclxuXHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdH1cclxuXHRcdFx0bGV0IGxhYmVsOiBIVE1MTGFiZWxFbGVtZW50IHwgdW5kZWZpbmVkO1xyXG5cdFx0XHRpZiAodGhpcy5fbWF0RmllbGQ/LmdldExhYmVsSWQoKSAmJiB0eXBlb2Ygcm9vdC5nZXRFbGVtZW50QnlJZCA9PT0gJ2Z1bmN0aW9uJykge1xyXG5cdFx0XHRcdGxhYmVsID0gcm9vdC5nZXRFbGVtZW50QnlJZCh0aGlzLl9tYXRGaWVsZC5nZXRMYWJlbElkKCkhKSBhcyBIVE1MTGFiZWxFbGVtZW50O1xyXG5cdFx0XHRcdGxhYmVsPy5jbGFzc0xpc3QucmVtb3ZlKCdidWktdGVsLWlucHV0LXBsYWNlaG9sZGVyJyk7XHJcblx0XHRcdH1cclxuXHRcdFx0aWYgKGxhYmVsICYmIHRoaXMudGVsRHJvcGRvd24pIHtcclxuXHRcdFx0XHRsYWJlbC5jbGFzc0xpc3QuYWRkKCdidWktdGVsLWlucHV0LXBsYWNlaG9sZGVyJyk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGlmICh0aGlzLl9pbnB1dD8udmFsdWUpIHtcclxuXHRcdFx0XHR0aGlzLl9pbnB1dC5jbGFzc0xpc3QuYWRkKCdidWktdGVsLWlucHV0LXdpdGgtdmFsdWUnKTtcclxuXHRcdFx0fVxyXG5cdFx0fTtcclxuXHRcdHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUocG9zdFJlbmRlcldvcmspO1xyXG5cclxuXHRcdHRoaXMuX2lucHV0IS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcclxuXHRcdFx0aWYgKHRoaXMuX2NvbnRyb2w/LmRpc2FibGVkICYmIHRoaXMuX2NvbnRyb2wudmFsdWUpIHtcclxuXHRcdFx0XHR3aW5kb3cubG9jYXRpb24uaHJlZiA9ICd0ZWw6Ly8nICsgdGhpcy5fY29udHJvbC52YWx1ZTtcclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblxyXG5cdFx0dGhpcy5fY29udHJvbD8ucmVnaXN0ZXJPbkRpc2FibGVkQ2hhbmdlKGlzRGlzYWJsZWQgPT4gdGhpcy5fcGF0Y2hWYWx1ZUJ5U3RhdGUoaXNEaXNhYmxlZCkpO1xyXG5cdFx0dGhpcy5fcGF0Y2hWYWx1ZUJ5U3RhdGUodGhpcy5fY29udHJvbCEuZGlzYWJsZWQpO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBfcGF0Y2hWYWx1ZUJ5U3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbikge1xyXG5cdFx0c2V0VGltZW91dCgoKSA9PiB7XHJcblx0XHRcdGlmICghaXNEaXNhYmxlZCkge1xyXG5cdFx0XHRcdHRoaXMub25JbnB1dCgpO1xyXG5cdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdGNvbnN0IHYgPSB0aGlzLl9pdGkuZ2V0TnVtYmVyKGludGxUZWxJbnB1dFV0aWxzLm51bWJlckZvcm1hdC5OQVRJT05BTCk7XHJcblx0XHRcdFx0dGhpcy5faW5wdXQhLnZhbHVlID0gdjtcclxuXHRcdFx0XHR0aGlzLl9jb250cm9sPy5wYXRjaFZhbHVlKHRoaXMuX2lucHV0Py52YWx1ZSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG5cdFx0XHR9XHJcblx0XHR9LCAyMCk7XHJcblx0fVxyXG59XHJcbiJdfQ==
@@ -1,24 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { NgModule } from '@angular/core';
3
- import { PhoneNumberDirective } from './phone-number.directive';
4
- import { PhoneNumberPipe } from './phone-number.pipe';
5
- import { PhoneNumberValidator } from './phone-number.validator';
6
- import * as i0 from "@angular/core";
7
- /**
8
- * @internal
9
- */
10
- export class PhoneModule {
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: PhoneModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
12
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: PhoneModule, declarations: [PhoneNumberPipe, PhoneNumberDirective, PhoneNumberValidator], imports: [CommonModule], exports: [PhoneNumberDirective, PhoneNumberPipe, PhoneNumberValidator] }); }
13
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: PhoneModule, imports: [CommonModule] }); }
14
- }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: PhoneModule, decorators: [{
16
- type: NgModule,
17
- args: [{
18
- declarations: [PhoneNumberPipe, PhoneNumberDirective, PhoneNumberValidator],
19
- imports: [CommonModule],
20
- exports: [PhoneNumberDirective, PhoneNumberPipe, PhoneNumberValidator]
21
- }]
22
- }] });
23
- export { PhoneNumberDirective, PhoneNumberPipe, PhoneNumberValidator };
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtbnVtYmVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3Bob25lLW51bWJlci9waG9uZS1udW1iZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFFaEU7O0dBRUc7QUFNSCxNQUFNLE9BQU8sV0FBVzs4R0FBWCxXQUFXOytHQUFYLFdBQVcsaUJBSlIsZUFBZSxFQUFFLG9CQUFvQixFQUFFLG9CQUFvQixhQUNoRSxZQUFZLGFBQ1osb0JBQW9CLEVBQUUsZUFBZSxFQUFFLG9CQUFvQjsrR0FFekQsV0FBVyxZQUhiLFlBQVk7OzJGQUdWLFdBQVc7a0JBTHZCLFFBQVE7bUJBQUM7b0JBQ1QsWUFBWSxFQUFFLENBQUMsZUFBZSxFQUFFLG9CQUFvQixFQUFFLG9CQUFvQixDQUFDO29CQUMzRSxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLE9BQU8sRUFBRSxDQUFDLG9CQUFvQixFQUFFLGVBQWUsRUFBRSxvQkFBb0IsQ0FBQztpQkFDdEU7O0FBR0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGVBQWUsRUFBRSxvQkFBb0IsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IFBob25lTnVtYmVyRGlyZWN0aXZlIH0gZnJvbSAnLi9waG9uZS1udW1iZXIuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgUGhvbmVOdW1iZXJQaXBlIH0gZnJvbSAnLi9waG9uZS1udW1iZXIucGlwZSc7XHJcbmltcG9ydCB7IFBob25lTnVtYmVyVmFsaWRhdG9yIH0gZnJvbSAnLi9waG9uZS1udW1iZXIudmFsaWRhdG9yJztcclxuXHJcbi8qKlxyXG4gKiBAaW50ZXJuYWxcclxuICovXHJcbkBOZ01vZHVsZSh7XHJcblx0ZGVjbGFyYXRpb25zOiBbUGhvbmVOdW1iZXJQaXBlLCBQaG9uZU51bWJlckRpcmVjdGl2ZSwgUGhvbmVOdW1iZXJWYWxpZGF0b3JdLFxyXG5cdGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxyXG5cdGV4cG9ydHM6IFtQaG9uZU51bWJlckRpcmVjdGl2ZSwgUGhvbmVOdW1iZXJQaXBlLCBQaG9uZU51bWJlclZhbGlkYXRvcl1cclxufSlcclxuZXhwb3J0IGNsYXNzIFBob25lTW9kdWxlIHt9XHJcblxyXG5leHBvcnQgeyBQaG9uZU51bWJlckRpcmVjdGl2ZSwgUGhvbmVOdW1iZXJQaXBlLCBQaG9uZU51bWJlclZhbGlkYXRvciB9O1xyXG4iXX0=
@@ -1,47 +0,0 @@
1
- import { Inject, LOCALE_ID, Pipe } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- /**
4
- * @internal
5
- */
6
- export class PhoneNumberPipe {
7
- constructor(_locale) {
8
- this._locale = _locale;
9
- }
10
- transform(value, mode, renderLink) {
11
- if (!value) {
12
- return value;
13
- }
14
- const countryCode = getCountryCodeFromLocale(this._locale);
15
- let format;
16
- switch (mode) {
17
- case 'NATIONAL':
18
- format = intlTelInputUtils.numberFormat.NATIONAL;
19
- break;
20
- default:
21
- format = intlTelInputUtils.numberFormat.INTERNATIONAL;
22
- }
23
- const result = intlTelInputUtils.formatNumber(value, countryCode, format);
24
- if (renderLink) {
25
- return `<a href="tel:${result}">${result}</a>`;
26
- }
27
- else {
28
- return result;
29
- }
30
- }
31
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: PhoneNumberPipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe }); }
32
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: PhoneNumberPipe, name: "buiPhone" }); }
33
- }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: PhoneNumberPipe, decorators: [{
35
- type: Pipe,
36
- args: [{
37
- name: 'buiPhone',
38
- pure: true
39
- }]
40
- }], ctorParameters: () => [{ type: undefined, decorators: [{
41
- type: Inject,
42
- args: [LOCALE_ID]
43
- }] }] });
44
- export function getCountryCodeFromLocale(locale) {
45
- return locale.replace(/.+[-_]([a-z][a-z])$/i, '$1');
46
- }
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtbnVtYmVyLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9waG9uZS1udW1iZXIvcGhvbmUtbnVtYmVyLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFJdkU7O0dBRUc7QUFLSCxNQUFNLE9BQU8sZUFBZTtJQUMzQixZQUF1QyxPQUFlO1FBQWYsWUFBTyxHQUFQLE9BQU8sQ0FBUTtJQUFHLENBQUM7SUFFMUQsU0FBUyxDQUFDLEtBQVUsRUFBRSxJQUFhLEVBQUUsVUFBb0I7UUFDeEQsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1osT0FBTyxLQUFLLENBQUM7UUFDZCxDQUFDO1FBRUQsTUFBTSxXQUFXLEdBQUcsd0JBQXdCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTNELElBQUksTUFBYyxDQUFDO1FBQ25CLFFBQVEsSUFBSSxFQUFFLENBQUM7WUFDZCxLQUFLLFVBQVU7Z0JBQ2QsTUFBTSxHQUFHLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUM7Z0JBQ2pELE1BQU07WUFDUDtnQkFDQyxNQUFNLEdBQUcsaUJBQWlCLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQztRQUN4RCxDQUFDO1FBQ0QsTUFBTSxNQUFNLEdBQUcsaUJBQWlCLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDMUUsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNoQixPQUFPLGdCQUFnQixNQUFNLEtBQUssTUFBTSxNQUFNLENBQUM7UUFDaEQsQ0FBQzthQUFNLENBQUM7WUFDUCxPQUFPLE1BQU0sQ0FBQztRQUNmLENBQUM7SUFDRixDQUFDOzhHQXhCVyxlQUFlLGtCQUNQLFNBQVM7NEdBRGpCLGVBQWU7OzJGQUFmLGVBQWU7a0JBSjNCLElBQUk7bUJBQUM7b0JBQ0wsSUFBSSxFQUFFLFVBQVU7b0JBQ2hCLElBQUksRUFBRSxJQUFJO2lCQUNWOzswQkFFYSxNQUFNOzJCQUFDLFNBQVM7O0FBMEI5QixNQUFNLFVBQVUsd0JBQXdCLENBQUMsTUFBYztJQUN0RCxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsc0JBQXNCLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDckQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgTE9DQUxFX0lELCBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5kZWNsYXJlIGNvbnN0IGludGxUZWxJbnB1dFV0aWxzOiBhbnk7XHJcblxyXG4vKipcclxuICogQGludGVybmFsXHJcbiAqL1xyXG5AUGlwZSh7XHJcblx0bmFtZTogJ2J1aVBob25lJyxcclxuXHRwdXJlOiB0cnVlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQaG9uZU51bWJlclBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuXHRjb25zdHJ1Y3RvcihASW5qZWN0KExPQ0FMRV9JRCkgcHJpdmF0ZSBfbG9jYWxlOiBzdHJpbmcpIHt9XHJcblxyXG5cdHRyYW5zZm9ybSh2YWx1ZTogYW55LCBtb2RlPzogc3RyaW5nLCByZW5kZXJMaW5rPzogYm9vbGVhbik6IHN0cmluZyB7XHJcblx0XHRpZiAoIXZhbHVlKSB7XHJcblx0XHRcdHJldHVybiB2YWx1ZTtcclxuXHRcdH1cclxuXHJcblx0XHRjb25zdCBjb3VudHJ5Q29kZSA9IGdldENvdW50cnlDb2RlRnJvbUxvY2FsZSh0aGlzLl9sb2NhbGUpO1xyXG5cclxuXHRcdGxldCBmb3JtYXQ6IG51bWJlcjtcclxuXHRcdHN3aXRjaCAobW9kZSkge1xyXG5cdFx0XHRjYXNlICdOQVRJT05BTCc6XHJcblx0XHRcdFx0Zm9ybWF0ID0gaW50bFRlbElucHV0VXRpbHMubnVtYmVyRm9ybWF0Lk5BVElPTkFMO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRkZWZhdWx0OlxyXG5cdFx0XHRcdGZvcm1hdCA9IGludGxUZWxJbnB1dFV0aWxzLm51bWJlckZvcm1hdC5JTlRFUk5BVElPTkFMO1xyXG5cdFx0fVxyXG5cdFx0Y29uc3QgcmVzdWx0ID0gaW50bFRlbElucHV0VXRpbHMuZm9ybWF0TnVtYmVyKHZhbHVlLCBjb3VudHJ5Q29kZSwgZm9ybWF0KTtcclxuXHRcdGlmIChyZW5kZXJMaW5rKSB7XHJcblx0XHRcdHJldHVybiBgPGEgaHJlZj1cInRlbDoke3Jlc3VsdH1cIj4ke3Jlc3VsdH08L2E+YDtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHJldHVybiByZXN1bHQ7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q291bnRyeUNvZGVGcm9tTG9jYWxlKGxvY2FsZTogc3RyaW5nKTogc3RyaW5nIHtcclxuXHRyZXR1cm4gbG9jYWxlLnJlcGxhY2UoLy4rWy1fXShbYS16XVthLXpdKSQvaSwgJyQxJyk7XHJcbn1cclxuIl19
@@ -1,64 +0,0 @@
1
- import { Directive, Input, forwardRef } from '@angular/core';
2
- import { NG_VALIDATORS } from '@angular/forms';
3
- import * as i0 from "@angular/core";
4
- /**
5
- * @internal
6
- */
7
- export const SELECTOR = '[buiTelInput], input([type=tel])[ngModel], input([type=tel])[formControlName], input([type=tel])[formControl]';
8
- /**
9
- * @internal
10
- */
11
- export const PHONE_VALIDATOR = {
12
- provide: NG_VALIDATORS,
13
- useExisting: forwardRef(() => PhoneNumberValidator),
14
- multi: true
15
- };
16
- /**
17
- * @internal
18
- */
19
- export class PhoneNumberValidator {
20
- static validateControl(inp, type, update) {
21
- const err = { tel: true };
22
- if (!inp.value) {
23
- return null;
24
- }
25
- const iti = inp.$$iti;
26
- if (!iti) {
27
- return null;
28
- }
29
- if (iti.isValidNumber()) {
30
- const n = iti.getNumber(intlTelInputUtils.numberFormat.INTERNATIONAL);
31
- if (update) {
32
- inp.value = n;
33
- }
34
- const t = iti.getNumberType();
35
- if (t !== intlTelInputUtils.numberType.FIXED_LINE_OR_MOBILE) {
36
- if ((type === 'MOBILE' && t !== intlTelInputUtils.numberType.MOBILE) ||
37
- (type === 'FIXED_LINE' && t !== intlTelInputUtils.numberType.FIXED_LINE)) {
38
- return err;
39
- }
40
- }
41
- return null;
42
- }
43
- return err;
44
- }
45
- constructor(_el) {
46
- this._el = _el;
47
- this.telType = 'FIXED_LINE';
48
- }
49
- validate(_) {
50
- return PhoneNumberValidator.validateControl(this._el.nativeElement, this.telType, false);
51
- }
52
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: PhoneNumberValidator, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
53
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.2", type: PhoneNumberValidator, selector: "[buiTelInput], input([type=tel])[ngModel], input([type=tel])[formControlName], input([type=tel])[formControl]", inputs: { telType: "telType" }, providers: [PHONE_VALIDATOR], ngImport: i0 }); }
54
- }
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: PhoneNumberValidator, decorators: [{
56
- type: Directive,
57
- args: [{
58
- selector: SELECTOR,
59
- providers: [PHONE_VALIDATOR]
60
- }]
61
- }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { telType: [{
62
- type: Input
63
- }] } });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtbnVtYmVyLnZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3Bob25lLW51bWJlci9waG9uZS1udW1iZXIudmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFrQixVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxFQUFtQixhQUFhLEVBQWEsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFFM0U7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQ3BCLCtHQUErRyxDQUFDO0FBRWpIOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFtQjtJQUM5QyxPQUFPLEVBQUUsYUFBYTtJQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG9CQUFvQixDQUFDO0lBQ25ELEtBQUssRUFBRSxJQUFJO0NBQ1gsQ0FBQztBQVlGOztHQUVHO0FBS0gsTUFBTSxPQUFPLG9CQUFvQjtJQUloQyxNQUFNLENBQUMsZUFBZSxDQUFDLEdBQXFCLEVBQUUsSUFBYyxFQUFFLE1BQWU7UUFDNUUsTUFBTSxHQUFHLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNoQixPQUFPLElBQUksQ0FBQztRQUNiLENBQUM7UUFDRCxNQUFNLEdBQUcsR0FBSSxHQUFXLENBQUMsS0FBSyxDQUFDO1FBQy9CLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNWLE9BQU8sSUFBSSxDQUFDO1FBQ2IsQ0FBQztRQUNELElBQUksR0FBRyxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUM7WUFDekIsTUFBTSxDQUFDLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDdEUsSUFBSSxNQUFNLEVBQUUsQ0FBQztnQkFDWixHQUFHLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztZQUNmLENBQUM7WUFFRCxNQUFNLENBQUMsR0FBRyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLEtBQUssaUJBQWlCLENBQUMsVUFBVSxDQUFDLG9CQUFvQixFQUFFLENBQUM7Z0JBQzdELElBQ0MsQ0FBQyxJQUFJLEtBQUssUUFBUSxJQUFJLENBQUMsS0FBSyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDO29CQUNoRSxDQUFDLElBQUksS0FBSyxZQUFZLElBQUksQ0FBQyxLQUFLLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsRUFDdkUsQ0FBQztvQkFDRixPQUFPLEdBQUcsQ0FBQztnQkFDWixDQUFDO1lBQ0YsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFDO1FBQ2IsQ0FBQztRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ1osQ0FBQztJQUVELFlBQW9CLEdBQWlDO1FBQWpDLFFBQUcsR0FBSCxHQUFHLENBQThCO1FBL0JyRCxZQUFPLEdBQWEsWUFBWSxDQUFDO0lBK0J1QixDQUFDO0lBRXpELFFBQVEsQ0FBQyxDQUFrQjtRQUMxQixPQUFPLG9CQUFvQixDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzFGLENBQUM7OEdBckNXLG9CQUFvQjtrR0FBcEIsb0JBQW9CLHdLQUZyQixDQUFDLGVBQWUsQ0FBQzs7MkZBRWhCLG9CQUFvQjtrQkFKaEMsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsUUFBUTtvQkFDbEIsU0FBUyxFQUFFLENBQUMsZUFBZSxDQUFDO2lCQUM1QjsrRUFHQSxPQUFPO3NCQUROLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBTdGF0aWNQcm92aWRlciwgZm9yd2FyZFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIE5HX1ZBTElEQVRPUlMsIFZhbGlkYXRvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbi8qKlxyXG4gKiBAaW50ZXJuYWxcclxuICovXHJcbmV4cG9ydCBjb25zdCBTRUxFQ1RPUiA9XHJcblx0J1tidWlUZWxJbnB1dF0sIGlucHV0KFt0eXBlPXRlbF0pW25nTW9kZWxdLCBpbnB1dChbdHlwZT10ZWxdKVtmb3JtQ29udHJvbE5hbWVdLCBpbnB1dChbdHlwZT10ZWxdKVtmb3JtQ29udHJvbF0nO1xyXG5cclxuLyoqXHJcbiAqIEBpbnRlcm5hbFxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IFBIT05FX1ZBTElEQVRPUjogU3RhdGljUHJvdmlkZXIgPSB7XHJcblx0cHJvdmlkZTogTkdfVkFMSURBVE9SUyxcclxuXHR1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBQaG9uZU51bWJlclZhbGlkYXRvciksXHJcblx0bXVsdGk6IHRydWVcclxufTtcclxuXHJcbi8qKlxyXG4gKiBAaW50ZXJuYWxcclxuICovXHJcbmV4cG9ydCB0eXBlIFRFTF9UWVBFID0gJ01PQklMRScgfCAnRklYRURfTElORV9PUl9NT0JJTEUnIHwgJ0ZJWEVEX0xJTkUnO1xyXG5cclxuLyoqXHJcbiAqIEBpbnRlcm5hbFxyXG4gKi9cclxuZGVjbGFyZSBjb25zdCBpbnRsVGVsSW5wdXRVdGlsczogYW55O1xyXG5cclxuLyoqXHJcbiAqIEBpbnRlcm5hbFxyXG4gKi9cclxuQERpcmVjdGl2ZSh7XHJcblx0c2VsZWN0b3I6IFNFTEVDVE9SLFxyXG5cdHByb3ZpZGVyczogW1BIT05FX1ZBTElEQVRPUl1cclxufSlcclxuZXhwb3J0IGNsYXNzIFBob25lTnVtYmVyVmFsaWRhdG9yIGltcGxlbWVudHMgVmFsaWRhdG9yIHtcclxuXHRASW5wdXQoKVxyXG5cdHRlbFR5cGU6IFRFTF9UWVBFID0gJ0ZJWEVEX0xJTkUnO1xyXG5cclxuXHRzdGF0aWMgdmFsaWRhdGVDb250cm9sKGlucDogSFRNTElucHV0RWxlbWVudCwgdHlwZTogVEVMX1RZUEUsIHVwZGF0ZTogYm9vbGVhbik6IHsgW2tleTogc3RyaW5nXTogYW55IH0gfCBudWxsIHtcclxuXHRcdGNvbnN0IGVyciA9IHsgdGVsOiB0cnVlIH07XHJcblx0XHRpZiAoIWlucC52YWx1ZSkge1xyXG5cdFx0XHRyZXR1cm4gbnVsbDtcclxuXHRcdH1cclxuXHRcdGNvbnN0IGl0aSA9IChpbnAgYXMgYW55KS4kJGl0aTtcclxuXHRcdGlmICghaXRpKSB7XHJcblx0XHRcdHJldHVybiBudWxsO1xyXG5cdFx0fVxyXG5cdFx0aWYgKGl0aS5pc1ZhbGlkTnVtYmVyKCkpIHtcclxuXHRcdFx0Y29uc3QgbiA9IGl0aS5nZXROdW1iZXIoaW50bFRlbElucHV0VXRpbHMubnVtYmVyRm9ybWF0LklOVEVSTkFUSU9OQUwpO1xyXG5cdFx0XHRpZiAodXBkYXRlKSB7XHJcblx0XHRcdFx0aW5wLnZhbHVlID0gbjtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Y29uc3QgdCA9IGl0aS5nZXROdW1iZXJUeXBlKCk7XHJcblx0XHRcdGlmICh0ICE9PSBpbnRsVGVsSW5wdXRVdGlscy5udW1iZXJUeXBlLkZJWEVEX0xJTkVfT1JfTU9CSUxFKSB7XHJcblx0XHRcdFx0aWYgKFxyXG5cdFx0XHRcdFx0KHR5cGUgPT09ICdNT0JJTEUnICYmIHQgIT09IGludGxUZWxJbnB1dFV0aWxzLm51bWJlclR5cGUuTU9CSUxFKSB8fFxyXG5cdFx0XHRcdFx0KHR5cGUgPT09ICdGSVhFRF9MSU5FJyAmJiB0ICE9PSBpbnRsVGVsSW5wdXRVdGlscy5udW1iZXJUeXBlLkZJWEVEX0xJTkUpXHJcblx0XHRcdFx0KSB7XHJcblx0XHRcdFx0XHRyZXR1cm4gZXJyO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHRyZXR1cm4gbnVsbDtcclxuXHRcdH1cclxuXHRcdHJldHVybiBlcnI7XHJcblx0fVxyXG5cclxuXHRjb25zdHJ1Y3Rvcihwcml2YXRlIF9lbDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50Pikge31cclxuXHJcblx0dmFsaWRhdGUoXzogQWJzdHJhY3RDb250cm9sKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB8IG51bGwge1xyXG5cdFx0cmV0dXJuIFBob25lTnVtYmVyVmFsaWRhdG9yLnZhbGlkYXRlQ29udHJvbCh0aGlzLl9lbC5uYXRpdmVFbGVtZW50LCB0aGlzLnRlbFR5cGUsIGZhbHNlKTtcclxuXHR9XHJcbn1cclxuIl19
@@ -1,2 +0,0 @@
1
- export * from './phone-number.module';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3Bob25lLW51bWJlci9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3Bob25lLW51bWJlci5tb2R1bGUnO1xyXG4iXX0=
@@ -1,2 +0,0 @@
1
- export const NO_EXPORT = 'NO_EXPORT';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3VpL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLFdBQVcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBOT19FWFBPUlQgPSAnTk9fRVhQT1JUJztcclxuIl19
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJhdnVyYS11aS1yYWRpby1wYW5lbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3JhZGlvLXBhbmVsL2JyYXZ1cmEtdWktcmFkaW8tcGFuZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -1,4 +0,0 @@
1
- export * from './radio-panel-item.component';
2
- export * from './radio-panel.component';
3
- export * from './radio-panel.module';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3JhZGlvLXBhbmVsL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3JhZGlvLXBhbmVsLWl0ZW0uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcmFkaW8tcGFuZWwuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcmFkaW8tcGFuZWwubW9kdWxlJztcbiJdfQ==
@@ -1,93 +0,0 @@
1
- import { animate, state, style, transition, trigger } from '@angular/animations';
2
- import { Attribute, ChangeDetectionStrategy, Component, ContentChild, Inject, Input, Optional } from '@angular/core';
3
- import { MatRadioButton, MAT_RADIO_DEFAULT_OPTIONS, MAT_RADIO_GROUP } from '@angular/material/radio';
4
- import { ANIMATION_MODULE_TYPE } from '@angular/platform-browser/animations';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/cdk/a11y";
7
- import * as i2 from "@angular/cdk/collections";
8
- import * as i3 from "@angular/common";
9
- import * as i4 from "@angular/material/core";
10
- import * as i5 from "@angular/material/icon";
11
- import * as i6 from "@angular/material/radio";
12
- /**
13
- * Use `bui-radio-panel-item` instead of `mat-radio-button` in a `bui-radio-panel` to display an option.
14
- */
15
- export class RadioPanelItemComponent extends MatRadioButton {
16
- get tickPosition() {
17
- return this._tickPosition || this.radioGroup?.tickPosition;
18
- }
19
- set tickPosition(pos) {
20
- this._tickPosition = pos;
21
- }
22
- constructor(radioGroup, elementRef, _changeDetector, _focusMonitor, _radioDispatcher, animationMode, _providerOverride, tabIndex) {
23
- super(radioGroup, elementRef, _changeDetector, _focusMonitor, _radioDispatcher, animationMode, _providerOverride, tabIndex);
24
- /**
25
- * This will be displayed as the panel header
26
- */
27
- this.title = '';
28
- }
29
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: RadioPanelItemComponent, deps: [{ token: MAT_RADIO_GROUP, optional: true }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.FocusMonitor }, { token: i2.UniqueSelectionDispatcher }, { token: ANIMATION_MODULE_TYPE, optional: true }, { token: MAT_RADIO_DEFAULT_OPTIONS, optional: true }, { token: 'tabindex', attribute: true }], target: i0.ɵɵFactoryTarget.Component }); }
30
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: RadioPanelItemComponent, selector: "bui-radio-panel-item", inputs: { disableRipple: "disableRipple", tabIndex: "tabIndex", title: "title", _tickPosition: "_tickPosition", tickPosition: "tickPosition" }, host: { listeners: { "focus": "_inputElement.nativeElement.focus()" }, properties: { "class.bui-radio-checked": "checked", "class.bui-disabled": "disabled", "class._mat-animation-noopable": "_noopAnimations", "class.mat-primary": "color === \"primary\"", "class.mat-accent": "color === \"accent\"", "class.mat-warn": "color === \"warn\"", "attr.tabindex": "null", "attr.id": "id", "attr.aria-label": "null", "attr.aria-labelledby": "null", "attr.aria-describedby": "null" }, classAttribute: "bui-radio-panel-item" }, queries: [{ propertyName: "contentOnSelect", first: true, predicate: ["contentOnSelect"], descendants: true }], exportAs: ["matRadioButton"], usesInheritance: true, ngImport: i0, template: "<label\n\tmatRipple\n\tmatRippleColor=\"rgba(128,128,128,.1)\"\n\t[matRippleDisabled]=\"disabled || checked\"\n\t[attr.for]=\"inputId\"\n\t#label\n\tclass=\"bui-radio-panel-item-label bui-border-{{ checked ? color : 'default' }}\"\n>\n\t<div class=\"bui-radio-panel-item-wrapper\" [class.bui-radio-tick-at-end]=\"tickPosition === 'end'\">\n\t\t<div class=\"bui-label-header\">\n\t\t\t<span class=\"bui-label-title\" [innerHTML]=\"title\"></span>\n\t\t\t<ng-content select=\"[buiRadioItemHeadingEnd]\"></ng-content>\n\t\t\t<span class=\"bui-radio-panel-item-circle\">\n\t\t\t\t<span\n\t\t\t\t\tclass=\"bui-persistent-ripple\"\n\t\t\t\t\tmatRipple\n\t\t\t\t\tmatRippleColor=\"rgba(128,128,128,.1)\"\n\t\t\t\t\t[matRippleCentered]=\"true\"\n\t\t\t\t\t[matRippleUnbounded]=\"true\"\n\t\t\t\t\t[matRippleTrigger]=\"label\"\n\t\t\t\t\t[matRippleRadius]=\"20\"\n\t\t\t\t\t*ngIf=\"!disabled\"\n\t\t\t\t></span>\n\t\t\t\t<mat-icon class=\"bui-radio-panel-checked-icon\" *ngIf=\"checked\">check_circle</mat-icon>\n\t\t\t\t<mat-icon *ngIf=\"!checked\" class=\"bui-radio-panel-item-circle-unchecked\">radio_button_unchecked</mat-icon>\n\t\t\t</span>\n\t\t</div>\n\t\t<!-- The actual 'radio' part of the control. -->\n\t\t<span class=\"radio-container\">\n\t\t\t<input\n\t\t\t\t#input\n\t\t\t\tclass=\"mat-radio-input cdk-visually-hidden\"\n\t\t\t\ttype=\"radio\"\n\t\t\t\t[id]=\"inputId\"\n\t\t\t\t[checked]=\"checked\"\n\t\t\t\t[disabled]=\"disabled\"\n\t\t\t\t[tabIndex]=\"tabIndex\"\n\t\t\t\t[attr.name]=\"name\"\n\t\t\t\t[attr.value]=\"value\"\n\t\t\t\t[required]=\"required\"\n\t\t\t\t[attr.aria-label]=\"ariaLabel\"\n\t\t\t\t[attr.aria-labelledby]=\"ariaLabelledby\"\n\t\t\t\t[attr.aria-describedby]=\"ariaDescribedby\"\n\t\t\t\t(change)=\"_onInputInteraction($event)\"\n\t\t\t\t(click)=\"_onInputInteraction($event)\"\n\t\t\t/>\n\t\t</span>\n\n\t\t<div class=\"bui-label-content-gap\"></div>\n\t\t<!-- The label content for radio control. -->\n\t\t<div class=\"bui-label-content\">\n\t\t\t<ng-content></ng-content>\n\t\t</div>\n\t\t<div class=\"bui-label-content\" *ngIf=\"contentOnSelect && checked\" @slideInOut>\n\t\t\t<ng-container *ngTemplateOutlet=\"contentOnSelect\"></ng-container>\n\t\t</div>\n\t</div>\n</label>\n", styles: [":host .bui-ripple,:host .bui-persistent-ripple{position:absolute;inset:0}:host .bui-radio-panel-item-overlay{background-color:#fff;opacity:0}:host .bui-radio-panel-item-circle{width:40px;height:40px;flex-shrink:0}:host .bui-radio-panel-item-label{display:block;border-radius:5px;border:1px solid rgba(128,128,128,.2);padding:1px;position:relative;height:100%}:host .bui-radio-panel-item-label .bui-radio-panel-item-circle-unchecked{color:#80808066}:host .bui-radio-panel-item-wrapper.bui-radio-tick-at-end .bui-label-header{padding:calc(1rem - 10px) calc(1rem - 10px) 0 1rem;justify-content:space-between}:host .bui-radio-panel-item-wrapper:not(.bui-radio-tick-at-end) .bui-label-header{padding:calc(1rem - 10px) calc(1rem - 10px) 0 calc(1rem - 10px)}:host .bui-radio-panel-item-wrapper:not(.bui-radio-tick-at-end) .bui-radio-panel-item-circle{order:-1}:host .bui-label-header,:host .bui-radio-panel-item-circle{display:flex;align-items:center}:host .bui-label-header{margin-bottom:calc(1rem - 10px)}:host .bui-label-title{font-size:larger;font-weight:700}:host .bui-radio-panel-item-circle{justify-content:center;position:relative}:host .bui-label-content:not(:empty){margin:0 1rem 1rem}:host .bui-label-content-gap{margin-top:calc(1rem - 10px)}@polyfill-unscoped-rule{content: \".bui-radio-panel-item-wrapper .bui-label-header [buiRadioItemHeadingEnd]\"; margin-left: auto;}:host(:not([hidden])){display:block}:host(:not(.bui-disabled)):not(.bui-radio-checked) .bui-radio-panel-item-label{cursor:pointer}:host(:not(.bui-disabled)) .bui-radio-panel-item-label:hover{border-width:2px;padding:0;border-color:#8080804d}:host(:not(.bui-disabled)).cdk-keyboard-focused .bui-persistent-ripple,:host(:not(.bui-disabled)).cdk-program-focused .bui-persistent-ripple{background-color:#80808033;border-radius:50%}:host-context(.radio-dir-row){flex-basis:var(--bui-panel-width, 300px);flex-grow:0}:host(.bui-disabled) .bui-radio-panel-item-wrapper>.bui-label-header,:host(.bui-disabled) .bui-radio-panel-item-wrapper>.bui-label-content{opacity:.5}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i4.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], animations: [
31
- trigger('slideInOut', [
32
- state('void', style({ height: '0px', overflow: 'hidden' })),
33
- transition(':enter, :leave', animate('.25s'))
34
- ])
35
- ], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
36
- }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: RadioPanelItemComponent, decorators: [{
38
- type: Component,
39
- args: [{ selector: 'bui-radio-panel-item', inputs: ['disableRipple', 'tabIndex'], exportAs: 'matRadioButton', host: {
40
- class: 'bui-radio-panel-item',
41
- '[class.bui-radio-checked]': 'checked',
42
- '[class.bui-disabled]': 'disabled',
43
- '[class._mat-animation-noopable]': '_noopAnimations',
44
- '[class.mat-primary]': 'color === "primary"',
45
- '[class.mat-accent]': 'color === "accent"',
46
- '[class.mat-warn]': 'color === "warn"',
47
- // Needs to be removed since it causes some a11y issues (see #21266).
48
- '[attr.tabindex]': 'null',
49
- '[attr.id]': 'id',
50
- '[attr.aria-label]': 'null',
51
- '[attr.aria-labelledby]': 'null',
52
- '[attr.aria-describedby]': 'null',
53
- // Note: under normal conditions focus shouldn't land on this element, however it may be
54
- // programmatically set, for example inside of a focus trap, in this case we want to forward
55
- // the focus to the native element.
56
- '(focus)': '_inputElement.nativeElement.focus()'
57
- }, changeDetection: ChangeDetectionStrategy.OnPush, animations: [
58
- trigger('slideInOut', [
59
- state('void', style({ height: '0px', overflow: 'hidden' })),
60
- transition(':enter, :leave', animate('.25s'))
61
- ])
62
- ], template: "<label\n\tmatRipple\n\tmatRippleColor=\"rgba(128,128,128,.1)\"\n\t[matRippleDisabled]=\"disabled || checked\"\n\t[attr.for]=\"inputId\"\n\t#label\n\tclass=\"bui-radio-panel-item-label bui-border-{{ checked ? color : 'default' }}\"\n>\n\t<div class=\"bui-radio-panel-item-wrapper\" [class.bui-radio-tick-at-end]=\"tickPosition === 'end'\">\n\t\t<div class=\"bui-label-header\">\n\t\t\t<span class=\"bui-label-title\" [innerHTML]=\"title\"></span>\n\t\t\t<ng-content select=\"[buiRadioItemHeadingEnd]\"></ng-content>\n\t\t\t<span class=\"bui-radio-panel-item-circle\">\n\t\t\t\t<span\n\t\t\t\t\tclass=\"bui-persistent-ripple\"\n\t\t\t\t\tmatRipple\n\t\t\t\t\tmatRippleColor=\"rgba(128,128,128,.1)\"\n\t\t\t\t\t[matRippleCentered]=\"true\"\n\t\t\t\t\t[matRippleUnbounded]=\"true\"\n\t\t\t\t\t[matRippleTrigger]=\"label\"\n\t\t\t\t\t[matRippleRadius]=\"20\"\n\t\t\t\t\t*ngIf=\"!disabled\"\n\t\t\t\t></span>\n\t\t\t\t<mat-icon class=\"bui-radio-panel-checked-icon\" *ngIf=\"checked\">check_circle</mat-icon>\n\t\t\t\t<mat-icon *ngIf=\"!checked\" class=\"bui-radio-panel-item-circle-unchecked\">radio_button_unchecked</mat-icon>\n\t\t\t</span>\n\t\t</div>\n\t\t<!-- The actual 'radio' part of the control. -->\n\t\t<span class=\"radio-container\">\n\t\t\t<input\n\t\t\t\t#input\n\t\t\t\tclass=\"mat-radio-input cdk-visually-hidden\"\n\t\t\t\ttype=\"radio\"\n\t\t\t\t[id]=\"inputId\"\n\t\t\t\t[checked]=\"checked\"\n\t\t\t\t[disabled]=\"disabled\"\n\t\t\t\t[tabIndex]=\"tabIndex\"\n\t\t\t\t[attr.name]=\"name\"\n\t\t\t\t[attr.value]=\"value\"\n\t\t\t\t[required]=\"required\"\n\t\t\t\t[attr.aria-label]=\"ariaLabel\"\n\t\t\t\t[attr.aria-labelledby]=\"ariaLabelledby\"\n\t\t\t\t[attr.aria-describedby]=\"ariaDescribedby\"\n\t\t\t\t(change)=\"_onInputInteraction($event)\"\n\t\t\t\t(click)=\"_onInputInteraction($event)\"\n\t\t\t/>\n\t\t</span>\n\n\t\t<div class=\"bui-label-content-gap\"></div>\n\t\t<!-- The label content for radio control. -->\n\t\t<div class=\"bui-label-content\">\n\t\t\t<ng-content></ng-content>\n\t\t</div>\n\t\t<div class=\"bui-label-content\" *ngIf=\"contentOnSelect && checked\" @slideInOut>\n\t\t\t<ng-container *ngTemplateOutlet=\"contentOnSelect\"></ng-container>\n\t\t</div>\n\t</div>\n</label>\n", styles: [":host .bui-ripple,:host .bui-persistent-ripple{position:absolute;inset:0}:host .bui-radio-panel-item-overlay{background-color:#fff;opacity:0}:host .bui-radio-panel-item-circle{width:40px;height:40px;flex-shrink:0}:host .bui-radio-panel-item-label{display:block;border-radius:5px;border:1px solid rgba(128,128,128,.2);padding:1px;position:relative;height:100%}:host .bui-radio-panel-item-label .bui-radio-panel-item-circle-unchecked{color:#80808066}:host .bui-radio-panel-item-wrapper.bui-radio-tick-at-end .bui-label-header{padding:calc(1rem - 10px) calc(1rem - 10px) 0 1rem;justify-content:space-between}:host .bui-radio-panel-item-wrapper:not(.bui-radio-tick-at-end) .bui-label-header{padding:calc(1rem - 10px) calc(1rem - 10px) 0 calc(1rem - 10px)}:host .bui-radio-panel-item-wrapper:not(.bui-radio-tick-at-end) .bui-radio-panel-item-circle{order:-1}:host .bui-label-header,:host .bui-radio-panel-item-circle{display:flex;align-items:center}:host .bui-label-header{margin-bottom:calc(1rem - 10px)}:host .bui-label-title{font-size:larger;font-weight:700}:host .bui-radio-panel-item-circle{justify-content:center;position:relative}:host .bui-label-content:not(:empty){margin:0 1rem 1rem}:host .bui-label-content-gap{margin-top:calc(1rem - 10px)}@polyfill-unscoped-rule{content: \".bui-radio-panel-item-wrapper .bui-label-header [buiRadioItemHeadingEnd]\"; margin-left: auto;}:host(:not([hidden])){display:block}:host(:not(.bui-disabled)):not(.bui-radio-checked) .bui-radio-panel-item-label{cursor:pointer}:host(:not(.bui-disabled)) .bui-radio-panel-item-label:hover{border-width:2px;padding:0;border-color:#8080804d}:host(:not(.bui-disabled)).cdk-keyboard-focused .bui-persistent-ripple,:host(:not(.bui-disabled)).cdk-program-focused .bui-persistent-ripple{background-color:#80808033;border-radius:50%}:host-context(.radio-dir-row){flex-basis:var(--bui-panel-width, 300px);flex-grow:0}:host(.bui-disabled) .bui-radio-panel-item-wrapper>.bui-label-header,:host(.bui-disabled) .bui-radio-panel-item-wrapper>.bui-label-content{opacity:.5}\n"] }]
63
- }], ctorParameters: () => [{ type: i6.MatRadioGroup, decorators: [{
64
- type: Optional
65
- }, {
66
- type: Inject,
67
- args: [MAT_RADIO_GROUP]
68
- }] }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.FocusMonitor }, { type: i2.UniqueSelectionDispatcher }, { type: undefined, decorators: [{
69
- type: Optional
70
- }, {
71
- type: Inject,
72
- args: [ANIMATION_MODULE_TYPE]
73
- }] }, { type: undefined, decorators: [{
74
- type: Optional
75
- }, {
76
- type: Inject,
77
- args: [MAT_RADIO_DEFAULT_OPTIONS]
78
- }] }, { type: undefined, decorators: [{
79
- type: Attribute,
80
- args: ['tabindex']
81
- }] }], propDecorators: { title: [{
82
- type: Input
83
- }], _tickPosition: [{
84
- type: Input
85
- }], tickPosition: [{
86
- type: Input
87
- }],
88
- //@ts-ignore
89
- contentOnSelect: [{
90
- type: ContentChild,
91
- args: ['contentOnSelect']
92
- }] } });
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tcGFuZWwtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9yYWRpby1wYW5lbC9yYWRpby1wYW5lbC1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3JhZGlvLXBhbmVsL3JhZGlvLXBhbmVsLWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUdqRixPQUFPLEVBQ04sU0FBUyxFQUNULHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsWUFBWSxFQUdaLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUVSLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTixjQUFjLEVBR2QseUJBQXlCLEVBQ3pCLGVBQWUsRUFDZixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7Ozs7OztBQUU3RTs7R0FFRztBQW9DSCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsY0FBYztJQVUxRCxJQUNJLFlBQVk7UUFDZixPQUFPLElBQUksQ0FBQyxhQUFhLElBQUssSUFBSSxDQUFDLFVBQWtCLEVBQUUsWUFBWSxDQUFDO0lBQ3JFLENBQUM7SUFDRCxJQUFJLFlBQVksQ0FBQyxHQUFvQjtRQUNwQyxJQUFJLENBQUMsYUFBYSxHQUFHLEdBQUcsQ0FBQztJQUMxQixDQUFDO0lBTUQsWUFDc0MsVUFBeUIsRUFDOUQsVUFBc0IsRUFDdEIsZUFBa0MsRUFDbEMsYUFBMkIsRUFDM0IsZ0JBQTJDLEVBQ0EsYUFBc0IsRUFHakUsaUJBQTBDLEVBQ25CLFFBQWlCO1FBRXhDLEtBQUssQ0FDSixVQUFVLEVBQ1YsVUFBVSxFQUNWLGVBQWUsRUFDZixhQUFhLEVBQ2IsZ0JBQWdCLEVBQ2hCLGFBQWEsRUFDYixpQkFBaUIsRUFDakIsUUFBUSxDQUNSLENBQUM7UUExQ0g7O1dBRUc7UUFFSCxVQUFLLEdBQUcsRUFBRSxDQUFDO0lBdUNYLENBQUM7OEdBNUNXLHVCQUF1QixrQkF1QmQsZUFBZSw2SkFLZixxQkFBcUIsNkJBRWpDLHlCQUF5Qiw2QkFFdEIsVUFBVTtrR0FoQ1YsdUJBQXVCLHMzQkMvRHBDLDRxRUEwREEsc3NGREZhO1lBQ1gsT0FBTyxDQUFDLFlBQVksRUFBRTtnQkFDckIsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO2dCQUMzRCxVQUFVLENBQUMsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQzdDLENBQUM7U0FDRjs7MkZBRVcsdUJBQXVCO2tCQW5DbkMsU0FBUzsrQkFDQyxzQkFBc0IsVUFJeEIsQ0FBQyxlQUFlLEVBQUUsVUFBVSxDQUFDLFlBQzNCLGdCQUFnQixRQUVwQjt3QkFDTCxLQUFLLEVBQUUsc0JBQXNCO3dCQUM3QiwyQkFBMkIsRUFBRSxTQUFTO3dCQUN0QyxzQkFBc0IsRUFBRSxVQUFVO3dCQUNsQyxpQ0FBaUMsRUFBRSxpQkFBaUI7d0JBQ3BELHFCQUFxQixFQUFFLHFCQUFxQjt3QkFDNUMsb0JBQW9CLEVBQUUsb0JBQW9CO3dCQUMxQyxrQkFBa0IsRUFBRSxrQkFBa0I7d0JBQ3RDLHFFQUFxRTt3QkFDckUsaUJBQWlCLEVBQUUsTUFBTTt3QkFDekIsV0FBVyxFQUFFLElBQUk7d0JBQ2pCLG1CQUFtQixFQUFFLE1BQU07d0JBQzNCLHdCQUF3QixFQUFFLE1BQU07d0JBQ2hDLHlCQUF5QixFQUFFLE1BQU07d0JBQ2pDLHdGQUF3Rjt3QkFDeEYsNEZBQTRGO3dCQUM1RixtQ0FBbUM7d0JBQ25DLFNBQVMsRUFBRSxxQ0FBcUM7cUJBQ2hELG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DO3dCQUNYLE9BQU8sQ0FBQyxZQUFZLEVBQUU7NEJBQ3JCLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQzs0QkFDM0QsVUFBVSxDQUFDLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQzt5QkFDN0MsQ0FBQztxQkFDRjs7MEJBeUJDLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsZUFBZTs7MEJBS2xDLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMscUJBQXFCOzswQkFDeEMsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyx5QkFBeUI7OzBCQUVoQyxTQUFTOzJCQUFDLFVBQVU7eUNBM0J0QixLQUFLO3NCQURKLEtBQUs7Z0JBSVcsYUFBYTtzQkFBN0IsS0FBSztnQkFHRixZQUFZO3NCQURmLEtBQUs7O1FBU04sWUFBWTtRQUNaLGVBQWU7c0JBRmQsWUFBWTt1QkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcclxuaW1wb3J0IHsgRm9jdXNNb25pdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xyXG5pbXBvcnQgeyBVbmlxdWVTZWxlY3Rpb25EaXNwYXRjaGVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zJztcclxuaW1wb3J0IHtcclxuXHRBdHRyaWJ1dGUsXHJcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcblx0Q2hhbmdlRGV0ZWN0b3JSZWYsXHJcblx0Q29tcG9uZW50LFxyXG5cdENvbnRlbnRDaGlsZCxcclxuXHRFbGVtZW50UmVmLFxyXG5cdEhvc3RCaW5kaW5nLFxyXG5cdEluamVjdCxcclxuXHRJbnB1dCxcclxuXHRPcHRpb25hbCxcclxuXHRUZW1wbGF0ZVJlZlxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG5cdE1hdFJhZGlvQnV0dG9uLFxyXG5cdE1hdFJhZGlvRGVmYXVsdE9wdGlvbnMsXHJcblx0TWF0UmFkaW9Hcm91cCxcclxuXHRNQVRfUkFESU9fREVGQVVMVF9PUFRJT05TLFxyXG5cdE1BVF9SQURJT19HUk9VUFxyXG59IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3JhZGlvJztcclxuaW1wb3J0IHsgQU5JTUFUSU9OX01PRFVMRV9UWVBFIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci9hbmltYXRpb25zJztcclxuXHJcbi8qKlxyXG4gKiBVc2UgYGJ1aS1yYWRpby1wYW5lbC1pdGVtYCBpbnN0ZWFkIG9mIGBtYXQtcmFkaW8tYnV0dG9uYCBpbiBhIGBidWktcmFkaW8tcGFuZWxgIHRvIGRpc3BsYXkgYW4gb3B0aW9uLlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdidWktcmFkaW8tcGFuZWwtaXRlbScsXHJcblx0dGVtcGxhdGVVcmw6ICcuL3JhZGlvLXBhbmVsLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxyXG5cdHN0eWxlVXJsczogWycuL3JhZGlvLXBhbmVsLWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcclxuXHQvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG5vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxyXG5cdGlucHV0czogWydkaXNhYmxlUmlwcGxlJywgJ3RhYkluZGV4J10sXHJcblx0ZXhwb3J0QXM6ICdtYXRSYWRpb0J1dHRvbicsXHJcblx0Ly8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBuby1ob3N0LW1ldGFkYXRhLXByb3BlcnR5XHJcblx0aG9zdDoge1xyXG5cdFx0Y2xhc3M6ICdidWktcmFkaW8tcGFuZWwtaXRlbScsXHJcblx0XHQnW2NsYXNzLmJ1aS1yYWRpby1jaGVja2VkXSc6ICdjaGVja2VkJyxcclxuXHRcdCdbY2xhc3MuYnVpLWRpc2FibGVkXSc6ICdkaXNhYmxlZCcsXHJcblx0XHQnW2NsYXNzLl9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlXSc6ICdfbm9vcEFuaW1hdGlvbnMnLFxyXG5cdFx0J1tjbGFzcy5tYXQtcHJpbWFyeV0nOiAnY29sb3IgPT09IFwicHJpbWFyeVwiJyxcclxuXHRcdCdbY2xhc3MubWF0LWFjY2VudF0nOiAnY29sb3IgPT09IFwiYWNjZW50XCInLFxyXG5cdFx0J1tjbGFzcy5tYXQtd2Fybl0nOiAnY29sb3IgPT09IFwid2FyblwiJyxcclxuXHRcdC8vIE5lZWRzIHRvIGJlIHJlbW92ZWQgc2luY2UgaXQgY2F1c2VzIHNvbWUgYTExeSBpc3N1ZXMgKHNlZSAjMjEyNjYpLlxyXG5cdFx0J1thdHRyLnRhYmluZGV4XSc6ICdudWxsJyxcclxuXHRcdCdbYXR0ci5pZF0nOiAnaWQnLFxyXG5cdFx0J1thdHRyLmFyaWEtbGFiZWxdJzogJ251bGwnLFxyXG5cdFx0J1thdHRyLmFyaWEtbGFiZWxsZWRieV0nOiAnbnVsbCcsXHJcblx0XHQnW2F0dHIuYXJpYS1kZXNjcmliZWRieV0nOiAnbnVsbCcsXHJcblx0XHQvLyBOb3RlOiB1bmRlciBub3JtYWwgY29uZGl0aW9ucyBmb2N1cyBzaG91bGRuJ3QgbGFuZCBvbiB0aGlzIGVsZW1lbnQsIGhvd2V2ZXIgaXQgbWF5IGJlXHJcblx0XHQvLyBwcm9ncmFtbWF0aWNhbGx5IHNldCwgZm9yIGV4YW1wbGUgaW5zaWRlIG9mIGEgZm9jdXMgdHJhcCwgaW4gdGhpcyBjYXNlIHdlIHdhbnQgdG8gZm9yd2FyZFxyXG5cdFx0Ly8gdGhlIGZvY3VzIHRvIHRoZSBuYXRpdmUgZWxlbWVudC5cclxuXHRcdCcoZm9jdXMpJzogJ19pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpJ1xyXG5cdH0sXHJcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcblx0YW5pbWF0aW9uczogW1xyXG5cdFx0dHJpZ2dlcignc2xpZGVJbk91dCcsIFtcclxuXHRcdFx0c3RhdGUoJ3ZvaWQnLCBzdHlsZSh7IGhlaWdodDogJzBweCcsIG92ZXJmbG93OiAnaGlkZGVuJyB9KSksXHJcblx0XHRcdHRyYW5zaXRpb24oJzplbnRlciwgOmxlYXZlJywgYW5pbWF0ZSgnLjI1cycpKVxyXG5cdFx0XSlcclxuXHRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSYWRpb1BhbmVsSXRlbUNvbXBvbmVudCBleHRlbmRzIE1hdFJhZGlvQnV0dG9uIHtcclxuXHQvKipcclxuXHQgKiBUaGlzIHdpbGwgYmUgZGlzcGxheWVkIGFzIHRoZSBwYW5lbCBoZWFkZXJcclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdHRpdGxlID0gJyc7XHJcblxyXG5cdC8qKiBUaGUgZGVmYXVsdCBwb3NpdGlvbiBvZiB0aGUgJ3RpY2snIGljb24gcmVsYXRpdmUgdG8gdGhlIHRpdGxlLiAqL1xyXG5cdEBJbnB1dCgpIHByaXZhdGUgX3RpY2tQb3NpdGlvbjogJ3N0YXJ0JyB8ICdlbmQnIHwgdW5kZWZpbmVkO1xyXG5cclxuXHRASW5wdXQoKVxyXG5cdGdldCB0aWNrUG9zaXRpb24oKTogJ3N0YXJ0JyB8ICdlbmQnIHtcclxuXHRcdHJldHVybiB0aGlzLl90aWNrUG9zaXRpb24gfHwgKHRoaXMucmFkaW9Hcm91cCBhcyBhbnkpPy50aWNrUG9zaXRpb247XHJcblx0fVxyXG5cdHNldCB0aWNrUG9zaXRpb24ocG9zOiAnc3RhcnQnIHwgJ2VuZCcpIHtcclxuXHRcdHRoaXMuX3RpY2tQb3NpdGlvbiA9IHBvcztcclxuXHR9XHJcblxyXG5cdEBDb250ZW50Q2hpbGQoJ2NvbnRlbnRPblNlbGVjdCcpXHJcblx0Ly9AdHMtaWdub3JlXHJcblx0Y29udGVudE9uU2VsZWN0OiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdEBPcHRpb25hbCgpIEBJbmplY3QoTUFUX1JBRElPX0dST1VQKSByYWRpb0dyb3VwOiBNYXRSYWRpb0dyb3VwLFxyXG5cdFx0ZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuXHRcdF9jaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcblx0XHRfZm9jdXNNb25pdG9yOiBGb2N1c01vbml0b3IsXHJcblx0XHRfcmFkaW9EaXNwYXRjaGVyOiBVbmlxdWVTZWxlY3Rpb25EaXNwYXRjaGVyLFxyXG5cdFx0QE9wdGlvbmFsKCkgQEluamVjdChBTklNQVRJT05fTU9EVUxFX1RZUEUpIGFuaW1hdGlvbk1vZGU/OiBzdHJpbmcsXHJcblx0XHRAT3B0aW9uYWwoKVxyXG5cdFx0QEluamVjdChNQVRfUkFESU9fREVGQVVMVF9PUFRJT05TKVxyXG5cdFx0X3Byb3ZpZGVyT3ZlcnJpZGU/OiBNYXRSYWRpb0RlZmF1bHRPcHRpb25zLFxyXG5cdFx0QEF0dHJpYnV0ZSgndGFiaW5kZXgnKSB0YWJJbmRleD86IHN0cmluZ1xyXG5cdCkge1xyXG5cdFx0c3VwZXIoXHJcblx0XHRcdHJhZGlvR3JvdXAsXHJcblx0XHRcdGVsZW1lbnRSZWYsXHJcblx0XHRcdF9jaGFuZ2VEZXRlY3RvcixcclxuXHRcdFx0X2ZvY3VzTW9uaXRvcixcclxuXHRcdFx0X3JhZGlvRGlzcGF0Y2hlcixcclxuXHRcdFx0YW5pbWF0aW9uTW9kZSxcclxuXHRcdFx0X3Byb3ZpZGVyT3ZlcnJpZGUsXHJcblx0XHRcdHRhYkluZGV4XHJcblx0XHQpO1xyXG5cdH1cclxufVxyXG4iLCI8bGFiZWxcblx0bWF0UmlwcGxlXG5cdG1hdFJpcHBsZUNvbG9yPVwicmdiYSgxMjgsMTI4LDEyOCwuMSlcIlxuXHRbbWF0UmlwcGxlRGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgY2hlY2tlZFwiXG5cdFthdHRyLmZvcl09XCJpbnB1dElkXCJcblx0I2xhYmVsXG5cdGNsYXNzPVwiYnVpLXJhZGlvLXBhbmVsLWl0ZW0tbGFiZWwgYnVpLWJvcmRlci17eyBjaGVja2VkID8gY29sb3IgOiAnZGVmYXVsdCcgfX1cIlxuPlxuXHQ8ZGl2IGNsYXNzPVwiYnVpLXJhZGlvLXBhbmVsLWl0ZW0td3JhcHBlclwiIFtjbGFzcy5idWktcmFkaW8tdGljay1hdC1lbmRdPVwidGlja1Bvc2l0aW9uID09PSAnZW5kJ1wiPlxuXHRcdDxkaXYgY2xhc3M9XCJidWktbGFiZWwtaGVhZGVyXCI+XG5cdFx0XHQ8c3BhbiBjbGFzcz1cImJ1aS1sYWJlbC10aXRsZVwiIFtpbm5lckhUTUxdPVwidGl0bGVcIj48L3NwYW4+XG5cdFx0XHQ8bmctY29udGVudCBzZWxlY3Q9XCJbYnVpUmFkaW9JdGVtSGVhZGluZ0VuZF1cIj48L25nLWNvbnRlbnQ+XG5cdFx0XHQ8c3BhbiBjbGFzcz1cImJ1aS1yYWRpby1wYW5lbC1pdGVtLWNpcmNsZVwiPlxuXHRcdFx0XHQ8c3BhblxuXHRcdFx0XHRcdGNsYXNzPVwiYnVpLXBlcnNpc3RlbnQtcmlwcGxlXCJcblx0XHRcdFx0XHRtYXRSaXBwbGVcblx0XHRcdFx0XHRtYXRSaXBwbGVDb2xvcj1cInJnYmEoMTI4LDEyOCwxMjgsLjEpXCJcblx0XHRcdFx0XHRbbWF0UmlwcGxlQ2VudGVyZWRdPVwidHJ1ZVwiXG5cdFx0XHRcdFx0W21hdFJpcHBsZVVuYm91bmRlZF09XCJ0cnVlXCJcblx0XHRcdFx0XHRbbWF0UmlwcGxlVHJpZ2dlcl09XCJsYWJlbFwiXG5cdFx0XHRcdFx0W21hdFJpcHBsZVJhZGl1c109XCIyMFwiXG5cdFx0XHRcdFx0Km5nSWY9XCIhZGlzYWJsZWRcIlxuXHRcdFx0XHQ+PC9zcGFuPlxuXHRcdFx0XHQ8bWF0LWljb24gY2xhc3M9XCJidWktcmFkaW8tcGFuZWwtY2hlY2tlZC1pY29uXCIgKm5nSWY9XCJjaGVja2VkXCI+Y2hlY2tfY2lyY2xlPC9tYXQtaWNvbj5cblx0XHRcdFx0PG1hdC1pY29uICpuZ0lmPVwiIWNoZWNrZWRcIiBjbGFzcz1cImJ1aS1yYWRpby1wYW5lbC1pdGVtLWNpcmNsZS11bmNoZWNrZWRcIj5yYWRpb19idXR0b25fdW5jaGVja2VkPC9tYXQtaWNvbj5cblx0XHRcdDwvc3Bhbj5cblx0XHQ8L2Rpdj5cblx0XHQ8IS0tIFRoZSBhY3R1YWwgJ3JhZGlvJyBwYXJ0IG9mIHRoZSBjb250cm9sLiAtLT5cblx0XHQ8c3BhbiBjbGFzcz1cInJhZGlvLWNvbnRhaW5lclwiPlxuXHRcdFx0PGlucHV0XG5cdFx0XHRcdCNpbnB1dFxuXHRcdFx0XHRjbGFzcz1cIm1hdC1yYWRpby1pbnB1dCBjZGstdmlzdWFsbHktaGlkZGVuXCJcblx0XHRcdFx0dHlwZT1cInJhZGlvXCJcblx0XHRcdFx0W2lkXT1cImlucHV0SWRcIlxuXHRcdFx0XHRbY2hlY2tlZF09XCJjaGVja2VkXCJcblx0XHRcdFx0W2Rpc2FibGVkXT1cImRpc2FibGVkXCJcblx0XHRcdFx0W3RhYkluZGV4XT1cInRhYkluZGV4XCJcblx0XHRcdFx0W2F0dHIubmFtZV09XCJuYW1lXCJcblx0XHRcdFx0W2F0dHIudmFsdWVdPVwidmFsdWVcIlxuXHRcdFx0XHRbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuXHRcdFx0XHRbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiXG5cdFx0XHRcdFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJhcmlhTGFiZWxsZWRieVwiXG5cdFx0XHRcdFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiYXJpYURlc2NyaWJlZGJ5XCJcblx0XHRcdFx0KGNoYW5nZSk9XCJfb25JbnB1dEludGVyYWN0aW9uKCRldmVudClcIlxuXHRcdFx0XHQoY2xpY2spPVwiX29uSW5wdXRJbnRlcmFjdGlvbigkZXZlbnQpXCJcblx0XHRcdC8+XG5cdFx0PC9zcGFuPlxuXG5cdFx0PGRpdiBjbGFzcz1cImJ1aS1sYWJlbC1jb250ZW50LWdhcFwiPjwvZGl2PlxuXHRcdDwhLS0gVGhlIGxhYmVsIGNvbnRlbnQgZm9yIHJhZGlvIGNvbnRyb2wuIC0tPlxuXHRcdDxkaXYgY2xhc3M9XCJidWktbGFiZWwtY29udGVudFwiPlxuXHRcdFx0PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuXHRcdDwvZGl2PlxuXHRcdDxkaXYgY2xhc3M9XCJidWktbGFiZWwtY29udGVudFwiICpuZ0lmPVwiY29udGVudE9uU2VsZWN0ICYmIGNoZWNrZWRcIiBAc2xpZGVJbk91dD5cblx0XHRcdDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50T25TZWxlY3RcIj48L25nLWNvbnRhaW5lcj5cblx0XHQ8L2Rpdj5cblx0PC9kaXY+XG48L2xhYmVsPlxuIl19