@ng-nest/ui 21.0.3 → 21.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (173) hide show
  1. package/fesm2022/ng-nest-ui-affix.mjs +12 -12
  2. package/fesm2022/ng-nest-ui-affix.mjs.map +1 -1
  3. package/fesm2022/ng-nest-ui-alert.mjs +22 -24
  4. package/fesm2022/ng-nest-ui-alert.mjs.map +1 -1
  5. package/fesm2022/ng-nest-ui-anchor.mjs +19 -19
  6. package/fesm2022/ng-nest-ui-anchor.mjs.map +1 -1
  7. package/fesm2022/ng-nest-ui-api.mjs +7 -7
  8. package/fesm2022/ng-nest-ui-attachments.mjs +22 -22
  9. package/fesm2022/ng-nest-ui-attachments.mjs.map +1 -1
  10. package/fesm2022/ng-nest-ui-auto-complete.mjs +26 -30
  11. package/fesm2022/ng-nest-ui-auto-complete.mjs.map +1 -1
  12. package/fesm2022/ng-nest-ui-avatar.mjs +17 -17
  13. package/fesm2022/ng-nest-ui-avatar.mjs.map +1 -1
  14. package/fesm2022/ng-nest-ui-back-top.mjs +13 -13
  15. package/fesm2022/ng-nest-ui-back-top.mjs.map +1 -1
  16. package/fesm2022/ng-nest-ui-badge.mjs +16 -16
  17. package/fesm2022/ng-nest-ui-badge.mjs.map +1 -1
  18. package/fesm2022/ng-nest-ui-base-form.mjs +13 -13
  19. package/fesm2022/ng-nest-ui-base-form.mjs.map +1 -1
  20. package/fesm2022/ng-nest-ui-bubble.mjs +20 -20
  21. package/fesm2022/ng-nest-ui-bubble.mjs.map +1 -1
  22. package/fesm2022/ng-nest-ui-button.mjs +31 -31
  23. package/fesm2022/ng-nest-ui-button.mjs.map +1 -1
  24. package/fesm2022/ng-nest-ui-calendar.mjs +10 -10
  25. package/fesm2022/ng-nest-ui-card.mjs +11 -11
  26. package/fesm2022/ng-nest-ui-card.mjs.map +1 -1
  27. package/fesm2022/ng-nest-ui-carousel.mjs +24 -24
  28. package/fesm2022/ng-nest-ui-carousel.mjs.map +1 -1
  29. package/fesm2022/ng-nest-ui-cascade.mjs +25 -29
  30. package/fesm2022/ng-nest-ui-cascade.mjs.map +1 -1
  31. package/fesm2022/ng-nest-ui-checkbox.mjs +22 -22
  32. package/fesm2022/ng-nest-ui-checkbox.mjs.map +1 -1
  33. package/fesm2022/ng-nest-ui-collapse.mjs +22 -22
  34. package/fesm2022/ng-nest-ui-collapse.mjs.map +1 -1
  35. package/fesm2022/ng-nest-ui-color-picker.mjs +25 -25
  36. package/fesm2022/ng-nest-ui-color-picker.mjs.map +1 -1
  37. package/fesm2022/ng-nest-ui-color.mjs +10 -10
  38. package/fesm2022/ng-nest-ui-comment.mjs +19 -19
  39. package/fesm2022/ng-nest-ui-comment.mjs.map +1 -1
  40. package/fesm2022/ng-nest-ui-container.mjs +34 -34
  41. package/fesm2022/ng-nest-ui-container.mjs.map +1 -1
  42. package/fesm2022/ng-nest-ui-core.mjs +18 -18
  43. package/fesm2022/ng-nest-ui-coversations.mjs +11 -11
  44. package/fesm2022/ng-nest-ui-coversations.mjs.map +1 -1
  45. package/fesm2022/ng-nest-ui-crumb.mjs +11 -11
  46. package/fesm2022/ng-nest-ui-crumb.mjs.map +1 -1
  47. package/fesm2022/ng-nest-ui-date-picker.mjs +87 -87
  48. package/fesm2022/ng-nest-ui-date-picker.mjs.map +1 -1
  49. package/fesm2022/ng-nest-ui-description.mjs +20 -20
  50. package/fesm2022/ng-nest-ui-description.mjs.map +1 -1
  51. package/fesm2022/ng-nest-ui-dialog.mjs +58 -58
  52. package/fesm2022/ng-nest-ui-dialog.mjs.map +1 -1
  53. package/fesm2022/ng-nest-ui-doc.mjs +7 -7
  54. package/fesm2022/ng-nest-ui-drag.mjs +10 -10
  55. package/fesm2022/ng-nest-ui-drawer.mjs +34 -34
  56. package/fesm2022/ng-nest-ui-drawer.mjs.map +1 -1
  57. package/fesm2022/ng-nest-ui-dropdown.mjs +21 -21
  58. package/fesm2022/ng-nest-ui-dropdown.mjs.map +1 -1
  59. package/fesm2022/ng-nest-ui-empty.mjs +10 -10
  60. package/fesm2022/ng-nest-ui-examples.mjs +7 -7
  61. package/fesm2022/ng-nest-ui-find.mjs +31 -35
  62. package/fesm2022/ng-nest-ui-find.mjs.map +1 -1
  63. package/fesm2022/ng-nest-ui-form.mjs +21 -21
  64. package/fesm2022/ng-nest-ui-form.mjs.map +1 -1
  65. package/fesm2022/ng-nest-ui-highlight.mjs +14 -14
  66. package/fesm2022/ng-nest-ui-highlight.mjs.map +1 -1
  67. package/fesm2022/ng-nest-ui-i18n.mjs +32 -31
  68. package/fesm2022/ng-nest-ui-i18n.mjs.map +1 -1
  69. package/fesm2022/ng-nest-ui-icon.mjs +14 -14
  70. package/fesm2022/ng-nest-ui-icon.mjs.map +1 -1
  71. package/fesm2022/ng-nest-ui-image.mjs +21 -21
  72. package/fesm2022/ng-nest-ui-image.mjs.map +1 -1
  73. package/fesm2022/ng-nest-ui-inner.mjs +11 -11
  74. package/fesm2022/ng-nest-ui-inner.mjs.map +1 -1
  75. package/fesm2022/ng-nest-ui-input-number.mjs +21 -21
  76. package/fesm2022/ng-nest-ui-input-number.mjs.map +1 -1
  77. package/fesm2022/ng-nest-ui-input.mjs +36 -40
  78. package/fesm2022/ng-nest-ui-input.mjs.map +1 -1
  79. package/fesm2022/ng-nest-ui-keyword.mjs +11 -11
  80. package/fesm2022/ng-nest-ui-keyword.mjs.map +1 -1
  81. package/fesm2022/ng-nest-ui-layout.mjs +25 -25
  82. package/fesm2022/ng-nest-ui-layout.mjs.map +1 -1
  83. package/fesm2022/ng-nest-ui-link.mjs +13 -13
  84. package/fesm2022/ng-nest-ui-link.mjs.map +1 -1
  85. package/fesm2022/ng-nest-ui-list.mjs +41 -41
  86. package/fesm2022/ng-nest-ui-list.mjs.map +1 -1
  87. package/fesm2022/ng-nest-ui-loading.mjs +14 -14
  88. package/fesm2022/ng-nest-ui-loading.mjs.map +1 -1
  89. package/fesm2022/ng-nest-ui-menu.mjs +22 -22
  90. package/fesm2022/ng-nest-ui-menu.mjs.map +1 -1
  91. package/fesm2022/ng-nest-ui-message-box.mjs +10 -10
  92. package/fesm2022/ng-nest-ui-message.mjs +10 -10
  93. package/fesm2022/ng-nest-ui-notification.mjs +10 -10
  94. package/fesm2022/ng-nest-ui-outlet.mjs +7 -7
  95. package/fesm2022/ng-nest-ui-page-header.mjs +10 -10
  96. package/fesm2022/ng-nest-ui-pagination.mjs +27 -31
  97. package/fesm2022/ng-nest-ui-pagination.mjs.map +1 -1
  98. package/fesm2022/ng-nest-ui-pattern.mjs +7 -7
  99. package/fesm2022/ng-nest-ui-popconfirm.mjs +14 -14
  100. package/fesm2022/ng-nest-ui-popconfirm.mjs.map +1 -1
  101. package/fesm2022/ng-nest-ui-popover.mjs +19 -19
  102. package/fesm2022/ng-nest-ui-popover.mjs.map +1 -1
  103. package/fesm2022/ng-nest-ui-portal.mjs +7 -7
  104. package/fesm2022/ng-nest-ui-progress.mjs +22 -22
  105. package/fesm2022/ng-nest-ui-progress.mjs.map +1 -1
  106. package/fesm2022/ng-nest-ui-prompts.mjs +12 -12
  107. package/fesm2022/ng-nest-ui-prompts.mjs.map +1 -1
  108. package/fesm2022/ng-nest-ui-radio.mjs +20 -20
  109. package/fesm2022/ng-nest-ui-radio.mjs.map +1 -1
  110. package/fesm2022/ng-nest-ui-rate.mjs +15 -15
  111. package/fesm2022/ng-nest-ui-rate.mjs.map +1 -1
  112. package/fesm2022/ng-nest-ui-resizable.mjs +14 -14
  113. package/fesm2022/ng-nest-ui-resizable.mjs.map +1 -1
  114. package/fesm2022/ng-nest-ui-result.mjs +10 -10
  115. package/fesm2022/ng-nest-ui-ripple.mjs +12 -12
  116. package/fesm2022/ng-nest-ui-ripple.mjs.map +1 -1
  117. package/fesm2022/ng-nest-ui-scrollable.mjs +19 -7
  118. package/fesm2022/ng-nest-ui-scrollable.mjs.map +1 -1
  119. package/fesm2022/ng-nest-ui-select.mjs +35 -39
  120. package/fesm2022/ng-nest-ui-select.mjs.map +1 -1
  121. package/fesm2022/ng-nest-ui-sender.mjs +19 -19
  122. package/fesm2022/ng-nest-ui-sender.mjs.map +1 -1
  123. package/fesm2022/ng-nest-ui-skeleton.mjs +13 -13
  124. package/fesm2022/ng-nest-ui-skeleton.mjs.map +1 -1
  125. package/fesm2022/ng-nest-ui-slider-select.mjs +21 -21
  126. package/fesm2022/ng-nest-ui-slider-select.mjs.map +1 -1
  127. package/fesm2022/ng-nest-ui-slider.mjs +16 -18
  128. package/fesm2022/ng-nest-ui-slider.mjs.map +1 -1
  129. package/fesm2022/ng-nest-ui-statistic.mjs +16 -16
  130. package/fesm2022/ng-nest-ui-steps.mjs +14 -14
  131. package/fesm2022/ng-nest-ui-steps.mjs.map +1 -1
  132. package/fesm2022/ng-nest-ui-suggestion.mjs +17 -17
  133. package/fesm2022/ng-nest-ui-suggestion.mjs.map +1 -1
  134. package/fesm2022/ng-nest-ui-switch.mjs +15 -15
  135. package/fesm2022/ng-nest-ui-switch.mjs.map +1 -1
  136. package/fesm2022/ng-nest-ui-table-view.mjs +58 -58
  137. package/fesm2022/ng-nest-ui-table.mjs +90 -112
  138. package/fesm2022/ng-nest-ui-table.mjs.map +1 -1
  139. package/fesm2022/ng-nest-ui-tabs.mjs +38 -40
  140. package/fesm2022/ng-nest-ui-tabs.mjs.map +1 -1
  141. package/fesm2022/ng-nest-ui-tag.mjs +16 -16
  142. package/fesm2022/ng-nest-ui-tag.mjs.map +1 -1
  143. package/fesm2022/ng-nest-ui-text-retract.mjs +11 -11
  144. package/fesm2022/ng-nest-ui-text-retract.mjs.map +1 -1
  145. package/fesm2022/ng-nest-ui-textarea.mjs +19 -19
  146. package/fesm2022/ng-nest-ui-textarea.mjs.map +1 -1
  147. package/fesm2022/ng-nest-ui-theme.mjs +12 -12
  148. package/fesm2022/ng-nest-ui-theme.mjs.map +1 -1
  149. package/fesm2022/ng-nest-ui-thought-chain.mjs +12 -12
  150. package/fesm2022/ng-nest-ui-thought-chain.mjs.map +1 -1
  151. package/fesm2022/ng-nest-ui-time-ago.mjs +7 -7
  152. package/fesm2022/ng-nest-ui-time-picker.mjs +28 -28
  153. package/fesm2022/ng-nest-ui-time-picker.mjs.map +1 -1
  154. package/fesm2022/ng-nest-ui-time-range.mjs +7 -7
  155. package/fesm2022/ng-nest-ui-timeline.mjs +12 -12
  156. package/fesm2022/ng-nest-ui-timeline.mjs.map +1 -1
  157. package/fesm2022/ng-nest-ui-tooltip.mjs +17 -17
  158. package/fesm2022/ng-nest-ui-tooltip.mjs.map +1 -1
  159. package/fesm2022/ng-nest-ui-transfer.mjs +14 -14
  160. package/fesm2022/ng-nest-ui-transfer.mjs.map +1 -1
  161. package/fesm2022/ng-nest-ui-tree-file.mjs +17 -17
  162. package/fesm2022/ng-nest-ui-tree-file.mjs.map +1 -1
  163. package/fesm2022/ng-nest-ui-tree-select.mjs +36 -42
  164. package/fesm2022/ng-nest-ui-tree-select.mjs.map +1 -1
  165. package/fesm2022/ng-nest-ui-tree.mjs +44 -46
  166. package/fesm2022/ng-nest-ui-tree.mjs.map +1 -1
  167. package/fesm2022/ng-nest-ui-typography.mjs +10 -10
  168. package/fesm2022/ng-nest-ui-upload.mjs +24 -24
  169. package/fesm2022/ng-nest-ui-upload.mjs.map +1 -1
  170. package/fesm2022/ng-nest-ui-welcome.mjs +10 -10
  171. package/package.json +1 -1
  172. package/types/ng-nest-ui-i18n.d.ts +13 -11
  173. package/types/ng-nest-ui-scrollable.d.ts +6 -0
