@ng-nest/ui 15.0.0 → 15.0.1

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 (196) hide show
  1. package/checkbox/checkbox.component.d.ts +2 -0
  2. package/checkbox/checkbox.property.d.ts +21 -1
  3. package/esm2020/anchor/anchor.component.mjs +1 -2
  4. package/esm2020/checkbox/checkbox.component.mjs +10 -4
  5. package/esm2020/checkbox/checkbox.property.mjs +6 -2
  6. package/esm2020/input/input.property.mjs +6 -2
  7. package/esm2020/radio/radio.component.mjs +11 -4
  8. package/esm2020/radio/radio.module.mjs +5 -4
  9. package/esm2020/radio/radio.property.mjs +6 -2
  10. package/fesm2015/ng-nest-ui-affix.mjs +1 -0
  11. package/fesm2015/ng-nest-ui-alert.mjs +1 -0
  12. package/fesm2015/ng-nest-ui-anchor.mjs +0 -1
  13. package/fesm2015/ng-nest-ui-anchor.mjs.map +1 -1
  14. package/fesm2015/ng-nest-ui-api.mjs +1 -0
  15. package/fesm2015/ng-nest-ui-auto-complete.mjs +1 -0
  16. package/fesm2015/ng-nest-ui-avatar.mjs +1 -0
  17. package/fesm2015/ng-nest-ui-back-top.mjs +1 -0
  18. package/fesm2015/ng-nest-ui-badge.mjs +1 -0
  19. package/fesm2015/ng-nest-ui-base-form.mjs +1 -0
  20. package/fesm2015/ng-nest-ui-border.mjs +1 -0
  21. package/fesm2015/ng-nest-ui-button.mjs +1 -0
  22. package/fesm2015/ng-nest-ui-calendar.mjs +1 -0
  23. package/fesm2015/ng-nest-ui-card.mjs +1 -0
  24. package/fesm2015/ng-nest-ui-carousel.mjs +1 -0
  25. package/fesm2015/ng-nest-ui-cascade.mjs +1 -0
  26. package/fesm2015/ng-nest-ui-checkbox.mjs +14 -4
  27. package/fesm2015/ng-nest-ui-checkbox.mjs.map +1 -1
  28. package/fesm2015/ng-nest-ui-collapse.mjs +1 -0
  29. package/fesm2015/ng-nest-ui-color-picker.mjs +1 -0
  30. package/fesm2015/ng-nest-ui-color.mjs +1 -0
  31. package/fesm2015/ng-nest-ui-comment.mjs +1 -0
  32. package/fesm2015/ng-nest-ui-container.mjs +1 -0
  33. package/fesm2015/ng-nest-ui-core.mjs +1 -0
  34. package/fesm2015/ng-nest-ui-crumb.mjs +1 -0
  35. package/fesm2015/ng-nest-ui-date-picker.mjs +1 -0
  36. package/fesm2015/ng-nest-ui-description.mjs +1 -0
  37. package/fesm2015/ng-nest-ui-dialog.mjs +1 -0
  38. package/fesm2015/ng-nest-ui-doc.mjs +1 -0
  39. package/fesm2015/ng-nest-ui-drawer.mjs +1 -0
  40. package/fesm2015/ng-nest-ui-dropdown.mjs +1 -0
  41. package/fesm2015/ng-nest-ui-empty.mjs +1 -0
  42. package/fesm2015/ng-nest-ui-examples.mjs +1 -0
  43. package/fesm2015/ng-nest-ui-find.mjs +1 -0
  44. package/fesm2015/ng-nest-ui-form.mjs +1 -0
  45. package/fesm2015/ng-nest-ui-highlight.mjs +1 -0
  46. package/fesm2015/ng-nest-ui-i18n.mjs +1 -0
  47. package/fesm2015/ng-nest-ui-icon.mjs +1 -0
  48. package/fesm2015/ng-nest-ui-image.mjs +1 -0
  49. package/fesm2015/ng-nest-ui-inner.mjs +1 -0
  50. package/fesm2015/ng-nest-ui-input-number.mjs +1 -0
  51. package/fesm2015/ng-nest-ui-input.mjs +5 -1
  52. package/fesm2015/ng-nest-ui-input.mjs.map +1 -1
  53. package/fesm2015/ng-nest-ui-keyword.mjs +1 -0
  54. package/fesm2015/ng-nest-ui-layout.mjs +1 -0
  55. package/fesm2015/ng-nest-ui-link.mjs +1 -0
  56. package/fesm2015/ng-nest-ui-list.mjs +1 -0
  57. package/fesm2015/ng-nest-ui-loading.mjs +1 -0
  58. package/fesm2015/ng-nest-ui-menu.mjs +1 -0
  59. package/fesm2015/ng-nest-ui-message-box.mjs +1 -0
  60. package/fesm2015/ng-nest-ui-message.mjs +1 -0
  61. package/fesm2015/ng-nest-ui-notification.mjs +1 -0
  62. package/fesm2015/ng-nest-ui-outlet.mjs +1 -0
  63. package/fesm2015/ng-nest-ui-page-header.mjs +1 -0
  64. package/fesm2015/ng-nest-ui-pagination.mjs +1 -0
  65. package/fesm2015/ng-nest-ui-pattern.mjs +1 -0
  66. package/fesm2015/ng-nest-ui-popconfirm.mjs +1 -0
  67. package/fesm2015/ng-nest-ui-popover.mjs +1 -0
  68. package/fesm2015/ng-nest-ui-portal.mjs +1 -0
  69. package/fesm2015/ng-nest-ui-progress.mjs +1 -0
  70. package/fesm2015/ng-nest-ui-radio.mjs +19 -7
  71. package/fesm2015/ng-nest-ui-radio.mjs.map +1 -1
  72. package/fesm2015/ng-nest-ui-rate.mjs +1 -0
  73. package/fesm2015/ng-nest-ui-resizable.mjs +1 -0
  74. package/fesm2015/ng-nest-ui-result.mjs +1 -0
  75. package/fesm2015/ng-nest-ui-ripple.mjs +1 -0
  76. package/fesm2015/ng-nest-ui-select.mjs +1 -0
  77. package/fesm2015/ng-nest-ui-skeleton.mjs +1 -0
  78. package/fesm2015/ng-nest-ui-slider-select.mjs +1 -0
  79. package/fesm2015/ng-nest-ui-slider.mjs +1 -0
  80. package/fesm2015/ng-nest-ui-statistic.mjs +1 -0
  81. package/fesm2015/ng-nest-ui-steps.mjs +1 -0
  82. package/fesm2015/ng-nest-ui-switch.mjs +1 -0
  83. package/fesm2015/ng-nest-ui-table.mjs +1 -0
  84. package/fesm2015/ng-nest-ui-tabs.mjs +1 -0
  85. package/fesm2015/ng-nest-ui-tag.mjs +1 -0
  86. package/fesm2015/ng-nest-ui-text-retract.mjs +1 -0
  87. package/fesm2015/ng-nest-ui-textarea.mjs +1 -0
  88. package/fesm2015/ng-nest-ui-theme.mjs +1 -0
  89. package/fesm2015/ng-nest-ui-time-ago.mjs +1 -0
  90. package/fesm2015/ng-nest-ui-time-picker.mjs +1 -0
  91. package/fesm2015/ng-nest-ui-time-range.mjs +1 -0
  92. package/fesm2015/ng-nest-ui-timeline.mjs +1 -0
  93. package/fesm2015/ng-nest-ui-tooltip.mjs +1 -0
  94. package/fesm2015/ng-nest-ui-transfer.mjs +1 -0
  95. package/fesm2015/ng-nest-ui-tree-file.mjs +1 -0
  96. package/fesm2015/ng-nest-ui-tree-select.mjs +1 -0
  97. package/fesm2015/ng-nest-ui-tree.mjs +1 -0
  98. package/fesm2015/ng-nest-ui-typography.mjs +1 -0
  99. package/fesm2015/ng-nest-ui-upload.mjs +1 -0
  100. package/fesm2015/ng-nest-ui.mjs +1 -0
  101. package/fesm2020/ng-nest-ui-affix.mjs +1 -0
  102. package/fesm2020/ng-nest-ui-alert.mjs +1 -0
  103. package/fesm2020/ng-nest-ui-anchor.mjs +0 -1
  104. package/fesm2020/ng-nest-ui-anchor.mjs.map +1 -1
  105. package/fesm2020/ng-nest-ui-api.mjs +1 -0
  106. package/fesm2020/ng-nest-ui-auto-complete.mjs +1 -0
  107. package/fesm2020/ng-nest-ui-avatar.mjs +1 -0
  108. package/fesm2020/ng-nest-ui-back-top.mjs +1 -0
  109. package/fesm2020/ng-nest-ui-badge.mjs +1 -0
  110. package/fesm2020/ng-nest-ui-base-form.mjs +1 -0
  111. package/fesm2020/ng-nest-ui-border.mjs +1 -0
  112. package/fesm2020/ng-nest-ui-button.mjs +1 -0
  113. package/fesm2020/ng-nest-ui-calendar.mjs +1 -0
  114. package/fesm2020/ng-nest-ui-card.mjs +1 -0
  115. package/fesm2020/ng-nest-ui-carousel.mjs +1 -0
  116. package/fesm2020/ng-nest-ui-cascade.mjs +1 -0
  117. package/fesm2020/ng-nest-ui-checkbox.mjs +14 -4
  118. package/fesm2020/ng-nest-ui-checkbox.mjs.map +1 -1
  119. package/fesm2020/ng-nest-ui-collapse.mjs +1 -0
  120. package/fesm2020/ng-nest-ui-color-picker.mjs +1 -0
  121. package/fesm2020/ng-nest-ui-color.mjs +1 -0
  122. package/fesm2020/ng-nest-ui-comment.mjs +1 -0
  123. package/fesm2020/ng-nest-ui-container.mjs +1 -0
  124. package/fesm2020/ng-nest-ui-core.mjs +1 -0
  125. package/fesm2020/ng-nest-ui-crumb.mjs +1 -0
  126. package/fesm2020/ng-nest-ui-date-picker.mjs +1 -0
  127. package/fesm2020/ng-nest-ui-description.mjs +1 -0
  128. package/fesm2020/ng-nest-ui-dialog.mjs +1 -0
  129. package/fesm2020/ng-nest-ui-doc.mjs +1 -0
  130. package/fesm2020/ng-nest-ui-drawer.mjs +1 -0
  131. package/fesm2020/ng-nest-ui-dropdown.mjs +1 -0
  132. package/fesm2020/ng-nest-ui-empty.mjs +1 -0
  133. package/fesm2020/ng-nest-ui-examples.mjs +1 -0
  134. package/fesm2020/ng-nest-ui-find.mjs +1 -0
  135. package/fesm2020/ng-nest-ui-form.mjs +1 -0
  136. package/fesm2020/ng-nest-ui-highlight.mjs +1 -0
  137. package/fesm2020/ng-nest-ui-i18n.mjs +1 -0
  138. package/fesm2020/ng-nest-ui-icon.mjs +1 -0
  139. package/fesm2020/ng-nest-ui-image.mjs +1 -0
  140. package/fesm2020/ng-nest-ui-inner.mjs +1 -0
  141. package/fesm2020/ng-nest-ui-input-number.mjs +1 -0
  142. package/fesm2020/ng-nest-ui-input.mjs +5 -1
  143. package/fesm2020/ng-nest-ui-input.mjs.map +1 -1
  144. package/fesm2020/ng-nest-ui-keyword.mjs +1 -0
  145. package/fesm2020/ng-nest-ui-layout.mjs +1 -0
  146. package/fesm2020/ng-nest-ui-link.mjs +1 -0
  147. package/fesm2020/ng-nest-ui-list.mjs +1 -0
  148. package/fesm2020/ng-nest-ui-loading.mjs +1 -0
  149. package/fesm2020/ng-nest-ui-menu.mjs +1 -0
  150. package/fesm2020/ng-nest-ui-message-box.mjs +1 -0
  151. package/fesm2020/ng-nest-ui-message.mjs +1 -0
  152. package/fesm2020/ng-nest-ui-notification.mjs +1 -0
  153. package/fesm2020/ng-nest-ui-outlet.mjs +1 -0
  154. package/fesm2020/ng-nest-ui-page-header.mjs +1 -0
  155. package/fesm2020/ng-nest-ui-pagination.mjs +1 -0
  156. package/fesm2020/ng-nest-ui-pattern.mjs +1 -0
  157. package/fesm2020/ng-nest-ui-popconfirm.mjs +1 -0
  158. package/fesm2020/ng-nest-ui-popover.mjs +1 -0
  159. package/fesm2020/ng-nest-ui-portal.mjs +1 -0
  160. package/fesm2020/ng-nest-ui-progress.mjs +1 -0
  161. package/fesm2020/ng-nest-ui-radio.mjs +19 -7
  162. package/fesm2020/ng-nest-ui-radio.mjs.map +1 -1
  163. package/fesm2020/ng-nest-ui-rate.mjs +1 -0
  164. package/fesm2020/ng-nest-ui-resizable.mjs +1 -0
  165. package/fesm2020/ng-nest-ui-result.mjs +1 -0
  166. package/fesm2020/ng-nest-ui-ripple.mjs +1 -0
  167. package/fesm2020/ng-nest-ui-select.mjs +1 -0
  168. package/fesm2020/ng-nest-ui-skeleton.mjs +1 -0
  169. package/fesm2020/ng-nest-ui-slider-select.mjs +1 -0
  170. package/fesm2020/ng-nest-ui-slider.mjs +1 -0
  171. package/fesm2020/ng-nest-ui-statistic.mjs +1 -0
  172. package/fesm2020/ng-nest-ui-steps.mjs +1 -0
  173. package/fesm2020/ng-nest-ui-switch.mjs +1 -0
  174. package/fesm2020/ng-nest-ui-table.mjs +1 -0
  175. package/fesm2020/ng-nest-ui-tabs.mjs +1 -0
  176. package/fesm2020/ng-nest-ui-tag.mjs +1 -0
  177. package/fesm2020/ng-nest-ui-text-retract.mjs +1 -0
  178. package/fesm2020/ng-nest-ui-textarea.mjs +1 -0
  179. package/fesm2020/ng-nest-ui-theme.mjs +1 -0
  180. package/fesm2020/ng-nest-ui-time-ago.mjs +1 -0
  181. package/fesm2020/ng-nest-ui-time-picker.mjs +1 -0
  182. package/fesm2020/ng-nest-ui-time-range.mjs +1 -0
  183. package/fesm2020/ng-nest-ui-timeline.mjs +1 -0
  184. package/fesm2020/ng-nest-ui-tooltip.mjs +1 -0
  185. package/fesm2020/ng-nest-ui-transfer.mjs +1 -0
  186. package/fesm2020/ng-nest-ui-tree-file.mjs +1 -0
  187. package/fesm2020/ng-nest-ui-tree-select.mjs +1 -0
  188. package/fesm2020/ng-nest-ui-tree.mjs +1 -0
  189. package/fesm2020/ng-nest-ui-typography.mjs +1 -0
  190. package/fesm2020/ng-nest-ui-upload.mjs +1 -0
  191. package/fesm2020/ng-nest-ui.mjs +1 -0
  192. package/input/input.property.d.ts +11 -1
  193. package/package.json +1 -1
  194. package/radio/radio.component.d.ts +2 -0
  195. package/radio/radio.module.d.ts +3 -2
  196. package/radio/radio.property.d.ts +22 -2
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, Input, ViewEncapsulation, ChangeDetectionStrategy, ViewChild, NgModule } from '@angular/core';
2
+ import { Component, Input, TemplateRef, ViewEncapsulation, ChangeDetectionStrategy, ViewChild, NgModule } from '@angular/core';
3
3
  import { __decorate } from 'tslib';