@@ -1 +1 @@
1
- {"version":3,"file":"ng-nest-ui-popover.mjs","sources":["../../../../lib/ng-nest/ui/popover/popover.property.ts","../../../../lib/ng-nest/ui/popover/popover-portal.component.ts","../../../../lib/ng-nest/ui/popover/popover-portal.component.html","../../../../lib/ng-nest/ui/popover/popover.directive.ts","../../../../lib/ng-nest/ui/popover/popover.module.ts","../../../../lib/ng-nest/ui/popover/ng-nest-ui-popover.ts"],"sourcesContent":["import { XPropertyFunction, XToCssPixelValue, XToBoolean, XToNumber } from '@ng-nest/ui/core';\r\nimport { Directive, ElementRef, input, model } from '@angular/core';\r\nimport type { XPlacement, XTemplate, XBoolean, XNumber } from '@ng-nest/ui/core';\r\n\r\n/**\r\n * Popover\r\n * @selector x-popover\r\n * @decorator directive\r\n */\r\nexport const XPopoverPrefix = 'x-popover';\r\nconst X_POPOVER_CONFIG_NAME = 'popover';\r\n\r\n/**\r\n * Popover Property\r\n */\r\n@Directive({ selector: `[${XPopoverPrefix}], ${XPopoverPrefix}` })\r\nexport class XPopoverProperty extends XPropertyFunction(X_POPOVER_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 标题,支持自定义模板\r\n * @en_US Title, support custom template\r\n */\r\n readonly title = input<XTemplate>('');\r\n /**\r\n * @zh_CN 内容,支持自定义模板\r\n * @en_US Content, support custom templates\r\n */\r\n readonly content = input<XTemplate>('');\r\n /**\r\n * @zh_CN 底部,支持自定义模板\r\n * @en_US At the bottom, support custom templates\r\n */\r\n readonly footer = input<XTemplate>('');\r\n /**\r\n * @zh_CN 内部样式\r\n * @en_US panel class\r\n */\r\n readonly panelClass = input<string | string[]>('');\r\n /**\r\n * @zh_CN 指定参考对象\r\n * @en_US specify reference object\r\n */\r\n readonly connectTo = input<ElementRef<HTMLElement> | HTMLElement>();\r\n /**\r\n * @zh_CN 弹出的位置\r\n * @en_US Pop-up position\r\n */\r\n readonly placement = input<XPlacement>(this.config?.placement ?? 'top');\r\n /**\r\n * @zh_CN 激活方式\r\n * @en_US Activation method\r\n */\r\n readonly trigger = input<XPopoverTrigger>(this.config?.trigger ?? 'hover');\r\n /**\r\n * @zh_CN 宽度\r\n * @en_US width\r\n */\r\n readonly width = input<string, XNumber>(this.config?.width ?? '', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 最大宽度\r\n * @en_US Max width\r\n */\r\n readonly maxWidth = input<string, XNumber>(this.config?.maxWidth ?? '10rem', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 最小宽度\r\n * @en_US Min width\r\n */\r\n readonly minWidth = input<string, XNumber>(this.config?.minWidth ?? '10rem', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 显示/隐藏控制\r\n * @en_US Show/hide control\r\n */\r\n readonly visible = model<boolean>(false);\r\n /**\r\n * @zh_CN 条件触发\r\n * @en_US condition trigger\r\n */\r\n readonly condition = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 鼠标移入后延时多少才显示\r\n * @en_US How much is the mouse transfer after transfer\r\n */\r\n readonly mouseEnterDelay = input<number, XNumber>(150, { transform: XToNumber });\r\n /**\r\n * @zh_CN 鼠标移出后延时多少才隐藏\r\n * @en_US How much hidden is hidden after the mouse is removed\r\n */\r\n readonly mouseLeaveDelay = input<number, XNumber>(100, { transform: XToNumber });\r\n}\r\n\r\n/**\r\n * @zh_CN 激活方式\r\n * @en_US Activation method\r\n * @value \"hover\"\r\n * @value \"click\"\r\n */\r\nexport type XPopoverTrigger = 'hover' | 'click' | 'focus';\r\n\r\n/**\r\n * Popover Portal\r\n * @selector x-popover-portal\r\n * @decorator component\r\n */\r\nexport const XPopoverPortalPrefix = 'x-popover-portal';\r\n","import {\r\n Component,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n HostListener,\r\n HostBinding,\r\n input,\r\n computed,\r\n output\r\n} from '@angular/core';\r\nimport { XPopoverPortalPrefix, XPopoverTrigger } from './popover.property';\r\nimport { XTemplate, XPlacement, XIsEmpty } from '@ng-nest/ui/core';\r\nimport { XOutletDirective } from '@ng-nest/ui/outlet';\r\nimport { NgClass } from '@angular/common';\r\n\r\n@Component({\r\n selector: `${XPopoverPortalPrefix}`,\r\n imports: [NgClass, XOutletDirective],\r\n templateUrl: './popover-portal.component.html',\r\n styleUrls: ['./popover-portal.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XPopoverPortalComponent {\r\n title = input<XTemplate>();\r\n content = input<XTemplate>();\r\n footer = input<XTemplate>();\r\n width = input<string>();\r\n minWidth = input<string>();\r\n maxWidth = input<string>();\r\n trigger = input<XPopoverTrigger>();\r\n placement = input<XPlacement>();\r\n portalHover = output<boolean>();\r\n\r\n @HostListener('mouseenter') mouseenter() {\r\n if (this.trigger() === 'hover') {\r\n this.portalHover.emit(true);\r\n }\r\n }\r\n\r\n @HostListener('mouseleave') mouseleave() {\r\n if (this.trigger() === 'hover') {\r\n this.portalHover.emit(false);\r\n }\r\n }\r\n\r\n @HostBinding('animate.enter') animateEnter = 'x-fade-enter';\r\n @HostBinding('animate.leave') animateLeave = 'x-fade-leave';\r\n\r\n classMap = computed(() => ({\r\n [`${XPopoverPortalPrefix}-${this.placement()}`]: !XIsEmpty(this.placement())\r\n }));\r\n\r\n stopPropagation(event: Event): void {\r\n event.stopPropagation();\r\n }\r\n}\r\n","<div #popoverPortal class=\"x-popover-portal\" [ngClass]=\"classMap()\" (click)=\"stopPropagation($event)\">\r\n <div\r\n class=\"x-popover-portal-inner\"\r\n [style.width]=\"width()\"\r\n [style.minWidth]=\"minWidth()\"\r\n [style.maxWidth]=\"maxWidth()\"\r\n >\r\n @if (title()) {\r\n <div class=\"x-popover-portal-title\">\r\n <ng-container *xOutlet=\"title()\">\r\n {{ title() }}\r\n </ng-container>\r\n </div>\r\n }\r\n @if (content()) {\r\n <div class=\"x-popover-portal-content\">\r\n <ng-container *xOutlet=\"content()\">\r\n {{ content() }}\r\n </ng-container>\r\n </div>\r\n }\r\n @if (footer()) {\r\n <div class=\"x-popover-portal-footer\">\r\n <ng-container *xOutlet=\"footer()\">\r\n {{ footer() }}\r\n </ng-container>\r\n </div>\r\n }\r\n </div>\r\n <div #popoverArrow class=\"x-popover-portal-arrow\"></div>\r\n</div>\r\n","import {\r\n ElementRef,\r\n ViewContainerRef,\r\n Directive,\r\n HostListener,\r\n HostBinding,\r\n inject,\r\n OnDestroy,\r\n effect,\r\n ComponentRef,\r\n signal,\r\n SimpleChanges,\r\n OnChanges\r\n} from '@angular/core';\r\nimport { XPortalService, XPortalOverlayRef, XPortalConnectedPosition } from '@ng-nest/ui/portal';\r\nimport { XPopoverPortalComponent } from './popover-portal.component';\r\nimport { XPopoverPrefix, XPopoverProperty } from './popover.property';\r\nimport { Subject } from 'rxjs';\r\nimport {\r\n OverlayConfig,\r\n FlexibleConnectedPositionStrategy,\r\n ConnectedOverlayPositionChange,\r\n Overlay\r\n} from '@angular/cdk/overlay';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { XIsChange, type XPlacement } from '@ng-nest/ui/core';\r\n\r\n@Directive({ selector: `[${XPopoverPrefix}], ${XPopoverPrefix}` })\r\nexport class XPopoverDirective extends XPopoverProperty implements OnDestroy, OnChanges {\r\n portal!: XPortalOverlayRef<XPopoverPortalComponent>;\r\n timeoutHide: any;\r\n timeoutShow: any;\r\n private unSubject = new Subject<void>();\r\n private realPlacement = signal<XPlacement | null>(null);\r\n private elementRef = inject(ElementRef);\r\n private portalService = inject(XPortalService);\r\n private viewContainerRef = inject(ViewContainerRef);\r\n private overlay = inject(Overlay);\r\n\r\n @HostBinding('class.x-popover-show') get _show() {\r\n return this.visible();\r\n }\r\n\r\n @HostListener('click') click() {\r\n if (this.condition()) return;\r\n if (this.trigger() === 'click') {\r\n this.visible.update((x) => !x);\r\n if (this.visible()) this.show();\r\n else this.hide();\r\n }\r\n }\r\n\r\n @HostListener('mouseenter') mouseenter() {\r\n if (this.condition()) return;\r\n if (this.trigger() === 'hover') this.show();\r\n }\r\n\r\n @HostListener('mouseleave') mouseleave() {\r\n if (this.condition()) return;\r\n if (this.trigger() === 'hover') this.hide();\r\n }\r\n\r\n @HostListener('focus') focus() {\r\n if (this.condition()) return;\r\n if (this.trigger() === 'focus') this.show();\r\n }\r\n\r\n @HostListener('blur') blur() {\r\n if (this.condition()) return;\r\n if (this.trigger() === 'focus') this.hide();\r\n }\r\n\r\n portalComponent = signal<ComponentRef<XPopoverPortalComponent> | null>(null);\r\n\r\n constructor() {\r\n super();\r\n effect(() => this.portalComponent()?.setInput('title', this.title()));\r\n effect(() => this.portalComponent()?.setInput('content', this.content()));\r\n effect(() => this.portalComponent()?.setInput('footer', this.footer()));\r\n effect(() => this.portalComponent()?.setInput('width', this.width()));\r\n effect(() => this.portalComponent()?.setInput('minWidth', this.minWidth()));\r\n effect(() => this.portalComponent()?.setInput('maxWidth', this.maxWidth()));\r\n effect(() => this.portalComponent()?.setInput('trigger', this.trigger()));\r\n effect(() => this.portalComponent()?.setInput('placement', this.realPlacement()));\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n const { visible } = changes;\r\n if (XIsChange(visible) && !this.condition()) {\r\n if (this.visible()) this.show();\r\n else this.hide();\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.unSubject.next();\r\n this.unSubject.complete();\r\n }\r\n\r\n show() {\r\n if (this.timeoutHide) clearTimeout(this.timeoutHide);\r\n if (this.timeoutShow) clearTimeout(this.timeoutShow);\r\n if (!this.portal || (this.portal && !this.portal.overlayRef?.hasAttached())) {\r\n this.timeoutShow = setTimeout(() => {\r\n this.createPortal();\r\n this.visible.set(true);\r\n }, this.mouseEnterDelay());\r\n }\r\n }\r\n\r\n hide() {\r\n if (this.timeoutHide) clearTimeout(this.timeoutHide);\r\n if (this.timeoutShow) clearTimeout(this.timeoutShow);\r\n if (this.portal?.overlayRef?.hasAttached()) {\r\n this.timeoutHide = setTimeout(() => {\r\n this.portal.overlayRef?.detach();\r\n this.visible.set(false);\r\n }, this.mouseLeaveDelay());\r\n }\r\n }\r\n\r\n createPortal() {\r\n const connectTo = this.connectTo();\r\n const config: OverlayConfig = {\r\n panelClass: this.panelClass(),\r\n backdropClass: '',\r\n positionStrategy: this.portalService.setPlacement({\r\n elementRef: connectTo\r\n ? connectTo instanceof ElementRef\r\n ? connectTo\r\n : new ElementRef(connectTo)\r\n : this.elementRef,\r\n placement: [this.placement(), 'top', 'bottom', 'left', 'right']\r\n }),\r\n scrollStrategy: this.overlay.scrollStrategies.reposition()\r\n };\r\n this.setPosition(config);\r\n this.portal = this.portalService.attach({\r\n content: XPopoverPortalComponent,\r\n viewContainerRef: this.viewContainerRef,\r\n overlayConfig: config\r\n });\r\n if (this.trigger() === 'click') {\r\n this.portal.overlayRef\r\n ?.outsidePointerEvents()\r\n .pipe(takeUntil(this.unSubject))\r\n .subscribe(() => {\r\n this.hide();\r\n });\r\n }\r\n this.setInstance();\r\n }\r\n\r\n setPosition(config: OverlayConfig) {\r\n let position = config.positionStrategy as FlexibleConnectedPositionStrategy;\r\n position.positionChanges.pipe(takeUntil(this.unSubject)).subscribe((pos: ConnectedOverlayPositionChange) => {\r\n const place = XPortalConnectedPosition.get(pos.connectionPair) as XPlacement;\r\n if (place !== this.realPlacement()) {\r\n this.realPlacement.set(place);\r\n this.portal.overlayRef?.updatePosition();\r\n }\r\n });\r\n }\r\n\r\n setInstance() {\r\n let componentRef = this.portal?.componentRef;\r\n if (!componentRef) return;\r\n this.portalComponent.set(componentRef);\r\n this.realPlacement.set(this.placement());\r\n\r\n const { portalHover } = componentRef.instance;\r\n portalHover.subscribe((hover: boolean) => {\r\n if (this.timeoutHide && hover) {\r\n clearTimeout(this.timeoutHide);\r\n } else {\r\n this.hide();\r\n }\r\n });\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { XPopoverDirective } from './popover.directive';\r\n\r\n@NgModule({\r\n exports: [XPopoverDirective],\r\n imports: [XPopoverDirective]\r\n})\r\nexport class XPopoverModule {}\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-popover.mjs","sources":["../../../../lib/ng-nest/ui/popover/popover.property.ts","../../../../lib/ng-nest/ui/popover/popover-portal.component.ts","../../../../lib/ng-nest/ui/popover/popover-portal.component.html","../../../../lib/ng-nest/ui/popover/popover.directive.ts","../../../../lib/ng-nest/ui/popover/popover.module.ts","../../../../lib/ng-nest/ui/popover/ng-nest-ui-popover.ts"],"sourcesContent":["import { XPropertyFunction, XToCssPixelValue, XToBoolean, XToNumber } from '@ng-nest/ui/core';\r\nimport { Directive, ElementRef, input, model } from '@angular/core';\r\nimport type { XPlacement, XTemplate, XBoolean, XNumber } from '@ng-nest/ui/core';\r\n\r\n/**\r\n * Popover\r\n * @selector x-popover\r\n * @decorator directive\r\n */\r\nexport const XPopoverPrefix = 'x-popover';\r\nconst X_POPOVER_CONFIG_NAME = 'popover';\r\n\r\n/**\r\n * Popover Property\r\n */\r\n@Directive({ selector: `[${XPopoverPrefix}], ${XPopoverPrefix}` })\r\nexport class XPopoverProperty extends XPropertyFunction(X_POPOVER_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 标题,支持自定义模板\r\n * @en_US Title, support custom template\r\n */\r\n readonly title = input<XTemplate>('');\r\n /**\r\n * @zh_CN 内容,支持自定义模板\r\n * @en_US Content, support custom templates\r\n */\r\n readonly content = input<XTemplate>('');\r\n /**\r\n * @zh_CN 底部,支持自定义模板\r\n * @en_US At the bottom, support custom templates\r\n */\r\n readonly footer = input<XTemplate>('');\r\n /**\r\n * @zh_CN 内部样式\r\n * @en_US panel class\r\n */\r\n readonly panelClass = input<string | string[]>('');\r\n /**\r\n * @zh_CN 指定参考对象\r\n * @en_US specify reference object\r\n */\r\n readonly connectTo = input<ElementRef<HTMLElement> | HTMLElement>();\r\n /**\r\n * @zh_CN 弹出的位置\r\n * @en_US Pop-up position\r\n */\r\n readonly placement = input<XPlacement>(this.config?.placement ?? 'top');\r\n /**\r\n * @zh_CN 激活方式\r\n * @en_US Activation method\r\n */\r\n readonly trigger = input<XPopoverTrigger>(this.config?.trigger ?? 'hover');\r\n /**\r\n * @zh_CN 宽度\r\n * @en_US width\r\n */\r\n readonly width = input<string, XNumber>(this.config?.width ?? '', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 最大宽度\r\n * @en_US Max width\r\n */\r\n readonly maxWidth = input<string, XNumber>(this.config?.maxWidth ?? '10rem', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 最小宽度\r\n * @en_US Min width\r\n */\r\n readonly minWidth = input<string, XNumber>(this.config?.minWidth ?? '10rem', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 显示/隐藏控制\r\n * @en_US Show/hide control\r\n */\r\n readonly visible = model<boolean>(false);\r\n /**\r\n * @zh_CN 条件触发\r\n * @en_US condition trigger\r\n */\r\n readonly condition = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 鼠标移入后延时多少才显示\r\n * @en_US How much is the mouse transfer after transfer\r\n */\r\n readonly mouseEnterDelay = input<number, XNumber>(150, { transform: XToNumber });\r\n /**\r\n * @zh_CN 鼠标移出后延时多少才隐藏\r\n * @en_US How much hidden is hidden after the mouse is removed\r\n */\r\n readonly mouseLeaveDelay = input<number, XNumber>(100, { transform: XToNumber });\r\n}\r\n\r\n/**\r\n * @zh_CN 激活方式\r\n * @en_US Activation method\r\n * @value \"hover\"\r\n * @value \"click\"\r\n */\r\nexport type XPopoverTrigger = 'hover' | 'click' | 'focus';\r\n\r\n/**\r\n * Popover Portal\r\n * @selector x-popover-portal\r\n * @decorator component\r\n */\r\nexport const XPopoverPortalPrefix = 'x-popover-portal';\r\n","import {\r\n Component,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n HostListener,\r\n HostBinding,\r\n input,\r\n computed,\r\n output\r\n} from '@angular/core';\r\nimport { XPopoverPortalPrefix, XPopoverTrigger } from './popover.property';\r\nimport { XTemplate, XPlacement, XIsEmpty } from '@ng-nest/ui/core';\r\nimport { XOutletDirective } from '@ng-nest/ui/outlet';\r\nimport { NgClass } from '@angular/common';\r\n\r\n@Component({\r\n selector: `${XPopoverPortalPrefix}`,\r\n imports: [NgClass, XOutletDirective],\r\n templateUrl: './popover-portal.component.html',\r\n styleUrls: ['./popover-portal.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XPopoverPortalComponent {\r\n title = input<XTemplate>();\r\n content = input<XTemplate>();\r\n footer = input<XTemplate>();\r\n width = input<string>();\r\n minWidth = input<string>();\r\n maxWidth = input<string>();\r\n trigger = input<XPopoverTrigger>();\r\n placement = input<XPlacement>();\r\n portalHover = output<boolean>();\r\n\r\n @HostListener('mouseenter') mouseenter() {\r\n if (this.trigger() === 'hover') {\r\n this.portalHover.emit(true);\r\n }\r\n }\r\n\r\n @HostListener('mouseleave') mouseleave() {\r\n if (this.trigger() === 'hover') {\r\n this.portalHover.emit(false);\r\n }\r\n }\r\n\r\n @HostBinding('animate.enter') animateEnter = 'x-fade-enter';\r\n @HostBinding('animate.leave') animateLeave = 'x-fade-leave';\r\n\r\n classMap = computed(() => ({\r\n [`${XPopoverPortalPrefix}-${this.placement()}`]: !XIsEmpty(this.placement())\r\n }));\r\n\r\n stopPropagation(event: Event): void {\r\n event.stopPropagation();\r\n }\r\n}\r\n","<div #popoverPortal class=\"x-popover-portal\" [ngClass]=\"classMap()\" (click)=\"stopPropagation($event)\">\r\n <div\r\n class=\"x-popover-portal-inner\"\r\n [style.width]=\"width()\"\r\n [style.minWidth]=\"minWidth()\"\r\n [style.maxWidth]=\"maxWidth()\"\r\n >\r\n @if (title()) {\r\n <div class=\"x-popover-portal-title\">\r\n <ng-container *xOutlet=\"title()\">\r\n {{ title() }}\r\n </ng-container>\r\n </div>\r\n }\r\n @if (content()) {\r\n <div class=\"x-popover-portal-content\">\r\n <ng-container *xOutlet=\"content()\">\r\n {{ content() }}\r\n </ng-container>\r\n </div>\r\n }\r\n @if (footer()) {\r\n <div class=\"x-popover-portal-footer\">\r\n <ng-container *xOutlet=\"footer()\">\r\n {{ footer() }}\r\n </ng-container>\r\n </div>\r\n }\r\n </div>\r\n <div #popoverArrow class=\"x-popover-portal-arrow\"></div>\r\n</div>\r\n","import {\r\n ElementRef,\r\n ViewContainerRef,\r\n Directive,\r\n HostListener,\r\n HostBinding,\r\n inject,\r\n OnDestroy,\r\n effect,\r\n ComponentRef,\r\n signal,\r\n SimpleChanges,\r\n OnChanges\r\n} from '@angular/core';\r\nimport { XPortalService, XPortalOverlayRef, XPortalConnectedPosition } from '@ng-nest/ui/portal';\r\nimport { XPopoverPortalComponent } from './popover-portal.component';\r\nimport { XPopoverPrefix, XPopoverProperty } from './popover.property';\r\nimport { Subject } from 'rxjs';\r\nimport {\r\n OverlayConfig,\r\n FlexibleConnectedPositionStrategy,\r\n ConnectedOverlayPositionChange,\r\n Overlay\r\n} from '@angular/cdk/overlay';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { XIsChange, type XPlacement } from '@ng-nest/ui/core';\r\n\r\n@Directive({ selector: `[${XPopoverPrefix}], ${XPopoverPrefix}` })\r\nexport class XPopoverDirective extends XPopoverProperty implements OnDestroy, OnChanges {\r\n portal!: XPortalOverlayRef<XPopoverPortalComponent>;\r\n timeoutHide: any;\r\n timeoutShow: any;\r\n private unSubject = new Subject<void>();\r\n private realPlacement = signal<XPlacement | null>(null);\r\n private elementRef = inject(ElementRef);\r\n private portalService = inject(XPortalService);\r\n private viewContainerRef = inject(ViewContainerRef);\r\n private overlay = inject(Overlay);\r\n\r\n @HostBinding('class.x-popover-show') get _show() {\r\n return this.visible();\r\n }\r\n\r\n @HostListener('click') click() {\r\n if (this.condition()) return;\r\n if (this.trigger() === 'click') {\r\n this.visible.update((x) => !x);\r\n if (this.visible()) this.show();\r\n else this.hide();\r\n }\r\n }\r\n\r\n @HostListener('mouseenter') mouseenter() {\r\n if (this.condition()) return;\r\n if (this.trigger() === 'hover') this.show();\r\n }\r\n\r\n @HostListener('mouseleave') mouseleave() {\r\n if (this.condition()) return;\r\n if (this.trigger() === 'hover') this.hide();\r\n }\r\n\r\n @HostListener('focus') focus() {\r\n if (this.condition()) return;\r\n if (this.trigger() === 'focus') this.show();\r\n }\r\n\r\n @HostListener('blur') blur() {\r\n if (this.condition()) return;\r\n if (this.trigger() === 'focus') this.hide();\r\n }\r\n\r\n portalComponent = signal<ComponentRef<XPopoverPortalComponent> | null>(null);\r\n\r\n constructor() {\r\n super();\r\n effect(() => this.portalComponent()?.setInput('title', this.title()));\r\n effect(() => this.portalComponent()?.setInput('content', this.content()));\r\n effect(() => this.portalComponent()?.setInput('footer', this.footer()));\r\n effect(() => this.portalComponent()?.setInput('width', this.width()));\r\n effect(() => this.portalComponent()?.setInput('minWidth', this.minWidth()));\r\n effect(() => this.portalComponent()?.setInput('maxWidth', this.maxWidth()));\r\n effect(() => this.portalComponent()?.setInput('trigger', this.trigger()));\r\n effect(() => this.portalComponent()?.setInput('placement', this.realPlacement()));\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n const { visible } = changes;\r\n if (XIsChange(visible) && !this.condition()) {\r\n if (this.visible()) this.show();\r\n else this.hide();\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.unSubject.next();\r\n this.unSubject.complete();\r\n }\r\n\r\n show() {\r\n if (this.timeoutHide) clearTimeout(this.timeoutHide);\r\n if (this.timeoutShow) clearTimeout(this.timeoutShow);\r\n if (!this.portal || (this.portal && !this.portal.overlayRef?.hasAttached())) {\r\n this.timeoutShow = setTimeout(() => {\r\n this.createPortal();\r\n this.visible.set(true);\r\n }, this.mouseEnterDelay());\r\n }\r\n }\r\n\r\n hide() {\r\n if (this.timeoutHide) clearTimeout(this.timeoutHide);\r\n if (this.timeoutShow) clearTimeout(this.timeoutShow);\r\n if (this.portal?.overlayRef?.hasAttached()) {\r\n this.timeoutHide = setTimeout(() => {\r\n this.portal.overlayRef?.detach();\r\n this.visible.set(false);\r\n }, this.mouseLeaveDelay());\r\n }\r\n }\r\n\r\n createPortal() {\r\n const connectTo = this.connectTo();\r\n const config: OverlayConfig = {\r\n panelClass: this.panelClass(),\r\n backdropClass: '',\r\n positionStrategy: this.portalService.setPlacement({\r\n elementRef: connectTo\r\n ? connectTo instanceof ElementRef\r\n ? connectTo\r\n : new ElementRef(connectTo)\r\n : this.elementRef,\r\n placement: [this.placement(), 'top', 'bottom', 'left', 'right']\r\n }),\r\n scrollStrategy: this.overlay.scrollStrategies.reposition()\r\n };\r\n this.setPosition(config);\r\n this.portal = this.portalService.attach({\r\n content: XPopoverPortalComponent,\r\n viewContainerRef: this.viewContainerRef,\r\n overlayConfig: config\r\n });\r\n if (this.trigger() === 'click') {\r\n this.portal.overlayRef\r\n ?.outsidePointerEvents()\r\n .pipe(takeUntil(this.unSubject))\r\n .subscribe(() => {\r\n this.hide();\r\n });\r\n }\r\n this.setInstance();\r\n }\r\n\r\n setPosition(config: OverlayConfig) {\r\n let position = config.positionStrategy as FlexibleConnectedPositionStrategy;\r\n position.positionChanges.pipe(takeUntil(this.unSubject)).subscribe((pos: ConnectedOverlayPositionChange) => {\r\n const place = XPortalConnectedPosition.get(pos.connectionPair) as XPlacement;\r\n if (place !== this.realPlacement()) {\r\n this.realPlacement.set(place);\r\n this.portal.overlayRef?.updatePosition();\r\n }\r\n });\r\n }\r\n\r\n setInstance() {\r\n let componentRef = this.portal?.componentRef;\r\n if (!componentRef) return;\r\n this.portalComponent.set(componentRef);\r\n this.realPlacement.set(this.placement());\r\n\r\n const { portalHover } = componentRef.instance;\r\n portalHover.subscribe((hover: boolean) => {\r\n if (this.timeoutHide && hover) {\r\n clearTimeout(this.timeoutHide);\r\n } else {\r\n this.hide();\r\n }\r\n });\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { XPopoverDirective } from './popover.directive';\r\n\r\n@NgModule({\r\n exports: [XPopoverDirective],\r\n imports: [XPopoverDirective]\r\n})\r\nexport class XPopoverModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -5,11 +5,11 @@ import { Overlay } from '@angular/cdk/overlay';
5
5
  import { TemplatePortal, ComponentPortal } from '@angular/cdk/portal';
6
6
 
7
7
  class XPortalModule {
8
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XPortalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.0", ngImport: i0, type: XPortalModule }); }
10
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XPortalModule }); }
8
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XPortalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.6", ngImport: i0, type: XPortalModule }); }
10
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XPortalModule }); }
11
11
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XPortalModule, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XPortalModule, decorators: [{
13
13
  type: NgModule,
14
14
  args: [{
15
15
  imports: [],
@@ -217,10 +217,10 @@ class XPortalService {
217
217
  placement.forEach((place) => result.push(XPortalPlacement[place]));
218
218
  return result;
219
219
  }
220
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XPortalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
221
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XPortalService, providedIn: 'root' }); }
220
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XPortalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
221
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XPortalService, providedIn: 'root' }); }
222
222
  }