4
4
  import * as i1 from '@ng-nest/ui/core';
5
5
  import { XDataConvert, XInputBoolean, XWithConfig, XIsChange, XClearClass, XSetData } from '@ng-nest/ui/core';
@@ -9,6 +9,8 @@ import * as i2 from '@angular/common';
9
9
  import { CommonModule } from '@angular/common';
10
10
  import * as i3 from '@ng-nest/ui/button';
11
11
  import { XButtonModule } from '@ng-nest/ui/button';
12
+ import * as i4 from '@ng-nest/ui/outlet';
13
+ import { XOutletModule } from '@ng-nest/ui/outlet';
12
14
  import { FormsModule } from '@angular/forms';
13
15
 
14
16
  /**
@@ -37,7 +39,7 @@ class XRadioProperty extends XControlValueAccessor {
37
39
  }
38
40
  }
39
41
  /** @nocollapse */ XRadioProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XRadioProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
40
- /** @nocollapse */ XRadioProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: XRadioProperty, selector: "ng-component", inputs: { data: "data", button: "button", icon: "icon", size: "size", type: "type" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
42
+ /** @nocollapse */ XRadioProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: XRadioProperty, selector: "ng-component", inputs: { data: "data", button: "button", icon: "icon", size: "size", type: "type", before: "before", after: "after" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
41
43
  __decorate([
42
44
  XDataConvert()
43
45
  ], XRadioProperty.prototype, "data", void 0);
@@ -63,6 +65,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
63
65
  type: Input
64
66
  }], type: [{
65
67
  type: Input
68
+ }], before: [{
69
+ type: Input
70
+ }], after: [{
71
+ type: Input
66
72
  }] } });
67
73
 