223
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XPortalService, decorators: [{
223
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XPortalService, decorators: [{
224
224
  type: Injectable,
225
225
  args: [{ providedIn: 'root' }]
226
226
  }] });
@@ -27,12 +27,12 @@ class XProgressProperty extends XPropertyFunction(X_PROGRESS_CONFIG_NAME) {
27
27
  * @zh_CN 显示进度 0-100
28
28
  * @en_US Show progress 0-100
29
29
  */
30
- this.percent = input(0, ...(ngDevMode ? [{ debugName: "percent", transform: XToNumber }] : [{ transform: XToNumber }]));
30
+ this.percent = input(0, { ...(ngDevMode ? { debugName: "percent" } : {}), transform: XToNumber });
31
31
  /**
32
32
  * @zh_CN 进度条高度
33
33
  * @en_US Height of progress bar
34
34
  */
35
- this.height = input(this.config?.height ?? '1rem', ...(ngDevMode ? [{ debugName: "height", transform: XToCssPixelValue }] : [{ transform: XToCssPixelValue }]));
35
+ this.height = input(this.config?.height ?? '1rem', { ...(ngDevMode ? { debugName: "height" } : {}), transform: XToCssPixelValue });
36
36
  /**
37
37
  * @zh_CN 状态
38
38
  * @en_US Status
@@ -42,17 +42,17 @@ class XProgressProperty extends XPropertyFunction(X_PROGRESS_CONFIG_NAME) {
42
42
  * @zh_CN 是否显示百分比文本信息
43
43
  * @en_US Whether to display percentage text
44
44
  */
45
- this.info = input(true, ...(ngDevMode ? [{ debugName: "info", transform: XToBoolean }] : [{ transform: XToBoolean }]));
45
+ this.info = input(true, { ...(ngDevMode ? { debugName: "info" } : {}), transform: XToBoolean });
46
46
  /**
47
47
  * @zh_CN 文本信息宽度
48
48
  * @en_US The width of the text information
49
49
  */
50
- this.infoWidth = input('3.5rem', ...(ngDevMode ? [{ debugName: "infoWidth", transform: XToCssPixelValue }] : [{ transform: XToCssPixelValue }]));
50
+ this.infoWidth = input('3.5rem', { ...(ngDevMode ? { debugName: "infoWidth" } : {}), transform: XToCssPixelValue });
51
51
  /**
52
52
  * @zh_CN 百分比文本是否显示在进度条里面
53
53
  * @en_US Whether the percentage text is displayed in the progress bar
54
54
  */
55
- this.inside = input(false, ...(ngDevMode ? [{ debugName: "inside", transform: XToBoolean }] : [{ transform: XToBoolean }]));
55
+ this.inside = input(false, { ...(ngDevMode ? { debugName: "inside" } : {}), transform: XToBoolean });
56
56
  /**
57
57
  * @zh_CN 自定义百分比文本内容
58
58
  * @en_US Custom percentage text content
@@ -77,42 +77,42 @@ class XProgressProperty extends XPropertyFunction(X_PROGRESS_CONFIG_NAME) {
77
77
  * @zh_CN 步骤进度条
78
78
  * @en_US Steps progress bar
79
79
  */
80
- this.steps = input(null, ...(ngDevMode ? [{ debugName: "steps", transform: XToNumber }] : [{ transform: XToNumber }]));
80
+ this.steps = input(null, { ...(ngDevMode ? { debugName: "steps" } : {}), transform: XToNumber });
81
81
  /**
82
82
  * @zh_CN 单个步骤的宽度
83
83
  * @en_US Single step width
84
84
  */
85
- this.stepWidth = input('2rem', ...(ngDevMode ? [{ debugName: "stepWidth", transform: XToCssPixelValue }] : [{ transform: XToCssPixelValue }]));
85
+ this.stepWidth = input('2rem', { ...(ngDevMode ? { debugName: "stepWidth" } : {}), transform: XToCssPixelValue });
86
86
  /**
87
87
  * @zh_CN 单个步骤的宽度自适应
88
88
  * @en_US Single step width flex
89
89
  */
90
- this.stepFlex = input(false, ...(ngDevMode ? [{ debugName: "stepFlex", transform: XToBoolean }] : [{ transform: XToBoolean }]));
90
+ this.stepFlex = input(false, { ...(ngDevMode ? { debugName: "stepFlex" } : {}), transform: XToBoolean });
91
91
  /**
92
92
  * @zh_CN 圆环/仪表盘厚度
93
93
  * @en_US Ring thickness
94
94
  */
95
- this.thickness = input('1rem', ...(ngDevMode ? [{ debugName: "thickness", transform: XToCssPixelValue }] : [{ transform: XToCssPixelValue }]));
95
+ this.thickness = input('1rem', { ...(ngDevMode ? { debugName: "thickness" } : {}), transform: XToCssPixelValue });
96
96
  /**
97
97
  * @zh_CN 圆环/仪表盘尺寸
98
98
  * @en_US Ring size
99
99
  */
100
- this.size = input('8rem', ...(ngDevMode ? [{ debugName: "size", transform: XToCssPixelValue }] : [{ transform: XToCssPixelValue }]));
100
+ this.size = input('8rem', { ...(ngDevMode ? { debugName: "size" } : {}), transform: XToCssPixelValue });
101
101
  /**
102
102
  * @zh_CN 仪表盘缺口角度 0~300
103
103
  * @en_US Dashboard notch angle
104
104
  */
105
- this.notchAngle = input(80, ...(ngDevMode ? [{ debugName: "notchAngle", transform: XToNumber }] : [{ transform: XToNumber }]));
105
+ this.notchAngle = input(80, { ...(ngDevMode ? { debugName: "notchAngle" } : {}), transform: XToNumber });
106
106
  /**
107
107
  * @zh_CN 分段显示颜色,只适用 type = 'line'
108
108
  * @en_US Segmentation display color, only use of type = 'line'
109
109
  */
110
- this.subsection = input(false, ...(ngDevMode ? [{ debugName: "subsection", transform: XToBoolean }] : [{ transform: XToBoolean }]));
110
+ this.subsection = input(false, { ...(ngDevMode ? { debugName: "subsection" } : {}), transform: XToBoolean });
111
111
  }
112
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XProgressProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
113
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.0", type: XProgressProperty, isStandalone: true, selector: "x-progress-property", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, percent: { classPropertyName: "percent", publicName: "percent", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, status: { classPropertyName: "status", publicName: "status", isSignal: true, isRequired: false, transformFunction: null }, info: { classPropertyName: "info", publicName: "info", isSignal: true, isRequired: false, transformFunction: null }, infoWidth: { classPropertyName: "infoWidth", publicName: "infoWidth", isSignal: true, isRequired: false, transformFunction: null }, inside: { classPropertyName: "inside", publicName: "inside", isSignal: true, isRequired: false, transformFunction: null }, format: { classPropertyName: "format", publicName: "format", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, railColor: { classPropertyName: "railColor", publicName: "railColor", isSignal: true, isRequired: false, transformFunction: null }, gradient: { classPropertyName: "gradient", publicName: "gradient", isSignal: true, isRequired: false, transformFunction: null }, steps: { classPropertyName: "steps", publicName: "steps", isSignal: true, isRequired: false, transformFunction: null }, stepWidth: { classPropertyName: "stepWidth", publicName: "stepWidth", isSignal: true, isRequired: false, transformFunction: null }, stepFlex: { classPropertyName: "stepFlex", publicName: "stepFlex", isSignal: true, isRequired: false, transformFunction: null }, thickness: { classPropertyName: "thickness", publicName: "thickness", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, notchAngle: { classPropertyName: "notchAngle", publicName: "notchAngle", isSignal: true, isRequired: false, transformFunction: null }, subsection: { classPropertyName: "subsection", publicName: "subsection", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
112
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XProgressProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
113
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.6", type: XProgressProperty, isStandalone: true, selector: "x-progress-property", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, percent: { classPropertyName: "percent", publicName: "percent", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, status: { classPropertyName: "status", publicName: "status", isSignal: true, isRequired: false, transformFunction: null }, info: { classPropertyName: "info", publicName: "info", isSignal: true, isRequired: false, transformFunction: null }, infoWidth: { classPropertyName: "infoWidth", publicName: "infoWidth", isSignal: true, isRequired: false, transformFunction: null }, inside: { classPropertyName: "inside", publicName: "inside", isSignal: true, isRequired: false, transformFunction: null }, format: { classPropertyName: "format", publicName: "format", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, railColor: { classPropertyName: "railColor", publicName: "railColor", isSignal: true, isRequired: false, transformFunction: null }, gradient: { classPropertyName: "gradient", publicName: "gradient", isSignal: true, isRequired: false, transformFunction: null }, steps: { classPropertyName: "steps", publicName: "steps", isSignal: true, isRequired: false, transformFunction: null }, stepWidth: { classPropertyName: "stepWidth", publicName: "stepWidth", isSignal: true, isRequired: false, transformFunction: null }, stepFlex: { classPropertyName: "stepFlex", publicName: "stepFlex", isSignal: true, isRequired: false, transformFunction: null }, thickness: { classPropertyName: "thickness", publicName: "thickness", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, notchAngle: { classPropertyName: "notchAngle", publicName: "notchAngle", isSignal: true, isRequired: false, transformFunction: null }, subsection: { classPropertyName: "subsection", publicName: "subsection", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
114
114
  }
115
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XProgressProperty, decorators: [{
115
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XProgressProperty, decorators: [{
116
116
  type: Component,
117
117
  args: [{ selector: `${XProgressPrefix}-property`, template: '' }]
118
118
  }], propDecorators: { type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], percent: [{ type: i0.Input, args: [{ isSignal: true, alias: "percent", required: false }] }], height: [{ type: i0.Input, args: [{ isSignal: true, alias: "height", required: false }] }], status: [{ type: i0.Input, args: [{ isSignal: true, alias: "status", required: false }] }], info: [{ type: i0.Input, args: [{ isSignal: true, alias: "info", required: false }] }], infoWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "infoWidth", required: false }] }], inside: [{ type: i0.Input, args: [{ isSignal: true, alias: "inside", required: false }] }], format: [{ type: i0.Input, args: [{ isSignal: true, alias: "format", required: false }] }], color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }], railColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "railColor", required: false }] }], gradient: [{ type: i0.Input, args: [{ isSignal: true, alias: "gradient", required: false }] }], steps: [{ type: i0.Input, args: [{ isSignal: true, alias: "steps", required: false }] }], stepWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "stepWidth", required: false }] }], stepFlex: [{ type: i0.Input, args: [{ isSignal: true, alias: "stepFlex", required: false }] }], thickness: [{ type: i0.Input, args: [{ isSignal: true, alias: "thickness", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], notchAngle: [{ type: i0.Input, args: [{ isSignal: true, alias: "notchAngle", required: false }] }], subsection: [{ type: i0.Input, args: [{ isSignal: true, alias: "subsection", required: false }] }] } });
@@ -342,20 +342,20 @@ class XProgressComponent extends XProgressProperty {
342
342
  }
343
343
  return '';
344
344
  }