68
74
  class XRadioComponent extends XRadioProperty {
@@ -75,6 +81,12 @@ class XRadioComponent extends XRadioProperty {
75
81
  this.nodes = [];
76
82
  this._unSubject = new Subject();
77
83
  }
84
+ get beforeIsTemplate() {
85
+ return this.before instanceof TemplateRef;
86
+ }
87
+ get afterIsTemplate() {
88
+ return this.after instanceof TemplateRef;
89
+ }
78
90
  ngOnInit() {
79
91
  this.setFlex(this.radio.nativeElement, this.renderer, this.justify, this.align, this.direction);
80
92
  this.setClassMap();
@@ -121,10 +133,10 @@ class XRadioComponent extends XRadioProperty {
121
133
  }
122
134
  }
123
135
  /** @nocollapse */ XRadioComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XRadioComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
124
- /** @nocollapse */ XRadioComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: XRadioComponent, selector: "x-radio", providers: [XValueAccessor(XRadioComponent)], viewQueries: [{ propertyName: "radio", first: true, predicate: ["radio"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\r\n #radio\r\n class=\"x-radio\"\r\n [class.x-flex]=\"justify || align || direction\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-required]=\"requiredIsEmpty\"\r\n [class.x-invalid]=\"invalid\"\r\n>\r\n <label *ngIf=\"label\" [class.x-radio-label-required]=\"required\" [style.width]=\"labelWidth\" [ngClass]=\"labelMap\">{{ label }}</label>\r\n <ng-container *ngIf=\"button || icon; else default\">\r\n <x-buttons>\r\n <x-button\r\n *ngFor=\"let item of nodes; trackBy: trackByItem\"\r\n [icon]=\"item.icon\"\r\n [size]=\"size\"\r\n [type]=\"type\"\r\n [activated]=\"item.id === value\"\r\n [disabled]=\"disabled || item.disabled\"\r\n attrType=\"button\"\r\n (click)=\"radioClick($event, item)\"\r\n >{{ item.label }}</x-button\r\n >\r\n </x-buttons>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #default>\r\n <div class=\"x-radio-row\">\r\n <div\r\n class=\"x-radio-item\"\r\n *ngFor=\"let item of nodes; trackBy: trackByItem\"\r\n [class.x-checked]=\"item.id === value\"\r\n [class.x-disabled]=\"item.disabled\"\r\n (click)=\"radioClick($event, item)\"\r\n >\r\n <span class=\"x-radio-box\"></span>\r\n <span class=\"x-radio-label\">{{ item.label }}</span>\r\n </div>\r\n </div>\r\n</ng-template>\r\n", styles: [".x-radio{margin:0;padding:0;width:100%}.x-radio.x-flex{display:flex}.x-radio.x-justify-start{justify-content:flex-start}.x-radio.x-justify-center{justify-content:center}.x-radio.x-justify-end{justify-content:flex-end}.x-radio.x-justify-space-between{justify-content:space-between}.x-radio.x-justify-space-around{justify-content:space-around}.x-radio.x-align-start{align-items:flex-start}.x-radio.x-align-center{align-items:center}.x-radio.x-align-end{align-items:flex-end}.x-radio.x-direction-column{flex-direction:column}.x-radio.x-direction-column-reverse{flex-direction:column-reverse}.x-radio.x-direction-row{flex-direction:row}.x-radio.x-direction-row-reverse{flex-direction:row-reverse}.x-radio>label{display:inline-block;white-space:nowrap;height:calc(var(--x-font-size) + .875rem);line-height:calc(var(--x-font-size) + .875rem);position:relative;color:var(--x-text-300);font-weight:600}.x-radio>label.x-text-align-start{text-align:start}.x-radio>label.x-text-align-center{text-align:center}.x-radio>label.x-text-align-end{text-align:end}.x-radio-row{flex:1;align-items:center;position:relative;height:calc(var(--x-font-size) + .875rem);line-height:calc(var(--x-font-size) + .875rem)}.x-radio-item{position:relative;display:inline-flex;align-items:center;white-space:nowrap;outline:none;margin-right:.875rem;font-size:.875rem;cursor:pointer;transition:all .3s}.x-radio-item:hover{color:var(--x-primary)}.x-radio-item:hover .x-radio-box{border-color:var(--x-primary)}.x-radio-item:last-child{margin-right:0}.x-radio-item.x-checked .x-radio-box{border-color:var(--x-primary)}.x-radio-item.x-checked .x-radio-box:after{transform:scale(1);opacity:1}.x-radio-item.x-disabled{color:var(--x-text-400);cursor:not-allowed}.x-radio-item.x-disabled .x-radio-box{border-color:var(--x-border-100);background-color:var(--x-border-300)}.x-radio-item.x-disabled .x-radio-box:after{background-color:var(--x-text-400)}.x-radio-box{border:.0625rem solid var(--x-border);border-radius:100%;width:1rem;height:1rem;background-color:var(--x-background-a100);position:relative;box-sizing:border-box;transition:all .3s;display:inline-flex;align-items:center;justify-content:center}.x-radio-box:hover{border-color:var(--x-primary)}.x-radio-box:after{position:absolute;display:inline-block;width:.5rem;height:.5rem;background-color:var(--x-primary);border-radius:1rem;transform:scale(0);opacity:0;transition:all .3s cubic-bezier(.78,.14,.15,.86);content:\" \"}.x-radio-label{margin-left:.325rem}.x-radio-label-required:before{display:inline-block;margin-right:.25rem;color:var(--x-danger);line-height:1;font-size:var(--x-font-size-small);content:\"*\"}.x-radio.x-disabled .x-radio-item{color:var(--x-text-400);cursor:not-allowed}.x-radio.x-disabled .x-radio-item .x-radio-box{border-color:var(--x-border-100);background-color:var(--x-border-300)}.x-radio.x-disabled .x-radio-item .x-radio-box:after{background-color:var(--x-text-400)}.x-radio.x-invalid>label,.x-radio.x-required>label{color:var(--x-danger)}.x-radio.x-direction-row>label{padding:0 .5rem 0 0}.x-radio.x-direction-row-reverse>label{padding:0 0 0 .5rem}.x-radio.x-direction-column,.x-radio.x-direction-column-reverse{align-items:inherit}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.XButtonComponent, selector: "x-button" }, { kind: "component", type: i3.XButtonsComponent, selector: "x-buttons" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
136
+ /** @nocollapse */ XRadioComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: XRadioComponent, selector: "x-radio", providers: [XValueAccessor(XRadioComponent)], viewQueries: [{ propertyName: "radio", first: true, predicate: ["radio"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\r\n #radio\r\n class=\"x-radio\"\r\n [class.x-flex]=\"justify || align || direction\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-required]=\"requiredIsEmpty\"\r\n [class.x-invalid]=\"invalid\"\r\n [class.x-radio-button]=\"button\"\r\n [class.x-radio-icon]=\"icon\"\r\n [class.x-radio-after]=\"after\"\r\n [class.x-radio-before]=\"before\"\r\n [class.x-radio-after-template]=\"afterIsTemplate\"\r\n [class.x-radio-before-template]=\"beforeIsTemplate\"\r\n>\r\n <label *ngIf=\"label\" [class.x-radio-label-required]=\"required\" [style.width]=\"labelWidth\" [ngClass]=\"labelMap\">{{ label }}</label>\r\n <div class=\"x-radio-row\">\r\n <div class=\"x-radio-row-before\" *ngIf=\"before\">\r\n <ng-container *xOutlet=\"before\">{{ before }}</ng-container>\r\n </div>\r\n <div class=\"x-radio-row-list\">\r\n <ng-container *ngIf=\"button || icon; else default\">\r\n <x-buttons>\r\n <x-button\r\n *ngFor=\"let item of nodes; trackBy: trackByItem\"\r\n [icon]=\"item.icon\"\r\n [size]=\"size\"\r\n [type]=\"type\"\r\n [activated]=\"item.id === value\"\r\n [disabled]=\"disabled || item.disabled\"\r\n attrType=\"button\"\r\n (click)=\"radioClick($event, item)\"\r\n >{{ item.label }}</x-button\r\n >\r\n </x-buttons>\r\n </ng-container>\r\n </div>\r\n <div class=\"x-radio-row-after\" *ngIf=\"after\">\r\n <ng-container *xOutlet=\"after\">{{ after }}</ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template #default>\r\n <div\r\n class=\"x-radio-row-item\"\r\n *ngFor=\"let item of nodes; trackBy: trackByItem\"\r\n [class.x-checked]=\"item.id === value\"\r\n [class.x-disabled]=\"item.disabled\"\r\n (click)=\"radioClick($event, item)\"\r\n >\r\n <span class=\"x-radio-box\"></span>\r\n <span class=\"x-radio-label\">{{ item.label }}</span>\r\n </div>\r\n</ng-template>\r\n", styles: [".x-radio{margin:0;padding:0;width:100%}.x-radio.x-flex{display:flex}.x-radio.x-justify-start{justify-content:flex-start}.x-radio.x-justify-center{justify-content:center}.x-radio.x-justify-end{justify-content:flex-end}.x-radio.x-justify-space-between{justify-content:space-between}.x-radio.x-justify-space-around{justify-content:space-around}.x-radio.x-align-start{align-items:flex-start}.x-radio.x-align-center{align-items:center}.x-radio.x-align-end{align-items:flex-end}.x-radio.x-direction-column{flex-direction:column}.x-radio.x-direction-column-reverse{flex-direction:column-reverse}.x-radio.x-direction-row{flex-direction:row}.x-radio.x-direction-row-reverse{flex-direction:row-reverse}.x-radio>label{display:inline-block;white-space:nowrap;height:calc(var(--x-font-size) + .875rem);line-height:calc(var(--x-font-size) + .875rem);position:relative;color:var(--x-text-300);font-weight:600}.x-radio>label.x-text-align-start{text-align:start}.x-radio>label.x-text-align-center{text-align:center}.x-radio>label.x-text-align-end{text-align:end}.x-radio-row{flex:1;display:flex;align-items:center;flex-wrap:wrap;height:calc(var(--x-font-size) + .875rem);line-height:calc(var(--x-font-size) + .875rem)}.x-radio-row .x-radio-row-before,.x-radio-row .x-radio-row-after{border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius);background-color:var(--x-background-a100);padding:0 var(--x-padding-medium);height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-radio-row-list{position:relative;display:inline-flex;align-items:center}.x-radio-row-item{position:relative;display:inline-flex;align-items:center;white-space:nowrap;outline:none;margin-right:.875rem;font-size:.875rem;cursor:pointer;transition:all .3s}.x-radio-row-item:hover{color:var(--x-primary)}.x-radio-row-item:hover .x-radio-box{border-color:var(--x-primary)}.x-radio-row-item:last-child{margin-right:0}.x-radio-row-item.x-checked .x-radio-box{border-color:var(--x-primary)}.x-radio-row-item.x-checked .x-radio-box:after{transform:scale(1);opacity:1}.x-radio-row-item.x-disabled{color:var(--x-text-400);cursor:not-allowed}.x-radio-row-item.x-disabled .x-radio-box{border-color:var(--x-border-100);background-color:var(--x-border-300)}.x-radio-row-item.x-disabled .x-radio-box:after{background-color:var(--x-text-400)}.x-radio-button .x-radio-row-before,.x-radio-icon .x-radio-row-before{margin-right:0}.x-radio-button .x-radio-row-after,.x-radio-icon .x-radio-row-after{margin-left:0}.x-radio-box{border:.0625rem solid var(--x-border);border-radius:100%;width:1rem;height:1rem;background-color:var(--x-background-a100);position:relative;box-sizing:border-box;transition:all .3s;display:inline-flex;align-items:center;justify-content:center}.x-radio-box:hover{border-color:var(--x-primary)}.x-radio-box:after{position:absolute;display:inline-block;width:.5rem;height:.5rem;background-color:var(--x-primary);border-radius:1rem;transform:scale(0);opacity:0;transition:all .3s cubic-bezier(.78,.14,.15,.86);content:\" \"}.x-radio-label{margin-left:.325rem}.x-radio-label-required:before{display:inline-block;margin-right:.25rem;color:var(--x-danger);line-height:1;font-size:var(--x-font-size-small);content:\"*\"}.x-radio-before:not(.x-radio-before-template,.x-radio-button,.x-radio-icon) .x-radio-row-before{margin-right:var(--x-padding-medium)}.x-radio-before.x-radio-button .x-buttons:not(.x-buttons-space)>x-button:first-child .x-button,.x-radio-before.x-radio-icon .x-buttons:not(.x-buttons-space)>x-button:first-child .x-button{border-top-left-radius:0;border-bottom-left-radius:0}.x-radio-before.x-radio-button .x-radio-row-before,.x-radio-before.x-radio-icon .x-radio-row-before{margin-right:0;border-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.x-radio-before-template .x-radio-row-before{display:contents}.x-radio-before-template .x-radio-row-list{margin-left:var(--x-padding-medium)}.x-radio-before-template.x-radio-button .x-radio-row-list,.x-radio-before-template.x-radio-icon .x-radio-row-list{margin-left:0}.x-radio-before-template.x-radio-button .x-radio-row-list .x-button,.x-radio-before-template.x-radio-icon .x-radio-row-list .x-button{margin-left:calc(var(--x-border-width) * -1)}.x-radio-before-template.x-radio-button .x-radio-row-list .x-button:hover,.x-radio-before-template.x-radio-button .x-radio-row-list .x-button:focus,.x-radio-before-template.x-radio-icon .x-radio-row-list .x-button:hover,.x-radio-before-template.x-radio-icon .x-radio-row-list .x-button:focus{z-index:1}.x-radio-before-template.x-radio-button .x-radio-row-before input:hover,.x-radio-before-template.x-radio-button .x-radio-row-before input:focus,.x-radio-before-template.x-radio-button .x-radio-row-before .x-button:hover,.x-radio-before-template.x-radio-button .x-radio-row-before .x-button:focus,.x-radio-before-template.x-radio-icon .x-radio-row-before input:hover,.x-radio-before-template.x-radio-icon .x-radio-row-before input:focus,.x-radio-before-template.x-radio-icon .x-radio-row-before .x-button:hover,.x-radio-before-template.x-radio-icon .x-radio-row-before .x-button:focus{z-index:1}.x-radio-before-template.x-radio-button .x-radio-row-before input,.x-radio-before-template.x-radio-button .x-radio-row-before .x-button,.x-radio-before-template.x-radio-icon .x-radio-row-before input,.x-radio-before-template.x-radio-icon .x-radio-row-before .x-button{border-top-right-radius:0;border-bottom-right-radius:0}.x-radio-after:not(.x-radio-before-template,.x-radio-button,.x-radio-icon) .x-radio-row-after{margin-left:var(--x-padding-medium)}.x-radio-after.x-radio-button .x-buttons:not(.x-buttons-space)>x-button:last-child .x-button,.x-radio-after.x-radio-icon .x-buttons:not(.x-buttons-space)>x-button:last-child .x-button{border-top-right-radius:0;border-bottom-right-radius:0}.x-radio-after.x-radio-button .x-radio-row-after,.x-radio-after.x-radio-icon .x-radio-row-after{margin-left:0;border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.x-radio-after-template .x-radio-row-after{display:contents}.x-radio-after-template .x-radio-row-list{margin-right:var(--x-padding-medium)}.x-radio-after-template.x-radio-button .x-radio-row-list,.x-radio-after-template.x-radio-icon .x-radio-row-list{margin-right:0}.x-radio-after-template.x-radio-button .x-radio-row-list .x-button,.x-radio-after-template.x-radio-icon .x-radio-row-list .x-button{margin-right:calc(var(--x-border-width) * -1)}.x-radio-after-template.x-radio-button .x-radio-row-list .x-button:hover,.x-radio-after-template.x-radio-button .x-radio-row-list .x-button:focus,.x-radio-after-template.x-radio-icon .x-radio-row-list .x-button:hover,.x-radio-after-template.x-radio-icon .x-radio-row-list .x-button:focus{z-index:1}.x-radio-after-template.x-radio-button .x-radio-row-after input:hover,.x-radio-after-template.x-radio-button .x-radio-row-after input:focus,.x-radio-after-template.x-radio-button .x-radio-row-after .x-button:hover,.x-radio-after-template.x-radio-button .x-radio-row-after .x-button:focus,.x-radio-after-template.x-radio-icon .x-radio-row-after input:hover,.x-radio-after-template.x-radio-icon .x-radio-row-after input:focus,.x-radio-after-template.x-radio-icon .x-radio-row-after .x-button:hover,.x-radio-after-template.x-radio-icon .x-radio-row-after .x-button:focus{z-index:1}.x-radio-after-template.x-radio-button .x-radio-row-after input,.x-radio-after-template.x-radio-button .x-radio-row-after .x-button,.x-radio-after-template.x-radio-icon .x-radio-row-after input,.x-radio-after-template.x-radio-icon .x-radio-row-after .x-button{border-top-left-radius:0;border-bottom-left-radius:0}.x-radio.x-disabled .x-radio-item{color:var(--x-text-400);cursor:not-allowed}.x-radio.x-disabled .x-radio-item .x-radio-box{border-color:var(--x-border-100);background-color:var(--x-border-300)}.x-radio.x-disabled .x-radio-item .x-radio-box:after{background-color:var(--x-text-400)}.x-radio.x-invalid>label,.x-radio.x-required>label{color:var(--x-danger)}.x-radio.x-direction-row>label{padding:0 .5rem 0 0}.x-radio.x-direction-row-reverse>label{padding:0 0 0 .5rem}.x-radio.x-direction-column,.x-radio.x-direction-column-reverse{align-items:inherit}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.XButtonComponent, selector: "x-button" }, { kind: "component", type: i3.XButtonsComponent, selector: "x-buttons" }, { kind: "directive", type: i4.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
125
137
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XRadioComponent, decorators: [{
126
138
  type: Component,
127
- args: [{ selector: `${XRadioPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XRadioComponent)], template: "<div\r\n #radio\r\n class=\"x-radio\"\r\n [class.x-flex]=\"justify || align || direction\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-required]=\"requiredIsEmpty\"\r\n [class.x-invalid]=\"invalid\"\r\n>\r\n <label *ngIf=\"label\" [class.x-radio-label-required]=\"required\" [style.width]=\"labelWidth\" [ngClass]=\"labelMap\">{{ label }}</label>\r\n <ng-container *ngIf=\"button || icon; else default\">\r\n <x-buttons>\r\n <x-button\r\n *ngFor=\"let item of nodes; trackBy: trackByItem\"\r\n [icon]=\"item.icon\"\r\n [size]=\"size\"\r\n [type]=\"type\"\r\n [activated]=\"item.id === value\"\r\n [disabled]=\"disabled || item.disabled\"\r\n attrType=\"button\"\r\n (click)=\"radioClick($event, item)\"\r\n >{{ item.label }}</x-button\r\n >\r\n </x-buttons>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #default>\r\n <div class=\"x-radio-row\">\r\n <div\r\n class=\"x-radio-item\"\r\n *ngFor=\"let item of nodes; trackBy: trackByItem\"\r\n [class.x-checked]=\"item.id === value\"\r\n [class.x-disabled]=\"item.disabled\"\r\n (click)=\"radioClick($event, item)\"\r\n >\r\n <span class=\"x-radio-box\"></span>\r\n <span class=\"x-radio-label\">{{ item.label }}</span>\r\n </div>\r\n </div>\r\n</ng-template>\r\n", styles: [".x-radio{margin:0;padding:0;width:100%}.x-radio.x-flex{display:flex}.x-radio.x-justify-start{justify-content:flex-start}.x-radio.x-justify-center{justify-content:center}.x-radio.x-justify-end{justify-content:flex-end}.x-radio.x-justify-space-between{justify-content:space-between}.x-radio.x-justify-space-around{justify-content:space-around}.x-radio.x-align-start{align-items:flex-start}.x-radio.x-align-center{align-items:center}.x-radio.x-align-end{align-items:flex-end}.x-radio.x-direction-column{flex-direction:column}.x-radio.x-direction-column-reverse{flex-direction:column-reverse}.x-radio.x-direction-row{flex-direction:row}.x-radio.x-direction-row-reverse{flex-direction:row-reverse}.x-radio>label{display:inline-block;white-space:nowrap;height:calc(var(--x-font-size) + .875rem);line-height:calc(var(--x-font-size) + .875rem);position:relative;color:var(--x-text-300);font-weight:600}.x-radio>label.x-text-align-start{text-align:start}.x-radio>label.x-text-align-center{text-align:center}.x-radio>label.x-text-align-end{text-align:end}.x-radio-row{flex:1;align-items:center;position:relative;height:calc(var(--x-font-size) + .875rem);line-height:calc(var(--x-font-size) + .875rem)}.x-radio-item{position:relative;display:inline-flex;align-items:center;white-space:nowrap;outline:none;margin-right:.875rem;font-size:.875rem;cursor:pointer;transition:all .3s}.x-radio-item:hover{color:var(--x-primary)}.x-radio-item:hover .x-radio-box{border-color:var(--x-primary)}.x-radio-item:last-child{margin-right:0}.x-radio-item.x-checked .x-radio-box{border-color:var(--x-primary)}.x-radio-item.x-checked .x-radio-box:after{transform:scale(1);opacity:1}.x-radio-item.x-disabled{color:var(--x-text-400);cursor:not-allowed}.x-radio-item.x-disabled .x-radio-box{border-color:var(--x-border-100);background-color:var(--x-border-300)}.x-radio-item.x-disabled .x-radio-box:after{background-color:var(--x-text-400)}.x-radio-box{border:.0625rem solid var(--x-border);border-radius:100%;width:1rem;height:1rem;background-color:var(--x-background-a100);position:relative;box-sizing:border-box;transition:all .3s;display:inline-flex;align-items:center;justify-content:center}.x-radio-box:hover{border-color:var(--x-primary)}.x-radio-box:after{position:absolute;display:inline-block;width:.5rem;height:.5rem;background-color:var(--x-primary);border-radius:1rem;transform:scale(0);opacity:0;transition:all .3s cubic-bezier(.78,.14,.15,.86);content:\" \"}.x-radio-label{margin-left:.325rem}.x-radio-label-required:before{display:inline-block;margin-right:.25rem;color:var(--x-danger);line-height:1;font-size:var(--x-font-size-small);content:\"*\"}.x-radio.x-disabled .x-radio-item{color:var(--x-text-400);cursor:not-allowed}.x-radio.x-disabled .x-radio-item .x-radio-box{border-color:var(--x-border-100);background-color:var(--x-border-300)}.x-radio.x-disabled .x-radio-item .x-radio-box:after{background-color:var(--x-text-400)}.x-radio.x-invalid>label,.x-radio.x-required>label{color:var(--x-danger)}.x-radio.x-direction-row>label{padding:0 .5rem 0 0}.x-radio.x-direction-row-reverse>label{padding:0 0 0 .5rem}.x-radio.x-direction-column,.x-radio.x-direction-column-reverse{align-items:inherit}\n"] }]
139
+ args: [{ selector: `${XRadioPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XRadioComponent)], template: "<div\r\n #radio\r\n class=\"x-radio\"\r\n [class.x-flex]=\"justify || align || direction\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-required]=\"requiredIsEmpty\"\r\n [class.x-invalid]=\"invalid\"\r\n [class.x-radio-button]=\"button\"\r\n [class.x-radio-icon]=\"icon\"\r\n [class.x-radio-after]=\"after\"\r\n [class.x-radio-before]=\"before\"\r\n [class.x-radio-after-template]=\"afterIsTemplate\"\r\n [class.x-radio-before-template]=\"beforeIsTemplate\"\r\n>\r\n <label *ngIf=\"label\" [class.x-radio-label-required]=\"required\" [style.width]=\"labelWidth\" [ngClass]=\"labelMap\">{{ label }}</label>\r\n <div class=\"x-radio-row\">\r\n <div class=\"x-radio-row-before\" *ngIf=\"before\">\r\n <ng-container *xOutlet=\"before\">{{ before }}</ng-container>\r\n </div>\r\n <div class=\"x-radio-row-list\">\r\n <ng-container *ngIf=\"button || icon; else default\">\r\n <x-buttons>\r\n <x-button\r\n *ngFor=\"let item of nodes; trackBy: trackByItem\"\r\n [icon]=\"item.icon\"\r\n [size]=\"size\"\r\n [type]=\"type\"\r\n [activated]=\"item.id === value\"\r\n [disabled]=\"disabled || item.disabled\"\r\n attrType=\"button\"\r\n (click)=\"radioClick($event, item)\"\r\n >{{ item.label }}</x-button\r\n >\r\n </x-buttons>\r\n </ng-container>\r\n </div>\r\n <div class=\"x-radio-row-after\" *ngIf=\"after\">\r\n <ng-container *xOutlet=\"after\">{{ after }}</ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template #default>\r\n <div\r\n class=\"x-radio-row-item\"\r\n *ngFor=\"let item of nodes; trackBy: trackByItem\"\r\n [class.x-checked]=\"item.id === value\"\r\n [class.x-disabled]=\"item.disabled\"\r\n (click)=\"radioClick($event, item)\"\r\n >\r\n <span class=\"x-radio-box\"></span>\r\n <span class=\"x-radio-label\">{{ item.label }}</span>\r\n </div>\r\n</ng-template>\r\n", styles: [".x-radio{margin:0;padding:0;width:100%}.x-radio.x-flex{display:flex}.x-radio.x-justify-start{justify-content:flex-start}.x-radio.x-justify-center{justify-content:center}.x-radio.x-justify-end{justify-content:flex-end}.x-radio.x-justify-space-between{justify-content:space-between}.x-radio.x-justify-space-around{justify-content:space-around}.x-radio.x-align-start{align-items:flex-start}.x-radio.x-align-center{align-items:center}.x-radio.x-align-end{align-items:flex-end}.x-radio.x-direction-column{flex-direction:column}.x-radio.x-direction-column-reverse{flex-direction:column-reverse}.x-radio.x-direction-row{flex-direction:row}.x-radio.x-direction-row-reverse{flex-direction:row-reverse}.x-radio>label{display:inline-block;white-space:nowrap;height:calc(var(--x-font-size) + .875rem);line-height:calc(var(--x-font-size) + .875rem);position:relative;color:var(--x-text-300);font-weight:600}.x-radio>label.x-text-align-start{text-align:start}.x-radio>label.x-text-align-center{text-align:center}.x-radio>label.x-text-align-end{text-align:end}.x-radio-row{flex:1;display:flex;align-items:center;flex-wrap:wrap;height:calc(var(--x-font-size) + .875rem);line-height:calc(var(--x-font-size) + .875rem)}.x-radio-row .x-radio-row-before,.x-radio-row .x-radio-row-after{border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius);background-color:var(--x-background-a100);padding:0 var(--x-padding-medium);height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-radio-row-list{position:relative;display:inline-flex;align-items:center}.x-radio-row-item{position:relative;display:inline-flex;align-items:center;white-space:nowrap;outline:none;margin-right:.875rem;font-size:.875rem;cursor:pointer;transition:all .3s}.x-radio-row-item:hover{color:var(--x-primary)}.x-radio-row-item:hover .x-radio-box{border-color:var(--x-primary)}.x-radio-row-item:last-child{margin-right:0}.x-radio-row-item.x-checked .x-radio-box{border-color:var(--x-primary)}.x-radio-row-item.x-checked .x-radio-box:after{transform:scale(1);opacity:1}.x-radio-row-item.x-disabled{color:var(--x-text-400);cursor:not-allowed}.x-radio-row-item.x-disabled .x-radio-box{border-color:var(--x-border-100);background-color:var(--x-border-300)}.x-radio-row-item.x-disabled .x-radio-box:after{background-color:var(--x-text-400)}.x-radio-button .x-radio-row-before,.x-radio-icon .x-radio-row-before{margin-right:0}.x-radio-button .x-radio-row-after,.x-radio-icon .x-radio-row-after{margin-left:0}.x-radio-box{border:.0625rem solid var(--x-border);border-radius:100%;width:1rem;height:1rem;background-color:var(--x-background-a100);position:relative;box-sizing:border-box;transition:all .3s;display:inline-flex;align-items:center;justify-content:center}.x-radio-box:hover{border-color:var(--x-primary)}.x-radio-box:after{position:absolute;display:inline-block;width:.5rem;height:.5rem;background-color:var(--x-primary);border-radius:1rem;transform:scale(0);opacity:0;transition:all .3s cubic-bezier(.78,.14,.15,.86);content:\" \"}.x-radio-label{margin-left:.325rem}.x-radio-label-required:before{display:inline-block;margin-right:.25rem;color:var(--x-danger);line-height:1;font-size:var(--x-font-size-small);content:\"*\"}.x-radio-before:not(.x-radio-before-template,.x-radio-button,.x-radio-icon) .x-radio-row-before{margin-right:var(--x-padding-medium)}.x-radio-before.x-radio-button .x-buttons:not(.x-buttons-space)>x-button:first-child .x-button,.x-radio-before.x-radio-icon .x-buttons:not(.x-buttons-space)>x-button:first-child .x-button{border-top-left-radius:0;border-bottom-left-radius:0}.x-radio-before.x-radio-button .x-radio-row-before,.x-radio-before.x-radio-icon .x-radio-row-before{margin-right:0;border-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.x-radio-before-template .x-radio-row-before{display:contents}.x-radio-before-template .x-radio-row-list{margin-left:var(--x-padding-medium)}.x-radio-before-template.x-radio-button .x-radio-row-list,.x-radio-before-template.x-radio-icon .x-radio-row-list{margin-left:0}.x-radio-before-template.x-radio-button .x-radio-row-list .x-button,.x-radio-before-template.x-radio-icon .x-radio-row-list .x-button{margin-left:calc(var(--x-border-width) * -1)}.x-radio-before-template.x-radio-button .x-radio-row-list .x-button:hover,.x-radio-before-template.x-radio-button .x-radio-row-list .x-button:focus,.x-radio-before-template.x-radio-icon .x-radio-row-list .x-button:hover,.x-radio-before-template.x-radio-icon .x-radio-row-list .x-button:focus{z-index:1}.x-radio-before-template.x-radio-button .x-radio-row-before input:hover,.x-radio-before-template.x-radio-button .x-radio-row-before input:focus,.x-radio-before-template.x-radio-button .x-radio-row-before .x-button:hover,.x-radio-before-template.x-radio-button .x-radio-row-before .x-button:focus,.x-radio-before-template.x-radio-icon .x-radio-row-before input:hover,.x-radio-before-template.x-radio-icon .x-radio-row-before input:focus,.x-radio-before-template.x-radio-icon .x-radio-row-before .x-button:hover,.x-radio-before-template.x-radio-icon .x-radio-row-before .x-button:focus{z-index:1}.x-radio-before-template.x-radio-button .x-radio-row-before input,.x-radio-before-template.x-radio-button .x-radio-row-before .x-button,.x-radio-before-template.x-radio-icon .x-radio-row-before input,.x-radio-before-template.x-radio-icon .x-radio-row-before .x-button{border-top-right-radius:0;border-bottom-right-radius:0}.x-radio-after:not(.x-radio-before-template,.x-radio-button,.x-radio-icon) .x-radio-row-after{margin-left:var(--x-padding-medium)}.x-radio-after.x-radio-button .x-buttons:not(.x-buttons-space)>x-button:last-child .x-button,.x-radio-after.x-radio-icon .x-buttons:not(.x-buttons-space)>x-button:last-child .x-button{border-top-right-radius:0;border-bottom-right-radius:0}.x-radio-after.x-radio-button .x-radio-row-after,.x-radio-after.x-radio-icon .x-radio-row-after{margin-left:0;border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.x-radio-after-template .x-radio-row-after{display:contents}.x-radio-after-template .x-radio-row-list{margin-right:var(--x-padding-medium)}.x-radio-after-template.x-radio-button .x-radio-row-list,.x-radio-after-template.x-radio-icon .x-radio-row-list{margin-right:0}.x-radio-after-template.x-radio-button .x-radio-row-list .x-button,.x-radio-after-template.x-radio-icon .x-radio-row-list .x-button{margin-right:calc(var(--x-border-width) * -1)}.x-radio-after-template.x-radio-button .x-radio-row-list .x-button:hover,.x-radio-after-template.x-radio-button .x-radio-row-list .x-button:focus,.x-radio-after-template.x-radio-icon .x-radio-row-list .x-button:hover,.x-radio-after-template.x-radio-icon .x-radio-row-list .x-button:focus{z-index:1}.x-radio-after-template.x-radio-button .x-radio-row-after input:hover,.x-radio-after-template.x-radio-button .x-radio-row-after input:focus,.x-radio-after-template.x-radio-button .x-radio-row-after .x-button:hover,.x-radio-after-template.x-radio-button .x-radio-row-after .x-button:focus,.x-radio-after-template.x-radio-icon .x-radio-row-after input:hover,.x-radio-after-template.x-radio-icon .x-radio-row-after input:focus,.x-radio-after-template.x-radio-icon .x-radio-row-after .x-button:hover,.x-radio-after-template.x-radio-icon .x-radio-row-after .x-button:focus{z-index:1}.x-radio-after-template.x-radio-button .x-radio-row-after input,.x-radio-after-template.x-radio-button .x-radio-row-after .x-button,.x-radio-after-template.x-radio-icon .x-radio-row-after input,.x-radio-after-template.x-radio-icon .x-radio-row-after .x-button{border-top-left-radius:0;border-bottom-left-radius:0}.x-radio.x-disabled .x-radio-item{color:var(--x-text-400);cursor:not-allowed}.x-radio.x-disabled .x-radio-item .x-radio-box{border-color:var(--x-border-100);background-color:var(--x-border-300)}.x-radio.x-disabled .x-radio-item .x-radio-box:after{background-color:var(--x-text-400)}.x-radio.x-invalid>label,.x-radio.x-required>label{color:var(--x-danger)}.x-radio.x-direction-row>label{padding:0 .5rem 0 0}.x-radio.x-direction-row-reverse>label{padding:0 0 0 .5rem}.x-radio.x-direction-column,.x-radio.x-direction-column-reverse{align-items:inherit}\n"] }]
128
140
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.XConfigService }]; }, propDecorators: { radio: [{
129
141
  type: ViewChild,
130
142
  args: ['radio', { static: true }]
@@ -133,14 +145,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
133
145
  class XRadioModule {
134
146
  }
135
147
  /** @nocollapse */ XRadioModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XRadioModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
136
- /** @nocollapse */ XRadioModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.0", ngImport: i0, type: XRadioModule, declarations: [XRadioComponent, XRadioProperty], imports: [CommonModule, FormsModule, XButtonModule, XBaseFormModule], exports: [XRadioComponent] });
137
- /** @nocollapse */ XRadioModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XRadioModule, imports: [CommonModule, FormsModule, XButtonModule, XBaseFormModule] });
148
+ /** @nocollapse */ XRadioModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.0", ngImport: i0, type: XRadioModule, declarations: [XRadioComponent, XRadioProperty], imports: [CommonModule, FormsModule, XButtonModule, XOutletModule, XBaseFormModule], exports: [XRadioComponent] });
149
+ /** @nocollapse */ XRadioModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XRadioModule, imports: [CommonModule, FormsModule, XButtonModule, XOutletModule, XBaseFormModule] });
138
150
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XRadioModule, decorators: [{
139
151
  type: NgModule,
140
152
  args: [{
141
153
  declarations: [XRadioComponent, XRadioProperty],
142
154
  exports: [XRadioComponent],
143
- imports: [CommonModule, FormsModule, XButtonModule, XBaseFormModule]
155
+ imports: [CommonModule, FormsModule, XButtonModule, XOutletModule, XBaseFormModule]
144
156
  }]
145
157
  }] });
146
158
 
@@ -1 +1 @@
1
- {"version":3,"file":"ng-nest-ui-radio.mjs","sources":["../../../../lib/ng-nest/ui/radio/radio.property.ts","../../../../lib/ng-nest/ui/radio/radio.component.ts","../../../../lib/ng-nest/ui/radio/radio.component.html","../../../../lib/ng-nest/ui/radio/radio.module.ts","../../../../lib/ng-nest/ui/radio/ng-nest-ui-radio.ts"],"sourcesContent":["import { XData, XIdentityProperty, XDataConvert, XInputBoolean, XSize, XBoolean, XWithConfig } from '@ng-nest/ui/core';\r\nimport { Input, Component } from '@angular/core';\r\nimport { XButtonType } from '@ng-nest/ui/button';\r\nimport { XControlValueAccessor, XFormOption } from '@ng-nest/ui/base-form';\r\n\r\n/**\r\n * Radio\r\n * @selector x-radio\r\n * @decorator component\r\n */\r\nexport const XRadioPrefix = 'x-radio';\r\nconst X_CONFIG_NAME = 'radio';\r\n\r\n/**\r\n * Radio Property\r\n */\r\n@Component({ template: '' })\r\nexport class XRadioProperty extends XControlValueAccessor<any> implements XRadioOption {\r\n /**\r\n * @zh_CN 单选框数据\r\n * @en_US Radio data\r\n */\r\n @Input() @XDataConvert() data: XData<XRadioNode> = [];\r\n /**\r\n * @zh_CN 按钮样式\r\n * @en_US Button style\r\n */\r\n @Input() @XInputBoolean() button?: XBoolean;\r\n /**\r\n * @zh_CN 图标样式\r\n * @en_US Icon style\r\n */\r\n @Input() @XInputBoolean() icon?: XBoolean;\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n @Input() @XWithConfig<XSize>(X_CONFIG_NAME, 'medium') override size?: XSize;\r\n /**\r\n * @zh_CN 按钮样式时生效\r\n * @en_US Take effect when button style\r\n */\r\n @Input() type: XButtonType = 'initial';\r\n}\r\n\r\n/**\r\n * Radio Option\r\n * @undocument true\r\n */\r\nexport interface XRadioOption extends XFormOption {\r\n /**\r\n * @zh_CN 单选框数据\r\n * @en_US Radio data\r\n */\r\n data?: XData<XRadioNode>;\r\n /**\r\n * @zh_CN 按钮样式\r\n * @en_US Button style\r\n */\r\n button?: XBoolean;\r\n /**\r\n * @zh_CN 图标样式\r\n * @en_US Icon style\r\n */\r\n icon?: XBoolean;\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n size?: XSize;\r\n /**\r\n * @zh_CN 按钮样式时生效\r\n * @en_US Take effect when button style\r\n */\r\n type?: XButtonType;\r\n}\r\n\r\n/**\r\n * @zh_CN Radio 数据对象\r\n * @en_US Radio data object\r\n */\r\nexport interface XRadioNode extends XIdentityProperty {\r\n /**\r\n * @zh_CN 禁用\r\n * @en_US Disabled\r\n */\r\n disabled?: boolean;\r\n /**\r\n * @zh_CN 图标\r\n * @en_US Icon\r\n */\r\n icon?: string;\r\n /**\r\n * @zh_CN 图标的提示信息\r\n * @en_US Icon message\r\n */\r\n title?: string;\r\n}\r\n","import {\r\n Component,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n Renderer2,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n OnChanges,\r\n SimpleChanges,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { XRadioPrefix, XRadioNode, XRadioProperty } from './radio.property';\r\nimport { Subject } from 'rxjs';\r\nimport { XIsChange, XSetData, XClearClass, XConfigService } from '@ng-nest/ui/core';\r\nimport { XValueAccessor } from '@ng-nest/ui/base-form';\r\n\r\n@Component({\r\n selector: `${XRadioPrefix}`,\r\n templateUrl: './radio.component.html',\r\n styleUrls: ['./radio.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [XValueAccessor(XRadioComponent)]\r\n})\r\nexport class XRadioComponent extends XRadioProperty implements OnChanges {\r\n @ViewChild('radio', { static: true }) radio!: ElementRef;\r\n nodes: XRadioNode[] = [];\r\n private _unSubject = new Subject<void>();\r\n\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef,\r\n public override cdr: ChangeDetectorRef,\r\n public configService: XConfigService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.setFlex(this.radio.nativeElement, this.renderer, this.justify, this.align, this.direction);\r\n this.setClassMap();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n const { data } = changes;\r\n XIsChange(data) && this.setData();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._unSubject.next();\r\n this._unSubject.unsubscribe();\r\n }\r\n\r\n override writeValue(value: any) {\r\n this.value = value;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n setClassMap() {\r\n XClearClass(this.labelMap);\r\n this.labelMap[`x-text-align-${this.labelAlign}`] = this.labelAlign ? true : false;\r\n }\r\n\r\n radioClick(event: Event, node: XRadioNode) {\r\n event.preventDefault();\r\n if (this.disabled || node.disabled || node.id === this.value) return;\r\n this.formControlValidator();\r\n this.value = node.id;\r\n this.cdr.detectChanges();\r\n if (this.onChange) this.onChange(this.value);\r\n }\r\n\r\n private setData() {\r\n XSetData<XRadioNode>(this.data, this._unSubject).subscribe((x) => {\r\n this.nodes = x;\r\n this.cdr.detectChanges();\r\n });\r\n }\r\n\r\n trackByItem(_index: number, item: XRadioNode) {\r\n return item.id;\r\n }\r\n\r\n formControlChanges() {\r\n this.setData();\r\n this.ngOnInit();\r\n this.cdr.detectChanges();\r\n }\r\n}\r\n","<div\r\n #radio\r\n class=\"x-radio\"\r\n [class.x-flex]=\"justify || align || direction\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-required]=\"requiredIsEmpty\"\r\n [class.x-invalid]=\"invalid\"\r\n>\r\n <label *ngIf=\"label\" [class.x-radio-label-required]=\"required\" [style.width]=\"labelWidth\" [ngClass]=\"labelMap\">{{ label }}</label>\r\n <ng-container *ngIf=\"button || icon; else default\">\r\n <x-buttons>\r\n <x-button\r\n *ngFor=\"let item of nodes; trackBy: trackByItem\"\r\n [icon]=\"item.icon\"\r\n [size]=\"size\"\r\n [type]=\"type\"\r\n [activated]=\"item.id === value\"\r\n [disabled]=\"disabled || item.disabled\"\r\n attrType=\"button\"\r\n (click)=\"radioClick($event, item)\"\r\n >{{ item.label }}</x-button\r\n >\r\n </x-buttons>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #default>\r\n <div class=\"x-radio-row\">\r\n <div\r\n class=\"x-radio-item\"\r\n *ngFor=\"let item of nodes; trackBy: trackByItem\"\r\n [class.x-checked]=\"item.id === value\"\r\n [class.x-disabled]=\"item.disabled\"\r\n (click)=\"radioClick($event, item)\"\r\n >\r\n <span class=\"x-radio-box\"></span>\r\n <span class=\"x-radio-label\">{{ item.label }}</span>\r\n </div>\r\n </div>\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XRadioComponent } from './radio.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { XButtonModule } from '@ng-nest/ui/button';\r\nimport { XRadioProperty } from './radio.property';\r\nimport { XBaseFormModule } from '@ng-nest/ui/base-form';\r\n\r\n@NgModule({\r\n declarations: [XRadioComponent, XRadioProperty],\r\n exports: [XRadioComponent],\r\n imports: [CommonModule, FormsModule, XButtonModule, XBaseFormModule]\r\n})\r\nexport class XRadioModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ng-nest-ui-radio.mjs","sources":["../../../../lib/ng-nest/ui/radio/radio.property.ts","../../../../lib/ng-nest/ui/radio/radio.component.ts","../../../../lib/ng-nest/ui/radio/radio.component.html","../../../../lib/ng-nest/ui/radio/radio.module.ts","../../../../lib/ng-nest/ui/radio/ng-nest-ui-radio.ts"],"sourcesContent":["import { XData, XIdentityProperty, XDataConvert, XInputBoolean, XSize, XBoolean, XWithConfig, XTemplate } from '@ng-nest/ui/core';\r\nimport { Input, Component } from '@angular/core';\r\nimport { XButtonType } from '@ng-nest/ui/button';\r\nimport { XControlValueAccessor, XFormOption } from '@ng-nest/ui/base-form';\r\n\r\n/**\r\n * Radio\r\n * @selector x-radio\r\n * @decorator component\r\n */\r\nexport const XRadioPrefix = 'x-radio';\r\nconst X_CONFIG_NAME = 'radio';\r\n\r\n/**\r\n * Radio Property\r\n */\r\n@Component({ template: '' })\r\nexport class XRadioProperty extends XControlValueAccessor<any> implements XRadioOption {\r\n /**\r\n * @zh_CN 单选框数据\r\n * @en_US Radio data\r\n */\r\n @Input() @XDataConvert() data: XData<XRadioNode> = [];\r\n /**\r\n * @zh_CN 按钮样式\r\n * @en_US Button style\r\n */\r\n @Input() @XInputBoolean() button?: XBoolean;\r\n /**\r\n * @zh_CN 图标样式\r\n * @en_US Icon style\r\n */\r\n @Input() @XInputBoolean() icon?: XBoolean;\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n @Input() @XWithConfig<XSize>(X_CONFIG_NAME, 'medium') override size?: XSize;\r\n /**\r\n * @zh_CN 按钮样式时生效\r\n * @en_US Take effect when button style\r\n */\r\n @Input() type: XButtonType = 'initial';\r\n /**\r\n * @zh_CN 前置标签\r\n * @en_US Before label\r\n */\r\n @Input() override before!: XTemplate;\r\n /**\r\n * @zh_CN 后置标签\r\n * @en_US After label\r\n */\r\n @Input() override after!: XTemplate;\r\n}\r\n\r\n/**\r\n * Radio Option\r\n * @undocument true\r\n */\r\nexport interface XRadioOption extends XFormOption {\r\n /**\r\n * @zh_CN 单选框数据\r\n * @en_US Radio data\r\n */\r\n data?: XData<XRadioNode>;\r\n /**\r\n * @zh_CN 按钮样式\r\n * @en_US Button style\r\n */\r\n button?: XBoolean;\r\n /**\r\n * @zh_CN 图标样式\r\n * @en_US Icon style\r\n */\r\n icon?: XBoolean;\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n size?: XSize;\r\n /**\r\n * @zh_CN 按钮样式时生效\r\n * @en_US Take effect when button style\r\n */\r\n type?: XButtonType;\r\n /**\r\n * @zh_CN 前置标签\r\n * @en_US Before label\r\n */\r\n before?: XTemplate;\r\n /**\r\n * @zh_CN 后置标签\r\n * @en_US After label\r\n */\r\n after?: XTemplate;\r\n}\r\n\r\n/**\r\n * @zh_CN Radio 数据对象\r\n * @en_US Radio data object\r\n */\r\nexport interface XRadioNode extends XIdentityProperty {\r\n /**\r\n * @zh_CN 禁用\r\n * @en_US Disabled\r\n */\r\n disabled?: boolean;\r\n /**\r\n * @zh_CN 图标\r\n * @en_US Icon\r\n */\r\n icon?: string;\r\n /**\r\n * @zh_CN 图标的提示信息\r\n * @en_US Icon message\r\n */\r\n title?: string;\r\n}\r\n","import {\r\n Component,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n Renderer2,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n OnChanges,\r\n SimpleChanges,\r\n ViewChild,\r\n TemplateRef\r\n} from '@angular/core';\r\nimport { XRadioPrefix, XRadioNode, XRadioProperty } from './radio.property';\r\nimport { Subject } from 'rxjs';\r\nimport { XIsChange, XSetData, XClearClass, XConfigService } from '@ng-nest/ui/core';\r\nimport { XValueAccessor } from '@ng-nest/ui/base-form';\r\n\r\n@Component({\r\n selector: `${XRadioPrefix}`,\r\n templateUrl: './radio.component.html',\r\n styleUrls: ['./radio.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [XValueAccessor(XRadioComponent)]\r\n})\r\nexport class XRadioComponent extends XRadioProperty implements OnChanges {\r\n @ViewChild('radio', { static: true }) radio!: ElementRef;\r\n nodes: XRadioNode[] = [];\r\n private _unSubject = new Subject<void>();\r\n\r\n get beforeIsTemplate() {\r\n return this.before instanceof TemplateRef;\r\n }\r\n\r\n get afterIsTemplate() {\r\n return this.after instanceof TemplateRef;\r\n }\r\n\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef,\r\n public override cdr: ChangeDetectorRef,\r\n public configService: XConfigService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.setFlex(this.radio.nativeElement, this.renderer, this.justify, this.align, this.direction);\r\n this.setClassMap();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n const { data } = changes;\r\n XIsChange(data) && this.setData();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._unSubject.next();\r\n this._unSubject.unsubscribe();\r\n }\r\n\r\n override writeValue(value: any) {\r\n this.value = value;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n setClassMap() {\r\n XClearClass(this.labelMap);\r\n this.labelMap[`x-text-align-${this.labelAlign}`] = this.labelAlign ? true : false;\r\n }\r\n\r\n radioClick(event: Event, node: XRadioNode) {\r\n event.preventDefault();\r\n if (this.disabled || node.disabled || node.id === this.value) return;\r\n this.formControlValidator();\r\n this.value = node.id;\r\n this.cdr.detectChanges();\r\n if (this.onChange) this.onChange(this.value);\r\n }\r\n\r\n private setData() {\r\n XSetData<XRadioNode>(this.data, this._unSubject).subscribe((x) => {\r\n this.nodes = x;\r\n this.cdr.detectChanges();\r\n });\r\n }\r\n\r\n trackByItem(_index: number, item: XRadioNode) {\r\n return item.id;\r\n }\r\n\r\n formControlChanges() {\r\n this.setData();\r\n this.ngOnInit();\r\n this.cdr.detectChanges();\r\n }\r\n}\r\n","<div\r\n #radio\r\n class=\"x-radio\"\r\n [class.x-flex]=\"justify || align || direction\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-required]=\"requiredIsEmpty\"\r\n [class.x-invalid]=\"invalid\"\r\n [class.x-radio-button]=\"button\"\r\n [class.x-radio-icon]=\"icon\"\r\n [class.x-radio-after]=\"after\"\r\n [class.x-radio-before]=\"before\"\r\n [class.x-radio-after-template]=\"afterIsTemplate\"\r\n [class.x-radio-before-template]=\"beforeIsTemplate\"\r\n>\r\n <label *ngIf=\"label\" [class.x-radio-label-required]=\"required\" [style.width]=\"labelWidth\" [ngClass]=\"labelMap\">{{ label }}</label>\r\n <div class=\"x-radio-row\">\r\n <div class=\"x-radio-row-before\" *ngIf=\"before\">\r\n <ng-container *xOutlet=\"before\">{{ before }}</ng-container>\r\n </div>\r\n <div class=\"x-radio-row-list\">\r\n <ng-container *ngIf=\"button || icon; else default\">\r\n <x-buttons>\r\n <x-button\r\n *ngFor=\"let item of nodes; trackBy: trackByItem\"\r\n [icon]=\"item.icon\"\r\n [size]=\"size\"\r\n [type]=\"type\"\r\n [activated]=\"item.id === value\"\r\n [disabled]=\"disabled || item.disabled\"\r\n attrType=\"button\"\r\n (click)=\"radioClick($event, item)\"\r\n >{{ item.label }}</x-button\r\n >\r\n </x-buttons>\r\n </ng-container>\r\n </div>\r\n <div class=\"x-radio-row-after\" *ngIf=\"after\">\r\n <ng-container *xOutlet=\"after\">{{ after }}</ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template #default>\r\n <div\r\n class=\"x-radio-row-item\"\r\n *ngFor=\"let item of nodes; trackBy: trackByItem\"\r\n [class.x-checked]=\"item.id === value\"\r\n [class.x-disabled]=\"item.disabled\"\r\n (click)=\"radioClick($event, item)\"\r\n >\r\n <span class=\"x-radio-box\"></span>\r\n <span class=\"x-radio-label\">{{ item.label }}</span>\r\n </div>\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XRadioComponent } from './radio.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { XButtonModule } from '@ng-nest/ui/button';\r\nimport { XRadioProperty } from './radio.property';\r\nimport { XBaseFormModule } from '@ng-nest/ui/base-form';\r\nimport { XOutletModule } from '@ng-nest/ui/outlet';\r\n\r\n@NgModule({\r\n declarations: [XRadioComponent, XRadioProperty],\r\n exports: [XRadioComponent],\r\n imports: [CommonModule, FormsModule, XButtonModule, XOutletModule, XBaseFormModule]\r\n})\r\nexport class XRadioModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -184,3 +184,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
184
184
 
185
185
  export { XRateComponent, XRateModule, XRatePrefix, XRateProperty };
186
186
  //# sourceMappingURL=ng-nest-ui-rate.mjs.map
187
+ //# sourceMappingURL=ng-nest-ui-rate.mjs.map
@@ -377,3 +377,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
377
377
 
378
378
  export { XResizableDirective, XResizableModule, XResizablePrefix, XResizableProperty };
379
379
  //# sourceMappingURL=ng-nest-ui-resizable.mjs.map
380
+ //# sourceMappingURL=ng-nest-ui-resizable.mjs.map
@@ -88,3 +88,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
88
88
 
89
89
  export { XResultComponent, XResultModule, XResultPrefix, XResultProperty };
90
90
  //# sourceMappingURL=ng-nest-ui-result.mjs.map
91
+ //# sourceMappingURL=ng-nest-ui-result.mjs.map
@@ -118,3 +118,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
118
118
 
119
119
  export { XRippleDirective, XRippleModule, XRipplePrefix, XRippleProperty };
120
120
  //# sourceMappingURL=ng-nest-ui-ripple.mjs.map
121
+ //# sourceMappingURL=ng-nest-ui-ripple.mjs.map
@@ -872,3 +872,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
872
872
 
873
873
  export { XSelectComponent, XSelectModule, XSelectPortalComponent, XSelectPortalPrefix, XSelectPrefix, XSelectProperty };
874
874
  //# sourceMappingURL=ng-nest-ui-select.mjs.map
875
+ //# sourceMappingURL=ng-nest-ui-select.mjs.map
@@ -106,3 +106,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
106
106
 
107
107
  export { XSkeletonComponent, XSkeletonModule, XSkeletonPrefix, XSkeletonProperty };
108
108
  //# sourceMappingURL=ng-nest-ui-skeleton.mjs.map
109
+ //# sourceMappingURL=ng-nest-ui-skeleton.mjs.map
@@ -279,3 +279,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
279
279
 
280
280
  export { XSliderSelectComponent, XSliderSelectModule, XSliderSelectPrefix, XSliderSelectProperty };
281
281
  //# sourceMappingURL=ng-nest-ui-slider-select.mjs.map
282
+ //# sourceMappingURL=ng-nest-ui-slider-select.mjs.map
@@ -374,3 +374,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
374
374
 
375
375
  export { XSliderComponent, XSliderModule, XSliderPrefix, XSliderProperty };
376
376
  //# sourceMappingURL=ng-nest-ui-slider.mjs.map
377
+ //# sourceMappingURL=ng-nest-ui-slider.mjs.map
@@ -186,3 +186,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
186
186
 
187
187
  export { XCountdownComponent, XCountdownPrefix, XCountdownProperty, XStatisticComponent, XStatisticModule, XStatisticPrefix, XStatisticProperty };
188
188
  //# sourceMappingURL=ng-nest-ui-statistic.mjs.map
189
+ //# sourceMappingURL=ng-nest-ui-statistic.mjs.map
@@ -173,3 +173,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
173
173
 
174
174
  export { XStepsComponent, XStepsModule, XStepsPrefix, XStepsProperty };
175
175
  //# sourceMappingURL=ng-nest-ui-steps.mjs.map
176
+ //# sourceMappingURL=ng-nest-ui-steps.mjs.map
@@ -87,3 +87,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
87
87
 
88
88
  export { XSwitchComponent, XSwitchModule, XSwitchPrefix, XSwitchProperty };
89
89
  //# sourceMappingURL=ng-nest-ui-switch.mjs.map
90
+ //# sourceMappingURL=ng-nest-ui-switch.mjs.map
@@ -1338,3 +1338,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
1338
1338
 
1339
1339
  export { XDragDirective, XTableBodyComponent, XTableBodyPrefix, XTableBodyProperty, XTableComponent, XTableFootComponent, XTableFootPrefix, XTableFootProperty, XTableHeadComponent, XTableHeadPrefix, XTableHeadProperty, XTableModule, XTablePrefix, XTableProperty };
1340
1340
  //# sourceMappingURL=ng-nest-ui-table.mjs.map
1341
+ //# sourceMappingURL=ng-nest-ui-table.mjs.map
@@ -462,3 +462,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
462
462
 
463
463
  export { XTabComponent, XTabContentComponent, XTabLinkDirective, XTabLinkTemplateDirective, XTabPrefix, XTabProperty, XTabsComponent, XTabsModule, XTabsPrefix, XTabsProperty };
464
464
  //# sourceMappingURL=ng-nest-ui-tabs.mjs.map
465
+ //# sourceMappingURL=ng-nest-ui-tabs.mjs.map
@@ -171,3 +171,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
171
171
 
172
172
  export { XTagComponent, XTagModule, XTagPrefix, XTagProperty };
173
173
  //# sourceMappingURL=ng-nest-ui-tag.mjs.map
174
+ //# sourceMappingURL=ng-nest-ui-tag.mjs.map
@@ -112,3 +112,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
112
112
 
113
113
  export { XTextRetractComponent, XTextRetractModule, XTextRetractPrefix, XTextRetractProperty };
114
114
  //# sourceMappingURL=ng-nest-ui-text-retract.mjs.map
115
+ //# sourceMappingURL=ng-nest-ui-text-retract.mjs.map
@@ -194,3 +194,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
194
194
 
195
195
  export { XTextareaComponent, XTextareaModule, XTextareaPrefix, XTextareaProperty };
196
196
  //# sourceMappingURL=ng-nest-ui-textarea.mjs.map
197
+ //# sourceMappingURL=ng-nest-ui-textarea.mjs.map
@@ -283,3 +283,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
283
283
 
284
284
  export { XThemeAmounts, XThemeComponent, XThemeModule, XThemePrefix, XThemeProperty };
285
285
  //# sourceMappingURL=ng-nest-ui-theme.mjs.map
286
+ //# sourceMappingURL=ng-nest-ui-theme.mjs.map
@@ -95,3 +95,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
95
95
 
96
96
  export { XTimeAgoModule, XTimeAgoPipe, XTimeAgoPrefix };
97
97
  //# sourceMappingURL=ng-nest-ui-time-ago.mjs.map
98
+ //# sourceMappingURL=ng-nest-ui-time-ago.mjs.map
@@ -534,3 +534,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
534
534
 
535
535
  export { XTimePickerComponent, XTimePickerFrameComponent, XTimePickerFramePrefix, XTimePickerModule, XTimePickerPortalComponent, XTimePickerPortalPrefix, XTimePickerPrefix, XTimePickerProperty };
536
536
  //# sourceMappingURL=ng-nest-ui-time-picker.mjs.map
537
+ //# sourceMappingURL=ng-nest-ui-time-picker.mjs.map
@@ -68,3 +68,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
68
68
 
69
69
  export { XTimeRangeModule, XTimeRangePipe, XTimeRangePrefix, timeUnits };
70
70
  //# sourceMappingURL=ng-nest-ui-time-range.mjs.map
71
+ //# sourceMappingURL=ng-nest-ui-time-range.mjs.map
@@ -142,3 +142,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
142
142
 
143
143
  export { XTimelineComponent, XTimelineModule, XTimelinePrefix, XTimelineProperty };
144
144
  //# sourceMappingURL=ng-nest-ui-timeline.mjs.map
145
+ //# sourceMappingURL=ng-nest-ui-timeline.mjs.map
@@ -325,3 +325,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
325
325
 
326
326
  export { XTooltipDirective, XTooltipModule, XTooltipPortalComponent, XTooltipPortalPrefix, XTooltipPrefix, XTooltipProperty };
327
327
  //# sourceMappingURL=ng-nest-ui-tooltip.mjs.map
328
+ //# sourceMappingURL=ng-nest-ui-tooltip.mjs.map
@@ -650,3 +650,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
650
650
 
651
651
  export { XTransferComponent, XTransferModule, XTransferPrefix, XTransferProperty };
652
652
  //# sourceMappingURL=ng-nest-ui-transfer.mjs.map
653
+ //# sourceMappingURL=ng-nest-ui-transfer.mjs.map
@@ -231,3 +231,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
231
231
 
232
232
  export { XTreeFileComponent, XTreeFileImgs, XTreeFileModule, XTreeFilePrefix, XTreeFileProperty };
233
233
  //# sourceMappingURL=ng-nest-ui-tree-file.mjs.map
234
+ //# sourceMappingURL=ng-nest-ui-tree-file.mjs.map
@@ -956,3 +956,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
956
956
 
957
957
  export { XTreeSelectComponent, XTreeSelectModule, XTreeSelectPortalComponent, XTreeSelectPortalPrefix, XTreeSelectPrefix, XTreeSelectProperty };
958
958
  //# sourceMappingURL=ng-nest-ui-tree-select.mjs.map
959
+ //# sourceMappingURL=ng-nest-ui-tree-select.mjs.map
@@ -961,3 +961,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
961
961
 
962
962
  export { XTreeComponent, XTreeModule, XTreeNodeComponent, XTreeNodePrefix, XTreeNodeProperty, XTreePrefix, XTreeProperty };
963
963
  //# sourceMappingURL=ng-nest-ui-tree.mjs.map
964
+ //# sourceMappingURL=ng-nest-ui-tree.mjs.map
@@ -74,3 +74,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
74
74
 
75
75
  export { XTypographyComponent, XTypographyModule, XTypographyPrefix, XTypographyProperty };
76
76
  //# sourceMappingURL=ng-nest-ui-typography.mjs.map
77
+ //# sourceMappingURL=ng-nest-ui-typography.mjs.map
@@ -619,3 +619,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
619
619
 
620
620
  export { XUploadComponent, XUploadModule, XUploadPortalComponent, XUploadPortalPrefix, XUploadPrefix, XUploadProperty };
621
621
  //# sourceMappingURL=ng-nest-ui-upload.mjs.map
622
+ //# sourceMappingURL=ng-nest-ui-upload.mjs.map
@@ -92,3 +92,4 @@ export * from '@ng-nest/ui/inner';
92
92
  * Generated bundle index. Do not edit.
93
93
  */
94
94
  //# sourceMappingURL=ng-nest-ui.mjs.map
95
+ //# sourceMappingURL=ng-nest-ui.mjs.map
@@ -67,3 +67,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
67
67
 
68
68
  export { XAffixComponent, XAffixModule, XAffixPrefix, XAffixProperty };
69
69
  //# sourceMappingURL=ng-nest-ui-affix.mjs.map
70
+ //# sourceMappingURL=ng-nest-ui-affix.mjs.map
@@ -243,3 +243,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
243
243
 
244
244
  export { XAlertComponent, XAlertModule, XAlertPrefix, XAlertProperty };
245
245
  //# sourceMappingURL=ng-nest-ui-alert.mjs.map
246
+ //# sourceMappingURL=ng-nest-ui-alert.mjs.map
@@ -131,7 +131,6 @@ class XAnchorComponent extends XAnchorProperty {
131
131
  }
132
132
  ];
133
133
  });
134
- console.log(list);
135
134
  this.sliderData = list;
136
135
  }
137
136
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ng-nest-ui-anchor.mjs","sources":["../../../../lib/ng-nest/ui/anchor/anchor.property.ts","../../../../lib/ng-nest/ui/anchor/anchor.component.ts","../../../../lib/ng-nest/ui/anchor/anchor.component.html","../../../../lib/ng-nest/ui/anchor/anchor.module.ts","../../../../lib/ng-nest/ui/anchor/ng-nest-ui-anchor.ts"],"sourcesContent":["import { XIdentityProperty, XProperty, XJustify, XWithConfig, XPositionLeftRight } from '@ng-nest/ui/core';\r\nimport { Input, Component } from '@angular/core';\r\n\r\n/**\r\n * Anchor\r\n * @selector x-anchor\r\n * @decorator component\r\n */\r\nexport const XAnchorPrefix = 'x-anchor';\r\nconst X_CONFIG_NAME = 'anchor';\r\n\r\n/**\r\n * Anchor Property\r\n */\r\n@Component({ template: '' })\r\nexport class XAnchorProperty extends XProperty {\r\n /**\r\n * @zh_CN 滚动区域对象\r\n * @en_US Scroll area object\r\n */\r\n @Input() scroll!: HTMLElement;\r\n /**\r\n * @zh_CN 顶部距离\r\n * @en_US Top distance\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME, '0') affixTop!: string;\r\n /**\r\n * @zh_CN 导航相对内容位置\r\n * @en_US Navigation relative content position\r\n */\r\n @Input() @XWithConfig<XAnchorLayout>(X_CONFIG_NAME, 'right') layout!: XAnchorLayout;\r\n /**\r\n * @zh_CN 对齐方式\r\n * @en_US Alignment\r\n */\r\n @Input() @XWithConfig<XJustify>(X_CONFIG_NAME, 'start') justify!: XJustify;\r\n}\r\n\r\n/**\r\n * Anchor Node\r\n */\r\nexport interface XAnchorNode extends XIdentityProperty {\r\n /**\r\n * @zh_CN 左内边距,用来显示层级\r\n * @en_US Left inner margin, used to display hierarchy\r\n */\r\n left?: number;\r\n /**\r\n * @zh_CN 图标\r\n * @en_US Icon\r\n */\r\n icon?: string;\r\n /**\r\n * @zh_CN 锚点的链接\r\n * @en_US Anchor link\r\n */\r\n link?: string;\r\n}\r\n\r\n/**\r\n * @zh_CN 布局方式,相对内容的位置\r\n * @en_US Layout method, relative content position\r\n */\r\nexport type XAnchorLayout = XPositionLeftRight;\r\n","import {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n Renderer2,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n ChangeDetectionStrategy,\r\n ViewChild,\r\n AfterViewInit,\r\n Inject,\r\n OnDestroy\r\n} from '@angular/core';\r\nimport { XAnchorPrefix, XAnchorNode, XAnchorProperty } from './anchor.property';\r\nimport { computedStyle, XIsEmpty, reqAnimFrame, XIsNumber, XIsUndefined, XConfigService } from '@ng-nest/ui/core';\r\nimport { XSliderNode } from '@ng-nest/ui/slider';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { fromEvent, Subject } from 'rxjs';\r\nimport { throttleTime, takeUntil } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: `${XAnchorPrefix}`,\r\n templateUrl: './anchor.component.html',\r\n styleUrls: ['./anchor.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XAnchorComponent extends XAnchorProperty implements OnInit, AfterViewInit, OnDestroy {\r\n @ViewChild('anchor', { static: true }) anchor!: ElementRef;\r\n @ViewChild('content', { static: true }) content!: ElementRef;\r\n hElements: HTMLElement[] = [];\r\n sliderData: XSliderNode[] = [];\r\n activatedIndex: number = 0;\r\n sliderHeight?: number;\r\n document: Document;\r\n private _scrolling = false;\r\n private _fontSize: number;\r\n private _unSubject = new Subject<void>();\r\n\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef,\r\n public cdr: ChangeDetectorRef,\r\n @Inject(DOCUMENT) doc: any,\r\n public configService: XConfigService\r\n ) {\r\n super();\r\n this.document = doc;\r\n this._fontSize = parseFloat(computedStyle(this.document.documentElement, 'font-size'));\r\n }\r\n\r\n ngOnInit() {\r\n this.setClassMap();\r\n this.setSliderData();\r\n this.setHeight();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.setScroll();\r\n }\r\n\r\n ngOnDestroy() {\r\n this._unSubject.next();\r\n this._unSubject.unsubscribe();\r\n }\r\n\r\n activatedChange(index: number) {\r\n if (XIsEmpty(this.hElements) || XIsUndefined(this.scroll)) return;\r\n\r\n this._scrolling = true;\r\n const hElement = this.hElements[index];\r\n let scrollTop = hElement.offsetTop - this.anchor.nativeElement.offsetTop - parseFloat(computedStyle(hElement, 'margin-top'));\r\n let maxScrollTop = this.scroll.scrollHeight - this.scroll.clientHeight;\r\n if (scrollTop > maxScrollTop) scrollTop = maxScrollTop;\r\n this.scrollTo(this.scroll, parseInt(`${scrollTop}`), 150);\r\n }\r\n\r\n private setClassMap() {\r\n this.classMap[`${XAnchorPrefix}-${this.layout}`] = !XIsEmpty(this.layout);\r\n }\r\n\r\n private setScroll() {\r\n fromEvent(this.scroll ? this.scroll : window, 'scroll')\r\n .pipe(throttleTime(10), takeUntil(this._unSubject))\r\n .subscribe(() => {\r\n if (this._scrolling) return;\r\n this.setActivatedByScroll();\r\n });\r\n if (!this.scroll) {\r\n this.scroll = this.document.documentElement;\r\n }\r\n }\r\n\r\n private setActivatedByScroll() {\r\n let now = 0;\r\n this.hElements.forEach((h, index) => {\r\n let distance = this.scroll.scrollTop + this.anchor.nativeElement.offsetTop;\r\n if (distance >= h.offsetTop) {\r\n now = index;\r\n return;\r\n }\r\n });\r\n this.activatedIndex = now;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n private setSliderData() {\r\n this.hElements = this.content.nativeElement.querySelectorAll(':scope> h1,:scope> h2,:scope> h3,:scope> h4,:scope> h5');\r\n if (this.hElements.length > 0) {\r\n let list: XAnchorNode[] = [];\r\n this.hElements.forEach((x: HTMLElement, i: number) => {\r\n const link = `x-anchor-${i}`;\r\n const left = this.setLeft(x);\r\n this.renderer.setAttribute(x, 'id', link);\r\n list = [\r\n ...list,\r\n {\r\n id: i,\r\n label: x.innerText,\r\n left: left,\r\n link: link\r\n }\r\n ];\r\n });\r\n console.log(list)\r\n this.sliderData = list;\r\n }\r\n }\r\n\r\n private setLeft(element: HTMLElement): number {\r\n const eles = ['H1', 'H2', 'H3', 'H4', 'H5'];\r\n const index = eles.indexOf(element.tagName);\r\n return index + 1;\r\n }\r\n\r\n private setHeight() {\r\n if (this.scroll) {\r\n let height = this.scroll.offsetHeight;\r\n let top = parseFloat(computedStyle(this.scroll, 'padding-top'));\r\n let borderTop = parseFloat(computedStyle(this.scroll, 'border-top'));\r\n let bottom = parseFloat(computedStyle(this.scroll, 'padding-bottom'));\r\n let borderBottom = parseFloat(computedStyle(this.scroll, 'border-bottom'));\r\n this.sliderHeight = height - top - bottom - borderTop - borderBottom - this.getTop();\r\n }\r\n }\r\n\r\n private getTop() {\r\n if (this.affixTop === '0') return 0;\r\n if (XIsNumber(this.affixTop)) return Number(this.affixTop);\r\n else if (this.affixTop.indexOf('rem') !== -1) return Number(this.affixTop.replace(/rem/g, '')) * this._fontSize;\r\n else if (this.affixTop.indexOf('px') !== -1) return Number(this.affixTop.replace(/px/g, ''));\r\n return 0;\r\n }\r\n\r\n private scrollTo(element: HTMLElement, to: number, duration: number) {\r\n const difference = to - element.scrollTop;\r\n const perTick = (difference / duration) * 10;\r\n reqAnimFrame(() => {\r\n element.scrollTop = element.scrollTop + perTick;\r\n if (element.scrollTop === to || duration <= 0) {\r\n setTimeout(() => (this._scrolling = false), 20);\r\n return;\r\n } else {\r\n this.scrollTo(element, to, duration - 10);\r\n }\r\n });\r\n }\r\n}\r\n","<div #anchor class=\"x-anchor\" [ngClass]=\"classMap\">\r\n <div #content class=\"x-anchor-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n <x-affix class=\"x-anchor-affix\" [top]=\"affixTop\">\r\n <div class=\"x-anchor-slider\" [style.height.px]=\"sliderHeight\">\r\n <x-slider\r\n [data]=\"sliderData\"\r\n layout=\"column\"\r\n [activatedIndex]=\"activatedIndex\"\r\n [nodeJustify]=\"justify\"\r\n [nodeTpl]=\"sliderNodeTpl\"\r\n [showAnchor]=\"true\"\r\n (indexChange)=\"activatedChange($event)\"\r\n ></x-slider>\r\n </div>\r\n </x-affix>\r\n</div>\r\n\r\n<ng-template #sliderNodeTpl let-node=\"$node\">\r\n <span [style.padding-left.rem]=\"node.left - 1\">{{ node.label }}</span>\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XAnchorComponent } from './anchor.component';\r\nimport { XAffixModule } from '@ng-nest/ui/affix';\r\nimport { XSliderModule } from '@ng-nest/ui/slider';\r\nimport { XAnchorProperty } from './anchor.property';\r\n\r\n@NgModule({\r\n declarations: [XAnchorComponent, XAnchorProperty],\r\n exports: [XAnchorComponent],\r\n imports: [CommonModule, XAffixModule, XSliderModule]\r\n})\r\nexport class XAnchorModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ng-nest-ui-anchor.mjs","sources":["../../../../lib/ng-nest/ui/anchor/anchor.property.ts","../../../../lib/ng-nest/ui/anchor/anchor.component.ts","../../../../lib/ng-nest/ui/anchor/anchor.component.html","../../../../lib/ng-nest/ui/anchor/anchor.module.ts","../../../../lib/ng-nest/ui/anchor/ng-nest-ui-anchor.ts"],"sourcesContent":["import { XIdentityProperty, XProperty, XJustify, XWithConfig, XPositionLeftRight } from '@ng-nest/ui/core';\r\nimport { Input, Component } from '@angular/core';\r\n\r\n/**\r\n * Anchor\r\n * @selector x-anchor\r\n * @decorator component\r\n */\r\nexport const XAnchorPrefix = 'x-anchor';\r\nconst X_CONFIG_NAME = 'anchor';\r\n\r\n/**\r\n * Anchor Property\r\n */\r\n@Component({ template: '' })\r\nexport class XAnchorProperty extends XProperty {\r\n /**\r\n * @zh_CN 滚动区域对象\r\n * @en_US Scroll area object\r\n */\r\n @Input() scroll!: HTMLElement;\r\n /**\r\n * @zh_CN 顶部距离\r\n * @en_US Top distance\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME, '0') affixTop!: string;\r\n /**\r\n * @zh_CN 导航相对内容位置\r\n * @en_US Navigation relative content position\r\n */\r\n @Input() @XWithConfig<XAnchorLayout>(X_CONFIG_NAME, 'right') layout!: XAnchorLayout;\r\n /**\r\n * @zh_CN 对齐方式\r\n * @en_US Alignment\r\n */\r\n @Input() @XWithConfig<XJustify>(X_CONFIG_NAME, 'start') justify!: XJustify;\r\n}\r\n\r\n/**\r\n * Anchor Node\r\n */\r\nexport interface XAnchorNode extends XIdentityProperty {\r\n /**\r\n * @zh_CN 左内边距,用来显示层级\r\n * @en_US Left inner margin, used to display hierarchy\r\n */\r\n left?: number;\r\n /**\r\n * @zh_CN 图标\r\n * @en_US Icon\r\n */\r\n icon?: string;\r\n /**\r\n * @zh_CN 锚点的链接\r\n * @en_US Anchor link\r\n */\r\n link?: string;\r\n}\r\n\r\n/**\r\n * @zh_CN 布局方式,相对内容的位置\r\n * @en_US Layout method, relative content position\r\n */\r\nexport type XAnchorLayout = XPositionLeftRight;\r\n","import {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n Renderer2,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n ChangeDetectionStrategy,\r\n ViewChild,\r\n AfterViewInit,\r\n Inject,\r\n OnDestroy\r\n} from '@angular/core';\r\nimport { XAnchorPrefix, XAnchorNode, XAnchorProperty } from './anchor.property';\r\nimport { computedStyle, XIsEmpty, reqAnimFrame, XIsNumber, XIsUndefined, XConfigService } from '@ng-nest/ui/core';\r\nimport { XSliderNode } from '@ng-nest/ui/slider';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { fromEvent, Subject } from 'rxjs';\r\nimport { throttleTime, takeUntil } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: `${XAnchorPrefix}`,\r\n templateUrl: './anchor.component.html',\r\n styleUrls: ['./anchor.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XAnchorComponent extends XAnchorProperty implements OnInit, AfterViewInit, OnDestroy {\r\n @ViewChild('anchor', { static: true }) anchor!: ElementRef;\r\n @ViewChild('content', { static: true }) content!: ElementRef;\r\n hElements: HTMLElement[] = [];\r\n sliderData: XSliderNode[] = [];\r\n activatedIndex: number = 0;\r\n sliderHeight?: number;\r\n document: Document;\r\n private _scrolling = false;\r\n private _fontSize: number;\r\n private _unSubject = new Subject<void>();\r\n\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef,\r\n public cdr: ChangeDetectorRef,\r\n @Inject(DOCUMENT) doc: any,\r\n public configService: XConfigService\r\n ) {\r\n super();\r\n this.document = doc;\r\n this._fontSize = parseFloat(computedStyle(this.document.documentElement, 'font-size'));\r\n }\r\n\r\n ngOnInit() {\r\n this.setClassMap();\r\n this.setSliderData();\r\n this.setHeight();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.setScroll();\r\n }\r\n\r\n ngOnDestroy() {\r\n this._unSubject.next();\r\n this._unSubject.unsubscribe();\r\n }\r\n\r\n activatedChange(index: number) {\r\n if (XIsEmpty(this.hElements) || XIsUndefined(this.scroll)) return;\r\n\r\n this._scrolling = true;\r\n const hElement = this.hElements[index];\r\n let scrollTop = hElement.offsetTop - this.anchor.nativeElement.offsetTop - parseFloat(computedStyle(hElement, 'margin-top'));\r\n let maxScrollTop = this.scroll.scrollHeight - this.scroll.clientHeight;\r\n if (scrollTop > maxScrollTop) scrollTop = maxScrollTop;\r\n this.scrollTo(this.scroll, parseInt(`${scrollTop}`), 150);\r\n }\r\n\r\n private setClassMap() {\r\n this.classMap[`${XAnchorPrefix}-${this.layout}`] = !XIsEmpty(this.layout);\r\n }\r\n\r\n private setScroll() {\r\n fromEvent(this.scroll ? this.scroll : window, 'scroll')\r\n .pipe(throttleTime(10), takeUntil(this._unSubject))\r\n .subscribe(() => {\r\n if (this._scrolling) return;\r\n this.setActivatedByScroll();\r\n });\r\n if (!this.scroll) {\r\n this.scroll = this.document.documentElement;\r\n }\r\n }\r\n\r\n private setActivatedByScroll() {\r\n let now = 0;\r\n this.hElements.forEach((h, index) => {\r\n let distance = this.scroll.scrollTop + this.anchor.nativeElement.offsetTop;\r\n if (distance >= h.offsetTop) {\r\n now = index;\r\n return;\r\n }\r\n });\r\n this.activatedIndex = now;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n private setSliderData() {\r\n this.hElements = this.content.nativeElement.querySelectorAll(':scope> h1,:scope> h2,:scope> h3,:scope> h4,:scope> h5');\r\n if (this.hElements.length > 0) {\r\n let list: XAnchorNode[] = [];\r\n this.hElements.forEach((x: HTMLElement, i: number) => {\r\n const link = `x-anchor-${i}`;\r\n const left = this.setLeft(x);\r\n this.renderer.setAttribute(x, 'id', link);\r\n list = [\r\n ...list,\r\n {\r\n id: i,\r\n label: x.innerText,\r\n left: left,\r\n link: link\r\n }\r\n ];\r\n });\r\n this.sliderData = list;\r\n }\r\n }\r\n\r\n private setLeft(element: HTMLElement): number {\r\n const eles = ['H1', 'H2', 'H3', 'H4', 'H5'];\r\n const index = eles.indexOf(element.tagName);\r\n return index + 1;\r\n }\r\n\r\n private setHeight() {\r\n if (this.scroll) {\r\n let height = this.scroll.offsetHeight;\r\n let top = parseFloat(computedStyle(this.scroll, 'padding-top'));\r\n let borderTop = parseFloat(computedStyle(this.scroll, 'border-top'));\r\n let bottom = parseFloat(computedStyle(this.scroll, 'padding-bottom'));\r\n let borderBottom = parseFloat(computedStyle(this.scroll, 'border-bottom'));\r\n this.sliderHeight = height - top - bottom - borderTop - borderBottom - this.getTop();\r\n }\r\n }\r\n\r\n private getTop() {\r\n if (this.affixTop === '0') return 0;\r\n if (XIsNumber(this.affixTop)) return Number(this.affixTop);\r\n else if (this.affixTop.indexOf('rem') !== -1) return Number(this.affixTop.replace(/rem/g, '')) * this._fontSize;\r\n else if (this.affixTop.indexOf('px') !== -1) return Number(this.affixTop.replace(/px/g, ''));\r\n return 0;\r\n }\r\n\r\n private scrollTo(element: HTMLElement, to: number, duration: number) {\r\n const difference = to - element.scrollTop;\r\n const perTick = (difference / duration) * 10;\r\n reqAnimFrame(() => {\r\n element.scrollTop = element.scrollTop + perTick;\r\n if (element.scrollTop === to || duration <= 0) {\r\n setTimeout(() => (this._scrolling = false), 20);\r\n return;\r\n } else {\r\n this.scrollTo(element, to, duration - 10);\r\n }\r\n });\r\n }\r\n}\r\n","<div #anchor class=\"x-anchor\" [ngClass]=\"classMap\">\r\n <div #content class=\"x-anchor-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n <x-affix class=\"x-anchor-affix\" [top]=\"affixTop\">\r\n <div class=\"x-anchor-slider\" [style.height.px]=\"sliderHeight\">\r\n <x-slider\r\n [data]=\"sliderData\"\r\n layout=\"column\"\r\n [activatedIndex]=\"activatedIndex\"\r\n [nodeJustify]=\"justify\"\r\n [nodeTpl]=\"sliderNodeTpl\"\r\n [showAnchor]=\"true\"\r\n (indexChange)=\"activatedChange($event)\"\r\n ></x-slider>\r\n </div>\r\n </x-affix>\r\n</div>\r\n\r\n<ng-template #sliderNodeTpl let-node=\"$node\">\r\n <span [style.padding-left.rem]=\"node.left - 1\">{{ node.label }}</span>\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XAnchorComponent } from './anchor.component';\r\nimport { XAffixModule } from '@ng-nest/ui/affix';\r\nimport { XSliderModule } from '@ng-nest/ui/slider';\r\nimport { XAnchorProperty } from './anchor.property';\r\n\r\n@NgModule({\r\n declarations: [XAnchorComponent, XAnchorProperty],\r\n exports: [XAnchorComponent],\r\n imports: [CommonModule, XAffixModule, XSliderModule]\r\n})\r\nexport class XAnchorModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -45,3 +45,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
45
45
 
46
46
  export { XApiComponent, XApiModule, XApiPrefix };
47
47
  //# sourceMappingURL=ng-nest-ui-api.mjs.map
48
+ //# sourceMappingURL=ng-nest-ui-api.mjs.map
@@ -486,3 +486,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
486
486
 
487
487
  export { XAutoCompleteComponent, XAutoCompleteModule, XAutoCompletePortalComponent, XAutoCompletePortalPrefix, XAutoCompletePrefix, XAutoCompleteProperty };
488
488
  //# sourceMappingURL=ng-nest-ui-auto-complete.mjs.map
489
+ //# sourceMappingURL=ng-nest-ui-auto-complete.mjs.map
@@ -223,3 +223,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
223
223
 
224
224
  export { XAvatarComponent, XAvatarGroupComponent, XAvatarGroupPrefix, XAvatarGroupProperty, XAvatarModule, XAvatarPrefix, XAvatarProperty };
225
225
  //# sourceMappingURL=ng-nest-ui-avatar.mjs.map
226
+ //# sourceMappingURL=ng-nest-ui-avatar.mjs.map
@@ -179,3 +179,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
179
179
 
180
180
  export { XBackTopComponent, XBackTopModule, XBackTopPrefix, XBackTopProperty };
181
181
  //# sourceMappingURL=ng-nest-ui-back-top.mjs.map
182
+ //# sourceMappingURL=ng-nest-ui-back-top.mjs.map
@@ -149,3 +149,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
149
149
 
150
150
  export { XBadgeComponent, XBadgeModule, XBadgePrefix, XBadgeProperty };
151
151
  //# sourceMappingURL=ng-nest-ui-badge.mjs.map
152
+ //# sourceMappingURL=ng-nest-ui-badge.mjs.map
@@ -232,3 +232,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
232
232
 
233
233
  export { XBaseFormModule, XControlValueAccessor, XFormInputValidator, XFormProp, XValueAccessor };
234
234
  //# sourceMappingURL=ng-nest-ui-base-form.mjs.map
235
+ //# sourceMappingURL=ng-nest-ui-base-form.mjs.map
@@ -43,3 +43,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
43
43
 
44
44
  export { XBorderComponent, XBorderModule, XBorderPrefix };
45
45
  //# sourceMappingURL=ng-nest-ui-border.mjs.map
46
+ //# sourceMappingURL=ng-nest-ui-border.mjs.map
@@ -257,3 +257,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
257
257
 
258
258
  export { XButtonComponent, XButtonModule, XButtonPrefix, XButtonProperty, XButtonsComponent, XButtonsPrefix, XButtonsProperty };
259
259
  //# sourceMappingURL=ng-nest-ui-button.mjs.map
260
+ //# sourceMappingURL=ng-nest-ui-button.mjs.map
@@ -212,3 +212,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
212
212
 
213
213
  export { XCalendarComponent, XCalendarModule, XCalendarPrefix, XCalendarProperty };
214
214
  //# sourceMappingURL=ng-nest-ui-calendar.mjs.map
215
+ //# sourceMappingURL=ng-nest-ui-calendar.mjs.map
@@ -89,3 +89,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
89
89
 
90
90
  export { XCardComponent, XCardModule, XCardPrefix, XCardProperty };
91
91
  //# sourceMappingURL=ng-nest-ui-card.mjs.map
92
+ //# sourceMappingURL=ng-nest-ui-card.mjs.map
@@ -342,3 +342,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
342
342
 
343
343
  export { XCarouselComponent, XCarouselModule, XCarouselPanelComponent, XCarouselPanelPrefix, XCarouselPanelProperty, XCarouselPrefix, XCarouselProperty };
344
344
  //# sourceMappingURL=ng-nest-ui-carousel.mjs.map
345
+ //# sourceMappingURL=ng-nest-ui-carousel.mjs.map