345
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XProgressComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
346
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0", type: XProgressComponent, isStandalone: true, selector: "x-progress", usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"x-progress\"\r\n [ngClass]=\"classMap()\"\r\n [class.x-progress-steps]=\"stepsArray().length > 0\"\r\n [class.x-progress-steps-flex]=\"stepFlex()\"\r\n>\r\n @switch (type()) {\r\n @case ('circle') {\r\n <ng-container *ngTemplateOutlet=\"circleTpl\"> </ng-container>\r\n }\r\n @case ('dashboard') {\r\n <ng-container *ngTemplateOutlet=\"dashboardTpl\"> </ng-container>\r\n }\r\n @default {\r\n <ng-container *ngTemplateOutlet=\"lineTpl\"> </ng-container>\r\n }\r\n }\r\n</div>\r\n\r\n<ng-template #lineTpl>\r\n @if (stepsArray().length === 0) {\r\n <ng-container *ngTemplateOutlet=\"trackTpl\"></ng-container>\r\n }\r\n @if (stepsArray().length > 0) {\r\n <ng-container *ngTemplateOutlet=\"stepsTpl\"></ng-container>\r\n }\r\n @if (info() && !inside()) {\r\n <ng-container *ngTemplateOutlet=\"textTpl\"></ng-container>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #circleTpl>\r\n <div class=\"x-progress-ring\" [style.width]=\"size()\" [style.height]=\"size()\">\r\n <div\r\n class=\"x-progress-ring-rail\"\r\n [style.border-width]=\"thickness()\"\r\n [style.border-color]=\"currentRailColor()\"\r\n ></div>\r\n <div\r\n class=\"x-progress-ring-bg\"\r\n [style.clip-path]=\"circleClipPath()\"\r\n [style.border-color]=\"currentColor()\"\r\n [style.border-width]=\"thickness()\"\r\n ></div>\r\n <ng-container *ngTemplateOutlet=\"textTpl\"></ng-container>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #dashboardTpl>\r\n <div class=\"x-progress-ring\" [style.width]=\"size()\" [style.height]=\"size()\">\r\n <div\r\n class=\"x-progress-ring-rail\"\r\n [style.clip-path]=\"dashboardRailClipPath()\"\r\n [style.border-color]=\"currentRailColor()\"\r\n [style.border-width]=\"thickness()\"\r\n ></div>\r\n <div\r\n class=\"x-progress-ring-bg\"\r\n [style.clip-path]=\"dashboardClipPath()\"\r\n [style.border-color]=\"currentColor()\"\r\n [style.border-width]=\"thickness()\"\r\n ></div>\r\n <ng-container *ngTemplateOutlet=\"textTpl\"></ng-container>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #trackTpl>\r\n <div class=\"x-progress-track\">\r\n <div\r\n class=\"x-progress-rail\"\r\n [class.x-progress-mask]=\"subsection()\"\r\n [style.background-color]=\"currentRailColor()\"\r\n [style.background-image]=\"subsection() ? subLinearGradient() : 'none'\"\r\n >\r\n <div\r\n class=\"x-progress-bg\"\r\n [style.width.%]=\"percent()\"\r\n [style.background-color]=\"currentColor()\"\r\n [style.background-image]=\"linearGradient()\"\r\n [style.height]=\"height()\"\r\n [style.line-height]=\"height()\"\r\n >\r\n @if (info() && inside()) {\r\n <ng-container *ngTemplateOutlet=\"textTpl\"></ng-container>\r\n }\r\n </div>\r\n @if (subsection()) {\r\n <div\r\n class=\"x-progress-bg-mask\"\r\n [style.width.%]=\"maskWidth()\"\r\n [style.height]=\"height()\"\r\n [style.line-height]=\"height()\"\r\n ></div>\r\n }\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #stepsTpl>\r\n @for (step of stepsArray(); track i; let i = $index) {\r\n <div\r\n class=\"x-progress-step\"\r\n [class.x-progress-step-active]=\"step\"\r\n [style.background-color]=\"step ? currentColor() : currentRailColor()\"\r\n [style.width]=\"stepWidth()\"\r\n [style.flex]=\"stepFlex() ? 1 : 'none'\"\r\n [style.height]=\"height()\"\r\n [style.line-height]=\"height()\"\r\n ></div>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #textTpl>\r\n <span class=\"x-progress-text\" [style.width]=\"infoWidth()\">\r\n @switch (status()) {\r\n @case ('success') {\r\n <x-icon type=\"fto-check-circle\"></x-icon>\r\n }\r\n @case ('exception') {\r\n <x-icon type=\"fto-x-circle\"></x-icon>\r\n }\r\n @case ('warning') {\r\n <x-icon type=\"fto-help-circle\"></x-icon>\r\n }\r\n @default {\r\n @if (format()) {\r\n {{ format()!(percent()) }}\r\n } @else {\r\n {{ percent() }}%\r\n }\r\n }\r\n }\r\n </span>\r\n</ng-template>\r\n", styles: ["@keyframes x-progress-active{0%{width:0;opacity:.1}20%{width:0;opacity:.5}to{width:100%;opacity:0}}x-progress{display:initial}.x-progress{margin:0;padding:0}.x-progress{display:inline-flex;align-items:center;width:100%}.x-progress-track{flex:1;display:inline-flex;align-items:center}.x-progress-rail{position:relative;display:inline-flex;width:100%;overflow:hidden;vertical-align:middle;background-color:var(--x-border-100);border-radius:var(--x-border-radius)}.x-progress-bg{position:relative;background-color:var(--x-primary);transition:width .3s cubic-bezier(.08,.82,.17,1) 0s;border-radius:var(--x-border-radius);text-align:right;color:#fff}.x-progress-bg>span{margin:0 .325rem}.x-progress-circle,.x-progress-dashboard,.x-progress-steps:not(.x-progress-steps-flex){width:initial}.x-progress-ring{position:relative;display:inline-flex;align-items:center;justify-content:center}.x-progress-ring-rail{position:absolute;width:100%;height:100%;border-style:solid;border-color:var(--x-border-100);border-radius:100%}.x-progress-ring-bg{position:absolute;width:100%;height:100%;border-style:solid;border-color:var(--x-primary);border-radius:100%;transition:clip-path .3s cubic-bezier(.08,.82,.17,1) 0s}.x-progress-ring .x-progress-text{margin-left:0;justify-content:center;font-size:var(--x-font-size-large)}.x-progress-mask .x-progress-bg{background:transparent}.x-progress-bg-mask{transition:width .3s cubic-bezier(.08,.82,.17,1) 0s;background-color:var(--x-border-100);border-top-right-radius:var(--x-border-radius);border-bottom-right-radius:var(--x-border-radius)}.x-progress-step{background-color:var(--x-border-100);border-radius:var(--x-border-radius)}.x-progress-step:not(:first-child){margin-left:.125rem}.x-progress-step-active{background-color:var(--x-primary)}.x-progress-text{margin-left:.5rem;display:inline-flex;align-items:center;white-space:nowrap}.x-progress-text x-icon{font-size:1.25rem}.x-progress-active .x-progress-bg:before{position:absolute;inset:0;background:var(--x-background-100);border-radius:var(--x-border-radius);opacity:0;animation:x-progress-active 2s cubic-bezier(.23,1,.32,1) infinite;content:\"\"}.x-progress-exception .x-progress-text{color:var(--x-danger)}.x-progress-exception .x-progress-bg,.x-progress-exception .x-progress-step-active{background-color:var(--x-danger)}.x-progress-exception .x-progress-ring-bg{border-color:var(--x-danger)}.x-progress-success .x-progress-text{color:var(--x-success)}.x-progress-success .x-progress-bg,.x-progress-success .x-progress-step-active{background-color:var(--x-success)}.x-progress-success .x-progress-ring-bg{border-color:var(--x-success)}.x-progress-warning .x-progress-text{color:var(--x-warning)}.x-progress-warning .x-progress-bg,.x-progress-warning .x-progress-step-active{background-color:var(--x-warning)}.x-progress-warning .x-progress-ring-bg{border-color:var(--x-warning)}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: XIconComponent, selector: "x-icon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
345
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XProgressComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
346
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.6", type: XProgressComponent, isStandalone: true, selector: "x-progress", usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"x-progress\"\r\n [ngClass]=\"classMap()\"\r\n [class.x-progress-steps]=\"stepsArray().length > 0\"\r\n [class.x-progress-steps-flex]=\"stepFlex()\"\r\n>\r\n @switch (type()) {\r\n @case ('circle') {\r\n <ng-container *ngTemplateOutlet=\"circleTpl\"> </ng-container>\r\n }\r\n @case ('dashboard') {\r\n <ng-container *ngTemplateOutlet=\"dashboardTpl\"> </ng-container>\r\n }\r\n @default {\r\n <ng-container *ngTemplateOutlet=\"lineTpl\"> </ng-container>\r\n }\r\n }\r\n</div>\r\n\r\n<ng-template #lineTpl>\r\n @if (stepsArray().length === 0) {\r\n <ng-container *ngTemplateOutlet=\"trackTpl\"></ng-container>\r\n }\r\n @if (stepsArray().length > 0) {\r\n <ng-container *ngTemplateOutlet=\"stepsTpl\"></ng-container>\r\n }\r\n @if (info() && !inside()) {\r\n <ng-container *ngTemplateOutlet=\"textTpl\"></ng-container>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #circleTpl>\r\n <div class=\"x-progress-ring\" [style.width]=\"size()\" [style.height]=\"size()\">\r\n <div\r\n class=\"x-progress-ring-rail\"\r\n [style.border-width]=\"thickness()\"\r\n [style.border-color]=\"currentRailColor()\"\r\n ></div>\r\n <div\r\n class=\"x-progress-ring-bg\"\r\n [style.clip-path]=\"circleClipPath()\"\r\n [style.border-color]=\"currentColor()\"\r\n [style.border-width]=\"thickness()\"\r\n ></div>\r\n <ng-container *ngTemplateOutlet=\"textTpl\"></ng-container>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #dashboardTpl>\r\n <div class=\"x-progress-ring\" [style.width]=\"size()\" [style.height]=\"size()\">\r\n <div\r\n class=\"x-progress-ring-rail\"\r\n [style.clip-path]=\"dashboardRailClipPath()\"\r\n [style.border-color]=\"currentRailColor()\"\r\n [style.border-width]=\"thickness()\"\r\n ></div>\r\n <div\r\n class=\"x-progress-ring-bg\"\r\n [style.clip-path]=\"dashboardClipPath()\"\r\n [style.border-color]=\"currentColor()\"\r\n [style.border-width]=\"thickness()\"\r\n ></div>\r\n <ng-container *ngTemplateOutlet=\"textTpl\"></ng-container>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #trackTpl>\r\n <div class=\"x-progress-track\">\r\n <div\r\n class=\"x-progress-rail\"\r\n [class.x-progress-mask]=\"subsection()\"\r\n [style.background-color]=\"currentRailColor()\"\r\n [style.background-image]=\"subsection() ? subLinearGradient() : 'none'\"\r\n >\r\n <div\r\n class=\"x-progress-bg\"\r\n [style.width.%]=\"percent()\"\r\n [style.background-color]=\"currentColor()\"\r\n [style.background-image]=\"linearGradient()\"\r\n [style.height]=\"height()\"\r\n [style.line-height]=\"height()\"\r\n >\r\n @if (info() && inside()) {\r\n <ng-container *ngTemplateOutlet=\"textTpl\"></ng-container>\r\n }\r\n </div>\r\n @if (subsection()) {\r\n <div\r\n class=\"x-progress-bg-mask\"\r\n [style.width.%]=\"maskWidth()\"\r\n [style.height]=\"height()\"\r\n [style.line-height]=\"height()\"\r\n ></div>\r\n }\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #stepsTpl>\r\n @for (step of stepsArray(); track i; let i = $index) {\r\n <div\r\n class=\"x-progress-step\"\r\n [class.x-progress-step-active]=\"step\"\r\n [style.background-color]=\"step ? currentColor() : currentRailColor()\"\r\n [style.width]=\"stepWidth()\"\r\n [style.flex]=\"stepFlex() ? 1 : 'none'\"\r\n [style.height]=\"height()\"\r\n [style.line-height]=\"height()\"\r\n ></div>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #textTpl>\r\n <span class=\"x-progress-text\" [style.width]=\"infoWidth()\">\r\n @switch (status()) {\r\n @case ('success') {\r\n <x-icon type=\"fto-check-circle\"></x-icon>\r\n }\r\n @case ('exception') {\r\n <x-icon type=\"fto-x-circle\"></x-icon>\r\n }\r\n @case ('warning') {\r\n <x-icon type=\"fto-help-circle\"></x-icon>\r\n }\r\n @default {\r\n @if (format()) {\r\n {{ format()!(percent()) }}\r\n } @else {\r\n {{ percent() }}%\r\n }\r\n }\r\n }\r\n </span>\r\n</ng-template>\r\n", styles: ["@keyframes x-progress-active{0%{width:0;opacity:.1}20%{width:0;opacity:.5}to{width:100%;opacity:0}}x-progress{display:initial}.x-progress{margin:0;padding:0}.x-progress{display:inline-flex;align-items:center;width:100%}.x-progress-track{flex:1;display:inline-flex;align-items:center}.x-progress-rail{position:relative;display:inline-flex;width:100%;overflow:hidden;vertical-align:middle;background-color:var(--x-border-100);border-radius:var(--x-border-radius)}.x-progress-bg{position:relative;background-color:var(--x-primary);transition:width .3s cubic-bezier(.08,.82,.17,1) 0s;border-radius:var(--x-border-radius);text-align:right;color:#fff}.x-progress-bg>span{margin:0 .325rem}.x-progress-circle,.x-progress-dashboard,.x-progress-steps:not(.x-progress-steps-flex){width:initial}.x-progress-ring{position:relative;display:inline-flex;align-items:center;justify-content:center}.x-progress-ring-rail{position:absolute;width:100%;height:100%;border-style:solid;border-color:var(--x-border-100);border-radius:100%}.x-progress-ring-bg{position:absolute;width:100%;height:100%;border-style:solid;border-color:var(--x-primary);border-radius:100%;transition:clip-path .3s cubic-bezier(.08,.82,.17,1) 0s}.x-progress-ring .x-progress-text{margin-left:0;justify-content:center;font-size:var(--x-font-size-large)}.x-progress-mask .x-progress-bg{background:transparent}.x-progress-bg-mask{transition:width .3s cubic-bezier(.08,.82,.17,1) 0s;background-color:var(--x-border-100);border-top-right-radius:var(--x-border-radius);border-bottom-right-radius:var(--x-border-radius)}.x-progress-step{background-color:var(--x-border-100);border-radius:var(--x-border-radius)}.x-progress-step:not(:first-child){margin-left:.125rem}.x-progress-step-active{background-color:var(--x-primary)}.x-progress-text{margin-left:.5rem;display:inline-flex;align-items:center;white-space:nowrap}.x-progress-text x-icon{font-size:1.25rem}.x-progress-active .x-progress-bg:before{position:absolute;inset:0;background:var(--x-background-100);border-radius:var(--x-border-radius);opacity:0;animation:x-progress-active 2s cubic-bezier(.23,1,.32,1) infinite;content:\"\"}.x-progress-exception .x-progress-text{color:var(--x-danger)}.x-progress-exception .x-progress-bg,.x-progress-exception .x-progress-step-active{background-color:var(--x-danger)}.x-progress-exception .x-progress-ring-bg{border-color:var(--x-danger)}.x-progress-success .x-progress-text{color:var(--x-success)}.x-progress-success .x-progress-bg,.x-progress-success .x-progress-step-active{background-color:var(--x-success)}.x-progress-success .x-progress-ring-bg{border-color:var(--x-success)}.x-progress-warning .x-progress-text{color:var(--x-warning)}.x-progress-warning .x-progress-bg,.x-progress-warning .x-progress-step-active{background-color:var(--x-warning)}.x-progress-warning .x-progress-ring-bg{border-color:var(--x-warning)}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: XIconComponent, selector: "x-icon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
347
347
  }
348
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XProgressComponent, decorators: [{
348
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XProgressComponent, decorators: [{
349
349
  type: Component,
350
350
  args: [{ selector: `${XProgressPrefix}`, imports: [NgClass, NgTemplateOutlet, FormsModule, XIconComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n class=\"x-progress\"\r\n [ngClass]=\"classMap()\"\r\n [class.x-progress-steps]=\"stepsArray().length > 0\"\r\n [class.x-progress-steps-flex]=\"stepFlex()\"\r\n>\r\n @switch (type()) {\r\n @case ('circle') {\r\n <ng-container *ngTemplateOutlet=\"circleTpl\"> </ng-container>\r\n }\r\n @case ('dashboard') {\r\n <ng-container *ngTemplateOutlet=\"dashboardTpl\"> </ng-container>\r\n }\r\n @default {\r\n <ng-container *ngTemplateOutlet=\"lineTpl\"> </ng-container>\r\n }\r\n }\r\n</div>\r\n\r\n<ng-template #lineTpl>\r\n @if (stepsArray().length === 0) {\r\n <ng-container *ngTemplateOutlet=\"trackTpl\"></ng-container>\r\n }\r\n @if (stepsArray().length > 0) {\r\n <ng-container *ngTemplateOutlet=\"stepsTpl\"></ng-container>\r\n }\r\n @if (info() && !inside()) {\r\n <ng-container *ngTemplateOutlet=\"textTpl\"></ng-container>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #circleTpl>\r\n <div class=\"x-progress-ring\" [style.width]=\"size()\" [style.height]=\"size()\">\r\n <div\r\n class=\"x-progress-ring-rail\"\r\n [style.border-width]=\"thickness()\"\r\n [style.border-color]=\"currentRailColor()\"\r\n ></div>\r\n <div\r\n class=\"x-progress-ring-bg\"\r\n [style.clip-path]=\"circleClipPath()\"\r\n [style.border-color]=\"currentColor()\"\r\n [style.border-width]=\"thickness()\"\r\n ></div>\r\n <ng-container *ngTemplateOutlet=\"textTpl\"></ng-container>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #dashboardTpl>\r\n <div class=\"x-progress-ring\" [style.width]=\"size()\" [style.height]=\"size()\">\r\n <div\r\n class=\"x-progress-ring-rail\"\r\n [style.clip-path]=\"dashboardRailClipPath()\"\r\n [style.border-color]=\"currentRailColor()\"\r\n [style.border-width]=\"thickness()\"\r\n ></div>\r\n <div\r\n class=\"x-progress-ring-bg\"\r\n [style.clip-path]=\"dashboardClipPath()\"\r\n [style.border-color]=\"currentColor()\"\r\n [style.border-width]=\"thickness()\"\r\n ></div>\r\n <ng-container *ngTemplateOutlet=\"textTpl\"></ng-container>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #trackTpl>\r\n <div class=\"x-progress-track\">\r\n <div\r\n class=\"x-progress-rail\"\r\n [class.x-progress-mask]=\"subsection()\"\r\n [style.background-color]=\"currentRailColor()\"\r\n [style.background-image]=\"subsection() ? subLinearGradient() : 'none'\"\r\n >\r\n <div\r\n class=\"x-progress-bg\"\r\n [style.width.%]=\"percent()\"\r\n [style.background-color]=\"currentColor()\"\r\n [style.background-image]=\"linearGradient()\"\r\n [style.height]=\"height()\"\r\n [style.line-height]=\"height()\"\r\n >\r\n @if (info() && inside()) {\r\n <ng-container *ngTemplateOutlet=\"textTpl\"></ng-container>\r\n }\r\n </div>\r\n @if (subsection()) {\r\n <div\r\n class=\"x-progress-bg-mask\"\r\n [style.width.%]=\"maskWidth()\"\r\n [style.height]=\"height()\"\r\n [style.line-height]=\"height()\"\r\n ></div>\r\n }\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #stepsTpl>\r\n @for (step of stepsArray(); track i; let i = $index) {\r\n <div\r\n class=\"x-progress-step\"\r\n [class.x-progress-step-active]=\"step\"\r\n [style.background-color]=\"step ? currentColor() : currentRailColor()\"\r\n [style.width]=\"stepWidth()\"\r\n [style.flex]=\"stepFlex() ? 1 : 'none'\"\r\n [style.height]=\"height()\"\r\n [style.line-height]=\"height()\"\r\n ></div>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #textTpl>\r\n <span class=\"x-progress-text\" [style.width]=\"infoWidth()\">\r\n @switch (status()) {\r\n @case ('success') {\r\n <x-icon type=\"fto-check-circle\"></x-icon>\r\n }\r\n @case ('exception') {\r\n <x-icon type=\"fto-x-circle\"></x-icon>\r\n }\r\n @case ('warning') {\r\n <x-icon type=\"fto-help-circle\"></x-icon>\r\n }\r\n @default {\r\n @if (format()) {\r\n {{ format()!(percent()) }}\r\n } @else {\r\n {{ percent() }}%\r\n }\r\n }\r\n }\r\n </span>\r\n</ng-template>\r\n", styles: ["@keyframes x-progress-active{0%{width:0;opacity:.1}20%{width:0;opacity:.5}to{width:100%;opacity:0}}x-progress{display:initial}.x-progress{margin:0;padding:0}.x-progress{display:inline-flex;align-items:center;width:100%}.x-progress-track{flex:1;display:inline-flex;align-items:center}.x-progress-rail{position:relative;display:inline-flex;width:100%;overflow:hidden;vertical-align:middle;background-color:var(--x-border-100);border-radius:var(--x-border-radius)}.x-progress-bg{position:relative;background-color:var(--x-primary);transition:width .3s cubic-bezier(.08,.82,.17,1) 0s;border-radius:var(--x-border-radius);text-align:right;color:#fff}.x-progress-bg>span{margin:0 .325rem}.x-progress-circle,.x-progress-dashboard,.x-progress-steps:not(.x-progress-steps-flex){width:initial}.x-progress-ring{position:relative;display:inline-flex;align-items:center;justify-content:center}.x-progress-ring-rail{position:absolute;width:100%;height:100%;border-style:solid;border-color:var(--x-border-100);border-radius:100%}.x-progress-ring-bg{position:absolute;width:100%;height:100%;border-style:solid;border-color:var(--x-primary);border-radius:100%;transition:clip-path .3s cubic-bezier(.08,.82,.17,1) 0s}.x-progress-ring .x-progress-text{margin-left:0;justify-content:center;font-size:var(--x-font-size-large)}.x-progress-mask .x-progress-bg{background:transparent}.x-progress-bg-mask{transition:width .3s cubic-bezier(.08,.82,.17,1) 0s;background-color:var(--x-border-100);border-top-right-radius:var(--x-border-radius);border-bottom-right-radius:var(--x-border-radius)}.x-progress-step{background-color:var(--x-border-100);border-radius:var(--x-border-radius)}.x-progress-step:not(:first-child){margin-left:.125rem}.x-progress-step-active{background-color:var(--x-primary)}.x-progress-text{margin-left:.5rem;display:inline-flex;align-items:center;white-space:nowrap}.x-progress-text x-icon{font-size:1.25rem}.x-progress-active .x-progress-bg:before{position:absolute;inset:0;background:var(--x-background-100);border-radius:var(--x-border-radius);opacity:0;animation:x-progress-active 2s cubic-bezier(.23,1,.32,1) infinite;content:\"\"}.x-progress-exception .x-progress-text{color:var(--x-danger)}.x-progress-exception .x-progress-bg,.x-progress-exception .x-progress-step-active{background-color:var(--x-danger)}.x-progress-exception .x-progress-ring-bg{border-color:var(--x-danger)}.x-progress-success .x-progress-text{color:var(--x-success)}.x-progress-success .x-progress-bg,.x-progress-success .x-progress-step-active{background-color:var(--x-success)}.x-progress-success .x-progress-ring-bg{border-color:var(--x-success)}.x-progress-warning .x-progress-text{color:var(--x-warning)}.x-progress-warning .x-progress-bg,.x-progress-warning .x-progress-step-active{background-color:var(--x-warning)}.x-progress-warning .x-progress-ring-bg{border-color:var(--x-warning)}\n"] }]
351
351
  }] });
352
352
 
353
353
  class XProgressModule {
354
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XProgressModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
355
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.0", ngImport: i0, type: XProgressModule, imports: [XProgressComponent], exports: [XProgressComponent] }); }
356
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XProgressModule, imports: [XProgressComponent] }); }
354
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XProgressModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
355
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.6", ngImport: i0, type: XProgressModule, imports: [XProgressComponent], exports: [XProgressComponent] }); }
356
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XProgressModule, imports: [XProgressComponent] }); }
357
357
  }
358
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XProgressModule, decorators: [{
358
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XProgressModule, decorators: [{
359
359
  type: NgModule,
360
360
  args: [{
361
361
  exports: [XProgressComponent],
@@ -1 +1 @@
1
- {"version":3,"file":"ng-nest-ui-progress.mjs","sources":["../../../../lib/ng-nest/ui/progress/progress.property.ts","../../../../lib/ng-nest/ui/progress/progress.component.ts","../../../../lib/ng-nest/ui/progress/progress.component.html","../../../../lib/ng-nest/ui/progress/progress.module.ts","../../../../lib/ng-nest/ui/progress/ng-nest-ui-progress.ts"],"sourcesContent":["import { Component, input } from '@angular/core';\r\nimport { XPropertyFunction, XToNumber, XToCssPixelValue, XToBoolean } from '@ng-nest/ui/core';\r\nimport type { XNumber, XBoolean } from '@ng-nest/ui/core';\r\n\r\n/**\r\n * Progress\r\n * @selector x-progress\r\n * @decorator component\r\n */\r\nexport const XProgressPrefix = 'x-progress';\r\nconst X_PROGRESS_CONFIG_NAME = 'progress';\r\n\r\n/**\r\n * Progress Property\r\n */\r\n@Component({ selector: `${XProgressPrefix}-property`, template: '' })\r\nexport class XProgressProperty extends XPropertyFunction(X_PROGRESS_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 进度条类型\r\n * @en_US Progress bar type\r\n */\r\n readonly type = input<XProgressType>('line');\r\n /**\r\n * @zh_CN 显示进度 0-100\r\n * @en_US Show progress 0-100\r\n */\r\n readonly percent = input<number, XNumber>(0, { transform: XToNumber });\r\n /**\r\n * @zh_CN 进度条高度\r\n * @en_US Height of progress bar\r\n */\r\n readonly height = input<string, XNumber>(this.config?.height ?? '1rem', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 状态\r\n * @en_US Status\r\n */\r\n readonly status = input<XProgressStatus>('normal');\r\n /**\r\n * @zh_CN 是否显示百分比文本信息\r\n * @en_US Whether to display percentage text\r\n */\r\n readonly info = input<boolean, XBoolean>(true, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 文本信息宽度\r\n * @en_US The width of the text information\r\n */\r\n readonly infoWidth = input<string, XNumber>('3.5rem', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 百分比文本是否显示在进度条里面\r\n * @en_US Whether the percentage text is displayed in the progress bar\r\n */\r\n readonly inside = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 自定义百分比文本内容\r\n * @en_US Custom percentage text content\r\n */\r\n readonly format = input<(percent: number) => string>();\r\n /**\r\n * @zh_CN 自定义颜色\r\n * @en_US Custom color\r\n */\r\n readonly color = input<XProgressColor>();\r\n /**\r\n * @zh_CN 自定义轨道颜色\r\n * @en_US Custom rail color\r\n */\r\n readonly railColor = input<XProgressColor>();\r\n /**\r\n * @zh_CN 渐变颜色\r\n * @en_US Gradient color\r\n */\r\n readonly gradient = input<XProgressGradient>();\r\n /**\r\n * @zh_CN 步骤进度条\r\n * @en_US Steps progress bar\r\n */\r\n readonly steps = input<number | null, XNumber>(null, { transform: XToNumber });\r\n /**\r\n * @zh_CN 单个步骤的宽度\r\n * @en_US Single step width\r\n */\r\n readonly stepWidth = input<string, XNumber>('2rem', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 单个步骤的宽度自适应\r\n * @en_US Single step width flex\r\n */\r\n readonly stepFlex = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 圆环/仪表盘厚度\r\n * @en_US Ring thickness\r\n */\r\n readonly thickness = input<string, XNumber>('1rem', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 圆环/仪表盘尺寸\r\n * @en_US Ring size\r\n */\r\n readonly size = input<string, XNumber>('8rem', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 仪表盘缺口角度 0~300\r\n * @en_US Dashboard notch angle\r\n */\r\n readonly notchAngle = input<number, XNumber>(80, { transform: XToNumber });\r\n /**\r\n * @zh_CN 分段显示颜色,只适用 type = 'line'\r\n * @en_US Segmentation display color, only use of type = 'line'\r\n */\r\n readonly subsection = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n}\r\n\r\n/**\r\n * @zh_CN 进度条类型\r\n * @en_US Progress bar type\r\n */\r\nexport type XProgressType = 'line' | 'circle' | 'dashboard';\r\n\r\n/**\r\n * @zh_CN 进度条颜色\r\n * @en_US Progress bar color\r\n */\r\nexport type XProgressColor = string | XProgressColorNode[] | Function;\r\n\r\n/**\r\n * @zh_CN 进度条节点颜色\r\n * @en_US Progress bar node color\r\n */\r\nexport interface XProgressColorNode {\r\n /**\r\n * @zh_CN 颜色\r\n * @en_US Color\r\n */\r\n color: string;\r\n /**\r\n * @zh_CN 百分比\r\n * @en_US Percent\r\n */\r\n percent: number;\r\n}\r\n/**\r\n * @zh_CN 状态\r\n * @en_US Status\r\n */\r\nexport type XProgressStatus = 'normal' | 'active' | 'success' | 'exception' | 'warning';\r\n\r\n/**\r\n * @zh_CN 渐变颜色\r\n * @en_US Gradient color\r\n */\r\nexport type XProgressGradient = { direction?: string } & ({ from: string; to: string } | { [percent: string]: string });\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, computed } from '@angular/core';\r\nimport { XProgressPrefix, XProgressProperty } from './progress.property';\r\nimport { XIsFunction, XIsString, XIsObjectArray, XIsEmpty, XIsNumber } from '@ng-nest/ui/core';\r\nimport { XProgressColorNode } from './progress.property';\r\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { XIconComponent } from '@ng-nest/ui/icon';\r\nimport type { XNumber } from '@ng-nest/ui/core';\r\n\r\n@Component({\r\n selector: `${XProgressPrefix}`,\r\n imports: [NgClass, NgTemplateOutlet, FormsModule, XIconComponent],\r\n templateUrl: './progress.component.html',\r\n styleUrls: ['./progress.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XProgressComponent extends XProgressProperty {\r\n maskWidth = computed(() => (XIsNumber(this.percent()) ? 100 - this.percent() : 100));\r\n\r\n classMap = computed(() => ({\r\n [`${XProgressPrefix}-${this.status()}`]: true,\r\n [`${XProgressPrefix}-${this.type()}`]: true,\r\n [`${XProgressPrefix}-inside`]: this.inside()\r\n }));\r\n\r\n stepsArray = computed(() => {\r\n const steps = this.steps();\r\n if (XIsEmpty(steps)) {\r\n return [];\r\n } else {\r\n const critical = Math.ceil((this.percent() / 100) * steps!);\r\n return Array.from({ length: steps! }).map((_, index) => index + 1 <= critical);\r\n }\r\n });\r\n\r\n currentColor = computed(() => {\r\n if (this.subsection()) return '';\r\n const color = this.color();\r\n if (XIsEmpty(color)) return '';\r\n if (XIsString(color)) {\r\n return color;\r\n } else if (XIsObjectArray(color)) {\r\n return this.getLevelColor(this.percent(), color as XProgressColorNode[]);\r\n } else if (XIsFunction(color)) {\r\n return (color as Function)(this.percent());\r\n }\r\n });\r\n\r\n currentRailColor = computed(() => {\r\n if (this.subsection()) return '';\r\n const color = this.railColor();\r\n if (XIsEmpty(color)) return '';\r\n if (XIsString(color)) {\r\n return color;\r\n } else if (XIsObjectArray(color)) {\r\n return this.getLevelColor(this.percent(), color as XProgressColorNode[]);\r\n } else if (XIsFunction(color)) {\r\n return (color as Function)(this.percent());\r\n }\r\n });\r\n\r\n linearGradient = computed(() => {\r\n if (this.subsection()) return '';\r\n if (XIsEmpty(this.gradient())) {\r\n return '';\r\n } else {\r\n const { from, to, direction = 'to right', ...percents } = this.gradient() || {};\r\n if (Object.keys(percents).length !== 0) {\r\n return `linear-gradient(${direction}, ${this.sortGradient(percents as { [percent: string]: string }).map(\r\n ({ key, value }) => `${value} ${key}%`\r\n )})`;\r\n }\r\n return `linear-gradient(${direction}, ${from}, ${to})`;\r\n }\r\n });\r\n\r\n /**\r\n * circle 中的 100% 等于 clip-path 中的 400%\r\n */\r\n circleClipPath = computed(() => {\r\n if (this.type() !== 'circle') return '';\r\n let value = this.percent() * 4;\r\n let k1 = 'polygon(50% 50%,50% 0%,';\r\n let k2 = k1 + '100% 0%,';\r\n let k3 = k2 + '100% 100%,';\r\n let k4 = k3 + '0% 100%,';\r\n let k5 = k4 + '0% 0%,';\r\n if (value <= 50) {\r\n value += 50;\r\n return `${k1}${value}% 0%)`;\r\n } else if (value > 50 && value <= 150) {\r\n value -= 50;\r\n return `${k2}100% ${value}%)`;\r\n } else if (value > 150 && value <= 250) {\r\n value = 250 - value;\r\n return `${k3}${value}% 100%)`;\r\n } else if (value > 250 && value <= 350) {\r\n value = 350 - value;\r\n return `${k4}0% ${value}%)`;\r\n } else if (value > 350 && value <= 400) {\r\n value -= 350;\r\n return `${k5}${value}% 0%)`;\r\n }\r\n return '';\r\n });\r\n\r\n railValue = computed(() => {\r\n if (this.type() !== 'dashboard') return 0;\r\n return (this.notchAngle() / 360) * 50 * 4;\r\n });\r\n\r\n dashboardStart = computed(() => {\r\n if (this.type() !== 'dashboard') return '';\r\n let k1 = `polygon(50% 50%,`;\r\n let per = 0;\r\n let railValue = this.railValue();\r\n if (railValue <= 50) {\r\n per = 50 - railValue;\r\n return `${k1} ${per}% 100%`;\r\n } else if (railValue > 50 && railValue <= 150) {\r\n per = 150 - railValue;\r\n return `${k1} 0% ${per}%`;\r\n } else if (railValue > 150 && railValue <= 250) {\r\n per = railValue - 150;\r\n return `${k1} ${per}% 0%`;\r\n }\r\n return '';\r\n });\r\n\r\n /**\r\n *\r\n * 90 polygon(50% 50%, 0% 100%, 0% 0%, 100% 0%, 100% 100%);\r\n * 180 polygon(50% 50%, 0% 50%, 0% 0%, 100% 0%, 100% 50%);\r\n * 270 polygon(50% 50%, 0% 0%, 100% 0%);\r\n */\r\n dashboardRailClipPath = computed(() => {\r\n if (this.type() !== 'dashboard') return '';\r\n let start = this.dashboardStart();\r\n let per = 0;\r\n let railValue = this.railValue();\r\n if (railValue <= 50) {\r\n per = 50 - railValue;\r\n return `${start}, 0% 100%, 0% 0%, 100% 0%, 100% 100%, ${100 - per}% 100%)`;\r\n } else if (railValue > 50 && railValue <= 150) {\r\n per = 150 - railValue;\r\n return `${start}, 0% 0%, 100% 0%, 100% ${per}%)`;\r\n } else if (railValue > 150 && railValue <= 250) {\r\n per = railValue - 150;\r\n return `${start}, ${100 - per}% 0%)`;\r\n }\r\n return '';\r\n });\r\n\r\n dashboardClipPath = computed(() => {\r\n if (this.type() !== 'dashboard') return '';\r\n return this.setCircleClipPathValue(this.dashboardStart(), this.railValue());\r\n });\r\n\r\n subLinearGradient = computed(() => {\r\n if (!this.subsection()) return '';\r\n let colors = this.color() as XProgressColorNode[];\r\n if (!colors || colors.length <= 0) {\r\n return `linear-gradient(to right, var(--x-primary) 0%, var(--x-primary) 100%)`;\r\n } else if (colors.length === 1) {\r\n colors.push({ percent: 100, color: 'var(--x-primary)' });\r\n }\r\n colors = colors.sort((a, b) => a.percent - b.percent);\r\n let lgs: string[] = [];\r\n colors.reduce((a, b, index) => {\r\n if (index === 1 && a.percent > 0) {\r\n lgs.push(`${a.color} 0%, ${a.color} ${a.percent}%`);\r\n }\r\n lgs.push(`${b.color} ${a.percent}%, ${b.color} ${b.percent}%`);\r\n if (index === colors.length - 1 && b.percent < 100) {\r\n lgs.push(`var(--x-primary) ${b.percent}%, var(--x-primary) 100%`);\r\n }\r\n return b;\r\n });\r\n return `linear-gradient(to right,${lgs.join(',')})`;\r\n });\r\n\r\n getLevelColor(percent: XNumber, color: XProgressColorNode[]) {\r\n let colors = color.sort((a, b) => a.percent - b.percent);\r\n for (let i = 0; i < colors.length; i++) {\r\n if (colors[i].percent > Number(percent)) {\r\n return colors[i].color;\r\n }\r\n }\r\n return colors[colors.length - 1].color;\r\n }\r\n\r\n sortGradient(percents: { [percent: string]: string }) {\r\n let arr: { key: number; value: string }[] = [];\r\n Object.keys(percents).forEach((key) => {\r\n const value = percents[key];\r\n const numKey = +key.replace('%', '');\r\n if (!isNaN(numKey)) {\r\n arr.push({ key: numKey, value });\r\n }\r\n });\r\n return arr.sort((a, b) => a.key - b.key);\r\n }\r\n\r\n setCircleClipPathValue(start: string, railValue: number) {\r\n let value = ((400 - railValue * 2) / 100) * this.percent();\r\n let val = value + railValue;\r\n if (val <= 50) {\r\n val = 50 - val;\r\n return `${start}, ${val}% 100%)`;\r\n } else if (val > 50 && val <= 150) {\r\n val = 150 - val;\r\n return `${start}, 0% 100%, 0% ${val}%)`;\r\n } else if (val > 150 && val <= 250) {\r\n val = val - 150;\r\n return `${start}, 0% 100%, 0% 0%, ${val}% 0%)`;\r\n } else if (val > 250 && val <= 350) {\r\n val = val - 250;\r\n return `${start}, 0% 100%, 0% 0%, 100% 0%, 100% ${val}%)`;\r\n } else if (val > 350 && val <= 400) {\r\n val = 100 - (val - 350);\r\n return `${start}, 0% 100%, 0% 0%, 100% 0%, 100% 100%, ${val}% 100%)`;\r\n }\r\n return '';\r\n }\r\n}\r\n","<div\r\n class=\"x-progress\"\r\n [ngClass]=\"classMap()\"\r\n [class.x-progress-steps]=\"stepsArray().length > 0\"\r\n [class.x-progress-steps-flex]=\"stepFlex()\"\r\n>\r\n @switch (type()) {\r\n @case ('circle') {\r\n <ng-container *ngTemplateOutlet=\"circleTpl\"> </ng-container>\r\n }\r\n @case ('dashboard') {\r\n <ng-container *ngTemplateOutlet=\"dashboardTpl\"> </ng-container>\r\n }\r\n @default {\r\n <ng-container *ngTemplateOutlet=\"lineTpl\"> </ng-container>\r\n }\r\n }\r\n</div>\r\n\r\n<ng-template #lineTpl>\r\n @if (stepsArray().length === 0) {\r\n <ng-container *ngTemplateOutlet=\"trackTpl\"></ng-container>\r\n }\r\n @if (stepsArray().length > 0) {\r\n <ng-container *ngTemplateOutlet=\"stepsTpl\"></ng-container>\r\n }\r\n @if (info() && !inside()) {\r\n <ng-container *ngTemplateOutlet=\"textTpl\"></ng-container>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #circleTpl>\r\n <div class=\"x-progress-ring\" [style.width]=\"size()\" [style.height]=\"size()\">\r\n <div\r\n class=\"x-progress-ring-rail\"\r\n [style.border-width]=\"thickness()\"\r\n [style.border-color]=\"currentRailColor()\"\r\n ></div>\r\n <div\r\n class=\"x-progress-ring-bg\"\r\n [style.clip-path]=\"circleClipPath()\"\r\n [style.border-color]=\"currentColor()\"\r\n [style.border-width]=\"thickness()\"\r\n ></div>\r\n <ng-container *ngTemplateOutlet=\"textTpl\"></ng-container>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #dashboardTpl>\r\n <div class=\"x-progress-ring\" [style.width]=\"size()\" [style.height]=\"size()\">\r\n <div\r\n class=\"x-progress-ring-rail\"\r\n [style.clip-path]=\"dashboardRailClipPath()\"\r\n [style.border-color]=\"currentRailColor()\"\r\n [style.border-width]=\"thickness()\"\r\n ></div>\r\n <div\r\n class=\"x-progress-ring-bg\"\r\n [style.clip-path]=\"dashboardClipPath()\"\r\n [style.border-color]=\"currentColor()\"\r\n [style.border-width]=\"thickness()\"\r\n ></div>\r\n <ng-container *ngTemplateOutlet=\"textTpl\"></ng-container>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #trackTpl>\r\n <div class=\"x-progress-track\">\r\n <div\r\n class=\"x-progress-rail\"\r\n [class.x-progress-mask]=\"subsection()\"\r\n [style.background-color]=\"currentRailColor()\"\r\n [style.background-image]=\"subsection() ? subLinearGradient() : 'none'\"\r\n >\r\n <div\r\n class=\"x-progress-bg\"\r\n [style.width.%]=\"percent()\"\r\n [style.background-color]=\"currentColor()\"\r\n [style.background-image]=\"linearGradient()\"\r\n [style.height]=\"height()\"\r\n [style.line-height]=\"height()\"\r\n >\r\n @if (info() && inside()) {\r\n <ng-container *ngTemplateOutlet=\"textTpl\"></ng-container>\r\n }\r\n </div>\r\n @if (subsection()) {\r\n <div\r\n class=\"x-progress-bg-mask\"\r\n [style.width.%]=\"maskWidth()\"\r\n [style.height]=\"height()\"\r\n [style.line-height]=\"height()\"\r\n ></div>\r\n }\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #stepsTpl>\r\n @for (step of stepsArray(); track i; let i = $index) {\r\n <div\r\n class=\"x-progress-step\"\r\n [class.x-progress-step-active]=\"step\"\r\n [style.background-color]=\"step ? currentColor() : currentRailColor()\"\r\n [style.width]=\"stepWidth()\"\r\n [style.flex]=\"stepFlex() ? 1 : 'none'\"\r\n [style.height]=\"height()\"\r\n [style.line-height]=\"height()\"\r\n ></div>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #textTpl>\r\n <span class=\"x-progress-text\" [style.width]=\"infoWidth()\">\r\n @switch (status()) {\r\n @case ('success') {\r\n <x-icon type=\"fto-check-circle\"></x-icon>\r\n }\r\n @case ('exception') {\r\n <x-icon type=\"fto-x-circle\"></x-icon>\r\n }\r\n @case ('warning') {\r\n <x-icon type=\"fto-help-circle\"></x-icon>\r\n }\r\n @default {\r\n @if (format()) {\r\n {{ format()!(percent()) }}\r\n } @else {\r\n {{ percent() }}%\r\n }\r\n }\r\n }\r\n </span>\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { XProgressComponent } from './progress.component';\r\n\r\n@NgModule({\r\n exports: [XProgressComponent],\r\n imports: [XProgressComponent]\r\n})\r\nexport class XProgressModule {}\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-progress.mjs","sources":["../../../../lib/ng-nest/ui/progress/progress.property.ts","../../../../lib/ng-nest/ui/progress/progress.component.ts","../../../../lib/ng-nest/ui/progress/progress.component.html","../../../../lib/ng-nest/ui/progress/progress.module.ts","../../../../lib/ng-nest/ui/progress/ng-nest-ui-progress.ts"],"sourcesContent":["import { Component, input } from '@angular/core';\r\nimport { XPropertyFunction, XToNumber, XToCssPixelValue, XToBoolean } from '@ng-nest/ui/core';\r\nimport type { XNumber, XBoolean } from '@ng-nest/ui/core';\r\n\r\n/**\r\n * Progress\r\n * @selector x-progress\r\n * @decorator component\r\n */\r\nexport const XProgressPrefix = 'x-progress';\r\nconst X_PROGRESS_CONFIG_NAME = 'progress';\r\n\r\n/**\r\n * Progress Property\r\n */\r\n@Component({ selector: `${XProgressPrefix}-property`, template: '' })\r\nexport class XProgressProperty extends XPropertyFunction(X_PROGRESS_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 进度条类型\r\n * @en_US Progress bar type\r\n */\r\n readonly type = input<XProgressType>('line');\r\n /**\r\n * @zh_CN 显示进度 0-100\r\n * @en_US Show progress 0-100\r\n */\r\n readonly percent = input<number, XNumber>(0, { transform: XToNumber });\r\n /**\r\n * @zh_CN 进度条高度\r\n * @en_US Height of progress bar\r\n */\r\n readonly height = input<string, XNumber>(this.config?.height ?? '1rem', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 状态\r\n * @en_US Status\r\n */\r\n readonly status = input<XProgressStatus>('normal');\r\n /**\r\n * @zh_CN 是否显示百分比文本信息\r\n * @en_US Whether to display percentage text\r\n */\r\n readonly info = input<boolean, XBoolean>(true, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 文本信息宽度\r\n * @en_US The width of the text information\r\n */\r\n readonly infoWidth = input<string, XNumber>('3.5rem', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 百分比文本是否显示在进度条里面\r\n * @en_US Whether the percentage text is displayed in the progress bar\r\n */\r\n readonly inside = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 自定义百分比文本内容\r\n * @en_US Custom percentage text content\r\n */\r\n readonly format = input<(percent: number) => string>();\r\n /**\r\n * @zh_CN 自定义颜色\r\n * @en_US Custom color\r\n */\r\n readonly color = input<XProgressColor>();\r\n /**\r\n * @zh_CN 自定义轨道颜色\r\n * @en_US Custom rail color\r\n */\r\n readonly railColor = input<XProgressColor>();\r\n /**\r\n * @zh_CN 渐变颜色\r\n * @en_US Gradient color\r\n */\r\n readonly gradient = input<XProgressGradient>();\r\n /**\r\n * @zh_CN 步骤进度条\r\n * @en_US Steps progress bar\r\n */\r\n readonly steps = input<number | null, XNumber>(null, { transform: XToNumber });\r\n /**\r\n * @zh_CN 单个步骤的宽度\r\n * @en_US Single step width\r\n */\r\n readonly stepWidth = input<string, XNumber>('2rem', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 单个步骤的宽度自适应\r\n * @en_US Single step width flex\r\n */\r\n readonly stepFlex = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 圆环/仪表盘厚度\r\n * @en_US Ring thickness\r\n */\r\n readonly thickness = input<string, XNumber>('1rem', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 圆环/仪表盘尺寸\r\n * @en_US Ring size\r\n */\r\n readonly size = input<string, XNumber>('8rem', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 仪表盘缺口角度 0~300\r\n * @en_US Dashboard notch angle\r\n */\r\n readonly notchAngle = input<number, XNumber>(80, { transform: XToNumber });\r\n /**\r\n * @zh_CN 分段显示颜色,只适用 type = 'line'\r\n * @en_US Segmentation display color, only use of type = 'line'\r\n */\r\n readonly subsection = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n}\r\n\r\n/**\r\n * @zh_CN 进度条类型\r\n * @en_US Progress bar type\r\n */\r\nexport type XProgressType = 'line' | 'circle' | 'dashboard';\r\n\r\n/**\r\n * @zh_CN 进度条颜色\r\n * @en_US Progress bar color\r\n */\r\nexport type XProgressColor = string | XProgressColorNode[] | Function;\r\n\r\n/**\r\n * @zh_CN 进度条节点颜色\r\n * @en_US Progress bar node color\r\n */\r\nexport interface XProgressColorNode {\r\n /**\r\n * @zh_CN 颜色\r\n * @en_US Color\r\n */\r\n color: string;\r\n /**\r\n * @zh_CN 百分比\r\n * @en_US Percent\r\n */\r\n percent: number;\r\n}\r\n/**\r\n * @zh_CN 状态\r\n * @en_US Status\r\n */\r\nexport type XProgressStatus = 'normal' | 'active' | 'success' | 'exception' | 'warning';\r\n\r\n/**\r\n * @zh_CN 渐变颜色\r\n * @en_US Gradient color\r\n */\r\nexport type XProgressGradient = { direction?: string } & ({ from: string; to: string } | { [percent: string]: string });\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, computed } from '@angular/core';\r\nimport { XProgressPrefix, XProgressProperty } from './progress.property';\r\nimport { XIsFunction, XIsString, XIsObjectArray, XIsEmpty, XIsNumber } from '@ng-nest/ui/core';\r\nimport { XProgressColorNode } from './progress.property';\r\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { XIconComponent } from '@ng-nest/ui/icon';\r\nimport type { XNumber } from '@ng-nest/ui/core';\r\n\r\n@Component({\r\n selector: `${XProgressPrefix}`,\r\n imports: [NgClass, NgTemplateOutlet, FormsModule, XIconComponent],\r\n templateUrl: './progress.component.html',\r\n styleUrls: ['./progress.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XProgressComponent extends XProgressProperty {\r\n maskWidth = computed(() => (XIsNumber(this.percent()) ? 100 - this.percent() : 100));\r\n\r\n classMap = computed(() => ({\r\n [`${XProgressPrefix}-${this.status()}`]: true,\r\n [`${XProgressPrefix}-${this.type()}`]: true,\r\n [`${XProgressPrefix}-inside`]: this.inside()\r\n }));\r\n\r\n stepsArray = computed(() => {\r\n const steps = this.steps();\r\n if (XIsEmpty(steps)) {\r\n return [];\r\n } else {\r\n const critical = Math.ceil((this.percent() / 100) * steps!);\r\n return Array.from({ length: steps! }).map((_, index) => index + 1 <= critical);\r\n }\r\n });\r\n\r\n currentColor = computed(() => {\r\n if (this.subsection()) return '';\r\n const color = this.color();\r\n if (XIsEmpty(color)) return '';\r\n if (XIsString(color)) {\r\n return color;\r\n } else if (XIsObjectArray(color)) {\r\n return this.getLevelColor(this.percent(), color as XProgressColorNode[]);\r\n } else if (XIsFunction(color)) {\r\n return (color as Function)(this.percent());\r\n }\r\n });\r\n\r\n currentRailColor = computed(() => {\r\n if (this.subsection()) return '';\r\n const color = this.railColor();\r\n if (XIsEmpty(color)) return '';\r\n if (XIsString(color)) {\r\n return color;\r\n } else if (XIsObjectArray(color)) {\r\n return this.getLevelColor(this.percent(), color as XProgressColorNode[]);\r\n } else if (XIsFunction(color)) {\r\n return (color as Function)(this.percent());\r\n }\r\n });\r\n\r\n linearGradient = computed(() => {\r\n if (this.subsection()) return '';\r\n if (XIsEmpty(this.gradient())) {\r\n return '';\r\n } else {\r\n const { from, to, direction = 'to right', ...percents } = this.gradient() || {};\r\n if (Object.keys(percents).length !== 0) {\r\n return `linear-gradient(${direction}, ${this.sortGradient(percents as { [percent: string]: string }).map(\r\n ({ key, value }) => `${value} ${key}%`\r\n )})`;\r\n }\r\n return `linear-gradient(${direction}, ${from}, ${to})`;\r\n }\r\n });\r\n\r\n /**\r\n * circle 中的 100% 等于 clip-path 中的 400%\r\n */\r\n circleClipPath = computed(() => {\r\n if (this.type() !== 'circle') return '';\r\n let value = this.percent() * 4;\r\n let k1 = 'polygon(50% 50%,50% 0%,';\r\n let k2 = k1 + '100% 0%,';\r\n let k3 = k2 + '100% 100%,';\r\n let k4 = k3 + '0% 100%,';\r\n let k5 = k4 + '0% 0%,';\r\n if (value <= 50) {\r\n value += 50;\r\n return `${k1}${value}% 0%)`;\r\n } else if (value > 50 && value <= 150) {\r\n value -= 50;\r\n return `${k2}100% ${value}%)`;\r\n } else if (value > 150 && value <= 250) {\r\n value = 250 - value;\r\n return `${k3}${value}% 100%)`;\r\n } else if (value > 250 && value <= 350) {\r\n value = 350 - value;\r\n return `${k4}0% ${value}%)`;\r\n } else if (value > 350 && value <= 400) {\r\n value -= 350;\r\n return `${k5}${value}% 0%)`;\r\n }\r\n return '';\r\n });\r\n\r\n railValue = computed(() => {\r\n if (this.type() !== 'dashboard') return 0;\r\n return (this.notchAngle() / 360) * 50 * 4;\r\n });\r\n\r\n dashboardStart = computed(() => {\r\n if (this.type() !== 'dashboard') return '';\r\n let k1 = `polygon(50% 50%,`;\r\n let per = 0;\r\n let railValue = this.railValue();\r\n if (railValue <= 50) {\r\n per = 50 - railValue;\r\n return `${k1} ${per}% 100%`;\r\n } else if (railValue > 50 && railValue <= 150) {\r\n per = 150 - railValue;\r\n return `${k1} 0% ${per}%`;\r\n } else if (railValue > 150 && railValue <= 250) {\r\n per = railValue - 150;\r\n return `${k1} ${per}% 0%`;\r\n }\r\n return '';\r\n });\r\n\r\n /**\r\n *\r\n * 90 polygon(50% 50%, 0% 100%, 0% 0%, 100% 0%, 100% 100%);\r\n * 180 polygon(50% 50%, 0% 50%, 0% 0%, 100% 0%, 100% 50%);\r\n * 270 polygon(50% 50%, 0% 0%, 100% 0%);\r\n */\r\n dashboardRailClipPath = computed(() => {\r\n if (this.type() !== 'dashboard') return '';\r\n let start = this.dashboardStart();\r\n let per = 0;\r\n let railValue = this.railValue();\r\n if (railValue <= 50) {\r\n per = 50 - railValue;\r\n return `${start}, 0% 100%, 0% 0%, 100% 0%, 100% 100%, ${100 - per}% 100%)`;\r\n } else if (railValue > 50 && railValue <= 150) {\r\n per = 150 - railValue;\r\n return `${start}, 0% 0%, 100% 0%, 100% ${per}%)`;\r\n } else if (railValue > 150 && railValue <= 250) {\r\n per = railValue - 150;\r\n return `${start}, ${100 - per}% 0%)`;\r\n }\r\n return '';\r\n });\r\n\r\n dashboardClipPath = computed(() => {\r\n if (this.type() !== 'dashboard') return '';\r\n return this.setCircleClipPathValue(this.dashboardStart(), this.railValue());\r\n });\r\n\r\n subLinearGradient = computed(() => {\r\n if (!this.subsection()) return '';\r\n let colors = this.color() as XProgressColorNode[];\r\n if (!colors || colors.length <= 0) {\r\n return `linear-gradient(to right, var(--x-primary) 0%, var(--x-primary) 100%)`;\r\n } else if (colors.length === 1) {\r\n colors.push({ percent: 100, color: 'var(--x-primary)' });\r\n }\r\n colors = colors.sort((a, b) => a.percent - b.percent);\r\n let lgs: string[] = [];\r\n colors.reduce((a, b, index) => {\r\n if (index === 1 && a.percent > 0) {\r\n lgs.push(`${a.color} 0%, ${a.color} ${a.percent}%`);\r\n }\r\n lgs.push(`${b.color} ${a.percent}%, ${b.color} ${b.percent}%`);\r\n if (index === colors.length - 1 && b.percent < 100) {\r\n lgs.push(`var(--x-primary) ${b.percent}%, var(--x-primary) 100%`);\r\n }\r\n return b;\r\n });\r\n return `linear-gradient(to right,${lgs.join(',')})`;\r\n });\r\n\r\n getLevelColor(percent: XNumber, color: XProgressColorNode[]) {\r\n let colors = color.sort((a, b) => a.percent - b.percent);\r\n for (let i = 0; i < colors.length; i++) {\r\n if (colors[i].percent > Number(percent)) {\r\n return colors[i].color;\r\n }\r\n }\r\n return colors[colors.length - 1].color;\r\n }\r\n\r\n sortGradient(percents: { [percent: string]: string }) {\r\n let arr: { key: number; value: string }[] = [];\r\n Object.keys(percents).forEach((key) => {\r\n const value = percents[key];\r\n const numKey = +key.replace('%', '');\r\n if (!isNaN(numKey)) {\r\n arr.push({ key: numKey, value });\r\n }\r\n });\r\n return arr.sort((a, b) => a.key - b.key);\r\n }\r\n\r\n setCircleClipPathValue(start: string, railValue: number) {\r\n let value = ((400 - railValue * 2) / 100) * this.percent();\r\n let val = value + railValue;\r\n if (val <= 50) {\r\n val = 50 - val;\r\n return `${start}, ${val}% 100%)`;\r\n } else if (val > 50 && val <= 150) {\r\n val = 150 - val;\r\n return `${start}, 0% 100%, 0% ${val}%)`;\r\n } else if (val > 150 && val <= 250) {\r\n val = val - 150;\r\n return `${start}, 0% 100%, 0% 0%, ${val}% 0%)`;\r\n } else if (val > 250 && val <= 350) {\r\n val = val - 250;\r\n return `${start}, 0% 100%, 0% 0%, 100% 0%, 100% ${val}%)`;\r\n } else if (val > 350 && val <= 400) {\r\n val = 100 - (val - 350);\r\n return `${start}, 0% 100%, 0% 0%, 100% 0%, 100% 100%, ${val}% 100%)`;\r\n }\r\n return '';\r\n }\r\n}\r\n","<div\r\n class=\"x-progress\"\r\n [ngClass]=\"classMap()\"\r\n [class.x-progress-steps]=\"stepsArray().length > 0\"\r\n [class.x-progress-steps-flex]=\"stepFlex()\"\r\n>\r\n @switch (type()) {\r\n @case ('circle') {\r\n <ng-container *ngTemplateOutlet=\"circleTpl\"> </ng-container>\r\n }\r\n @case ('dashboard') {\r\n <ng-container *ngTemplateOutlet=\"dashboardTpl\"> </ng-container>\r\n }\r\n @default {\r\n <ng-container *ngTemplateOutlet=\"lineTpl\"> </ng-container>\r\n }\r\n }\r\n</div>\r\n\r\n<ng-template #lineTpl>\r\n @if (stepsArray().length === 0) {\r\n <ng-container *ngTemplateOutlet=\"trackTpl\"></ng-container>\r\n }\r\n @if (stepsArray().length > 0) {\r\n <ng-container *ngTemplateOutlet=\"stepsTpl\"></ng-container>\r\n }\r\n @if (info() && !inside()) {\r\n <ng-container *ngTemplateOutlet=\"textTpl\"></ng-container>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #circleTpl>\r\n <div class=\"x-progress-ring\" [style.width]=\"size()\" [style.height]=\"size()\">\r\n <div\r\n class=\"x-progress-ring-rail\"\r\n [style.border-width]=\"thickness()\"\r\n [style.border-color]=\"currentRailColor()\"\r\n ></div>\r\n <div\r\n class=\"x-progress-ring-bg\"\r\n [style.clip-path]=\"circleClipPath()\"\r\n [style.border-color]=\"currentColor()\"\r\n [style.border-width]=\"thickness()\"\r\n ></div>\r\n <ng-container *ngTemplateOutlet=\"textTpl\"></ng-container>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #dashboardTpl>\r\n <div class=\"x-progress-ring\" [style.width]=\"size()\" [style.height]=\"size()\">\r\n <div\r\n class=\"x-progress-ring-rail\"\r\n [style.clip-path]=\"dashboardRailClipPath()\"\r\n [style.border-color]=\"currentRailColor()\"\r\n [style.border-width]=\"thickness()\"\r\n ></div>\r\n <div\r\n class=\"x-progress-ring-bg\"\r\n [style.clip-path]=\"dashboardClipPath()\"\r\n [style.border-color]=\"currentColor()\"\r\n [style.border-width]=\"thickness()\"\r\n ></div>\r\n <ng-container *ngTemplateOutlet=\"textTpl\"></ng-container>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #trackTpl>\r\n <div class=\"x-progress-track\">\r\n <div\r\n class=\"x-progress-rail\"\r\n [class.x-progress-mask]=\"subsection()\"\r\n [style.background-color]=\"currentRailColor()\"\r\n [style.background-image]=\"subsection() ? subLinearGradient() : 'none'\"\r\n >\r\n <div\r\n class=\"x-progress-bg\"\r\n [style.width.%]=\"percent()\"\r\n [style.background-color]=\"currentColor()\"\r\n [style.background-image]=\"linearGradient()\"\r\n [style.height]=\"height()\"\r\n [style.line-height]=\"height()\"\r\n >\r\n @if (info() && inside()) {\r\n <ng-container *ngTemplateOutlet=\"textTpl\"></ng-container>\r\n }\r\n </div>\r\n @if (subsection()) {\r\n <div\r\n class=\"x-progress-bg-mask\"\r\n [style.width.%]=\"maskWidth()\"\r\n [style.height]=\"height()\"\r\n [style.line-height]=\"height()\"\r\n ></div>\r\n }\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #stepsTpl>\r\n @for (step of stepsArray(); track i; let i = $index) {\r\n <div\r\n class=\"x-progress-step\"\r\n [class.x-progress-step-active]=\"step\"\r\n [style.background-color]=\"step ? currentColor() : currentRailColor()\"\r\n [style.width]=\"stepWidth()\"\r\n [style.flex]=\"stepFlex() ? 1 : 'none'\"\r\n [style.height]=\"height()\"\r\n [style.line-height]=\"height()\"\r\n ></div>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #textTpl>\r\n <span class=\"x-progress-text\" [style.width]=\"infoWidth()\">\r\n @switch (status()) {\r\n @case ('success') {\r\n <x-icon type=\"fto-check-circle\"></x-icon>\r\n }\r\n @case ('exception') {\r\n <x-icon type=\"fto-x-circle\"></x-icon>\r\n }\r\n @case ('warning') {\r\n <x-icon type=\"fto-help-circle\"></x-icon>\r\n }\r\n @default {\r\n @if (format()) {\r\n {{ format()!(percent()) }}\r\n } @else {\r\n {{ percent() }}%\r\n }\r\n }\r\n }\r\n </span>\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { XProgressComponent } from './progress.component';\r\n\r\n@NgModule({\r\n exports: [XProgressComponent],\r\n imports: [XProgressComponent]\r\n})\r\nexport class XProgressModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}